/* Quiet architectural details, with the original Fuster palette. */
:root{--paper:#f7f6f3;--ink:#202326;--line:#e2e1dd;--muted:#64686b}
body{background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
header{box-shadow:0 2px 16px #18202706;background:#fff}
header nav a{padding:12px 0;position:relative;white-space:nowrap;transition:color .2s}
header nav a:hover,header nav a[aria-current]{color:var(--red)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}
main section{padding:clamp(56px,7vw,100px) max(6%,calc((100vw - 1320px)/2))}
h2{line-height:1.12;text-wrap:balance}p{line-height:1.75}h3{line-height:1.3}
.section-heading{margin-bottom:32px}.section-heading h2{margin-bottom:12px}.section-heading p{margin-bottom:8px}
.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:600}
.button{border-radius:5px;min-height:48px;transition:background .2s,box-shadow .2s,transform .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #18202712}
.hero{padding-left:max(6%,calc((100vw - 1320px)/2));padding-right:max(6%,calc((100vw - 1320px)/2))}
.hero h1{max-width:780px;text-wrap:balance}.hero .button{box-shadow:none}
.service{background:var(--paper);border-radius:0 0 8px 8px;padding:32px;transition:transform .25s}
.service:hover{transform:translateY(-4px)}
.cards{gap:28px}.category-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 3px 12px #17212c04;transition:transform .25s,box-shadow .25s,border-color .25s}
.category-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #17212c12;border-color:#c3c2be}
.category-card img{display:block;aspect-ratio:4/3;height:auto;object-fit:cover}.category-card h3{font-size:21px;margin-top:23px;margin-bottom:10px}.category-card span{color:var(--muted);line-height:1.5}
.project-motion-toolbar{margin-bottom:25px}.project-motion-toolbar button,.gallery-slide-controls button,#close-gallery{border-radius:5px;min-height:44px}
.philosophy{background:var(--paper)}.purpose-grid{gap:40px}.values-grid article{border-radius:8px}.staff-card{border-radius:8px;overflow:hidden}.staff-card img{height:auto;object-fit:contain}.staff-card p{max-width:100%}
.review-card{border-radius:10px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 24px #17212c05}.review-card p{font-size:17px}
.contact{background:var(--paper)}.contact h2{font-weight:400;letter-spacing:-2px}.contact-number{letter-spacing:.3px}
.site-footer{background:var(--paper)}.footer-menu a:hover,.footer-contact a:hover{color:var(--red)}.footer-bottom{line-height:1.7}
.gallery-grid .gallery-large{max-height:none}.gallery-stage{min-width:0}.gallery-thumbnails button{border-radius:5px;overflow:hidden}.gallery-stage-caption{max-width:none}
@media(min-width:1600px){.hero h1{font-size:98px}}
@media(max-width:800px){header{gap:14px;padding:14px 6%;min-height:0}header nav{justify-content:flex-start;gap:22px;overflow-x:auto;flex-wrap:nowrap;padding:0 0 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}header nav a{flex-shrink:0;font-size:14px;padding:10px 0}.brand-logo{width:150px;height:auto}.section-heading{margin-bottom:22px}.cards{gap:22px}.category-card img{aspect-ratio:4/3}.hero{padding-bottom:170px}.hero h1{font-size:clamp(44px,11vw,74px)}.contact h2{font-size:clamp(38px,10vw,54px)}.contact-actions{width:100%}.contact-actions .button{width:100%;text-align:center}.service{padding:26px}.site-footer{padding-bottom:100px}.footer-contact>a{overflow-wrap:anywhere}.gallery-slide-controls{flex-wrap:wrap;gap:8px}.floating-whatsapp,.back-home{font-size:12px;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.service:hover,.category-card:hover,.button:hover{transform:none}}

footer.site-footer.footer-compact{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:28px max(6%,calc((100vw - 1320px)/2)) 90px;border-top:1px solid var(--line)}.footer-logo{display:block;flex:0 0 150px}.footer-logo img{display:block;width:150px;height:auto}.footer-copyright{font-size:13px;color:var(--muted)}.footer-essential{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}.footer-essential a{padding:12px 0;min-height:44px}.footer-essential a:hover{color:var(--red)}@media(max-width:600px){footer.site-footer.footer-compact{flex-direction:column;align-items:flex-start;gap:10px;padding:25px 6% 100px}.footer-essential{gap:25px}}

.video-selection{margin:32px 0}.video-card{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding-bottom:22px;background:#fff}.video-frame{aspect-ratio:16/9;position:relative;background:#202326}.video-play{display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:transparent;position:relative}.video-card .video-play img{display:block;width:100%;height:100%;object-fit:cover}.video-play-icon{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#b8152cf2;color:white;font-size:24px;box-shadow:0 4px 20px #0003}.video-play:hover .video-play-icon{background:#861020}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-card h3{margin:22px 22px 12px;font-size:21px}.video-card .video-link{display:inline-block;margin:0 22px;padding:10px 0;min-height:44px}.video-intro{max-width:650px}

.hero{flex-wrap:wrap;column-gap:6%;row-gap:36px}.hero>div:first-child{flex:1 1 480px}.home-welcome-video{flex:1 1 360px;max-width:490px;padding:0 0 18px;background:#ffffff0d;border:1px solid #ffffff35;border-radius:10px;overflow:hidden;backdrop-filter:blur(8px)}.home-welcome-video h3{font-size:20px;margin:18px 20px 8px;font-weight:400;color:#fff}.home-welcome-video .video-link{display:inline-block;margin:0 20px;padding:8px 0;font-size:14px;color:#fff}.video-external-label{position:absolute;bottom:12px;left:12px;padding:7px 11px;background:#202326ed;border-radius:4px;color:#fff;font-size:13px}.video-external{position:relative}.video-external .video-play-icon{font-size:24px}@media(max-width:1100px){.hero>div:first-child{flex-basis:420px}.home-welcome-video{flex-basis:320px}}@media(max-width:800px){.hero{display:flex;align-items:flex-start;gap:28px;padding-bottom:80px}.hero>div:first-child{flex-basis:100%;max-width:100%}.home-welcome-video{flex:0 0 100%;width:100%;max-width:490px}.hero-project-label{display:none}header nav{order:3}}

/* Larger type and stronger contrast for reading and low vision. */
html{font-size:18px}body{font-size:1.111rem;color:#202326;line-height:1.65}p,.purpose-grid p,.values-grid p,.team-profile p,.staff-grid p,.service p,.project p,.legal-copy p{font-size:1.111rem;line-height:1.8;color:#45494d}h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-1px}h3,.category-card h3,.video-card h3{font-size:1.333rem;line-height:1.4}.values-grid h4{font-size:1.222rem;line-height:1.4}header nav a,header select,.button,.category-card span,.video-link,.footer-essential,.footer-copyright,.contact-number,.staff-grid .staff-role,.eyebrow,.number,.value-index,.gallery-motion-hint,.gallery-slide-controls,.project-motion-toolbar button{font-size:1rem;line-height:1.6}.eyebrow{letter-spacing:1.2px}.category-card span,.footer-copyright,.gallery-motion-hint{color:#4c5054}.hero .welcome,.hero p:not(.welcome){font-size:1.111rem;line-height:1.8;color:#fff;max-width:600px}.hero .eyebrow{font-size:1rem;color:#fff}.hero:before{background:linear-gradient(90deg,#0c1216ed,#0c1216aa 64%,#0c121633)}.hero>div:first-child{max-width:780px}.hero-project-label span,.hero-project-label a{font-size:1rem;color:#fff}.hero-project-label{max-width:340px}.hero .button{font-size:1rem;padding:16px 22px}.hero .secondary{background:#111b23a6}.video-external-label{font-size:1rem}.gallery-stage-caption{font-size:1.111rem;line-height:1.7}.footer-essential a,.footer-copyright{font-size:1rem}.button,button,select{min-height:48px}.floating-whatsapp,.back-home{font-size:1rem;padding:12px 16px}.skip-content{position:fixed;top:10px;left:10px;z-index:1000;transform:translateY(-180%);padding:14px 20px;background:#fff;color:#202326;border:3px solid var(--red);font-size:1rem}.skip-content:focus{transform:none}#main-content:focus{outline:none}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #b8152c;outline-offset:5px}
@media(max-width:800px){header nav a,header select{font-size:1rem}.hero{padding-bottom:75px}.hero .welcome,.hero p:not(.welcome){font-size:1.111rem}.hero .eyebrow{font-size:1rem}.hero-project-label{display:none}.floating-whatsapp,.back-home{font-size:.944rem;max-width:calc(100vw - 28px)}footer.site-footer.footer-compact{padding-bottom:140px}.cards{grid-template-columns:minmax(0,1fr)}.store-heading{padding-right:0}.store-heading:after{display:none}}@media(min-width:801px){.hero{padding-bottom:160px}.hero-project-label{display:flex}}

.legacy-entry{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:48px;align-items:center;margin-top:70px;padding:40px;background:#f7f3ec;border-top:3px solid #a77537;border-radius:0 0 10px 10px}.legacy-entry>img{display:block;width:100%;max-height:540px;height:auto;object-fit:contain}.legacy-entry h3{font-size:clamp(32px,4vw,48px);margin:12px 0 20px}.legacy-entry h4{font-size:24px;margin:0 0 12px}.legacy-entry p{max-width:none}.legacy-entry .eyebrow{color:#805522}.legacy-dates{font-size:18px!important;color:#555!important}@media(max-width:800px){.legacy-entry{grid-template-columns:1fr;padding:25px;gap:25px}.legacy-entry>img{max-height:450px}}

.footer-sitemap{width:100%;flex:0 0 100%;padding-bottom:26px;margin-bottom:6px;border-bottom:1px solid #d4d3cf}.site-footer .footer-sitemap h2{font-size:24px;line-height:1.4;margin:0 0 18px;color:#202326}.footer-sitemap-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 24px;width:100%;font-size:18px}.footer-sitemap-links a{display:flex;align-items:center;min-height:48px;padding:10px 0;white-space:normal;line-height:1.5;color:#34383c}.footer-sitemap-links a:hover,.footer-sitemap-links a[aria-current="page"]{color:#b8152c;text-decoration:underline;text-underline-offset:5px}@media(max-width:800px){.footer-sitemap-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}.footer-sitemap{margin-bottom:12px}.footer-sitemap-links a{font-size:18px;min-height:52px;border-bottom:1px solid #e2e1dd}}@media(max-width:360px){.footer-sitemap-links{grid-template-columns:1fr}}
