:root { --ink:#17201e; --forest:#173f37; --paper:#f4f1e9; --card:#fffdf8; --line:#d8d4c9; --muted:#67706c; --lime:#c9f43f; --coral:#f47f65; --shadow:0 28px 85px rgba(20,49,42,.14); font-family:"Alexandria",sans-serif; color-scheme:light; }
* { box-sizing:border-box; }
html { overflow-x:clip; }
body { margin:0; min-width:320px; overflow-x:clip; color:var(--ink); background:radial-gradient(circle at 6% 20%,rgba(201,244,63,.2),transparent 23rem),linear-gradient(rgba(23,63,55,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(23,63,55,.026) 1px,transparent 1px),var(--paper); background-size:auto,32px 32px,32px 32px,auto; }
button,input,select { font:inherit; }
[hidden] { display:none !important; }
.topbar,main,footer { width:min(1120px,calc(100% - 40px)); margin:auto; }
.topbar { min-height:82px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(23,63,55,.14); }
.brand { display:flex; align-items:center; gap:11px; color:var(--forest); text-decoration:none; }
.brand-mark { width:38px; height:38px; padding:8px; display:grid; grid-template-columns:1fr 1fr; gap:3px; color:var(--lime); background:var(--forest); border-radius:12px; box-shadow:4px 5px 0 rgba(23,63,55,.13); transform:rotate(3deg); }
.brand-mark i { background:currentColor; border-radius:2px; }
.brand b,.brand small { display:block; }
.brand b { font-size:1rem; }
.brand small { margin-top:4px; color:#727d78; font:700 .48rem/1 Arial; letter-spacing:.12em; }
.back-link { color:var(--forest); font-size:.66rem; font-weight:700; text-underline-offset:4px; }
.intro { min-height:600px; padding:70px 0 75px; display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:80px; align-items:center; }
.eyebrow,.card-kicker { color:var(--coral); font-size:.62rem; font-weight:800; letter-spacing:.06em; }
.intro-copy h1 { margin:20px 0 22px; font-size:clamp(2.7rem,5vw,4.7rem); line-height:1.48; letter-spacing:-.055em; }
.intro-copy h1 em { position:relative; z-index:0; width:max-content; max-width:100%; display:block; color:var(--forest); font-style:normal; }
.intro-copy h1 em::after { content:""; position:absolute; z-index:-1; right:-2%; bottom:5px; width:104%; height:18%; background:var(--lime); border-radius:7px; transform:rotate(-1deg); }
.intro-copy > p { max-width:650px; margin:0; color:#53605b; font:600 .95rem/2 "Cairo",sans-serif; }
.trust-points { margin-top:28px; display:flex; flex-wrap:wrap; gap:8px; }
.trust-points span { padding:9px 12px; background:rgba(255,255,255,.55); border:1px solid rgba(23,63,55,.14); border-radius:999px; font-size:.62rem; font-weight:700; }
.trust-points b { margin-left:6px; color:var(--coral); font:800 .58rem/1 Arial; }
.lookup-card,.completion-panel,.success-panel { background:rgba(255,253,248,.94); border:1px solid rgba(23,63,55,.13); border-radius:24px; box-shadow:var(--shadow); }
.lookup-card { padding:36px; }
.lookup-card h2 { margin:10px 0 8px; color:var(--forest); font-size:1.45rem; }
.lookup-card > p { margin:0 0 24px; color:var(--muted); font:600 .75rem/1.8 "Cairo",sans-serif; }
.lookup-card label>span,.field label,.field-label { margin:0 3px 8px; display:block; color:#29493f; font-size:.7rem; font-weight:700; }
.field label b,.field-label b { color:var(--coral); }
.lookup-card input,.field input,.field select { width:100%; height:55px; padding:0 15px; color:var(--ink); background:#faf9f4; border:1px solid var(--line); border-radius:13px; outline:0; transition:.18s; }
.lookup-card input:focus,.field input:focus,.field select:focus { background:white; border-color:var(--forest); box-shadow:0 0 0 4px rgba(23,63,55,.08); }
.primary-button { min-height:56px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; color:white; background:var(--forest); border:0; border-radius:14px; box-shadow:0 13px 27px rgba(23,63,55,.18); font-size:.72rem; font-weight:800; cursor:pointer; }
.lookup-card .primary-button { width:100%; margin-top:19px; }
.primary-button b { color:var(--lime); font-size:1.05rem; }
.primary-button:disabled { opacity:.6; cursor:wait; }
.form-error { margin:13px 0 0 !important; padding:11px 13px; color:#8d3428 !important; background:#fff0ec; border:1px solid #f3c5bb; border-radius:11px; font:600 .7rem/1.7 "Cairo",sans-serif !important; }
.completion-panel { margin-bottom:70px; padding:34px; }
.panel-header { padding-bottom:23px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; border-bottom:1px solid #e2ded4; }
.panel-header h2 { margin:9px 0 7px; color:var(--forest); font-size:1.5rem; }
.panel-header p { margin:0; color:var(--muted); font:600 .72rem/1.7 "Cairo",sans-serif; }
.missing-summary { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.missing-summary span { padding:7px 9px; color:var(--forest); background:#eef7d9; border:1px solid #cde391; border-radius:999px; font-size:.56rem; font-weight:800; }
#completion-form { margin-top:26px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:15px; }
.field-grid:has(>[hidden]:only-child),.field-grid:empty { display:none; }
.address-field,.field-grid+.field { margin-top:15px; }
.birth-date-selector { padding:10px; background:linear-gradient(135deg,rgba(201,244,63,.12),white 48%); border:1px solid rgba(23,63,55,.22); border-radius:14px; }
.birth-date-head { margin-bottom:9px; display:flex; align-items:center; gap:8px; color:var(--forest); }
.calendar-icon { width:28px; height:28px; display:grid; place-items:center; color:var(--forest); background:var(--lime); border-radius:9px; font-size:.7rem; font-weight:800; }
.birth-date-head strong { font-size:.62rem; }
.birth-date-parts { display:grid; grid-template-columns:.82fr 1.2fr 1fr; gap:6px; }
.birth-date-parts label { min-width:0; }
.birth-date-parts label>span { margin:0 4px 5px 0; display:block; color:#65736e; font-size:.5rem; font-weight:700; }
.field .birth-date-parts select { height:44px; padding:0 8px; font-size:.62rem; font-weight:800; }
.submit-row { margin-top:25px; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px dashed #d8d4c9; }
.submit-row p { margin:0; }
.submit-row strong,.submit-row small { display:block; }
.submit-row strong { color:var(--forest); font-size:.7rem; }
.submit-row small { margin-top:6px; color:var(--muted); font-size:.56rem; }
.submit-row .primary-button { width:260px; }
.success-panel { margin:55px auto 90px; padding:70px 20px; text-align:center; }
.success-icon { width:70px; height:70px; margin:auto; display:grid; place-items:center; color:var(--forest); background:var(--lime); border-radius:22px; box-shadow:7px 8px 0 var(--forest); font-size:1.6rem; font-weight:800; transform:rotate(-3deg); }
.success-panel h2 { margin:28px 0 10px; color:var(--forest); font-size:1.7rem; }
.success-panel p { margin:0; color:var(--muted); font:600 .82rem/1.8 "Cairo",sans-serif; }
.success-panel a { margin-top:25px; display:inline-block; color:var(--forest); font-size:.7rem; font-weight:800; }
footer { padding:28px 0 36px; display:flex; justify-content:space-between; color:#747c77; border-top:1px solid rgba(23,63,55,.14); font-size:.63rem; }
footer span { color:var(--forest); font-weight:800; }
footer p { margin:0; }
@media(max-width:850px){ .intro{grid-template-columns:1fr;gap:35px;padding-top:50px}.lookup-card{width:min(100%,540px);margin:auto}.trust-points{justify-content:center}.intro-copy{text-align:center}.intro-copy h1 em{margin:auto}.panel-header{align-items:flex-start;flex-direction:column}.missing-summary{justify-content:flex-start} }
@media(max-width:620px){ .topbar,main,footer{width:min(100% - 22px,1120px)}.topbar{min-height:68px}.back-link{font-size:.58rem}.intro{min-height:0;padding:38px 0 45px}.intro-copy h1{font-size:2.3rem}.intro-copy>p{font-size:.8rem}.trust-points{display:grid;grid-template-columns:1fr}.lookup-card{padding:24px 15px;border-radius:19px}.completion-panel{padding:24px 12px;border-radius:19px}.field-grid{grid-template-columns:1fr}.submit-row{align-items:stretch;flex-direction:column}.submit-row .primary-button{width:100%}.birth-date-parts{gap:5px}.field .birth-date-parts select{padding:0 5px;font-size:.58rem}.success-panel{padding:55px 12px}footer{display:block;text-align:center}footer p{margin-top:7px} }
