/* Sanctuary landing layout — bright ivory, warm gold, soft light. */
:root{
  --gold:#c9a227;
  --gold-deep:#7a5c12;      /* gold text on light surfaces (AA on white) */
  --gold-ink:#5c450c;
  --gold-soft:#f3e6bf;
  --gold-line:rgba(176,138,46,.28);
  --ivory:#fcfaf4;
  --pearl:#ffffff;
  --sky:#eef4fb;
  --ink:#2b2414;
  --ink-2:#5a5040;
  --ink-3:#7c715d;
  --card:rgba(255,255,255,.9);
  --shadow:0 18px 50px -24px rgba(122,92,18,.28),0 2px 6px rgba(122,92,18,.06);
  --r:22px;
  --serif:'Cinzel',Georgia,serif;
  --poetic:'Cormorant Garamond',Georgia,serif;
  --sans:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.sanctuary{margin:0;background:linear-gradient(180deg,var(--pearl) 0%,var(--ivory) 38%,#f8f3e6 100%);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden;min-height:100vh}
::selection{background:var(--gold-soft);color:var(--gold-ink)}
a{color:var(--gold-deep)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* Light: sunrise glow and rays behind everything */
.glow{position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(60% 45% at 50% 0%,rgba(255,236,170,.55) 0%,rgba(255,248,225,.25) 45%,transparent 75%),
    radial-gradient(40% 35% at 85% 20%,rgba(214,232,250,.55),transparent 70%),
    radial-gradient(40% 35% at 10% 30%,rgba(214,232,250,.4),transparent 70%),
    repeating-conic-gradient(from 180deg at 50% -10%,rgba(255,240,190,.16) 0deg 4deg,transparent 4deg 13deg);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 95%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 95%)}
#motes{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
main,.nav,.foot,.preview-note{position:relative;z-index:2}

/* Navigation */
.nav{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,calc((100vw - 1180px)/2));background:rgba(255,253,247,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--gold-line);z-index:20}
.crest{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.seal{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff 30%,var(--gold-soft) 100%);border:1px solid var(--gold-line);box-shadow:0 0 22px rgba(201,162,39,.25);flex-shrink:0}
.seal svg{width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:1.4;transition:transform .8s}
.seal svg .fill{fill:var(--gold);stroke:none}
.crest:hover .seal svg{transform:rotate(45deg)}
.crest-text{display:flex;flex-direction:column;line-height:1;min-width:0}
.crest-text b{font-family:var(--serif);font-weight:700;letter-spacing:.28em;font-size:17px;color:var(--gold-ink);white-space:nowrap}
.crest-text small{font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;white-space:nowrap}
.nav nav{display:flex;align-items:center;gap:10px}
.nav nav>a:not(.btn){font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none;padding:6px 8px}
.nav nav>a:not(.btn):hover{color:var(--gold-deep)}
.preview-note{text-align:center;font-size:13px;padding:8px 16px;background:var(--gold-soft);color:var(--gold-ink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-family:var(--sans);font-weight:700;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background .25s,border-color .25s}
.btn.sm{padding:9px 16px;font-size:12.5px;letter-spacing:.04em}
.btn.lg{padding:15px 26px;font-size:15px;border-radius:18px;min-width:min(290px,100%);text-align:left}
.btn.lg span{display:flex;flex-direction:column}
.btn small{font-weight:500;font-size:11.5px;opacity:.8;letter-spacing:.02em}
.btn.gold{background:linear-gradient(135deg,#fff6d8 0%,#e9cf7a 38%,var(--gold) 70%,#a9821f 100%);color:#3b2c06;box-shadow:0 10px 30px -10px rgba(201,162,39,.65),inset 0 1px 0 rgba(255,255,255,.8)}
.btn.gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(201,162,39,.8),inset 0 1px 0 rgba(255,255,255,.9)}
.btn.ghost{background:rgba(255,255,255,.85);color:var(--gold-ink);border-color:var(--gold-line);box-shadow:0 6px 20px -12px rgba(122,92,18,.3)}
.btn.ghost:hover{transform:translateY(-2px);border-color:var(--gold);background:#fff}
.btn:focus-visible,a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid rgba(201,162,39,.55);outline-offset:3px}

/* Hero */
.hero{position:relative;min-height:calc(100svh - 67px);display:flex;align-items:center;justify-content:center;padding:56px 16px 64px;text-align:center;overflow:hidden}
.halo{position:absolute;top:44%;left:50%;width:min(640px,92vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.halo i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(201,162,39,.32);box-shadow:0 0 120px 20px rgba(255,226,140,.35),inset 0 0 80px 10px rgba(255,236,170,.4);animation:breathe 9s ease-in-out infinite alternate}
.halo i:nth-child(2){inset:7%;border-style:dashed;border-color:rgba(201,162,39,.22);box-shadow:none;animation:spin 120s linear infinite}
.halo i:nth-child(3){inset:17%;border-color:rgba(201,162,39,.14);box-shadow:none;background:radial-gradient(circle,rgba(255,250,232,.9) 0%,rgba(255,250,232,0) 70%);animation:none}
@keyframes breathe{from{transform:scale(.97);opacity:.85}to{transform:scale(1.04);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-in{position:relative;max-width:880px;width:100%}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 18px;font-size:11.5px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow span{height:1px;width:clamp(20px,6vw,64px);background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow span:last-child{background:linear-gradient(270deg,transparent,var(--gold))}
.monument{font-family:var(--serif);font-weight:700;font-size:clamp(52px,14vw,150px);letter-spacing:.16em;padding-left:.16em;line-height:1;margin:0 0 14px;
  background:linear-gradient(180deg,#b8902a 0%,#d9b54a 35%,#8a6716 75%,#6b4f0e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 10px 30px rgba(201,162,39,.25));overflow-wrap:anywhere}
.tagline{font-family:var(--serif);font-size:clamp(11px,1.6vw,14px);letter-spacing:.38em;text-transform:uppercase;color:var(--ink-3);margin:0 0 22px}
.lede{font-family:var(--poetic);font-style:italic;font-size:clamp(20px,2.6vw,28px);line-height:1.45;color:var(--ink-2);max-width:760px;margin:0 auto 34px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.card{background:var(--card);border:1px solid var(--gold-line);border-radius:var(--r);box-shadow:var(--shadow)}
.seats{max-width:640px;margin:40px auto 0;padding:20px 22px;text-align:left}
.seats-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.seats-head .num{letter-spacing:.04em;color:var(--ink-2);font-variant-numeric:tabular-nums}
.seats-head .num b{font-size:15px;color:var(--gold-ink)}
.bar{height:12px;border-radius:999px;background:#f4ecd6;border:1px solid var(--gold-line);margin:10px 0 8px;overflow:hidden;padding:2px}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#d8b85a,var(--gold),#f5e2a2);box-shadow:0 0 12px rgba(201,162,39,.6);min-width:6px;transition:width 1.2s cubic-bezier(.16,1,.3,1)}
.seats-foot{margin:0;font-size:12.5px;color:var(--ink-3)}

/* Sections */
.section{max-width:1180px;margin:0 auto;padding:84px 16px;scroll-margin-top:40px}
.section.narrow{max-width:980px}
.head{text-align:center;margin-bottom:42px}
.kicker{font-size:11.5px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 10px}
.head h2,.closing h2{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4.4vw,46px);letter-spacing:.06em;line-height:1.15;margin:0;color:var(--gold-ink)}
.sub{font-family:var(--poetic);font-style:italic;font-size:clamp(18px,2vw,22px);color:var(--ink-2);margin:10px auto 0;max-width:640px}
.pill{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#fff3c9,#f0d987);color:var(--gold-ink);border:1px solid var(--gold-line)}
.pill.soft{background:#fbf6e8;color:var(--ink-3)}
.fine{display:flex;gap:10px;align-items:flex-start;max-width:820px;margin:26px auto 0;font-size:13px;color:var(--ink-3);line-height:1.55}
.fine .ic{color:var(--gold-deep);margin-top:2px}

/* Path / roadmap */
.path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;position:relative}
.phase{position:relative;padding:30px 26px 26px;overflow:hidden}
.phase .step{position:absolute;right:18px;top:6px;font-family:var(--serif);font-size:64px;font-weight:700;color:rgba(201,162,39,.12);line-height:1}
.phase .pi{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#fff,var(--gold-soft));border:1px solid var(--gold-line);color:var(--gold-deep);margin-bottom:16px}
.phase .pi .ic{width:24px;height:24px}
.phase h3{font-family:var(--serif);font-size:19px;letter-spacing:.04em;margin:0 0 8px;color:var(--ink)}
.phase p{margin:0 0 16px;color:var(--ink-2);font-size:15px}
.phase.now{border-color:rgba(201,162,39,.55);box-shadow:0 22px 60px -26px rgba(201,162,39,.55),0 0 0 4px rgba(255,236,170,.35)}

/* Illustration */
.sim{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;padding:30px}
.sim-controls label[for]{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.sim-controls output{font-family:var(--serif);font-size:22px;letter-spacing:.02em;text-transform:none;color:var(--gold-ink)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--gold) var(--fill,30%),#f1e7cb var(--fill,30%));border:1px solid var(--gold-line);margin:14px 0 6px;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,#fff 25%,#f3dd93 60%,var(--gold) 100%);border:2px solid #fff;box-shadow:0 0 0 1px var(--gold),0 4px 14px rgba(201,162,39,.55)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff 25%,#f3dd93 60%,var(--gold) 100%);border:2px solid #fff;box-shadow:0 0 0 1px var(--gold),0 4px 14px rgba(201,162,39,.55)}
.ticks{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.years{border:0;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.years legend{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;padding:0}
.years label{position:relative}
.years input{position:absolute;opacity:0;inset:0;cursor:pointer}
.years span{display:inline-block;padding:9px 16px;border-radius:999px;border:1px solid var(--gold-line);background:#fff;font-size:13.5px;font-weight:600;color:var(--ink-2);transition:.2s}
.years input:checked+span{background:linear-gradient(135deg,#fff3c9,#ecd27c);color:var(--gold-ink);border-color:var(--gold);box-shadow:0 6px 18px -10px rgba(201,162,39,.8)}
.years input:focus-visible+span{outline:3px solid rgba(201,162,39,.55);outline-offset:2px}
.rate{font-size:13px;color:var(--ink-3);margin:20px 0 0}
.rate b{color:var(--gold-ink)}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpis div{padding:14px;border-radius:16px;background:#fffdf7;border:1px solid var(--gold-line)}
.kpis span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.kpis b{display:block;font-family:var(--serif);font-size:clamp(17px,2.2vw,24px);margin-top:4px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kpis b.g{color:#3f7a3a}
.kpis .total{background:linear-gradient(145deg,#fff7dc,#fbeec4);border-color:rgba(201,162,39,.55)}
.kpis .total b{color:var(--gold-ink)}
.chart{display:flex;align-items:flex-end;gap:clamp(8px,2vw,18px);height:200px;margin-top:22px;padding:0 4px;border-bottom:1px solid var(--gold-line)}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.chart .stack{width:100%;max-width:64px;display:flex;flex-direction:column-reverse;border-radius:10px 10px 3px 3px;overflow:hidden;box-shadow:0 8px 20px -12px rgba(122,92,18,.5);transition:height .5s cubic-bezier(.16,1,.3,1)}
.chart .p{background:linear-gradient(180deg,#e9dcb4,#d9c58d)}
.chart .gr{background:linear-gradient(180deg,#fbe9a6,var(--gold))}
.chart .lbl{font-size:11px;font-weight:600;color:var(--ink-3);margin-top:6px;white-space:nowrap}
.chart .val{font-size:11px;font-weight:700;color:var(--gold-ink);margin-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.legend{display:flex;gap:14px;font-size:11.5px;color:var(--ink-3);margin-top:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.fine.wide{grid-column:1/-1;margin:0;max-width:none;padding-top:18px;border-top:1px solid var(--gold-line)}

/* Leadership */
.office{margin-top:34px}
.office h3{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 18px}
.office h3::before,.office h3::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line))}
.office h3::after{background:linear-gradient(270deg,transparent,var(--gold-line))}
.leaders{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.leader{width:min(220px,calc(50% - 9px));padding:22px 16px;text-align:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.leader:hover{transform:translateY(-4px)}
.ava{width:88px;height:88px;margin:0 auto 12px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,#fff4cf,var(--gold),#fff4cf,#e7cd7a,#fff4cf);box-shadow:0 0 28px rgba(201,162,39,.35)}
.ava img,.ava span{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#fffaf0;border:2px solid #fff;font-family:var(--serif);font-weight:700;font-size:26px;color:var(--gold-deep)}
.leader h4{font-size:15.5px;margin:0;color:var(--ink);overflow-wrap:anywhere}
.leader .role{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:4px 0 0}
.leader .bio{font-size:13px;color:var(--ink-2);margin:10px 0 0;line-height:1.5}

/* Plans & steps */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.plan{padding:24px}
.plan b{display:block;font-family:var(--serif);font-size:28px;color:var(--gold-ink);margin:12px 0 6px}
.plan p{margin:0 0 10px;color:var(--ink-2);font-size:14.5px}
.plan small{color:var(--ink-3)}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.steps li{counter-increment:s;padding:24px 22px 22px}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--serif);font-size:30px;color:rgba(201,162,39,.55);margin-bottom:8px}
.steps b{font-size:16px}
.steps p{margin:6px 0 0;color:var(--ink-2);font-size:14.5px}

/* Closing */
.closing{padding:40px 16px 96px}
.covenant{max-width:860px;margin:0 auto;padding:48px 28px;text-align:center;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,247,222,.9));border-color:rgba(201,162,39,.45)}
.seal.big{width:64px;height:64px;margin:0 auto 18px}
.seal.big svg{width:38px;height:38px}
blockquote{font-family:var(--poetic);font-style:italic;font-size:clamp(20px,2.6vw,26px);color:var(--ink-2);margin:0 auto 18px;max-width:640px}
blockquote cite{display:block;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-top:8px}
.closing h2{margin-bottom:26px}

/* Footer */
.foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:28px max(16px,calc((100vw - 1180px)/2));border-top:1px solid var(--gold-line);font-size:12.5px;color:var(--ink-3);background:rgba(255,253,247,.7)}
.foot .cz{font-family:var(--serif);letter-spacing:.3em;color:var(--gold-ink)}
.foot .legal{flex:1 1 320px;text-align:center}
.foot a{color:var(--gold-deep)}

/* Sound toggle */
.sound{position:fixed;left:16px;bottom:16px;z-index:30;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--gold-line);background:rgba(255,255,255,.9);backdrop-filter:blur(10px);color:var(--gold-ink);font:600 12px var(--sans);letter-spacing:.06em;cursor:pointer;box-shadow:var(--shadow)}
.sound .wave{opacity:.25;transition:opacity .3s}
.sound[aria-pressed=true] .wave{opacity:1}

/* Small screens */
@media (max-width:860px){
  .sim{grid-template-columns:1fr;padding:22px}
  .hide-sm{display:none}
}
@media (max-width:520px){
  .crest-text small{display:none}
  .eyebrow span{display:none}
  .eyebrow{letter-spacing:.24em}
  .crest-text b{font-size:15px;letter-spacing:.2em}
  .seal{width:36px;height:36px}
  .btn.ghost.sm span{display:none}
  .btn.ghost.sm{padding:9px 11px}
  .btn.lg{width:100%}
  .kpis{grid-template-columns:1fr 1fr}
  .kpis .total{grid-column:1/-1}
  .chart{height:170px}
  .chart .val{font-size:10px}
  .section{padding:64px 16px}
  .covenant{padding:36px 18px}
  .sound span{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  #motes{display:none}
}
@media print{.glow,#motes,.sound,.nav{display:none}}
