/* Rank Place rp-ui-20260909-223424 | Home/menu/setup UI. Revert: New asset; restoring the Blade .bak files removes its references. */
/* Rank Place refresh: shared visual language, existing content and commerce rules. */
:root{--rp-ink:#172644;--rp-teal:#087f78;--rp-border:#dfe7ed;--rp-surface:#f3f7fa}
html{scroll-padding-top:100px}body{color:var(--rp-ink)}[hidden]{display:none!important}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
.btn-primary{background:var(--rp-teal)}.btn[aria-disabled=true],button:disabled{opacity:.6;cursor:wait}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #13aaa0;outline-offset:4px}
.hub .wrap,.funnel .wrap{max-width:1200px}
header.site.sticky{position:sticky;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--rp-border);box-shadow:0 4px 25px #17264408;z-index:9600}
.topbar{min-height:80px;gap:26px}.topbar .logo img{height:28px;width:auto}
.nav-drawer{display:flex;align-items:center;gap:28px;flex:1;justify-content:flex-end}
nav.main>ul{display:flex;align-items:center;gap:12px;margin:0;padding:0;list-style:none}
nav.main .has-sub{position:relative;display:flex;align-items:center;gap:0}
nav.main>ul>li>a{padding:12px 5px;font-weight:650;color:var(--rp-ink);font-size:13px}
.nav-sub-toggle{border:0;border-radius:8px;background:transparent;color:var(--rp-ink);min-width:32px;min-height:44px;cursor:pointer}
nav.main .sub{display:none;position:absolute;top:100%;left:0;width:265px;padding:10px;background:white;border:1px solid var(--rp-border);border-radius:14px;box-shadow:0 16px 40px #17264418;list-style:none;z-index:10}
nav.main .has-sub.sub-open>.sub{display:block}nav.main .has-sub:hover>.sub{display:none}nav.main .has-sub.sub-open:hover>.sub{display:block}
nav.main .sub a{display:block;padding:13px;border-radius:8px;white-space:normal;color:var(--rp-ink);font-size:14px;line-height:1.4}
nav.main .sub a:hover{background:#edf8f5}.top-cta{display:flex;gap:8px;flex-shrink:0}.top-cta .btn{padding:10px 15px}
.hub .hero{padding:76px 0 52px;background:linear-gradient(125deg,#f1f7f8,#fff 65%)}
.hub .hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.85fr);gap:64px;align-items:center}
.hub .hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.06;letter-spacing:-.045em;max-width:620px;margin-bottom:26px}
.hub .signature{font-size:21px;line-height:1.5;color:var(--rp-teal);max-width:490px}.hub .subbaseline{font-size:17px;margin:16px 0 28px;line-height:1.7}.hub .hero-note{max-width:440px;line-height:1.65;margin-top:20px}
.hub .hero .citycheck{padding:30px;background:white;border:1px solid var(--rp-border);border-radius:24px;box-shadow:0 20px 60px #1726440d;scroll-margin-top:110px;min-width:0}
.hub .hero .citycheck>.wrap{padding:0;width:100%;max-width:none}.hub .hero .citycheck h2{font-size:23px;line-height:1.3;text-align:left;letter-spacing:-.02em}
.hub .hero .citycheck .lead{font-size:14px;text-align:left;line-height:1.6;margin-bottom:22px}.hub .hero .citycheck-card{padding:0;box-shadow:none;border:0;width:100%;max-width:none;background:none}
.citycheck input{min-height:48px;border-radius:9px;font-size:16px!important}.citycheck button{width:100%;margin-top:22px}
.home-network{border-bottom:1px solid var(--rp-border);padding:22px 0;background:white}.home-network .hero-visual{max-width:none;width:100%;margin:0;box-shadow:none;border:0;background:none;transform:none}
.home-network .hv-bar{display:none}.home-network .ng-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:9px}.home-network .ng-tile{margin:0;min-width:0;white-space:normal;border:1px solid var(--rp-border);border-radius:9px;box-shadow:none}
.home-network .ng-you{grid-column:1/-1;justify-content:center;background:#edf8f5}
.hub section:not(.hero):not(.citycheck){padding-top:64px;padding-bottom:64px}.hub .services .cards,.hub .services-grid{gap:20px}.hub .card{border-radius:18px;border:1px solid var(--rp-border);box-shadow:none;transition:transform .2s,box-shadow .2s}.hub .card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #1726440c}
.hub h2{letter-spacing:-.025em}.hub .pains .pain{border-radius:12px}.hub .final{background:var(--rp-ink)}
.funnel{background:var(--rp-surface)}.funnel header.site{background:white;border-bottom:1px solid var(--rp-border)}
.funnel .tunnel-shell{padding-top:40px;padding-bottom:56px}.funnel .tunnel-card{border:1px solid var(--rp-border);border-radius:22px;padding:34px;box-shadow:0 12px 40px #17264407}
.funnel .tunnel-card h1{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.03em}.funnel .tunnel-card .sub{line-height:1.65}
.funnel .hero{background:white;padding-top:48px;padding-bottom:48px}.funnel .hero h1{letter-spacing:-.035em;line-height:1.12}.funnel .from-chip{max-width:65%;overflow-wrap:anywhere;font-size:13px}
.setup-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0 0 24px;gap:6px}
.setup-progress li{display:flex;align-items:center;gap:6px;font-size:11px;color:#68778c;border-bottom:2px solid #e4eaf0;padding-bottom:12px;min-width:0;overflow-wrap:anywhere}
.setup-progress li>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#edf1f5;font-size:11px}
.setup-progress li[aria-current=step]{color:var(--rp-teal);border-color:var(--rp-teal);font-weight:750}.setup-progress li[aria-current=step]>span{color:white;background:var(--rp-teal)}.setup-progress li.done{color:var(--rp-teal);border-color:#acdcd2}
.setup-field{margin-top:24px}.setup-field label{font-size:15px;line-height:1.5}.setup-field input:not([type=checkbox]):not([type=hidden]){font-size:16px;min-height:48px;border:1px solid #c8d5df;border-radius:10px;box-shadow:none;width:100%}
.setup-field .chip{min-height:44px;padding:10px 14px;border-radius:10px}.setup-field .field-error:empty{display:none}.setup-actions{border-top:1px solid var(--rp-border);padding-top:22px;margin-top:28px;gap:14px}.setup-actions #setup-next{margin-left:auto}
.funnel .st-grid{grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.funnel .rail{position:sticky;top:24px}.funnel .rail-card{background:white;border:1px solid var(--rp-border);border-radius:18px;padding:24px;box-shadow:none}.rail-host{overflow-wrap:anywhere}.rail-items .rv{overflow-wrap:anywhere}
.funnel .pc-card{border-radius:15px;min-height:190px;padding:23px}.funnel .pc-card:focus-within{outline:3px solid #13aaa0;outline-offset:3px}.funnel .pc-billed{color:#546275}.funnel .pc-price{font-size:30px}.funnel .pc-card.on{background:#edf8f5;box-shadow:0 10px 24px #087f780d}.funnel .pc-pop{background:var(--rp-teal)}
@media(min-width:961px){.nav-toggle{display:none!important}}
@media(max-width:960px){
 .topbar{min-height:68px;justify-content:space-between}.nav-toggle{display:flex!important;min-height:44px;min-width:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--rp-border);border-radius:10px;background:white}.nav-toggle span{display:block;width:18px;height:2px;background:var(--rp-ink)}
 .nav-drawer{display:none!important;position:absolute;top:100%;left:0;right:0;background:white;padding:18px 24px 24px;max-height:calc(100dvh - 80px);overflow-y:auto;border-bottom:1px solid var(--rp-border);box-shadow:0 20px 30px #17264412}
 .nav-open .nav-drawer{display:block!important}nav.main>ul{display:block}nav.main>ul>li{border-bottom:1px solid var(--rp-border);padding:8px 0}nav.main .has-sub{display:grid;grid-template-columns:1fr 44px}nav.main>ul>li>a{display:block;padding:12px;font-size:15px}.nav-sub-toggle{min-height:44px}.nav-drawer .top-cta{margin-top:20px;display:grid;grid-template-columns:1fr 1fr}
 nav.main .sub{position:static;grid-column:1/-1;width:auto;box-shadow:none;border:0;background:var(--rp-surface);margin:6px 0}.hub .hero-grid{gap:30px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}
 .funnel .st-grid{grid-template-columns:minmax(0,1fr)}.funnel .rail{position:static;display:block}.funnel .rail-upsells{display:none}.funnel .rail-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.funnel .rail-card{padding:20px}
}
@media(max-width:640px){
 .hub .wrap,.funnel .wrap{padding-left:20px;padding-right:20px}.hub .hero{padding:36px 0 30px}.hub .hero-grid,.funnel .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}.hub .hero h1{font-size:43px}.hub .signature{font-size:18px}.hub .hero .citycheck{padding:24px 20px;border-radius:18px}.hub .hero .citycheck h2{font-size:21px}.hub .hero-note{font-size:12px}.home-network .ng-body{grid-template-columns:1fr 1fr}.home-network .ng-host{font-size:11px;overflow-wrap:anywhere}.home-network .ng-badge{font-size:9px}.hub section:not(.hero):not(.citycheck){padding-top:42px;padding-bottom:42px}
 .funnel .tunnel-shell{padding:20px 12px 40px}.funnel .tunnel-card{padding:24px 18px;border-radius:16px}.setup-progress{gap:5px}.setup-progress li{font-size:10px;flex-direction:column;align-items:flex-start;line-height:1.4}.setup-actions{position:sticky;bottom:0;background:rgba(255,255,255,.98);padding-bottom:12px;z-index:2}.setup-actions .btn{font-size:14px;padding:12px 16px}.funnel .rail-items{grid-template-columns:1fr}.funnel .from-chip{max-width:60%;font-size:11px}.funnel .brand .sig{display:none}.funnel .pc-card{min-height:0}.funnel .hero h1{font-size:34px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* menu-fix-20260910-140201: resolve legacy mobile display:flex / focus-within conflict.
   Revert: restore this file and layouts from .bak-menu-fix-20260910-140201, then view:clear. */
header.site .nav-drawer nav.main .has-sub > ul.sub {display:none;min-width:0;max-width:calc(100vw - 32px);left:auto;right:0;max-height:calc(100dvh - 150px);overflow-y:auto;overflow-x:hidden;}
header.site .nav-drawer nav.main .has-sub.sub-open > ul.sub {display:block;}
header.site .nav-drawer nav.main .has-sub > ul.sub > li {width:100%;min-width:0;}
header.site .nav-drawer nav.main .has-sub > ul.sub a {white-space:normal;overflow-wrap:anywhere;}
@media(max-width:960px){header.site .nav-drawer nav.main .has-sub > ul.sub{width:100%;max-width:100%;max-height:none;left:auto;right:auto;overflow:visible;}}

/* menu-narrow-20260910-140540: contain pre-existing KPI row at 320px. Revert .bak-menu-narrow-20260910-140540. */
@media(max-width:640px){.hub .proof-grid{grid-template-columns:minmax(0,1fr)}.hub .proof-grid>*{min-width:0}.hub .proof .kpis{gap:12px;flex-wrap:wrap}.hub .proof .kpi{min-width:0}}

/* menu-compact-20260910-232722: give the existing 300px form widget its full width on 320px screens. Revert .bak-menu-compact-20260910-232722. */
@media(max-width:360px){.hub .hero-grid{padding-left:10px;padding-right:10px}.hub .hero .citycheck{padding:24px 0;border:0;box-shadow:none;background:transparent}}
