/* Sam's own van: navy lettering, white body and red/blue circular badge.
   Abstract arcs are page framing, not a replacement company logo. */
:root{--sam-blue:#28638F;--surface-alt:#F1F5F8;--radius:8px;--radius-card:18px;--radius-lg:24px;--radius-chip:8px;--brand-detail:#E5B853}
body{background:#fff}
h1,h2,h3,.why__head,.svc__title{letter-spacing:normal}
.band--utility-bar{background:#132A42;font-size:12px}
.utility__row{min-height:34px}
.nav--light{border-bottom:1px solid #dce3e9;box-shadow:none}
.nav__wordmark{font-size:34px;font-style:italic;line-height:1;font-weight:800}
.nav__row{min-height:88px}
.nav__links{gap:24px}
.btn{border-radius:7px;font-weight:700;min-height:52px}
.btn--ghost{border-width:1px}
.band--hero{background:#fff;color:#132A42;min-height:650px;padding:54px 0 70px;isolation:isolate}
.band--hero::after{display:none}
.band--hero::before{content:"";position:absolute;right:-60px;top:42px;width:600px;height:600px;border:28px solid #28638F;border-left-color:#B92D3A;border-top-color:#B92D3A;border-radius:50%;z-index:0;transform:rotate(-24deg);pointer-events:none}
.hero__media{position:absolute;inset:50px max(28px,calc((100vw - 1300px)/2)) auto auto;width:46%;max-width:610px;height:auto;aspect-ratio:1.2;clip-path:none;border:9px solid #fff;border-radius:120px 22px 100px 22px;overflow:hidden;z-index:1;box-shadow:0 18px 36px #132A421a}
.hero__media picture,.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero__inner{z-index:2;pointer-events:none}
.hero__col{width:46%;max-width:570px;min-width:0;pointer-events:auto;display:flex;flex-direction:column;align-items:flex-start}
.hero__eyebrow{font-size:12px;letter-spacing:.06em;color:#B92D3A;margin:0 0 18px;font-weight:700;order:0}
.hero__title{font-size:clamp(60px,5.8vw,84px);line-height:1.02;font-style:normal;font-weight:800;white-space:pre-line;margin:0 0 22px;order:1;max-width:570px}
.hero__sub{font-size:16px;line-height:1.75;max-width:43ch;margin:0 0 24px;order:2;color:#415365}
.hero__count{order:5;color:#415365;letter-spacing:normal;text-transform:none;margin:10px 0 0;font-family:var(--font-body);font-weight:400;font-size:12px}
.hero__col>.rbadges{order:4;margin:28px 0 0;--rbadge-ink:#132A42}
.hero__col>.checks{order:6;margin:14px 0 0;gap:8px 18px}
.hero__col>.checks .checks__item{font-size:12px}
.hero__col>.checks svg{color:#28638F;width:17px;height:17px;flex-basis:17px}
.hero__col>.ctapair{order:3;flex-wrap:nowrap;gap:10px}
.hero__col>.ctapair .btn{font-size:16px;padding-inline:18px}
.band--trust-strip{background:#132A42;color:white;padding-block:27px;border-bottom:5px solid #B92D3A}
.strip__row{gap:18px}
.strip__item{gap:14px;padding-left:18px;border-left:1px solid #53697e}
.strip__item:first-child{padding-left:0;border-left:0}
.strip__icon{width:38px;height:38px;flex-basis:38px;color:#E5B853}
.strip__text strong{font-size:20px;font-style:italic;text-transform:none;font-weight:700;line-height:1.25}
.strip__text span{font-size:11px;color:#dae4ed;line-height:1.55;margin-top:5px}
.band--services{padding-block:88px 65px;background:#F1F5F8}
.band--services .band__head{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end;margin-bottom:32px;text-align:left}
.band--services .band__head .eyebrow{grid-column:1;margin-bottom:12px;text-align:left}
.band--services .band__head h2{text-align:left;grid-column:1;margin-bottom:0;font-size:62px;line-height:1.03}
.band--services .band__head .lede{grid-column:2;grid-row:1 / span 2;text-align:left;max-width:40ch;margin:0 0 4px;font-size:16px}
.eyebrow{color:#B92D3A;font-weight:700;font-size:12px;letter-spacing:.06em}
.svc{border:0;border-radius:28px 8px 28px 8px;box-shadow:0 3px 10px #132A4208}
.svc__photo{height:270px;border-bottom:4px solid #28638F}
.svc:nth-child(2) .svc__photo{border-color:#B92D3A}
.svc:nth-child(3) .svc__photo{border-color:#132A42}
.svc__body{padding:27px 30px 30px}
.svc__title{font-size:34px;font-weight:700;line-height:1.1}
.svc__text{font-size:14px;line-height:1.75;max-width:40ch}
.svc__more{font-size:16px;margin-top:20px}
.service-slider__controls p{font-size:12px;color:#415365}
.service-slider__controls button{background:transparent}
.band__head h2,.band h2{font-weight:800;white-space:pre-line;line-height:1.05}
.band--form-about{background:#132A42;overflow:hidden;padding-block:82px;isolation:isolate}
/* Keep the accent entirely inside the bottom padding, below every control. */
.band--form-about::before{content:"";position:absolute;width:420px;height:420px;bottom:-385px;left:-180px;border:40px solid #28638F;border-radius:50%;pointer-events:none;z-index:0}
.band--form-about>.shell{position:relative;z-index:1}
.band--form-about .eyebrow{color:#E5B853}
.band--form-about h2{font-size:58px;max-width:11ch}
.band--form-about .lede{max-width:40ch;font-size:16px;color:#dde6ed}
.leadform{border-radius:24px 8px 24px 8px;border:0;padding:34px;box-shadow:none}
.band--why{padding-block:86px}
.band--why h2{font-size:54px}
.split--why{align-items:start;gap:70px}
.split--why .split__img{position:relative;border-radius:70px 12px 70px 12px;overflow:hidden;border-bottom:9px solid #28638F;max-height:635px}
.split--why .split__img img{border-radius:0;height:635px;object-fit:cover;object-position:center}
.why{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}
.why__item{padding-left:13px;border-left-width:3px}
.why__item:nth-child(even){border-color:#28638F}
.why__head{font-size:25px}
.why__body{font-size:13px;line-height:1.7}
.band--gallery{padding-block:80px;background:#F1F5F8}
.band--gallery h2{font-size:54px}
.gal{grid-template-columns:repeat(4,1fr);gap:18px}
.gal__item{border-radius:24px 7px 24px 7px;aspect-ratio:3/4;border:0}
.gal__cap{font-size:12px;line-height:1.4;padding:30px 14px 16px}
.band--reviews h2{font-size:54px}
.review-card{border-radius:20px 7px 20px 7px;box-shadow:none;border:1px solid #dce3e9;border-top:4px solid #B92D3A}
.review-card:nth-child(2){border-top-color:#28638F}
.review-card__author{font-size:20px}
.band--areas{background:#F1F5F8}
.band--footer{border-top:6px solid #28638F}
@media(min-width:1025px){.hero--split .hero__col{width:46%;min-width:0}.hero--split .hero__media{left:auto;width:46%;clip-path:none}.hero--split.band--hero::after{display:none}}
@media(min-width:768px) and (max-width:1100px){.hero__title{font-size:60px}.hero__media{top:80px;right:24px}.hero__col>.ctapair{flex-wrap:wrap}.band--hero::before{width:440px;height:440px;right:-60px;top:70px}.nav__wordmark{font-size:30px}}
@media(max-width:767px){
 .nav__row{min-height:72px}.nav__wordmark{font-size:29px}
 .band--hero{padding:30px 0 28px;min-height:0;display:flex;flex-direction:column;align-items:stretch}
 .band--hero::before{width:325px;height:325px;border-width:16px;top:auto;bottom:10px;right:-25px}
 .hero__inner{order:0}.hero__col{width:100%;max-width:none;align-items:flex-start}
 .hero__eyebrow{font-size:10px;margin-bottom:13px}
 .hero__title{font-size:58px;line-height:1;max-width:340px;margin-bottom:16px}
 .hero__sub{font-size:14px;line-height:1.65;max-width:36ch;margin-bottom:20px}
 .hero__col>.ctapair{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .hero__col>.ctapair .btn{font-size:14px;min-height:47px;padding-inline:8px}
 .hero__col>.rbadges{margin-top:20px}.hero__count{margin-top:5px;font-size:11px}
 .hero__col>.checks{display:none}
 .hero__media{position:relative;inset:auto;width:calc(100% - 40px);max-width:500px;margin:25px 20px 0;aspect-ratio:1.23;height:auto;border-width:6px;border-radius:70px 14px 65px 14px;order:1}
 .hero__media picture{position:absolute;inset:0}.hero__media img{height:100%;object-position:center top}
 .band--trust-strip{padding:23px 0;border-bottom-width:4px}.strip__row{grid-template-columns:1fr 1fr;gap:22px 14px}.strip__item{padding:0;border:0;gap:9px;align-items:flex-start}.strip__icon{width:27px;height:27px;flex-basis:27px}.strip__text strong{font-size:18px}.strip__text span{font-size:10px}
 .band--services,.band--why,.band--gallery,.band--form-about{padding-block:52px}
 .band--services .band__head{display:block;margin-bottom:24px}.band--services .band__head h2{font-size:45px;margin-bottom:15px}.band--services .band__head .lede{font-size:14px}
 .cards--carousel{grid-auto-columns:88%;gap:16px}.svc__photo{height:220px}.svc__body{padding:24px}.svc__title{font-size:29px}.svc__text{font-size:13px}
 .band--form-about h2,.band--why h2,.band--gallery h2,.band--reviews h2{font-size:43px}.band--form-about .lede{font-size:14px}
 .leadform{padding:25px 20px}.split--why{gap:30px}.why{grid-template-columns:1fr 1fr;gap:23px 18px}.why__head{font-size:24px}.why__body{font-size:12px}.split--why .split__img{max-height:420px}.split--why .split__img img{height:420px}
 .gal{grid-template-columns:1fr 1fr;gap:12px}.gal__cap{font-size:10px;padding:28px 10px 12px}
}
@media(prefers-reduced-motion:reduce){.svc,.gal__img{transition:none}}
/* Final composition review: a natural contact heading and a complete phone hero. */
.band--form-about h2{max-width:none;font-size:54px}
@media(max-width:767px){
 .hero__title{font-size:48px;line-height:1.02;margin-bottom:14px}
 .hero__col>.rbadges{margin-top:15px}
 .hero__col .rbadge{transform:scale(.83);transform-origin:left center;margin-right:-30px}
 .hero__media{margin-top:18px}
 .band--form-about h2{font-size:43px}
}
