@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("/fonts/archivo-latin-wdth.woff2") format("woff2-variations"),url("/fonts/archivo-latin-wdth.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  color-scheme:light;
  --bg:#f2f6ff;
  --surface:#ffffff;
  --ink:#0a1838;
  --muted:#45537a;
  --line:#d3dcf2;
  --blue:#0a47d1;
  --blue-deep:#06338f;
  --link:#0a47d1;
  --yellow:#ffc928;
  --yellow-ink:#1a1400;
  --band-y:#ffc928;
  --band-y-ink:#1a1400;
  --tint:#e4ecff;
  --ph-bg:#fff1b3;
  --ph-ink:#5a4300;
  --err:#b42318;
  --sky1:#8cc8ff;
  --sky2:#e3f2ff;
  --font-d:"Archivo","Arial Black","Helvetica Neue",Arial,sans-serif;
  --font-b:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:16px;
  --field:#6b7aa3;
}
@supports (color:light-dark(#000,#fff)){
  :root{
    color-scheme:light dark;
    --bg:light-dark(#f2f6ff,#07112e);
    --surface:light-dark(#ffffff,#0e1d47);
    --ink:light-dark(#0a1838,#eef3ff);
    --muted:light-dark(#45537a,#a9b6da);
    --line:light-dark(#d3dcf2,#213468);
    --blue:light-dark(#0a47d1,#0b3aa8);
    --blue-deep:light-dark(#06338f,#061e5c);
    --link:light-dark(#0a47d1,#9db9ff);
    --band-y:light-dark(#ffc928,#e9b100);
    --tint:light-dark(#e4ecff,#14295f);
    --ph-bg:light-dark(#fff1b3,#4a3d0c);
    --ph-ink:light-dark(#5a4300,#ffe9a0);
    --err:light-dark(#b42318,#ff9b8f);
    --sky1:light-dark(#8cc8ff,#1b3f8f);
    --sky2:light-dark(#e3f2ff,#5f8ad8);
    --field:light-dark(#6b7aa3,#7d8fc4);
  }
}

:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
*{box-sizing:border-box;min-width:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--font-b);overflow-x:clip}
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:6px}
.hero :focus-visible,footer.site :focus-visible,.combo :focus-visible{outline-color:var(--yellow)}
.win :focus-visible{outline-color:var(--yellow-ink)}
html{scroll-padding-top:80px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (scripting:none){.hint,.meters,.acts{display:none}}
h1,h2,h3{font-family:var(--font-d);font-stretch:120%;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(34px,5.2vw,54px);font-weight:900}
h2{font-size:clamp(28px,3.6vw,40px);font-weight:800}
h3{font-size:20px;font-weight:800}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.ph{background:var(--ph-bg);color:var(--ph-ink);border-radius:4px;padding:0 4px;font-weight:600}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:999px;font:700 16px var(--font-b);text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn.y{background:var(--yellow);color:var(--yellow-ink)}
.btn.y:hover{filter:brightness(1.06)}
.btn.w{border-color:#fff;color:#fff;background:transparent}
.btn.w:hover{background:rgba(255,255,255,.12)}
.btn.sm{min-height:44px;padding:8px 16px;font-size:15px}
.btn:disabled{opacity:.6;cursor:default}
.linkbtn{background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font:600 15px var(--font-b);cursor:pointer;min-height:44px;padding:0 4px}

/* Header */
header.site{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand svg{width:40px;height:40px;flex:none}
.brand b{font:900 22px var(--font-d);font-stretch:120%;letter-spacing:-.01em}
nav.top{display:flex;gap:22px;align-items:center}
nav.top a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
nav.top a:not(.btn):hover{color:var(--link)}
@media (max-width:820px){nav.top a:not(.btn){display:none}}

/* Hero */
.hero{background:var(--blue);color:#fff;padding-block:clamp(28px,4.5vw,52px) clamp(36px,5vw,64px)}
.hero-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px 44px;align-items:end;margin-bottom:clamp(22px,3vw,34px)}
.where{font-weight:700;color:var(--yellow);margin-bottom:10px;font-size:17px}
.hero-cta{display:grid;gap:16px}
.hero .lede{font-size:18px;color:rgba(255,255,255,.9)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chips li{font-size:14px;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.14)}
@media (max-width:860px){.hero-top{grid-template-columns:minmax(0,1fr)}}

/* Playable roof */
.play{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);gap:18px}
@media (max-width:900px){.play{grid-template-columns:minmax(0,1fr)}}
.stage{position:relative;aspect-ratio:3/2;border-radius:20px;overflow:hidden;background:var(--sky2);box-shadow:0 22px 44px -16px rgba(0,8,40,.6)}
.stage>svg,.stage>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#dirt{touch-action:none;cursor:crosshair}
#fx{pointer-events:none}
.hint{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:rgba(10,24,56,.84);color:#fff;font-weight:700;font-size:15px;pointer-events:none;transition:opacity .3s;white-space:nowrap}
.hint svg{width:22px;height:22px;flex:none}
.stage.started .hint{opacity:0}
.glints{opacity:0;transition:opacity .5s}
.stage.done .glints{opacity:1}
@media (prefers-reduced-motion:no-preference){.stage.done .glints use{animation:tw 1.8s ease-in-out infinite}.stage.done .glints use:nth-child(2n){animation-delay:.6s}.stage.done .glints use:nth-child(3n){animation-delay:1.1s}}
@keyframes tw{0%,100%{opacity:.25}50%{opacity:1}}
.side{display:grid;gap:16px;align-content:start;padding:20px;border-radius:20px;background:var(--blue-deep)}
.side h2{font-size:26px}
.side p{color:rgba(255,255,255,.86)}
.meters{display:grid;gap:12px}
.meter{display:grid;grid-template-columns:64px minmax(0,1fr) 46px;gap:10px;align-items:center;font-weight:700}
.meter .bar{height:12px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.meter .bar i{display:block;height:100%;width:0;background:var(--yellow);border-radius:inherit;transition:width .25s}
.meter b{text-align:right;font-variant-numeric:tabular-nums}
.acts{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.win{display:grid;gap:10px;padding:16px;border-radius:14px;background:var(--yellow);color:var(--yellow-ink)}
.win h3{font-size:21px}
.win p{color:var(--yellow-ink)}
.win .btn{background:var(--blue);color:#fff;justify-self:start}

/* Sections */
.band{padding-block:clamp(44px,6vw,72px)}
.band.white{background:var(--surface);border-block:1px solid var(--line)}
.band.yellow{background:var(--band-y);color:var(--band-y-ink)}
.sec-head{display:grid;gap:10px;margin-bottom:26px;max-width:46em}
.sec-head p{color:var(--muted);font-size:17px}
.band.yellow .sec-head p{color:var(--band-y-ink)}

.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.svc{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px}
.svc .icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--link)}
.svc .icon svg{width:26px;height:26px}
.svc ul{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--muted)}
.svc .from{margin-top:auto;padding-top:8px;font:800 20px var(--font-d);font-stretch:115%}
.svc.combo{background:var(--blue);color:#fff;border-color:var(--blue)}
.svc.combo ul{color:rgba(255,255,255,.9)}
.svc.combo .icon{background:var(--yellow);color:var(--yellow-ink)}
@media (max-width:860px){.services{grid-template-columns:minmax(0,1fr)}}

.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.why div{display:grid;gap:10px;align-content:start}
.why p{color:var(--muted)}
.season{margin-top:26px;padding:16px 18px;border-radius:var(--r);background:var(--tint);display:grid;gap:4px}
.season b{font:800 19px var(--font-d);font-stretch:115%}
@media (max-width:760px){.why{grid-template-columns:minmax(0,1fr)}}

.table-wrap{border-radius:var(--r);background:var(--surface);color:var(--ink);overflow:hidden;box-shadow:0 10px 30px -18px rgba(40,30,0,.5)}
table{width:100%;border-collapse:collapse;font-size:16px}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:14px;color:var(--muted);font-weight:700}
tr:last-child td{border-bottom:0}
th:last-child,td.price{text-align:right}
td.price{font:800 18px var(--font-d);font-stretch:110%;white-space:nowrap;font-variant-numeric:tabular-nums}
.save{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.note{font-size:15px;margin-top:14px}
@media (max-width:600px){
  table{font-size:15px}
  thead{display:none}
  tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 16px;border-bottom:1px solid var(--line)}
  tr:last-child{border-bottom:0}
  td{padding:0;border:0}
  td:first-child{font-weight:700}
  td:nth-child(2){grid-column:1;grid-row:2;color:var(--muted);font-size:14px}
  td.price{grid-column:2;grid-row:1/3;align-self:center}
}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}
.steps li{counter-increment:step;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(step);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font:900 19px var(--font-d)}
.steps p{color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.steps{grid-template-columns:minmax(0,1fr)}}

.areas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.areas li{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-weight:600;font-size:15px}

.faq{display:grid;gap:10px;max-width:820px}
details{background:var(--surface);border:1px solid var(--line);border-radius:12px}
details summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:700;display:flex;justify-content:space-between;gap:14px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font:900 22px/1 var(--font-d);color:var(--link)}
details[open] summary::after{content:"–"}
details .a{padding:0 18px 16px;color:var(--muted)}

/* Quote */
.quote{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:start}
.quote-side{display:grid;gap:14px}
.quote-side .call{font:900 30px var(--font-d);font-stretch:115%}
.quote-side .call a{text-decoration:none}
form.qf{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:16px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:grid;gap:6px}
.field label,fieldset legend{font-weight:600;font-size:15px}
.field input,.field select,.field textarea{width:100%;font:16px var(--font-b);color:var(--ink);background:var(--surface);border:1.5px solid var(--field);border-radius:10px;padding:11px 12px}
.field textarea{min-height:96px;resize:vertical}
fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid var(--field);border-radius:999px;cursor:pointer;font-weight:600;background:var(--surface)}
.opts input{accent-color:var(--blue);width:18px;height:18px;margin:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.err{color:var(--err);font-size:14px;font-weight:600}
.muted{color:var(--muted)}
.privacy{font-size:13.5px;color:var(--muted)}
.done-box{background:var(--tint);border-radius:var(--r);padding:22px;display:grid;gap:8px}
@media (max-width:860px){.quote{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.row2{grid-template-columns:minmax(0,1fr)}}

footer.site{background:var(--blue);color:#fff;padding-block:36px 40px}
footer.site .wrap{display:grid;gap:10px}
footer.site a{color:#fff}
footer.site .fine{font-size:13.5px;opacity:.85}

.sky-a{stop-color:var(--sky1)}.sky-b{stop-color:var(--sky2)}
.logo-sun{fill:var(--yellow)}
.logo-drop{fill:var(--blue);stroke:var(--surface);stroke-width:2.5}
.logo-shine{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}

.callbar{display:none}
@media (max-width:700px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
  .callbar .btn{width:100%}
  .callbar .btn.ink{border-color:var(--ink);color:var(--ink)}
  footer.site{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-bottom:90px}
}

/* Thanks and 404 pages */
.simple{padding-block:clamp(56px,10vw,120px)}
.simple .wrap{display:grid;gap:18px;max-width:760px}
.simple p{font-size:18px;color:var(--muted)}
.simple .ctas{margin-top:6px}
.btn.ink{border-color:var(--ink);color:var(--ink)}
.opt{font-weight:400;color:var(--muted)}
