/* ==========================================================================
   Boat Detailing — page-specific styles. Loads after styles.css and reuses its
   tokens, buttons, eyebrows, header, footer and contact form. Everything here
   is prefixed .bd-; the unprefixed rules are the shared .sfr-ba slider styles,
   which every page that uses the slider defines for itself. Built 1:1 to the
   "Boat Detailing Showcase" comp (1024px wide, drawn at 1536): 1 comp px =
   1.5 page px = 0.0977vw at 1536. Font sizes are rem/vw so the site-wide
   text-size control scales them.
   ========================================================================== */

/* The comp runs its bands nearly edge to edge: a 1760px frame whose content
   edge sits 60px in at 1536 (the comp's 40px). --bd-edge is that edge, for
   bands that bleed a photo to the viewport instead. */
.bd-hero,.bd-intro,.bd-services,.bd-process,.bd-results,.bd-why,.bd-cta{
  --bd-gutter:clamp(18px,3.9vw,69px);
  --bd-edge:max(var(--bd-gutter), calc((100% - 1760px) / 2 + var(--bd-gutter)));
  --bd-blue:#1E8FEF;
  --bd-page:#F9FCFD;
  --bd-ink:#0B2A55;
}
.bd-wide{
  max-width:1760px;
  margin-inline:auto;
  padding-inline:var(--bd-gutter);
}
/* Eyebrow with a short rule: the comp's label style on the light bands. */
.bd-eyebrow{
  color:var(--bd-blue);
  font-size:clamp(0.6875rem,.86vw,0.8438rem);
  letter-spacing:2.1px;
  gap:clamp(10px,.88vw,14px);
}
.bd-eyebrow i{width:clamp(24px,2.28vw,35px);height:2px;background:var(--bd-blue);}
.bd-eyebrow-plain i{display:none;}

/* ---------- Hero ----------
   bd-hero.jpg is the comp's whole hero, trust strip included, with its copy,
   icons and labels painted out; live markup sits over it. */
.bd-hero{
  --bd-indent:74px;                 /* eyebrow rule (51px) + its gap (23px) */
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  min-height:min(31.45vw,553px);
  background:#032140;
}
.bd-hero-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:70% 50%;
}
.bd-hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(2,26,54,.35) 0%, rgba(2,26,54,.2) 32%, rgba(2,26,54,0) 46%);
}
.bd-hero-inner{
  position:relative;z-index:2;
  flex:1;
  width:100%;
  padding-top:clamp(26px,2.15vw,38px);
  padding-bottom:clamp(14px,1.1vw,19px);
}
.bd-hero-content{max-width:620px;padding-left:var(--bd-indent);}
.bd-hero-eyebrow{
  color:#49B9F7;
  font-size:clamp(0.6875rem,.88vw,0.875rem);
  letter-spacing:1.75px;
  gap:23px;
  margin-left:calc(-1 * var(--bd-indent));
  margin-bottom:clamp(8px,.72vw,11px);
}
.bd-hero-eyebrow i{width:51px;height:2px;background:#49B9F7;}
.bd-hero h1{
  font-size:clamp(2rem,3.62vw,3.5rem);
  line-height:.935;
  letter-spacing:-1.2px;
  color:#fff;
  margin-bottom:clamp(8px,.72vw,11px);
}
.bd-hero h1 .accent{color:#3DB2F5;}
.bd-hero-sub{
  color:rgba(255,255,255,.95);
  font-size:clamp(0.9375rem,1.17vw,1.125rem);
  line-height:1.41;
  max-width:570px;
  margin-bottom:clamp(14px,1.17vw,18px);
}
.bd-hero-actions{display:flex;gap:clamp(10px,.78vw,12px);flex-wrap:wrap;}
.bd-hero-actions .btn,.bd-cta-actions .btn{
  justify-content:center;
  height:clamp(46px,3.29vw,50px);
  padding:0 clamp(22px,1.95vw,30px);
  font-size:clamp(0.9063rem,1.02vw,1rem);
}
.bd-hero-actions .btn{height:clamp(46px,3.32vw,51px);}
.bd-hero-actions .btn-accent{min-width:clamp(180px,14.06vw,216px);}
.bd-hero-actions .btn-outline-light{min-width:clamp(200px,15.95vw,245px);}
.bd-hero-actions .btn-accent,.bd-cta-actions .btn-accent{background:#45BBFA;color:#06223F;}
.bd-hero-actions .btn-outline-light,.bd-cta-actions .btn-outline-light{
  background:rgba(2,22,46,.45);
  border-color:rgba(255,255,255,.9);
}
.bd-trust-bar{
  position:relative;z-index:2;
  background:linear-gradient(180deg, rgba(0,22,45,0) 0%, rgba(0,22,45,.35) 100%);
}
.bd-trust{
  display:grid;
  grid-template-columns:24.44% 29.6% 22.65% auto;
  align-items:center;
  gap:12px 0;
  min-height:clamp(54px,4.1vw,63px);
  padding-top:clamp(6px,.4vw,7px);
  padding-bottom:clamp(8px,.72vw,11px);
  padding-left:calc(var(--bd-gutter) + var(--bd-indent) + 4px);
}
.bd-trust li{display:flex;align-items:center;gap:clamp(10px,1.5vw,23px);color:#fff;}
.bd-trust-icon{flex:none;display:flex;color:#3DB2F5;}
.bd-trust-icon svg{width:clamp(28px,2.6vw,40px);height:auto;}
.bd-trust li:last-child .bd-trust-icon svg{width:clamp(22px,1.9vw,29px);}
.bd-trust strong{display:block;font-family:var(--font-head);font-weight:700;font-size:clamp(0.875rem,1.08vw,1.0625rem);line-height:1.3;letter-spacing:-.1px;}
.bd-trust small{display:block;font-size:clamp(0.8125rem,.91vw,0.875rem);line-height:1.4;color:rgba(255,255,255,.9);}

/* ---------- Intro: copy | large before/after slider ---------- */
.bd-intro{background:var(--bd-page);}
.bd-intro-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) min(57.4vw,882px);
  align-items:start;
  column-gap:clamp(16px,1.3vw,20px);
  padding-top:clamp(18px,1.5vw,27px);
}
.bd-intro-copy .bd-eyebrow{margin-bottom:clamp(6px,.6vw,9px);font-size:clamp(0.75rem,1.06vw,1.0313rem);letter-spacing:2.5px;}
.bd-intro-copy h2{
  font-size:clamp(1.75rem,3.53vw,3.375rem);
  line-height:.9;
  letter-spacing:-1.3px;
  color:var(--bd-ink);
  margin-bottom:clamp(8px,.6vw,9px);
}
.bd-intro-copy h2 .accent{color:var(--bd-blue);}
.bd-intro-copy p{
  font-size:clamp(0.9375rem,1.19vw,1.125rem);
  line-height:1.26;
  color:#2B4A6C;
  max-width:526px;
  margin-bottom:clamp(12px,.98vw,15px);
}
.bd-intro-copy .btn{
  justify-content:center;
  min-width:clamp(220px,19.14vw,294px);
  height:clamp(46px,3.26vw,50px);
  padding:0 clamp(22px,2vw,30px);
  font-size:clamp(0.9063rem,1.02vw,1rem);
  background:#07213F;
}
.bd-intro-ba.sfr-ba{aspect-ratio:589/226;border-radius:clamp(8px,.6vw,9px);margin-top:clamp(0px,.2vw,3px);}
.bd-intro-ba .sfr-ba-handle{width:clamp(36px,3.26vw,50px);height:clamp(36px,3.26vw,50px);}
.bd-intro-ba .sfr-ba-tag{
  width:13.4%;bottom:1.3%;
  font-size:clamp(0.6875rem,.98vw,0.9375rem);
  padding:clamp(5px,.55vw,8px) 0;
}
.bd-intro-ba .sfr-ba-tag-before{left:1%;}
.bd-intro-ba .sfr-ba-tag-after{right:1.4%;}

/* ---------- Services: eyebrow + six photo cards ---------- */
.bd-services{background:var(--bd-page);}
.bd-services-inner{padding-top:clamp(18px,1.37vw,21px);padding-bottom:clamp(12px,.85vw,13px);}
.bd-services-inner .bd-eyebrow{margin-bottom:clamp(12px,.98vw,15px);}
.bd-svc-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(10px,.92vw,14px);
}
.bd-svc-card{
  background:#fff;
  border-radius:clamp(5px,.39vw,6px);
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,38,75,.06), 0 10px 22px -18px rgba(0,38,75,.4);
}
.bd-svc-card img{width:100%;aspect-ratio:150/99;object-fit:cover;display:block;}
.bd-svc-body{padding:clamp(7px,.52vw,8px) clamp(6px,.65vw,10px) clamp(12px,1.04vw,16px) clamp(10px,1.1vw,17px);}
.bd-svc-body h3{
  font-size:clamp(0.8125rem,1.07vw,1.0313rem);
  line-height:1.25;
  letter-spacing:-.45px;
  color:var(--bd-ink);
  margin-bottom:clamp(4px,.33vw,5px);
}
/* The comp sets this one title tighter so it holds a single line. */
#deck-non-skid h3{letter-spacing:-.95px;}
.bd-svc-body h3 a{color:inherit;text-decoration:none;}
.bd-svc-body h3 a:hover{color:var(--bd-blue);}
.bd-svc-body p{
  font-size:clamp(0.75rem,.91vw,0.875rem);
  line-height:1.38;
  color:#5A6F86;
}

/* ---------- Process band ----------
   bd-process.jpg carries the comp's curved trailing edge and the navy beyond
   it, so the band colour picks up exactly where the photo stops. */
.bd-process{
  display:grid;
  grid-template-columns:37.05% minmax(0,1fr);
  column-gap:clamp(12px,2.2vw,38px);
  padding-right:max(clamp(16px,1.95vw,34px), calc((100% - 1760px) / 2 + 34px));
  background:
    radial-gradient(ellipse 45% 70% at 62% 0%, rgba(0,44,86,.55) 0%, rgba(0,44,86,0) 100%),
    linear-gradient(180deg,#001A34 0%,#001933 45%,#00172F 100%);
  overflow:hidden;
}
.bd-process-photo{position:relative;min-height:clamp(220px,19.2vw,340px);}
.bd-process-photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;
  -webkit-mask-image:linear-gradient(90deg,#000 94%,transparent 100%);
          mask-image:linear-gradient(90deg,#000 94%,transparent 100%);
}
.bd-process-copy{
  padding-top:clamp(14px,1.04vw,16px);
  padding-bottom:clamp(6px,.4vw,7px);
  min-width:0;
}
.bd-process-eyebrow{
  color:#49B9F7;
  font-size:clamp(0.6875rem,.81vw,0.8125rem);
  letter-spacing:2px;
  margin-left:-44px;
  gap:17px;
  margin-bottom:clamp(2px,.2vw,3px);
}
.bd-process-eyebrow i{width:27px;height:2px;background:#49B9F7;}
.bd-process-copy h2{
  color:#fff;
  font-size:clamp(1.5rem,2.04vw,1.9688rem);
  line-height:1.15;
  letter-spacing:-.9px;
  margin-bottom:clamp(2px,.2vw,3px);
}
.bd-process-copy h2 .accent{color:#3DB2F5;}
.bd-process-lead{
  color:rgba(255,255,255,.94);
  font-size:clamp(0.9375rem,1.11vw,1.0625rem);
  line-height:1.33;
  max-width:740px;
  margin-bottom:clamp(8px,.6vw,9px);
}
.bd-steps{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:clamp(20px,2.44vw,37px);
}
.bd-step{
  position:relative;
  min-height:clamp(140px,10.4vw,160px);
  padding:3px clamp(6px,.39vw,6px) clamp(8px,.6vw,9px) clamp(8px,.65vw,10px);
  background:linear-gradient(180deg,rgba(18,56,98,.55) 0%,rgba(10,38,69,.75) 100%);
  border:1px solid rgba(66,120,180,.35);
  border-radius:clamp(5px,.39vw,6px);
  color:#fff;
}
.bd-step-top{display:flex;align-items:center;gap:clamp(18px,1.95vw,30px);margin-left:calc(-1 * clamp(8px,.65vw,10px) - 1px);}
.bd-step-num{
  flex:none;
  width:clamp(38px,3.26vw,50px);height:clamp(38px,3.26vw,50px);
  border-radius:50%;
  background:#1A8CF0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:700;
  font-size:clamp(1.0625rem,1.5vw,1.4375rem);
}
.bd-step-icon{display:flex;color:#fff;}
.bd-step-icon svg{width:clamp(28px,2.6vw,40px);height:auto;}
.bd-step h3{
  color:#fff;
  text-align:center;
  font-size:clamp(0.875rem,1.11vw,1.0625rem);
  line-height:1.2;
  letter-spacing:-.2px;
  margin-top:clamp(6px,.52vw,8px);
  margin-bottom:clamp(4px,.33vw,5px);
}
.bd-step p{
  font-size:clamp(0.8125rem,.96vw,0.9219rem);
  line-height:1.32;
  color:rgba(255,255,255,.9);
}
/* Thin arrows in the gaps between the cards. */
/* Desktop-only line breaks reproduce the comp's wraps. They hold from 1401px
   up (checked at 1401-1920); below that the text wraps naturally. */
.bd-dbr{display:none;}
@media (min-width:1401px){
  .bd-dbr{display:inline;}
  .bd-step p,.bd-svc-body p,.bd-feature p,.bd-feature h3{white-space:nowrap;}
}
.bd-step + .bd-step::before{
  content:"";
  position:absolute;
  right:100%;
  top:50%;
  width:clamp(20px,2.44vw,37px);height:16px;
  transform:translateY(-35%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h17M14 2l6 6-6 6'/%3E%3C/svg%3E") center/clamp(16px,1.5vw,23px) 16px no-repeat;
}

/* ---------- Results: three sliders ---------- */
.bd-results{background:var(--bd-page);}
.bd-results-inner{padding-top:clamp(14px,1.04vw,16px);padding-bottom:clamp(8px,.65vw,10px);}
.bd-results-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:clamp(1px,.1vw,2px);
}
.bd-results-head .bd-eyebrow{margin-bottom:clamp(2px,.2vw,3px);}
.bd-why-copy .bd-eyebrow{margin-bottom:clamp(4px,.52vw,8px);}
.bd-results-head h2,.bd-why-copy h2{
  font-size:clamp(1.375rem,1.95vw,1.875rem);
  line-height:1.15;
  letter-spacing:-.9px;
  color:var(--bd-ink);
}
.bd-results-head .btn{
  flex:none;
  justify-content:center;
  min-width:clamp(170px,13vw,200px);
  height:clamp(36px,2.54vw,39px);
  padding:0 clamp(14px,1.17vw,18px);
  margin-top:clamp(1px,.1vw,2px);
  margin-right:-5px;
  font-size:clamp(0.8125rem,.91vw,0.875rem);
  background:#07213F;
}
.bd-results-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.37vw,21px);
}

/* ---------- Shared slider (script.js binds every .sfr-ba) ----------
   Each image is one half of the comp's pair plus its mirror, so at rest the
   seam sits on the handle and the frame matches the comp. */
.sfr-ba{
  position:relative;
  aspect-ratio:306/94;
  border-radius:clamp(5px,.39vw,6px);
  overflow:hidden;
  box-shadow:0 10px 24px -20px rgba(0,38,75,.55);
  cursor:ew-resize;
  touch-action:none;
  user-select:none;
}
.sfr-ba:focus-visible{outline:2px solid var(--icon-blue);outline-offset:3px;}
.sfr-ba-img{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.sfr-ba-after{clip-path:inset(0 0 0 50%);}
.sfr-ba-line{
  position:absolute;top:0;bottom:0;left:50%;
  width:2px;margin-left:-1px;
  background:#fff;
  box-shadow:0 0 6px rgba(0,0,0,.25);
  pointer-events:none;
}
.sfr-ba-handle{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:clamp(32px,2.67vw,41px);height:clamp(32px,2.67vw,41px);
  border-radius:50%;
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
  pointer-events:none;
}
.sfr-ba-handle svg{display:block;}
.sfr-ba-tag{
  position:absolute;bottom:3.2%;
  width:26.5%;
  text-align:center;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(0.6875rem,.98vw,0.9375rem);
  letter-spacing:.5px;
  padding:clamp(4px,.4vw,6px) 0;
  border-radius:4px;
  pointer-events:none;
}
.sfr-ba-tag-before{left:0;background:#07213F;color:#fff;}
.sfr-ba-tag-after{right:2.8%;background:var(--bd-blue);color:#fff;}

/* ---------- Why choose us | FAQ ---------- */
.bd-why{background:var(--bd-page);}
.bd-why-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) min(28.6vw,440px);
  column-gap:clamp(16px,1.95vw,30px);
  align-items:start;
  padding-top:clamp(12px,.91vw,14px);
  padding-bottom:clamp(14px,1.04vw,16px);
}
.bd-why-copy h2{margin-bottom:clamp(12px,1.3vw,20px);}
.bd-features{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.bd-feature{
  border-left:1px solid #D9E4EE;
  min-height:clamp(120px,9.1vw,140px);
  padding-left:clamp(12px,1.17vw,18px);
  padding-right:0;
}
.bd-feature-icon{display:flex;align-items:flex-end;height:clamp(32px,2.93vw,45px);color:var(--bd-blue);margin-bottom:clamp(10px,1.04vw,16px);}
.bd-feature-icon svg{width:clamp(30px,2.8vw,43px);height:auto;}
.bd-feature:last-child .bd-feature-icon svg{width:clamp(38px,3.6vw,55px);}
.bd-feature h3{
  font-size:clamp(0.875rem,1.02vw,1rem);
  line-height:1.4;
  letter-spacing:-.3px;
  color:var(--bd-ink);
  margin-bottom:clamp(3px,.33vw,5px);
}
.bd-feature p{
  font-size:clamp(0.8125rem,.88vw,0.875rem);
  line-height:1.4;
  color:#5A6F86;
}
.bd-faq{
  margin-right:calc(-1 * clamp(0px,.3vw,5px));
  border-left:1px solid #E3EBF2;
  padding-left:clamp(16px,1.63vw,25px);
  padding-top:clamp(0px,.1vw,2px);
}
.bd-faq h2{
  font-size:clamp(1.1875rem,1.56vw,1.5rem);
  line-height:1.15;
  letter-spacing:-.6px;
  color:var(--bd-ink);
  margin-bottom:clamp(6px,.5vw,8px);
}
.bd-faq-item{
  background:#fff;
  border-radius:4px;
  box-shadow:0 1px 2px rgba(0,38,75,.05), 0 4px 12px -8px rgba(0,38,75,.25);
  margin-bottom:clamp(2px,.2vw,3px);
}
.bd-faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:clamp(26px,1.86vw,28.5px);
  padding:clamp(3px,.26vw,4px) clamp(12px,1.17vw,18px) clamp(3px,.26vw,4px) clamp(10px,.98vw,15px);
  font-family:var(--font-body);
  font-weight:500;
  font-size:clamp(0.8125rem,.88vw,0.8438rem);
  color:var(--bd-ink);
}
.bd-faq-item summary::-webkit-details-marker{display:none;}
.bd-faq-item summary::after{
  content:"";
  flex:none;
  width:clamp(11px,.85vw,13px);height:clamp(11px,.85vw,13px);
  background:
    linear-gradient(var(--bd-blue),var(--bd-blue)) center/100% 2.5px no-repeat,
    linear-gradient(var(--bd-blue),var(--bd-blue)) center/2.5px 100% no-repeat;
  transition:transform .2s ease;
}
.bd-faq-item[open] summary::after{transform:rotate(45deg);}
.bd-faq-item summary:focus-visible{outline:2px solid var(--icon-blue);outline-offset:2px;border-radius:4px;}
.bd-faq-item p{
  padding:0 clamp(10px,.98vw,15px) clamp(8px,.72vw,11px);
  font-size:clamp(0.8125rem,.88vw,0.875rem);
  line-height:1.5;
  color:#5A6F86;
}
.bd-faq-item p a{color:var(--bd-blue);}

/* ---------- CTA band: the comp's boat photo on the left, copy on the right ---------- */
.bd-cta{
  position:relative;overflow:hidden;
  background:linear-gradient(90deg,#00203F 0%,#001B39 50%,#001A37 100%);
}
.bd-cta-bg{
  position:absolute;left:0;top:0;
  height:100%;width:auto;
  max-width:none;
  -webkit-mask-image:linear-gradient(90deg,#000 80%,transparent 100%);
          mask-image:linear-gradient(90deg,#000 80%,transparent 100%);
}
.bd-cta-inner{
  position:relative;z-index:1;
  max-width:1760px;
  margin-inline:auto;
  min-height:clamp(170px,12.3vw,189px);
  padding-top:clamp(14px,1.04vw,16px);
  padding-bottom:clamp(16px,1.17vw,18px);
  /* The copy starts just past the boat (the comp's x 527 of 1024). Padding %
     resolves against the band's width. */
  padding-left:max(var(--bd-gutter), calc(51.46% - max(0px, (100% - 1760px) / 2)));
  padding-right:var(--bd-gutter);
}
.bd-cta-eyebrow{
  color:#49B9F7;
  font-size:clamp(0.6875rem,.74vw,0.75rem);
  letter-spacing:1.9px;
  gap:24px;
  margin-left:-69px;
  margin-bottom:clamp(2px,.2vw,3px);
}
.bd-cta-eyebrow i{width:45px;height:2px;background:#49B9F7;}
.bd-cta h2{
  color:#fff;
  font-size:clamp(1.375rem,1.6vw,1.5625rem);
  line-height:1.2;
  letter-spacing:-.6px;
  margin-bottom:clamp(2px,.2vw,3px);
}
.bd-cta p{
  color:rgba(255,255,255,.92);
  font-size:clamp(0.875rem,1.02vw,1rem);
  line-height:1.26;
  max-width:490px;
  margin-bottom:clamp(10px,.78vw,12px);
}
.bd-cta-actions{display:flex;flex-wrap:wrap;gap:clamp(10px,.85vw,13px);}
.bd-cta-actions .btn-accent{min-width:clamp(180px,14.65vw,225px);}
.bd-cta-actions .btn-outline-light{min-width:clamp(200px,15.3vw,235px);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1400px){
  .bd-trust{grid-template-columns:repeat(4,auto);justify-content:space-between;padding-right:var(--bd-gutter);}
  .bd-steps{column-gap:clamp(18px,1.9vw,28px);}
  .bd-step + .bd-step::before{width:clamp(18px,1.9vw,28px);}
  .bd-feature h3 br{display:none;}
}

@media (max-width:1240px){
  .bd-hero{min-height:0;}
  .bd-trust{grid-template-columns:repeat(2,auto);justify-content:start;column-gap:clamp(24px,6vw,80px);padding-left:var(--bd-gutter);}
  .bd-trust-bar{background:rgba(0,22,45,.82);}
  .bd-intro-inner{grid-template-columns:minmax(0,1fr);row-gap:22px;}
  .bd-intro-copy p{max-width:none;}
  .bd-svc-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .bd-process{grid-template-columns:minmax(0,1fr);padding-right:0;}
  .bd-process-photo{min-height:0;aspect-ratio:744/300;}
  .bd-process-photo img{object-position:left 40%;}
  .bd-process-copy{padding:26px var(--bd-gutter) 28px;}
  .bd-process-eyebrow{margin-left:0;gap:14px;}
  .bd-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
  .bd-step + .bd-step::before{display:none;}
  .bd-step{min-height:0;padding-bottom:14px;}
  .bd-step h3{text-align:left;}
  .bd-hero-scrim{background:linear-gradient(90deg, rgba(2,26,54,.9) 0%, rgba(2,26,54,.74) 50%, rgba(2,26,54,.3) 100%);}
  .bd-why-inner{grid-template-columns:minmax(0,1fr);row-gap:28px;}
  .bd-faq{border-left:0;padding-left:0;}
  .bd-faq-item summary{min-height:38px;padding-block:7px;}
  .bd-features{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px;}
  .bd-cta-bg{width:100%;object-fit:cover;object-position:left center;opacity:.4;-webkit-mask-image:none;mask-image:none;}
  .bd-cta-inner{padding-left:var(--bd-gutter);padding-block:30px;}
  .bd-cta-eyebrow{margin-left:0;gap:14px;}
  .bd-cta-eyebrow i{width:28px;}
}

@media (max-width:1024px){
  .bd-hero{--bd-indent:0px;}
  .bd-hero-img{object-position:80% 40%;}
  .bd-hero-inner{padding-top:40px;padding-bottom:30px;}
  .bd-hero-eyebrow{margin-left:0;gap:12px;}
  .bd-hero-eyebrow i{width:32px;}
  .bd-trust{padding-left:var(--bd-gutter);}
  .bd-results-head{flex-wrap:wrap;}
}

@media (max-width:820px){
  .bd-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bd-steps{grid-template-columns:minmax(0,1fr);}
  .bd-results-grid{grid-template-columns:minmax(0,1fr);}
  .bd-features{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:640px){
  .bd-hero-inner{padding-top:34px;padding-bottom:26px;}
  .bd-hero-eyebrow{font-size:0.6875rem;letter-spacing:1.3px;gap:10px;}
  .bd-hero-eyebrow i{width:22px;}
  .bd-hero h1{font-size:clamp(1.9375rem,8.6vw,2.375rem);letter-spacing:-.8px;}
  .bd-hero h1 br{display:none;}
  .bd-hero-sub{font-size:0.9375rem;line-height:1.5;}
  .bd-hero-scrim{background:linear-gradient(180deg, rgba(2,26,54,.88) 0%, rgba(2,26,54,.8) 55%, rgba(2,26,54,.72) 100%);}
  .bd-hero-actions,.bd-cta-actions{width:100%;gap:10px;}
  .bd-hero-actions .btn,.bd-cta-actions .btn,.bd-intro-copy .btn{width:100%;min-width:0;}
  .bd-trust{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;padding-right:var(--bd-gutter);}
  .bd-intro-copy h2{font-size:clamp(1.625rem,7.6vw,2rem);}
  .bd-intro-ba.sfr-ba{aspect-ratio:3/2;}
  .bd-intro-ba .sfr-ba-tag{width:26%;}
  .bd-svc-grid{grid-template-columns:minmax(0,1fr);}
  .bd-svc-card img{aspect-ratio:16/9;}
  .bd-process-copy h2,.bd-results-head h2,.bd-why-copy h2,.bd-cta h2{font-size:clamp(1.375rem,6.4vw,1.625rem);}
  .bd-process-lead{line-height:1.45;}
  .sfr-ba{aspect-ratio:2/1;}
  .sfr-ba-handle{width:34px;height:34px;}
  .bd-features{grid-template-columns:minmax(0,1fr);row-gap:18px;}
  .bd-feature{min-height:0;}
  .bd-cta p{max-width:none;}
}

@media (max-width:400px){
  .bd-trust{grid-template-columns:minmax(0,1fr);}
}
