/* ==========================================================================
   Armed Guard Security Service — charcoal-blue and brushed bronze on warm white.
   Domine over Asap. Signature structure is a stack of zone bands, read like a
   section through a branch, each carrying a risk tier.

   Kicker discipline: BASE is the dark ink tone for light grounds; each dark
   context overrides to the light tone.
   ========================================================================== */

:root{
  --ink:#1f2a37; --ink-2:#28323f; --ink-3:#39434f;
  --bz:#9a6a2f; --bz-ink:#7f5622; --bz-lt:#d9ab6a; --bz-wash:#f7efe2;
  --paper:#fbfaf7; --paper-2:#f2efe9; --paper-3:#e6e1d7;
  --txt:#1c2229; --txt-mute:#57606b; --line:#ded9cf;
  --on-deep:#eef1f4; --on-deep-mute:#a3aeba;
  --crit-bg:#f7e6e4; --crit-fg:#8e2016;
  --high-bg:#f5ebda; --high-fg:#7f5622;
  --elev-bg:#eef0e4; --elev-fg:#56621f;
  --wrap:1180px; --r:3px;
  --disp:'Domine',Georgia,'Times New Roman',serif;
  --body:'Asap',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.7;color:var(--txt);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0 0 .5em;line-height:1.2;font-weight:600;font-family:var(--disp);letter-spacing:-.015em}
p{margin:0 0 1.1em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--bz);outline-offset:3px}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:26px}
.wrap.narrow{max-width:var(--wrap)}
.wrap.narrow:not(.center) > *{max-width:800px}
.wrap.narrow.center{max-width:800px}
.center{text-align:center}
.ic{width:1.1em;height:1.1em;flex:0 0 auto}
.muted{color:var(--txt-mute);font-size:.85rem}

.skip{position:absolute;left:-9999px;background:var(--bz-ink);color:#fff;padding:12px 20px;z-index:99;font-weight:700}
.skip:focus{left:12px;top:12px}

/* ---------------------------------------------------------------- header */
.hdr{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.1)}
.hdr-in{display:flex;align-items:center;gap:26px;min-height:80px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--on-deep);flex:0 0 auto}
.brand-mark{display:grid;place-items:center;width:50px;height:40px;background:var(--bz-lt);color:var(--ink);
  font-family:var(--disp);font-weight:700;font-size:.8rem;letter-spacing:.05em;border-radius:var(--r)}
.brand-txt{font-family:var(--disp);font-size:1.02rem;font-weight:700;line-height:1.24}
.brand-txt em{display:block;font-style:normal;font-family:var(--body);font-size:.64rem;font-weight:600;
  letter-spacing:.13em;color:var(--on-deep-mute);margin-top:5px;text-transform:uppercase}

.nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav ul{display:flex;gap:21px;min-width:0;flex-wrap:wrap}
.nav ul a{text-decoration:none;font-size:.88rem;font-weight:500;color:var(--on-deep-mute);
  padding:5px 0;border-bottom:2px solid transparent}
.nav ul a:hover,.nav ul a[aria-current]{color:#fff;border-color:var(--bz-lt)}
.navtoggle,.burger{display:none}

/* --------------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--bz-ink);color:#fff;white-space:nowrap;
  padding:14px 26px;text-decoration:none;font-weight:700;font-size:.92rem;font-family:var(--body);
  border:2px solid var(--bz-ink);border-radius:var(--r);cursor:pointer;transition:.15s}
.btn:hover{background:#66441a;border-color:#66441a}
.btn .ic{width:1em;height:1em}
.nav .btn{flex:0 0 auto}
.btn-ghost{background:transparent;color:var(--txt);border-color:var(--txt)}
.btn-ghost:hover{background:var(--txt);color:var(--paper)}
.btn-sm{padding:9px 18px;font-size:.84rem}
.btn-block{width:100%;justify-content:center;padding:16px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0 0}
.btns.center{justify-content:center}

/* ------------------------------------------------------------------ hero */
.hero{position:relative;background:var(--ink);color:var(--on-deep);overflow:hidden;
  border-bottom:4px solid var(--bz)}
.hero-in{position:relative;z-index:2;max-width:var(--wrap);padding:92px 26px 82px}
.hero-in > *{max-width:820px}
.hero h1{font-size:clamp(2.2rem,5vw,3.7rem);letter-spacing:-.024em;margin-bottom:.32em}
.hero .lead{font-size:1.1rem;color:var(--on-deep-mute);max-width:60ch}
.hero .btn:not(.btn-ghost),.pagehead .btn:not(.btn-ghost){background:var(--bz-lt);border-color:var(--bz-lt);color:var(--ink)}
.hero .btn:not(.btn-ghost):hover,.pagehead .btn:not(.btn-ghost):hover{background:#fff;border-color:#fff;color:var(--ink)}
.hero .btn-ghost,.pagehead .btn-ghost{background:transparent;color:var(--on-deep);border-color:rgba(255,255,255,.44)}
.hero .btn-ghost:hover,.pagehead .btn-ghost:hover{background:var(--on-deep);color:var(--ink);border-color:var(--on-deep)}

.kicker{font-family:var(--body);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;
  font-weight:700;color:var(--bz-ink);margin:0 0 18px}
.hero .kicker,.pagehead .kicker,.sec-deep .kicker,.cta-band .kicker{color:var(--bz-lt)}
.center-k{text-align:center}
.hero-points{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:34px;padding-top:26px;
  border-top:1px solid rgba(255,255,255,.16)}
.hero-points li{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--on-deep-mute)}
.hero-points .ic{color:var(--bz-lt)}

/* -------------------------------------------------------------- sections */
.sec{padding:88px 0}
.sec-tint{background:var(--paper-2)}
.sec-deep{background:var(--ink);color:var(--on-deep)}
.sec-deep .lead{color:var(--on-deep-mute)}
.sec-head{max-width:760px;margin-bottom:48px}
.h2{font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-.022em}
.lead{font-size:1.05rem;color:var(--txt-mute)}

/* ------------------------------------------------------- the zone bands */
.zones{border-top:3px solid var(--ink)}
.zone{position:relative;display:grid;grid-template-columns:56px auto 1fr auto;gap:22px;align-items:center;
  padding:26px 0;border-bottom:1px solid var(--line);transition:.15s}
.zone:hover{background:var(--bz-wash)}
.zone-code{font-family:var(--disp);font-weight:700;font-size:1.1rem;color:var(--bz-ink);letter-spacing:.02em}
.zone-ic{display:grid;place-items:center;width:48px;height:48px;background:var(--paper-2);
  color:var(--ink);border-radius:var(--r)}
.zone-ic .ic{width:23px;height:23px}
.zone-body h3{font-size:1.18rem;margin-bottom:.3em}
.zone-body h3 a{text-decoration:none}
.zone-body h3 a::after{content:"";position:absolute;inset:0}
.zone-body h3 a:hover{color:var(--bz-ink)}
.zone-body p{margin:0;font-size:.94rem;color:var(--txt-mute)}
.tier{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  padding:6px 13px;border-radius:99px;white-space:nowrap}
.tier-critical{background:var(--crit-bg);color:var(--crit-fg)}
.tier-high{background:var(--high-bg);color:var(--high-fg)}
.tier-elevated{background:var(--elev-bg);color:var(--elev-fg)}

/* ------------------------------------------------------- the stance list */
.stance{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px}
.stance li{border-top:3px solid var(--bz-lt);padding-top:20px}
.stn-n{display:block;font-family:var(--disp);font-size:.78rem;font-weight:700;letter-spacing:.16em;
  color:var(--bz-lt);margin-bottom:12px}
.stance h3{font-size:1.08rem;color:var(--on-deep);margin-bottom:.42em}
.stance p{margin:0;font-size:.93rem;color:var(--on-deep-mute);line-height:1.66}

/* ------------------------------------------------------------------ faq */
.faq{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:21px 44px 21px 0;font-weight:600;font-size:1.02rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:15px;font-size:1.7rem;font-weight:400;color:var(--bz-ink);line-height:1}
.faq[open] summary::after{content:"–"}
.faq p{margin:0 0 22px;color:var(--txt-mute)}

/* ------------------------------------------------------------- cta band */
.cta-band{background:var(--ink-2);color:var(--on-deep)}
.cta-band .lead{color:var(--on-deep-mute)}
.cta-band .btn:not(.btn-ghost){background:var(--bz-lt);border-color:var(--bz-lt);color:var(--ink)}
.cta-band .btn:not(.btn-ghost):hover{background:#fff;border-color:#fff;color:var(--ink)}
.cta-band .btn-ghost{background:transparent;color:var(--on-deep);border-color:rgba(255,255,255,.44)}
.cta-band .btn-ghost:hover{background:var(--on-deep);color:var(--ink);border-color:var(--on-deep)}

/* ------------------------------------------------------------- pagehead */
.pagehead{position:relative;background:var(--ink);color:var(--on-deep);padding:62px 0 58px;
  overflow:hidden;border-bottom:4px solid var(--bz)}
.pagehead .wrap{position:relative;z-index:2}
.pagehead h1{font-size:clamp(1.9rem,4.1vw,2.9rem);letter-spacing:-.022em}
.pagehead .lead{color:var(--on-deep-mute);max-width:64ch}
.crumbs{font-size:.78rem;color:var(--on-deep-mute);margin-bottom:20px}
.crumbs a{color:var(--bz-lt);text-decoration:none}
.crumbs span{margin:0 7px}

.prose h2{font-size:1.34rem;margin-top:1.95em;letter-spacing:-.016em}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--txt-mute);font-size:1.02rem}

/* --------------------------------------------------------------- contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.contact-form{background:#fff;border:1px solid var(--line);border-top:4px solid var(--bz);
  border-radius:var(--r);padding:38px}
.checklist{margin:0 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.checklist li{display:flex;gap:11px;align-items:flex-start;padding:9px 0;font-size:.94rem}
.checklist .ic{color:var(--bz-ink);margin-top:.32em;width:1em;height:1em}
.field{margin-bottom:20px}
.field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:7px}
.field label span{color:var(--bz-ink)}
.field input,.field textarea{width:100%;padding:14px 15px;border:1px solid var(--line);background:var(--paper);
  font:inherit;font-size:.96rem;border-radius:var(--r);transition:.15s}
.field input:focus,.field textarea:focus{border-color:var(--bz);outline:none;box-shadow:0 0 0 3px rgba(154,106,47,.18)}
.field textarea{resize:vertical;min-height:136px}
.field.bad input,.field.bad textarea{border-color:#a3261a;background:#fdf4f3}
.field em{display:block;color:#8e2016;font-size:.83rem;font-style:normal;margin-top:6px;font-weight:700}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.formnote{font-size:.82rem;color:var(--txt-mute);margin:14px 0 0;text-align:center}
.hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.alert{padding:24px 26px;margin-bottom:22px;border-radius:var(--r)}
.alert-ok{background:var(--bz-wash);border-left:4px solid var(--bz)}
.alert-ok h2{font-size:1.18rem;margin-bottom:.4em}
.alert-ok p{margin:0;color:var(--txt-mute)}
.alert-err{background:#fbeeec;border-left:4px solid #a3261a;color:#78201a;font-weight:700}
.lic-note{font-size:.83rem;color:var(--txt-mute);border-top:1px solid var(--line);padding-top:16px;margin-top:22px}

/* ---------------------------------------------------------------- footer */
.ftr{background:var(--ink);color:var(--on-deep-mute);padding:70px 0 0;font-size:.9rem}
.ftr .brand{color:var(--on-deep)}
.ftr .muted{color:var(--on-deep-mute)}
.ftr-grid{display:grid;grid-template-columns:1.8fr 1.35fr 1.05fr 1.2fr;gap:40px;padding-bottom:52px}
.ftr-about p{margin:20px 0 0;max-width:40ch;font-size:.89rem;line-height:1.72}
.ftr-about .lic{margin-top:14px;font-size:.79rem;color:#94a0ac}
.ftr-h{font-family:var(--disp);color:#fff;font-size:.76rem;text-transform:uppercase;
  letter-spacing:.13em;font-weight:700;margin-bottom:20px}
.ftr-list li{margin-bottom:11px}
.ftr-list a{color:var(--on-deep-mute);text-decoration:none}
.ftr-list a:hover{color:#fff}
.ftr-n{display:inline-block;min-width:30px;color:var(--bz-lt);font-weight:700}
.ftr-contact li{display:flex;gap:11px;align-items:flex-start}
.ftr-contact .ic{color:var(--bz-lt);margin-top:.3em}
.ftr-contact.big li{margin-bottom:20px;font-size:1rem}
.ftr-contact.big div{display:flex;flex-direction:column;gap:2px}
.ftr-contact.big a{color:var(--txt);font-weight:700;text-decoration:none}
.ftr-contact.big a:hover{color:var(--bz-ink)}
.ftr-btm{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  border-top:1px solid rgba(255,255,255,.14);padding-top:24px;padding-bottom:28px;font-size:.8rem}
.ftr-btm p{margin:0}
.contact-info .ftr-contact .ic{color:var(--bz-ink)}
.contact-info .muted{color:var(--txt-mute)}

/* ----------------------------------------------------------------- media */
.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.3}
.hero.has-media::after,.pagehead.has-media::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(31,42,55,.96) 0%,rgba(31,42,55,.86) 52%,rgba(31,42,55,.56) 100%)}
.slot-hint{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:3;
  font:700 .68rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;
  padding:8px 16px;border:1px dashed rgba(217,171,106,.5);border-radius:99px;
  color:var(--bz-lt);background:rgba(0,0,0,.3);white-space:nowrap;pointer-events:none}
@media print{.slot-hint{display:none}}

/* ------------------------------------------------------------ responsive */
@media (max-width:1000px){
  .contact-grid{grid-template-columns:1fr;gap:44px}
  .ftr-grid{grid-template-columns:1fr 1fr;gap:38px}
  .zone{grid-template-columns:44px auto 1fr}
  .tier{grid-column:3;justify-self:start;margin-top:12px}
}
@media (max-width:880px){
  .burger{display:block;margin-left:auto;width:28px;height:20px;cursor:pointer;position:relative}
  .burger span,.burger::before,.burger::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--on-deep);transition:.2s}
  .burger span{top:9px} .burger::before{top:0} .burger::after{bottom:0}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--ink-2);flex-direction:column;
    align-items:stretch;gap:0;padding:10px 26px 24px;margin:0;display:none;border-bottom:4px solid var(--bz)}
  .navtoggle:checked ~ .nav{display:flex}
  .nav ul{flex-direction:column;gap:0}
  .nav ul a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .nav .btn{margin-top:16px;justify-content:center}
  .hero-in{padding:58px 26px 62px}
  .sec{padding:62px 0}
  .row{grid-template-columns:1fr}
  .contact-form{padding:26px 22px}
}
@media (max-width:520px){
  body{font-size:16px}
  .ftr-grid{grid-template-columns:1fr}
  .btns .btn{width:100%;justify-content:center}
  .zone{grid-template-columns:44px 1fr}
  .zone-ic{display:none}
  .tier{grid-column:2}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
