/* =========================================================================
   BVS Facilities Support — shared site styles
   Loaded by every page (homepage + /locations). Single light theme,
   solid colours only. Edit here and every page updates.

   • Replace anything wrapped like  [[ THIS ]]  with your real info.
   • Grey dashed boxes marked  PHOTO  are where real photographs go.
   • Change the whole colour scheme from the :root block below
     (swap --brand for any solid colour you like).
   • Swap the font name in each page's <link> tag + --font-head / --font-body.
   ========================================================================= */

:root{
  /* ---- brand colour: solid red (change this one line to re-skin) ---- */
  --brand:#C1272D;
  --brand-dark:#9C1F24;

  /* ---- neutrals ---- */
  --ink:#1A1A1A;         /* headings / near-black */
  --text:#4A4A4A;        /* body copy */
  --muted:#767676;
  --bg:#FFFFFF;          /* primary background: pure white */
  --bg-alt:#F5F5F5;      /* light grey alternating sections */
  --line:#E2E2E2;
  --footer-bg:#1B1F24;   /* dark charcoal */
  --footer-head:#FFFFFF;
  --footer-text:#A7AEB6;
  --footer-line:#333941;

  --font-head:"Source Sans 3","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --font-body:"Source Sans 3","Segoe UI","Helvetica Neue",Arial,sans-serif;

  --radius:6px;
  --shadow:0 4px 18px rgba(0,0,0,.08);
  --hero-photo:none;     /* set to url("hero.jpg") for a real hero image */
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.25;margin:0;font-weight:400}
h1,h2{font-weight:400}
b,strong{font-weight:400}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

.wrap{width:min(1180px,92vw);margin-inline:auto}
.wrap.wide{width:min(1360px,96vw)}
.kicker{font-family:var(--font-head);font-weight:400;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:.8rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:400;font-size:.95rem;letter-spacing:0;padding:.75rem 1.7rem;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s,opacity .15s}
.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn-dark{background:#15171A;color:#fff;border-color:#15171A}
.btn-dark:hover{background:#000;border-color:#000}
.btn-white{background:#fff;color:#15171A;border-color:#fff}
.btn-white:hover{background:#E9E9E9;border-color:#E9E9E9}
.btn-outline{background:transparent;color:#fff;border-color:#fff}
.btn-outline:hover{background:#fff;color:var(--brand)}
.btn-line{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-line:hover{background:var(--brand);color:#fff}
.btn-lg{padding:.9rem 2rem;font-size:1rem}

.photo{background:var(--bg-alt);border:1px dashed #CFCFCF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted);text-align:center;padding:1.2rem;font-size:.72rem;font-family:var(--font-head);font-weight:400;letter-spacing:.06em}
.photo svg{opacity:.45}
.photo.has-img{padding:0;border:0;overflow:hidden}
.photo.has-img img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------------- Header (dark, to suit a light logo) ---------------- */
header.site{position:sticky;top:0;z-index:60;background:var(--footer-bg);border-bottom:3px solid var(--brand)}
.topbar{background:#0E1519;color:#9AA6B0;font-size:.8rem}
.topbar .wrap{display:flex;justify-content:flex-end;gap:1.4rem;padding:.45rem 0;font-family:var(--font-head);font-weight:400}
.topbar a:hover{color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.55rem 0;min-height:64px}
.brand{display:flex;align-items:center;gap:.55rem}
.brand .logo{height:52px;width:auto;flex:none}
.nav-links{display:flex;gap:1.5rem;font-family:var(--font-head);font-weight:400;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
.nav-links a{color:#E6EBEF}
.nav-links a:hover{color:var(--brand)}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-toggle{display:none;background:none;border:1px solid #3A4650;border-radius:var(--radius);padding:.5rem .7rem;color:#E6EBEF;cursor:pointer}
@media (max-width:1060px){
  .topbar{display:none}
  .nav-links{display:none}
  .nav-toggle{display:inline-flex}
  .nav-right .btn{display:none}
  .nav-links.open{display:flex;flex-direction:column;gap:1.1rem;position:absolute;left:0;right:0;top:100%;background:var(--footer-bg);border-bottom:3px solid var(--brand);padding:1.3rem 4vw 1.6rem}
}

/* ---------------- 1 · Hero (photo + panel + red stat bar) ---------------- */
.hero{position:relative;color:#fff;overflow:hidden;min-height:520px;display:flex;align-items:flex-end}
.hero-bg{position:absolute;inset:0;background:#3B424C var(--hero-photo) center/cover no-repeat}
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:rgba(22,25,30,.38);z-index:1}
.hero-wrap{position:relative;z-index:1;width:100%;padding:2.4rem 0 2rem}
.hero-box{max-width:740px;margin-left:auto;margin-right:clamp(0px,3vw,3rem)}   /* anchored bottom-right, inset from edge */
.hero-panel{background:rgba(22,24,28,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:14px;padding:1.1rem 1.5rem 1.25rem}
.hero-panel h1{color:#fff;font-weight:400;font-size:clamp(.92rem,1.4vw,1.15rem);line-height:1.3;letter-spacing:0}
.hero-sub{color:#fff;font-weight:400;font-size:clamp(.82rem,1vw,.95rem);margin-top:.3rem}
.hero-btns{margin-top:.85rem;display:flex;gap:.5rem;flex-wrap:wrap}
.hero-btns .btn{padding:.5rem 1.1rem;font-size:.78rem}
.hero-stats{position:relative;z-index:1;margin-top:.5rem;background:var(--brand);border-radius:8px;padding:.9rem 1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.2rem}
.hstat{display:block;color:#fff}
.hstat b{font-weight:400;font-size:1rem;display:block;margin-bottom:.2rem}
.hstat p{color:#fff;font-size:.82rem;line-height:1.45;opacity:.95}
@media (max-width:620px){
  .hero{min-height:460px}
  .hero-box{max-width:none;margin-right:0}
  .hero-stats{grid-template-columns:1fr}
}

/* ---------------- 3 · Provider / careers box ---------------- */
.provider{padding:3.5rem 0;background:#fff}
.provider .card{background:var(--brand);color:#fff;border-radius:var(--radius);padding:2rem 2.3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.provider h2{color:#fff;font-size:1.2rem}
.provider p{color:#FDE3E7;margin-top:.3rem;font-size:.9rem}

/* ---------------- section scaffold ---------------- */
section.sec{padding:4rem 0}
.sec.alt{background:var(--bg-alt)}
.sec-head{max-width:62ch;margin:0 auto 2.8rem;text-align:center}
.sec-head h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.sec-head p{margin-top:.9rem;font-size:.98rem;color:var(--text)}

/* ---------------- 4 · Three-column band ---------------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.trio .col{text-align:center}
.trio .col .ic{width:42px;height:42px;border-radius:var(--radius);background:var(--brand);color:#fff;display:grid;place-items:center;margin:0 auto .9rem}
.trio .col .thumb{width:100%;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;margin:0 auto 1.2rem;display:block}
.trio .col .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.trio h3{font-size:1.05rem;margin-bottom:.5rem}
.trio p{font-size:.9rem;color:var(--text)}
@media (max-width:860px){.trio{grid-template-columns:1fr;gap:2rem}}

/* ---------------- 5 · About: text left / image right ---------------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.about h2{font-size:clamp(1.4rem,2.4vw,1.85rem)}
.about p{margin-top:.9rem;font-size:.95rem}
.about .photo{aspect-ratio:4/3;border-radius:var(--radius)}
@media (max-width:860px){.about{grid-template-columns:1fr;gap:2.2rem}}

/* ---------------- 6 · Quote form (plain, on white) ---------------- */
.formsec{background:#fff}
form.quote{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1.4rem}
form.quote .full{grid-column:1 / -1}
label{font-family:var(--font-head);font-size:.72rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);display:block;margin-bottom:.35rem}
input,select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #CFCFCF;border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;font-size:.9rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}
textarea{min-height:110px;resize:vertical}
form.quote .actions{grid-column:1 / -1}
.form-ok{max-width:900px;margin:0 auto;border:1px solid var(--brand);border-radius:var(--radius);padding:2rem;background:var(--bg-alt)}
.form-ok b{font-family:var(--font-head);color:var(--ink);font-size:1.1rem}
@media (max-width:640px){form.quote{grid-template-columns:1fr}}

/* ---------------- 7 · Testimonials carousel ---------------- */
.tst{position:relative;max-width:840px;margin-inline:auto;text-align:center}
.tst .track{overflow:hidden}
.tst .slides{display:flex;transition:transform .4s ease}
.tst .slide{min-width:100%;padding:0 1rem}
.tst .mark{font-family:var(--font-head);font-size:2.4rem;color:var(--brand);line-height:1}
.tst blockquote{margin:.3rem 0 1.1rem;font-size:1.08rem;color:var(--ink);font-weight:400}
.tst .who{font-size:.82rem;color:var(--muted);font-family:var(--font-head);font-weight:400}
.tst .arrows{display:flex;gap:.6rem;justify-content:center;margin-top:1.8rem}
.tst .arrows button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.tst .arrows button:hover{border-color:var(--brand);color:var(--brand)}
.tst .dots{display:flex;gap:.4rem;justify-content:center;margin-top:1rem}
.tst .dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:block;cursor:pointer}
.tst .dots i.on{background:var(--brand)}
.note{margin-top:1.4rem;font-size:.82rem;color:var(--muted);font-style:italic;text-align:center}

/* ---------------- 8 · How it works: 3 image step-cards ---------------- */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.how .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.how .step .photo{border:0;border-bottom:1px dashed #CFCFCF;aspect-ratio:16/10}
.how .step .body{padding:1.7rem 1.6rem 2rem}
.how .step .badge{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--font-head);font-weight:400;font-size:.9rem;display:grid;place-items:center;margin-bottom:.8rem}
.how .step h3{font-size:1rem;margin-bottom:.4rem}
.how .step p{font-size:.88rem;color:var(--text)}
@media (max-width:860px){.how{grid-template-columns:1fr}}

/* ---------------- 9 · Differentiators: 2-column ---------------- */
.diff{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.diff .item{padding-left:1.4rem;border-left:4px solid var(--brand)}
.diff .item h3{font-size:1.05rem;margin-bottom:.5rem}
.diff .item p{color:var(--text);font-size:.9rem}
@media (max-width:760px){.diff{grid-template-columns:1fr}}

/* ---------------- 10 · One partner band (white) ---------------- */
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:3.8rem 0}
.band h2{font-size:clamp(1.4rem,2.4vw,1.85rem);max-width:24ch;margin-inline:auto}
.band p{margin-top:.9rem;color:var(--text);font-size:.98rem;max-width:58ch;margin-inline:auto}

/* ---------------- 11 · Industries: 5-up grid ---------------- */
.inds{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.ind{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}
.ind:hover{border-color:var(--brand)}
.ind .photo{border:0;aspect-ratio:1/1}
.ind span{display:block;padding:.8rem 1rem;font-family:var(--font-head);font-weight:400;font-size:.78rem;color:var(--ink);text-align:center;text-transform:uppercase;letter-spacing:.02em}
.inds-btn{text-align:center;margin-top:2.5rem}
@media (max-width:960px){.inds{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.inds{grid-template-columns:1fr 1fr}}

/* ---------------- 12 · Closing CTA ---------------- */
.endcta{background:var(--bg-alt);text-align:center;padding:4rem 0}
.endcta h2{font-size:clamp(1.5rem,2.6vw,2rem);max-width:22ch;margin-inline:auto}
.endcta p{margin-top:.8rem;color:var(--text);font-size:.98rem}
.endcta .btn{margin-top:1.8rem}

/* ---------------- Footer ---------------- */
footer.site{background:var(--footer-bg);color:var(--footer-text);padding:4rem 0 1.8rem}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:2.2rem}
footer .brand{color:#fff}
.foot-blurb{margin-top:1rem;font-size:.9rem;max-width:34ch;color:var(--footer-text)}
.foot-social{display:flex;gap:.7rem;margin-top:1.2rem}
.foot-social a{width:36px;height:36px;border:1px solid var(--footer-line);border-radius:var(--radius);display:grid;place-items:center;color:var(--footer-text)}
.foot-social a:hover{color:#fff;border-color:#fff}
.foot-grid h4{color:var(--footer-head);font-family:var(--font-head);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.85rem}
.foot-grid a:hover{color:#fff}
.foot-bottom{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--footer-line);text-align:center;font-size:.84rem;color:var(--footer-text)}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* ---------------- Locations finder (/locations/) — sidebar + map shell ---------------- */
.loc-shell{display:flex;align-items:stretch;height:min(760px,82vh);min-height:520px;border-top:1px solid var(--line)}

.loc-sidebar{width:380px;flex:none;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);overflow:hidden}
.loc-search-panel{background:var(--brand);color:#fff;padding:1.3rem 1.2rem 1.5rem;flex:none}
.loc-search-panel h1{color:#fff;font-size:1.2rem;margin-bottom:.9rem}
.loc-search-row{display:flex}
.loc-search-row input{flex:1;min-width:0;border:0;padding:.75rem .9rem;font:inherit;font-size:.9rem;color:var(--ink);border-radius:4px 0 0 4px}
.loc-search-row input:focus{outline:2px solid #fff;outline-offset:-2px}
.loc-search-row button{border:0;background:#15171A;color:#fff;width:46px;flex:none;display:grid;place-items:center;border-radius:0 4px 4px 0;cursor:pointer}
.loc-search-row button:hover{background:#000}
.loc-search-panel .hint{margin-top:.6rem;font-size:.76rem;color:#FADCE0}

.loc-count-bar{background:var(--bg-alt);padding:.75rem 1.2rem;font-family:var(--font-head);font-size:.88rem;color:var(--text);border-bottom:1px solid var(--line);flex:none}
.loc-count-bar .num{color:var(--brand)}

.loc-scroll{flex:1;overflow-y:auto}
.loc-state-bar{position:sticky;top:0;background:#15171A;color:#fff;padding:.55rem 1.2rem;font-family:var(--font-head);font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;z-index:1}
.loc-entry{padding:1.1rem 1.2rem;border-bottom:1px solid var(--line)}
.loc-entry.is-soon{opacity:.55}
.loc-entry .name{font-family:var(--font-head);font-size:1rem;color:var(--ink);margin-bottom:.15rem}
.loc-entry .radius-line{font-size:.82rem;color:var(--muted);margin-bottom:.6rem}
.loc-entry .radius-line.is-match{color:var(--brand)}
.loc-hours{width:100%;border-collapse:collapse;font-size:.8rem;color:var(--text);margin-bottom:.7rem}
.loc-hours td{padding:.12rem 0}
.loc-hours td:last-child{text-align:right;color:var(--muted)}
.loc-phone-line{font-size:.85rem;margin-bottom:.6rem}
.loc-phone-line a{color:var(--brand)}
.loc-actions{display:flex;flex-direction:column;gap:.35rem}
.loc-actions a{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--brand)}
.loc-actions a:hover{text-decoration:underline}
.loc-actions svg{flex:none}
.badge-soon{font-family:var(--font-head);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;background:var(--bg-alt);color:var(--muted);border-radius:999px;padding:.3rem .7rem;display:inline-block;margin-top:.3rem}
.loc-empty{font-size:.88rem;color:var(--muted);padding:1.2rem}

.loc-map-wrap{flex:1;position:relative;background:var(--bg-alt)}
#loc-map{width:100%;height:100%}
.loc-map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:2rem;color:var(--muted);font-size:.88rem}
.loc-map-fallback b{font-family:var(--font-head);color:var(--ink);font-weight:400;font-size:1rem}

@media (max-width:900px){
  .loc-shell{flex-direction:column;height:auto}
  .loc-sidebar{width:100%;border-right:0;border-bottom:1px solid var(--line);max-height:60vh}
  .loc-map-wrap{height:380px}
}

/* ---------------- Location detail page (e.g. /locations/boise-id/) ---------------- */
.loc-detail-hero{background:var(--bg-alt);padding:3rem 0;text-align:center}
.loc-detail-hero h1{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.loc-detail-hero p{margin-top:.7rem;color:var(--text)}
.loc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start;padding:3.5rem 0}
.loc-detail-grid iframe{width:100%;height:420px;border:0;border-radius:var(--radius);border:1px solid var(--line)}
.loc-info dl{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1rem;font-size:.95rem;margin:0}
.loc-info dt{font-family:var(--font-head);color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}
.loc-info dd{margin:0}
.loc-info .btn{margin-top:1.6rem}
@media (max-width:820px){.loc-detail-grid{grid-template-columns:1fr}}

/* ---------------- Location detail page v2 — mirrors the homepage's ---------------- */
/* visual language (photo hero, brand band, cards, quote form) with fewer  */
/* sections and content specific to that city.                            */
.lhero{position:relative;color:#fff;overflow:hidden;min-height:420px;display:flex;align-items:flex-end}
.lhero-bg{position:absolute;inset:0;background:#3B424C var(--loc-photo) center/cover no-repeat}
.lhero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,10,.65) 0%,rgba(8,8,10,.38) 45%,rgba(8,8,10,.14) 100%)}
.lhero .wrap{position:relative;z-index:1;padding:2.6rem 0 2.3rem}
.lhero h1{color:#fff;font-size:clamp(1.6rem,3.2vw,2.3rem);max-width:24ch}
.lhero p{margin-top:.8rem;color:#EDEDED;font-size:1rem;max-width:60ch}
.lhero .btns{margin-top:1.4rem;display:flex;gap:.8rem;flex-wrap:wrap}

.lband{background:var(--brand);color:#fff;text-align:center;padding:1rem 0}
.lband h2{color:#fff;font-size:1.1rem}

.ltwo{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;padding:3.5rem 0}
.lcard{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.lcard-head{padding:1.3rem 1.4rem .9rem}
.lcard-head h3{font-size:1.15rem}
.lcard-head p{margin-top:.3rem;font-size:.86rem;color:var(--muted)}
.lcard iframe{width:100%;height:280px;border:0;display:block}
.lcard-body{padding:1.3rem 1.4rem 1.5rem}
.lcard-icon{width:48px;height:48px;border-radius:var(--radius);background:var(--brand);color:#fff;display:grid;place-items:center;margin-bottom:1rem}
.lcard-body .phone-line{font-size:.98rem;margin-bottom:.7rem}
.lcard-body .phone-line a{color:var(--brand)}
.lcard-body .blurb{font-size:.9rem;color:var(--text);margin-bottom:1.2rem}
.lcard-body h4{font-size:.9rem;margin-bottom:.6rem}
@media (max-width:820px){.ltwo{grid-template-columns:1fr}}

.lcities{padding-top:0}
.lcities h2{font-size:1.3rem;margin-bottom:1.3rem}
.lcities ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem 1.5rem;font-size:.92rem;color:var(--text)}
@media (max-width:760px){.lcities ul{grid-template-columns:repeat(2,1fr)}}

.lformsec{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:start;padding:3.5rem 0}
.lformsec .photo{aspect-ratio:4/3;border-radius:var(--radius)}
.lformsec .call-line{margin-top:1rem;font-size:1.05rem;color:var(--ink)}
.lformsec .call-line a{color:var(--brand)}
@media (max-width:820px){.lformsec{grid-template-columns:1fr}}

.lbigmap{width:100%;height:440px;border:0;display:block}

/* form embedded in the narrower photo+form column: always single column */
.lformsec form.quote{grid-template-columns:1fr}

/* ---------------- Contact landing page (/contact/) ---------------- */
.contactland-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contactland-info{padding-top:1.8rem}
.contactland-form{padding-top:4rem}
.contactland-info h1{font-size:clamp(1.7rem,3.2vw,2.3rem);margin-top:.3rem}
.contactland-photo{margin-top:1.6rem;aspect-ratio:4/5;border-radius:var(--radius)}
.contactland-detail{margin-top:1.6rem;display:flex;flex-direction:row;flex-wrap:wrap;gap:1.8rem}
.contactland-detail div{display:flex;gap:.7rem;align-items:center;font-size:1rem;color:var(--text)}
.contactland-detail a{color:var(--brand)}
.contactland-detail svg{color:var(--brand);flex:none}
@media (max-width:860px){
  .contactland-grid{grid-template-columns:1fr}
  .contactland-photo{aspect-ratio:16/9}
}

/* ---------------- Thank-you page ---------------- */
.thanks{min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 0}
.thanks-icon{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;margin:0 auto 1.5rem}
.thanks h1{font-size:clamp(1.6rem,3vw,2.2rem)}
.thanks p{margin-top:1rem;font-size:1.05rem;color:var(--text);max-width:48ch;margin-inline:auto}
.thanks .btn{margin-top:1.8rem}

/* ---------------- Industries page (/industries/) ---------------- */
.ind-hero{background:var(--bg-alt);padding:3.5rem 0 3rem;text-align:center}
.ind-hero h1{font-size:clamp(1.8rem,3.4vw,2.4rem)}
.ind-hero p{margin-top:.9rem;color:var(--text);font-size:1.05rem;max-width:60ch;margin-inline:auto}
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem}
a.ind-block{display:block;text-decoration:none;transition:opacity .15s}
a.ind-block:hover{opacity:.85}
.ind-block .photo{aspect-ratio:4/3;border-radius:var(--radius);margin-bottom:1.1rem}
.ind-block h2{font-size:1.15rem;margin-bottom:.6rem}
.ind-block p{font-size:.94rem;color:var(--text)}
.ind-block .more{margin-top:.7rem;font-size:.85rem;color:var(--brand);display:inline-block}
@media (max-width:900px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ind-grid{grid-template-columns:1fr}}

/* ---------------- Industry detail page (/industries/<slug>/) ---------------- */
.ind-detail-body{padding:3.5rem 0}
.ind-detail-body .lede{font-size:1.08rem;color:var(--text);max-width:70ch;margin-bottom:2.6rem}
.ind-detail-body h2{font-size:1.4rem;margin-bottom:1.3rem}
.ind-checklist{list-style:none;margin:0 0 3rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 2rem}
.ind-checklist li{display:flex;gap:.7rem;align-items:flex-start;font-size:.96rem;color:var(--text)}
.ind-checklist svg{color:var(--brand);flex:none;margin-top:.2rem}
.ind-detail-photo{aspect-ratio:16/9;border-radius:var(--radius);margin-bottom:3rem}
@media (max-width:700px){.ind-checklist{grid-template-columns:1fr}}
