/* Layout: asymmetric editorial hero with a "marriage journey" register card; content bands alternate page ground and soft plum ground; forms sit in a two-column join area. */
:root{
  --bg:#f8f4fe; --surface:#ffffff; --soft:#efe7fc; --ink:#22173a; --muted:#62577a; --line:#e0d4f4;
  --plum:#5626b0; --plum-deep:#28105e; --plum-tint:#e7dbfb; --gold:#7d4fe0; --gold-soft:#ece2fd; --on-gold:#ffffff; --gilt:#a07a22; --gilt-soft:#fbf3de; --gilt-line:#e6cf94; --gilt-hi:#ecd08a;
  --hi:#d8c4ff; --on-plum:#fbf7ff; --ok:#256b4d; --ok-bg:#e7f4ed; --err:#a3322b;
  --f-display:"Noto Serif Tamil","Cormorant Garamond",Georgia,serif;
  --f-latin:"Cormorant Garamond",Georgia,serif;
  --f-body:"Hind Madurai","Noto Sans Tamil","Latha",system-ui,sans-serif;
  --r:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#130d20; --surface:#1d1531; --soft:#1a1229; --ink:#eee8fb; --muted:#b1a6c8; --line:#33284c;
  --plum:#c3a6ff; --plum-deep:#0c0719; --plum-tint:#2d2149; --gold:#a98af7; --gold-soft:#251b3f; --on-gold:#170d2c; --gilt:#e2bf6c; --gilt-soft:#2b2314; --gilt-line:#6b5626; --gilt-hi:#ecd08a;
  --hi:#d8c4ff; --on-plum:#fbf7ff; --ok:#8fd5b2; --ok-bg:#16301f; --err:#f0918a; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#130d20; --surface:#1d1531; --soft:#1a1229; --ink:#eee8fb; --muted:#b1a6c8; --line:#33284c;
  --plum:#c3a6ff; --plum-deep:#0c0719; --plum-tint:#2d2149; --gold:#a98af7; --gold-soft:#251b3f; --on-gold:#170d2c; --gilt:#e2bf6c; --gilt-soft:#2b2314; --gilt-line:#6b5626; --gilt-hi:#ecd08a;
  --hi:#d8c4ff; --on-plum:#fbf7ff; --ok:#8fd5b2; --ok-bg:#16301f; --err:#f0918a; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16.5px;line-height:1.75}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.35}
p{margin:0}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gilt)}
.lead{color:var(--muted);max-width:62ch}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand svg{width:40px;height:40px;flex:none}
.brand b{display:block;font-family:var(--f-display);font-size:1.3rem;color:var(--plum);line-height:1.2}
.brand small{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.nav{display:flex;gap:22px;font-size:.92rem}
.nav a{text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--plum)}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--soft)}
.lang button{border:0;background:none;font:inherit;font-size:.82rem;font-weight:600;padding:4px 12px;border-radius:999px;color:var(--muted);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--plum);color:var(--surface)}
.menu{display:none;border:1px solid var(--line);background:var(--surface);color:var(--plum);border-radius:10px;width:42px;height:40px;font-size:1.1rem;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--plum);background:var(--plum);color:var(--surface);font:inherit;font-weight:600;padding:11px 22px;border-radius:999px;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--plum)}
.btn.gold{background:linear-gradient(135deg,var(--gilt-hi),var(--gilt));border-color:var(--gilt);color:#2a1a05}

/* hero */
.hero{padding-block:64px 72px;position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 70% at 85% 30%,var(--plum-tint),transparent 70%),linear-gradient(180deg,var(--soft),var(--bg))}
.hero .wrap{display:grid;grid-template-columns:1fr;gap:0;max-width:1160px}
.hero .wrap>div{max-width:820px}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.5rem);color:var(--plum);margin:14px 0 18px;font-weight:700}
.hero h1 em{font-style:normal;color:var(--gold);display:block}
.hero .lead{font-size:1.08rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.verse{margin-top:34px;padding-left:16px;border-left:2px solid var(--gilt);color:var(--muted);font-size:.95rem;max-width:52ch}
.verse cite{display:block;font-style:normal;font-size:.8rem;letter-spacing:.06em;color:var(--gilt);margin-top:4px}
.journey{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 30px 60px -30px rgba(60,24,130,.35);position:relative}
.journey header{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed var(--line)}
.journey header svg{width:54px;height:54px;flex:none}
.journey header b{font-family:var(--f-display);color:var(--plum);font-size:1.1rem;display:block}
.journey header span{font-size:.82rem;color:var(--muted)}
.journey ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.journey li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:8px 0}
.journey li i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:600;background:var(--plum-tint);color:var(--plum);font-variant-numeric:tabular-nums}
.journey li b{display:block;font-size:.97rem;font-weight:600}
.journey li span{display:block;font-size:.84rem;color:var(--muted);line-height:1.5}
.journey .seal{position:absolute;top:-14px;right:22px;background:var(--gilt-soft);color:var(--gilt);font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}

/* sections */
.band{padding-block:84px}
.band.soft{background:var(--soft);border-block:1px solid var(--line)}
.head{display:grid;gap:10px;margin-bottom:40px;max-width:720px}
.head h2{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--plum)}

/* who */
.who{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}
.who article{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-rows:auto auto 1fr;gap:12px;position:relative;overflow:hidden}
.who article::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--plum),var(--gilt))}
.who-top{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.medal{width:54px;height:54px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--plum);background:var(--plum-tint);box-shadow:inset 0 0 0 1.5px var(--gilt-line),0 0 0 4px var(--surface),0 0 0 5px var(--gilt-line)}
.medal svg{width:28px;height:28px}
.who-k{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gilt)}
.who h3{font-size:1.12rem;color:var(--ink);min-height:2.7em;display:flex;align-items:flex-end}
.who p{color:var(--muted);font-size:.95rem}
.note{margin-top:26px;display:flex;gap:14px;background:var(--gilt-soft);border:1px solid var(--gilt-line);border-radius:var(--r);padding:18px 22px;font-size:.93rem}
.note b{color:var(--gilt);white-space:nowrap}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.svc div{padding:28px 26px 30px 0;border-bottom:1px solid var(--line);display:grid;gap:8px;align-content:start}
.svc div:not(:nth-child(3n+1)){padding-left:26px;border-left:1px solid var(--line)}
.svc svg{width:30px;height:30px;color:var(--plum)}
.svc h3{font-size:1.07rem}
.svc p{color:var(--muted);font-size:.93rem}

/* process */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s;position:relative}
.steps li{list-style:none;padding:0 18px 0 0;display:grid;gap:8px;align-content:start;position:relative}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--f-latin);font-size:1.15rem;font-weight:600;color:var(--surface);background:var(--plum);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:1}
.steps li::after{content:"";position:absolute;top:23px;left:46px;right:0;height:1px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps{padding:0;margin:0}
.steps b{font-size:1rem}
.steps span{font-size:.9rem;color:var(--muted)}

/* documents */
.docs{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.tabs{display:grid;gap:8px}
.tabs button{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.95rem;padding:14px 16px;border-radius:12px;cursor:pointer}
.tabs button[aria-selected="true"]{border-color:var(--plum);background:var(--plum-tint);color:var(--plum);font-weight:600}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px 30px;min-width:0}
.panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.panel li{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}
.panel li:last-child{border-bottom:0}
.panel li svg{width:20px;height:20px;color:var(--gilt);margin-top:4px}
.panel li span{color:var(--muted);font-size:.88rem;display:block}
.panel .fine{font-size:.84rem;color:var(--muted);margin-top:16px}

/* experts */
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.team div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 18px;display:grid;gap:6px;align-content:start}
.team .en-role{font-family:var(--f-latin);font-style:italic;font-size:1.05rem;color:var(--gilt)}
.team h3{font-size:1rem}
.team p{font-size:.86rem;color:var(--muted)}

/* safety */
.safety{background:var(--plum-deep);color:var(--on-plum)}
.safety .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.safety h2{color:var(--on-plum);font-size:clamp(1.6rem,3vw,2.3rem)}
.safety .lead{color:#d3c6ef;margin-top:14px}
.pledges{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.pledges div{border-top:1px solid #ffffff2a;padding-top:14px}
.pledges b{display:block;color:var(--gilt-hi);font-weight:600;margin-bottom:4px}
.pledges p{color:#d8ccef;font-size:.92rem}

/* forms */
.join{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
.aside{display:grid;gap:18px}
.aside .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.aside h3{font-size:1.1rem;color:var(--plum);margin-bottom:8px}
.aside ul{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:.93rem}
.form{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 24px 50px -36px rgba(60,24,130,.4);min-width:0}
.form h3{font-size:1.25rem;color:var(--plum);margin-bottom:4px}
.form .sub{color:var(--muted);font-size:.9rem;margin-bottom:20px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{display:grid;gap:6px;min-width:0}
.f.full{grid-column:1/-1}
.f label{font-size:.86rem;font-weight:600}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px var(--plum-tint)}
.f .err{color:var(--err);font-size:.82rem}
.radio{display:flex;gap:10px;flex-wrap:wrap}
.radio label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:500;cursor:pointer;background:var(--bg)}
.radio input{width:auto;accent-color:var(--plum)}
.check{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:.87rem;color:var(--muted);margin-top:14px;align-items:start}
.check input{accent-color:var(--plum);margin-top:5px;width:16px;height:16px}
.form .btn{margin-top:20px}
.msg{margin-top:16px;border-radius:12px;background:var(--ok-bg);color:var(--ok);padding:14px 16px;font-size:.9rem}
.proto{margin-top:14px;font-size:.8rem;color:var(--muted)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:4px;background:var(--soft);margin-bottom:22px}
.seg button{border:0;background:none;font:inherit;font-weight:600;font-size:.9rem;padding:8px 18px;border-radius:999px;color:var(--muted);cursor:pointer}
.seg button[aria-selected="true"]{background:var(--surface);color:var(--plum);box-shadow:0 2px 8px -4px rgba(0,0,0,.25)}

/* faq */
.faq{max-width:860px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--gilt);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin-top:10px;max-width:70ch}

/* footer */
footer{background:var(--plum-deep);color:#d8ccef;padding-block:56px 28px;font-size:.92rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
footer h4{color:#fff;margin:0 0 12px;font-size:1rem}
footer a{text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:var(--gilt-hi)}
.safety .eyebrow{color:var(--gilt-hi)}
footer .brandf{display:flex;align-items:center;gap:12px;margin-bottom:12px}
footer .brandf b{font-family:var(--f-display);color:#fff;font-size:1.3rem}
footer .legal{border-top:1px solid #ffffff22;margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#bcaed8}

@media (max-width:1000px){
  .nav{gap:14px;font-size:.85rem}
  .steps{grid-template-columns:1fr;gap:18px}
  .steps li{grid-template-columns:46px 1fr;column-gap:16px;padding:0}
  .steps li::before{grid-row:span 2}
  .steps li::after{top:46px;bottom:-18px;left:23px;right:auto;width:1px;height:auto}
  .team{grid-template-columns:repeat(3,1fr)}
  .svc{grid-template-columns:1fr 1fr}
  .svc div,.svc div:not(:nth-child(3n+1)){padding:24px 20px 24px 0;border-left:0}
  .svc div:nth-child(2n){padding-left:20px;border-left:1px solid var(--line)}
}
@media (max-width:820px){
  .menu{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px))}
  .nav.open{display:flex}
  .nav a{padding:10px 0;font-size:1rem}
  .top .cta{display:none}
  .hero .wrap,.safety .wrap,.join,.docs{grid-template-columns:1fr}
  .hero{padding-block:40px 56px}
  .who,.team{grid-template-columns:1fr 1fr}
  .band{padding-block:60px}
  footer .cols{grid-template-columns:1fr}
}
@media (max-width:560px){
  .who,.team,.svc,.grid,.pledges{grid-template-columns:1fr}
  .svc div,.svc div:nth-child(2n){padding:20px 0;border-left:0}
  .f.full{grid-column:auto}
  .form{padding:22px}
  .panel{padding:20px}
  .brand small{display:none}
  .note{flex-direction:column;gap:4px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.journey{border-top:3px solid var(--gilt)}
.safety{border-top:3px solid var(--gilt)}
footer{border-top:1px solid var(--gilt-line)}
.theme{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--soft);color:var(--plum);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.theme:hover{color:var(--gilt);border-color:var(--gilt-line)}
.theme svg{width:19px;height:19px}
.theme .i-sun{display:none}
.is-dark .theme .i-sun{display:block}
.is-dark .theme .i-moon{display:none}
@media (max-width:560px){.top .wrap{gap:10px}.lang button{padding:4px 9px}}

/* profiles */
.head.row{display:flex;justify-content:space-between;align-items:end;gap:24px;max-width:none;flex-wrap:wrap}
.head.row>div{display:grid;gap:10px;max-width:640px}
.fine-c{font-size:.84rem;color:var(--muted);margin-top:20px}
.interest-in{background:var(--gilt-soft);border:1px solid var(--gilt-line);border-radius:12px;padding:10px 14px;font-size:.9rem;margin-bottom:18px}
.interest-in b{color:var(--gilt)}
/* testimonies */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}
.tphoto{aspect-ratio:16/9;max-width:100%;background:linear-gradient(135deg,var(--plum-tint),var(--gilt-soft));display:grid;place-items:center;align-content:center;gap:6px;color:var(--muted);font-size:.8rem;border-bottom:1px solid var(--gilt-line)}
.tphoto svg{width:56px;height:56px}
.tcard blockquote{margin:0;padding:24px 24px 8px;position:relative;font-size:.98rem;line-height:1.8}
.tcard blockquote::before{content:"\201C";font-family:var(--f-latin);font-size:4rem;line-height:1;color:var(--gilt);position:absolute;top:6px;left:18px;opacity:.5}
.tcard blockquote{text-indent:1.6em}
.tcard figcaption{padding:12px 24px 24px;display:grid;gap:2px}
.tcard figcaption b{font-family:var(--f-display);color:var(--plum)}
.tcard figcaption span{font-size:.84rem;color:var(--muted)}
.tcard figcaption em{font-style:normal;font-size:.76rem;font-weight:600;color:var(--gilt);letter-spacing:.04em;margin-top:6px}
.tfoot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.tfoot .fine-c{max-width:60ch}
@media (max-width:1000px){.pgrid,.tgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.pgrid,.tgrid{grid-template-columns:1fr}}

/* about */
.band.about{border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg),var(--soft) 140%)}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:44px}
.about-intro>div:first-child{display:grid;gap:12px}
.about-intro h2{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--plum)}
.motto{font-family:var(--f-display);color:var(--gilt);font-size:1.05rem;padding-top:12px;border-top:2px solid var(--gilt);justify-self:start}
.about-text{display:grid;gap:16px;color:var(--muted);font-size:1.02rem;min-width:0}
.about-text p:first-child{color:var(--ink)}
.mvk,.mvv-k{display:block;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gilt);margin-bottom:10px}
.mvv{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-bottom:22px}
.mvv article{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:28px;min-width:0}
.mvv ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.mvv li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.mvv li::before{content:"✦";color:var(--gilt);font-size:.8rem;margin-top:5px}
.mvv article p{color:var(--ink);margin-bottom:22px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:.88rem;color:var(--plum)}
.family{border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:22px;background:var(--surface)}
.fam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fam-grid div{display:grid;gap:4px;padding-left:16px;border-left:2px solid var(--plum-tint)}
.fam-grid b{font-family:var(--f-display);color:var(--plum)}
.fam-grid p{font-size:.92rem;color:var(--muted)}
.people{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.founder{background:var(--plum-deep);color:var(--on-plum);border-radius:18px;padding:30px;border-top:3px solid var(--gilt)}
.founder .mvv-k{color:var(--gilt-hi)}
.founder h3{font-size:1.5rem;color:#fff;margin-bottom:10px}
.founder p{color:#d8ccef}
.techteam{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;gap:10px;align-content:start}
.techteam div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--line)}
.techteam div:last-child{border-bottom:0}
.techteam b{font-weight:600}
.techteam span{color:var(--muted);font-size:.9rem}
@media (max-width:820px){.about-intro,.mvv,.people{grid-template-columns:1fr;gap:22px}.fam-grid{grid-template-columns:1fr}}

.mvv3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mvv3 article{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gilt);border-radius:16px;padding:24px;min-width:0}
.mvv3 p{color:var(--ink)}
.about-intro{margin-bottom:36px}
/* knowledge */
.know{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}
.know-head{display:grid;gap:10px;max-width:720px;margin-bottom:30px}
.know-head h3{font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--plum)}
.kgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.kcard,.aware{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;min-width:0}
.kcard{border-top:3px solid var(--plum)}
.ktag{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.03em;color:var(--gilt);background:var(--gilt-soft);border:1px solid var(--gilt-line);border-radius:999px;padding:2px 12px;margin-bottom:12px}
.kcard h4,.aware h4{font-family:var(--f-display);font-size:1.12rem;color:var(--plum);margin:0 0 12px;line-height:1.4}
.kcard ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.kcard li{display:grid;grid-template-columns:14px 1fr;gap:10px;font-size:.92rem;color:var(--muted);line-height:1.7}
.kcard li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gilt);margin-top:10px}
.aware{margin-top:20px;background:var(--soft);border-top:3px solid var(--gilt)}
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.agrid div{display:grid;gap:6px;align-content:start;padding-left:16px;border-left:2px solid var(--gilt-line)}
.agrid b{color:var(--ink)}
.agrid p{font-size:.92rem;color:var(--muted)}
@media (max-width:1000px){.kgrid{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.mvv3,.agrid{grid-template-columns:1fr}}
@media (max-width:620px){.kgrid{grid-template-columns:1fr}}

/* knowledge links */
.kcard,.acard{position:relative}
.kcard{display:flex;flex-direction:column}
.kcard ul{flex:1}
.kmore{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:600;font-size:.88rem;color:var(--plum);text-decoration:none;align-self:flex-start}
.kmore::after{content:"";position:absolute;inset:0;border-radius:18px}
.acard .kmore{margin-top:4px}
.acard .kmore::after{border-radius:8px}
.kcard,.acard{transition:transform .18s,box-shadow .18s,border-color .18s}
.kcard:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(60,24,130,.45);border-color:var(--gilt-line)}
.acard:hover{border-left-color:var(--gilt)}
.kcard:hover .kmore,.acard:hover .kmore{color:var(--gilt)}
.steplink{font-size:.86rem;font-weight:600;color:var(--gilt);text-decoration:none}
/* topic pages */
.topic-view{padding-block:48px 80px;min-height:70vh;background:linear-gradient(180deg,var(--soft),var(--bg) 320px)}
.topic{max-width:820px;display:grid;gap:14px}
.topic h1{font-size:clamp(1.8rem,4vw,2.8rem);color:var(--plum)}
.topic .ktag{justify-self:start;margin:0}
.crumb{display:flex;gap:10px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:12px}
.crumb a{color:var(--plum);font-weight:600;text-decoration:none}
.toc-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;border-bottom:2px solid var(--gilt);padding-bottom:4px}
.toc-head .mvv-k{margin:0}
.toc-head .count{font-size:.84rem;color:var(--muted)}
.toc{list-style:none;margin:0;padding:0}
.toc li{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.tn{font-family:var(--f-latin);font-size:1.3rem;font-weight:600;color:var(--gilt);font-variant-numeric:tabular-nums}
.tt{font-weight:500;min-width:0}
.soon{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--plum);background:var(--plum-tint);border-radius:999px;padding:2px 10px;white-space:nowrap}
.topic-help{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gilt);border-radius:14px;padding:20px 22px;margin-top:26px}
.topic-help p{color:var(--muted);max-width:46ch}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.pager a{display:grid;gap:2px;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--surface)}
.pager a:hover{border-color:var(--gilt-line)}
.pager a.nx{text-align:right}
.pager small{color:var(--muted);font-size:.78rem}
.pager b{color:var(--plum);font-weight:600}
/* course */
.course{background:linear-gradient(180deg,var(--bg),var(--soft));border-top:1px solid var(--line)}
.course-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.course-info{display:grid;gap:14px}
.course-info h2{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--plum)}
.course-points{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.course-points li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.course-points li::before{content:"✓";color:var(--gilt);font-weight:700}
@media (max-width:820px){.course-grid{grid-template-columns:1fr}.pager{grid-template-columns:1fr}.pager a.nx{text-align:left}}
@media (max-width:560px){.toc li{grid-template-columns:34px 1fr}.soon{grid-column:2;justify-self:start}}
.mvv3{align-items:stretch}
.mvv3 article{display:grid;align-content:start}

/* membership */
.plans{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:stretch}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:12px;position:relative;min-width:0}
.plan.full{border:1.5px solid var(--gilt-line);box-shadow:0 30px 60px -40px rgba(60,24,130,.55)}
.plan.full::before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--plum),var(--gilt))}
.plan-badge{position:absolute;top:-13px;right:24px;background:linear-gradient(135deg,var(--gilt-hi),var(--gilt));color:#2a1a05;font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:4px 14px;border-radius:999px}
.plan-k{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gilt)}
.plan h3{font-size:1.45rem;color:var(--plum)}
.price{display:flex;align-items:baseline;gap:10px}
.price b,.pchoice b{font-family:var(--f-latin);font-size:2.6rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.price span{color:var(--muted);font-size:.9rem}
.price-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pchoice{display:grid;gap:2px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--soft);transition:border-color .15s,transform .15s}
.pchoice:hover{border-color:var(--gilt);transform:translateY(-2px)}
.pchoice.best{border-color:var(--gilt-line);background:var(--gilt-soft)}
.pchoice span{font-weight:600}
.pchoice small{font-size:.8rem;color:var(--gilt);font-weight:600}
.plan-p{color:var(--muted);font-size:.93rem}
.feat{list-style:none;margin:6px 0 0;padding:14px 0 0;border-top:1px dashed var(--line);display:grid;gap:9px;flex:1;align-content:start}
.feat li{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:.93rem}
.feat li::before{content:"✓";color:var(--plum);font-weight:700}
.plan.full .feat li::before{color:var(--gilt)}
.feat li.no{color:var(--muted)}
.feat li.no::before{content:"🔒︎";font-size:.8rem;filter:grayscale(1);opacity:.7}
.plan-btn{align-self:flex-start;margin-top:10px}
.compare{margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px}
.compare h3{font-size:1.15rem;color:var(--plum);margin-bottom:14px}
.tablewrap{overflow-x:auto}
.compare table{width:100%;border-collapse:collapse;min-width:460px;font-size:.93rem}
.compare th,.compare td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.compare thead th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:2px solid var(--gilt)}
.compare thead th:last-child{color:var(--gilt)}
.compare tbody th{font-weight:500}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.cv{display:inline-block;font-size:.84rem;font-weight:600;padding:2px 10px;border-radius:999px}
.cv.yes{background:var(--plum-tint);color:var(--plum)}
.cv.no{background:transparent;color:var(--muted);border:1px solid var(--line)}
.cv.mid{background:var(--gilt-soft);color:var(--gilt)}
.assure{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.assure div{display:grid;gap:6px;align-content:start;padding-left:14px;border-left:2px solid var(--gilt-line)}
.assure b{font-size:.95rem}
.assure p{font-size:.88rem;color:var(--muted)}
.flabel{font-size:.86rem;font-weight:600}
.planpick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.planpick label{cursor:pointer;display:block}
.planpick input{position:absolute;opacity:0;pointer-events:none}
.planpick span{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg);height:100%}
.planpick b{font-size:.9rem;font-weight:600}
.planpick small{color:var(--gilt);font-weight:600;font-variant-numeric:tabular-nums}
.planpick input:checked+span{border-color:var(--plum);background:var(--plum-tint);box-shadow:0 0 0 2px var(--plum-tint)}
.planpick input:focus-visible+span{outline:2px solid var(--gilt);outline-offset:2px}
.waiver{margin-top:10px}
@media (max-width:1000px){.assure{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.plans{grid-template-columns:1fr}.plan.full{margin-top:10px}}
@media (max-width:560px){.assure,.planpick{grid-template-columns:1fr}.price-pair{grid-template-columns:1fr 1fr}}

/* grouped nav */
.nav{gap:4px;align-items:center}
.ng{position:relative}
.ng-btn,.ng-solo{display:inline-flex;align-items:center;gap:5px;border:0;background:none;font:inherit;font-size:.9rem;color:var(--muted);padding:8px 10px;border-radius:8px;cursor:pointer;text-decoration:none}
.ng-btn svg{width:11px;height:11px;transition:transform .15s}
.ng-btn:hover,.ng-solo:hover,.ng-btn[aria-expanded="true"]{color:var(--plum);background:var(--soft)}
.ng-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.ng-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:230px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--gilt);border-radius:12px;padding:6px;box-shadow:0 20px 40px -24px rgba(60,24,130,.45);z-index:40}
.ng-menu a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.9rem}
.ng-menu a:hover{background:var(--soft);color:var(--plum)}
.ng.open .ng-menu{display:block}
@media (hover:hover) and (min-width:961px){.ng:hover .ng-menu,.ng:focus-within .ng-menu{display:block}.ng:hover .ng-menu{display:block}}
@media (max-width:960px){
  .menu{display:block}
  .top .cta{display:none}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));max-height:calc(100vh - 80px);overflow-y:auto}
  .nav.open{display:flex}
  .ng{border-bottom:1px solid var(--line)}
  .ng-btn,.ng-solo{width:100%;justify-content:space-between;padding:12px 4px;font-size:1rem;color:var(--ink)}
  .ng-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--gilt-line);border-radius:0;margin:0 0 10px 6px;padding:0 0 0 8px;min-width:0}
}
/* team boxes */
.tbox{position:relative;transition:transform .18s,box-shadow .18s,border-color .18s}
.tbox:hover{transform:translateY(-3px);border-color:var(--gilt-line);box-shadow:0 22px 40px -28px rgba(60,24,130,.45)}
.tbox .kmore{margin-top:8px}
.tbox .kmore::after{border-radius:var(--r)}
.team .tbox{display:flex;flex-direction:column;gap:6px}
.team .tbox p{flex:1}
/* team pages */
.teampage{max-width:none}
.teampage>.lead,.teampage>h1{max-width:820px}
.people-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;margin-top:6px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;min-width:0}
.ph{aspect-ratio:4/3;max-width:100%;background:linear-gradient(135deg,var(--plum-tint),var(--gilt-soft));display:grid;place-items:center;align-content:center;gap:4px;color:var(--muted);font-size:.78rem;border-bottom:1px solid var(--gilt-line)}
.ph svg{width:64px;height:64px;fill:var(--plum);opacity:.35}
.pinfo{padding:18px 20px 6px;display:grid;gap:4px;position:relative}
.pinfo .sample{position:absolute;top:18px;right:20px}
.pinfo h3{font-size:1.1rem;color:var(--plum);padding-right:60px}
.prole{font-weight:600;font-size:.9rem}
.pq{font-size:.86rem;color:var(--muted)}
.pdet{padding:6px 20px 20px}
.pdet summary{cursor:pointer;font-weight:600;font-size:.88rem;color:var(--gilt);padding:8px 0;list-style:none}
.pdet summary::after{content:" ↓"}
.pdet[open] summary::after{content:" ↑"}
.pdet dl{margin:8px 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding-top:12px;border-top:1px dashed var(--line)}
.pdet dl div{min-width:0}
.pdet dl .wide{grid-column:1/-1}
.pdet dt{font-size:.74rem;color:var(--muted);letter-spacing:.04em}
.pdet dd{margin:0;font-size:.9rem}
.small-btn{padding:8px 16px;font-size:.88rem}
@media (max-width:1000px){.people-list{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.people-list{grid-template-columns:1fr}}
.ng:last-child .ng-menu{right:0;left:auto}

/* wordmark */
.wm{font-family:var(--f-latin)!important;font-size:1.65rem!important;font-weight:600;letter-spacing:.01em;color:var(--plum);line-height:1.1}
.wm span{color:var(--gilt);font-weight:600}
footer .wm{color:#fff;font-size:1.6rem!important}
footer .wm span{color:var(--gilt-hi)}
/* profiles v2 */
.pfilter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.pfilter button{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-size:.9rem;font-weight:600;padding:7px 18px;border-radius:999px;cursor:pointer}
.pfilter button[aria-selected="true"]{background:var(--plum);border-color:var(--plum);color:var(--surface)}
.pcount{margin-left:auto;font-size:.85rem;color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0}
.pcard:hover{transform:translateY(-4px);border-color:var(--gilt-line);box-shadow:0 26px 48px -30px rgba(60,24,130,.5)}
.pmedia{position:relative;display:grid;place-items:end center;aspect-ratio:16/10;max-width:100%;overflow:hidden;background:linear-gradient(160deg,var(--plum-tint),var(--soft) 60%,var(--gilt-soft));text-decoration:none}
.pmedia.g{background:linear-gradient(160deg,var(--soft),var(--plum-tint) 70%)}
.sil{width:58%;height:auto;fill:var(--plum);opacity:.22;filter:blur(2px)}
.pnew{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,var(--gilt-hi),var(--gilt));color:#2a1a05;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:6px}
.psample{position:absolute;top:12px;right:12px;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface);border-radius:6px;padding:2px 8px;opacity:.9}
.plock{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--plum);background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(4px);border-radius:999px;padding:5px 12px}
.plock svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
.pbody{padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1}
.phead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pid{display:block;font-weight:700;font-size:1.02rem;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.pwhen{display:block;font-size:.76rem;color:var(--muted)}
.ptag{flex:none;font-size:.74rem;font-weight:600;padding:3px 11px;border-radius:999px;background:var(--plum-tint);color:var(--plum)}
.ptag.g{background:var(--gilt-soft);color:var(--gilt)}
.pfacts{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;flex:1}
.pfacts li{display:grid;grid-template-columns:18px 92px 1fr;gap:10px;align-items:center;font-size:.9rem;min-width:0}
.pfacts svg{width:17px;height:17px;fill:none;stroke:var(--gilt);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lk{color:var(--muted);font-size:.82rem}
.lv{font-weight:500;min-width:0;overflow-wrap:anywhere}
.pactions{display:flex;gap:10px}
.pview{flex:1;padding:10px 16px;border-radius:10px;font-size:.92rem}
.pint{flex:none;width:44px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--plum);transition:border-color .15s,color .15s,background .15s}
.pint svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.pint:hover{color:var(--gilt);border-color:var(--gilt-line);background:var(--gilt-soft)}
@media (max-width:1000px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.pgrid{grid-template-columns:1fr}.pcount{width:100%;margin-left:0}}
.sample{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:1px 6px}

.plans2{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:22px;align-items:stretch}
.plan2{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 26px;display:flex;flex-direction:column;gap:10px;position:relative;min-width:0}
.plan2.best{border:1.5px solid var(--gilt-line);box-shadow:0 30px 60px -40px rgba(60,24,130,.55)}
.plan2.best::before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--plum),var(--gilt))}
.plan2 h3{font-size:1.35rem;color:var(--plum)}
.plan2 .price{flex-wrap:wrap}
.per{color:var(--gilt);font-weight:600;font-size:.9rem;flex:1}
.plan2 .plan-btn{align-self:stretch;margin-top:8px}
.plan2 .plan-badge{right:auto;left:22px;white-space:nowrap}
.includes{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;min-width:0}
.feat.cols{grid-template-columns:1fr 1fr;column-gap:20px;border-top:0;padding-top:4px;margin-top:4px}
.planpick.two{grid-template-columns:1fr 1fr}
@media (max-width:1000px){.plans2{grid-template-columns:1fr 1fr}.includes{grid-column:1/-1}}
@media (max-width:620px){.plans2{grid-template-columns:1fr}.feat.cols{grid-template-columns:1fr}.plan2.best{margin-top:10px}}

/* terms */
.termspage{max-width:none}
.termspage>h1,.termspage>.lead{max-width:860px}
.teff{color:var(--muted);font-size:.92rem}
.ph-t{background:var(--gilt-soft);color:var(--gilt);border-radius:4px;padding:0 4px}
.tlayout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;margin-top:18px}
.ttoc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 92px);display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;max-height:calc(100vh - 120px);overflow-y:auto}
.tgo{display:grid;grid-template-columns:26px 1fr;gap:8px;text-align:left;border:0;background:none;font:inherit;font-size:.86rem;color:var(--ink);padding:7px 8px;border-radius:8px;cursor:pointer}
.tgo span:first-child{color:var(--gilt);font-weight:600;font-variant-numeric:tabular-nums}
.tgo:hover{background:var(--soft);color:var(--plum)}
.tmain{min-width:0;max-width:760px}
.tsec{padding:26px 0;border-bottom:1px solid var(--line);scroll-margin-top:96px}
.tsec h2{display:flex;gap:14px;align-items:baseline;font-size:1.25rem;color:var(--plum);margin-bottom:12px}
.tsn{font-family:var(--f-latin);color:var(--gilt);font-size:1.3rem;font-variant-numeric:tabular-nums}
.tbody{display:grid;gap:10px;color:var(--ink);line-height:1.8}
.tbody ol,.tbody ul{margin:0;padding-left:22px;display:grid;gap:6px}
.tbody li::marker{color:var(--gilt);font-weight:600}
.tdl{display:grid;gap:8px;margin:6px 0 0;background:var(--soft);border-radius:12px;padding:14px 16px}
.tdl div{display:grid;grid-template-columns:130px 1fr;gap:10px}
.tdl dt{color:var(--muted);font-size:.86rem}
.tdl dd{margin:0}
.tnote{margin-top:22px;font-style:italic;color:var(--muted)}
.tnote a,.tbody a{color:var(--plum);font-weight:600}
.termslink{margin-top:20px;display:flex;gap:24px;flex-wrap:wrap}
.termslink a,.check a{color:var(--plum);font-weight:600}
@media (max-width:900px){.tlayout{grid-template-columns:1fr}.ttoc{position:static;max-height:none;grid-template-columns:1fr 1fr}.ttoc .mvv-k{grid-column:1/-1}}
@media (max-width:560px){.ttoc{grid-template-columns:1fr}.tdl div{grid-template-columns:1fr;gap:0}}

/* stats */
.statband{padding-block:36px 40px;background:var(--surface);border-block:1px solid var(--line)}
.stathead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.statnote{font-size:.8rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.stat{display:grid;gap:4px;align-content:start;padding:22px 20px;text-decoration:none;color:var(--ink);border-left:1px solid var(--line);position:relative;transition:background .15s}
.stat:first-child{border-left:0}
.stat::after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:3px;background:linear-gradient(90deg,var(--plum),var(--gilt));transform:scaleX(0);transform-origin:left;transition:transform .2s}
.stat:hover{background:var(--soft)}
.stat:hover::after{transform:scaleX(1)}
.sic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--plum-tint);color:var(--plum);margin-bottom:6px}
.sic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sn{font-family:var(--f-latin);font-size:2.6rem;line-height:1;font-weight:600;color:var(--plum);font-variant-numeric:tabular-nums}
.sl{font-weight:600;font-size:.95rem}
.sd{font-size:.8rem;color:var(--muted);line-height:1.5}
@media (max-width:1000px){.stats{grid-template-columns:repeat(3,1fr)}.stat:nth-child(4){border-left:0}.stat:nth-child(n+4){border-top:1px solid var(--line)}}
@media (max-width:620px){.stats{grid-template-columns:1fr 1fr}.stat{border-left:0;border-top:1px solid var(--line)}.stat:nth-child(even){border-left:1px solid var(--line)}.stat:nth-child(-n+2){border-top:0}.stat:nth-child(4){border-left:1px solid var(--line)}.stat:last-child{grid-column:1/-1;border-left:0}}

/* stats v2 */
.stats2{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.scard{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s,border-color .18s;min-width:0}
.scard:hover{transform:translateY(-3px);border-color:var(--gilt-line);box-shadow:0 22px 40px -28px rgba(60,24,130,.45)}
.scard.total{background:var(--plum-deep);border-color:var(--plum-deep);color:var(--on-plum)}
.sc-top{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center}
.sc-top .sic{margin:0}
.scard.total .sic{background:rgba(255,255,255,.1);color:var(--gilt-hi)}
.sc-top .sl{display:block;font-weight:600;font-size:.97rem;line-height:1.35}
.sc-top .sd{display:block;font-size:.78rem;color:var(--muted);line-height:1.45}
.scard.total .sd{color:#cbbde6}
.sc-total{display:flex;align-items:baseline;gap:8px}
.sc-total span{font-size:.82rem;color:var(--muted)}
.scard.total .sc-total span{color:#cbbde6}
.scard.total .sn{color:#fff}
.sbar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--line);gap:2px}
.sbar i{display:block;height:100%;transition:width .4s}
.sb-b{background:var(--plum)}
.sb-g{background:var(--gilt)}
.scard.total .sbar{background:rgba(255,255,255,.15)}
.scard.total .sb-b{background:#c4a7f7}
.scard.total .sb-g{background:var(--gilt-hi)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.split div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:.86rem;background:var(--soft);border-radius:10px;padding:8px 10px}
.scard.total .split div{background:rgba(255,255,255,.08)}
.split b{font-family:var(--f-latin);font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}
.dot{width:10px;height:10px;border-radius:50%}
.dot.b{background:var(--plum)}
.dot.g{background:var(--gilt)}
.scard.total .dot.b{background:#c4a7f7}
.scard.total .dot.g{background:var(--gilt-hi)}
@media (max-width:1000px){.stats2{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stats2{grid-template-columns:1fr}}
@media (max-width:1100px){.who{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.who{grid-template-columns:1fr}}

/* registration v2 */
.fs{border:1px solid var(--line);border-radius:16px;padding:20px 20px 22px;margin:0 0 18px;min-width:0}
.fs legend{display:flex;align-items:center;gap:10px;padding:0 8px;font-family:var(--f-display);font-weight:600;color:var(--plum);font-size:1.02rem}
.fs-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--plum);color:var(--surface);font-family:var(--f-body);font-size:.8rem;font-weight:700}
.fs-note{font-size:.84rem;color:var(--muted);margin:2px 0 14px}
.mdocs{display:grid;gap:16px}
.mdocs.full{grid-column:1/-1}
.vh{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.up{position:relative}
.drop{display:flex;align-items:center;gap:14px;border:1.5px dashed var(--gilt-line);background:var(--gilt-soft);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.up:focus-within .drop{border-color:var(--gilt);background:var(--plum-tint)}
.drop svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--gilt);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.drop span{display:grid}
.drop b{font-size:.92rem;color:var(--plum)}
.drop small{font-size:.78rem;color:var(--muted)}
.up.bad .drop{border-color:var(--err)}
.flist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.flist:empty{display:none}
.flist li{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:6px 8px 6px 6px;min-width:0}
.flist img,.flist .pdf{width:48px;height:48px;border-radius:8px;object-fit:cover;display:grid;place-items:center;background:var(--plum-tint);color:var(--plum);font-size:.7rem;font-weight:700}
.flist .fn{min-width:0;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flist .fz{display:block;font-size:.76rem;color:var(--muted)}
.flist button{border:0;background:none;color:var(--muted);font-size:1.2rem;cursor:pointer;width:32px;height:32px;border-radius:8px}
.flist button:hover{color:var(--err);background:var(--soft)}
.ferr{color:var(--err);font-size:.8rem;margin-top:4px}
.gallery .flist{grid-template-columns:repeat(2,1fr)}
.up[data-up="u-main"] .flist li{grid-template-columns:72px 1fr auto}
.up[data-up="u-main"] .flist img{width:72px;height:90px;border-radius:8px}
.up-help{font-size:.82rem;color:var(--muted);margin:-2px 0 2px}
.gallery .flist li{grid-template-columns:1fr;padding:6px;position:relative}
.gallery .flist img{width:100%;height:auto;aspect-ratio:1;border-radius:8px}
.gallery .flist .fn{font-size:.74rem}
.gallery .flist button{position:absolute;top:10px;right:10px;background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.reqdocs{display:grid;gap:6px;font-size:.9rem}
.reqdocs b{color:var(--plum);margin-top:8px;font-size:.92rem}
.reqdocs ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:4px}
@media (max-width:560px){.fs{padding:16px 14px 18px}.gallery .flist{grid-template-columns:repeat(2,1fr)}
.up[data-up="u-main"] .flist li{grid-template-columns:72px 1fr auto}
.up[data-up="u-main"] .flist img{width:72px;height:90px;border-radius:8px}
.up-help{font-size:.82rem;color:var(--muted);margin:-2px 0 2px}}

/* about v3 */
.about-intro2{display:grid;grid-template-columns:1.35fr .9fr;gap:40px;align-items:start;margin-bottom:36px}
.ab-main{display:grid;gap:14px;min-width:0}
.ab-mark{display:flex;align-items:center;gap:16px}
.ab-mark svg{width:72px;height:72px;flex:none}
.wm-xl{font-size:clamp(2.6rem,6vw,4rem)!important;display:block;line-height:1}
.ab-ta{display:block;font-family:var(--f-display);color:var(--muted);font-size:1.05rem;margin-top:4px}
.ab-tag{font-weight:600;color:var(--gilt);letter-spacing:.04em;padding-bottom:12px;border-bottom:2px solid var(--gilt);justify-self:start}
.ab-parent{background:var(--plum-deep);color:var(--on-plum);border-radius:20px;padding:28px;display:grid;gap:12px;border-top:3px solid var(--gilt);position:relative}
.ab-k{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gilt-hi)}
.ab-pname b{display:block;font-family:var(--f-display);font-size:1.8rem;color:#fff;line-height:1.2}
.ab-pname span{font-family:var(--f-latin);font-size:1.15rem;color:#d3c6ef;letter-spacing:.06em}
.ab-motto{font-family:var(--f-display);color:var(--gilt-hi);font-size:.95rem}
.ab-parent p{color:#d8ccef;font-size:.93rem}
.ab-line{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#d3c6ef;margin-top:6px}
.ab-line i{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.25),var(--gilt-hi));position:relative}
.ab-line i::after{content:"";position:absolute;right:-1px;top:-3px;border-left:6px solid var(--gilt-hi);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent}
.ab-line .hl{font-family:var(--f-latin);font-weight:600;font-size:1.05rem;color:#fff;background:rgba(255,255,255,.1);border:1px solid var(--gilt-hi);border-radius:999px;padding:1px 12px}
.ab-small{font-size:.84rem!important}
@media (max-width:820px){.about-intro2{grid-template-columns:1fr}}

/* registration v3 */
.badge{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:1px 8px;border-radius:999px;background:var(--gilt-soft);color:var(--gilt);border:1px solid var(--gilt-line);vertical-align:middle}
.badge.soft{background:var(--plum-tint);color:var(--plum);border-color:transparent}
.agebox{display:flex;align-items:center;min-height:46px;padding:0 13px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.92rem;background:var(--soft)}
.agebox b{color:var(--plum);font-size:1.05rem}
.otprow,.otpbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.otprow input{flex:1;min-width:0}
.otprow .btn,.otpbox .btn{padding:10px 16px;white-space:nowrap}
.otpbox{margin-top:8px}
.otpbox input{width:130px;letter-spacing:.3em;text-align:center}
.otpst{font-size:.86rem;font-weight:600}
.otpst.ok{color:var(--ok)}
.catnote{grid-column:1/-1;font-size:.86rem;background:var(--gilt-soft);border:1px solid var(--gilt-line);border-radius:10px;padding:10px 12px;margin:0}
.catnote.warn{background:transparent;border-color:var(--err);color:var(--err)}
.chk-grid{display:flex;flex-wrap:wrap;gap:8px}
.chk-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--bg);cursor:pointer;font-size:.9rem}
.chk-grid input{accent-color:var(--plum)}
.range2,.unit{display:flex;align-items:center;gap:8px}
.range2 input{min-width:0}
.unit span{color:var(--muted)}
.privnote{grid-column:1/-1;font-size:.84rem;color:var(--muted);border-left:2px solid var(--gilt-line);padding-left:10px;margin:0}
.check.full,.up-help.full{grid-column:1/-1}
.pwrow{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consents{grid-column:1/-1;display:grid;gap:2px;border-top:1px dashed var(--line);padding-top:6px}
.consents .check{margin-top:8px}
.vlist{grid-column:1/-1;display:grid;gap:6px;background:var(--soft);border-radius:12px;padding:12px 14px}
.vrow{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;font-size:.88rem}
.vrow i{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);display:block}
.vrow.done i{background:var(--ok);border-color:var(--ok)}
.vrow small{font-size:.74rem;color:var(--muted);text-align:right}
.vrow.done small{color:var(--ok)}
@media (max-width:560px){.pwrow{grid-template-columns:1fr}}
.f select:disabled{opacity:1;background:var(--soft);color:var(--plum);font-weight:600;cursor:not-allowed}

/* logo + banner */
.brand .logo-img{width:48px;height:48px;flex:none;border-radius:50%;box-shadow:0 2px 10px -4px rgba(60,24,130,.5)}
footer .logo-img{width:52px;height:52px;border-radius:50%}
.ab-logo{width:120px;height:120px;flex:none;border-radius:50%;box-shadow:0 14px 30px -18px rgba(60,24,130,.6)}
.hero{padding-block:28px 72px}
.banner-wrap{max-width:1160px;margin:0 auto 44px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.banner{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1983/793;border-radius:22px;box-shadow:0 30px 60px -36px rgba(60,24,130,.55);background:var(--plum-tint)}
@media (max-width:820px){.hero{padding-block:16px 56px}.banner-wrap{margin-bottom:30px}.banner{border-radius:14px}.ab-logo{width:88px;height:88px}}
@media (max-width:560px){.brand .logo-img{width:42px;height:42px}}

.svc-link{font-size:.86rem;font-weight:600;color:var(--gilt);text-decoration:none;margin-top:4px}
.svc-link:hover{color:var(--plum)}
.svc .svc-cta{background:var(--soft);border-radius:0 0 14px 0;justify-items:start}
.svc-cta .btn{margin-top:6px}

/* Index hub: one card per header menu, each linking to its own page. */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.hub-card{display:block;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.hub-card:hover,.hub-card:focus-visible{border-color:var(--gold);transform:translateY(-2px)}
.hub-card b{display:block;font-family:var(--f-display);font-size:1.25rem;color:var(--plum);margin-bottom:6px}
.hub-card span{display:block;color:var(--muted);font-size:.95rem;line-height:1.6}

.termspage>.lead{max-width:none;text-align:justify}
@media (min-width:961px){.termspage>h1{white-space:nowrap}}
.tsec{scroll-margin-top:110px}

/* Contents: slim scrollbar in the page palette */
.ttoc{scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent;scrollbar-gutter:stable}
.ttoc::-webkit-scrollbar{width:8px}
.ttoc::-webkit-scrollbar-track{background:transparent;margin-block:12px}
.ttoc::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold),var(--plum));border-radius:999px;border:2px solid var(--surface)}
.ttoc::-webkit-scrollbar-thumb:hover{background:var(--plum)}
.ttoc::-webkit-scrollbar-button{display:none}

/* Register page: full-width registration card (scoped to #register.register-full) */
.register-full .join.join-solo{grid-template-columns:minmax(0,1fr)}
.register-full .join.join-solo .form{width:100%;max-width:100%;padding:clamp(20px,3vw,36px)}
.register-full .join.join-solo .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.register-full .join.join-solo .form input,.register-full .join.join-solo .form select,.register-full .join.join-solo .form textarea{max-width:100%}
@media (max-width:560px){.register-full .join.join-solo .form .btn{width:100%}}
.chk-grid.one-line{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:4px}
.chk-grid.one-line label{flex:0 0 auto}

/* Index hero: headline on one line on desktop; intro spans the full hero width, justified */
.hero h1 em{display:inline;margin-left:.22em}
.hero .wrap>div{max-width:none}
.hero .lead{max-width:none;text-align:justify}
@media (min-width:961px){.hero h1{white-space:nowrap;font-size:clamp(1.4rem,1.8vw,1.95rem)}}

/* Index hero: verse on the left, Register and How it works buttons on the right */
.hero-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:32px}
.hero-foot .verse{margin:0}
.hero-foot .actions{margin:0;margin-left:auto}

/* Plans page redesign (scoped to .plans-page) */
.plans-page .head{text-align:center;justify-items:center;max-width:none;margin-bottom:44px}
.plans-page .head .lead{max-width:60ch}
.plans-page .plans2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.plans-page .plan2{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px 30px 30px;box-shadow:0 30px 60px -44px rgba(60,24,130,.45);text-align:center;align-items:center}
.plans-page .plan2 h3{font-family:var(--f-display);font-size:1.4rem;color:var(--plum);margin:0}
.plans-page .plan2 .price{display:flex;flex-direction:column;align-items:center;gap:2px;margin:10px 0 0}
.plans-page .plan2 .price b{font-family:var(--f-display);font-size:3rem;line-height:1.1;color:var(--ink)}
.plans-page .plan2 .per{color:var(--muted);margin:0 0 18px}
.plans-page .plan2 .plan-btn{margin-top:auto;width:100%;max-width:320px;justify-content:center}
.plans-page .plan2.best{border:2px solid var(--gilt-line);background:linear-gradient(180deg,var(--gilt-soft),var(--surface))}
.plans-page .plan2.best h3{color:var(--gilt)}
.plans-page .plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--gilt);color:var(--on-gold);font-size:.82rem;font-weight:600;padding:6px 16px;border-radius:999px;box-shadow:0 10px 22px -14px rgba(60,40,0,.5)}
.plans-page .includes{grid-column:1/-1;background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:30px 32px}
.plans-page .plan-k{display:block;font-family:var(--f-display);font-size:1.2rem;color:var(--plum);margin-bottom:16px;text-align:center}
.plans-page .feat.cols{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.plans-page .feat.cols li{position:relative;padding-left:30px;color:var(--ink);font-size:.95rem;line-height:1.6}
.plans-page .feat.cols li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--plum-tint);color:var(--plum);font-size:.75rem;font-weight:700;display:grid;place-items:center}
.plans-page .termslink{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin:34px 0 0}
.plans-page .assure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px}
.plans-page .assure>div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 20px}
.plans-page .assure b{display:block;color:var(--plum);font-family:var(--f-display);font-size:1.02rem;margin-bottom:6px}
.plans-page .assure p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}
@media (max-width:1000px){.plans-page .assure{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.plans-page .plans2{grid-template-columns:1fr}.plans-page .plan2.best{margin-top:14px}}
@media (max-width:620px){.plans-page .feat.cols{grid-template-columns:1fr}.plans-page .assure{grid-template-columns:1fr}.plans-page .includes{padding:24px 20px}.plans-page .plan2{padding:30px 22px 24px}}

/* "Both plans include" redesign: feature tiles with check badges (scoped to .plans-page) */
.plans-page .includes{background:transparent;border:0;padding:8px 0 0}
.plans-page .plan-k{display:flex;align-items:center;justify-content:center;gap:14px;font-size:1.25rem;margin-bottom:22px}
.plans-page .plan-k::before,.plans-page .plan-k::after{content:"";flex:1;max-width:120px;height:1px;background:var(--gilt-line)}
.plans-page .feat.cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.plans-page .feat.cols li{display:flex;align-items:flex-start;gap:12px;margin:0;padding:18px 18px 18px 18px;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);font-size:.93rem;line-height:1.6;transition:border-color .2s,transform .2s}
.plans-page .feat.cols li:hover{border-color:var(--gold);transform:translateY(-2px)}
.plans-page .feat.cols li::before{position:static;flex:0 0 26px;width:26px;height:26px;margin-top:1px;border-radius:9px;background:linear-gradient(135deg,var(--plum),var(--gold));color:var(--on-gold);font-size:.8rem;font-weight:700;display:grid;place-items:center;box-shadow:0 8px 16px -10px rgba(60,24,130,.6)}
@media (max-width:1000px){.plans-page .feat.cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.plans-page .feat.cols{grid-template-columns:1fr}.plans-page .plan-k::before,.plans-page .plan-k::after{max-width:48px}}

/* Documents for registration redesign (scoped to #documents.docs-redo, the know block is untouched) */
.docs-redo .head{text-align:center;justify-items:center;max-width:none;margin-bottom:36px}
.docs-redo .head .lead{max-width:62ch}
.docs-redo .docs{display:block}
.docs-redo .docs>.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:fit-content;max-width:100%;margin:0 auto 28px;padding:6px;background:var(--soft);border:1px solid var(--line);border-radius:999px}
.docs-redo .tabs [role=tab]{border:0;background:transparent;border-radius:999px;padding:10px 18px;color:var(--muted);font:inherit;font-size:.92rem;cursor:pointer;transition:background .2s,color .2s}
.docs-redo .tabs [role=tab]:hover{color:var(--plum)}
.docs-redo .tabs [role=tab][aria-selected="true"]{background:var(--plum);color:var(--on-plum);box-shadow:0 10px 22px -14px rgba(60,24,130,.7)}
.docs-redo .panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.docs-redo .panel li{display:flex;align-items:flex-start;gap:14px;margin:0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:16px;transition:border-color .2s,transform .2s}
.docs-redo .panel li:hover{border-color:var(--gold);transform:translateY(-2px)}
.docs-redo .panel li svg{flex:0 0 30px;width:30px;height:30px;padding:6px;border-radius:10px;background:linear-gradient(135deg,var(--plum),var(--gold));color:var(--on-gold);margin-top:2px}
.docs-redo .panel li b{display:block;color:var(--ink);font-size:1rem;margin-bottom:4px}
.docs-redo .panel li span{display:block;color:var(--muted);font-size:.9rem;line-height:1.6}
.docs-redo .panel li:only-child{grid-column:1/-1}
.docs-redo .fine{text-align:center;color:var(--muted);font-size:.9rem;max-width:70ch;margin:26px auto 0}
@media (max-width:700px){.docs-redo .panel ul{grid-template-columns:1fr}.docs-redo .docs>.tabs{border-radius:18px;width:100%}.docs-redo .tabs [role=tab]{padding:9px 14px}}

/* Footer redesign (shared): gradient panel, gilt rule, link list with hover slide, legal bar as a pill row */
footer{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 90% at 100% 0%,rgba(195,166,255,.14),transparent 60%),linear-gradient(180deg,var(--plum-deep),#1a0b3d);color:#d8ccef;padding-block:64px 26px;border-top:0}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--gilt-hi),var(--gold),transparent)}
footer .cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
footer .brandf{gap:14px;margin-bottom:16px}
footer .brandf .logo-img{width:56px;height:56px;border-radius:50%;padding:3px;background:linear-gradient(135deg,var(--gilt-hi),var(--gold));box-sizing:content-box}
footer .brandf b{font-size:1.45rem}
footer>.wrap>.cols>div>p{color:#bcaed8;line-height:1.75;max-width:44ch;margin:0}
footer h4{position:relative;color:var(--gilt-hi);font-family:var(--f-display);font-size:1.02rem;font-weight:600;letter-spacing:.02em;margin:0 0 16px;padding-bottom:10px}
footer h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gilt-hi),var(--gold))}
footer a{display:block;padding:6px 0 6px 0;color:#e9e1f7;transition:color .2s,transform .2s}
footer a::before{content:"›";display:inline-block;width:16px;color:var(--gilt-hi);opacity:.85;transition:transform .2s}
footer a:hover{color:#fff;transform:translateX(3px)}
footer a:hover::before{transform:translateX(2px)}
footer>.wrap>.cols>div>p[style]{color:#bcaed8!important;font-size:.84rem!important;margin-top:12px!important;padding-left:16px;border-left:2px solid var(--gilt-line)}
footer .legal{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:40px;padding:16px 20px;border:1px solid #ffffff1f;border-radius:999px;background:rgba(255,255,255,.04);font-size:.82rem;color:#bcaed8}
footer .legal>span:last-child{padding:5px 14px;border-radius:999px;background:linear-gradient(135deg,rgba(195,166,255,.22),rgba(226,191,108,.18));color:var(--gilt-hi);font-weight:600;letter-spacing:.02em;white-space:nowrap}
@media (max-width:820px){footer .cols{grid-template-columns:1fr 1fr;gap:36px}footer .cols>div:first-child{grid-column:1/-1}}
@media (max-width:560px){footer .cols{grid-template-columns:1fr;gap:30px}footer .legal{flex-direction:column;align-items:flex-start;border-radius:20px;padding:16px 18px}footer .legal>span:last-child{align-self:flex-start}}

/* Plans page: Choose buttons centred in each plan card */
.plans-page .plan2 .plan-btn{display:flex;align-self:center;justify-content:center;align-items:center;text-align:center;margin-left:auto;margin-right:auto;width:100%;max-width:320px}