/* Brandarrow brand system, per Brand Guidelines 2021
   Primary: #E83626 red, #F1F1F1 light grey, #FFFFFF white, #000000 black
   Secondary: #09B598 teal, #00142D navy (minimal use)
   Type: Work Sans Bold headlines, Poppins primary, Montserrat secondary/CTA */
:root{
  --red:#E83626;--red-d:#C02A1D;--grey:#F1F1F1;--white:#fff;--black:#000;
  --teal:#09B598;--navy:#00142D;
  --body:#3d3d3d;--muted:#6b6b6b;--line:#dedede;--w:1180px;
  --f-head:"Work Sans",system-ui,sans-serif;
  --f-body:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --f-alt:"Montserrat",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:16px/1.7 var(--f-body);color:var(--body);background:var(--grey);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;line-height:1.06;letter-spacing:-.02em;color:var(--black)}
h1{font-size:clamp(2.4rem,6.4vw,4.9rem);letter-spacing:-.03em}
h2{font-size:clamp(1.9rem,4.2vw,3.1rem)}
h3{font-size:1.22rem;line-height:1.25}
.eyebrow{font:700 .72rem/1 var(--f-alt);letter-spacing:.19em;text-transform:uppercase;color:var(--red);margin-bottom:18px;display:inline-block}
.lead{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--muted);max-width:640px;margin-top:22px;font-weight:300}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:3px;font:700 .95rem var(--f-alt);letter-spacing:.02em;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s;border:2px solid transparent}
.btn-p{background:var(--red);color:var(--white)}
.btn-p:hover{background:var(--red-d);transform:translateY(-2px)}
.btn-g{border-color:var(--black);color:var(--black)}
.btn-g:hover{background:var(--black);color:var(--white)}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
/* header */
header.nav{position:sticky;top:0;z-index:50;background:var(--black);color:var(--white)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.logo img{display:block;height:25px;width:auto}
.nav ul{display:flex;gap:30px;list-style:none;align-items:center}
.nav ul a{font:500 .94rem var(--f-body);text-decoration:none;color:rgba(255,255,255,.78);transition:color .18s}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--white)}
.nav ul a[aria-current]{box-shadow:inset 0 -2px 0 var(--red);padding-bottom:4px}
.nav .btn{padding:11px 22px;border-radius:3px}
.nav .btn[aria-current]{box-shadow:none;padding-bottom:11px}
.burger{display:none;background:none;border:0;color:var(--white);font-size:1.5rem;cursor:pointer;padding:4px}
@media(max-width:900px){
  .burger{display:block}
  .logo img{height:21px}
  .nav ul{position:absolute;top:78px;left:0;right:0;background:var(--black);flex-direction:column;align-items:flex-start;padding:22px 24px 28px;gap:18px;display:none;border-top:1px solid #222}
  .nav ul.open{display:flex}
}
/* surfaces */
.dark{background:var(--black);color:var(--white)}
.dark h1,.dark h2,.dark h3{color:var(--white)}
.dark .lead,.dark .muted{color:rgba(255,255,255,.66)}
.white-bg{background:var(--white)}
.hero{position:relative;overflow:hidden;padding:112px 0 118px;background:var(--black);color:var(--white)}
.hero h1{color:var(--white)}
.hero:after{content:"";position:absolute;right:-8%;top:-18%;width:62%;height:150%;background:linear-gradient(115deg,transparent 42%,rgba(232,54,38,.16) 42%,rgba(232,54,38,.16) 58%,transparent 58%);pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero h1 em{font-style:normal;color:var(--red)}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}
.hero .btn-g{border-color:rgba(255,255,255,.5);color:var(--white)}
.hero .btn-g:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.quote-chip{margin-top:62px;border-left:3px solid var(--red);padding-left:20px;max-width:540px}
.quote-chip p{font-size:1.1rem;font-weight:300;color:rgba(255,255,255,.9)}
.quote-chip span{color:rgba(255,255,255,.55);font:.82rem var(--f-alt)}
section{padding:100px 0}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:34px}
.dark .card{background:#0d0d0d;border-color:#242424}
.card p{color:var(--muted);margin-top:12px;font-size:.97rem}
.dark .card p{color:rgba(255,255,255,.62)}
.num{font:700 2.6rem var(--f-head);color:var(--red);line-height:1;letter-spacing:-.04em}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:32px}section{padding:72px 0}.hero{padding:76px 0}}
.pains li{list-style:none;padding:20px 0;border-bottom:1px solid var(--line);font:700 1.12rem var(--f-head);color:var(--black);display:flex;gap:14px;align-items:baseline}
.pains li:before{content:">";color:var(--red);font-weight:700}
.placeholder{border:2px dashed rgba(232,54,38,.55);background:repeating-linear-gradient(45deg,rgba(232,54,38,.05) 0 12px,transparent 12px 24px);border-radius:4px}
.tag{display:inline-block;font:700 .66rem var(--f-alt);letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:var(--white);padding:5px 9px;border-radius:2px;margin-bottom:12px}
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;font:700 1.05rem var(--f-head);color:var(--black);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary:after{content:"+";color:var(--red);font:700 1.4rem var(--f-alt);line-height:1}
details[open] summary:after{content:"\2212"}
details p{color:var(--muted);margin-top:12px;max-width:70ch}
.band{background:var(--red);color:var(--white);border-radius:4px;padding:60px 52px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.band h2{color:var(--white)}
.band p{color:rgba(255,255,255,.9)}
.band .btn-p{background:var(--black)}
.band .btn-p:hover{background:#1a1a1a}
.band .btn-g{border-color:rgba(255,255,255,.75);color:var(--white)}
.band .btn-g:hover{background:var(--white);color:var(--red);border-color:var(--white)}
@media(max-width:600px){.band{padding:44px 26px}}
.page-hero{padding:88px 0 60px}
.page-hero .lead{max-width:70ch}
/* footer */
footer{background:var(--black);color:rgba(255,255,255,.6);padding:64px 0 40px;font-size:.92rem}
footer .logo img{height:28px}
footer .grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer a{text-decoration:none}
footer a:hover{color:var(--white)}
footer h4{color:var(--white);margin-bottom:12px;font-size:.78rem;font-family:var(--f-alt);letter-spacing:.16em;text-transform:uppercase}
footer .rule{border-top:1px solid #222}
/* motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* form */
form{display:grid;gap:18px}
label{font:600 .9rem var(--f-alt);display:grid;gap:7px;color:var(--black)}
input,textarea,select{font:400 1rem var(--f-body);padding:14px;border:1px solid #cfcfcf;border-radius:3px;background:var(--white);width:100%;color:var(--body)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.muted{color:var(--muted)}
.stat{font:700 2.4rem var(--f-head);color:var(--red);letter-spacing:-.03em}
/* legal pages */
.legal h2{font-size:1.15rem;margin:36px 0 10px;letter-spacing:-.01em}
.legal p,.legal li{color:var(--muted);font-size:.97rem}
.legal p+p{margin-top:12px}
.legal ul{margin:10px 0 0 20px;display:grid;gap:8px}
.legal li{list-style:disc}
.legal>p:first-child+p{margin-top:12px}
/* Booking calendar embed */
.cal-wrap{margin-top:24px;background:#fff;border-radius:4px;overflow:hidden;border:1px solid #e3e3e3}
.cal-wrap iframe{display:block;width:100%;height:780px;border:0}
@media (max-width:640px){.cal-wrap iframe{height:900px}}
