:root { --ink:#303335; --forest:#303335; --green:#7d9d50; --blue:#25a6d5; --mint:#e9efdf; --cream:#f4f1e9; --paper:#fffefa; --line:#d9dcda; --orange:#f6ad17; --brown:#c77932; --gold:#f6d90b; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
button, input { font:inherit; }
a { color:inherit; }
main { overflow:hidden; }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.site-header { width:100%; height:96px; margin:auto; padding:0 max(24px, calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:4px solid var(--orange); background:var(--forest); color:white; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand > span:last-child { display:flex; flex-direction:column; gap:3px; }
.brand strong { font-family:Arial, Helvetica, sans-serif; font-size:22px; line-height:1; letter-spacing:.06em; text-transform:uppercase; }
.brand small { color:#d9dcda; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
nav { display:flex; gap:0; align-self:stretch; }
nav a { min-width:190px; display:grid; place-items:center; padding:0 24px; color:white; font-size:13px; font-weight:700; text-decoration:none; text-transform:uppercase; letter-spacing:.04em; transition:filter .2s; }
nav a:first-child { background:var(--green); }
nav a:last-child { background:var(--blue); }
nav a:hover { filter:brightness(.9); }
.hero { width:min(1180px, calc(100% - 48px)); min-height:570px; margin:auto; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:100px; position:relative; }
.hero::before { content:""; position:absolute; width:330px; height:330px; border-radius:47% 53% 66% 34% / 38% 35% 65% 62%; background:#edf2ea; left:-190px; top:65px; z-index:-1; }
.eyebrow { color:var(--brown); font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.hero h1, h2 { font-family:Georgia, "Times New Roman", serif; font-weight:400; letter-spacing:-.04em; }
.hero h1 { font-size:clamp(54px,7vw,88px); line-height:.94; margin:23px 0 27px; }
.hero h1 em, .digital-intro h2 em { color:var(--blue); font-weight:400; }
.hero-copy > p { max-width:600px; color:#53655c; line-height:1.7; font-size:18px; }
.primary-link { display:inline-flex; align-items:center; gap:25px; margin-top:18px; padding:16px 21px; background:var(--blue); color:#fff; text-decoration:none; font-size:13px; font-weight:800; border-radius:2px; }
.primary-link span { color:var(--gold); font-size:18px; }
.hero-card { min-height:390px; padding:75px 55px; background:var(--forest); color:white; border-radius:46% 54% 48% 52% / 39% 42% 58% 61%; display:flex; flex-direction:column; justify-content:center; position:relative; }
.hero-card::after { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.16); border-radius:inherit; pointer-events:none; }
.route-line { display:grid; grid-template-columns:48px 1fr; gap:19px; align-items:center; position:relative; z-index:1; }
.route-line + .route-line { margin-top:35px; }
.route-line span { color:var(--green); font-family:Georgia,serif; font-size:25px; }
.route-line:nth-child(2) span { color:var(--blue); }
.route-line:nth-child(3) span { color:var(--orange); }
.route-line p { display:flex; flex-direction:column; gap:5px; margin:0; }
.route-line b { font-family:Georgia,serif; font-size:22px; font-weight:400; }
.route-line small { color:#bed0c5; }
.digital-hero { width:min(1180px, calc(100% - 48px)); min-height:720px; margin:auto; padding:100px 0; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:76px; position:relative; }
.digital-hero::before { content:""; position:absolute; width:360px; height:360px; border-radius:47% 53% 66% 34% / 38% 35% 65% 62%; background:#edf1e7; left:-210px; top:90px; z-index:-1; }
.digital-hero h1 { margin:22px 0 30px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(52px,6vw,78px); font-weight:400; line-height:.98; letter-spacing:-.045em; }
.digital-hero h1 em { color:var(--blue); font-weight:400; }
.unofficial-badge { display:table; margin-bottom:18px; padding:7px 10px; border:1px solid #d9cba7; background:#fff8e5; color:#786b53; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.digital-hero-copy > p:first-of-type { max-width:700px; margin:0; color:#59615e; font-family:Georgia,"Times New Roman",serif; font-size:19px; font-style:italic; line-height:1.75; }
.hero-personal { max-width:680px; margin:25px 0 0; color:#69726e; font-size:13px; line-height:1.72; }
.digital-hero-statement { max-width:680px; margin-top:28px; padding:22px 25px; background:var(--forest); color:white; border-left:7px solid var(--orange); }
.digital-hero-statement strong { display:block; font-family:Georgia,serif; font-size:22px; font-weight:400; line-height:1.35; }
.digital-hero-statement p { margin:11px 0 0; color:#c5cbca; font-size:11px; line-height:1.65; }
.hero-portrait { width:min(390px,100%); aspect-ratio:4/5; margin:0; justify-self:end; overflow:hidden; background:#e9e9e7; border-bottom:10px solid var(--green); box-shadow:0 22px 60px rgba(30,51,40,.13); position:relative; }
.hero-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 34%; }
.hero-portrait figcaption { position:absolute; right:0; bottom:0; left:0; padding:14px 18px; background:rgba(48,51,53,.94); color:white; display:flex; flex-direction:column; gap:3px; }
.hero-portrait figcaption strong { font-family:Georgia,serif; font-size:17px; font-weight:400; }
.hero-portrait figcaption span { color:#d9dcda; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.trust-strip { background:var(--cream); border-block:1px solid #e8e0d1; min-height:74px; display:flex; align-items:center; justify-content:center; gap:clamp(40px,8vw,120px); color:#627068; font-size:12px; letter-spacing:.03em; }
.trust-strip span + span { position:relative; }
.trust-strip span + span::before { content:""; position:absolute; width:3px; height:3px; background:var(--blue); border-radius:50%; left:clamp(-61px,-4vw,-21px); top:5px; }
.trust-strip a { color:var(--brown); font-weight:800; }
.payment-section, .facts-section, .principles-section, .possibilities-section, .incremental-section { width:min(1180px, calc(100% - 48px)); margin:auto; padding:110px 0; }
.section-heading { display:flex; gap:28px; align-items:flex-start; margin-bottom:48px; }
.section-number { width:48px; height:48px; border:2px solid var(--blue); display:grid; place-items:center; border-radius:50%; color:var(--blue); font-family:Georgia,serif; font-size:18px; flex:0 0 auto; }
.section-heading h2 { font-size:47px; margin:9px 0 0; }
.section-lead { max-width:720px; margin:18px 0 0; color:#66706c; font-size:14px; line-height:1.7; }
.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:white; }
.principles-grid article { min-height:350px; padding:38px 34px; display:flex; flex-direction:column; border-top:6px solid var(--green); }
.principles-grid article + article { border-left:1px solid var(--line); }
.principles-grid article:nth-child(2) { border-top-color:var(--blue); }
.principles-grid article:nth-child(3) { border-top-color:var(--orange); }
.card-number { color:var(--brown); font-family:Georgia,serif; font-size:17px; }
.principles-grid h3, .possibilities-grid h3 { margin:28px 0 15px; font-family:Georgia,serif; font-size:25px; font-weight:400; line-height:1.2; }
.principles-grid p, .possibilities-grid p { margin:0; color:#65706b; font-size:13px; line-height:1.72; }
.principles-grid article > strong { margin-top:auto; padding-top:28px; color:var(--blue); font-family:Georgia,serif; font-size:18px; font-weight:400; }
.payment-intro { display:grid; grid-template-columns:48px 1fr; gap:28px; max-width:980px; margin-bottom:50px; }
.payment-intro h2 { margin:9px 0 20px; font-family:Georgia,serif; font-size:47px; font-weight:400; letter-spacing:-.04em; }
.payment-intro p { margin:0 0 12px; color:#65706b; font-size:14px; line-height:1.7; }
.payment-intro > div > strong { display:block; margin-top:25px; padding:18px 21px; background:#eef7fb; border-left:5px solid var(--blue); font-family:Georgia,serif; font-size:18px; font-weight:400; line-height:1.55; }
.payment-grid { display:grid; grid-template-columns:1.12fr .88fr; align-items:stretch; box-shadow:0 22px 70px rgba(30,51,40,.08); }
.form-card { padding:48px; border:1px solid var(--line); background:white; }
.step-label { display:flex; align-items:center; gap:12px; margin-bottom:21px; }
.step-label span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:white; font-size:12px; font-weight:800; }
.step-label b { font-family:Georgia,serif; font-size:20px; font-weight:400; }
.fee-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.fee-option { min-height:72px; padding:14px 15px; display:flex; align-items:center; gap:11px; border:1px solid var(--line); cursor:pointer; transition:.2s; }
.fee-option:hover { border-color:var(--blue); }
.fee-option.selected { border:2px solid var(--blue); padding:13px 14px; background:#f2fafe; }
.fee-option input { position:absolute; opacity:0; }
.radio-dot { width:15px; height:15px; border:1px solid #9bac9f; border-radius:50%; flex:0 0 auto; }
.selected .radio-dot { border:4px solid var(--blue); }
.fee-option > span:last-child { display:flex; flex-direction:column; gap:5px; }
.fee-option b { font-size:13px; }
.fee-option small { color:#7c8a82; font-size:11px; }
.form-divider { height:1px; background:var(--line); margin:34px 0; }
.fields-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 14px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:1/-1; }
.field > span { font-size:11px; font-weight:800; }
.field i { color:#8a958f; font-size:10px; font-style:normal; font-weight:400; }
.field input { width:100%; height:48px; border:1px solid #ccd5ce; padding:0 14px; color:var(--ink); background:#fff; border-radius:0; outline:none; }
.field input:focus { border:2px solid var(--blue); padding:0 13px; }
.fee-option:has(input:focus-visible) { outline:3px solid var(--orange); outline-offset:2px; }
.check-field { min-height:48px; margin-top:19px; display:flex; align-items:center; gap:10px; cursor:pointer; }
.check-field input { accent-color:var(--blue); width:18px; height:18px; }
.check-field span { display:flex; flex-direction:column; gap:4px; }
.check-field b { font-size:11px; }
.check-field small { color:#7b8880; font-size:10px; }
.rate-note { margin:22px 0 0; padding:13px 15px; background:var(--cream); color:#6a756e; font-size:11px; line-height:1.55; }
.split-note { margin:12px 0 0; padding:13px 15px; background:#eef7fb; border-left:4px solid var(--blue); color:#526b75; font-size:11px; line-height:1.55; }
.form-actions { margin-top:18px; display:flex; justify-content:flex-end; }
.reset-button { padding:9px 0; border:0; border-bottom:1px solid #86928b; background:none; color:#68756e; cursor:pointer; font-size:10px; font-weight:700; }
.result-card { padding:48px; background:var(--forest); color:white; display:flex; flex-direction:column; }
.result-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:31px; }
.eyebrow.light { color:var(--orange); }
.status { border:1px solid rgba(255,255,255,.2); padding:7px 10px; color:#b4c8bc; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.status.ready { color:#dff6ff; border-color:var(--blue); }
.result-row { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.result-row > span { display:block; margin-bottom:8px; color:#aabfb2; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.result-row > div { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.result-row b { font-family:Georgia,serif; font-size:22px; font-weight:400; letter-spacing:.02em; }
.result-row.important b { color:var(--gold); font-size:30px; }
.result-row button { border:0; background:none; color:#c4d5ca; text-decoration:underline; cursor:pointer; font-size:10px; }
.result-row button:disabled { opacity:.35; cursor:default; }
.qr-wrap { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:22px; padding-top:28px; }
.qr-wrap img, .qr-placeholder { width:150px; height:150px; background:white; }
.qr-wrap img { display:block; }
.qr-placeholder { color:var(--forest); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:15px; text-align:center; }
.qr-placeholder span { font-family:Georgia,serif; font-size:35px; color:#aab9ae; }
.qr-placeholder small { color:#7a8a7f; font-size:9px; line-height:1.3; }
.qr-wrap p { display:flex; flex-direction:column; gap:8px; margin:0; line-height:1.4; }
.qr-wrap b { font-family:Georgia,serif; font-weight:400; font-size:18px; }
.qr-wrap small { color:#afc2b6; font-size:11px; }
.privacy-note { margin-top:auto; padding-top:25px; color:#9fb5a8; font-size:10px; }
.privacy-note span { color:var(--green); font-size:8px; margin-right:6px; }
.warning-card { margin-top:26px; padding:24px 28px; background:#fff8e5; border:1px solid #edca79; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:20px; }
.warning-icon { width:37px; height:37px; display:grid; place-items:center; border-radius:50%; background:var(--orange); font-family:Georgia,serif; font-size:20px; }
.warning-card b { font-family:Georgia,serif; font-weight:400; font-size:18px; }
.warning-card p { margin:5px 0 0; color:#786b53; font-size:11px; line-height:1.5; }
.verified-note { display:block; margin-top:8px; color:#8a7858; font-size:9px; }
.warning-card a { white-space:nowrap; padding:12px 15px; background:var(--brown); color:white; text-decoration:none; font-size:11px; font-weight:700; }
.facts-section { padding-top:20px; }
.section-heading.compact { margin-bottom:34px; }
.facts-grid { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.facts-grid article { padding:38px 34px; position:relative; }
.facts-grid article + article { border-left:1px solid var(--line); }
.fact-index { color:var(--blue); font-family:Georgia,serif; }
.facts-grid article:nth-child(2) .fact-index { color:var(--orange); }
.facts-grid article:nth-child(3) .fact-index { color:var(--brown); }
.facts-grid h3 { font-family:Georgia,serif; font-size:23px; font-weight:400; margin:24px 0 8px; }
.facts-grid strong { font-family:Georgia,serif; font-size:34px; font-weight:400; color:var(--green); }
.facts-grid p { color:#68776e; font-size:12px; line-height:1.65; }
.exemption-note { max-width:920px; margin:28px auto 0; text-align:center; color:#6e7b73; font-size:12px; line-height:1.65; }
.payment-facts-heading { justify-content:center; text-align:center; }
.existing-services { width:min(1180px, calc(100% - 48px)); margin:10px auto 60px; padding:42px; border-left:7px solid var(--blue); background:var(--cream); display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }
.existing-services h2 { margin:12px 0 0; font-size:38px; }
.existing-services p { margin:0; color:#65706b; font-size:13px; line-height:1.72; }
.existing-services p + p { margin-top:14px; }
.possibilities-section { padding-top:50px; }
.possibilities-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.possibilities-grid article { min-height:390px; padding:32px; border:1px solid var(--line); border-top:5px solid var(--green); background:white; display:flex; flex-direction:column; }
.possibilities-grid article:nth-child(3n+2) { border-top-color:var(--blue); }
.possibilities-grid article:nth-child(3n) { border-top-color:var(--orange); }
.possibilities-grid > article > small { margin-top:auto; padding-top:25px; color:#7b8580; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.card-link { margin-top:20px; color:#217fa0; font-size:11px; font-weight:800; text-decoration:none; }
.card-link:hover { text-decoration:underline; }
.possibilities-grid .my-kanice-card { grid-column:span 2; min-height:0; padding:0; border-top-color:var(--blue); background:#f7faf8; display:block; }
.my-kanice-heading { padding:38px 40px 0; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:0 16px; }
.my-kanice-heading h3 { grid-column:1/-1; margin:22px 0 0; font-size:32px; }
.concept-badge { justify-self:start; padding:7px 10px; border-radius:999px; background:#dff1f8; color:#257b9a; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.my-kanice-copy { padding:25px 40px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.my-kanice-copy p { margin:0; color:#65706b; font-size:13px; line-height:1.72; }
.citizen-dashboard { margin:34px 40px; border:1px solid #dbe3df; background:white; box-shadow:0 18px 45px rgba(30,51,40,.07); }
.dashboard-caption { min-height:68px; padding:16px 22px; background:var(--forest); color:white; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.dashboard-caption > strong { font-family:Georgia,serif; font-size:22px; font-weight:400; }
.dashboard-caption > span { color:#c7d0cb; font-size:9px; font-weight:800; letter-spacing:.08em; text-align:right; text-transform:uppercase; }
.dashboard-columns { display:grid; grid-template-columns:1fr 1fr; }
.dashboard-columns section { padding:24px; }
.dashboard-columns section + section { border-left:1px solid var(--line); }
.dashboard-columns h4 { margin:0 0 16px; color:var(--ink); font-family:Georgia,serif; font-size:19px; font-weight:400; }
.dashboard-row { min-height:67px; padding:13px 0; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.dashboard-row > div { display:flex; flex-direction:column; gap:5px; }
.dashboard-row strong { color:var(--ink); font-size:12px; }
.dashboard-row small { margin:0; padding:0; color:#7b8580; font-size:10px; font-weight:400; letter-spacing:0; text-transform:none; }
.status-badge { flex:0 0 auto; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:800; }
.status-badge.paid { background:#e8f1df; color:#587732; }
.status-badge.progress { background:#fff0cf; color:#95630b; }
.mock-action { padding:8px 12px; background:var(--blue); color:white; font-size:10px; font-weight:800; }
.dashboard-row.muted { color:#8b9691; }
.my-kanice-note { padding:28px 40px 32px; border-left:7px solid var(--orange); background:var(--cream); }
.my-kanice-note > strong { display:block; max-width:820px; color:var(--ink); font-family:Georgia,serif; font-size:22px; font-weight:400; line-height:1.45; }
.my-kanice-note p { max-width:900px; margin:13px 0 0; color:#65706b; font-size:12px; line-height:1.7; }
.wide-callout { max-width:980px; margin:40px auto 0; padding:28px 34px; border:0; border-left:7px solid var(--orange); background:var(--cream); color:var(--ink); font-family:Georgia,serif; font-size:23px; line-height:1.5; }
.process-section { padding:110px max(24px, calc((100vw - 1180px)/2)); background:var(--forest); color:white; }
.process-heading { max-width:780px; }
.process-heading h2, .incremental-copy h2, .digital-conclusion h2 { margin:15px 0 24px; font-family:Georgia,serif; font-size:clamp(40px,5vw,58px); font-weight:400; line-height:1.05; letter-spacing:-.04em; }
.process-heading p { margin:0 0 8px; color:#c3cac6; line-height:1.65; }
.process-heading > strong { color:var(--orange); font-family:Georgia,serif; font-size:21px; font-weight:400; }
.process-steps { margin:55px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; border-top:1px solid #616666; border-left:1px solid #616666; }
.process-steps li { min-height:250px; padding:28px 24px; border-right:1px solid #616666; border-bottom:1px solid #616666; }
.process-steps li > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--green); font-family:Georgia,serif; }
.process-steps li:nth-child(2) > span { background:var(--blue); }
.process-steps li:nth-child(3) > span { background:var(--orange); color:var(--ink); }
.process-steps li:nth-child(4) > span { background:var(--brown); }
.process-steps li:nth-child(5) > span { background:var(--green); }
.process-steps h3 { min-height:54px; margin:30px 0 12px; font-family:Georgia,serif; font-size:19px; font-weight:400; line-height:1.25; }
.process-steps p { margin:0; color:#b6bfba; font-size:12px; line-height:1.6; }
.process-section > blockquote { max-width:900px; margin:42px auto 0; padding:22px 25px; border:1px solid #6d7070; color:white; text-align:center; font-family:Georgia,serif; font-size:22px; line-height:1.5; }
.incremental-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.incremental-copy p { color:#65706b; font-size:14px; line-height:1.75; }
.questions-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.questions-grid article { min-height:155px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:22px; }
.questions-grid span { color:var(--blue); font-family:Georgia,serif; }
.questions-grid article:nth-child(2) span { color:var(--green); }
.questions-grid article:nth-child(3) span { color:var(--orange); }
.questions-grid article:nth-child(4) span { color:var(--brown); }
.questions-grid strong { font-family:Georgia,serif; font-size:21px; font-weight:400; line-height:1.3; }
.digital-conclusion { padding:110px max(24px, calc((100vw - 1180px)/2)); background:#242829; color:white; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; border-top:10px solid var(--blue); }
.digital-conclusion > div:first-child p { max-width:640px; color:#bdc5c1; font-size:14px; line-height:1.75; }
.solution-lines { margin-top:50px; border-left:5px solid var(--orange); }
.solution-lines strong { display:block; padding:17px 25px; border-block:1px solid #4f5453; font-family:Georgia,serif; font-size:20px; font-weight:400; }
.solution-lines strong + strong { border-top:0; }
.digital-conclusion > blockquote { grid-column:1/-1; margin:10px 0 0; padding:30px; background:var(--blue); border:0; color:white; text-align:center; font-family:Georgia,serif; font-size:25px; line-height:1.45; }
footer { width:min(1180px, calc(100% - 48px)); margin:auto; min-height:180px; display:grid; grid-template-columns:1fr 1.2fr .8fr; align-items:center; gap:40px; }
.footer-brand strong { color:var(--forest); }
footer > p { color:#77847c; font-size:11px; line-height:1.6; }
footer > div:last-child { display:flex; justify-content:flex-end; gap:22px; }
footer a { font-size:11px; font-weight:800; }
@media (max-width: 900px) {
  .hero, .digital-hero { grid-template-columns:1fr; gap:45px; padding:80px 0; }
  .hero-card { min-height:330px; width:min(480px,100%); justify-self:center; }
  .hero-portrait { width:min(420px,100%); justify-self:center; }
  .payment-grid { grid-template-columns:1fr; }
  .result-card { min-height:610px; }
  .principles-grid { grid-template-columns:1fr; }
  .principles-grid article { min-height:0; }
  .principles-grid article + article { border-left:0; border-top-width:6px; }
  .existing-services { grid-template-columns:1fr; gap:22px; }
  .possibilities-grid { grid-template-columns:1fr 1fr; }
  .my-kanice-copy { grid-template-columns:1fr; gap:14px; }
  .process-steps { grid-template-columns:1fr; }
  .process-steps li { min-height:0; }
  .process-steps h3 { min-height:0; }
  .incremental-section, .digital-conclusion { grid-template-columns:1fr; }
  .digital-conclusion > blockquote { grid-column:auto; }
  footer { grid-template-columns:1fr 1fr; padding:45px 0; }
  footer > div:last-child { justify-content:flex-start; }
}
@media (max-width: 640px) {
  .site-header { width:100%; height:76px; padding-inline:15px; }
  nav { display:none; }
  .brand small { display:none; }
  .hero, .digital-hero, .payment-section, .facts-section, .principles-section, .possibilities-section, .incremental-section, .existing-services, footer { width:calc(100% - 30px); }
  .hero { min-height:auto; padding:64px 0; }
  .hero h1 { font-size:52px; }
  .hero-copy > p { font-size:15px; }
  .hero-card { min-height:310px; padding:60px 45px; }
  .trust-strip { align-items:flex-start; flex-direction:column; gap:10px; padding:20px 28px; }
  .trust-strip span + span::before { display:none; }
  .payment-section { padding:78px 0; }
  .section-heading h2 { font-size:35px; }
  .section-number { width:40px; height:40px; }
  .form-card, .result-card { padding:28px 22px; }
  .fee-options, .fields-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .qr-wrap { grid-template-columns:130px 1fr; gap:15px; }
  .qr-wrap img, .qr-placeholder { width:130px; height:130px; }
  .warning-card { grid-template-columns:38px 1fr; }
  .warning-card a { grid-column:1/-1; text-align:center; }
  .facts-grid { grid-template-columns:1fr; }
  .facts-grid article + article { border-left:0; border-top:1px solid var(--line); }
  .digital-hero h1 { font-size:48px; }
  .digital-hero-copy > p:first-of-type { font-size:17px; }
  .digital-hero-statement { padding:20px 21px; }
  .digital-hero-statement strong { font-size:20px; }
  .hero-portrait { width:min(340px,100%); }
  .existing-services { margin-bottom:20px; padding:30px 24px; }
  .existing-services h2 { font-size:32px; }
  .principles-section, .possibilities-section, .incremental-section { padding:78px 0; }
  .payment-intro { grid-template-columns:40px 1fr; gap:16px; }
  .payment-intro h2 { font-size:35px; }
  .possibilities-grid, .questions-grid { grid-template-columns:1fr; }
  .possibilities-grid article { min-height:0; }
  .possibilities-grid .my-kanice-card { grid-column:auto; }
  .my-kanice-heading { padding:30px 24px 0; grid-template-columns:1fr; gap:12px; }
  .my-kanice-heading h3 { grid-column:auto; margin-top:8px; font-size:27px; }
  .my-kanice-copy { padding:22px 24px 0; }
  .citizen-dashboard { margin:28px 24px; }
  .dashboard-caption { align-items:flex-start; flex-direction:column; gap:7px; }
  .dashboard-caption > span { text-align:left; }
  .dashboard-columns { grid-template-columns:1fr; }
  .dashboard-columns section + section { border-left:0; border-top:1px solid var(--line); }
  .my-kanice-note { padding:25px 24px 28px; }
  .process-section, .digital-conclusion { padding:78px 24px; }
  .process-heading h2, .incremental-copy h2, .digital-conclusion h2 { font-size:39px; }
  .wide-callout, .digital-conclusion > blockquote { font-size:20px; }
  footer { grid-template-columns:1fr; }
  footer > div:last-child { flex-direction:column; gap:12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
