@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage.woff2) format("woff2");font-weight:500 800;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --night:#17143A;--dusk:#4B2FA8;--rose:#E2447F;--sun:#FFA44A;
  --mist:#F5F2FF;--stone:#B9B2D4;--ink:#1D1A3D;--ink-soft:#4F4A73;
  --display:"Bricolage Grotesque",system-ui,sans-serif;--text:"Newsreader",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mist);color:var(--ink);font:400 1.2rem/1.7 var(--text)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.012em}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;min-height:min(100svh,780px);
  background:
    radial-gradient(55% 48% at 70% 100%,rgba(255,164,74,.9) 0%,rgba(226,68,127,.55) 38%,rgba(226,68,127,0) 72%),
    linear-gradient(180deg,#17143A 0%,#271B78 42%,#4B2FA8 70%,#8B3BA2 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:28px;padding-bottom:140px}
.brand{font:700 1.5rem var(--display);text-decoration:none;letter-spacing:-.01em}
.hero h1{font-size:clamp(2.7rem,7vw,5.2rem);line-height:1.02;font-weight:700;max-width:11em;margin:12vh 0 22px}
.hero .lead{font-size:clamp(1.2rem,2.2vw,1.45rem);max-width:30em;color:#E9E4FF;margin:0 0 26px}
.pill{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 16px;font-size:1rem;margin:0 0 28px}
.btn{display:inline-block;font:700 1.1rem var(--display);text-decoration:none;padding:15px 28px;border-radius:12px;background:var(--sun);color:var(--night);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,164,74,.45)}
.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);margin-left:10px}
.btn.ghost:hover{box-shadow:none;background:rgba(255,255,255,.1)}
.cairn{position:absolute;z-index:1;right:max(2vw,calc(50% - 520px + 24px));bottom:62px;width:min(42vw,430px)}
.hill{position:absolute;z-index:1;left:0;bottom:-1px;width:100%;height:150px}
.stone{transform-box:fill-box;transform-origin:50% 100%;animation:settle .9s cubic-bezier(.22,1.1,.36,1) both}
.s1{animation-delay:.1s}.s2{animation-delay:.35s}.s3{animation-delay:.6s}.s4{animation-delay:.85s}.s5{animation-delay:1.1s}
@keyframes settle{from{transform:translateY(-260px) rotate(-8deg);opacity:0}60%{opacity:1}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.stone{animation:none}html{scroll-behavior:auto}.btn,.join button{transition:none}}

/* sections */
section{padding:84px 0}
h2{font-size:clamp(2rem,4.4vw,3rem);font-weight:700;line-height:1.08;margin-bottom:30px}
p{margin:0 0 16px}
.prose{max-width:34em}

/* trail of stones */
.trail{list-style:none;margin:0;padding:0;position:relative;max-width:40em}
.trail::before{content:"";position:absolute;left:23px;top:26px;bottom:26px;border-left:3px dotted var(--stone)}
.trail li{position:relative;padding:0 0 28px 72px}
.trail li:last-child{padding-bottom:0}
.trail li::before{counter-increment:t;content:counter(t);position:absolute;left:0;top:0;width:48px;height:42px;
  background:linear-gradient(145deg,var(--dusk),var(--rose));color:#fff;font:700 1.1rem/42px var(--display);text-align:center;
  border-radius:52% 48% 46% 54%/58% 52% 48% 42%;box-shadow:0 5px 0 rgba(23,20,58,.12)}
.trail{counter-reset:t}
.trail strong{font:700 1.3rem var(--display);display:block;letter-spacing:-.01em}

/* not */
.not{background:#fff}
.not .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.not h3{font-size:1.5rem;font-weight:700;margin-bottom:8px;color:var(--dusk)}

/* price */
.price{background:var(--night);color:#fff}
.price h2{color:#fff}
.amount{font:700 clamp(3rem,9vw,6rem)/1 var(--display);color:var(--sun);letter-spacing:-.03em;margin:0 0 12px}
.price p{color:#D8D2F5;max-width:34em}

/* join */
.join{background:linear-gradient(100deg,#FFA44A 0%,#FF7E6B 100%);color:var(--night)}
.join h2{margin-bottom:14px}
.join form{max-width:34em}
.join .row{display:flex;gap:10px;margin-top:6px}
.join input[type=email]{flex:1;min-width:0;padding:15px 16px;font:500 1.1rem var(--display);color:var(--night);background:#fff;border:2px solid transparent;border-radius:12px}
.join input[type=email]::placeholder{color:#8A84A8}
.join button{font:700 1.1rem var(--display);padding:15px 26px;border:0;border-radius:12px;background:var(--night);color:#fff;cursor:pointer;transition:transform .15s,box-shadow .15s;white-space:nowrap}
.join button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(23,20,58,.35)}
.join button[disabled]{opacity:.65;cursor:wait;transform:none;box-shadow:none}
.join .note{font-size:1rem;margin:14px 0 0}
#msg{min-height:1.6em;margin:10px 0 0;font-weight:600}
#msg.err{color:#6B0A2A}
#done{font-size:1.4rem;margin:0;max-width:30em}
.sr,.hp{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}
.doc{padding:56px 0 72px}.doc h1{font-size:clamp(2rem,5vw,3rem);margin:18px 0 8px}.doc h2{font-size:1.5rem;margin:32px 0 8px}.doc ul{padding-left:20px}.doc li{margin-bottom:6px}.doc .prose{max-width:36em}.doc .brand{color:var(--night)}
footer a{color:#fff}

/* faq */
details{border-top:1px solid #D9D3EF;padding:16px 0;max-width:40em}
details:last-of-type{border-bottom:1px solid #D9D3EF}
summary{cursor:pointer;font:600 1.2rem var(--display)}
summary::marker{color:var(--rose)}
details p{margin:10px 0 0;color:var(--ink-soft)}

footer{background:var(--night);color:var(--stone);padding:36px 0;font-size:1rem}

@media (max-width:760px){
  .join .row{flex-direction:column}
  .hero .wrap{padding-bottom:340px}
  .hero h1{margin-top:7vh}
  .cairn{width:min(70vw,300px);right:50%;transform:translateX(50%);bottom:56px}
  .btn.ghost{margin:12px 0 0}
  .not .cols{grid-template-columns:1fr;gap:26px}
  section{padding:60px 0}
}
.doc .back{margin-top:36px}

/* language switcher */
.top{display:flex;justify-content:space-between;align-items:center;gap:14px 20px;flex-wrap:wrap}
.langs ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.langs a{display:block;padding:6px 14px;border-radius:999px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:.95rem;line-height:1.5;color:#fff;border:1px solid rgba(255,255,255,.4)}
.langs a:hover{background:rgba(255,255,255,.14)}
.langs a[aria-current]{background:#fff;color:var(--night);border-color:#fff}
.doc .langs a{color:var(--night);border-color:#C9C2E4}
.doc .langs a:hover{background:#E9E4FA}
.doc .langs a[aria-current]{background:var(--night);color:#fff;border-color:var(--night)}
.brand{font-family:"Bricolage Grotesque",system-ui,sans-serif}

/* Chinese and Tamil: system fonts, no negative tracking, taller lines */
html:lang(zh){--display:"Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;--text:"Noto Serif SC","Songti SC","Noto Sans SC","PingFang SC","Microsoft YaHei",serif}
html:lang(ta){--display:"Noto Sans Tamil","Nirmala UI","Latha","Tamil Sangam MN",system-ui,sans-serif;--text:"Noto Sans Tamil","Nirmala UI","Latha","Tamil Sangam MN",system-ui,sans-serif}
html:lang(zh) body{line-height:1.85}
html:lang(ta) body{line-height:1.9}
html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3,html:lang(ta) h1,html:lang(ta) h2,html:lang(ta) h3,html:lang(zh) .amount,html:lang(ta) .amount{letter-spacing:0}
html:lang(zh) .hero h1{font-size:clamp(2.4rem,6.4vw,4.4rem);line-height:1.18;max-width:12em}
html:lang(ta) .hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.3;max-width:15em}
html:lang(ta) h2,html:lang(zh) h2{line-height:1.3}
html:lang(zh) .amount,html:lang(ta) .amount{font-size:clamp(2.6rem,7vw,4.6rem)}
html:lang(ta) .btn,html:lang(ta) .join button,html:lang(zh) .btn,html:lang(zh) .join button{font-weight:700}
.doc .upd{color:var(--ink-soft);font-size:1rem}
