.norms-page { overflow-x:clip; }
.norms-page h1,.norms-page h2 { text-transform:none; word-spacing:normal; }
.norms-page h2 { font-size:clamp(2rem,3.7vw,4rem); line-height:1.02; }
.norms-page a[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; }
.norms-hero,.norms-section,.norms-contact { width:min(100%,var(--max)); margin-inline:auto; padding:clamp(42px,6vw,84px) var(--gutter); border-inline:1px solid var(--line); }
.norms-hero { min-height:calc(100svh - var(--header-h)); display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); grid-template-rows:1fr auto; gap:32px clamp(28px,5vw,76px); align-items:center; }
.norms-hero h1 { max-width:900px; font-size:clamp(2.8rem,5.3vw,5.8rem); line-height:.98; }
.norms-intro { max-width:800px; margin:24px 0 0; color:#4A5568; font-size:clamp(1.08rem,1.8vw,1.35rem); line-height:1.55; }
.norms-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:28px; }
.norms-scope { padding:clamp(24px,3vw,38px); background:#fff; border:1px solid rgba(26,37,48,.14); border-top:4px solid #2E5A44; border-radius:12px; box-shadow:0 8px 24px rgba(16,28,44,.06); }
.norms-scope h2 { margin:0 0 18px; font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.12; }
.norms-scope ul { margin:0; padding-left:20px; }
.norms-scope li { margin:9px 0; color:#4A5568; line-height:1.45; }
.scope-legal { margin:20px 0 0; padding-top:16px; border-top:1px solid rgba(26,37,48,.15); color:#4A5568; font-size:.82rem; line-height:1.45; }
.norms-subnav { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); padding-top:20px; }
.norms-subnav a { min-height:42px; display:inline-flex; align-items:center; padding:8px 14px; border:1px solid rgba(26,37,48,.24); border-radius:999px; text-decoration:none; font:600 .72rem "IBM Plex Mono",monospace; text-transform:uppercase; }
.norms-subnav a:hover,.norms-subnav a:focus-visible { background:#101C2C; color:#fff; }
.norms-section { border-top:1px solid var(--line); }
.norms-section > h2 { max-width:1050px; }
.norms-lead { max-width:840px; margin:22px 0 0; color:#4A5568; font-size:1.1rem; line-height:1.6; }
.urgency { background:#fff; }
.reason-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:34px; }
.reason-grid article { min-width:0; padding:26px; border:1px solid rgba(26,37,48,.14); border-radius:12px; background:#F4F5F7; }
.reason-grid span,.change-grid b { display:grid; width:44px; height:44px; place-items:center; margin-bottom:26px; border-radius:50%; background:#E5DFD4; color:#101C2C; font:700 .78rem "IBM Plex Mono",monospace; }
.reason-grid h3,.change-grid h3 { margin:0 0 12px; font-size:clamp(1.18rem,1.7vw,1.45rem); line-height:1.2; }
.reason-grid p,.change-grid p { margin:0; color:#4A5568; line-height:1.55; }
.changes { background:#F4F5F7; }
.change-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:34px; }
.change-grid article { min-width:0; padding:clamp(24px,3vw,34px); background:#fff; border:1px solid rgba(26,37,48,.14); border-radius:12px; }
.change-grid b { border-radius:10px; background:#FFF0BE; color:#0E425C; }
.timeline-section { background:#101C2C; color:#fff; }
.timeline-section .eyebrow { color:#E5DFD4; }
.timeline-section h2 { color:#fff; }
.norms-timeline { margin:36px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.28); }
.norms-timeline li { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.22); }
.norms-timeline time { color:#E5DFD4; font:600 .76rem "IBM Plex Mono",monospace; }
.norms-timeline h3 { margin:0 0 7px; color:#fff; font-size:1.35rem; }
.norms-timeline p { margin:0; color:rgba(255,255,255,.72); line-height:1.5; }
.source-note { margin:20px 0 0; color:rgba(255,255,255,.65); font-size:.82rem; }
.roadmap { background:#fff; }
.roadmap-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.roadmap-heading > div { max-width:1000px; }
.print-roadmap { min-height:46px; flex:0 0 auto; padding:10px 16px; border:1px solid #101C2C; background:transparent; color:#101C2C; font:600 .72rem "IBM Plex Mono",monospace; text-transform:uppercase; cursor:pointer; }
.print-roadmap:hover { background:#101C2C; color:#fff; }
.roadmap-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:40px 0 0; padding:0; list-style:none; }
.roadmap-list li { min-width:0; padding:24px 20px; border-top:4px solid #2E5A44; background:#F4F5F7; }
.roadmap-list span { display:block; margin-bottom:34px; color:#2E5A44; font:700 1.7rem "IBM Plex Mono",monospace; }
.roadmap-list h3 { margin:0 0 10px; font-size:1.12rem; line-height:1.2; }
.roadmap-list p { margin:0; color:#4A5568; font-size:.94rem; line-height:1.5; }
.roadmap-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; padding:28px; background:#E5DFD4; border-radius:12px; }
.roadmap-cta h3 { margin:0 0 6px; font-size:1.35rem; }
.roadmap-cta p { margin:0; color:#4A5568; }
.roadmap-cta .primary-link { flex:0 0 auto; }
.assessment { background:#F4F5F7; }
.assessment-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:end; }
.assessment-head > div:first-child { max-width:960px; }
.assessment-head p:not(.eyebrow) { max-width:850px; color:#4A5568; line-height:1.55; }
.assessment-progress { min-width:112px; padding:18px; background:#101C2C; color:#fff; text-align:center; border-radius:10px; }
.assessment-progress strong,.assessment-progress span { display:block; }
.assessment-progress strong { font-size:1.5rem; }
.assessment-progress span { font-size:.75rem; text-transform:uppercase; }
.assessment-group { margin-top:32px; }
.assessment-group h3 { margin:0 0 12px; padding-bottom:10px; border-bottom:2px solid #2E5A44; font-size:1.35rem; }
.assessment-question { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(26,37,48,.15); }
.assessment-question p { margin:0; line-height:1.45; }
.assessment-question fieldset { display:flex; gap:7px; margin:0; padding:0; border:0; }
.assessment-question legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.assessment-question label { cursor:pointer; }
.assessment-question input { position:absolute; opacity:0; }
.assessment-question label span { display:grid; min-width:64px; min-height:42px; place-items:center; padding:7px 10px; border:1px solid rgba(26,37,48,.25); border-radius:8px; background:#fff; font-size:.82rem; font-weight:650; }
.assessment-question input:checked + span { border-color:#2E5A44; background:#2E5A44; color:#fff; }
.assessment-question input:focus-visible + span { outline:3px solid #24554A; outline-offset:2px; }
.assessment-controls { display:flex; gap:12px; margin-top:28px; }
.assessment-submit,.assessment-reset { min-height:48px; padding:12px 20px; border:1px solid #101C2C; font-weight:750; cursor:pointer; }
.assessment-submit { background:#2E5A44; color:#fff; }
.assessment-reset { background:transparent; color:#101C2C; }
.assessment-result { margin-top:24px; padding:26px; background:#fff; border:1px solid rgba(26,37,48,.15); border-left:6px solid #2E5A44; border-radius:10px; }
.assessment-result h3 { margin:0 0 8px; font-size:1.55rem; }
.assessment-result p { max-width:850px; margin:8px 0; line-height:1.55; }
.assessment-result strong { color:#2E5A44; }
.faq { background:#fff; }
.faq .faq-list { max-width:1000px; }
.norms-contact { display:flex; align-items:center; justify-content:space-between; gap:32px; border-top:1px solid var(--line); background:#E5DFD4; }
.norms-contact > div { max-width:940px; }
.norms-contact h2 { margin:0 0 12px; }
.norms-contact p:not(.eyebrow) { max-width:760px; margin:0; color:#4A5568; font-size:1.05rem; line-height:1.55; }
.norms-contact .primary-link { flex:0 0 auto; }
@media (max-width:1050px) { .reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-list{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-list li:last-child{grid-column:1/-1}.change-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:899px) { .norms-hero{min-height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto;align-items:start}.norms-subnav{grid-column:auto}.roadmap-heading,.roadmap-cta,.norms-contact{align-items:flex-start;flex-direction:column}.roadmap-cta .primary-link,.norms-contact .primary-link{max-width:100%}.assessment-head{grid-template-columns:1fr}.assessment-progress{justify-self:start}.assessment-question{grid-template-columns:1fr}.assessment-question fieldset{flex-wrap:wrap}.norms-timeline li{grid-template-columns:140px minmax(0,1fr)} }
@media (max-width:650px) { .norms-hero,.norms-section,.norms-contact{padding-block:38px}.norms-hero h1{font-size:clamp(2.45rem,12vw,3.7rem)}.norms-subnav{display:grid;grid-template-columns:1fr 1fr}.norms-subnav a{justify-content:center;text-align:center}.reason-grid,.change-grid,.roadmap-list{grid-template-columns:1fr}.roadmap-list li:last-child{grid-column:auto}.norms-timeline li{grid-template-columns:1fr;gap:10px}.assessment-question fieldset{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.assessment-question label span{min-width:0}.assessment-controls{flex-direction:column}.assessment-controls button{width:100%}.roadmap-cta{padding:22px}.norms-contact .primary-link{width:100%;justify-content:center} }
@media print { .site-header,.norms-hero,.urgency,.changes,.timeline-section,.assessment,.faq,.norms-contact,footer,.roadmap-cta,.print-roadmap{display:none!important}.roadmap{display:block!important;border:0!important;padding:20px!important}.roadmap-list{grid-template-columns:1fr!important}.roadmap-list li{break-inside:avoid} }
