/* Small glass controls share the menu's typography and bronze detailing. */
.site-preferences{display:flex;align-items:center;flex:none;gap:0;padding:3px;border:1px solid #c7a58b42;border-radius:30px;background:#1b1c1b66;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--cream,#f1f0e9)}
.preference{display:inline-grid;place-items:center;position:relative;width:42px;height:40px;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer;transition:background .25s,color .25s;font:500 11px/1 Arial,sans-serif;letter-spacing:.12em;text-decoration:none}
.preference:hover{background:#c7a58b20;color:#e9c7a9}.preference:focus-visible{outline:2px solid var(--bronze,#c7a58b);outline-offset:3px}.theme-toggle{border-left:1px solid #c7a58b26;border-radius:0 22px 22px 0}
.preference svg{position:absolute;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:opacity .45s,transform .6s}.theme-moon{opacity:0;transform:rotate(-35deg) scale(.6)}[data-theme=light] .theme-moon{opacity:1;transform:rotate(0) scale(1)}[data-theme=light] .theme-sun{opacity:0;transform:rotate(70deg) scale(.6)}
.header{gap:18px}.header>.desktop-nav{margin-left:auto}.header>.site-preferences{margin-left:8px}.mobile-menu>.site-preferences{align-self:flex-start;margin-top:25px}.mobile-menu nav{margin-top:22px}.site-header>.site-preferences{flex-shrink:0;margin-left:12px}
body,.hero,.chapter,.header,.mobile-menu,.services-dropdown,footer,input,select,textarea{transition:background-color .55s,color .45s,border-color .45s}.moon,.sun-disc,.halo,.light-field{transition:background .7s,opacity .7s,box-shadow .7s}.sun-disc,.moon:after{backface-visibility:hidden}
/* Keep the first painted solar rim aligned with the lighting controller. */
.sun-disc{transform:translate3d(.45%,-.4%,0)}
/* Ivory daylight, warm graphite and restrained copper. */
html[data-theme=light]{color-scheme:light;--night:#f3eee5;--cream:#282621;--stone:#645f58;--bronze:#855339;--line:#47372a30;--bg:#f3eee5;--text:#282621;--muted:#645f58;--surface:#e9e3d9;--ink:#282621}
[data-theme=light] body{background:#f3eee5;color:#282621}
[data-theme=light] .hero{background:radial-gradient(ellipse at 79% 42%,#d9bca0 0,#e7d9c7 30%,#f2ede3 66%,#f6f1e8 100%)}
[data-theme=light] .hero:after{background:radial-gradient(ellipse at 10% 70%,#fff9efcc,transparent 70%);opacity:.6}
[data-theme=light] .header.scrolled,[data-theme=light] .inner-eclipse .header{background:#f3eee5dc;border-color:#58432b26}
[data-theme=light] .desktop-nav>a,[data-theme=light] .services-menu>summary{color:#3d352e}
[data-theme=light] .desktop-nav a:hover,[data-theme=light] .services-menu>summary:hover{color:#855339}
[data-theme=light] .services-dropdown{background:#f4eee4ed;border-color:#755c4240;box-shadow:0 15px 50px #6b4d2315}
[data-theme=light] .services-dropdown a:hover,[data-theme=light] .contact-link:hover{background:#8553390c}
[data-theme=light] .contact-link,[data-theme=light] .menu-trigger,[data-theme=light] .close-menu{border-color:#5e493b59}
[data-theme=light] .site-preferences{background:#fff9ef80;border-color:#85533945;color:#574234}
[data-theme=light] .preference:hover{background:#85533915;color:#7d4129}
[data-theme=light] .eyebrow{color:#514337}
[data-theme=light] .hero h1{text-shadow:none}
[data-theme=light] .descriptor,[data-theme=light] .secondary-cta,[data-theme=light] .hero-bottom{color:#5d554b}
[data-theme=light] .hero-cta{border-color:#6956468c}
[data-theme=light] .secondary-cta:hover,[data-theme=light] .hero-bottom a:hover,[data-theme=light] .inline-link:hover{color:#7c3f27}
[data-theme=light] .pointer-hint{color:#77523c}
[data-theme=light] .chapter{background:#f5f0e7;border-color:#6e554526}
[data-theme=light] .chapter:nth-of-type(odd){background:#eee8dd}
[data-theme=light] .lead-copy{color:#47413a}
[data-theme=light] .editorial-grid p:not(.lead-copy),[data-theme=light] .route-grid p,[data-theme=light] .process-list p,[data-theme=light] .collection-card p,[data-theme=light] .empty-collection,[data-theme=light] .service p,[data-theme=light] .project p,[data-theme=light] .studio-copy p,[data-theme=light] .case-body p{color:#625a51}
[data-theme=light] .process-list article,[data-theme=light] .collection-card,[data-theme=light] .empty-collection,[data-theme=light] .service,[data-theme=light] .end-cta{border-color:#76594236}
[data-theme=light] .service{background:radial-gradient(circle at 90% 10%,#c8966230,transparent 65%)}
[data-theme=light] .service:hover{background-color:#fff8eb55;border-color:#85533977}
[data-theme=light] .num,[data-theme=light] .service-foot,[data-theme=light] .kicker,[data-theme=light] .project-meta,[data-theme=light] .index-note{color:#805538}
[data-theme=light] .chapter>.kicker{color:var(--bronze)}
/* Artwork retains its intentional dark palette and readable overlays. */
[data-theme=light] .web-showcase,[data-theme=light] .media-art,[data-theme=light] .project-visual,[data-theme=light] .study-poster{color:#f1f0e9}
[data-theme=light] .mock-caption{color:#c8bfb0}
[data-theme=light] .web-showcase{box-shadow:0 25px 65px #4b341b20}
[data-theme=light] .fleet{background:linear-gradient(120deg,#e9dece,#e2d2bc 55%,#eee5d8);border-color:#6e554526}
[data-theme=light] .fleet p,[data-theme=light] .contact-location,[data-theme=light] .form-note{color:#625a51}
[data-theme=light] form label{color:#4f473e}
[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:#fffaf288;border-color:#6b554246;color:#302a24}
[data-theme=light] select option{background:#f4eee4;color:#302a24}
[data-theme=light] textarea::placeholder{color:#756b5f}
[data-theme=light] .form-submit{color:#44382e;border-color:#85533966}
[data-theme=light] .form-submit:hover{background:#8553390e}
[data-theme=light] .email-fallback,[data-theme=light] .email-fallback button,[data-theme=light] footer{border-color:#76594236}
[data-theme=light] footer,[data-theme=light] .menu-foot>span{color:#686056}
[data-theme=light] footer .brand{color:#332c25}
[data-theme=light] .mobile-menu{background:#f3eee5f2;color:#302a24}
[data-theme=light] .mobile-menu::backdrop{background:#5b493a55}
[data-theme=light] .mobile-services>a,[data-theme=light] .mobile-menu nav small,[data-theme=light] .mobile-menu nav>details>summary>span{color:#77543d}
[data-theme=light] .menu-foot{border-color:#76594236}
[data-theme=light] .skip{background:#efe4d4;color:#282621}
/* Lunar surface and the Earth's copper umbra replace the solar corona. */
[data-theme=light] .sun-disc{opacity:0}
[data-theme=light] .halo{background:radial-gradient(circle,#b5744230 0,#c6916426 40%,#c99a6b0d 58%,transparent 73%);opacity:.7;filter:blur(28px)}
[data-theme=light] .light-field{background:radial-gradient(ellipse,#c28e6430 0,#c0967020 25%,transparent 65%);opacity:.75}
[data-theme=light] .moon{background:radial-gradient(circle at 28% 25%,#f0dcc0 0,#d1b193 29%,#b98666 55%,#794630 82%,#4a2a22 100%);box-shadow:inset 9px 7px 20px #fff0d438,inset -30px -25px 55px #46221f88,18px 25px 65px #704a342b}
[data-theme=light] .moon:after{inset:0;background:radial-gradient(circle var(--umbra-radius,calc(1.12472 * 37vw)) at calc(5% + var(--lunar-shadow-x,0%)) calc(60% + var(--lunar-shadow-y,0%)),#211312f2 0%,#211312f2 42%,#4b241bdd 49%,#74351f66 55%,transparent 62%);transform:none;mix-blend-mode:multiply;border-radius:50%}
/* Spanish headings have more syllables; preserve the editorial line breaks. */
html[lang=es-MX] .hero h1{font-size:clamp(64px,7.5vw,140px)}
html[lang=es-MX] .page-opening h1{overflow-wrap:normal;font-size:clamp(43px,7vw,105px)}
html[lang=es-MX] .chapter>.kicker{font-size:clamp(24px,2.4vw,34px)}
.inline-link{max-width:100%;overflow-wrap:anywhere}.inline-link span{flex-shrink:0}.process-list>*{min-width:0}
@media(max-width:1100px){.header .desktop-nav{display:none}.header .menu-trigger{display:block}.header>.site-preferences{margin-left:auto}.header{padding-left:22px;padding-right:22px;gap:12px}.brand{font-size:13px}.planet-shell{opacity:.84}}
@media(max-width:700px){.header{gap:8px}.header>.brand{font-size:12px;letter-spacing:.27em}.header .menu-trigger{padding:10px;font-size:10px;letter-spacing:.1em;min-height:44px}.header .menu-trigger span{margin-left:5px}.header>.site-preferences{margin-left:auto}.preference{width:44px;height:44px}.site-preferences{padding:2px}.mobile-menu>.site-preferences .preference{width:44px;height:42px}.hero-actions{gap:20px}.hero-cta{letter-spacing:.1em;gap:20px}html[lang=es-MX] .hero h1{font-size:11.6vw}html[lang=es-MX] .eyebrow{font-size:8px;letter-spacing:.16em}html[lang=es-MX] .descriptor{font-size:14px;max-width:300px}html[lang=es-MX] .page-opening h1{font-size:44px}html[lang=es-MX] .hero-bottom{font-size:8px}.site-header>.site-preferences{position:fixed;right:20px;bottom:20px;z-index:80}}
@media(max-width:360px){.header{padding-left:16px;padding-right:16px;gap:5px}.header>.brand{font-size:11px;letter-spacing:.2em}.preference{width:42px}.hero-actions{gap:15px}.hero-cta{font-size:10px;gap:14px}.secondary-cta{font-size:11px}.page-opening h1,html[lang=es-MX] .page-opening h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){body,.hero,.chapter,.header,.mobile-menu,.services-dropdown,footer,input,select,textarea,.moon,.moon:after,.sun-disc,.halo,.light-field,.preference,.preference svg{transition:none!important}}
@media print{.site-preferences{display:none}}
/* Older service and archive landing pages share the same theme preference. */
[data-theme=light] .inner-page{background:#f3eee5;color:#282621}
[data-theme=light] .inner-page p{color:#625a51}
[data-theme=light] .inner-page h1 em,[data-theme=light] .inner-page h2 em{color:#855339}
[data-theme=light] .site-header{background:#f3eee5dc;border-color:#755c4240;color:#302a24;box-shadow:0 14px 50px #6b4d2315}
[data-theme=light] .site-header nav>a,[data-theme=light] .nav-services>summary,[data-theme=light] .site-header .logo svg{color:#574234}
[data-theme=light] .service-menu,[data-theme=light] .site-header nav.open{background:#f3eee5f5;border-color:#755c4240;color:#302a24}
[data-theme=light] .service-menu small,[data-theme=light] .service-menu p{color:#77543d}
[data-theme=light] .inner-page .contact-band,[data-theme=light] .inner-page .approach,[data-theme=light] .inner-page .network,[data-theme=light] .inner-page footer{background:#e9dfd1;color:#302a24;border-color:#76594236}
[data-theme=light] .inner-page .contact-band p,[data-theme=light] .inner-page .footer-top p,[data-theme=light] .inner-page .footer-bottom{color:#625a51}
[data-theme=light] .inner-page .button{background:#514133;color:#fff8ed;border-color:#514133}
[data-theme=light] .inner-page .art,[data-theme=light] .inner-page .art p,[data-theme=light] .inner-page .project-art,[data-theme=light] .inner-page .case-wordmark{color:#e4d8c0}
[data-theme=light] .inner-page .brief{background:#fff9ee80;border-color:#76594236}
[data-theme=light] .inner-page .contact-email{color:#855339}

/* Reveal more of the page through the scrolling navigation glass. */
.header.scrolled,.inner-eclipse .header{background:linear-gradient(115deg,#ffffff0d,transparent 55%,#ffffff04),#0d0e0e7a;backdrop-filter:blur(16px) saturate(155%) brightness(.7);-webkit-backdrop-filter:blur(16px) saturate(155%) brightness(.7);border-bottom-color:#ffffff26;box-shadow:inset 0 1px 0 #ffffff12,0 8px 30px #00000012}
[data-theme=light] .header.scrolled,[data-theme=light] .inner-eclipse .header{background:linear-gradient(115deg,#ffffff2e,transparent 55%,#ffffff0a),#f3eee594;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);border-bottom-color:#85664d30;box-shadow:inset 0 1px 0 #ffffff70,0 8px 30px #6b4d230c}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header.scrolled,.inner-eclipse .header{background:#151715e8}[data-theme=light] .header.scrolled,[data-theme=light] .inner-eclipse .header{background:#f3eee5ed}}

/* The full menu is lighter glass than the scrolling header. */
.mobile-menu,.services-dropdown{background:linear-gradient(115deg,#ffffff0d,transparent 55%,#ffffff04),#0d0e0e5c;backdrop-filter:blur(16px) saturate(155%) brightness(.7);-webkit-backdrop-filter:blur(16px) saturate(155%) brightness(.7);border-color:#ffffff26;box-shadow:inset 0 1px 0 #ffffff16,0 12px 45px #00000012}
.mobile-menu::backdrop{background:#080a0814}
[data-theme=light] .mobile-menu,[data-theme=light] .services-dropdown{background:linear-gradient(115deg,#ffffff2e,transparent 55%,#ffffff0a),#f3eee578;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);border-color:#85664d30;box-shadow:inset 0 1px 0 #ffffff70,0 12px 45px #6b4d230c}
[data-theme=light] .mobile-menu::backdrop{background:#5b493a0a}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.mobile-menu,.services-dropdown{background:#151715ed}[data-theme=light] .mobile-menu,[data-theme=light] .services-dropdown{background:#f3eee5f2}}
/* A gallery of original directions, followed by an interactive viewport. */
.concept-grid{gap:60px 36px}.concept-card{border:0;padding:0;min-width:0}.concept-cover{position:relative;overflow:hidden;border:1px solid var(--line);background:#151917;aspect-ratio:16/10}.concept-cover img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.concept-cover:after{content:'↗';position:absolute;right:18px;bottom:18px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff55;background:#10131066;backdrop-filter:blur(12px);color:#f1f0e9}.concept-card:hover .concept-cover img{transform:scale(1.035)}.concept-card .concept-number{display:block;font-size:10px;letter-spacing:.17em;color:var(--bronze);margin:24px 0 12px}.concept-card h2{margin:0 0 14px;font-size:clamp(29px,3vw,43px);line-height:1.1}.concept-card p{font-size:16px;line-height:1.7;margin:0 0 22px}.concept-card>span:last-child{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.concept-card:focus-visible{outline:2px solid var(--bronze);outline-offset:8px}
.concept-detail{max-width:1500px;margin:auto}.concept-detail>img{display:block;width:100%;max-height:620px;object-fit:cover;margin:35px 0}.concept-detail>p:not(.lead-copy){line-height:1.8;max-width:820px;color:var(--stone)}.concept-detail>.inline-link{margin-right:30px;margin-top:30px}.concept-preview{margin:50px 0 25px;padding:18px;border:1px solid var(--line);background:#ffffff04}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}.preview-toolbar>span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}.preview-switch{display:flex;gap:6px}.preview-switch button{background:transparent;color:var(--cream);border:1px solid var(--line);padding:12px 18px;font:inherit;font-size:12px;cursor:pointer}.preview-switch button[aria-pressed=true]{border-color:var(--bronze);background:#c7a58b15}.preview-switch button:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.preview-frame{width:100%;max-width:100%;height:780px;margin:auto;background:#111;transition:width .35s;overflow:hidden;border:1px solid var(--line)}.preview-frame[data-viewport=mobile]{width:390px;height:760px}.preview-frame iframe{display:block;width:100%;height:100%;border:0}.preview-note{font-size:13px;line-height:1.7;color:var(--stone);margin-bottom:0}
@media(max-width:700px){.concept-grid{gap:44px}.concept-detail h1{font-size:clamp(38px,10vw,55px);overflow-wrap:anywhere}.concept-preview{padding:10px;margin-top:32px}.preview-frame{height:70svh;min-height:520px}.preview-frame[data-viewport=mobile]{height:70svh;min-height:520px}.preview-toolbar{gap:12px}.preview-switch button{min-height:44px;padding:10px 14px}.concept-detail>img{margin:24px 0}.concept-detail>.inline-link{display:flex;max-width:max-content;margin-right:0}}
@media(prefers-reduced-motion:reduce){.concept-cover img,.preview-frame{transition:none}}

/* Eclipse shade belongs to surfaces and artwork, below the reading layer. */
body:has(.hero){--ambient-dim:var(--eclipse-dimming,.32334);--ambient-shade:#000}
html[data-theme=light] body:has(.hero){--ambient-dim:var(--eclipse-dimming,.20);--ambient-shade:#17120e}
body:has(.hero) :is(.hero,.chapter,.mock-site,.media-art,.concept-cover){position:relative;isolation:isolate}
body:has(.hero) :is(.hero,.chapter,.mock-site,.media-art,.concept-cover):before{content:"";position:absolute;inset:0;z-index:0;background:var(--ambient-shade);opacity:var(--ambient-dim,0);pointer-events:none}
body:has(.hero) .hero:before{z-index:1}
body:has(.hero) .chapter>*,body:has(.hero) .media-art>*{position:relative;z-index:1}
body:has(.hero) .mock-site:before,body:has(.hero) .concept-cover:before{z-index:1}
body:has(.hero) .mock-site :is(small,strong,span){z-index:2}
body:has(.hero) .concept-cover:after{z-index:2}
@media(prefers-reduced-motion:reduce){body:has(.hero){--ambient-dim:0}}
@media print{body:has(.hero) :is(.hero,.chapter,.mock-site,.media-art,.concept-cover):before{display:none}}

/* Desktop eclipse: 10% smaller, 20px lower, with room below the header. */
@media(min-width:1101px){.planet-shell{width:clamp(378px,33.3vw,612px);top:max(calc(48% + 20px),calc(148px + clamp(189px,16.65vw,306px)))}}

/* The portfolio introduction leads directly to its two destinations. */
.portfolio-choices{padding-top:28px}.portfolio-choices .service-grid{margin-top:0}.portfolio-choices .service h2{font-size:clamp(29px,3vw,47px);line-height:1.12;margin-bottom:20px}
@media(max-width:700px){.portfolio-choices .service h2{font-size:32px}}

/* A quiet entry into the isolated animation experiments. */
footer .showcase-footer-link{font-size:11px;letter-spacing:.07em;color:var(--stone)}
footer .showcase-footer-link:hover{color:var(--cream)}

/* Homepage copy follows the eclipse shade: deeper ink by day, brighter type by night. */
html[data-theme=light] body:has(.hero) :is(.hero-copy,.hero-bottom,.chapter h2,.chapter h3,.chapter p,.chapter .inline-link,.chapter .email,.chapter .service>span){filter:brightness(calc(1 - var(--ambient-dim,0)))}
html[data-theme=dark] body:has(.hero) :is(.hero-copy,.hero-bottom,.chapter h2,.chapter h3,.chapter p,.chapter .inline-link,.chapter .email,.chapter .service>span){filter:brightness(calc(1 + var(--ambient-dim,0)))}
@media print{body:has(.hero) :is(.hero-copy,.hero-bottom,.chapter h2,.chapter h3,.chapter p,.chapter .inline-link,.chapter .email,.chapter .service>span){filter:none}}

/* ANTUMNOS_LIGHT_PREVIEW_FRAME_AND_LUNAR_THEME_TOGGLE_V1 */
/* The preview artwork remains untouched; only its browser frame changes in light mode. */
html[data-theme="light"] .web-showcase { background:#dccab5; border-color:#ad9175; box-shadow:0 23px 62px #80634933,0 3px 12px #72523e16; }
html[data-theme="light"] .web-showcase .browser-bar { background:#d4c0aa; color:#352e29; border-bottom-color:#a28b7259; }
html[data-theme="light"] .web-showcase .mock-caption { background:#e2d4c3; color:#4a3d32; border-top:1px solid #a98e7359; }
/* The eclipse itself is now an accessible button, but preserves all existing artwork and animation. */
.stage .eclipse-theme-hit { position:absolute; inset:0; display:block; width:100%; height:100%; z-index:2; border:0; padding:0; border-radius:50%; background:transparent; appearance:none; cursor:pointer; pointer-events:auto; touch-action:manipulation; }
.stage .eclipse-theme-hit:focus-visible { outline:2px solid var(--bronze,#c7a58b); outline-offset:7px; }
@media(prefers-reduced-motion:reduce){.stage .eclipse-theme-hit{transition:none;}}

/* Light-mode pyramid supplied via Sanity CDN; the default image remains the dark theme. */

/* Touch drag is horizontal. Vertical swipes still scroll the page. */
@media (pointer:coarse), (max-width:700px){.stage .eclipse-theme-hit{touch-action:pan-y pinch-zoom;}}

/* MOBILE MENU: Title-case service line while keeping all copy editable in Sanity. */
.mobile-menu .menu-foot > span { text-transform: capitalize; }

/* Editorial refinements: dense glass dropdown and correct desktop contact spacing. */
@media(min-width:701px){.services-menu[open]{z-index:110}.services-dropdown{background:linear-gradient(145deg,#252624f7,#111312fa 78%);backdrop-filter:blur(25px) saturate(145%);-webkit-backdrop-filter:blur(25px) saturate(145%);box-shadow:0 24px 70px #000b,inset 0 1px #ffffff22;isolation:isolate;z-index:125}.services-dropdown a{position:relative;color:#f3eee7;text-shadow:0 1px 8px #000a}.contact .contact-grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start}.contact .contact-grid .email{display:block;width:max-content;max-width:100%;margin-bottom:20px;line-height:1.3}.contact .contact-grid .inline-link{display:inline-flex;width:max-content;max-width:100%;clear:both;align-items:center;gap:18px;margin:0}.contact .contact-grid .contact-location{margin-top:28px}}
html[data-theme=light] .services-dropdown{background:linear-gradient(145deg,#f9f4ebfb,#e9dfd2f9);box-shadow:0 22px 60px #34251435,inset 0 1px #fff;color:#342e28}html[data-theme=light] .services-dropdown a{color:#352d27;text-shadow:none}
/* Suppress the numbered preface ONLY on the page-opening kicker, retain the actual heading. */
.inner-eclipse .chapter.page-opening>.kicker{display:none}
.inner-eclipse .chapter.page-opening{padding-top:clamp(130px,14vw,190px)}

/* Touch polish: remove Android tap flash while preserving keyboard focus rings. */
button,a,summary,[role="button"],[role="switch"],.stage,.moon,.sun-disc,.eclipse-theme-hit,.site-preferences,.theme-toggle,.showcase-page canvas,.showcase-page [data-sigil-study],.showcase-page [data-ant-vfx],.showcase-page [data-orbital-study],.showcase-page .black-wall-frame{
 -webkit-tap-highlight-color:transparent;
}
.stage,.stage *,.site-preferences button,.showcase-page canvas,.showcase-page [data-sigil-study],.showcase-page [data-sigil-study] canvas,.showcase-page [data-ant-vfx],.showcase-page [data-ant-vfx] canvas{
 -webkit-touch-callout:none;-webkit-user-select:none;user-select:none;
}
button:focus:not(:focus-visible),.eclipse-theme-hit:focus:not(:focus-visible),.showcase-page [tabindex]:focus:not(:focus-visible){outline:none}

/* Mobile dark: one synchronized eclipse curve, without competing opacity delays. */
@media screen and (max-width:700px){
 html[data-theme=dark] body:has(.hero){--ambient-dim:var(--eclipse-dimming,.12)}
 html[data-theme=dark] .hero{background:radial-gradient(ellipse at 77% 34%,#463123 0%,#2b221b 23%,#161513 54%,#0b0c0d 93%)}
 html[data-theme=dark] :is(.sun-disc,.halo,.light-field){transition:none}
 html[data-theme=dark] .light-field{
  left:15%;top:-2%;width:125%;height:88%;
  background:radial-gradient(ellipse at 53% 45%,#e7ad773c 0%,#c88a5533 24%,#aa70421c 43%,transparent 70%);
  opacity:var(--mobile-eclipse-field-opacity,.9);
 }
 html[data-theme=dark] .halo{
  background:radial-gradient(circle,#e3b08135 0%,#b87c5038 39%,#9b61301c 57%,transparent 75%);
  opacity:var(--mobile-eclipse-halo-opacity,.85);
 }
 html[data-theme=dark] .sun-disc{
  transform:translate3d(-.45%,-.4%,0);
  opacity:var(--mobile-eclipse-sun-opacity,1);
 }
}

/* Only nonvisual performance changes from the post-live experiments survive.
   Mobile hero illumination remains pixel-identical to the live scroll geometry. */
@media screen and (max-width:700px){
 html[data-theme=dark] body:has(.hero){--ambient-dim:.12}
 html[data-theme=light] body:has(.hero){--ambient-dim:0}
 html[data-theme=dark] body:has(.hero) .hero{--ambient-dim:var(--eclipse-dimming,.12)}
 html[data-theme=light] body:has(.hero) .hero{--ambient-dim:var(--eclipse-dimming,.20)}
}

/* Mobile hero editorial composition v6 — separated mobile descriptor, no glow.
   The eclipse keeps its established size/position. The headline overlaps
   the Moon's lower-left edge and the rest of the copy flows naturally.
   Stable layout coordinates prevent viewport toolbar changes from pulling
   the typography below the entire Moon in Chrome or in-app browsers. */
@media screen and (max-width:700px){
 .hero{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:auto;
  min-height:max(760px,100svh);
  padding-bottom:28px;
 }
 .hero-copy{
  position:relative;
  top:auto;
  left:auto;
  transform:none;
  flex:none;
  width:86%;
  max-width:none;
  margin:clamp(285px,calc(132px + 43vw),330px) 7% 0;
 }
 .hero .hero-copy>h1{margin-bottom:clamp(26px,6vw,34px)}
 .hero .hero-copy>.descriptor{
  max-width:min(100%,340px);
  margin-bottom:clamp(32px,7vw,40px);
 }
 .hero .mobile-signature{
  gap:12px;
  margin-bottom:clamp(34px,8vw,44px);
 }
 .hero .hero-actions{gap:clamp(22px,6.5vw,38px)}
 .hero-bottom{
  position:relative;
  top:auto;
  bottom:auto;
  left:auto;
  right:auto;
  flex:none;
  margin:auto 7% 0;
  padding-top:clamp(44px,8vw,64px);
 }
}

/* The leading CMS sentence remains at its approved position. The remaining
   two CMS lines clear the Moon's bottom edge independently of the headline.
   No glow, filter, shadow animation or runtime style recalculation. */
html[lang=en] .hero .descriptor-lead{text-transform:capitalize}
@media screen and (max-width:700px){
 html[lang=en] .hero .descriptor-lead{
  font-size:clamp(12px,3.4vw,14px);
  letter-spacing:-.015em;
  white-space:nowrap;
 }
 .hero .descriptor-lead,.hero .descriptor-followup{display:block}
 .hero .descriptor-break{display:none}
 .hero .descriptor-followup{margin-top:clamp(24px,7vw,34px)}
}

/* Mobile hero services: three individually editable CMS bullets.
   The entire list clears the Moon rather than requiring blurred overlays.
   Desktop retains its original uninterrupted descriptor sentence. */
.hero .descriptor-bullets{display:none}
@media screen and (max-width:700px){
 .hero .hero-copy>.descriptor{margin-top:clamp(68px,18vw,82px)}
 .hero .descriptor-lead{display:none}
 .hero .descriptor-bullets{
  display:grid;
  row-gap:9px;
  padding:0;
  margin:0;
  max-width:290px;
  list-style:none;
 }
 .hero .descriptor-bullets>[role=listitem]{
  display:flex;
  align-items:baseline;
  gap:12px;
  font-size:clamp(13px,3.6vw,15px);
  line-height:1.4;
  letter-spacing:.015em;
 }
 .hero .descriptor-bullets>[role=listitem]::before{
  content:"•";
  flex:none;
  color:var(--accent,#cda27d);
 }
 .hero .descriptor-followup{margin-top:clamp(23px,6vw,32px)}
}

/* Mobile menu | abyssal silhouettes. Random crossings begin as the dialog opens.
   Pre-darkened, pre-blurred images move only by opacity and GPU transforms. */
.mobile-menu{isolation:isolate}
.mobile-menu>.menu-abyss{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:layout paint}
.mobile-menu>.menu-abyss>.abyss-creature{position:absolute;max-width:none;height:auto;display:block;
 left:50%;top:50%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;
 opacity:0;filter:none;-webkit-filter:none;mix-blend-mode:normal;
 transform:translate3d(0,0,0) translate(-50%,-50%);transform-origin:center;backface-visibility:hidden;will-change:auto}
.mobile-menu>.menu-abyss>.abyss-ray{width:205vw;--abyss-opacity:.84}
.mobile-menu>.menu-abyss>.abyss-serpent{width:225vw;--abyss-opacity:.81}
.mobile-menu>.menu-abyss>.abyss-phantom{width:216vw;--abyss-opacity:.77}
.mobile-menu>.menu-abyss>.abyss-drifter{width:212vw;--abyss-opacity:.78}
.mobile-menu[open]>.menu-abyss>.abyss-creature.is-crossing{will-change:transform,opacity}
.mobile-menu>.menu-top,.mobile-menu>nav,.mobile-menu>.menu-foot,.mobile-menu>.site-preferences{position:relative;z-index:2}
[data-theme=light] .mobile-menu>.menu-abyss>.abyss-ray{--abyss-opacity:.24}
[data-theme=light] .mobile-menu>.menu-abyss>.abyss-serpent{--abyss-opacity:.23}
[data-theme=light] .mobile-menu>.menu-abyss>.abyss-phantom{--abyss-opacity:.22}
[data-theme=light] .mobile-menu>.menu-abyss>.abyss-drifter{--abyss-opacity:.22}
@media(prefers-reduced-motion:reduce){
 .mobile-menu[open]>.menu-abyss>.abyss-creature{animation:none!important;opacity:0!important;will-change:auto}
}

/* Mobile-menu EMP: a brief, intentional shutdown and reboot covers the glass redraw.
   No canvas, filters, network assets, or animation while the menu is idle. */
.mobile-menu.emp-reboot{transition:none!important}
.mobile-menu.emp-reboot::before,.mobile-menu.emp-reboot::after{
 content:"";position:fixed;inset:0;z-index:6;pointer-events:none;contain:paint}
.mobile-menu.emp-reboot::before{
 background:repeating-linear-gradient(0deg,#b9c6c91a 0 1px,transparent 1px 5px),
 linear-gradient(135deg,#060909 0%,#0b0e10 58%,#11100e 100%);
 animation:ant-emp-blackout 680ms steps(1,end) both}
.mobile-menu.emp-reboot::after{
 background:
 repeating-linear-gradient(0deg,transparent 0 3px,#dbe4e64a 4px,transparent 5px 9px),
 repeating-linear-gradient(90deg,transparent 0 7px,#cbd7dc26 8px,transparent 10px 24px),
 linear-gradient(180deg,transparent 0 31%,#c5cdd574 32%,transparent 33% 68%,#93b2b54a 69%,transparent 70%);
 mix-blend-mode:screen;animation:ant-emp-static 680ms steps(1,end) both}
.mobile-menu.emp-reboot>.menu-top,.mobile-menu.emp-reboot>nav,
.mobile-menu.emp-reboot>.menu-foot,.mobile-menu.emp-reboot>.site-preferences{
 animation:ant-emp-interface 680ms steps(1,end) both}
@keyframes ant-emp-blackout{
 0%{opacity:.18}
 7%{opacity:.94}
 14%,28%{opacity:1}
 33%{opacity:.70}
 39%{opacity:.96}
 51%{opacity:.79}
 58%{opacity:.56}
 65%{opacity:.78}
 73%{opacity:.42}
 89%{opacity:.16}
 100%{opacity:0}
}
@keyframes ant-emp-static{
 0%,6%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0)}
 10%{opacity:.62;transform:translate3d(-13px,-3px,0);clip-path:inset(13% 0 56%)}
 15%{opacity:.12;transform:translate3d(9px,4px,0);clip-path:inset(0)}
 20%{opacity:.77;transform:translate3d(17px,-7px,0);clip-path:inset(56% 0 16%)}
 30%{opacity:.17;transform:translate3d(0,0,0);clip-path:inset(0)}
 37%{opacity:.74;transform:translate3d(-24px,5px,0);clip-path:inset(28% 0 33%)}
 49%{opacity:.16;transform:translate3d(5px,0,0);clip-path:inset(0)}
 56%{opacity:.68;transform:translate3d(0,30%,0);clip-path:inset(31% 0 50%)}
 63%{opacity:.08;transform:translate3d(-5px,15%,0);clip-path:inset(0)}
 70%{opacity:.41;transform:translate3d(3px,-21%,0);clip-path:inset(76% 0 10%)}
 79%{opacity:.08;transform:translate3d(0,0,0);clip-path:inset(0)}
 100%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0)}
}
@keyframes ant-emp-interface{
 0%{opacity:1;transform:none}
 7%{opacity:.7;transform:translate3d(2px,0,0)}
 13%,30%{opacity:0;transform:translate3d(-4px,0,0)}
 35%{opacity:.44;transform:translate3d(3px,0,0)}
 39%{opacity:0;transform:translate3d(-2px,0,0)}
 52%{opacity:.12;transform:translate3d(0,0,0)}
 59%{opacity:.85;transform:translate3d(1px,0,0)}
 64%{opacity:.15;transform:translate3d(-1px,0,0)}
 74%{opacity:.96;transform:none}
 100%{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
 .mobile-menu.emp-reboot::before,.mobile-menu.emp-reboot::after{animation:none!important;display:none!important}
 .mobile-menu.emp-reboot>.menu-top,.mobile-menu.emp-reboot>nav,
 .mobile-menu.emp-reboot>.menu-foot,.mobile-menu.emp-reboot>.site-preferences{animation:none!important}
}
