:root { --ink:#17262d; --deep:#102a36; --navy:#092632; --blue:#12aee5; --sky:#dff6ff; --paper:#f7f5ef; --cream:#fffdf8; --line:#d8dfdf; --muted:#5d6c70; --lime:#c8f45a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; overflow-x:clip; }
img, svg { max-width:100%; height:auto; }
h1, h2 { text-wrap:balance; overflow-wrap:anywhere; }
button, input { font:inherit; }
button { cursor:pointer; }
.shell { width:min(1150px, calc(100% - clamp(32px, 5vw, 48px))); margin:auto; }
.hero { min-height:715px; position:relative; overflow:hidden; color:white; background:linear-gradient(121deg,#092936 0%,#0b3c50 60%,#0b566a); }
.nav { height:92px; display:flex; align-items:center; position:relative; z-index:4; border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:flex; align-items:center; gap:6px; color:white; text-decoration:none; font-family:Manrope,sans-serif; letter-spacing:-.06em; }
.brand span { font-size:27px; font-weight:800; }.brand i { display:block; width:20px; height:20px; border:4px solid var(--blue); border-radius:50%; border-left-color:transparent; transform:rotate(-35deg); }.brand em { font-size:11px; font-style:normal; letter-spacing:.19em; font-weight:700; align-self:flex-end; margin:0 0 5px 1px; }
.nav-link { margin-left:auto; color:white; text-decoration:none; font-size:14px; font-weight:600; }.nav-link span { color:var(--blue); margin-left:8px; }.nav-link-short { display:none; }.help-link { margin-left:32px; color:var(--navy); text-decoration:none; background:var(--lime); border-radius:30px; padding:11px 17px; font-size:13px; font-weight:700; }
.hero-content { position:relative; z-index:3; padding:92px 0 110px; }.eyebrow,.section-kicker { font-family:"DM Mono",monospace; font-size:11px; letter-spacing:.09em; font-weight:500; }.eyebrow { color:#aee8fc; display:flex; gap:10px; align-items:center; }.pulse { width:8px; height:8px; background:var(--lime); border-radius:50%; box-shadow:0 0 0 5px rgba(200,244,90,.12); }.hero h1,.check-section h2,.plans-section h2,.form-section h2,.how-section h2,.terms h2, dialog h2 { margin:19px 0; font-family:Manrope,sans-serif; letter-spacing:-.06em; font-size:clamp(48px,6.1vw,78px); line-height:.98; font-weight:800; }.hero h1 em,h2 em { font-style:normal; color:var(--blue); }.hero-copy { width:460px; max-width:100%; color:#cee0e4; font-size:18px; line-height:1.52; margin:0 0 27px; }
.reward-pair { display:flex; align-items:center; flex-wrap:wrap; width:max-content; max-width:100%; background:rgba(4,28,39,.48); border:1px solid rgba(255,255,255,.17); padding:14px 21px; border-radius:8px; gap:20px; margin-bottom:27px; backdrop-filter:blur(8px); }.reward-pair div:not(.plus) { display:grid; grid-template-columns:auto auto; column-gap:8px; }.reward-pair strong { font:700 29px/1 Manrope,sans-serif; color:var(--lime); grid-row:span 2; align-self:center; }.reward-pair span { font-size:13px; font-weight:700; }.reward-pair small { color:#b7cbd0; font-size:11px; }.reward-pair .plus { color:var(--blue); font-size:23px; }
.primary-button { border:0; background:var(--blue); color:#062631; font-weight:700; padding:15px 20px; border-radius:4px; display:inline-flex; justify-content:space-between; min-width:207px; gap:32px; align-items:center; text-decoration:none; box-shadow:inset 0 -2px rgba(0,0,0,.14); }.primary-button span { font-size:20px; line-height:12px; }.microcopy { font-size:11px; color:#a5bdc3; margin:13px 0; }
.fiber-art { position:absolute; width:min(640px, 58%); height:100%; top:0; right:0; overflow:hidden; opacity:.95; pointer-events:none; }.orb { position:absolute; border-radius:50%; filter:blur(1px); }.orb-one { width:620px; height:620px; background:radial-gradient(circle,rgba(31,181,219,.22),rgba(31,181,219,0) 69%); top:-130px; right:-160px; }.orb-two { width:370px; height:370px; border:1px solid rgba(93,223,255,.19); top:126px; right:81px; }.signal { position:absolute; border-radius:50%; border:1px solid rgba(93,223,255,.19); }.s1 { width:470px;height:470px; top:78px;right:30px; }.s2 { width:610px;height:610px; top:10px;right:-42px; }.s3 { width:760px;height:760px; top:-64px;right:-116px; }.route { position:absolute; width:570px; height:410px; right:-40px; top:250px; border-top:2px solid var(--lime); border-radius:70% 0 0; transform:rotate(-16deg); opacity:.7; }.route-dot { position:absolute; width:9px;height:9px;border-radius:50%;background:var(--lime); box-shadow:0 0 0 7px rgba(200,244,90,.17); }.d1 { top:365px;right:337px;}.d2 {top:303px;right:168px;}.d3 {top:250px;right:53px;}.house { position:absolute; background:rgba(208,245,255,.27); border:1px solid rgba(208,245,255,.48); width:55px; height:50px; }.house:before { content:"";position:absolute;width:38px;height:38px;top:-20px;left:7px;background:inherit;border-top:1px solid rgba(208,245,255,.48);border-left:1px solid rgba(208,245,255,.48);transform:rotate(45deg); }.house i { position:absolute;bottom:0;left:21px;width:13px;height:25px;border:1px solid rgba(208,245,255,.5); }.h-one { right:316px;top:402px; transform:scale(.75); }.h-two {right:151px;top:327px;}.h-three {right:43px;top:259px;transform:scale(.65);}
.check-section { padding:105px 0; background:var(--cream); }.checker-grid { display:grid; grid-template-columns:1fr 1.03fr; gap:90px; align-items:center; }.section-kicker { color:#39798d; }.check-section h2,.plans-section h2,.form-section h2,.how-section h2,.terms h2,dialog h2 { font-size:clamp(38px,4.2vw,57px); color:var(--ink); }.check-section p { max-width:390px; font-size:17px; line-height:1.58; color:var(--muted); }.address-card { padding:33px; background:#fff; border:1px solid var(--line); box-shadow:0 16px 50px rgba(15,46,54,.08); border-radius:6px; }.address-card label { display:block; font-weight:700; font-size:14px; margin-bottom:9px; }.search-row { display:flex; border:1px solid #afbec1; border-radius:4px; overflow:hidden; }.search-row:focus-within { outline:3px solid rgba(18,174,229,.2); border-color:var(--blue); }.search-row input { width:100%; min-width:0; border:0; outline:0; padding:15px; }.search-row button { width:55px; flex:0 0 55px; border:0; background:var(--deep); color:var(--lime); font-size:22px; }.search-help,.form-fineprint { color:#758387; font-size:12px; line-height:1.5; }.address-results { margin-top:12px; }.address-result { display:flex; align-items:center; justify-content:space-between; width:100%; border:1px solid #dce5e5; padding:13px 14px; background:#fff; text-align:left; margin-top:6px; border-radius:3px; }.address-result:hover { border-color:var(--blue); background:#f6fdff; }.address-result span { display:grid; gap:4px; }.address-result b { font-size:14px; }.address-result small { color:#27826d; font-weight:600; }.address-result i { color:var(--blue); font-size:20px; font-style:normal; }.address-result.not-ready small,.address-result.not-ready i { color:#9b6a47; }.result-message,.available-result { padding:16px; background:#f3f7f6; border-radius:4px; display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--muted); }.result-message strong,.available-result strong { color:var(--ink); }.available-result { flex-direction:row; align-items:center; background:#eff9e4; }.check { width:27px; height:27px; border-radius:50%; display:grid; place-items:center; background:var(--lime); color:var(--deep); font-weight:700; flex:0 0 auto; }.data-note { margin-top:24px; border-top:1px solid var(--line); padding-top:15px; color:#586568; font-size:12px; }.data-note summary { cursor:pointer; color:#39798d; font-weight:700; }.data-note p { margin:10px 0; font-size:12px; }.data-note code { background:#eef2f2; padding:1px 3px; }.upload-button { display:inline-block !important; border:1px solid #b9c7ca; padding:7px 10px; margin:0 !important; cursor:pointer; border-radius:3px; color:var(--ink); }.upload-button input { display:none; }.data-note #import-status { margin-left:8px; color:#39798d; }
.plans-section { background:#e7f7fb; padding:105px 0; }.plan-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:38px; }.plan-heading h2 { margin-bottom:0; }.plan-heading > p { width:300px; line-height:1.55; color:var(--muted); }.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.plan-card { position:relative; background:#fff; padding:29px; border:1px solid #d5e2e4; border-radius:5px; display:flex; flex-direction:column; }.plan-card.popular { border:2px solid var(--blue); padding:28px; }.popular-label { position:absolute; top:-14px; right:22px; background:var(--blue); color:var(--deep); padding:6px 10px; font:700 10px "DM Mono",monospace; letter-spacing:.06em; }.plan-card > div p { color:#39798d; font-weight:700; font-size:13px; margin:0; }.plan-card h3 { font:800 58px/.95 Manrope,sans-serif; letter-spacing:-.08em; margin:13px 0 4px; }.plan-card h3 sup { font-size:22px; vertical-align:top; letter-spacing:0; }.plan-card h3 small { font:500 13px "DM Sans",sans-serif; letter-spacing:0; color:var(--muted); }.plan-card strong { font-size:15px; }.plan-card strong span { font-size:12px; color:var(--muted); font-weight:400; }.plan-note { font-size:13px; line-height:1.5; min-height:40px; color:var(--muted); }.plan-card ul { padding:16px 0; margin:10px 0 23px; border-top:1px solid var(--line); list-style:none; font-size:13px; color:#425459; line-height:2; }.plan-card li:before { content:"✓"; color:#229c84; font-weight:700; margin-right:8px; }.plan-card button { margin-top:auto; border:1px solid var(--deep); color:var(--deep); background:white; padding:12px; border-radius:3px; font-weight:700; display:flex; justify-content:space-between; }.plan-card.popular button,.plan-card button:hover { background:var(--deep);color:white; }.plan-card button span { color:var(--blue); font-size:18px; }
.form-section { padding:105px 0; background:var(--deep); color:white; }.form-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }.form-section .section-kicker { color:#94dff7; }.form-section h2 { color:#fff; }.form-intro > p { color:#b9d0d4; line-height:1.6; max-width:390px; }.selected-summary { margin-top:34px; padding:20px; border-left:2px solid var(--lime); background:rgba(255,255,255,.06); max-width:390px; }.selected-summary > span { color:#9ccedb; font:11px "DM Mono",monospace; }.selected-summary strong { display:block; font-size:17px; margin:8px 0 1px; }.selected-summary p { margin:2px 0; font-size:13px; color:#d4e5e8; }.selected-summary .summary-address { color:#91b3ba; margin-top:11px; }.signup-card { background:#fff; padding:34px; border-radius:6px; color:var(--ink); }.form-title-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }.form-title-row h3 { font:700 21px Manrope,sans-serif; letter-spacing:-.05em; margin:0; }.form-title-row span { font:10px "DM Mono",monospace; color:#39798d; background:#e9f7f9; padding:6px; }.signup-card label { display:block; font-size:12px; font-weight:700; margin-top:15px; }.signup-card input:not([type=checkbox]) { display:block; width:100%; padding:10px 0; border:0; border-bottom:1px solid #bdc9cb; outline:0; background:transparent; border-radius:0; font-size:15px; }.signup-card input:focus { border-color:var(--blue); box-shadow:0 2px var(--blue); }.signup-card input[readonly] { color:#637477; }.two-up { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.label-note { color:#849194; font-weight:400; float:right; }.signup-card label.consent { display:flex; gap:9px; line-height:1.45; font-weight:400; color:#5e6e71; margin:23px 0 19px; }.consent input { margin:2px 0 0; accent-color:var(--blue); }.form-button { width:100%; }.form-fineprint { margin:12px 0 0; }
.how-section { padding:105px 0; background:var(--cream); }.how-section h2 { margin-bottom:49px; }.steps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.steps article { padding:25px 28px 0 0; margin-right:24px; border-right:1px solid var(--line); }.steps article:last-child { border:0; }.steps span { color:#3096b8; font:500 12px "DM Mono",monospace; }.steps h3 { font:700 21px Manrope,sans-serif; letter-spacing:-.04em; margin:35px 0 10px; }.steps p { font-size:14px; line-height:1.55; color:var(--muted); }
.terms { background:#c7f159; padding:85px 0; }.terms-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }.terms h2 { margin-bottom:0; }.terms h2 em { color:#377e92; }.terms-grid > div:last-child p { color:#26454e; line-height:1.58; font-size:14px; margin:0 0 17px; }.terms a { color:var(--deep); font-weight:700; text-decoration:none; border-bottom:2px solid rgba(16,42,54,.35); padding-bottom:4px; }.terms a span { color:#39798d; font-size:20px; margin-left:8px; } footer { background:var(--deep); color:#a9c5cb; padding:28px 0; }.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; }.footer-inner p { margin:0; }.brand-dark i { border-color:var(--lime); border-left-color:transparent; }
dialog { border:0; border-radius:7px; width:min(440px,calc(100% - 40px)); padding:0; background:#fff; color:var(--ink); box-shadow:0 25px 70px rgba(0,0,0,.4); }.close-dialog { position:absolute; top:12px;right:16px;border:0;background:transparent;font-size:26px;color:#6b797c; }.success-mark { width:52px;height:52px;background:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:700;color:var(--deep); }.success-mark + .section-kicker { margin-top:26px; } dialog > div { padding:42px; } dialog h2 { margin:12px 0; font-size:45px; } dialog p { color:var(--muted); line-height:1.55; } dialog::backdrop { background:rgba(3,26,35,.65); }.close-button { margin-top:14px; }
.address-result span, .manual-result span, .available-result > div, .review-result > div { min-width:0; }
.address-result b, .manual-result b, .generated-link code { overflow-wrap:anywhere; }

/* VHN web palette: durable navy, white, and electric blue. */
:root { --ink:#182b3a; --deep:#142536; --navy:#0b1c2b; --blue:#18b8ea; --sky:#eaf8fd; --paper:#f5f8fa; --cream:#fff; --line:#d9e3e8; --muted:#60717d; --lime:#9be4f8; }
.hero { background:linear-gradient(121deg,#0a1b2d 0%,#123248 60%,#15526b); }
.help-link { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.3); border-radius:4px; padding:10px 16px; }
.pulse { background:var(--blue); box-shadow:0 0 0 5px rgba(24,184,234,.12); }
.reward-pair { border-radius:5px; }.reward-pair strong { color:var(--blue); }
.terms { background:#e6f6fb; }.terms h2 em,.terms a span { color:#258aab; }.terms-grid > div:last-child p { color:#36515e; }.brand-dark i { border-color:var(--blue); border-left-color:transparent; }.success-mark { background:var(--blue); }

/* Current-customer sharing page */
.share-hero { color:white; background:linear-gradient(125deg,#0a1b2d,#173d55); min-height:470px; }.share-intro { padding:80px 0 98px; }.share-intro h1 { margin:18px 0; max-width:670px; font:800 clamp(48px,6vw,76px)/.98 Manrope,sans-serif; letter-spacing:-.065em; }.share-intro h1 em { font-style:normal; color:var(--blue); }.share-intro > p { max-width:560px; margin:0; color:#cadde4; font-size:18px; line-height:1.55; }
.share-content { padding:100px 0; background:#fff; }.share-grid { display:grid; grid-template-columns:1fr .84fr; gap:105px; align-items:start; }.share-grid h2 { margin:17px 0 18px; font:800 clamp(39px,4.2vw,58px)/1 Manrope,sans-serif; letter-spacing:-.065em; }.share-grid h2 em { color:#1989af; font-style:normal; }.large-copy { max-width:430px; color:var(--muted); font-size:18px; line-height:1.58; }.reward-rules { margin-top:36px; max-width:500px; border-top:1px solid var(--line); }.reward-rules > div { padding:19px 0; border-bottom:1px solid var(--line); }.reward-rules strong { font:700 16px Manrope,sans-serif; }.reward-rules p { margin:5px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.share-card { padding:34px; background:#eff9fc; border:1px solid #d2ebf3; border-radius:6px; box-shadow:0 15px 35px rgba(18,61,78,.07); }.share-card h3 { margin:10px 0 7px; font:700 25px Manrope,sans-serif; letter-spacing:-.055em; }.share-card > p { margin:0 0 22px; color:var(--muted); line-height:1.5; font-size:14px; }.share-card label { display:block; margin:20px 0 8px; font-weight:700; font-size:12px; }.share-card input { display:block; width:100%; padding:13px; border:1px solid #afc7cf; background:#fff; border-radius:4px; outline:0; }.share-card input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(24,184,234,.15); }.share-card .primary-button { width:100%; margin-top:16px; }.generated-link { margin-top:22px; padding:15px; background:#fff; border:1px solid #cae5ed; border-radius:4px; }.generated-link span { display:block; color:#39798d; font:10px "DM Mono",monospace; letter-spacing:.08em; }.generated-link code { display:block; overflow-wrap:anywhere; margin:7px 0 12px; color:#234656; font-size:12px; }.generated-link button { color:#136a89; padding:0; border:0; background:none; font-weight:700; }.share-note { margin-top:22px !important; font-size:12px !important; }.share-note a { color:#136a89; font-weight:700; }.share-steps { padding:80px 0 100px; background:#f5f8fa; }.share-steps .steps { margin-top:30px; }

/* Exact visual language from vhn.one */
:root { --ink:#111827; --deep:#1f2937; --navy:#111827; --blue:#2576c3; --sky:#eff6ff; --paper:#f9fafb; --cream:#fff; --line:#e5e7eb; --muted:#4b5563; --lime:#60a5fa; }
body,button,input { font-family:Ubuntu,system-ui,sans-serif; }
.hero h1,.check-section h2,.plans-section h2,.form-section h2,.how-section h2,.terms h2,dialog h2,.plan-card h3,.form-title-row h3,.steps h3,.share-intro h1,.share-grid h2,.share-card h3,.reward-rules strong { font-family:Ubuntu,system-ui,sans-serif; letter-spacing:-.045em; }
.eyebrow,.section-kicker,.form-title-row span,.generated-link span,.selected-summary>span,.popular-label { font-family:Ubuntu,system-ui,sans-serif; letter-spacing:.08em; }
.hero { background:linear-gradient(125deg,#111827 0%,#173a5e 62%,#1c5ba1 100%); }
.site-nav { position:relative; z-index:10; background:#fff; box-shadow:0 1px 3px rgba(17,24,39,.12); }
.nav { height:66px; border:0; }
.brand { color:#111827; gap:8px; letter-spacing:0; }
.brand img { display:block; width:34px; height:31px; object-fit:contain; }
.brand span { display:flex; align-items:baseline; gap:5px; font-size:15px; }
.brand strong { font-size:17px; letter-spacing:.02em; }.brand small { color:#2576c3; font-size:10px; font-weight:700; letter-spacing:.14em; }
.nav-link { color:#374151; font-weight:500; }.nav-link:hover { color:var(--blue); }.nav-link span { color:var(--blue); }
.help-link { color:#fff; background:var(--blue); border-color:var(--blue); border-radius:6px; }.help-link:hover { background:#1c5ba1; }
.hero-content { padding-top:82px; }
.pulse { background:#60a5fa; box-shadow:0 0 0 5px rgba(96,165,250,.14); }
.reward-pair strong { color:#93c5fd; }.primary-button { background:var(--blue); color:#fff; border-radius:6px; }.primary-button:hover { background:#1c5ba1; }
.route { border-top-color:#60a5fa; }.route-dot { background:#60a5fa; box-shadow:0 0 0 7px rgba(96,165,250,.17); }
.referral-context { width:max-content; max-width:100%; margin:-12px 0 23px; padding:7px 10px; color:#dbeafe; background:rgba(37,118,195,.22); border:1px solid rgba(147,197,253,.35); border-radius:5px; font-size:12px; }
.section-kicker { color:#1c5ba1; font-weight:700; }.plans-section { background:#f3f6fa; }.plan-card.popular { border-color:var(--blue); }.popular-label { color:#fff; }.plan-card li:before { color:var(--blue); }.search-row button { color:#fff; }.available-result { background:#eff6ff; }.check { color:#fff; background:var(--blue); }
.terms { background:#eff6ff; }.terms h2 em,.terms a span { color:var(--blue); }.terms-grid>div:last-child p { color:#374151; }
.share-hero { background:linear-gradient(125deg,#111827,#1c5ba1); }.share-grid h2 em { color:var(--blue); }.share-card { background:#f5f9fd; border-color:#dbeafe; }.generated-link { border-color:#bfdbfe; }.generated-link button,.share-note a { color:#1c5ba1; }
footer { padding:25px 0; color:#6b7280; background:#fff; border-top:1px solid #dbeafe; }.footer-brand { display:flex; align-items:center; gap:9px; color:#111827; text-decoration:none; }.footer-brand img { display:block; width:38px; height:35px; object-fit:contain; }.footer-brand span { display:grid; line-height:1.05; }.footer-brand strong { font-size:13px; font-weight:500; }.footer-brand small { color:#2576c3; font-size:9px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.footer-inner>p { color:#374151; font-weight:500; }.footer-meta { text-align:right; }.footer-meta p { margin:0 0 5px; }.footer-meta a { color:#6b7280; text-underline-offset:3px; }

/* Address autocomplete and manual-review states */
.lookup-loading { padding:14px 3px; color:#64748b; font-size:13px; }
.manual-result { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:8px; padding:13px 14px; color:#25364a; background:#f8fafc; border:1px dashed #94a3b8; border-radius:4px; text-align:left; }
.manual-result:hover { background:#eff6ff; border-color:var(--blue); }.manual-result span { display:grid; gap:4px; }.manual-result b { font-size:14px; }.manual-result small { color:#64748b; line-height:1.35; }.manual-result i { color:var(--blue); font-size:20px; font-style:normal; margin-left:12px; }
.review-result { display:flex; align-items:center; gap:11px; padding:16px; background:#fff8e7; border:1px solid #f3d99b; border-radius:4px; font-size:13px; color:#66562e; }.review-result>div { display:grid; gap:3px; }.review-result strong { color:#322b19; }.review-mark { display:grid; place-items:center; width:27px; height:27px; flex:0 0 auto; color:#fff; background:#b7791f; border-radius:50%; font-weight:700; }
.review-note { width:max-content; margin-top:11px!important; padding:4px 7px; color:#8a5a13!important; background:#fff4d6; border-radius:3px; font-size:11px!important; font-weight:700; }
.form-error { margin:0 0 15px; padding:11px 12px; color:#9f2424; background:#fff1f1; border:1px solid #f0b8b8; border-radius:4px; font-size:13px; }
.form-button:disabled { cursor:wait; opacity:.65; }
.price-note { display:block; margin:3px 0 8px; color:#1c5ba1; font-size:11px; font-weight:700; }
.plan-heading > p strong { color:#1c5ba1; font-size:12px; }

.nav-link .nav-link-lead,
.nav-link .nav-link-short { color:inherit; margin-left:0; }

/* Fluid type: keep the desktop scale, let phones shrink instead of wrapping mid-word. */
.hero h1,
.share-intro h1 { font-size:clamp(2.15rem, 1.1rem + 5.2vw, 4.875rem); }
.check-section h2,
.plans-section h2,
.form-section h2,
.how-section h2,
.terms h2,
.share-grid h2 { font-size:clamp(2rem, 1.15rem + 3.4vw, 3.55rem); }
dialog h2 { font-size:clamp(1.85rem, 1.2rem + 3vw, 2.8rem); }
.plan-card h3 { font-size:clamp(2.6rem, 2rem + 3vw, 3.625rem); }

@media (max-width:1024px) {
  .checker-grid, .form-grid, .terms-grid, .share-grid { gap:56px; }
  .steps article { padding-right:18px; margin-right:16px; }
}

@media (max-width:900px) {
  .nav { height:auto; min-height:60px; padding:10px 0; gap:10px 14px; flex-wrap:wrap; }
  .nav-link { display:inline; }
  .nav-link-lead { display:none; }
  .nav-link-short { display:inline; }
  .help-link { margin-left:0; }
  .hero, .share-hero { min-height:auto; }
  .hero-content, .share-intro { padding:52px 0 64px; }
  .fiber-art { width:100%; right:0; top:0; height:100%; opacity:.28; }
  .fiber-art .house,
  .fiber-art .route,
  .fiber-art .route-dot { display:none; }
  .checker-grid, .form-grid, .terms-grid, .share-grid { grid-template-columns:1fr; gap:36px; }
  .check-section, .plans-section, .form-section, .how-section, .share-content, .share-steps { padding:64px 0; }
  .check-section p, .form-intro > p, .large-copy, .selected-summary { max-width:none; }
  .nav-link > span { margin-left:0; }
  .plan-heading { display:block; }
  .plan-heading > p { width:auto; margin-top:8px; }
  .plans { grid-template-columns:1fr 1fr; }
  .plan-card { padding:26px; }
  .steps { grid-template-columns:1fr 1fr; }
  .steps article { margin:0; padding:22px 18px 22px 0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .steps article:nth-child(2n) { border-right:0; padding-right:0; padding-left:18px; }
  .steps article:nth-last-child(-n+2) { border-bottom:0; }
  .steps h3 { margin-top:20px; }
  .terms { padding:56px 0; }
  .share-card { padding:26px; }
  .footer-inner { flex-wrap:wrap; justify-content:flex-start; align-items:center; }
}

@media (max-width:560px) {
  .brand img { width:31px; height:29px; }
  .brand strong { font-size:15px; }
  .brand small { font-size:9px; }
  .help-link { padding:8px 10px; }
  .nav-link { font-size:13px; }
  .hero-content, .share-intro { padding:40px 0 48px; }
  .hero-copy, .share-intro > p { font-size:16px; }
  .reward-pair { display:grid; grid-template-columns:1fr; gap:12px; width:100%; padding:14px 16px; }
  .reward-pair .plus { display:none; }
  .reward-pair strong { font-size:26px; }
  .primary-button { width:100%; max-width:22rem; }
  .plans { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr; }
  .steps article,
  .steps article:nth-child(2n) { border-right:0; padding:22px 0; }
  .steps article:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
  .steps article:last-child { border-bottom:0; }
  .two-up { grid-template-columns:1fr; }
  .address-card, .signup-card, .share-card { padding:20px; }
  .form-title-row { align-items:flex-start; gap:8px; }
  .label-note { float:none; display:block; margin-top:2px; }
  .review-note { width:auto; max-width:100%; }
  .available-result, .review-result { align-items:flex-start; }
  dialog > div { padding:26px; }
  .footer-inner { display:grid; grid-template-columns:1fr; gap:14px; }
  .footer-inner > p, .footer-meta { text-align:left; }
  .footer-meta { border-top:1px solid var(--line); padding-top:14px; }
}

@media (max-width:380px) {
  .nav-link { width:100%; margin-left:0; order:3; }
  .help-link { margin-left:auto; }
}

.admin-body { background:#f9fafb; min-height:100vh; }
.admin-nav { gap:18px; }
.admin-links { display:flex; gap:18px; margin-left:18px; }
.admin-links a { color:#374151; text-decoration:none; font-weight:500; }
.admin-links a.is-active, .admin-links a:hover { color:var(--blue); }
.admin-user { margin:0 0 0 auto; color:#6b7280; font-size:13px; }
.admin-main { padding:36px 0 80px; }
.admin-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:28px; }
.admin-heading h1 { margin:10px 0 8px; font:700 clamp(2rem, 3vw + 1rem, 3rem)/1 Ubuntu,system-ui,sans-serif; letter-spacing:-.045em; }
.admin-heading p { margin:0; color:var(--muted); max-width:520px; }
.admin-actions { display:flex; gap:10px; flex-wrap:wrap; }
.secondary-button { border:1px solid var(--deep); background:#fff; color:var(--deep); padding:12px 16px; border-radius:6px; font-weight:700; text-decoration:none; display:inline-block; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:22px; }
.admin-stats div { background:#fff; border:1px solid var(--line); border-radius:6px; padding:16px 18px; }
.admin-stats span { display:block; color:#6b7280; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.admin-stats strong { display:block; margin-top:8px; font-size:28px; }
.admin-toolbar { display:flex; gap:16px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
.admin-toolbar input[type=search] { flex:1; min-width:220px; padding:11px 12px; border:1px solid #afc7cf; border-radius:4px; }
.admin-table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:6px; }
.admin-table { width:100%; border-collapse:collapse; font-size:14px; }
.admin-table th, .admin-table td { padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.admin-table th { color:#6b7280; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.admin-table td strong { display:block; }
.admin-table td small { display:block; color:#6b7280; margin-top:3px; }
.admin-table tr.is-missing { background:#fff8e7; }
.admin-table code { font-size:12px; }
.admin-table .admin-id { font-variant-numeric: tabular-nums; font-weight:700; color:#374151; white-space:nowrap; }
.email-status { display:inline-block; font-weight:700; }
.email-status.is-not-sent { color:#6b7280; }
.email-status.is-sent { color:#1c5ba1; }
.email-status.is-viewed { color:#157a3a; }
.missing { color:#b7791f; font-weight:700; }
.text-button { border:0; background:none; color:#1c5ba1; font-weight:700; padding:0; margin-left:8px; }
.admin-status { margin:0 0 16px; color:#374151; }
.admin-status.is-error { color:#9f2424; }
.admin-status-foot { display:none; }
.admin-toggle { font-weight:700; color:#374151; }
.admin-dialog { width:min(720px, calc(100% - 32px)); border:0; border-radius:7px; padding:0; }
.admin-dialog form { padding:28px; display:grid; gap:14px; }
.admin-dialog label { display:grid; gap:6px; font-size:12px; font-weight:700; }
.admin-dialog select, .admin-dialog input, .admin-dialog textarea { width:100%; padding:10px; border:1px solid #afc7cf; border-radius:4px; font:inherit; font-weight:400; }
.admin-dialog-copy { margin:0; color:var(--muted); }
.email-preview { background:#f5f9fd; border:1px solid #dbeafe; border-radius:6px; padding:14px; }
.email-preview pre { white-space:pre-wrap; font:14px Ubuntu,system-ui,sans-serif; margin:0; }
.email-preview iframe { display:block; width:100%; min-height:720px; border:0; background:#fff; border-radius:6px; }
.preview-meta { color:#1c5ba1; font-size:12px; font-weight:700; }
.admin-dialog-actions { margin-top:6px; }
@media (max-width:800px) {
  .admin-heading { display:block; }
  .admin-actions { margin-top:18px; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .admin-user { margin-left:0; width:100%; order:5; }
  .admin-nav { flex-wrap:wrap; }
}
