/* ============================================================
   BACKUP — power that never drops
   Scoped to body.d-backup. 1rem = 10px.
   ============================================================ */
body.d-backup{
  --bk-ink:#0b1426;--bk-soft:#44506a;--bk-mute:#5f6b82;--bk-blue:#1d4ed8;--bk-blue2:#3b82f6;--bk-green:#16a34a;--bk-lime:#22c55e;--bk-paper:#f5f8fc;--bk-line:#dde5f0;--bk-off:#9aa6b8;
  --bg-primary:var(--bk-paper);--bg-secondary:#eaf0f8;--bg-card:#fff;--bg-inset:#eef3f9;
  --fg-primary:var(--bk-ink);--fg-soft:var(--bk-soft);--fg-muted:var(--bk-mute);--border-color:var(--bk-line);--border-strong:#c3cfdf;
  background:var(--bk-paper);color:var(--bk-ink);font-family:'Inter',system-ui,sans-serif
}
body.d-backup h1,body.d-backup h2,body.d-backup h3{font-family:'Chakra Petch','Inter',sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.02}
.bk-kick{display:inline-flex;align-items:center;gap:.8rem;font-family:'Chakra Petch',sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--bk-blue);margin-bottom:1.4rem}
.bk-kick::before{content:'';width:10px;height:10px;border-radius:2px;background:var(--bk-lime);box-shadow:0 0 0 3px rgba(34,197,94,.18)}

body.d-backup .bx-nav{background:rgba(245,248,252,.86)}
body.d-backup .bx-brand-mark{border-radius:8px;background:linear-gradient(135deg,var(--bk-blue2),var(--bk-blue));font-family:'Chakra Petch',sans-serif}
body.d-backup .bx-brand-txt b{font-family:'Chakra Petch',sans-serif;font-size:1.9rem}
body.d-backup .bx-nav-links a{font-weight:500;font-size:1.3rem;color:var(--bk-soft)}
body.d-backup .bx-nav-links a::after{background:var(--bk-blue);height:2px}
body.d-backup .bx-nav-cta{background:var(--bk-blue);border-radius:8px}

/* hero */
.bk-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 6rem) 3rem 8rem;background:linear-gradient(180deg,#fff,var(--bk-paper))}
.bk-grid{position:absolute;inset:0;background-image:linear-gradient(var(--bk-line) 1px,transparent 1px),linear-gradient(90deg,var(--bk-line) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 70% 70% at 70% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 40%,#000 20%,transparent 75%);opacity:.7}
.bk-hero-in{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center}
.bk-hero-in>*{min-width:0}
.bk-status{display:inline-flex;align-items:center;gap:1rem;padding:.8rem 1.6rem;border-radius:8px;background:#fff;border:1px solid var(--bk-line);font-family:'Chakra Petch',sans-serif;font-size:1.25rem;font-weight:600;color:var(--bk-soft);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2.6rem}
.bk-sep{color:var(--bk-line)}
.bk-led{width:9px;height:9px;border-radius:50%;background:var(--bk-lime);box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:bk-led 2s infinite}
@keyframes bk-led{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.bk-hero h1{font-size:clamp(4.8rem,7.4vw,9rem);color:var(--bk-ink)}
.bk-tag{font-family:'Chakra Petch',sans-serif;font-size:clamp(1.9rem,2.2vw,2.5rem);font-weight:600;color:var(--bk-blue);margin-top:1.4rem}
.bk-lede{font-size:1.7rem;line-height:1.65;color:var(--bk-soft);margin-top:1.8rem;max-width:52ch}
.bk-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.bk-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.5rem 2.6rem;border-radius:10px;font-size:1.5rem;font-weight:600;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.bk-btn-main{background:var(--bk-blue);color:#fff;box-shadow:0 14px 30px rgba(29,78,216,.28)}
.bk-btn-main:hover{background:#1e40af;transform:translateY(-2px)}
.bk-btn-line{background:#fff;color:var(--bk-ink);border:1px solid var(--bk-line)}
.bk-btn-line:hover{border-color:var(--bk-blue)}

/* the single-line diagram */
.bk-sld{background:#fff;border:1px solid var(--bk-line);border-radius:18px;padding:2.4rem 2.4rem 1.6rem;box-shadow:0 40px 80px rgba(11,20,38,.1)}
.bk-sld svg{width:100%;height:auto;display:block;overflow:visible}
.bk-wire path{fill:none;stroke:var(--bk-blue2);stroke-width:4;stroke-linecap:round}
.bk-wire circle{fill:#fff;stroke:var(--bk-blue2);stroke-width:3}
.bk-dc{fill:none;stroke:var(--bk-line);stroke-width:4;stroke-dasharray:6 6}
.bk-box{fill:var(--bk-ink);stroke:none}
.bk-t1{fill:#fff;font:700 24px 'Chakra Petch',sans-serif;text-anchor:middle}
.bk-t2{fill:var(--bk-lime);font:600 12px 'Chakra Petch',sans-serif;text-anchor:middle;letter-spacing:.14em;text-transform:uppercase}
.bk-batt{fill:#fff;stroke:var(--bk-ink);stroke-width:3}
.bk-batt-tip{fill:var(--bk-ink)}
.bk-fill{fill:var(--bk-lime);transform-origin:168px 220px}
.bk-lbl{fill:var(--bk-mute);font:600 11px 'Chakra Petch',sans-serif;letter-spacing:.18em;text-anchor:start}
.bk-lbl-r{text-anchor:end}
text.bk-lbl[x="210"]{text-anchor:middle}
.bk-pulse{fill:var(--bk-lime)}
.bk-sld figcaption{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem;border-top:1px dashed var(--bk-line);padding-top:1.4rem}
.bk-read b{display:block;font-family:'Chakra Petch',sans-serif;font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bk-mute)}
.bk-read i{font-style:normal;font-weight:700;font-size:1.45rem;color:var(--bk-ink)}
.bk-mains-state{position:relative;display:block;min-height:2rem}
.bk-off{position:absolute;left:0;top:0;opacity:0;color:#c2410c;white-space:nowrap}

/* The outage: a ten-second loop. Mains drops, the DC link lights, the
   battery gives a little, mains returns. Decoration only. */
.fx2 .bk-mains path,.fx2 .bk-mains circle{animation:bk-mains 10s infinite}
.fx2 .bk-dc{animation:bk-dc 10s infinite}
.fx2 .bk-fill{animation:bk-drain 10s infinite}
.fx2 .bk-on{animation:bk-on 10s infinite}
.fx2 .bk-off{animation:bk-offl 10s infinite}
@keyframes bk-mains{0%,50%{stroke:var(--bk-blue2)}55%,92%{stroke:var(--bk-off);stroke-dasharray:2 8}97%,100%{stroke:var(--bk-blue2)}}
@keyframes bk-dc{0%,50%{stroke:var(--bk-line)}55%,92%{stroke:var(--bk-lime);stroke-dasharray:6 6;stroke-dashoffset:-60}97%,100%{stroke:var(--bk-line)}}
@keyframes bk-drain{0%,52%{transform:scaleX(1)}92%{transform:scaleX(.72)}100%{transform:scaleX(1)}}
@keyframes bk-on{0%,52%{opacity:1}55%,92%{opacity:0}96%,100%{opacity:1}}
@keyframes bk-offl{0%,52%{opacity:0}55%,92%{opacity:1}96%,100%{opacity:0}}

/* sections */
.bk-sec{padding:9rem 3rem 0}
.bk-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.bk-head{margin-bottom:4rem}
.bk-sec h2{font-size:clamp(3.2rem,4.6vw,5.2rem)}

.bk-svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}
.bk-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--bk-line);border-radius:14px;padding:2.8rem 2.4rem;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.bk-card::before{content:'';position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0),rgba(59,130,246,.1),transparent 60%);pointer-events:none}
.bk-card:hover{transform:translateY(-4px);border-color:var(--bk-blue2);box-shadow:0 24px 50px rgba(29,78,216,.1)}
.bk-card-ico{width:52px;height:52px;border-radius:12px;background:var(--bk-ink);color:var(--bk-lime);display:flex;align-items:center;justify-content:center;font-size:2rem}
.bk-card-n{position:absolute;right:2.2rem;top:2.2rem;font-family:'Chakra Petch',sans-serif;font-weight:600;color:var(--bk-line);font-size:2.4rem}
.bk-card h3{font-size:2.1rem;margin:2rem 0 .8rem}
.bk-card p{font-size:1.45rem;line-height:1.65;color:var(--bk-soft)}

.bk-sheet{display:grid;gap:2rem}
.bk-fam{background:#fff;border:1px solid var(--bk-line);border-radius:14px;overflow:hidden}
.bk-fam h3{display:flex;justify-content:space-between;align-items:center;padding:1.6rem 2.4rem;background:var(--bk-ink);color:#fff;font-size:1.8rem}
.bk-fam h3 small{font-family:'Inter',sans-serif;font-weight:500;font-size:1.2rem;color:var(--bk-lime);letter-spacing:.08em;text-transform:uppercase}
.bk-fam ul{list-style:none;margin:0;padding:0}
.bk-fam li{display:grid;grid-template-columns:minmax(200px,.9fr) 1.4fr auto;gap:2rem;align-items:center;padding:1.6rem 2.4rem;border-top:1px solid var(--bk-line)}
.bk-fam li:first-child{border-top:0}
.bk-fam li:hover{background:var(--bk-paper)}
.bk-fam li b{font-family:'Chakra Petch',sans-serif;font-size:1.65rem;font-weight:600}
.bk-fam li span{font-size:1.4rem;color:var(--bk-soft)}
.bk-fam li a{font-size:1.3rem;font-weight:600;color:var(--bk-blue);display:inline-flex;gap:.6rem;align-items:center;white-space:nowrap}

.bk-about{display:grid;grid-template-columns:1.25fr .75fr;gap:5rem;align-items:start}
.bk-about>*{min-width:0}
.bk-about h2{margin-bottom:2.2rem}
.bk-p{font-size:1.7rem;line-height:1.8;color:var(--bk-soft)}
.bk-p+.bk-p{margin-top:1.4rem}
.bk-team{background:#fff;border:1px solid var(--bk-line);border-radius:14px;padding:2.8rem;position:sticky;top:calc(var(--nav-h) + 3rem)}
.bk-team h3{font-size:1.9rem;margin-bottom:1.6rem}
.bk-team ul{list-style:none;margin:0;padding:0;display:grid;gap:1.2rem}
.bk-team li{display:flex;gap:1.2rem;align-items:center}
.bk-team li>span{width:42px;height:42px;border-radius:10px;background:var(--bk-paper);border:1px solid var(--bk-line);display:flex;align-items:center;justify-content:center;font-family:'Chakra Petch',sans-serif;font-weight:700;color:var(--bk-blue);flex-shrink:0}
.bk-team b{display:block;font-size:1.5rem}
.bk-team small{font-size:1.25rem;color:var(--bk-mute)}
.bk-landline{margin-top:2rem;padding-top:1.6rem;border-top:1px dashed var(--bk-line);font-size:1.4rem;color:var(--bk-soft)}
.bk-landline a{font-weight:600;color:var(--bk-blue)}

.bk-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bk-gal-item{padding:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.bk-gal-item img{width:100%;height:100%;object-fit:cover}
.bk-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.bk-rev figure{background:#fff;border:1px solid var(--bk-line);border-radius:14px;padding:2.6rem}
.bk-rev blockquote{font-size:1.5rem;line-height:1.7;color:var(--bk-soft)}
.bk-rev figcaption{margin-top:1.4rem;font-weight:700}

.bk-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:20px;background:#fff;border:1px solid var(--bk-line)}
.bk-contact>*{min-width:0}
.bk-contact-lede{font-size:1.6rem;line-height:1.65;color:var(--bk-soft);margin:1.6rem 0 3rem}
body.d-backup .ci{border-radius:12px}
body.d-backup .ci-ico{background:var(--bk-ink);color:var(--bk-lime)}
body.d-backup .contact-form{border-radius:14px;background:var(--bk-paper)}
body.d-backup .contact-form h3{font-family:'Chakra Petch',sans-serif;font-size:2.4rem;margin-bottom:1.6rem}
body.d-backup .cf-field input,body.d-backup .cf-field textarea{border-radius:10px;background:#fff}
body.d-backup .btn-onbiz{background:var(--bk-blue);border-radius:10px}
body.d-backup .hours-row{border-radius:10px}
.bk-map{margin-top:3rem}
body.d-backup .biz-map{border-radius:14px}
.bk-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-backup .bx-foot{background:var(--bk-ink);color:#cfd8e6;margin-top:6rem}
body.d-backup .bx-foot p,body.d-backup .bx-foot li,body.d-backup .bx-foot a{color:#a9b5c8}
body.d-backup .bx-foot-col h2{color:var(--bk-lime);font-family:'Chakra Petch',sans-serif}
body.d-backup .bx-foot .bx-brand-txt b{color:#fff}
body.d-backup .bx-foot .btn-onbiz{background:var(--bk-blue)}
body.d-backup .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-backup .bx-foot-bottom{border-top-color:rgba(255,255,255,.1)}

@media (max-width:980px){
  .bk-hero-in,.bk-about,.bk-contact{grid-template-columns:1fr}
  .bk-team{position:static}
  .bk-contact{padding:3rem}
  .bk-fam li{grid-template-columns:1fr auto}
  .bk-fam li span{grid-column:1;grid-row:2}
}
@media (max-width:640px){
  .bk-hero{padding:calc(var(--nav-h) + 3rem) 1.6rem 6rem}
  .bk-sec{padding:7rem 1.6rem 0}
  .bk-sld{padding:1.6rem}
  .bk-sld figcaption{grid-template-columns:1fr 1fr}
  .bk-fam h3,.bk-fam li{padding-left:1.6rem;padding-right:1.6rem}
  .bk-gal{grid-template-columns:1fr 1fr}
  .bk-contact{padding:2rem}
  .bk-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.bk-led{animation:none}.bk-pulse{display:none}}
