:root { color-scheme:dark; --bg:#030913; --panel:#0a192e; --ink:#f1f6fc; --muted:#b6c6d8; --accent:#64dfed; --cyan:#1cc8ff; --line:#32465b; --radius:22px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; min-width:280px; color:var(--ink); background:radial-gradient(ellipse at 95% 0%,#112541 0,transparent 48%),radial-gradient(ellipse at 5% 35%,#062331 0,transparent 42%),var(--bg); line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-underline-offset:.24em; text-decoration-thickness:1px; }
a:hover { color:#bdf8ff; }
a:focus-visible, summary:focus-visible { outline:3px solid #82f5e8; outline-offset:5px; border-radius:4px; }
p { margin:0 0 1.15em; }
h1,h2 { color:var(--ink); line-height:1.15; text-wrap:balance; }
h1 { font-size:clamp(2.25rem,5vw,4rem); letter-spacing:-.045em; margin:0 0 .35em; }
h2 { font-size:clamp(1.3rem,2.2vw,1.65rem); letter-spacing:-.025em; margin:0 0 1em; }
strong { color:var(--ink); font-weight:650; }
.wrap { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.skip-link { position:absolute; top:0; left:24px; z-index:20; transform:translateY(-140%); background:var(--accent); color:#030913; font-weight:700; padding:12px 20px; }
.skip-link:focus { transform:translateY(10px); }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:30px; border-bottom:1px solid #203348; }
.brand { display:flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font-size:1.1rem; font-weight:650; line-height:1.25; }
.brand-mark { position:relative; display:grid; place-items:center; flex:none; width:42px; height:46px; border:1px solid #3d7f97; border-radius:12px; background:linear-gradient(145deg,#143244,#071727); color:#99f2ed; font-size:1.6rem; font-weight:600; box-shadow:0 0 24px #1cc8ff0a; }
.brand-mark span { position:absolute; width:8px; height:2px; background:var(--cyan); right:4px; bottom:11px; }
.brand-caption { display:block; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.56rem; font-weight:500; letter-spacing:.1em; color:var(--muted); margin-top:5px; }
.top-nav { display:flex; flex-wrap:wrap; gap:6px; }
.top-nav a { color:var(--muted); text-decoration:none; font-size:.9rem; font-weight:600; padding:10px 14px; border:1px solid transparent; border-radius:10px; }
.top-nav a:hover { color:var(--ink); background:#122a3c; }
.top-nav a[aria-current=page] { color:var(--accent); border-color:#335168; background:#10263b; }
.home-hero { padding:82px 0 44px; max-width:840px; }
.eyebrow,.card-kicker { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.68rem; line-height:1.6; font-weight:600; letter-spacing:.13em; color:var(--accent); }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; margin-bottom:24px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:#78eac5; flex:none; }
.home-hero h1 { font-size:clamp(3.6rem,8vw,6.6rem); letter-spacing:-.06em; margin-bottom:18px; }
.title-period { color:var(--cyan); }
.hero-lead { font-size:clamp(1.35rem,2.8vw,2.15rem); line-height:1.4; font-weight:450; letter-spacing:-.02em; margin-bottom:22px; }
.hero-copy { color:var(--muted); font-size:1.04rem; max-width:580px; }
.hero-rule { display:flex; gap:8px; margin-top:32px; }
.hero-rule span { display:block; width:52px; height:2px; background:#3bbdce; }
.hero-rule span:nth-child(2) { width:24px; background:#347482; }
.hero-rule span:nth-child(3) { width:8px; background:#294654; }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.resource-card { display:flex; flex-direction:column; padding:30px; border:1px solid #35516a; border-radius:var(--radius); text-decoration:none; background:linear-gradient(135deg,#11283ce8,#0a172bd9); box-shadow:0 12px 40px #00000020,inset 0 1px #ffffff06; }
.resource-card:hover { border-color:#6ad8e0; background:linear-gradient(135deg,#153145,#0b1a2c); }
.resource-card .card-kicker { display:block; margin-bottom:18px; }
.resource-card h2 { display:flex; justify-content:space-between; gap:16px; margin:0 0 14px; font-size:1.65rem; }
.resource-card h2 span { color:#76acbe; font-size:1.25rem; }
.resource-card p { color:var(--muted); font-size:.95rem; max-width:29em; flex:1; }
.card-action { display:flex; align-items:center; gap:8px; margin-top:8px; font-size:.9rem; font-weight:600; }
.home-safety { max-width:800px; color:var(--muted); font-size:.85rem; margin:28px 0 48px; }
.document-heading { padding:58px 0 34px; }
.document-heading .eyebrow { margin-bottom:16px; }
.document-intro { max-width:670px; font-size:1.15rem; color:var(--muted); margin-bottom:22px; }
.document-meta { color:var(--muted); font-size:.8rem; line-height:1.8; margin-bottom:4px; }
.document-meta span { display:inline-block; margin-inline:7px; color:#6e8aa1; }
.contact-link { display:inline-block; padding-block:6px; font-size:.9rem; overflow-wrap:anywhere; }
.document-layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:36px; padding-bottom:60px; align-items:start; }
.desktop-contents { position:sticky; top:30px; padding-top:22px; }
.desktop-contents ol,.mobile-contents ol { list-style:none; padding:0; margin:12px 0 0; }
.desktop-contents li,.mobile-contents li { margin-bottom:4px; }
.desktop-contents a,.mobile-contents a { display:block; color:var(--muted); font-size:.83rem; line-height:1.5; padding:7px 10px; border-left:1px solid #335167; text-decoration:none; }
.desktop-contents a:hover,.mobile-contents a:hover { color:var(--accent); border-color:var(--accent); background:#11263b; }
.document-panel { min-width:0; padding:12px 38px; border:1px solid #30465d; border-radius:var(--radius); background:linear-gradient(145deg,#0c1c30ef,#081525ee); box-shadow:0 14px 50px #00000026; }
.document-section { padding:30px 0 20px; border-bottom:1px solid #263b50; scroll-margin-top:24px; overflow-wrap:anywhere; }
.document-section p { font-size:1rem; line-height:1.85; color:#c1cfdf; }
.document-section p:last-child { margin-bottom:0; }
.document-section h2 { margin-bottom:18px; }
.document-section:last-of-type { border-bottom:0; }
.document-section a { overflow-wrap:anywhere; }
.mobile-contents { display:none; }
summary { cursor:pointer; color:var(--ink); font-weight:600; padding:14px 0; min-height:48px; }
.faq { border-top:1px solid #30465b; }
.faq p { padding:0 0 14px; }
.faq summary { font-size:.98rem; }
.back-top { padding:20px 0; font-size:.9rem; }
.site-footer { display:flex; align-items:start; justify-content:space-between; gap:24px; padding-block:30px 38px; border-top:1px solid #263b50; color:var(--muted); font-size:.8rem; }
.footer-name { color:var(--ink); text-decoration:none; font-size:1rem; font-weight:650; }
.site-footer p { margin:10px 0 0; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.site-footer nav a { display:inline-block; padding-block:6px; }
.footer-safety { max-width:30em; }
.button { display:inline-block; border:1px solid #5ed7e3; border-radius:12px; padding:12px 18px; font-weight:600; background:#103246; text-decoration:none; }
@supports (backdrop-filter:blur(12px)) { .resource-card { backdrop-filter:blur(12px); } }
@media (max-width:960px) { .document-layout { display:block; } .desktop-contents { display:none; } .mobile-contents { display:block; padding:8px 0 20px; border-bottom:1px solid #30465b; } }
@media (max-width:600px) { .wrap { width:calc(100% - 36px); } .site-header { flex-wrap:wrap; gap:18px; padding-block:20px; } .brand-caption { font-size:.53rem; } .top-nav { width:100%; gap:6px; } .top-nav a { flex:1; text-align:center; padding:10px 8px; } .home-hero { padding:46px 0 32px; } .home-hero h1 { font-size:clamp(3rem,13vw,4.5rem); } .eyebrow { font-size:.61rem; letter-spacing:.1em; } .hero-lead { font-size:1.42rem; } .hero-copy { font-size:.98rem; } .desktop-break { display:none; } .resource-grid { grid-template-columns:1fr; gap:14px; } .resource-card { padding:24px; border-radius:18px; } .resource-card h2 { font-size:1.45rem; } .home-safety { margin-bottom:34px; } .document-heading { padding:40px 0 26px; } .document-intro { font-size:1.05rem; } .document-panel { padding:8px 20px; border-radius:18px; } .document-section { padding:26px 0 22px; } .document-section p { line-height:1.8; font-size:.98rem; } .site-footer { flex-direction:column; gap:24px; padding-bottom:30px; } }
@media (prefers-reduced-transparency:reduce) { .resource-card,.document-panel { background:#0a192e; backdrop-filter:none; } }
@media (forced-colors:active) { .brand-mark,.resource-card,.document-panel,.top-nav a[aria-current=page] { border:1px solid CanvasText; } .resource-card,.document-panel { background:Canvas; } }
@media print { :root { color-scheme:light; } body { background:#fff; color:#000; } .site-header,.desktop-contents,.mobile-contents,.site-footer,.back-top,.skip-link { display:none; } .wrap { width:100%; } .document-layout { display:block; } .document-panel { border:0; padding:0; background:none; box-shadow:none; } h1,h2,strong,.document-section p,p,a { color:#000; } .document-section { border-color:#ccc; } details { break-inside:avoid; } .document-heading { padding:0 0 20px; } }
