:root{--ink:#080d1b;--ink-2:#111a2e;--blue:#4d8dff;--cyan:#4de0ff;--paper:#f4f6f9;--white:#fff;--muted:#8d98ab;--line:rgba(255,255,255,.14);--darkline:rgba(8,13,27,.14);--mono:ui-monospace,'Cascadia Code','Segoe UI Mono',monospace;--sans:system-ui,'Noto Sans Sinhala','Noto Sans Tamil','Iskoola Pota',Arial,sans-serif;--sinhala:system-ui,'Noto Sans Sinhala','Iskoola Pota',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body[lang=si]{font-family:var(--sinhala)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:12px 18px;color:var(--ink)}
.site-header{height:78px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,78px);border-bottom:1px solid var(--line);position:relative;z-index:4}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-weight:700;font-size:22px;letter-spacing:-1px;color:white}.brand-name{font:500 11px var(--mono);letter-spacing:1.6px}.brand-name small{color:var(--cyan);font-size:10px}.main-nav{display:flex;gap:32px}.main-nav a,.header-cta{font-size:12px;color:#c5ccda}.main-nav a:hover,.header-cta:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:20px}.language-select{color:white;background:#111a2e;border:1px solid #2d3a52;border-radius:6px;padding:7px 9px;font:11px var(--mono)}.header-cta{padding:10px 14px;border:1px solid #33415a;border-radius:3px}.header-cta span{color:var(--cyan);margin-left:10px}
.hero{min-height:640px;background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:92px clamp(22px,9vw,144px) 72px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(91,120,168,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,120,168,.055) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,#000 60%)}.hero:after{content:"";position:absolute;width:660px;height:660px;border-radius:50%;right:-140px;top:-300px;background:radial-gradient(circle,rgba(77,141,255,.16),transparent 68%);pointer-events:none}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:10px;color:#94a2b9;font:10px var(--mono);letter-spacing:1.7px}.live-dot{height:7px;width:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 14px var(--cyan)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(46px,6vw,80px);line-height:1.03;letter-spacing:-4.5px;margin:30px 0 23px;font-weight:500}.hero h1 em,.how-copy h2 em{font-family:Georgia,serif;font-weight:400;color:var(--cyan);letter-spacing:-3px}.hero-description{max-width:510px;color:#abb5c6;font-size:16px;line-height:1.75}.hero-buttons{display:flex;align-items:center;gap:18px;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:0;border-radius:2px;padding:14px 17px;font-size:12px;font-weight:600;cursor:pointer}.button-primary{background:var(--blue);color:white;box-shadow:0 9px 28px rgba(77,141,255,.18)}.button-primary:hover{background:#6ba0ff;transform:translateY(-1px)}.button-quiet{color:#c4cbda;border:1px solid #344058}.hero-note{font-size:11px;color:#78859b;margin:22px 0 0}.hero-visual{height:410px;max-width:520px;width:100%;margin:auto;display:grid;place-items:center}.orbit{position:absolute;border:1px solid rgba(115,153,216,.24);border-radius:50%;transform:rotate(-26deg)}.orbit-one{width:405px;height:224px}.orbit-two{width:480px;height:305px;transform:rotate(34deg);border-color:rgba(77,224,255,.19)}.lens-core{width:178px;height:178px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 38% 35%,#172b4d,#0a1020 63%);border:1px solid rgba(77,224,255,.5);box-shadow:0 0 80px rgba(77,141,255,.19),inset 0 0 30px rgba(77,224,255,.07);font-size:34px;font-weight:700;letter-spacing:-2px}.lens-core:before,.lens-core:after{content:"";position:absolute;border:1px solid rgba(77,141,255,.4);border-radius:50%;inset:-16px}.lens-core:after{inset:20px;border-color:rgba(77,224,255,.22)}.lens-core i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);top:12px;right:24px;box-shadow:0 0 18px var(--cyan)}.signal{position:absolute;display:flex;gap:9px;align-items:center;font:9px var(--mono);letter-spacing:1px;color:#8997ad}.signal b{font-weight:400;color:var(--cyan);border:1px solid #274765;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.signal-a{top:60px;left:40px}.signal-b{right:7px;top:180px}.signal-c{bottom:60px;left:50px}.visual-caption{position:absolute;bottom:8px;right:20px;text-align:right;color:#d7e1f2;font:9px/1.8 var(--mono);letter-spacing:1.5px}.visual-caption span{color:#687890}.hero-bottom{position:absolute;z-index:1;bottom:24px;left:clamp(22px,9vw,144px);right:clamp(22px,9vw,144px);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;color:#68768e;font:9px var(--mono);letter-spacing:1.3px}
.principle-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#111a2e;color:#e8eef8;padding:23px clamp(22px,9vw,144px);gap:20px}.principle-strip>div{display:flex;align-items:center;gap:14px;font:10px var(--mono);letter-spacing:1px}.principle-number{color:var(--cyan)}
.section{padding:112px clamp(22px,9vw,144px)}.explore-section{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:42px}.eyebrow-dark{color:#65718a}.section-heading h2,.rti-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-2px;margin:17px 0 0;font-weight:500}.section-intro{color:#69758a;max-width:395px;font-size:13px;line-height:1.7;margin-bottom:4px}.filters{display:flex;gap:8px;border-bottom:1px solid var(--darkline);margin-bottom:26px;overflow:auto}.filter-button{background:none;border:0;border-bottom:2px solid transparent;white-space:nowrap;padding:12px 14px;color:#7b8799;font-size:11px;cursor:pointer}.filter-button.active{border-bottom-color:var(--blue);color:var(--ink);font-weight:700}.filter-button span{font:9px var(--mono);margin-left:7px;color:#9ca6b5}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.record-card{background:white;border:1px solid #e4e8ef;padding:24px;min-height:335px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.record-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(24,38,62,.08)}.record-card[hidden]{display:none}.record-top,.record-meta,.record-link{display:flex;align-items:center;justify-content:space-between}.record-type,.record-index,.record-meta{font:9px var(--mono);letter-spacing:1px;color:#8994a5}.record-type{display:flex;align-items:center;gap:8px}.type-dot{width:7px;height:7px;border-radius:50%}.type-dot.blue{background:var(--blue)}.type-dot.cyan{background:#21bdd4}.type-dot.violet{background:#8b79e8}.record-icon{height:44px;width:44px;border-radius:50%;display:grid;place-items:center;border:1px solid #e1e7f0;color:var(--blue);font-size:20px;margin:28px 0 16px}.record-card h3{font-size:19px;letter-spacing:-.5px;margin-bottom:10px}.record-card>p{font-size:12px;line-height:1.7;color:#758094;margin-bottom:21px}.record-meta{justify-content:flex-start;gap:9px;margin-top:auto;padding:15px 0;border-top:1px solid #edf0f4;font-size:8px}.record-link{padding-top:10px;font-size:11px;font-weight:700}.record-link span:last-child{font-size:15px;color:var(--blue)}.source-integrity{display:flex;align-items:flex-start;gap:14px;background:#e9eef6;margin-top:24px;padding:19px 22px}.integrity-icon{flex:0 0 23px;height:23px;border:1px solid #8392a8;border-radius:50%;display:grid;place-items:center;font:12px Georgia;color:#46566f}.source-integrity p{font-size:11px;line-height:1.7;color:#56647a;margin:0}.source-integrity strong{color:var(--ink)}
.how-section{background:var(--ink);color:white;padding:104px clamp(22px,9vw,144px);display:grid;grid-template-columns:.78fr 1.22fr;gap:85px}.how-copy h2{font-size:clamp(38px,5vw,61px);line-height:1.04;letter-spacing:-3px;margin:24px 0}.how-copy h2 em{color:var(--cyan)}.how-copy>p:last-child{color:#9ca9bd;max-width:340px;font-size:13px;line-height:1.8}.standards-list{border-top:1px solid var(--line)}.standard-row{display:grid;grid-template-columns:40px 1fr 20px;gap:20px;border-bottom:1px solid var(--line);padding:22px 0}.standard-row>span{font:10px var(--mono);color:var(--cyan);padding-top:3px}.standard-row h3{font-size:14px;margin:0 0 7px;font-weight:600}.standard-row p{color:#8794a9;font-size:11px;line-height:1.6;margin:0}.standard-row>b{font-weight:400;color:#718099}
.rti-section{padding:105px clamp(22px,9vw,144px);display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;background:#e9edf3}.rti-copy h2{margin:17px 0}.rti-copy>p:not(.eyebrow){color:#69758a;font-size:13px;line-height:1.8;max-width:410px}.text-link{display:inline-flex;gap:16px;align-items:center;font-size:11px;font-weight:700;margin-top:8px;border-bottom:1px solid #aeb8c6;padding-bottom:7px}.text-link span:last-child{color:var(--blue);font-size:15px}.request-card{background:white;padding:27px;box-shadow:0 15px 45px rgba(21,39,68,.08)}.form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.form-step,.privacy-label,.draft-title{font:9px var(--mono);letter-spacing:1px;color:#7e8a9e}.privacy-label{display:flex;align-items:center;gap:7px;color:#39877c}.privacy-label i{width:6px;height:6px;border-radius:50%;background:#43b89d}.request-card label{display:block;font-size:11px;font-weight:700;margin:17px 0 8px}.request-card input,.request-card textarea{width:100%;border:1px solid #dce2eb;border-radius:2px;padding:12px;background:#fbfcfe;color:var(--ink);font-size:12px;outline:none}.request-card input:focus,.request-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(77,141,255,.12)}.request-card textarea{resize:vertical;min-height:94px}.generate-button{width:100%;margin-top:18px}.form-disclaimer{font-size:10px;color:#788499;line-height:1.6;margin:12px 0 0}.draft-output{margin-top:24px;border:1px solid #dce2eb;padding:17px;background:#f8fafd}.draft-title{display:flex;justify-content:space-between;align-items:center}.copy-button{border:0;background:none;color:var(--blue);font-weight:700;font-size:10px;cursor:pointer}.draft-output pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--sans);color:#354158;margin:13px 0}.draft-output>p{font-size:10px;color:#788499;margin:0}
.closing-note{padding:33px clamp(22px,9vw,144px);background:#dfe5ef;display:flex;align-items:center;gap:19px}.closing-mark{font-size:20px;font-weight:700;color:#22314c}.closing-note p{margin:0;color:#56647a;font-size:12px;flex:1}.closing-note>a{height:34px;width:34px;border:1px solid #aab5c5;display:grid;place-items:center;border-radius:50%;font-size:17px}.site-footer{background:var(--ink);color:#8794a9;padding:34px clamp(22px,9vw,144px) 25px}.footer-brand{font-size:16px;font-weight:700;color:white}.footer-brand span{font:10px var(--mono);letter-spacing:1.3px;margin-left:8px;color:#9aa7bb}.site-footer>p{font-size:10px;line-height:1.6;margin:12px 0 23px;max-width:580px}.footer-credit{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.7px;color:#6f7d93}
body[lang=si] h1,body[lang=si] h2,body[lang=si] h3,body[lang=si] .hero-description,body[lang=si] .section-intro,body[lang=si] .record-card>p,body[lang=si] .how-copy>p,body[lang=si] .standard-row p,body[lang=si] .rti-copy>p,body[lang=si] .draft-output pre{letter-spacing:0;line-height:1.55}body[lang=ta] h1,body[lang=ta] h2,body[lang=ta] h3,body[lang=ta] p{letter-spacing:0;line-height:1.55}
@media(max-width:980px){.main-nav{gap:15px}.hero{padding-left:6vw;padding-right:6vw;grid-template-columns:1fr 1fr}.hero h1{font-size:58px}.hero-visual{transform:scale(.84)}.hero-bottom{left:6vw;right:6vw}.section,.how-section,.rti-section{padding-left:6vw;padding-right:6vw}.principle-strip{padding-left:6vw;padding-right:6vw}.how-section,.rti-section{gap:45px}}
@media(max-width:720px){.site-header{height:66px;padding:0 18px}.main-nav{display:none}.header-actions{gap:10px}.header-cta{font-size:10px;padding:9px}.hero{display:block;min-height:700px;padding:76px 22px 80px}.hero h1{font-size:clamp(48px,12vw,68px);letter-spacing:-3px}.hero-description{font-size:14px}.hero-visual{height:300px;margin-top:23px;transform:scale(.78);transform-origin:center top;width:125%;margin-left:-12.5%}.hero-bottom{left:22px;right:22px;font-size:8px}.principle-strip{grid-template-columns:1fr;gap:13px;padding:19px 22px}.section,.how-section,.rti-section{padding:74px 22px}.section-heading{display:block;margin-bottom:30px}.section-intro{margin-top:18px}.record-grid{grid-template-columns:1fr}.record-card{min-height:300px}.how-section,.rti-section{grid-template-columns:1fr;gap:38px}.how-copy h2{font-size:47px}.closing-note{padding:27px 22px;align-items:flex-start}.closing-note p{line-height:1.6}.site-footer{padding:30px 22px 22px}.footer-credit{gap:12px;flex-direction:column}.filters{margin-right:-22px}.standard-row{grid-template-columns:28px 1fr 16px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.record-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.record-search{position:relative;display:block;width:min(100%,380px)}.record-search>span:first-child{position:absolute;left:13px;top:8px;font-size:20px;color:#7e8ba0;pointer-events:none}.record-search input{width:100%;height:40px;padding:0 14px 0 40px;border:1px solid #dce2eb;border-radius:3px;background:#fff;color:var(--ink);font-size:11px;outline:none}.record-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(77,141,255,.12)}.search-count{margin:0;color:#7b8799;font:9px var(--mono);letter-spacing:.5px}.no-results{padding:30px 18px;border:1px dashed #b7c1d0;color:#64728a;text-align:center;font-size:12px}.draft-actions{display:flex;align-items:center;gap:14px}.copy-button{padding:4px 0}.copy-button:hover{text-decoration:underline}@media(max-width:720px){.record-tools{align-items:flex-start;flex-direction:column}.record-search{width:100%}.search-count{align-self:flex-end}}

/* Accessible controls and layouts that accommodate all three languages. */
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
button:disabled { cursor: not-allowed; }
.button-primary { color: var(--ink); }
.site-header { height: auto; min-height: 78px; gap: 18px; padding-block: 14px; flex-wrap: wrap; }
.brand, .header-actions { flex-shrink: 0; }
.main-nav { gap: 20px; flex-wrap: wrap; }
.main-nav a, .header-cta, .language-select, .button, .filter-button,
.record-link, .copy-button, .clear-button, .closing-note > a { min-height: 44px; }
.main-nav a { display: flex; align-items: center; font-size: 13px; line-height: 1.5; }
.header-cta { display: inline-flex; align-items: center; line-height: 1.5; }
.language-select { font-family: var(--sans); font-size: 14px; }
.hero-copy, .section-heading > div, .how-copy, .rti-copy, .request-card,
.record-card, .standard-row > div { min-width: 0; overflow-wrap: anywhere; }
.hero-buttons .button, .text-link { line-height: 1.6; }
.live-dot, .type-dot, .privacy-label i { flex-shrink: 0; }
.hero-note, .visual-caption span, .hero-bottom { color: #a5b2c7; }
.hero-bottom { gap: 16px; line-height: 1.7; }
.hero-bottom > :last-child { white-space: nowrap; }
.principle-strip > div { font-size: 11px; line-height: 1.7; }
.section-intro, .record-card > p, .rti-copy > p:not(.eyebrow) { color: #526078; font-size: 14px; }
.filters { flex-wrap: wrap; overflow: visible; gap: 4px; margin-right: 0; }
.filter-button { white-space: normal; text-align: left; font-size: 13px; line-height: 1.6; color: #526078; }
.record-top { align-items: flex-start; gap: 12px; }
.record-type { color: #526078; line-height: 1.7; }
.record-index { flex-shrink: 0; color: #526078; }
.record-meta { flex-wrap: wrap; color: #526078; line-height: 1.7; }
.record-link { font-size: 13px; }
.source-integrity p { font-size: 13px; }
.how-copy > p:last-child, .standard-row p { color: #aab6c9; font-size: 13px; }
.record-search input { min-height: 46px; font-size: 14px; }
.record-search > span:first-child { top: 11px; }
.search-count { color: #526078; font-size: 11px; line-height: 1.6; }
.request-card { border-top: 3px solid var(--blue); }
.request-card fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.request-card fieldset:disabled { opacity: .6; }
.form-heading { flex-wrap: wrap; gap: 12px; line-height: 1.7; }
.form-step { color: #526078; }
.privacy-label { color: #267366; }
.request-card label { font-size: 14px; line-height: 1.7; }
.request-card input, .request-card textarea { font-size: 16px; line-height: 1.7; }
.request-card textarea { min-height: 144px; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 20px; }
.generate-button { margin-top: 0; flex: 1 1 210px; width: auto; line-height: 1.7; }
.clear-button { flex: 1 1 150px; padding: 10px 12px; background: transparent; border: 1px solid #bac5d5; border-radius: 3px; color: #354158; font-size: 13px; line-height: 1.6; cursor: pointer; }
.clear-button:hover { background: #edf2fa; }
.form-disclaimer, .draft-output > p { color: #526078; font-size: 12px; line-height: 1.8; }
.helper-notice { padding: 14px; background: #e9eef6; color: #354158; font-size: 14px; line-height: 1.8; }
.helper-notice span { display: block; margin-bottom: 8px; }
.field-error { margin: 7px 0 0; color: #a12131; font-size: 13px; line-height: 1.7; }
.request-card [aria-invalid="true"] { border-color: #a12131; }
.rti-status { margin: 12px 0 0; color: #354158; font-size: 13px; line-height: 1.8; }
.rti-status:empty { margin: 0; }
.draft-title { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.draft-title h3 { margin: 0; font: inherit; font-size: 12px; line-height: 1.8; color: #354158; }
.draft-actions { flex-wrap: wrap; gap: 8px 16px; }
.copy-button { color: #2156aa; font-size: 13px; line-height: 1.7; padding: 8px; border: 1px solid #bac5d5; border-radius: 3px; }
.copy-button:disabled { color: #526078; background: #e9edf3; text-decoration: none; }
.draft-output pre { font-size: 14px; }
.draft-output .draft-warning { margin: 12px 0; padding: 12px; background: #fff2d6; color: #694608; border-left: 3px solid #9b6c17; }
.closing-note > a { min-width: 44px; }
.site-footer > p { font-size: 12px; color: #aab6c9; }
.footer-credit { color: #aab6c9; line-height: 1.8; }
body:is([lang="si"], [lang="ta"]) :is(h1, h2, h3, em, .eyebrow, .button, .filter-button, .privacy-label, .form-step, .draft-title, .record-type, .record-meta, .principle-strip > div) { letter-spacing: 0; line-height: 1.65; }
body:is([lang="si"], [lang="ta"]) :is(h1 em, h2 em) { font-family: var(--sans); font-style: normal; }
body:is([lang="si"], [lang="ta"]) h1 { font-size: clamp(36px, 4.6vw, 60px); }

@media (max-width: 1100px) {
  .main-nav { order: 3; flex-basis: 100%; gap: 8px 24px; }
  .header-actions { margin-left: auto; }
  .record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .site-header { padding: 14px 20px 10px; gap: 10px; }
  .header-cta { display: none; }
  .language-select { font-size: 16px; max-width: 120px; }
  .main-nav { display: flex; gap: 4px 12px; border-top: 1px solid var(--line); padding-top: 8px; }
  .main-nav a { flex: 1 1 130px; font-size: 13px; }
  .hero { padding-top: 52px; }
  .hero h1 { font-size: clamp(40px, 10vw, 62px); letter-spacing: -2px; }
  .hero-buttons { align-items: stretch; gap: 12px; }
  .hero-buttons .button { width: 100%; font-size: 14px; }
  .hero-visual { width: 100%; margin-left: 0; }
  .hero-bottom { flex-wrap: wrap; gap: 4px 12px; font-size: 9px; }
  .section, .how-section, .rti-section { padding: 60px 20px; }
  .record-grid { grid-template-columns: 1fr; }
  .record-search input { font-size: 16px; }
  .filter-button { flex: 1 1 135px; padding: 12px 8px; }
  .record-card { padding: 22px; }
  .request-card { padding: 22px 18px; }
  .draft-output { padding: 16px 12px; }
  .draft-title { flex-direction: column; }
  .draft-actions { width: 100%; }
  .draft-actions button { flex: 1 1 110px; }
  .generate-button, .clear-button { flex-basis: 100%; }
  body:is([lang="si"], [lang="ta"]) h1 { font-size: clamp(32px, 8vw, 44px); }
  body:is([lang="si"], [lang="ta"]) h2 { font-size: clamp(28px, 7vw, 40px); }
}

/* Guided exploration and restrained, finite motion. No content starts hidden. */
:root { --ease-out: cubic-bezier(.2,.7,.2,1); }
.site-header { transition: box-shadow .25s ease, border-color .25s ease; }
.site-header.is-scrolled { border-bottom-color: #2c3f60; box-shadow: 0 8px 30px rgba(8,13,27,.16); }
.main-nav a { position: relative; padding-block: 8px; }
.main-nav a::after { content: ''; position: absolute; bottom: 2px; left: 0; width: 22px; height: 2px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .2s var(--ease-out); }
.main-nav a[aria-current="location"] { color: var(--cyan); }
.main-nav a[aria-current="location"]::after { transform: scaleX(1); }
.hero-buttons .button, .generate-button { border-radius: 5px; }
.button { transition: transform .2s var(--ease-out), background-color .2s ease, box-shadow .2s ease; }
.orbit::after { content: ''; position: absolute; top: 18%; left: 10%; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 15px rgba(77,224,255,.5); }
.orbit-two::after { top: auto; left: auto; right: 10%; bottom: 18%; background: var(--blue); }
.signal { max-width: 190px; line-height: 1.8; }
.visual-caption { max-width: 190px; }
.start-section { background: linear-gradient(180deg, #fff, #f4f6f9); padding-block: 72px; }
.start-section .section-heading { margin-bottom: 30px; }
.start-section h2, .faq-intro h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; letter-spacing: -1.6px; font-weight: 500; margin: 16px 0 0; }
.journey-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; list-style: none; padding: 0; margin: 0; }
.journey-grid > li { min-width: 0; }
.journey-card { display: flex; flex-direction: column; height: 100%; padding: 26px; background: #fff; border: 1px solid #dce4f0; border-radius: 10px; overflow-wrap: anywhere; transition: transform .25s var(--ease-out), border-color .25s ease, box-shadow .25s ease; }
.journey-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; color: #2156aa; }
.journey-number { font: 14px var(--mono); letter-spacing: 1px; }
.journey-card h3 { font-size: 21px; font-weight: 600; line-height: 1.4; letter-spacing: -.5px; margin-bottom: 12px; }
.journey-card p { font-size: 14px; line-height: 1.8; color: #526078; margin-bottom: 24px; }
.journey-action { margin-top: auto; font-size: 12px; line-height: 1.7; font-weight: 700; color: #2156aa; }
.explore-section { border-top: 1px solid #e0e6f0; }
.record-results { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 18px; }
.reset-search { min-height: 44px; padding: 8px 12px; border: 1px solid #bac5d5; border-radius: 5px; background: white; color: #2156aa; font-size: 12px; line-height: 1.7; cursor: pointer; }
.reset-search:hover { background: #eaf1fc; }
.record-card { border-radius: 10px; border-top: 3px solid #b2caff; transition: transform .25s var(--ease-out), box-shadow .25s ease, border-color .25s ease; }
.record-card[data-category="oversight"] { border-top-color: #80d5e0; }
.record-card[data-category="rights"] { border-top-color: #b9acee; }
.record-card:focus-within { border-color: #4d8dff; box-shadow: 0 12px 32px rgba(24,38,62,.08); }
.record-card > p { margin-bottom: 12px; }
.source-details { margin-bottom: 16px; }
.source-details summary, .request-example summary, .faq-list summary { position: relative; list-style: none; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; line-height: 1.7; }
summary::-webkit-details-marker { display: none; }
.source-details summary::after, .request-example summary::after, .faq-list summary::after { content: ''; flex: 0 0 12px; width: 12px; height: 12px; background-image: linear-gradient(currentColor,currentColor), linear-gradient(currentColor,currentColor); background-position: center; background-repeat: no-repeat; background-size: 12px 1.5px, 1.5px 12px; }
details[open] > summary::after { background-size: 12px 1.5px, 1.5px 0; }
.source-details summary { color: #2156aa; font-size: 12px; font-weight: 600; }
.source-details p { background: #eef3fb; border-left: 2px solid var(--blue); border-radius: 0 5px 5px 0; padding: 12px 14px; color: #455570; font-size: 12px; line-height: 1.85; margin: 4px 0 0; }
.request-card { border-radius: 10px; align-self: start; }
.rti-copy { align-self: start; }
.request-guide { margin-top: 32px; padding-top: 26px; border-top: 1px solid #c9d3e2; }
.request-guide h3 { font-size: 16px; line-height: 1.7; margin-bottom: 16px; }
.request-guide ul { list-style: none; padding: 0; margin: 0 0 16px; }
.request-guide li { position: relative; padding-left: 22px; margin-bottom: 14px; font-size: 13px; color: #455570; line-height: 1.8; }
.request-guide li::before { content: ''; position: absolute; top: .6em; left: 0; width: 6px; height: 6px; border-radius: 2px; background: #2156aa; }
.request-example { background: rgba(255,255,255,.55); border: 1px solid #ccd6e5; border-radius: 6px; padding: 4px 14px; }
.request-example summary { font-size: 13px; color: #2156aa; font-weight: 600; }
.request-example p { color: #354158; font-size: 14px; line-height: 1.8; margin: 12px 0; }
.request-example small { display: block; font-size: 12px; color: #526078; line-height: 1.8; margin-bottom: 14px; }
.field-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-top: 8px; color: #526078; font-size: 12px; line-height: 1.7; }
#topic-count { flex-shrink: 0; font: 11px/1.8 var(--mono); }
.faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; background: #fff; border-bottom: 1px solid #dce4f0; }
.faq-intro { min-width: 0; overflow-wrap: anywhere; }
.faq-intro > p:last-child { color: #526078; font-size: 14px; line-height: 1.8; margin: 22px 0 0; max-width: 350px; }
.faq-list { border-top: 1px solid #ccd6e5; min-width: 0; }
.faq-list > details { border-bottom: 1px solid #ccd6e5; padding: 12px 0; overflow-wrap: anywhere; }
.faq-list summary { font-size: 16px; font-weight: 600; padding: 8px 0; gap: 24px; }
.faq-list summary::after { color: #2156aa; }
.faq-list > details > p { margin: 8px 30px 12px 0; font-size: 14px; color: #526078; line-height: 1.85; }
.faq-list > details[open] > summary { color: #2156aa; }

@media (min-width: 1101px) {
  .site-header { position: sticky; top: 0; z-index: 10; }
  html { scroll-padding-top: 120px; }
}
@media (hover: hover) and (pointer: fine) {
  .journey-card:hover { transform: translateY(-5px); border-color: #87adf0; box-shadow: 0 16px 36px rgba(24,38,62,.07); }
  .record-card:hover { border-color: #87adf0; }
  .button-primary:hover { box-shadow: 0 10px 24px rgba(77,141,255,.25); }
}
@media (hover: none) {
  .record-card:hover, .button-primary:hover { transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > .eyebrow { animation: hero-enter .6s var(--ease-out) both; }
  .hero h1 { animation: hero-enter .8s .08s var(--ease-out) both; }
  .hero-description { animation: hero-enter .8s .16s var(--ease-out) both; }
  .hero-buttons { animation: hero-enter .8s .24s var(--ease-out) both; }
  .orbit-one { animation: orbit-arrive-one 2.4s var(--ease-out) both; }
  .orbit-two { animation: orbit-arrive-two 2.8s var(--ease-out) both; }
  .lens-core::before { animation: lens-settle 2s var(--ease-out) both; }
  .live-dot { animation: signal-settle 2.2s ease-out; }
  details[open] > p, .request-example[open] > small { animation: detail-enter .25s var(--ease-out); }
}
@keyframes hero-enter { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes orbit-arrive-one { from { opacity: .4; transform: rotate(-46deg) scale(.94); } to { opacity: 1; transform: rotate(-26deg) scale(1); } }
@keyframes orbit-arrive-two { from { opacity: .4; transform: rotate(58deg) scale(.94); } to { opacity: 1; transform: rotate(34deg) scale(1); } }
@keyframes lens-settle { from { opacity: .4; transform: scale(1.16); } to { opacity: 1; transform: scale(1); } }
@keyframes signal-settle { from { box-shadow: 0 0 25px 4px rgba(77,224,255,.5); } to { box-shadow: 0 0 14px var(--cyan); } }
@keyframes detail-enter { from { opacity: .65; } to { opacity: 1; } }
@media (max-width: 980px) {
  .journey-grid { gap: 12px; }
  .journey-card { padding: 22px 18px; }
  .journey-card h3 { font-size: 18px; }
  .faq-section { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 720px) {
  .start-section { padding-block: 50px; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-card { padding: 22px; }
  .journey-top { margin-bottom: 16px; }
  .journey-card p { margin-bottom: 16px; }
  .journey-card h3 { font-size: 20px; }
  .record-results { width: 100%; justify-content: space-between; }
  .record-results .search-count { align-self: center; }
  .reset-search { max-width: 100%; }
  .faq-list summary { font-size: 15px; }
  .faq-list > details > p { margin-right: 0; }
  .field-meta { flex-wrap: wrap; }
  .signal { font-size: 8px; max-width: 160px; }
  .signal-b { right: -10px; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-card:hover, .record-card:hover, .button-primary:hover { transform: none; }
}
