/* Figma 125:719 / 218:575. Reference desktop width: 1440px. */
/* Override legacy font shorthands without replacing logos or image lettering. */
@font-face{font-family:'GC Gudlak';src:url('/assets/fonts/gc-gudlak/GCGudlak-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'GC Gudlak';src:url('/assets/fonts/gc-gudlak/GCGudlak-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'GC Gudlak';src:url('/assets/fonts/gc-gudlak/GCGudlak-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'GC Gudlak';src:url('/assets/fonts/gc-gudlak/GCGudlak-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'GC Gudlak';src:url('/assets/fonts/gc-gudlak/GCGudlak-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Thin.otf') format('opentype');font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-ThinItalic.otf') format('opentype');font-weight:100;font-style:italic;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-LightItalic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Book.otf') format('opentype');font-weight:350;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-BookItalic.otf') format('opentype');font-weight:350;font-style:italic;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-BoldItalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-Black.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:Helixa;src:url('/assets/fonts/helixa/Helixa-BlackItalic.otf') format('opentype');font-weight:900;font-style:italic;font-display:swap;}
html body,body *,body *::before,body *::after{font-family:Helixa,sans-serif!important;}
/* Keep existing sizes, tracking, line heights and weights. Include animated
   line wrappers so they cannot fall back to the global body family. */
body :is(h1,h2,[role=heading],.editorial-title,.menu-primary a),
body :is(h1,h2,[role=heading],.editorial-title,.menu-primary a) *{font-family:'GC Gudlak',sans-serif!important;}
/* Copy and card titles use Helixa; display headings retain GC Gudlak. */
body :is(p,blockquote,figcaption,label,legend,input,textarea,select,button,dt,dd,h3,h4,h5,h6,.work-caption,.services-detail-heading h2),
body :is(p,blockquote,figcaption,label,legend,input,textarea,select,button,dt,dd,h3,h4,h5,h6,.work-caption,.services-detail-heading h2) *{font-family:Helixa,sans-serif!important;}
:root{--fluid-display:clamp(48px,10vw,144px);--fluid-section:clamp(36px,4.166667vw,60px);}
/* Shared display-title rhythm across all inner pages; preserve type sizing. */
body .editorial-main .editorial-title,
body .editorial-main h1.editorial-title,
body .editorial-main .services-intro h1.editorial-title,
body .editorial-main .editorial-split>h2.editorial-title,
body.work-page h1#work-page-title{line-height:.9;}
/* Home 125:732: 36/44 Light, 1002px copy measure at 1440px. */
body.home-page #about #studio-title.studio-description{font-size:clamp(24px,2.5vw,36px);line-height:1.222222;font-weight:300;letter-spacing:0;max-width:min(100%,1002px);opacity:.96;}
body .site-header .site-nav,body.work-page .site-header .site-nav{display:none;}
body .site-header.editorial-header .editorial-menu-button{display:grid;place-items:center;margin-left:auto;width:64px;height:64px;min-width:64px;min-height:64px;box-sizing:border-box;background:linear-gradient(#27241f,#27241f) padding-box,linear-gradient(135deg,#6c5942 8%,#E9C79E 48%,#6c5942 74%,#302c26) border-box;border:1px solid transparent;border-radius:12px;padding:0;cursor:pointer;color:white;box-shadow:none;}
body .editorial-menu-button .menu-glyph::before{content:none;}
body .editorial-menu-button .menu-glyph>span{left:0;width:32px;}
body dialog.editorial-menu#site-mobile-menu{inset:36px 36px auto auto;width:440px;height:680px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 72px);margin:0;padding:72px 47px 48px;border:1px solid #6c5942;border-radius:16px;background:rgb(32 30 28 / 90%);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform-origin:top right;overflow:auto;}
body #site-mobile-menu .menu-top>a{display:none;}
body .site-header .editorial-menu-button[aria-expanded=true]{visibility:hidden;}
body #site-mobile-menu .menu-top button{left:var(--close-x);right:auto;top:var(--close-y);color:#fff;width:64px;height:64px;box-sizing:border-box;padding:0;border:1px solid transparent;border-radius:12px;background:linear-gradient(#27241f,#27241f) padding-box,linear-gradient(135deg,#6c5942 8%,#E9C79E 48%,#6c5942 74%,#302c26) border-box;transform:none;transition:none;}
body #site-mobile-menu .menu-top button:active{transform:none;}
body #site-mobile-menu .menu-glyph>span{left:0;width:32px;}
body #site-mobile-menu[data-closing=true] .menu-glyph{opacity:1;}
body dialog.editorial-menu#site-mobile-menu{border-color:#6c5942;}
body .editorial-menu-button{box-shadow:none;}
body #site-mobile-menu[open] .menu-glyph{animation:none;}
/* Poltab's cap outlines extend beyond its tight line box. Expand the reveal
   mask, not the line spacing, so the letter tops and bottoms stay intact. */
body main .motion-line{display:flow-root;overflow:visible;clip-path:inset(-.16em -.08em);padding:0;margin:0;}
body main .motion-line>span,body main .editorial-line-content{padding-block:.16em;margin-block:-.16em;}
body main .editorial-line-mask{display:flow-root;overflow:visible;clip-path:inset(-.16em -.08em);padding:0;margin:0;}
body main .copy-word-mask{padding-block:.12em;margin-block:-.12em;}
body #site-mobile-menu nav.menu-primary{gap:24px;margin:0;}
body #site-mobile-menu nav.menu-primary a{font-size:48px;line-height:1.25;font-weight:500;letter-spacing:.04em;}
body #site-mobile-menu nav.menu-primary a{transition:color 360ms ease,translate 500ms cubic-bezier(.22,1,.36,1);}
body #site-mobile-menu nav.menu-primary a:is(:focus-visible,[aria-current=page]){color:#E9C79E;}
@media(hover:hover) and (pointer:fine){body #site-mobile-menu nav.menu-primary a:hover{color:#E9C79E;translate:6px 0;}}
@media(prefers-reduced-motion:reduce){body #site-mobile-menu nav.menu-primary a{transition:none;}body #site-mobile-menu nav.menu-primary a:hover{translate:none;}}
body #site-mobile-menu nav.menu-social{gap:12px;margin:112px 0 0;}
body #site-mobile-menu nav.menu-social a{font-size:18px;line-height:24px;font-weight:400;}
body #site-mobile-menu nav.menu-social a{transition:color 240ms ease;}
body #site-mobile-menu nav.menu-social a:is(:hover,:focus-visible){color:#E9C79E;}
@media(prefers-reduced-motion:reduce){body #site-mobile-menu nav.menu-social a{transition:none;}}
/* Animate the surface while the control stays pinned in place. */
body #site-mobile-menu[open]{z-index:1000;animation:menu-surface-enter 560ms cubic-bezier(.22,1,.36,1) both;box-shadow:none;}
@keyframes menu-surface-enter{from{background-color:rgb(32 30 28 / 0%);border-color:transparent;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);}to{background-color:rgb(32 30 28 / 90%);border-color:#6c5942;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}}
body.home-page .hero-statement #statement-title,body.home-page #services #services-title,body.home-page .why #why-title,body .clients.page-section #clients-title{font-size:var(--fluid-display);font-weight:700;line-height:.9;letter-spacing:0;}
body.home-page #work #work-title,body.home-page .testimonials #testimonials-title,body:is(.home-page,.editorial-page) .founder.page-section .founder-copy #founder-title{font-size:var(--fluid-section);font-weight:500;line-height:1.066667;letter-spacing:-.01em;}
body.home-page #services .services-grid{display:block;margin-top:48px;}
body.home-page #services .services-grid{border-bottom:1px solid #37322f;}
body.home-page #services .services-grid::before,body.home-page #services .service-card::before,body.home-page #services .service-card::after{content:none;}
body.home-page #services .service-card:nth-child(n){display:grid;grid-template-columns:49px minmax(0,1fr);gap:0;min-height:226px;padding:60px 0 48px;border:0;border-top:1px solid #37322f;border-radius:0;box-sizing:border-box;}
body.home-page #services .service-index{font-size:20px;line-height:28px;font-weight:400;letter-spacing:.8px;opacity:.5;margin:0;padding:0;align-self:start;}
body.home-page #services .service-card>div{display:grid;grid-template-columns:minmax(0,613fr) minmax(0,538fr);column-gap:0;align-content:start;}
body.home-page #services .service-card h3{grid-column:1;grid-row:1/3;font-size:clamp(26px,2.777778vw,40px);line-height:1.2;font-weight:500;letter-spacing:-.01em;margin:0;padding-right:24px;align-self:start;}
body.home-page #services .service-card p{grid-column:2;font-size:clamp(18px,1.527778vw,22px);line-height:1.454545;font-weight:300;max-width:391px;margin:0;}
body.home-page #services .service-card ul{grid-column:2;font-size:16px;line-height:24px;font-weight:400;margin:16px 0 0;display:flex;flex-wrap:wrap;}
body.home-page .why-copy h3{font-size:clamp(26px,2.222222vw,32px);line-height:1.25;font-weight:500;}
body.home-page .why-copy p{font-size:18px;line-height:28px;}
body.home-page #approach #philosophy-title{font-size:clamp(40px,8.333333vw,120px);font-weight:800;line-height:.9;letter-spacing:0;max-width:100%;}
body .stories-carousel .story-panel blockquote{font-size:clamp(26px,2.5vw,36px);line-height:1.333333;font-weight:400;letter-spacing:0;max-width:580px;}
body .stories-carousel .story-panel figcaption{gap:16px;}
body .stories-carousel .story-panel figcaption>div{display:flex;flex-direction:column;gap:4px;}
@media(min-width:761px){
 body .stories-carousel .stories-stage .story-panel{padding:64px 68px;gap:64px;min-height:540px;}
 body .stories-carousel .story-panel blockquote{margin:0;}
 body .stories-carousel .story-panel figcaption{margin-top:auto;}
 body .stories-carousel .story-panel figcaption>img{width:60px;height:60px;flex-shrink:0;object-fit:contain;}
}
body .stories-carousel .story-panel figcaption>div>span{font-size:24px;line-height:28px;font-weight:600;}
body .stories-carousel .story-panel figcaption .story-meta{font-size:16px;line-height:20px;font-weight:400;}
body.home-page #work .work-slide-caption{display:flex;flex-direction:column;gap:16px;}
body.home-page #work .work-slide-caption h3{font-size:clamp(24px,2.5vw,36px);line-height:1.111111;font-weight:400;letter-spacing:0;margin:0;}
body.home-page #work .work-project-services{position:static;order:2;font-size:16px;line-height:24px;text-align:left;margin:0;}
@media(max-width:760px){
 body dialog.editorial-menu#site-mobile-menu{inset:16px 16px auto auto;max-height:calc(100dvh - 32px);padding:72px 31px 40px;}
 body #site-mobile-menu nav.menu-primary a{font-size:clamp(36px,8vw,48px);line-height:1.25;}
 body #site-mobile-menu nav.menu-social{margin-top:clamp(48px,15vh,136px);}
 body.home-page #services .service-card:nth-child(n){min-height:0;padding:32px 0;grid-template-columns:36px minmax(0,1fr);}
 body.home-page #services .service-card>div{grid-template-columns:minmax(0,1fr);gap:16px;}
 body.home-page #services .service-card h3{grid-column:1;grid-row:auto;padding:0;}
 body.home-page #services .service-card :is(p,ul){grid-column:1;margin:0;}
}
@media(prefers-reduced-motion:reduce){body #site-mobile-menu[open]{animation:none;}}
/* One bordered surface grows left/down from the original 64px toggle. */
body .site-header.editorial-header .editorial-menu-button{width:50px;height:48px;min-width:50px;min-height:48px;border-radius:8px;background:linear-gradient(#201e1c,#201e1c) padding-box,linear-gradient(159deg,#6c5942 0%,#E9C79E 24.5192%,#32271a 100%) border-box;}
body .editorial-menu-button .menu-glyph>span,body #site-mobile-menu .menu-glyph>span{left:4px;width:24px;}
body .editorial-menu-button .menu-glyph>span:first-child{transform:translateY(-3.5px);}
body .editorial-menu-button .menu-glyph>span:last-child{transform:translateY(3.5px);}
body dialog.editorial-menu#site-mobile-menu{--menu-width:min(440px,calc(100vw - 48px));inset:var(--panel-top,24px) var(--panel-right,24px) auto auto;width:var(--menu-width);height:680px;max-height:calc(100dvh - var(--panel-top,24px) - 16px);padding:0;overflow:hidden;box-sizing:border-box;border:1px solid transparent;background:linear-gradient(rgb(32 30 28 / 94%),rgb(32 30 28 / 94%)) padding-box,linear-gradient(135deg,#6c5942 8%,#E9C79E 48%,#6c5942 74%,#302c26) border-box;animation:none;}
body #site-mobile-menu .menu-top button{left:auto;right:var(--control-right,-1px);top:var(--control-top,-1px);background:none;border:0;width:50px;height:48px;border-radius:0;}
body #site-mobile-menu nav.menu-primary{width:calc(var(--menu-width) - 96px);margin:72px 47px 0;}
body #site-mobile-menu nav.menu-social{width:calc(var(--menu-width) - 96px);margin:112px 47px 48px;}
@media(max-height:760px){body #site-mobile-menu nav.menu-primary{gap:16px;}body #site-mobile-menu nav.menu-social{margin-top:40px;}body dialog.editorial-menu#site-mobile-menu{overflow-y:auto;}body #site-mobile-menu nav.menu-primary a{font-size:40px;line-height:46px;}}
/* Expand the gradient paint bounds too, not only the reveal masks. */
body :is(#statement-title,#services-title,#why-title,#clients-title,#testimonials-title,#founder-title,#philosophy-title,.editorial-title){padding-block:.16em;margin-block:-.16em;overflow:visible;}
body :is(.clients-heading,.services-heading,.center-heading){display:flow-root;}
@property --stroke-angle{syntax:'<angle>';inherits:false;initial-value:159deg;}
/* Compact service rows below desktop without changing type or column layout. */
@media(min-width:761px) and (max-width:1199px){
 body.home-page .why .why-grid article{padding:28px 32px;min-height:240px;height:auto;grid-template-rows:auto 1fr;}
 body.home-page .why .why-grid article .eyebrow{margin-bottom:20px;}
 body.home-page .why .why-grid article .why-copy{align-self:start;}
 body.home-page .why .why-grid article .why-copy h3{margin-top:0;margin-bottom:12px;}
 body.home-page .why .why-grid article .why-copy p{margin:0;}
 body.home-page .why .why-grid article .why-art{top:28px;right:32px;width:min(26%,200px);height:auto;aspect-ratio:1;}
}
@media(min-width:761px) and (max-width:1199px){
 body.home-page #services .service-card:nth-child(n){min-height:0;padding-block:32px;}
}
@media(max-width:760px){
 body.home-page #services .service-card:nth-child(n){min-height:0;padding-block:24px;}
}
/* Authored three-line desktop copy; retain natural wrapping on larger screens. */
@media(min-width:1024px) and (max-width:1599px){
 body.home-page #about #studio-title.studio-description{max-width:100%;}
 body.home-page #studio-title .desktop-intro-line{display:block;white-space:nowrap;}
}
/* Explicit Figma weights: numeric heading, light suffix, and bold actions. */
body.home-page .hero .hero-explore{display:inline-flex;align-items:center;gap:16px;font-family:Helixa,sans-serif!important;font-size:18px;line-height:24px;font-weight:400;letter-spacing:0;font-synthesis:none;}
body.home-page .hero .hero-explore .scroll-cue{position:static;inset:auto;display:block;flex:0 0 16px;width:16px;height:24px;margin:0;transform:none;translate:none;}
body.home-page .hero .hero-details .button,body.home-page .hero .hero-details .button span{font-family:Helixa,sans-serif!important;font-weight:700;font-size:20px;line-height:24px;letter-spacing:.02em;}
body.home-page #services .services-contact{margin-top:60px;justify-content:flex-start;gap:16px;font-size:24px;line-height:32px;letter-spacing:0;}
body.home-page #services .services-contact p{font-weight:400;margin:0;}
body.home-page #services .services-contact .line-link{font-size:24px;line-height:32px;font-weight:700;letter-spacing:0;gap:12px;padding-bottom:4px;}
body.home-page #services .services-contact .line-link img{width:20px;height:20px;}
@media(max-width:760px){body.home-page #services .services-contact{margin-top:32px;align-items:flex-start;text-align:left;}}
body.home-page .why-contact.work-contact{gap:16px;font-size:24px;line-height:32px;letter-spacing:0;}
body.home-page .why-contact.work-contact p,body.home-page .why-contact.work-contact p span{font-family:Helixa,sans-serif!important;font-size:24px;line-height:32px;font-weight:400;letter-spacing:0;}
body.home-page .why-contact.work-contact .line-link,body.home-page .why-contact.work-contact .line-link span{font-family:Helixa,sans-serif!important;font-size:24px;line-height:32px;font-weight:700;letter-spacing:0;}
body.home-page .why-contact.work-contact .line-link{gap:12px;padding-bottom:4px;}
body.home-page .why-contact.work-contact .line-link img{width:20px;height:20px;}
body .contact-panel .footer-project-link,body .contact-panel .footer-project-link span{font-family:Helixa,sans-serif!important;font-weight:700;font-size:28px;line-height:32px;letter-spacing:0;}
body .contact-panel .contact-copy h2,body .contact-panel .contact-copy h2 *{font-family:Helixa,sans-serif!important;font-weight:700;line-height:1;letter-spacing:-.03em;}
body .stats strong,body .stats strong span{font-family:'GC Gudlak',sans-serif!important;font-size:48px;line-height:48px;letter-spacing:.02em;color:#201e1c;}
body.home-page .stats article{gap:8px;}
body .stats strong{display:block;font-weight:500;}
body.home-page .stats article>strong,body.home-page .stats article>span{margin-block:0;}
body .stats strong .stat-value{font-weight:500;}
body .stats strong .stat-plus{font-weight:300;}
/* Number spans must not pick up mobile label typography. */
body.home-page .stats strong .stat-value,body.home-page .stats strong .stat-plus{font-size:inherit;line-height:inherit;letter-spacing:inherit;max-width:none;text-align:left;}
@media(max-width:760px){body.home-page .stats strong{font-size:48px;line-height:48px;}}
body .stats article>span{font-family:Helixa,sans-serif!important;font-size:20px;line-height:24px;font-weight:400;letter-spacing:0;}
body .founder .founder-copy .line-link,body .founder .founder-copy .line-link span{font-family:Helixa,sans-serif!important;font-size:24px;line-height:32px;font-weight:700;letter-spacing:.02em;}
body .contact-details a,body .contact-details a span{font-family:Helixa,sans-serif!important;font-weight:700;line-height:32px;letter-spacing:0;}
@media(min-width:600px) and (max-width:1100px){
 html body footer.contact-panel#contact .footer-wordmark{margin-top:64px!important;margin-bottom:48px!important;}
}
body .contact-details a:first-child{font-size:clamp(20px,2.083333vw,30px);}
body .contact-details a:last-child{font-size:clamp(20px,1.944444vw,28px);}
body.home-page #services .service-card h3 *{font-family:Helixa,sans-serif!important;font-weight:inherit;}
/* Updated Home 125:719 typography, measured at the 1440px design width. */
body.home-page .hero-statement #statement-title,body.home-page #services #services-title,body.home-page .why #why-title,body .clients.page-section #clients-title{line-height:1.111111;letter-spacing:.02em;}
body.home-page #work #work-title,body.home-page .testimonials #testimonials-title,body:is(.home-page,.editorial-page) .founder.page-section .founder-copy #founder-title{letter-spacing:.02em;}
body.home-page #about #studio-title.studio-description,body.home-page #about #studio-title.studio-description *{font-family:Helixa,sans-serif!important;}
body.home-page #about #studio-title.studio-description{font-size:clamp(24px,2.222222vw,32px);font-weight:350;line-height:1.25;letter-spacing:-.01em;max-width:min(100%,841px);}
body.home-page #services .service-card h3,body.home-page #work .work-slide-caption h3{font-size:clamp(24px,2.5vw,36px);font-weight:400;line-height:1.333333;letter-spacing:.04em;}
body.home-page #services .service-card p{font-size:clamp(18px,1.666667vw,24px);font-weight:350;line-height:1.333333;letter-spacing:.01em;max-width:400px;}
body.home-page #services .service-card ul,body.home-page #work .work-project-services{font-size:18px;line-height:24px;font-weight:350;letter-spacing:0;}
body.home-page #services .service-index{letter-spacing:0;}
body.home-page .why-copy h3{letter-spacing:.04em;}
body.home-page .why-grid .eyebrow{font-size:16px;line-height:18px;font-weight:700;letter-spacing:.08em;}
body.home-page #approach #philosophy-title{font-weight:700;line-height:1.2;letter-spacing:.02em;}
body .stories-carousel .story-panel figcaption>div>span{font-weight:700;}
body #site-mobile-menu nav.menu-social a{letter-spacing:0;}
@media(max-height:760px){body #site-mobile-menu nav.menu-primary a{line-height:1.25;}}
@keyframes stroke-shine{to{--stroke-angle:519deg;}}
body .site-header.editorial-header .editorial-menu-button,body dialog.editorial-menu#site-mobile-menu{background:linear-gradient(rgb(32 30 28 / 90%),rgb(32 30 28 / 90%)) padding-box,linear-gradient(var(--stroke-angle),#6c5942 0%,#E9C79E 24.5192%,#32271a 100%) border-box;animation:stroke-shine 6s linear infinite;}
@media(prefers-reduced-motion:reduce){body .site-header.editorial-header .editorial-menu-button,body dialog.editorial-menu#site-mobile-menu{animation:none;}}
@media(max-width:760px){
 body .site-header.editorial-header .editorial-menu-button,body #site-mobile-menu .menu-top button{width:44px;height:44px;min-width:44px;min-height:44px;}
 body .editorial-menu-button .menu-glyph>span,body #site-mobile-menu .menu-glyph>span{width:22px;left:5px;}
 body dialog.editorial-menu#site-mobile-menu{--menu-width:calc(100vw - 16px);inset:8px 8px auto auto;width:var(--menu-width);max-width:none;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;}
 body #site-mobile-menu nav.menu-primary,body #site-mobile-menu nav.menu-social{width:calc(var(--menu-width) - 64px);margin-inline:31px;}
 body #site-mobile-menu nav.menu-social{margin-bottom:24px;}
}
/* Tablet menu stays a compact desktop-style panel. */
@media(min-width:600px) and (max-width:1100px){
 body dialog.editorial-menu#site-mobile-menu{--menu-width:50vw;width:var(--menu-width);max-width:none;inset:16px 16px auto auto;height:min(680px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;}
 body #site-mobile-menu nav.menu-primary,body #site-mobile-menu nav.menu-social{width:auto;margin-inline:32px;}
 body #site-mobile-menu nav.menu-primary{margin-top:72px;}
 body #site-mobile-menu nav.menu-primary a{font-size:clamp(28px,4.2vw,44px);line-height:1.3;}
 body #site-mobile-menu nav.menu-social{margin-top:64px;margin-bottom:32px;}
 body #site-mobile-menu nav.menu-social a{font-size:18px;line-height:28px;}
}
@media(min-width:600px) and (max-width:1100px){
 body dialog.editorial-menu#site-mobile-menu{height:auto;min-height:0;padding-bottom:0;}
 body #site-mobile-menu nav.menu-social{margin-bottom:32px;}
}
/* Top-aligned mobile navigation; compact socials retain comfortable tap areas. */
@media(max-width:599px){
 body dialog.editorial-menu#site-mobile-menu[open]{
  display:flex;flex-direction:column;
  padding-top:80px;padding-bottom:max(24px,env(safe-area-inset-bottom));
 }
 body #site-mobile-menu nav.menu-primary{
  flex-shrink:0;margin-top:0;margin-bottom:0;gap:24px;
 }
 body #site-mobile-menu nav.menu-social{
  flex-shrink:0;margin-top:32px;margin-bottom:0;gap:0;
 }
 body #site-mobile-menu nav.menu-social a{
  display:flex;align-items:center;min-height:44px;padding-block:8px;
  box-sizing:border-box;
 }
}
/* Keep the animated gradient out of the translucent interior. */
body .site-header.editorial-header .editorial-menu-button{position:relative;}
body .site-header.editorial-header .editorial-menu-button,
body dialog.editorial-menu#site-mobile-menu{
 background:rgb(32 30 28 / 80%);border-color:#6c5942;
 -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor){
 body .site-header.editorial-header .editorial-menu-button,
 body dialog.editorial-menu#site-mobile-menu{border:0;}
 body .site-header.editorial-header .editorial-menu-button::before,
 body dialog.editorial-menu#site-mobile-menu::before{
  content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;z-index:2;
  background:linear-gradient(var(--stroke-angle),#6c5942 0%,#E9C79E 24.5192%,#32271a 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:stroke-shine 6s linear infinite;pointer-events:none;
 }
 @media(prefers-reduced-motion:reduce){
  body .site-header.editorial-header .editorial-menu-button::before,
  body dialog.editorial-menu#site-mobile-menu::before{animation:none;}
 }
}
/* A little more room at the menu's left and bottom edges. */
body #site-mobile-menu nav.menu-primary,
body #site-mobile-menu nav.menu-social{
 margin-left:55px;width:calc(var(--menu-width) - 104px);
}
body #site-mobile-menu nav.menu-social{margin-bottom:56px;}
@media(min-width:600px) and (max-width:1100px){
 body #site-mobile-menu nav.menu-primary,
 body #site-mobile-menu nav.menu-social{margin-left:40px;width:auto;}
 body #site-mobile-menu nav.menu-social{margin-bottom:40px;}
}
@media(max-width:599px){
 body #site-mobile-menu nav.menu-primary,
 body #site-mobile-menu nav.menu-social{margin-left:39px;width:calc(var(--menu-width) - 72px);}
 body dialog.editorial-menu#site-mobile-menu[open]{padding-bottom:calc(max(24px,env(safe-area-inset-bottom)) + 8px);}
 body #site-mobile-menu nav.menu-social{margin-bottom:0;}
}
/* Menu panel only; hamburger and slider circles retain 80% glass. */
body dialog.editorial-menu#site-mobile-menu{background:rgb(32 30 28 / 90%);}
