/* base: reset and shared behaviours (site tokens are defined in the site sheet) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--fb);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
[hidden]{display:none!important}
h1,h2,h3,h4{font-family:var(--fh);line-height:1.12;margin:0 0 .5em}
p{margin:0 0 1em}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
fieldset{min-width:0;border:0;margin:0;padding:0}
.skip{position:absolute;left:12px;top:-60px;z-index:3000;background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:8px}
.skip:focus{top:60px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--focus,var(--primary));outline-offset:3px}
.ph{margin:0;overflow:hidden;background:var(--phbg,var(--line));position:relative}
.ph img{width:100%;height:100%;object-fit:cover}
.ph[role=button]{cursor:zoom-in}
.err{display:block;color:var(--errc,#B3261E);font-size:.85rem;margin-top:4px;min-height:0}
.rv-on .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv-on .rv.in{opacity:1;transform:translateY(0)}
.tablewrap{overflow-x:auto;position:relative;-webkit-overflow-scrolling:touch}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:92vh;overflow:visible}
dialog.lb::backdrop{background:rgba(5,8,15,.88)}
dialog.lb figure{margin:0}
dialog.lb img{max-height:80vh;width:auto;margin:0 auto;background:#222;min-width:280px;min-height:200px}
dialog.lb figcaption{color:#fff;text-align:center;padding:10px 40px;font-size:.95rem}
dialog.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:#111;font-size:26px;cursor:pointer;line-height:1}
.lb-x{top:-10px;right:-6px}.lb-p{left:-6px;top:45%}.lb-n{right:-6px;top:45%}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:22px}
.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-w{font-size:.75rem;text-align:center;color:var(--muted);padding:4px 0}
.cal-d{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600}
.cal-d.a0{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.cal-d.a1{box-shadow:inset 0 -3px 0 var(--accent)}
.cal-d.a2{box-shadow:inset 0 -3px 0 var(--primary)}
.cal-d.on{background:var(--primary);color:var(--onprimary,#fff);border-color:var(--primary)}
.cal-key{font-size:.8rem;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}
.cal-key span{display:inline-block;width:14px;height:4px;border-radius:2px}
.cal-key .k2{background:var(--primary)}.cal-key .k1{background:var(--accent)}.cal-key .k0{background:var(--line)}

/* Broadwave Internet: Swiss minimal. Strict 12 column grid, huge type, one olive accent, lots of white */
:root{
  --ground:#FAF8F3;--surface:#FFFFFF;--ink:#111410;--primary:#4F5D16;--accent:#C9D46A;--muted:#5F625A;
  --sand:#E9E1CF;--line:#DAD5C8;--fh:"Instrument Sans",Helvetica,Arial,sans-serif;--fb:"Mulish",Helvetica,Arial,sans-serif;--phbg:#E3DCCB;
}
body{font-size:16px}
.g,.g1{max-width:1320px;margin:0 auto;padding:0 20px}
.g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px}
@media (min-width:900px){.g{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}}
h1,h2,h3{font-weight:600;letter-spacing:-.025em}
h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.big{font-size:clamp(2.4rem,6.4vw,5.6rem);line-height:.95;letter-spacing:-.045em;margin-bottom:.4em}
.mega{font-size:clamp(3.4rem,13vw,11rem);line-height:.86;letter-spacing:-.06em;margin:0}
.lab{font-family:var(--fh);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .5em;display:block}
.lede{font-size:1.15rem;color:var(--muted);max-width:56ch}
.small{font-size:.85rem;color:var(--muted)}
.h3{font-family:var(--fh);font-size:1.4rem;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 22px;background:var(--ink);color:#fff;border:2px solid var(--ink);text-decoration:none;font-family:var(--fh);font-weight:600;cursor:pointer;border-radius:0;transition:background .2s,color .2s}
.btn:hover{background:var(--primary);border-color:var(--primary)}
.btn.line{background:transparent;color:var(--ink)}
.btn.line:hover{background:var(--ink);color:#fff}
.btn.sm{min-height:44px;padding:6px 14px;font-size:.9rem}
.btn svg{width:18px;height:18px}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--fh);font-weight:600;color:var(--primary);text-decoration:none;margin-top:12px}
.arrow::after{content:"\2192";transition:transform .2s}
.arrow:hover::after{transform:translateX(4px)}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(250,248,243,.97);border-bottom:2px solid var(--ink)}
.hdr-g{align-items:center;min-height:68px;transition:min-height .25s}
.scrolled .hdr-g{min-height:56px}
.logo{grid-column:1/3;display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .mk{width:30px;height:30px}
.logo b{font-family:var(--fh);font-weight:700;font-size:1.35rem;letter-spacing:-.04em}
.mainnav{display:none}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.mainnav a{display:block;padding:10px 12px;text-decoration:none;font-family:var(--fh);font-weight:500;font-size:.95rem;white-space:nowrap}
.mainnav a:hover{text-decoration:underline;text-underline-offset:5px}
.mainnav a[aria-current=page]{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary)}
.hdr-act{grid-column:3/5;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.hdr-act .btn.sm{display:none}
.bask-b,.menu-b{min-height:44px;padding:0 12px;border:2px solid var(--ink);background:var(--surface);font-family:var(--fh);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}
.bask-n{display:inline-grid;place-items:center;min-width:24px;height:24px;background:var(--accent);color:var(--ink);font-size:.8rem;padding:0 6px}
@media (min-width:900px){.logo{grid-column:1/3}.mainnav{display:block;grid-column:3/9}.hdr-act{grid-column:9/13}}
@media (min-width:1100px){.hdr-act .btn.sm{display:inline-flex}.menu-b{display:none}}
/* drawer and basket */
.drawer{position:fixed;inset:0;z-index:2000;background:var(--ground);visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s;overflow-y:auto}
.drawer.open{visibility:visible;opacity:1}
.dr-g{display:block;padding-top:64px;padding-bottom:32px}
.dr-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:12px}
.dr-top b{font-family:var(--fh);font-size:1.4rem;letter-spacing:-.04em}
.dr-x{min-height:44px;padding:0 14px;border:2px solid var(--ink);background:none;font-family:var(--fh);font-weight:600;cursor:pointer}
.dr-list{list-style:none;margin:0;padding:0}
.dr-list a{display:flex;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--fh);font-weight:600;font-size:clamp(1.5rem,6vw,2.6rem);letter-spacing:-.03em}
.dr-list span{font-size:.8rem;color:var(--muted);min-width:24px}
.dr-list a[aria-current=page]{color:var(--primary)}
.dr-foot{margin-top:20px}
.menu-open{overflow:hidden}
.basket{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:2100;background:var(--surface);border-left:2px solid var(--ink);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);visibility:hidden;overflow-y:auto}
.basket.open{transform:translateX(0);visibility:visible}
.bask-in{padding:64px 20px 24px}
.bask-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:10px}
.bask-top h2{margin:0}
.bask-l{list-style:none;margin:0;padding:0}
.bask-l li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.bask-l small{display:block;color:var(--muted)}
.bask-x{min-width:44px;min-height:44px;border:1px solid var(--line);background:none;cursor:pointer;font-size:1.1rem}
.bask-sum{padding:16px 0;font-family:var(--fh)}
.bask-sum b{font-size:1.8rem;display:block;letter-spacing:-.03em}
.bask-b2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.scrim{position:fixed;inset:0;background:rgba(17,20,16,.4);z-index:2050}
/* hero */
.hero{padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,72px);border-bottom:2px solid var(--ink)}
.crumb{grid-column:1/-1;font-family:var(--fh);font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:18px}
.crumb a{color:var(--muted)}
.hero-h{grid-column:1/-1;font-size:clamp(3.6rem,14vw,12.5rem);line-height:.84;letter-spacing:-.065em;margin:0 0 32px}
.hl{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.hl>span{display:inline-block}
.hero-a{grid-column:1/-1}
.hero-b{grid-column:1/-1;margin-top:24px}
.from{font-family:var(--fh);font-size:1.1rem;margin:0}
.from b{display:block;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.04em;line-height:1;color:var(--primary)}
@media (min-width:900px){.hero-a{grid-column:1/8}.hero-b{grid-column:9/13;margin-top:0}}
.marq{overflow:hidden;border-bottom:2px solid var(--ink);background:var(--accent);white-space:nowrap}
.marq-t{display:inline-flex;gap:40px;padding:12px 0;animation:marq 40s linear infinite;font-family:var(--fh);font-weight:600;font-size:1.05rem}
.marq-t span::before{content:"\25CF";margin-right:12px;font-size:.7em;vertical-align:middle}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* checker */
.chk{background:var(--surface);border:2px solid var(--ink);padding:18px}
.chk-row{display:flex;gap:0}
.chk-row input{flex:1;min-width:0;min-height:56px;border:2px solid var(--ink);border-right:0;padding:0 16px;font-size:1.05rem;background:var(--ground);border-radius:0}
.chk-row .btn{min-height:56px}
.cv-out{margin-top:14px}
.cvr{display:grid;gap:8px;border-left:6px solid var(--line);padding:6px 0 6px 16px}
.cvr.live{border-color:var(--primary)}.cvr.soon{border-color:var(--accent)}.cvr.wireless{border-color:#8D9161}.cvr.none{border-color:var(--line)}
.cvr h3{margin:0;font-size:1.5rem}
.cvr p{margin:0}
.cvr .btns{margin:8px 0 0}
/* blocks */
.blk{padding:clamp(48px,7vw,104px) 0;border-bottom:1px solid var(--line)}
.blk-l{grid-column:1/-1;display:flex;gap:12px;align-items:baseline;margin-bottom:24px;border-top:2px solid var(--ink);padding-top:10px}
.bn{font-family:var(--fh);font-weight:700;font-size:.95rem}
.bl{font-family:var(--fh);font-weight:600;font-size:.95rem;color:var(--muted)}
.blk-r{grid-column:1/-1;min-width:0}
@media (min-width:900px){.blk-l{grid-column:1/4;flex-direction:column;gap:4px;margin:0}.bn{font-size:3.2rem;line-height:1;letter-spacing:-.05em}.blk-r{grid-column:4/13;border-top:2px solid var(--ink);padding-top:20px}}
.phead{padding:clamp(28px,5vw,64px) 0 clamp(32px,5vw,64px);border-bottom:2px solid var(--ink)}
.phead .mega{grid-column:1/-1;margin-bottom:24px}
.phead-r{grid-column:1/-1}
@media (min-width:900px){.phead-r{grid-column:6/13}}
.hero-ph{padding:0;border:0}
.hero-ph .ph{aspect-ratio:21/9!important}
@media (max-width:700px){.hero-ph .ph{aspect-ratio:4/3!important}}
/* grid map */
.gmap{margin:24px 0 8px}
.gmap-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(4,auto);gap:4px}
.tile{min-height:88px;padding:10px;border:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--fh);transition:transform .2s,outline-color .2s;outline:3px solid transparent;outline-offset:-3px}
.gmap.sm .tile{min-height:64px}
.tile-n{font-weight:600;font-size:.9rem;line-height:1.15}
.tile-s{font-size:.72rem;opacity:.85}
.t-live{background:var(--primary);color:#fff}
.t-soon{background:var(--accent);color:var(--ink)}
.t-wireless{background:var(--sand);color:var(--ink)}
.t-none{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.tile:hover{transform:translateY(-2px)}
.tile[aria-pressed=true]{outline-color:var(--ink)}
@media (max-width:600px){.tile{min-height:70px;padding:6px}.tile-n{font-size:.72rem}.tile-s{display:none}.gmap-g{gap:3px}}
.key{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:16px;font-size:.85rem}
.key i{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px}
.k-live{background:var(--primary)}.k-soon{background:var(--accent)}.k-wireless{background:var(--sand)}.k-none{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
/* plans */
.pcs{display:grid;gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink);margin:20px 0 12px}
@media (min-width:600px){.pcs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.pcs{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pc{padding:22px 18px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--surface);display:flex;flex-direction:column}
.pc h3{display:flex;align-items:baseline;gap:6px;margin:0 0 6px}
.pc-sp{font-size:clamp(3rem,5vw,4.4rem);line-height:.9;letter-spacing:-.06em}
.pc-u{font-size:1rem;color:var(--muted)}
.pc-pr b{font-family:var(--fh);font-size:1.4rem}
.pc ul{list-style:none;padding:0;margin:0 0 12px;font-size:.92rem}
.pc li{padding:6px 0;border-top:1px solid var(--line)}
.pc .btn{margin-top:auto}
.pc.added .btn{background:var(--primary);color:#fff;border-color:var(--primary)}
.fbar,.bill{display:flex;flex-wrap:wrap;gap:0;margin-bottom:12px}
.fbar button,.bill button{min-height:44px;padding:6px 16px;border:2px solid var(--ink);margin:0 -2px -2px 0;background:var(--surface);font-family:var(--fh);font-weight:600;cursor:pointer}
.fbar button[aria-pressed=true],.bill button[aria-pressed=true]{background:var(--ink);color:#fff}
.tbl{width:100%;border-collapse:collapse;min-width:640px}
.tbl th,.tbl td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.tbl thead th{font-family:var(--fh);font-weight:600;border-bottom:2px solid var(--ink)}
.tbl tbody th{font-family:var(--fh);font-weight:600}
.pill{display:inline-block;padding:3px 10px;font-family:var(--fh);font-size:.8rem;font-weight:600;white-space:nowrap}
.p-live{background:var(--primary);color:#fff}.p-soon{background:var(--accent)}.p-wireless{background:var(--sand)}.p-none{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}
.adds{list-style:none;padding:0;margin:0}
.adds li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.adds b{font-family:var(--fh);font-weight:600}
.adds span{color:var(--muted);font-size:.92rem}
@media (max-width:520px){.adds li{grid-template-columns:minmax(0,1fr) auto}.adds span{grid-column:1}}
/* speed finder */
.sf{display:grid;gap:24px}
@media (min-width:1000px){.sf{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-family:var(--fh);font-weight:600;font-size:.95rem}
.opt{font-weight:400;color:var(--muted);font-size:.85rem}
input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea,input:not([type]){width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--ink);background:var(--surface);border-radius:0}
input[type=range]{accent-color:var(--primary);width:100%;min-height:44px}
input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:20px;height:20px}
.sf-c{display:grid;gap:4px}
@media (min-width:600px){.sf-c{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sf-c label{display:flex;gap:10px;align-items:center;min-height:44px;padding:4px 0;border-bottom:1px solid var(--line)}
.sf-out{background:var(--ink);color:#fff;padding:24px;align-self:start}
.sf-out .lab{color:var(--accent)}
.sf-big{font-family:var(--fh);font-weight:700;font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:-.05em;line-height:.95;margin:0 0 12px}
.sf-bar{height:10px;background:rgba(255,255,255,.15);margin:12px 0}
.sf-bar i{display:block;height:100%;background:var(--accent);width:30%;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.sf-out .small{color:#C9CCC2}
.sf-out .btn{background:var(--accent);color:var(--ink);border-color:var(--accent)}
/* numbers, steps, splits */
.nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
@media (min-width:900px){.nums{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nums b{display:block;font-family:var(--fh);font-weight:700;font-size:clamp(3rem,7vw,6rem);letter-spacing:-.06em;line-height:.9}
.nums>div{border-top:6px solid var(--primary);padding-top:10px}
.nums span:last-child{color:var(--muted)}
.steps4{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:s;border-left:1px solid var(--ink)}
@media (min-width:700px){.steps4{grid-template-columns:repeat(4,minmax(0,1fr));border-left:0;border-top:1px solid var(--ink)}}
.steps4 li{counter-increment:s;padding:16px 18px 20px;border-bottom:1px solid var(--line)}
@media (min-width:700px){.steps4 li{border-bottom:0;border-right:1px solid var(--line)}}
.steps4 li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--fh);font-weight:700;font-size:2.4rem;letter-spacing:-.05em;color:var(--primary)}
.steps4 b{display:block;font-family:var(--fh);font-size:1.2rem}
.steps4 span{color:var(--muted);font-size:.95rem}
.split2{display:grid;gap:24px;align-items:center}
@media (min-width:900px){.split2{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}}
.quotes{display:grid;gap:0;border-top:1px solid var(--ink)}
@media (min-width:900px){.quotes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.quotes blockquote{margin:0;padding:20px 20px 20px 0;border-bottom:1px solid var(--line);font-family:var(--fh);font-size:1.2rem;font-weight:500;letter-spacing:-.01em}
@media (min-width:900px){.quotes blockquote{border-bottom:0;padding-right:24px}}
.quotes footer{font-family:var(--fb);font-size:.88rem;color:var(--muted);font-weight:400;margin-top:10px}
.statline{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.statline p{margin:0;flex:1 1 300px}
.sdot{width:14px;height:14px;border-radius:50%;flex:none;background:var(--primary);box-shadow:0 0 0 5px rgba(79,93,22,.2)}
.sdot.warn{background:#B45309;box-shadow:0 0 0 5px rgba(180,83,9,.2)}
.big-s p{font-size:1.3rem;font-family:var(--fh)}
.newsl{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.newsl li>a,.newsl li.nolink{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.newsl b{font-family:var(--fh);font-weight:600;font-size:1.3rem;letter-spacing:-.02em}
.newsl a:hover b{color:var(--primary)}
.newsl span:not(.lab){color:var(--muted)}
.big-l b{font-size:clamp(1.4rem,3vw,2.2rem)}
.endcta{background:var(--ink);color:#fff;border:0}
.endcta .big{grid-column:1/-1;color:#fff}
.endcta-r{grid-column:1/-1}
.endcta p{color:#D2D4CB}.endcta .small{color:#A9AC9F}
.endcta .btn{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.endcta .btn.line{background:transparent;color:#fff;border-color:#fff}
@media (min-width:900px){.endcta .big{grid-column:1/9}.endcta-r{grid-column:9/13;align-self:end}}
.feats{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--ink)}
@media (min-width:700px){.feats{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}
.feats li{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}
.feats b{font-family:var(--fh);font-weight:600;font-size:1.15rem}
.feats span{color:var(--muted)}
.gal3{display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}
.gal3 .ph:first-child{grid-column:1/-1}
@media (min-width:900px){.gal3{grid-template-columns:2fr 1fr}.gal3 .ph:first-child{grid-column:1;grid-row:span 2;aspect-ratio:auto!important;height:100%}}
.gal5{display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}
.gal5 .ph:first-child{grid-column:1/-1}
@media (min-width:900px){.gal5{grid-template-columns:repeat(4,minmax(0,1fr))}.gal5 .ph:first-child{grid-column:1/3;grid-row:span 2;aspect-ratio:auto!important;height:100%}}
.acc{border-bottom:1px solid var(--line)}
.acc:first-child{border-top:1px solid var(--ink)}
.acc summary{cursor:pointer;list-style:none;padding:16px 40px 16px 0;font-family:var(--fh);font-weight:600;font-size:1.1rem;position:relative;min-height:44px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:1.6rem;font-weight:400}
.acc[open] summary::after{content:"\2212"}
.ans p{color:var(--muted);max-width:70ch}
/* order */
.ord-g{display:grid;gap:24px}
@media (min-width:1100px){.ord-g{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.ord-side{position:sticky;top:90px;align-self:start}}
.wiz,.thanks,.form{background:var(--surface);border:2px solid var(--ink);padding:clamp(18px,3vw,32px)}
.form.inline{border:0;padding:0;background:none;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.form.inline .field{flex:1 1 220px;margin:0}
.wiz-steps{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;counter-reset:s}
.wiz-steps li{counter-increment:s;font-family:var(--fh);font-size:.75rem;font-weight:600;color:var(--muted);border-top:4px solid var(--line);padding-top:6px;overflow:hidden;text-overflow:ellipsis}
.wiz-steps li::before{content:counter(s,decimal-leading-zero) " "}
.wiz-steps li.on{color:var(--ink);border-color:var(--ink)}
.wiz-steps li.done{border-color:var(--primary)}
.rcs{display:grid;gap:8px;margin-bottom:12px}
@media (min-width:600px){.rcs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc{position:relative;cursor:pointer}
.rc input{position:absolute;opacity:0}
.rc span{display:block;padding:12px 14px;border:2px solid var(--line);min-height:48px}
.rc b{font-family:var(--fh);display:block}
.rc small{color:var(--muted)}
.rc input:checked+span{border-color:var(--ink);background:var(--sand)}
.rc input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}
.bill2{margin-top:12px}
.bill2 .rc{display:block;margin-bottom:8px}
.cal{max-width:440px;margin-bottom:16px}
.cal-d{border-radius:0}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.wiz-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:16px}
.wiz-nav [data-next],.wiz-nav [data-submit]{margin-left:auto}
.fgrid{display:grid;gap:0 16px}
@media (min-width:700px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fgrid .full{grid-column:1/-1}}
.ord-side{background:var(--sand);padding:20px}
.summary{margin:0 0 12px}
.summary div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid rgba(17,20,16,.15)}
.summary dt{color:var(--muted);font-size:.88rem}.summary dd{margin:0;font-weight:600}
.ord-tot{font-family:var(--fh);font-weight:700;font-size:2.2rem;letter-spacing:-.04em;margin:0}
.refline b{font-family:var(--fh);font-size:1.3rem}
/* status */
.srows{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--ink)}
.sr-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.sr-row b{font-family:var(--fh)}
.sr-s{grid-column:2;color:var(--muted);font-size:.9rem}
.sr-u{grid-column:3;grid-row:1/3;font-family:var(--fh);font-weight:600}
@media (min-width:700px){.sr-row{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto}.sr-s{grid-column:3}.sr-u{grid-column:4;grid-row:auto}}
.plan-w{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.plan-w li{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}
.plan-w b{font-family:var(--fh);font-size:1.2rem}
.plan-w span:last-child{color:var(--muted)}
.hist{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;height:96px;align-items:end}
.hist i{display:block;background:var(--primary);min-height:4px}
.hist i.dip{background:var(--accent)}
/* troubleshooter */
.ts{background:var(--surface);border:2px solid var(--ink);padding:clamp(18px,3vw,32px)}
.ts h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.ts-a{display:grid;gap:8px;margin:16px 0}
.ts-a button{min-height:52px;text-align:left;padding:12px 16px;border:2px solid var(--line);background:var(--ground);font-family:var(--fh);font-weight:600;font-size:1rem;cursor:pointer}
.ts-a button:hover{border-color:var(--ink)}
.ts-a p{margin:0}
.lights{display:grid;gap:20px}
.lights svg{max-width:360px;width:100%}
.faq-s{max-width:520px;margin-bottom:24px}
.faq-g{margin-bottom:28px}
.faq-g h3{font-size:1.4rem}
.tl{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.tl li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.tl b{font-family:var(--fh);font-size:1.5rem;letter-spacing:-.03em}
.tl span{color:var(--muted)}
.mapbox{position:relative;border:2px solid var(--ink)}
.mapbox svg{display:block;width:100%;height:auto}
.map-note{position:absolute;left:8px;bottom:8px;background:var(--surface);font-size:.8rem;padding:4px 8px}
.thanks h3{font-size:1.8rem}
.art .blk-l .bn{color:var(--primary)}
/* footer */
.ftr{padding:56px 0 100px;background:var(--ground)}
.ftr-mega{grid-column:1/-1;font-family:var(--fh);font-weight:700;font-size:clamp(4rem,20vw,17rem);letter-spacing:-.07em;line-height:.8;margin:0 0 40px;color:var(--ink)}
.ftr-c{grid-column:1/-1;border-top:2px solid var(--ink);padding-top:12px;margin-bottom:24px}
.ftr-c h2{font-size:1rem}
.ftr-c ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ftr-bot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
@media (min-width:600px){.ftr-c{grid-column:span 2}}
@media (min-width:900px){.ftr-c{grid-column:span 3}}
.wa{position:fixed;right:16px;bottom:16px;z-index:60;width:56px;height:56px;display:grid;place-items:center;background:var(--primary);color:#fff;border:2px solid var(--ink)}
.wa svg{width:26px;height:26px}
.empty{padding:16px;background:var(--sand)}
