:root {
  color-scheme: light;
  --ink:#201632; --sub:#524661; --paper:#f8f5ef; --white:#fffdf9;
  --night:#201431; --panel:#2e1b47; --violet:#6844a0; --line:#e3dcec;
  --lime:#e4f878; --lav:#f0e8fc; --warn:#fff1d6; --radius:20px;
  --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:20px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.63 var(--sans)}
img{display:block;max-width:100%;height:auto}
a{color:#522985;text-underline-offset:.21em}
a:hover{text-decoration-thickness:2px}
button,select{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #8155cf;outline-offset:3px}
h1,h2,h3,p{margin:0}
h2,h3{line-height:1.2}
p+p{margin-top:.9rem}
.wrap{width:min(100% - 48px,1184px);margin-inline:auto}
.skip{position:absolute;z-index:8;top:.5rem;left:1rem;transform:translateY(-150%);background:#fff;padding:.6rem 1rem}
.skip:focus{transform:none}
.topline{background:var(--lime);color:#242039;font-size:.79rem;font-weight:700}
.topline .wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 12px;padding:7px 0;text-align:center}
.topline a{color:inherit}
.header{background:var(--night);color:white;border-bottom:1px solid #50396a}
.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:69px}
.brand{display:inline-flex;align-items:center;gap:11px;color:inherit;font-weight:850;letter-spacing:-.025em;text-decoration:none;font-size:1.24rem;white-space:nowrap}
.brand img{width:38px;height:38px;border-radius:10px}
.brand strong{font-weight:850}.brand strong span{color:var(--lime)}
.desktop-nav,.nav-end{display:flex;align-items:center;gap:clamp(14px,2.4vw,31px)}
.desktop-nav a,.nav-end a,.menu a{color:#eee5fb;text-decoration:none;font-size:.87rem;font-weight:670}
.desktop-nav a:hover,.desktop-nav a[aria-current],.menu a:hover{color:var(--lime)}
.nav-end{gap:10px}
.nav-end a{border:1px solid #76628d;border-radius:9px;padding:6px 10px;white-space:nowrap}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;border:1px solid #76628d;border-radius:9px;padding:7px 10px;color:white;font-weight:700;font-size:.86rem}
.menu summary::-webkit-details-marker{display:none}
.menu div{position:absolute;z-index:10;right:0;top:calc(100% + 7px);width:min(240px,80vw);padding:9px;background:var(--panel);border:1px solid #76628d;border-radius:12px;box-shadow:0 10px 30px #160b25b0}
.menu div a{display:block;padding:9px 11px}
.hero{background:radial-gradient(ellipse at 85% 22%,#422665 0,transparent 52%),var(--night);color:var(--white);padding:18px 0 38px}
.crumbs{color:#ded2ee;font-size:.79rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:8px;color:#ae9bc4}
.crumbs a{color:inherit}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);align-items:center;gap:32px;padding:32px 0 9px}
.hero h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(2.55rem,5.55vw,5.08rem);line-height:1.01;letter-spacing:-.057em;max-width:15ch;overflow-wrap:break-word}
.hero:not(.home) h1{font-size:clamp(2.5rem,4.8vw,4.25rem);max-width:19ch}
.hero h1 .accent{color:var(--lime)}
.hero .intro{font-size:clamp(1.03rem,1.8vw,1.17rem);line-height:1.6;color:#ece2f6;max-width:56ch;margin-top:17px}
.eyebrow{font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}
.hero .eyebrow,.foot-label{color:var(--lime)}
.hero .eyebrow{margin-bottom:12px}
.hero-art{min-width:0;max-width:420px;width:100%;justify-self:center}
.hero-art img{width:100%}
.hero-art figcaption{font-size:.73rem;color:#dfd1ee;text-align:center}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:21px}
.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:9px 15px;border:1px solid transparent;border-radius:10px;background:var(--lime);color:#241839;text-decoration:none;font-weight:820;font-size:.89rem;text-align:center}
.btn:hover{background:#f1ff9a;color:#241839}
.btn.secondary{background:transparent;color:#fff9ff;border-color:#8871a4}
.btn.secondary:hover{background:#493461}
.btn.light{background:var(--lav);border-color:#d8c9ed}
.hero .byline{font-size:.8rem;color:#e3d3f2;margin-top:18px}
.hero .byline a{color:inherit}
.strip{background:#ece2f8;border-bottom:1px solid #ded0ed}
.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.strip span{padding:11px 12px;text-align:center;font-size:.83rem;font-weight:760}
.strip span+span{border-left:1px solid #d7c7e8}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:26px;align-items:start;padding:32px 0 58px}
.flow{min-width:0;display:grid;gap:20px}
.card,.rail-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.card{padding:clamp(17px,3vw,30px)}
.card h2{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.035em;margin:3px 0 13px}
.card h3{font-size:1.02rem;margin-bottom:7px}
.card p,.card li{color:var(--sub)}
.card .eyebrow{color:#634096}
.section-copy{margin-top:17px}.section-copy:first-of-type{margin-top:0}
.rail{display:grid;gap:13px;position:sticky;top:19px}
.rail-card{padding:17px}
.rail-card .eyebrow{color:#634096}
.rail-card ul{list-style:none;margin:8px 0 0;padding:0}
.rail-card li+li{border-top:1px solid #eee7f1}
.rail-card li a{display:block;padding:6px 0;font-weight:650;font-size:.87rem}
.rail-card p{font-size:.84rem}
.rail-card p+p{margin-top:6px}
.notice{background:var(--warn);border-color:#ebd5a3}
.notice a{font-weight:750}
.note{padding:10px 12px;border-left:3px solid #8a62bb;background:#f4edf9;border-radius:0 8px 8px 0;margin-top:12px}
.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:13px}
.tile-grid a{display:flex;flex-direction:column;gap:6px;background:var(--lav);padding:12px;border:1px solid #e2d5ef;border-radius:11px;text-decoration:none;color:var(--ink);font-weight:800;min-width:0;overflow-wrap:anywhere}
.tile-grid a:hover{background:#e6d7f8}
.tile-grid small{font-weight:570;color:var(--sub);line-height:1.42}
.tile-grid b{color:#6a4597;font-size:.73rem;letter-spacing:.08em}
.asset{margin:16px 0 0;max-width:650px}
.asset img{border-radius:12px;background:#eee6f3}
.asset figcaption{color:var(--sub);font-size:.81rem;margin-top:5px}
.evidence-top{display:flex;align-items:center;gap:12px;margin:10px 0}
.evidence-top img{width:50px;height:50px;flex:none;border-radius:13px;background:#eee4fb}
.evidence-top small{display:block;color:var(--sub)}
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.evidence-grid div{min-width:0;border:1px solid #e5dcec;border-radius:9px;padding:9px 10px;background:#fbf8ff}
.evidence-grid dt{font-size:.77rem;color:var(--sub);font-weight:650}
.evidence-grid dd{margin:2px 0 0;color:var(--ink);font-size:.91rem;font-weight:780;overflow-wrap:anywhere}
.table-scroll{margin-top:12px;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.45;text-align:left}
th,td{vertical-align:top;padding:9px 10px;border-bottom:1px solid #eae3ef;overflow-wrap:anywhere}
thead th{background:var(--lav);color:var(--ink)}
tbody tr:last-child>*{border-bottom:0}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.check-grid div{background:#f3f1fa;padding:13px;border:1px solid #e7dff0;border-radius:12px}
.check-grid div+div{background:#faf0e9;border-color:#f0e0d4}
.check-grid ul,.steps,.source-list{margin:6px 0 0;padding-left:1.2rem}
.steps li+li,.source-list li+li{margin-top:.45rem}
.query-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;list-style:none;padding:0;margin:13px 0 0}
.query-grid li{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#faf6ff;font-size:.82rem;overflow-wrap:anywhere}
.inline-action{margin-top:13px}
.tool{background:#2a1a3e;border-color:#3c2a55;color:#fffafc}
.tool .eyebrow,.tool a{color:var(--lime)}
.tool p,.tool li{color:#f1e9fa}
.tool-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tool-controls{border:0;padding:0;margin:15px 0 0}
.tool-controls legend{font-weight:760}
.hands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hands fieldset{border:1px solid #7d6896;border-radius:10px;margin:0;min-width:0;padding:8px}
.hands legend{font-size:.85rem;color:#eee4f5}
.slots,.picker{display:flex;gap:5px;flex-wrap:wrap}
.slots button,.picker button,.reset{border:1px solid #917da9;border-radius:8px;color:#fff7ff;background:#4b3566;min-width:38px;min-height:44px;font-weight:750}
.slots button{flex:1;min-width:32px;white-space:nowrap}
.slots button[aria-pressed=true],.picker button[aria-pressed=true]{background:var(--lime);color:var(--night);border-color:var(--lime)}
.picker-label{display:block;margin:10px 0 4px;font-size:.82rem;font-weight:750}
.tool select{background:#fff9ff;color:var(--ink);max-width:100%;border:0;padding:5px;border-radius:6px}
.tool-status{margin:10px 0 0;min-height:1.6em;font-size:.87rem}
.tool-result{background:#3c2853;border:1px solid #80689c;border-radius:10px;padding:10px;margin-top:9px;min-height:47px}
.reset{margin-top:8px;padding:4px 10px}
.foot{background:var(--night);color:#eae0f4;padding:30px 0 33px}
.foot-grid{display:grid;grid-template-columns:1.1fr 1.4fr;gap:25px}
.foot a{color:#fff8ff}
.foot .brand{text-decoration:none}
.foot p{font-size:.87rem;margin-top:9px}
.foot-links{display:flex;flex-wrap:wrap;gap:7px 17px;margin-top:8px}
.foot-links a{font-size:.87rem;font-weight:680}
.foot-end{border-top:1px solid #58436d;margin-top:20px;padding-top:11px}
.mobile-bottom-container{display:none}
@media(max-width:950px){
  .desktop-nav{display:none}.menu{display:block}.layout{grid-template-columns:minmax(0,1fr) 216px;gap:14px}
}
@media(max-width:767px){
  .wrap{width:min(100% - 28px,1184px)}
  .nav{min-height:60px;gap:7px}.brand{font-size:1.12rem}.brand img{width:32px;height:32px}.nav-end{gap:6px}
  .hero{padding:13px 0 23px}.hero-grid{grid-template-columns:1fr;gap:6px;padding:20px 0 0}
  .hero-art{max-width:235px;margin:9px auto 0}.hero:not(.home) .hero-art{display:none}
  .hero h1,.hero:not(.home) h1{font-size:clamp(2.28rem,10vw,3.32rem)}
  .hero .intro{margin-top:12px}.hero-actions{margin-top:15px}.hero .byline{margin-top:12px}
  .strip span{padding:7px 3px;font-size:.71rem;line-height:1.4}
  .layout{display:flex;flex-direction:column;padding:18px 0 34px;gap:13px}
  .flow,.rail{width:100%}.flow{gap:13px}.rail{position:static}.rail .rail-nav{display:none}
  .card,.rail-card{border-radius:15px}
  .foot-grid{grid-template-columns:1fr;gap:17px}
  body.has-dock .foot{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .mobile-bottom-container{position:fixed;z-index:9;inset:auto 0 0;display:flex;justify-content:center;padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));background:#201431f2;visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity .18s,transform .18s,visibility .18s;border-top:1px solid #765f94}
  .mobile-bottom-container.is-visible{visibility:visible;opacity:1;transform:none}
  .floating-download-btn{width:min(100%,420px);min-height:51px;border-radius:30px}
}
@media(max-width:460px){
  .tile-grid,.evidence-grid,.query-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .check-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.brand-art{display:grid;justify-items:center;gap:12px}
.brand-art img{width:min(60%,188px);aspect-ratio:1;object-fit:cover;border-radius:24%;border:2px solid #946cbb;box-shadow:0 10px 42px #120a27}
@media(max-width:767px){.hero:not(.home) .brand-art{display:none}}

.hero-safety{font-size:.82rem;color:#e4d9f0;margin-top:11px}
.hero-safety a{color:inherit}
.hero .byline{margin-top:9px}
.evidence-card{border-color:#c8b5e2}
.context-note{margin-top:12px;padding:9px 11px;border-left:3px solid #a46f2c;background:#fff1d6;border-radius:0 8px 8px 0;font-size:.88rem}
.floating-download-btn small{display:block;font-size:.69rem;font-weight:650;margin-top:2px}
.quick{display:none}
@media(max-width:767px){
  .quick{display:flex;gap:6px;flex-wrap:wrap;padding-top:11px}
  .quick a{display:inline-block;padding:5px 8px;border:1px solid #dfd0ef;border-radius:8px;background:#fffdf9;font-size:.76rem;font-weight:720;text-decoration:none}
  .layout .rail{display:none}
}
