:root { --ink:#17332e; --muted:#5b6d69; --cream:#f6f2e9; --paper:#fffdf8; --green:#1f6658; --green-dark:#174b42; --gold:#cba866; --line:#dcd8ce; --shadow:0 18px 55px rgba(24,51,46,.12); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 85% 0,#e1eee8 0,transparent 34rem),var(--cream); font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--green-dark); }
.testing-banner { display:flex; justify-content:center; align-items:center; gap:8px 18px; flex-wrap:wrap; padding:13px 20px; background:#9f1d20; color:white; text-align:center; border-bottom:4px solid #f0c75e; }
.testing-banner strong { text-transform:uppercase; letter-spacing:.06em; font-size:.9rem; }
.testing-banner span { font-weight:600; }
.survey-banner { display:flex; justify-content:center; align-items:center; gap:12px 20px; flex-wrap:wrap; padding:10px 20px; background:var(--green-dark); color:white; text-align:center; text-decoration:none; }
.survey-banner strong { color:#f0d597; text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; }
.survey-banner .survey-action { font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.survey-banner:hover .survey-action { text-decoration-thickness:2px; }
.site-header { max-width:1120px; margin:auto; padding:24px 28px; display:flex; justify-content:space-between; align-items:center; }
.brand { display:flex; gap:12px; align-items:center; color:var(--ink); text-decoration:none; line-height:1.15; }
.brand strong,.brand small { display:block; }.brand small { color:var(--muted); margin-top:5px; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.mark,.answer-icon { display:grid; place-items:center; background:var(--green); color:white; border-radius:50%; font-weight:750; letter-spacing:.04em; }
.mark { width:50px; height:50px; border:2px solid var(--gold); }.answer-icon { width:36px; height:36px; font-size:.72rem; }
.library-link { border:1px solid var(--green); border-radius:999px; padding:9px 16px; text-decoration:none; font-weight:650; }
main { width:min(1400px,calc(100% - 36px)); margin:58px auto 80px; }
.intro,.hierarchy,.notice { width:min(900px,100%); margin-left:auto; margin-right:auto; }
.intro { max-width:710px; margin-bottom:35px; }.eyebrow { color:var(--green); text-transform:uppercase; letter-spacing:.14em; font-weight:750; font-size:.78rem; }
h1 { font-family:Georgia,serif; font-size:clamp(2.5rem,7vw,4.8rem); line-height:1.03; letter-spacing:-.04em; margin:.2em 0; font-weight:500; }
#welcome-heading { font-size:clamp(1.7rem,5.5vw,4rem); white-space:nowrap; }
.intro>p:last-child { color:var(--muted); font-size:1.12rem; max-width:670px; }
.assistant { background:var(--paper); border:1px solid rgba(31,102,88,.16); padding:clamp(20px,4vw,38px); box-shadow:var(--shadow); border-radius:22px; }
.assistant-layout { display:grid; grid-template-columns:minmax(170px,220px) minmax(0,900px) minmax(170px,220px); gap:22px; align-items:start; justify-content:center; }
.sample-rail { display:grid; gap:11px; position:sticky; top:20px; }
.sample-rail::before { content:"Try asking"; color:var(--green); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:750; }
.sample-rail button { text-align:left; border:1px solid rgba(31,102,88,.2); border-radius:13px; padding:11px 12px; background:rgba(255,253,248,.86); color:var(--ink); font-size:.82rem; line-height:1.35; box-shadow:0 7px 20px rgba(24,51,46,.06); }
.sample-rail button:hover { border-color:var(--green); background:white; }
.building-picker { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.building-picker>span { font-weight:700; margin-right:4px; }
.building-option { border:1px solid #9eafa9; background:white; color:var(--ink); border-radius:999px; padding:8px 15px; }
.building-option.active { background:var(--green); border-color:var(--green); color:white; box-shadow:0 3px 12px rgba(31,102,88,.22); }
.building-option:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
label { display:block; font-weight:700; margin-bottom:9px; }.question-box { display:flex; align-items:flex-end; gap:10px; border:1px solid #afbbb7; border-radius:14px; padding:10px; background:white; }
textarea { flex:1; resize:vertical; min-height:88px; border:0; outline:0; padding:7px; font:inherit; color:var(--ink); background:transparent; }
button { font:inherit; cursor:pointer; }.question-box button { border:0; border-radius:10px; padding:11px 25px; background:var(--green); color:white; font-weight:700; }.question-box button:hover { background:var(--green-dark); }.question-box button:disabled { opacity:.55; cursor:wait; }
.status { margin-top:24px; color:var(--muted); }.answer-card { border-top:1px solid var(--line); margin-top:28px; padding-top:26px; }.answer-heading { display:flex; gap:10px; align-items:center; }.answer-heading h2 { margin:0; font:500 1.45rem Georgia,serif; }
.answer { margin:15px 0; }.answer p,.answer-translation p { margin:.7em 0; }.answer ul,.answer-translation ul { margin:.65em 0; padding-left:1.4em; }.answer li,.answer-translation li { margin:.35em 0; }.sources { background:#f2f5f2; padding:13px 16px; border-radius:10px; color:var(--muted); font-size:.88rem; }.sources strong { color:var(--ink); }.sources ul { margin:5px 0 0; padding-left:20px; }
.answer li.depth-1,.answer-translation li.depth-1 { margin-left:1.4em; }.answer li.depth-2,.answer-translation li.depth-2 { margin-left:2.8em; }
.answer-translation { margin:16px 0; padding:14px 16px; border-left:3px solid var(--gold); background:#faf8f2; white-space:pre-wrap; }
.answer-translation::before { content:"English translation"; display:block; margin-bottom:7px; color:var(--green); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:750; }
.feedback { display:flex; align-items:center; gap:8px; margin-top:18px; color:var(--muted); font-size:.88rem; }.feedback button { border:1px solid var(--line); border-radius:7px; background:white; padding:4px 12px; }
.notice { margin-top:28px; border-left:3px solid var(--gold); padding:6px 0 6px 22px; color:var(--muted); }.notice h2 { color:var(--ink); font:500 1.35rem Georgia,serif; }.notice p { margin:.6em 0; }
footer { border-top:1px solid rgba(23,51,46,.15); padding:30px 20px 45px; text-align:center; color:var(--muted); font-size:.9rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1120px){ .assistant-layout{grid-template-columns:1fr}.sample-rail{position:static;display:flex;overflow-x:auto;padding-bottom:4px}.sample-rail::before{display:none}.sample-rail button{min-width:210px}.sample-rail-right{display:none} }
@media(max-width:620px){ .site-header{padding:18px}.library-link{font-size:.78rem;padding:7px 10px}.brand small{display:none} main{margin-top:35px}.question-box{display:block}.question-box button{width:100%;margin-top:8px}.feedback{flex-wrap:wrap} }

.hierarchy { margin-top:34px; padding:clamp(22px,4vw,36px); background:#edf3ef; border:1px solid rgba(31,102,88,.16); border-radius:18px; }
.hierarchy h2 { margin:.2em 0 .45em; font:500 clamp(1.7rem,4vw,2.35rem) Georgia,serif; }
.hierarchy>p { color:var(--muted); }
.hierarchy ol { list-style:none; counter-reset:level; padding:0; margin:24px 0; display:grid; gap:11px; }
.hierarchy li { counter-increment:level; display:grid; grid-template-columns:42px 1fr; column-gap:12px; padding:13px 15px; background:var(--paper); border-radius:11px; }
.hierarchy li::before { content:counter(level); grid-row:1 / span 2; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--green); color:white; font-weight:750; }
.hierarchy li strong,.hierarchy li span { grid-column:2; }
.hierarchy li span { color:var(--muted); font-size:.92rem; }
.hierarchy-note { border-left:3px solid var(--gold); padding-left:14px; }
.authority-links { display:flex; gap:9px; flex-wrap:wrap; margin-top:20px; }
.authority-links a { background:white; border:1px solid #afbbb7; border-radius:999px; padding:7px 12px; text-decoration:none; font-size:.88rem; font-weight:650; }
.legal-note { font-size:.82rem; margin-top:17px; }

.information-page{width:min(980px,calc(100% - 36px));margin-top:42px}.page-intro{margin-bottom:36px}.page-intro h1{font-size:clamp(2.5rem,7vw,4.6rem)}.page-intro>p:not(.eyebrow){max-width:800px;color:var(--muted);font-size:1.08rem}.scope-note{margin-top:24px;padding:17px 19px;border-left:3px solid var(--gold);background:rgba(255,253,248,.72)}.content-section{margin-top:24px;padding:clamp(22px,4vw,38px);background:var(--paper);border:1px solid rgba(31,102,88,.16);border-radius:18px;box-shadow:0 10px 30px rgba(24,51,46,.06)}.content-section h2{margin:.15em 0 .45em;font:500 clamp(1.65rem,4vw,2.25rem) Georgia,serif}.content-section h2:not(:first-of-type){margin-top:1.5em}.content-section h3{margin-top:1.6em}.content-section>p{color:var(--muted)}.source-list,.document-list{margin:22px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.source-list li,.document-list li{padding:11px 13px;background:#f2f5f2;border-radius:9px}.linked-sources li{display:flex;flex-direction:column}.linked-sources span{color:var(--muted);font-size:.82rem}.process-list{list-style:none;counter-reset:process;padding:0;display:grid;gap:13px}.process-list li{counter-increment:process;display:grid;grid-template-columns:42px 1fr;column-gap:13px;padding:15px;background:#edf3ef;border-radius:11px}.process-list li::before{content:counter(process);grid-row:1/span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:white;font-weight:750}.process-list strong,.process-list span{grid-column:2}.process-list span{color:var(--muted)}.coming-soon{border:2px solid var(--gold);background:linear-gradient(145deg,#fffdf8,#f4eee1)}.status-pill{display:inline-block;margin-bottom:10px;padding:5px 11px;border-radius:999px;background:var(--gold);color:#382c16;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.coming-soon li{margin:.7em 0}.security-note{padding:15px 17px;background:white;border-radius:10px}@media(max-width:680px){.source-list,.document-list{grid-template-columns:1fr}.information-page{margin-top:28px}}
