/* Maitra Agentic Solutions — site styles */
/* Colours: one variable per tone, with a dark-mode partner */
:root{
  --c-ffffff:#FFFFFF;
  --c-f7f3ec:#F8F3EB;
  --c-f5f0e8:#F6F0E7;
  --c-f4eee4:#F5EEE3;
  --c-f1ebe1:#F2EBE0;
  --c-ede6da:#EEE6D9;
  --c-e7e5e0:#E7E5E0;
  --c-e3dacb:#E4DACA;
  --c-e2d9cb:#E3D9CA;
  --c-d8cfc0:#D9CFBF;
  --c-d3c9b8:#D4C9B7;
  --c-cfc5b4:#D0C5B3;
  --c-b9ae9c:#BAAE9B;
  --c-8a7f6e:#8B7F6D;
  --c-6e6457:#6F6456;
  --c-5c564d:#5D564C;
  --c-4f4a42:#504A41;
  --c-2e2a24:#2E2A23;
  --c-14120f:#14120F;
  --c-a8322a:#A8322A;
  --c-f8ece9:#F8ECE9;
  --glow-a:#F5EEE3;--glow-b:rgba(245,238,227,0.75);--bar-bg:rgba(255,255,255,.92);--band-bg:rgba(248,243,235,.96);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --c-ffffff:#121110;
  --c-f7f3ec:#181715;
  --c-f5f0e8:#1D1B18;
  --c-f4eee4:#1F1D1A;
  --c-f1ebe1:#211F1B;
  --c-ede6da:#292622;
  --c-e7e5e0:#2A2826;
  --c-e3dacb:#34302B;
  --c-e2d9cb:#34302B;
  --c-d8cfc0:#433E36;
  --c-d3c9b8:#49433B;
  --c-cfc5b4:#534D44;
  --c-b9ae9c:#6C6458;
  --c-8a7f6e:#908678;
  --c-6e6457:#A59B8C;
  --c-5c564d:#B5AC9E;
  --c-4f4a42:#C4BBAE;
  --c-2e2a24:#DED6CA;
  --c-14120f:#F4EEE4;
  --c-a8322a:#E07A68;
  --c-f8ece9:#3B201C;
  --glow-a:#1F1D1A;--glow-b:rgba(31,29,26,0.7);--bar-bg:rgba(18,17,16,.9);--band-bg:rgba(24,23,21,.95);
  color-scheme:dark;
}
/* SVG colour attributes follow the theme */
[fill="#14120F" i]{fill:var(--c-14120f)}
[fill="#4F4A42" i]{fill:var(--c-4f4a42)}
[fill="#6E6457" i]{fill:var(--c-6e6457)}
[fill="#8A7F6E" i]{fill:var(--c-8a7f6e)}
[fill="#A8322A" i]{fill:var(--c-a8322a)}
[fill="#CFC5B4" i]{fill:var(--c-cfc5b4)}
[fill="#D8CFC0" i]{fill:var(--c-d8cfc0)}
[fill="#E3DACB" i]{fill:var(--c-e3dacb)}
[fill="#EDE6DA" i]{fill:var(--c-ede6da)}
[fill="#F5F0E8" i]{fill:var(--c-f5f0e8)}
[fill="#FFFFFF" i]{fill:var(--c-ffffff)}
[stroke="#14120F" i]{stroke:var(--c-14120f)}
[stroke="#B9AE9C" i]{stroke:var(--c-b9ae9c)}
[stroke="#CFC5B4" i]{stroke:var(--c-cfc5b4)}
[stroke="#D3C9B8" i]{stroke:var(--c-d3c9b8)}
[stroke="#D8CFC0" i]{stroke:var(--c-d8cfc0)}
[stroke="#E2D9CB" i]{stroke:var(--c-e2d9cb)}
[stroke="#EDE6DA" i]{stroke:var(--c-ede6da)}
[stroke="#F5F0E8" i]{stroke:var(--c-f5f0e8)}
[stroke="#FFFFFF" i]{stroke:var(--c-ffffff)}
/* Maitra keeps her own colours in both themes */
.ag [fill="#F5F0E8" i]{fill:#F5F0E8}.ag [stroke="#F5F0E8" i]{stroke:#F5F0E8}.ag [stroke="#FFFFFF" i]{stroke:#FFFFFF}
:root[data-theme="dark"] .ag .body circle{stroke:#4A453E;stroke-width:1.2}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--c-ffffff);color:var(--c-14120f);font-family:"Geist",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--c-14120f)}a:hover{color:var(--c-5c564d)}
button:focus-visible,a:focus-visible{outline:2px solid var(--c-14120f);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.askline:focus-within{box-shadow:inset 0 -2px 0 var(--c-14120f) !important}
.fld:focus{box-shadow:inset 0 -2px 0 var(--c-14120f) !important}
.fld::placeholder{color:var(--c-8a7f6e)}

/* Maitra, the guide */
.ag{overflow:visible}
.ag .ring{transform-box:view-box;transform-origin:60px 60px;opacity:0}
.ag.speaking .ring{animation:ag-ripple 2s ease-out infinite}
.ag.listening .ring{animation:ag-ripple 1.1s ease-out infinite}
.ag .body{transform-box:view-box;transform-origin:60px 60px;animation:ag-breathe 4.6s ease-in-out infinite}
.ag .tri{transform-box:view-box;transform-origin:60px 62px}
.ag.thinking .tri{animation:ag-spin 1.4s cubic-bezier(.6,0,.4,1) infinite}
.ag .n{transform-box:fill-box;transform-origin:center;animation:ag-float 3.6s ease-in-out infinite}
.ag .n2{animation-delay:.5s}.ag .n3{animation-delay:1s}
.ag.speaking .n{animation:ag-talk .4s ease-in-out infinite alternate}
.ag.speaking .n2{animation-delay:.13s}.ag.speaking .n3{animation-delay:.26s}
.ag.listening .n{animation:ag-lean 1.1s ease-in-out infinite}
.ag.listening .n2{animation-delay:.15s}.ag.listening .n3{animation-delay:.3s}
@keyframes ag-ripple{0%{transform:scale(.92);opacity:.45}100%{transform:scale(1.32);opacity:0}}
@keyframes ag-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.022)}}
@keyframes ag-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes ag-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@keyframes ag-talk{from{transform:scale(1)}to{transform:scale(1.36)}}
@keyframes ag-lean{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.enter{animation:ag-enter 1.4s cubic-bezier(.16,1,.3,1) both}
@keyframes ag-enter{0%{opacity:0;transform:scale(.55);filter:blur(8px)}100%{opacity:1;transform:scale(1);filter:blur(0)}}

/* astrolabe */
.spin-slow{transform-box:view-box;transform-origin:240px 240px;animation:ag-spin 90s linear infinite}
.spin-rev{transform-box:view-box;transform-origin:240px 240px;animation:ag-spin 60s linear infinite reverse}

/* destinations */
.dest-in{animation:dest-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes dest-in{from{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
.dest:hover .dn{font-style:italic}
.ar{display:inline-block;transition:transform .3s}
.dest:hover .ar{transform:translateX(4px)}

/* words */
.cur{display:inline-block;width:1.5px;height:.95em;background:currentColor;margin-left:3px;vertical-align:-0.12em;animation:cur-blink 1s steps(1) infinite}
@keyframes cur-blink{50%{opacity:0}}
.eq{display:inline-flex;gap:2px;align-items:center;height:12px}
.eq i{display:block;width:2px;height:3px;background:var(--c-14120f);border-radius:1px}
.eq.speaking i{animation:eq .6s ease-in-out infinite alternate}
.eq.speaking i:nth-child(2){animation-delay:.18s}.eq.speaking i:nth-child(3){animation-delay:.36s}
.eq.listening i{animation:eq 1s ease-in-out infinite alternate}
@keyframes eq{from{height:3px}to{height:12px}}
.fade-in{animation:fade-up .8s cubic-bezier(.16,1,.3,1) both}
@keyframes fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pulse{animation:dot-pulse 1.4s ease-in-out infinite}
@keyframes dot-pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* travel */
.roll-out{animation:roll-out 1.15s cubic-bezier(.55,0,.7,.2) both}
@keyframes roll-out{0%{transform:none}16%{transform:translateX(-34px) rotate(-45deg)}100%{transform:translateX(120vw) rotate(1080deg)}}
.roll-in{animation:roll-in 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes roll-in{from{transform:translateX(-70vw) rotate(-1080deg)}to{transform:none}}
.page-in{animation:fade-up .9s .35s cubic-bezier(.16,1,.3,1) backwards}
.tp-label{animation:fade-up .55s .5s cubic-bezier(.16,1,.3,1) both}

/* popup + story player */
.pop-back{animation:fade-in .35s ease both}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.pop-in{animation:pop-in .6s cubic-bezier(.16,1,.3,1) both}
@keyframes pop-in{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.scene{animation:scene-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes scene-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rise{animation:scene-in .9s cubic-bezier(.16,1,.3,1) both}
.d1{animation-delay:.12s}.d2{animation-delay:.24s}
.wave i{display:block;width:4px;border-radius:2px;background:var(--c-14120f);animation:eq2 1s ease-in-out infinite alternate}
.wave i:nth-child(2n){animation-delay:.2s}.wave i:nth-child(3n){animation-delay:.45s}
@keyframes eq2{from{transform:scaleY(.35)}to{transform:scaleY(1)}}

/* Maitra's band */
.band{position:sticky;top:0;z-index:20;background:var(--band-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-e3dacb)}
.band-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"fig cap ctl";gap:16px 36px;align-items:center;padding:20px clamp(20px,4.5vw,72px) 12px}
.band-cap{max-width:860px;padding-left:36px;border-left:1px solid var(--c-d8cfc0);font-size:21px;line-height:1.42;font-weight:300;letter-spacing:-.012em;color:var(--c-14120f)}
.band-sub{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;padding:0 clamp(20px,4.5vw,72px) 14px}
.chip{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--c-cfc5b4);background:var(--c-ffffff);color:var(--c-14120f);font:14px 'Geist',sans-serif;cursor:pointer;transition:border-color .2s,background .2s}
.chip:hover{border-color:var(--c-14120f)}
@media (max-width: 980px){
  .band{position:relative}
  .band-main{grid-template-columns:auto 1fr;grid-template-areas:"fig ctl" "cap cap"}
  .band-cap{padding-left:0;border-left:0;font-size:19px}
}
@media (max-width: 640px){
  .band-main{grid-template-columns:minmax(0,1fr);grid-template-areas:"fig" "cap" "ctl"}
  .band-main > div[style*="grid-area: ctl"]{justify-self:start !important;flex-wrap:wrap}
  .band-cap{font-size:18px}
}

@media (max-width: 760px){
  .orbit{height:auto !important;display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:240px}
  .orbit .slot{position:static !important;transform:none !important}
  .orbit .slot .dest{align-items:center !important;text-align:center !important}
  .orbit .mitra{top:120px !important}
  .orbit .lines,.orbit .astro{display:none}
  .welcome-in .w-top{order:-3}
  .welcome-in .w-cap{order:-2;min-height:0 !important;margin:4px 0 0 !important}
  .welcome-in .w-cap h1{font-size:34px !important}
  .welcome-in .w-cap p{font-size:18px !important}
  .orbit{padding-top:224px}
  .orbit .mitra{top:112px !important}
  .howline{display:none}
}
@media (prefers-reduced-motion: reduce){
  .ag *,.cur,.pulse,.enter,.dest-in,.fade-in,.roll-out,.roll-in,.page-in,.tp-label,.spin-slow,.spin-rev,.eq i,.scene,.rise,.wave i,.pop-in,.pop-back{animation:none !important}
}

/* project scenes */
.scene-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}
.flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}
.flow-arrow{flex:none}
.look{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:32px;padding:36px 24px;border-radius:26px;background:var(--c-f5f0e8)}
.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.8s .2s cubic-bezier(.55,0,.25,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.fade-late{animation:fade-in 1s 1.4s ease both}
.forget{animation:forget 1s ease forwards}
@keyframes forget{to{opacity:.16;transform:scale(.45)}}
.pop{animation:pop .55s cubic-bezier(.16,1,.3,1) both}
@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:none}}
.grow{transform-origin:left center;animation:grow 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes grow{from{transform:scaleX(0)}to{transform:none}}
@media (max-width: 900px){
  .scene-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .flow-arrow{transform:rotate(90deg)}
}
@media (prefers-reduced-motion: reduce){
  .draw{animation:none;stroke-dashoffset:0}
  .fade-late,.forget,.pop,.grow{animation:none !important}
}

/* slim top bar */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;height:64px;padding:0 clamp(16px,4.5vw,72px);background:var(--bar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-ede6da)}
.tb-home{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--c-cfc5b4);background:var(--c-ffffff);color:var(--c-14120f);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tb-home:hover{background:var(--c-14120f);color:var(--c-ffffff);border-color:var(--c-14120f)}
.tb-links{flex:1;min-width:0;display:flex;align-items:center;gap:26px;overflow-x:auto;scrollbar-width:none}
.tb-links::-webkit-scrollbar{display:none}
.tb-link{flex:none;height:64px;padding:0;border:0;background:transparent;color:var(--c-5c564d);font:14px 'Geist',sans-serif;cursor:pointer;white-space:nowrap;box-shadow:inset 0 0 0 transparent;transition:color .2s,box-shadow .2s}
.tb-link:hover{color:var(--c-14120f)}
.tb-link.on{color:var(--c-14120f);font-weight:500;box-shadow:inset 0 -2px 0 var(--c-14120f)}
.tb-right{flex:none;display:flex;align-items:center;gap:10px}

/* Maitra on the page */
.hero{padding:36px clamp(20px,4.5vw,72px) 28px}
.hero.compact{padding:28px clamp(20px,4.5vw,72px) 26px}
.hero-row{margin-top:22px;display:flex;align-items:flex-start;gap:30px}
.hero.compact .hero-row{margin-top:14px;gap:22px}
.hero-fig{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.hero-main{flex:1;min-width:0}
.hero-ctl{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.hero.compact .hero-ctl{margin-top:12px}
@media (max-width: 760px){
  .hero-row{flex-direction:column;gap:14px}
  .hero-fig{flex-direction:row}
  .topbar{gap:12px}
}

/* scene extras */
.growy{transform-origin:bottom center;animation:growy 1s cubic-bezier(.16,1,.3,1) both}
@keyframes growy{from{transform:scaleY(0)}to{transform:none}}
.walker{position:absolute;bottom:2px;left:-20px;animation:walk 7s linear infinite}
@keyframes walk{from{transform:translateX(0)}to{transform:translateX(500px)}}
.scan{position:absolute;inset:-4px;border-radius:inherit;box-shadow:0 0 0 2px var(--c-14120f);animation:scan 1.6s ease-in-out infinite}
@keyframes scan{0%,100%{opacity:.25}50%{opacity:1}}
.shimmer{background:linear-gradient(90deg,var(--c-ede6da) 0%,var(--c-f7f3ec) 50%,var(--c-ede6da) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.nudge{animation:nudge 2.4s ease-in-out infinite}
.nudge.n2{animation-delay:.6s}.nudge.n3{animation-delay:1.2s}
@keyframes nudge{0%,100%{transform:none}25%{transform:translate(4px,-3px)}50%{transform:translate(-3px,2px) scale(1.02)}75%{transform:translate(2px,3px)}}
.cursorbob{animation:cursorbob 2.4s ease-in-out infinite}
@keyframes cursorbob{0%,100%{transform:none}50%{transform:translate(-60px,-40px)}}
.chip[aria-pressed="true"]{gap:6px}
@media (prefers-reduced-motion: reduce){
  .growy,.walker,.scan,.shimmer,.nudge,.cursorbob{animation:none !important}
}

/* theme switch + footer */
html{transition:background .3s}
.site-foot{padding:12px clamp(20px,4.5vw,72px) 14px;border-top:1px solid var(--c-ede6da);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font:12px 'Geist',sans-serif;color:var(--c-6e6457)}
.site-foot span:first-child{color:var(--c-4f4a42)}

/* landing on shorter laptop screens */
.welcome.short .welcome-in{padding-top:14px !important}
.welcome.short .welcome-in > div[style*="min-height: 170px"]{min-height:120px !important;gap:12px !important}
.welcome.short .welcome-in p[aria-live]{max-width:860px !important;font-size:18px !important;line-height:1.5 !important}
.welcome.short .welcome-in h1{font-size:clamp(28px,3.4vw,46px) !important}
.welcome.short .askline input{height:40px !important;font-size:18px !important}
.welcome.short .welcome-in .fade-in{margin-top:12px !important}
.welcome.short .welcome-in .fade-in > div:last-child{margin-top:8px !important}
.sl-range{accent-color:var(--c-14120f);height:18px;cursor:pointer}
.sl-range:disabled{cursor:default}

/* the very first entrance: Maitra fills the screen, then zooms out to her place */
html.entering, html.entering body{overflow:hidden}
.zoom-in{animation:zoom-in 2.6s cubic-bezier(.7,0,.16,1) backwards;transform-origin:50% 50%}
@keyframes zoom-in{0%,16%{transform:scale(var(--zs))}100%{transform:scale(1)}}
.late-in{animation:fade-up 1s 2.3s cubic-bezier(.16,1,.3,1) backwards}
.glow-in{animation:glow-in 1.6s 1.5s ease backwards}
@keyframes glow-in{from{opacity:0}}
@media (prefers-reduced-motion: reduce){.zoom-in,.late-in,.glow-in{animation:none !important}}

/* Maitra Journal: phone flies out, dashboard flies in */
.fly-in{animation:fly-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes fly-in{from{opacity:0;transform:translateY(60px) scale(.94)}}
.fly-out{animation:fly-out .8s cubic-bezier(.7,0,.84,0) forwards}
@keyframes fly-out{to{opacity:0;transform:translate(-70vw,-30px) rotate(-8deg) scale(.9)}}
.fly-in-side{animation:fly-in-side 1s cubic-bezier(.16,1,.3,1) both}
@keyframes fly-in-side{from{opacity:0;transform:translateX(60vw) rotate(5deg) scale(.94)}}
.look{overflow:hidden}
@media (prefers-reduced-motion: reduce){.fly-in,.fly-out,.fly-in-side{animation:none !important}}

/* Maitra's looks */
.look-btn{display:block;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;line-height:0}
.look-btn:focus-visible{outline:2px solid var(--c-14120f);outline-offset:8px}
.look-flash{position:absolute;left:50%;top:100%;margin-top:22px;transform:translateX(-50%);white-space:nowrap;font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--c-5c564d);animation:look-flash 1.8s ease both}
@keyframes look-flash{0%{opacity:0;transform:translate(-50%,6px)}15%,70%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
/* halftone */
.ag.halftone .ht{transform-box:fill-box;transform-origin:center}
.ag.halftone.speaking .ht{animation:ht-pulse .7s ease-in-out infinite alternate}
.ag.halftone.thinking .body{animation:ag-spin 2.4s cubic-bezier(.6,0,.4,1) infinite}
.ag.halftone.listening .ht{animation:ht-pulse 1.1s ease-in-out infinite alternate}
@keyframes ht-pulse{from{transform:scale(.6)}to{transform:scale(1.25)}}
/* pebble keeps dark nodes in both themes */
.ag.pebble [fill="#14120F" i]{fill:#14120F}.ag.pebble [stroke="#14120F" i]{stroke:#14120F}
.ag.pebble [stroke="#CFC5B4" i]{stroke:#CFC5B4}
/* ink */
.ag.ink{display:flex;align-items:center;justify-content:center}
.ag.ink .blob{position:absolute;inset:8%;background:radial-gradient(circle at 36% 30%,#3D372F,#1A1713 55%,#0C0A08);border-radius:46% 54% 52% 48% / 52% 44% 56% 48%;animation:ink-morph 9s ease-in-out infinite}
.ag.ink .eye{position:relative;width:16%;height:16%;border-radius:50%;background:#F5F0E8;animation:ink-look 7s ease-in-out infinite}
.ag.ink .ink-ring{position:absolute;inset:2%;border-radius:50%;border:1px solid var(--c-14120f);opacity:0}
.ag.ink.speaking .blob{animation:ink-morph 1.6s ease-in-out infinite,ink-throb .4s ease-in-out infinite alternate}
.ag.ink.speaking .eye{animation:ink-throb .4s ease-in-out infinite alternate}
.ag.ink.speaking .ink-ring{animation:ag-ripple 2s ease-out infinite}
.ag.ink.listening .ink-ring{animation:ag-ripple 1.1s ease-out infinite}
.ag.ink.thinking .blob{animation:ink-morph 2.4s ease-in-out infinite}
.ag.ink.thinking .eye{animation:ink-orbit 1.4s linear infinite}
@keyframes ink-morph{0%,100%{border-radius:46% 54% 52% 48% / 52% 44% 56% 48%}33%{border-radius:58% 42% 45% 55% / 42% 56% 44% 58%}66%{border-radius:42% 58% 56% 44% / 56% 48% 52% 44%}}
@keyframes ink-throb{from{transform:scale(.96)}to{transform:scale(1.05)}}
@keyframes ink-look{0%,100%{transform:translate(0,0)}30%{transform:translate(-18%,-6%)}60%{transform:translate(14%,10%)}}
@keyframes ink-orbit{from{transform:rotate(0) translateX(60%) rotate(0)}to{transform:rotate(360deg) translateX(60%) rotate(-360deg)}}
@media (prefers-reduced-motion: reduce){.ag.ink *,.ag.halftone *{animation:none !important}}
.pop-in .scene{scroll-margin-top:76px}
@media (max-width: 640px){
  .flow{flex-direction:column;align-items:stretch}
  .flow > div:not(.flow-arrow){max-width:none !important;flex-basis:auto !important}
  .flow-arrow{align-self:center}
  .flow-arrow svg{transform:rotate(90deg)}
}
.flow > .flow-arrow{align-self:center}

/* Site palettes — same lightness steps as Sand, different undertone (chosen with the palette control) */
:root[data-palette="stone"]{--c-f7f3ec:#F4F2EF;--c-f5f0e8:#F1EFEC;--c-f4eee4:#EFEDE9;--c-f1ebe1:#ECEAE6;--c-ede6da:#E7E4E0;--c-e7e5e0:#E5E4E2;--c-e3dacb:#DCD8D2;--c-e2d9cb:#DBD7D2;--c-d8cfc0:#D2CDC6;--c-d3c9b8:#CCC7BF;--c-cfc5b4:#C8C3BB;--c-b9ae9c:#B1ACA4;--c-8a7f6e:#827D76;--c-6e6457:#67635E;--c-5c564d:#575552;--c-4f4a42:#4B4946;--c-2e2a24:#2B2927;--c-14120f:#121211;--glow-a:#EFEDE9;--glow-b:rgba(239,237,233,0.75);--band-bg:rgba(244,242,239,0.96);}
:root[data-theme="dark"][data-palette="stone"]{--c-f7f3ec:#171716;--c-f5f0e8:#1B1B1A;--c-f4eee4:#1D1D1C;--c-f1ebe1:#1F1E1D;--c-ede6da:#272624;--c-e7e5e0:#292827;--c-e3dacb:#31302E;--c-e2d9cb:#31302E;--c-d8cfc0:#3F3D3A;--c-d3c9b8:#444240;--c-cfc5b4:#4E4C49;--c-b9ae9c:#65635F;--c-8a7f6e:#888580;--c-6e6457:#9D9994;--c-5c564d:#ADAAA6;--c-4f4a42:#BDBAB5;--c-2e2a24:#D7D5D1;--c-14120f:#EFEDE9;--glow-a:#1D1D1C;--glow-b:rgba(29,29,28,0.7);--band-bg:rgba(23,23,22,0.95);}
:root[data-palette="porcelain"]{--c-f7f3ec:#F2F2F2;--c-f5f0e8:#EEEEEE;--c-f4eee4:#ECECEC;--c-f1ebe1:#E9E9E9;--c-ede6da:#E3E3E3;--c-e7e5e0:#E3E3E3;--c-e3dacb:#D7D7D7;--c-e2d9cb:#D6D6D6;--c-d8cfc0:#CCCCCC;--c-d3c9b8:#C5C5C5;--c-cfc5b4:#C2C2C2;--c-b9ae9c:#ABABAB;--c-8a7f6e:#7C7C7C;--c-6e6457:#626262;--c-5c564d:#545454;--c-4f4a42:#484848;--c-2e2a24:#292929;--c-14120f:#121212;--glow-a:#ECECEC;--glow-b:rgba(236,236,236,0.75);--band-bg:rgba(242,242,242,0.96);}
:root[data-theme="dark"][data-palette="porcelain"]{--c-f7f3ec:#161616;--c-f5f0e8:#1A1A1A;--c-f4eee4:#1C1C1C;--c-f1ebe1:#1E1E1E;--c-ede6da:#262626;--c-e7e5e0:#282828;--c-e3dacb:#303030;--c-e2d9cb:#303030;--c-d8cfc0:#3D3D3D;--c-d3c9b8:#424242;--c-cfc5b4:#4C4C4C;--c-b9ae9c:#626262;--c-8a7f6e:#848484;--c-6e6457:#999999;--c-5c564d:#AAAAAA;--c-4f4a42:#B9B9B9;--c-2e2a24:#D4D4D4;--c-14120f:#ECECEC;--glow-a:#1C1C1C;--glow-b:rgba(28,28,28,0.7);--band-bg:rgba(22,22,22,0.95);}
:root[data-palette="slate"]{--c-f7f3ec:#EAF1F9;--c-f5f0e8:#E6EEF7;--c-f4eee4:#E2EBF6;--c-f1ebe1:#DFE8F3;--c-ede6da:#D8E2EF;--c-e7e5e0:#E0E3E7;--c-e3dacb:#C9D5E5;--c-e2d9cb:#C9D5E4;--c-d8cfc0:#BECADA;--c-d3c9b8:#B6C4D5;--c-cfc5b4:#B2C0D1;--c-b9ae9c:#99A8BC;--c-8a7f6e:#6B7A8C;--c-6e6457:#556170;--c-5c564d:#4B535E;--c-4f4a42:#404851;--c-2e2a24:#22282F;--c-14120f:#0F1114;--glow-a:#E2EBF6;--glow-b:rgba(226,235,246,0.75);--band-bg:rgba(234,241,249,0.96);}
:root[data-theme="dark"][data-palette="slate"]{--c-f7f3ec:#151618;--c-f5f0e8:#181A1D;--c-f4eee4:#1A1C1F;--c-f1ebe1:#1B1E21;--c-ede6da:#222529;--c-e7e5e0:#26282A;--c-e3dacb:#2B2F34;--c-e2d9cb:#2B2F34;--c-d8cfc0:#353C44;--c-d3c9b8:#3A414A;--c-cfc5b4:#434B54;--c-b9ae9c:#57616D;--c-8a7f6e:#778291;--c-6e6457:#8B97A6;--c-5c564d:#9DA8B6;--c-4f4a42:#ADB8C5;--c-2e2a24:#C9D3DF;--c-14120f:#E3EBF5;--glow-a:#1A1C1F;--glow-b:rgba(26,28,31,0.7);--band-bg:rgba(21,22,24,0.95);}
:root[data-palette="sage"]{--c-f7f3ec:#EFF5EE;--c-f5f0e8:#ECF2EB;--c-f4eee4:#E9F0E8;--c-f1ebe1:#E6EDE5;--c-ede6da:#E0EADD;--c-e7e5e0:#E2E5E2;--c-e3dacb:#D3DFCF;--c-e2d9cb:#D2DECF;--c-d8cfc0:#C8D4C4;--c-d3c9b8:#C1CEBD;--c-cfc5b4:#BDCAB9;--c-b9ae9c:#A4B3A2;--c-8a7f6e:#768573;--c-6e6457:#5E6A5B;--c-5c564d:#525950;--c-4f4a42:#464C45;--c-2e2a24:#272C26;--c-14120f:#111310;--glow-a:#E9F0E8;--glow-b:rgba(233,240,232,0.75);--band-bg:rgba(239,245,238,0.96);}
:root[data-theme="dark"][data-palette="sage"]{--c-f7f3ec:#161716;--c-f5f0e8:#1A1C19;--c-f4eee4:#1C1E1B;--c-f1ebe1:#1D201C;--c-ede6da:#242724;--c-e7e5e0:#272927;--c-e3dacb:#2E322D;--c-e2d9cb:#2E322D;--c-d8cfc0:#3A4039;--c-d3c9b8:#40453F;--c-cfc5b4:#494F48;--c-b9ae9c:#5F685C;--c-8a7f6e:#808B7D;--c-6e6457:#94A091;--c-5c564d:#A6B0A3;--c-4f4a42:#B5BFB2;--c-2e2a24:#D1DACE;--c-14120f:#E9F0E8;--glow-a:#1C1E1B;--glow-b:rgba(28,30,27,0.7);--band-bg:rgba(22,23,22,0.95);}
:root[data-palette="mist"]{--c-f7f3ec:#F1EEF5;--c-f5f0e8:#EDEBF2;--c-f4eee4:#EBE7F2;--c-f1ebe1:#E8E4EF;--c-ede6da:#E2DDEA;--c-e7e5e0:#E3E1E6;--c-e3dacb:#D5CFDF;--c-e2d9cb:#D5CFDE;--c-d8cfc0:#CAC4D4;--c-d3c9b8:#C3BCCF;--c-cfc5b4:#BFB8CB;--c-b9ae9c:#A8A1B4;--c-8a7f6e:#7A7385;--c-6e6457:#615B6A;--c-5c564d:#535059;--c-4f4a42:#47454C;--c-2e2a24:#28262C;--c-14120f:#111013;--glow-a:#EBE7F2;--glow-b:rgba(235,231,242,0.75);--band-bg:rgba(241,238,245,0.96);}
:root[data-theme="dark"][data-palette="mist"]{--c-f7f3ec:#161617;--c-f5f0e8:#1A191C;--c-f4eee4:#1C1B1E;--c-f1ebe1:#1E1C20;--c-ede6da:#252328;--c-e7e5e0:#282729;--c-e3dacb:#2F2D32;--c-e2d9cb:#2F2D32;--c-d8cfc0:#3C3940;--c-d3c9b8:#413E46;--c-cfc5b4:#4A484F;--c-b9ae9c:#615C68;--c-8a7f6e:#827C8C;--c-6e6457:#9791A0;--c-5c564d:#A8A2B1;--c-4f4a42:#B7B2C0;--c-2e2a24:#D3CEDA;--c-14120f:#EBE8F0;--glow-a:#1C1B1E;--glow-b:rgba(28,27,30,0.7);--band-bg:rgba(22,22,23,0.95);}
.pal-wrap{position:relative;flex:none;display:flex}
.pal-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:60;display:flex;flex-direction:column;gap:10px;padding:12px 14px 10px;border-radius:16px;background:var(--bar-bg);border:1px solid var(--c-e3dacb);box-shadow:0 14px 34px rgba(20,18,15,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:pal-in .18s ease both}
.pal-row{display:flex;gap:8px}
.pal-sw{width:26px;height:26px;padding:0;border-radius:50%;border:0;cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.10);transition:transform .15s}
.pal-sw:hover{transform:scale(1.12)}
.pal-sw.on::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--c-14120f)}
.pal-sw:focus-visible{outline:2px solid var(--c-14120f);outline-offset:4px}
.pal-name{text-align:center;font:500 10px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--c-6e6457)}
@keyframes pal-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Slide controls — a floating pill at the bottom centre */
.player{position:sticky;bottom:20px;z-index:30;align-self:center;margin:0 auto 22px;display:flex;align-items:center;gap:6px;padding:6px 16px 6px 6px;border-radius:999px;background:var(--bar-bg);border:1px solid var(--c-e3dacb);box-shadow:0 16px 40px -18px rgba(20,18,15,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:pl-in .5s cubic-bezier(.16,1,.3,1) both}
.player .pl-btn,.player .pl-play{width:40px;height:40px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--c-14120f);background:transparent;border:0;transition:background .2s}
.player .pl-btn:hover{background:var(--c-f1ebe1)}
.player .pl-play{width:44px;height:44px;background:var(--c-14120f);color:var(--c-ffffff)}
.player .pl-play:hover{opacity:.88}
.player button:focus-visible{outline:2px solid var(--c-14120f);outline-offset:2px}
.player .pl-dots{display:flex;gap:3px;width:84px;margin-left:10px}
.player .pl-dots span{flex:1;height:2px;border-radius:2px;transition:background .4s}
.player .pl-label{margin-left:8px;font:500 10.5px 'Geist Mono',monospace;letter-spacing:.08em;color:var(--c-6e6457);white-space:nowrap}
@keyframes pl-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:420px){.player .pl-dots{width:48px}}

/* Who we are: the item Maitra is reading stands out */
.ab-item{transition:opacity .5s,transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s}
.ab-item.dim{opacity:.42 !important}
.ab-item.on{transform:translateY(-6px) !important;box-shadow:0 30px 50px -30px rgba(20,18,15,.45)}

/* Mic: on while it is listening (click again to stop) */
.mic-on{background:var(--c-14120f) !important;color:var(--c-ffffff) !important;border-color:var(--c-14120f) !important;animation:mic-pulse 1.4s ease-out infinite}
@keyframes mic-pulse{0%{box-shadow:0 0 0 0 rgba(20,18,15,.35)}100%{box-shadow:0 0 0 12px rgba(20,18,15,0)}}
.dict-hint{font:500 10.5px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--c-6e6457)}
@media (prefers-reduced-motion: reduce){.mic-on{animation:none}}

/* Spectrum — a playful palette: forest-green ink, and each card in its own soft colour */
:root[data-palette="spectrum"]{--c-14120f:#10372B;--c-2e2a24:#0C2A21;--c-4f4a42:#34584C;--c-5c564d:#34584C;--c-6e6457:#5F7D72;--c-8a7f6e:#5F7D72;--c-b9ae9c:#95ADA4;--c-cfc5b4:#C3D8CE;--c-d3c9b8:#C3D8CE;--c-d8cfc0:#C3D8CE;--c-e2d9cb:#DCEBE4;--c-e3dacb:#DCEBE4;--c-e7e5e0:#DCEBE4;--c-ede6da:#E6F2EC;--c-f1ebe1:#E6F2EC;--c-f4eee4:#F1F8F4;--c-f5f0e8:#F1F8F4;--c-f7f3ec:#F1F8F4;--glow-a:#D9F2E4;--glow-b:rgba(220,240,255,.7);--band-bg:rgba(241,248,244,.96);}
:root[data-theme="dark"][data-palette="spectrum"]{--c-ffffff:#0F1311;--c-f7f3ec:#141917;--c-f5f0e8:#161E1B;--c-f4eee4:#18201D;--c-f1ebe1:#19231E;--c-ede6da:#202B26;--c-e7e5e0:#252B28;--c-e3dacb:#283730;--c-e2d9cb:#283730;--c-d8cfc0:#32473D;--c-d3c9b8:#374D43;--c-cfc5b4:#40584C;--c-b9ae9c:#527263;--c-8a7f6e:#719785;--c-6e6457:#85AC9A;--c-5c564d:#97BCAB;--c-4f4a42:#A7CBBA;--c-2e2a24:#C4E4D5;--c-14120f:#DFF9ED;--glow-a:#18201D;--glow-b:rgba(20,32,27,.7);--bar-bg:rgba(15,21,19,.9);--band-bg:rgba(18,26,23,.95);}
:root[data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+1):not([style*="background: var(--c-14120f)"]),:root[data-palette="spectrum"] li.ab-item:nth-child(6n+1),:root[data-palette="spectrum"] article.ab-item:nth-child(6n+1) > .rise{background:#C9F0D8 !important;border-color:transparent !important}
:root[data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+2):not([style*="background: var(--c-14120f)"]),:root[data-palette="spectrum"] li.ab-item:nth-child(6n+2),:root[data-palette="spectrum"] article.ab-item:nth-child(6n+2) > .rise{background:#E2D6FF !important;border-color:transparent !important}
:root[data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+3):not([style*="background: var(--c-14120f)"]),:root[data-palette="spectrum"] li.ab-item:nth-child(6n+3),:root[data-palette="spectrum"] article.ab-item:nth-child(6n+3) > .rise{background:#FFF0B3 !important;border-color:transparent !important}
:root[data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+4):not([style*="background: var(--c-14120f)"]),:root[data-palette="spectrum"] li.ab-item:nth-child(6n+4),:root[data-palette="spectrum"] article.ab-item:nth-child(6n+4) > .rise{background:#CDE5FF !important;border-color:transparent !important}
:root[data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+5):not([style*="background: var(--c-14120f)"]),:root[data-palette="spectrum"] li.ab-item:nth-child(6n+5),:root[data-palette="spectrum"] article.ab-item:nth-child(6n+5) > .rise{background:#FFD6DE !important;border-color:transparent !important}
:root[data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+6):not([style*="background: var(--c-14120f)"]),:root[data-palette="spectrum"] li.ab-item:nth-child(6n+6),:root[data-palette="spectrum"] article.ab-item:nth-child(6n+6) > .rise{background:#DDEBCB !important;border-color:transparent !important}
:root[data-theme="dark"][data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+1):not([style*="background: var(--c-14120f)"]),:root[data-theme="dark"][data-palette="spectrum"] li.ab-item:nth-child(6n+1),:root[data-theme="dark"][data-palette="spectrum"] article.ab-item:nth-child(6n+1) > .rise{background:#343F39 !important;border-color:transparent !important}
:root[data-theme="dark"][data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+2):not([style*="background: var(--c-14120f)"]),:root[data-theme="dark"][data-palette="spectrum"] li.ab-item:nth-child(6n+2),:root[data-theme="dark"][data-palette="spectrum"] article.ab-item:nth-child(6n+2) > .rise{background:#393A41 !important;border-color:transparent !important}
:root[data-theme="dark"][data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+3):not([style*="background: var(--c-14120f)"]),:root[data-theme="dark"][data-palette="spectrum"] li.ab-item:nth-child(6n+3),:root[data-theme="dark"][data-palette="spectrum"] article.ab-item:nth-child(6n+3) > .rise{background:#3F3F31 !important;border-color:transparent !important}
:root[data-theme="dark"][data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+4):not([style*="background: var(--c-14120f)"]),:root[data-theme="dark"][data-palette="spectrum"] li.ab-item:nth-child(6n+4),:root[data-theme="dark"][data-palette="spectrum"] article.ab-item:nth-child(6n+4) > .rise{background:#353D41 !important;border-color:transparent !important}
:root[data-theme="dark"][data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+5):not([style*="background: var(--c-14120f)"]),:root[data-theme="dark"][data-palette="spectrum"] li.ab-item:nth-child(6n+5),:root[data-theme="dark"][data-palette="spectrum"] article.ab-item:nth-child(6n+5) > .rise{background:#3F3A3A !important;border-color:transparent !important}
:root[data-theme="dark"][data-palette="spectrum"] [id^="stage-card-"]:nth-child(6n+6):not([style*="background: var(--c-14120f)"]),:root[data-theme="dark"][data-palette="spectrum"] li.ab-item:nth-child(6n+6),:root[data-theme="dark"][data-palette="spectrum"] article.ab-item:nth-child(6n+6) > .rise{background:#383E36 !important;border-color:transparent !important}
:root[data-palette="spectrum"] div[style*="radial-gradient(circle, var(--glow-a)"]{background:conic-gradient(from 200deg, #FFE2EC, #E3DBFF, #D4EEFF, #D6F5E3, #FFF3C4, #FFE2EC) !important;-webkit-mask:radial-gradient(circle, #000 0%, rgba(0,0,0,.75) 28%, transparent 64%);mask:radial-gradient(circle, #000 0%, rgba(0,0,0,.75) 28%, transparent 64%)}
:root[data-theme="dark"][data-palette="spectrum"] div[style*="radial-gradient(circle, var(--glow-a)"]{background:conic-gradient(from 200deg, #524D4E, #4A4B54, #465054, #47524C, #525243, #524D4E) !important}
:root[data-palette="spectrum"] .ag.halftone .ht{fill:var(--c-14120f)}

/* v1.41 — Skip intro pill */
.skip-pill{transition:box-shadow .2s ease}
.skip-pill:hover{box-shadow:0 18px 40px -12px rgba(20,18,15,0.7)}
.skip-pill:focus-visible{outline:2px solid var(--c-14120f);outline-offset:3px}
@media (max-width:760px){.skip-pill{right:16px !important;bottom:84px !important;height:44px !important;padding:0 18px !important;font-size:14px !important}}

/* v1.43 — first-load bar (index.html, replaced once the app renders) */
.boot-bar { display: block; width: 40%; height: 100%; border-radius: 2px; background: #14120F; animation: boot 1.1s ease-in-out infinite; }
@keyframes boot { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@media (prefers-reduced-motion: reduce) { .boot-bar { animation: none; width: 100%; opacity: .4; } }
html[data-theme="dark"] #boot { background: #121110; }
.site-foot .ver{color:var(--c-8a7f6e);font-family:"Geist Mono",monospace;font-size:11px}

/* v1.49 — Breadcrumb note: the steps get crossed out when the app updates */
.strike{background:linear-gradient(var(--c-a8322a),var(--c-a8322a)) no-repeat 0 55%/0 1.5px;animation:strike .5s ease forwards}
@keyframes strike{to{background-size:100% 1.5px}}
@media (prefers-reduced-motion: reduce){.strike{animation:none;background-size:100% 1.5px}}
