/* Responsive enhancement layer. Desktop rules above 1023px remain untouched. */
html{scroll-padding-top:88px}
.infra-grid a{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:inherit;text-decoration:none;border-bottom:1px solid #1113;min-height:46px;position:relative;transition:padding .35s cubic-bezier(.16,1,.3,1),color .25s}
.infra-grid a span{border:0;padding:14px 0}.infra-grid a b{font-size:18px;font-weight:400;opacity:0;transform:translate3d(-10px,8px,0);transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1)}
@media(hover:hover){.infra-grid a:hover,.infra-grid a:focus-visible{padding-left:10px;color:#53651c}.infra-grid a:hover b,.infra-grid a:focus-visible b{opacity:1;transform:none}}
.mobile-menu-toggle,.mobile-menu{display:none}

@media(max-width:1023px){
  html,body{max-width:100%;min-width:0}body.menu-open{overflow:hidden;touch-action:none}
  img,video,canvas,svg,iframe{max-width:100%}
  .site-root,main,section,footer{min-width:0;max-width:100%}
  .site-root>nav:not(.mobile-menu){padding:20px clamp(18px,5vw,32px)!important;align-items:center!important;mix-blend-mode:normal!important;background:linear-gradient(180deg,rgba(13,14,12,.78),transparent);pointer-events:auto!important}
  .site-root>nav:not(.mobile-menu)>div:last-child{display:none!important}
  #nav-logo{color:#f1f0eb;font-size:14px!important;letter-spacing:.14em}
  .mobile-menu-toggle{display:grid;place-items:center;position:fixed;right:clamp(16px,4vw,28px);top:14px;width:48px;height:48px;z-index:1002;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(16,17,15,.58);color:#f1f0eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .mobile-menu-toggle span,.mobile-menu-toggle::before,.mobile-menu-toggle::after{content:"";display:block;position:absolute;width:19px;height:1px;background:currentColor;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s}
  .mobile-menu-toggle::before{transform:translateY(-6px)}.mobile-menu-toggle::after{transform:translateY(6px)}
  .mobile-menu-toggle[aria-expanded=true] span{opacity:0}.mobile-menu-toggle[aria-expanded=true]::before{transform:rotate(45deg)}.mobile-menu-toggle[aria-expanded=true]::after{transform:rotate(-45deg)}
  .mobile-menu{display:flex;position:fixed;inset:0;z-index:1001;padding:calc(88px + env(safe-area-inset-top)) clamp(20px,6vw,36px) max(28px,env(safe-area-inset-bottom));background:rgba(12,13,11,.985);color:#f1f0eb;flex-direction:column;justify-content:space-between;visibility:hidden;opacity:0;transform:translate3d(0,-14px,0);transition:opacity .32s ease,transform .42s cubic-bezier(.16,1,.3,1),visibility .42s;overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu.is-open{visibility:visible;opacity:1;transform:none}
  .mobile-menu-links{display:flex;flex-direction:column}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.16);padding:16px 0;min-height:54px;font:500 clamp(2rem,10vw,4rem)/1 var(--font-display,'Cormorant Garamond',Georgia,serif);letter-spacing:-.035em;text-transform:uppercase}
  .mobile-menu a::after{content:'↘';font:400 18px/1 Manrope,Arial,sans-serif;color:#d3f36a}.mobile-menu-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:32px;color:#92968a;font:10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
  .mobile-menu-toggle:focus-visible,.mobile-menu a:focus-visible{outline:2px solid #d3f36a;outline-offset:4px}
  #top{height:auto!important;min-height:100svh;min-height:100dvh}#top h1{font-size:clamp(4.5rem,20vw,8rem)!important;line-height:.82!important;max-width:5.5ch;overflow-wrap:normal;word-break:normal}
  #top>div.relative{padding:0 clamp(20px,6vw,32px) max(46px,7svh)!important;gap:1.5rem}#top [class*="md:w-"]{width:100%!important}.hero-film{object-position:62% center!important;transform:none!important;will-change:auto}
  #manifesto,#collection{padding-left:clamp(20px,6vw,40px)!important;padding-right:clamp(20px,6vw,40px)!important}
  #manifesto h2,#collection h2,.section-intro h2,.contact-intro h2,.details-heading h2{font-size:clamp(2.65rem,10vw,5.25rem)!important;line-height:.98!important;overflow-wrap:anywhere}
  #manifesto p,.tab-content p,.look-info>p:not(.eyebrow),.section-intro>p:last-child,.contact-intro>p{font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.7}
  #atelier{min-height:0!important;padding:clamp(72px,10vw,110px) 0!important}#atelier>div{position:relative!important;top:auto!important;padding-left:clamp(20px,6vw,40px)!important;padding-right:clamp(20px,6vw,40px)!important}
  #atelier h2{font-size:clamp(3.3rem,12vw,6.5rem)!important;line-height:.9!important}.tab-btn{min-width:max-content;min-height:48px}.tab-content{min-height:0!important}.image-depth-container{padding:8px}.image-depth-inner{max-height:none!important;aspect-ratio:4/3!important;transform:none!important;will-change:auto}.image-depth-container::after{left:8px;bottom:-1.5rem;max-width:90%;font-size:9px}
  .look-editor{grid-template-columns:minmax(0,1fr)!important;gap:2.25rem!important;margin-left:0!important}.look-stage{width:100%;height:min(70svh,580px)!important;transform:none!important;will-change:auto}.look-info h3{font-family:var(--font-display)!important;font-size:clamp(2.65rem,10vw,5rem)!important;overflow-wrap:anywhere}.look-options button{min-height:50px}
  .material-lab,.brief-section,.details-section,.contact-section{padding-left:clamp(20px,6vw,40px)!important;padding-right:clamp(20px,6vw,40px)!important}.material-layout,.brief-layout,.contact-grid{grid-template-columns:minmax(0,1fr)!important}.material-visual{transform:none!important;max-height:680px}.material-glass{left:12px;right:12px;bottom:16px;padding:clamp(16px,4vw,24px)}.material-glass h3{font-size:clamp(2rem,8vw,3.4rem)}.material-choices button{font-size:clamp(1.55rem,6vw,2.1rem)}
  .brief-preview{position:relative!important;top:auto!important}.brief-paper{transform:none!important}.brief-paper h3{font-size:clamp(2.4rem,9vw,3.5rem)}.choice-grid,.brief-fields{grid-template-columns:minmax(0,1fr)}
  .detail-window{overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.detail-card{width:min(86vw,620px);height:min(68svh,560px)}.detail-toggle{font-size:clamp(2rem,7vw,3rem)}
  .contact-intro,.contact-details,.contact-map{min-width:0}.contact-value{overflow-wrap:anywhere;word-break:break-word}.contact-map,.contact-map iframe{min-height:340px}
  footer{padding-left:clamp(20px,6vw,40px)!important;padding-right:clamp(20px,6vw,40px)!important}footer h2{font-size:clamp(3rem,15vw,7rem)!important;overflow-wrap:anywhere}
  .cinema-ready .material-glass,.cinema-ready .brief-preview,.cinema-ready footer .clip-text{will-change:auto}

  .diary-nav{padding:18px clamp(18px,5vw,30px);mix-blend-mode:normal;background:linear-gradient(180deg,rgba(13,14,12,.82),transparent);align-items:center}.diary-nav .nav-title,.diary-nav>a:last-child{display:none}.diary-page .mobile-menu-toggle{top:10px}.diary-page .mobile-menu a{font-family:var(--serif)}
  .diary-hero{min-height:100svh;height:100dvh}.hero-copy{padding:120px clamp(20px,6vw,36px) max(34px,6svh)}.hero-copy h1{font-size:clamp(4.6rem,18vw,9rem);line-height:.76;margin:22px 0}.hero-copy h1 em{margin-left:0}.hero-foot{gap:1rem;flex-wrap:wrap}
  .infrastructure{grid-template-columns:minmax(0,1fr);padding:clamp(80px,12vw,130px) clamp(20px,6vw,44px);gap:3rem}.section-mark{display:none}.infra-lead h2,.materials-head h2,.pillar-title h2,.planet-copy h2,.cert-copy h2,.customers h2,.diary-end h2{font-size:clamp(3rem,11vw,6.5rem);line-height:.88;overflow-wrap:anywhere}.infra-grid a{min-height:52px}.infra-grid a b{opacity:.65;transform:none}
  .process,.process.reverse{grid-template-columns:minmax(0,1fr);min-height:0;padding:clamp(76px,11vw,120px) clamp(20px,6vw,44px);gap:2.75rem}.process.reverse .process-visual{order:0}.process-visual{height:auto;aspect-ratio:4/3;max-height:72svh}.process-visual.duo,.process-visual.gallery{grid-template-columns:1fr 1fr}.process-copy{min-width:0}.process-copy h2{font-size:clamp(4rem,16vw,8rem);line-height:.78;margin:22px 0}.process-copy .lead{font-size:clamp(1.4rem,5vw,2rem)}.process-copy>p:not(.chapter):not(.lead){font-size:1rem;line-height:1.75}.metric{margin-top:38px}.metric strong{font-size:clamp(4rem,17vw,7rem)}
  .pillars{grid-template-columns:minmax(0,1fr);padding:clamp(82px,12vw,130px) clamp(20px,6vw,44px);gap:2.2rem}.pillars h3{margin:30px 0 14px}.planet,.certifications{grid-template-columns:minmax(0,1fr);padding:clamp(82px,12vw,130px) clamp(20px,6vw,44px);gap:3rem}.planet{min-height:0}.planet-orbit{width:min(100%,520px);margin:auto}.materials{padding-block:clamp(82px,12vw,130px)}.materials-head{grid-template-columns:minmax(0,1fr);padding-inline:clamp(20px,6vw,44px)}.materials-head h2,.materials-head>p:last-child{grid-column:auto}.material-track{padding:48px clamp(20px,6vw,44px) 15px;gap:14px}.material-track article{flex-basis:min(82vw,370px);min-height:430px}.material-track h3{font-size:clamp(2.5rem,10vw,3.7rem)}
  .cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cert-grid figure{padding:10px;min-width:0}.cert-grid figcaption{font-size:8px;overflow-wrap:anywhere}.customers,.diary-end{min-height:auto;padding:clamp(90px,14vw,150px) clamp(20px,6vw,44px)}.customers>p:not(.kicker){font-size:1.05rem}.client-line{margin-top:45px}.diary-end>a:not(.back-home){min-height:58px;align-items:center}
  .reveal{transform:translate3d(0,28px,0);transition-duration:.75s}.hero-media img{will-change:auto}
}

/* Keep the original first-section navigation visible on desktop and tablet.
   The compact menu is reserved for phone-sized viewports. */
@media(min-width:601px) and (max-width:1023px){
  body:not(.diary-page) .site-root>nav:not(.mobile-menu)>div:last-child{display:flex!important}
  .mobile-menu-toggle,.mobile-menu{display:none!important}
  .diary-nav .nav-title,.diary-nav>a:last-child{display:block}
}

@media(max-width:479px){
  #top h1{font-size:clamp(4.15rem,22vw,6.2rem)!important}.mobile-menu a{font-size:clamp(1.8rem,9vw,3rem)}
  .color-options{display:grid;grid-template-columns:repeat(3,1fr)}.paper-header{gap:1rem}.paper-header span:first-child{font-size:18px}
  .detail-card{width:86vw}.detail-card.is-open .detail-toggle,.detail-card:focus-within .detail-toggle{bottom:270px}.map-caption{flex-direction:column}
  .process-visual{aspect-ratio:1/1}.process-visual.duo,.process-visual.gallery{grid-template-columns:1fr 1fr}.cert-grid{grid-template-columns:1fr}.material-track article{flex-basis:84vw;min-height:400px}.hero-foot span:first-child{display:none}.hero-foot{justify-content:flex-end}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.mobile-menu,.mobile-menu-toggle span,.mobile-menu-toggle::before,.mobile-menu-toggle::after,.infra-grid a,.infra-grid a b{transition:none!important}.reveal,.motion-reveal,.panel-rise,.word-rise,.lab-enter{opacity:1!important;transform:none!important;filter:none!important}}

@media(max-width:600px){.hero-film,.process-visual img,.material-card-image{will-change:auto!important}.mobile-menu-toggle{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(16,17,15,.82)}.map-caption{backdrop-filter:none!important}}
