:root{--ink:#1c211c;--paper:#f1efe8;--lime:#d9ddba;--sage:#65715f;--bone:#ddd7ca;--line:rgba(28,33,28,.18);--serif:"Newsreader",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);background:rgba(24,28,25,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .3s,border-color .3s}
.site-header.at-top{background:linear-gradient(180deg,rgba(14,18,15,.6),rgba(14,18,15,.08));border-color:rgba(255,255,255,.24);backdrop-filter:none;-webkit-backdrop-filter:none}
section[id]{scroll-margin-top:0}
.brand svg{width:138px;height:24px;fill:#fff}.brand text{font:600 20px var(--sans);letter-spacing:4px}.brand img{display:block;max-width: 100px; height: 149px; margin-top: -25px;}
.desktop-nav{display:flex;gap:34px;font-size:12px;margin-top:-20px;text-transform:uppercase;letter-spacing:.13em}
.desktop-nav a,.header-cta,.header-whatsapp{position:relative}.desktop-nav a:after,.header-cta:after,.header-whatsapp:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s}.desktop-nav a:hover:after,.header-cta:hover:after,.header-whatsapp:hover:after{transform:scaleX(1);transform-origin:left}
.header-actions{justify-self:end;display:flex;align-items:center;gap:24px; margin-top: -20px;}.header-cta,.header-whatsapp{text-transform:uppercase;letter-spacing:.14em;font-size:11px;white-space:nowrap}.header-cta span,.header-whatsapp span{margin-left:12px}
.menu-button{display:none;background:none;border:0;color:#fff;width:40px;height:40px}.menu-button span:not(.sr-only){display:block;width:25px;height:1px;background:currentColor;margin:7px auto;transition:.3s}
.mobile-menu{display:none}
.hero{height:100vh;min-height:700px;position:relative;color:#fff;overflow:hidden;background:#566052}
.hero-image{height:100%;object-fit:cover;animation:heroIn 1.5s ease both}
@keyframes heroIn{from{scale:1.06;filter:brightness(.6)}to{scale:1;filter:brightness(1)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,19,15,.68) 0%,rgba(14,19,15,.16) 62%,rgba(14,19,15,.08)),linear-gradient(0deg,rgba(10,14,11,.45),transparent 45%)}
.hero-copy{position:absolute;left:3vw;right:3vw;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;padding-top:70px}
.eyebrow{text-transform:uppercase;font:300 11px var(--mono);letter-spacing:.2em;margin:0 0 25px}.eyebrow.light{color:rgba(255,255,255,.75)}
.hero h1{font:300 clamp(58px,6.2vw,118px)/.87 var(--serif);letter-spacing:-.045em;margin:0;max-width:1100px}.hero h1 em,.display em,.contact h2 em,blockquote em{font-weight:300;color:var(--lime)}
.hero-bottom{position:absolute;bottom:42px;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between}.hero-bottom p{font:300 15px/1.6 var(--sans);margin:0}
.circle-link{width:64px;height:64px}.circle-link svg{fill:none;stroke:#fff;stroke-width:.8}.circle-link path{transition:transform .3s}.circle-link:hover path{transform:translateY(4px)}
.hero-index{position:absolute;right:3vw;top:130px;font:300 11px var(--mono);letter-spacing:.15em;writing-mode:vertical-rl}
.section-pad{padding:130px 5vw}
.section-label{display:flex;gap:18px;align-items:center;font:300 11px var(--mono);letter-spacing:.17em;text-transform:uppercase;margin-bottom:90px}.section-label span{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.section-label p{margin:0}
.manifesto{display:grid;grid-template-columns:20% 80%}
.manifesto .section-label{align-items:flex-start}.manifesto-content{padding-right:3vw}
.display{font:300 clamp(48px,5vw,92px)/.96 var(--serif);letter-spacing:-.04em;margin:0}.display em{color:var(--sage)}
.manifesto-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;margin-top:100px;padding-left:18%}
.lead{font:300 clamp(22px,2.1vw,34px)/1.35 var(--serif);margin:0}.body-copy{font-size:16px;line-height:1.75;color:#535951}.body-copy p{margin:0 0 30px}
.text-link{display:inline-flex;align-items:center;gap:30px;text-transform:uppercase;font:400 12px var(--mono);letter-spacing:.13em;padding-bottom:10px;border-bottom:1px solid;margin-top:24px}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}
.quote-panel{min-height:300px;background:#252c27;color:#fff;display:grid;place-items:center;position:relative;padding:80px}
.quote-inner{text-align:center}.quote-mark{display:block;font:300 80px var(--serif);color:var(--lime);height:65px}.quote-panel blockquote{font:300 clamp(28px,3.2vw,58px)/1.2 var(--serif);margin:0}.quote-panel blockquote em{display:inline}
.vertical-note{position:absolute;right:2.2vw;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font:300 10px var(--mono);letter-spacing:.2em;color:rgba(255,255,255,.4)}
.atelier-head{display:grid;grid-template-columns:1.5fr .7fr;align-items:end;gap:12vw}.intro{font-size:15px;line-height:1.7;color:#596057;max-width:480px}
.service-list{margin-top:120px;border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:7% 31% 1fr auto;align-items:center;gap:30px;min-height:150px;border-bottom:1px solid var(--line);transition:.35s;padding:15px}
.service:hover{background:var(--lime);padding-left:30px;padding-right:30px}
.service>span{font:300 11px var(--mono)}.service h3{font:300 34px var(--serif);margin:0}.service p{font-size:12px;line-height:1.6;max-width:480px}.service-arrow{border:1px solid var(--ink);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:19px}
.works{background:#252c27;color:#fff}.works-head{display:grid;grid-template-columns:20% 1fr 30%;align-items:end}.works-head .section-label{align-self:start}.works-head p:last-child{font-size:13px;line-height:1.7;color:rgba(255,255,255,.6)}.works .display em{color:var(--lime)}
.featured-work{height:84vh;min-height:620px;position:relative;overflow:hidden}.featured-work img{height:100%;object-fit:cover;transition:transform 1s}.featured-work:hover img{transform:scale(1.02)}.work-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,13,10,.66),transparent 62%)}
.work-number{position:absolute;left:3vw;top:3vw;width:36px;height:36px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font:300 11px var(--mono)}
.work-caption{position:absolute;left:6vw;bottom:6vw}.work-caption p{font:300 11px var(--mono);letter-spacing:.16em;text-transform:uppercase}.work-caption h3{font:300 clamp(44px,5.5vw,86px)/.9 var(--serif);letter-spacing:-.035em;margin:22px 0}.work-caption span{font:300 11px var(--mono);color:rgba(255,255,255,.6)}
.work-view{position:absolute;right:6vw;bottom:6vw;text-transform:uppercase;font:300 11px var(--mono);letter-spacing:.15em;border-bottom:1px solid;padding-bottom:8px}.work-view span{margin-left:20px}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-top:90px}
.project-visual{height:430px;position:relative;overflow:hidden;background-size:cover;background-position:center}.project-visual span{position:absolute;top:16px;left:16px;font:300 10px var(--mono);letter-spacing:.14em;background:rgba(241,239,232,.9);color:var(--ink);padding:8px 10px}
.ecostay{background-image:linear-gradient(155deg,transparent 40%,rgba(17,22,18,.4)),url("assets/media/m-020.webp")}.forest{background-image:linear-gradient(20deg,#5c6858,#a4aa89 45%,#dad7c7);position:relative}.forest:after{content:"";position:absolute;inset:18% 13% 0;background:#383e34;clip-path:polygon(15% 25%,50% 0,92% 24%,92% 100%,10% 100%);box-shadow:inset 80px 0 #8b7458}.acoustic{background:repeating-linear-gradient(90deg,#7c684e 0 7px,#c3b69d 7px 24px);position:relative}.acoustic:after{content:"";position:absolute;inset:18% 14%;border:22px solid #262a26;background:radial-gradient(circle at 50%,#393e39,#111)}
.project-card h3{font:300 24px var(--serif);margin:22px 0 8px}.project-card p{font:300 11px var(--mono);color:rgba(255,255,255,.48);text-transform:uppercase;letter-spacing:.12em}
.innovation-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center}.innovation-copy .intro{margin:55px 0 30px}.material-image{position:relative}.material-image img{aspect-ratio:1.15;object-fit:cover}.material-tag{position:absolute;left:-35px;bottom:32px;background:var(--lime);width:245px;padding:22px;display:flex;gap:22px}.material-tag span{font:300 10px var(--mono)}.material-tag p{font:400 15px/1.5 var(--sans);margin:0}.material-tag small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.material-list{margin-top:100px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.material-list>div{min-height:150px;border-right:1px solid var(--line);padding:25px 20px;display:flex;flex-direction:column;justify-content:space-between;font:300 13px var(--sans);transition:background .3s}.material-list>div:last-child{border:0}.material-list>div span{font:300 10px var(--mono)}.material-list>div b{align-self:flex-end;font-weight:300;opacity:.68}.material-list>div:first-child,.material-list>div:hover{background:var(--lime)}
.metrics{background:var(--lime);display:grid;grid-template-columns:repeat(4,1fr);padding:75px 6vw}.metric{border-left:1px solid rgba(28,33,28,.25);padding-left:30px}.metric strong{display:block;font:300 62px var(--serif);letter-spacing:-.04em}.metric p{font:300 10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.recognition-head{display:grid;grid-template-columns:1fr .6fr;align-items:end;gap:12vw}.recognition-list{margin-top:100px;border-top:1px solid var(--line)}.recognition-list a{display:grid;grid-template-columns:18% 1fr auto;align-items:center;min-height:108px;border-bottom:1px solid var(--line);transition:.3s;padding:0 12px}.recognition-list a:hover{background:#e5e2d8;padding:0 25px}.recognition-list span{font:300 11px var(--mono);text-transform:uppercase;letter-spacing:.12em}.recognition-list strong{font:300 20px var(--serif)}.recognition-list em{font-style:normal}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;background:#252c27;color:#fff;padding:130px 6vw;gap:12vw}.contact-intro{position:sticky;top:100px;align-self:start}.contact h2{font:300 clamp(48px,3.5vw,82px)/.95 var(--serif);letter-spacing:-.04em;margin:0 0 42px}.contact-intro>p:last-child{font-size:13px;line-height:1.8;color:rgba(255,255,255,.55);max-width:450px}
.field{border-bottom:1px solid rgba(255,255,255,.22);padding:24px 0}.field label{display:block;font:300 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px}.field input,.field textarea,.field select{width:100%;border:0;background:transparent;color:#fff;padding:0;font:300 18px var(--serif)}.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.72)}.field textarea{height:75px;resize:vertical}.field select{appearance:none}.field select option{color:#222}.field.split{display:grid;grid-template-columns:1fr 1fr;gap:45px}.submit-button{margin-top:42px;width:100%;height:68px;background:var(--lime);border:0;color:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 28px;text-transform:uppercase;font:400 10px var(--mono);letter-spacing:.16em;cursor:pointer;transition:.25s}.submit-button:hover{background:#eef1ca;padding-left:35px;padding-right:35px}.submit-button:disabled{opacity:.65;cursor:wait}.field:focus-within{border-color:var(--lime)}.form-note{font:300 11px/1.65 var(--mono);color:rgba(255,255,255,.58);margin-top:18px}.form-success{display:none;background:var(--lime);color:var(--ink);padding:20px;margin-top:20px;font-size:13px}.form-success.show{display:block}.form-success.error{background:#f1d9ce;color:#54271f}
footer{background:linear-gradient(180deg,rgba(16,20,16,.98) 0%,#181c19 100%);color:#fff;padding:100px 6vw 60px}
.footer-grid{display:grid;grid-template-columns:0.9fr 1.1fr 1.1fr 1.1fr 1.3fr;gap:60px 45px;align-items:start}
.footer-brand{display:flex;flex-direction:column;gap:0px ;border-right:1px solid rgba(255,255,255,.15);padding-right:45px;justify-self:start}
.footer-brand-logo img{display:block;max-width:138px;height:auto;margin-bottom:8px}
.footer-contact{display:flex;flex-direction:column;gap:16px}
.footer-contact-item{display:flex;align-items:flex-start;gap:12px;font-size:12px;color:rgba(255,255,255,.75);transition:color .25s;text-decoration:none;line-height:1.5}
.footer-contact-item:hover{color:#D9B399}
.footer-contact-item .contact-icon{font-size:16px;color:#D9B399;margin-top:-4px !important;flex-shrink:0;margin-top:2px}
.footer-column{display:flex;flex-direction:column;}
.footer-column-title{font:400 9px var(--mono);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5);margin:0;margin-bottom:12px}
.footer-column a{font-size:13px;color:rgba(255,255,255,.75);line-height:1.8;transition:color .25s;display:block}
.footer-column a:hover{color:#D9B399}
.footer-social{display:flex;flex-direction:column;}
.footer-social a{text-decoration:none}
.footer-inspire{display:flex;flex-direction:column;gap:18px}
.inspire-desc{font-size:12px;line-height:1.7;color:rgba(255,255,255,.6);margin:0;margin-bottom:8px}
.newsletter-form{display:flex;align-items:center;gap:0;border:1px solid rgba(217,179,153,.35);background:transparent;padding:0;margin:12px 0 20px 0;min-height:52px}
.newsletter-form input{flex:1;background:transparent;border:0;color:#fff;padding:15px 16px;font:300 14px var(--sans);outline:none;border-right:1px solid rgba(217,179,153,.35)}
.newsletter-form input::placeholder{color:rgba(255,255,255,.38);font-size:13px}
.newsletter-form button{background:#D9B399;border:0;color:#1c211c;cursor:pointer;padding:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .25s;flex-shrink:0;font-weight:300}
.newsletter-form button:hover{background:#e5c4ad}
.social-icons{display:flex;gap:10px;margin-top:6px}
.social-icons a{width:34px;height:34px;border:1px solid rgba(217,179,153,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#D9B399;transition:all .25s;text-decoration:none;font-weight:400}
.social-icons a:hover{border-color:#D9B399;background:rgba(217,179,153,.12);color:#D9B399}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:68px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font:300 10px var(--mono);color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.11em;flex-wrap:wrap}
.footer-tagline{font:300 10px var(--mono);letter-spacing:.12em;color:#D9B399;white-space:nowrap}
.footer-bottom a{color:rgba(255,255,255,.7);
font-size: 12px;transition:color .25s;text-decoration:none}
.footer-bottom a:hover{color:#D9B399}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .brand img{margin-top: 0;}
  html{scroll-padding-top:76px}section[id]{scroll-margin-top:0}
  .site-header{height:76px;padding:0 22px;display:flex;justify-content:space-between}.desktop-nav,.header-actions{display:none}.menu-button{display:block}.mobile-menu{display:flex;position:fixed;z-index:15;inset:0;background:#252c27;color:#fff;padding:110px 25px 40px;transform:translateY(-105%);transition:.55s cubic-bezier(.77,0,.18,1)}.mobile-menu.open{transform:none}.mobile-menu nav{width:100%}.mobile-menu a{display:flex;align-items:center;gap:20px;font:300 18px var(--serif);border-bottom:1px solid rgba(255,255,255,.16);padding:14px 0}.mobile-menu a span{font:300 11px var(--mono);color:var(--lime)}
  .hero{min-height:650px}.hero-copy{left:22px;right:22px}.hero h1{font-size:clamp(49px,14vw,76px);line-height:.92}.hero-bottom{bottom:25px}.hero-index{display:none}.circle-link{width:52px}
  .section-pad{padding:90px 22px}.section-label{margin-bottom:55px}.manifesto{display:block}.manifesto-content{padding:0}.display{font-size:clamp(44px,13vw,68px)}.manifesto-grid{grid-template-columns:1fr;padding:0;gap:45px;margin-top:60px}.lead{font-size:25px}.body-copy{font-size:15px}.text-link{font-size:11px}.quote-panel{padding:80px 24px;min-height:450px}.quote-panel blockquote br{display:none}
  .atelier-head,.works-head,.innovation-grid,.recognition-head,.contact{grid-template-columns:1fr}.atelier-head{gap:40px}.service{grid-template-columns:9% 1fr auto;gap:12px;padding:25px 5px}.service p{grid-column:2/4}.service h3{font-size:27px}
  .works-head{gap:35px}.works-head .section-label{margin-bottom:25px}.featured-work{height:72vh;min-height:560px}.work-caption{left:22px;bottom:80px}.work-view{left:22px;right:auto;bottom:35px}.works-grid{grid-template-columns:1fr;padding-top:60px}.project-visual{height:480px}
  .innovation-grid{gap:70px}.material-tag{left:12px;bottom:12px;width:225px}.material-list{grid-template-columns:1fr}.material-list>div{min-height:84px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center}.material-list>div b{opacity:1}.metrics{grid-template-columns:1fr 1fr;gap:45px 10px}.metric strong{font-size:48px}
  .recognition-head{gap:40px}.recognition-list a{grid-template-columns:1fr auto;gap:15px;padding:20px 6px}.recognition-list span{grid-column:1/3}.recognition-list strong{font-size:18px}.contact{padding:90px 22px;gap:70px}.contact-intro{position:static}.field.split{grid-template-columns:1fr;gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 35px}.footer-brand{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding-right:0;padding-bottom:35px;grid-column:1/3}.footer-bottom{gap:16px;flex-wrap:wrap}
}
@media(max-width:520px){.works-grid .project-visual{height:350px}.metrics{grid-template-columns:1fr}.metric{padding:10px 0 10px 25px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding-right:0;padding-bottom:30px;grid-column:auto}.footer-bottom{flex-direction:column;gap:12px;align-items:flex-start}.hero-bottom p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Real people, real recognition */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:80px;background:var(--line);border:1px solid var(--line)}
.team-card{min-height:365px;background:#eeece5;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);transition:background .35s,transform .35s;overflow:hidden}
.team-card img{width:100%;height:285px;object-fit:cover;object-position:center top;mix-blend-mode:multiply;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .team-card>div{padding:16px 18px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.team-card strong{font:300 22px var(--serif)}.team-card span{font:300 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#687066}
.team-card[href]:hover{background:var(--lime)}.team-card[href]:hover img{transform:scale(1.035)}
.service,.service:hover{grid-template-columns:7% 27% 1fr auto}.service:hover{padding-left:30px;padding-right:30px}.service-thumb{display:none}.service:hover button{transform:rotate(45deg);background:var(--ink);color:#fff}
.award img{display:block;width:94px;height:46px;object-fit:contain;object-position:left center;margin:18px 0 10px;filter:saturate(.85)}.award-type{display:block;font:400 16px var(--sans);margin:18px 0 auto;color:#c26f30}.award:hover .award-type{color:var(--lime)}
.press-item img.publication-mark{height:54px;width:54px;object-fit:contain;object-position:center;border:0;border-radius:0;background:#fff;padding:4px;mix-blend-mode:multiply}.press-item:hover img.publication-mark{mix-blend-mode:normal}
  .publication-wordmark{font:400 10px/1.05 var(--mono)!important;letter-spacing:.08em!important;text-align:center;text-transform:uppercase;background:transparent!important}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr;margin-top:55px}.team-card{min-height:270px}.team-card img{height:205px}.team-card strong{font-size:19px}.service,.service:hover{grid-template-columns:9% 1fr auto;padding:25px 5px}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}.team-card{min-height:350px}.team-card img{height:280px}}

/* Launch refinement: clearer focus, calmer motion and safer responsive behaviour */
.skip-link{position:fixed;z-index:100;left:18px;top:14px;transform:translateY(-180%);padding:12px 16px;background:var(--lime);color:var(--ink);font:400 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:transform .2s}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--lime);outline-offset:4px}
main:focus{outline:0}
.download-form input[type=email]:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
.mobile-menu[aria-hidden="true"]{pointer-events:none}
.footer-bottom a{color:rgba(255,255,255,.78)}
.project-card,.gallery-tile,.materials-hero,.team-card{contain:layout paint}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .footer-brand{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding-right:0;padding-bottom:35px;grid-column:1/3}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:16px}
}

@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-brand{border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:30px;grid-column:auto}
  .footer-bottom{gap:12px;flex-direction:column}
  .newsletter-form{margin:12px 0}
  .footer-tagline{order:-1}
}
  .mobile-menu a{min-height:54px}


/* Responsive recomposition: preserve complete architectural images and remove visual collisions. */
body{overflow-x:clip}
img,svg{max-width:100%}
.contact-whatsapp{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.48);color:var(--lime);font:400 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.contact-whatsapp span{font:300 19px var(--serif)}

.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:none;grid-template-rows:none;grid-auto-rows:auto;gap:clamp(18px,1.7vw,30px);padding:0 6vw clamp(100px,9vw,150px)}
.works-grid .project-card,.works-grid .project-card:nth-child(n){grid-area:auto;position:relative;display:flex;flex-direction:column;min-width:0;margin:0!important;overflow:visible;background:transparent;color:#fff}
.works-grid .project-visual{position:relative;inset:auto;height:auto;aspect-ratio:16/11;display:grid;place-items:center;overflow:hidden;background:#273029}
.works-grid .project-visual:after{display:none}
.works-grid .project-visual img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none!important}
.works-grid .project-card:hover .project-visual img{filter:none;transform:none}
.works-grid .project-card>div:last-child{position:static;z-index:auto;padding:18px 2px 0;text-shadow:none}
.works-grid .project-card h3{font:300 clamp(24px,1vw,34px)/1.04 var(--serif);margin:0;color:#fff;letter-spacing:-.025em}
  .works-grid .project-card p{margin:9px 0 0;color:rgba(255,255,255,.72);font:300 11px/1.55 var(--mono);letter-spacing:.1em}
.works-grid .project-visual span{top:14px;left:14px;z-index:1;max-width:calc(100% - 28px)}
.works-grid .project-visual i{right:14px;bottom:12px;z-index:1;font-size:clamp(28px,2.8vw,42px);color:rgba(255,255,255,.72)}

.material-list{margin-top:clamp(66px,7vw,100px)}
.material-list>button{min-height:150px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;padding:25px 20px;display:flex;flex-direction:column;justify-content:space-between;font:300 13px var(--sans);cursor:pointer;transition:background .3s,color .3s}
.material-list>button:last-child{border-right:0}
  .material-list>button span{font:300 10px var(--mono)}
.material-list>button b{align-self:flex-end;font-weight:300;opacity:.68}
.material-list>button[aria-selected="true"],.material-list>button:hover{background:var(--lime)}
.material-list>button:focus-visible{position:relative;z-index:1;outline-offset:-5px}
.material-collection{border-bottom:1px solid var(--line);background:#e4e1d7}
.material-panel{padding:clamp(24px,3vw,42px) 0 30px}
.material-panel-intro{display:grid;grid-template-columns:minmax(165px,.42fr) 1fr;gap:28px;align-items:start;padding:0 clamp(18px,3vw,42px) 24px}
  .material-panel-intro span{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#637060}
.material-panel-intro p{max-width:510px;margin:0;font:300 clamp(19px,1.7vw,27px)/1.25 var(--serif);letter-spacing:-.02em}
.material-rail{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:#78816e transparent;padding:0 clamp(18px,3vw,42px) 12px;outline-offset:-4px}
.material-rail figure{flex:0 0 clamp(270px,30vw,460px);display:flex;flex-direction:column;margin:0;background:#eeece5;scroll-snap-align:start}
.material-rail img{display:block;width:100%;height:clamp(270px,27vw,420px);object-fit:contain;background:#ece7dc}
  .material-rail figcaption{min-height:52px;padding:15px 16px;font:300 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#566055}

@media (min-width:901px) and (max-width:1120px){
  html{scroll-padding-top:84px}
  .site-header{height:84px;padding:0 28px;display:flex;justify-content:space-between}
  .desktop-nav,.header-actions{display:none}
  .menu-button{display:block}
  .mobile-menu{display:flex;position:fixed;z-index:15;inset:0;background:#252c27;color:#fff;padding:112px 32px 44px;transform:translateY(-105%);transition:.55s cubic-bezier(.77,0,.18,1)}
  .mobile-menu.open{transform:none}
  .mobile-menu nav{width:100%}
  .mobile-menu a{display:flex;align-items:center;gap:20px;min-height:58px;font:300 38px var(--serif);border-bottom:1px solid rgba(255,255,255,.16);padding:14px 0}
  .mobile-menu a span{font:300 8px var(--mono);color:var(--lime)}
}

@media (max-width:1024px){
  .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:22px;padding-right:22px}
  .material-rail figure{flex-basis:min(56vw,440px)}
  .material-panel-intro{grid-template-columns:1fr;gap:12px}
}

@media (max-width:768px){
  .works-grid{grid-template-columns:1fr;gap:32px;padding-bottom:90px}
  .works-grid .project-visual{aspect-ratio:4/3}
  .works-grid .project-card h3{font-size:clamp(29px,7vw,39px)}
  .works-grid .project-card p{font-size:10px}
  .material-list{grid-template-columns:1fr;margin-top:58px}
  .material-list>button{min-height:68px;border-right:0;border-bottom:1px solid var(--line);padding:18px 20px;flex-direction:row;align-items:center;gap:18px}
  .material-list>button b{opacity:1}
  .material-rail figure{flex-basis:78vw}
}

@media (max-width:430px){
  .works-grid{padding-left:16px;padding-right:16px;gap:28px}
  .works-grid .project-visual{aspect-ratio:1/1}
  .works-grid .project-visual span{font-size:10px;padding:7px 8px}
  .material-panel{padding-top:22px}
  .material-panel-intro{padding-left:16px;padding-right:16px}
  .material-rail{padding-left:16px;padding-right:16px}
  .material-rail figure{flex-basis:84vw}
  .contact-whatsapp{font-size:10px}
}

/* Tighter project and material presentation */
.works-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"ecostay ecostay ecostay ecostay ecostay ecostay sunny sunny sunny sunny sunny sunny" "ecostay ecostay ecostay ecostay ecostay ecostay sunny sunny sunny sunny sunny sunny" "ecostay ecostay ecostay ecostay ecostay ecostay sunny sunny sunny sunny sunny sunny" "panels panels panels panels exterior exterior exterior exterior quiet quiet quiet quiet" "panels panels panels panels objects objects objects objects objects objects drawing drawing";grid-template-rows:repeat(5,minmax(105px,10vw));gap:8px;padding:0 6vw clamp(115px,10vw,155px)}
.works-grid .project-card{position:relative;min-width:0;margin:0!important;overflow:hidden;background:#303830;color:#fff}
.works-grid .project-card:nth-child(1){grid-area:ecostay}.works-grid .project-card:nth-child(2){grid-area:sunny}.works-grid .project-card:nth-child(3){grid-area:panels}.works-grid .project-card:nth-child(4){grid-area:exterior}.works-grid .project-card:nth-child(5){grid-area:quiet}.works-grid .project-card:nth-child(6){grid-area:objects}.works-grid .project-card:nth-child(7){grid-area:drawing}
.works-grid .project-visual{position:absolute;inset:0;height:100%;background:#303830}.works-grid .project-visual img{width:100%;height:100%;object-fit:cover}.works-grid .project-card>div:last-child{position:absolute;z-index:3;left:20px;right:20px;bottom:17px;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.works-grid .project-card h3{font:300 clamp(22px,2.2vw,35px)/.98 var(--serif);margin:0;color:#fff;letter-spacing:-.025em}.works-grid .project-card p{color:rgba(255,255,255,.76);font-size:10px;margin:9px 0 0}.works-grid .project-visual span{top:15px;left:15px}.works-grid .project-visual i{right:17px;bottom:14px;font-size:35px}

.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"angan angan expo award" "angan angan expo award" "angan angan materials materials" "workshop un un policy" "workshop un un policy" "workshop diplomacy diplomacy policy";grid-auto-rows:12vw;gap:8px;padding:0 8px}.gallery-tile{min-height:0}.tile-angan{grid-area:angan}.tile-expo{grid-area:expo}.tile-award{grid-area:award}.tile-materials{grid-area:materials}.tile-workshop{grid-area:workshop}.tile-un{grid-area:un}.tile-policy{grid-area:policy}.tile-diplomacy{grid-area:diplomacy}

.materials-atlas{background:#e6e2d7}.materials-catalogue{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(390px,1fr);gap:1px;margin-top:82px;background:rgba(28,33,28,.22);border:1px solid rgba(28,33,28,.22)}.materials-hero{position:relative;margin:0;overflow:hidden;background:#d8d5ca}.materials-hero img{width:100%;height:100%;min-height:610px;object-fit:cover;filter:saturate(.88) contrast(1.04);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.materials-hero:hover img{transform:scale(1.018)}.materials-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,21,17,.62),transparent 38%);pointer-events:none}.materials-hero figcaption{position:absolute;z-index:1;left:26px;bottom:25px;color:#fff}.materials-hero figcaption span{font:300 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}.materials-hero figcaption p{font:300 25px/1.1 var(--serif);max-width:350px;margin:10px 0 0}.materials-index{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(28,33,28,.22)}.materials-index article{min-height:152px;padding:19px 20px;background:#eeece5;display:flex;flex-direction:column;transition:background .3s,color .3s}.materials-index article:hover{background:#252c27;color:#fff}.materials-index span{font:300 9px var(--mono);letter-spacing:.14em;color:#65715f}.materials-index h3{font:300 27px/1 var(--serif);margin:auto 0 8px;letter-spacing:-.025em}.materials-index p{font:300 9px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;margin:0;color:#687066}.materials-index article:hover span{color:var(--lime)}.materials-index article:hover p{color:rgba(255,255,255,.62)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:900px){.works-grid{grid-template-areas:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:45vw;padding:0 22px 90px}.works-grid .project-card:nth-child(n){grid-area:auto}.materials-catalogue{grid-template-columns:1fr;margin-top:55px}.materials-hero img{min-height:0;aspect-ratio:1.35}.materials-index article{min-height:135px}.gallery-grid{grid-template-areas:none;grid-template-columns:1fr 1fr;grid-auto-rows:40vw;grid-auto-flow:dense;gap:4px}.gallery-tile,.tile-angan,.tile-expo,.tile-award,.tile-materials,.tile-workshop,.tile-un,.tile-policy,.tile-diplomacy{grid-area:auto;grid-column:auto;grid-row:auto}.gallery-tile:nth-child(1),.gallery-tile:nth-child(6){grid-column:span 2}}
@media(max-width:560px){.works-grid{grid-template-columns:1fr;grid-auto-rows:70vw;gap:5px}.works-grid .project-card>div:last-child{left:16px;right:16px;bottom:15px}.works-grid .project-card h3{font-size:27px}.materials-index{grid-template-columns:1fr 1fr}.materials-index article{min-height:122px;padding:16px}.materials-index h3{font-size:23px}.materials-hero figcaption{left:18px;bottom:18px}.materials-hero figcaption p{font-size:22px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:70vw}.gallery-tile:nth-child(n){grid-column:auto}}

/* Technical library and document request gate */
.resource-library{background:#f6f3eb}
.library-heading{display:grid;grid-template-columns:20% 1fr 31%;align-items:end;gap:0}.library-heading .section-label{align-self:start}.library-heading .intro{margin:0;color:#687066}
.library-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,.37fr);gap:24px;margin-top:80px;align-items:start}
.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
  .document-card{min-height:330px;background:#eeece5;padding:30px;display:flex;flex-direction:column;align-items:flex-start;transition:background .35s,color .35s}.document-card:hover{background:#252c27;color:#fff}.document-card>span,.document-card small{font:300 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6b716a}.document-card:hover>span,.document-card:hover small{color:var(--lime)}.document-card h3{font:300 clamp(25px,2.3vw,34px)/1.04 var(--serif);letter-spacing:-.025em;margin:42px 0 16px;max-width:440px}.document-card p{font-size:12px;line-height:1.65;color:#687066;max-width:440px;margin:0 0 20px}.document-card:hover p{color:rgba(255,255,255,.68)}.document-card small{margin-top:auto}
  .document-request{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;border:0;border-top:1px solid currentColor;background:none;color:inherit;padding:15px 0 0;margin-top:22px;text-align:left;cursor:pointer;text-transform:uppercase;font:400 11px var(--mono);letter-spacing:.12em}.document-request b{font:300 20px var(--serif);transition:transform .25s}.document-request:hover b{transform:translateX(5px)}
.library-proof{position:sticky;top:130px;background:#d5ddbb;padding:18px;display:flex;flex-direction:column;gap:24px}.library-proof img{aspect-ratio:.887;object-fit:contain;object-position:center;border:1px solid rgba(28,33,28,.16);background:#fff}.library-proof div{padding:4px 8px 12px}.library-proof span{font:300 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#65715f}.library-proof h3{font:300 29px/1.05 var(--serif);letter-spacing:-.025em;margin:14px 0}.library-proof p{font-size:12px;line-height:1.6;margin:0;color:#3b463b}.library-note{font:300 10px/1.55 var(--mono);letter-spacing:.03em;color:#687066;margin:25px 0 0}
.download-dialog{width:min(560px,calc(100% - 36px));border:0;padding:0;background:#eeece5;color:var(--ink);box-shadow:0 28px 90px rgba(10,14,11,.35)}.download-dialog::backdrop{background:rgba(18,24,20,.7);backdrop-filter:blur(5px)}.download-form{position:relative;padding:45px}.dialog-close{position:absolute;right:16px;top:14px;border:0;background:none;color:var(--ink);font-size:30px;line-height:1;cursor:pointer}.dialog-index{font:300 9px var(--mono);letter-spacing:.17em;color:#65715f}.download-form h2{font:300 44px/1 var(--serif);letter-spacing:-.04em;margin:18px 0 12px}.download-form>p{font-size:13px;line-height:1.65;color:#687066;margin:0 0 26px}.download-form .dialog-document{font:300 22px/1.2 var(--serif);color:var(--ink);margin:0 0 12px}.download-form label:not(.email-confirmation){display:block;font:400 9px var(--mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 9px}.download-form input[type=email]{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;outline:0;padding:12px 0;font-size:16px}.email-confirmation{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.5;margin:22px 0}.email-confirmation input{width:15px;height:15px;margin:1px 0 0;accent-color:#252c27}.download-submit{width:100%;background:#252c27;color:#fff;border:0;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.12em;font:400 9px var(--mono);cursor:pointer}.download-submit:disabled{opacity:.55;cursor:wait}.download-submit b{font:300 20px var(--serif)}.download-status{min-height:19px;margin:16px 0 0!important;font-size:11px!important}.download-status.error{color:#a53e2a}.download-status.success{color:#53634a}
@media(max-width:900px){.library-heading{grid-template-columns:1fr;gap:35px}.library-grid{grid-template-columns:1fr;margin-top:55px}.library-proof{position:static;display:grid;grid-template-columns:145px 1fr;gap:24px;align-items:center}.library-proof img{aspect-ratio:.79}.library-proof div{padding:0}.document-grid{grid-template-columns:1fr}.document-card{min-height:275px}.download-form{padding:38px 25px}.download-form h2{font-size:38px}}
@media(max-width:520px){.library-proof{display:block}.library-proof img{min-height: 360px;margin-bottom:20px}.document-card{padding:24px}.document-card h3{margin-top:32px}}

/* Premium editorial refinement */
.section-pad{padding:clamp(105px,10vw,155px) 6vw}
.editorial-bridge{display:grid;grid-template-columns:72% 28%;min-height:72vh;background:#d6d1c4}
.bridge-image{overflow:hidden}
.bridge-image img{height:100%;min-height:72vh;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.editorial-bridge:hover .bridge-image img{transform:scale(1.018)}
.bridge-copy{padding:55px 3.5vw;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid rgba(28,33,28,.2)}
  .bridge-copy span,.bridge-copy small{font:300 11px/1.7 var(--mono);letter-spacing:.15em;text-transform:uppercase}
.bridge-copy p{font:300 clamp(22px,2.1vw,34px)/1.25 var(--serif);letter-spacing:-.02em;margin:auto 0;max-width:390px}
.bridge-copy small{color:rgba(28,33,28,.55)}
.service{grid-template-columns:7% 27% 1fr 0 auto;min-height:160px;transition:.5s cubic-bezier(.2,.7,.2,1);overflow:hidden}
.service p{font-size:14px;line-height:1.65}
.service-thumb{width:0;height:124px;overflow:hidden;opacity:0;transition:.5s cubic-bezier(.2,.7,.2,1)}
.service-thumb img{width:190px;height:100%;object-fit:cover}
.service:hover{grid-template-columns:7% 24% 1fr 190px auto}
.service:hover .service-thumb{width:190px;opacity:1}
.service-arrow{transition:transform .3s,background .3s,color .3s}
.service:hover .service-arrow{transform:rotate(45deg);background:var(--ink);color:#fff}
.project-visual{height:min(42vw,560px);background:#3a413a}
.project-visual img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .8s}
.project-card:hover .project-visual img{transform:scale(1.035);filter:brightness(.84)}
.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,17,13,.34),transparent 45%);pointer-events:none}
.project-visual span{z-index:2}
.project-visual i{position:absolute;z-index:2;right:20px;bottom:15px;font:300 42px var(--serif);font-style:normal;color:rgba(255,255,255,.8)}
.project-card:nth-child(2){margin-top:90px}
.project-card h3{font-size:27px;margin-top:24px}
.project-card p{font-size:10px}
.recognition{background:linear-gradient(130deg,var(--paper) 0 73%,#e4e0d5 73% 100%)}
.featured-work img,.material-image img{filter:saturate(.87) contrast(1.03)}
.hero-image{filter:saturate(.84) contrast(1.04)}

@media(max-width:900px){
  .section-pad{padding:90px 22px}
  .editorial-bridge{grid-template-columns:1fr;min-height:auto}
  .bridge-image img{min-height:58vh}
  .bridge-copy{min-height:390px;padding:35px 22px;border-left:0}
  .bridge-copy p{font-size:28px}
  .service,.service:hover{grid-template-columns:9% 1fr auto;gap:12px;padding:25px 5px}
  .service-thumb{display:none}
  .project-visual{height:min(120vw,590px)}
  .project-card:nth-child(2){margin-top:25px}
}

/* Studio, recognition, fieldwork and journal */
.desktop-nav{gap:22px}
.people{background:#e5e2d8}
.people-intro{display:grid;grid-template-columns:1.3fr .65fr;gap:10vw;align-items:end}
.team-portrait{position:relative;overflow:hidden;margin-top:90px;background:#edeae1}
.team-portrait img{aspect-ratio:2.25;object-fit:cover;object-position:center;mix-blend-mode:multiply;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.team-portrait:hover img{transform:scale(1.012)}
.team-portrait-note{position:absolute;right:0;bottom:0;width:310px;background:#252c27;color:#fff;padding:26px 28px;display:flex;flex-direction:column;gap:8px}
  .team-portrait-note span,.team-member>span{font:300 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.team-portrait-note strong{font:300 26px var(--serif)}
.team-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:55px}
.team-member{min-height:140px;padding:20px 18px 16px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.team-member:nth-child(4n+2),.team-member:nth-child(4n+3),.team-member:nth-child(4n+4){padding-left:20px;border-left:1px solid var(--line)}
  .team-member>span{color:#697067}.team-member strong{font:300 22px var(--serif);margin-top:auto}.team-member p{font:300 10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.11em;margin:0;color:#6b716a}
.field-gallery{background:#1e241f;color:#fff;padding-bottom:8px}
.gallery-heading{display:grid;grid-template-columns:20% 1fr 31%;align-items:end}.gallery-heading .section-label{align-self:start}.gallery-heading .intro{color:rgba(255,255,255,.64)}.field-gallery .display em{color:var(--lime)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:8.2vw;gap:8px;padding:0 8px}
.gallery-tile{position:relative;overflow:hidden;margin:0;background:#303b30;min-height:200px}.gallery-tile img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s}.gallery-tile:hover img{transform:scale(1.045);filter:brightness(.72)}
  .gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,9,.74),transparent 50%);pointer-events:none}.gallery-tile figcaption{position:absolute;z-index:1;bottom:16px;left:18px;right:18px;display:flex;gap:14px;align-items:baseline;font:300 11px var(--sans);opacity:.85}.gallery-tile figcaption span{font:300 10px var(--mono);letter-spacing:.1em;color:var(--lime)}
.tile-angan{grid-column:span 5;grid-row:span 4}.tile-expo{grid-column:span 4;grid-row:span 3}.tile-award{grid-column:span 3;grid-row:span 3}.tile-materials{grid-column:span 3;grid-row:span 3}.tile-workshop{grid-column:span 4;grid-row:span 4}.tile-un{grid-column:span 5;grid-row:span 4}.tile-policy{grid-column:span 5;grid-row:span 4}.tile-diplomacy{grid-column:span 3;grid-row:span 3}
.recognition{background:#e6e2d7}.award-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(28,33,28,.15);margin-top:95px;border:1px solid rgba(28,33,28,.15)}
  .award{background:#e6e2d7;padding:25px;min-height:190px;display:flex;flex-direction:column;transition:background .35s,color .35s}.award:hover{background:#252c27;color:#fff}.award span{font:300 11px var(--mono);letter-spacing:.15em;color:#74796f}.award:hover span{color:var(--lime)}.award strong{font:300 26px/1.05 var(--serif);letter-spacing:-.02em;margin:auto 0 14px}.award p{font:300 11px/1.55 var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0;color:#687066}.award:hover p{color:rgba(255,255,255,.64)}
.press{background:#f4f2ec}.press-heading{display:grid;grid-template-columns:20% 1fr;gap:0;align-items:end}.press-heading .section-label{align-self:start}.press-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:85px;background:var(--line)}
.press-item{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:18px;background:#f4f2ec;padding:24px;min-height:140px;transition:background .3s,color .3s}.press-item:hover{background:#252c27;color:#fff}.publication-mark{height:54px;width:54px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:400 12px var(--sans);letter-spacing:-.05em}.press-item strong{display:block;font:300 19px/1.15 var(--serif);margin-bottom:8px}.press-item p{font-size:11px;line-height:1.55;color:#687066;margin:0}.press-item:hover p{color:rgba(255,255,255,.65)}.press-item i{font-style:normal;font-size:18px;align-self:start}
.journal{background:#d5ddbb;color:#1c211c}.journal-heading{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:10vw}.journal-heading .section-label{margin-bottom:35px}.journal-heading .intro{margin:0}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:85px;background:rgba(28,33,28,.3);border:1px solid rgba(28,33,28,.3)}
  .journal-card{background:#d5ddbb;min-height:270px;padding:38px;display:flex;flex-direction:column;transition:background .35s,color .35s}.journal-card:hover{background:#252c27;color:#fff}.journal-card>span,.journal-card i{font:300 11px var(--mono);letter-spacing:.15em;text-transform:uppercase;font-style:normal}.journal-card h2{font:300 clamp(31px,2vw,47px)/1 var(--serif);letter-spacing:-.04em;max-width:700px}.journal-card p{font-size:12px;margin:0 0 32px}.journal-card i{padding-bottom:8px;border-bottom:1px solid;align-self:flex-start}
@media(max-width:900px){
  .desktop-nav{gap:0}.people-intro,.gallery-heading,.press-heading,.journal-heading{grid-template-columns:1fr;gap:35px}.team-portrait{margin-top:55px}.team-portrait img{aspect-ratio:1.28;object-fit:cover;object-position:center}.team-portrait-note{width:220px;padding:18px}.team-portrait-note strong{font-size:21px}.team-list{grid-template-columns:1fr 1fr}.team-member:nth-child(4n+2),.team-member:nth-child(4n+3),.team-member:nth-child(4n+4){padding-left:0;border-left:0}.team-member:nth-child(even){padding-left:15px;border-left:1px solid var(--line)}.team-member strong{font-size:19px}.gallery-grid{grid-auto-rows:21vw}.tile-angan{grid-column:span 7;grid-row:span 4}.tile-expo{grid-column:span 5;grid-row:span 4}.tile-award,.tile-materials{grid-column:span 6;grid-row:span 4}.tile-workshop{grid-column:span 12;grid-row:span 5}.tile-un{grid-column:span 7;grid-row:span 4}.tile-policy{grid-column:span 5;grid-row:span 4}.tile-diplomacy{grid-column:span 12;grid-row:span 4}.award-wall{grid-template-columns:1fr 1fr;margin-top:55px}.award{min-height:160px;padding:20px}.award strong{font-size:22px}.press-list{grid-template-columns:1fr;margin-top:55px}.press-item{min-height:125px;padding:18px;grid-template-columns:56px 1fr auto;gap:14px}.publication-mark{width:46px;height:46px}.press-item strong{font-size:18px}.journal-grid{grid-template-columns:1fr;margin-top:55px}.journal-card{min-height:300px;padding:26px}.journal-card h2{font-size:38px}
}

/* Final supplied-asset overrides */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:80px;background:var(--line);border:1px solid var(--line)}
.team-card{min-height:365px;background:#eeece5;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);transition:background .35s,transform .35s;overflow:hidden}
.team-card img{width:100%;height:285px;object-fit:cover;object-position:center top;mix-blend-mode:multiply;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.team-card>div{padding:16px 18px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.team-card strong{font:500 18px var(--serif)}.team-card span{font:300 8px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#687066}
.team-card[href]:hover{background:var(--lime)}.team-card[href]:hover img{transform:scale(1.035)}
.service,.service:hover{grid-template-columns:7% 27% 1fr auto}.service:hover{padding-left:30px;padding-right:30px}.service-thumb{display:none}
.award img{display:block;width:94px;height:46px;object-fit:contain;object-position:left center;margin:18px 0 10px;filter:saturate(.85)}.award-type{display:block;font:400 16px var(--sans);margin:18px 0 auto;color:#c26f30}.award:hover .award-type{color:var(--lime)}
.press-item img.publication-mark{height:54px;width:54px;object-fit:contain;object-position:center;border:0;border-radius:0;background:#fff;padding:4px;mix-blend-mode:multiply}.press-item:hover img.publication-mark{mix-blend-mode:normal}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr;margin-top:55px}.team-card{min-height:270px}.team-card img{height:205px}.team-card strong{font-size:19px}.service,.service:hover{grid-template-columns:9% 1fr auto;padding:25px 5px}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}.team-card{min-height:350px}.team-card img{height:280px}}

/* Final viewport-safe composition: intentionally last to supersede legacy collage rules. */
html{scroll-padding-top:104px}
section[id]{scroll-margin-top:0}
body{overflow-x:clip}
img,svg{max-width:100%}

.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:none;grid-template-rows:none;grid-auto-rows:auto;gap:clamp(18px,1.7vw,30px);padding:0 6vw clamp(100px,9vw,150px)}
.works-grid .project-card,.works-grid .project-card:nth-child(n){grid-area:auto;position:relative;display:flex;flex-direction:column;min-width:0;margin:0!important;overflow:visible;background:transparent;color:#fff}
.works-grid .project-visual{position:relative;inset:auto;height:auto;aspect-ratio:16/11;display:grid;place-items:center;overflow:hidden;background:#273029}
.works-grid .project-visual:after{display:none}
.works-grid .project-visual img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none!important}
.works-grid .project-card:hover .project-visual img{filter:none;transform:none}
.works-grid .project-card>div:last-child{position:static;z-index:auto;padding:18px 2px 0;text-shadow:none}
.works-grid .project-card h3{font:300 clamp(24px,1vw,34px)/1.04 var(--serif);margin:0;color:#fff;letter-spacing:-.025em}
  .works-grid .project-card p{margin:9px 0 0;color:rgba(255,255,255,.72);font:300 10px/1.55 var(--mono);letter-spacing:.1em}
.works-grid .project-visual span{top:14px;left:14px;z-index:1;max-width:calc(100% - 28px)}
.works-grid .project-visual i{right:14px;bottom:12px;z-index:1;font-size:clamp(28px,2.8vw,42px);color:rgba(255,255,255,.72)}

.material-list{margin-top:clamp(66px,7vw,100px)}
.material-list>button{min-height:150px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;padding:25px 20px;display:flex;flex-direction:column;justify-content:space-between;font:300 13px var(--sans);cursor:pointer;transition:background .3s,color .3s}
.material-list>button:last-child{border-right:0}
.material-list>button span{font:300 8px var(--mono)}
.material-list>button b{align-self:flex-end;font-weight:300;opacity:.68}
.material-list>button[aria-selected="true"],.material-list>button:hover{background:var(--lime)}
.material-list>button:focus-visible{position:relative;z-index:1;outline-offset:-5px}
.material-collection{border-bottom:1px solid var(--line);background:#e4e1d7}
.material-panel{padding:clamp(24px,3vw,42px) 0 30px}
.material-panel-intro{display:grid;grid-template-columns:minmax(165px,.42fr) 1fr;gap:28px;align-items:start;padding:0 clamp(18px,3vw,42px) 24px}
.material-panel-intro span{font:400 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#637060}
.material-panel-intro p{max-width:510px;margin:0;font:300 clamp(19px,1.7vw,27px)/1.25 var(--serif);letter-spacing:-.02em}
.material-rail{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:#78816e transparent;padding:0 clamp(18px,3vw,42px) 12px;outline-offset:-4px}
.material-rail figure{flex:0 0 clamp(270px,30vw,460px);display:flex;flex-direction:column;margin:0;background:#eeece5;scroll-snap-align:start}
.material-rail img{display:block;width:100%;height:clamp(270px,27vw,420px);object-fit:contain;background:#ece7dc}
  .material-rail figcaption{min-height:52px;padding:15px 16px;font:300 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#566055}

@media (min-width:901px) and (max-width:1120px){
  html{scroll-padding-top:84px}
  .site-header{height:84px;padding:0 28px;display:flex;justify-content:space-between}
  .desktop-nav,.header-actions{display:none}
  .menu-button{display:block}
  .mobile-menu{display:flex;position:fixed;z-index:15;inset:0;background:#252c27;color:#fff;padding:112px 32px 44px;transform:translateY(-105%);transition:.55s cubic-bezier(.77,0,.18,1)}
  .mobile-menu.open{transform:none}
  .mobile-menu nav{width:100%}
  .mobile-menu a{display:flex;align-items:center;gap:20px;min-height:58px;font:300 38px var(--serif);border-bottom:1px solid rgba(255,255,255,.16);padding:14px 0}
  .mobile-menu a span{font:300 8px var(--mono);color:var(--lime)}
}

@media (max-width:1024px){
  .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:22px;padding-right:22px}
  .material-rail figure{flex-basis:min(56vw,440px)}
  .material-panel-intro{grid-template-columns:1fr;gap:12px}
}

@media (max-width:768px){
  html{scroll-padding-top:76px}
  .works-grid{grid-template-columns:1fr;gap:32px;padding-bottom:90px}
  .works-grid .project-visual{aspect-ratio:4/3}
  .material-list{grid-template-columns:1fr;margin-top:58px}
  .material-list>button{min-height:68px;border-right:0;border-bottom:1px solid var(--line);padding:17px 18px;flex-direction:row;align-items:center;gap:20px}
  .material-list>button:last-child{border-bottom:0}
  .material-list>button b{align-self:auto}
  .material-panel-intro{padding:0 18px 20px}
  .material-rail{padding-left:18px;padding-right:18px}
  .material-rail figure{flex-basis:78vw}
}

@media (max-width:430px){
  .works-grid{padding-left:16px;padding-right:16px;gap:28px}
  .works-grid .project-visual{aspect-ratio:1/1}
  .works-grid .project-card h3{font-size:27px}
  .material-rail{padding-left:16px;padding-right:16px}
  .material-rail figure{flex-basis:84vw}
  .material-list>button{padding-left:16px;padding-right:16px}
}

/* Material records are intentionally generous: complete samples, no thumbnail treatment. */
.innovation .material-image img{aspect-ratio:1.5;object-fit:cover;object-position:center}
.material-rail figure{flex-basis:clamp(360px,40vw,640px)}
.material-rail figure:only-child{flex-basis:min(78vw,950px)}
.material-rail img{height:clamp(330px,34vw,560px)}

.whatsapp-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#25342b;color:#fff;box-shadow:0 12px 30px rgba(10,16,11,.24);transition:transform .25s ease,background .25s ease}
.whatsapp-fab:hover{transform:translateY(-3px);background:#3b5a48}
.whatsapp-fab:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.whatsapp-fab svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-fab svg path:last-child{fill:currentColor;stroke:none}

@media (max-width:1024px){.material-rail figure:only-child{flex-basis:min(78vw,760px)}}
@media (max-width:768px){.material-rail figure{flex-basis:82vw}.material-rail figure:only-child{flex-basis:84vw}.material-rail img{height:min(105vw,500px)}}
@media (max-width:430px){.whatsapp-fab{right:16px;bottom:16px;width:54px;height:54px}.material-rail figure,.material-rail figure:only-child{flex-basis:84vw}}

/* Final content curation: smaller portrait studies, quieter Works background and a single primary WhatsApp affordance. */
.works{position:relative;isolation:isolate;overflow:hidden}
.works::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(rgba(37,44,39,.9),rgba(37,44,39,.9)),url("assets/media/m-071.webp") center/cover no-repeat;opacity:.24;filter:saturate(.72) contrast(.96);pointer-events:none}
.works>*{position:relative;z-index:1}
.team-card{min-height:242px;padding-top:20px}
.team-card img{height:143px;object-fit:contain;object-position:center;background:#eeece5}
.team-card>div{margin-top:18px;padding:14px 18px 18px}
.contact-email{display:inline-block;align-self:flex-start;margin-top:22px;color:#fff;font:400 10px var(--mono);letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:7px}

/* Publication refinement: measured performance and quiet material studies. */
.performance-ribbon{margin:clamp(56px,7vw,118px) 0 clamp(54px,6vw,92px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.performance-ribbon__intro{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:baseline;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.performance-ribbon__intro .eyebrow{margin:0}
.performance-ribbon__intro p:last-child{max-width:52ch;margin:0;font:300 15px/1.55 var(--sans);color:#566056}
.performance-ribbon__metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0}
.performance-ribbon__metrics>div{display:flex;min-height:154px;flex-direction:column;justify-content:space-between;gap:14px;padding:27px 22px 25px;border-right:1px solid var(--line)}
.performance-ribbon__metrics>div:first-child{padding-left:0}
.performance-ribbon__metrics>div:last-child{border-right:0}
.performance-ribbon__metrics dt{font:300 clamp(34px,3.2vw,55px)/.92 var(--serif);letter-spacing:-.045em;white-space:nowrap}
  .performance-ribbon__metrics dt small{font:400 11px var(--mono);letter-spacing:.08em}
  .performance-ribbon__metrics dd{max-width:16ch;margin:0;font:400 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#586057}
.performance-ribbon__metrics>div:last-child dt{font-size:clamp(28px,2.3vw,39px);letter-spacing:.04em}
.performance-ribbon__note{max-width:102ch;margin:0;padding:18px 0 0;font:300 10px/1.7 var(--mono);letter-spacing:.02em;color:#687066}
.performance-ribbon__note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.contact-emails{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 22px;margin-top:22px}
.contact-emails .contact-email{margin-top:0}

/* Team portraits stay small and quiet, without coloured blocks around them. */
.team-card{min-height:252px;padding-top:24px;align-items:center;background:var(--paper)}
.team-card img{width:min(50%,148px);height:auto;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;background:transparent;mix-blend-mode:normal}
.team-card>div{align-self:stretch;margin-top:18px}

@media(max-width:1100px){
  .performance-ribbon__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .performance-ribbon__metrics>div:nth-child(3n){border-right:0}
  .performance-ribbon__metrics>div:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .performance-ribbon__metrics>div:first-child{padding-left:22px}
}

@media(max-width:700px){
  .performance-ribbon{margin:56px 0 62px}
  .performance-ribbon__intro{grid-template-columns:1fr;gap:10px;padding:18px 0}
  .performance-ribbon__intro p:last-child{font-size:14px}
  .performance-ribbon__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .performance-ribbon__metrics>div{min-height:136px;padding:20px 16px;border-bottom:1px solid var(--line)!important}
  .performance-ribbon__metrics>div:nth-child(odd){border-right:1px solid var(--line)}
  .performance-ribbon__metrics>div:nth-child(even){border-right:0}
  .performance-ribbon__metrics>div:last-child{grid-column:span 2}
  .performance-ribbon__metrics>div:first-child{padding-left:16px}
  .performance-ribbon__note{padding:16px 0 0}
  .contact-emails{gap:10px 17px;margin-top:19px}
  .team-card{min-height:232px;padding-top:18px}
  .team-card img{width:min(50%,132px)}
}
.whatsapp-fab{width:60px;height:60px;background:#21362a;border:1px solid rgba(255,255,255,.55);box-shadow:0 14px 36px rgba(10,16,11,.3)}
.whatsapp-fab:hover{background:#315640;transform:translateY(-4px) scale(1.02)}
.whatsapp-fab svg{width:32px;height:32px}
.whatsapp-fab .wa-bubble{fill:#fff;stroke:none}
.whatsapp-fab .wa-phone{fill:#21362a;stroke:none}
@media(max-width:900px){.team-card{min-height:232px;padding-top:17px}.team-card img{height:132px}.team-card>div{margin-top:14px}.contact-email{margin-top:19px}}
@media(max-width:520px){.team-card{min-height:220px;padding-top:16px}.team-card img{height:128px}.team-card>div{margin-top:12px}}

/* Keep every portrait perfectly circular at all responsive sizes. */
.team-card img{width:min(50%,148px);height:auto;aspect-ratio:1;border-radius:50%;background:transparent;mix-blend-mode:normal}
@media(max-width:900px){.team-card img{width:min(50%,132px);height:auto;aspect-ratio:1}}
@media(max-width:520px){.team-card img{width:min(50%,128px);height:auto;aspect-ratio:1}}

/* 100% zoom composition: preserve the editorial scale within laptop-height viewports. */
.hero-image{width:100%;object-position:center 53%}
.innovation .material-image{overflow:hidden}
.innovation .material-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 67%}

@media(min-width:901px) and (max-height:850px){
  .section-pad{padding-top:clamp(68px,8vh,86px);padding-bottom:clamp(68px,8vh,86px)}
  .section-label{margin-bottom:clamp(34px,4.5vh,48px)}
  .innovation.section-pad{padding-top:52px;padding-bottom:58px}
  .innovation .section-label{margin-bottom:30px}
  .innovation-grid{gap:clamp(54px,6vw,82px);align-items:center}
  .innovation-copy .intro{margin:28px 0 22px}
  .innovation .display{font-size:clamp(56px,5.6vw,84px);line-height:.91}
  .innovation .material-image img{max-height:calc(100svh - 245px)}
}

@media(max-width:900px){
  .innovation .material-image img{aspect-ratio:16/10;object-position:center 67%}
}

/* Start a Conversation — a quiet, progressive front door to the Gohemp atelier. */
.contact.conversation{
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(64px,8vw,150px);
  align-items:start;
  padding:clamp(105px,5vw,150px) 6vw;
}
.conversation .contact-intro{top:112px}
.conversation .contact-intro h2{max-width:590px;margin-bottom:32px}
.conversation-support{max-width:48ch;margin:0;font-size:clamp(13px,1vw,15px);line-height:1.8;color:rgba(255,255,255,.68)}
  .conversation-note{max-width:48ch;margin:28px 0 0;font:300 11px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.conversation-form{width:100%;max-width:700px;justify-self:start}
.conversation-form fieldset{min-inline-size:0;margin:0;padding:0;border:0}
.conversation-step{padding:28px 0 clamp(42px,4vw,58px);border-top:1px solid rgba(255,255,255,.22)}
.step-heading{display:flex;width:100%;align-items:baseline;gap:20px;margin:0 0 24px;padding:0;font:300 clamp(19px,1.55vw,25px)/1.25 var(--serif);color:#fff}
  .step-heading span{flex:0 0 auto;font:300 10px var(--mono);letter-spacing:.16em;color:var(--lime)}
.conversation-form .field{padding:22px 0}
.conversation-form .field label{display:flex;align-items:baseline;gap:7px;margin-bottom:13px}
  .conversation-form .field label small{font:300 10px var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.34)}
  .conversation-form .field input,.conversation-form .field textarea,.conversation-form .field select{min-height:30px;outline:0;font-size:clamp(18px,1.45vw,22px);line-height:1.35}
  .field-helper{margin:12px 0 0;font:300 10px/1.65 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.conversation-form .submit-button{margin-top:10px}
.conversation-form .form-note{max-width:62ch}
.conversation-form .form-success{display:none;margin:0;padding:38px 0;border-top:1px solid rgba(255,255,255,.22);background:transparent;color:rgba(255,255,255,.72);font-size:14px;line-height:1.75}
.conversation-form .form-success strong{display:block;margin-bottom:18px;color:#fff;font:300 clamp(36px,3vw,58px)/1 var(--serif);letter-spacing:-.035em}
.conversation-form .form-success.show{display:block}
.conversation-form .form-success.error{background:transparent;color:#f1d9ce}
.spam-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:1100px) and (min-width:901px){
  .contact.conversation{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:6vw}
}
@media(max-width:900px){
  .contact.conversation{grid-template-columns:1fr;gap:64px;padding:90px 22px}
  .conversation .contact-intro{position:static}
  .conversation .contact-intro h2{max-width:680px}
  .conversation-support{max-width:60ch}
  .conversation-form{max-width:none}
  .step-heading{font-size:clamp(21px,5.8vw,28px)}
}
@media(max-width:520px){
  .contact.conversation{gap:56px;padding-top:78px;padding-bottom:78px}
  .conversation .contact-intro h2{font-size:clamp(46px,13vw,62px)}
  .conversation-step{padding-bottom:42px}
  .conversation-form .field.split{grid-template-columns:1fr;gap:0}
}

/* Pre-launch accessibility and short-viewport safeguards. */
.mobile-menu{overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(40px,env(safe-area-inset-bottom))}
.menu-button{width:44px;height:44px}
.vertical-note,.footer-grid p,.conversation-note,.field-helper,.conversation-form .field label small{color:#f0b186}
.team-card span,.materials-index span,.materials-index p,.library-heading .intro,.document-card>span,.document-card small,.document-card p,.library-proof span,.library-note,.dialog-index,.download-form>p,.award span,.award p,.press-item p,.performance-ribbon__note{color:#535951}
.materials-index article:hover span,.document-card:hover>span,.document-card:hover small,.award:hover span{color:var(--lime)}
.materials-index article:hover p,.document-card:hover p,.award:hover p,.press-item:hover p{color:rgba(255,255,255,.68)}

@media(max-width:430px) and (max-height:650px){
  .mobile-menu{padding-top:90px}
  .mobile-menu a{min-height:48px;padding:10px 0;font-size:clamp(30px,10vw,38px)}
}

@media(max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:40vw;grid-auto-flow:dense}
  .gallery-tile,.tile-angan,.tile-expo,.tile-award,.tile-materials,.tile-workshop,.tile-un,.tile-policy,.tile-diplomacy{grid-column:auto;grid-row:auto}
  .gallery-tile:nth-child(1),.gallery-tile:nth-child(6){grid-column:span 2}
}

@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:70vw}
  .gallery-tile:nth-child(n){grid-column:auto}
}

@media(max-width:430px){
  .award-wall{grid-template-columns:1fr}
  .footer-brand{font-size:min(5vw,85px)}
}

@media(max-width:360px){
  .performance-ribbon__metrics{grid-template-columns:1fr}
  .performance-ribbon__metrics>div,.performance-ribbon__metrics>div:nth-child(n){grid-column:auto;border-right:0}
}

/* =====================================================
   GOHEMP — PREMIUM FOOTER
===================================================== */

.site-footer {
  background:
    radial-gradient(circle at 15% 20%, rgba(179, 138, 90, 0.045), transparent 28%),
    #101512;
  color: rgba(255, 255, 255, 0.72);
  padding: 0 5vw;
  font-family: "Manrope", sans-serif;
}

.footer-main {
  margin: 0 auto;
  padding: 50px 0;

  display: grid;
  grid-template-columns:
    minmax(230px, 1.3fr)
    minmax(160px, 0.9fr)
    minmax(210px, 1.05fr)
    minmax(150px, 0.75fr)
    minmax(230px, 1.15fr);

  gap: clamp(35px, 4vw, 75px);
}


/* ================= BRAND ================= */

.footer-brand {
  padding-right: 25px;
}

.footer-logo {
  display: inline-block;
  height: 110px;
}

.footer-logo img {
  width: 145px;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  margin-left: -35px;
}

.footer-accent-line {
  width: 30px;
  height: 2px;
  margin: 50px 0 28px;
  background: #b38a5a;
}

.footer-brand-text {
  max-width: 250px;
  margin: 0;

  color: rgba(255, 255, 255, 0.67);
  font-size: 14px;
  line-height: 1.85;
  font-weight: 400;
}

.footer-contact {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer-contact a {
  display: flex;
  align-items: center;
  gap: 12px;

  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  font-size: 13px;

  transition: color 0.25s ease;
}

.footer-contact a:hover {
  color: #b38a5a;
}

.contact-icon {
  color: #b38a5a;
  font-size: 16px;
}


/* ================= COLUMN TITLES ================= */

.footer-column-title {
  margin: 0;

  color: #b98b56;
  font-family: "DM Mono", monospace;
  font-size: 11px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.footer-title-line {
  display: block;
  width: 27px;
  height: 2px;

  background: #b98b56;

  margin: 17px 0 24px;
}


/* ================= LINKS ================= */

.footer-column {
  display: flex;
  flex-direction: column;
}

.footer-column > a {
  min-height: 48px;

  display: flex;
  justify-content: space-between;
  align-items: center;
  /* gap: 15px; */

  border-bottom: 1px solid rgba(255, 255, 255, 0.08);

  color: rgba(255, 255, 255, 0.74);
  text-decoration: none;

  font-size: 13px;
  /* line-height: 1.4; */

  transition:
    color 0.25s ease,
    padding-left 0.25s ease,
    border-color 0.25s ease;
}

.footer-column > a:hover {
  color: #c7955b;
  padding-left: 4px;
  border-color: rgba(179, 138, 90, 0.35);
}

.link-arrow,
.external-arrow {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.footer-column > a:hover .link-arrow {
  color: #c7955b;
  transform: translateX(4px);
}

.footer-column > a:hover .external-arrow {
  color: #c7955b;
  transform: translate(2px, -2px);
}


/* ================= STAY INSPIRED ================= */

.footer-inspire {
  width: 400px;
  padding-left: clamp(25px, 3vw, 50px);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.inspire-desc {
  max-width: 270px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
  line-height: 1.85;
}


/* ================= SOCIAL ICONS ================= */

.social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.social-icons a {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;

  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.social-icons a:hover {
  background: #b38a5a;
  border-color: #b38a5a;
  color: #101512;

  transform: translateY(-3px);
}


/* ================= FOOTER BOTTOM ================= */

.footer-bottom {
  max-width: 1500px;
  margin: 0 auto;

  min-height: 86px;

  border-top: 1px solid rgba(255, 255, 255, 0.14);

  display: flex;
  align-items: center;

  gap: 28px;

  color: rgba(255, 255, 255, 0.47);

  font-size: 10px;
  line-height: 1.5;
}

.footer-copyright {
  white-space: nowrap;
}

.footer-legal {
  display: flex;
  align-items: center;
}

.footer-legal > * {
  padding: 0 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.13);
}

.footer-legal a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-legal a:hover {
  color: #b38a5a;
}


/* ================= TAGLINE ================= */

.footer-tagline {
  margin-left: auto;

  display: flex;
  align-items: center;
  gap: 11px;

  color: rgba(255, 255, 255, 0.48);

  font-family: "DM Mono", monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.14em;

  white-space: nowrap;
}

.tagline-leaf {
  color: #b38a5a;
  font-size: 17px;
}


/* ================= BACK TO TOP ================= */

.footer-top {
  /* margin-left: 12px; */

  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;

  white-space: nowrap;

  transition: color 0.25s ease;
}

.footer-top:hover {
  color: #b38a5a;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1180px) {

  .footer-main {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 60px 45px;
  }

  .footer-inspire {
    border-left: 0;
    padding-left: 0;
  }

  .footer-bottom {
    flex-wrap: wrap;
    padding: 25px 0;
    gap: 18px 25px;
  }

  .footer-tagline {
    margin-left: 0;
  }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {

  .site-footer {
    padding: 0 24px;
  }

  .footer-main {
    padding: 65px 0 45px;

    grid-template-columns: 1fr;
    gap: 50px;
  }

  .footer-brand {
    padding-right: 0;
   
  }

  .footer-brand-text {
    max-width: 320px;
  }

  .footer-column > a {
    min-height: 50px;
    font-size: 14px;
  }

  .footer-inspire {
    padding-top: 5px;
  }

  .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    padding: 30px 0 38px;
    gap: 18px;
  }

  .footer-copyright {
    white-space: normal;
  }

  .footer-legal {
    flex-wrap: wrap;
    gap: 12px 20px;
  }

  .footer-legal > * {
    border-left: 0;
    padding: 0;
  }

  .footer-tagline {
    white-space: normal;
    margin: 5px 0;
  }

  .footer-top {
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden !important;
  }
}

