/* Shared editorial system: composition and space, rather than nested panels. */
.brand-logo-wrap{margin:28px 0 34px;display:flex;justify-content:center}.brand-logo{display:block;width:min(68vw,420px);height:auto;object-fit:contain}
.brand-meaning{color:var(--w);font:clamp(12px,2vw,20px)/1.6 var(--meta);letter-spacing:.05em}
.brand-manifesto{max-width:660px;margin:28px 0 0;font:clamp(24px,4vw,42px)/1.2 var(--anton)}
.brand-system{padding-top:0}
.projects-intro{margin-bottom:40px}
.work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:56px var(--gap);margin-block:40px}
.work-card{min-width:0}
.work-media{position:relative;width:100%;aspect-ratio:3/4;background:#000;overflow:hidden}
.work-media video,.work-media img{display:block;width:100%;height:100%;object-fit:contain}
.work-media video{object-fit:cover}
.work-media--identity{aspect-ratio:auto;height:clamp(132px,22vw,180px);display:grid;place-items:center;overflow:visible}
.work-media--identity .cover-link{position:absolute;inset:0;display:grid;place-items:center}
.work-media--identity img{width:auto;height:auto;max-width:84%;max-height:clamp(132px,22vw,180px);object-fit:contain}
.cover-link{display:block;width:100%;height:100%;text-decoration:none}
.work-heading{display:flex;align-items:baseline;gap:14px;margin-top:20px}
.work-number{flex:none;font:11px/1.4 var(--meta);color:var(--g)}
.work-heading h3{margin:0;font:clamp(25px,5.5vw,32px)/1.12 var(--anton);font-weight:400;overflow-wrap:break-word}
.work-heading a{color:var(--w);text-decoration:none;transition:color .18s}
.work-heading a:hover,.work-heading a:focus-visible{color:var(--o)}
.work-heading h3 span{color:var(--o);white-space:nowrap}
.work-meta{font:13px/1.6 var(--meta);color:var(--o);letter-spacing:.035em;margin:12px 0 8px}
.work-copy{font:17.5px/1.65 Arial,sans-serif;color:var(--g);margin:0;max-width:42ch}
.media-toggle{position:absolute;bottom:12px;right:12px;min-width:44px;min-height:44px;padding:10px 14px;background:rgba(0,0,0,.8);border:0;border-radius:0;color:#fff;font:10px/1.4 var(--meta);letter-spacing:.08em;cursor:pointer}
.media-toggle[hidden]{display:none}
.media-toggle:hover{color:var(--o)}
.type-cover{display:flex;flex-direction:column;justify-content:center;color:var(--o);padding:12%;border:0}
.type-cover>span{font:clamp(88px,26vw,144px)/.8 var(--anton);letter-spacing:-.04em}
.type-cover small{margin-top:28px;font:11px/1.5 var(--meta);color:var(--g)}
.product-grid{display:grid;gap:var(--gap);margin:40px 0}
.product-grid h3{font:clamp(28px,4vw,42px)/1.1 var(--anton);margin:16px 0;color:var(--w)}
.product-grid p{max-width:48ch;color:var(--g);font-size:17.5px;line-height:1.68;margin:0}
.page-hero{padding-top:max(40px,env(safe-area-inset-top));padding-bottom:40px}
.page-hero .display{margin-top:24px;overflow-wrap:break-word}
.page-hero .lead{max-width:650px;margin-top:24px}
.work-index{padding-top:0}
.work-index .work-grid{margin-top:0}
.back-home,.case-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--o);text-decoration:none;font:15.6px/1.5 var(--meta)}
.case-link{margin-top:24px}
.case-kicker{color:var(--g);font:13px/1.6 var(--meta);letter-spacing:.07em}
.case-meta{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:24px;color:var(--g);font:13px/1.6 var(--meta)}
.case-meta span{padding:0;border:0}
.case-detail{padding-block:36px}
.case-detail h2{font:clamp(28px,5vw,44px)/1.1 var(--anton);color:var(--o);margin:16px 0}
.case-detail p{max-width:660px;color:var(--g);font-size:17.5px;line-height:1.72;margin:0}
.case-proof{color:var(--g);max-width:660px;line-height:1.7}
.project-hero-media{padding-block:16px 48px}
.hq-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:var(--gap);align-items:start;margin-top:24px}
.case-media{margin:0;max-width:none;width:100%}
.case-media video{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:#000}
.case-media figcaption{margin-top:14px;color:var(--g);font:14px/1.6 var(--meta)}
.project-brand{display:flex;align-items:center;min-height:88px;max-width:540px;margin:30px 0 0}
.project-brand img{display:block;width:auto;height:auto;max-width:min(68vw,280px);max-height:118px;object-fit:contain}
.lab-home-grid{margin-top:32px}
.identity-art{max-width:420px;margin:0}.identity-art--brand{max-width:280px;margin-inline:auto}
.identity-art img{display:block;width:100%;height:auto}
.case-page .contact{padding-top:80px}
.case-page footer{margin-top:32px}
.contact .form{max-width:700px}
.contact .lead{margin-top:24px}
.contact .channels{margin-top:28px}
@media(min-width:600px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:64px}.work-media{max-height:none}.type-cover>span{font-size:clamp(80px,15vw,144px)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact .form{grid-template-columns:repeat(2,minmax(0,1fr))}.contact .wide{grid-column:1/-1}.case-detail .inner{max-width:820px}.case-page .page-hero .display{font-size:clamp(52px,7vw,88px)}}
@media(min-width:960px){.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about .inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.about-copy{margin:0}.work-heading h3{font-size:28px}.type-cover>span{font-size:120px}}
@media(prefers-reduced-motion:reduce){.work-heading a{transition:none}}

.logo-marquee{overflow:hidden;margin:18px calc(var(--gutter)*-1) 48px;padding-block:12px;background:#000}
.logo-marquee-track{display:flex;width:max-content;will-change:transform;animation:logo-marquee-left 34s linear infinite}
.logo-marquee-set{display:flex;flex:none;align-items:center;gap:11px;padding-right:11px}
.logo-marquee-set a{display:grid;place-items:center;width:111px;height:87px;background:#000;text-decoration:none;touch-action:pan-y}
.logo-marquee-set img{display:block;width:auto;height:auto;max-width:92%;max-height:118%;object-fit:contain;transition:opacity .18s ease}
.logo-marquee-set a:hover img,.logo-marquee-set a:focus-visible img{opacity:.8}
.logo-marquee-set a:focus-visible{outline:2px solid var(--o);outline-offset:-3px}
.logo-marquee:focus-within .logo-marquee-track{animation-play-state:paused}
@media(hover:hover){.logo-marquee:hover .logo-marquee-track{animation-play-state:paused}}
@keyframes logo-marquee-left{to{transform:translate3d(-50%,0,0)}}
@media(min-width:700px){.logo-marquee-set a{width:133px;height:105px}.logo-marquee-set img{max-width:88%;max-height:115%}.logo-marquee-set{gap:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){.logo-marquee{overflow-x:auto;margin-inline:calc(var(--gutter)*-1);scrollbar-width:thin}.logo-marquee-track{animation:none;will-change:auto}.logo-marquee-set[aria-hidden=true]{display:none}}

/* Global typography alignment */
.work-heading h3{line-height:1.08}.back-home,.case-link{font-size:13px;text-decoration:none}.case-media figcaption{font-size:13px;line-height:1.55}

.back-home,.case-link{font-size:17px!important}

/* Original brand mark + larger readable secondary text */
.brand-meaning{font-size:clamp(14px,2vw,20px)}.case-proof{font-size:17.5px;line-height:1.72}.work-number{font-size:12.5px}

/* Home hierarchy: reuse the offer content once, ahead of the selected work. */
.offer-summary{padding-block:40px}
.offer-summary .desorden-label{margin-top:0}
.offer-summary .offer-author{margin:8px 0 24px;color:var(--g);font-size:15px}
.offer-summary .product-grid{margin:24px 0;gap:24px}
.offer-summary .product-grid h3{margin:6px 0;font-size:24px}
.offer-summary .lead{margin:20px 0 8px}
.projects .more-work .work-grid{gap:28px var(--gap)}
.projects .more-work .work-grid .work-heading{margin-top:0}
@media(min-width:700px){.offer-summary .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Global viewport containment: the site scrolls vertically, never sideways. */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
  overscroll-behavior-x:none;
}
body{touch-action:pan-y pinch-zoom}
.shell,main,section,.inner,article,figure,.work-grid,.work-card,.work-media,.hq-gallery,.case-media,.project-brand{
  min-width:0;
  max-width:100%;
}
img,video,svg,canvas{
  max-width:100%;
}
.project-brand{
  width:100%;
  overflow:hidden;
}
.project-brand img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:min(68vw,280px)!important;
  max-height:118px;
  object-fit:contain;
}
.hq-gallery,.case-media{
  width:100%;
  overflow:hidden;
}
.case-media video{
  width:100%;
  max-width:100%;
}
