/* ============================================================
   GoldenKey Free Zones — Design System v2
   Matched to goldenkeybcs.com: Navy × Gold × White
   Poppins body · Montserrat display
   Designed & Developed by Sahil Zaini / Zaini Developers
   ============================================================ */
:root{
  --navy:#0e2140; --navy2:#122a4e; --navy3:#1a3866;
  --gold:#c9a227; --gold2:#e6c25a; --gold3:#b8942a;
  --ink:#122036; --ink2:#33415c; --mut:#5b6b84;
  --line:#e6e9f0; --soft:#f7f8fb; --cream:#fdf8e9; --cream2:#fbf3d9;
  --bg:#ffffff; --panel:#ffffff; --panel2:var(--soft);
  --ok:#1e9e63; --bad:#c0503f;
  --shadow:0 8px 26px rgba(14,21,36,.06); --shadow2:0 18px 44px rgba(14,33,64,.12);
  --grad-gold:linear-gradient(120deg,var(--gold),var(--gold2));
  --ff-d:'Marcellus','Cormorant Garamond',serif; --ff-b:'Jost','Poppins',system-ui,'Segoe UI',Arial,sans-serif;
  --r:16px;
}
html[data-theme="dark"]{
  --bg:#0b1526; --panel:#101d33; --panel2:#152541; --soft:#152541;
  --ink:#eef2f9; --ink2:#c3cfe2; --mut:#8fa2c0; --line:#22355a;
  --cream:#1b2a49; --cream2:#16233d;
  --shadow:0 8px 26px rgba(0,0,0,.35); --shadow2:0 18px 44px rgba(0,0,0,.5);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
/* body styling handled by real site style.css; fz.css only adds freezones component styles */
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none;transition:color .2s}a:hover{color:var(--gold3)}
html[data-theme="dark"] a{color:var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3,.serif{font-family:var(--ff-d);letter-spacing:-.01em;color:var(--navy);line-height:1.2}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:#fff}
h1{font-size:clamp(28px,4.4vw,44px);font-weight:800}
h2{font-size:clamp(22px,3vw,30px);font-weight:800}
h3{font-size:18.5px;font-weight:700}
.kicker{color:var(--gold3);font-size:12.5px;letter-spacing:.32em;font-weight:600;text-transform:uppercase;margin-bottom:14px;display:block}
.hero .kicker,.on-navy .kicker{color:var(--gold2)}
.gold-t{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
p.deck{color:var(--ink2);max-width:62ch;font-weight:300;font-size:17px}

/* ---------- Top header (matches gk-top) ---------- */
.gk-top{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.gk-top .nav{display:flex;align-items:center;gap:22px;height:64px}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--ff-d);font-weight:800;font-size:20px;color:var(--navy)}
html[data-theme="dark"] .brand{color:#fff}
.brand b{color:var(--gold)}
.brand small{font-size:10px;letter-spacing:.26em;color:var(--mut);font-weight:600;margin-left:2px;align-self:flex-end;padding-bottom:3px}
.gk-top nav{display:flex;gap:18px;margin-left:auto;font-size:14.5px;font-weight:500;align-items:center}
.gk-top nav a{color:var(--ink)}
html[data-theme="dark"] .gk-top nav a{color:var(--ink2)}
.gk-top nav a:hover,.gk-top nav a.on{color:var(--gold3)}
.gk-top .cta{background:var(--grad-gold);color:#1a1400!important;padding:9px 16px;border-radius:10px;font-weight:600}
.tel{font-weight:600;font-size:14px;white-space:nowrap}
.theme-btn{border:1px solid var(--line);background:transparent;color:var(--gold3);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:15px;display:grid;place-items:center}
.burger{display:none;border:1px solid var(--line);background:none;color:var(--ink);width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:18px}
html[data-theme="dark"] .burger{color:#fff}
/* sub-nav strip for the freezones section */
.fz-sub{background:var(--navy);border-bottom:2px solid var(--gold)}
.fz-sub .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.fz-sub .wrap::-webkit-scrollbar{display:none}
.fz-sub a{color:#c7d2e4;font-size:13.5px;font-weight:500;padding:11px 13px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px}
.fz-sub a:hover{color:#fff}
.fz-sub a.on{color:var(--gold2);border-color:var(--gold2)}
@media(max-width:920px){
  .gk-top nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;background:var(--bg);padding:16px 20px 22px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:.35s;align-items:stretch;box-shadow:var(--shadow2)}
  .gk-top nav.open{transform:none}
  .gk-top nav a{padding:11px 6px}
  .burger{display:grid;place-items:center;margin-left:auto}
  .tel{display:none}
}

/* ---------- Buttons — EXACT match to real design-system (.btn/.btn-gold/.btn-line/.btn-navy) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:100px;padding:13px 26px;font-weight:600;font-size:.95rem;letter-spacing:.3px;cursor:pointer;border:none;position:relative;overflow:hidden;transition:.3s;white-space:nowrap;font-family:'Jost','Poppins',sans-serif;text-decoration:none}
.btn.gold,.btn.btn-gold{background:linear-gradient(120deg,var(--gold),var(--gold2));color:#211a04;box-shadow:0 10px 26px -10px rgba(201,162,39,.65)}
.btn.gold::before,.btn.btn-gold::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .5s ease}
.btn.gold:hover::before,.btn.btn-gold:hover::before{left:130%}
.btn.gold:hover,.btn.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(201,162,39,.7)}
.btn.navy,.btn.btn-navy{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 10px 24px -12px rgba(14,33,64,.6)}
.btn.navy:hover,.btn.btn-navy:hover{transform:translateY(-2px)}
.btn.line,.btn.btn-line,.btn.ghost{background:transparent;color:var(--ink);border:1.6px solid var(--gold);box-shadow:none}
.on-navy .btn.line,.on-navy .btn.ghost,.hero .btn.line,.hero .btn.ghost,.cta-band .btn.line,.cta-band .btn.ghost,.calc-out .btn.line,.calc-out .btn.ghost,.zone-head-band .btn.line,.zone-head-band .btn.ghost{color:#fff;border-color:var(--gold2)}
.btn.line:hover,.btn.btn-line:hover,.btn.ghost:hover{background:var(--gold);color:#211a04;transform:translateY(-2px)}
.btn.white,.btn.btn-white{background:#fff;color:var(--ink);box-shadow:0 8px 20px -10px rgba(14,33,64,.4)}
.btn.wa{background:linear-gradient(120deg,var(--gold),var(--gold2));color:#211a04;box-shadow:0 10px 26px -10px rgba(201,162,39,.65)}
.btn.wa::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .5s ease}
.btn.wa:hover::before{left:130%}
.btn.wa:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(201,162,39,.7)}
.btn.sm{padding:9px 18px;font-size:.84rem}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.gk-magnetic{will-change:transform}

/* ---------- Hero (matches navy hero + gold radial) ---------- */
.hero{background:radial-gradient(1000px 420px at 85% -10%,rgba(212,175,55,.16),transparent),linear-gradient(150deg,var(--navy),var(--navy2));color:#fff;padding:58px 0 74px;position:relative;overflow:hidden}
.hero h1{color:#fff;max-width:26ch}
.hero .deck{color:#ccd6e6}
.hero .gold-t{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr}}
.hero-panel{background:rgba(255,255,255,.06);border:1px solid rgba(245,197,66,.25);border-radius:18px;padding:24px;backdrop-filter:blur(8px)}
.hero-panel h3{color:#fff}
.hero-panel p{color:#ccd6e6;font-size:14px}
/* overlapping stat row (matches .statrow) */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:-30px auto 8px;position:relative;z-index:5}
.statrow>div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.statrow b{font-family:var(--ff-d);font-size:21px;color:var(--navy);display:block;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .statrow b{color:#fff}
.statrow span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}

/* ---------- Sections / cards ---------- */
section{padding:52px 0}
.sec-head{margin-bottom:30px;max-width:72ch}
.sec-head p{color:var(--ink2);margin-top:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:980px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:.28s;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow2);border-color:#ead9a6}
.card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(120deg,#fdf8e9,#fbf3d9);border:1px solid #ead9a6;color:var(--gold3);font-size:19px;margin-bottom:13px}
html[data-theme="dark"] .card .ic{background:var(--panel2);border-color:var(--line)}
.card h3{margin-bottom:7px}
.card p{color:var(--ink2);font-size:14px}

/* ---------- Key-facts callout (matches .key-facts) ---------- */
.key-facts{padding:18px 22px;border:1px solid #ead9a6;background:linear-gradient(120deg,var(--cream),var(--cream2));border-radius:16px;margin:16px 0}
.key-facts .kf-h{font-weight:600;color:#7a5c16;letter-spacing:.08em;font-size:13px;text-transform:uppercase;margin-bottom:8px}
html[data-theme="dark"] .key-facts .kf-h{color:var(--gold2)}
.key-facts b{color:#7a5c16}
html[data-theme="dark"] .key-facts b{color:var(--gold2)}
.key-facts p,.key-facts li{font-size:14.5px;color:var(--ink2)}
.key-facts ul{margin:0 0 4px 18px}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.b-gold{background:var(--grad-gold);color:#1a1400}
.b-line{border:1px solid #ead9a6;color:var(--gold3);background:var(--cream)}
html[data-theme="dark"] .b-line{background:transparent}
.b-green{background:#e7f6ee;color:var(--ok);border:1px solid #bfe6d1}
html[data-theme="dark"] .b-green{background:rgba(30,158,99,.15);border-color:rgba(30,158,99,.4)}
.b-navy{background:var(--navy);color:var(--gold2)}

/* ---------- Pricing tables (matches table.costs) ---------- */
.ptable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
table.ptable{width:100%;border-collapse:collapse;background:var(--panel)}
.ptable th{background:var(--navy);color:var(--gold2);text-align:left;padding:12px 16px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--ff-b);font-weight:600;white-space:nowrap}
.ptable td{padding:13px 16px;border-top:1px solid var(--line);font-size:15px;color:var(--ink2)}
.ptable tbody tr{transition:.2s}
.ptable tbody tr:hover{background:var(--soft)}
.ptable .price{font-variant-numeric:tabular-nums;font-weight:600;color:#7a5c16;white-space:nowrap}
html[data-theme="dark"] .ptable .price{color:var(--gold2)}
.ptable .strike{color:var(--mut);text-decoration:line-through;font-size:13px;margin-right:8px;font-weight:400}
.ptable tfoot td{font-weight:600;background:var(--cream);color:#5d4a12}
html[data-theme="dark"] .ptable tfoot td{color:var(--gold2)}

/* ---------- Zone pricing sections ---------- */
.zone-sec{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.zone-sec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad-gold)}
.zone-sec .zs-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.zone-sec .zs-head h2{margin-right:auto;font-size:22px}
.zone-sec>p{color:var(--ink2);font-size:14.5px}

/* ---------- Calculator ---------- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:860px){.calc{grid-template-columns:1fr}}
.calc-form{display:grid;gap:16px}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:7px}
.field select,.field input[type=number]{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:11px;padding:12px 14px;font-size:15px;font-family:var(--ff-b)}
.field select:focus,.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.seg{display:flex;background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:4px;gap:4px}
.seg button{flex:1;border:0;background:none;color:var(--mut);padding:10px;border-radius:8px;font-weight:600;font-size:13.5px;cursor:pointer;transition:.22s;font-family:var(--ff-b)}
.seg button.on{background:var(--grad-gold);color:#1a1400}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--gold3);font-size:18px;cursor:pointer;transition:.2s}
.stepper button:hover{border-color:var(--gold);background:var(--cream)}
.stepper .val{font-family:var(--ff-d);font-size:22px;min-width:40px;text-align:center;font-weight:800;color:var(--navy)}
html[data-theme="dark"] .stepper .val{color:#fff}
.calc-out{background:linear-gradient(150deg,var(--navy),var(--navy2));border-radius:16px;padding:24px;position:sticky;top:130px;color:#dce5f2;box-shadow:var(--shadow2)}
.calc-out .bd-row span:first-child{color:#aebcd6}
.bd-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:13.5px}
.bd-row .amt{font-weight:600;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums}
.bd-row.zero{opacity:.4}
.bd-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px}
.bd-total .t{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#aebcd6;font-weight:600}
.bd-total .amt{font-family:var(--ff-d);font-size:30px;color:var(--gold2);font-weight:800;font-variant-numeric:tabular-nums}
/* light-panel breakdown rows (used outside navy box) */
.card .bd-row{border-color:var(--line)}
.card .bd-row span:first-child{color:var(--mut)}
.card .bd-row .amt{color:var(--ink)}

/* ---------- FAQ (matches .faq details) ---------- */
details.faq{border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:10px;background:var(--panel);overflow:hidden}
details.faq[open]{border-color:#ead9a6;box-shadow:var(--shadow)}
details.faq summary{padding:15px 18px;cursor:pointer;font-weight:600;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:15px}
html[data-theme="dark"] details.faq summary{color:#fff}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-family:var(--ff-d);color:var(--gold);font-size:20px;transition:.3s;line-height:1}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .fa-body{padding:0 18px 16px;color:var(--ink2);font-size:14.5px}

/* ---------- Numbered steps (matches .steps) ---------- */
.steps{counter-reset:s;list-style:none;display:grid;gap:12px}
.steps li{counter-increment:s;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 62px;position:relative}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:18px;top:16px;font-family:var(--ff-d);font-weight:800;color:var(--gold);font-size:19px}
.steps b{display:block;color:var(--navy)}
html[data-theme="dark"] .steps b{color:#fff}
.steps span{color:var(--ink2);font-size:14.5px}
.steps .tt{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold3);font-weight:600;margin-bottom:2px}

/* ---------- Pros / cons ---------- */
.pc-list{list-style:none;display:grid;gap:9px}
.pc-list li{display:flex;gap:10px;font-size:14.5px;color:var(--ink2);align-items:flex-start}
.pc-list li::before{content:"✓";color:var(--ok);font-weight:700;flex-shrink:0}
.pc-list.cons li::before{content:"✕";color:var(--bad)}
.pc-list.docs li::before{content:"▸";color:var(--gold3)}

/* ---------- Compare ---------- */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
.cmp{border-collapse:collapse;min-width:760px;width:100%;font-size:14px}
.cmp th,.cmp td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--ink2)}
.cmp thead th{position:sticky;top:0;background:var(--navy);color:#fff;font-family:var(--ff-d);font-size:15.5px;font-weight:700;z-index:2}
.cmp thead th .btn{margin-top:8px}
.cmp tbody th{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);white-space:nowrap;font-family:var(--ff-b);font-weight:600;background:var(--soft)}
.cmp .best{color:var(--ok);font-weight:700}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}
.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink2);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.22s;font-family:var(--ff-b)}
.chip.on{background:var(--navy);color:var(--gold2);border-color:var(--navy)}
.chip:hover:not(.on){border-color:var(--gold);color:var(--gold3)}

/* ---------- Filters ---------- */
.filter-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;gap:18px;box-shadow:var(--shadow);position:sticky;top:130px}
@media(max-width:640px){.filter-panel{position:static}}
input[type=range]{width:100%;accent-color:var(--gold);height:30px}
.range-val{font-family:var(--ff-d);color:var(--gold3);font-size:18px;font-weight:800}

/* ---------- Zone result cards ---------- */
.zcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;transition:.28s;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.zcard:hover{transform:translateY(-4px);box-shadow:var(--shadow2);border-color:#ead9a6}
.zcard .zc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.zcard .em{font-size:11px;color:var(--mut);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.zcard h3{color:var(--navy)}
html[data-theme="dark"] .zcard h3{color:#fff}
.zcard .from{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.zcard .from small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:600}
.zcard .from .price{font-family:var(--ff-d);font-size:22px;color:var(--navy);font-weight:800;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .zcard .from .price{color:var(--gold2)}
.zcard .tags{display:flex;gap:6px;flex-wrap:wrap}
.zcard .tag{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--mut);font-weight:600}
.rank{position:absolute;top:-6px;right:16px;font-family:var(--ff-d);font-size:52px;color:var(--line);font-weight:800;line-height:1}
html[data-theme="dark"] .rank{color:var(--panel2)}

/* ---------- Wizard ---------- */
.wiz{max-width:640px;margin:0 auto}
.wiz-q{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow2)}
.wiz-opts{display:grid;gap:10px;margin-top:20px}
.wiz-opts button{text-align:left;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 18px;color:var(--ink);font-size:15px;font-weight:500;cursor:pointer;transition:.22s;font-family:var(--ff-b)}
.wiz-opts button:hover{border-color:var(--gold);background:var(--cream);transform:translateX(4px)}
html[data-theme="dark"] .wiz-opts button:hover{background:var(--panel2)}
.wiz-bar{height:5px;border-radius:99px;background:var(--line);margin-bottom:22px;overflow:hidden}
.wiz-bar i{display:block;height:100%;background:var(--grad-gold);transition:.4s;border-radius:99px}
.rec-best{border:1.5px solid var(--gold);background:linear-gradient(150deg,var(--cream),var(--panel) 60%)}

/* ---------- CTA band (matches dark cta-band) ---------- */
.cta-band{background:linear-gradient(150deg,#0b0b0b,#181818);color:#fff;padding:44px 0;text-align:left}
.cta-band h2{color:#fff}
.cta-band p{color:#c9cbd2;max-width:62ch;margin:10px 0 18px;font-weight:300}

/* ---------- Footer (matches gk-foot navy) ---------- */
.gk-foot{background:var(--navy);color:#c7d2e4;padding:40px 0 0}
.gk-foot .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:26px;padding-bottom:26px}
@media(max-width:860px){.gk-foot .grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gk-foot .grid{grid-template-columns:1fr}}
.gk-foot .fb{font-family:var(--ff-d);font-weight:800;font-size:20px;color:#fff}
.gk-foot .fb b{color:var(--gold)}
.gk-foot p{font-size:13.5px;margin:8px 0}
.gk-foot .addr{color:#93a5c4}
.gk-foot .fh{color:var(--gold2);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.gk-foot a{display:block;color:#c7d2e4;font-size:13.5px;padding:3px 0}
.gk-foot a:hover{color:var(--gold2)}
.gk-foot .legal{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;font-size:12.5px;color:#93a5c4}
.gk-foot .legal a{display:inline;color:#93a5c4;padding:0}

/* ---------- Floating / mobile CTA ---------- */
.float-wa{position:fixed;right:20px;bottom:20px;z-index:70;width:54px;height:54px;border-radius:50%;background:#1faa59;display:grid;place-items:center;color:#fff;font-size:22px;box-shadow:0 12px 30px -6px rgba(31,170,89,.55);transition:.3s}
.float-wa:hover{transform:scale(1.08)}
.mob-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:65;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px 14px;gap:10px}
@media(max-width:640px){.mob-cta{display:flex}.mob-cta .btn{flex:1}body{padding-bottom:70px}.float-wa{bottom:82px}}

/* ---------- Breadcrumb ---------- */
.crumbs{font-size:13px;color:var(--mut);padding:14px 0 0}
.crumbs a{color:var(--mut)}
.crumbs a:hover{color:var(--gold3)}
.crumbs .sep{margin:0 7px;color:var(--gold3)}
.crumbs span{color:var(--ink);font-weight:500}
html[data-theme="dark"] .crumbs span{color:#fff}

/* ---------- Reveal / counters / skeleton ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.2,.65,.3,1),transform .65s cubic-bezier(.2,.65,.3,1)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{animation:none!important}}
.skel{background:linear-gradient(90deg,var(--soft) 25%,var(--line) 50%,var(--soft) 75%);background-size:200% 100%;animation:sk 1.4s infinite;border-radius:10px}
@keyframes sk{to{background-position:-200% 0}}

/* ---------- Savings meter ---------- */
.meter{height:10px;border-radius:99px;background:var(--line);overflow:hidden}
.meter i{display:block;height:100%;background:var(--grad-gold);border-radius:99px;transition:width .6s cubic-bezier(.2,.65,.3,1)}

/* ---------- Print ---------- */
@media print{
  .gk-top,.fz-sub,.gk-foot,.float-wa,.mob-cta,.cta-band,.chips,.btn,.theme-btn{display:none!important}
  body{background:#fff;color:#000}
  .cmp thead th{background:#eee;color:#000}
  .cmp th,.cmp td{border:1px solid #ddd;color:#000}
}
::selection{background:rgba(212,175,55,.3)}

/* ---------- Inline note (maps to key-facts styling, compact) ---------- */
.note{padding:12px 16px;border:1px solid #ead9a6;background:linear-gradient(120deg,var(--cream),var(--cream2));border-radius:12px;font-size:13.5px;color:var(--ink2);margin:14px 0}
.note b{color:#7a5c16}
html[data-theme="dark"] .note b{color:var(--gold2)}
.kicker.center{justify-content:center;text-align:center}

/* ---------- Pricing dropdown in sub-nav ---------- */
.fz-dd{position:relative;display:inline-block}
.fz-dd-btn{background:none;border:0;color:#c7d2e4;font-size:13.5px;font-weight:500;padding:11px 13px;cursor:pointer;font-family:var(--ff-b);border-bottom:2px solid transparent;margin-bottom:-2px}
.fz-dd-btn:hover,.fz-dd-btn.on{color:var(--gold2);border-color:var(--gold2)}
.fz-dd-menu{position:absolute;top:100%;left:0;min-width:290px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow2);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;z-index:80}
.fz-dd-menu.open{opacity:1;visibility:visible;transform:none}
.fz-dd-menu a{display:block;padding:10px 14px;border-radius:10px;color:var(--ink)}
.fz-dd-menu a:hover{background:var(--soft)}
.fz-dd-menu a b{display:block;font-size:14px;font-weight:600;color:var(--navy)}
html[data-theme="dark"] .fz-dd-menu a b{color:#fff}
.fz-dd-menu a span{display:block;font-size:12px;color:var(--mut)}

/* ---------- Quote builder ---------- */
.quote-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:start}
@media(max-width:900px){.quote-grid{grid-template-columns:1fr}}
.q-pick{display:grid;gap:10px}
.q-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 15px;box-shadow:var(--shadow)}
.q-row .q-name{font-weight:600;color:var(--ink)}
.q-row .q-sub{font-size:12px;color:var(--mut)}
.q-row .q-price{margin-left:auto;font-weight:600;color:var(--gold3);white-space:nowrap;font-variant-numeric:tabular-nums}
.q-row .q-add{border:1px solid var(--line);background:var(--soft);color:var(--gold3);border-radius:9px;width:36px;height:36px;font-size:18px;cursor:pointer;flex-shrink:0}
.q-row .q-add:hover{border-color:var(--gold);background:var(--cream)}
.q-cart{position:sticky;top:130px;background:linear-gradient(150deg,var(--navy),var(--navy2));border-radius:16px;padding:22px;color:#dce5f2;box-shadow:var(--shadow2)}
.q-cart h3{color:#fff;margin-bottom:6px}
.q-line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:13.5px}
.q-line .x{cursor:pointer;color:#ff9b8f;margin-left:6px}
.q-line .amt{color:#fff;font-weight:600;white-space:nowrap}
.q-empty{color:#aebcd6;font-size:13.5px;padding:14px 0}
.q-tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px}
.q-tot .amt{font-family:var(--ff-d);font-size:28px;color:var(--gold2);font-weight:800}
.seg-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.seg-tabs button{border:1px solid var(--line);background:var(--panel);color:var(--ink2);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--ff-b)}
.seg-tabs button.on{background:var(--navy);color:var(--gold2);border-color:var(--navy)}

/* second phone in header */
.gk-top .tel2{margin-left:10px}
@media(max-width:1100px){.gk-top .tel2{display:none}}
.gk-top .brand img{vertical-align:middle;margin-right:8px}

/* ============================================================
   Calculator — premium polish v6
   ============================================================ */
.calc-form{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
.calc-out{overflow:hidden}
.calc-out::before{content:"Instant Estimate";display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);font-weight:700;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(230,194,90,.25)}
.calc-out .bd-row{animation:bdIn .35s ease both}
@keyframes bdIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.bd-total{margin-top:6px;border-top:2px solid rgba(230,194,90,.35)}
.bd-total .amt{transition:color .2s}
.calc-out .btn.gold{box-shadow:0 8px 22px rgba(201,162,39,.34);transition:.22s}
.calc-out .btn.gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(201,162,39,.44)}
.stepper button:active{transform:scale(.92)}
.stepper .val{transition:transform .18s}
.stepper .val.bump{transform:scale(1.25);color:var(--gold3)}
.field{position:relative}
/* quotation actions row */
.calc-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.calc-actions .btn{flex:1;min-width:120px;text-align:center;font-size:13px;padding:11px}
.calc-badge-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--gold3);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.calc-badge-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:livePulse 1.8s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* ---------- Compact zone page header band (replaces big hero on pricing pages) ---------- */
.zone-head-band{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 55%,var(--navy3) 100%);color:#fff;padding:40px 0 34px;position:relative;overflow:hidden}
.zone-head-band::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.22),transparent 68%);pointer-events:none}
.zone-head-band .kicker{color:var(--gold2);font-family:var(--ff-b);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.zone-head-band h1{color:#fff;font-family:var(--ff-d);font-size:clamp(2rem,4vw,3rem);margin:10px 0 12px;line-height:1.1}
.zone-head-band .deck{color:#c7d2e4;max-width:60ch;font-size:1.02rem}
.zone-head-band .deck b{color:#fff}
.zone-head-band .gold-t{background:linear-gradient(120deg,var(--gold),var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent}
.zone-head-band .chips .chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e8eef7}

/* ---------- More animations v9 ---------- */
/* table row stagger */
.ptable tbody tr{opacity:0;transform:translateY(8px);animation:rowIn .5s ease forwards}
.ptable tbody tr:nth-child(1){animation-delay:.04s}.ptable tbody tr:nth-child(2){animation-delay:.10s}
.ptable tbody tr:nth-child(3){animation-delay:.16s}.ptable tbody tr:nth-child(4){animation-delay:.22s}
.ptable tbody tr:nth-child(5){animation-delay:.28s}.ptable tbody tr:nth-child(6){animation-delay:.34s}
.ptable tbody tr:nth-child(7){animation-delay:.40s}
@keyframes rowIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ptable tbody tr{animation:none;opacity:1;transform:none}}
/* strike price emphasis */
.strike{position:relative;color:#9aa6ba;text-decoration:none;margin-right:8px;font-size:.92em}
.strike::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:1.6px;background:#d9534f;transform:rotate(-6deg)}
.ptable .price{font-family:var(--ff-b);font-weight:700;color:var(--navy)}
/* savings spotlight band */
.savings-band{background:linear-gradient(120deg,#fdf8ea,#fbf3d6);border:1px solid #ecd9a0;border-radius:18px;padding:22px 26px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:22px 0;box-shadow:0 10px 30px -18px rgba(201,162,39,.5)}
.savings-band .sv-ic{font-size:2rem}
.savings-band .sv-txt{flex:1;min-width:220px}
.savings-band .sv-txt b{font-family:var(--ff-d);font-size:1.2rem;color:var(--navy);display:block}
.savings-band .sv-amt{font-family:var(--ff-d);font-weight:800;font-size:1.9rem;color:var(--gold-deep,#9a7b16)}
/* chip hover */
.chips .chip{transition:.22s}
.chips .chip:hover{transform:translateY(-2px);border-color:var(--gold)}
/* card lift */
.zcard{transition:.28s}
.zcard:hover{transform:translateY(-6px);box-shadow:0 20px 44px -20px rgba(14,33,64,.4)}
/* calc total pop */
.bd-total .amt{animation:totalPop .4s ease}
@keyframes totalPop{0%{transform:scale(.9);opacity:.4}100%{transform:scale(1);opacity:1}}

/* ============================================================
   MOBILE POLISH v13 — every freezones page, phone-first
   ============================================================ */
@media(max-width:768px){
  .wrap{padding:0 16px}
  /* zone header band tighter */
  .zone-head-band{padding:28px 0 26px}
  .zone-head-band h1{font-size:1.65rem;line-height:1.15}
  .zone-head-band .deck{font-size:.95rem}
  /* buttons: comfortable tap targets, full-width stacking */
  .btns{gap:9px}
  .btns .btn{flex:1 1 auto;min-width:calc(50% - 9px);padding:13px 16px;font-size:.9rem}
  .zone-head-band .btns .btn,.hero .btns .btn{min-width:100%}
  /* stat cards: 2-up */
  .statrow{grid-template-columns:1fr 1fr;gap:10px;margin-top:-18px}
  .statrow>div{padding:13px 14px}
  .statrow b{font-size:17px}
  /* pricing tables: keep scroll + sticky first col feel */
  .ptable th,.ptable td{padding:10px 12px;font-size:13.5px;white-space:nowrap}
  .ptable td:first-child{white-space:normal;min-width:130px}
  /* calculator stacks; output no longer sticky */
  .calc{grid-template-columns:1fr;gap:16px}
  .calc-out{position:static;padding:20px 16px}
  .calc-form{padding:16px}
  .stepper button{width:46px;height:46px;font-size:20px}
  .stepper .val{font-size:24px;min-width:46px}
  .calc-actions .btn{min-width:100%}
  /* savings band stacks */
  .savings-band{flex-direction:column;align-items:flex-start;padding:18px;gap:12px}
  .savings-band .btn{width:100%}
  /* chips wrap nicely */
  .chips{gap:7px}
  .chips .chip{font-size:12.5px;padding:7px 12px}
  /* cards grids single column */
  .grid3,.grid2{grid-template-columns:1fr!important;gap:12px}
  /* sub-nav dropdown menus: full width sheet */
  .fz-dd-menu{position:fixed!important;left:10px!important;right:10px!important;width:auto!important;max-height:62vh;overflow-y:auto}
  /* section spacing */
  section{padding-top:34px!important}
  .sec-head h2{font-size:1.45rem}
  /* FAQ tap comfort */
  details.faq summary{padding:14px 15px;font-size:14.5px}
  /* front-row on homepage */
  .fz-fr-card{padding:16px}
  .fz-ticker-track span{font-size:13px}
}
@media(max-width:430px){
  .zone-head-band h1{font-size:1.45rem}
  .statrow{grid-template-columns:1fr 1fr}
  .btns .btn{min-width:100%}
  .zs-head{flex-wrap:wrap}
  .zs-head .btn{flex:1 1 45%}
}
/* touch: kill hover-lift jitter on touch devices */
@media(hover:none){
  .btn:hover,.zcard:hover,.chips .chip:hover{transform:none}
}

/* ---------- FREE perks strip (corporate tax reg + bank assistance) ---------- */
.fz-perks{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 4px}
.fz-perks .fp{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(120deg,#fdf8ea,#fbf3d6);border:1px solid #ecd9a0;color:#6b5410;border-radius:100px;padding:9px 16px;font-family:var(--ff-b);font-weight:600;font-size:.86rem}
.fz-perks .fp::before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:linear-gradient(120deg,var(--gold),var(--gold2));color:#211a04;font-size:11px;font-weight:800}
.fz-perks .fp b{color:#9a7b16}
.on-navy .fz-perks .fp,.zone-head-band .fz-perks .fp,.hero .fz-perks .fp{background:rgba(255,255,255,.08);border-color:rgba(230,194,90,.4);color:#f3e9c9}
@media(max-width:768px){.fz-perks{gap:7px}.fz-perks .fp{font-size:.78rem;padding:8px 12px;flex:1 1 auto;justify-content:center}}

/* ---------- Pricing FAQ page ---------- */
.faq-tools{margin:18px 0 8px}
#faqSearch{width:100%;padding:15px 20px;border:1.5px solid var(--line);border-radius:100px;font-family:var(--ff-b);font-size:15px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);outline:none;transition:.25s}
#faqSearch:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,39,.15)}
.faq-tools .chips{margin-top:12px}
.chip.faq-cat{cursor:pointer;border:1.4px solid var(--line);background:var(--panel);transition:.22s}
.chip.faq-cat.on{background:linear-gradient(120deg,var(--gold),var(--gold2));color:#211a04;border-color:transparent;font-weight:700}
.faq-h{font-family:var(--ff-d);font-size:1.3rem;color:var(--navy);margin:26px 0 10px;display:flex;align-items:center;gap:12px}
.faq-h::after{content:"";flex:1;height:1.5px;background:linear-gradient(90deg,var(--gold-line,rgba(201,162,39,.35)),transparent)}
.faq-group details.faq{margin-bottom:10px}
@media(max-width:768px){#faqSearch{font-size:16px;padding:13px 16px}.faq-h{font-size:1.12rem}}
