/* SFS inner pages — editorial redesign. Everything scoped under .sfs-pg.
   Tokens come from sfs-chrome.css (loaded globally). */
.sfs-pg{color:var(--ink);font-family:"Archivo",system-ui,sans-serif;line-height:1.6;font-size:17px}
.sfs-pg h1,.sfs-pg h2,.sfs-pg h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:800;line-height:1;letter-spacing:-.01em;margin:0;text-wrap:balance}
.sfs-pg p{margin:0}
.sfs-pg a:not(.pg-btn){color:inherit} /* buttons keep their own .pg-btn-* color; other links inherit section color */
.pg-wrap{max-width:1200px;margin:0 auto;padding-inline:var(--gut)}
.pg-narrow{max-width:900px}
.pg-red{color:var(--red)}
.pg-kick{display:inline-flex;align-items:center;gap:10px;color:var(--red);font-weight:700;font-size:14px;margin-bottom:16px}
.pg-kick::before{content:"";width:24px;height:2px;background:var(--red)}
.pg-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:16px;padding:14px 26px;border-radius:2px;border:1.6px solid transparent;cursor:pointer;transition:.2s;text-decoration:none}
.pg-btn-red,a.pg-btn-red:hover,a.pg-btn-red:focus{background:var(--red);color:#fff}.pg-btn-red:hover{background:var(--red-d)}
.pg-btn-dark{border-color:var(--ink);color:var(--ink)}.pg-btn-dark:hover{background:var(--ink);color:#fff}
.pg-btn-light{background:#fff;color:var(--red)}.pg-btn-light:hover{background:var(--ink);color:#fff}
.pg-btn svg{transition:transform .25s}.pg-btn:hover svg{transform:translateX(4px)}

/* page hero band */
.pg-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:flex-end;min-height:clamp(320px,46vh,460px)}
.pg-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-hero .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,14,.82),rgba(10,12,14,.35) 65%,rgba(10,12,14,.15)),linear-gradient(0deg,rgba(10,12,14,.72),transparent 55%)}
.pg-hero .pg-wrap{position:relative;z-index:2;padding-block:clamp(40px,6vw,66px)}
.pg-hero h1{color:#fff;font-size:clamp(2.3rem,5.4vw,4.4rem);font-weight:900;max-width:18ch}
.pg-hero p{color:#e6e9eb;max-width:60ch;font-size:clamp(1.05rem,1.5vw,1.25rem);margin-top:18px}
.pg-hero.plain{background:var(--sand);color:var(--ink);min-height:0;align-items:center}
.pg-hero.plain .pg-wrap{padding-block:clamp(48px,7vw,82px)}
.pg-hero.plain h1{color:var(--ink)}
.pg-hero.plain p{color:#5c5547}

/* sections */
.pg-sec{padding:clamp(58px,8vw,104px) 0}
.pg-sec.tint{background:#EFEBE3}
.pg-sec.ink{background:var(--ink);color:#fff}
.pg-sec.ink h2{color:#fff}.pg-sec.ink p{color:#aeb6bf}
.pg-lead{max-width:760px}
.pg-lead.center{margin:0 auto;text-align:center}
.pg-lead h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.pg-lead p{color:var(--muted);margin-top:18px;font-size:1.08rem}
.pg-lead.center p{margin-left:auto;margin-right:auto}

/* editorial index (service rows) */
.pg-split-head{display:grid;grid-template-columns:minmax(260px,.9fr) 2fr;gap:clamp(30px,5vw,80px);align-items:start}
.pg-split-head .pg-stick{position:sticky;top:140px}
.pg-index{border-top:1.5px solid var(--ink)}
.pg-rw{display:grid;grid-template-columns:1fr auto;gap:10px 28px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line);position:relative;text-decoration:none;color:inherit}
.pg-rw .nm{font-family:"Archivo Expanded";font-weight:700;font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:-.01em}
.pg-rw .ds{grid-column:1/2;color:var(--muted);font-size:15.5px;margin-top:6px;max-width:58ch}
.pg-rw .mt{color:var(--ink);font-weight:600;font-size:13px;border:1px solid var(--line);padding:5px 11px;border-radius:2px;white-space:nowrap;align-self:center}
.pg-rw::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--red);transition:width .35s cubic-bezier(.2,.7,.3,1)}
a.pg-rw:hover::after{width:100%}a.pg-rw:hover .nm{color:var(--red)}

/* text + image split */
.pg-split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.pg-split.flip .pg-split-txt{order:2}
.pg-split img{width:100%;border-radius:8px;display:block;box-shadow:0 30px 60px -30px rgba(16,17,22,.4)}
.pg-split h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.pg-split .lead2{color:var(--muted);margin:16px 0 20px;font-size:1.06rem}
.pg-bul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pg-bul li{display:flex;gap:12px;align-items:flex-start;font-weight:500}
.pg-bul li svg{flex:none;margin-top:3px;color:var(--red)}
.pg-split+.pg-split{margin-top:clamp(40px,6vw,80px)}

/* value / feature cards (flat, editorial) */
.pg-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:34px}
.pg-cell{background:var(--paper);padding:34px 30px}
.pg-sec.tint .pg-grid3{background:#dcd6ca;border-color:#dcd6ca}.pg-sec.tint .pg-cell{background:#EFEBE3}
.pg-cell .ic{width:40px;height:40px;color:var(--red);margin-bottom:16px}
.pg-cell h3{font-size:1.25rem;margin-bottom:8px}
.pg-cell p{color:var(--muted);font-size:15.5px}

/* numbered steps (a real sequence) */
.pg-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px;counter-reset:s}
.pg-step{position:relative;padding-top:52px}
.pg-step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:0;left:0;font-family:"Archivo Expanded";font-weight:800;font-size:2rem;color:var(--red);line-height:1}
.pg-step h3{font-size:1.15rem;margin-bottom:8px}
.pg-step p{color:var(--muted);font-size:15px}

/* dark band */
.pg-band{position:relative;overflow:hidden;color:#fff;min-height:clamp(320px,42vh,420px);display:flex;align-items:center}
.pg-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-band .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,12,.86),rgba(8,10,12,.45) 70%)}
.pg-band .pg-wrap{position:relative;z-index:2;padding-block:clamp(50px,7vw,80px)}
.pg-band h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem);max-width:20ch}
.pg-band p{color:#d4d8dc;max-width:52ch;margin:18px 0 26px;font-size:1.08rem}

/* carrier logos */
.pg-logos{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:36px}
.pg-logos div{min-height:120px;min-width:0;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;padding:28px 20px;background:var(--paper)}
.pg-logos img{max-width:min(150px,70%);max-height:46px;object-fit:contain}
.pg-logos .more{font-family:"Archivo Expanded";font-weight:700;color:var(--muted);font-size:1rem}

/* faq */
.pg-faq{max-width:860px;margin:30px auto 0}
.pg-faq details{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;background:#fff;overflow:hidden}
.pg-faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:"Archivo Expanded";font-weight:700;font-size:1.08rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary::after{content:"+";color:var(--red);font-weight:400;font-size:1.5rem;line-height:1;flex:none}
.pg-faq details[open] summary::after{content:"\2013"}
.pg-faq .a{padding:0 24px 20px;color:var(--muted)}

/* cta banner (with motion) */
.pg-cta{position:relative;overflow:hidden;background:var(--red);color:#fff;padding:clamp(56px,8vw,100px) 0}
.pg-cta::before{content:"";position:absolute;inset:-30% -15%;background:repeating-linear-gradient(115deg,transparent 0 24px,rgba(255,255,255,.055) 24px 27px);animation:pgmove 16s linear infinite}
@keyframes pgmove{to{transform:translateX(130px)}}
.pg-cta .road{position:absolute;left:0;right:0;bottom:0;height:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 30px,transparent 30px 60px);background-size:60px 5px;opacity:.6;animation:pgroad 1s linear infinite}
@keyframes pgroad{to{background-position:60px 0}}
.pg-cta .pg-wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.pg-cta h2{color:#fff;font-size:clamp(1.9rem,3.8vw,3.1rem);max-width:17ch}
.pg-cta .acts{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.pg-cta .ph{color:#fff;font-weight:800;font-family:"Archivo Expanded";font-size:1.4rem}
/* contrast overrides: beat .sfs-pg a{color:inherit} so the white button keeps red text and the phone link stays white */
.pg-cta .pg-btn-light,.pg-cta a.pg-btn-light{color:var(--red,#E01E26)}
.pg-cta .pg-btn-light:hover,.pg-cta a.pg-btn-light:hover{color:#fff}
.pg-cta .ph,.pg-cta .ph a{color:#fff;text-decoration:none}

/* contact */
.pg-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,64px);align-items:start}
.pg-contact .info dl{display:grid;gap:18px;margin:26px 0 0}
.pg-contact .info .it{display:flex;gap:14px;align-items:flex-start}
.pg-contact .info .it svg{flex:none;color:var(--red);margin-top:3px}
.pg-contact .info .it b{display:block;font-family:"Archivo Expanded";font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-weight:700}
.pg-contact .info .it a,.pg-contact .info .it span{font-size:1.08rem;color:var(--ink);text-decoration:none}
.pg-contact .map{margin-top:26px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.pg-contact .map iframe{width:100%;height:220px;border:0;display:block}
.pg-formcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(24px,3vw,38px);box-shadow:0 30px 60px -36px rgba(16,17,22,.3)}
.pg-formcard h2{font-size:1.5rem;margin-bottom:6px}
.pg-formcard>p{color:var(--muted);margin-bottom:18px}

/* prose (legal) */
.pg-prose{max-width:760px}
.pg-prose h2{font-size:1.5rem;margin:34px 0 12px}
.pg-prose h2:first-child{margin-top:0}
.pg-prose p{color:#3b414a;margin:0 0 14px}
.pg-prose ul{color:#3b414a;margin:0 0 14px;padding-left:20px;display:grid;gap:6px}
.pg-prose a{color:var(--red)}

/* tracking intro */
.pg-track-note{max-width:640px;margin:18px auto 0;color:var(--muted);font-size:15px;text-align:center}

@media(max-width:860px){
  .pg-split,.pg-contact,.pg-split-head{grid-template-columns:1fr}
  .pg-split.flip .pg-split-txt{order:0}
  .pg-split-head .pg-stick{position:static}
  .pg-grid3{grid-template-columns:1fr 1fr}
  .pg-steps{grid-template-columns:1fr 1fr}
  .pg-logos{grid-template-columns:repeat(2,1fr)}
  .pg-rw .mt{display:none}
}
@media(max-width:520px){.pg-grid3,.pg-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pg-cta::before,.pg-cta .road{animation:none}}
