
:root{
  --violet:#251f38;
  --violet2:#393054;
  --cream:#f5f1e7;
  --paper:#fffdf7;
  --pink:#e96a88;
  --gold:#e8ba5b;
  --blue:#7eb3c7;
  --ink:#242128;
  --muted:#6f6875;
  --line:#d7d0c4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit}
.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
.nav{background:var(--violet);color:white}
.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px}
.logo{text-decoration:none;display:flex;align-items:center;gap:13px}
.logo span{width:38px;height:38px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font-weight:900}
.logo b{font-size:14px;letter-spacing:.11em}
.nav-meta{font-size:10px;letter-spacing:.16em;color:#bdb4d4}
.hero{background:linear-gradient(135deg,var(--violet) 0 52%,#332948 52% 100%);color:white}
.hero-inner{display:grid;grid-template-columns:1.4fr .65fr;gap:54px;padding:72px 0}
.eyebrow,.micro{font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--pink)}
h1,h2,h3{line-height:1.08;margin-top:0}
h1{font-family:Georgia,serif;font-size:clamp(50px,7vw,88px);letter-spacing:-.045em;margin:15px 0 25px}
h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,50px);letter-spacing:-.03em}
h3{font-size:21px}
.lead{font-size:22px;max-width:800px;color:#ebe7f2}
.answer{margin-top:28px;border-left:5px solid var(--gold);padding:4px 0 4px 22px;max-width:820px}
.answer span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--gold)}
.answer p{font-family:Georgia,serif;font-size:21px;line-height:1.45;margin:8px 0}
.sequence-card{align-self:start;background:var(--paper);color:var(--ink);padding:24px;box-shadow:16px 16px 0 rgba(0,0,0,.18)}
.seq-title{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--violet2);margin-bottom:10px}
.sequence-card ol{list-style:none;margin:0;padding:0}
.sequence-card li{display:grid;grid-template-columns:48px 1fr;border-top:1px solid var(--line);padding:12px 0;align-items:center}
.sequence-card b{font-family:Georgia,serif;font-size:24px;color:var(--pink)}
.sequence-card span{font-weight:800}
.nav-strip{background:var(--paper);border-bottom:1px solid var(--line)}
.strip-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.strip-grid a{text-decoration:none;text-align:center;padding:13px 8px;font-size:12px;font-weight:800;border-left:1px solid var(--line)}
.strip-grid a:last-child{border-right:1px solid var(--line)}
.block{padding:62px 0}
.block-head{display:grid;grid-template-columns:86px 1fr;gap:22px;margin-bottom:32px;align-items:start}
.index{font-family:Georgia,serif;font-size:54px;color:var(--pink);line-height:1}
.block-head h2{margin:5px 0 0}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
.two-col>div:first-child{font-size:18px}
.signal-card{background:var(--paper);border:1px solid var(--line);padding:26px;position:relative}
.signal-dot{width:18px;height:18px;background:var(--pink);border-radius:50%;box-shadow:0 0 0 8px rgba(233,106,136,.18);margin-bottom:24px}
.signal-card ul{padding-left:18px}
.dark{background:var(--violet);color:#fff;padding:62px 0}
.inverse .micro{color:var(--gold)}
.inverse h2{color:white}
.intro-dark{max-width:900px;font-size:18px;color:#d7d0e5;margin-bottom:28px}
.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.roles-grid article{background:var(--violet2);padding:22px;min-height:210px;border-top:4px solid var(--gold)}
.role-code{font-family:Consolas,monospace;font-size:11px;color:var(--gold);letter-spacing:.12em}
.roles-grid h3{margin:18px 0 8px}
.roles-grid p{color:#d5cee1;font-size:14px}
.role-rule{margin-top:20px;border:1px solid #5d5572;padding:20px;background:#302847}
.role-rule strong{color:var(--gold)}
.role-rule p{margin:5px 0 0;color:#ded8e9}
.route-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.route-diagram{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);padding:34px}
.node{border:2px solid var(--violet);padding:12px 14px;font-weight:900;font-size:12px;background:white}
.node.start{background:var(--violet);color:#fff}
.node.exit{background:var(--pink);color:#fff;border-color:var(--pink)}
.node.meeting{background:var(--gold);border-color:var(--gold)}
.line{width:28px;height:2px;background:var(--violet)}
.line.outdoor{background:var(--blue)}
.criteria{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.criteria>div{background:var(--paper);border:1px solid var(--line);padding:18px}
.criteria b{color:var(--pink);font-size:12px;letter-spacing:.1em}
.criteria p{font-size:14px;margin:7px 0 0}
.priority{background:var(--gold);padding:58px 0}
.priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.priority-copy .micro{color:var(--violet)}
.priority-copy h2{margin-top:6px}
.priority-copy p{font-size:18px}
.priority-list{border-top:1px solid rgba(37,31,56,.5)}
.priority-list>div{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid rgba(37,31,56,.35)}
.priority-list span{font-family:Georgia,serif;font-size:26px;color:var(--violet)}
.priority-list p{margin:0;font-weight:700}
.meeting-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:48px;align-items:center}
.meeting-icon{text-align:center}
.arrows{font-size:52px;color:var(--blue);letter-spacing:.2em}
.meeting-box{display:inline-block;background:var(--violet);color:#fff;border-radius:50%;width:190px;height:190px;padding-top:58px;font-weight:900;line-height:1.2;box-shadow:0 0 0 10px rgba(37,31,56,.08)}
.check{padding-left:18px}
.check li{margin-bottom:8px}
.count-section{background:#ded9ea;padding:62px 0}
.count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.count-card{background:var(--paper);padding:24px;border-bottom:5px solid var(--violet)}
.count-card span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--pink)}
.count-card h3{margin:14px 0 8px}
.count-card p{font-size:14px;color:var(--muted)}
.count-alert{margin-top:18px;background:var(--violet);color:white;padding:22px}
.count-alert strong{color:var(--gold)}
.count-alert p{margin:5px 0 0}
.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.document-grid>div{background:var(--paper);border:1px solid var(--line);padding:18px;min-height:150px}
.document-grid span{display:block;font-family:Georgia,serif;font-size:32px;color:var(--pink)}
.document-grid p{margin:12px 0 0;font-weight:700;font-size:14px}
.validation{display:grid;grid-template-columns:1fr 60px 1fr 60px 1fr;align-items:center}
.validation>div:not(.arrow){background:var(--violet);color:#fff;padding:24px;min-height:165px}
.validation strong{font-size:26px;color:var(--gold)}
.validation p{color:#ded8e9}
.arrow{text-align:center;font-size:32px;color:var(--pink)}
.validation-copy{max-width:900px;font-size:18px;margin-top:25px}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-family:Georgia,serif;font-size:20px;font-weight:700;cursor:pointer}
.faq p{max-width:900px}
.sources ul{padding-left:18px}
.sources li{margin-bottom:10px}
.source-box{margin-top:22px;background:#e5dfef;padding:20px;border-left:5px solid var(--violet)}
.source-box p{margin:6px 0 0}
.updated{font-size:12px;color:var(--muted)}
.hub{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;background:var(--violet);color:white;padding:34px;margin-bottom:42px}
.hub .micro{color:var(--gold)}
.hub h2{font-size:35px;margin:8px 0}
.hub p{color:#d8d1e4}
.hub-actions{display:flex;flex-direction:column;justify-content:center;gap:10px}
.btn{text-decoration:none;padding:13px 15px;font-weight:800;text-align:center}
.btn.primary{background:var(--gold);color:var(--violet)}
.btn.secondary{border:1px solid #8d84a2;color:white}
.editorial{padding:0 0 48px;font-size:13px;color:var(--muted)}
footer{background:#171324;color:#aaa4bd}
.footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:86px;font-size:11px;font-weight:800;letter-spacing:.08em}
.footer a{color:white}
@media(max-width:900px){
  .hero-inner,.two-col,.route-layout,.priority-grid,.meeting-layout,.hub{grid-template-columns:1fr}
  .roles-grid{grid-template-columns:1fr 1fr}
  .document-grid{grid-template-columns:1fr 1fr}
  .validation{grid-template-columns:1fr}.arrow{padding:10px}
}
@media(max-width:620px){
  .wrap{width:min(100% - 24px,1160px)}
  .nav-meta{display:none}
  .hero-inner{padding-top:42px}
  h1{font-size:48px}
  .strip-grid{grid-template-columns:1fr 1fr}
  .block-head{grid-template-columns:55px 1fr}.index{font-size:38px}
  .roles-grid,.criteria,.count-grid,.document-grid{grid-template-columns:1fr}
  .route-diagram{flex-direction:column}.line{width:2px;height:24px}
  .footer{grid-template-columns:1fr;padding:20px 0}
}
