/* Holistic Fire Safety — design system
   Palette: ink #171B20 / paper #F4F5F2 / signal red #C8352B / steel #5A6672 / line #D8DAD5
   Type: Barlow Condensed (display) / IBM Plex Sans (body) */

:root{
  --ink:#171B20;
  --paper:#F5F4F1;
  --peach:#E9EDF1;
  --apricot:#EFC9AA;
  --red:#E07840;
  --red-dark:#BE5F2E;
  --rust:#A65B2A;
  --steel:#5A6672;
  --line:#D9DAD7;
  --white:#FFFFFF;
  --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:1rem;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}

/* ---------- type ---------- */
h1,h2,h3,.display{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1.05;
}
h1{font-size:clamp(2.6rem,6vw,4.4rem)}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:1.35rem;letter-spacing:.02em}
.eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.95rem;
  color:var(--red);
  display:flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:2rem;height:2px;background:var(--red)}
.lede{font-size:1.15rem;color:var(--steel);max-width:46rem}

/* ---------- layout / compartments ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.compartment{border-top:1px solid var(--line)}
section{padding:4.5rem 0}
.section-head{display:flex;flex-direction:column;gap:.9rem;margin-bottom:2.6rem}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:var(--white);
  border-bottom:3px solid var(--red);
  box-shadow:0 2px 14px rgba(23,27,32,.08);
}
.brand img{height:3.3rem;width:auto;display:block}
.nav{
  max-width:var(--max);margin:0 auto;padding:0 1.25rem;
  display:flex;align-items:center;justify-content:space-between;
  min-height:4.6rem;gap:1rem;
}
.brand{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  text-transform:uppercase;font-size:1.35rem;letter-spacing:.03em;
  text-decoration:none;display:flex;align-items:center;gap:.55rem;
}
.brand .mark{
  background:var(--red);color:var(--white);
  padding:.1rem .45rem;font-size:1rem;letter-spacing:.06em;
}
.nav ul{display:flex;list-style:none;gap:1.4rem;align-items:center}
.nav ul a{
  text-decoration:none;font-weight:500;font-size:.95rem;
  border-bottom:2px solid transparent;padding:.25rem 0;color:var(--ink);
}
.nav ul a:hover,.nav ul a[aria-current]{border-bottom-color:var(--red)}
.nav .cta{
  background:var(--red);color:var(--white);padding:.55rem 1.1rem;
  border-bottom:none;font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;font-weight:600;letter-spacing:.06em;font-size:1.05rem;
}
.nav .cta:hover{background:var(--red-dark)}
.nav-toggle{display:none;background:none;border:2px solid var(--ink);color:var(--ink);padding:.4rem .7rem;font-weight:600;cursor:pointer}
@media (max-width:820px){
  .nav-toggle{display:block}
  .nav ul{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:var(--white);
    border-bottom:3px solid var(--red);padding:1rem 1.25rem;align-items:flex-start;
    box-shadow:0 12px 24px rgba(23,27,32,.12);
  }
  .nav ul.open{display:flex}
}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:var(--white);padding:5.5rem 0 4.5rem}
.hero .eyebrow{color:#E8B48C}
.hero .eyebrow::before{background:#E8B48C}
.hero h1{max-width:18ch;margin:1rem 0 1.4rem}
.hero h1 em{font-style:normal;color:var(--red);-webkit-text-stroke:0}
.hero p{max-width:44rem;color:#C4CBD2;font-size:1.15rem}
.hero-actions{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}
.btn{
  display:inline-block;text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  font-weight:600;letter-spacing:.06em;font-size:1.1rem;
  padding:.8rem 1.6rem;border:2px solid var(--red);
}
.btn.solid{background:var(--red);color:var(--white)}
.btn.solid:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn.ghost{color:var(--white)}
.btn.ghost:hover{background:rgba(224,120,64,.18)}
.btn.ink{color:var(--ink)}
.btn.ink:hover{background:var(--red);color:var(--white)}
.hero-strip{
  border-top:1px solid #454C50;margin-top:3.2rem;padding-top:1.6rem;
  display:flex;gap:2.5rem;flex-wrap:wrap;
}
.hero-strip div{font-size:.9rem;color:#8A939D}
.hero-strip strong{
  display:block;font-family:'Barlow Condensed',sans-serif;
  font-size:1.6rem;color:var(--white);font-weight:700;letter-spacing:.02em;
}

/* ---------- section head split ---------- */
.section-head.split{flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem 3rem}
.section-head.split .lede{margin-bottom:1rem}
.lede-btn{font-size:.95rem;padding:.55rem 1.1rem}
@media (max-width:720px){.section-head.split{flex-direction:column;align-items:flex-start}}

/* ---------- urgent reactive band ---------- */
.urgent-plate{
  margin-top:1.25rem;display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;text-decoration:none;
  background:var(--ink);border-left:6px solid var(--red);padding:1.8rem 2rem;
  transition:transform .15s ease,box-shadow .15s ease;
}
.urgent-plate:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(23,27,32,.18)}
.urgent-plate h3{color:var(--white);margin-bottom:.3rem}
.urgent-plate p{color:#C4CBD2;font-size:.95rem;max-width:38rem}
.urgent-plate .btn{white-space:nowrap}

/* ---------- service plates ---------- */
.grid{display:grid;gap:1.25rem}
.grid.three{grid-template-columns:repeat(3,1fr)}
.grid.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.grid.three{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid.three,.grid.two{grid-template-columns:1fr}}
.plate{
  background:var(--white);border:1px solid var(--line);
  border-top:4px solid var(--red);
  padding:1.6rem 1.5rem 1.5rem;
  display:flex;flex-direction:column;gap:.7rem;
  text-decoration:none;position:relative;
  transition:transform .15s ease,box-shadow .15s ease;
}
.plate:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(23,27,32,.16);background:var(--ink)}
.plate:hover h3{color:var(--white)}
.plate:hover p{color:#C4CBD2}
.plate:hover .num{color:rgba(224,120,64,.45)}
.plate .num{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:3rem;line-height:1;color:var(--apricot);
  transition:color .15s ease;
}
.plate .tag{
  position:absolute;top:0;right:1.25rem;transform:translateY(-50%);
  background:var(--red);color:var(--white);
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;
  padding:.15rem .55rem;
}
.plate p{color:var(--steel);font-size:.95rem;flex:1}
.plate .more{
  font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  font-weight:600;letter-spacing:.06em;color:var(--red);font-size:1rem;
}

/* ---------- values ---------- */
.values{background:var(--peach)}
.value{border-left:3px solid var(--red);padding-left:1.25rem}
.value h3{margin-bottom:.4rem}
.value p{color:var(--steel);font-size:.95rem}

/* ---------- case studies ---------- */
.case{
  background:var(--white);border:1px solid var(--line);
  padding:1.6rem 1.5rem;text-decoration:none;
  display:flex;flex-direction:column;gap:.6rem;
  transition:transform .15s ease,box-shadow .15s ease;
}
.case:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(49,55,59,.10)}
.case .client{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  text-transform:uppercase;font-size:1.3rem;letter-spacing:.02em;
}
.case .service-label{
  color:var(--red);font-size:.8rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;
}
.case p{color:var(--steel);font-size:.95rem}

/* ---------- quotes ---------- */
.quote{
  background:var(--ink);color:var(--white);
  padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;
}
.quote blockquote{font-size:1.02rem;line-height:1.7;color:#DDE2E7}
.quote cite{
  font-style:normal;font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;letter-spacing:.08em;color:#E8B48C;font-weight:600;
}

/* ---------- partners ---------- */
.partners{display:flex;flex-wrap:wrap;gap:.75rem 2.2rem;align-items:center}
.partners span{
  font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.06em;font-weight:600;color:var(--steel);font-size:1.15rem;
}

/* ---------- page hero (inner pages) ---------- */
.page-hero{background:var(--ink);color:var(--white);padding:4rem 0 3rem}
.page-hero .eyebrow{color:#E8B48C}
.page-hero .eyebrow::before{background:#E8B48C}
.page-hero h1{margin-top:.9rem}
.page-hero p{color:#C4CBD2;max-width:44rem;margin-top:1rem;font-size:1.1rem}

/* ---------- article / prose ---------- */
.prose{max-width:46rem}
.prose p{margin-bottom:1.2rem}
.prose h2{margin:2.4rem 0 1rem}
.prose ul{margin:0 0 1.2rem 1.2rem}
.prose li{margin-bottom:.4rem}

/* ---------- CTA band ---------- */
.cta-band{background:var(--red);color:var(--white);text-align:left;padding:2.6rem 0}
.cta-band h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-band h2{max-width:22ch}
.cta-band .btn{border-color:var(--white);color:var(--white)}
.cta-band .btn:hover{background:var(--white);color:var(--red)}

/* ---------- forms ---------- */
form.contact{display:grid;gap:1rem;max-width:38rem}
form.contact label{font-weight:600;font-size:.9rem;display:grid;gap:.35rem}
form.contact input,form.contact textarea,form.contact select{
  font:inherit;padding:.7rem .8rem;border:1px solid var(--line);
  background:var(--white);width:100%;
}
form.contact input:focus,form.contact textarea:focus{border-color:var(--red)}
form.contact button{
  justify-self:start;cursor:pointer;background:var(--red);color:var(--white);
  border:none;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  font-weight:600;letter-spacing:.06em;font-size:1.1rem;padding:.8rem 1.8rem;
}
form.contact button:hover{background:var(--red-dark)}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:#8A939D;padding:3.5rem 0 2.5rem;font-size:.9rem}
footer.site .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem}
@media (max-width:720px){footer.site .wrap{grid-template-columns:1fr}}
footer.site h3{color:var(--white);font-size:1.1rem;margin-bottom:.8rem}
footer.site ul{list-style:none}
footer.site li{margin-bottom:.4rem}
footer.site a{color:#C4CBD2;text-decoration:none}
footer.site a:hover{color:var(--white)}
.footer-legal{border-top:1px solid #454C50;margin-top:2.5rem;padding-top:1.5rem;text-align:left;max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}

footer.site .footer-logo{height:2.4rem;width:auto;margin-bottom:1rem}

/* ---------- imagery ---------- */
.hero{background:linear-gradient(100deg, rgba(23,27,32,.92) 0%, rgba(23,27,32,.72) 45%, rgba(190,95,46,.55) 100%),url('/assets/img/home-banner.jpg') center/cover no-repeat}
.page-hero.img-services{background:linear-gradient(rgba(23,27,32,.84),rgba(23,27,32,.84)),url('/assets/img/services-banner.jpg') center/cover no-repeat}
.page-hero.img-about{background:linear-gradient(rgba(23,27,32,.84),rgba(23,27,32,.84)),url('/assets/img/about-banner.jpg') center/cover no-repeat}
.page-hero.img-home{background:linear-gradient(rgba(23,27,32,.84),rgba(23,27,32,.84)),url('/assets/img/home-banner.jpg') center/cover no-repeat}

.split-img{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.6rem}
.split-img img{width:100%;height:100%;min-height:280px;max-height:440px;object-fit:cover;border:1px solid var(--line)}
@media (max-width:620px){.split-img{grid-template-columns:1fr}}

.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:1rem}
@media (max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.team-grid{grid-template-columns:1fr}}
.person img{width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line)}
.person h3{margin-top:.8rem}
.person p{color:var(--steel);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}

.logo-strip{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;align-items:center}
.logo-strip img{height:3rem;width:auto;max-width:11rem;object-fit:contain}
@media (max-width:620px){.logo-strip img{height:2.2rem}}

.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}
@media (max-width:1000px){.logo-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.logo-grid{grid-template-columns:repeat(2,1fr)}}
.logo-cell{
  background:var(--white);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  padding:1.4rem 1.2rem;min-height:110px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.logo-cell img{max-height:3.4rem;width:auto;max-width:100%;object-fit:contain}
.logo-cell:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(23,27,32,.10);background:var(--white)}

.accreditations img{width:100%;margin:0 auto}
.accreditations-panel{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--red);padding:2.2rem 2rem}
.accreditations-panel img{width:100%}

.case-thumb{width:calc(100% + 3rem);max-width:none;margin:-1.6rem -1.5rem .6rem;height:190px;object-fit:cover}

.case-img{margin:0 0 2.2rem}
.case-img img{width:100%;max-width:46rem;max-height:460px;object-fit:cover;border:1px solid var(--line)}

/* ---------- case study detail pages ---------- */
.cs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem}
@media (max-width:720px){.cs-stats{grid-template-columns:1fr}}
.stat{background:var(--ink);color:var(--white);padding:1.5rem 1.4rem;border-bottom:4px solid var(--red)}
.stat strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:2.6rem;line-height:1.1;color:var(--red)}
.stat span{color:#C4CBD2;font-size:.9rem;display:block;margin-top:.35rem}

.cs-grid{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:start}
@media (max-width:900px){.cs-grid{grid-template-columns:1fr}}

.cs-content{max-width:46rem}
.cs-content p{margin-bottom:1.2rem}
.cs-content h2{display:flex;align-items:center;gap:.7rem;margin:2.6rem 0 1.1rem}
.cs-content h2:first-child{margin-top:0}
.cs-content h2::before{content:"";width:1.5rem;height:3px;background:var(--red);flex:none}
.cs-content h3{margin:1.6rem 0 .7rem;color:var(--rust);letter-spacing:.04em}
.cs-content ul{list-style:none;margin:0 0 1.4rem}
.cs-content li{position:relative;padding-left:1.4rem;margin-bottom:.55rem}
.cs-content li::before{content:"";position:absolute;left:0;top:.5em;width:.5rem;height:.5rem;background:var(--red)}

.cs-outcome{background:var(--ink);color:#DDE2E7;padding:2.2rem 2rem;margin:2.6rem 0}
.cs-outcome h2{color:var(--white);margin-top:0}
.cs-outcome li{margin-bottom:.7rem}

.cs-close{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;font-size:1.35rem;line-height:1.4;border-left:4px solid var(--red);padding-left:1.25rem;margin:2.4rem 0}
.cs-back{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:600;letter-spacing:.06em;color:var(--red);text-decoration:none}
.cs-back:hover{text-decoration:underline}

.cs-aside{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:5.5rem}
@media (max-width:900px){.cs-aside{position:static}}
.cs-photo{margin:0}
.cs-photo img{width:100%;max-height:300px;object-fit:cover;border:1px solid var(--line)}
.cs-facts{background:#F1F4F6;border:1px solid var(--line);border-top:4px solid var(--red);padding:1.6rem 1.5rem}
.cs-facts h3{margin-bottom:1.1rem}
.cs-fact-label{color:var(--red);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.1rem}
.cs-fact-value{font-weight:600;margin-bottom:1rem}
.cs-fact-list{list-style:none;margin:1.2rem 0 0;border-top:1px solid var(--line);padding-top:1.2rem}
.cs-fact-list li{position:relative;padding-left:1.3rem;margin-bottom:.6rem;font-size:.9rem;color:var(--steel)}
.cs-fact-list li::before{content:"";position:absolute;left:0;top:.5em;width:.45rem;height:.45rem;background:var(--red)}
.cs-aside .btn{text-align:center}

.cs-next-wrap{padding:0 0 4.5rem}
.cs-next{display:block;background:var(--white);border:1px solid var(--line);border-left:6px solid var(--red);padding:1.8rem 2rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.cs-next:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(23,27,32,.10)}
.cs-next-label{display:block;color:var(--red);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.95rem;margin-bottom:.25rem}
.cs-next-client{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:1.8rem;line-height:1.1}
.cs-next-service{display:block;color:var(--steel);font-size:.9rem;margin-top:.3rem}

/* ---------- testimonials ---------- */
.testimonial{
  display:grid;grid-template-columns:auto 1fr;gap:1rem 2rem;
  background:var(--white);border:1px solid var(--line);border-left:6px solid var(--red);
  padding:2.6rem 2.8rem;margin-bottom:1.5rem;
}
@media (max-width:620px){.testimonial{grid-template-columns:1fr;padding:1.8rem 1.5rem}}
.testimonial .mark{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:6rem;line-height:.75;color:var(--red);
}
.testimonial blockquote{font-size:1.15rem;line-height:1.85;color:var(--ink)}
.testimonial.dark{background:var(--ink)}
.testimonial.dark blockquote{color:#DDE2E7}
.testimonial-cite{display:flex;align-items:center;gap:1.1rem;margin-top:1.6rem}
.testimonial-cite img{height:2.4rem;width:auto;max-width:9rem;object-fit:contain}
.testimonial.dark .testimonial-cite img{background:var(--white);padding:.3rem .5rem}
.testimonial-cite cite{
  font-style:normal;font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:1.15rem;color:var(--red);
}

/* ---------- service detail pages ---------- */
.svc-lede{font-size:1.25rem;line-height:1.65;font-weight:500}
.svc-more-head{margin-top:4rem}
.mini-plate{
  background:var(--white);border:1px solid var(--line);border-top:4px solid var(--red);
  padding:1.5rem 1.4rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;
  text-decoration:none;position:relative;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.mini-plate .tag{
  position:absolute;top:0;right:1.25rem;transform:translateY(-50%);
  background:var(--red);color:var(--white);
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;padding:.15rem .55rem;
}
.mini-plate h3{font-size:1.15rem}
.mini-plate .more{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:600;letter-spacing:.06em;color:var(--red);font-size:.95rem}
.mini-plate:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(23,27,32,.12);background:var(--ink)}
.mini-plate:hover h3{color:var(--white)}

/* ---------- mobile polish ---------- */
@media (max-width:620px){
  .wrap{padding:0 1rem}
  section{padding:2.8rem 0}
  h1{font-size:2.3rem}
  h2{font-size:1.7rem}
  .hero{padding:3.2rem 0 2.8rem}
  .hero h1{font-size:2.3rem;max-width:none}
  .hero p{font-size:1.02rem}
  .hero-actions{margin-top:1.6rem}
  .hero-actions .btn{width:100%;text-align:center}
  .hero-strip{margin-top:2.2rem;padding-top:1.2rem;gap:1.1rem;flex-direction:column}
  .page-hero{padding:2.8rem 0 2.4rem}
  .page-hero p{font-size:1rem}
  .brand img{height:2.7rem}
  .nav{min-height:4rem}
  .lede{font-size:1.05rem}
  .plate .num{font-size:2.4rem}
  .urgent-plate{padding:1.4rem 1.25rem}
  .urgent-plate .btn{width:100%;text-align:center}
  .split-img img{min-height:220px;max-height:300px}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .person h3{font-size:1rem;margin-top:.5rem}
  .person p{font-size:.68rem;letter-spacing:.05em}
  .logo-cell{min-height:80px;padding:1rem .8rem}
  .logo-cell img{max-height:2.4rem}
  .accreditations-panel{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:1.4rem 1rem}
  .accreditations-panel img{min-width:720px}
  .cs-stats{gap:.8rem;margin-bottom:2.2rem}
  .stat{padding:1.1rem 1.1rem}
  .stat strong{font-size:2rem}
  .cs-content h2{font-size:1.45rem}
  .cs-content h3{font-size:1.1rem}
  .cs-outcome{padding:1.6rem 1.25rem}
  .cs-close{font-size:1.15rem}
  .cs-next{padding:1.4rem 1.25rem}
  .cs-next-client{font-size:1.4rem}
  .testimonial .mark{font-size:3.4rem;line-height:1}
  .testimonial blockquote{font-size:1.02rem;line-height:1.75}
  .svc-lede{font-size:1.1rem}
  .svc-more-head{margin-top:2.6rem}
  .cta-band .btn{width:100%;text-align:center}
  footer.site{padding:2.5rem 0 2rem}

  /* card groups become swipeable rows instead of tall stacks */
  .grid.three:has(.plate),
  .grid.three:has(.case),
  .grid.three:has(.mini-plate){
    display:flex;overflow-x:auto;gap:.9rem;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding:.4rem .2rem 1rem;scrollbar-width:none;
  }
  .grid.three:has(.plate)::-webkit-scrollbar,
  .grid.three:has(.case)::-webkit-scrollbar,
  .grid.three:has(.mini-plate)::-webkit-scrollbar{display:none}
  .grid.three .plate,
  .grid.three .case,
  .grid.three .mini-plate{flex:0 0 82%;scroll-snap-align:start}
  .case-thumb{height:150px}

  /* photos sit side by side instead of stacked */
  .split-img{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.8rem}
  .split-img img{min-height:150px;max-height:190px}

  /* partner logos 3-up */
  .logo-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}
  .logo-cell{min-height:64px;padding:.7rem .6rem}
  .logo-cell img{max-height:1.9rem}
}
