:root{--red:#d71f30;--red-d:#b5182a;--blue:#2ea3f2;--blue-d:#1b7fc4;--dark:#22262e;--ink:#2a2d33;--muted:#5d636d;--line:#e4e6ea;--bg:#fff;--soft:#f4f5f7;--max:1140px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.7 Lato,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-d)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:9;background:#fff;padding:8px}
h1,h2,h3,h4,.display{font-family:Teko,Helvetica,Arial,sans-serif;font-weight:600;line-height:1.05;letter-spacing:.02em;color:var(--ink);margin:1.4em 0 .4em}
h1{font-size:clamp(2.4rem,5vw,3.6rem);text-transform:uppercase;letter-spacing:.06em}
h2{font-size:2.1rem}h3{font-size:1.65rem}h4{font-size:1.35rem}
.display{font-size:clamp(2.4rem,5vw,3.8rem);margin-top:1.2em}.display.xl{font-size:clamp(3rem,8vw,6rem);color:#fff;text-transform:uppercase}
.center{text-align:center}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font:600 1.15rem/1 Teko,sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:.9em 1.5em .75em;border:2px solid var(--red);transition:background .15s}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn.ghost{background:transparent;border-color:#fff;color:#fff}.btn.ghost:hover{background:#fff;color:var(--ink)}
.btn.light{background:#fff;color:var(--red);border-color:#fff}.btn.light:hover{background:var(--soft)}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;margin:1.2em 0}
.center .btnrow,.center>p>.btn{justify-content:center}
/* top bar + header */
.topbar{background:var(--blue);color:#fff;font-size:14px;font-weight:700}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:6px;padding-bottom:6px}
.topbar a{color:#fff;text-decoration:none}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;gap:16px;min-height:76px}
.brand img{width:110px;height:auto}
.menu{margin-left:auto}
.menu summary{list-style:none;cursor:pointer;font:600 1.3rem Teko,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border:2px solid var(--ink)}
.menu summary::-webkit-details-marker{display:none}
.menu nav ul{list-style:none;margin:0;padding:0}
.menu nav a{display:block;text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;padding:10px 4px}
.menu nav a:hover,.menu nav a[aria-current]{color:var(--red)}
.btn.call{padding:.8em 1em .65em;font-size:1rem}
.desk{display:none;margin-left:auto}.desk ul{list-style:none;margin:0;padding:0;display:flex;gap:16px}
.desk a{text-decoration:none;color:var(--ink);font-weight:700;font-size:15px}.desk a:hover,.desk a[aria-current]{color:var(--red)}
.menu[open] nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:3px solid var(--red);padding:8px 16px 16px}.menu nav li{border-bottom:1px solid var(--line)}
@media (min-width:1060px){.desk{display:block}.menu{display:none}}
@media (max-width:520px){.btn.call{display:none}.hide-sm{display:none}}
/* page head */
.pagehead{background:var(--dark);color:#fff;padding:28px 0 22px;background-image:linear-gradient(160deg,#2c313b,#1b1e24)}
.pagehead h1{color:#fff;margin:.2em 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:14px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:#cfe8fb;text-decoration:none}
/* prose */
.prose{max-width:860px;padding-bottom:48px}
.prose img{margin:1.2em auto;border-radius:6px}
.prose ul{padding-left:1.2em}
.prose table{border-collapse:collapse;width:100%;font-size:15px;margin:1em 0}.prose td,.prose th{border:1px solid var(--line);padding:6px 8px}
.prose details,.faqteaser details{border:1px solid var(--line);border-radius:6px;padding:10px 14px;margin:10px 0}
.prose summary,.faqteaser summary{cursor:pointer;font-weight:700}
.faq summary h2{display:inline;font-size:1.6rem;margin:0}
.lead{font-size:1.2rem}
.video{position:relative;padding-top:56.25%;margin:1.2em 0}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:1em 0}
.linkcard{display:block;border:1px solid var(--line);border-left:4px solid var(--red);padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:700;border-radius:4px}
.linkcard:hover{background:var(--soft)}
.meta{color:var(--muted);font-size:15px;margin-top:20px}
.related{border-top:3px solid var(--red);margin-top:40px}
blockquote{margin:1em 0;padding:16px 18px;background:var(--soft);border-left:4px solid var(--blue);border-radius:4px}
blockquote cite{display:block;margin-top:8px;font-style:normal;font-weight:700;color:var(--muted)}
.contactlist{list-style:none;padding:0}.contactlist li{padding:8px 0;border-bottom:1px solid var(--line)}.contactlist strong{display:inline-block;min-width:130px}
/* home */
.hero{background-size:cover;background-position:center;color:#fff}
.heroin{display:grid;gap:24px;align-items:center;padding-top:48px;padding-bottom:56px}
.herologo{width:min(360px,80%)}
.hero h1{color:#fff;margin:.1em 0 .3em}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:14px;color:#cfe8fb;margin:0}
.phones a{color:#fff;font-weight:700}
@media (min-width:860px){.heroin{grid-template-columns:380px 1fr}}
.split{display:grid;gap:0;margin-top:-1px}
.panel{background:var(--dark);color:#e9ebef;padding:32px 28px;text-align:center}
.panel h2{color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:2rem;margin-top:.2em}
.panel+.panel{background:#2b3039}
@media (min-width:760px){.split{grid-template-columns:1fr 1fr}}
.grid3{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));text-align:left}
.tile{display:block;padding:22px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);background:#fff}
.tile:hover{border-color:var(--red)}
.tile h3{margin:0 0 .2em}.tile p{margin:0 0 .6em;color:var(--muted)}.tile span{color:var(--red);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.14em}
.prods{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:1.4em 0}
.prod{display:block;text-decoration:none;color:var(--ink);text-align:center}
.prod img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.prod span{display:block;font:600 1.4rem/1.1 Teko,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-top:12px}
.band{background-size:cover;background-position:center;padding:70px 0;margin:48px 0}
.split2{display:grid;gap:32px}@media (min-width:860px){.split2{grid-template-columns:1fr 1fr}}
.latest{padding-left:1.1em}
.pledge{font:500 1.6rem/1.35 Teko,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--red);max-width:900px;margin:48px auto 24px}
.pledge a{color:var(--blue-d);text-decoration:none}
.trust blockquote{text-align:left}
.faqteaser{max-width:860px;padding-bottom:40px}
/* blog list */
.topics{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.topics a{border:1px solid var(--line);border-radius:99px;padding:6px 14px;text-decoration:none;color:var(--ink);font-size:15px}
.topics a:hover{border-color:var(--red);color:var(--red)}
.postlist{list-style:none;padding:0;margin:0 0 48px}
.postlist a{display:block;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.postlist strong{display:block;font:600 1.55rem/1.1 Teko,sans-serif;letter-spacing:.03em}
.postlist .date{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:700}
.postlist .ex{display:block;color:var(--muted);font-size:15px}
.postlist a:hover strong{color:var(--red)}
/* cta + footer */
.cta{background:var(--red);color:#fff;padding:40px 0;margin-top:40px;background-image:linear-gradient(135deg,#c41a2b,#e02636)}
.cta h2{color:#fff;margin-top:0}.cta a{color:#fff}
.cta .big{font:600 clamp(2.6rem,6vw,4rem)/1 Teko,sans-serif;margin:.2em 0}.cta .big a{text-decoration:none}
.grid2{display:grid;gap:32px}@media (min-width:860px){.grid2{grid-template-columns:1fr 1fr}}
.form label{display:block;font-weight:700;margin-bottom:10px}
.form input,.form textarea{display:block;width:100%;margin-top:4px;padding:12px;border:0;border-radius:3px;background:#a8131f;color:#fff;font:inherit}
.form input::placeholder{color:#fbd}.form input:focus,.form textarea:focus{outline:2px solid #fff}
.form .hp{display:none}
.foot{background:#1b1e24;color:#c6cad1;font-size:15px;padding:20px 0}.foot a{color:#fff}.small{font-size:13px;opacity:.8}
.opener{border:1px solid var(--line);border-left:4px solid var(--red);border-radius:6px;padding:4px 20px 8px;margin:18px 0}
.opener h2{margin-top:.6em}.opener h2 a{color:var(--ink);text-decoration:none}
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,160px));justify-content:center;margin:1em 0}
.gallery figure{margin:0;text-align:center}.gallery img{margin:0;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.gallery.box{grid-template-columns:repeat(auto-fit,minmax(90px,110px))}
.gallery.box img{object-fit:contain;background:#fff;padding:8px}
.gallery figcaption{font-size:12px;line-height:1.3;color:var(--muted);margin-top:4px}
.hero-img img{max-height:240px;width:auto;margin:0 auto}
.opener{display:grid;grid-template-columns:1fr;gap:0 20px}.opener .thumb img{margin:14px auto 0;max-height:130px;width:auto}
@media (min-width:700px){.opener{grid-template-columns:150px 1fr}.opener .thumb{grid-row:span 3;align-self:center}.opener .thumb img{margin:0}}
.panel{display:flex;flex-direction:column}.panel>p:last-child{margin-top:auto;padding-top:8px}
.tile{display:flex;flex-direction:column}.tile span{margin-top:auto}
.grid3{grid-template-columns:1fr}
@media (min-width:640px){.grid3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grid3{grid-template-columns:repeat(3,1fr)}}
.prods{grid-template-columns:repeat(auto-fit,minmax(240px,340px));justify-content:center}
.split2>div{text-align:center}
.split2 .latest{list-style:none;padding:0}.split2 .latest li{margin:4px 0}
.prose h2 a,.prose h3 a,.prose h4 a{color:inherit;text-decoration:none}.prose h2 a:hover,.prose h3 a:hover,.prose h4 a:hover{color:var(--red)}
.prose img{box-shadow:0 4px 14px rgba(0,0,0,.08)}
