:root{
  --ink:#141A20; --ink2:#0F141A; --panel:#1B232B; --line:rgba(231,236,241,.12);
  --text:#E7ECF1; --dim:#9FADBA; --amber:#E0A03E; --red:#B0352A; --white:#fff;
  --wrap:1120px; --r:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font:400 17px/1.6 Archivo,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.05;font-weight:800}
h1{font-size:clamp(2.6rem,8vw,4.6rem);font-weight:900}
h2{font-size:clamp(1.9rem,4.4vw,3rem)}
h3{font-size:1.15rem;letter-spacing:0}
p{margin:0 0 1rem}
.wrap{width:min(var(--wrap),92vw);margin:0 auto}
.sect{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sect.alt{background:var(--ink2)}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;color:var(--amber);margin:0 0 .7rem}
.lede{color:var(--dim);font-size:1.05rem;max-width:56ch}
.fine{color:var(--dim);font-size:.85rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--amber);color:var(--ink);padding:.6rem 1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;
  font-weight:700;letter-spacing:.04em;font-size:.86rem;padding:.75rem 1.2rem;border-radius:var(--r);
  border:1px solid transparent;transition:transform .15s ease,background .2s ease,border-color .2s ease}
.btn.big{font-size:1rem;padding:1rem 1.6rem}
.btn.call{background:var(--amber);color:var(--ink)}
.btn.call:hover{transform:translateY(-1px);background:#EDB055}
.btn.ghost{border-color:rgba(231,236,241,.4);color:var(--text)}
.btn.ghost:hover{border-color:var(--text)}
.rise{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

.demobar{background:var(--amber);color:var(--ink);font-size:.78rem;font-weight:600;
  display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;padding:.5rem 1rem;text-align:center}
.demobar a{font-weight:800;white-space:nowrap}
.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.5rem;
  padding:.85rem clamp(1rem,4vw,2rem);background:rgba(20,26,32,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1;margin-right:auto}
.rl{font-weight:900;letter-spacing:.06em;color:var(--amber);font-size:1.15rem}
.brand small,.foot small{display:block;font-size:.58rem;letter-spacing:.2em;color:var(--dim);margin-top:.3rem}
.nav{display:flex;gap:1.4rem}
.nav a{text-decoration:none;font-size:.86rem;color:var(--dim)}
.nav a:hover{color:var(--text)}
@media (max-width:820px){.nav{display:none}}

.hero{position:relative;display:grid;align-items:center;min-height:clamp(520px,78vh,720px);overflow:hidden}
.hero-bg{position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(20,26,32,.97) 38%,rgba(20,26,32,.55)),
  radial-gradient(60% 80% at 78% 40%,#3A4C5E,#141A20 70%)}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 2px,transparent 2px 9px)}
.hero-in{position:relative;width:min(var(--wrap),92vw);margin:0 auto;padding:clamp(2.5rem,7vw,4rem) 0;
  display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media (min-width:1000px){.hero-in{grid-template-columns:minmax(0,1.15fr) minmax(280px,.8fr)}}
.hero-copy{min-width:0}
.status{display:none;background:rgba(27,35,43,.85);border:1px solid var(--line);border-radius:var(--r);
  padding:1.6rem;backdrop-filter:blur(6px)}
@media (min-width:1000px){.status{display:block}}
.st-k{display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:800;letter-spacing:.18em;color:var(--amber);margin:0 0 1.2rem}
.live{width:.45rem;height:.45rem;border-radius:50%;background:#7FBF6A;box-shadow:0 0 0 3px rgba(127,191,106,.18);animation:pulse 2.4s infinite}
.status dl{margin:0;display:grid;gap:.9rem}
.status dl div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  border-bottom:1px solid var(--line);padding-bottom:.9rem}
.status dl div:last-child{border-bottom:0;padding-bottom:0}
.status dt{color:var(--dim);font-size:.85rem}
.status dd{margin:0;font-weight:800;font-size:1.25rem;letter-spacing:-.01em}
.st-f{margin:1.3rem 0 0;font-size:.8rem;color:var(--dim)}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.24em;color:var(--amber);margin-bottom:1rem}
.hero .sub{color:var(--dim);font-size:clamp(1rem,1.7vw,1.2rem);max-width:46ch;margin:1.3rem 0 2rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.badges{display:flex;gap:1.6rem;flex-wrap:wrap;list-style:none;padding:0;margin:2.4rem 0 0;
  font-size:.76rem;font-weight:700;letter-spacing:.12em;color:var(--dim)}
.badges li{position:relative;padding-left:1.1rem}
.badges li::before{content:"";position:absolute;left:0;top:.42em;width:.42rem;height:.42rem;background:var(--amber);border-radius:50%}
.emergency{background:var(--red);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.14em;
  padding:.85rem 1rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.6rem}
.emergency .dot{width:.45rem;height:.45rem;border-radius:50%;background:#fff;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.emergency .dot{animation:none}}

.cards{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));margin-top:2.5rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}
.card h3{color:var(--amber);margin-bottom:.7rem}
.card p{color:var(--dim);font-size:.95rem}
.card ul{list-style:none;padding:0;margin:1.1rem 0 0;border-top:1px solid var(--line)}
.card li{font-size:.88rem;padding:.6rem 0 .6rem 1.1rem;border-bottom:1px solid var(--line);position:relative}
.card li:last-child{border-bottom:0}
.card li::before{content:"";position:absolute;left:0;top:1.05em;width:.35rem;height:.35rem;background:var(--amber)}
.area-grid,.quote-grid{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr 1fr;align-items:start}
@media (max-width:820px){.area-grid,.quote-grid{grid-template-columns:1fr}}
.towns{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.towns li{border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--r);
  padding:.9rem 1rem;font-weight:700;font-size:.95rem;background:var(--panel)}
.why-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:2.5rem 0}
.why{padding:1.4rem 0 0;border-top:2px solid var(--amber)}
.why .n{font-size:.72rem;font-weight:800;letter-spacing:.2em;color:var(--amber)}
.why h3{margin:.6rem 0 .5rem}
.why p{color:var(--dim);font-size:.92rem;margin:0}
.quotes{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1rem}
.quotes figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.quotes blockquote{margin:0 0 .9rem;font-size:1rem;line-height:1.55}
.quotes figcaption{font-size:.78rem;letter-spacing:.1em;color:var(--amber);font-weight:700}

.direct{margin-top:1.8rem}
.direct .fine{margin-top:.9rem}
#qform{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.3rem,3vw,2rem)}
.f{margin-bottom:1rem}
.f label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.14em;color:var(--dim);margin-bottom:.45rem}
.f input,.f textarea{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:var(--r);
  color:var(--text);font:inherit;font-size:.95rem;padding:.8rem .9rem}
.f input:focus,.f textarea:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:transparent}
#qform .btn{width:100%}
.note{font-size:.78rem;color:var(--dim);margin:.9rem 0 0;text-align:center}
.foot{background:var(--ink2);border-top:1px solid var(--line);padding:3rem 0 0}
.foot-in{display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between;padding-bottom:2.5rem}
.fcols p{margin:0 0 .4rem;font-size:.9rem;color:var(--dim)}
.fcols a{color:var(--amber);font-weight:700;text-decoration:none}
.built{border-top:1px solid var(--line);margin:0;padding:1.2rem;text-align:center;font-size:.8rem;color:var(--dim)}
.built a{color:var(--amber);font-weight:700;text-decoration:none}
.stickycall{display:none}
@media (max-width:820px){
  .stickycall{display:flex;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;
    align-items:center;justify-content:center;gap:.5rem;background:var(--amber);color:var(--ink);
    text-decoration:none;font-weight:800;letter-spacing:.04em;padding:1rem;border-radius:var(--r);
    box-shadow:0 10px 30px rgba(0,0,0,.45)}
  body{padding-bottom:4.5rem}
  .bar .btn.call{display:none}
}
