/* header */
/* ---- Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Barlow:wght@400;500;600&display=swap');

/* ---- Design tokens ---- */
:root{
  /* ---- Type & layout ---- */
  --cond:'Barlow Condensed', sans-serif;
  --body:'Barlow', -apple-system, BlinkMacSystemFont, sans-serif;
  --maxw:1240px;

  /* ---- Canonical palette — EDIT COLOURS HERE (one place) ---- */
  --navy:#0E1C30;
  --navy-2:#16202E;
  --navy-deep:#0A1422;
  --paper:#F4F1EB;
  --orange:#E07A28;
  --orange-dark:#C9691C;
  --orange-light:#F0A35E;
  --ink:#16202E;
  --muted:#4A5564;
  --muted-2:#5C6573;
  --border:#E4DFD4;
  --line:#DCD6C9;

  /* ---- tr- aliases → point at the tokens above ----
     These let the older tr- pages share one source of truth.
     Editing a colour above now updates BOTH class systems. */
  --tr-navy:        var(--navy);
  --tr-navy-deep:   var(--navy-deep);
  --tr-navy-soft:   #1E2C42;                    /* raised navy surface — no base equivalent */
  --tr-orange:      var(--orange);
  --tr-orange-dark: var(--orange-dark);
  --tr-orange-light:var(--orange-light);
  --tr-white:       #fff;
  --tr-paper:       var(--paper);
  --tr-ink:         var(--ink);
  --tr-body:        var(--muted);
  --tr-on-navy:     #B9C4D2;                     /* matches NitroShock on-navy text */
  --tr-line:        var(--border);
  --tr-line-navy:   rgba(255,255,255,.12);

  /* ---- Type / layout aliases ---- */
  --tr-display:     var(--cond);
  --tr-body-font:   var(--body);
  --tr-container:   var(--maxw);                 /* unified to 1240px (was 1180px) */
  --tr-radius:      0;
  --tr-angle:       3deg;
  --tr-header-h:    78px;
}

/* ---- Reset ---- */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;}

/* ---- Layout ---- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px;width:100%;}
.container--md{max-width:1000px;}
.container--narrow{max-width:900px;}
.section{padding:110px 0;}
.section--pad-sm{padding:90px 0;}
.section--navy{background:var(--navy);}
.section--dark{background:var(--navy-2);}
.section--angled-down{clip-path:polygon(0 0,100% 70px,100% 100%,0 100%);padding-top:160px;}
.section--angled-up{clip-path:polygon(0 70px,100% 0,100% 100%,0 100%);padding-top:160px;}
@media(max-width:1024px){.container{padding:0 24px;}}
@media(max-width:760px){.section{padding:72px 0;}.section--angled-down,.section--angled-up{padding-top:120px;}}
@media(max-width:640px){.hero__bg{object-position:center 8%;}}

/* ---- Typography ---- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--orange-dark);font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--orange);display:inline-block;}
.h-hero{font-family:var(--cond);font-weight:800;color:#fff;font-size:clamp(44px,6vw,82px);line-height:.96;letter-spacing:-.01em;text-transform:uppercase;}
.h-hero--xl{font-size:clamp(46px,6.6vw,86px);}
.h-section{font-family:var(--cond);font-weight:800;font-size:clamp(32px,4.4vw,56px);line-height:1.02;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);}
.h-3{font-family:var(--cond);font-weight:700;font-size:25px;text-transform:uppercase;color:var(--ink);}
.lede{font-size:19px;line-height:1.6;color:var(--muted);}
.accent{color:var(--orange-light);}
.text-center{text-align:center;}
.measure{max-width:680px;}
.measure-lg{max-width:760px;}

/* context colours on dark backgrounds */
.hero .eyebrow,.section--navy .eyebrow,.section--dark .eyebrow,.cta__inner--navy .eyebrow{color:var(--orange-light);}
.hero .h-hero,.hero .h-section,.section--navy .h-section,.section--dark .h-section{color:#fff;}
.hero .lede{color:#D5DBE3;}
.section--navy .lede,.section--dark .lede{color:#B9C4D2;}

/* ---- Buttons & links ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--cond);font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;transition:background .2s,transform .2s,border-color .2s;}
.btn--primary{background:var(--orange);color:#fff;}
.btn--primary:hover{background:var(--orange-dark);transform:translateY(-2px);}
.btn--ghost{background:transparent;border:1.5px solid rgba(255,255,255,.45);color:#fff;}
.btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;}
.btn--md{font-size:16px;padding:13px 22px;}
.btn--lg{font-size:19px;padding:18px 34px;}
.btn--xl{font-size:19px;padding:18px 38px;}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;}
.arrow-link{display:inline-flex;align-items:center;gap:8px;color:var(--orange-dark);font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase;}
.arrow-link svg{width:14px;height:14px;}
.section--navy .arrow-link,.section--dark .arrow-link{color:var(--orange-light);}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:200;padding:20px 0;background:transparent;transition:background .35s ease,padding .35s ease,box-shadow .35s ease;}
.site-header.is-scrolled,.site-header.is-open{background:var(--navy);}
.site-header.is-scrolled{padding:12px 0;box-shadow:0 8px 30px rgba(8,18,33,.35);}
.site-header--solid{background:var(--navy);padding:14px 0;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo img{height:38px;width:auto;}
.nav{display:flex;align-items:center;gap:8px;}
.nav__desktop{display:flex;align-items:center;gap:4px;}
.nav__link{display:flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;color:#fff;font-family:var(--cond);font-weight:600;font-size:16px;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;}
.nav__link svg{transition:transform .2s;}
.dropdown{position:relative;}
.dropdown__menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--border);box-shadow:0 18px 50px rgba(14,28,48,.18);padding:8px;}
.dropdown:hover .dropdown__menu,.dropdown:focus-within .dropdown__menu{display:block;}
.dropdown:hover .nav__link svg{transform:rotate(180deg);}
.dropdown__menu a{display:block;padding:11px 14px;font-weight:500;color:var(--ink);font-size:15px;}
.dropdown__menu a:hover{color:var(--orange-dark);}
.header-phone{display:flex;align-items:center;gap:8px;color:#fff;font-family:var(--cond);font-weight:600;font-size:16px;letter-spacing:.03em;padding:10px 14px;margin-left:6px;}
.header-cta{margin-left:0;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.burger span{display:block;width:26px;height:2.5px;background:#fff;}
.drawer{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--navy);border-top:1px solid rgba(255,255,255,.12);padding:14px 32px 26px;}
.drawer.is-open{display:block;}
.drawer a{display:block;color:#fff;padding:12px 0;font-family:var(--cond);font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.08);}
.drawer .btn{display:block;text-align:center;margin-top:18px;border-bottom:0;}
@media(max-width:980px){
  .nav__desktop,.header-phone{display:none;}
  .burger{display:flex;}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden;}
.hero--tall{min-height:92vh;flex-direction:column;justify-content:flex-end;}
.hero--mid{min-height:62vh;}
.hero--block{min-height:0;display:block;}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;opacity:.68;}
.hero__bg--dim{opacity:.32;}
.hero__bg--xdim{opacity:.18;}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,28,48,.32) 0%,rgba(14,28,48,.24) 34%,rgba(14,28,48,.86) 100%);}
.hero__overlay--flat{background:linear-gradient(180deg,rgba(14,28,48,.82),rgba(14,28,48,.92));}
.hero__overlay--side{background:linear-gradient(90deg,rgba(14,28,48,.62) 0%,rgba(14,28,48,0) 60%);}
.hero__inner{position:relative;width:100%;padding:150px 0 64px;}
.hero__inner--block{padding:150px 0 80px;}
.hero__title{margin-bottom:22px;max-width:880px;}
.hero__lede{font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:640px;margin-bottom:34px;}

/* breadcrumb */
.breadcrumb{margin-bottom:20px;font-size:14px;}
.breadcrumb a{color:#9FB0C2;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb span{color:#5C6E84;}
.breadcrumb .current{color:var(--orange-light);}

/* proof bar (home) */
.proof-bar{width:100%;position:relative;background:rgba(8,18,33,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.12);}
.proof-bar__grid{display:grid;grid-template-columns:repeat(5,1fr);}
.proof-bar__item{padding:26px 24px;border-right:1px solid rgba(255,255,255,.1);}
.proof-bar__item:last-child{border-right:0;}
.proof-bar__num{display:block;font-family:var(--cond);font-weight:700;font-size:26px;color:#fff;text-transform:uppercase;line-height:1;}
.proof-bar__label{color:#9FB0C2;font-size:14px;}
.proof-bar__reviews{padding:26px 24px;border-right:1px solid rgba(255,255,255,.1);text-decoration:none;display:flex;flex-direction:column;gap:5px;}
.proof-bar__reviews:hover{background:rgba(255,255,255,.04);}
.proof-bar__reviews-top{display:flex;align-items:center;gap:8px;}
.proof-bar__reviews-num{font-family:var(--cond);font-weight:700;font-size:26px;color:#fff;line-height:1;}
.proof-bar__stars{color:var(--orange-light);font-size:16px;letter-spacing:1.5px;}
.proof-bar__reviews-label{color:#9FB0C2;font-size:14px;display:inline-flex;align-items:center;gap:6px;}
@media(max-width:760px){.proof-bar__grid{grid-template-columns:1fr 1fr;}.proof-bar__item:nth-child(2),.proof-bar__reviews{border-right:0;}}
@media(max-width:560px){.proof-bar__grid{grid-template-columns:1fr;}.proof-bar__item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);}.proof-bar__item:last-child{border-bottom:0;}}

/* ============================================================
   GRIDS & SPLIT
   ============================================================ */
.grid{display:grid;gap:24px;}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid--gap-lg{gap:28px;}
.grid + .grid{margin-top:24px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split--wide-left{grid-template-columns:1.1fr .9fr;}
@media(max-width:940px){.grid--3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:820px){.grid--2{grid-template-columns:1fr;}}
@media(max-width:880px){.split,.split--wide-left{grid-template-columns:1fr;gap:40px;}}
@media(max-width:620px){.grid--3{grid-template-columns:1fr;}}
@media(max-width:560px){.grid--4{grid-template-columns:1fr 1fr;}}

/* ============================================================
   CARDS
   ============================================================ */
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);}
.card--hover{transition:transform .25s,box-shadow .25s;}
.card--hover:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(14,28,48,.13);}
.card--accent{border-top:3px solid var(--orange);}
.card--pad{padding:30px 28px;}
.card__media{overflow:hidden;aspect-ratio:4/3;}
.card__media img{width:100%;height:100%;object-fit:cover;}
.card__body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1;}
.card__eyebrow{font-family:var(--cond);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dark);}
.card__title{font-family:var(--cond);font-weight:700;font-size:25px;text-transform:uppercase;color:var(--ink);margin-bottom:10px;}
.card__title--sm{font-size:23px;}
.card__title--lg{font-size:28px;}
.card__text{font-size:15px;line-height:1.55;color:var(--muted-2);margin-bottom:18px;}
.card__link{margin-top:auto;}
/* horizontal card */
.card--h{flex-direction:row;}
.card--h .card__media{aspect-ratio:auto;flex:none;width:42%;min-height:240px;}
.card--h .card__body{padding:32px 34px;justify-content:center;}
@media(max-width:880px){.card--h{flex-direction:column;}.card--h .card__media{width:100%;min-height:200px;aspect-ratio:4/3;}}
/* dark resource tile */
.card--dark{background:var(--navy);}
.card--dark .card__title{color:#fff;}
.card--dark .card__text{color:#B9C4D2;}
.card--dark .arrow-link{color:var(--orange-light);}
.tile__icon{margin-bottom:16px;}

/* feature card (numbered, side number) */
.feature{display:flex;gap:18px;background:#fff;border:1px solid var(--border);padding:28px;}
.feature__num{flex:none;font-family:var(--cond);font-weight:800;font-size:34px;color:var(--orange);line-height:1;}
.feature__title{font-family:var(--cond);font-weight:700;font-size:22px;text-transform:uppercase;color:var(--ink);margin-bottom:8px;}
.feature__text{font-size:15px;line-height:1.55;color:var(--muted-2);}

/* ============================================================
   STEPS (numbered, on navy)
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.step{border-top:3px solid var(--orange);padding-top:22px;}
.step__num{display:block;font-family:var(--cond);font-weight:800;font-size:40px;color:rgba(255,255,255,.22);line-height:1;margin-bottom:12px;}
.step__title{font-family:var(--cond);font-weight:700;font-size:23px;text-transform:uppercase;color:#fff;margin-bottom:10px;}
.step__text{font-size:16px;line-height:1.55;color:#B9C4D2;}
@media(max-width:880px){.steps{grid-template-columns:1fr;}}

/* ============================================================
   STATS
   ============================================================ */
.stats-band{background:#fff;border-bottom:1px solid var(--border);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:40px 28px;border-right:1px solid var(--border);}
.stat:last-child{border-right:0;}
.stat__num{display:block;font-family:var(--cond);font-weight:800;font-size:44px;color:var(--ink);line-height:1;}
.stat__label{font-size:15px;color:var(--muted-2);}
@media(max-width:560px){.stats{grid-template-columns:1fr 1fr;}.stat:nth-child(2){border-right:0;}}

/* ============================================================
   TIMELINE BARS (home schedule comparison)
   ============================================================ */
.tl{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:32px 34px;}
.tl__row{margin-bottom:24px;}
.tl__row:last-of-type{margin-bottom:0;}
.tl__label{font-family:var(--cond);font-weight:600;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:#9FB0C2;margin-bottom:10px;}
.tl__label--accent{color:var(--orange-light);}
.tl__bars{display:flex;gap:4px;height:46px;font-family:var(--cond);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.03em;}
.tl__seg{display:flex;align-items:center;justify-content:center;text-align:center;}
.tl__seg--neutral{background:#2A3A52;color:#C9D3DF;}
.tl__seg--warn{background:#6E4533;color:#F0C0A6;}
.tl__seg--accent{background:var(--orange);color:#fff;}
.tl__seg--ghost{background:rgba(224,122,40,.16);border:1px dashed rgba(240,163,94,.5);color:var(--orange-light);}
.tl__note{margin-top:20px;font-size:13px;color:#7E8DA0;font-style:italic;}

/* ============================================================
   TAGS / MARKETS
   ============================================================ */
.tags{display:flex;flex-wrap:wrap;gap:10px;}
.tag{background:#fff;border:1px solid var(--border);padding:8px 16px;font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:#2A3A52;}

/* ============================================================
   PULLQUOTE / REVIEWS
   ============================================================ */
.pullquote{background:var(--navy);padding:44px 40px;position:relative;}
.pullquote__mark{margin-bottom:20px;fill:var(--orange);}
.pullquote__text{font-family:var(--cond);font-weight:500;font-size:clamp(22px,2.2vw,28px);line-height:1.3;color:#fff;margin-bottom:24px;}
.pullquote__cite{font-family:var(--body);font-weight:600;font-size:15px;color:var(--orange-light);letter-spacing:.03em;}
.review{background:#fff;border:1px solid var(--border);padding:34px 32px;}
.review__stars{display:flex;gap:3px;margin-bottom:16px;color:var(--orange);font-size:18px;letter-spacing:2px;}
.review__text{font-family:var(--cond);font-weight:500;font-size:23px;line-height:1.35;color:var(--ink);margin-bottom:18px;}
.review__cite{font-size:15px;font-weight:600;color:var(--orange-dark);}
.review__cite span{color:#8A8475;font-weight:400;}
.disclaimer{font-size:14px;color:#8A8475;margin-top:24px;font-style:italic;}

/* ============================================================
   HISTORY TIMELINE
   ============================================================ */
.htl{position:relative;padding-left:38px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:48px;}
.htl__item{position:relative;}
.htl__dot{position:absolute;left:-47px;top:2px;width:18px;height:18px;background:var(--orange);border:3px solid var(--paper);}
.htl__title{font-family:var(--cond);font-weight:800;font-size:28px;text-transform:uppercase;color:var(--orange-dark);margin-bottom:8px;}
.htl__text{font-size:17px;line-height:1.65;color:var(--muted);}

/* ============================================================
   CHECKLIST (delivery planning)
   ============================================================ */
.checklist{display:flex;flex-direction:column;gap:20px;}
.checklist__item{display:flex;gap:24px;background:#fff;border:1px solid var(--border);padding:32px 34px;border-left:4px solid var(--orange);}
.checklist__num{flex:none;font-family:var(--cond);font-weight:800;font-size:44px;color:var(--orange);line-height:1;}
.checklist__title{font-family:var(--cond);font-weight:700;font-size:26px;text-transform:uppercase;color:var(--ink);margin-bottom:10px;}
.checklist__text{font-size:17px;line-height:1.6;color:var(--muted);}
@media(max-width:640px){.checklist__item{flex-direction:column;gap:12px;}}

/* ============================================================
   ROLES (careers)
   ============================================================ */
.role{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--border);padding:24px 28px;}
.role__title{font-family:var(--cond);font-weight:700;font-size:21px;text-transform:uppercase;color:var(--ink);margin-bottom:4px;}
.role__meta{font-size:14px;color:var(--muted-2);}
.badge{font-family:var(--cond);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;flex:none;}
.badge--hiring{color:#1F8A5B;background:#E5F1EA;}
.badge--open{color:#8A8475;background:#EFEADF;}

/* ============================================================
   FIGURE w/ caption (service area)
   ============================================================ */
.figure{position:relative;}
.figure img{width:100%;object-fit:cover;}
.figure--5x4 img{aspect-ratio:5/4;}
.figure--4x3 img{aspect-ratio:4/3;}
.figure__cap{position:absolute;left:0;bottom:0;background:var(--orange);color:#fff;font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase;padding:12px 18px;max-width:78%;}

/* contact cards (dark) */
.contact-cards{display:flex;gap:16px;flex-wrap:wrap;}
.contact-card{flex:1;min-width:200px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:20px 24px;transition:border-color .2s,background .2s;}
.contact-card:hover{border-color:var(--orange);background:rgba(224,122,40,.08);}
.contact-card__label{display:block;font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:#9FB0C2;margin-bottom:6px;}
.contact-card__num{display:block;font-family:var(--cond);font-weight:700;font-size:26px;color:#fff;}

/* highlight strip (quote sidebar etc.) */
.strip-orange{background:linear-gradient(135deg,var(--orange),var(--orange-dark));padding:24px 28px;}
.strip-orange p{font-family:var(--cond);font-weight:700;font-size:22px;line-height:1.05;text-transform:uppercase;color:#fff;}

/* ============================================================
   FAQ (pure CSS toggle)
   ============================================================ */
.faq__item{border-bottom:1px solid var(--line);}
.faq__summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-family:var(--cond);font-weight:600;font-size:23px;text-transform:uppercase;color:var(--ink);cursor:pointer;list-style:none;}
.faq__summary::-webkit-details-marker{display:none;}
.faq__summary::after{content:"+";color:var(--orange);font-size:28px;font-weight:500;line-height:1;flex:none;}
.faq__item[open] .faq__summary::after{content:"\2013";}
.faq__answer{font-size:17px;line-height:1.6;color:var(--muted);padding:0 0 24px;max-width:780px;}

.section--navy .faq__summary,
.section--dark .faq__summary{
  color:#fff;
}
.section--navy .faq__item,
.section--dark .faq__item{
  border-bottom-color:rgba(255,255,255,.14);
}
.section--navy .faq__answer,
.section--dark .faq__answer{
  color:#B9C4D2;
}
/* the +/- toggle stays orange (already var(--orange)) — good on navy,
   but bump to the lighter tint for a touch more pop on dark */
.section--navy .faq__summary::after,
.section--dark .faq__summary::after,
.section--navy .faq__item[open] .faq__summary::after,
.section--dark .faq__item[open] .faq__summary::after{
  color:var(--orange-light);
}


/* ============================================================
   CTA band
   ============================================================ */
.cta{padding:90px 0;}
.cta--flush-top{padding-top:0;}
.cta__inner{max-width:1000px;margin:0 auto;padding:64px 40px;text-align:center;}
.cta__inner--paper{background:#fff;border:1px solid var(--border);}
.cta__inner--navy{background:var(--navy);}
.cta__title{font-family:var(--cond);font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.02;text-transform:uppercase;color:var(--ink);margin-bottom:16px;}
.cta__inner--navy .cta__title{color:#fff;}
.cta__text{font-size:18px;line-height:1.55;max-width:560px;margin:0 auto 30px;color:var(--muted);}
.cta__inner--navy .cta__text{color:#C5CFDB;}
.cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ============================================================
   FOOTER
   ============================================================ */


.site-footer{background:var(--navy-deep);color:#fff;padding:70px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;}
.footer__logo{height:40px;width:auto;margin-bottom:22px;}
.footer address{font-style:normal;font-size:15px;line-height:1.9;color:#9FB0C2;}
.footer address a{color:#9FB0C2;}
.footer address a.strong{color:#fff;font-weight:600;}
.footer address a.email{color:var(--orange-light);}
.footer__hours{margin-top:14px;font-size:14px;color:#7E8DA0;}
.footer__title{font-family:var(--cond);font-weight:700;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.footer__links{display:flex;flex-direction:column;gap:11px;font-size:15px;}
.footer__links a{color:#9FB0C2;}
.footer__links a:hover{color:var(--orange-light);}
.footer__social{display:flex;gap:12px;margin-top:20px;}
.footer__social a{color:#9FB0C2;}
.footer__social a:hover{color:#fff;}
.footer__bar{border-top:1px solid rgba(255,255,255,.1);margin-top:54px;}
.footer__bar-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 0;font-size:14px;color:#7E8DA0;}
.footer__bar-inner a{color:#7E8DA0;}
.footer__bar-inner a:hover{color:#fff;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}


/* ============================================================
   FOOTER — address block polish
   Add under the existing FOOTER section in styles.css.
   (Everything else the footer needs is already in the sheet:
   .footer address, a.strong, a.email, .footer__hours, etc.)
   ============================================================ */
footer address{
  font-style:normal;        /* kill the default italic on <address> */
  font-size:15px;
  line-height:2;            /* roomy stacked rows like the screenshot */
  color:#9FB0C2;
}
footer address a{
  color:#9FB0C2;
  transition:color .15s ease;
}
footer address a:hover{color:#fff;}

/* street / city link — its own line, slightly brighter */
footer address a[href^="https://www.google"]{
  color:#B9C4D2;
}

/* bold phone numbers, with the plain city label after each */
footer address a.strong{
  color:#fff;
  font-weight:600;
}
footer address a.strong:hover{color:var(--orange-light);}

/* email in brand orange */
footer address a.email{
  color:var(--orange-light);
  font-weight:500;
}
footer address a.email:hover{color:var(--orange);}

footer__hours{
  margin-top:14px;
  font-size:14px;
  color:#7E8DA0;
}

/* ============================================================
   SCROLL REVEAL (progressive enhancement)
   ============================================================ */
/* Content is visible by default; JS adds .reveal-on to <html> to enable the
   hide-then-reveal animation. If JS fails, nothing is ever hidden. */
.reveal-on .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal-on .reveal.is-visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal-on .reveal{opacity:1;transform:none;transition:none;}}

/* spacing helpers */
.mt-24{margin-top:24px;}
.mb-0{margin-bottom:0;}
.ns-back-top{background: var(--orange)!important;}
