/* COVE-inspired submenu markers: 3:1 lengths, aligned to the text baseline. */
.desktop-nav .services-menu>summary{position:relative;display:flex;align-items:center;min-height:48px;padding:0;white-space:nowrap}
.desktop-nav .services-menu>summary{transform-origin:50% 50%;transition:transform .2s ease}
.desktop-nav .services-menu[open]>summary{transform:translateY(-3px) scale(1.06)}
@media(prefers-reduced-motion:reduce){.desktop-nav .services-menu>summary{transition:none}}
.desktop-nav .services-menu>summary .batch-nav-indicator{position:absolute;bottom:8px;left:0;width:18px;height:5px;margin:0;color:inherit;transform:none;pointer-events:none}
.desktop-nav .services-menu[open]>summary .batch-nav-indicator{transform:none}
.desktop-nav .batch-nav-indicator::before,.desktop-nav .batch-nav-indicator::after{content:'';position:absolute;left:0;height:1px;background:currentColor;transform:scaleY(.5);transform-origin:center}
.desktop-nav .batch-nav-indicator::before{top:0;width:18px}.desktop-nav .batch-nav-indicator::after{bottom:0;width:6px}
.desktop-nav .services-menu[open] .batch-nav-indicator,.desktop-nav summary:hover .batch-nav-indicator{opacity:.72}
.desktop-nav .services-dropdown{min-width:240px;z-index:20}
/* Each PNG is an exact transparent crop from the supplied artwork. */
.pricing-meteor.batch-meteor{display:block;width:118px;height:64px;background-size:contain;background-position:center;background-repeat:no-repeat;background-image:var(--meteor-sun)}
.pricing-meteor--two.batch-meteor{width:90px;height:49px}
html[data-pricing-night] .pricing-meteor.batch-meteor{background-image:var(--meteor-moon)}
/* Editorial partner sections share rhythm but retain the studio's existing palette. */
.partner-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(28px,5vw,80px);align-items:center}
.partner-story__image{margin:0;aspect-ratio:16/10;overflow:hidden;background:#151715;border:1px solid var(--line)}
.partner-story__image img{display:block;width:100%;height:100%;object-fit:cover}
.partner-story__copy h2{font-size:clamp(32px,4vw,62px);line-height:1.08;margin:0 0 24px}
.partner-story__copy p{font-size:clamp(16px,1.2vw,19px);line-height:1.75;color:var(--stone);max-width:62ch}
.partner-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.partner-collection article{background:var(--night);padding:clamp(24px,3vw,44px)}
.partner-collection h3{font-size:clamp(22px,2vw,29px);font-weight:400;line-height:1.2;margin:0 0 18px}
.partner-collection p{color:var(--stone);line-height:1.7;margin:0}
.partner-collection+h2{margin:clamp(64px,8vw,110px) 0 0;font-size:clamp(32px,4vw,56px);font-weight:400}
.partner-gallery{margin-top:36px}
.partner-gallery img{display:block;width:100%;max-height:620px;aspect-ratio:16/9;object-fit:cover}
.brand-concepts .concept-grid{margin-top:38px}
.brand-concepts .concept-card{display:block;color:inherit;text-decoration:none}
.brand-concepts .concept-cover img{width:100%;height:100%;object-fit:cover}
.brand-kit__art{aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line);background:#e9e2d8}
.brand-kit__art img{display:block;width:100%;height:100%;object-fit:contain}
.brand-kit:focus-visible{outline:2px solid currentColor;outline-offset:6px}
@media(max-width:850px){.partner-story{grid-template-columns:1fr}.partner-collection{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pricing-meteor.batch-meteor{animation:none!important}}

/* The appearance and language controls are separate. The small cycle button
   visually overlaps the main circle at six o'clock, with a larger hit area. */
.site-preferences{gap:16px;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
[data-theme=light] .site-preferences{background:none;border:0}
.appearance-orbit{position:relative;width:46px;height:46px;flex:0 0 46px}
.site-preferences .theme-toggle,.site-preferences .language-toggle{width:46px;height:46px;border:1px solid #c7a58b70;border-radius:50%;background:#15161580}
[data-theme=light] .site-preferences .theme-toggle,[data-theme=light] .site-preferences .language-toggle{background:#fff9ef80;border-color:#85533980}
.site-preferences .theme-toggle .theme-cycle-ring{display:block;width:44px;height:44px;transform:rotate(-90deg);stroke-width:2;pointer-events:none}
.site-preferences .theme-cycle-track{opacity:.24}.site-preferences .theme-cycle-progress{stroke:#c7a58b}
[data-theme=light] .site-preferences .theme-cycle-progress{stroke:#855339}
html:not([data-theme-mode=cycle]) .site-preferences .theme-cycle-progress{display:none}
.theme-cycle-toggle{position:absolute;z-index:2;left:50%;bottom:-20px;transform:translateX(-50%);width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer}
.theme-cycle-toggle::before{content:'';position:absolute;inset:10px;border:1px solid #c7a58b9c;border-radius:50%;background:#171816}
[data-theme=light] .theme-cycle-toggle::before{background:#f3eee5;border-color:#85533999}
.theme-cycle-toggle svg{position:relative;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.theme-cycle-toggle[aria-pressed=false] svg{opacity:.45}
.theme-cycle-toggle:focus-visible{outline:2px solid var(--bronze,#c7a58b);outline-offset:-2px;border-radius:50%}
.header>.site-preferences{margin-left:clamp(22px,2.8vw,48px)}
.desktop-nav [aria-current=page],.desktop-nav summary[aria-current=location]{font-weight:700}
.desktop-nav .contact-link{border:0;padding:0;background:none;min-height:48px;display:inline-flex;align-items:center}
[data-theme=light] .desktop-nav .contact-link:hover{background:none}
@media(max-width:1100px){.header>.site-preferences{margin-left:auto}}
@media(max-width:700px){.site-preferences{gap:10px}.site-preferences .theme-toggle,.site-preferences .language-toggle{width:42px;height:42px}.appearance-orbit{width:42px;height:42px;flex-basis:42px}.site-preferences .theme-toggle .theme-cycle-ring{width:40px;height:40px}}

/* Both supplied pyramid images share the same camera and crop. */
.web-showcase .mock-site{view-transition-name:studio-pyramid}
.pyramid-transition{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pyramid-transition img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 12px}
.pyramid-transition__ice{opacity:0;transition:opacity 3.2s linear}
.pyramid-transition--custom .pyramid-transition__ice{display:none}
html[data-theme=light] .pyramid-transition__ice{opacity:1}
html[data-theme-transition] .pyramid-transition__ice{transition:none!important}
::view-transition-group(studio-pyramid){animation-duration:3.2s}
::view-transition-old(studio-pyramid),::view-transition-new(studio-pyramid){animation-duration:3.2s;mix-blend-mode:normal}
@media(prefers-reduced-motion:reduce){.pyramid-transition__ice{transition:none}::view-transition-group(studio-pyramid),::view-transition-old(studio-pyramid),::view-transition-new(studio-pyramid){animation:none}}

.partner-story__image{padding:clamp(12px,1.6vw,22px);border-radius:10px;background:var(--night);aspect-ratio:auto;box-shadow:0 22px 70px #0002}
.partner-story__image img{aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.partner-story__image figcaption{display:flex;justify-content:space-between;gap:12px;padding:17px 2px 2px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.partner-story h1{font-size:clamp(50px,6vw,100px);font-weight:350;line-height:1;margin:0 0 28px;letter-spacing:-.045em}
.end-cta .partner-end-description{max-width:62ch;margin:0 0 28px;color:var(--stone);line-height:1.75}

/* The pyramid preview is a compact part of the existing showcase card. */
.pyramid-showcase .pyramid-headline{font-size:clamp(20px,2.4vw,38px);font-weight:300;line-height:1.18;white-space:nowrap}
.pyramid-headline em>span{display:block;white-space:nowrap}
.pyramid-transition__ice{transition:opacity 3.2s linear,clip-path 3.2s linear}
.pyramid-preview-manual .pyramid-transition__ice{transition:none!important}
::view-transition-old(studio-pyramid),::view-transition-new(studio-pyramid){animation-timing-function:linear}
.pyramid-wipe-divider,.pyramid-wipe-label{display:none;position:absolute;z-index:2}
.pyramid-showcase[data-pyramid-mode=wipe] .pyramid-wipe-divider{display:block;top:0;bottom:0;left:var(--pyramid-position,0%);width:1px;background:#fff;box-shadow:0 0 12px #000;transition:left 3.2s linear}
.pyramid-wipe-divider svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;padding:6px;border:1px solid #ffffffa0;border-radius:50%;background:#171e29dc;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pyramid-preview-manual .pyramid-wipe-divider{transition:none!important}
.pyramid-showcase[data-pyramid-mode=wipe] .pyramid-wipe-label{display:block;bottom:14px;color:#fff;font:500 9px/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 5px #000}
.pyramid-wipe-label--dark{right:14px}.pyramid-wipe-label--frost{left:14px}
.pyramid-controls[hidden]{display:none!important}
.pyramid-controls{padding:20px 22px 22px;border-top:1px solid #ffffff1a;background:#181917;color:#e9e7e1;font:400 12px/1.4 system-ui,sans-serif}
.pyramid-controls button,.pyramid-controls select{color:inherit;background:#242522;border:1px solid #ffffff40;border-radius:3px;font:inherit}
.pyramid-controls button{min-height:38px;padding:8px 12px;cursor:pointer}
.pyramid-controls button:hover,.pyramid-controls button[aria-pressed=true]{background:#c7a58b24;border-color:#c7a58b}
.pyramid-controls :is(button,select,input):focus-visible{outline:2px solid #e1bf9d;outline-offset:3px}
.pyramid-controls button:disabled{opacity:.5;cursor:not-allowed}
.pyramid-control-endpoints{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pyramid-control-endpoints label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#c8bcb0}
.pyramid-range-row{display:flex;align-items:center;gap:12px;margin:12px 0 16px}
.pyramid-range-row input{width:100%;min-width:0;margin:0;accent-color:#d5b28f;cursor:pointer}
.pyramid-range-row span{width:3.2em;text-align:right;font-variant-numeric:tabular-nums;color:#d8c2ad}
.pyramid-control-options{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pyramid-segment{display:flex;gap:4px}
.pyramid-control-note{color:#beb5a8;font-size:11px;line-height:1.5;margin:12px 0 0}
@media(max-width:420px){.pyramid-controls{padding:16px}.pyramid-control-endpoints label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.pyramid-wipe-divider{transition:none!important}}

/* The eclipse belongs to Studio; its own sun/moon state remains independent. */
.studio-eclipse-hero{position:relative;isolation:isolate;overflow:hidden;min-height:700px;display:flex;align-items:center;padding-bottom:90px}
.studio-eclipse-content{position:relative;z-index:2;width:min(55%,760px);pointer-events:none}
.studio-eclipse-hero .pricing-hero-ring{width:min(40vw,540px);height:min(40vw,540px);top:16%;right:5%;opacity:.9}
.studio-eclipse-hero .pricing-meteors{inset:16% 5% auto auto;width:min(40vw,540px);height:min(40vw,540px);overflow:visible;--meteor-x:clamp(130px,18vw,250px);--meteor-y:clamp(160px,20vw,280px)}
.studio-eclipse-hero .pricing-meteor{left:0;right:auto}
.studio-eclipse-hero .pricing-meteor--two{left:12%;right:auto}
@keyframes pricing-meteor-fall{
 0%{opacity:0;transform:translate3d(-130px,-60px,0) rotate(33deg) scale(1)}
 6%,38%{opacity:.95}
 48%,100%{opacity:0;transform:translate3d(var(--meteor-x),var(--meteor-y),0) rotate(59deg) scale(.25)}
}
html[data-pricing-night] .about-main{color:#f1f0e9}
html[data-pricing-night] .about-main .chapter{background:#010203!important;border-color:#e1e6eb20}
html[data-pricing-night] .about-main .studio-eclipse-hero{background:radial-gradient(ellipse at 81% 38%,#090c0f,#010203 58%,#000)!important}
html[data-pricing-night] .about-main :is(h1,h2,h3,h4,.lead-copy,.kicker,.studio-ownership-eyebrow,.studio-ownership-index){color:#e9e8e1}
html[data-pricing-night] .about-main :is(p,.studio-ownership-grid p,.studio-ownership-bottom p){color:#c0c4c8}
html[data-pricing-night] .about-main .studio-ownership-bottom .inline-link{color:#e1d4c3}
html[data-pricing-night] .header .site-preferences{background:none;border:0}
html[data-pricing-night] .site-preferences .theme-toggle,html[data-pricing-night] .site-preferences .language-toggle{background:#151a20;color:#f1f0e9;border-color:#aebac680}
html[data-pricing-night] .site-preferences .theme-cycle-progress{stroke:#d0d9e2}
html[data-pricing-night] .theme-cycle-toggle{color:#f1f0e9}
html[data-pricing-night] .theme-cycle-toggle::before{background:#151a20;border-color:#aebac680}
@media(max-width:720px){
 .studio-eclipse-hero{display:block;min-height:0;padding-top:420px!important;padding-bottom:70px}
 .studio-eclipse-content{width:100%}
 .studio-eclipse-hero .pricing-hero-ring{width:270px;height:270px;top:125px;right:calc(50% - 135px);opacity:.9}
 .studio-eclipse-hero .pricing-meteors{width:270px;height:270px;top:125px;right:calc(50% - 135px)}
}

/* Web Design keeps a cool daylight palette and a warm, dark night palette. */
.web-design-main{--web-midnight:#000b15;--web-ocean:#011323;--web-navy:#012c4b;--web-arctic:#12648f;position:relative;isolation:isolate}
.web-design-opening{position:relative;isolation:isolate;overflow:hidden;min-height:570px}
.web-design-opening::before{content:'';position:absolute;z-index:-1;left:8%;width:84%;height:150px;border-radius:50%;pointer-events:none}
.web-design-opening::before{top:-110px;border-bottom:1px solid #48baf6b0;box-shadow:0 16px 35px #12648f80}
/* One continuous surface removes the hard edge between opening and process. */
html[data-theme=dark] .web-design-main{--web-midnight:#0b0705;--web-ocean:#1a0d07;--web-navy:#512510;--web-arctic:#c7743d;background:radial-gradient(ellipse 75% 760px at 52% 0%,var(--web-navy),var(--web-ocean) 46%,transparent 100%),linear-gradient(180deg,var(--web-midnight),var(--web-ocean) 38%,var(--web-midnight))}
html[data-theme=dark] .web-design-opening::before{border-bottom-color:#e69a62a8;box-shadow:0 16px 35px #ae4d2175}
html[data-theme=dark] .web-design-main>.chapter{background:transparent!important;border-color:#c27a4650;color:#f7eee7}
html[data-theme=dark] .inner-eclipse .web-design-main>.chapter.studio-journey{border-top-color:transparent}
html[data-theme=dark] .web-design-main :is(.lead-copy,.studio-journey-intro,.studio-journey-step p:not(.studio-journey-stage),.studio-journey-ownership p,.studio-journey-benefit p){color:#e3d3c8}
html[data-theme=dark] .web-design-main :is(.kicker,.studio-journey-index,.studio-journey-stage,.studio-journey-numeral,.studio-journey-ownership-label,.studio-journey h2 em){color:#e2ad84}
html[data-theme=dark] .web-design-main .studio-journey-ownership{background:linear-gradient(135deg,#48200f,#211008 58%,#0b0705);border-color:#c7743d99}
html[data-theme=dark] .web-design-main .studio-journey-ownership .inline-link{color:#f0bd97}
html[data-theme=dark] .web-design-main .studio-journey-step .studio-journey-seo{background:#c7743d20;border-color:#d9955e;color:#f3d9c5!important}
html[data-theme=light] .web-design-main{background:radial-gradient(ellipse 75% 760px at 52% 0%,#b9dfed,#e2f1f6 46%,transparent 100%),linear-gradient(180deg,#f3f8fa,#e8f3f7 38%,#edf5f8)}
html[data-theme=light] .web-design-main>.chapter{background:transparent!important;border-color:#12648f35;color:#102f42}
html[data-theme=light] .inner-eclipse .web-design-main>.chapter.studio-journey{border-top-color:transparent}
html[data-theme=light] .web-design-main :is(.kicker,.studio-journey-index,.studio-journey-stage,.studio-journey-numeral,.studio-journey-ownership-label,.studio-journey h2 em){color:#075079}
html[data-theme=light] .web-design-main :is(.lead-copy,.studio-journey-intro,.studio-journey-step p:not(.studio-journey-stage),.studio-journey-ownership p,.studio-journey-benefit p){color:#294657}
html[data-theme=light] .web-design-main .studio-journey-ownership{background:linear-gradient(135deg,#f7fcff,#d9edf5);border-color:#12648f60}
html[data-theme=light] .web-design-main .studio-journey-ownership .inline-link{color:#075079}
html[data-theme=light] .web-design-main .studio-journey-step .studio-journey-seo{background:#12648f12;border-color:#12648f;color:#075079!important}
@media(max-width:720px){.web-design-opening{min-height:500px}.web-design-opening::before{width:110%;left:-5%}}

/* Two small composited light fields reveal a warped grid only where lit. */
.web-fabric{--fabric-line:#91d8f442;position:fixed;inset:0;z-index:-1;overflow:hidden;contain:strict;pointer-events:none}
.web-fabric__spot{position:absolute;top:0;left:0;width:min(48vw,620px);aspect-ratio:1;border-radius:50%;contain:paint;background:radial-gradient(circle,#12648f42 0%,#12648f1c 32%,transparent 70%);-webkit-mask-image:radial-gradient(circle,#000 0%,#000b 26%,transparent 70%);mask-image:radial-gradient(circle,#000 0%,#000b 26%,transparent 70%)}
.web-fabric__spot--one{transform:translate3d(12vw,17vh,0)}
.web-fabric__spot--two{width:min(38vw,500px);transform:translate3d(58vw,45vh,0)}
.web-fabric__grid{position:absolute;top:-150px;left:-150px;width:calc(100% + 300px);height:calc(100% + 300px);background-image:linear-gradient(var(--fabric-line) 1px,transparent 1px),linear-gradient(90deg,var(--fabric-line) 1px,transparent 1px);background-size:72px 72px;transform-origin:0 0;transform:rotate(8deg)}
html[data-theme=light] .web-fabric{--fabric-line:#12648f38}
html[data-theme=light] .web-fabric__spot{background:radial-gradient(circle,#12648f26 0%,#12648f10 32%,transparent 70%)}
html[data-theme=light] .web-fabric__grid{opacity:.65}
.web-design-main .studio-journey:before{display:none}
@media(max-width:720px){.web-fabric__spot{width:72vw}.web-fabric__spot--two{width:58vw}}

/* Keep one accessible wordmark while the initial displays the selected art. */
.brand-visual{display:inline-flex;align-items:center;gap:.08em;white-space:nowrap;vertical-align:middle}
.brand-initial{display:block;flex:none;width:1.65em;height:1.65em;object-fit:contain;letter-spacing:0;transform:translateY(-.38em)}
.brand-letters{display:block;letter-spacing:inherit}
.wordmark-screen-reader{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-theme=light] .brand-initial{filter:brightness(0)}
html[data-theme=light][data-pricing-night] .brand-initial{filter:none}

/* Refractive, frosted dropdowns retain a readable translucent surface. */
.nav-glass-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
@media(min-width:1101px){
 .desktop-nav .services-dropdown{background:linear-gradient(145deg,#26343e9c,#08121acc 80%);border-color:#b8d8e752;box-shadow:0 24px 70px #0009,inset 0 1px #ffffff55,inset 1px 0 #ffffff18;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}
 .desktop-nav .services-dropdown a{color:#f3f7f9;text-shadow:0 1px 8px #000b}
 .desktop-nav .services-dropdown a:focus-visible{outline:2px solid #b3dff1;outline-offset:-3px}
 html[data-theme=light] .desktop-nav .services-dropdown{background:linear-gradient(145deg,#f9fdffe0,#c9dfe9dc 80%);border-color:#58899f70;box-shadow:0 24px 70px #18384c35,inset 0 1px #fff;}
 html[data-theme=light] .desktop-nav .services-dropdown a{color:#163646;text-shadow:none}
 @supports (backdrop-filter:url("#nav-glass-distortion")){
  .desktop-nav .services-dropdown{backdrop-filter:url("#nav-glass-distortion") blur(8px) saturate(140%);-webkit-backdrop-filter:url("#nav-glass-distortion") blur(8px) saturate(140%)}
 }
}

/* Neutral smoked glass keeps the navigation visually distinct from page palettes. */
@media(min-width:1101px){
 .desktop-nav .services-dropdown{background:linear-gradient(145deg,#252524e8,#0b0c0cec 82%);border-color:#d8cec14a;box-shadow:0 24px 70px #000a,inset 0 1px #fff3}
 .desktop-nav .services-dropdown a{color:#f5f3ee;text-shadow:0 1px 8px #000b}
 .desktop-nav .services-dropdown a:hover{background:#ffffff13}
 .desktop-nav .services-dropdown a:focus-visible{outline-color:#f1dfca}
 html[data-theme=light] .desktop-nav .services-dropdown{background:linear-gradient(145deg,#f9f7f0e8,#dedbd3e8 82%);border-color:#8e817960;box-shadow:0 24px 70px #29241e40,inset 0 1px #fff}
 html[data-theme=light] .desktop-nav .services-dropdown a{color:#292625;text-shadow:none}
}
/* A composed, responsive frame for the visual-media image. */
html .media-landscape{padding:clamp(10px,1.4vw,20px);overflow:visible;border:1px solid #c7a58b55;border-radius:8px;background:linear-gradient(145deg,#24211e,#111513);box-shadow:0 28px 70px #0004,0 0 0 1px #ffffff0c inset;aspect-ratio:auto}
html .media-landscape img{aspect-ratio:1.18;object-fit:cover;border-radius:3px}
html[data-theme=light] .media-landscape{background:linear-gradient(145deg,#e7ded1,#cbb9a5);box-shadow:0 28px 60px #5e493528,0 0 0 1px #ffffff70 inset}
@media(max-width:700px){html .media-landscape img{aspect-ratio:1.08}}
.web-fabric__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
/* Purple identity environment; content remains above the decorative layer. */
.branding-main{position:relative;isolation:isolate}
html[data-theme=dark] .branding-main{background:radial-gradient(ellipse at 80% 6%,#342251 0,#181126 38%,transparent 75%),linear-gradient(160deg,#0b0712,#160d22 52%,#0a0810);color:#f5efff}
html[data-theme=dark] .branding-main>.chapter{background:transparent!important;border-color:#ad86d83d;color:#f5efff}
html[data-theme=dark] .branding-main :is(p,.lead-copy){color:#d8cde4}
html[data-theme=dark] .branding-main :is(.kicker,.eyebrow,em){color:#d4b3f4}
html[data-theme=light] .branding-main{background:radial-gradient(ellipse at 80% 6%,#d3c3e9 0,#f1eaf8 45%,transparent 75%),linear-gradient(160deg,#f7f3fa,#ece4f5 55%,#f8f5fa);color:#29183c}
html[data-theme=light] .branding-main>.chapter{background:transparent!important;border-color:#65447c38;color:#29183c}
html[data-theme=light] .branding-main :is(p,.lead-copy){color:#4b395c}
html[data-theme=light] .branding-main :is(.kicker,.eyebrow,em){color:#664286}
.branding-neural{position:fixed;inset:0;z-index:-1;overflow:hidden;contain:strict;pointer-events:none}
.branding-neural__canvas{display:block;width:100%;height:100%}
.runic-accessible{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@font-face{font-family:'Antumnos Lugano';src:url('/assets/noto-sans-old-italic.ttf') format('truetype');font-display:block}
.runic-visual--lugano{font-family:'Antumnos Lugano',sans-serif}
.language-menu{position:relative;flex:none}
.language-menu>summary{list-style:none;display:grid;place-items:center}
.language-menu>summary::-webkit-details-marker{display:none}
.language-menu>summary:focus-visible{outline:2px solid var(--bronze,#c7a58b);outline-offset:3px}
.language-options{position:absolute;right:0;top:calc(100% + 12px);z-index:90;min-width:160px;padding:6px;background:#171716ef;border:1px solid #c7a58b68;box-shadow:0 18px 48px #0008;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.language-option{display:block;padding:11px 12px;color:#f4efe7;text-decoration:none;font:500 13px/1.2 system-ui,sans-serif;letter-spacing:0;white-space:nowrap}
.language-option[aria-current]{color:#c7a58b}
.language-option:hover{background:#ffffff18}
.language-option:focus-visible{outline:2px solid #ead1ba;outline-offset:-3px}
html[data-theme=light] .language-options{background:#f7f1e9ef;border-color:#85533970;box-shadow:0 18px 48px #33251838}
html[data-theme=light] .language-option{color:#342a24}
html[data-theme=light] .language-option[aria-current]{color:#855339}
/* White Light Column stays to the side as the Studio page scrolls. */
.studio-pillar-main{position:relative;isolation:isolate;overflow:clip}
.studio-pillar{position:absolute;top:0;right:0;bottom:0;width:min(47%,720px);z-index:-1;pointer-events:none}
.studio-pillar__viewport{position:sticky;top:0;height:100vh;max-height:1100px;overflow:hidden}
.studio-pillar__canvas{width:100%;height:125%;display:block;opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 32%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 32%)}
html[data-theme=dark] .studio-pillar-main>.chapter{background:transparent!important}
html[data-theme=light] .studio-pillar__canvas{opacity:.28;mix-blend-mode:multiply}
html[data-theme=light] .studio-pillar-main>.chapter{background:transparent!important}
.studio-pillar-opening{min-height:630px}
.studio-pillar-content{position:relative;width:min(58%,800px)}
@media(max-width:720px){.studio-pillar{width:100%}.studio-pillar__canvas{opacity:.25;mask-image:linear-gradient(90deg,transparent 20%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 20%,#000 100%)}.studio-pillar-content{width:100%}.studio-pillar-opening{min-height:0}}
/* Amber Slit Pillars spans Pricing while cards retain opaque, readable surfaces. */
.pricing-ambient-main{position:relative;isolation:isolate;overflow:clip;background:#080b0a}
.pricing-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none}
.pricing-ambient__viewport{position:sticky;top:0;height:100vh;max-height:1100px;overflow:hidden}
.pricing-ambient__canvas{display:block;width:100%;height:100%;opacity:.92;filter:brightness(1.45) saturate(1.08);transform:translateY(var(--pricing-shift,0px)) scale(1.28);transform-origin:center}
html[data-theme=dark] .pricing-ambient-main>.chapter{background:#0a0b0bad!important}
html[data-theme=dark] .pricing-ambient-main[data-pillar-active]>.chapter{background:#0a0b0b73!important}
html[data-theme=light] .pricing-ambient-main{background:#e8e0d4}
html[data-theme=light] .pricing-ambient__canvas{opacity:.58;mix-blend-mode:multiply;filter:brightness(1.1) saturate(1.2)}
html[data-theme=light] .pricing-ambient-main>.chapter{background:#f3ede3b8!important}
html[data-theme=light] .pricing-ambient-main[data-pillar-active]>.chapter{background:#f3ede3a6!important}
html[lang=ru] .hero h1{font-size:clamp(42px,6vw,100px)}
@media(max-width:700px){html[lang=ru] .hero h1{font-size:clamp(28px,8vw,44px)}html[lang=ru] .pricing-hero h1{font-size:clamp(31px,8vw,48px);overflow-wrap:anywhere}}
/* Keep the long service titles on one line when desktop space allows. */
main :is(h1,h2,h3){text-wrap:balance}
@media(min-width:1101px){
 .branding-main>.page-opening h1,.web-design-main>.page-opening h1{max-width:none;font-size:clamp(38px,4.2vw,82px);white-space:nowrap}
 html[lang=es-MX] :is(.branding-main,.web-design-main)>.page-opening h1{font-size:clamp(36px,3.7vw,72px)}
 html[lang=ru] :is(.branding-main,.web-design-main)>.page-opening h1{font-size:clamp(36px,3.9vw,76px)}
}
/* Russian has longer words; keep them readable without clipping. */
html[lang=ru] .page-opening h1{overflow-wrap:anywhere;font-size:clamp(36px,5vw,80px)}
@media(max-width:700px){html[lang=ru] .page-opening h1{font-size:clamp(29px,7.2vw,48px)}}
@media(min-width:1101px){
 .partner-story h1{font-size:clamp(35px,3vw,58px)}
 .pricing-main .pricing-hero h1{font-size:clamp(45px,5.2vw,86px)}
}

/* The active lettering itself casts a soft glow as the reading area moves. */
.portfolio-glow .media-text-glow{text-shadow:0 0 0 transparent;transition:text-shadow 1.8s ease}
.portfolio-glow .media-text-glow--active{text-shadow:0 0 9px rgba(245,218,192,.34),0 0 28px rgba(213,160,116,.2);transition-delay:.16s}
html[data-theme=light] .portfolio-glow .media-text-glow--active{text-shadow:0 0 8px rgba(157,97,58,.20),0 0 22px rgba(183,123,76,.12)}
/* Pulse only the section backgrounds, leaving the artwork and lettering intact. */
.portfolio-glow>.chapter{--portfolio-pulse-base:#101111;--portfolio-pulse-deep:#000;animation:portfolio-background-pulse 8s ease-in-out infinite}
.portfolio-glow>.chapter:nth-of-type(odd){--portfolio-pulse-base:#131513}
html[data-theme=light] .portfolio-glow>.chapter{--portfolio-pulse-base:#f5f0e7;--portfolio-pulse-deep:#b2a99c}
html[data-theme=light] .portfolio-glow>.chapter:nth-of-type(odd){--portfolio-pulse-base:#eee8dd}
html[data-theme=light] .portfolio-glow :is(p,.cta-label,.preview-toolbar>span){color:#302920}
html[data-theme=light] .portfolio-glow :is(.kicker,.num,.concept-number,em){color:#5f311a}
@keyframes portfolio-background-pulse{0%,100%{background-color:var(--portfolio-pulse-base)}50%{background-color:var(--portfolio-pulse-deep)}}
.partner-story>.partner-collection,.partner-story>.partner-cta{grid-column:1/-1}
.partner-story>.partner-cta{justify-self:start}
@media(prefers-reduced-motion:reduce){.portfolio-glow .media-text-glow{transition:none}.portfolio-glow>.chapter{animation:none}}
@media print{.portfolio-glow>.chapter{animation:none}}
.portfolio-glow{overflow-x:clip}
/* The interactive portal moves with the page, beneath the production image. */
.visual-portal-main{position:relative;isolation:isolate;overflow-x:clip;background:#101111}
.visual-portal{position:absolute;z-index:0;top:-60px;bottom:0;right:-23%;width:min(99vw,1450px);pointer-events:none;mask-image:linear-gradient(90deg,transparent 16%,#000 36%);-webkit-mask-image:linear-gradient(90deg,transparent 16%,#000 36%)}
.visual-portal__canvas{position:sticky;top:-60px;width:100%;height:auto;aspect-ratio:1;display:block;pointer-events:none}
.visual-portal__canvas:focus-visible{outline:2px solid #90dfff;outline-offset:-6px}
.visual-portal-main>.chapter{position:relative;z-index:1}
.visual-portal-main>.chapter:first-of-type,.visual-portal-main>.chapter:nth-of-type(2){background:transparent!important}
html[data-theme=light] .visual-portal-main{background:#f2eee8}
html[data-theme=light] .visual-portal{filter:brightness(.8) saturate(1.4)}
@media(min-width:721px){.visual-portal-main>.page-opening .lead-copy{max-width:55%}}
@media(max-width:720px){
 .visual-portal{top:90px;right:-35%;width:110vw;opacity:.58}
 .visual-portal__canvas{top:90px}
}

/* The scrolled header's glass is a sibling layer, so dropdowns can still blur
   page content outside the header instead of sampling only its backdrop. */
@media(min-width:1101px){
 html .header.scrolled,html[data-pricing-night] .header.scrolled{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 html .header.scrolled::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;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)}
 html[data-theme=light] .header.scrolled::before{background:linear-gradient(115deg,#ffffff2e,transparent 55%,#ffffff0a),#f3eee594;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%)}
 html[data-pricing-night] .header.scrolled::before{background:#040608dc}
 @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html .header.scrolled::before{background:#151715e8}html[data-theme=light] .header.scrolled::before{background:#f3eee5ed}}
}

/* Neutral, rounded smoked glass without a gradient, in either appearance. */
@media(min-width:1101px){
 .desktop-nav .services-dropdown,html[data-theme=light] .desktop-nav .services-dropdown{background:rgba(9,10,11,.64);border:1px solid #eee8db38;border-radius:8px;box-shadow:0 20px 60px #0008;backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%)}
 .desktop-nav .services-dropdown a,html[data-theme=light] .desktop-nav .services-dropdown a{color:#f6f3ed;text-shadow:0 1px 6px #000a;border-radius:4px}
 .desktop-nav .services-dropdown a:hover,html[data-theme=light] .desktop-nav .services-dropdown a:hover{background:#ffffff1a;color:#fff}
 .desktop-nav .services-dropdown a:focus-visible,html[data-theme=light] .desktop-nav .services-dropdown a:focus-visible{outline:2px solid #f1dfca;outline-offset:-3px}
 @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.desktop-nav .services-dropdown,html[data-theme=light] .desktop-nav .services-dropdown{background:#101112f2}}
}

/* Match the language list to the same lighter smoked-glass menus. */
.language-options,html[data-theme=light] .language-options{background:rgba(9,10,11,.64);border:1px solid #eee8db38;border-radius:8px;box-shadow:0 20px 60px #0008;backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%)}
.language-option,html[data-theme=light] .language-option{color:#f6f3ed;border-radius:4px;text-shadow:0 1px 6px #000a}
.language-option[aria-current],html[data-theme=light] .language-option[aria-current]{color:#efc5a6}
.language-option:hover,html[data-theme=light] .language-option:hover{background:#ffffff1a;color:#fff}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.language-options,html[data-theme=light] .language-options{background:#101112f2}}

/* Occasional warm meteors, purely decorative and behind the contact form. */
.contact-meteor-main{position:relative;isolation:isolate;overflow:clip;background:#101111}
.contact-meteor-main>.chapter{background:transparent!important}
html[data-theme=light] .contact-meteor-main{background:#f2ece2}
.contact-meteors{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.contact-meteor{position:absolute;left:100%;top:-30%;width:clamp(100px,16vw,260px);height:2px;border-radius:50%;opacity:0;transform-origin:0 50%;background:linear-gradient(90deg,#fff9ed,#ffbf80 10%,#d16c32 32%,transparent);box-shadow:0 0 9px #f5ae6b80;animation:contact-meteor-flight 8s linear infinite}
.contact-meteor:nth-child(2){top:0%;animation-duration:10s;animation-delay:-3s}
.contact-meteor:nth-child(3){top:30%;animation-duration:12s;animation-delay:-7s}
/* 87.685 / 130 is tan(34deg): the head follows the angle of the trail. */
@keyframes contact-meteor-flight{0%,3%{opacity:0;transform:translate3d(0,0,0) rotate(-34deg)}5%{opacity:.95}19%{opacity:.95}23%,100%{opacity:0;transform:translate3d(-130vw,87.685vw,0) rotate(-34deg)}}
.contact-meteor--interactive{left:var(--meteor-x);top:var(--meteor-y);animation:contact-meteor-interactive .85s linear forwards}
@keyframes contact-meteor-interactive{0%{opacity:0;transform:translate3d(0,0,0) rotate(-34deg)}8%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate3d(var(--meteor-dx),var(--meteor-dy),0) rotate(-34deg)}}
@media(max-width:720px){.contact-meteor{top:-3%}.contact-meteor:nth-child(2){top:26%}.contact-meteor:nth-child(3){top:55%}.contact-meteor--interactive{top:var(--meteor-y)}}
@media(prefers-reduced-motion:reduce){.contact-meteor{animation:none}}
