/* Shared navigation and Figma inner-page introductory typography. */
body .site-header,body .site-header.editorial-header{position:fixed;padding:48px 3.888889vw;}
body .site-header .site-nav,body.work-page .site-header .site-nav{position:absolute;left:auto;right:3.333333vw;top:51px;transform:none;gap:48px;font:500 20px/24px Arturm,sans-serif;letter-spacing:.04em;text-transform:none;}
body .site-header .site-nav a{padding:0;margin:0;border:0;}
body .site-header .wordmark,body .site-header .wordmark img{width:145px;height:30px;}
body .editorial-menu-button{display:none;}
body .menu-glyph{display:block;position:relative;width:32px;height:32px;color:inherit;}
body .editorial-menu-button .menu-glyph{color:#fff;}
/* Warm gradient halo: decoration stays outside the unchanged icon geometry. */
body .editorial-menu-button .menu-glyph::before{content:"";position:absolute;inset:-9px;border-radius:50%;pointer-events:none;background:conic-gradient(from 35deg,transparent,#6c5942,#E9C79E,transparent 55%,#E9C79E,#6c5942,transparent);filter:blur(9px);opacity:.28;transition:opacity 480ms cubic-bezier(.22,1,.36,1),transform 640ms cubic-bezier(.22,1,.36,1);}
body .editorial-menu-button:is(:hover,:focus-visible,[aria-expanded="true"]) .menu-glyph::before{opacity:.65;transform:rotate(55deg);}
@media(prefers-reduced-motion:reduce){body .editorial-menu-button .menu-glyph::before{transition:none;transform:none;}}
body .menu-glyph>span{position:absolute;left:4px;top:15px;width:24px;height:2px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform 580ms cubic-bezier(.22,1.15,.36,1);}
body .menu-glyph>span:first-child{transform:translateY(-4px);}
body .menu-glyph>span:last-child{transform:translateY(4px);}
body #site-mobile-menu[open] .menu-glyph>span:first-child{transform:rotate(45deg);}
body #site-mobile-menu[open] .menu-glyph>span:last-child{transform:rotate(-45deg);}
@keyframes menu-line-top{0%{transform:translateY(-4px);}30%{transform:translateY(0) scaleX(.85);}75%{transform:rotate(49deg);}100%{transform:rotate(45deg);}}
@keyframes menu-line-bottom{0%{transform:translateY(4px);}30%{transform:translateY(0) scaleX(.85);}75%{transform:rotate(-49deg);}100%{transform:rotate(-45deg);}}
body #site-mobile-menu[open] .menu-glyph>span{transition:none;}
body #site-mobile-menu[open] .menu-glyph{animation:menu-icon-settle 640ms cubic-bezier(.22,1,.36,1) both;}
@keyframes menu-icon-settle{from{opacity:0;transform:rotate(-12deg) scale(.94);}to{opacity:1;transform:rotate(0) scale(1);}}
@media(prefers-reduced-motion:reduce){body #site-mobile-menu[open] .menu-glyph{animation:none;transition:none;}}
body #site-mobile-menu[data-closing="true"] .menu-glyph{animation:none;transition:none;opacity:1;}
body dialog.editorial-menu#site-mobile-menu[data-closing="true"]{overflow:hidden;min-height:0;}
body #site-mobile-menu[data-closing="true"] .menu-top button{transform:none;}
@media(prefers-reduced-motion:reduce){body .menu-glyph>span{transition:none;}body #site-mobile-menu[open] .menu-glyph>span{animation:none;}body #site-mobile-menu[open] .menu-glyph>span:first-child{transform:rotate(45deg);}body #site-mobile-menu[open] .menu-glyph>span:last-child{transform:rotate(-45deg);}}
body #site-mobile-menu .menu-top button{transition:transform 400ms cubic-bezier(.22,1,.36,1);}
body #site-mobile-menu .menu-top button:active{transform:scale(.96);}
body #site-mobile-menu[open] .menu-top button img{animation:menu-close-enter 620ms both;}
@keyframes menu-close-enter{
 0%{opacity:0;transform:rotate(-45deg) scale(.86);animation-timing-function:cubic-bezier(.16,1,.3,1);}
 65%{opacity:1;transform:rotate(5deg) scale(1.025);animation-timing-function:ease-in-out;}
 100%{opacity:1;transform:rotate(0) scale(1);}
}
@media(prefers-reduced-motion:reduce){body .editorial-menu-button img,body #site-mobile-menu .menu-top button{transition:none;}body .editorial-menu-button:active img,body #site-mobile-menu .menu-top button:active{transform:none;}body #site-mobile-menu[open] .menu-top button img{animation:none;}}
body dialog.editorial-menu#site-mobile-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:200px 32px 96px;border:0;border-radius:0;background:#FF933C;color:#201e1c;overflow-y:auto;overscroll-behavior:contain;}
body #site-mobile-menu .menu-top{position:absolute;inset:0 0 auto;height:0;}
body #site-mobile-menu .menu-top>a{position:absolute;left:var(--menu-logo-x,24px);top:var(--menu-logo-y,24px);display:block;width:var(--menu-logo-width,97px);height:var(--menu-logo-height,20px);}
body #site-mobile-menu .menu-top img{display:block;width:100%;height:100%;}
body #site-mobile-menu .menu-top button{position:absolute;left:calc(var(--menu-icon-x,calc(100vw - 56px)) - 6px);top:calc(var(--menu-icon-y,24px) - 6px);display:grid;place-items:center;width:44px;height:44px;padding:0;margin:0;background:none;border:0;cursor:pointer;}
body #site-mobile-menu nav.menu-primary{display:grid;justify-items:start;gap:24px;margin:0;}
body #site-mobile-menu nav.menu-primary a{font:700 48px/54px Arturm,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:inherit;text-decoration:none;}
body #site-mobile-menu nav.menu-social{display:grid;justify-items:start;gap:32px;margin:98px 0 0;}
body #site-mobile-menu nav.menu-social a{font:400 24px/24px 'Helixa',sans-serif;letter-spacing:0;color:inherit;text-decoration:none;}
body #site-mobile-menu nav a{position:relative;}
body #site-mobile-menu nav a::after{content:none;}
body .skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
body .skip-link:focus{position:fixed;top:8px;left:8px;z-index:10001;background:#fff;color:#201e1c;padding:12px 16px;}
body #site-mobile-menu a:focus-visible,body #site-mobile-menu button:focus-visible{outline:2px solid currentColor;outline-offset:6px;}
@media(max-width:360px){body dialog.editorial-menu#site-mobile-menu{padding-inline:32px;}body #site-mobile-menu nav.menu-primary a{font-size:40px;}}
@media(max-height:700px){body dialog.editorial-menu#site-mobile-menu{padding-top:120px;padding-bottom:48px;}body #site-mobile-menu nav.menu-social{margin-top:56px;}}
@media(prefers-reduced-motion:reduce){body #site-mobile-menu nav a::after{transition:none;}}
body .editorial-menu::backdrop{background:transparent;backdrop-filter:none;}
body .editorial-menu>button{display:block;margin-left:auto;background:none;border:0;color:inherit;font:inherit;cursor:pointer;}
body .editorial-menu nav{display:grid;gap:24px;margin:32px 0;}
body .editorial-menu nav a{font:500 40px/1.2 Arturm,sans-serif;text-decoration:none;}
body .editorial-intro .editorial-lead,body .services-page .services-intro .editorial-lead,body.work-page .work-lead{font-size:32px;line-height:44px;font-weight:400;letter-spacing:.02em;}
@media(max-width:760px){
 body .site-header,body .site-header.editorial-header{padding:24px;}
 body .site-header .site-nav{display:none;}
 body .site-header .wordmark,body .site-header .wordmark img{width:97px;height:20px;}
 body .editorial-menu-button{display:block;background:none;border:0;padding:8px;cursor:pointer;}
 body .editorial-menu-button img{display:block;}
 body .editorial-intro .editorial-lead,body .services-page .services-intro .editorial-lead,body.work-page .work-lead{font-size:24px;line-height:34px;}
}
/* One distance and timing keep the underline edge aligned with its arrow. */
body .line-link {
 --link-travel:8px; --link-timing:420ms cubic-bezier(.45,0,.2,1);
 position:relative;border-bottom:0!important;
}
body .line-link::after {
 content:'';position:absolute;left:0;right:0!important;bottom:0;
 width:auto!important;height:1px;background:var(--orange,#FF933C);
 transform:none!important;transition:right var(--link-timing)!important;
}
body .line-link img {
 transform:none!important;translate:0 0!important;
 transition:translate var(--link-timing)!important;
}
body .line-link:is(:hover,:focus-visible)::after {right:calc(-1 * var(--link-travel))!important;}
body .line-link:is(:hover,:focus-visible) img {translate:var(--link-travel) 0!important;}
@media(prefers-reduced-motion:reduce){
 body .line-link {--link-travel:0px;}
 body .line-link img,body .line-link::after {transition:none!important;}
}
/* Beige service-card spacing, scoped independently of other numbered lists. */
body .services-page .services-detail-list,
body .why .why-grid,
body .stats.page-section,
body .stories-carousel .stories-stage{gap:24px!important;}
@media(max-width:1100px){
 body .services-page .services-detail-list,
 body .why .why-grid,
 body .stats.page-section,
 body .stories-carousel .stories-stage{gap:16px!important;}
}
/* Static cards should not suggest a tap action on mobile or tablet. */
@media(max-width:1100px){
 body :is(.why-grid,.stats) article:not(:has(a,button)):hover{
  background-color:var(--beige,#e9c79e)!important;translate:none!important;
 }
 body .why-grid article.is-visible:not(:has(a,button)):hover{transform:none!important;}
 body .testimonials .quote-track .quote-card:not(:has(a,button)):hover{box-shadow:none!important;}
 body .client-rows:hover:not(:focus-within) .client-row.is-marquee{animation-play-state:running;}
}

/* Mobile client stories: Figma 209:1067–1073, with room for longer quotes. */
@media(max-width:599px){
 body:is(.home-page,.editorial-page) .testimonials.stories-carousel .stories-stage .story-panel{min-height:430px;height:auto;padding:36px 32px;gap:32px;}
 body:is(.home-page,.editorial-page) .testimonials.stories-carousel .stories-stage .story-panel blockquote{font-size:24px;line-height:32px;}
 body:is(.home-page,.editorial-page) .testimonials.stories-carousel .stories-stage .story-panel figcaption>div>span{font-size:18px;line-height:28px;font-weight:500;}
 body:is(.home-page,.editorial-page) .testimonials.stories-carousel .stories-stage .story-panel figcaption .story-meta{font-size:14px;line-height:20px;}
}

/* Client names use the supplied Helixa Bold face at every breakpoint. */
body:is(.home-page,.editorial-page) .testimonials.stories-carousel .stories-stage .story-panel figcaption>div>span{font-family:Helixa,sans-serif;font-weight:700;}

/* Preserve the updated Figma signature's natural proportions. */
body .founder .founder-signature img{height:auto;aspect-ratio:173.54 / 96.2402;}

/* Keep the signature aligned and close to the founder's name. */
body .founder .founder-photo .founder-signature{width:clamp(120px,12vw,180px);height:auto;margin:0 0 4px;}
body .founder .founder-photo .founder-signature img{position:static;display:block;width:100%;height:auto;aspect-ratio:173.54 / 96.2402;}


/* Desktop founder composition: portrait reduced 10% with lower signature lockup. */
@media(min-width:1101px){
 body:is(.home-page,.editorial-page) .founder.page-section .founder-photo{width:90%;max-width:none;}
 body:is(.home-page,.editorial-page) .founder.page-section .founder-photo figcaption{left:50%;top:auto;bottom:11%;right:auto;}
 body:is(.home-page,.editorial-page) .founder.page-section .founder-copy{align-self:center;padding-top:0;padding-bottom:48px;}
}

/* CTA arrows are controls, exempt from the photographic-image motion reset. */
html body main a.line-link img{translate:0 0!important;transition:translate var(--link-timing)!important;}
html body main a.line-link:is(:hover,:focus-visible) img{translate:var(--link-travel) 0!important;}
@media(prefers-reduced-motion:reduce){html body main a.line-link img{transition:none!important;}}

/* Make actionable controls consistently discoverable with a mouse. */
body :is(button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"],a[href]){cursor:pointer;}
body :is(button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):is(:disabled,[aria-disabled="true"]){cursor:not-allowed;}
body :is(.editorial-menu-button,.menu-toggle,.mobile-menu-toggle) *{cursor:inherit;}

/* Shared hero-paragraph breakpoints across Home, inner pages and case studies. */
:root{--hero-copy-size:24px;--hero-copy-leading:32px;}
@media(min-width:600px){:root{--hero-copy-size:28px;--hero-copy-leading:36px;}}
@media(min-width:1101px){:root{--hero-copy-size:28px;--hero-copy-leading:36px;}}
html body :is(.hero .hero-intro,.editorial-intro .editorial-lead,.services-intro .editorial-lead,.work-lead,.case-hero>p){
 font-size:var(--hero-copy-size)!important;line-height:var(--hero-copy-leading)!important;
}

/* Figma hero copy measure: stable within each layout, unaffected by scrolling. */
html body.home-page #top .hero .hero-details{width:335px;max-width:calc(100% - 96px);}
html body.home-page #top .hero .hero-intro{width:100%;max-width:none;font-size:var(--hero-copy-size)!important;line-height:var(--hero-copy-leading)!important;}
@media(max-width:599px){html body.home-page #top .hero .hero-details{width:289px;max-width:calc(100% - 48px);}}

/* Work cards use the same 16px corners at every viewport width. */
html body .work-deck .work-slide,
html body .work-deck .work-slide-image{border-radius:16px!important;clip-path:inset(0 round 16px)!important;overflow:hidden;}

/* One content-image radius across all pages and responsive sizes. */
html body{--content-image-radius:16px;}
html body main img:not([src$=".svg"]):not(.wordmark img):not(.client-row img):not(.story-panel figcaption img):not(.founder-signature img):not(.why-art img):not(.button img):not(.line-link img),
html body :is(.case-image,.project-media,.work-slide-image,.studio-photo,.studio-intro-photo,.contact-work-image,.brand-poster img){
 border-radius:var(--content-image-radius)!important;
 clip-path:inset(0 round var(--content-image-radius))!important;
}
html body :is(.work-item .project,.case-phone-tile,.case-phone-trio,.case-brand-board){border-radius:var(--content-image-radius)!important;clip-path:inset(0 round var(--content-image-radius))!important;}

/* Tablet testimonials fit their copy instead of stretching to desktop height. */
@media(min-width:600px) and (max-width:1100px){
 html body .testimonials.stories-carousel .stories-stage{align-items:flex-start;}
 html body .testimonials.stories-carousel .stories-stage .story-panel{height:auto;min-height:0;padding:40px;gap:32px;justify-content:flex-start;}
 html body .testimonials.stories-carousel .stories-stage .story-panel figcaption{margin-top:0;}
}

@media(min-width:600px) and (max-width:1100px){
 html body:is(.home-page,.editorial-page) .clients.page-section .client-row>li{width:clamp(156.42px,21.78vw,313.83px);flex-basis:clamp(156.42px,21.78vw,313.83px);height:auto;aspect-ratio:3/2;}
}

/* Menu links and all nested labels/icons consistently show the hand cursor. */
html body #site-mobile-menu :is(a,button,[role="menuitem"]),
html body #site-mobile-menu :is(a,button,[role="menuitem"]) *,
html body .site-nav a,
html body .site-nav a *,
html body .mobile-menu :is(a,button),
html body .mobile-menu :is(a,button) *{cursor:pointer!important;}

/* Studio orange statement stays black, including Safari's text-fill paint. */
html body.editorial-page .studio-page .studio-thinking h2,
html body.editorial-page .studio-page .studio-thinking h2 *{
 background:none!important;color:#201e1c!important;-webkit-text-fill-color:#201e1c!important;
}
@media(forced-colors:active){
 html body.editorial-page .studio-page .studio-thinking h2,
 html body.editorial-page .studio-page .studio-thinking h2 *{color:CanvasText!important;-webkit-text-fill-color:CanvasText!important;}
}

/* Large-desktop Work introduction uses a two-line copy measure. */
@media(min-width:1101px){
 html body.work-page .work-lead{width:100%;max-width:1100px;text-wrap:pretty;}
}

/* Work 160:1657: keep the 1200px Figma grid as the largest artwork layout. */
@media(min-width:1101px){
 html body.work-page .work-showcase .projects{width:100%;max-width:none;}
 html body.work-page .work-showcase .work-item{min-width:0;}
 html body.work-page .work-showcase .work-caption,
 html body.work-page .work-showcase .work-caption a{max-width:100%;white-space:normal;overflow-wrap:break-word;}
}

/* Home philosophy follows the approved desktop grid, not the old local gutter. */
@media(min-width:1101px){
 html body.home-page #approach.philosophy{
  padding-inline:calc(var(--desktop-side-margin) - 16px);
  margin-top:120px;
 }
 html body.home-page #approach #philosophy-title{
  max-width:100%;box-sizing:border-box;font-size:clamp(48px,8.333333vw,120px);line-height:1.2;
 }
}

/* Shared footer rhythm: Figma desktop and tablet use 80/80, 16px then 32px. */
html body footer.contact-panel#contact .footer-title-copy{font-size:1em;line-height:inherit;}
html body footer.contact-panel#contact .contact-copy h2{margin:0;padding:0;}
html body footer.contact-panel#contact .contact-copy > p{margin:16px 0 32px;}
@media(min-width:600px){
 html body footer.contact-panel#contact .contact-copy h2{font-size:80px;line-height:80px;letter-spacing:-.03em;}
 html body footer.contact-panel#contact .contact-copy > p{font-size:24px;line-height:32px;max-width:458px;}
}
@media(max-width:599px){
 html body footer.contact-panel#contact .contact-copy h2{font-size:36px;line-height:44px;}
 html body footer.contact-panel#contact .contact-copy > p{font-size:18px;line-height:24px;}
}
html body footer.contact-panel#contact .contact-top .contact-copy > p{margin:8px 0 32px;}
@media(min-width:1101px){
 html body footer.contact-panel#contact{padding-inline:calc(var(--desktop-side-margin) - 16px);}
}

/* Footer content uses the same approved desktop container on every page. */
@media(min-width:1101px){
 html body footer.contact-panel#contact{
  --section-gutter:var(--desktop-side-margin);
  --content-max:var(--desktop-content-width);
  box-sizing:border-box;width:calc(100% - 32px);max-width:none;
  margin-inline:16px;padding-inline:calc(var(--desktop-side-margin) - 16px);
 }
 html body footer.contact-panel#contact > :is(.contact-top,.footer-wordmark,.footer-bottom){
  box-sizing:border-box;width:100%;max-width:var(--desktop-content-width);margin-inline:0;
 }
}

/* Large-desktop introduction and statistics: slightly larger with more air. */
@media(min-width:1800px){
 html body.home-page #top #about #studio-title.studio-description{
  font-size:40px;line-height:52px;max-width:1120px;
 }
 html body.home-page .stats article{padding:32px 40px;gap:12px;min-height:168px;}
 html body.home-page .stats strong,
 html body.home-page .stats strong *{font-size:54px;line-height:60px;}
 html body.home-page .stats article > span{font-size:22px;line-height:30px;}
}
@media(min-width:1800px){
 html body.home-page #approach.philosophy{margin-top:160px;}
}

/* 1920px-scale section headings and service titles. */
@media(min-width:1800px){
 html body :is(.case-story > h2,.case-related > h2,.founder-copy > h2,.clients-heading > h2,.work-heading > h2,.services-heading > h2,#services-faq-title,.editorial-split > h2,.contact-reach > h2){
  font-size:56px!important;line-height:1.25!important;
 }
 html body.home-page #services .service-card h3{font-size:40px!important;line-height:1.2!important;margin-top:0;}
 html body.home-page #services .service-index{
  font-size:22px;line-height:1.2;align-self:start;text-align:left;
  padding-top:0;margin-top:0;transform:none;
 }
 html body.home-page #services .service-card{align-items:start;}
}

/* Large desktop: one 240px gap between major content blocks. */
@media(min-width:1800px){
 html body{--section-space:240px;}
 html body.home-page :is(#about.studio-section,#work.page-section,.why.page-section,#services.page-section,.testimonials.page-section,.clients.page-section,.founder.page-section){
  margin-top:240px;padding-top:0;
 }
 html body.home-page #approach.philosophy{margin-top:240px;}
 html body .editorial-main > section:not(.editorial-intro):not(.wide-surface){margin-top:240px;padding-top:0;}
 html body .editorial-main > .wide-surface{margin-top:240px;}
 html body .case-study{--case-gap:160px;}
 html body.work-page .work-showcase .projects{margin-top:160px;row-gap:160px;}
 html body.work-page .work-showcase{padding-bottom:0;}
 html body footer.contact-panel#contact{margin-top:240px;}
}
@media(min-width:1800px){
 html body.home-page :is(#about.studio-section,#work.page-section,.why.page-section,#services.page-section,.testimonials.page-section,.clients.page-section,.founder.page-section){margin-top:0!important;padding-top:240px!important;}
 html body .editorial-main > section:not(.editorial-intro):not(.wide-surface){margin-top:240px!important;padding-top:0!important;}
 html body .editorial-main > .wide-surface{margin-top:240px!important;}
 html body .case-study{padding-bottom:0;}
 html body footer.contact-panel#contact{margin-top:240px!important;}
}

/* Founder portrait meets the footer: exception to major-section spacing. */
html body:has(.founder.page-section) footer.contact-panel#contact{margin-top:0!important;}
html body .founder.page-section{padding-bottom:0!important;margin-bottom:0!important;}
html body .studio-page:has(> .founder:last-child){padding-bottom:0!important;}
/* Large-desktop title-to-introduction exception. */
@media(min-width:1800px){
 html body.home-page #top #about.studio-section.page-section{margin-top:0!important;padding-top:180px!important;}
}
/* Figma 124:705 uses 144px type / 160px line height. */
@media(min-width:1800px){
 html body.home-page #top h1#statement-title{line-height:1.1111111111!important;}
 html body.home-page #top #statement-title :is(.motion-line,.motion-line > span){line-height:inherit!important;}
}
/* Optical adjustment for large-desktop statistics numbers only. */
@media(min-width:1800px){
 html body.home-page .stats article > strong{position:relative;top:4px;}
}

/* Case-study artwork fills its content container; height follows the asset. */
html body .case-study .case-container > :is(.case-image,.case-brand-pair,.case-phone-trio,.case-brand-board){width:100%;max-width:none;}
html body .case-study .case-image{width:100%;max-width:100%;height:auto;}

/* All page H1s share Home's Figma 144/160 line-height ratio. */
html body :is(main,.hero-statement,.editorial-main) h1,
html body h1#statement-title,
html body h1#work-page-title{line-height:1.1111111111!important;}
html body h1 :is(.editorial-line-mask,.editorial-line-content,.motion-line,[data-gradient-line]){line-height:inherit!important;}
/* Desktop case-study paragraph spacing: 80% of the existing rhythm. */
@media(min-width:1101px){
 html body .case-study .case-copy p+p{margin-top:19.2px;}
 html body .case-designed .case-copy p+p{margin-top:28.8px;}
}

/* Large-desktop coloured statement panels: 160px internal vertical space. */
@media(min-width:1800px){
 html body.home-page #approach.philosophy,
 html body .case-study .case-statement,
 html body .studio-page .studio-thinking,
 html body .services-page .services-mix{padding-block:160px!important;}
}

/* Desktop case descriptions: narrower measure leaves room beside project facts. */
@media(min-width:1101px){
 html body .case-study .case-story > .case-copy{box-sizing:border-box;width:100%;max-width:none;min-width:0;padding-left:0;padding-right:20%;}
}
@media(min-width:1800px){
 html body .case-study .case-section:first-of-type{margin-top:160px;}
 html body:has(main.case-study) footer.contact-panel#contact{margin-top:160px!important;}
}

/* Work hero: shared H1 rhythm; copy stays a two-line measure. */
@media(min-width:1101px){
 html body.work-page .work-showcase h1#work-page-title,
 html body.work-page .work-showcase #work-page-title :is(.title-desktop-lines,.editorial-line-mask,.editorial-line-content){line-height:1.1111111111!important;}
 html body.work-page .work-showcase p.work-lead{
  width:100%;max-width:1200px;font-size:clamp(24px,2.222222vw,32px)!important;
  line-height:1.375!important;text-wrap:balance;
 }
}

/* Shared heading rhythm: equal font sizes always have equal line heights. */
html body h2,
html body.home-page #approach h2#philosophy-title,
html body footer.contact-panel#contact .contact-copy h2,
html body .founder.page-section .founder-copy h2#founder-title,
html body .case-study .case-statement h2{line-height:1.25!important;}
html body h2 :is(.editorial-line-mask,.editorial-line-content,.motion-line,[data-gradient-line],.footer-title-copy){line-height:inherit!important;}

/* Display titles share Home's rhythm, including the display-sized Why heading. */
html body.home-page .why h2#why-title{line-height:1.1111111111!important;}
html body.home-page .why #why-title :is(.motion-line,.editorial-line-mask,.editorial-line-content,[data-gradient-line]){line-height:inherit!important;}
@media(min-width:600px){
 html body footer.contact-panel#contact .contact-top .contact-copy h2{line-height:1!important;}
}
/* Requested 1920px refinements: taller cards and optically aligned indices. */
@media(min-width:1800px){
 html body.home-page .why .why-grid article{min-height:336px;}
 html body.home-page .why .why-grid .why-copy h3{font-size:40px!important;line-height:48px!important;}
 html body.home-page #services .service-card .service-index{position:relative;top:6px;}
}

/* Large desktops: tighter footer title and consistent bottom-row type. */
@media(min-width:1800px){
 html body footer.contact-panel#contact .contact-top .contact-copy h2{line-height:1!important;}
 html body footer.contact-panel#contact .contact-top .contact-copy > p{margin-top:16px;}
 html body footer.contact-panel#contact .footer-bottom,
 html body footer.contact-panel#contact .footer-bottom :is(span,a,nav){font-size:16px!important;line-height:24px!important;}
}

/* Large-desktop Work hero: reduce the space surrounding the title. */
@media(min-width:1800px){
 html body.work-page .work-showcase{padding-top:200px;}
 html body.work-page .work-showcase p.work-lead{margin-top:32px;}
}

/* Work images stay still while the VIEW cursor provides hover feedback. */
html body.work-page main #work .work-item .project .project-media img,
html body.work-page main #work .work-item .project:is(:hover,:focus-visible) .project-media img{
 transform:none!important;scale:none!important;
}

@media(hover:hover) and (pointer:fine){
 html body.work-page #work a.project.has-open-cursor,
 html body.work-page #work a.project.has-open-cursor *{cursor:none!important;}
}

/* Related work uses the same VIEW follower and compact caption spacing. */
html body .case-related .case-related-grid h3{margin:24px 0 0;}
html body .case-related .case-related-grid p{margin:8px 0 0;}
@media(hover:hover) and (pointer:fine){
 html body .case-related-grid > a .case-image.has-open-cursor{cursor:none!important;}
}
html body .case-related .case-related-grid a :is(h3,p),
html body .case-related .case-related-grid a:is(:hover,:focus-visible) :is(h3,p){
 translate:none!important;transform:none!important;transition:none!important;
}

/* All desktop case studies follow Envisioner's proportional text columns. */
@media(min-width:1101px){
 html body .case-study .case-story{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;}
 html body .case-study .case-story.case-overview{grid-template-columns:minmax(0,360fr) minmax(0,480fr) minmax(0,224fr);gap:40px;}
 html body .case-study .case-story > .case-copy{max-width:none;}
 html body .case-study .case-copy p+p{margin-top:19.2px;}
 html body .case-study .case-facts{margin:0;padding-top:0;line-height:1.55;}
 html body .case-study .case-facts div+div{margin-top:40px;}
 html body .case-study .case-facts dt{font-weight:400;line-height:1.3;margin-bottom:20px;color:#a2978d;}
 html body .case-study .case-facts .case-scope{line-height:inherit;}
}

/* Raise the shared footer wordmark without moving the bottom links. */
html body footer.contact-panel#contact > .footer-wordmark{position:relative;top:-24px;}

/* Large-desktop footer: more space above the legal and social row. */
@media(min-width:1800px){
 html body footer.contact-panel#contact .footer-bottom{padding-top:48px;}
}

/* Figma case hero descriptions: Helixa Regular, 32/44 on desktop. */
@media(min-width:1101px){
 html body .case-study .case-hero > p{font-family:Helixa,sans-serif!important;font-size:32px!important;line-height:44px!important;font-weight:400;letter-spacing:0;color:rgb(255 255 255 / 96%);}
}

/* Figma desktop subheadings: use the full 32/44 style consistently. */
@media(min-width:1101px){
 html body :is(.editorial-intro .editorial-lead,.services-intro .editorial-lead,.work-lead,.case-hero > p){
  font-family:Helixa,sans-serif!important;font-size:32px!important;line-height:44px!important;font-weight:400;letter-spacing:0;
 }
 html body .services-page .services-mix-copy,
 html body .services-page .services-mix-copy p{font-size:24px!important;line-height:36px!important;}
}
@media(min-width:1800px){
 html body main.editorial-main.services-page > section.services-details.editorial-container{margin-top:160px!important;}
}

/* Halve both contributors to the large-desktop FAQ-to-footer gap. */
@media(min-width:1800px){
 html body .services-page .services-faq{margin-bottom:90px;}
 html body:has(.services-page) footer.contact-panel#contact{margin-top:120px!important;}
}

/* Large-desktop FAQ: tighter heading gap and slightly smaller questions. */
@media(min-width:1800px){
 html body .services-page .services-faq > h2{margin-bottom:48px;}
 html body .services-page .services-faq .faq-question{font-size:28px;}
}

/* Services statement content follows the same desktop container as Home. */
@media(min-width:1101px){
 html body .services-page .services-mix > .editorial-container{
  width:var(--desktop-content-width);max-width:var(--desktop-content-width);
  margin-inline:auto;padding-inline:0;box-sizing:border-box;
 }
}

/* Studio: Figma process labels, paragraph measures and Home client alignment. */
html body .studio-page .studio-process h3,
html body .studio-page .studio-process h3 * {
 background:none!important;color:rgba(255,255,255,.96)!important;
 -webkit-text-fill-color:currentColor!important;
}
html body .studio-page .clients .clients-heading {
 width:100%;max-width:none;margin-inline:0;text-align:left;
}
@media(min-width:1101px){
 html body .studio-page .studio-years .editorial-lead {
 width:100%;max-width:none;font-size:32px!important;line-height:44px!important;
 margin-top:32px!important;
 letter-spacing:-.32px;text-wrap:wrap;
 }
 html body .studio-page .studio-belief p {
 width:1354px;max-width:100%;font-size:clamp(28px,3.888889vw,56px)!important;line-height:1.214286!important;
 letter-spacing:0;text-wrap:wrap;
 }
}

@media(max-width:1100px){.studio-years-copy-break{display:none;}.studio-years-copy-break::after{content:" ";}}

/* Preserve the approved five-line Studio statement on desktop. */
@media(min-width:1101px){
 html body .studio-page .studio-belief-line{display:block;}
}

/* Align Studio client heading with the collage's shared desktop container. */
@media(min-width:1101px){
 html body .studio-page .clients.page-section{
  width:var(--desktop-content-width);max-width:var(--desktop-content-width);
  margin-inline:auto;padding-inline:0;box-sizing:border-box;
 }
 html body .studio-page .clients #clients-title{margin-inline:0;text-align:left;}
}

/* Contact: halve the intro-to-form gap and add 8px inside the form. */
@media(min-width:1101px){
 html body .contact-page .contact-intro{padding-bottom:60px!important;}
 html body .contact-page > .enquiry-form.wide-surface{padding-block:88px!important;}
}
@media(min-width:1800px){
 html body .contact-page > .enquiry-form.wide-surface{margin-top:80px!important;}
}

/* Contact reach follows the shared container and Home statistics. */
@media(min-width:1101px){
 html body .contact-page .contact-reach > h2.editorial-title{
  margin-inline:var(--desktop-side-margin);text-align:left;
 }
 html body .contact-page .contact-reach .stats.page-section{
  width:var(--desktop-content-width);max-width:var(--desktop-content-width);
  margin-inline:auto;padding-inline:0;box-sizing:border-box;
 }
}
@media(min-width:1800px){
 html body .contact-page .contact-reach .stats article{
  padding:32px 40px;gap:12px;min-height:168px;
 }
 html body .contact-page .contact-reach .stats strong,
 html body .contact-page .contact-reach .stats strong *{
  font-size:54px!important;line-height:60px!important;
 }
 html body .contact-page .contact-reach .stats article > strong{position:relative;top:4px;}
 html body .contact-page .contact-reach .stats article > span{font-size:22px;line-height:30px;}
}

/* Contact image panel: 16px more breathing room on each desktop edge. */
@media(min-width:1101px){
 html body .contact-page .contact-work{padding-block:calc(var(--space-content) + 16px);}
}

/* Contact desktop: reduce service-chip height and halve the final section gap. */
@media(min-width:1101px){
 html body .contact-page .service-options span{padding-block:14px;}
}
@media(min-width:1800px){
 html body .contact-page .contact-reach{margin-bottom:90px;}
 html body:has(.contact-page) footer.contact-panel#contact{margin-top:120px!important;}
}

/* Contact: 140px above and 180px below Next Steps and Global Reach. */
@media(min-width:1800px){
 html body .contact-page > .editorial-split,
 html body .contact-page > .contact-reach{margin-top:140px!important;}
 html body .contact-page > .editorial-split{margin-bottom:0;}
 html body .contact-page > .editorial-split .editorial-values{margin-bottom:0;}
 html body .contact-page > .editorial-split .editorial-values li:last-child{margin-bottom:0;}
 html body .contact-page > .contact-work.wide-surface{margin-top:180px!important;}
 html body .contact-page > .contact-reach{margin-bottom:0!important;padding-bottom:0;}
 html body:has(.contact-page) footer.contact-panel#contact{margin-top:180px!important;}
}

/* Contact: shared section spacing, 160px above and 180px below. */
@media(min-width:1800px){
 html body main.editorial-main.contact-page > section.editorial-split,
 html body main.editorial-main.contact-page > section.contact-reach{
  margin-block:0!important;padding-top:160px!important;padding-bottom:180px!important;
 }
 html body .contact-page > .editorial-split > h2.editorial-title,
 html body .contact-page > .contact-reach > h2.editorial-title{
  margin-block:0!important;padding-block:0!important;
 }
 html body .contact-page > .editorial-split .editorial-values,
 html body .contact-page > .editorial-split .editorial-values li:last-child{
  margin-bottom:0!important;
 }
 html body .contact-page > .contact-work.wide-surface{margin-block:0!important;}
 html body:has(.contact-page) footer.contact-panel#contact{margin-top:0!important;}
}

@media(max-width:1100px){.contact-hero-copy-break{display:none;}}

/* Shared desktop typography follows the approved content width, capped at 1920. */
@media(min-width:1101px){
 html body{
  --desktop-display:clamp(80px,calc(var(--desktop-content-width) * .09),144px);
  --desktop-heading:clamp(38px,calc(var(--desktop-content-width) * .035),56px);
  --desktop-lead:clamp(24px,calc(var(--desktop-content-width) * .02),32px);
  --desktop-card:clamp(28px,calc(var(--desktop-content-width) * .025),40px);
 }
 html body :is(main,.hero-statement,.editorial-main) h1,
 html body h1#statement-title,html body h1#work-page-title{
  font-size:var(--desktop-display)!important;line-height:1.1111111111!important;
 }
 html body :is(.case-story>h2,.case-related>h2,.founder-copy>h2,.clients-heading>h2,.work-heading>h2,.services-heading>h2,#services-faq-title,.editorial-split>h2,.contact-reach>h2){
  font-size:var(--desktop-heading)!important;line-height:1.25!important;
 }
 html body :is(.editorial-intro .editorial-lead,.services-intro .editorial-lead,.work-lead,.case-hero>p,.studio-years .editorial-lead){
  font-size:var(--desktop-lead)!important;line-height:1.375!important;
 }
 html body :is(.service-card h3,.why-copy h3,.editorial-values h3,.studio-process h3){font-size:var(--desktop-card)!important;}
 html body .contact-page .contact-intro{grid-template-columns:minmax(0,1fr) max-content;gap:clamp(32px,3vw,64px);}
 html body .contact-page .contact-intro>div{container-type:inline-size;min-width:0;}
 html body .contact-page .contact-intro h1{font-size:min(var(--desktop-display),18cqi)!important;}
 html body .contact-page .contact-intro .editorial-lead{font-size:min(var(--desktop-lead),4.4cqi)!important;max-width:100%;}
 html body .contact-page .contact-intro aside{font-size:var(--desktop-lead);}
 html body .contact-page .contact-intro aside a{font-size:var(--desktop-lead);}
 html body .studio-page .studio-belief p{font-size:clamp(36px,calc(var(--desktop-content-width) * .035),56px)!important;width:calc(var(--desktop-content-width) * .84625);}
}
@media(min-width:1101px) and (max-width:1799px){
 .studio-years-copy-break{display:none;}
 html body .studio-page .studio-years .editorial-lead{max-width:100%;}
}

@media(min-width:1101px){
 html body .case-study .case-hero > p,
 html body .studio-page .studio-years .editorial-lead{font-size:var(--desktop-lead)!important;line-height:1.375!important;}
}

/* Services: spacing from the orange section to the FAQ. */
@media(min-width:1800px){
 html body main.editorial-main.services-page > section.services-faq{margin-top:180px!important;}
}

/* Match the 20px reduction above the founder on Home and Studio. */
@media(min-width:1800px){
 html body.home-page section#founder.founder.page-section{padding-top:220px!important;}
 html body main.editorial-main.studio-page > section#founder.founder.page-section{margin-top:220px!important;}
}

/* Keep the native hand cursor consistent across all actionable controls. */
html body :is(a[href],button,input[type="button"],input[type="submit"],input[type="reset"],input[type="checkbox"],input[type="radio"],select,summary,[role="button"],[role="link"],.service-options label):not(:disabled):not([aria-disabled="true"]),
html body :is(a[href],button,summary,[role="button"],[role="link"],.service-options label):not(:disabled):not([aria-disabled="true"]) *{
 cursor:pointer!important;
}
html body :is(button,input,select):disabled,
html body [aria-disabled="true"],
html body [aria-disabled="true"] *{cursor:default!important;}

.founder-copy-break{display:none;}
@media(min-width:1101px){
 html body .founder .founder-copy{container-type:inline-size;container-name:founder-copy;}

}

/* Studio metrics reuse the Home cards and desktop container. */
@media(min-width:1101px){
 html body main.studio-page > .stats.page-section{width:var(--desktop-content-width);margin-inline:auto;padding-inline:0;}
}
@media(min-width:1800px){
 html body main.studio-page > .stats.page-section article{padding:32px 40px;gap:12px;min-height:168px;}
 html body main.studio-page > .stats.page-section strong,
 html body main.studio-page > .stats.page-section strong *{font-size:54px;line-height:60px;}
 html body main.studio-page > .stats.page-section article>strong{position:relative;top:4px;}
 html body main.studio-page > .stats.page-section article>span{font-size:22px;line-height:30px;}
}

html body main.editorial-main.studio-page > section.stats.page-section{padding:0;margin-top:120px!important;}
@media(max-width:760px){html body main.editorial-main.studio-page > section.stats.page-section{margin-top:56px!important;}}

/* Authored lines apply only when the actual copy column can hold them. */
@container founder-copy (min-width:560px){
 .founder-copy-break{display:inline;}
}

/* Home trial: reveal the opening statement promptly upon viewport entry. */
@media(prefers-reduced-motion:no-preference){
 html body.home-page #statement-title .motion-line>span{transition-duration:650ms,550ms;}
 html body.home-page #statement-title.is-visible .motion-line:nth-child(2)>span{transition-delay:65ms;}
 html body.home-page #statement-title.is-visible .motion-line:nth-child(3)>span{transition-delay:130ms;}
 html body.home-page #studio-title[data-reveal]{transition-duration:550ms!important;transition-delay:0ms!important;}
}

/* Home middle display titles, updated Figma reference September 28. */
@media(min-width:1101px){
 html body.home-page .why h2#why-title,
 html body.home-page .testimonials h2#testimonials-title{
  width:100%!important;max-width:100%;margin-inline:auto;text-align:center!important;
  font-family:'GC Gudlak',sans-serif;font-size:var(--desktop-display)!important;
  font-weight:700!important;line-height:1.1111111111!important;
  letter-spacing:.02em!important;text-transform:uppercase;
 }
 html body.home-page :is(#why-title,#testimonials-title) .motion-line>span{margin-inline:auto;}
 html body.home-page .stories-heading{justify-content:center;}
}

/* Home editorial folds: title first, supporting copy on the following screen. */
@media(min-width:1101px){
 html body.home-page .hero-statement,
 html body.home-page .why .center-heading,
 html body.home-page .testimonials .stories-heading{
  min-height:100svh;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  padding-block:80px!important;margin-block:0!important;
 }
 html body.home-page #top #about.studio-section.page-section{
  min-height:100svh;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  padding-block:80px!important;margin-block:0!important;
 }
 html body.home-page #top #about #studio-title.studio-description{
  font-size:clamp(32px,3.333333vw,48px)!important;line-height:1.166666667!important;
  max-width:1080px;width:100%;margin:0 auto;text-align:center!important;
  letter-spacing:0;font-weight:400;color:rgb(255 255 255 / 96%);
 }
}
@media(min-width:1101px) and (max-width:1439px){
 html body.home-page #top #about #studio-title .intro-line-break{display:none;}
}

html body.home-page .hero-statement h1#statement-title{
 text-align:center!important;margin-inline:auto!important;
}
html body.home-page #statement-title .motion-line>span{margin-inline:auto;}

@media(prefers-reduced-motion:no-preference){
 html body.home-page :is(#statement-title,#studio-title,#why-title,#testimonials-title)[data-masked] .motion-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;}
 html body.home-page :is(#statement-title,#studio-title,#why-title,#testimonials-title)[data-masked] .motion-line>span{
  display:block;transition:transform 950ms cubic-bezier(.16,1,.3,1),opacity 750ms ease;
 }
 html body.home-page :is(#statement-title,#studio-title,#why-title,#testimonials-title)[data-masked].is-visible .motion-line:nth-child(2)>span{transition-delay:120ms;}
 html body.home-page :is(#statement-title,#studio-title,#why-title,#testimonials-title)[data-masked].is-visible .motion-line:nth-child(3)>span{transition-delay:240ms;}
 html body.home-page :is(#statement-title,#studio-title,#why-title,#testimonials-title)[data-masked].is-visible .motion-line:nth-child(4)>span{transition-delay:360ms;}
}

/* Keep the paragraph's own fold, with less empty space after the title. */
@media(min-width:1101px){
 html body.home-page #top #about.studio-section.page-section{min-height:60svh;}
}

/* Figma Home introduction: 280px after the title, 320px before Case studies. */
@media(min-width:1101px){
 html body.home-page .hero-statement{align-items:flex-end;padding-bottom:80px!important;}
 html body.home-page #top #about.studio-section.page-section{
  min-height:0;padding-top:200px!important;padding-bottom:240px!important;
 }
 html body.home-page #top section#work.work-slider-section.page-section{
  margin-top:0!important;padding-top:80px!important;
 }
}
@media(min-width:1101px){
 html body.home-page #top section#work.work-slider-section.page-section{padding-top:50px!important;}
}

/* Latest Figma Home introduction: Helixa Regular 60/68. */
@media(min-width:1101px){
 html body.home-page #top #about #studio-title.studio-description{
  font-size:clamp(36px,3.888889vw,56px)!important;line-height:1.1428571429!important;
 }
}
@media(prefers-reduced-motion:no-preference){
 html body.home-page #studio-title[data-masked].is-visible .motion-line:nth-child(5)>span{transition-delay:480ms;}
}

/* Halve the title's effective top space, including the former full-fold filler. */
@media(min-width:1101px){
 html body.home-page .hero-statement{
  min-height:0;
  padding-top:max(40px,calc((100svh - var(--desktop-display) * 3.653212 - 80px) / 2))!important;
 }
}

/* Content-only elastic settle: transform/opacity, no animated clipping or JS tweens. */
@keyframes content-rise-settle{
 0%{opacity:0;transform:translate3d(0,48px,0)}
 68%{opacity:1;transform:translate3d(0,-3px,0)}
 86%{opacity:1;transform:translate3d(0,1px,0)}
 100%{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:no-preference){
 html body.home-page main [data-reveal]:not(.hero *):not([data-masked]).reveal-pending.is-visible{
  transition:none;animation:content-rise-settle 1100ms cubic-bezier(.22,.61,.36,1) both;
 }
 html body.home-page main [data-masked]:not(.hero *).is-visible .motion-line>span{
  transition:none;animation:content-rise-settle 1100ms cubic-bezier(.22,.61,.36,1) both;
 }
 html body.home-page main [data-masked]:not(.hero *).is-visible .motion-line:nth-child(2)>span{animation-delay:100ms}
 html body.home-page main [data-masked]:not(.hero *).is-visible .motion-line:nth-child(3)>span{animation-delay:200ms}
 html body.home-page main [data-masked]:not(.hero *).is-visible .motion-line:nth-child(4)>span{animation-delay:300ms}
 html body.home-page main [data-masked]:not(.hero *).is-visible .motion-line:nth-child(n+5)>span{animation-delay:400ms}
}
@media(prefers-reduced-motion:reduce){
 html body.home-page main [data-reveal]:not(.hero *),html body.home-page main .motion-line:not(.hero *)>span{animation:none!important;transition:none!important;transform:none!important;opacity:1!important;}
}

/* Scroll-through introduction. The WebGL hero remains outside this stage. */
html body.home-page #hero-statement.intro-scroll-enabled{
 height:366svh;min-height:0;display:block;padding-block:0!important;
}
html body.home-page .intro-scroll-enabled .intro-scroll-stage{
 position:sticky;top:0;height:100svh;display:grid;align-items:center;
}
html body.home-page .intro-scroll-enabled .hero-statement-inner,
html body.home-page #top .intro-scroll-enabled #about.studio-section.page-section{
 grid-area:1/1;width:100%;min-height:0;margin:0!important;padding:0!important;
}
html body.home-page .intro-scroll-enabled #about{flex-direction:column;}
html body.home-page .intro-scroll-enabled :is(#statement-title,#studio-title){opacity:1!important;transform:none!important;animation:none!important;}
html body.home-page .intro-scroll-enabled :is(#statement-title,#studio-title) .motion-line>span{
 opacity:1!important;transform:none!important;animation:none!important;transition:none!important;
}
@media(prefers-reduced-motion:reduce){
 html body.home-page .intro-scroll-stage{display:block;}
}

html body.home-page .intro-studio-link{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:48px;font:400 24px/32px 'Helixa',sans-serif;color:rgb(255 255 255 / 96%);}
html body.home-page .intro-studio-link .line-link{display:inline-flex;align-items:center;gap:12px;font:700 24px/32px 'Helixa',sans-serif;padding-bottom:4px;border-bottom:2px solid var(--orange,#FF933C);white-space:nowrap;}
html body.home-page .intro-studio-link .line-link img{width:20px;height:20px;}
html body.home-page .intro-scroll-enabled .intro-studio-link,
html body.home-page .intro-scroll-enabled .intro-studio-link *{opacity:1!important;transform:none!important;animation:none!important;}
@media(max-width:760px){
 html body.home-page .intro-studio-link{flex-direction:column;gap:8px;margin-top:32px;font-size:18px;line-height:26px;}
 html body.home-page .intro-studio-link .line-link{font-size:18px;line-height:26px;}
}

html body.home-page .intro-scroll-enabled #studio-title .scroll-letter{display:inline;opacity:.28;transition:opacity 160ms linear;}
@media(prefers-reduced-motion:reduce){html body.home-page #studio-title .scroll-letter{opacity:1!important;transition:none!important;}}

/* Home New: September 29 editorial expertise rows. */
html body.home-page .intro-studio-link .line-link{text-transform:none;letter-spacing:0;padding:0 0 4px;}
html body.home-page #top #services.home-expertise{display:block;width:var(--desktop-content-width,calc(100% - 48px));max-width:1600px;margin-inline:auto;padding:160px 0 0;}
html body.home-page #top #services.home-expertise #services-title{font:500 clamp(32px,3.333333vw,48px)/1.333333 'GC Gudlak',sans-serif;letter-spacing:.02em;text-transform:none;white-space:normal;margin:0;}
html body.home-page .expertise-rows{margin-top:16px;}
html body.home-page .expertise-row{display:block;padding:32px 0 48px;border-bottom:1px solid #a5968c66;}
html body.home-page .expertise-number{display:block;font:400 20px/28px 'Helixa',sans-serif;color:#a5968c;opacity:.5;text-align:left;}
html body.home-page #top #services.home-expertise .expertise-row h3{margin:8px 0 0;font:500 clamp(40px,6.666667vw,96px)/1.25 'GC Gudlak',sans-serif;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(117deg,#d3b393 0%,#fff 36%);background-clip:text;-webkit-background-clip:text;color:transparent;}
html body.home-page .expertise-row p{margin:0;max-width:none;text-align:left;}
html body.home-page .expertise-row .expertise-description{font:400 24px/32px 'Helixa',sans-serif;letter-spacing:.01em;color:#fff;}
html body.home-page .expertise-row .expertise-capabilities{margin-top:8px;font:400 18px/24px 'Helixa',sans-serif;color:#a5968c;}
html body.home-page #top .home-belief{width:var(--desktop-content-width,calc(100% - 48px));max-width:1600px;margin:0 auto;padding:320px 0 120px;}
html body.home-page .home-belief p{max-width:1160px;margin:0;font:400 clamp(28px,3.333333vw,48px)/1.166667 'Helixa',sans-serif;color:rgb(255 255 255 / 96%);}
@media(max-width:760px){
 html body.home-page #top #services.home-expertise{width:calc(100% - 48px);padding-top:80px;}
 html body.home-page #top #services.home-expertise .expertise-row h3{font-size:clamp(28px,7.7vw,56px);line-height:1.25;}
 html body.home-page .expertise-row{padding:28px 0 32px;}
 html body.home-page .expertise-number{font-size:16px;line-height:24px;}
 html body.home-page .expertise-row .expertise-description{margin-top:16px;font-size:20px;line-height:28px;}
 html body.home-page .expertise-row .expertise-capabilities{font-size:16px;line-height:24px;}
 html body.home-page #top .home-belief{width:calc(100% - 48px);padding:80px 0;}
}


html body.home-page #top #services.home-expertise .expertise-row h3{font-family:'GC Gudlak',sans-serif!important;}

/* Scale the title from its left edge, with the same easing on hover and release. */
html body.home-page #top #services.home-expertise .expertise-row h3{display:grid;background:none;color:inherit;}
html body.home-page .expertise-row h3>span{grid-area:1/1;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;background:linear-gradient(117deg,#d3b393 0%,#fff 36%);background-clip:text;-webkit-background-clip:text;color:transparent;}
html body.home-page .expertise-title-regular{display:block;width:fit-content;max-width:100%;font-weight:500;opacity:1;transform:scale(1);transform-origin:left center;transition:transform 650ms cubic-bezier(.22,1,.36,1);}
html body.home-page .expertise-title-bold{display:none;}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html body.home-page .expertise-row:hover .expertise-title-regular{transform:scale(1.025);}
}
@media(prefers-reduced-motion:reduce){html body.home-page .expertise-title-regular{transition:none;}}
html body.home-page #top #services.home-expertise .expertise-row h3>span{font-family:'GC Gudlak',sans-serif!important;}
html body.home-page .expertise-row :is(.expertise-description,.expertise-capabilities){font-weight:350;}

/* Large desktop Stories: compact section lead-in and half title padding. */
@media(min-width:1800px){
 html body.home-page #top .testimonials.page-section{padding-top:160px!important;}
 html body.home-page #top .testimonials .stories-heading{min-height:0;padding-block:40px!important;}
}

/* Client relationships: authored desktop lines and the intro's letter reveal. */
html body.home-page #top .home-belief p{max-width:1200px;margin-inline:auto;text-align:center;font:400 clamp(28px,3.888889vw,56px)/1.142857 'Helixa',sans-serif;opacity:1!important;transform:none!important;animation:none!important;}
html body.home-page .home-belief p>span{display:block;white-space:nowrap;}
html body.home-page .home-belief .scroll-letter{opacity:.28;transition:opacity 160ms linear;}
@media(max-width:760px){
 html body.home-page #top .home-belief p{font-size:24px;line-height:32px;}
 html body.home-page .home-belief p>span{display:inline;white-space:normal;}
}
@media(hover:hover) and (pointer:fine){
 html body.home-page .expertise-row:hover .expertise-title-regular{font-weight:700;}
}
@media(prefers-reduced-motion:reduce){html body.home-page .home-belief .scroll-letter{opacity:1!important;transition:none;}}

/* One spacing owner for the Stories title, without a viewport-height spacer. */
@media(min-width:761px){
 html body.home-page #top .testimonials.page-section{padding-top:0!important;}
 html body.home-page #top .testimonials .stories-heading{min-height:0;margin-block:0!important;padding-top:160px!important;padding-bottom:120px!important;}
 html body.home-page #top .testimonials .stories-heading h2{margin-block:0!important;}
 html body.home-page #top .testimonials .stories-layout{margin-top:0!important;}
}

/* Shared Home/Studio client cards: fluid sizing capped at 360 × 240. */
html body:is(.home-page,.editorial-page) #top .clients.page-section .figma-client-rows .client-row>li{
 --client-card-width:clamp(180px,calc(120px + 12.5vw),360px);
 width:var(--client-card-width);
 flex:0 0 var(--client-card-width);
 height:auto;
 aspect-ratio:3/2;
}

/* Center the Why Artocea prompt and link together at every viewport size. */
html body.home-page #top .why .why-contact.work-contact{
 justify-content:center;
 align-items:center;
 text-align:center;
 width:100%;
 margin-inline:auto;
}

/* Stories lead-in and the client relationship reading fold. */
@media(min-width:761px){
 html body.home-page #top .testimonials .stories-heading{padding-top:240px!important;}
}
html body.home-page #top .home-belief.belief-scroll-enabled{
 height:calc(280svh + 160px);box-sizing:border-box;max-width:none;width:100%;padding:80px 0 80px!important;position:relative;
}
html body.home-page .belief-scroll-enabled .belief-scroll-stage{
 position:sticky;top:0;height:100svh;display:grid;place-items:center;
}
html body.home-page .belief-scroll-copy{width:var(--desktop-content-width,calc(100% - 48px));max-width:1200px;margin-inline:auto;}
@media(max-width:760px){html body.home-page .belief-scroll-copy{width:calc(100% - 48px);}}

/* Keep the reference founder lines intact throughout desktop widths. */
@media(min-width:1101px){
 html body:is(.home-page,.editorial-page) #top .founder.page-section .founder-copy{container-type:inline-size;}
 html body:is(.home-page,.editorial-page) #top .founder.page-section .founder-copy>p:not(.eyebrow){
  font-size:clamp(16px,4.2cqw,32px);line-height:1.333333;max-width:none;width:100%;white-space:nowrap;letter-spacing:0;
 }
 html body .founder .founder-copy-break{display:inline;}
}

/* The studio invitation follows the completed paragraph reveal. */
html body.home-page .intro-scroll-enabled #about .intro-studio-link{
 opacity:var(--intro-link-opacity,0)!important;
}

/* Gently fade in the invitation after the paragraph has finished revealing. */
html body.home-page .intro-scroll-enabled #about .intro-studio-link{
 transition:opacity 700ms cubic-bezier(.22,1,.36,1);
}
@media(prefers-reduced-motion:reduce){
 html body.home-page #about .intro-studio-link{transition:none;}
}

/* Add 80px to the three desktop section gaps in the September 29 review. */
@media(min-width:761px){
 html body.home-page #top #services.home-expertise{padding-top:240px!important;padding-bottom:80px;}
 html body.home-page #top .testimonials .stories-heading{padding-top:320px!important;}
}
@media(min-width:1800px){
 html body.home-page #top #services.home-expertise{padding-top:320px!important;}
}

/* Give client marks a little more breathing room within their cards. */
html body:is(.home-page,.editorial-page) #top .clients .figma-client-rows .client-row>li>img{
 transform:none;
}

/* Tighten the space between the Why title and its cards by 40px. */
@media(min-width:761px){
 html body.home-page #top .why .why-grid{margin-top:55px;}
}

/* Pin the editorial titles with one scroll owner and no competing reveal. */
html body.home-page #top .editorial-title-track.is-pinned-title{height:230svh;position:relative;}
html body.home-page #top .is-pinned-title :is(.center-heading,.stories-heading){
 position:sticky;top:0;height:100svh;min-height:0;box-sizing:border-box;
 display:grid;place-items:center;padding:32px 0!important;margin:0!important;
 opacity:1!important;transform:none!important;animation:none!important;
}
html body.home-page #top .is-pinned-title .editorial-title-content{width:100%;text-align:center;}
html body.home-page #top .is-pinned-title :is(h2,.motion-line>span){opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
html body.home-page #top .is-pinned-title #why-title{font-size:min(var(--desktop-display,12vw),18svh)!important;}
html body.home-page #top .is-pinned-title #testimonials-title{font-size:min(var(--desktop-display,12vw),23svh)!important;}
@media(max-width:760px){
 html body.home-page #top .is-pinned-title :is(#why-title,#testimonials-title){font-size:clamp(32px,10vw,72px)!important;}
}

/* Figma 389:1603: centered testimonial deck, 900 × 540 at full size. */
html body.home-page #top .stories-stack-section .stories-layout{display:block;width:100%;max-width:none;overflow:visible;}
html body.home-page #top .stories-stack-section .stories-stage{display:grid;width:min(900px,calc(100vw - 48px));margin-inline:auto;gap:24px;overflow:visible;transform:none;}
html body.home-page #top .stories-stack-section .story-panel{
 box-sizing:border-box;width:100%;min-width:0;min-height:540px;height:auto;margin:0;padding:72px;
 display:flex;flex-direction:column;justify-content:space-between;gap:48px;border-radius:16px;
 background:#fff;color:#201e1c;transform-origin:50% 80%;box-shadow:0 8px 32px #0000000a;
}
html body.home-page #top .stories-stack-section .story-panel blockquote{margin:0;font:400 36px/48px 'Helixa',sans-serif;letter-spacing:0;color:#201e1c;}
html body.home-page #top .stories-stack-section .story-panel figcaption{display:flex;align-items:center;gap:16px;margin:0;color:#201e1c;}
html body.home-page #top .stories-stack-section .story-panel figcaption img{width:60px;height:60px;object-fit:contain;}
html body.home-page #top .stories-stack-section .story-panel figcaption>div>span{font:700 24px/28px 'Helixa',sans-serif;}
html body.home-page #top .stories-stack-section .story-meta{font:400 16px/20px 'Helixa',sans-serif;margin-top:4px;display:block;}
html body.home-page #top .has-scroll-stack .stories-layout{height:calc((var(--stack-count) - 1) * 150svh + 205svh);}
html body.home-page #top .has-scroll-stack .testimonial-stack-pin{position:sticky;top:0;height:100svh;display:grid;place-items:center;}
html body.home-page #top .has-scroll-stack .stories-stage{position:relative;display:grid;}
html body.home-page #top .has-scroll-stack .story-panel{grid-area:1/1;transition:none;will-change:transform;}
html body.home-page #top .stories-stack-section .story-panel :is(blockquote,figcaption){opacity:1!important;transform:none!important;animation:none!important;}
@media(max-width:1000px){
 html body.home-page #top .stories-stack-section .story-panel{padding:40px;min-height:460px;gap:32px;}
 html body.home-page #top .stories-stack-section .story-panel blockquote{font-size:28px;line-height:38px;}
}
@media(max-width:760px){
 html body.home-page #top .stories-stack-section .story-panel{padding:28px;min-height:420px;gap:28px;}
 html body.home-page #top .stories-stack-section .story-panel blockquote{font-size:22px;line-height:30px;}
 html body.home-page #top .stories-stack-section .story-panel figcaption>div>span{font-size:18px;line-height:24px;}
 html body.home-page #top .stories-stack-section .story-meta{font-size:13px;line-height:18px;}
}

html body.home-page #top .stories-stack-section .story-panel blockquote{width:100%;max-width:738px;}

/* Crossfade the surface color without making the front testimonial transparent. */
html body.home-page #top .has-scroll-stack .story-panel{
 transition:background-color 400ms cubic-bezier(.22,1,.36,1);
}
@media(prefers-reduced-motion:reduce){
 html body.home-page #top .stories-stack-section .story-panel{transition:none;}
}

/* Overlap the title's outgoing fold so the deck follows without an empty screen. */
html body.home-page #top .stories-stack-section.has-scroll-stack .stories-layout{
 margin-top:-35svh!important;
 position:relative;
}
@media(prefers-reduced-motion:reduce){
 html body.home-page #top .stories-stack-section .stories-layout{margin-top:0!important;}
}

/* Keep the cards solid while their vertical positions follow native scrolling. */
html body.home-page #top .why-grid>article.why-card-floating{
 opacity:var(--why-card-opacity,1)!important;animation:none!important;transition:none!important;
 will-change:translate,opacity;
}

html body.home-page #top .why .why-grid{gap:24px!important;}

/* Reveal the contact prompt only after the cards settle and scrolling continues. */
html body #top .why .why-contact.why-contact-delayed{
 opacity:0!important;transition:opacity 700ms cubic-bezier(.22,1,.36,1)!important;
 pointer-events:none;animation:none!important;
}
html body #top .why .why-contact.why-contact-delayed.why-contact-ready{opacity:1!important;pointer-events:auto;}

/* Bring the cards into the outgoing title fold, with a subtle scale settle. */
@media(prefers-reduced-motion:no-preference){
 html body #top .why .editorial-title-track.is-pinned-title + .why-grid{margin-top:-25svh!important;position:relative;}
}
html body #top .why-grid>article.why-card-floating{transform-origin:50% 0;will-change:translate,scale;}

/* Hold the settled composition before revealing its invitation. */
html body #top .why-cards-hold.is-active{position:relative;padding-bottom:0;height:calc(var(--cards-height,700px) + 110svh);margin-top:0;}
html body #top .why-cards-hold.is-active .why-cards-pin{position:sticky;top:24px;}
html body #top .why-cards-hold .why-grid{margin-top:0!important;}
html body #top .why-cards-hold .why-contact{margin-top:48px!important;}

html body #top .why-grid>article.why-card-floating{opacity:var(--why-card-opacity,1)!important;}

/* Smooth surface-only hover, independent of the scroll animation. */
html body #top .why .why-grid>article,
html body.home-page #top .why .why-grid>article.why-card-floating{
 transition:background-color 650ms cubic-bezier(.22,1,.36,1)!important;
}
@media(hover:hover) and (pointer:fine){
 html body #top .why .why-grid>article:hover{background-color:#fff!important;}
}
@media(prefers-reduced-motion:reduce){
 html body #top .why .why-grid>article{transition:none!important;}
}

/* Softly follow native scrolling while each title line reveals. */
@media(prefers-reduced-motion:no-preference){
 html body.home-page #top #statement-title .motion-line>span,
 html body.home-page #top .is-pinned-title .motion-line>span,
 html body #top :is(#philosophy-title,#work-title,#clients-title,#services-title,#founder-title) .motion-line>span{
 transition:transform 260ms cubic-bezier(.2,.65,.3,1),opacity 260ms ease-out!important;
 }
}

/* The card invitation fades as one stationary group. */
html body #top .why .why-contact,
html body #top .why .why-contact :is(p,a,span,img){
 transform:none!important;translate:none!important;scale:none!important;animation:none!important;
}
html body #top .why .why-contact :is(p,a,span,img){
 opacity:1!important;transition:none!important;
}

html body.home-page #top .home-belief + .clients.page-section{padding-top:80px!important;}

html body #top .clients .client-rows.client-carousel-arrival{
 opacity:var(--clients-enter,0)!important;
 translate:0 calc(48px * (1 - var(--clients-enter,0)))!important;
 transition:opacity 320ms ease-out,translate 320ms cubic-bezier(.22,1,.36,1)!important;
}

html body #top .founder .founder-fade{
 opacity:0!important;transform:none!important;translate:none!important;animation:none!important;
 transition:opacity 1000ms cubic-bezier(.22,1,.36,1) var(--founder-fade-delay,0ms)!important;
}
html body #top .founder .founder-fade.founder-fade-visible{opacity:1!important;}
html body #top .founder .founder-fade :is(img,span){opacity:1!important;transform:none!important;translate:none!important;animation:none!important;}
@media(prefers-reduced-motion:reduce){html body #top .founder .founder-fade{opacity:1!important;transition:none!important;}}

html body .contact-panel .footer-arrival{
 opacity:0!important;animation:none!important;transform:none!important;translate:none!important;
 transition:opacity 1000ms cubic-bezier(.22,1,.36,1) var(--footer-delay,0ms)!important;
}
html body .contact-panel .footer-arrival.footer-arrived{opacity:1!important;}
html body .contact-panel .footer-arrival :is(span,img,a){opacity:1!important;animation:none!important;transform:none!important;translate:none!important;}
@media(prefers-reduced-motion:reduce){html body .contact-panel .footer-arrival{opacity:1!important;transition:none!important;}}

html body #top #work .case-arrival{
 opacity:0!important;
 transition:opacity 1000ms cubic-bezier(.22,1,.36,1) var(--case-delay,0ms)!important;
}
html body #top #work .case-arrival.case-arrived{opacity:1!important;}
@media(prefers-reduced-motion:reduce){html body #top #work .case-arrival{opacity:1!important;transition:none!important;}}

/* Lightweight staggered CSS entrance; heading hover remains independent. */
@keyframes expertise-content-arrive{
 from{filter:opacity(0);translate:0 28px;}
 to{filter:opacity(1);translate:0 0;}
}
@media(prefers-reduced-motion:no-preference){
 html body #top .home-expertise .expertise-enter>:is(.expertise-number,h3,.expertise-description,.expertise-capabilities){
 opacity:0!important;
 }
 html body #top .home-expertise .expertise-enter.expertise-entered>:is(.expertise-number,h3,.expertise-description,.expertise-capabilities){
 opacity:1!important;
 animation:expertise-content-arrive 950ms cubic-bezier(.22,1,.36,1) both!important;
 }
 html body #top .home-expertise .expertise-enter.expertise-entered>h3{animation-delay:70ms!important;}
 html body #top .home-expertise .expertise-enter.expertise-entered>.expertise-description{animation-delay:140ms!important;}
 html body #top .home-expertise .expertise-enter.expertise-entered>.expertise-capabilities{animation-delay:210ms!important;}
}

html body #top #approach .approach-copy-arrival{
 opacity:0!important;translate:0 24px!important;transform:none!important;animation:none!important;
 transition:opacity 1100ms cubic-bezier(.22,1,.36,1),translate 1100ms cubic-bezier(.22,1,.36,1)!important;
}
html body #top #approach .approach-copy-arrival.approach-copy-visible{opacity:1!important;translate:0 0!important;}
@media(prefers-reduced-motion:reduce){html body #top #approach .approach-copy-arrival{opacity:1!important;translate:none!important;transition:none!important;}}

/* Service content transitions independently from its title's hover scale. */
@media(prefers-reduced-motion:no-preference){
 html body #top #services.home-expertise .expertise-enter>:is(.expertise-number,h3,.expertise-description,.expertise-capabilities){
 animation:none!important;filter:none!important;opacity:0!important;translate:0 24px!important;
 transition:opacity 1000ms cubic-bezier(.22,1,.36,1),translate 1000ms cubic-bezier(.22,1,.36,1)!important;
 }
 html body #top #services.home-expertise .expertise-enter.expertise-entered>:is(.expertise-number,h3,.expertise-description,.expertise-capabilities){opacity:1!important;translate:0 0!important;}
 html body #top #services.home-expertise .expertise-enter>h3{transition-delay:80ms!important;}
 html body #top #services.home-expertise .expertise-enter>.expertise-description{transition-delay:160ms!important;}
 html body #top #services.home-expertise .expertise-enter>.expertise-capabilities{transition-delay:240ms!important;}
 html body #top #services.home-expertise .expertise-enter{border-bottom-color:transparent;transition:border-bottom-color 1100ms ease 240ms;}
 html body #top #services.home-expertise .expertise-enter.expertise-entered{border-bottom-color:rgba(211,179,147,.3);}
}

/* Override older always-visible rules on founder and footer content. */
html body #top .founder.page-section .founder-fade,
html body #top footer.contact-panel .footer-arrival{
 opacity:0!important;translate:0 20px!important;transform:none!important;animation:none!important;
 transition:opacity 1300ms cubic-bezier(.22,1,.36,1),translate 1300ms cubic-bezier(.22,1,.36,1)!important;
 transition-delay:var(--founder-fade-delay,var(--footer-delay,0ms))!important;
}
html body #top .founder.page-section .founder-fade.founder-fade-visible,
html body #top footer.contact-panel .footer-arrival.footer-arrived{opacity:1!important;translate:0 0!important;}
@media(prefers-reduced-motion:reduce){
 html body #top .founder.page-section .founder-fade,
 html body #top footer.contact-panel .footer-arrival{opacity:1!important;translate:none!important;transition:none!important;}
}

html body .contact-panel .footer-line-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;}
html body .contact-panel .footer-line-content{display:block;transition:opacity 220ms linear,translate 220ms cubic-bezier(.22,1,.36,1)!important;}
html body .contact-panel .contact-details>a{transition:opacity 220ms linear,translate 220ms cubic-bezier(.22,1,.36,1)!important;}

/* Founder elements move as whole blocks; disable nested competing reveals. */
html body #top .founder .founder-photo img,
html body #top .founder .founder-copy>p :is(span,br),
html body #top .founder .founder-copy>a :is(span,img){
 animation:none!important;transform:none!important;translate:none!important;opacity:1!important;
}

/* Fixed-duration CSS motion is visible at any scroll speed; no animation library. */
@keyframes site-text-fade-rise{
 from{filter:opacity(0);transform:translate3d(0,20px,0);}
 to{filter:opacity(1);transform:translate3d(0,0,0);}
}
@media(prefers-reduced-motion:no-preference){
 html body main .site-text-reveal{filter:opacity(0);}
 html body main .site-text-reveal.site-text-visible{
 opacity:1!important;translate:none!important;
 animation:site-text-fade-rise 1100ms cubic-bezier(.22,1,.36,1) var(--text-reveal-delay,0ms) both!important;
 }
}
@media(prefers-reduced-motion:reduce){html body main .site-text-reveal{filter:none!important;animation:none!important;}}

@keyframes title-word-rise{from{transform:translate3d(0,120%,0);}to{transform:translate3d(0,0,0);}}
html body.home-page #top .cuberto-title .motion-line>span{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
html body.home-page #top .cuberto-title .title-word-mask{display:inline-block;overflow:clip;vertical-align:top;margin:-.12em 0;padding:0;}
html body.home-page #top .cuberto-title .title-word{display:inline-block;padding:.12em 0;transform:translate3d(0,120%,0);}
html body.home-page #top .cuberto-title.cuberto-title-visible .title-word{animation:title-word-rise 1250ms cubic-bezier(.16,1,.3,1) var(--word-delay,0ms) both;}
@media(prefers-reduced-motion:reduce){html body.home-page #top .cuberto-title .title-word{transform:none!important;animation:none!important;}}

/* A single reversible owner for the title masks. */
html body.home-page #top .cuberto-title{filter:none!important;animation:none!important;}
html body.home-page #top .cuberto-title .title-word{
 animation:none!important;transform:translate3d(0,120%,0);
 transition:transform 1550ms cubic-bezier(.22,.8,.2,1) var(--word-delay,0ms)!important;
}
html body.home-page #top .cuberto-title.cuberto-title-visible .title-word{transform:translate3d(0,0,0);animation:none!important;}
@media(prefers-reduced-motion:reduce){html body.home-page #top .cuberto-title .title-word{transform:none!important;transition:none!important;}}

/* Scroll progress owns line movement; avoid lag from a second CSS transition. */
html body.home-page #top .cuberto-title.scroll-sensitive-title .title-word{transition:none!important;}

/* Service text and divider share the same reversible scroll progress. */
html body #top .home-expertise .expertise-scroll{position:relative;border-bottom-color:transparent!important;}
html body #top .home-expertise .expertise-scroll::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(211,179,147,.3);transform:scaleX(var(--service-line,0));transform-origin:left center;}
html body #top .home-expertise .expertise-scroll>:is(.expertise-number,h3,.expertise-description,.expertise-capabilities){animation:none!important;filter:none!important;transition:none!important;}

/* Footer headings reveal through full line masks, without a competing parent fade. */
html body #top .contact-panel .contact-copy>h2.footer-masked-title{opacity:1!important;transform:none!important;translate:none!important;filter:none!important;animation:none!important;}
html body #top .contact-panel .footer-masked-title .footer-line-content{transition:none!important;}
@media(prefers-reduced-motion:reduce){html body #top .contact-panel .footer-masked-title .footer-line-content{translate:none!important;transition:none!important;}}

/* Animate carousel containers without interfering with slide/caption selection. */
html body #top #work .case-scroll-reveal{animation:none!important;transition:none!important;filter:none!important;}
@media(prefers-reduced-motion:reduce){html body #top #work .case-scroll-reveal{opacity:1!important;translate:none!important;}}

/* Continuous desktop sizing: retain mobile rules and the WebGL hero composition. */
@media(min-width:1024px){
 html body #top :is(.home-expertise,.why-grid,.founder-copy,.contact-copy){min-width:0;}
 html body.home-page #top #services.home-expertise{container-type:inline-size;}
 html body.home-page #top #services.home-expertise .expertise-row h3{font-size:clamp(44px,7.4cqw,112px)!important;line-height:1.2!important;overflow-wrap:normal;}
 html body.home-page #top .expertise-row .expertise-description{font-size:clamp(20px,1.5vw,28px);line-height:1.4;}
 html body.home-page #top .expertise-row .expertise-capabilities{font-size:clamp(16px,1.125vw,21px);line-height:1.5;}
 html body.home-page #top .why-grid{gap:24px!important;}
 html body.home-page #top .why-grid article{min-width:0;padding:clamp(28px,3vw,48px);}
 html body.home-page #top .why-grid h3{font-size:clamp(26px,2.25vw,40px)!important;line-height:1.2!important;}
 html body.home-page #top .why-grid .why-copy p{font-size:clamp(16px,1.15vw,20px)!important;line-height:1.5!important;}
 html body.home-page #top .stories-stack-section .stories-stage{width:min(900px,calc(100vw - 2 * clamp(48px,7vw,120px)));}
 html body.home-page #top .stories-stack-section .story-panel{padding:clamp(36px,4.5vw,72px);min-height:clamp(420px,65svh,540px);gap:clamp(24px,3vw,48px);}
 html body.home-page #top .stories-stack-section .story-panel blockquote{font-size:clamp(25px,min(2.25vw,4.7svh),36px);line-height:1.333333;}
 html body #top .contact-panel .contact-copy{container-type:inline-size;}
 html body #top .contact-panel .contact-copy>h2{font-size:clamp(56px,10.8cqw,144px)!important;line-height:1.2!important;}
 html body #top .contact-panel .footer-title-copy{font-size:1em!important;line-height:1.2!important;}
 html body #top .contact-panel .contact-details{min-width:0;}
 html body #top .contact-panel .contact-details>a{font-size:clamp(20px,2.2vw,36px);overflow-wrap:anywhere;}
 html body #top .footer-bottom{gap:clamp(16px,2vw,32px);flex-wrap:wrap;}
 html body #top .work-slide-caption h3{font-size:clamp(24px,2vw,36px)!important;line-height:1.3!important;}
}

@media(min-width:1024px){
 html body.home-page #top .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html body.home-page #top .why-grid article{container-type:inline-size;min-height:clamp(270px,21vw,336px);}
 html body.home-page #top .why-grid .why-art{width:clamp(120px,32cqw,220px);height:clamp(120px,32cqw,220px);right:clamp(20px,3cqw,36px);}
 html body.home-page #top .why-grid .why-art img{width:100%;height:100%;object-fit:contain;}
 html body.home-page #top .why-grid .why-copy{max-width:62%;min-width:0;}
 html body.home-page #top .why-grid .why-copy h3{font-size:clamp(24px,5.8cqw,40px)!important;line-height:1.2!important;}
 html body.home-page #top .why-grid .eyebrow{font-size:clamp(13px,1.1vw,18px);}
 html body #top .founder-photo{max-width:100%;}
 html body #top .founder-photo>img{width:100%;height:auto;object-fit:contain;}
 html body #top :is(.case-image,.case-brand-board,.case-brand-pair,.case-phone-trio) img{max-width:100%;height:auto;}
 html body #top .contact-panel .footer-wordmark img{width:100%;max-width:100%;height:auto;}
}

/* Keep compact-screen navigation anchored to the viewport, with equal edge insets. */
@media(max-width:1100px){
 html body .site-header.editorial-header{position:fixed!important;inset:0 0 auto!important;width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:clamp(24px,3.9vw,40px) clamp(24px,3.9vw,40px)!important;}
 html body .site-header.editorial-header .wordmark{display:block;flex:0 0 auto;width:clamp(112px,14.2vw,145px)!important;height:auto!important;margin:0!important;}
 html body .site-header.editorial-header .wordmark img{display:block;width:100%!important;height:auto!important;}
 html body .site-header.editorial-header .editorial-menu-button{position:relative!important;inset:auto!important;flex:0 0 auto;margin:0 0 0 auto!important;width:48px!important;height:48px!important;transform:none!important;}
}

/* Full-bleed client rails must not widen the document on large screens. */
html body.home-page #top .clients .client-rows{width:100vw;max-width:100vw;margin-inline:calc((100% - 100vw)/2);overflow-x:clip;}
html body .site-header.editorial-header .editorial-menu-button{box-sizing:border-box!important;}

/* Header uses viewport gutters, independent of the editorial content container. */
html body .site-header.editorial-header{
 position:fixed!important;inset:0 0 auto!important;box-sizing:border-box!important;
 width:100%!important;max-width:none!important;margin:0!important;
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 padding:40px!important;
}
html body .site-header.editorial-header .wordmark{flex:0 0 auto;margin:0!important;}
html body .site-header.editorial-header .editorial-menu-button{position:relative!important;inset:auto!important;margin:0 0 0 auto!important;box-sizing:border-box!important;transform:none!important;}
@media(max-width:600px){html body .site-header.editorial-header{padding:24px!important;}}

/* Native hand on actions; only active work VIEW surfaces replace it. */
html body :is(a[href],button,summary,[role="button"],[role="link"],input[type="submit"],input[type="button"],input[type="reset"],input[type="checkbox"],input[type="radio"],select,.service-options label):not(:disabled):not([aria-disabled="true"]),
html body :is(a[href],button,summary,[role="button"],[role="link"],.service-options label):not(:disabled):not([aria-disabled="true"]) * { cursor:pointer!important; }
@media(hover:hover) and (pointer:fine){
 html body .work-deck.has-arrow-cursor a[href],
 html body .work-deck.has-arrow-cursor a[href] *,
 html body #work a.project.has-open-cursor,
 html body #work a.project.has-open-cursor *,
 html body .case-related-grid a .case-image.has-open-cursor,
 html body .case-related-grid a .case-image.has-open-cursor * { cursor:none!important; }
}
/* Preserve authored desktop paragraph lines at every desktop width. */
@media(min-width:1024px){
 html body.home-page #top #about #studio-title.studio-description { font-size:clamp(30px,3.333333vw,48px)!important;line-height:1.2!important;max-width:1080px;width:100%; }
 html body.home-page #top #about #studio-title .intro-line-break { display:inline!important; }
}

/* Scale the complete testimonial composition together on desktop. */
@media(min-width:1024px){
 html body.home-page #top .stories-stack-section .stories-stage { width:min(900px,68vw,100svh);container-type:inline-size; }
 html body.home-page #top .stories-stack-section .story-panel { padding:8cqw;min-height:60cqw;gap:5.333333cqw;border-radius:2cqw; }
 html body.home-page #top .stories-stack-section .story-panel blockquote { font-size:4cqw;line-height:1.333333;max-width:none; }
 html body.home-page #top .stories-stack-section .story-panel figcaption { gap:1.777778cqw; }
 html body.home-page #top .stories-stack-section .story-panel figcaption img { width:6.666667cqw;height:6.666667cqw; }
 html body.home-page #top .stories-stack-section .story-panel figcaption>div>span { font-size:2.666667cqw;line-height:1.2; }
 html body.home-page #top .stories-stack-section .story-meta { font-size:1.777778cqw;line-height:1.3; }
}

/* More room for founder copy and a quieter invitation on compact desktops. */
@media(min-width:1101px) and (max-width:1600px){
 html body:is(.home-page,.editorial-page) #top .founder.page-section { grid-template-columns:minmax(0,42fr) minmax(0,52fr);column-gap:6%; }
 html body:is(.home-page,.editorial-page) #top .founder.page-section .founder-copy>p:not(.eyebrow) { width:100%;max-width:none;font-size:4cqw;line-height:1.5; }
}
@media(min-width:761px) and (max-width:1600px){
 html body .founder .founder-copy .line-link,
 html body .founder .founder-copy .line-link span { font-size:clamp(18px,1.5vw,22px)!important;line-height:1.4!important;letter-spacing:0; }
 html body .founder .founder-copy .line-link { width:fit-content;max-width:100%;gap:16px; }
 html body .founder .founder-copy .line-link img { width:1em;height:1em; }
}

/* Shared compact-desktop type scale: secondary copy follows viewport size. */
@media(min-width:761px) and (max-width:1600px){
 html body { --compact-link:clamp(18px,1.5vw,24px);--compact-copy:clamp(16px,1.25vw,20px);--compact-meta:clamp(13px,1vw,16px); }
 html body :is(.line-link,.line-link span,.studio-founder-link,.intro-studio-link,.intro-studio-link>span,.why-contact,.why-contact>span,.work-contact,.work-contact>span) { font-size:var(--compact-link)!important;line-height:1.4!important; }
 html body :is(.line-link,.studio-founder-link) img { width:1em!important;height:1em!important; }
 html body :is(.expertise-description,.expertise-capabilities,.work-project-services,.project-services,.philosophy-note,.studio-process p,.editorial-values p,.case-story>p,.contact-top p,.contact-copy>p) { font-size:var(--compact-copy)!important;line-height:1.5!important; }
 html body :is(.eyebrow,.founder-photo small,.footer-bottom,.footer-bottom a,.case-meta,.project-meta) { font-size:var(--compact-meta)!important;line-height:1.5!important; }
 html body :is(.editorial-lead,.work-lead,.studio-thinking p) { font-size:clamp(20px,1.75vw,28px)!important;line-height:1.5!important; }
}

@media(min-width:1024px) and (max-width:1600px){
 html body.home-page #top .why .why-grid>article { height:auto;min-height:0;grid-template-rows:auto auto;row-gap:clamp(28px,2.5vw,40px);padding:clamp(28px,3vw,48px);align-content:start; }
 html body.home-page #top .why .why-grid>article>.eyebrow { margin:0; }
 html body.home-page #top .why .why-grid>article .why-copy { align-self:start;margin:0; }
 html body.home-page #top .why .why-grid>article .why-copy p { margin-bottom:0; }
}

@media(min-width:1024px){
 html body #top #approach { container-type:inline-size; }
 html body #top #approach #philosophy-title { font-size:clamp(64px,9cqw,144px)!important;line-height:1.2!important; }
 html body #top #approach .philosophy-description { font-size:2.15cqw!important;line-height:1.5!important;width:60ch;max-width:100%; }
}

/* Compact desktops retain the founder's two-column composition. */
@media(min-width:1024px) and (max-width:1600px){
 html body:is(.home-page,.editorial-page) #top .founder.page-section { display:grid!important;grid-template-columns:minmax(0,42fr) minmax(0,52fr)!important;column-gap:6%!important;align-items:center; }
 html body #top .founder.page-section .founder-copy { min-width:0;container-type:inline-size;padding-top:0; }
 html body #top .founder.page-section .founder-copy>p:not(.eyebrow) { font-size:4cqw!important;line-height:1.5!important;width:100%;max-width:none;white-space:nowrap; }
 html body #top .founder.page-section .founder-copy-break { display:inline; }
 html body #top .founder.page-section .founder-photo { width:100%;min-width:0;max-width:none;margin:0; }
 html body #top .founder.page-section .founder-copy #founder-title { font-size:clamp(36px,9cqw,64px)!important;line-height:1.2!important; }
}

@media(min-width:1024px) and (max-width:1600px){
 html body #top .founder.page-section>.founder-photo { grid-column:1!important;grid-row:1!important; }
 html body #top .founder.page-section>.founder-copy { grid-column:2!important;grid-row:1!important;width:100%;max-width:100%; }
}

/* Keep the founder heading beside the portrait, below the head's top edge. */
@media(min-width:1024px) and (max-width:1600px){
 html body #top .founder.page-section>.founder-copy { align-self:center;padding-top:clamp(48px,5vw,80px)!important;padding-bottom:0!important;box-sizing:border-box; }
 html body #top .founder.page-section .founder-copy #founder-title { max-width:100%;margin-left:0; }
}

/* Responsive hierarchy shared by Home, editorial pages, and case studies. */
html body :is(.editorial-main,.case-study,.work-page main) :is(h1,h2,h3){line-height:1.2;}
html body :is(.editorial-container,.case-container,.services-detail-card,.case-story,.editorial-split)>*{min-width:0;}
html body :is(.studio-process li,.editorial-values li)::before{top:0;text-align:left;}
html body .contact-work li{align-items:flex-start;}
@media(min-width:1024px){
 html body :is(.editorial-main,.case-study) :is(.editorial-lead,.case-hero>p){font-size:clamp(22px,2vw,32px)!important;line-height:1.4!important;}
 html body :is(.services-detail-copy,.services-detail-copy p,.services-mix-copy p,.case-copy p,.editorial-values p,.studio-process p){font-size:clamp(18px,1.5vw,24px)!important;line-height:1.5!important;}
 html body .founder.page-section{display:grid!important;grid-template-columns:minmax(0,42fr) minmax(0,52fr)!important;column-gap:6%!important;align-items:center;}
 html body .founder.page-section>.founder-photo{grid-column:1!important;grid-row:1!important;width:100%;max-width:none;margin:0;}
 html body .founder.page-section>.founder-copy{grid-column:2!important;grid-row:1!important;min-width:0;width:100%;container-type:inline-size;align-self:center;padding-top:clamp(48px,5vw,80px);padding-bottom:0;}
 html body .founder.page-section .founder-copy>p:not(.eyebrow){font-size:clamp(18px,4cqw,32px)!important;line-height:1.5!important;width:100%;max-width:none;white-space:nowrap;}
 html body .founder.page-section .founder-copy-break{display:inline;}
 html body .founder.page-section #founder-title{font-size:clamp(36px,9cqw,72px)!important;line-height:1.2!important;}
}
@media(max-width:1023px){
 html body{--responsive-body:clamp(16px,1.1vw + 12px,20px);--responsive-lead:clamp(20px,1.7vw + 13px,28px);--responsive-link:clamp(16px,1vw + 12px,20px);--responsive-meta:clamp(13px,.65vw + 10px,16px);}
 html body .editorial-main{--editorial-gutter:clamp(24px,4vw,40px);}
 html body :is(.editorial-container,.case-study .case-container){width:calc(100% - 2 * clamp(24px,4vw,40px));max-width:100%;margin-inline:auto;}
 html body :is(.editorial-intro,.case-study .case-hero){padding-top:clamp(132px,18vw,176px);}
 html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-page #work-page-title){font-size:clamp(32px,8.2vw,80px)!important;line-height:1.2!important;letter-spacing:0!important;}
 html body :is(.editorial-main h2.editorial-title,.case-study h2,.clients #clients-title,.founder #founder-title){font-size:clamp(30px,5.4vw,54px)!important;line-height:1.2!important;}
 html body :is(.editorial-lead,.work-lead,.case-study .case-hero>p,.studio-belief p,.services-statement){font-size:var(--responsive-lead)!important;line-height:1.45!important;max-width:100%;}
 html body :is(.services-detail-copy,.services-detail-copy p,.services-mix-copy p,.case-study .case-copy p,.editorial-values p,.studio-process p,.studio-thinking p,.founder .founder-copy>p,.contact-copy>p,.contact-top p){font-size:var(--responsive-body)!important;line-height:1.55!important;white-space:normal!important;}
 html body :is(.line-link,.line-link span,.studio-founder-link,.intro-studio-link,.intro-studio-link>span,.work-contact,.work-contact>p){font-size:var(--responsive-link)!important;line-height:1.4!important;}
 html body .line-link img{width:1em!important;height:1em!important;}
 html body :is(.eyebrow,.case-facts dt,.case-facts dd,.case-related p,.work-project-services,.services-detail-heading ul,.footer-bottom,.footer-bottom a){font-size:var(--responsive-meta)!important;line-height:1.5!important;}
 html body :is(.editorial-values h3,.studio-process h3,.services-detail-heading h2,.case-related h3,.work-caption,.work-slide-caption h3){font-size:clamp(24px,3.6vw,36px)!important;line-height:1.25!important;}
 html body :is(.editorial-section,.studio-belief,.studio-thinking,.services-mix){margin-top:clamp(72px,12vw,120px);}
 html body :is(.studio-thinking,.services-mix){padding-block:clamp(48px,8vw,80px);}
 html body :is(.studio-thinking h2,.services-mix h2,.case-study .case-statement h2){font-size:clamp(32px,7.2vw,72px)!important;line-height:1.2!important;min-height:0;max-width:100%;}
 html body :is(.services-mix-copy,.contact-work-bottom){gap:32px;}
 html body .case-study{--case-gap:clamp(64px,10vw,104px);}
 html body .case-study .case-statement-inner{width:calc(100% - 32px);max-width:100%;}
 html body .case-study .case-statement p{font-size:var(--responsive-body)!important;line-height:1.5;margin-top:32px;}
 html body .founder .founder-copy-break{display:none!important;}
 html body .founder.page-section .founder-copy{width:100%;padding-top:0!important;}
 html body .founder.page-section .founder-photo>img{width:100%;height:auto;max-width:100%;object-fit:contain;}
 html body .contact-panel{padding-inline:clamp(24px,4vw,40px);}
 html body .contact-panel .contact-top{grid-template-columns:minmax(0,1fr);gap:32px;}
 html body .contact-panel .contact-copy>h2{font-size:clamp(36px,7.2vw,72px)!important;line-height:1.2!important;}
 html body .contact-panel .contact-copy>h2 :is(.footer-title-copy,.footer-line-mask,.footer-line-content){font-size:inherit;line-height:inherit;}
 html body .contact-panel .contact-details a{font-size:clamp(18px,3vw,28px)!important;overflow-wrap:anywhere;}
 html body .footer-bottom{flex-wrap:wrap;gap:16px 24px;}
 html body .footer-wordmark{width:100%;height:auto;max-width:100%;}
 html body :is(.enquiry-field,.enquiry-field input,.enquiry-field textarea){font-size:var(--responsive-body)!important;line-height:1.5;min-width:0;max-width:100%;}
 html body .enquiry-form legend{font-size:clamp(24px,3.6vw,36px)!important;line-height:1.3;}
 html body .service-options{gap:12px;}
 html body .service-options span{font-size:var(--responsive-meta);line-height:1.4;padding:12px 16px;}
 html body .contact-intro aside a{font-size:clamp(20px,3vw,28px);white-space:normal;overflow-wrap:anywhere;}
}
@media(min-width:761px) and (max-width:1023px){
 html body .services-detail-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:32px;gap:32px;min-height:0;}
 html body .editorial-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;}
 html body .services-principles{grid-template-columns:1fr;}
 html body .case-study .case-story{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:32px;}
 html body .studio-process li{box-sizing:border-box;width:60%;}
 html body .studio-process li:nth-child(2){margin-left:13%;}
 html body .studio-process li:nth-child(3){margin-left:26%;}
 html body .studio-process li:nth-child(4){margin-left:40%;width:60%;}
}
@media(max-width:760px){
 html body .site-header.editorial-header{padding:24px!important;}
 html body :is(.editorial-split,.services-detail-card,.services-mix-copy,.case-study .case-story,.case-study .case-overview,.case-study .case-related-grid){grid-template-columns:minmax(0,1fr)!important;gap:28px;}
 html body .case-study .case-facts{grid-column:1;}
 html body .services-detail-card{padding:28px 24px;min-height:0;}
 html body .services-detail-heading h2{margin-top:24px;}
 html body .studio-process li::before,html body .editorial-values li::before{top:0!important;text-align:left!important;}
 html body .contact-panel .contact-copy>h2{font-size:clamp(32px,8.6vw,56px)!important;}
 html body .contact-panel .contact-details{min-width:0;width:100%;}
 html body .enquiry-actions{flex-direction:column;align-items:flex-start;}
 html body .enquiry-actions button{min-height:48px;font-size:16px;padding:16px 24px;}
 html body .founder .founder-photo figcaption{max-width:100%;}
}

/* Studio's legacy founder rules must use the same responsive container as Home. */
@media(min-width:1024px){
 html body #founder.founder.page-section>.founder-copy{container-type:inline-size!important;width:100%!important;max-width:none!important;padding-top:clamp(48px,5vw,80px)!important;padding-bottom:0!important;}
 html body #founder.founder.page-section>.founder-photo{width:100%!important;max-width:none!important;align-self:end;}
 html body #founder.founder.page-section .founder-copy>p:not(.eyebrow){font-size:clamp(18px,4cqw,32px)!important;max-width:none!important;width:100%!important;line-height:1.5!important;white-space:nowrap!important;}
 html body #founder.founder.page-section .founder-copy #founder-title{font-size:clamp(36px,9cqw,72px)!important;line-height:1.2!important;}
 html body #founder.founder.page-section .founder-copy-break{display:inline!important;}
}

/* Continuous type sizes across tablet/desktop breakpoint boundaries. */
html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-page #work-page-title){font-size:clamp(32px,8.2vw,120px)!important;line-height:1.2!important;}
html body :is(.editorial-main,.case-study) :is(.editorial-lead,.case-hero>p),
html body.work-page .work-lead{font-size:clamp(20px,2.5vw,32px)!important;line-height:1.45!important;}
html body :is(.services-detail-copy,.services-detail-copy p,.services-mix-copy p,.case-study .case-copy p,.editorial-values p,.studio-process p){font-size:clamp(18px,1.5vw,24px)!important;line-height:1.55!important;}
html body :is(.editorial-main h2.editorial-title,.case-study .case-story h2){font-size:clamp(30px,4.5vw,64px)!important;line-height:1.2!important;}

/* September 29: one desktop hierarchy for inner heroes, colored panels and footers. */
@media(min-width:1024px){
 html body {--inner-hero-size:clamp(72px,8.2vw,120px);--inner-lead-size:clamp(20px,1.666667vw,28px);--panel-title-size:clamp(64px,6.666667vw,112px);--panel-copy-size:clamp(18px,1.666667vw,28px);}
 html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-page #work-page-title){font-size:var(--inner-hero-size)!important;line-height:1.1!important;}
 html body :is(.editorial-main,.case-study) :is(.editorial-lead,.case-hero>p),html body.work-page .work-lead{font-size:var(--inner-lead-size)!important;line-height:1.45!important;}
 html body.work-page .work-showcase .work-caption,html body.work-page .work-showcase .work-caption a{font-size:clamp(22px,1.666667vw,28px)!important;line-height:1.2!important;}
 html body :is(#top #approach #philosophy-title,.studio-thinking h2,.services-mix h2,.case-study .case-statement #case-statement-title){font-size:var(--panel-title-size)!important;line-height:1.15!important;min-height:0!important;padding-block:0;max-width:100%;}
 html body :is(#approach .philosophy-description,.studio-thinking p,.services-page .services-mix-copy p,.case-study .case-statement p){font-size:var(--panel-copy-size)!important;line-height:1.5!important;margin-top:40px!important;}
 html body .services-page .services-mix-copy{margin-top:40px!important;font-size:var(--panel-copy-size)!important;line-height:1.5!important;}
 html body .services-page .services-mix-copy p{margin-top:0!important;}
 html body :is(.studio-page,.contact-page) .editorial-values h3{font-size:clamp(24px,2.083333vw,34px)!important;line-height:1.2!important;}
 html body :is(.studio-page,.contact-page) .editorial-values p{font-size:clamp(18px,1.388889vw,22px)!important;line-height:1.5!important;}
 html body :is(.studio-page,.contact-page) .editorial-values li::before{top:2px!important;font-size:clamp(16px,1.388889vw,22px)!important;line-height:1.2!important;text-align:left!important;}
 html body .services-page .services-detail-number{font-size:clamp(16px,1.388889vw,22px)!important;line-height:1.3!important;}
 html body .services-page .services-statement{font-size:clamp(24px,2.222222vw,40px)!important;line-height:1.4!important;min-height:0!important;}
 html body .services-page .services-faq #services-faq-title{margin-bottom:32px!important;}
 html body .services-page .services-faq .faq-question{font-size:clamp(20px,1.666667vw,28px)!important;line-height:1.35!important;}
 html body .services-page .services-faq .faq-answer p{font-size:clamp(16px,1.25vw,20px)!important;line-height:1.5!important;}
 html body footer#contact.contact-panel{box-sizing:border-box;width:calc(100% - 32px)!important;max-width:none!important;margin:16px!important;padding:clamp(64px,7.777778vw,128px) clamp(48px,7.222222vw,120px) 32px!important;}
 html body footer#contact.contact-panel .contact-top{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)!important;gap:8%!important;align-items:start!important;}
 html body footer#contact.contact-panel .contact-top .contact-copy{container-type:normal!important;min-width:0;}
 html body footer#contact.contact-panel .contact-top .contact-copy>h2{font-size:clamp(56px,5.555556vw,96px)!important;line-height:1.15!important;font-weight:500!important;letter-spacing:0!important;margin:0!important;}
 html body footer#contact.contact-panel .contact-top .contact-copy>h2 *{font-size:inherit!important;line-height:inherit!important;}
 html body footer#contact.contact-panel .contact-top .contact-copy>p{font-size:clamp(20px,1.666667vw,28px)!important;line-height:1.5!important;max-width:100%!important;margin:32px 0 0!important;}
 html body footer#contact.contact-panel .footer-project-link{margin-top:40px!important;}
 html body footer#contact.contact-panel .contact-details{margin:0!important;padding:0!important;min-width:0;align-self:start!important;}
 html body footer#contact.contact-panel .contact-details a{font-size:clamp(20px,2.083333vw,36px)!important;line-height:1.4!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section{width:calc(100% - 2 * clamp(48px,8.333333vw,120px))!important;max-width:1440px!important;margin-inline:auto!important;grid-template-columns:minmax(0,42fr) minmax(0,52fr)!important;column-gap:6%!important;}
 html body :is(#top,.studio-page) #founder .founder-copy>p:not(.eyebrow){font-size:clamp(18px,4cqw,32px)!important;line-height:1.5!important;margin:0 0 32px!important;}
 html body :is(#top,.studio-page) #founder .founder-copy #founder-title{font-size:clamp(36px,9cqw,72px)!important;line-height:1.2!important;margin:0 0 40px!important;}
}
/* Colored surfaces use solid ink, including their animated line wrappers. */
html body .services-page .services-detail-heading h2,
html body .services-page .services-detail-heading h2 *,
html body .services-page #services-mix-title,
html body .services-page #services-mix-title *,
html body main.case-study .case-statement #case-statement-title,
html body main.case-study .case-statement #case-statement-title *,
html body main.case-study .case-statement p {background:none!important;color:#201e1c!important;-webkit-text-fill-color:#201e1c!important;}

@media(min-width:1024px){
 html body .services-page .services-mix .services-mix-copy>p{margin-top:0!important;}
 html body footer#contact.contact-panel .contact-copy>h2,
 html body footer#contact.contact-panel .contact-copy>p,
 html body footer#contact.contact-panel .contact-details>a{font-family:Helixa,sans-serif!important;}
}

@media(min-width:1024px){
 html body #top #approach .philosophy-description{font-size:var(--panel-copy-size)!important;line-height:1.5!important;}
 html body .services-page #services-mix-title + .services-mix-copy>p{margin-top:0!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values h3{font-size:clamp(24px,2.083333vw,34px)!important;line-height:1.2!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values p{font-size:clamp(18px,1.388889vw,22px)!important;line-height:1.5!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values li::before{top:2px!important;font-size:clamp(16px,1.388889vw,22px)!important;line-height:1.2!important;}
 html body .services-page #services-faq-title + .faq-item{padding-top:24px!important;}
}

/* Mobile composition: centered Home reading stages and consistent inner pages. */
@media(max-width:760px){
 html body.home-page #top :is(.center-heading,.stories-heading){text-align:center!important;}
 html body.home-page #hero-statement.intro-scroll-enabled{height:330svh!important;}
 html body.home-page #top .editorial-title-track.is-pinned-title{height:150svh!important;}
 html body.home-page #top :is(.intro-studio-link,.why-contact,.work-contact){display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;gap:8px!important;font-size:clamp(11px,3.2vw,18px)!important;white-space:nowrap;}
 html body.home-page #top :is(.intro-studio-link,.why-contact,.work-contact) :is(p,a,span){font-size:inherit!important;line-height:1.4!important;white-space:nowrap;}
 html body.home-page #top :is(.intro-studio-link,.why-contact,.work-contact) img{width:1.1em!important;height:1.1em!important;}
 html body.home-page #top .has-scroll-stack .stories-layout{transform:none!important;opacity:1!important;}
 html body.home-page #top .testimonial-stack-pin{height:100svh;top:0;display:grid;place-items:center;}
 html body.home-page #top .stories-stage{width:calc(100vw - 48px);margin:auto;}
 html body.home-page #top .story-panel{min-height:0!important;padding:clamp(24px,6vw,36px)!important;gap:32px!important;}
 html body.home-page #top .story-panel blockquote{font-size:clamp(18px,4.8vw,24px)!important;line-height:1.4!important;}
 html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-page #work-page-title){font-size:clamp(34px,9.2vw,68px)!important;line-height:1.2!important;}
 html body :is(.editorial-main,.case-study,body.work-page main) h2{ text-align:left!important;}
 html body :is(.editorial-main,.case-study,body.work-page main) h2 :is(.editorial-line-mask,.editorial-line-content,.motion-line){text-align:left!important;}
 html body footer#contact .footer-bottom{display:flex!important;flex-flow:row wrap!important;align-items:center;gap:20px!important;}
 html body footer#contact .footer-bottom>span{order:1;}
 html body footer#contact .footer-bottom>a{order:2;}
 html body footer#contact .footer-bottom>nav{order:3;flex:0 0 100%;width:100%;margin-top:8px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;}
}
/* Native hand cursor remains available with a mouse at every screen size. */
html body :is(a[href],button,summary,[role="button"],[role="link"],select,label[for]):not(:disabled):not([aria-disabled="true"]){cursor:pointer!important;}
@media(hover:hover) and (pointer:fine){
 html body .work-deck.has-arrow-cursor a[href],html body .work-deck.has-arrow-cursor a[href] *,html body #work a.project.has-open-cursor,html body #work a.project.has-open-cursor *,html body .case-related-grid a .case-image.has-open-cursor,html body .case-related-grid a .case-image.has-open-cursor *{cursor:none!important;}
}

.philosophy-copy-break{display:none;}
@media(min-width:1024px){
 html body #top #approach .philosophy-description{width:100%;max-width:none;}
 .philosophy-copy-break{display:block;}
 html body.home-page #top #about #studio-title.studio-description{font-size:clamp(28px,3.055556vw,44px)!important;}
 html body.home-page #top .home-belief p{font-size:clamp(28px,3.055556vw,44px)!important;line-height:1.3!important;}
 html body.home-page #top .stories-stack-section .stories-stage{width:min(810px,62vw,90svh)!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section .founder-copy>p:not(.eyebrow){font-size:clamp(18px,3.7cqw,30px)!important;margin-bottom:24px!important;}
 html body :is(#top,.studio-page) #founder .founder-copy>.line-link{margin-top:8px!important;}
 html body footer#contact.contact-panel{padding-top:clamp(64px,6.1vw,104px)!important;padding-bottom:0!important;}
 html body footer#contact.contact-panel .contact-top .contact-copy>h2{font-size:clamp(52px,4.9vw,84px)!important;}
 html body footer#contact.contact-panel .contact-top .contact-copy>p{font-size:clamp(18px,1.527778vw,26px)!important;margin-top:24px!important;}
 html body footer#contact.contact-panel .contact-details a{font-size:clamp(20px,1.805556vw,32px)!important;}
 html body footer#contact.contact-panel .footer-bottom{padding-block:40px!important;}
}

/* Compact desktop refinements for Work, Services and Contact. */
@media(min-width:1024px){
 html body.work-page .work-showcase h1#work-page-title{font-size:clamp(68px,7.6vw,112px)!important;line-height:1.06!important;}
 html body.work-page .work-showcase #work-page-title :is(.title-desktop-lines,.editorial-line-mask,.editorial-line-content){line-height:1.06!important;}
 html body.work-page .work-showcase p.work-lead{font-size:clamp(19px,1.527778vw,26px)!important;line-height:1.35!important;}
 html body.work-page .work-showcase .work-item{width:94%;justify-self:center;}
 html body .services-page .services-statement{font-size:clamp(28px,2.5vw,44px)!important;line-height:1.4!important;}
 html body .services-page .services-mix{padding-block:clamp(80px,9.166667vw,144px)!important;}
 html body .services-page .services-mix #services-mix-title,html body .services-page #services-mix-title :is(.editorial-line-mask,.editorial-line-content){line-height:1.08!important;}
 html body .contact-page>.enquiry-form.wide-surface{padding-block:64px!important;}
 html body .contact-page .enquiry-form legend{font-size:30px!important;line-height:1.3!important;margin-bottom:24px;}
 html body .contact-page .enquiry-form fieldset{margin-bottom:32px;}
 html body .contact-page .service-options{gap:16px;}
 html body .contact-page .service-options span{font-size:20px!important;line-height:1.4;padding:12px 20px;}
 html body .contact-page .enquiry-field{font-size:24px!important;line-height:1.4;margin-top:24px;}
 html body .contact-page .enquiry-actions{margin-top:40px;gap:24px;}
 html body .contact-page .enquiry-actions button{font-size:18px;padding:18px 26px;}
}
html body :is(.menu-button,.editorial-menu-button,.menu-toggle,.site-nav a),html body :is(.menu-button,.editorial-menu-button,.menu-toggle,.site-nav a) *{cursor:pointer!important;}

/* One solid-ink footer title on every route and every motion wrapper. */
html body footer#contact.contact-panel .contact-copy>h2,
html body footer#contact.contact-panel .contact-copy>h2 *{
 color:#201e1c!important;-webkit-text-fill-color:#201e1c!important;
 background:none!important;background-image:none!important;
 background-clip:border-box!important;-webkit-background-clip:border-box!important;
}

.founder-reading-stage{display:flow-root;}
html body .founder-reading-stage #founder{margin-bottom:0!important;}
/* Complete the copy reveal before the reading hold begins. */
html body .founder-reading-stage .founder-copy>p,
html body .founder-reading-stage .founder-copy>a{opacity:1!important;translate:none!important;--page-opacity:1!important;--page-rise:0px!important;}
@media(min-width:1024px){
 html body .services-page .services-mix h2#services-mix-title{line-height:1.08!important;}
}

/* Clickability is mandatory, including icon strokes and animated labels. */
html body #site-mobile-menu :is(a,button),html body #site-mobile-menu :is(a,button) *,
html body #mobile-menu :is(a,button),html body #mobile-menu :is(a,button) *,
html body .site-header :is(a,button),html body .site-header :is(a,button) *,
html body button:not(:disabled),html body button:not(:disabled) *,
html body [role="button"]:not([aria-disabled="true"]),html body [role="button"]:not([aria-disabled="true"]) *{
 cursor:pointer!important;
}

/* Shared reading interval: native scroll holds every colored feature panel. */
.panel-reading-track{display:flow-root;position:relative;}
html body .panel-reading-track> :is(#approach,.studio-thinking,.services-mix,.case-statement,footer.contact-panel){margin-block:0!important;transform:none!important;}
.panel-reading-track:has(>.studio-thinking),.panel-reading-track:has(>.services-mix){margin-top:clamp(72px,12vw,160px);}
html body .panel-reading-track[data-reading="true"] :is(h2,p,a,.footer-bottom,.footer-wordmark,.contact-details){--page-opacity:1!important;--page-rise:0px!important;opacity:1!important;}
.statement-desktop-break{display:none;}
@media(min-width:1024px){
 html body :is(.editorial-main,.case-study) :is(.editorial-lead,.case-hero>p),html body.work-page .work-showcase p.work-lead{line-height:1.55!important;}
 html body footer#contact.contact-panel .footer-mobile-break{display:block!important;}
 html body footer#contact.contact-panel .footer-bottom{padding-bottom:56px!important;}
 .statement-desktop-break{display:block;}
 html body .services-page .services-statement{font-size:clamp(26px,2.5vw,48px)!important;line-height:1.25!important;max-width:100%;}
}

/* Consistent compact hero rhythm; animation wrappers inherit the same leading. */
html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-showcase h1#work-page-title),
html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-showcase h1#work-page-title) :is(.title-desktop-lines,.title-mobile-lines,.editorial-line-mask,.editorial-line-content){line-height:1.05!important;}

html body.work-page .work-showcase h1#work-page-title,html body.work-page .work-showcase #work-page-title :is(.title-desktop-lines,.title-mobile-lines,.editorial-line-mask,.editorial-line-content){line-height:1.05!important;}

/* Compact desktop hero and footer spacing, shared across inner routes. */
@media(min-width:1024px) and (max-width:1600px){
 html body :is(.editorial-main .editorial-intro,.case-study .case-hero),
 html body.work-page .work-showcase{padding-top:clamp(136px,11.111111vw,176px)!important;}
 html body :is(.editorial-main h1.editorial-title,.case-study h1),
 html body.work-page .work-showcase h1#work-page-title{font-size:clamp(68px,6.944444vw,112px)!important;line-height:1.02!important;margin-top:0!important;margin-bottom:0!important;}
 html body :is(.editorial-main h1.editorial-title,.case-study h1) :is(.title-desktop-lines,.editorial-line-mask,.editorial-line-content),
 html body.work-page .work-showcase #work-page-title :is(.title-desktop-lines,.editorial-line-mask,.editorial-line-content){line-height:1.02!important;}
 html body :is(.editorial-intro .editorial-lead,.case-study .case-hero>p),
 html body.work-page .work-showcase p.work-lead{margin-top:24px!important;margin-bottom:0!important;}
 html body.work-page .work-showcase .projects{margin-top:112px!important;}
 html body.work-page .work-showcase .work-item{justify-self:start!important;margin-left:0!important;margin-right:auto!important;}
 html body footer#contact.contact-panel .contact-top .contact-copy>p{margin-top:16px!important;margin-bottom:0!important;}
 html body footer#contact.contact-panel .footer-project-link{margin-top:24px!important;}
 html body footer#contact.contact-panel>.footer-wordmark{top:0!important;margin-top:48px!important;margin-bottom:0!important;}
 html body footer#contact.contact-panel>.footer-bottom{margin-top:0!important;padding-top:24px!important;}
}

@media(min-width:1024px) and (max-width:1600px){
 html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-showcase h1#work-page-title){font-size:clamp(68px,6.944444vw,112px)!important;line-height:1.02!important;}
 html body :is(.editorial-main h1.editorial-title,.case-study h1,.work-showcase h1#work-page-title) :is(.title-desktop-lines,.title-mobile-lines,.editorial-line-mask,.editorial-line-content){line-height:1.02!important;}
}

/* Clip horizontal artwork without creating a scroll container that breaks sticky. */
html body .editorial-main,html body main.case-study{overflow:clip!important;}
@media(min-width:1024px){
 html body .services-page .services-statement,
 html body .studio-page .studio-belief p{font-size:clamp(28px,3.055556vw,44px)!important;line-height:1.3!important;}
 html body .studio-page>.panel-reading-track+section.editorial-section{margin-top:96px!important;}
 html body .studio-page{padding-bottom:0!important;margin-bottom:0!important;}
 html body .studio-page .founder-reading-stage #founder{padding-bottom:0!important;}
 html body .studio-page .founder-photo,html body .studio-page .founder-photo>img{margin-bottom:0!important;}
}

/* Keep the wordmark clear of the footer divider on every page. */
html body footer#contact.contact-panel>.footer-wordmark{margin-bottom:clamp(24px,2.777778vw,40px)!important;}
html body footer#contact.contact-panel>.footer-bottom{margin-top:0!important;}

/* Keep founder copy clear of the portrait's head while raising its reading position. */
@media(min-width:1024px){
 html body :is(#top,.studio-page) #founder.founder.page-section>.founder-copy{padding-top:32px!important;}
}
html body .panel-reading-track[data-founder-joined]>footer#contact.contact-panel{margin-top:0!important;}

@media(min-width:1024px){
 html body .studio-page .studio-belief>p{width:100%!important;max-width:none!important;}
 html body .studio-page .studio-belief-line{display:block;white-space:nowrap;}
}

@media(min-width:1024px){
 html body .contact-page .contact-intro{padding-bottom:104px!important;}
}

@media(min-width:1024px) and (max-width:1600px){
 html body .studio-page>.panel-reading-track+section.editorial-section{margin-top:192px!important;}
}

/* Preserve the designed three-line Studio history copy on desktop. */
@media(min-width:1024px){
 html body.editorial-page .studio-page .studio-years h2.editorial-title,
 html body.editorial-page .studio-page .studio-years h2.editorial-title :is(.editorial-line-mask,.editorial-line-content){line-height:1.08!important;}
 html body.editorial-page .studio-page .studio-years p.editorial-lead{font-size:clamp(20px,1.666667vw,28px)!important;line-height:1.5!important;margin-top:32px!important;width:max-content!important;max-width:100%!important;}
 html body .studio-page .studio-years .studio-years-copy-break{display:block!important;}
}

/* 1440 composition: one total hero-to-content interval. */
@media(min-width:1024px) and (max-width:1600px){
 html body.work-page .work-showcase .projects,
 html body .studio-page .studio-intro-photo,
 html body .services-page>.services-details,
 html body .case-study .case-hero>.case-image{margin-top:120px!important;}
 html body .services-page>.services-intro{padding-bottom:0!important;margin-bottom:0!important;}
 html body .contact-page .contact-intro{padding-bottom:120px!important;margin-bottom:0!important;}
 html body .contact-page>.enquiry-form.wide-surface{margin-top:0!important;}
 html body .case-study .case-hero>p{margin-bottom:0!important;}
 html body :is(.studio-page,.contact-page) .editorial-values li{margin-bottom:40px!important;}
 html body :is(.studio-page,.contact-page) .editorial-values li:last-child{margin-bottom:0!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section>.founder-copy{padding-top:8px!important;}
 html body :is(#top,.studio-page) #founder .founder-copy #founder-title{margin-bottom:28px!important;}
 html body footer#contact.contact-panel>.footer-bottom{padding-top:36px!important;}
}

/* Statement wrappers retain the same separation as neighboring case-study blocks. */
html body .case-study>.panel-reading-track:has(>.case-statement){margin-top:clamp(72px,11.111111vw,160px)!important;}

/* Fixed panel separation and compact reading lists on smaller screens. */
@media(min-width:1024px) and (max-width:1600px){
 html body footer#contact.contact-panel .contact-top .contact-copy>p{margin-top:12px!important;}
 html body :is(#top,.editorial-main,.case-study)>.panel-reading-track:has(>:is(#approach,.studio-thinking,.services-mix,.case-statement)){margin-top:120px!important;margin-bottom:120px!important;}
 html body :is(#top,.editorial-main,.case-study)>.panel-reading-track:has(>:is(#approach,.studio-thinking,.services-mix,.case-statement))+section{margin-top:0!important;}
 html body .studio-page>.panel-reading-track+section.editorial-section{margin-top:0!important;}
}
@media(max-width:1600px){
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values{row-gap:0!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values li{margin-top:0!important;margin-bottom:28px!important;padding-top:0!important;padding-bottom:0!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values li:last-child{margin-bottom:0!important;}
}
@media(max-width:760px){
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values li{margin-bottom:24px!important;}
}

/* Tablet/mobile composition: native flow, deliberate spacing, shared gutters. */
@media(max-width:1023px){
 html body{--compact-gutter:24px;}
 html body :is(.editorial-main,.case-study){--editorial-gutter:var(--compact-gutter);}
 html body :is(.editorial-container,.case-study .case-container){width:calc(100% - 2 * var(--compact-gutter))!important;margin-inline:auto!important;}
 html body :is(.editorial-main,#top,.case-study) h2{text-align:left!important;}
 html body.home-page #top :is(#statement-title,#why-title,#testimonials-title){text-align:center!important;}
 html body :is(.panel-reading-track,.founder-reading-stage){height:auto!important;translate:none!important;}
 html body .panel-reading-track>*,html body .founder-reading-stage #founder{position:relative!important;top:auto!important;}
 html body .panel-reading-track:not(:has(footer)){margin-block:96px!important;}
 html body :is(.hero-scroll,.intro-scroll-stage,.belief-scroll-stage,.editorial-title-track,.editorial-title-track .center-heading,.editorial-title-track .stories-heading,.testimonial-stack-pin,.why-cards-hold,.why-cards-pin){height:auto!important;min-height:0!important;position:relative!important;top:auto!important;}
 html.motion-enabled body .hero-scroll{padding-bottom:0!important;margin-bottom:0!important;}
 html.motion-enabled body .hero-scroll>.hero{position:relative!important;top:auto!important;}
 html body.home-page #top #hero-statement{height:auto!important;padding-block:96px!important;}
 html body.home-page #top .intro-scroll-stage{display:block!important;}
 html body.home-page #top :is(.hero-statement-inner,#about){position:relative!important;grid-area:auto!important;opacity:1!important;transform:none!important;}
 html body.home-page #top #about{margin-top:96px!important;}
 html body.home-page #top .home-belief{height:auto!important;padding-block:96px!important;}
 html body.home-page #top .editorial-title-track{margin-bottom:64px!important;}
 html body.home-page #top .stories-layout{height:auto!important;}
 html body.home-page #top .stories-stage{display:grid!important;gap:24px!important;width:100%!important;}
 html body.home-page #top .story-panel{grid-area:auto!important;position:relative!important;transform:none!important;opacity:1!important;}
 html body :is(.studio-process li,.editorial-values li){width:100%!important;margin-left:0!important;}
 html body.editorial-page main.editorial-main :is(.studio-process li,.editorial-values li){margin-top:0!important;margin-bottom:28px!important;padding-block:0!important;}
 html body :is(.studio-process h3,.editorial-values h3){line-height:1.2!important;}
 html body :is(.studio-process p,.editorial-values p){margin-top:12px!important;white-space:normal!important;}
 html body :is(.studio-process p,.editorial-values p) br{display:none;}
 html body .services-page .services-detail-card{min-height:0!important;gap:24px!important;margin-bottom:20px!important;}
 html body .services-page .services-faq .faq-question{font-size:calc(clamp(20px,3vw,26px) - 2.667px)!important;}
 html body :is(.project-image,.project-media,.work-image,.work-item img,.work-slide img,.project>img,.case-image,.case-image img){border-radius:16px!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section{display:flex!important;flex-direction:column!important;width:calc(100% - 2 * var(--compact-gutter))!important;margin-inline:auto!important;gap:48px!important;padding-top:96px!important;padding-bottom:0!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section>.founder-copy{order:0!important;width:100%!important;padding:0!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section>.founder-photo{order:1!important;width:min(100%,480px)!important;margin:0!important;align-self:flex-start!important;position:relative;}
 html body :is(#top,.studio-page) #founder.founder.page-section .founder-copy>p:not(.eyebrow){white-space:normal!important;font-size:clamp(18px,3.2258vw,24px)!important;line-height:1.4!important;}
 html body :is(#top,.studio-page) #founder .founder-copy-break{display:none!important;}
 html body :is(#top,.studio-page) #founder .founder-photo figcaption{left:auto!important;right:0!important;bottom:7%!important;width:max-content!important;max-width:100%!important;}
 html body #founder .founder-photo figcaption>span{font-size:clamp(20px,3.2258vw,24px)!important;white-space:nowrap!important;}
 html body #founder .founder-photo figcaption>small{font-size:clamp(11px,1.88vw,14px)!important;white-space:nowrap!important;}
 html body footer#contact.contact-panel{height:auto!important;min-height:0!important;margin-bottom:0!important;padding-bottom:0!important;}
 html body footer#contact.contact-panel>.footer-wordmark{top:0!important;margin-bottom:24px!important;}
 html body footer#contact.contact-panel>.footer-bottom{padding-bottom:32px!important;}
 html body :is(main#top,main.editorial-main,main.case-study){padding-bottom:0!important;margin-bottom:0!important;}
 html body .panel-reading-track:has(footer){margin-bottom:0!important;padding-bottom:0!important;}
}
@media(min-width:600px) and (max-width:1023px){
 html body{--compact-gutter:48px;}
 html body.home-page #top :is(.hero-statement,.home-belief){padding-inline:48px!important;box-sizing:border-box;}
 html body.home-page #top :is(.why-grid,.stories-layout,.clients-heading){width:100%!important;margin-inline:0!important;}
 html body.home-page #top #about{padding-inline:48px!important;}
 html body.home-page #top #about #studio-title{font-size:36px!important;line-height:48px!important;}
 html body :is(.editorial-main,#top,.case-study) h2{font-size:48px!important;line-height:1.3!important;}
 html body.home-page #top :is(#statement-title,#why-title,#testimonials-title){font-size:clamp(64px,10.7527vw,88px)!important;line-height:1.2!important;}
 html body .services-page .services-statement,html body .studio-page .studio-belief p{font-size:36px!important;line-height:48px!important;padding-inline:0!important;}
 html body :is(.wide-surface,#approach.philosophy,.case-statement){width:calc(100% - 32px)!important;margin-inline:16px!important;box-sizing:border-box;}
 html body .wide-surface>.editorial-container,html body .case-study .case-statement-inner{width:calc(100% - 64px)!important;margin-inline:32px!important;}
 html body.home-page #top #approach.philosophy{padding-inline:32px!important;text-align:left!important;}
 html body #approach :is(h2,p),html body :is(.studio-thinking,.services-mix,.case-statement) :is(h2,p){text-align:left!important;}
 html body .services-page .services-details{width:calc(100% - 96px)!important;margin-inline:48px!important;}
 html body .services-page .services-detail-card{padding:32px!important;grid-template-columns:1fr!important;}
 html body .services-page .services-detail-heading h2{font-size:30px!important;line-height:1.2!important;margin-top:20px!important;}
 html body :is(.editorial-values h3,.studio-process h3){font-size:28px!important;line-height:1.2!important;}
 html body.home-page #top .hero .hero-details{left:48px!important;top:132px!important;bottom:auto!important;width:335px!important;max-width:calc(100% - 96px)!important;gap:24px!important;}
 html body.home-page #top .hero .hero-intro{font-size:28px!important;line-height:36px!important;}
 html body footer#contact.contact-panel{padding-inline:32px!important;width:calc(100% - 32px)!important;margin-inline:16px!important;}
 html body .contact-reach>.editorial-title{margin-inline:48px!important;}
}
@media(max-width:1023px){
 html body :is(#top,.studio-page) #founder.founder.page-section>.founder-photo{max-width:480px!important;min-width:0!important;flex:none!important;}
 html body .work-slide-image{border-radius:16px!important;overflow:hidden;}
 html body.home-page #top .panel-reading-track:has(footer){margin-block:0!important;}
}
@media(min-width:600px) and (max-width:1023px){
 html body.home-page #top :is(#work,.why,.testimonials,#services,.home-belief){width:calc(100% - 96px)!important;margin-inline:48px!important;padding-inline:0!important;}
 html body.home-page #top #about{width:100%!important;margin-inline:0!important;padding-inline:0!important;}
 html body.home-page #top .hero-statement{padding-inline:48px!important;}
 html body.home-page #top .hero-statement-inner{width:100%!important;margin-inline:0!important;}
 html body .clients .clients-heading{margin-inline:48px!important;width:calc(100% - 96px)!important;}
 html body.home-page #top .clients .clients-heading{margin-inline:0!important;width:100%!important;}
 html body :is(.studio-page,.contact-page) .editorial-split{grid-template-columns:1fr!important;}
}
@media(max-width:1023px){
 html body.home-page #top .stories-stack-section .stories-stage{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;gap:20px!important;scrollbar-width:thin;scroll-padding:0;}
 html body.home-page #top .stories-stack-section .story-panel{flex:0 0 100%!important;min-width:0!important;box-sizing:border-box;scroll-snap-align:center;scroll-snap-stop:always;visibility:visible!important;pointer-events:auto!important;}
 .testimonial-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:24px;}
 .testimonial-controls button{width:44px;height:44px;border:1px solid #a9957c;border-radius:50%;background:none;color:white;font-size:24px;cursor:pointer;}
 .testimonial-controls span{font:16px/24px Helixa,sans-serif;color:white;}
}
@media(min-width:1024px){.testimonial-controls{display:none;}}
@media(max-width:599px){
 html body :is(.line-link,.line-link span,.intro-studio-link,.intro-studio-link>span,.studio-founder-link,.why-contact,.why-contact a,.why-contact p,.work-contact,.work-contact p,.work-contact a){font-size:18px!important;line-height:1.5!important;}
 html body :is(.editorial-section,.studio-belief,.studio-process,.contact-reach,.services-faq,.case-story,.case-overview,.case-related){margin-block:120px!important;}
 html body .panel-reading-track:not(:has(footer)){margin-block:120px!important;}
 html body.home-page #top :is(.why,.testimonials,.home-expertise,.clients,.work-slider-section){margin-block:120px!important;padding-block:0!important;}
 html body.home-page #top :is(#hero-statement,.home-belief){padding-block:120px!important;}
 html body.home-page #top #about{margin-top:120px!important;}
 html body.home-page #top .editorial-title-track{margin-bottom:120px!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section{padding-top:120px!important;}
 html body.home-page #top .stories-stack-section .stories-layout{margin-top:0!important;}
}
/* Colored surfaces always use a left-aligned reading edge. */
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.case-statement,.services-detail-card,.why-card,footer.contact-panel),
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.case-statement,.services-detail-card,.why-card,footer.contact-panel) :is(h2,h3,p,.motion-line,.editorial-line-mask,.editorial-line-content){text-align:left!important;}
html body.home-page #top footer#contact.contact-panel .contact-top .contact-copy>h2,
html body footer#contact.contact-panel .contact-top .contact-copy>h2,
html body footer#contact.contact-panel .contact-top .contact-copy>h2 *{text-align:left!important;justify-content:flex-start!important;align-items:flex-start!important;}
html body footer#contact.contact-panel .contact-top .contact-copy>h2{margin-left:0!important;margin-right:0!important;width:100%!important;}
html body footer#contact.contact-panel .footer-title-copy{display:block!important;width:100%!important;}
@media(max-width:1023px){
 html body footer#contact.contact-panel{overflow:clip!important;}
 html body.home-page #top .stories-stack-section .stories-stage{padding:0!important;}
}
@media(max-width:599px){
 html body.home-page #top :is(.intro-studio-link,.intro-studio-link>span,.intro-studio-link .line-link,.why-contact,.why-contact>p,.why-contact .line-link,.work-contact,.work-contact>p,.work-contact .line-link){font-size:18px!important;line-height:1.5!important;}
 html body.home-page #top :is(.intro-studio-link,.why-contact,.work-contact){flex-wrap:wrap!important;white-space:normal!important;column-gap:12px!important;row-gap:8px!important;justify-content:center;}
 html body.home-page #top :is(.intro-studio-link,.why-contact,.work-contact) .line-link{white-space:nowrap!important;}
}
@media(max-width:1023px){html body.home-page #top .stories-stack-section .stories-layout{margin-inline:0!important;width:100%!important;}}
@media(min-width:600px) and (max-width:1023px){html body.editorial-page main.services-page .services-details .services-statement{font-size:36px!important;line-height:48px!important;padding-inline:0!important;}}

@media(max-width:1023px){
 html body.home-page #top #work.work-slider-section{width:calc(100% - 2 * var(--compact-gutter))!important;margin-inline:var(--compact-gutter)!important;padding-inline:0!important;}
 html body.home-page #top #work .work-deck{--project-width:calc(100vw - 2 * var(--compact-gutter));width:100vw!important;margin-inline:calc(-1 * var(--compact-gutter))!important;padding-inline:var(--compact-gutter)!important;scroll-padding-inline:var(--compact-gutter)!important;}
 html body.home-page #top #work .work-slide{flex-basis:var(--project-width)!important;}
 html body.home-page #top #work :is(.work-slide-image,.work-slide-image img,.work-slide-image picture){border-radius:16px!important;overflow:hidden!important;}
 html body.home-page #top #work .work-slider-toolbar{margin-inline:0!important;width:100%!important;}
 html body.home-page #top .stories-stack-section .story-panel{border-radius:16px!important;}
 html body.home-page #top .stories-stack-section .stories-stage{scrollbar-width:none!important;}
 html body.home-page #top .stories-stack-section .stories-stage::-webkit-scrollbar{display:none;}
}

@media(min-width:600px) and (max-width:1023px){html body.home-page #top section:is(.testimonials,.why,.home-expertise,.clients).page-section{padding-inline:0!important;width:calc(100% - 96px)!important;margin-inline:48px!important;}html body.home-page #top .testimonials.stories-stack-section .stories-layout{width:100%!important;margin-inline:0!important;}}

/* Three editorial Home titles retain centered lines at every breakpoint. */
html body.home-page #top :is(#statement-title,#why-title,#testimonials-title),
html body.home-page #top :is(#statement-title,#why-title,#testimonials-title) *{text-align:center!important;}
@media(max-width:599px){
 html body.home-page #top #about #studio-title.studio-description,
 html body.home-page #top #about #studio-title.studio-description *,
 html body.home-page #top .home-belief p,
 html body.home-page #top .home-belief p *{text-align:left!important;}
}
/* Compact stacked deck: swipe between cards without pinning page scroll. */
@media(max-width:1023px){
 html body.home-page #top .stories-stack-section .stories-stage{display:grid!important;overflow:visible!important;gap:0!important;scroll-snap-type:none!important;padding-top:28px!important;touch-action:pan-y;isolation:isolate;}
 html body.home-page #top .stories-stack-section .story-panel{grid-area:1/1!important;width:100%!important;align-self:stretch;transform-origin:center top;transition:transform 350ms ease,opacity 250ms ease!important;}
 html body.home-page #top .stories-stack-section .story-panel[data-stack-depth="0"]{z-index:3;transform:none!important;opacity:1!important;background:#fff!important;pointer-events:auto!important;}
 html body.home-page #top .stories-stack-section .story-panel[data-stack-depth="1"]{z-index:2;transform:translateY(-14px) scaleX(.93)!important;opacity:1!important;background:#b9a082!important;pointer-events:none!important;}
 html body.home-page #top .stories-stack-section .story-panel[data-stack-depth="2"]{z-index:1;transform:translateY(-28px) scaleX(.86)!important;opacity:1!important;background:#51483c!important;pointer-events:none!important;}
 html body.home-page #top .stories-stack-section .story-panel[data-stack-depth="hidden"]{visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
 html body.home-page #top .stories-stack-section .story-panel:not([data-stack-depth="0"]) :is(blockquote,figcaption){visibility:hidden!important;}
 html body.home-page #top .stories-stack-section .story-panel{border-radius:16px!important;}
}
@media(prefers-reduced-motion:reduce){html body.home-page #top .stories-stack-section .story-panel{transition:none!important;}}

/* Project imagery keeps the same 16px corner geometry on every screen. */
html body :is(#top,#work,.case-study,.case-designed) :is(.work-slide-image,.project-media,.case-image,.case-artwork,.case-phone-tile,.case-phone-trio){border-radius:16px!important;overflow:hidden;}
html body :is(#top,#work,.case-study,.case-designed) :is(.work-slide-image,.project-media,.case-artwork) :is(img,picture){border-radius:16px!important;}

html body.home-page #top :is(#statement-title,#why-title,#testimonials-title){width:100%!important;max-width:none!important;margin-inline:auto!important;}
html body.home-page #top :is(#statement-title,#why-title,#testimonials-title) :is(.motion-line,.motion-line>span,.title-word-mask){display:block!important;width:100%!important;text-align:center!important;}
html body.home-page #top :is(.hero-statement-inner,.editorial-title-content){width:100%!important;}

@media(min-width:600px) and (max-width:1023px){
 html body.home-page #top #about #studio-title.studio-description,
 html body.home-page #top .home-belief p{font-size:36px!important;line-height:48px!important;font-weight:400!important;text-align:center!important;}
}

@media(max-width:599px){html body.home-page main#top section.home-belief.page-section p,html body.home-page main#top section.home-belief.page-section p *{text-align:left!important;}}

/* Tablet section rhythm: one 160px interval, owned by the incoming block. */
@media(min-width:600px) and (max-width:1023px){
 html body.home-page main#top>section:is(.work-slider-section,.why,.home-expertise,.testimonials,.home-belief,.clients){margin-block:0!important;padding-top:160px!important;padding-bottom:0!important;}
 html body.home-page main#top>.panel-reading-track:not(:has(footer)){margin-top:160px!important;margin-bottom:0!important;}
 html body :is(#top,.studio-page) #founder.founder.page-section{padding-top:160px!important;padding-bottom:0!important;margin-block:0!important;}
 html body :is(.editorial-main,.case-study)>.panel-reading-track:not(:has(footer)){margin-top:160px!important;margin-bottom:0!important;}
 html body :is(.editorial-main,.case-study)>:is(.editorial-section,.studio-belief,.studio-gallery,.contact-reach,.services-faq,.case-story,.case-overview,.case-related){margin-top:160px!important;margin-bottom:0!important;}
 html body.home-page main#top .editorial-title-track{margin-bottom:160px!important;}
 html body.home-page main#top #about{margin-top:160px!important;}
}

/* Mobile spacing has one owner per boundary; never add section margin to padding. */
@media(max-width:599px){
 html body.home-page main#top>section:is(.work-slider-section,.why,.home-expertise,.testimonials,.home-belief,.clients){margin-block:0!important;padding-top:120px!important;padding-bottom:0!important;}
 html body.home-page main#top>.panel-reading-track:not(:has(footer)){margin-top:120px!important;margin-bottom:0!important;}
 html body.home-page main#top #hero-statement{padding-top:120px!important;padding-bottom:0!important;}
 html body.home-page main#top #about{margin-top:120px!important;margin-bottom:0!important;padding-block:0!important;min-height:0!important;}
 html body.home-page main#top :is(.hero-statement-inner,.belief-scroll-copy){padding-block:0!important;margin-block:0!important;min-height:0!important;height:auto!important;}
 html body.home-page main#top .home-belief p{margin-block:0!important;text-align:left!important;}
 html body.home-page main#top #about #studio-title{margin-block:0!important;text-align:left!important;}
 html body.home-page main#top :is(.intro-studio-link,.why-contact,.work-contact){justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important;}
 html body.home-page main#top .intro-studio-link{margin-top:32px!important;margin-bottom:0!important;}
 html body.home-page main#top :is(.intro-studio-link,.why-contact,.work-contact) :is(p,a,span){text-align:left!important;margin-left:0!important;}
 html body.home-page main#top .editorial-title-track{margin-block:0 120px!important;padding-block:0!important;}
 html body.home-page main#top :is(.center-heading,.stories-heading,.editorial-title-content){height:auto!important;min-height:0!important;padding-block:0!important;margin-block:0!important;}
 html body.home-page main#top .founder-reading-stage{margin-block:0!important;}
 html body.home-page main#top #founder.founder.page-section{padding-top:120px!important;margin-block:0!important;}
}
@media(max-width:1023px){
 html body.home-page main#top :is(.stories-layout,.testimonial-stack-pin){overflow:visible!important;}
 html body.home-page main#top .stories-stack-section .stories-stage{padding-top:36px!important;}
 html body.home-page main#top .stories-stack-section .story-panel[data-stack-depth="1"]{transform:translateY(-18px) scaleX(.93)!important;}
 html body.home-page main#top .stories-stack-section .story-panel[data-stack-depth="2"]{transform:translateY(-36px) scaleX(.86)!important;}
}

@media(min-width:1024px){html body.home-page main#top>.panel-reading-track:has(>#approach){margin-top:160px!important;}}

@media(min-width:600px) and (max-width:1023px){
 html body{--content-image-radius:16px!important;}
 html body.home-page main#top #work :is(.work-slide,.work-slide-image,.work-slide-image picture,.work-slide-image img),
 html body.work-page #work :is(.project,.project-media,.project-media img),
 html body .case-study :is(.case-image,.case-artwork){border-radius:16px!important;clip-path:inset(0 round 16px)!important;}
 html body.home-page main#top :is(.intro-studio-link,.why-contact),
 html body.home-page main#top :is(.intro-studio-link,.why-contact) :is(p,a,span){font-size:20px!important;line-height:32px!important;}
 html body.home-page main#top :is(.intro-studio-link,.why-contact){gap:16px!important;}
 html body.home-page main#top #approach #philosophy-title,
 html body :is(.studio-thinking,.services-mix,.case-statement) h2{font-size:72px!important;line-height:90px!important;text-align:left!important;}
 html body :is(#approach,.studio-thinking,.services-mix,.case-statement) h2 :is(.motion-line,.editorial-line-mask,.editorial-line-content){line-height:inherit!important;}
 html body.home-page main#top .stories-stack-section .story-panel{min-height:389px!important;padding:40px!important;gap:40px!important;}
 html body.home-page main#top .home-belief p{margin-block:0!important;}
 html body.home-page main#top .clients .clients-heading,html body.home-page main#top .clients #clients-title{margin-top:0!important;padding-top:0!important;}
}

@media(max-width:599px){
 html body.home-page main#top #about .intro-studio-link{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;max-width:none!important;margin:32px 0 0!important;text-align:left!important;}
 html body.home-page main#top #about .intro-studio-link>*{align-self:flex-start!important;margin-left:0!important;margin-right:0!important;text-align:left!important;}
}

@media(min-width:600px) and (max-width:1023px){html body.home-page main#top section#clients.clients.page-section{padding-top:160px!important;}}

.story-swipe-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1023px){
 body.home-page .stories-stack-section .stories-stage .story-panel{transition:transform 380ms cubic-bezier(.22,.61,.36,1),opacity 300ms ease!important}
 body.home-page .stories-stack-section .stories-stage .story-panel[data-swipe-exit="up"]{transform:translate3d(0,-115%,0) rotate(-3deg)!important;opacity:0!important;pointer-events:none}
 body.home-page .stories-stack-section .stories-stage .story-panel[data-swipe-exit="down"]{transform:translate3d(0,115%,0) rotate(3deg)!important;opacity:0!important;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){body.home-page .stories-stack-section .stories-stage .story-panel{transition:none!important}}

/* Center every footer content row on the shared page grid at every width. */
html body footer#contact.contact-panel > :is(.contact-top,.footer-wordmark,.footer-bottom){margin-left:auto!important;margin-right:auto!important;box-sizing:border-box;max-width:100%!important}
@media(min-width:1101px){
 html body footer#contact.contact-panel{padding-inline:0!important}
 html body footer#contact.contact-panel > :is(.contact-top,.footer-wordmark,.footer-bottom){width:var(--desktop-content-width)!important;max-width:calc(100% - 64px)!important}
}

/* Home: Figma mouse cue remains anchored while the intro title/copy change. */
body.home-page .intro-mouse-cue{display:none}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 html body.home-page .intro-mouse-cue.is-active{display:block;position:fixed;left:50%;bottom:48px;width:16px;height:24px;box-sizing:border-box;border:1.2px solid #a5968c;border-radius:100px;transform:translateX(-50%);pointer-events:none;z-index:3}
 html body.home-page .intro-mouse-cue::after{content:'';position:absolute;left:4.8px;top:4.8px;width:4px;height:6px;border-radius:100px;background:#a5968c;animation:scroll-cue-descent 2.2s cubic-bezier(.4,0,.3,1) infinite}
}
/* Both desktop paragraphs: original clamp(28px,3.055556vw,44px) × 1.2. */
@media(min-width:1101px){
 html body.home-page #top #about #studio-title.studio-description,
 html body.home-page #top .home-belief p{font-size:clamp(33.6px,3.666667vw,52.8px)!important;line-height:1.3!important}
}
/* Inner heroes occupy the first viewport before following content begins. */
html body .editorial-main :is(.service-hero,.contact-intro){box-sizing:border-box;min-height:0!important;padding-bottom:0!important;margin-bottom:var(--hero-next-gap,120px)!important}
html body .studio-intro-photo,html body .case-hero>.case-image{margin-top:var(--hero-next-gap,80px)!important}
html body.work-page .work-showcase>.projects{margin-top:var(--hero-next-gap,80px)!important}
/* One layout system for editorial orange statement panels. */
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement){box-sizing:border-box;border-radius:16px!important;padding:120px max(32px,calc(var(--desktop-side-margin,8.333vw) - 16px))!important;text-align:left!important}
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement)>:is(.editorial-container,.service-container,.case-statement-inner){width:100%!important;max-width:none!important;margin-inline:0!important;padding:0!important;box-sizing:border-box}
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement) h2{font-size:var(--panel-title-size,clamp(64px,6.666667vw,112px))!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:left!important}
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement) h2 *{line-height:inherit!important}
html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement) p{font-size:var(--panel-copy-size,28px)!important;line-height:1.5!important;margin-top:40px!important;text-align:left!important}
@media(min-width:600px) and (max-width:1023px){
 html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement){padding:80px 32px!important}
 html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement) h2{font-size:72px!important;line-height:1.25!important}
}
@media(max-width:599px){
 html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement){padding:64px 24px!important}
 html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement) h2{font-size:clamp(30px,8.8vw,52px)!important}
 html body :is(#approach.philosophy,.studio-thinking,.services-mix,.services-redesign .service-promise,.case-study .case-statement) p{font-size:20px!important;line-height:30px!important;margin-top:32px!important}
}
/* Footer boundary has one spacing owner across all pages and breakpoints. */
html body{--footer-section-gap:160px}
html body .panel-reading-track:has(>footer#contact.contact-panel),
html body.home-page main#top>.panel-reading-track:has(>footer#contact.contact-panel){margin-top:var(--footer-section-gap)!important}
html body.work-page .work-showcase{padding-bottom:0!important;margin-bottom:0!important}
html body .editorial-main{padding-bottom:0!important}
html body .editorial-main>:last-child{margin-bottom:0!important}
html body footer#contact.contact-panel{margin-top:var(--footer-section-gap)!important}
html body .panel-reading-track>footer#contact.contact-panel{margin-top:0!important}
@media(max-width:599px){html body{--footer-section-gap:120px}}

/* Figma Studio 160:1563 and Contact 160:1610 — shared type and deliberate spacing. */
html body :is(.editorial-intro .editorial-lead,.service-hero>p,.case-hero>p,.work-lead){font-size:32px!important;line-height:44px!important;}
html body .studio-page .editorial-intro .studio-lead{max-width:967px!important;width:100%;text-wrap:wrap!important;}
html body .studio-page .studio-intro-photo{object-position:center bottom;aspect-ratio:5/3;border-radius:16px!important;}
html body .studio-page>.panel-reading-track:has(>.studio-thinking){margin-bottom:0!important;}
html body .studio-page>:is(.panel-reading-track,.studio-thinking)+section.editorial-section.editorial-split{margin-top:160px!important;}
html body.editorial-page main.editorial-main :is(.editorial-values,.studio-process) h3,
html body.editorial-page main.editorial-main :is(.editorial-values,.studio-process) h3 *{background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body.editorial-page main.editorial-main :is(.editorial-values,.studio-process) li::before{top:0!important;left:0!important;text-align:left!important;transform:none!important;}
html body .contact-work ol>li{align-items:flex-start!important;}
html body .contact-work ol>li::before{align-self:flex-start;transform:none!important;}
html body .contact-page>.enquiry-form.wide-surface{padding-block:120px!important;border-radius:16px!important;}
html body .contact-page .enquiry-form legend{font:700 40px/48px Helixa,sans-serif!important;}
html body .contact-page .service-options{max-width:1020px;gap:24px;}
html body .contact-page .service-options span{font-size:24px!important;line-height:32px!important;padding:16px 24px;}
html body .contact-page .enquiry-field{font-size:32px!important;line-height:48px!important;}
html body .contact-page .enquiry-actions p{color:#201e1c;}
html body .contact-page .contact-work h2.editorial-title,
html body .contact-page .contact-work h2.editorial-title .editorial-line-content{font-size:96px!important;line-height:1.2!important;}
html body:has(.contact-page){--footer-section-gap:80px;}
html body .contact-page>.contact-reach{margin-bottom:0!important;padding-bottom:0!important;}
@media(min-width:1600px){
 html body .contact-page .enquiry-form>.editorial-container{max-width:var(--desktop-content-width);margin-inline:auto;}
}
@media(min-width:600px) and (max-width:1023px){
 html body :is(.editorial-intro .editorial-lead,.service-hero>p,.case-hero>p,.work-lead){font-size:28px!important;line-height:40px!important;}
 html body .contact-page>.enquiry-form.wide-surface{padding-block:96px!important;}
 html body .contact-page .contact-work h2.editorial-title,html body .contact-page .contact-work h2.editorial-title .editorial-line-content{font-size:72px!important;}
}
@media(max-width:599px){
 html body :is(.editorial-intro .editorial-lead,.service-hero>p,.case-hero>p,.work-lead){font-size:22px!important;line-height:32px!important;}
 html body .studio-page>:is(.panel-reading-track,.studio-thinking)+section.editorial-section.editorial-split{margin-top:120px!important;}
 html body .contact-page>.enquiry-form.wide-surface{padding-block:64px!important;}
 html body .contact-page .enquiry-form legend{font-size:28px!important;line-height:36px!important;}
 html body .contact-page .service-options{gap:12px;}
 html body .contact-page .service-options span{font-size:18px!important;line-height:26px!important;padding:12px 16px;}
 html body .contact-page .enquiry-field{font-size:22px!important;line-height:32px!important;}
 html body .contact-page .contact-work h2.editorial-title,html body .contact-page .contact-work h2.editorial-title .editorial-line-content{font-size:clamp(36px,9vw,54px)!important;}
 html body:has(.contact-page){--footer-section-gap:60px;}
}
/* Keep each number beside the title, including narrow screens. */
@media(max-width:599px){
 html body.editorial-page main.editorial-main :is(.studio-process,.editorial-values) li{position:relative;padding-left:40px!important;}
 html body.editorial-page main.editorial-main :is(.studio-process,.editorial-values) li::before{position:absolute!important;display:block;margin:0!important;top:0!important;left:0!important;}
}
/* Requested founder/footer join and large-desktop principle rhythm. */
html body .panel-reading-track[data-founder-joined],
html body.home-page main#top>.panel-reading-track[data-founder-joined]{margin-top:0!important;}
html body :is(#top,.studio-page) .founder-reading-stage #founder.founder.page-section{padding-bottom:0!important;align-items:end!important;}
html body :is(#top,.studio-page) #founder .founder-photo{align-self:end!important;margin-bottom:0!important;}
html body :is(#top,.studio-page) #founder .founder-photo>img{display:block;margin-bottom:0!important;}
@media(min-width:1101px){
 html body.editorial-page main.editorial-main.studio-page .editorial-values>li:not(:last-child){margin-bottom:96px!important;}
}
html body.editorial-page main.editorial-main .editorial-intro .editorial-lead,
html body.editorial-page main.editorial-main .service-hero>p,
html body .case-study .case-hero>p,
html body.work-page .work-showcase .work-lead{font-size:32px!important;line-height:44px!important;}
@media(min-width:600px) and (max-width:1023px){
 html body.editorial-page main.editorial-main .editorial-intro .editorial-lead,
 html body.editorial-page main.editorial-main .service-hero>p,
 html body .case-study .case-hero>p,
 html body.work-page .work-showcase .work-lead{font-size:28px!important;line-height:40px!important;}
}
@media(max-width:599px){
 html body.editorial-page main.editorial-main .editorial-intro .editorial-lead,
 html body.editorial-page main.editorial-main .service-hero>p,
 html body .case-study .case-hero>p,
 html body.work-page .work-showcase .work-lead{font-size:22px!important;line-height:32px!important;}
}
/* The footer ends the document; it never reserves a scroll-hold region. */
html body .panel-reading-track:has(>footer#contact.contact-panel){height:auto!important;padding-bottom:0!important;margin-bottom:0!important;translate:none!important;}
html body .panel-reading-track>footer#contact.contact-panel{position:relative!important;top:auto!important;margin-bottom:0!important;}
/* Preserve the designed outer inset without restoring the footer scroll hold. */
html body:is(.home-page,.work-page,.editorial-page){padding-bottom:16px!important;}
html body.editorial-page:has(.contact-page){padding-bottom:18px!important;}
html body footer#contact.contact-panel{margin-bottom:0!important;}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 html body.home-page .intro-mouse-cue.is-active{z-index:40;bottom:48px;}
}
/* Client marks use their final layout size from first paint, never a zoom transform. */
html body .clients .figma-client-rows .client-row>li>img{
 width:calc(var(--client-logo-width) * .9)!important;
 height:auto!important;transform:none!important;scale:none!important;
 transition:none!important;animation:none!important;
}
html body.home-page #top .clients .figma-client-rows .client-row>li>img{
 width:calc(var(--client-logo-width) * .81)!important;transform:none!important;
}
html body .clients :is(.client-marquee,.client-row>li){scale:none!important;}
/* Founder is physically joined to the footer, before and after wrapper hydration. */
html body.home-page main#top:has(#founder)>.panel-reading-track:has(>footer#contact.contact-panel),
html body.editorial-page:has(.studio-page #founder)>.panel-reading-track:has(>footer#contact.contact-panel),
html body.home-page main#top:has(#founder)>footer#contact.contact-panel,
html body.editorial-page:has(.studio-page #founder)>footer#contact.contact-panel{
 margin-top:0!important;
}
html body :is(main#top,main.studio-page)>.founder-reading-stage{
 height:auto!important;min-height:0!important;margin-bottom:0!important;padding-bottom:0!important;
}
html body :is(main#top,main.studio-page) #founder.founder.page-section{
 min-height:0!important;padding-bottom:0!important;margin-bottom:0!important;
}
html body :is(main#top,main.studio-page) #founder .founder-photo{
 padding-bottom:0!important;translate:none!important;transform:none!important;
}
html body :is(main#top,main.studio-page) #founder .founder-photo>img{object-position:center bottom!important;}
/* Requested H1-sized Studio/Contact headings share the existing inner-hero scale. */
html body{--shared-inner-h1:clamp(32px,8.2vw,120px);--numbered-item-gap:76.8px;}
@media(min-width:1024px) and (max-width:1600px){html body{--shared-inner-h1:clamp(68px,6.944444vw,112px);}}
@media(max-width:1023px){html body{--shared-inner-h1:clamp(34px,9.2vw,68px);--numbered-item-gap:22.4px;}}
@media(max-width:760px){html body{--numbered-item-gap:19.2px;}}
html body.editorial-page main.editorial-main :is(.studio-process>h2.editorial-title,.studio-years>.editorial-container>h2.editorial-title,.contact-work h2.editorial-title),
html body.editorial-page main.editorial-main :is(.studio-process>h2.editorial-title,.studio-years>.editorial-container>h2.editorial-title,.contact-work h2.editorial-title) .editorial-line-content{
 font-size:var(--shared-inner-h1)!important;line-height:1.2!important;font-family:'GC Gudlak',sans-serif!important;font-weight:700!important;
}
html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values>li:not(:last-child){margin-bottom:var(--numbered-item-gap)!important;}
html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values>li:last-child{margin-bottom:0!important;}
html body.editorial-page main.editorial-main :is(.studio-process,.editorial-values) li::before{top:4px!important;}
html body .studio-page .studio-intro-photo{width:100%!important;height:auto!important;object-fit:cover!important;aspect-ratio:5/3!important;}
html body .studio-page #founder .founder-photo>img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:2160/3840!important;object-fit:contain!important;object-position:center bottom!important;}
/* One H1 type scale and line box, including every reveal wrapper. */
html body :is(.editorial-main h1.editorial-title,.case-study .case-hero h1,.work-showcase #work-page-title,
.studio-page .studio-process>h2.editorial-title,.studio-page .studio-years>.editorial-container>h2.editorial-title,.contact-page .contact-work h2.editorial-title){
 font-size:var(--shared-inner-h1)!important;line-height:1.2!important;
}
html body :is(.editorial-main h1.editorial-title,.case-study .case-hero h1,.work-showcase #work-page-title,
.studio-page .studio-process>h2.editorial-title,.studio-page .studio-years>.editorial-container>h2.editorial-title,.contact-page .contact-work h2.editorial-title) :is(.editorial-line-mask,.editorial-line-content,.title-desktop-lines,.title-mobile-lines){
 font-size:inherit!important;line-height:inherit!important;
}
/* Render the desk photograph in its original proportions, without a forced frame ratio. */
html body.editorial-page main.studio-page img.studio-intro-photo{
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;scale:none!important;
}
/* Match number and heading line boxes, retaining the requested four-pixel offset. */
html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) .editorial-values li::before{
 top:4px!important;line-height:calc(clamp(24px,2.083333vw,34px) * 1.2)!important;
}
html body.editorial-page main.editorial-main.studio-page .studio-process li::before{top:4px!important;line-height:1.5!important;}

/* Final desk-photo rule: width follows the container; height follows the source. */
html body.editorial-page main.studio-page .editorial-intro img.studio-desk-photo{
 display:block!important;width:100%!important;height:auto!important;
 aspect-ratio:1024/683!important;min-height:0!important;max-height:none!important;
 object-fit:contain!important;transform:none!important;scale:none!important;
}
/* Mobile Home review: left reading edge, no nested paragraph gutters or padding. */
@media(max-width:599px){
 html body.home-page main#top :is(#statement-title,#why-title,#testimonials-title,#work-title,#services-title,#clients-title,#founder-title),
 html body.home-page main#top :is(#statement-title,#why-title,#testimonials-title,#work-title,#services-title,#clients-title,#founder-title) :is(span,.motion-line,.title-word-mask,.title-word){text-align:left!important;}
 html body.home-page main#top :is(.hero-statement-inner,.stories-heading,.center-heading){align-items:flex-start!important;justify-items:start!important;text-align:left!important;}
 html body.home-page main#top #hero-statement{padding-inline:24px!important;}
 html body.home-page main#top #about{width:100%!important;margin-inline:0!important;padding:0!important;min-height:0!important;}
 html body.home-page main#top #about #studio-title{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;text-align:left!important;}
 html body.home-page main#top .home-belief{width:calc(100% - 48px)!important;margin-inline:24px!important;padding-inline:0!important;padding-bottom:0!important;min-height:0!important;}
 html body.home-page main#top .home-belief :is(.belief-scroll-stage,.belief-scroll-copy,p){width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;text-align:left!important;}
 html body.home-page main#top :is(.intro-studio-link,.why-contact,.work-contact){justify-content:flex-start!important;align-items:baseline!important;text-align:left!important;gap:12px!important;flex-wrap:wrap!important;}
 html body.home-page main#top :is(.why-contact,.work-contact)>p{margin:0!important;padding:0!important;line-height:1.5!important;}
 html body.home-page main#top :is(.why-contact,.work-contact)>.line-link{margin-top:0!important;line-height:1.5!important;}
 html body.home-page{padding-bottom:8px!important;}
 html body.home-page main#top footer#contact.contact-panel{width:calc(100% - 16px)!important;margin-left:8px!important;margin-right:8px!important;margin-bottom:0!important;}
}
/* Figma's 1200 × 720 photo frame crops the source; it never stretches the person. */
html body.editorial-page main.studio-page .editorial-intro figure.studio-desk-frame{
 position:relative!important;display:block!important;width:100%!important;height:auto!important;
 aspect-ratio:5/3!important;min-height:0!important;max-height:none!important;
 padding:0!important;margin-inline:0!important;margin-bottom:0!important;overflow:hidden!important;border-radius:16px!important;
}
html body.editorial-page main.studio-page .studio-desk-frame>img.studio-desk-image{
 position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
 min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top!important;
 transform:none!important;scale:none!important;border-radius:0!important;
}
/* Compact outgoing cards must override the front-card transform, just as desktop does. */
@media(max-width:1023px){
 html body.home-page main#top .stories-stack-section .stories-stage .story-panel{
 transition:transform 550ms cubic-bezier(.22,.61,.36,1),opacity 450ms ease,background-color 550ms ease!important;
 }
 html body.home-page main#top .stories-stack-section .stories-stage .story-panel[data-swipe-exit="up"]{
 z-index:5!important;transform:translate3d(5%,-135svh,0) rotate(9deg)!important;opacity:0!important;
 }
 html body.home-page main#top .stories-stack-section .stories-stage .story-panel[data-swipe-exit="down"]{
 z-index:5!important;transform:translate3d(-5%,135svh,0) rotate(-9deg)!important;opacity:0!important;
 }
}
@media(prefers-reduced-motion:reduce){html body.home-page main#top .stories-stack-section .stories-stage .story-panel{transition:none!important;}}
/* Slightly more breathing room between Home service listings. */
html body.home-page main#top #services.home-expertise .expertise-row{padding-top:40px!important;padding-bottom:56px!important;}
@media(max-width:760px){html body.home-page main#top #services.home-expertise .expertise-row{padding-top:36px!important;padding-bottom:40px!important;}}

/* September 30: requested mobile spacing and whole-word display titles. */
@media(max-width:599px){
 html body footer#contact.contact-panel .contact-details{display:flex!important;flex-direction:column!important;gap:12px!important;}
 html body footer#contact.contact-panel .contact-details>a{margin-block:0!important;}
 html body.home-page main#top .why .why-contact{margin-top:24px!important;}
 html body.home-page main#top .why .editorial-title-track{margin-bottom:60px!important;}
 html body.home-page main#top .why>.why-grid{margin-top:24px!important;}
 html body.home-page main#top :is(#statement-title,#why-title){font-size:clamp(38px,15.5vw,88px)!important;line-height:1.2!important;letter-spacing:0!important;}
 html body.home-page main#top :is(#statement-title,#why-title) :is(span,.motion-line,.title-word-mask,.title-word){font-size:inherit!important;line-height:inherit!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
 html body main:is(#top,.editorial-main,.case-study,.work-showcase) :is(h1,h2,h3,h4),
 html body main:is(#top,.editorial-main,.case-study,.work-showcase) :is(h1,h2,h3,h4) *{text-align:left!important;}
 html body .editorial-main :is(.editorial-lead,.service-hero>p),html body .case-study .case-hero>p,html body.work-page .work-lead{margin-top:20px!important;}
 html body .editorial-main :is(.service-hero,.contact-intro){margin-bottom:calc(var(--hero-next-gap,120px) / 2)!important;}
 html body .studio-intro-photo,html body .case-hero>.case-image,html body.work-page .work-showcase>.projects{margin-top:calc(var(--hero-next-gap,80px) / 2)!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) :is(.editorial-values,.studio-process) li:not(:last-child){margin-bottom:32px!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) :is(.editorial-values,.studio-process) h3{font-size:22px!important;line-height:1.2!important;}
 html body.editorial-page main.contact-page .contact-reach>h2.editorial-title{font-size:clamp(30px,8vw,44px)!important;text-align:left!important;}
}

/* Mobile case studies: larger reading type and Envisioner Figma 407:1588 media. */
.envisioner-responsive-media{display:block;}
.envisioner-mobile-apps{display:none;}
@media(max-width:599px){
 html body main.case-study .case-hero h1{font-size:clamp(36px,10vw,60px)!important;line-height:1.2!important;}
 html body main.case-study :is(.case-copy,.case-copy p,.case-hero>p,.case-statement p){font-size:24px!important;line-height:1.5!important;}
 html body main.case-study :is(.case-facts,.case-facts dd,.case-related p){font-size:20px!important;line-height:1.5!important;}
 html body main.case-study .case-facts dt{font-size:16px!important;line-height:1.5!important;}
 html body main.case-study .case-story h2{font-size:38px!important;line-height:1.2!important;}
 html body main.case-study .case-related h3{font-size:26px!important;line-height:1.3!important;}
 html body main.case-envisioner .envisioner-responsive-media{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:354/400;}
 html body main.case-envisioner .envisioner-responsive-media>.case-image{position:absolute;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important;}
 html body main.case-envisioner .envisioner-media-hero>.case-image{width:193.785%!important;height:104.5%!important;left:-51.412%;top:0;}
 html body main.case-envisioner .envisioner-media-lifestyle>.case-image{width:200.282%!important;height:133.25%!important;left:-57.91%;top:-16.75%;}
 html body main.case-envisioner .envisioner-media-dashboard>.case-image{width:114.124%!important;height:113.5%!important;left:-11.017%;top:-5.5%;}
 html body main.case-envisioner .envisioner-media-ai-laptop>.case-image{width:196.045%!important;height:115.5%!important;left:-42.09%;top:-6.25%;}
 html body main.case-envisioner .envisioner-media-discovery>.case-image{width:153.39%!important;height:101.75%!important;left:-24.01%;top:-1%;}
 html body main.case-envisioner .envisioner-media-result>.case-image{width:189.548%!important;height:126%!important;left:-51.98%;top:-11.5%;}
 html body main.case-envisioner .envisioner-media-identity{aspect-ratio:354/780;}
 html body main.case-envisioner .case-brand-pair{grid-template-columns:1fr!important;gap:48px!important;}
 html body main.case-envisioner .case-brand-tile{aspect-ratio:354/400!important;}
 html body main.case-envisioner .envisioner-desktop-media{display:none!important;}
 html body main.case-envisioner .envisioner-mobile-apps{display:flex;gap:32px;padding:48px 36px;box-sizing:border-box;width:100vw;margin-left:calc((100% - 100vw)/2);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:36px;background:#fde8d9 url('/assets/envisioner/mobile/phone-bg.svg') left center/600px 480px no-repeat;}
 html body main.case-envisioner .envisioner-mobile-apps>img{display:block;flex:0 0 auto;width:auto;height:384px;max-width:none;object-fit:contain;scroll-snap-align:start;box-shadow:11px 11px 25px #281e1929;}
 html body main.case-envisioner .envisioner-mobile-apps.creator-apps{gap:30px;padding-inline:32px;background:#f7e7ec url('/assets/envisioner/mobile/creator-bg.webp') center/cover;}
}
/* Follow-up: slightly smaller mobile display headings and closer testimonial deck. */
@media(max-width:599px){
 html body.home-page main#top :is(#statement-title,#why-title,#testimonials-title){font-size:clamp(36px,14vw,80px)!important;line-height:1.12!important;letter-spacing:0!important;}
 html body.home-page main#top :is(#statement-title,#why-title,#testimonials-title) :is(span,.motion-line,.title-word-mask,.title-word){font-size:inherit!important;line-height:inherit!important;}
 html body.home-page main#top .testimonials .editorial-title-track{margin-bottom:48px!important;}
 html body.home-page main#top .stories-stack-section .stories-layout{margin-top:0!important;}
}
/* Mobile review: card breathing room, contact alignment, and Studio 407:1827 crop. */
html body.editorial-page main.studio-page .studio-desk-frame>picture{display:contents;}
html body.editorial-page main.studio-page .studio-desk-frame>picture>img.studio-desk-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top!important;transform:none!important;scale:none!important;border-radius:0!important;}
@media(max-width:599px){
 html body.home-page main#top .stories-stack-section .story-panel{padding-top:40px!important;}
 html body.home-page main#top .stories-stack-section .story-panel figcaption img{width:48px!important;height:48px!important;object-fit:contain!important;}
 html body.editorial-page main.contact-page>.enquiry-form.wide-surface{padding-block:48px!important;}
 html body.editorial-page main.editorial-main:is(.studio-page,.contact-page) :is(.studio-process,.editorial-values) li::before{top:3px!important;margin:0!important;line-height:1.2!important;font-size:16px!important;}
 html body.editorial-page main.contact-page .contact-work ol>li{align-items:flex-start!important;gap:12px!important;}
 html body.editorial-page main.contact-page .contact-work ol>li::before{font-size:16px!important;line-height:1.2!important;margin-top:4px!important;align-self:flex-start!important;}
 html body.editorial-page main.contact-page .contact-reach>h2.editorial-title{width:calc(100% - 48px)!important;max-width:none!important;margin-left:24px!important;margin-right:24px!important;}
 html body.editorial-page main.contact-page .contact-reach>h2.editorial-title :is(span,.editorial-line-mask,.editorial-line-content){text-align:left!important;width:100%!important;margin-inline:0!important;}
 html body.editorial-page main.studio-page .editorial-intro figure.studio-desk-frame{aspect-ratio:354/400!important;}
 html body.editorial-page main.studio-page .studio-desk-frame>picture>img.studio-desk-image{width:188.700565%!important;height:100%!important;left:-42.655367%!important;right:auto!important;object-fit:cover!important;object-position:center bottom!important;}
}
/* Supplied portraits retain their authored desktop and mobile proportions. */
html body.editorial-page main.studio-page .studio-desk-frame>picture>img.studio-desk-image{width:100%!important;height:100%!important;left:0!important;object-fit:contain!important;object-position:center!important;}
.case-mobile-artwork{display:none;}
@media(max-width:599px){
 html body main.case-study .case-overview>.case-facts{margin-top:20px!important;}
 html body main.case-study .case-desktop-artwork{display:none!important;}
 html body main.case-study .case-mobile-artwork{display:flex;flex-direction:column;gap:48px;width:100%;}
 html body main.case-study .case-mobile-artwork>img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;border-radius:16px;}
 html body main.case-study .case-mobile-phone-row{display:flex;gap:32px;padding:48px 32px;box-sizing:border-box;width:100vw;margin-left:calc((100% - 100vw)/2);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:32px;background:#392d49;}
 html body main.case-study .case-mobile-phone-row>img{flex:none;width:189px!important;height:384px!important;max-width:none!important;object-fit:contain!important;scroll-snap-align:start;border-radius:0!important;}
 html body main.case-study .phone-row-avvo-3{background:#6c4fda;}
 html body main.case-study .phone-row-miela-6{background:#000;}
 html body main.case-study .phone-row-connect-2{background:linear-gradient(108deg,#ff6fc3,#ff804e);}
 html body main.case-receitly .case-image-pair{display:flex!important;flex-direction:column;gap:48px!important;}
}
/* FAQ enters fully on viewport entry; opening remains an accessible accordion. */
html body .services-faq .faq-motion{position:relative;border-bottom-color:transparent!important;}
html body .services-faq .faq-motion::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#ffffff30;transform:scaleX(0);transform-origin:left;transition:transform 650ms cubic-bezier(.22,1,.36,1);}
html body .services-faq .faq-motion .faq-question{opacity:0;translate:0 20px;transition:opacity 450ms ease,translate 550ms cubic-bezier(.22,1,.36,1);}
html body .services-faq .faq-motion.faq-visible::after{transform:scaleX(1);}
html body .services-faq .faq-motion.faq-visible .faq-question{opacity:1;translate:0 0;}
html body .services-faq .faq-answer p{translate:0 12px;transition:translate 420ms cubic-bezier(.22,1,.36,1);}
html body .services-faq .faq-item[data-open="true"] .faq-answer p{translate:0 0;}
@media(prefers-reduced-motion:reduce){html body .services-faq .faq-motion .faq-question{opacity:1;translate:none;transition:none;}html body .services-faq .faq-motion::after{transform:none;transition:none;}html body .services-faq .faq-answer p{translate:none;transition:none;}}
/* Authoritative Studio portrait sizing: natural image ratio, full content width. */
html body.editorial-page main.editorial-main.studio-page .editorial-intro figure.studio-desk-frame{
 display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;margin-inline:0!important;overflow:hidden!important;border-radius:16px!important;
}
html body.editorial-page main.editorial-main.studio-page .editorial-intro figure.studio-desk-frame>picture{display:block!important;width:100%!important;height:auto!important;}
html body.editorial-page main.editorial-main.studio-page .editorial-intro figure.studio-desk-frame>picture>img.studio-desk-image{
 position:static!important;inset:auto!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;scale:none!important;border-radius:16px!important;margin:0!important;
}
/* Hibba Bottega statement color approved by the user. */
html body main.case-hibba-bottega .case-statement{background:#FFC896!important;}
.privacy-page .privacy-copy{margin-top:48px;font:20px/1.6 Helixa,sans-serif;max-width:960px;}
.privacy-page .privacy-copy h2{font-size:32px;line-height:1.25;margin:40px 0 16px;}
.privacy-page .privacy-copy h3{font-size:24px;line-height:1.3;margin:28px 0 12px;}
.privacy-page .privacy-copy p,.privacy-page .privacy-copy ul{margin-block:16px;}
.privacy-page .privacy-copy li{margin-block:8px;}
.privacy-page .privacy-copy a{text-decoration:underline;}

/* Complete viewport entrances, independent of scroll speed. */
html body #top .home-expertise .expertise-scroll>.service-item-arrival,
html body #top #approach .philosophy-description.service-item-arrival{opacity:0!important;translate:0 32px!important;animation:none!important;transition:opacity 580ms ease var(--arrival-delay,0ms),translate 650ms cubic-bezier(.22,1,.36,1) var(--arrival-delay,0ms)!important;}
html body #top .home-expertise .expertise-scroll>.service-item-arrival.home-arrived,
html body #top #approach .philosophy-description.service-item-arrival.home-arrived{opacity:1!important;translate:0 0!important;}
html body #top .home-expertise .service-line-arrival::after{transform:scaleX(0);transition:transform 750ms cubic-bezier(.22,1,.36,1);}
html body #top .home-expertise .service-line-arrival.home-arrived::after{transform:scaleX(1);}
html body .site-header{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;}
html body .site-header::before,html body .site-header::after{content:none!important;display:none!important;}
html body .site-header>.wordmark,html body .site-header>.editorial-menu-button,html body .site-header>.site-nav{translate:0 0;transition:translate 550ms cubic-bezier(.22,1,.36,1),opacity 350ms ease;}
html body .site-header.header-scroll-hidden>.wordmark{translate:calc(-100% - 8vw) 0;opacity:0;pointer-events:none;}
html body .site-header.header-scroll-hidden>.editorial-menu-button,html body .site-header.header-scroll-hidden>.site-nav{translate:calc(100% + 8vw) 0;opacity:0;pointer-events:none;}
@media(prefers-reduced-motion:reduce){html body .site-header>*{transition:none!important;}html body #top .service-item-arrival{opacity:1!important;translate:none!important;transition:none!important;}}

/* Work introduction: Figma's three desktop lines, natural mobile wrapping. */
html body.work-page .work-showcase p.work-lead{letter-spacing:0!important;text-wrap:wrap;max-width:100%;}
.work-copy-break{display:none;}
@media(min-width:1200px){.work-copy-break{display:inline;}html body.work-page .work-showcase p.work-lead{width:100%;}}

/* Shared header stays above page artwork on every route. */
html body .site-header.editorial-header{z-index:1000!important;pointer-events:none;isolation:isolate;background:none!important;box-shadow:none!important;filter:none!important;backdrop-filter:none!important;}
html body .site-header.editorial-header>:is(.wordmark,.editorial-menu-button,.site-nav){pointer-events:auto;}
html body .site-header.editorial-header.header-scroll-hidden>:is(.wordmark,.editorial-menu-button,.site-nav){pointer-events:none;}
html body .site-header.editorial-header::before,html body .site-header.editorial-header::after{content:none!important;background:none!important;box-shadow:none!important;}
/* Studio is the reference for all inner-page introductory descriptions. */
html body{--inner-description-size:32px;--inner-description-leading:44px;}
@media(min-width:600px) and (max-width:1023px){html body{--inner-description-size:28px;--inner-description-leading:40px;}}
@media(max-width:599px){html body{--inner-description-size:22px;--inner-description-leading:32px;}}
html body.editorial-page main.editorial-main .editorial-intro .editorial-lead,
html body.editorial-page main.editorial-main .service-hero>p,
html body main.case-study .case-hero>p,
html body.work-page .work-showcase p.work-lead{font-family:Helixa,sans-serif!important;font-size:var(--inner-description-size)!important;line-height:var(--inner-description-leading)!important;font-weight:400!important;letter-spacing:0!important;}

html body .contact-page .enquiry-form fieldset{margin-bottom:72px!important;}
@media(max-width:599px){html body .contact-page .enquiry-form fieldset{margin-bottom:56px!important;}}

/* Project captions use solid type on Home, Work, and related case studies. */
html body :is(.work-caption,.work-slide-caption h3,.case-related h3,.project-name),
html body :is(.work-caption,.work-slide-caption h3,.case-related h3,.project-name) *{background:none!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}

/* Final contact spacing for tablet and small/medium desktop. */
@media(min-width:600px) and (max-width:1599px){
 html body.editorial-page main.contact-page>.enquiry-form.wide-surface{padding-block:64px!important;}
 html body .editorial-main.contact-page .contact-intro{margin-bottom:64px!important;padding-bottom:0!important;}
}
@media(min-width:600px) and (max-width:1023px){
 html body.editorial-page main.contact-page>.enquiry-form.wide-surface{padding-block:48px!important;}
 html body .editorial-main.contact-page .contact-intro{margin-bottom:48px!important;}
}
