

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,300;1,6..72,400;1,6..72,500&display=swap');

@font-face{ font-family:'Canela Text'; font-style:normal; font-weight:300;
  src:local('Canela Text Light'), local('CanelaText-Light'); font-display:swap; }
@font-face{ font-family:'Canela Text'; font-style:normal; font-weight:400;
  src:local('Canela Text'), local('CanelaText-Regular'), local('Canela Text Regular'); font-display:swap; }
@font-face{ font-family:'Canela Text'; font-style:normal; font-weight:500;
  src:local('Canela Text Medium'), local('CanelaText-Medium'); font-display:swap; }
@font-face{ font-family:'Canela Text'; font-style:italic; font-weight:300;
  src:local('Canela Text Light Italic'), local('CanelaText-LightItalic'); font-display:swap; }
@font-face{ font-family:'Canela Text'; font-style:italic; font-weight:400;
  src:local('Canela Text Italic'), local('CanelaText-RegularItalic'), local('CanelaText-Italic'); font-display:swap; }

:root{
  
  --accent-ink: #ffffff;
  
  --font-display: 'Canela Text', 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-text:    'Canela Text', 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-sans: 'Canela Text', 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-mono: 'Canela Text', 'Newsreader', Georgia, 'Times New Roman', serif;
  --grain: 0.05;                 
  --motion: 1;                   
  --ease: cubic-bezier(.22,.61,.36,1);

  --pad: clamp(20px, 5vw, 80px);
  --maxw: 1500px;
  --line-strong: color-mix(in srgb, var(--ink) 22%, transparent);
  
  --ec-shift: 2vh;
  
  --label-ink: color-mix(in srgb, var(--ink) 78%, var(--accent) 22%);
  --label-glow: 0 0 16px color-mix(in srgb, var(--accent) 22%, transparent);
}

[data-theme="night"] .d-only{ display:none !important; }
[data-theme="day"]   .n-only{ display:none !important; }

:root, [data-theme="night"]{
  --bg:        #070605;
  --bg-2:      #0d0b0a;
  --bg-3:      #050403;
  --ink:       #ECEAE5;
  --ink-soft:  #9c968d;
  --ink-faint: #635d56;
  --line:      rgba(236,234,229,.12);
  --line-soft: rgba(236,234,229,.06);
  --accent:    #C2420F;
  --accent-2:  #8B3A0F;
  --accent-ink:#fff;
  --disc:      #060504;
  --halo-1:    color-mix(in srgb, var(--accent) 60%, #ffb066);
  --halo-2:    color-mix(in srgb, var(--accent) 42%, transparent);
  --halo-3:    rgba(60,40,30,.0);
  --tile-glow: color-mix(in srgb, var(--accent) 34%, transparent);
  --shadow:    0 40px 120px -40px rgba(0,0,0,.86);
}

[data-theme="day"]{
  --bg:        #E8DDD0;
  --bg-2:      #efe7da;
  --bg-3:      #f6f1e8;
  --ink:       #2C2620;
  --ink-soft:  #6a5d50;
  --ink-faint: #9c8f7d;
  --line:      rgba(58,46,32,.16);
  --line-soft: rgba(58,46,32,.08);
  --accent:    #C4993A;
  --accent-2:  #6B8F71;
  --accent-ink:#241a06;
  --disc:      #cdbfac;
  --halo-1:    color-mix(in srgb, var(--accent) 62%, #fff2cf);
  --halo-2:    color-mix(in srgb, var(--accent) 48%, transparent);
  --halo-3:    rgba(255,255,255,0);
  --tile-glow: color-mix(in srgb, var(--accent) 44%, transparent);
  --shadow:    0 40px 120px -50px rgba(120,90,60,.4);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-snap-type:y proximity; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-text);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}

body::after{
  content:"";
  position:fixed; inset:0; z-index:9000; pointer-events:none;
  opacity:var(--grain);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

.cosmos{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }

.cosmos::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 50%, var(--bg) 0%, color-mix(in srgb,var(--bg) 60%, transparent) 26%, transparent 50%);
  opacity:.55; transition:opacity .9s var(--ease);
}

.ec{
  --disc:min(122vh, 122vw, 1600px);
  position:absolute; top:calc(50% + var(--ec-shift)); left:50%;
  width:var(--disc); height:var(--disc);
  transform:translate(-50%,-50%);
  will-change:transform;
}

.ec::before{
  content:""; position:absolute; inset:-14%; border-radius:50%;
  background:radial-gradient(circle, var(--halo-2) 0%, transparent 62%);
  opacity:.4; filter:blur(46px); transition:opacity .9s var(--ease);
}

.ec-disc{
  position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--bg) 86%, #000) 52%, color-mix(in srgb, var(--bg) 40%, transparent) 70%, transparent 74%);
  transition:background .9s var(--ease), box-shadow .9s var(--ease);
}

.ec-spin{ position:absolute; inset:0; transition:transform 1.5s cubic-bezier(.62,0,.2,1); }

.ec-rotor{ position:absolute; inset:0; will-change:transform; }

.ec-corona{
  position:absolute; inset:-1.5%; border-radius:50%;
  background:conic-gradient(from 0deg,
    var(--halo-1) 0deg, var(--halo-2) 26deg, rgba(120,52,22,.18) 64deg, transparent 104deg,
    transparent 256deg, rgba(120,52,22,.18) 296deg, var(--halo-2) 334deg, var(--halo-1) 360deg);
  -webkit-mask:radial-gradient(circle, transparent 45%, #000 50%, transparent 60%);
          mask:radial-gradient(circle, transparent 45%, #000 50%, transparent 60%);
  filter:blur(22px); opacity:.9; transition:opacity .9s var(--ease);
  animation:lightBeat calc(4.6s / max(var(--motion),.02)) ease-in-out infinite;
}

.ec-ring{
  position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg,
    #fff6e9 0deg, var(--halo-1) 11deg, var(--halo-2) 36deg,
    rgba(120,52,22,.14) 74deg, transparent 120deg,
    transparent 240deg, rgba(120,52,22,.14) 286deg,
    var(--halo-2) 324deg, var(--halo-1) 349deg, #fff6e9 360deg);
  -webkit-mask:radial-gradient(circle, transparent 48.2%, #000 49.5%, #000 50%, transparent 51.5%);
          mask:radial-gradient(circle, transparent 48.2%, #000 49.5%, #000 50%, transparent 51.5%);
  filter:blur(.6px); opacity:.98; transition:opacity .9s var(--ease);
}

.ec-hot{ position:absolute; left:50%; top:-2%; width:2.4%; height:2.4%; transform:translate(-50%,-50%); }
.ec-hot .core{
  position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle, #fff 0%, #ffe9c6 28%, var(--halo-1) 58%, transparent 80%);
  box-shadow:0 0 46px 12px var(--halo-1), 0 0 110px 34px var(--halo-2);
  transition:box-shadow .9s var(--ease);
  animation:coreBeat calc(3.6s / max(var(--motion),.02)) ease-in-out infinite;
}
.ec-hot .bloom{
  position:absolute; left:50%; top:50%; width:420%; height:420%; transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--halo-1) 60%, transparent) 0%, transparent 64%);
  filter:blur(7px); animation:bloomBeat calc(3.6s / max(var(--motion),.02)) ease-in-out infinite;
}

@keyframes coreBeat{ 0%,100%{ transform:scale(.72); opacity:.85; } 50%{ transform:scale(1.4); opacity:1; } }
@keyframes bloomBeat{ 0%,100%{ transform:translate(-50%,-50%) scale(.7); opacity:.6; } 50%{ transform:translate(-50%,-50%) scale(1.25); opacity:1; } }
@keyframes lightBeat{ 0%,100%{ opacity:.7; } 50%{ opacity:1; } }

@media (prefers-reduced-motion: reduce){
  .ec-hot .core, .ec-hot .bloom, .ec-corona{ animation:none; }
  .ec-spin{ transition:none; }
}

[data-theme="day"] .cosmos::after{ opacity:0; }
[data-theme="day"] .ec::before{ opacity:.7; filter:blur(70px); }
[data-theme="day"] .ec-disc{
  background:radial-gradient(circle at 50% 46%,
    color-mix(in srgb,#fdf7e8 80%, transparent) 0%,
    color-mix(in srgb,#f2e2b4 58%, transparent) 34%,
    color-mix(in srgb,#e6c877 38%, transparent) 56%,
    color-mix(in srgb,#dcae5e 16%, transparent) 74%,
    transparent 90%);
  box-shadow:0 0 200px 60px color-mix(in srgb,var(--halo-1) 55%, transparent);
}
[data-theme="day"] .ec-ring{ opacity:0; }
[data-theme="day"] .ec-corona{ background:radial-gradient(circle, var(--halo-1) 0%, var(--halo-2) 55%, transparent 74%); opacity:.42; filter:blur(30px); }
[data-theme="day"] .ec-hot .core{ box-shadow:0 0 110px 36px #fff, 0 0 240px 100px var(--halo-1); }

.hero, section, footer{ position:relative; z-index:1; }

.sol-sensory{ position:fixed; inset:0; z-index:0; pointer-events:none; }

.sol-flora{ position:fixed; inset:0; z-index:0; pointer-events:none; }

.scroll-progress{ position:fixed; top:0; left:0; right:0; height:2px; z-index:300; pointer-events:none; background:var(--line-soft); }
.scroll-progress span{ display:block; height:100%; width:100%; transform-origin:0 50%; transform:scaleX(0);
  background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 60%, transparent), var(--accent));
  box-shadow:0 0 12px color-mix(in srgb, var(--accent) 70%, transparent); }

.display{ font-family:var(--font-display); font-weight:400; line-height:.98; letter-spacing:-.015em; }
.serif-it{ font-family:var(--font-display); font-style:italic; font-weight:300; }
.eyebrow{
  font-family:var(--font-sans); font-size:12.5px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:var(--label-ink);
  text-shadow:var(--label-glow);
}
.lbl{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ink-faint);
}
::selection{ background:var(--accent); color:var(--accent-ink); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
section{ position:relative; }
.rule{ height:1px; background:var(--line); border:0; margin:0; }

.nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--pad);
  font-size:13px;
  transition:transform .55s var(--ease), background-color .4s, backdrop-filter .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.hide{ transform:translateY(-100%); }
.nav.scrolled{
  background:color-mix(in srgb, var(--bg) 72%, transparent);
  backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--line-soft);
}
.brand{ display:flex; align-items:center; gap:12px; font-family:var(--font-sans); font-weight:700; letter-spacing:-.01em; font-size:15px; }
.brand .mark{ display:inline-flex; }
.brand .mark img.mark-img{ height:24px; width:auto; display:block; }
.brand .sub{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); font-weight:400; }
.nav-left{ display:flex; align-items:center; gap:42px; }
.nav-links{ display:flex; gap:34px; }
.nav-links a{ font-family:var(--font-sans); color:var(--ink-soft); text-decoration:none; letter-spacing:.02em; position:relative; transition:color .3s; }
.nav-links a:hover{ color:var(--ink); }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:var(--accent); transition:width .35s var(--ease); }
.nav-links a:hover::after{ width:100%; }
.nav-right{ display:flex; align-items:center; gap:22px; }
.clock{ font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); letter-spacing:.05em; }

.toggle-dock{
  position:fixed; top:84px; left:50%; transform:translateX(-50%);
  z-index:240;
}

.toggle-dock::before{
  content:""; position:absolute; left:50%; top:50%; width:160px; height:116px;
  transform:translate(-50%,-50%); border-radius:50%;
  background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 34%, transparent) 0%, transparent 72%);
  filter:blur(8px); pointer-events:none; z-index:-1; opacity:.8;
}
@media (prefers-reduced-motion: no-preference){
  .toggle-dock::before{ animation:dockHalo 3.6s ease-in-out infinite; }
}
@keyframes dockHalo{
  0%,100%{ opacity:.5; transform:translate(-50%,-50%) scale(.9); }
  50%    { opacity:1;  transform:translate(-50%,-50%) scale(1.08); }
}

.toggle-dock .toggle{
  --d:34px;
  width:78px; height:40px; border-radius:40px; border:0;
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--bg) 72%, #000) 0%,
    color-mix(in srgb, var(--bg) 86%, var(--accent)) 100%);
  box-shadow:
    inset 0 2px 7px color-mix(in srgb, #000 45%, transparent),
    inset 0 -1px 0 color-mix(in srgb, #fff 8%, transparent),
    0 6px 22px -6px color-mix(in srgb, #000 55%, transparent),
    0 0 20px 2px color-mix(in srgb, var(--accent) 28%, transparent);
  transition:box-shadow .4s, transform .3s var(--ease);
}

.toggle-dock .toggle::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px;
  background:conic-gradient(from 215deg,
    color-mix(in srgb, var(--accent) 18%, transparent),
    color-mix(in srgb, var(--accent) 55%, #f3ddae),
    var(--accent),
    color-mix(in srgb, var(--accent) 18%, transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none;
}
.toggle-dock .toggle:hover{
  transform:scale(1.06);
  box-shadow:
    inset 0 2px 7px color-mix(in srgb, #000 45%, transparent),
    inset 0 -1px 0 color-mix(in srgb, #fff 10%, transparent),
    0 8px 26px -6px color-mix(in srgb, #000 55%, transparent),
    0 0 34px 8px color-mix(in srgb, var(--accent) 48%, transparent);
}
.toggle-dock .toggle:active{ transform:scale(.97); }

.toggle-dock .toggle .knob{
  top:3px; left:3px; width:var(--d); height:var(--d);
  background:radial-gradient(circle at 32% 26%, #fff9ec 0%, #f0ddbf 48%, #d8bd97 100%);
  box-shadow:0 2px 6px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.75), inset 0 -2px 4px rgba(140,95,45,.28);
  color:#2c1a0e;
}
.toggle-dock .toggle .knob svg{ width:16px; height:16px; }
[data-theme="day"] .toggle-dock .toggle .knob,
.toggle-dock .toggle.intent-day .knob{ transform:translateX(38px); }
.toggle-dock .toggle.intent-night .knob{ transform:none; }

.toggle{
  --d: 26px;
  position:relative; width:58px; height:30px; border-radius:30px;
  border:1px solid var(--line); background:var(--bg-2);
  cursor:pointer; padding:0; display:inline-flex; align-items:center;
  transition:background .5s, border-color .5s;
}
.toggle .knob{
  position:absolute; top:1px; left:1px; width:var(--d); height:var(--d);
  border-radius:50%; background:var(--ink);
  display:grid; place-items:center; color:var(--bg);
  transition:transform .5s var(--ease), background .5s;
}
[data-theme="day"] .toggle .knob{ transform:translateX(28px); }
.toggle .knob svg{ width:14px; height:14px; }

.toggle .knob img.ic-mark{ width:19px; height:auto; filter:brightness(0) opacity(.8); }
.toggle .ic-sun{ display:none; }
[data-theme="day"] .toggle .ic-sun{ display:block; }
[data-theme="day"] .toggle .ic-moon{ display:none; }

.toggle.intent-day .knob{ transform:translateX(28px); }
.toggle.intent-night .knob{ transform:none; }
.toggle.intent-day .ic-sun{ display:block; }
.toggle.intent-day .ic-moon{ display:none; }
.toggle.intent-night .ic-moon{ display:block; }
.toggle.intent-night .ic-sun{ display:none; }
.toggle.busy{ animation:togBusy 1.5s var(--ease); }
@keyframes togBusy{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%, transparent); } 60%{ box-shadow:0 0 0 6px transparent; } 100%{ box-shadow:0 0 0 0 transparent; } }

@media (max-width:920px){
  .nav-links{ display:none; }
  .clock{ display:none; }
}

.hero{
  position:relative;
  min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end;
  padding-top:140px; padding-bottom:46px; overflow:hidden;
}

.hero-inner{ position:relative; z-index:2; width:100%; }
.hero h1{
  margin:0;
  font-size:clamp(40px, 7vw, 104px);
}
.hero h1 .ln{ display:block; }
.hero-sub{
  margin-top:34px; max-width:46ch; font-size:clamp(17px,1.5vw,22px);
  color:var(--ink-soft); line-height:1.5;
}
.hero-meta{
  margin-top:64px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  border-top:1px solid var(--line); padding-top:22px;
}
.hero-meta .cell .k{ display:block; color:var(--ink-faint); font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:7px; }
.hero-meta .cell .v{ font-size:15px; color:var(--ink); }
.hero-meta .cell .v em{ font-family:var(--font-display); font-style:italic; color:var(--label-ink); text-shadow:var(--label-glow); font-weight:400; }
.scroll-cue{ position:absolute; right:var(--pad); bottom:46px; z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--ink-faint); }
.scroll-cue .line{ width:1px; height:46px; background:linear-gradient(var(--accent),transparent); animation:cue 2.4s ease-in-out infinite; transform-origin:top; }
@keyframes cue{ 0%,100%{ transform:scaleY(.3); opacity:.4; } 50%{ transform:scaleY(1); opacity:1; } }
@media (max-width:760px){ .hero-meta{ grid-template-columns:1fr 1fr; } .scroll-cue{ display:none; } }

.hero-centered{ justify-content:center; padding-bottom:clamp(70px,10vh,130px); }
.hero-centered .hero-inner{ display:flex; flex-direction:column; align-items:center; text-align:center; padding-top:clamp(80px,12vh,150px); }
.hero-logo{
  width:clamp(260px,32vw,500px); height:auto; margin:clamp(16px,3vh,38px) 0 0;
  filter:drop-shadow(0 10px 60px rgba(0,0,0,.5));
}
.hero .hero-tagline{
  margin:clamp(22px,3.4vh,42px) 0 0; font-family:var(--font-display); font-weight:400;
  font-size:clamp(20px,2.4vw,36px); line-height:1.16; letter-spacing:-.015em; max-width:20ch; color:var(--ink);
}
.hero .hero-tagline em{ font-style:italic; color:var(--label-ink); text-shadow:var(--label-glow); }
.hero-centered .hero-sub{ margin-left:auto; margin-right:auto; }
.hero-centered .hero-meta{ text-align:left; }

.reveal{ opacity:1; }
html.js .reveal{ opacity:0; transform:translateY(30px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease); transition-delay:var(--delay,0s); will-change:opacity,transform; }
html.js .reveal.in{ opacity:1; transform:none; }

html.js .mission-disc.reveal{ transform:translateY(calc(var(--ec-shift) + 30px)); }
html.js .mission-disc.reveal.in{ transform:translateY(var(--ec-shift)); }
.line-reveal{ display:inline-block; }
html.js .hero h1 .ln{ overflow:hidden; }
.hero h1 .line-reveal{ display:block; }
html.js .hero .line-reveal{ transform:translateY(0.42em); opacity:0; transition:transform 1s var(--ease), opacity 1s var(--ease); transition-delay:var(--delay,0s); }
html.js .hero.in .line-reveal{ transform:none; opacity:1; }
@media (prefers-reduced-motion: reduce){
  html.js .reveal, html.js .line-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

.mission{
  
  min-height:100vh; padding:0; margin-bottom:10vh;
  display:grid; place-items:center; text-align:left;
  scroll-snap-align:center; scroll-snap-stop:normal;
}
.eclipse{
  position:relative; width:min(78vw,720px); aspect-ratio:1; border-radius:50%;
  display:flex; align-items:center;
  background:var(--bg);
  box-shadow:
    0 0 0 1px var(--line) inset,
    0 0 90px 30px var(--halo-2),
    0 0 200px 70px var(--halo-1);
}
.eclipse::before{
  content:""; position:absolute; inset:-3px; border-radius:50%;
  background:conic-gradient(from 0deg, transparent, var(--halo-1), transparent 30%, transparent 60%, var(--halo-1), transparent);
  filter:blur(10px); opacity:.85; z-index:-1;
  animation:spin calc(40s / max(var(--motion),.01)) linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.eclipse-in{ padding:0 clamp(30px,7%,80px); }
.eclipse .arrow{ font-size:24px; color:var(--ink); display:block; margin-bottom:18px; }
.eclipse h2{ font-family:var(--font-display); font-weight:300; font-size:clamp(34px,5vw,62px); line-height:1; letter-spacing:-.02em; margin:0; }
.eclipse p{ margin:26px 0 0; max-width:34ch; font-family:var(--font-mono); font-size:13px; line-height:1.9; color:var(--ink-soft); letter-spacing:.02em; }

.philosophy{ padding:clamp(100px,15vh,210px) 0; }
.phil-pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2vw,34px); }
.pillar{
  position:relative; isolation:isolate; overflow:hidden;
  border:1px solid color-mix(in srgb, var(--ink) 14%, transparent); border-radius:20px;
  padding:clamp(28px,2.8vw,48px) clamp(26px,2.4vw,42px) clamp(30px,3vw,48px);
  min-height:clamp(400px,40vw,560px);
  display:flex; flex-direction:column;
  background:color-mix(in srgb, var(--ink) 5%, transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  backdrop-filter:blur(18px) saturate(1.3);
  transition:translate .8s cubic-bezier(.22,.61,.36,1), border-color .6s var(--ease), box-shadow .7s var(--ease), background .6s var(--ease);
}

.pillar::before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:radial-gradient(125% 105% at 50% 132%,
    color-mix(in srgb,var(--accent) 30%, transparent) 0%,
    color-mix(in srgb,var(--accent) 10%, transparent) 42%, transparent 72%);
  opacity:0; transform:translateY(22%) scale(.95); transform-origin:50% 100%;
  transition:opacity 1s var(--ease), transform 1.2s cubic-bezier(.22,.61,.36,1);
}
.pillar:hover{
  translate:0 -10px;
  background:color-mix(in srgb, var(--ink) 7%, transparent);
  box-shadow:0 40px 90px -50px color-mix(in srgb, #f4cf8c 55%, transparent);
}
.pillar:hover::before{ opacity:1; transform:none; }

.pillar::after{
  content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; padding:1px;
  background:linear-gradient(120deg,
    rgba(255,244,222,.95) 0%, rgba(232,168,92,.5) 28%,
    rgba(255,236,200,.16) 52%, rgba(244,207,140,.75) 76%, rgba(255,248,236,.95) 100%);
  background-size:220% 220%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask-composite:exclude;
  opacity:0; transition:opacity .7s var(--ease); pointer-events:none;
}
.pillar:hover::after{ opacity:1; animation:lumShift 5s linear infinite; }
@keyframes lumShift{ from{ background-position:0% 0%; } to{ background-position:220% 220%; } }
@media (prefers-reduced-motion: reduce){ .pillar:hover::after{ animation:none; } }

.pillar-ghost{
  position:absolute; right:-1%; top:-7%; z-index:-1; pointer-events:none;
  font-family:var(--font-display); font-size:clamp(150px,19vw,300px); line-height:.8;
  color:var(--ink); opacity:.045;
  transition:opacity .9s var(--ease), translate 1s var(--ease);
}
.pillar:hover .pillar-ghost{ opacity:.1; translate:0 -8px; }

.pillar-idx{ font-family:var(--font-mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--label-ink); }
.pillar-title{
  margin:auto 0 0; font-weight:400; font-size:clamp(32px,3.4vw,56px); line-height:1; letter-spacing:-.02em;
  transition:color .55s var(--ease);
}
.pillar:hover .pillar-title{ color:#fff; }
.pillar-copy{ margin:22px 0 0; color:var(--ink-soft); font-size:clamp(14px,1.12vw,16.5px); line-height:1.62; max-width:34ch; transition:color .55s var(--ease); }
.pillar:hover .pillar-copy{ color:var(--ink); }
.pillar-line{
  margin-top:26px; height:2px; width:100%; transform-origin:left center; transform:scaleX(0);
  background:linear-gradient(90deg, var(--accent), color-mix(in srgb,var(--accent) 30%, transparent));
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
  transition-delay:calc(var(--delay,0s) + .25s);
}
html.js .pillar.in .pillar-line{ transform:scaleX(1); }
.pillar:hover .pillar-line{ transform:scaleX(1); background:linear-gradient(90deg,#F4CF8C,var(--accent)); transition-delay:0s; }
@media (max-width:820px){
  .phil-pillars{ grid-template-columns:1fr; gap:16px; }
  .pillar{ min-height:0; }
}

.work-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding:clamp(80px,10vh,140px) 0 10px; }
.work-head h2{ margin:0; font-size:clamp(40px,6.4vw,104px); line-height:.96; letter-spacing:-.02em; max-width:14ch; }
.work-head h2 em{ color:var(--ink-faint); }
.work-head .meta{ text-align:right; white-space:nowrap; }
.disc{ border-top:1px solid var(--line); }
.disc-row{
  display:grid; grid-template-columns:64px 1.1fr 1.3fr auto; gap:40px; align-items:start;
  padding:42px 0; border-bottom:1px solid var(--line);
  position:relative; cursor:default;
}
.disc-row .idx{ font-family:var(--font-mono); color:var(--label-ink); font-size:14px; padding-top:8px; }
.disc-row h3{ margin:0; font-size:clamp(26px,3vw,46px); line-height:1.02; letter-spacing:-.015em; font-weight:400; font-family:var(--font-display); transition:color .4s, transform .5s var(--ease); }
.disc-row p{ margin:0; color:var(--ink-soft); max-width:42ch; padding-top:8px; }
.disc-row .price{
  justify-self:end; align-self:start; margin-top:6px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; color:var(--label-ink);
  border:1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius:3px; padding:9px 14px; white-space:nowrap;
}
.disc-row::before{
  content:""; position:absolute; left:0; right:0; top:0; bottom:0; z-index:-1;
  background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%);
  opacity:0; transition:opacity .5s;
}
.disc-row:hover::before{ opacity:1; }
.disc-row:hover h3{ color:var(--label-ink); transform:translateX(10px); }
@media (max-width:900px){
  .disc-row{ grid-template-columns:36px 1fr; gap:8px 18px; }
  .disc-row p{ grid-column:2; }
  .disc-row .price{ grid-column:2; justify-self:start; }
}

.gallery{ padding-block:clamp(80px,10vh,140px); }
.gallery .ghead{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:46px; }
.gallery .ghead h2{ margin:0; font-size:clamp(30px,4vw,58px); letter-spacing:-.02em; }

.work-acc{ display:flex; gap:10px; height:clamp(440px,58vh,620px); }
.wpanel{
  position:relative; flex:1 1 0%; min-width:clamp(58px,6vw,86px); overflow:hidden;
  border-radius:16px; cursor:pointer; isolation:isolate; outline:none;
  transition:flex-grow .8s cubic-bezier(.22,.61,.36,1);
}
.wpanel.open{ flex-grow:8.5; cursor:default; }
.wpanel:not(.open):hover{ flex-grow:2; }
.wpanel:focus-visible{ box-shadow:0 0 0 2px var(--accent); }

.wp-grad{ position:absolute; inset:0; z-index:0; background:radial-gradient(125% 100% at 50% 8%, var(--g1), var(--g2) 64%, #0a0706), linear-gradient(180deg,var(--g1),var(--g2)); }
.wp-media{ position:absolute; inset:0; z-index:1; overflow:hidden; }
.wp-media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.06);
  filter:grayscale(.45) brightness(.42) contrast(1.02); transition:filter .8s var(--ease), transform 1.2s var(--ease); }
.wpanel:not(.open):hover .wp-media img{ filter:grayscale(.1) brightness(.62); transform:scale(1.1); }
.wpanel.open .wp-media img{ filter:none; }
@media (prefers-reduced-motion: no-preference){
  .wpanel.open .wp-media img{ animation:wpKen 20s ease-in-out infinite alternate; }
}
@keyframes wpKen{ from{ transform:scale(1.06); } to{ transform:scale(1.2) translate(-2%,-2%); } }

.wp-scrim{ position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(6,4,3,.32) 0%, rgba(6,4,3,.12) 38%, rgba(6,4,3,.72) 100%); transition:opacity .7s var(--ease); }
.wpanel.open .wp-scrim{ background:linear-gradient(180deg, rgba(6,4,3,.18) 0%, rgba(6,4,3,.06) 30%, rgba(6,4,3,.62) 78%, rgba(6,4,3,.88) 100%); }

.wp-spine{
  position:absolute; inset:0; z-index:4; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  gap:16px; padding-bottom:26px; pointer-events:none;
  transition:opacity .45s var(--ease);
}
.wp-spine .wp-c, .wp-spine .wp-p{ writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; }
.wp-spine .wp-c{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--label-ink); }
.wp-spine .wp-p{ font-family:var(--font-display); font-size:clamp(17px,1.5vw,23px); color:#fff; letter-spacing:.01em; }
.wpanel.open .wp-spine{ opacity:0; }

.wp-content{
  position:absolute; left:0; right:0; bottom:0; z-index:5; padding:clamp(24px,2.6vw,44px);
  max-width:600px; opacity:0; transform:translateY(18px); pointer-events:none;
  transition:opacity .5s var(--ease), transform .6s var(--ease);
}
.wpanel.open .wp-content{ opacity:1; transform:none; pointer-events:auto; transition-delay:.28s; }
.wp-eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--label-ink); }
.wp-title{ margin:14px 0 12px; font-weight:400; font-size:clamp(26px,2.8vw,46px); line-height:1; letter-spacing:-.015em; color:#fff; }
.wp-desc{ margin:0 0 22px; color:rgba(255,240,229,.82); font-size:clamp(14px,1.12vw,17px); line-height:1.56; max-width:46ch; }
.wp-cta{
  display:inline-flex; align-items:center; gap:12px; cursor:pointer;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#fff;
  background:color-mix(in srgb,#fff 8%, transparent); border:1px solid rgba(255,255,255,.32); border-radius:100px;
  padding:11px 20px 11px 14px; transition:background .4s, border-color .4s, transform .4s var(--ease);
}
.wp-cta:hover{ background:var(--accent); border-color:var(--accent); transform:translateY(-2px); }
.wp-play{ width:22px; height:22px; border-radius:50%; background:#fff; position:relative; flex:0 0 auto; transition:background .4s; }
.wp-play::before{ content:""; position:absolute; left:54%; top:50%; transform:translate(-50%,-50%);
  border-style:solid; border-width:5px 0 5px 8px; border-color:transparent transparent transparent #1a0d07; }
.wp-cta:hover .wp-play{ background:#fff; }
@media (max-width:820px){
  .work-acc{ flex-direction:column; height:auto; gap:10px; }
  .wpanel{ min-width:0; height:84px; flex:0 0 auto; transition:height .7s cubic-bezier(.22,.61,.36,1); }
  .wpanel.open{ height:clamp(380px,64vw,520px); }
  .wpanel:not(.open):hover{ flex:0 0 auto; }
  .wp-spine{ flex-direction:row; align-items:center; justify-content:flex-start; gap:16px; padding:0 22px; }
  .wp-spine .wp-c, .wp-spine .wp-p{ writing-mode:horizontal-tb; transform:none; }
}

.wp-lightbox{
  position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center;
  background:rgba(6,4,3,.92); backdrop-filter:blur(8px); padding:clamp(20px,5vw,80px);
  opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s;
}
.wp-lightbox.show{ opacity:1; visibility:visible; }
.wp-lb-fig{ margin:0; max-width:1100px; width:100%; }
.wp-lb-fig img{ width:100%; max-height:78vh; object-fit:contain; border-radius:10px; }
.wp-lb-fig figcaption{ margin-top:16px; text-align:center; font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.wp-lb-close{ font-family:var(--font-text); position:absolute; top:22px; right:26px; width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); color:#fff; font-size:17px; cursor:pointer; transition:background .3s; }
.wp-lb-close:hover{ background:var(--accent); border-color:var(--accent); }

.pricing{ padding:clamp(90px,12vh,170px) 0; }
.pricing .phead{ margin-bottom:70px; }
.pricing .phead h2{ margin:0; font-size:clamp(44px,7vw,118px); line-height:.94; letter-spacing:-.025em; }
.pricing .phead h2 em{ color:var(--ink-faint); display:block; }
.tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); }
.tier{ padding:48px 34px 40px; border-right:1px solid var(--line); position:relative; transition:background .5s; }
.tier:last-child{ border-right:0; }
.tier.feat{ background:var(--bg-2); }
.tier.feat::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--accent); }
.tier .badge{ font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--label-ink); margin-bottom:26px; min-height:14px; display:block; }
.tier .idx{ font-family:var(--font-display); font-size:54px; color:var(--ink-faint); line-height:1; display:block; }
.tier h3{ font-family:var(--font-display); font-weight:400; font-size:34px; line-height:1.04; letter-spacing:-.01em; margin:20px 0 0; }
.tier .term{ color:var(--ink-faint); margin:14px 0 30px; font-size:14.5px; }
.tier .amt{ font-family:var(--font-display); font-size:46px; letter-spacing:-.02em; line-height:1; }
.tier .amt small{ display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--ink-faint); margin-top:10px; text-transform:uppercase; }
.tier ul{ list-style:none; padding:0; margin:34px 0 0; border-top:1px solid var(--line); }
.tier ul li{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line-soft); color:var(--ink-soft); font-size:14.5px; line-height:1.45; }
.tier ul li::before{ content:""; flex:0 0 auto; width:5px; height:5px; border-radius:50%; background:var(--accent); margin-top:8px; }
.tier .cta{ margin-top:34px; }
@media (max-width:880px){ .tiers{ grid-template-columns:1fr; } .tier{ border-right:0; border-bottom:1px solid var(--line); } }

[data-magnetic]{ transition:transform .35s var(--ease); }
.btn{
  display:inline-flex; align-items:center; gap:12px; cursor:pointer;
  font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink); background:transparent; border:1px solid var(--line);
  padding:16px 26px; border-radius:4px; text-decoration:none;
  transition:background .4s var(--ease), color .4s, border-color .4s, transform .3s;
}
.btn:hover{ background:color-mix(in srgb, var(--accent) 14%, transparent); border-color:color-mix(in srgb, var(--accent) 55%, var(--line)); color:var(--ink); }
.btn .arr{ transition:transform .4s var(--ease); }
.btn:hover .arr{ transform:translateX(4px); }

.btn.solid{
  border-color:color-mix(in srgb, #fff 24%, transparent);
  color:var(--ink);
  background:color-mix(in srgb, #fff 9%, transparent);
  backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 10px 30px -14px rgba(0,0,0,.55);
  transition:background .4s var(--ease), border-color .4s, box-shadow .5s var(--ease), transform .35s var(--ease), color .4s;
}
.btn.solid:hover{
  background:color-mix(in srgb, #fff 15%, transparent);
  border-color:color-mix(in srgb, #fff 40%, transparent);
  color:var(--ink); transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 16px 38px -16px rgba(0,0,0,.6);
}

.cta-sec{ padding:clamp(110px,18vh,240px) 0; text-align:center; position:relative; overflow:hidden; }
.cta-inner{ position:relative; z-index:2; }
.cta-sec .eyebrow{ display:block; margin-bottom:30px; }
.cta-sec h2{ margin:0 auto; max-width:16ch; font-size:clamp(44px,8vw,128px); line-height:.96; letter-spacing:-.025em; }
.cta-sec h2 em{ color:var(--label-ink); }
.cta-sec p{ margin:30px auto 46px; max-width:48ch; color:var(--ink-soft); font-size:clamp(16px,1.5vw,20px); }

footer{ border-top:1px solid var(--line); padding:60px 0 40px; }
.foot-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
.foot-brand{ font-family:var(--font-display); font-size:clamp(44px,10vw,150px); line-height:.9; letter-spacing:-.03em; }
.foot-cols{ display:grid; grid-template-columns:repeat(3,max-content); gap:36px 56px; }
.foot-col h4{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 18px; font-weight:400; }
.foot-col a{ display:block; font-family:var(--font-sans); font-size:14px; line-height:1.4; color:var(--ink-soft); text-decoration:none; margin-bottom:12px; transition:color .3s; }
@media (max-width:680px){
  .foot-cols{ grid-template-columns:repeat(2,max-content); gap:32px 48px; }
}
.foot-col a:hover{ color:var(--label-ink); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:70px; padding-top:24px; border-top:1px solid var(--line); flex-wrap:wrap; }
.foot-bottom .lbl{ color:var(--ink-faint); }

.mono{ font-family:var(--font-mono); }
.accent{ color:var(--label-ink); }

:root{
  --sunset: radial-gradient(125% 124% at 50% 122%,
    #F1C883 0%, #E0902F 24%, #C2420F 48%, #7C2C12 70%, #321609 86%, transparent 100%);
}
.team{ margin-top:clamp(56px,9vh,120px); }
.team-head{ text-align:center; margin-bottom:clamp(34px,5vh,58px); }
.team-head .eyebrow{ display:block; margin-bottom:16px; }
.team-head h3{ margin:0; font-family:var(--font-display); font-weight:400; font-size:clamp(28px,3.6vw,54px); line-height:1; letter-spacing:-.02em; }

.team-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,1.32fr) minmax(0,1fr);
  gap:clamp(14px,1.8vw,30px); align-items:center;
}
.team-col{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(10px,1.1vw,16px); align-self:stretch; align-content:center; }

.ttile{
  position:relative; aspect-ratio:1; appearance:none; border:0; padding:0; cursor:pointer;
  border-radius:clamp(14px,1.5vw,24px); overflow:hidden; isolation:isolate;
  background:#0a0706; box-shadow:inset 0 0 0 1px var(--line);
  font-family:inherit; color:inherit;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1), box-shadow 1s var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.tglow{
  position:absolute; inset:0; z-index:0; border-radius:inherit; background:var(--sunset);
  opacity:.1; transform:scale(.7); transform-origin:50% 122%;
  filter:saturate(.7) brightness(.5) blur(3px);
  transition:opacity 1s var(--ease), transform 1.35s cubic-bezier(.22,.61,.36,1), filter 1s var(--ease);
}
.trim{ 
  position:absolute; inset:0; z-index:2; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 0 transparent; transition:box-shadow 1s var(--ease);
}
.tmeta{
  position:absolute; left:clamp(11px,1vw,15px); bottom:clamp(40px,3.6vw,54px); z-index:3;
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-soft); white-space:nowrap; pointer-events:none; transition:color .7s var(--ease);
}
.tname{
  position:absolute; left:clamp(11px,1vw,15px); bottom:clamp(10px,.9vw,14px); z-index:3;
  display:flex; align-items:center; gap:7px; pointer-events:none;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink); transition:color .7s var(--ease);
}
.tname .tri{ font-size:8px; line-height:1; color:var(--ink-faint); transition:color .7s var(--ease), transform .7s var(--ease); }

.ttile:hover{ transform:translateY(-5px); }
.ttile:hover .tglow{ opacity:.8; transform:scale(1); filter:saturate(.95) brightness(.82) blur(0); }
.ttile:hover .trim{ box-shadow:inset 0 0 58px rgba(194,66,15,.28); }
.ttile:hover .tname{ color:#fff; }
.ttile:hover .tname .tri{ color:var(--label-ink); }
.ttile:hover .tmeta{ color:rgba(255,232,205,.9); }

.ttile.active{ transform:translateY(-3px); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 26%, transparent), 0 0 52px -14px var(--halo-1); }
.ttile.active .tglow{ opacity:.95; transform:scale(1.06); filter:saturate(1) brightness(1) blur(0); }
.ttile.active .trim{ box-shadow:inset 0 0 76px rgba(224,138,47,.32); }
.ttile.active .tname{ color:#fff; }
.ttile.active .tname .tri{ color:var(--label-ink); transform:translateY(-1px); }
.ttile.active .tmeta{ color:#fff; }
.ttile:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

.team-feature{ margin:0; min-width:0; }
.feat-media{
  position:relative; aspect-ratio:4/5; border-radius:clamp(16px,1.7vw,26px); overflow:hidden;
  background:radial-gradient(120% 122% at 50% 118%, #F2CC80 0%, #E58A2B 18%, #C2420F 40%, #6E260F 66%, #1c0d07 86%, #0a0706 100%);
  box-shadow:var(--shadow), inset 0 0 0 1px var(--line);
}
.feat-media image-slot{ position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.feat-duo{ 
  position:absolute; inset:0; z-index:2; pointer-events:none; mix-blend-mode:soft-light;
  background:linear-gradient(180deg, rgba(40,18,8,.14), rgba(194,66,15,.18) 55%, rgba(242,140,46,.28));
}
.feat-scrim{ 
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(to top, rgba(8,5,4,.9) 0%, rgba(8,5,4,.55) 24%, rgba(8,5,4,.12) 46%, transparent 64%);
}
.feat-frame{ 
  position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 90px rgba(120,44,18,.32);
}
.feat-cap{
  position:absolute; left:0; right:0; bottom:0; z-index:5;
  padding:clamp(22px,3vw,42px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.team-feature.swapping .feat-cap{ opacity:0; transform:translateY(16px); }
.feat-idx{ font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; color:var(--label-ink); }
.feat-name{ margin:12px 0 6px; font-size:clamp(28px,3.2vw,50px); line-height:1; letter-spacing:-.015em; font-weight:400; color:#fff; }
.feat-role{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,234,218,.82); }
.feat-narr{ margin:15px 0 0; font-size:clamp(14px,1.15vw,17px); line-height:1.56; color:rgba(255,240,229,.84); max-width:46ch; }

.team-stats{
  position:relative; margin:clamp(54px,8vh,100px) auto 0; max-width:1120px;
  border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--bg-2);
}
.stats-bar{
  position:relative; height:10px; width:100%;
  background:linear-gradient(90deg,#2a1308 0%,#7C2C12 14%,#C2420F 30%,#E0902F 44%,#F1C883 52%,#E0902F 60%,#C2420F 74%,#7C2C12 86%,#2a1308 100%);
  background-size:220% 100%;
  animation:waterFlow 7s linear infinite;
}
.stats-bar::after{
  content:""; position:absolute; inset:0; mix-blend-mode:screen; opacity:.5;
  background:linear-gradient(90deg, transparent 0%, rgba(255,224,170,.0) 35%, rgba(255,236,200,.85) 50%, rgba(255,224,170,.0) 65%, transparent 100%);
  background-size:60% 100%; background-repeat:no-repeat;
  animation:waterSheen 4.5s ease-in-out infinite;
}
@keyframes waterFlow{ to{ background-position:-220% 0; } }
@keyframes waterSheen{ 0%{ background-position:-60% 0; } 100%{ background-position:160% 0; } }

.stats-row{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{
  position:relative; padding:clamp(28px,3.4vw,48px) clamp(20px,2.6vw,38px);
  transition:background .6s var(--ease);
}
.stat + .stat{ box-shadow:inset 1px 0 0 var(--line); }
.stat::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:0;
  background:radial-gradient(120% 130% at 50% 130%, color-mix(in srgb,var(--accent) 26%, transparent), transparent 70%);
  transition:height .7s var(--ease); pointer-events:none;
}
.stat:hover::before{ height:70%; }
.stat .n{
  font-family:var(--font-display); font-weight:400; font-size:clamp(46px,5.6vw,86px); line-height:1; letter-spacing:-.01em;
  color:var(--label-ink); text-shadow:0 0 26px color-mix(in srgb, var(--accent) 26%, transparent);
}
.stat .l{ font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-top:16px; }
@media (prefers-reduced-motion: reduce){ .stats-bar, .stats-bar::after, .stat .n{ animation:none; } }

@media (max-width:980px){
  .team-stage{ grid-template-columns:1fr; gap:clamp(20px,4vw,34px); }
  .team-feature{ order:-1; max-width:520px; margin:0 auto; }
  .team-col{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:560px){
  .team-col{ grid-template-columns:repeat(2,1fr); }
  .stats-row{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(3), .stat:nth-child(4){ box-shadow:inset 1px 0 0 var(--line), inset 0 1px 0 var(--line); }
  .stat:nth-child(3){ box-shadow:inset 0 1px 0 var(--line); }
}

.toggle-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); white-space:nowrap; }
@media (max-width:700px){ .toggle-label{ display:none; } }

.mission-disc{
  
  position:relative; width:min(85.8vh, 85.8vw, 1126px); aspect-ratio:1; border-radius:50%;
  display:grid; place-items:center; text-align:center;
  background:radial-gradient(circle at 50% 35%, color-mix(in srgb,var(--accent) 14%, transparent), transparent 62%);
  border:1px solid var(--line-strong);
}
.mission-disc::before{
  content:""; position:absolute; inset:-1px; border-radius:50%;
  border:1px solid color-mix(in srgb,var(--accent) 30%, transparent);
  animation:breathe calc(11s / max(var(--motion),.05)) ease-in-out infinite;
}
@keyframes breathe{ 0%,100%{ transform:scale(1); opacity:.45; } 50%{ transform:scale(1.025); opacity:.95; } }
.mission-in{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:20px; padding:0 7%; max-width:30ch; }
.mission-in h2{ margin:0; font-size:clamp(21px,2.1vw,35px); line-height:1.1; letter-spacing:-.02em; max-width:22ch; }
.mission-body{ margin:0; color:var(--ink-soft); font-size:clamp(13px,1.05vw,15.5px); line-height:1.5; max-width:30ch; }
.roi{ display:flex; align-items:center; justify-content:center; }
.roi span{ font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--label-ink); padding:0 16px; }
.roi span + span{ border-left:1px solid var(--line-strong); }
@media (max-width:600px){ .mission-disc{ width:96vw; border-radius:32px; aspect-ratio:auto; padding:64px 0; } }

.totality{ padding-block:clamp(90px,13vh,180px); }
.tot-head{ text-align:center; margin-bottom:clamp(40px,6vh,72px); }
.tot-head .eyebrow{ display:block; margin-bottom:18px; }
.tot-word{ font-size:clamp(64px,13vw,200px); line-height:.9; letter-spacing:-.03em; margin:0; }
.tot-sub{ font-family:var(--font-display); font-style:italic; color:var(--label-ink); text-shadow:var(--label-glow); font-size:clamp(16px,2vw,26px); margin:14px 0 0; }
.tot-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(36px,6vw,90px); align-items:start; border-top:1px solid var(--line); padding-top:clamp(36px,5vh,60px); }
.tot-body p{ margin:0 0 26px; font-size:clamp(17px,1.5vw,21px); line-height:1.6; max-width:52ch; }
.tot-body p:last-child{ margin-bottom:0; color:var(--ink-soft); }
.tot-side .founder{ border-left:1px solid var(--line-strong); padding-left:28px; }
.founder .k{ display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px; }
.founder h3{ margin:0; font-size:clamp(28px,3vw,44px); line-height:1; letter-spacing:-.015em; font-weight:400; }
.founder .role{ display:block; margin-top:12px; font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; color:var(--label-ink); }
@media (max-width:860px){ .tot-grid{ grid-template-columns:1fr; gap:36px; } .tot-side .founder{ border-left:0; border-top:1px solid var(--line-strong); padding-left:0; padding-top:24px; } }

.services{ padding-bottom:clamp(40px,6vh,90px); }
.svc-stage{
  position:relative; margin-top:clamp(30px,4vh,52px);
  padding:clamp(30px,4.4vw,60px) clamp(20px,3.4vw,48px);
  border:1px solid var(--line); border-radius:26px;
  overflow:hidden; isolation:isolate;
  background:color-mix(in srgb, var(--bg-2) 55%, transparent);
}

.svc-orbs{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.orb{ position:absolute; border-radius:50%; filter:blur(38px); opacity:.42; will-change:transform; }
.orb.o1{ width:min(380px,50vw); aspect-ratio:1; left:-7%; top:-18%;
  background:radial-gradient(circle at 35% 35%, color-mix(in srgb,var(--accent) 85%, #f4cf8c), color-mix(in srgb,var(--accent) 60%, transparent) 62%, transparent 74%); }
.orb.o2{ width:min(300px,40vw); aspect-ratio:1; right:-5%; top:26%;
  background:radial-gradient(circle at 40% 40%, #e8b06a, color-mix(in srgb,var(--accent-2) 55%, transparent) 66%, transparent 76%); }
.orb.o3{ width:min(340px,46vw); aspect-ratio:1; left:36%; bottom:-26%;
  background:radial-gradient(circle at 45% 35%, color-mix(in srgb,var(--accent) 70%, #e0902f), transparent 72%); }
@media (prefers-reduced-motion: no-preference){
  .orb.o1{ animation:orbDrift 26s ease-in-out infinite alternate; }
  .orb.o2{ animation:orbDrift 34s ease-in-out infinite alternate-reverse; }
  .orb.o3{ animation:orbDrift 40s ease-in-out infinite alternate; }
}
@keyframes orbDrift{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(56px,38px) scale(1.14); } }

.svc-veil{ position:absolute; inset:0; z-index:3; background:color-mix(in srgb, var(--bg) 42%, transparent);
  opacity:0; visibility:hidden; transition:opacity .55s var(--ease), visibility .55s; }
.svc-stage.open .svc-veil{ opacity:1; visibility:visible; }

.svc-group{ position:relative; }
.svc-group-tag{
  display:block; font-family:var(--font-sans); font-weight:700; font-size:11.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--label-ink); text-shadow:var(--label-glow);
  margin-bottom:20px;
}

.svc-cloud{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(12px,1.5vw,20px); }
.svc-slot{ position:relative; grid-column:span 4; }
.svc-cloud .svc-slot:nth-child(4){ grid-column:3 / span 4; }
.svc-cloud .svc-slot:nth-child(5){ grid-column:7 / span 4; }
.svc-slot.sel{ z-index:9; }
@media (max-width:980px){ .svc-cloud .svc-slot, .svc-cloud .svc-slot:nth-child(4), .svc-cloud .svc-slot:nth-child(5){ grid-column:auto / span 6; } }
@media (max-width:600px){ .svc-cloud .svc-slot, .svc-cloud .svc-slot:nth-child(4), .svc-cloud .svc-slot:nth-child(5){ grid-column:auto / span 12; } }

.svc-btn{
  position:relative; display:flex; flex-direction:column; width:100%; height:100%;
  min-height:clamp(190px,16vw,248px);
  text-align:left; cursor:pointer; color:var(--ink); font-family:var(--font-text);
  background:color-mix(in srgb, var(--ink) 5%, transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid color-mix(in srgb, var(--ink) 15%, transparent);
  border-radius:20px; padding:clamp(20px,2.1vw,30px);
  transition:border-color .5s var(--ease), background .5s var(--ease), opacity .5s var(--ease),
             filter .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease),
             border-radius .55s var(--ease), padding .55s var(--ease);
}

.svc-btn::before{
  content:""; position:absolute; inset:-20px; z-index:-1; border-radius:36px;
  background:
    radial-gradient(58% 90% at 28% 50%, color-mix(in srgb, var(--accent) 68%, transparent), transparent 74%),
    radial-gradient(50% 80% at 74% 50%, color-mix(in srgb, #e0902f 55%, transparent), transparent 74%);
  filter:blur(24px); opacity:.3; transition:opacity .55s var(--ease); pointer-events:none;
}
.svc-group.wellness .svc-btn::before{
  background:
    radial-gradient(58% 90% at 28% 50%, color-mix(in srgb, var(--accent-2) 68%, transparent), transparent 74%),
    radial-gradient(50% 80% at 74% 50%, color-mix(in srgb, #c4993a 52%, transparent), transparent 74%);
}
.svc-btn:not(.central):hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb, var(--ink) 32%, transparent);
  background:color-mix(in srgb, var(--ink) 8%, transparent);
  box-shadow:0 26px 64px -32px rgba(0,0,0,.55);
}
.svc-btn:hover::before{ opacity:1; }
.svc-btn:focus-visible{ outline:none; border-color:color-mix(in srgb, #f4cf8c 65%, transparent); }

.sb-head{ display:flex; align-items:flex-start; gap:13px; }
.sb-i{ font-family:var(--font-sans); font-weight:700; font-size:10.5px; letter-spacing:.12em; color:var(--label-ink); flex:0 0 auto; padding-top:7px; }
.sb-name{ font-family:var(--font-display); font-size:clamp(19px,1.75vw,27px); line-height:1.12; letter-spacing:-.015em; }
.sb-x{
  display:none; align-items:center; justify-content:center; margin-left:auto; flex:0 0 auto;
  width:34px; height:34px; border-radius:50%; font-size:13px; color:var(--ink);
  border:1px solid color-mix(in srgb, var(--ink) 22%, transparent);
  transition:background .3s, border-color .3s;
}
.svc-btn.central .sb-x:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }

.sb-desc{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  margin-top:auto; padding-top:16px;
  color:var(--ink-soft); font-size:clamp(13.5px,1.1vw,16px); line-height:1.55; max-width:46ch;
  opacity:.85; transition:opacity .4s var(--ease);
}

.sb-cta{
  display:block; max-height:0; opacity:0; overflow:hidden; margin-top:0;
  font-family:var(--font-sans); font-weight:700; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--label-ink); text-shadow:var(--label-glow); cursor:pointer;
  transition:max-height .45s var(--ease), opacity .4s var(--ease), margin .45s var(--ease), color .3s;
}

.svc-btn.central{
  position:absolute; z-index:8; cursor:default;
  width:min(660px, calc(100vw - 64px)); height:auto; min-height:0;
  border-radius:24px; padding:clamp(28px,3vw,42px);
  background:color-mix(in srgb, var(--ink) 8%, transparent);
  -webkit-backdrop-filter:blur(28px) saturate(1.35);
  backdrop-filter:blur(28px) saturate(1.35);
  border-color:color-mix(in srgb, var(--ink) 28%, transparent);
  box-shadow:0 40px 110px -38px rgba(0,0,0,.7);
}
.svc-btn.central::before{ opacity:1; border-radius:40px; }
.svc-btn.central .sb-name{ font-size:clamp(23px,2.3vw,34px); }
.svc-btn.central .sb-x{ display:flex; }
.svc-btn.central .sb-desc{ display:block; -webkit-line-clamp:unset; margin-top:20px; padding-top:0; opacity:1; }
.svc-btn.central .sb-cta{ max-height:40px; opacity:1; margin-top:24px; transition-delay:.22s; }
.svc-btn.central .sb-cta:hover{ color:var(--ink); }

.svc-stage.open .svc-slot:not(.sel) .svc-btn{ opacity:.32; filter:blur(2.5px); }

.svc-foot{ margin:clamp(40px,6vh,72px) 0 0; color:var(--ink-soft); font-size:15px; max-width:60ch; }
.svc-foot a{ color:var(--label-ink); text-decoration:none; white-space:nowrap; border-bottom:1px solid color-mix(in srgb,var(--accent) 40%, transparent); padding-bottom:1px; transition:border-color .3s; }
.svc-foot a:hover{ border-color:var(--accent); }

.packages{ padding-block:clamp(90px,12vh,170px); }
.packages .phead{ margin-bottom:54px; }
.packages .phead h2{ margin:0; font-size:clamp(44px,7vw,118px); line-height:.94; letter-spacing:-.025em; }
.packages .phead h2 em{ color:var(--ink-faint); }

.spine{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:clamp(40px,6vh,72px); }
.spine-step{
  position:relative; border-radius:16px; padding:26px 24px 30px;
  background:color-mix(in srgb, var(--ink) 4%, transparent);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
  border:1px solid color-mix(in srgb, var(--ink) 13%, transparent);
  transition:border-color .45s var(--ease), background .45s var(--ease), transform .45s var(--ease);
}
.spine-step:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb, var(--ink) 28%, transparent);
  background:color-mix(in srgb, var(--ink) 7%, transparent);
}
.spine-step:not(:last-child)::after{
  content:""; position:absolute; top:50%; right:-20px; width:20px; height:1px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 55%, transparent), transparent);
}
.spine-step .s-idx{ font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; color:var(--label-ink); text-shadow:var(--label-glow); }
.spine-step h4{ margin:14px 0 10px; font-family:var(--font-display); font-weight:400; font-size:clamp(22px,2.2vw,32px); letter-spacing:-.01em; }
.spine-step p{ margin:0; color:var(--ink-soft); font-size:14px; line-height:1.5; }

.packages .tiers{
  grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.5vw,20px);
  border-top:0; border-radius:26px;
  background:
    radial-gradient(54% 70% at 12% 8%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%),
    radial-gradient(46% 64% at 88% 92%, color-mix(in srgb, #e0902f 12%, transparent), transparent 72%);
}
.packages .tier{
  padding:38px 26px 34px; border-radius:20px; isolation:isolate;
  border:1px solid color-mix(in srgb, var(--ink) 15%, transparent);
  background:color-mix(in srgb, var(--ink) 5%, transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  backdrop-filter:blur(18px) saturate(1.3);
  transition:border-color .5s var(--ease), background .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease);
}

.packages .tier::after{
  content:""; position:absolute; inset:-18px; z-index:-1; border-radius:34px;
  background:
    radial-gradient(58% 90% at 30% 40%, color-mix(in srgb, var(--accent) 60%, transparent), transparent 74%),
    radial-gradient(50% 80% at 76% 70%, color-mix(in srgb, #e0902f 48%, transparent), transparent 74%);
  filter:blur(24px); opacity:.18; transition:opacity .55s var(--ease); pointer-events:none;
}
.packages .tier:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb, var(--ink) 30%, transparent);
  background:color-mix(in srgb, var(--ink) 8%, transparent);
  box-shadow:0 26px 64px -32px rgba(0,0,0,.55);
}
.packages .tier:hover::after{ opacity:.85; }
.packages .tier.feat{
  background:color-mix(in srgb, var(--ink) 9%, transparent);
  border-color:transparent;
}

.packages .tier.feat::before{
  content:""; position:absolute; inset:0; height:auto; z-index:0; border-radius:inherit; padding:1px;
  background:linear-gradient(135deg,
    rgba(255,244,222,.9) 0%, rgba(232,168,92,.5) 35%,
    rgba(244,207,140,.28) 60%, rgba(255,240,214,.85) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask-composite:exclude;
  pointer-events:none;
}
.packages .tier.feat::after{ opacity:.5; }
.packages .tier.feat:hover::after{ opacity:1; }
.packages .tier h3{ font-size:30px; }
.packages .tier .amt{ font-size:40px; }

.pkg-peek{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.5vw,20px);
  margin-top:clamp(32px,5vh,56px); }
.pkg-card{ position:relative; isolation:isolate; display:flex; flex-direction:column; gap:12px;
  padding:clamp(26px,2vw,34px) clamp(22px,1.8vw,28px); border-radius:20px; text-decoration:none; color:var(--ink);
  border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);
  background:color-mix(in srgb, var(--ink) 5%, transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.2); backdrop-filter:blur(18px) saturate(1.2);
  transition:transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease), background .5s var(--ease); }
.pkg-card::after{ content:""; position:absolute; inset:-16px; z-index:-1; border-radius:32px; pointer-events:none;
  background:radial-gradient(60% 90% at 30% 30%, color-mix(in srgb, var(--accent) 55%, transparent), transparent 74%);
  filter:blur(22px); opacity:0; transition:opacity .55s var(--ease); }
.pkg-idx{ font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; color:var(--ink-faint); }
.pkg-card h3{ font-family:var(--font-display); font-weight:400; font-size:clamp(20px,1.7vw,25px);
  line-height:1.08; letter-spacing:-.01em; margin:0; }
.pkg-term{ font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink-faint); margin:0; }
.pkg-line{ margin:0; color:var(--ink-soft); font-size:14.5px; line-height:1.52; flex:1 1 auto; text-wrap:pretty; }
.pkg-more{ display:inline-flex; align-items:center; gap:8px; margin-top:6px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; color:var(--label-ink); text-shadow:var(--label-glow); }
.pkg-arrow{ transition:transform .4s var(--ease); }
.pkg-card:hover{ transform:translateY(-5px);
  border-color:color-mix(in srgb, var(--accent) 40%, var(--line));
  background:color-mix(in srgb, var(--ink) 8%, transparent);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent), 0 26px 64px -32px rgba(0,0,0,.55); }
.pkg-card:hover::after{ opacity:.8; }
.pkg-card:hover .pkg-arrow{ transform:translateX(5px); }
.pkg-card:focus-visible{ outline:none; transform:translateY(-5px);
  border-color:color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent), 0 26px 64px -32px rgba(0,0,0,.55); }
.pkg-card:focus-visible::after{ opacity:1; }
@media (max-width:1040px){ .pkg-peek{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pkg-peek{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce){ .pkg-card:hover, .pkg-card:focus-visible{ transform:none; } }
.bridge{ margin:clamp(40px,6vh,70px) 0 0; padding-top:30px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:clamp(15px,1.4vw,18px); line-height:1.6; max-width:72ch; }
.bridge strong{ color:var(--ink); font-weight:400; font-family:var(--font-display); }
.bridge a{ color:var(--label-ink); text-decoration:none; white-space:nowrap; border-bottom:1px solid color-mix(in srgb,var(--accent-2) 45%, transparent); padding-bottom:1px; }
.bridge a:hover{ border-color:var(--accent-2); }
@media (max-width:1040px){
  .spine{ grid-template-columns:repeat(2,1fr); }
  .spine-step:nth-child(2)::after{ display:none; }
  .packages .tiers{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px){
  .spine{ grid-template-columns:1fr; }
  .spine-step:not(:last-child)::after{ display:none; }
  .packages .tiers{ grid-template-columns:1fr; }
}

.solstice{ padding-block:clamp(90px,12vh,170px); }
.sol-grid{ display:grid; grid-template-columns:1fr 0.86fr; gap:clamp(40px,6vw,90px); align-items:center; }
.sol-copy .eyebrow{ display:block; margin-bottom:22px; color:var(--label-ink); }
.sol-copy h2{ margin:0 0 28px; font-size:clamp(40px,6vw,92px); line-height:.96; letter-spacing:-.02em; }
.sol-copy h2 .serif-it{ color:var(--ink-faint); }
.sol-copy p{ margin:0 0 20px; font-size:clamp(16px,1.45vw,20px); line-height:1.6; color:var(--ink-soft); max-width:52ch; }
.sol-tags{ display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 36px; }
.sol-tags span{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.04em; color:var(--ink); border:1px solid var(--line-strong); border-radius:100px; padding:8px 16px; }

.sol-visual .sol-panel{
  position:relative; aspect-ratio:4/5; border-radius:8px; overflow:hidden; border:1px solid var(--line);
  background:linear-gradient(150deg, #efe7da 0%, #d9cab3 50%, #c2ad8f 100%);
  box-shadow:var(--shadow);
}
.sol-moon{
  position:absolute; top:16%; left:50%; transform:translateX(-50%); width:54%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle at 50% 42%, #fff6e1 0%, #f0d9a0 45%, #d9b463 75%, #c4993a 100%);
  box-shadow:0 0 90px 20px rgba(196,153,58,.45), inset 0 0 50px rgba(255,248,228,.5); z-index:1;
}
.sol-panel image-slot{ position:absolute; inset:0; z-index:2; opacity:.0; }
.sol-panel image-slot[data-filled]{ opacity:1; }
@media (max-width:860px){ .sol-grid{ grid-template-columns:1fr; gap:40px; } .sol-visual{ max-width:460px; } }

.sol-hero-word{
  margin:clamp(14px,2.6vh,32px) 0 0; font-family:var(--font-display); font-weight:400;
  font-size:clamp(52px,7.2vw,118px); line-height:.96; letter-spacing:-.02em; color:var(--ink);
}
.sol-hero-word .serif-it{ color:var(--ink-faint); }

.contact{ padding-block:clamp(90px,12vh,170px); }
.contact-head{ max-width:18ch; margin-bottom:clamp(40px,6vh,70px); }
.contact-head .eyebrow{ display:block; margin-bottom:24px; }
.contact-head h2{ margin:0; font-size:clamp(44px,7vw,120px); line-height:.94; letter-spacing:-.025em; }
.contact-head h2 em{ color:var(--label-ink); text-shadow:var(--label-glow); }
.contact-head .lead{ margin:28px 0 0; max-width:52ch; color:var(--ink-soft); font-size:clamp(16px,1.5vw,20px); line-height:1.6; }
.contact-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:clamp(36px,5vw,80px); align-items:start; }
.contact-form{ display:flex; flex-direction:column; gap:22px; }
.field{ display:flex; flex-direction:column; gap:10px; }
.field label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.field input, .field textarea{
  font-family:var(--font-text); font-size:17px; color:var(--ink); background:transparent;
  border:0; border-bottom:1px solid var(--line-strong); padding:10px 0; outline:none; resize:none;
  transition:border-color .3s;
}
.field input::placeholder, .field textarea::placeholder{ color:var(--ink-faint); }
.field input:focus, .field textarea:focus{ border-color:var(--accent); }
.contact-form .btn{ align-self:flex-start; margin-top:8px; }
.form-status{ margin:4px 0 0; font-family:var(--font-mono); font-size:12px; letter-spacing:.03em; color:var(--label-ink); min-height:16px; }

.contact-side{ display:flex; flex-direction:column; gap:40px; }
.booker{ border:1px solid var(--line); border-radius:8px; padding:28px; background:var(--bg-2); }
.booker .k{ display:block; font-family:var(--font-display); font-size:22px; }
.booker-meta{ margin:6px 0 22px; font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; color:var(--ink-faint); text-transform:uppercase; }
.slots{ display:flex; gap:10px; flex-wrap:wrap; }
.slot{
  flex:1 1 0; min-width:84px; font-family:var(--font-mono); font-size:15px; color:var(--ink);
  background:transparent; border:1px solid var(--line-strong); border-radius:5px; padding:14px 8px; cursor:pointer;
  transition:border-color .3s, background .3s, color .3s;
}
.slot span{ display:block; font-size:10px; letter-spacing:.08em; color:var(--ink-faint); margin-top:3px; }
.slot:hover{ border-color:var(--accent); }
.slot.sel{ background:color-mix(in srgb, var(--accent) 18%, transparent); border-color:var(--accent); color:var(--ink); box-shadow:0 0 18px -4px color-mix(in srgb, var(--accent) 55%, transparent); }
.slot.sel span{ color:var(--label-ink); }
.btn.confirm{ margin-top:18px; width:100%; justify-content:center; }
.btn.confirm:disabled{ opacity:.4; cursor:not-allowed; }
.contacts{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.contacts li{ padding:18px 0; border-top:1px solid var(--line-soft); display:flex; flex-direction:column; gap:6px; }
.contacts li:first-child{ border-top:0; }
.contacts .k{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.contacts a{ color:var(--ink); text-decoration:none; font-size:17px; transition:color .3s; }
.contacts a em{ display:block; font-style:normal; font-family:var(--font-mono); font-size:12.5px; color:var(--label-ink); margin-top:3px; }
.contacts a:hover{ color:var(--label-ink); }
.contacts .v{ font-family:var(--font-mono); font-size:13px; color:var(--ink-soft); letter-spacing:.02em; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; gap:46px; } }

.clients{ padding:clamp(96px,16vh,200px) 0 clamp(56px,9vh,110px); border-bottom:1px solid var(--line); overflow:hidden; }
.clients-inner{ display:flex; align-items:center; gap:clamp(28px,4vw,72px); }
.clients-label{
  flex:0 0 auto; font-family:var(--font-display); font-weight:400; color:#fff;
  font-size:clamp(30px,3.4vw,52px); line-height:.98; letter-spacing:-.02em;
}
.clients-rows{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:clamp(18px,2.4vw,34px); }
.clients-rail{
  position:relative; width:100%; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 92%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 92%, transparent 100%);
}
.client-track{
  display:flex; align-items:center; width:max-content;
  animation:clientRoll 48s linear infinite; will-change:transform;
}
.client-track.reverse{ animation-name:clientRollRev; animation-duration:54s; }
.clients-rail:hover .client-track{ animation-play-state:paused; }
@keyframes clientRoll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes clientRollRev{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }

.logo{
  flex:0 0 auto;
  height:clamp(26px,3vw,40px);
  max-width:clamp(130px,14vw,184px);
  margin:0 clamp(22px,2.6vw,48px);
  display:flex; align-items:center; justify-content:center;
}
.logo img{
  max-height:100%; max-width:100%; width:auto; height:auto; object-fit:contain;
  opacity:.85; transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.logo:hover img{ opacity:1; transform:scale(1.04); }
@media (prefers-reduced-motion: reduce){ .client-track{ animation:none; } }
@media (max-width:720px){
  .clients-inner{ flex-direction:column; align-items:flex-start; gap:clamp(20px,4vw,32px); }
  .clients-label br{ display:none; }
  .clients-rows{ width:100%; }
}
@media (prefers-reduced-motion: reduce){ .client-track{ animation:none; } }

.foot-lead{ display:flex; flex-direction:column; gap:18px; }
.foot-tag{ margin:0; font-family:var(--font-display); font-style:italic; font-size:clamp(16px,1.6vw,22px); color:var(--ink-soft); }

.eyebrow, .lbl, .svc-group-tag, .sb-i, .btn, .badge,
.spine-step .s-idx, .toggle-label, .brand, .nav-links a,
.foot-col h4, .pillar-idx, .clock, .sb-cta, .wp-eyebrow, .wp-c,
.hero-meta .cell .k, .founder .k, .booker-meta, .contacts .k{ font-weight:500; }

::selection{ background:color-mix(in srgb, var(--accent) 28%, transparent); }

.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }

.nav .nav-cta{ padding:9px 18px; font-size:10.5px; letter-spacing:.14em; margin-left:14px; }
@media (max-width:900px){ .nav .nav-cta{ display:none; } }

.contact-aurora{
  position:relative; overflow:hidden;
  padding:clamp(90px,12vh,160px) 0 clamp(70px,9vh,120px);
  border-top:1px solid var(--line-soft);
  background:transparent;   
}

.contact-aurora .aurora{ position:absolute; inset:0; pointer-events:none; }
.contact-aurora .au{
  position:absolute; border-radius:50%; mix-blend-mode:screen; filter:blur(64px);
  opacity:.38; will-change:transform;
}
.au-v{ left:-12%; bottom:-34%; width:56%; aspect-ratio:1.25; background:radial-gradient(closest-side, color-mix(in srgb, #7C2C12 85%, transparent), transparent 70%); }
.au-au{ left:28%; bottom:-40%; width:52%; aspect-ratio:1.25; background:radial-gradient(closest-side, color-mix(in srgb, #E0902F 55%, transparent), transparent 70%); }
.au-g{ right:-10%; bottom:-34%; width:56%; aspect-ratio:1.25; background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 60%, transparent), transparent 70%); }
.au-veil{ left:6%; top:-46%; width:88%; aspect-ratio:1.6; background:radial-gradient(closest-side, color-mix(in srgb, #F1C883 28%, transparent), transparent 72%); opacity:.22; }
@media (prefers-reduced-motion: no-preference){
  .au-v{ animation:auDrift 19s ease-in-out infinite alternate; }
  .au-au{ animation:auDrift 23s ease-in-out -6s infinite alternate-reverse; }
  .au-g{ animation:auDrift 17s ease-in-out -11s infinite alternate; }
}
@keyframes auDrift{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(4%,-6%,0) scale(1.12); }
}
.ca-inner{ position:relative; z-index:1; }

.ca-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:clamp(24px,4vw,80px); margin-bottom:clamp(34px,5vh,60px);
}
.ca-head .eyebrow{ display:block; margin-bottom:20px; }
.ca-head h2{ margin:0; font-size:clamp(40px,5.6vw,96px); line-height:.94; letter-spacing:-.025em; max-width:14ch; }
.ca-head h2 em{ color:var(--label-ink); text-shadow:var(--label-glow); }
.ca-lead{ margin:0 0 10px; max-width:38ch; color:var(--ink-soft); font-size:clamp(15px,1.3vw,18px); line-height:1.6; text-wrap:pretty; }

.dots-stage{
  position:relative; height:clamp(360px,48vh,540px); border-radius:20px;
  border:1px solid color-mix(in srgb, var(--accent) 14%, var(--line-soft));
  background:color-mix(in srgb, var(--bg-2) 42%, transparent);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.dots-canvas{
  position:absolute; inset:0; width:100%; height:100%;
  border-radius:inherit; pointer-events:none; z-index:0;
}
.dots-hint{
  position:absolute; right:22px; top:18px; font-family:var(--font-mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); transition:opacity .5s;
}
.dots-hint.hide{ opacity:0; }

.trail-dot{
  position:absolute; width:5px; height:5px; border-radius:50%;
  transform:translate(-50%,-50%) scale(.3); z-index:1;
  background:#ffe9c4; box-shadow:0 0 9px 1px rgba(255,222,168,.7);
  opacity:0; transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.trail-dot.on{ opacity:.8; transform:translate(-50%,-50%) scale(1); }

.dot{
  position:absolute; transform:translate(-50%,-50%); width:48px; height:48px;
  background:transparent; border:0; padding:0; cursor:pointer; z-index:2;
}
.dot .core{
  position:absolute; inset:15px; border-radius:50%;
  background:#f6e8cf;
  box-shadow:0 0 16px 2px color-mix(in srgb, var(--c) 55%, transparent);
  transition:inset .35s var(--ease), box-shadow .35s var(--ease), background .35s;
}
.dot:hover .core{ inset:12px; }
.dot.active .core{
  inset:11px;
  background:radial-gradient(circle at 35% 30%, #fff, color-mix(in srgb, var(--c) 55%, #f4e0bb));
  box-shadow:0 0 10px 1px color-mix(in srgb, var(--c) 80%, transparent), 0 0 34px 10px color-mix(in srgb, var(--c) 38%, transparent);
}
@media (prefers-reduced-motion: no-preference){
  .dot.next .core{ animation:dotInvite 1.9s var(--ease) infinite; }
}
@keyframes dotInvite{
  0%,100%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--c) 55%, transparent), 0 0 16px 2px color-mix(in srgb, var(--c) 50%, transparent); }
  55%{ box-shadow:0 0 0 14px transparent, 0 0 22px 5px color-mix(in srgb, var(--c) 60%, transparent); }
}
.dot .lbl{
  position:absolute; top:calc(100% + 2px); left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; gap:3px; align-items:center;
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-faint); white-space:nowrap; transition:color .4s; font-weight:500;
}
.dot .lbl i{ font-style:normal; font-size:9.5px; letter-spacing:.18em; opacity:.65; }
.dot.active .lbl{ color:var(--label-ink); }
.dot.edge-l .lbl{ left:0; transform:none; align-items:flex-start; }
.dot.edge-r .lbl{ left:auto; right:0; transform:none; align-items:flex-end; }

.dot-card{
  position:absolute; z-index:5; width:min(330px, 42%);
  padding:20px 22px 22px; border-radius:14px;
  background:color-mix(in srgb, #140c07 80%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line-soft));
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.7);
  opacity:0; transform:translateY(10px); pointer-events:none;
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.dot-card.show{ opacity:1; transform:translateY(0); pointer-events:auto; }
.dot-card.flip{ transform:translate(-100%,10px); }
.dot-card.flip.show{ transform:translate(-100%,0); }
.dc-tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); font-weight:500; }
.dot-card h4{ margin:10px 0 8px; font-family:var(--font-display); font-weight:400; font-size:21px; line-height:1.15; letter-spacing:-.01em; color:var(--ink); }
.dot-card p{ margin:0; font-size:13.5px; line-height:1.55; color:var(--ink-soft); }
.dot-card .dc-cta{ margin-top:16px; padding:10px 18px; font-size:10.5px; }

.ca-form{
  position:relative; margin-top:clamp(30px,4.5vh,54px);
  display:flex; align-items:flex-end; gap:clamp(14px,2vw,28px); flex-wrap:wrap;
  padding:clamp(18px,2.4vw,30px) clamp(18px,2.4vw,32px);
  border:1px solid color-mix(in srgb, var(--accent) 12%, var(--line-soft)); border-radius:18px;
  background:color-mix(in srgb, var(--bg-2) 55%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.ca-form .f{ display:flex; flex-direction:column; gap:8px; flex:1 1 170px; min-width:150px; }
.ca-form .f.grow{ flex:2.2 1 300px; }
.ca-form label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); font-weight:500; }
.ca-form input{
  font-family:var(--font-text); font-size:16.5px; color:var(--ink); background:transparent;
  border:0; border-bottom:1px solid var(--line-strong); padding:8px 0; outline:none;
  transition:border-color .3s;
}
.ca-form input::placeholder{ color:var(--ink-faint); }
.ca-form input:focus{ border-color:var(--accent); }
.ca-form .btn{ flex:0 0 auto; }
.ca-form .form-status{ position:absolute; left:clamp(18px,2.4vw,32px); bottom:-26px; margin:0; }

.ca-strip{
  margin-top:clamp(44px,6vh,68px); display:flex; align-items:center; justify-content:space-between;
  gap:clamp(22px,3vw,50px); flex-wrap:wrap;
}
.ca-book{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; border-radius:12px; }
.ca-book .k{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; }
.ca-book .slots{ flex-wrap:nowrap; }
.ca-book .slot{ flex:0 0 auto; min-width:78px; padding:11px 10px; font-size:14px; }
.ca-book .btn.confirm{ margin-top:0; width:auto; padding:12px 22px; }
@media (prefers-reduced-motion: no-preference){
  .ca-book.pulse{ animation:bookPulse 1.1s var(--ease) 2; }
}
@keyframes bookPulse{
  0%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); }
  100%{ box-shadow:0 0 0 18px transparent; }
}
.ca-contacts{ list-style:none; margin:0; padding:0; display:flex; gap:clamp(20px,3vw,46px); flex-wrap:wrap; }
.ca-contacts li{ display:flex; flex-direction:column; gap:5px; }
.ca-contacts .k{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); font-weight:500; }
.ca-contacts a{ color:var(--ink); text-decoration:none; font-size:14.5px; transition:color .3s; }
.ca-contacts a:hover{ color:var(--label-ink); }
.ca-contacts .v{ font-family:var(--font-mono); font-size:12.5px; color:var(--ink-soft); }

@media (max-width:900px){
  .ca-head{ flex-direction:column; align-items:flex-start; }
  .dots-stage{ height:500px; }
  .dot .lbl{ font-size:10px; }
  .dot-card{ width:min(300px, 88%); }
}
@media (max-width:620px){
  .dots-stage{ height:560px; }
  .ca-strip{ flex-direction:column; align-items:flex-start; }
}

.contact-aurora .ca-strip{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,.5fr);
  gap:clamp(26px,3vw,54px); align-items:start;
}
.ca-rail{ display:flex; flex-direction:column; gap:22px; }
.ca-rail .ca-contacts{ flex-direction:column; gap:20px; }
@media (max-width:900px){
  .contact-aurora .ca-strip{ grid-template-columns:1fr; }
  .ca-rail .ca-contacts{ flex-direction:row; }
}

.cal-booker{
  border:1px solid var(--line-strong); border-radius:16px;
  background:color-mix(in srgb, #fff 5%, transparent);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 30px 80px -52px rgba(0,0,0,.85);
  padding:clamp(18px,2.2vw,30px);
  display:flex; flex-direction:column; gap:clamp(16px,2vw,22px);
}
.cal-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.cal-head .k{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; }
.cal-tz{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.cal-body{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.82fr); gap:clamp(20px,2.6vw,40px); }
@media (max-width:760px){ .cal-body{ grid-template-columns:1fr; } }

.cal-nav{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.cal-month{ font-family:var(--font-display); font-size:clamp(18px,1.9vw,23px); letter-spacing:-.01em; }
.cal-arrow{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--line-strong);
  background:transparent; color:var(--ink); font-size:18px; line-height:1; cursor:pointer;
  display:grid; place-items:center; transition:border-color .3s, background .3s, color .3s, opacity .3s;
}
.cal-arrow:hover:not(:disabled){ border-color:var(--accent); }
.cal-arrow:disabled{ opacity:.22; cursor:not-allowed; }
.cal-dow{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:8px; }
.cal-dow span{ text-align:center; font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-day{
  aspect-ratio:1/1; border:1px solid transparent; border-radius:9px; background:transparent;
  color:var(--ink); font-family:var(--font-mono); font-size:14px; cursor:pointer;
  display:grid; place-items:center; position:relative;
  transition:border-color .25s, background .25s, color .25s, box-shadow .25s;
}
.cal-day.empty{ pointer-events:none; }
.cal-day.disabled{ color:var(--ink-faint); opacity:.38; pointer-events:none; }
.cal-day.is-free:hover{ border-color:color-mix(in srgb, var(--accent) 55%, var(--line)); background:color-mix(in srgb, var(--accent) 8%, transparent); }
.cal-day.is-free::after{ content:""; position:absolute; bottom:6px; width:4px; height:4px; border-radius:50%; background:var(--accent); opacity:.7; }
.cal-day.today{ outline:1px dashed var(--line-strong); outline-offset:-4px; }
.cal-day.sel{ background:color-mix(in srgb, var(--accent) 20%, transparent); border-color:var(--accent); color:var(--ink); box-shadow:0 0 18px -4px color-mix(in srgb, var(--accent) 55%, transparent); }
.cal-day.sel::after{ opacity:0; }

.cal-times{ display:flex; flex-direction:column; }
.cal-times-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px; }
.cal-times-label b{ color:var(--label-ink); font-weight:500; }
.cal-slots{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:auto; }
.cal-empty{ grid-column:1 / -1; font-family:var(--font-display); font-style:italic; color:var(--ink-faint); font-size:15px; }
.cal-tslot{
  font-family:var(--font-mono); font-size:14px; color:var(--ink); background:transparent;
  border:1px solid var(--line-strong); border-radius:8px; padding:12px 8px; cursor:pointer;
  transition:border-color .25s, background .25s, box-shadow .25s;
}
.cal-tslot span{ display:block; font-size:9.5px; letter-spacing:.08em; color:var(--ink-faint); margin-top:2px; }
.cal-tslot:hover{ border-color:var(--accent); }
.cal-tslot.sel{ background:color-mix(in srgb, var(--accent) 18%, transparent); border-color:var(--accent); box-shadow:0 0 18px -4px color-mix(in srgb, var(--accent) 55%, transparent); }
.cal-confirm{ margin-top:18px; width:100%; justify-content:center; }
.cal-confirm:disabled{ opacity:.4; cursor:not-allowed; }
.cal-conf{ margin:14px 0 0; min-height:1.2em; }
.cal-conf .ok{ display:block; font-family:var(--font-display); font-size:16.5px; line-height:1.4; color:var(--ink); margin-bottom:12px; }
.cal-conf .ok em{ font-style:italic; color:var(--label-ink); }
.cal-ics{ display:inline-flex; gap:18px; flex-wrap:wrap; }
.cal-ics a{ font-family:var(--font-mono); font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--line-strong); padding-bottom:2px; transition:color .3s, border-color .3s; }
.cal-ics a:hover{ color:var(--label-ink); border-color:var(--accent); }

.efoot{ border-top:1px solid var(--line); padding:clamp(60px,9vh,118px) 0 40px; position:relative; }
.efoot-cta{ display:flex; align-items:flex-end; justify-content:space-between; gap:44px; flex-wrap:wrap; padding-bottom:clamp(46px,7vh,88px); border-bottom:1px solid var(--line); }
.efoot-cta .eyebrow{ display:block; margin-bottom:22px; }
.efoot-cta h2{ margin:0; font-size:clamp(34px,5.2vw,74px); line-height:1.02; letter-spacing:-.025em; max-width:15ch; }
.efoot-cta h2 em{ color:var(--label-ink); }
.efoot-cta-r{ display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding-bottom:6px; }
.efoot-mail{ font-family:var(--font-mono); font-size:13px; letter-spacing:.04em; color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--line-strong); padding-bottom:3px; transition:color .3s, border-color .3s; }
.efoot-mail:hover{ color:var(--label-ink); border-color:var(--accent); }

.efoot-grid{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,2fr); gap:clamp(40px,6vw,92px); padding:clamp(48px,7vh,84px) 0; }
@media (max-width:900px){ .efoot-grid{ grid-template-columns:1fr; gap:50px; } }
.efoot-brandcol{ display:flex; flex-direction:column; gap:18px; }
.efoot-mark{ width:46px; height:46px; display:grid; place-items:center; }
.efoot-mark img{ width:100%; height:auto; opacity:.9; }
.efoot-brandcol .foot-brand{ font-size:clamp(40px,5vw,82px); }
.efoot-meta{ display:flex; flex-direction:column; gap:6px; margin-top:8px; font-family:var(--font-mono); font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-faint); }
.efoot-cols{ display:grid; grid-template-columns:repeat(5,1fr); gap:34px 28px; }
@media (max-width:1100px){ .efoot-cols{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .efoot-cols{ grid-template-columns:repeat(2,1fr); } }

.efoot-bottom{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:26px; border-top:1px solid var(--line); flex-wrap:wrap; }
.efoot-bottom .lbl{ color:var(--ink-faint); }
.efoot-legal{ display:flex; gap:26px; flex-wrap:wrap; }
.efoot-legal a, .efoot-top{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; transition:color .3s; }
.efoot-legal a{ color:var(--ink-faint); }
.efoot-legal a:hover{ color:var(--label-ink); }
.efoot-top{ color:var(--ink-soft); }
.efoot-top:hover{ color:var(--label-ink); }

.sol-* classes that only
   exist on the Solstice page, so the night page is untouched.
   =========================================================== */

.sol-enter{
  position:fixed; inset:0; z-index:9500; pointer-events:none;
  background:radial-gradient(circle at 50% 42%, #1b1410 0%, #0a0807 58%, #070605 100%);
  opacity:1; transform:scale(1);
  transition:opacity 2.6s var(--ease), transform 3s var(--ease);
}
.sol-enter.lift{ opacity:0; transform:scale(1.12); }

.sol-bg{ position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none;
  --sp:0; --c1:#d3a144; --c2:#8fa877;
  background:
    
    radial-gradient(132% 92% at 50% calc(128% - var(--sp) * 24%),
      var(--c1) 0%,
      color-mix(in srgb, var(--c1) 46%, transparent) 30%,
      color-mix(in srgb, var(--c1) 14%, transparent) 60%,
      transparent 100%),
    
    radial-gradient(122% 104% at 50% calc(160% - var(--sp) * 96%),
      color-mix(in srgb, var(--c2) 38%, transparent) 0%,
      color-mix(in srgb, var(--c2) 12%, transparent) 48%,
      transparent 100%),
    
    radial-gradient(72% 66% at 94% -8%, color-mix(in srgb,#d98a6a 22%, transparent) 0%, transparent 82%),
    
    radial-gradient(66% 62% at 4% 2%, color-mix(in srgb, var(--c2) 18%, transparent) 0%, transparent 84%),
    
    radial-gradient(58% 72% at 106% 46%, color-mix(in srgb,#8294b8 15%, transparent) 0%, transparent 86%),
    
    linear-gradient(165deg, #f0e8d2 0%, #e7e0c6 34%, #dcd6ba 68%, #d8cfb4 100%); }

.sol-bg::after{ content:""; position:absolute; inset:-20%; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:240px 240px; mix-blend-mode:overlay; opacity:.5; }
.sol-bg .sb-blob{ position:absolute; border-radius:50%; filter:blur(70px); mix-blend-mode:multiply;
  will-change:transform; animation:solDrift 30s ease-in-out infinite alternate; }

.sol-bg .b1{ width:74vw; height:110vh; left:-30vw; top:-8vh; opacity:.6; border-radius:40%;
  background:radial-gradient(closest-side, #d99a3f 0%, #d9a95c 38%, transparent 72%); animation-duration:34s; }
.sol-bg .b2{ width:78vw; height:88vh; left:8vw; top:-22vh; opacity:.55; border-radius:44%;
  background:radial-gradient(closest-side, #75824a 0%, #86905c 42%, transparent 74%); animation-duration:28s; animation-delay:-6s; }
.sol-bg .b3{ width:34vw; height:38vh; left:44vw; top:26vh; opacity:.4;
  background:radial-gradient(closest-side, #35635e 0%, transparent 70%); animation-duration:38s; animation-delay:-12s; }
.sol-bg .b4{ width:58vw; height:120vh; right:-24vw; top:-10vh; opacity:.72; mix-blend-mode:normal; border-radius:42%;
  background:radial-gradient(closest-side, #a8a2e4 0%, #b5aee8 36%, transparent 72%); animation-duration:32s; animation-delay:-3s; }
@keyframes solDrift{ 0%{ transform:translate(0,0) scale(1); } 100%{ transform:translate(5vw,4vh) scale(1.12); } }
@media (prefers-reduced-motion: reduce){ .sol-bg .sb-blob{ animation:none; } }

[data-theme="day"] .cosmos{ opacity:.66; }
[data-theme="day"] .sol-bg ~ .cosmos .cosmos::after{ opacity:.3; }

.sol-ehero{ min-height:100vh; padding:0; display:block; }
.sol-ehero .svc-eclipse{ margin-top:0; }

.hero.sol-intro{ min-height:auto; justify-content:center; padding:clamp(120px,16vh,210px) 0 clamp(80px,12vh,150px); }

.svc-eclipse{ position:relative; margin-top:clamp(18px,3.5vh,48px); --spring:cubic-bezier(.34,1.32,.4,1); }
.se-cap{ position:absolute; left:50%; top:clamp(112px,14vh,166px); transform:translateX(-50%); width:min(34ch,72%); margin:0; text-align:center;
  font-family:var(--font-display); font-size:clamp(32px,4vw,54px); font-weight:400; line-height:1.08; color:var(--ink); text-wrap:balance; z-index:3; pointer-events:none;
  transition:opacity .6s var(--ease); }
.se-stage:hover .se-cap, .se-stage:focus-within .se-cap, .se-stage.open .se-cap{ opacity:0; }
.se-cap em{ color:var(--ink); }
.se-sub{ display:block; margin-top:16px; font-family:var(--font-body); font-size:clamp(13px,1.05vw,15px);
  font-weight:400; line-height:1.55; color:var(--ink-soft); text-wrap:pretty; }
.se-hint{ display:block; margin-top:13px; font-family:var(--font-mono); font-size:10.5px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); transition:opacity .5s var(--ease); }
.se-stage:hover .se-hint, .se-stage.open .se-hint{ opacity:0; }

.se-stage{ position:relative; min-height:100vh; scroll-snap-align:center; cursor:pointer; outline:none; --gap:clamp(152px,16.5vw,272px); --shift:0px; }
.se-stage:hover, .se-stage:focus-within, .se-stage.open{ --shift:0px; }

.se-stage::before{ content:""; position:absolute; left:50%; top:calc(50% + var(--ec-shift));
  width:min(128vh,1020px); aspect-ratio:1/1; border-radius:50%; pointer-events:none; z-index:0;
  background:
    radial-gradient(60% 60% at 50% 44%, rgba(255,252,240,.78) 0%, rgba(255,252,240,.3) 40%, transparent 78%),
    radial-gradient(82% 82% at 35% 58%, rgba(244,199,168,.4) 0%, rgba(244,199,168,.14) 46%, transparent 86%),
    radial-gradient(82% 82% at 67% 55%, rgba(188,214,198,.38) 0%, rgba(188,214,198,.13) 46%, transparent 86%),
    radial-gradient(104% 104% at 52% 48%, rgba(217,190,212,.28) 0%, rgba(217,190,212,.1) 52%, transparent 90%);
  filter:blur(50px); opacity:0; transform:translate(-50%,-50%) scale(.45);
  transition:opacity 1.2s var(--ease), transform 1.5s var(--spring); }
.se-stage:hover::before, .se-stage:focus-within::before, .se-stage.open::before{ opacity:.85; transform:translate(-50%,-50%) scale(1); }

.se-seed{ position:absolute; left:calc(50% + var(--shift)); top:50%; width:clamp(162px,22vh,238px); aspect-ratio:1/1; border-radius:50%;
  transform:translate(-50%,-50%) scale(1); pointer-events:none;
  background:radial-gradient(circle at 50% 42%, rgba(251,243,223,.92) 0%, rgba(236,215,162,.82) 42%, rgba(214,177,99,.6) 70%, transparent 82%);
  box-shadow:0 0 0 1px rgba(255,250,235,.55), 0 0 64px 7px rgba(214,182,106,.42), inset 0 0 48px rgba(255,246,221,.46), inset 0 1px 30px rgba(255,255,255,.42);
  opacity:1; transition:opacity .8s var(--ease), transform 1s var(--spring); }
.se-stage:hover .se-seed, .se-stage:focus-within .se-seed, .se-stage.open .se-seed{ opacity:0; transform:translate(-50%,-50%) scale(1.55); }

.se-bloom{ position:absolute; left:calc(50% + var(--shift)); top:50%; width:clamp(300px,44vh,470px); aspect-ratio:1/1; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle at 50% 50%,
    rgba(247,240,216,0) 0%, rgba(247,240,216,.5) 7%,
    rgba(236,217,166,0) 13%, rgba(210,162,74,.3) 20%,
    rgba(199,122,74,0) 27%, rgba(199,122,74,.28) 34%,
    rgba(192,138,160,0) 41%, rgba(150,150,196,.26) 49%,
    rgba(126,158,132,0) 57%, rgba(126,158,132,.24) 64%,
    rgba(176,196,170,0) 72%, rgba(176,196,170,.18) 80%, transparent 90%);
  filter:blur(4px); opacity:0; transform:translate(-50%,-50%) scale(.3);
  transition:opacity .85s var(--ease) .08s, transform 1.05s var(--spring) .08s, left .9s var(--spring); }
.se-stage:hover .se-bloom, .se-stage:focus-within .se-bloom, .se-stage.open .se-bloom{ opacity:.82; transform:translate(-50%,-50%) scale(1); }

.se-spine{ position:absolute; left:calc(50% + var(--shift)); top:calc(50% + var(--ec-shift)); width:1px; height:62%;
  background:linear-gradient(transparent, color-mix(in srgb,var(--ink) 26%, transparent) 18%, color-mix(in srgb,var(--ink) 26%, transparent) 82%, transparent);
  transform:translate(-50%,-50%) scaleY(0); transform-origin:center; opacity:0;
  transition:transform 1s var(--spring), opacity .7s var(--ease), left .9s var(--spring); pointer-events:none; }
.se-stage:hover .se-spine, .se-stage:focus-within .se-spine, .se-stage.open .se-spine{ transform:translate(-50%,-50%) scaleY(1); opacity:1; }

.se-orb{ position:absolute; left:50%; top:calc(50% + var(--ec-shift)); width:var(--ns); aspect-ratio:1/1;
  background:none; border:0; padding:0; cursor:pointer; color:var(--ink);
  --ring:color-mix(in srgb, var(--core) 56%, rgba(58,48,42,.34));
  transform:translate(-50%,-50%) scale(.4); opacity:0;
  filter:blur(14px);
  transition:transform 1.05s var(--spring), opacity .6s var(--ease), filter .9s var(--ease);
  transition-delay:calc(var(--i) * .08s + .42s); }
.se-stage:hover .se-orb, .se-stage:focus-within .se-orb, .se-stage.open .se-orb{
  transform:translate(calc(-50% + (var(--i) - 2) * var(--gap)), calc(-50% - 5vh)) scale(1.05); opacity:1; filter:blur(0);
  animation:orbDrift calc(11s / max(var(--motion),.02)) ease-in-out infinite; animation-delay:var(--fad,0s); }
.se-stage:hover .se-orb:hover, .se-stage:focus-within .se-orb:focus-visible, .se-stage.open .se-orb:hover, .se-orb.sel{
  transform:translate(calc(-50% + (var(--i) - 2) * var(--gap)), calc(-50% - 5vh)) scale(1.18); z-index:7; }

.se-stage:has(.se-orb:hover) .se-orb:not(:hover),
.se-stage:has(.se-orb.sel) .se-orb:not(.sel){ opacity:.4; }

.so-aura{ position:absolute; inset:-42%; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, var(--aura) 0%, transparent 62%); filter:blur(14px);
  opacity:.5; transform:scale(.7); transition:opacity .8s var(--ease) .42s, transform 1s var(--spring) .42s; }
.se-stage:hover .so-aura, .se-stage:focus-within .so-aura, .se-stage.open .so-aura{ opacity:1; transform:scale(1); }
.se-orb:hover .so-aura, .se-orb.sel .so-aura{ opacity:1.0; filter:blur(5px) brightness(1.12); }

.so-rings{ position:absolute; inset:0; pointer-events:none; }
.so-rings i{ position:absolute; left:50%; top:50%; border-radius:50%; border:0;
  transform:translate(-50%,-50%) scale(.12); opacity:0;
  transition:transform .9s var(--spring), opacity .6s ease; }
.so-rings i:nth-child(1){ width:46%; height:46%; transition-delay:.48s;
  background:radial-gradient(circle, transparent 38%, color-mix(in srgb, var(--core) 60%, #fff) 56%, transparent 76%);
  filter:blur(6px); }
.so-rings i:nth-child(2){ width:70%; height:70%; transition-delay:.54s;
  background:radial-gradient(circle, transparent 50%, color-mix(in srgb, var(--core) 40%, #fff) 65%, transparent 82%);
  filter:blur(10px); }
.so-rings i:nth-child(3){ width:90%; height:90%; transition-delay:.60s;
  background:radial-gradient(circle, transparent 58%, color-mix(in srgb, var(--core) 30%, transparent) 72%, transparent 88%);
  filter:blur(13px); }
.so-rings i:nth-child(4){ width:100%; height:100%; transition-delay:.66s;
  border:1px solid color-mix(in srgb, var(--core) 34%, rgba(255,255,255,.6));
  background:
    radial-gradient(circle at 50% 36%, rgba(255,255,255,.14) 0%, transparent 50%),
    radial-gradient(circle at 50% 68%, color-mix(in srgb, var(--core) 20%, transparent) 0%, transparent 72%);
  box-shadow:inset 0 1px 26px rgba(255,255,255,.16), inset 0 -16px 44px color-mix(in srgb, var(--core) 16%, transparent); }
.se-stage:hover .so-rings i, .se-stage:focus-within .so-rings i, .se-stage.open .so-rings i{ transform:translate(-50%,-50%) scale(1); opacity:.9; }

.so-core{ position:absolute; left:50%; top:50%; width:38%; aspect-ratio:1/1; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle at 50% 44%, rgba(255,255,255,.9) 0%, color-mix(in srgb, var(--core) 50%, #fff) 24%, color-mix(in srgb, var(--core) 65%, transparent) 50%, transparent 72%);
  box-shadow:0 0 54px 8px color-mix(in srgb, var(--core) 42%, transparent);
  filter:blur(2px);
  transform:translate(-50%,-50%) scale(.5); opacity:0;
  transition:transform .9s var(--spring) .56s, opacity .6s ease .56s; }
.se-stage:hover .so-core, .se-stage:focus-within .so-core, .se-stage.open .so-core{ transform:translate(-50%,-50%) scale(1); opacity:1; }
.se-orb:hover .so-core, .se-orb.sel .so-core{ box-shadow:0 0 80px 14px color-mix(in srgb, var(--core) 58%, transparent); }

.so-body{ position:absolute; left:50%; top:calc(100% + 8px); width:clamp(150px,15vw,214px); margin-left:0;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  transform:translateX(-50%); opacity:0; transition:opacity .55s var(--ease); transition-delay:calc(var(--i) * .08s + .66s); }
.se-stage:hover .so-body, .se-stage:focus-within .so-body, .se-stage.open .so-body{ opacity:1; }
.so-tag{ font-family:var(--font-display); font-size:clamp(17px,1.7vw,22px); line-height:1.05; letter-spacing:-.01em;
  transition:opacity .35s var(--ease); }
.so-detail{ position:absolute; left:50%; top:0; transform:translateX(-50%); width:100%;
  display:flex; flex-direction:column; gap:7px; align-items:center; text-align:center; opacity:0; pointer-events:none;
  transition:opacity .4s var(--ease), transform .55s var(--spring); }
.se-orb:hover .so-body .so-tag, .se-orb.sel .so-body .so-tag, .se-orb:focus-visible .so-body .so-tag{ opacity:0; }
.se-orb:hover .so-detail, .se-orb.sel .so-detail, .se-orb:focus-visible .so-detail{ opacity:1; }
.so-name{ font-family:var(--font-display); font-size:clamp(15px,1.5vw,19px); line-height:1.16; letter-spacing:-.01em; }
.so-desc{ font-family:var(--font-text); font-size:clamp(12px,1.02vw,13.5px); line-height:1.42; color:var(--ink-soft); text-wrap:pretty; }

.se-orb.o1{ --core:#c96a2f; --aura:rgba(199,122,74,.5);  --dx:clamp(-170px,-11vw,-84px); --dfx:9px;  --dfy:-12px; --fad:0s; }
.se-orb.o2{ --core:#cf9a34; --aura:rgba(210,162,74,.5);  --dx:clamp(84px,12vw,180px);    --dfx:-11px; --dfy:-9px; --fad:-2.4s; }
.se-orb.o3{ --core:#e3cda4; --aura:rgba(206,168,132,.52); --dx:0px;                       --dfx:7px;  --dfy:10px;  --fad:-4.8s; }
.se-orb.o4{ --core:#7e9e84; --aura:rgba(126,158,132,.5);  --dx:clamp(-190px,-13vw,-90px); --dfx:10px; --dfy:11px;  --fad:-7.2s; }
.se-orb.o5{ --core:#8294b8; --aura:rgba(130,148,184,.5);  --dx:clamp(80px,11vw,170px);    --dfx:-9px; --dfy:10px;  --fad:-9.6s; }
@keyframes orbDrift{ 0%,100%{ translate:0 0; } 50%{ translate:var(--dfx,10px) var(--dfy,-12px); } }

.se-logo{ position:absolute; left:50%; top:calc(50% + var(--ec-shift)); width:clamp(150px,22vh,248px); aspect-ratio:350/486;
  transform:translate(-50%,-50%); pointer-events:none; z-index:2; opacity:1; transition:opacity .9s var(--ease); }
.se-stage:hover .se-logo, .se-stage:focus-within .se-logo, .se-stage.open .se-logo{ opacity:0; }
.se-logo i{ position:absolute; inset:0;
  -webkit-mask:url("logos/sol-mark.png") center / contain no-repeat;
          mask:url("logos/sol-mark.png") center / contain no-repeat; }
.sl-ghost{ background:color-mix(in srgb, var(--ink) 46%, transparent); }
.sl-light{ background:radial-gradient(circle at 50% 50%, rgba(255,253,244,1) 0%, rgba(255,247,222,.98) 5%, rgba(233,198,122,.85) 10%, rgba(214,177,99,.35) 16%, transparent 24%);
  background-size:260% 260%; background-repeat:no-repeat; background-position:29% 74%;
  filter:drop-shadow(0 0 12px rgba(236,205,130,.9)); }
@media (prefers-reduced-motion: no-preference){
  
  .sl-light{ animation:solMarkTrace calc(8s / max(var(--motion),.02)) linear infinite; }
}

@keyframes solMarkTrace{
  0%{   background-position:29% 74%; opacity:0; }
  4%{   background-position:34% 75%; opacity:1; }
  12%{  opacity:.62; }
  16%{  background-position:53% 76%; opacity:1; }
  24%{  opacity:.7; }
  32%{  background-position:66% 69%; opacity:1; }
  41%{  opacity:.6; }
  50%{  background-position:50% 51%; opacity:1; }
  58%{  opacity:.66; }
  66%{  background-position:36% 39%; opacity:1; }
  74%{  opacity:.58; }
  82%{  background-position:50% 27%; opacity:1; }
  90%{  background-position:63% 25%; opacity:.72; }
  96%{  background-position:70% 25%; opacity:1; }
  100%{ background-position:70% 25%; opacity:0; }
}

@keyframes logoTrace{
  0%{ background-position:68% 2%; }
  16%{ background-position:24% 16%; }
  34%{ background-position:58% 36%; }
  52%{ background-position:74% 56%; }
  72%{ background-position:26% 78%; }
  88%{ background-position:38% 98%; }
  100%{ background-position:68% 2%; }
}
@keyframes logoFlick{
  0%,100%{ opacity:.5; filter:brightness(.9); }
  12%{ opacity:.94; }
  21%{ opacity:.62; }
  34%{ opacity:1; filter:brightness(1.35) drop-shadow(0 0 14px rgba(236,205,130,.9)); }
  47%{ opacity:.68; filter:brightness(.95); }
  58%{ opacity:.98; }
  71%{ opacity:.56; filter:brightness(.88); }
  84%{ opacity:1; filter:brightness(1.28) drop-shadow(0 0 11px rgba(236,205,130,.75)); }
}
.se-orb.o3 .so-core{ box-shadow:0 0 64px 10px rgba(239,230,207,.75); }

.se-tagline{ position:absolute; left:50%; top:calc(50% + var(--ec-shift) + clamp(122px,16.8vh,196px));
  transform:translateX(-50%); width:min(40ch,86vw); margin:0; text-align:center; z-index:3; pointer-events:none;
  font-family:var(--font-display); font-size:clamp(15px,1.55vw,21px); line-height:1.5; letter-spacing:.005em;
  text-wrap:balance; opacity:1; transition:opacity 1.7s var(--ease) .35s; }
.se-stage:hover .se-tagline, .se-stage:focus-within .se-tagline, .se-stage.open .se-tagline{ opacity:0; }
.tl-layer{ display:block; width:100%; }
.tl-ghost{ color:color-mix(in srgb, var(--ink) 60%, transparent); }
.tl-light{ position:absolute; inset:0;
  background:radial-gradient(circle at 50% 50%, rgba(255,253,244,.98) 0%, rgba(233,198,122,.95) 16%, rgba(214,177,99,.6) 30%, transparent 52%);
  background-size:260% 260%; background-repeat:no-repeat; background-position:68% 2%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 9px rgba(236,205,130,.5)); }
@media (prefers-reduced-motion: no-preference){
  .tl-light{ animation:logoTrace calc(7.5s / max(var(--motion),.02)) ease-in-out infinite, logoFlick calc(3.4s / max(var(--motion),.02)) ease-in-out infinite; }
}
.tl-caret{ display:inline-block; width:2px; height:1.04em; margin-left:.07em; vertical-align:-.16em; border-radius:1px;
  background:linear-gradient(rgba(255,253,244,.98), rgba(233,198,122,.92));
  box-shadow:0 0 6px rgba(236,205,130,.6); animation:tlCaret 1s steps(1) infinite; }
.se-tagline.done .tl-caret{ animation-duration:1.15s; }
@keyframes tlCaret{ 0%,50%{ opacity:1; } 50.01%,100%{ opacity:0; } }

@media (prefers-reduced-motion: reduce){
  .se-orb, .so-aura, .so-core, .so-rings i, .se-spine{ transition:none; }
  .se-orb{ animation:none !important; }
  .sl-light{ animation:none; }
  .tl-light{ animation:none; }
  .tl-caret{ animation:none; opacity:0; }
}
@media (max-width:680px){
  
  .se-stage{ --gap:clamp(74px,11vh,108px); }
  .se-orb{ --dx:0px; }
  .se-stage:hover, .se-stage:focus-within, .se-stage.open{ --shift:0px; }
  .se-stage:hover .se-orb, .se-stage:focus-within .se-orb, .se-stage.open .se-orb{
    transform:translate(-50%, calc(-50% + (var(--i) - 2) * var(--gap) - 4vh)) scale(.9); }
  .se-stage:hover .se-orb:hover, .se-stage:focus-within .se-orb:focus-visible, .se-stage.open .se-orb:hover, .se-orb.sel{
    transform:translate(-50%, calc(-50% + (var(--i) - 2) * var(--gap) - 4vh)) scale(1.0); }
  .so-body{ left:auto; right:100%; top:50%; margin-left:0; margin-right:16px; transform:translateY(-50%); text-align:right; align-items:flex-end; width:clamp(120px,34vw,180px); }
  .so-detail{ left:auto; right:0; top:50%; transform:translateY(-50%); align-items:flex-end; text-align:right; }
}

.sol-bg{ --bgx:0px; --bgy:0px; }
.sol-bg .sb-blob{ translate:calc(var(--bgx) * var(--dp,1)) calc(var(--bgy) * var(--dp,1)); }
.sol-bg .b1{ --dp:1; }
.sol-bg .b2{ --dp:-0.7; }
.sol-bg .b3{ --dp:0.55; }
.sol-bg .b4{ --dp:-1.15; }
.sol-bg .b5{ width:44vw; height:78vh; right:-4vw; top:30vh; opacity:.5; mix-blend-mode:normal; --dp:1.4; border-radius:46%;
  background:radial-gradient(closest-side, #d9a9c2 0%, #dfb6c9 40%, transparent 74%); animation-duration:44s; animation-delay:-18s; }
.sol-bg .b6{ width:52vw; height:64vh; left:26vw; bottom:-26vh; opacity:.5; --dp:-0.85;
  background:radial-gradient(closest-side, #c2ac3e 0%, #cbb654 40%, transparent 72%); animation-duration:36s; animation-delay:-9s; }

.sol-values, .sol-services{ position:relative; padding-top:clamp(90px,13vh,150px); padding-bottom:clamp(90px,13vh,150px); }
.sv-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:clamp(34px,5vh,58px); }
.sv-head .display{ margin:10px 0 0; font-weight:400; font-size:clamp(34px,4.4vw,64px); line-height:1; letter-spacing:-.02em; }
.sv-head .lbl{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); padding-bottom:6px; }

.sv-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.sv-card{ position:relative; overflow:hidden; isolation:isolate; border-radius:18px;
  min-height:clamp(280px,36vh,390px); padding:clamp(22px,2.2vw,34px);
  display:flex; flex-direction:column; justify-content:flex-end; gap:10px;
  background:color-mix(in srgb, #fffdf6 30%, transparent);
  border:1px solid var(--line-soft); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .7s var(--ease), box-shadow .7s var(--ease), background .7s var(--ease); }
.sv-card:hover{ transform:translateY(-6px);
  background:color-mix(in srgb, #fffdf6 44%, transparent);
  box-shadow:0 36px 80px -48px rgba(112,84,48,.5); }
.sv-orb{ position:absolute; right:-20%; top:-24%; width:80%; aspect-ratio:1/1; border-radius:50%; z-index:-1;
  background:radial-gradient(circle at 42% 42%,
    color-mix(in srgb, var(--vg) 52%, #fff) 0%,
    color-mix(in srgb, var(--vg) 30%, transparent) 42%, transparent 74%);
  filter:blur(28px); opacity:.75;
  transition:scale 1.6s var(--ease), opacity .9s var(--ease); }
.sv-card:hover .sv-orb{ scale:1.5; opacity:1; }
@media (prefers-reduced-motion: no-preference){
  .sv-orb{ animation:svFloat calc(15s / max(var(--motion),.02)) ease-in-out infinite alternate; }
}
@keyframes svFloat{ from{ translate:0 0; } to{ translate:-14% 16%; } }
.sv-num{ font-family:var(--font-display); font-style:italic; font-size:clamp(26px,2.4vw,38px); line-height:1;
  color:color-mix(in srgb, var(--vg) 58%, var(--ink)); }
.sv-name{ margin:0; font-weight:400; font-size:clamp(21px,1.9vw,29px); line-height:1.08; letter-spacing:-.01em; }
.sv-copy{ margin:0; color:var(--ink-soft); font-size:clamp(13.5px,1.06vw,15.5px); line-height:1.52; text-wrap:pretty; }

.sols-list{ display:flex; flex-direction:column; gap:10px; }
.sols-btn{ position:relative; overflow:hidden; isolation:isolate;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(18px,3vw,44px);
  width:100%; text-align:left; color:var(--ink); border:0; cursor:pointer;
  padding:clamp(22px,3.6vh,36px) clamp(20px,2.4vw,40px); border-radius:16px;
  background:color-mix(in srgb, #fffdf8 16%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(120%); backdrop-filter:blur(16px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 0 0 1px color-mix(in srgb,#fff 26%, transparent), 0 22px 46px -28px rgba(120,90,50,.4);
  transition:padding-left .6s var(--ease), transform .5s var(--ease), box-shadow .6s var(--ease); }
.sols-btn::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:
    radial-gradient(72% 62% at 74% 18%, color-mix(in srgb, var(--vg) 52%, #fff8e8) 0%, transparent 70%),
    radial-gradient(82% 70% at 26% 94%, color-mix(in srgb, var(--vg) 40%, #3a3026) 0%, transparent 76%);
  opacity:0; transition:opacity .7s var(--ease); }
.sols-btn:hover::before, .sols-btn:focus-visible::before{ opacity:.42; }

.sols-btn{ --vg:#c96a2f; }
.sols-btn:nth-child(3n+2){ --vg:#7e9e84; }
.sols-btn:nth-child(3n+3){ --vg:#8294b8; }
.sols-btn:hover, .sols-btn:focus-visible{ padding-left:clamp(28px,3.2vw,52px); outline:none; transform:translateY(-2px);
  background:color-mix(in srgb, #fffefb 20%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), inset 0 0 0 1px rgba(255,251,242,.55),
    0 0 42px -2px color-mix(in srgb, var(--vg) 46%, transparent), 0 36px 66px -30px rgba(120,92,52,.5); }
.sols-btn:focus-visible{ box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 0 0 2px color-mix(in srgb, var(--vg) 55%, var(--ink)), 0 0 42px -2px color-mix(in srgb, var(--vg) 46%, transparent); }
.sols-ix{ font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; color:var(--ink-faint);
  transition:color .5s var(--ease); }
.sols-btn:hover .sols-ix{ color:color-mix(in srgb, var(--sg) 64%, var(--ink)); }
.sols-main{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.sols-name{ font-weight:400; font-size:clamp(24px,3vw,46px); line-height:1.04; letter-spacing:-.015em; }
.sols-desc{ color:var(--ink-soft); font-size:clamp(13px,1.05vw,15px); line-height:1.45; max-width:62ch;
  opacity:.75; transition:opacity .5s var(--ease); }
.sols-btn:hover .sols-desc{ opacity:1; }
.sols-arr{ font-size:clamp(20px,2vw,28px); color:var(--ink-soft); transition:transform .6s var(--ease), color .5s var(--ease); }
.sols-btn:hover .sols-arr{ transform:translateX(10px); color:var(--ink); }
.sols-foot{ margin:26px 0 0; color:var(--ink-soft); font-size:15px; }
.sols-foot a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); transition:border-color .4s var(--ease); }
.sols-foot a:hover{ border-color:var(--ink); }

[data-theme="day"] .sol-work .wpanel{ border-radius:18px;
  box-shadow:0 30px 70px -45px rgba(110,80,45,.55); }
[data-theme="day"] .sol-work .wp-grad{ overflow:hidden; }
[data-theme="day"] .sol-work .wp-grad::before,
[data-theme="day"] .sol-work .wp-grad::after{ content:""; position:absolute; inset:-32%; pointer-events:none; }
[data-theme="day"] .sol-work .wp-grad::before{
  background:radial-gradient(38% 38% at 30% 28%, color-mix(in srgb, var(--g1) 72%, #fff8e8) 0%, transparent 72%);
  filter:blur(34px); }
[data-theme="day"] .sol-work .wp-grad::after{
  background:radial-gradient(44% 44% at 72% 76%, color-mix(in srgb, var(--g1) 46%, var(--g2)) 0%, transparent 74%);
  filter:blur(40px); }
@media (prefers-reduced-motion: no-preference){
  [data-theme="day"] .sol-work .wp-grad::before{ animation:wgDrift calc(17s / max(var(--motion),.02)) ease-in-out infinite alternate; }
  [data-theme="day"] .sol-work .wp-grad::after{ animation:wgDrift calc(23s / max(var(--motion),.02)) ease-in-out infinite alternate-reverse; }
}
@keyframes wgDrift{ from{ translate:-4% -3%; scale:1; } to{ translate:5% 4%; scale:1.14; } }
[data-theme="day"] .sol-work .wp-scrim{
  background:linear-gradient(180deg, rgba(32,25,16,.26) 0%, rgba(32,25,16,.06) 36%, rgba(32,25,16,.62) 100%); }
[data-theme="day"] .sol-work .wpanel.open .wp-scrim{
  background:linear-gradient(180deg, rgba(32,25,16,.14) 0%, rgba(32,25,16,.04) 30%, rgba(32,25,16,.56) 78%, rgba(32,25,16,.8) 100%); }
[data-theme="day"] .sol-work .wp-media img{ filter:grayscale(.22) brightness(.78) contrast(1); }
[data-theme="day"] .sol-work .wpanel:not(.open):hover .wp-media img{ filter:grayscale(.05) brightness(.9); }
[data-theme="day"] .sol-work .wpanel.open .wp-media img{ filter:none; }
[data-theme="day"] .sol-work .wp-spine .wp-c{ color:rgba(255,250,238,.85); }

@media (prefers-reduced-motion: reduce){
  .sv-orb{ animation:none; }
  [data-theme="day"] .sol-work .wp-grad::before,
  [data-theme="day"] .sol-work .wp-grad::after{ animation:none; }
  .sol-bg .sb-blob{ translate:0 0; }
  .sv-card, .sols-btn, .sols-arr{ transition:none; }
}
@media (max-width:1020px){
  .sv-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:680px){
  .sv-head{ flex-direction:column; align-items:flex-start; gap:8px; }
  .sv-grid{ grid-template-columns:1fr; }
  .sv-card{ min-height:0; padding:24px; }
  .sols-btn{ grid-template-columns:auto 1fr; }
  .sols-arr{ display:none; }
}

.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

.sol-statement{ padding:clamp(80px,12vh,140px) 0; }

#intro, #promise, #arc{ isolation:isolate; }
.sol-arc{ position:relative; }
.sol-arc .sv-head, .sol-arc .arc-intro, .sol-arc .mrail, .sol-arc .mfinal,
.sol-arc .mdetail, .sol-arc .mrail-note{ position:relative; z-index:1; }
.ss-caustics{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.ss-caustics canvas{ position:absolute; inset:0; width:100%; height:100%;
  mix-blend-mode:soft-light; filter:blur(5px) contrast(1.15) brightness(1.05); opacity:.92; }
@media (prefers-reduced-motion: reduce){ .ss-caustics canvas{ opacity:.6; } }

.ss-incense{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.ss-incense canvas{ position:absolute; inset:0; width:100%; height:100%;
  mix-blend-mode:normal; filter:blur(3px); opacity:.9; }

.waterfall{ position:relative; z-index:1; height:clamp(620px, 92vh, 1000px);
  overflow:hidden; pointer-events:none; }
.waterfall .wf-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }

[data-theme="day"] .btn.solid, [data-theme="day"] .slot, [data-theme="day"] .btn.confirm{ position:relative; overflow:hidden; }
[data-theme="day"] .btn.solid > .cd-fog,
[data-theme="day"] .slot > .cd-fog,
[data-theme="day"] .btn.confirm > .cd-fog{
  position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2; overflow:hidden;
  
  background:
    radial-gradient(130% 100% at 22% 12%, rgba(255,255,255,.34), transparent 60%),
    radial-gradient(130% 120% at 82% 96%, rgba(232,236,232,.28), transparent 64%),
    linear-gradient(160deg, rgba(255,255,255,.30) 0%, rgba(240,243,240,.24) 52%, rgba(228,232,228,.30) 100%);
  mix-blend-mode:screen; opacity:.85;
  transition:opacity .6s var(--ease);
}
[data-theme="day"] .btn.solid:hover > .cd-fog,
[data-theme="day"] .slot:hover > .cd-fog,
[data-theme="day"] .btn.confirm:hover > .cd-fog{ opacity:0; }

.cd-print{ position:absolute; width:var(--r,54px); height:calc(var(--r,54px)*1.28);
  margin-left:calc(var(--r,54px)/-2); margin-top:calc(var(--r,54px)*-0.64);
  transform:rotate(var(--rot,0deg)); pointer-events:none; z-index:3; border-radius:50%;
  -webkit-mask:radial-gradient(closest-side, #000 62%, rgba(0,0,0,.35) 80%, transparent 100%);
          mask:radial-gradient(closest-side, #000 62%, rgba(0,0,0,.35) 80%, transparent 100%);
  background:
    repeating-radial-gradient(ellipse 62% 82% at 50% 46%, transparent 0 2.1px, rgba(255,255,255,.55) 2.1px 3.1px),
    repeating-radial-gradient(ellipse 62% 82% at 50% 46%, transparent 0 3.1px, rgba(120,98,64,.20) 3.1px 4.0px),
    radial-gradient(closest-side, rgba(150,120,80,.16), transparent 72%);
  mix-blend-mode:screen;
  animation:cdPrint 5.2s var(--ease) forwards;
}
@keyframes cdPrint{
  0%{ opacity:0; filter:blur(.3px); }
  10%{ opacity:.92; }
  60%{ opacity:.7; }
  100%{ opacity:0; filter:blur(1.4px); }
}
@media (prefers-reduced-motion: reduce){
  [data-theme="day"] .btn.solid > .cd-fog, [data-theme="day"] .slot > .cd-fog, [data-theme="day"] .btn.confirm > .cd-fog{ transition:none; }
  .cd-print{ animation-duration:2.4s; }
}

.bottom-light{ position:absolute; left:0; z-index:0; overflow:hidden; pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 4%, #000 100%);
          mask-image:linear-gradient(to bottom, transparent 0%, #000 4%, #000 100%); }
.bottom-light canvas{ position:absolute; inset:0; width:100%; height:100%; }
.bottom-light .bl-color{ mix-blend-mode:soft-light; filter:blur(16px) saturate(1.25) contrast(1.04); opacity:.95; }
.bottom-light .bl-vein{ mix-blend-mode:screen; filter:blur(3px) brightness(1.04); opacity:.42; }
.sol-statement.alt{ padding-top:clamp(40px,6vh,80px); }
.sol-statement .ss-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(30px,5vw,84px); align-items:start; }
.ss-head .eyebrow{ display:block; margin-bottom:20px; }
.ss-title{ margin:0; font-weight:400; font-size:clamp(30px,4vw,58px); line-height:1.04; letter-spacing:-.02em; text-wrap:balance; }
.ss-body{ display:flex; flex-direction:column; gap:18px; padding-top:6px; }
.ss-body p{ margin:0; color:var(--ink-soft); font-size:clamp(15px,1.15vw,17.5px); line-height:1.62; text-wrap:pretty; }
.ss-body p:first-child{ color:var(--ink); font-size:clamp(17px,1.4vw,21px); line-height:1.5; }

.sol-statement.centered{ padding:clamp(86px,13vh,150px) 0; }
.ss-stack{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.ss-stack .eyebrow{ margin-bottom:clamp(26px,3.6vh,40px); font-size:clamp(14px,1.05vw,16.5px); font-weight:700; letter-spacing:.26em; color:var(--ink-soft); white-space:nowrap; }
.ss-stack .ss-title{ max-width:18ch; font-size:clamp(34px,5vw,70px); line-height:1.02; text-wrap:balance; }
.ss-line{ width:1px; height:clamp(96px,17vh,190px); margin:clamp(34px,5.5vh,64px) 0; border-radius:1px;
  background:linear-gradient(180deg, transparent 0%,
    color-mix(in srgb, var(--ink) 38%, transparent) 22%,
    color-mix(in srgb, var(--ink) 38%, transparent) 78%, transparent 100%); }
.ss-answer{ display:flex; flex-direction:column; gap:20px; max-width:46ch; }
.ss-answer p{ margin:0; color:var(--ink-soft); font-size:clamp(18px,1.5vw,23px); line-height:1.55; text-wrap:pretty; }
.ss-answer .hl{ font-style:italic; color:var(--ink); }

.sol-sectors{ padding-top:clamp(40px,6vh,80px); padding-bottom:clamp(90px,13vh,150px); }
.sectors-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
a.sec-card{ text-decoration:none; color:var(--ink); }
.sec-card .sv-name{ margin-top:4px; }
.sec-go{ margin-top:14px; font-family:var(--font-mono); font-size:13px; letter-spacing:.06em;
  color:color-mix(in srgb, var(--vg) 60%, var(--ink)); transition:transform .5s var(--ease); display:inline-block; }
.sec-card:hover .sec-go{ transform:translateX(8px); }

.sol-sectors.centered, .sol-values.centered{ padding-top:0; }
.sol-sectors.centered .ss-stack, .sol-values.centered .ss-stack{ margin-bottom:clamp(42px,6.5vh,76px); }
.sol-sectors.centered .ss-line, .sol-values.centered .ss-line{ margin-top:0; }

.method-orbs{ margin-top:clamp(54px,9vh,108px); display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(14px,2.2vw,40px); align-items:center; }
.morb{ position:relative; margin:0; width:100%; aspect-ratio:1/1; display:grid; place-items:center; isolation:isolate; }
.morb figcaption{ position:relative; z-index:4; font-family:var(--font-mono);
  font-size:clamp(10.5px,0.95vw,12.5px); letter-spacing:.2em; text-transform:uppercase;
  color:color-mix(in srgb, var(--ink) 84%, transparent); text-align:center; }

.mo-sphere{ position:absolute; inset:15%; border-radius:50%; z-index:1;
  background:
    radial-gradient(38% 34% at 35% 27%, rgba(255,254,248,.95) 0%, rgba(255,252,244,.22) 42%, transparent 66%),
    radial-gradient(circle at 50% 56%, rgba(255,249,235,.20) 0%, rgba(250,238,214,.07) 58%, transparent 75%);
  box-shadow:
    inset 0 6px 24px rgba(255,252,245,.7),
    inset 0 -16px 36px rgba(150,112,60,.18),
    inset 0 0 0 1px rgba(255,253,247,.5),
    0 38px 72px -34px rgba(140,104,56,.42); }
.mo-halo{ position:absolute; inset:4%; border-radius:50%; z-index:0;
  background:radial-gradient(circle, rgba(255,250,236,.5) 0%, transparent 66%); filter:blur(12px); opacity:.7; }

.mo-sat{ position:absolute; border-radius:50%; z-index:2; width:30%; aspect-ratio:1/1; right:13%; bottom:15%;
  background:
    radial-gradient(40% 36% at 35% 28%, rgba(255,254,248,.95) 0%, transparent 60%),
    radial-gradient(circle at 50% 56%, rgba(255,249,235,.18) 0%, transparent 74%);
  box-shadow:
    inset 0 4px 14px rgba(255,252,245,.7),
    inset 0 -8px 18px rgba(150,112,60,.18),
    inset 0 0 0 1px rgba(255,253,247,.5),
    0 16px 30px -16px rgba(140,104,56,.4); }
.mo-sat.s2{ width:26%; right:9%; bottom:34%; }
.mo-sat.s3{ width:17%; right:0%; bottom:18%; }

.morb--memory .mo-ring{ position:absolute; border-radius:50%; z-index:1;
  border:1px solid rgba(255,251,240,.42); box-shadow:0 0 34px rgba(255,250,236,.22); }
.morb--memory .mo-ring.r1{ inset:7%; }
.morb--memory .mo-ring.r2{ inset:-3%; opacity:.5; }

.morb--dwell .mo-sphere{ inset:18%;
  box-shadow:
    inset 0 8px 30px rgba(255,252,245,.6),
    inset 0 -20px 46px rgba(150,112,60,.24),
    inset 0 0 0 1px rgba(255,253,247,.5),
    inset 0 0 40px 8px rgba(255,247,228,.4),
    0 40px 74px -34px rgba(140,104,56,.46); }

.morb{ perspective:780px; cursor:pointer; }

.morb{ --c1:#f0d493; --c2:#cf9a34; }
.mo-sphere{ overflow:hidden; transform-style:preserve-3d; will-change:transform;
  transition:transform .7s var(--ease), box-shadow .6s var(--ease); }
.mo-tint{ position:absolute; inset:-25%; border-radius:50%; z-index:1; pointer-events:none;
  opacity:0; transition:opacity .6s var(--ease);
  background:radial-gradient(circle at 50% 50%, var(--c1) 0%, color-mix(in srgb, var(--c2) 72%, transparent) 42%, transparent 72%);
  filter:blur(8px); }
.morb:focus-visible{ outline:none; }
.morb:hover .mo-sphere, .morb:focus-visible .mo-sphere{
  animation:none;
  transform:rotateX(7deg) rotateY(-10deg) scale(1.05);
  box-shadow:
    inset 0 6px 24px rgba(255,252,245,.85),
    inset 0 -16px 40px rgba(150,112,60,.2),
    inset 0 0 0 1px rgba(255,253,247,.6),
    0 0 34px -2px color-mix(in srgb, var(--c1) 78%, transparent),
    0 0 78px 8px color-mix(in srgb, var(--c2) 55%, transparent),
    0 50px 92px -32px color-mix(in srgb, var(--c2) 62%, rgba(140,104,56,.5)); }
.morb:hover .mo-tint, .morb:focus-visible .mo-tint{ opacity:0; }
.morb:hover .mo-halo, .morb:focus-visible .mo-halo{ opacity:.95;
  background:radial-gradient(circle, color-mix(in srgb, var(--c1) 52%, rgba(255,250,236,.55)) 0%, transparent 66%); }
.morb:hover figcaption, .morb:focus-visible figcaption{ color:var(--ink); }
@keyframes moRoll{ from{ transform:translateX(0); } to{ transform:translateX(-47.6%); } }
@media (prefers-reduced-motion: reduce){
  .morb:hover .mo-tint, .morb:focus-visible .mo-tint{ animation:none; }
  .morb:hover .mo-sphere, .morb:focus-visible .mo-sphere{ transform:scale(1.04); }
}

@media (prefers-reduced-motion: no-preference){
  .mo-sphere, .mo-sat{ animation:moFloat calc(11s / max(var(--motion),.02)) ease-in-out infinite alternate; }
  .morb--dwell .mo-sphere{ animation-duration:calc(14s / max(var(--motion),.02)); }
  .morb--journey .mo-sphere{ animation-delay:-3s; }
  .morb--memory .mo-sphere{ animation-delay:-6s; }
  .morb--return .mo-sphere{ animation-delay:-9s; }
  .morb--journey .mo-sat{ animation-delay:-5s; }
  .morb--return .mo-sat.s2{ animation-delay:-7s; }
  .morb--return .mo-sat.s3{ animation-delay:-2s; }
}
@keyframes moFloat{ from{ transform:translateY(-3%); } to{ transform:translateY(3.5%); } }
@media (prefers-reduced-motion: reduce){ .mo-sphere, .mo-sat{ animation:none; } }
@media (max-width:680px){
  .method-orbs{ grid-template-columns:1fr 1fr; gap:24px; row-gap:34px; }
}

:root{ --ref-grad:
  radial-gradient(120% 132% at 14% 4%, rgba(255,251,242,0.95) 0%, rgba(255,251,242,0) 54%),
  radial-gradient(130% 120% at 90% 98%, #caa86a 0%, rgba(202,168,106,0) 60%),
  linear-gradient(150deg, #efe6d2 0%, #e0cda6 38%, #d2b985 68%, #c4a567 100%); }
:root{ --ref-glow: 198, 166, 108; }

.sol-arc{ padding-top:clamp(40px,6vh,80px); padding-bottom:clamp(90px,13vh,150px); }
.arc-list{ display:flex; flex-direction:column; gap:10px; }
.arc-row{ position:relative; overflow:hidden; isolation:isolate;
  display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:clamp(20px,4vw,60px);
  padding:clamp(24px,3.6vh,42px) clamp(18px,2.4vw,40px);
  width:100%; text-align:left; font:inherit; color:var(--ink); border:0; cursor:pointer;
  border-radius:16px;
  background:color-mix(in srgb, #fffdf8 16%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(120%); backdrop-filter:blur(16px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 0 0 1px color-mix(in srgb,#fff 26%, transparent), 0 22px 46px -28px rgba(120,90,50,.4);
  transition:background .6s var(--ease), transform .5s var(--ease), box-shadow .6s var(--ease); }
.arc-row:focus-visible{ outline:none; box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, var(--ink)); }
.arc-row:hover, .arc-row:focus-visible{ transform:translateY(-2px);
  background:color-mix(in srgb, #fffefb 20%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), inset 0 0 0 1px rgba(255,251,242,.55),
    0 0 40px -2px color-mix(in srgb, var(--vg) 46%, transparent), 0 36px 70px -30px rgba(120,92,52,.5); }

.arc-grad{ position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none;
  background:
    radial-gradient(72% 62% at 74% 18%, color-mix(in srgb, var(--vg) 52%, #fff8e8) 0%, transparent 70%),
    radial-gradient(82% 70% at 26% 94%, color-mix(in srgb, var(--vg) 40%, #3a3026) 0%, transparent 76%);
  opacity:0; transition:opacity .6s var(--ease); }
.arc-row:hover .arc-grad, .arc-row:focus-visible .arc-grad{ opacity:.42; }
.arc-orb{ position:absolute; right:4%; top:50%; translate:0 -50%; width:clamp(160px,18vw,260px); aspect-ratio:1/1; border-radius:50%; z-index:-1;
  background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--vg) 40%, transparent) 0%, transparent 70%);
  filter:blur(34px); opacity:0; transition:opacity .8s var(--ease), scale 1.6s var(--ease); }
.arc-row:hover .arc-orb{ opacity:.9; scale:1.2; }
.arc-num{ font-family:var(--font-display); font-style:italic; font-weight:300;
  font-size:clamp(30px,3.6vw,54px); line-height:1; color:color-mix(in srgb, var(--vg) 60%, var(--ink)); min-width:1.6em; }
.arc-name{ margin:0 0 8px; font-weight:400; font-size:clamp(22px,2.4vw,38px); line-height:1.04; letter-spacing:-.015em; }
.arc-copy{ margin:0; color:var(--ink-soft); font-size:clamp(14px,1.1vw,16.5px); line-height:1.55; max-width:64ch; text-wrap:pretty; }

.sv-head.centered{ flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:10px; }
.sv-head.centered > div{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.sv-head.centered .lbl{ padding-bottom:0; }
.sol-services .sv-head.centered ~ .svc6-intro,
.sol-invest .sv-head.centered ~ .invest-intro,
.sol-arc .sv-head.centered ~ .arc-intro{ margin-left:auto; margin-right:auto; text-align:center; }

.mrail{ position:relative; display:flex; align-items:flex-start; justify-content:space-between;
  gap:clamp(8px,1.4vw,20px); max-width:1080px; margin:clamp(24px,4.4vh,52px) auto clamp(20px,3.4vh,40px);
  padding:0 clamp(6px,2vw,28px); }
.mrail::before{ content:""; position:absolute; left:calc(clamp(6px,2vw,28px) + 42px); right:calc(clamp(6px,2vw,28px) + 42px);
  top:42px; height:2px; z-index:0;
  background:linear-gradient(90deg,#c96a2f,#cf9a34,#b08a5a,#7e9e84,#8294b8,#a8607a);
  opacity:.42; }
.mnode{ position:relative; z-index:1; flex:1 1 0; min-width:0;
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
  appearance:none; background:none; border:0; padding:0; font:inherit; color:inherit; cursor:pointer; }
.mnode:focus-visible{ outline:none; }
.mnode:focus-visible .mnode-orb::before{ opacity:1; box-shadow:0 0 0 2px color-mix(in srgb,var(--vg) 50%, #fff); }
.mnode-orb{ position:relative; width:clamp(72px,7.8vw,96px); aspect-ratio:1/1; border-radius:50%;
  display:grid; place-items:center; cursor:pointer;
  
  background:
    radial-gradient(circle at 47% 42%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.38) 12%, transparent 34%),
    radial-gradient(circle at 50% 52%, color-mix(in srgb,var(--vg) 66%, transparent) 0%, color-mix(in srgb,var(--vg) 42%, transparent) 30%, color-mix(in srgb,var(--vg) 14%, transparent) 54%, transparent 72%);
  filter:blur(1px);
  transition:transform .6s var(--ease), filter .6s var(--ease);
  animation:mnodeBreath 6s var(--ease) infinite; }
.mnode:nth-child(2) .mnode-orb{ animation-delay:-1s; }
.mnode:nth-child(3) .mnode-orb{ animation-delay:-2s; }
.mnode:nth-child(4) .mnode-orb{ animation-delay:-3s; }
.mnode:nth-child(5) .mnode-orb{ animation-delay:-4s; }
.mnode:nth-child(6) .mnode-orb{ animation-delay:-5s; }

.mnode-orb::before{ content:""; position:absolute; inset:16%; border-radius:50%; z-index:1;
  opacity:0; transition:opacity .3s var(--ease); pointer-events:none; }

.mnode-orb::after{ content:""; position:absolute; inset:-45%; border-radius:50%; pointer-events:none; z-index:-1;
  background:radial-gradient(circle at 50% 47%, color-mix(in srgb,var(--vg) 46%, transparent) 0%, color-mix(in srgb,var(--vg) 16%, transparent) 42%, transparent 70%);
  filter:blur(16px); opacity:.72; transition:opacity .6s var(--ease), transform .6s var(--ease); }
.mnode-num{ position:relative; z-index:2; font-weight:300; font-size:clamp(18px,2vw,24px);
  color:color-mix(in srgb,var(--vg) 60%, #3a2418); text-shadow:0 1px 2px rgba(255,255,255,.55); }
.mnode-step{ font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-faint); }
.mnode-name{ font-weight:400; font-size:clamp(13px,1.15vw,17px); line-height:1.15; letter-spacing:-.01em;
  color:var(--ink); max-width:13ch; }
.mnode:hover .mnode-orb{ transform:translateY(-4px) scale(1.06); filter:blur(1px) saturate(1.14) brightness(1.05); }
.mnode:hover .mnode-orb::after{ opacity:1; transform:scale(1.22); }

.mnode.is-active .mnode-orb{ transform:translateY(-4px) scale(1.08); filter:blur(1px) saturate(1.18) brightness(1.07); animation:none; }
.mnode.is-active .mnode-orb::after{ opacity:1; transform:scale(1.4); }
.mnode.is-active .mnode-name{ color:var(--label-ink); }
@keyframes mnodeBreath{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-3px); } }

.mdetail{ display:flex; align-items:center; gap:clamp(16px,2.4vw,28px);
  max-width:620px; margin:clamp(24px,4vh,46px) auto 0; padding:clamp(22px,2.6vw,32px) clamp(26px,3.2vw,42px);
  border-radius:999px; position:relative; isolation:isolate; text-align:left;
  
  background:
    radial-gradient(140% 180% at 8% 50%, color-mix(in srgb,var(--vg) 16%, transparent) 0%, transparent 58%),
    color-mix(in srgb,#fffefb 40%, transparent);
  backdrop-filter:blur(20px) saturate(1.2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vg) 20%, rgba(255,255,255,.55)),
    inset 0 1px 0 rgba(255,255,255,.6), inset 0 -14px 30px -18px color-mix(in srgb,var(--vg) 40%, transparent),
    0 30px 60px -40px color-mix(in srgb,var(--vg) 55%, transparent);
  opacity:0; transform:translateY(-6px) scale(.985); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.mdetail.is-open{ opacity:1; transform:translateY(0) scale(1); }

.mdetail-mark{ flex:0 0 auto; width:12px; height:12px; border-radius:50%;
  background:radial-gradient(circle at 40% 34%, #fff 0%, var(--vg) 62%, color-mix(in srgb,var(--vg) 70%, #3a2c1c) 100%);
  box-shadow:0 0 14px -1px color-mix(in srgb,var(--vg) 75%, transparent),
    0 0 0 5px color-mix(in srgb,var(--vg) 12%, transparent); }
.mdetail-copy{ margin:0; color:var(--ink); font-family:var(--font-display); font-weight:400;
  font-size:clamp(16px,1.5vw,21px); line-height:1.4; letter-spacing:-.005em; text-wrap:balance; }
@media (max-width:560px){ .mdetail{ border-radius:20px; align-items:flex-start; } }

.mfinal{ display:flex; flex-direction:column; align-items:center; margin:0 auto clamp(6px,1.4vh,16px); }
.mfinal-stem{ width:2px; height:clamp(30px,5vh,52px);
  background:linear-gradient(180deg, color-mix(in srgb,#a8607a 60%, transparent), color-mix(in srgb,#8a5f96 70%, transparent));
  opacity:.5; border-radius:2px; }
.mnode--final{ flex:0 0 auto; gap:12px; }

.mrail-note{ text-align:center; max-width:52ch; margin:0 auto clamp(40px,6vh,72px);
  font-family:var(--font-display); font-style:italic; color:var(--ink-soft);
  font-size:clamp(14px,1.15vw,17px); line-height:1.5; }
@media (max-width:760px){
  .mrail{ flex-wrap:wrap; row-gap:clamp(22px,4vh,34px); }
  .mrail::before{ display:none; }
  .mnode{ flex:0 0 calc(33.333% - 14px); }
  .mfinal-stem{ height:clamp(18px,3vh,28px); }
}
@media (max-width:460px){ .mnode{ flex:0 0 calc(50% - 10px); } }
@media (prefers-reduced-motion: reduce){ .mnode-orb{ animation:none; } }

.sol-proof{ padding-top:clamp(40px,6vh,80px); padding-bottom:clamp(60px,9vh,110px); }
.proof-quote{ margin:0 0 clamp(34px,5vh,56px); max-width:24ch; }
.proof-quote p{ margin:0; font-family:var(--font-display); font-style:italic; font-weight:300;
  font-size:clamp(26px,3.4vw,48px); line-height:1.18; letter-spacing:-.01em; text-wrap:balance; max-width:18ch; }
.proof-quote cite{ display:block; margin-top:22px; font-style:normal; font-family:var(--font-mono);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.proof-quote cite span{ text-transform:none; letter-spacing:.02em; }
.proof-logos{ display:flex; align-items:center; gap:clamp(18px,3vw,40px); flex-wrap:wrap;
  border-top:1px solid var(--line); padding-top:26px; }
.proof-logos .lbl{ font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.proof-logos ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:clamp(18px,3vw,40px); }
.proof-logos li{ font-family:var(--font-display); font-size:clamp(16px,1.5vw,22px); color:var(--ink-soft); opacity:.7;
  transition:opacity .4s var(--ease); }
.proof-logos li:hover{ opacity:1; }

.sol-invest{ padding-top:clamp(40px,6vh,80px); padding-bottom:clamp(90px,13vh,150px); }
.invest-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.invest-card{ position:relative; overflow:hidden; isolation:isolate; border-radius:18px;
  min-height:clamp(240px,30vh,320px); padding:clamp(24px,2.2vw,34px);
  display:flex; flex-direction:column; gap:12px;
  background:color-mix(in srgb, #fffdf6 32%, transparent); border:1px solid var(--line-soft);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .7s var(--ease), box-shadow .7s var(--ease), background .7s var(--ease); }
.invest-card:hover{ transform:translateY(-6px); background:color-mix(in srgb, #fffdf6 46%, transparent);
  box-shadow:0 36px 80px -48px rgba(112,84,48,.5); }
.invest-orb{ position:absolute; right:-18%; top:-22%; width:70%; aspect-ratio:1/1; border-radius:50%; z-index:-1;
  background:radial-gradient(circle at 42% 42%, color-mix(in srgb, var(--vg) 50%, #fff) 0%, color-mix(in srgb, var(--vg) 28%, transparent) 44%, transparent 74%);
  filter:blur(28px); opacity:.7; }
.invest-name{ margin:0; font-weight:400; font-size:clamp(21px,1.9vw,28px); line-height:1.06; }
.invest-for{ margin:0; color:color-mix(in srgb, var(--vg) 55%, var(--ink)); font-size:clamp(13.5px,1.05vw,15px); line-height:1.45; }
.invest-shape{ margin:0; color:var(--ink-soft); font-size:clamp(13px,1vw,14.5px); line-height:1.5; text-wrap:pretty; }
.invest-anchor{ margin-top:auto; font-family:var(--font-mono); font-size:12.5px; letter-spacing:.08em;
  color:var(--ink); padding-top:12px; border-top:1px solid var(--line); }
.invest-foot{ margin:26px 0 0; color:var(--ink-soft); font-size:15px; }
.invest-foot a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); transition:border-color .4s var(--ease); }
.invest-foot a:hover{ border-color:var(--ink); }

.sol-journal{ padding-top:clamp(40px,6vh,80px); padding-bottom:clamp(90px,13vh,150px); }
.jl-all{ text-decoration:none; color:var(--ink-faint); border-bottom:1px solid transparent; transition:color .4s var(--ease), border-color .4s var(--ease); padding-bottom:4px; }
.jl-all:hover{ color:var(--ink); border-color:var(--line); }
.journal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.journal-card{ position:relative; overflow:hidden; isolation:isolate; border-radius:18px; text-decoration:none;
  min-height:clamp(240px,30vh,320px); padding:clamp(24px,2.2vw,34px);
  display:flex; flex-direction:column; gap:14px; color:var(--ink);
  background:color-mix(in srgb, #fffdf6 28%, transparent); border:1px solid var(--line-soft);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .7s var(--ease), box-shadow .7s var(--ease), background .7s var(--ease); }
.journal-card:hover{ transform:translateY(-6px); background:color-mix(in srgb, #fffdf6 44%, transparent);
  box-shadow:0 36px 80px -48px rgba(112,84,48,.5); }
.jl-orb{ position:absolute; right:-22%; top:-26%; width:72%; aspect-ratio:1/1; border-radius:50%; z-index:-1;
  background:radial-gradient(circle at 42% 42%, color-mix(in srgb, var(--vg) 48%, #fff) 0%, color-mix(in srgb, var(--vg) 26%, transparent) 44%, transparent 74%);
  filter:blur(30px); opacity:.65; transition:scale 1.6s var(--ease), opacity .9s var(--ease); }
.journal-card:hover .jl-orb{ scale:1.4; opacity:.9; }
.jl-kicker{ font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:color-mix(in srgb, var(--vg) 58%, var(--ink)); }
.jl-title{ margin:0; font-weight:400; font-size:clamp(20px,1.8vw,26px); line-height:1.14; letter-spacing:-.01em; text-wrap:balance; }
.jl-go{ margin-top:auto; font-family:var(--font-mono); font-size:12.5px; letter-spacing:.06em; color:var(--ink-soft); transition:transform .5s var(--ease), color .4s var(--ease); }
.journal-card:hover .jl-go{ transform:translateX(8px); color:var(--ink); }

.field-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.field-row select{ width:100%; font:inherit; color:var(--ink);
  background:color-mix(in srgb, #fffdf6 30%, transparent); border:1px solid var(--line);
  border-radius:10px; padding:12px 14px; -webkit-appearance:none; appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235d5a63' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; }
.field-row select:focus{ outline:none; border-color:color-mix(in srgb, var(--accent) 60%, var(--ink)); }

@media (max-width:1020px){
  .sectors-grid{ grid-template-columns:1fr 1fr; }
  .invest-grid, .journal-grid{ grid-template-columns:1fr; }
}
@media (max-width:880px){
  .sol-statement .ss-grid{ grid-template-columns:1fr; gap:22px; }
  .field-row{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .sectors-grid{ grid-template-columns:1fr; }
  .arc-row{ grid-template-columns:auto 1fr; gap:18px; padding-left:0; padding-right:0; }
  .arc-orb{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .invest-card, .journal-card, .sec-card, .arc-row{ transition:none; }
}

.cf-questions{ display:flex; flex-direction:column; gap:clamp(20px,3.2vh,32px); margin:2px 0; }
.cf-q{ display:flex; flex-direction:column; gap:14px; }
.cf-q-label{ display:flex; align-items:baseline; gap:12px;
  font-family:var(--font-display); font-weight:400; font-size:clamp(16px,1.4vw,19px); color:var(--ink); letter-spacing:-.005em; }
.cf-q-ix{ font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; color:var(--ink-faint); }
.cf-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.cf-chip{ position:relative; isolation:isolate; overflow:hidden; cursor:pointer; white-space:nowrap;
  --cg1:#e2b758; --cg2:#cf9a34;
  border:1px solid var(--line); border-radius:999px;
  background-color:color-mix(in srgb, #fffdf6 26%, transparent);
  background-image:none;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:11px 20px; color:var(--ink-soft); font:inherit; font-size:14.5px; line-height:1; letter-spacing:.005em;
  transition:transform .5s var(--ease), color .4s var(--ease), border-color .4s var(--ease), box-shadow .55s var(--ease); }
.cf-chip span{ position:relative; z-index:1; }
.cf-chip::before{ content:""; position:absolute; inset:0; z-index:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,.35) 0%, transparent 55%);
  opacity:0; transition:opacity .5s var(--ease); }
.cf-chip:hover{ transform:translateY(-2px); color:var(--ink);
  border-color:color-mix(in srgb, var(--cg2) 55%, var(--line)); }
.cf-chip:focus-visible{ outline:none; box-shadow:0 0 0 2px color-mix(in srgb, var(--cg2) 60%, var(--ink)); }
.cf-chip[aria-pressed="true"]{ color:#fffaf0; border-color:transparent;
  background-image:linear-gradient(120deg, var(--cg1) 0%, var(--cg2) 100%);
  box-shadow:0 16px 32px -14px color-mix(in srgb, var(--cg2) 82%, transparent); }
.cf-chip[aria-pressed="true"]:hover{ transform:translateY(-3px); }
.cf-chip[aria-pressed="true"]::before{ opacity:1; }

[data-theme="day"] .btn.solid{
  background:color-mix(in srgb, #fffaf0 14%, transparent);
  border-color:color-mix(in srgb, #fff 40%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), inset 0 -10px 24px rgba(196,153,58,.1), 0 14px 34px -18px rgba(150,112,60,.5); }
[data-theme="day"] .btn.solid:hover{
  background:color-mix(in srgb, #fffaf0 22%, transparent);
  border-color:color-mix(in srgb, #fff 58%, transparent); }
[data-theme="day"] .nav .nav-cta{ background:color-mix(in srgb, #fffaf0 12%, transparent); }
[data-theme="day"] .toggle{ background:color-mix(in srgb, #fffaf0 18%, transparent); }

.cf-send.btn.solid{ position:relative; overflow:hidden; border:0; color:#fffaf0; margin-top:4px;
  background:linear-gradient(120deg, #d98a5a 0%, #cf9a34 52%, #c4993a 100%);
  background-size:180% 180%; background-position:0% 50%;
  box-shadow:0 18px 40px -18px rgba(196,128,40,.7);
  transition:background-position .8s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease); }
.cf-send.btn.solid:hover{ background-position:100% 50%; transform:translateY(-2px);
  box-shadow:0 24px 52px -18px rgba(196,128,40,.82); }
.cf-send.btn.solid .arr{ transition:transform .5s var(--ease); }
.cf-send.btn.solid:hover .arr{ transform:translateX(6px); }
@media (prefers-reduced-motion: reduce){
  .cf-chip, .cf-chip::before, .cf-send.btn.solid, .cf-send.btn.solid .arr{ transition:none; }
}

.defog{ position:relative; z-index:1;
  padding-top:clamp(46px,8vh,104px); padding-bottom:clamp(80px,12vh,156px); }

.defog::before{ content:""; position:absolute; inset:-6vh -10vw; z-index:-1; pointer-events:none;
  background:
    radial-gradient(46% 40% at 22% 30%, color-mix(in srgb,#7e9e84 22%, transparent) 0%, transparent 70%),
    radial-gradient(44% 42% at 82% 74%, color-mix(in srgb,#cf9a34 20%, transparent) 0%, transparent 72%),
    radial-gradient(60% 50% at 50% 50%, color-mix(in srgb,#8294b8 12%, transparent) 0%, transparent 78%);
  filter:blur(20px); opacity:.85; }

.defog .df-head{ text-align:center; max-width:min(880px,100%); margin:0 auto; align-items:center; }
.defog .df-head .ss-title{ font-size:clamp(30px,4.4vw,60px); line-height:1.04; max-width:18ch; }

.defog-stage{ margin:clamp(34px,6vh,72px) 0 0; width:100vw; margin-left:calc(50% - 50vw); }

.defog-pane{ position:relative; isolation:isolate; overflow:hidden;
  height:clamp(560px,80vh,900px); border-radius:0;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -40px 90px -50px rgba(120,135,118,.4);
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 16%, #000 84%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0%, #000 16%, #000 84%, transparent 100%); }
@media (max-width:680px){ .defog-pane{ height:clamp(540px,84vh,760px); } }

.defog-scene{ position:absolute; inset:0; z-index:0;
  display:grid; place-items:center; overflow:hidden;
  background:
    radial-gradient(72% 96% at 50% 116%, #5f8468 0%, #86a583 26%, #cf9a34 52%, rgba(232,224,205,0) 80%),
    linear-gradient(168deg,#efe5d1 0%,#e7dcc3 50%,#ded2b6 100%); }
.df-bloom{ position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(58% 72% at 50% 120%, #567a5e 0%, color-mix(in srgb,#7fa085 62%, transparent) 24%,
      color-mix(in srgb,#cf9a34 54%, transparent) 50%, rgba(240,232,214,0) 76%),
    radial-gradient(42% 34% at 50% 2%, color-mix(in srgb,#d17d47 34%, transparent) 0%, transparent 72%),
    radial-gradient(36% 48% at 86% 48%, color-mix(in srgb,#8294b8 26%, transparent) 0%, transparent 70%);
  mix-blend-mode:multiply; animation:dfBloom 18s ease-in-out infinite alternate; }
@keyframes dfBloom{ 0%{ transform:translateY(0) scale(1); } 100%{ transform:translateY(-2.5%) scale(1.06); } }

.df-grain{ position:absolute; inset:0; pointer-events:none; opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px; }

.df-words{ position:relative; z-index:1; text-align:center; padding:clamp(24px,5vw,64px); max-width:30ch; }
.df-kicker{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase;
  color:color-mix(in srgb,#3c4a3a 78%, transparent); }
.df-line{ margin:clamp(12px,2vh,20px) 0 0; font-weight:400;
  font-size:clamp(34px,5.4vw,72px); line-height:.98; letter-spacing:-.018em; color:#2b332a; }
.df-line .serif-it{ color:#3a4636; }
.df-sub{ margin:clamp(14px,2.2vh,22px) auto 0; max-width:34ch;
  font-size:clamp(14px,1.2vw,17px); line-height:1.5; color:color-mix(in srgb,#34402f 80%, transparent); text-wrap:pretty; }

.df-edge{ position:absolute; top:clamp(16px,2.4vw,30px); right:clamp(12px,2vw,24px); z-index:1;
  writing-mode:vertical-rl; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.3em;
  text-transform:uppercase; color:rgba(60,72,58,.4); }

.defog-glass{ position:absolute; inset:0; z-index:2; display:block;
  width:100%; height:100%; touch-action:none; cursor:grab; border-radius:inherit; }
.defog-glass:active{ cursor:grabbing; }

.defog-stage.is-cleared .df-bloom{ filter:saturate(1.08) brightness(1.03); }

.df-cap{ display:flex; align-items:flex-start; gap:12px;
  margin:clamp(18px,2.6vh,26px) auto 0; max-width:64ch;
  font-size:clamp(13px,1.05vw,15px); line-height:1.55; color:var(--ink-soft); text-wrap:pretty; }
.df-cap-dot{ flex:none; width:8px; height:8px; margin-top:.42em; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff, #cf9a34 60%, #9c7426);
  box-shadow:0 0 0 4px color-mix(in srgb,#cf9a34 16%, transparent), 0 0 14px color-mix(in srgb,#cf9a34 50%, transparent);
  animation:dfPulse 3.4s ease-in-out infinite; }
@keyframes dfPulse{ 0%,100%{ opacity:.7; transform:scale(1); } 50%{ opacity:1; transform:scale(1.18); } }

@media (prefers-reduced-motion: reduce){
  .df-bloom, .df-cap-dot{ animation:none; }
  .defog-glass{ cursor:default; }
}

[data-theme="day"] .sol-work{ position:relative; }
[data-theme="day"] .sol-work::before{
  content:""; position:absolute; z-index:-1; inset:-11vh -10vw -9vh; pointer-events:none;
  background:
    radial-gradient(40% 46% at 12% 22%, color-mix(in srgb,#7e9e84 32%, transparent) 0%, transparent 70%),
    radial-gradient(44% 42% at 88% 26%, color-mix(in srgb,#cf9a34 28%, transparent) 0%, transparent 72%),
    radial-gradient(50% 38% at 64% 88%, color-mix(in srgb,#c96a2f 22%, transparent) 0%, transparent 74%),
    radial-gradient(66% 64% at 40% 102%, color-mix(in srgb,#8294b8 24%, transparent) 0%, transparent 78%),
    linear-gradient(180deg, color-mix(in srgb,#f4efe6 70%, transparent), transparent 44%);
  filter:blur(26px); opacity:.95; }

[data-theme="day"] .sol-work .work-acc{ height:clamp(500px,68vh,720px); gap:14px; }

[data-theme="day"] .sol-work .wpanel{ border-radius:22px;
  border:1px solid color-mix(in srgb,#fff 55%, transparent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 46px 100px -54px rgba(96,108,90,.62),
    0 16px 40px -34px rgba(60,70,55,.5); }

[data-theme="day"] .sol-work .wpanel::before{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:inherit;
  opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px; }

[data-theme="day"] .sol-work .wpanel:nth-child(1){ --g1:#5e7f63; --g2:#2a3d2e; }
[data-theme="day"] .sol-work .wpanel:nth-child(2){ --g1:#c08a4a; --g2:#54371c; }
[data-theme="day"] .sol-work .wpanel:nth-child(3){ --g1:#7d8fae; --g2:#39435a; }
[data-theme="day"] .sol-work .wpanel:nth-child(4){ --g1:#b87a8e; --g2:#503241; }
[data-theme="day"] .sol-work .wpanel:nth-child(5){ --g1:#8aa07a; --g2:#3c4830; }
[data-theme="day"] .sol-work .wpanel:nth-child(6){ --g1:#c0764a; --g2:#52301c; }
[data-theme="day"] .sol-work .wpanel:nth-child(7){ --g1:#9aa9b8; --g2:#404c5a; }

[data-theme="day"] .sol-work .wpanel::after{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:inherit;
  opacity:1; will-change:opacity;
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
  backdrop-filter:blur(14px) saturate(1.08);
  background:
    radial-gradient(72% 40% at 50% 102%, color-mix(in srgb,var(--g2,#3a4636) 62%, transparent) 0%, transparent 58%),
    radial-gradient(64% 38% at 50% -12%, rgba(255,255,255,.6) 0%, transparent 58%),
    linear-gradient(176deg,
      color-mix(in srgb,var(--g1,#7e9e84) 20%, #eceee9) 0%,
      color-mix(in srgb,var(--g1,#7e9e84) 44%, #d2dac9) 50%,
      color-mix(in srgb,var(--g2,#3a4636) 66%, #a9b29c) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 0 0 1px rgba(255,255,255,.26),
    inset 0 -80px 100px -70px color-mix(in srgb,var(--g2,#3a4636) 70%, transparent);
  transition:opacity 1s var(--ease); }

[data-theme="day"] .sol-work .wpanel:not(.open):hover::after,
[data-theme="day"] .sol-work .wpanel:focus-visible::after{ opacity:0; }
[data-theme="day"] .sol-work .wpanel.open::after{ opacity:0; }

[data-theme="day"] .sol-work .wp-spine::before{
  content:"\2733"; position:absolute; top:clamp(22px,4vh,38px); left:50%; transform:translateX(-50%);
  z-index:4; font-size:15px; line-height:1; opacity:.92; color:rgba(255,255,255,.92);
  text-shadow:0 1px 6px rgba(26,32,20,.5); }

[data-theme="day"] .sol-work .wp-spine .wp-p{ font-weight:400;
  font-size:clamp(20px,1.7vw,30px); letter-spacing:.02em; color:#ffffff;
  text-shadow:0 1px 2px rgba(24,30,18,.55), 0 0 1px rgba(24,30,18,.5), 0 2px 18px rgba(20,16,10,.4); }
[data-theme="day"] .sol-work .wp-spine .wp-c{ color:rgba(255,255,255,.82); letter-spacing:.2em;
  text-shadow:0 1px 4px rgba(24,30,18,.5); }

[data-theme="day"] .sol-work .wp-eyebrow{ color:rgba(255,250,238,.9); }
[data-theme="day"] .sol-work .wp-title{ color:#ffffff; }
[data-theme="day"] .sol-work .wp-desc{ color:rgba(255,255,255,.86); }
[data-theme="day"] .sol-work .wp-cta{ color:#ffffff; }

@media (prefers-reduced-motion: reduce){
  [data-theme="day"] .sol-work .wpanel::after{ transition:none; }
}

[data-theme="day"] .sol-work .wp-media{ display:none !important; }

[data-theme="day"] .sol-work .wpanel:nth-child(1){ --g3:#cf9a34; }
[data-theme="day"] .sol-work .wpanel:nth-child(2){ --g3:#e0c27a; }
[data-theme="day"] .sol-work .wpanel:nth-child(3){ --g3:#b6c2d6; }
[data-theme="day"] .sol-work .wpanel:nth-child(4){ --g3:#e0b48a; }
[data-theme="day"] .sol-work .wpanel:nth-child(5){ --g3:#cdb46a; }
[data-theme="day"] .sol-work .wpanel:nth-child(6){ --g3:#e8b27a; }
[data-theme="day"] .sol-work .wpanel:nth-child(7){ --g3:#cdd6e0; }

[data-theme="day"] .sol-work .wp-grad{ overflow:hidden;
  background:
    radial-gradient(130% 110% at 50% -12%, color-mix(in srgb,var(--g1) 36%, #f3efe6) 0%, transparent 56%),
    radial-gradient(90% 80% at 82% 112%, color-mix(in srgb,var(--g3,var(--g1)) 42%, transparent) 0%, transparent 62%),
    linear-gradient(168deg, color-mix(in srgb,var(--g1) 60%, #c9cdbf) 0%, color-mix(in srgb,var(--g2) 80%, #5f5b4f) 100%);
  animation:wrBreathe 16s ease-in-out infinite alternate; animation-play-state:paused; }
[data-theme="day"] .sol-work .wp-grad::before{
  background:radial-gradient(40% 40% at 28% 26%, color-mix(in srgb,var(--g1) 78%, #fff6e6) 0%, transparent 72%); filter:blur(30px);
  animation-play-state:paused; }
[data-theme="day"] .sol-work .wp-grad::after{
  background:radial-gradient(48% 48% at 74% 78%, color-mix(in srgb,var(--g3,var(--g1)) 60%, var(--g2)) 0%, transparent 74%); filter:blur(38px);
  animation-play-state:paused; }

[data-theme="day"] .sol-work .wp-reel{ position:absolute; inset:0; z-index:1; overflow:hidden;
  pointer-events:none; border-radius:inherit;
  background:radial-gradient(34% 28% at 64% 32%, color-mix(in srgb,var(--g3,var(--g1)) 48%, transparent) 0%, transparent 70%);
  animation:wrFloat 22s ease-in-out infinite alternate; animation-play-state:paused; }
[data-theme="day"] .sol-work .wp-reel::before{ content:""; position:absolute; inset:-40%;
  background:linear-gradient(116deg, transparent 40%, rgba(255,255,255,.42) 49%, rgba(255,255,255,0) 60%);
  transform:translateX(-62%); animation:wrSweep 9s ease-in-out infinite; animation-play-state:paused; }
[data-theme="day"] .sol-work .wp-reel::after{ content:""; position:absolute; left:50%; top:52%;
  width:58%; aspect-ratio:1; transform:translate(-50%,-50%) scale(.6);
  border-radius:50%; border:1px solid color-mix(in srgb,var(--g3,#ffffff) 60%, #ffffff); opacity:0;
  box-shadow:0 0 50px color-mix(in srgb,var(--g3,var(--g1)) 50%, transparent);
  animation:wrPulse 7s ease-in-out infinite; animation-play-state:paused; }

[data-theme="day"] .sol-work .wpanel.open .wp-grad,
[data-theme="day"] .sol-work .wpanel:hover .wp-grad,
[data-theme="day"] .sol-work .wpanel.open .wp-grad::before,
[data-theme="day"] .sol-work .wpanel:hover .wp-grad::before,
[data-theme="day"] .sol-work .wpanel.open .wp-grad::after,
[data-theme="day"] .sol-work .wpanel:hover .wp-grad::after,
[data-theme="day"] .sol-work .wpanel.open .wp-reel,
[data-theme="day"] .sol-work .wpanel:hover .wp-reel,
[data-theme="day"] .sol-work .wpanel.open .wp-reel::before,
[data-theme="day"] .sol-work .wpanel:hover .wp-reel::before,
[data-theme="day"] .sol-work .wpanel.open .wp-reel::after,
[data-theme="day"] .sol-work .wpanel:hover .wp-reel::after{ animation-play-state:running; }

[data-theme="day"] .sol-work .wp-scrim{ z-index:2;
  background:linear-gradient(180deg, color-mix(in srgb,var(--g2) 8%, transparent) 0%, transparent 32%, color-mix(in srgb,var(--g2) 52%, transparent) 100%); }
[data-theme="day"] .sol-work .wpanel.open .wp-scrim{
  background:linear-gradient(180deg, color-mix(in srgb,var(--g2) 6%, transparent) 0%, transparent 24%, color-mix(in srgb,var(--g2) 46%, transparent) 72%, color-mix(in srgb,var(--g2) 66%, transparent) 100%); }

@keyframes wrBreathe{ from{ filter:saturate(1) brightness(1); transform:scale(1); } to{ filter:saturate(1.14) brightness(1.05); transform:scale(1.045); } }
@keyframes wrFloat{ from{ transform:translate(0,0); } to{ transform:translate(-4%,-3%); } }
@keyframes wrSweep{ 0%{ transform:translateX(-62%); } 55%,100%{ transform:translateX(62%); } }
@keyframes wrPulse{ 0%{ opacity:0; transform:translate(-50%,-50%) scale(.55); } 42%{ opacity:.5; } 100%{ opacity:0; transform:translate(-50%,-50%) scale(1.3); } }

@media (prefers-reduced-motion: reduce){
  [data-theme="day"] .sol-work .wp-grad,
  [data-theme="day"] .sol-work .wp-grad::before,
  [data-theme="day"] .sol-work .wp-grad::after,
  [data-theme="day"] .sol-work .wp-reel,
  [data-theme="day"] .sol-work .wp-reel::before,
  [data-theme="day"] .sol-work .wp-reel::after{ animation:none !important; }
}

[data-theme="day"] .contact{ padding-block:clamp(80px,11vh,150px); }

[data-theme="day"] .contact-head{
  max-width:none; margin-bottom:clamp(28px,4vh,48px);
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:clamp(24px,4vw,80px); flex-wrap:wrap; }
[data-theme="day"] .contact-head .eyebrow{ display:block; margin-bottom:20px; }
[data-theme="day"] .contact-head h2{ margin:0; max-width:15ch; font-size:clamp(40px,5.4vw,92px); }
[data-theme="day"] .contact-head .lead{ margin:0 0 8px; max-width:38ch; }

[data-theme="day"] .contact-head.centered{ flex-direction:column; align-items:center;
  justify-content:center; text-align:center; margin-bottom:clamp(38px,5.5vh,68px); }
[data-theme="day"] .contact-head.centered h2{ max-width:20ch; }
[data-theme="day"] .contact-head.centered .lead{ margin:22px auto 0; max-width:58ch; }

[data-theme="day"] .contact-head.centered ~ .contact-form{ max-width:960px; margin-inline:auto; width:100%; }
[data-theme="day"] .contact-head.centered ~ .contact-strip{ max-width:960px; margin-inline:auto; }

[data-theme="day"] .contact-orb-band{ display:flex; justify-content:center;
  margin:clamp(6px,1.5vh,20px) 0 clamp(40px,6.5vh,72px); }
[data-theme="day"] .contact-orb-band .cta-orb{ width:clamp(220px,24vw,304px); margin:0; }

[data-theme="day"] .contact-form{ gap:clamp(26px,3.4vh,40px); }
[data-theme="day"] .cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,48px); }
[data-theme="day"] .cf-questions{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(22px,2.8vw,44px); }
[data-theme="day"] .cf-foot{ display:flex; align-items:flex-end; gap:clamp(20px,3vw,40px); flex-wrap:wrap; }
[data-theme="day"] .cf-foot .cf-idea-field{ flex:1 1 340px; }
[data-theme="day"] .cf-foot .cf-send{ flex:0 0 auto; align-self:flex-end; margin-top:0; }
@media (max-width:820px){
  [data-theme="day"] .cf-row, [data-theme="day"] .cf-questions{ grid-template-columns:1fr; }
}

[data-theme="day"] .contact-head.centered ~ .contact-form{
  max-width:1040px; padding:clamp(30px,3.4vw,52px);
  border-radius:26px; position:relative; isolation:isolate;
  background:color-mix(in srgb, #fffdf7 62%, transparent);
  -webkit-backdrop-filter:blur(30px) saturate(1.15); backdrop-filter:blur(30px) saturate(1.15);
  border:1px solid color-mix(in srgb, #fff 60%, var(--line));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 40px 90px -50px rgba(120,86,44,.55); }

[data-theme="day"] .contact-form .field label{ color:var(--ink-soft); }
[data-theme="day"] .contact-form .field input,
[data-theme="day"] .contact-form .field textarea{
  border:1px solid color-mix(in srgb, #fff 40%, var(--line));
  border-radius:13px; padding:14px 16px;
  background:color-mix(in srgb, #fffef9 64%, transparent);
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease); }
[data-theme="day"] .contact-form .field input::placeholder,
[data-theme="day"] .contact-form .field textarea::placeholder{ color:color-mix(in srgb, var(--ink) 34%, transparent); }
[data-theme="day"] .contact-form .field input:focus,
[data-theme="day"] .contact-form .field textarea:focus{
  border-color:color-mix(in srgb, var(--accent) 60%, transparent);
  background:color-mix(in srgb, #fffef9 82%, transparent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }

[data-theme="day"] .cf-questions{ gap:clamp(20px,2.4vw,36px); padding-top:clamp(20px,2.6vh,30px);
  margin-top:clamp(8px,1.4vh,16px); border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent); }
[data-theme="day"] .cf-q-ix{ display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; border-radius:50%; font-size:10px; color:var(--ink-soft);
  background:color-mix(in srgb, var(--ink) 7%, transparent); }

[data-theme="day"] .cf-chip{
  background:color-mix(in srgb, #fffef9 55%, transparent);
  border-color:color-mix(in srgb, #fff 30%, var(--line));
  color:var(--ink); padding:11px 18px; }
[data-theme="day"] .cf-chip:hover{
  background:color-mix(in srgb, #fffef9 78%, transparent);
  box-shadow:0 10px 24px -16px rgba(120,86,44,.6); }
[data-theme="day"] .cf-chip[aria-pressed="true"]{ color:#fffaf0; padding-left:38px; }
[data-theme="day"] .cf-chip[aria-pressed="true"]::after{
  content:""; position:absolute; left:16px; top:50%; z-index:1;
  width:12px; height:7px; margin-top:-5px; border-left:2px solid #fffaf0; border-bottom:2px solid #fffaf0;
  transform:rotate(-45deg); transform-origin:center;
  animation:cfTick .4s var(--ease) both; }
@keyframes cfTick{ 0%{ opacity:0; transform:rotate(-45deg) scale(.4); } 100%{ opacity:1; transform:rotate(-45deg) scale(1); } }

[data-theme="day"] .contact-head.centered ~ .contact-strip{
  max-width:1040px; margin-top:clamp(22px,3vh,34px); padding:clamp(24px,2.6vw,38px);
  border-radius:22px;
  background:color-mix(in srgb, #fffdf7 42%, transparent);
  -webkit-backdrop-filter:blur(24px) saturate(1.1); backdrop-filter:blur(24px) saturate(1.1);
  border:1px solid color-mix(in srgb, #fff 44%, var(--line));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 32px 74px -52px rgba(120,86,44,.5); }
@media (prefers-reduced-motion: reduce){
  [data-theme="day"] .cf-chip[aria-pressed="true"]::after{ animation:none; }
}

[data-theme="day"] .contact-strip{ margin-top:clamp(40px,6vh,68px);
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px); align-items:start; }
[data-theme="day"] .contact-strip .booker{ display:flex; align-items:center; flex-wrap:wrap; gap:16px 22px; }
[data-theme="day"] .contact-strip .booker .booker-meta{ margin:0; }
[data-theme="day"] .contact-strip .booker .slots{ display:flex; gap:10px; flex-wrap:wrap; margin:0; }
[data-theme="day"] .contact-strip .booker .btn.confirm{ margin-top:0; width:auto; }
@media (max-width:860px){
  [data-theme="day"] .contact-strip{ grid-template-columns:1fr; }
}

[data-theme="day"] .efoot-cta{
  flex-direction:column; align-items:center; text-align:center;
  gap:clamp(26px,3.6vh,46px); padding-bottom:clamp(56px,8vh,108px); }
[data-theme="day"] .efoot-cta .eyebrow{ margin-bottom:0; }
[data-theme="day"] .efoot-cta h2{ max-width:20ch; margin:0 auto; }

.cta-orb{ position:relative; display:grid; place-items:center;
  width:clamp(232px,29vw,348px); aspect-ratio:1; border-radius:50%;
  text-decoration:none; isolation:isolate; cursor:pointer;
  margin-top:clamp(8px,2.4vh,22px); will-change:transform; }

.cta-orb-rings{ position:absolute; inset:0; z-index:-1;
  animation:ctaSpin 38s linear infinite; }
.cta-orb-rings i{ position:absolute; border-radius:50%;
  border:1px solid color-mix(in srgb,#cf9a34 46%, transparent); }
.cta-orb-rings i:nth-child(1){ inset:-9%; }
.cta-orb-rings i:nth-child(2){ inset:-21%; opacity:.55; }
.cta-orb-rings i:nth-child(3){ inset:-34%; opacity:.3; border-style:dashed; }

.cta-orb-corona{ position:absolute; inset:-26%; z-index:-1; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,#cf9a34 58%, transparent) 0%, color-mix(in srgb,#c96a2f 30%, transparent) 38%, transparent 64%);
  filter:blur(16px); animation:ctaGlow 7s ease-in-out infinite; }

.cta-orb-core{ position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 38% 32%, #fcecc6 0%, #ecc06a 24%, #cf9a34 50%, #c96a2f 84%, #a8531f 100%);
  box-shadow:
    inset 0 8px 24px rgba(255,250,235,.6),
    inset 0 -36px 70px -22px rgba(120,52,16,.55),
    0 46px 100px -34px rgba(201,106,47,.62);
  animation:ctaBreathe 7s ease-in-out infinite; }

.cta-orb-sheen{ position:absolute; inset:0; border-radius:50%; overflow:hidden; pointer-events:none; }
.cta-orb-sheen::before{ content:""; position:absolute; inset:-40%;
  background:linear-gradient(120deg, transparent 42%, rgba(255,255,255,.5) 50%, transparent 58%);
  transform:translateX(-60%); animation:ctaSheen 6.5s ease-in-out infinite; }
.cta-orb-label{ position:relative; z-index:1; display:flex; flex-direction:column; gap:9px;
  color:#fffaf0; text-shadow:0 2px 18px rgba(96,42,12,.5); padding:0 8%; }
.cta-orb-lead{ font-family:var(--font-display); font-weight:400;
  font-size:clamp(25px,2.5vw,36px); line-height:1; letter-spacing:.01em; }
.cta-orb-sub{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,250,240,.88); }

.cta-orb:hover .cta-orb-core{
  box-shadow:
    inset 0 8px 24px rgba(255,250,235,.7),
    inset 0 -30px 64px -20px rgba(120,52,16,.5),
    0 56px 120px -30px rgba(201,106,47,.78),
    0 0 0 1px rgba(255,240,210,.4); }
.cta-orb:hover .cta-orb-corona{ animation-duration:3.4s; }
.cta-orb:focus-visible{ outline:none; }
.cta-orb:focus-visible .cta-orb-core{ box-shadow:0 0 0 3px color-mix(in srgb,#cf9a34 70%, #fff), 0 46px 100px -34px rgba(201,106,47,.62); }

@keyframes ctaBreathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.035); } }
@keyframes ctaGlow{ 0%,100%{ opacity:.68; transform:scale(1); } 50%{ opacity:1; transform:scale(1.07); } }
@keyframes ctaSpin{ to{ transform:rotate(360deg); } }
@keyframes ctaSheen{ 0%{ transform:translateX(-60%); } 55%,100%{ transform:translateX(60%); } }

@media (prefers-reduced-motion: reduce){
  .cta-orb-core, .cta-orb-corona, .cta-orb-rings{ animation:none !important; }
  .cta-orb-sheen{ display:none; }
}

.reel{
  position:relative;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  background:var(--bg-3);
  isolation:isolate;
}

.reel-stage{
  position:absolute; inset:0; cursor:grab;
  
  -webkit-mask:
    linear-gradient(to right,  transparent 0, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 9%, #000 88%, transparent 100%);
  mask:
    linear-gradient(to right,  transparent 0, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 9%, #000 88%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.reel-stage:active{ cursor:grabbing; }
.reel-frame{
  position:absolute; inset:0; margin:0;
  opacity:0;
  transition:opacity .38s var(--ease);
  will-change:opacity;
}
.reel-frame.is-active{ opacity:1; }
.reel-frame img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.03);
}
.reel-frame.is-active img{
  animation:reelKen 1.9s var(--ease) forwards;
}
.reel-frame:nth-child(even).is-active img{ animation-name:reelKenAlt; }
.reel[data-paused="true"] .reel-frame.is-active img{ animation-play-state:paused; }
@keyframes reelKen{
  from{ transform:scale(1.09) translate3d(1%, .6%, 0); }
  to  { transform:scale(1.01) translate3d(0, 0, 0); }
}
@keyframes reelKenAlt{
  from{ transform:scale(1.09) translate3d(-1%, -.6%, 0); }
  to  { transform:scale(1.01) translate3d(0, 0, 0); }
}

.reel-edge{ position:absolute; z-index:2; pointer-events:none; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.reel-edge-t{ top:0; left:0; right:0; height:12%;
  -webkit-mask:linear-gradient(to bottom, #000 0, #000 30%, transparent 100%);
  mask:linear-gradient(to bottom, #000 0, #000 30%, transparent 100%); }
.reel-edge-b{ bottom:0; left:0; right:0; height:15%;
  -webkit-mask:linear-gradient(to top, #000 0, #000 30%, transparent 100%);
  mask:linear-gradient(to top, #000 0, #000 30%, transparent 100%); }
.reel-edge-l{ top:0; bottom:0; left:0; width:8%;
  -webkit-mask:linear-gradient(to right, #000 0, transparent 100%);
  mask:linear-gradient(to right, #000 0, transparent 100%); }
.reel-edge-r{ top:0; bottom:0; right:0; width:8%;
  -webkit-mask:linear-gradient(to left, #000 0, transparent 100%);
  mask:linear-gradient(to left, #000 0, transparent 100%); }

.reel-scrim{ position:absolute; left:0; right:0; z-index:2; pointer-events:none; }
.reel-scrim-top{ top:0; height:26%; background:linear-gradient(180deg, rgba(5,4,3,.66), transparent); }
.reel-scrim-btm{ bottom:0; height:44%; background:linear-gradient(0deg, rgba(5,4,3,.82), rgba(5,4,3,.28) 55%, transparent); }

.reel-ui{
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column;
  padding:calc(var(--pad) * .85) var(--pad) calc(var(--pad) * .7);
  pointer-events:none;
}
.reel-ui > *{ pointer-events:auto; }

.reel-top{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:44px; 
}
.reel-live{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--label-ink); text-shadow:var(--label-glow);
}
.reel-live i{
  width:7px; height:7px; border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 12px color-mix(in srgb, var(--accent) 80%, transparent);
  animation:reelPulse 2.2s ease-in-out infinite;
}
@keyframes reelPulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.45; transform:scale(.8); } }
.reel-count{
  font-size:13px; letter-spacing:.14em; color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.reel-count em{ font-style:normal; color:var(--ink-faint); margin-left:6px; }

.reel-btm{
  margin-top:auto;
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
}
.reel-eyebrow{
  display:block;
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--label-ink); text-shadow:var(--label-glow);
  margin-bottom:12px;
}
.reel-title{
  margin:0;
  font-size:clamp(32px, 4.6vw, 68px);
  line-height:1.04;
  font-weight:300;
  color:var(--ink);
  max-width:14ch;
  text-wrap:balance;
}
.reel-cap.swap .reel-eyebrow{ animation:reelCapIn .65s var(--ease) both; }
.reel-cap.swap .reel-title{ animation:reelCapIn .65s var(--ease) .07s both; }
@keyframes reelCapIn{
  from{ opacity:0; transform:translateY(16px); }
  to  { opacity:1; transform:none; }
}

.reel-nav{ display:flex; align-items:center; gap:12px; flex:none; }
.reel-hint{
  font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-faint); margin-right:8px;
}
.reel-btn{
  width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center;
  font:inherit; font-size:19px; color:var(--ink);
  background:rgba(7,6,5,.42);
  border:1px solid var(--line-strong);
  cursor:pointer;
  transition:border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);
}
.reel-btn:hover{
  border-color:color-mix(in srgb, var(--accent) 65%, var(--line-strong));
  background:rgba(7,6,5,.62);
}
.reel-btn:focus-visible{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent); }

.reel-segs{
  display:flex; gap:8px;
  margin-top:26px;
}
.reel-seg{
  flex:1; height:20px; padding:9px 0;
  background:none; border:0; cursor:pointer;
  position:relative;
}
.reel-seg::before{
  content:""; position:absolute; left:0; right:0; top:9px; height:2px;
  background:rgba(236,234,229,.22);
}
.reel-seg span{
  position:absolute; left:0; right:0; top:9px; height:2px;
  background:var(--ink);
  transform:scaleX(0); transform-origin:left center;
  box-shadow:0 0 10px rgba(236,234,229,.35);
}
.reel-seg.is-done span{ transform:scaleX(1); }
.reel-seg.is-active::before{ background:rgba(236,234,229,.3); }
.reel-seg:hover::before{ background:rgba(236,234,229,.42); }

@media (max-width: 760px){
  .reel{ min-height:540px; }
  .reel-btm{ flex-direction:column; align-items:flex-start; gap:20px; }
  .reel-nav{ align-self:flex-end; }
  .reel-hint{ display:none; }
  .reel-btn{ width:48px; height:48px; }
  .reel-title{ font-size:clamp(30px, 9vw, 44px); }
}

@media (prefers-reduced-motion: reduce){
  .reel-frame{ transition:opacity .25s linear; }
  .reel-frame img, .reel-frame.is-active img{ animation:none !important; transform:none; }
  .reel-live i{ animation:none; }
  .reel-cap.swap .reel-eyebrow, .reel-cap.swap .reel-title{ animation:none; }
}

.reel-cta{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:18px;
  padding:clamp(34px, 6vh, 72px) var(--pad) clamp(20px, 4vh, 48px);
  text-align:center;
}
.reel-cta .lbl{ color:var(--ink-faint); }
.reel-cta-btn{ font-size:clamp(15px, 1.2vw, 18px); }

.sol-sectors.wf-host{ position:relative; overflow:hidden; isolation:isolate;
  padding-top:clamp(90px,14vh,180px); padding-bottom:clamp(170px,24vh,320px); }
.wf-host .wf-canvas{ position:absolute; inset:0; width:100%; height:100%;
  display:block; pointer-events:none; z-index:3; }
.wf-host .ss-stack, .wf-host .sectors-grid{ position:relative; z-index:1; }

[data-theme="day"] .sec-card::before,
[data-theme="day"] .sec-card::after{
  content:""; position:absolute; top:0; bottom:0; width:24px; z-index:1; pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.55) 0 .6px, transparent 1.5px),
    radial-gradient(circle, rgba(255,255,255,.4) 0 .5px, transparent 1.4px);
  background-size:7px 9px, 11px 13px;
  background-position:0 0, 3px 5px;
  opacity:.6; mix-blend-mode:screen;
  transition:opacity .6s var(--ease);
}
[data-theme="day"] .sec-card::before{ left:0;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent); mask-image:linear-gradient(90deg,#000,transparent); }
[data-theme="day"] .sec-card::after{ right:0;
  -webkit-mask-image:linear-gradient(270deg,#000,transparent); mask-image:linear-gradient(270deg,#000,transparent); }
[data-theme="day"] .sec-card:hover::before,
[data-theme="day"] .sec-card:hover::after{ opacity:0; }
@media (prefers-reduced-motion: reduce){
  [data-theme="day"] .sec-card::before, [data-theme="day"] .sec-card::after{ transition:none; }
}

[data-theme="day"] .mi-arc{
  position:absolute; inset:-1px; border-radius:50%; pointer-events:none; z-index:0;
  opacity:0; transform:rotate(-18deg);
  transition:opacity 1.1s var(--ease);
}

[data-theme="day"] .mi-arc .mi-tail{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg,
    transparent 0deg, transparent 316deg,
    color-mix(in srgb, var(--accent) 22%, transparent) 338deg,
    color-mix(in srgb, var(--accent) 60%, #fff5e2) 356deg,
    rgba(255,250,236,.95) 360deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3.5px), #000 calc(100% - 2.5px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 3.5px), #000 calc(100% - 2.5px));
  filter:blur(.6px);
}

[data-theme="day"] .mi-arc .mi-spark{
  position:absolute; left:50%; top:0; width:8px; height:8px; margin:-4px 0 0 -4px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,252,244,1) 0%, rgba(255,236,190,.9) 38%, rgba(255,226,168,0) 72%);
  box-shadow:
    0 0 10px 3px color-mix(in srgb, var(--accent) 70%, #fff),
    0 0 28px 10px color-mix(in srgb, var(--accent) 45%, transparent);
}

[data-theme="day"] .mission.lit .mi-arc{
  opacity:1;
  animation:miOrbit calc(8.5s / max(var(--motion),.25)) linear infinite;
}
[data-theme="day"] .mission.lit .mi-spark{
  animation:miFlicker 1.4s steps(1,end) infinite;
}
@keyframes miOrbit{ to{ transform:rotate(342deg); } }
@keyframes miFlicker{
  0%{ opacity:1; transform:scale(1); }
  8%{ opacity:.55; transform:scale(.86); }
  16%{ opacity:1; transform:scale(1.08); }
  28%{ opacity:.7; transform:scale(.94); }
  40%{ opacity:1; transform:scale(1.02); }
  52%{ opacity:.5; transform:scale(.82); }
  60%{ opacity:1; transform:scale(1.06); }
  74%{ opacity:.78; transform:scale(.96); }
  88%{ opacity:1; transform:scale(1.04); }
  100%{ opacity:.9; transform:scale(1); }
}
@media (prefers-reduced-motion: reduce){
  [data-theme="day"] .mission.lit .mi-arc{ opacity:1; animation:none; transform:rotate(-18deg); }
  [data-theme="day"] .mission.lit .mi-spark{ animation:none; }
}

.es-statement{ padding:clamp(90px,14vh,190px) 0 clamp(50px,7vh,90px); position:relative; z-index:2; text-align:center; }
.es-statement .eyebrow{ display:block; margin-bottom:26px; }
.es-statement h2.display{ margin:0 auto; max-width:20ch; font-weight:300;
  font-size:clamp(30px,4.4vw,60px); line-height:1.04; letter-spacing:-.02em; text-wrap:balance; }
.es-statement h2.display em{ font-style:italic; color:var(--label-ink); }
.es-statement .es-lede{ margin:clamp(28px,4vh,48px) auto 0; max-width:62ch;
  display:flex; flex-direction:column; gap:20px; }
.es-statement .es-lede p{ margin:0; color:var(--ink-soft);
  font-size:clamp(15px,1.2vw,18px); line-height:1.62; text-wrap:pretty; }
.es-statement .es-lede p:first-child{ color:var(--ink); }

.es-caps{ padding:clamp(30px,5vh,70px) 0 clamp(80px,12vh,150px); position:relative; z-index:2; }
.es-caps .ghead{ display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:12px; margin-bottom:clamp(22px,3.4vh,40px); }
.caps-list{ list-style:none; margin:clamp(20px,3vh,36px) 0 0; padding:0; border-top:1px solid var(--line); }
.caps-list li{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:clamp(16px,3vw,54px); align-items:baseline;
  padding:clamp(20px,2.6vh,30px) 4px; border-bottom:1px solid var(--line);
  transition:padding-left .5s var(--ease); }
.caps-list li:hover{ padding-left:12px; }
.caps-list h3{ margin:0; font-family:var(--font-display); font-weight:400;
  font-size:clamp(19px,1.7vw,26px); line-height:1.12; letter-spacing:-.01em; }
.caps-list p{ margin:0; color:var(--ink-soft); font-size:clamp(14px,1.1vw,16.5px);
  line-height:1.55; text-wrap:pretty; }
@media (max-width:680px){ .caps-list li{ grid-template-columns:1fr; gap:8px; } }

[data-theme="day"] .df-actions{ display:flex; justify-content:center;
  margin-top:clamp(30px,5vh,60px); position:relative; z-index:3; }

.gx-heading{ pointer-events:none; }
.gx-heading h1 em{ font-style:italic; color:var(--label-ink); }
.gx-listlink{ pointer-events:auto; display:inline-flex; align-items:center; gap:8px;
  margin-top:18px; padding:9px 15px; border-radius:22px; cursor:pointer;
  background:rgba(15,12,11,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid var(--line); color:var(--ink);
  font-family:var(--font-display); font-size:13px; letter-spacing:.04em;
  transition:border-color .3s var(--ease), background .3s var(--ease); }
.gx-listlink:hover{ border-color:var(--accent); background:rgba(15,12,11,.7); }
.gx-listlink .arr{ transition:transform .3s var(--ease); }
.gx-listlink:hover .arr{ transform:translateX(4px); }
@media (max-width:820px){ .gx-heading p{ display:none; } }

.pj-list{ position:fixed; inset:0; z-index:70; background:var(--bg);
  opacity:0; visibility:hidden; transition:opacity .5s var(--ease), visibility .5s var(--ease); }
.pj-list.open{ opacity:1; visibility:visible; }
.pj-list-scroll{ position:absolute; inset:0; overflow-y:auto; overscroll-behavior:contain;
  padding:clamp(64px,10vh,120px) var(--pad) clamp(60px,10vh,110px); }
.pj-list-close{ position:fixed; top:20px; right:clamp(20px,4vw,48px); z-index:2;
  width:52px; height:52px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  background:rgba(15,12,11,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid var(--line); color:var(--ink); font-size:17px;
  transition:border-color .3s var(--ease); }
.pj-list-close:hover{ border-color:var(--accent); }
.pj-list-head{ max-width:1180px; margin:0 auto clamp(30px,5vh,56px); }
.pj-list-head .eyebrow{ display:block; margin-bottom:16px; }
.pj-list-head h2{ margin:0; font-weight:300; font-size:clamp(38px,6vw,84px);
  line-height:.98; letter-spacing:-.02em; }
.pj-list-head p{ margin:20px 0 0; max-width:52ch; color:var(--ink-soft);
  font-size:clamp(15px,1.3vw,18px); line-height:1.6; }
.wl-grid{ list-style:none; margin:0 auto; padding:0; max-width:1180px;
  border-top:1px solid var(--line); }
.pj-list .wl-item{ display:grid; grid-template-columns:96px 1fr auto; align-items:center;
  gap:clamp(18px,3vw,40px); padding:clamp(16px,2.2vh,24px) 4px;
  border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink);
  transition:padding-left .45s var(--ease), background .45s var(--ease); }
.pj-list .wl-item:hover{ padding-left:16px;
  background:linear-gradient(90deg, color-mix(in srgb,var(--accent) 8%, transparent), transparent 60%); }
.pj-list .wl-thumb{ width:96px; aspect-ratio:4/3; border-radius:6px; overflow:hidden;
  background:rgba(236,234,229,.06); box-shadow:0 0 0 1px rgba(236,234,229,.07); }
.pj-list .wl-thumb img{ width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.9) brightness(.86); }
.pj-list .wl-thumb-empty{ background:linear-gradient(135deg,#b9531e,#2a1408); }
.pj-list .wl-c{ min-width:0; display:flex; flex-direction:column; gap:5px; }
.pj-list .wl-num{ font-family:var(--font-mono); font-size:11px; letter-spacing:.16em;
  color:var(--ink-faint); }
.pj-list .wl-name{ margin:0; font-family:var(--font-display); font-weight:400;
  font-size:clamp(19px,2vw,28px); line-height:1.08; letter-spacing:-.01em; }
.pj-list .wl-line{ color:var(--ink-soft); font-size:clamp(13.5px,1.05vw,15.5px); line-height:1.5; }
.pj-list .wl-go{ font-size:clamp(18px,2vw,24px); color:var(--ink-faint);
  transition:transform .4s var(--ease), color .4s var(--ease); }
.pj-list .wl-item:hover .wl-go{ transform:translateX(8px); color:var(--label-ink); }
.pj-list-foot{ max-width:1180px; margin:clamp(34px,6vh,64px) auto 0; }
@media (max-width:620px){
  .pj-list .wl-item{ grid-template-columns:64px 1fr; }
  .pj-list .wl-go{ display:none; }
  .pj-list .wl-thumb{ width:64px; }
}

.caps-timeline{ position:relative; list-style:none; border-top:none;
  margin:clamp(24px,3.6vh,44px) auto 0; padding:0; max-width:720px; text-align:left; }
.caps-timeline::before{ content:""; position:absolute; left:15px; top:22px; bottom:22px; width:2px;
  border-radius:2px; opacity:.55;
  background:linear-gradient(180deg,#c96a2f 0%,#cf9a34 26%,#7e9e84 52%,#8294b8 76%,#a8607a 100%); }
.caps-timeline li{ position:relative; display:block; border-bottom:none;
  padding:clamp(14px,2.2vh,24px) 0 clamp(14px,2.2vh,24px) 56px; }
.caps-timeline li:hover{ padding-left:56px; }
.caps-timeline .cap-orb{ position:absolute; left:4px; top:calc(clamp(14px,2.2vh,24px) + 3px);
  width:24px; height:24px; border-radius:50%; z-index:1;
  background:radial-gradient(circle at 38% 34%,
    color-mix(in srgb,var(--vg) 35%,#fff) 0%, var(--vg) 48%,
    color-mix(in srgb,var(--vg) 62%,#000) 100%);
  box-shadow:0 0 0 5px var(--bg),
    0 0 16px 2px color-mix(in srgb,var(--vg) 55%, transparent),
    inset 0 1px 2px rgba(255,255,255,.5);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.caps-timeline li:hover .cap-orb{ transform:scale(1.22);
  box-shadow:0 0 0 5px var(--bg),
    0 0 26px 5px color-mix(in srgb,var(--vg) 70%, transparent),
    inset 0 1px 2px rgba(255,255,255,.5); }
.caps-timeline h3{ margin:0; }
.caps-timeline p{ margin:6px 0 0; }
@media (prefers-reduced-motion: no-preference){
  .caps-timeline .cap-orb{ animation:capFloat calc(9s / max(var(--motion),.2)) ease-in-out infinite alternate; }
  .caps-timeline li:nth-child(2n) .cap-orb{ animation-duration:calc(11s / max(var(--motion),.2)); animation-delay:-2s; }
  .caps-timeline li:nth-child(3n) .cap-orb{ animation-delay:-4s; }
}
@keyframes capFloat{ from{ translate:0 -2px; } to{ translate:0 2px; } }

.arc-intro, .invest-intro, .svc6-intro{
  margin:-6px 0 clamp(30px,4.4vh,52px); max-width:60ch;
  color:var(--ink-soft); font-size:clamp(15px,1.35vw,18px); line-height:1.6; text-wrap:pretty; }

.svc6-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.svc6-card{ position:relative; overflow:hidden; isolation:isolate; border-radius:18px;
  padding:clamp(24px,2.2vw,34px);
  display:flex; flex-direction:column; gap:12px;
  background:color-mix(in srgb, #fffdf6 30%, transparent); border:1px solid var(--line-soft);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .7s var(--ease), box-shadow .7s var(--ease), background .7s var(--ease); }
.svc6-card:hover{ transform:translateY(-6px); background:color-mix(in srgb, #fffdf6 46%, transparent);
  box-shadow:0 36px 80px -48px rgba(112,84,48,.5); }
.svc6-orb{ position:absolute; right:-20%; top:-24%; width:66%; aspect-ratio:1/1; border-radius:50%; z-index:-1;
  background:radial-gradient(circle at 42% 42%, color-mix(in srgb, var(--vg) 48%, #fff) 0%, color-mix(in srgb, var(--vg) 26%, transparent) 44%, transparent 74%);
  filter:blur(28px); opacity:.62; transition:scale 1.6s var(--ease), opacity .9s var(--ease); }
.svc6-card:hover .svc6-orb{ scale:1.35; opacity:.9; }
.svc6-name{ margin:0; font-weight:400; font-size:clamp(21px,1.9vw,28px); line-height:1.06;
  color:color-mix(in srgb, var(--vg) 34%, var(--ink)); }
.svc6-line{ margin:0; color:color-mix(in srgb, var(--vg) 55%, var(--ink));
  font-size:clamp(14px,1.1vw,16px); line-height:1.4; }
.svc6-list{ list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:9px;
  border-top:1px solid var(--line); padding-top:16px; }
.svc6-list li{ position:relative; padding-left:18px; color:var(--ink-soft);
  font-size:clamp(13px,1vw,14.5px); line-height:1.45; text-wrap:pretty; }
.svc6-list li::before{ content:""; position:absolute; left:2px; top:.62em; width:6px; height:6px; border-radius:50%;
  background:color-mix(in srgb, var(--vg) 70%, transparent); }

.invest-tag{ margin:-4px 0 0; color:color-mix(in srgb, var(--vg) 55%, var(--ink));
  font-size:clamp(14px,1.1vw,16px); line-height:1.3; }
.invest-list{ list-style:none; margin:2px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.invest-list li{ position:relative; padding-left:18px; color:var(--ink-soft);
  font-size:clamp(12.5px,.98vw,14px); line-height:1.42; text-wrap:pretty; }
.invest-list li::before{ content:""; position:absolute; left:2px; top:.6em; width:5px; height:5px; border-radius:50%;
  background:color-mix(in srgb, var(--vg) 70%, transparent); }
.sol-invest .invest-card{ min-height:0; }

@media (max-width:1020px){ .svc6-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:680px){ .svc6-grid{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce){ .svc6-card, .svc6-orb{ transition:none; } }

.sol-efoot .efoot-cta-actions{
  display:flex; align-items:center; justify-content:center;
  gap:clamp(20px,2.6vw,34px); flex-wrap:wrap; }
.sol-efoot .efoot-cta-actions .efoot-mail{ margin:0; }

[data-theme="day"] .sol-efoot .efoot-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  align-items:start; }
[data-theme="day"] .sol-efoot .efoot-cols{ grid-template-columns:repeat(3,1fr); gap:clamp(28px,3vw,48px); }
@media (max-width:900px){ [data-theme="day"] .sol-efoot .efoot-grid{ grid-template-columns:1fr; } }
@media (max-width:560px){ [data-theme="day"] .sol-efoot .efoot-cols{ grid-template-columns:1fr 1fr; } }

.sol-efoot .foot-col{ display:flex; flex-direction:column; gap:12px; }
.sol-efoot .foot-col h4{
  margin:0 0 4px; font-family:var(--font-mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); font-weight:500; }
.sol-efoot .foot-col a{
  color:var(--ink-soft); text-decoration:none; font-size:clamp(14px,1.05vw,15.5px);
  line-height:1.3; width:fit-content; position:relative; transition:color .3s var(--ease); }
.sol-efoot .foot-col a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:100%; height:1px;
  background:var(--accent); transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease); }
.sol-efoot .foot-col a:hover{ color:var(--label-ink); }
.sol-efoot .foot-col a:hover::after{ transform:scaleX(1); }

.mp-feature{ display:grid; grid-template-columns:minmax(300px,380px) 1fr;
  align-items:center; gap:clamp(30px,4.5vw,72px);
  margin:clamp(6px,1.5vh,18px) auto clamp(48px,7vh,88px); max-width:1040px; }

.mp-reel{ position:relative; width:100%; aspect-ratio:4/5; border-radius:20px; overflow:hidden;
  isolation:isolate; background:#1a1726; cursor:pointer; user-select:none;
  box-shadow:0 40px 80px -44px color-mix(in srgb,var(--fg2) 70%, transparent),
    0 0 0 1px rgba(255,255,255,.28) inset; }

.mp-frames{ position:absolute; inset:0; z-index:0; }
.mp-frame{ position:absolute; inset:0; margin:0; opacity:0; visibility:hidden;
  transition:opacity 1.1s var(--ease); }
.mp-frame img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.04); transform-origin:50% 50%; }
.mp-frame.is-active{ opacity:1; visibility:visible; }
.mp-frame.is-active img{ animation:mpKen 6s linear forwards; }
.mp-frame:nth-child(2).is-active img{ transform-origin:70% 40%; }
.mp-frame:nth-child(3).is-active img{ transform-origin:30% 50%; }
.mp-frame:nth-child(4).is-active img{ transform-origin:50% 70%; }
@keyframes mpKen{ from{ transform:scale(1.04); } to{ transform:scale(1.13); } }

.mp-frame::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(26,23,38,.18) 0%, transparent 24%, transparent 46%, rgba(20,17,32,.82) 100%); }

.mp-grain{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:mpGrain 1.1s steps(3) infinite; }
@keyframes mpGrain{ 0%{ transform:translate(0,0); } 33%{ transform:translate(-4%,3%); } 66%{ transform:translate(3%,-4%); } 100%{ transform:translate(0,0); } }
.mp-vignette{ position:absolute; inset:0; z-index:2; pointer-events:none;
  box-shadow:inset 0 0 90px 12px rgba(18,15,30,.5); }

.mp-cap{ position:absolute; left:0; right:0; bottom:52px; z-index:3; padding:0 clamp(18px,2.4vw,26px);
  color:#fff; opacity:0; transform:translateY(8px); transition:opacity .7s var(--ease) .2s, transform .7s var(--ease) .2s; }
.mp-frame.is-active .mp-cap{ opacity:1; transform:translateY(0); }
.mp-cap-line{ margin:0; font-family:var(--font-display); font-weight:400; font-size:clamp(18px,2vw,24px);
  line-height:1.18; letter-spacing:-.01em; text-shadow:0 1px 16px rgba(20,16,34,.6); text-wrap:balance; }

.mp-bigplay{ position:absolute; inset:0; z-index:4; display:grid; place-items:center;
  border:0; background:transparent; cursor:pointer; opacity:0; visibility:hidden;
  transition:opacity .35s var(--ease); -webkit-tap-highlight-color:transparent; }
.mp-reel[data-playing="false"] .mp-bigplay{ opacity:1; visibility:visible; }
.mp-bigplay span{ width:66px; height:66px; border-radius:50%; display:grid; place-items:center;
  background:rgba(20,16,34,.4); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.4);
  box-shadow:0 8px 30px -8px rgba(20,16,34,.7); transition:transform .3s var(--ease), background .3s var(--ease); }
.mp-bigplay:hover span{ transform:scale(1.08); background:rgba(20,16,34,.55); }
.mp-bigplay span::after{ content:""; width:0; height:0; margin-left:5px;
  border-left:20px solid #fff; border-top:12px solid transparent; border-bottom:12px solid transparent; }

.mp-chrome{ position:absolute; left:0; right:0; bottom:0; z-index:5;
  display:flex; align-items:center; gap:12px; padding:14px clamp(14px,2vw,18px);
  opacity:0; transform:translateY(6px); transition:opacity .4s var(--ease), transform .4s var(--ease); }
.mp-reel:hover .mp-chrome, .mp-reel[data-playing="false"] .mp-chrome, .mp-reel:focus-within .mp-chrome{ opacity:1; transform:translateY(0); }
.mp-play{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.4);
  background:rgba(20,16,34,.32); backdrop-filter:blur(6px); cursor:pointer; position:relative;
  display:grid; place-items:center; transition:background .3s var(--ease), transform .3s var(--ease); }
.mp-play:hover{ background:rgba(20,16,34,.5); transform:scale(1.06); }
.mp-ic-pause, .mp-ic-play{ position:absolute; }
.mp-ic-pause{ width:10px; height:11px; border-left:3px solid #fff; border-right:3px solid #fff; }
.mp-ic-play{ width:0; height:0; border-left:11px solid #fff; border-top:6.5px solid transparent; border-bottom:6.5px solid transparent; margin-left:3px; opacity:0; }
.mp-reel[data-playing="false"] .mp-ic-pause{ opacity:0; }
.mp-reel[data-playing="false"] .mp-ic-play{ opacity:1; }
.mp-track{ flex:1 1 auto; position:relative; height:14px; display:flex; align-items:center; cursor:pointer; }
.mp-track::before{ content:""; position:absolute; left:0; right:0; height:3px; border-radius:3px; background:rgba(255,255,255,.28); }
.mp-buffer{ display:none; }
.mp-prog{ position:absolute; left:0; height:3px; width:0; border-radius:3px; background:#fff; }
.mp-scrub{ position:absolute; left:0; width:11px; height:11px; border-radius:50%; background:#fff;
  transform:translateX(-50%); box-shadow:0 1px 5px rgba(20,16,34,.5); opacity:0; transition:opacity .25s var(--ease); }
.mp-track:hover .mp-scrub, .mp-track:focus-visible .mp-scrub{ opacity:1; }
.mp-track:focus-visible{ outline:none; }
.mp-time{ flex:0 0 auto; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em;
  color:rgba(255,255,255,.9); font-variant-numeric:tabular-nums; text-shadow:0 1px 6px rgba(20,16,34,.6); }

.mp-info{ display:flex; flex-direction:column; align-items:flex-start; }
.mp-flag{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:color-mix(in srgb,var(--fg2) 62%, var(--ink-faint)); margin-bottom:16px; }
.mp-title{ margin:0; font-weight:400; font-size:clamp(30px,4vw,52px); line-height:1; letter-spacing:-.02em; color:var(--ink); }
.mp-tagline{ margin:8px 0 0; font-size:clamp(17px,1.7vw,22px); color:color-mix(in srgb,var(--fg2) 55%, var(--ink)); }
.mp-desc{ margin:20px 0 0; max-width:44ch; color:var(--ink-soft); font-size:clamp(14.5px,1.15vw,16.5px);
  line-height:1.6; text-wrap:pretty; }
.mp-meta{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.mp-meta li{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-soft); padding:7px 13px; border-radius:999px;
  border:1px solid color-mix(in srgb,var(--fg2) 24%, var(--line)); background:color-mix(in srgb,var(--fg) 7%, transparent); }
.mp-hint{ margin-top:26px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em;
  text-transform:uppercase; color:color-mix(in srgb,var(--fg2) 50%, var(--ink-faint)); }

@media (max-width:820px){
  .mp-feature{ grid-template-columns:1fr; gap:clamp(24px,4vh,36px); max-width:440px; }
  .mp-info{ align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce){
  .mp-frame{ transition:opacity .4s ease; }
  .mp-frame.is-active img{ animation:none; transform:scale(1.04); }
  .mp-grain{ animation:none; }
}

.hero-logo-wrap{ position:relative; display:block; width:clamp(260px,32vw,500px);
  margin:clamp(16px,3vh,38px) auto 0; line-height:0; --cosmic:cubic-bezier(.19,1,.22,1); }
.hero-centered .hero-logo-wrap .hero-logo{ width:100%; height:auto; margin:0; display:block; position:relative; z-index:1; }

html.js .hero-logo-wrap.reveal{ transform:none; transition:opacity 1.8s var(--cosmic); transition-delay:var(--delay,0s); }
html.js .hero-logo-wrap.reveal.in{ transform:none; }

.hero-logo-aura{ position:absolute; left:50%; top:52%; width:150%; aspect-ratio:1/1;
  transform:translate(-50%,-50%) scale(.4); z-index:0; pointer-events:none; opacity:0; border-radius:50%;
  background:radial-gradient(circle at 50% 50%,
    rgba(255,238,214,.5) 0%, rgba(242,166,90,.28) 20%, rgba(194,66,15,.16) 40%,
    rgba(120,60,150,.10) 62%, transparent 78%);
  filter:blur(14px); mix-blend-mode:screen; }

.hero-logo-sheen{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0;
  -webkit-mask:url("logos/es-logo.png") center/contain no-repeat;
          mask:url("logos/es-logo.png") center/contain no-repeat;
  background:linear-gradient(100deg, transparent 38%,
    rgba(214,224,255,.5) 46%, rgba(255,247,230,.98) 50%, rgba(255,236,206,.5) 55%, transparent 64%);
  background-repeat:no-repeat; background-size:280% 100%; background-position:150% 0;
  mix-blend-mode:screen; }
html.js .hero-logo-wrap.in .hero-logo{ animation:heroLogoDawn 2.6s var(--cosmic) .1s both, heroFloat 11s ease-in-out 2.8s infinite; }
html.js .hero-logo-wrap.in .hero-logo-aura{ animation:heroAura 3.2s var(--cosmic) .1s both; }
html.js .hero-logo-wrap.in .hero-logo-sheen{ animation:heroSheen 2.6s var(--cosmic) .55s both; }
@keyframes heroLogoDawn{
  0%{ filter:brightness(.28) blur(9px) drop-shadow(0 10px 60px rgba(0,0,0,.5)); transform:scale(1.05); }
  60%{ filter:brightness(1.16) blur(0)
        drop-shadow(0 0 46px rgba(242,166,90,.5)) drop-shadow(0 10px 60px rgba(0,0,0,.5)); }
  100%{ filter:brightness(1) blur(0) drop-shadow(0 10px 60px rgba(0,0,0,.5)); transform:scale(1); }
}
@keyframes heroAura{
  0%{ opacity:0; transform:translate(-50%,-50%) scale(.4); }
  45%{ opacity:1; }
  100%{ opacity:.42; transform:translate(-50%,-50%) scale(1.08); }
}
@keyframes heroSheen{
  0%{ opacity:0; background-position:150% 0; }
  18%{ opacity:1; }
  82%{ opacity:1; }
  100%{ opacity:0; background-position:-50% 0; }
}
@keyframes heroFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-6px) scale(1.006); }
}
@media (prefers-reduced-motion: reduce){
  html.js .hero-logo-wrap.in .hero-logo{ animation:none; filter:drop-shadow(0 10px 60px rgba(0,0,0,.5)); }
  html.js .hero-logo-wrap.in .hero-logo-aura{ animation:none; opacity:.3; transform:translate(-50%,-50%) scale(1); }
  html.js .hero-logo-wrap.in .hero-logo-sheen{ animation:none; opacity:0; }
}

/* ===== Webflow build glue (day-nav swap, dyn-list layout, data-carrier hide, hero-meta repair) ===== */
.nav-links-sol{display:none}
.brand-sol{display:none!important}
body[data-theme="day"] .nav-links-es{display:none}
body[data-theme="day"] .nav-links-sol{display:flex}
body[data-theme="day"] .brand:not(.brand-sol){display:none}
body[data-theme="day"] .brand-sol{display:flex!important}
body[data-theme="day"]{background:#E8DDD0}
@media screen and (max-width: 991px){body[data-theme="day"] .nav-links-sol{display:none}}
.svc-cloud .w-dyn-list,.svc-cloud .w-dyn-items,.svc-cloud .w-dyn-item,.work-acc .w-dyn-list,.work-acc .w-dyn-items,.work-acc .w-dyn-item,.pkg-peek .w-dyn-list,.pkg-peek .w-dyn-items,.pkg-peek .w-dyn-item,.team-col .w-dyn-list,.team-col .w-dyn-items,.team-col .w-dyn-item,.reel-stage .w-dyn-list,.reel-stage .w-dyn-items,.reel-stage .w-dyn-item,.svc6-grid .w-dyn-list,.svc6-grid .w-dyn-items,.svc6-grid .w-dyn-item,.invest-grid .w-dyn-list,.invest-grid .w-dyn-items,.invest-grid .w-dyn-item,.sectors-grid .w-dyn-list,.sectors-grid .w-dyn-items,.sectors-grid .w-dyn-item,.journal-grid .w-dyn-list,.journal-grid .w-dyn-items,.journal-grid .w-dyn-item,.svx .w-dyn-list,.svx .w-dyn-items,.svx .w-dyn-item,.gx-orbit .w-dyn-list,.gx-orbit .w-dyn-items,.gx-orbit .w-dyn-item,.pj-list-grid .w-dyn-list,.pj-list-grid .w-dyn-items,.pj-list-grid .w-dyn-item{display:contents}
.ttile .tname::before{content:"\25B2  ";font-size:9px;opacity:.75;margin-right:6px}
.hero-meta .cell span:first-child,.hero-meta div span:first-child{display:block;color:var(--ink-faint);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-weight:500}
.hero-meta .cell span:last-child,.hero-meta div span:last-child{font-size:15px;color:var(--ink)}
.tint-src,.reel-data-eyebrow,.reel-data-title,.gx-data,.pj-data{display:none}
.img-pending{visibility:hidden}
