/** PremierOne Dental Plan Location-First Page | Version 2.3 | Vanilla HTML/JavaScript */

:root { --ink:#15313b; --muted:#63747a; --teal:#087f8c; --teal-dark:#075c66; --mint:#dff5ec; --lime:#b9df67; --cream:#f7f5ed; --line:#d9e4e2; --white:#fff; --shadow:0 5px 16px rgba(19,49,59,.11); --shadow-tight:0 3px 9px rgba(19,49,59,.1); }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
.wide-shell { width:min(1400px,calc(100% - 72px)); margin:0 auto; }
.content-shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.eyebrow { margin:0 0 14px; color:var(--teal); font-size:12px; font-weight:900; letter-spacing:2px; text-transform:uppercase; }
.site-header { position:sticky; z-index:1000; top:0; background:rgba(255,255,255,.97); border-bottom:1px solid rgba(21,49,59,.1); backdrop-filter:blur(12px); }
.header-inner { position:relative; min-height:104px; display:flex; align-items:center; gap:44px; }.logo-link { margin-right:auto; }
.premier-logo { display:inline-flex; align-items:center; }.premier-logo svg { display:block; width:290px; height:auto; overflow:visible; }.logo-premier,.logo-ne { fill:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:41px; font-weight:400; letter-spacing:2.1px; }.logo-one-ring { fill:none; stroke:var(--teal); stroke-width:3.5; }.logo-tagline { fill:var(--teal); font-family:Arial,Helvetica,sans-serif; font-size:11.5px; font-weight:800; letter-spacing:2.35px; }.logo-swoosh { fill:var(--teal); }
.brand-logo-image { display:block; max-width:290px; max-height:76px; object-fit:contain; }.brand-wordmark { display:inline-block; max-width:320px; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:27px; font-weight:600; line-height:1.1; }.footer-logo-image { max-width:250px; max-height:70px; }.footer-brand-wordmark { font-size:24px; }
.desktop-nav { display:flex; gap:35px; color:#29434c; font-size:14px; font-weight:700; }.desktop-nav a:hover,.member-link:hover { color:var(--teal); }.member-link { padding-left:26px; border-left:1px solid var(--line); color:var(--teal); font-weight:800; font-size:14px; }.nav-trigger,.responsive-nav { display:none; }
.location-hero { overflow:hidden; background:linear-gradient(112deg,#fbfaf5 0%,#f6f5ed 43%,#eef8f3 100%); }
.location-hero-grid { min-height:760px; display:grid; grid-template-columns:42% 58%; align-items:stretch; }
.hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:72px 58px 72px 0; }.hero-copy h1 { max-width:610px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(50px,4.7vw,73px); font-weight:500; line-height:1.03; letter-spacing:-2.6px; }.hero-copy>p:not(.eyebrow) { max-width:555px; margin:25px 0 30px; color:#4f6168; font-size:18px; line-height:1.65; }
.primary-button,.view-plans-button,.choose-plan-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:8px; background:linear-gradient(135deg,var(--teal),#0a9699); color:#fff; padding:0 24px; font-weight:800; cursor:pointer; box-shadow:0 3px 8px rgba(8,127,140,.18); transition:background .16s ease-out; }.primary-button:hover,.view-plans-button:hover,.choose-plan-button:hover { background:var(--teal-dark); }.underlined-link { margin-top:24px; color:var(--teal); font-weight:800; border-bottom:2px solid currentColor; padding-bottom:4px; }
.map-experience { position:relative; min-width:0; min-height:760px; overflow:hidden; }.location-map { position:absolute; inset:0; z-index:1; background:#dceee7; }.tinted-map .leaflet-tile-pane { filter:saturate(.9) brightness(1.04) contrast(1.04); }.map-experience:after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:rgba(218,244,235,.035); }
.location-chooser { position:absolute; z-index:500; top:22px; left:50%; width:min(760px,calc(100% - 48px)); max-height:590px; overflow:auto; transform:translateX(-50%); padding:23px; border:1px solid rgba(21,49,59,.1); border-radius:20px; background:rgba(255,255,255,.98); box-shadow:0 6px 18px rgba(21,49,59,.13); transition:width .18s ease,padding .18s ease; }.location-chooser.is-collapsed { width:min(690px,calc(100% - 48px)); padding:16px 18px; }.chooser-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:15px; }.chooser-heading .eyebrow { margin:0; }.chooser-heading h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:500; line-height:1.12; }
.hero-search { display:grid; grid-template-columns:1fr auto; gap:10px; }.hero-search input { width:100%; height:49px; padding:0 15px; border:1px solid #cbd9d6; border-radius:8px; color:var(--ink); outline:none; }.hero-search input:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(8,127,140,.11); }.hero-search button { min-width:150px; border:0; border-radius:8px; background:var(--teal); color:#fff; font-weight:800; cursor:pointer; box-shadow:0 2px 6px rgba(8,127,140,.14); }.search-tools { min-height:37px; display:flex; align-items:center; gap:14px; color:var(--muted); font-size:11px; }.search-tools button { border:0; padding:0; background:none; color:var(--teal); font-weight:800; text-decoration:underline; cursor:pointer; }.search-tools span { margin-left:auto; }.inline-error { margin:4px 0 9px; color:#a43a35; font-size:12px; }
.office-results { overflow:hidden; border:1px solid var(--line); border-radius:11px; }.office-row { width:100%; display:grid; grid-template-columns:42px 1fr auto; gap:13px; align-items:center; padding:14px 16px; border:0; border-bottom:1px solid var(--line); background:#fff; text-align:left; cursor:pointer; }.office-row:last-child { border-bottom:0; }.office-row:hover { background:#eef9f5; }.office-marker { width:34px; height:34px; display:grid; place-items:center; border-radius:50% 50% 50% 8px; background:var(--teal); transform:rotate(-45deg); }.office-marker span { width:8px; height:8px; border-radius:50%; background:#fff; }.office-copy { min-width:0; display:flex; flex-direction:column; gap:2px; color:#67787e; font-size:11px; line-height:1.25; }.office-copy strong { overflow:hidden; color:var(--ink); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }.office-copy small { margin-top:2px; color:var(--teal); font-weight:700; }.row-action { color:var(--teal); font-size:11px; font-weight:800; text-decoration:underline; }.empty-state { display:flex; flex-direction:column; gap:5px; padding:28px; color:var(--muted); font-size:12px; }.empty-state strong { color:var(--ink); }.plan-load-status { display:flex; align-items:center; gap:8px; margin:0; color:var(--muted); font-size:11px; }.loading-dot { width:9px; height:9px; border:2px solid var(--teal); border-right-color:transparent; border-radius:50%; animation:spin .7s linear infinite; }@keyframes spin { to{transform:rotate(360deg)} }
.selected-finder { display:grid; grid-template-columns:44px minmax(180px,1fr) auto auto; gap:13px; align-items:center; }.selected-finder-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--mint); color:var(--teal); }.selected-finder-icon svg { width:22px; height:22px; }.selected-finder-copy { min-width:0; display:flex; flex-direction:column; gap:2px; }.selected-finder-copy small { color:var(--teal); font-size:9px; font-weight:900; letter-spacing:1.1px; text-transform:uppercase; }.selected-finder-copy strong { overflow:hidden; color:var(--ink); font-size:14px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.selected-finder-copy>span { color:var(--muted); font-size:11px; }.change-office-button { min-height:39px; padding:0 14px; border:1px solid var(--teal); border-radius:7px; background:#fff; color:var(--teal); font-weight:800; cursor:pointer; }.selected-finder .view-plans-button { width:auto; min-height:39px; margin:0; padding:0 16px; font-size:11px; box-shadow:none; }
.leaflet-container { font-family:Arial,Helvetica,sans-serif; }.leaflet-control-attribution { font-size:9px; }.leaflet-popup-content-wrapper { border-radius:10px; box-shadow:0 4px 12px rgba(21,49,59,.16); }.plan-map-marker-wrap { background:transparent;border:0; }.plan-map-marker { position:relative; width:35px; height:35px; display:block; border:4px solid #fff; border-radius:50% 50% 50% 8px; background:var(--teal); box-shadow:0 3px 8px rgba(15,72,80,.25); transform:rotate(-45deg); }.plan-map-marker span { position:absolute; width:9px; height:9px; top:9px; left:9px; border-radius:50%; background:#fff; }.plan-map-marker.is-selected { background:#a6cf4b; transform:rotate(-45deg) scale(1.15); }
.custom-cluster-wrap { background:transparent; border:0; }.custom-cluster { width:42px; height:42px; display:grid; place-items:center; border:4px solid rgba(255,255,255,.9); border-radius:50%; background:var(--teal); color:#fff; font-size:11px; font-weight:900; box-shadow:0 3px 9px rgba(21,49,59,.2); }
.benefit-strip { position:relative; z-index:5; padding:28px 0; background:#fff; }.benefit-strip-grid { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border-radius:16px; background:linear-gradient(100deg,#edf9f5,#f6fbf5); }.benefit-strip article { display:flex; align-items:center; gap:18px; padding:26px 35px; border-right:1px solid #cfe2dd; }.benefit-strip article:last-child { border:0; }.line-icon { width:54px; height:54px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--teal); border-radius:50%; color:var(--teal); }.line-icon svg { width:28px; height:28px; stroke-width:1.6; }.benefit-strip h2 { margin:0 0 5px; font-size:16px; }.benefit-strip p { margin:0; color:var(--muted); font-size:12px; line-height:1.4; }
.plans-section { padding:82px 0; background:#fff; }.locked-plans { max-width:760px; margin:0 auto; padding:50px; border:1px solid var(--line); border-radius:18px; background:var(--cream); text-align:center; box-shadow:var(--shadow-tight); }.locked-plans h2,.section-title h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:44px; font-weight:500; line-height:1.1; }.locked-plans>p:not(.eyebrow),.section-title>p:not(.eyebrow) { margin:12px auto 22px; color:var(--muted); line-height:1.55; }.centered-title { max-width:790px; margin:0 auto 36px; text-align:center; }.selected-office-pill { width:max-content; max-width:100%; display:flex; align-items:center; gap:9px; margin:17px auto 12px; padding:9px 15px; border-radius:40px; background:var(--mint); color:var(--teal-dark); font-size:12px; font-weight:500; }.selected-office-pin { width:17px; height:17px; display:grid; place-items:center; }.selected-office-pin svg { width:17px; height:17px; }.selected-office-pill button { border:0; padding:0 0 0 7px; background:none; color:var(--teal-dark); font-size:11px; font-weight:800; text-decoration:underline; cursor:pointer; }.billing-toggle { width:max-content; display:flex; margin:0 auto; padding:3px; border:1px solid var(--line); border-radius:9px; background:#f6f8f7; }.billing-toggle button { min-width:86px; min-height:32px; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; }.billing-toggle button.active { background:#fff; color:var(--teal); box-shadow:0 2px 5px rgba(21,49,59,.09); }.demo-label { display:block; margin-top:10px; color:#879398; font-size:10px; }
.plan-grid { display:grid; gap:18px; align-items:stretch; justify-content:center; }.plan-grid.plan-count-1{grid-template-columns:minmax(280px,380px)}.plan-grid.plan-count-2{grid-template-columns:repeat(2,minmax(280px,390px))}.plan-grid.plan-count-3,.plan-grid.plan-count-5,.plan-grid.plan-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-grid.plan-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-card { position:relative; min-width:0; display:flex; flex-direction:column; padding:27px 22px 24px; border:1px solid var(--line); border-radius:14px; background:#fff; text-align:center; box-shadow:0 4px 12px rgba(21,49,59,.085); }.plan-card.recommended { border:1.5px solid var(--teal); }.popular-badge { position:absolute; top:-12px; left:50%; width:max-content; padding:6px 12px; border-radius:24px; background:var(--teal); color:#fff; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.7px; transform:translateX(-50%); }.plan-card h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:500; }.plan-audience { min-height:17px; margin:5px 0 0; color:var(--muted); font-size:11px; }.price-line { display:flex; align-items:flex-start; justify-content:center; margin:17px 0 0; white-space:nowrap; }.currency { margin:5px 3px 0 0; font-family:Georgia,serif; font-size:19px; font-weight:700; line-height:1; }.price-line strong { font-family:Georgia,serif; font-size:53px; font-weight:500; letter-spacing:-2px; line-height:.92; }.price-suffix { align-self:flex-end; margin:0 0 5px 6px; color:var(--muted); font-size:11px; }.savings-text { margin:7px 0 0; color:var(--teal); font-size:10px; font-weight:800; }.plan-card ul { flex:1; display:grid; gap:9px; margin:20px 0; padding:17px 0 0; border-top:1px solid var(--line); list-style:none; color:#52666d; font-size:12px; text-align:left; }.plan-card li { position:relative; min-height:20px; padding-left:28px; line-height:1.5; }.plan-card li:before { content:""; position:absolute; top:0; left:0; width:19px; height:19px; border:1.5px solid var(--teal); border-radius:50%; }.plan-card li:after { content:""; position:absolute; top:5px; left:5px; width:7px; height:4px; border-left:2px solid var(--teal); border-bottom:2px solid var(--teal); transform:rotate(-45deg); }.choose-plan-button { width:100%; min-height:42px; padding:0 14px; border-radius:6px; font-size:11px; box-shadow:none; }
.plan-image { width:100%; height:130px; margin:0 0 18px; border-radius:9px; object-fit:cover; }.plan-description { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }.plan-terms-link { display:inline-block; margin:0 0 12px; color:var(--teal-dark); font-size:10px; font-weight:700; text-decoration:underline; }.monthly-equivalent { margin:5px 0 0; color:var(--muted); font-size:10px; font-weight:400; }
.plan-debug-harness { margin:0 auto 38px; padding:25px; border:1px solid #b9d3cf; border-radius:15px; background:#f4faf8; box-shadow:var(--shadow-tight); }.debug-harness-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; margin-bottom:22px; }.debug-harness-heading .eyebrow { margin-bottom:7px; }.debug-harness-heading h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:29px; font-weight:500; }.debug-harness-heading p:not(.eyebrow) { max-width:720px; margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.debug-harness-heading>span { flex:0 0 auto; padding:6px 10px; border-radius:20px; background:var(--mint); color:var(--teal-dark); font-size:10px; font-weight:800; }.debug-url-form,.debug-json-form { display:grid; gap:8px; }.debug-json-form { margin-top:20px; }.debug-url-form label,.debug-json-form label { color:var(--ink); font-size:11px; font-weight:800; }.debug-url-form>div { display:grid; grid-template-columns:1fr auto; gap:9px; }.debug-url-form input,.debug-json-form textarea { width:100%; border:1px solid #bfd2cf; border-radius:7px; background:#fff; color:var(--ink); outline:none; }.debug-url-form input { height:43px; padding:0 12px; }.debug-json-form textarea { min-height:190px; resize:vertical; padding:12px; font:12px/1.5 Consolas,"Courier New",monospace; tab-size:2; }.debug-url-form input:focus,.debug-json-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(8,127,140,.1); }.debug-url-form button,.debug-actions button { min-height:40px; padding:0 16px; border:1px solid #afc7c3; border-radius:7px; background:#fff; color:var(--teal-dark); font-size:11px; font-weight:800; cursor:pointer; }.debug-url-form button,.debug-actions .debug-primary { border-color:var(--teal); background:var(--teal); color:#fff; }.debug-url-form button:disabled,.debug-actions button:disabled { opacity:.6; cursor:wait; }.debug-url-form small { color:var(--muted); font-size:10px; line-height:1.4; }.debug-actions { display:flex; flex-wrap:wrap; gap:8px; }.debug-message { margin:16px 0 0; padding:11px 13px; border-radius:7px; background:#e2f4ed; color:var(--teal-dark); font-size:11px; line-height:1.45; }.debug-message.is-error { background:#fff0ee; color:#963c36; }.debug-data-pill { padding-left:15px; }
.plan-billing-options { display:flex; justify-content:center; gap:4px; margin:16px auto 0; padding:3px; border:1px solid var(--line); border-radius:8px; background:#f6f8f7; }.plan-billing-options button { min-height:30px; padding:0 12px; border:0; border-radius:5px; background:transparent; color:var(--muted); font-size:10px; font-weight:800; cursor:pointer; }.plan-billing-options button.active { background:#fff; color:var(--teal-dark); box-shadow:0 2px 5px rgba(21,49,59,.08); }.member-count-control { width:max-content; display:flex; align-items:center; gap:8px; margin:12px auto 0; color:var(--muted); font-size:10px; font-weight:800; }.member-count-control select { height:30px; padding:0 24px 0 9px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }.payment-summary { margin:7px 0 0; color:var(--teal-dark); font-size:10px; font-weight:800; }.plan-fee { margin:4px 0 0; color:var(--muted); font-size:9px; }
.savings-section { padding:82px 0; background:linear-gradient(120deg,#faf9f4,#f2f7f3); }.savings-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.savings-grid>article { padding:27px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 4px 12px rgba(21,49,59,.07); }.card-index { color:var(--teal); font-size:9px; font-weight:900; letter-spacing:1.3px; text-transform:uppercase; }.value-card-heading { display:flex; align-items:flex-start; gap:15px; }.value-card-icon { width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:var(--mint); color:var(--teal); }.value-card-icon svg { width:27px; height:27px; }.value-card-heading h3 { margin:5px 0 4px; font-family:Georgia,serif; font-size:24px; font-weight:500; }.value-card-heading p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }.included-service-grid,.discount-highlight-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:23px; }.included-service-grid>div,.discount-highlight-grid>div { min-width:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:7px; padding:7px 10px; border-right:1px solid var(--line); text-align:center; }.included-service-grid>div:last-child,.discount-highlight-grid>div:last-child { border-right:0; }.included-service-icon { width:30px; height:30px; display:grid; place-items:center; color:var(--teal); }.included-service-icon svg { width:27px; height:27px; }.included-service-grid strong { font-size:10px; line-height:1.3; }.discount-highlight-grid strong { color:var(--teal); font-family:Georgia,serif; font-size:25px; font-weight:500; }.discount-highlight-grid span { color:#52666d; font-size:10px; }.data-dependent-note { margin:22px 0 0; padding:14px; border-radius:8px; background:#f6faf8; color:var(--muted); font-size:11px; line-height:1.45; }
.how-section { padding:82px 0; background:#fff; }.steps-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:70px; }.steps-grid:before { content:""; position:absolute; top:37px; left:17%; right:17%; height:1px; background:#cbdad7; }.steps-grid article { position:relative; text-align:center; }.step-icon { position:relative; z-index:2; width:74px; height:74px; display:grid; place-items:center; margin:0 auto 16px; border:1px solid var(--teal); border-radius:50%; background:#fff; color:var(--ink); }.step-icon svg { width:36px; height:36px; }.step-heading { display:flex; align-items:center; justify-content:center; gap:10px; }.step-heading b { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:var(--teal); color:#fff; font-size:12px; }.steps-grid h3 { margin:0; font-size:17px; }.steps-grid p { max-width:285px; margin:9px auto 0; color:var(--muted); font-size:12px; line-height:1.5; }
.faq-section { padding:82px 0; background:linear-gradient(115deg,#faf8ee,#edf8f2); }.faq-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:55px; align-items:center; }.faq-layout .section-title h2 { font-size:40px; }.accordion { display:grid; gap:7px; margin-top:25px; }.accordion article { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:0 2px 6px rgba(21,49,59,.045); }.accordion button { width:100%; display:flex; justify-content:space-between; gap:20px; padding:16px 18px; border:0; background:#fff; text-align:left; font-weight:800; cursor:pointer; }.accordion button b { color:var(--teal); font-size:18px; }.accordion article p { margin:0; padding:0 18px 17px; color:var(--muted); font-size:12px; line-height:1.55; }.membership-visual { position:relative; min-height:330px; display:grid; place-items:center; overflow:visible; border:0; border-radius:0; background:transparent; }.member-orb { position:absolute; border-radius:50%; }.member-orb-one { width:260px; height:260px; top:16px; right:45px; background:rgba(206,244,235,.55); }.member-orb-two { width:170px; height:170px; left:28px; bottom:8px; border:35px solid rgba(185,223,103,.25); }.smile-card { position:relative; z-index:2; width:min(335px,75%); min-height:215px; padding:26px; border-radius:20px; background:linear-gradient(145deg,#4b8791,#2d6975); color:#fff; box-shadow:0 6px 16px rgba(21,69,77,.16); transform:rotate(-3deg); }.card-topline { display:flex; justify-content:space-between; gap:15px; font-size:10px; text-transform:uppercase; letter-spacing:.9px; }.card-topline b { color:#d9f898; }.smile-mark { width:48px; height:48px; margin:30px 0 20px; border:8px solid rgba(255,255,255,.9); border-top-color:transparent; border-radius:50%; transform:rotate(-3deg); }.smile-mark span { display:block; width:10px; height:10px; border-radius:50%; background:var(--lime); transform:translate(30px,-6px); }.smile-card p { margin:0 0 3px; color:#d0e8e6; font-size:11px; }.smile-card strong { display:block; font-size:25px; }.smile-card small { color:#e0efed; font-size:10px; }.floating-stat { position:absolute; z-index:3; min-width:118px; padding:13px 17px; border-radius:12px; background:#fff; box-shadow:0 4px 12px rgba(21,49,59,.1); }.floating-stat b,.floating-stat span { display:block; }.floating-stat b { color:#4b8791; font-size:17px; }.floating-stat span { margin-top:3px; color:var(--muted); font-size:9px; }.stat-one { left:18px; top:54px; }.stat-two { right:16px; bottom:32px; }
.closing-cta { padding:60px 0; background:#063d4b; color:#fff; }.closing-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }.closing-cta .eyebrow { color:var(--lime); }.closing-cta h2 { margin:0; font-family:Georgia,serif; font-size:38px; font-weight:500; }.closing-cta p:not(.eyebrow) { margin:9px 0 0; color:#c9dde0; }.lime-button { min-width:260px; min-height:52px; border:0; border-radius:9px; background:var(--lime); color:#183422; font-weight:900; cursor:pointer; }.lime-button:hover { background:#c8eb79; }
footer { padding:42px 0; background:#fff; }.footer-inner { display:grid; grid-template-columns:auto 1fr; gap:30px 70px; align-items:center; }.footer-logo svg { width:250px; }.footer-links { justify-self:end; display:flex; flex-wrap:wrap; gap:28px; color:#40555d; font-size:12px; font-weight:700; }.footer-inner>p { grid-column:1/-1; margin:0; padding-top:20px; border-top:1px solid var(--line); color:#75858a; font-size:11px; text-align:center; }
@media (max-width:1180px) { .wide-shell{width:min(100% - 40px,1400px)}.desktop-nav,.member-link{display:none}.nav-trigger{height:42px;display:inline-flex;align-items:center;gap:9px;padding:0 14px;border:1px solid #c9d9d6;border-radius:24px;background:#fff;color:var(--ink);font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 2px 7px rgba(21,49,59,.07)}.nav-trigger svg{width:17px;height:17px;fill:var(--teal)}.nav-trigger[aria-expanded="true"]{border-color:var(--teal);background:#eef9f5;color:var(--teal-dark)}.responsive-nav{position:absolute;top:calc(100% - 10px);right:0;width:290px;display:grid;visibility:hidden;opacity:0;transform:translateY(-5px);padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(21,49,59,.13);transition:opacity .15s ease,transform .15s ease,visibility .15s}.responsive-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.responsive-nav a{padding:12px 14px;border-radius:8px;color:#29434c;font-size:13px;font-weight:750}.responsive-nav a:hover,.responsive-nav a:focus{background:#eef9f5;color:var(--teal-dark)}.responsive-member-link{margin-top:3px;border-top:1px solid var(--line);color:var(--teal)!important}.location-hero-grid{grid-template-columns:40% 60%}.hero-copy{padding-right:32px}.hero-copy h1{font-size:52px}.location-chooser{width:calc(100% - 32px)}.location-chooser.is-collapsed{width:calc(100% - 32px)}.benefit-strip article{padding:25px 22px}.plan-card{padding:25px}.included-service-grid,.discount-highlight-grid{grid-template-columns:repeat(2,1fr);row-gap:16px}.included-service-grid>div:nth-child(2),.discount-highlight-grid>div:nth-child(2){border-right:0} }
@media (max-width:900px) { .location-hero-grid{display:block}.hero-copy{min-height:490px;padding:72px 40px;text-align:center;align-items:center}.hero-copy>p:not(.eyebrow){font-size:16px}.map-experience{min-height:680px}.location-chooser,.location-chooser.is-collapsed{width:min(720px,calc(100% - 36px))}.benefit-strip-grid{grid-template-columns:1fr}.benefit-strip article{border-right:0;border-bottom:1px solid #cfe2dd}.benefit-strip article:last-child{border:0}.plan-grid{grid-template-columns:1fr;gap:28px}.plan-card{max-width:620px;width:100%;margin:auto;padding:30px}.savings-grid,.faq-layout{grid-template-columns:1fr}.steps-grid{gap:28px}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-links{justify-self:center}.footer-logo{margin:auto}.closing-inner{display:block;text-align:center}.lime-button{margin-top:28px}.locked-plans{padding:40px 24px}.membership-visual{max-width:620px;width:100%;margin:auto} }
@media (max-width:650px) { .wide-shell,.content-shell{width:min(100% - 26px,1400px)}.header-inner{min-height:78px;gap:12px}.premier-logo svg{width:225px}.nav-trigger{width:42px;padding:0;justify-content:center}.nav-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.responsive-nav{top:calc(100% - 3px);right:0;width:min(320px,calc(100vw - 26px))}.hero-copy{min-height:430px;padding:58px 14px}.hero-copy h1{font-size:45px;letter-spacing:-1.8px}.map-experience{min-height:700px}.location-chooser,.location-chooser.is-collapsed{top:13px;width:calc(100% - 22px);padding:17px;border-radius:15px}.chooser-heading{display:block;margin-bottom:14px}.chooser-heading .eyebrow{margin-bottom:8px}.chooser-heading h2{font-size:25px}.hero-search{grid-template-columns:1fr}.hero-search button{height:45px}.selected-finder{grid-template-columns:40px minmax(0,1fr);gap:10px}.selected-finder .plan-load-status,.selected-finder .change-office-button,.selected-finder .view-plans-button{grid-column:1/-1}.selected-finder .change-office-button,.selected-finder .view-plans-button{width:100%}.office-row{grid-template-columns:35px minmax(0,1fr) auto;padding:13px 12px}.office-copy strong{white-space:normal}.benefit-strip article{padding:20px}.line-icon{width:46px;height:46px}.line-icon svg{width:24px;height:24px}.section-title h2,.locked-plans h2{font-size:35px}.plans-section,.savings-section,.how-section,.faq-section{padding:68px 0}.steps-grid{grid-template-columns:1fr;gap:32px}.steps-grid:before{display:none}.plan-card{padding:25px}.included-service-grid,.discount-highlight-grid{grid-template-columns:repeat(2,1fr)}.closing-cta h2{font-size:32px}.lime-button{min-width:0;width:100%}.footer-links{justify-content:center;gap:16px}.footer-logo svg{width:235px}.membership-visual{min-height:320px}.smile-card{width:76%;min-height:205px;padding:22px}.floating-stat{min-width:102px;padding:11px 13px}.stat-one{left:8px}.stat-two{right:8px} }
@media (max-width:390px) { .premier-logo svg{width:205px}.hero-copy h1{font-size:40px}.map-experience{min-height:735px}.search-tools{flex-wrap:wrap}.search-tools span{width:100%;margin-left:0}.office-row{grid-template-columns:31px minmax(0,1fr)}.office-marker{width:30px;height:30px}.row-action{grid-column:2}.included-service-grid,.discount-highlight-grid{grid-template-columns:1fr}.included-service-grid>div,.discount-highlight-grid>div,.included-service-grid>div:nth-child(2),.discount-highlight-grid>div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.included-service-grid>div:last-child,.discount-highlight-grid>div:last-child{border-bottom:0} }
@media (min-width:651px) and (max-width:1180px) { .plan-grid.plan-count-1{grid-template-columns:minmax(280px,420px)}.plan-grid.plan-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-grid.plan-count-3,.plan-grid.plan-count-4,.plan-grid.plan-count-5,.plan-grid.plan-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card{max-width:none;margin:0;padding:26px 20px 23px} }
@media (max-width:650px) { .plan-grid.plan-count-1,.plan-grid.plan-count-2,.plan-grid.plan-count-3,.plan-grid.plan-count-4,.plan-grid.plan-count-5,.plan-grid.plan-count-6{grid-template-columns:1fr} }
@media (max-width:650px) { .plan-debug-harness{padding:19px}.debug-harness-heading{display:block}.debug-harness-heading>span{display:inline-block;margin-top:12px}.debug-url-form>div{grid-template-columns:1fr}.debug-url-form button{min-height:43px}.debug-actions{display:grid}.debug-actions button{width:100%} }

/* v2.2.1: Preserve the preferred bold headings without relying on browser defaults. */
.benefit-strip h2,.steps-grid h3 { font-weight:700; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important} }

/* v2.1 map, search, pricing, and process refinements */
.map-experience { margin-right:calc((100vw - min(1400px, calc(100vw - 72px))) / -2); }
.location-map { background:#e8efec; }
.tinted-map .leaflet-tile-pane { filter:saturate(.82) brightness(1.035) contrast(1.055); }
.map-experience:after { background:rgba(214,241,232,.025); }
.hero-search button:disabled,.search-tools button:disabled { opacity:.58; cursor:wait; }
.search-message { margin:-2px 0 10px; color:var(--teal-dark); font-size:10px; line-height:1.35; }
.office-results { max-height:155px; overflow-x:hidden; overflow-y:auto; scrollbar-color:#9ebfba #edf4f2; scrollbar-width:thin; }
.office-row { min-height:76px; padding:12px 16px; }
.plan-card li:after { content:"\2713"; top:0; left:0; width:20px; height:20px; display:grid; place-items:center; border:0; color:var(--teal); font-size:10px; font-weight:700; line-height:1; transform:none; }
.payment-summary { font-weight:400; }
.bulk-savings-summary { margin:6px 0 0; color:var(--teal); font-size:10px; font-weight:700; }
.steps-grid { --step-gap:70px; gap:var(--step-gap); }
.steps-grid:before { display:none; }
.steps-grid article:not(:last-child):after { content:""; position:absolute; z-index:1; top:37px; left:calc(50% + 58px); width:calc(100% + var(--step-gap) - 116px); height:1px; background:#cbdad7; }
.step-icon svg { stroke-width:1.35; }
@media (max-width:1180px) and (min-width:901px) { .map-experience { margin-right:-20px; } .steps-grid { --step-gap:28px; } }
@media (max-width:900px) { .map-experience { margin-right:calc((100vw - min(100% - 40px, 1400px)) / -2); } .steps-grid { --step-gap:28px; } }
@media (max-width:650px) { .map-experience { margin-right:-13px; margin-left:-13px; } .steps-grid article:after { display:none; } }

/* v2.2.2: Match the smaller React plan-benefit checkmarks. */
.plan-card li { min-height:17px; padding-left:24px; }
.plan-card li:before { width:16px; height:16px; }
.plan-card li:after { width:17px; height:17px; font-size:9px; }

.member-link, .responsive-member-link {display:none;}
