/* ===========================================================
   GeoRadar Australia — design system
   Palette: warm soil-dark + single golden brand yellow + concrete neutrals
   Type: Saira SemiCondensed (display) / IBM Plex Sans (body) / IBM Plex Mono (labels)
   =========================================================== */
:root{
  --soil-900:#181512; --soil-800:#221d18; --soil-700:#2f2820;
  --concrete-50:#f4f5f2; --concrete-100:#ebece8; --white:#ffffff;
  --ink:#1c1813; --muted:#6d6457; --line:#e3e0d9; --line-dark:#3a342b;
  --brand:#ffc400; --brand-strong:#e6a700; --brand-ink:#8a5e00; --brand-tint:#fff4cc;
  --steel:#46555d; --steel-200:#c6cfd2;
  --r-sm:10px; --r:16px; --r-lg:24px;
  --container:1180px;
  --shadow:0 1px 2px rgba(28,24,19,.05), 0 10px 34px rgba(28,24,19,.07);
  --shadow-lg:0 36px 70px -28px rgba(28,24,19,.45);
  --ease:cubic-bezier(.22,.61,.36,1);
  --space:clamp(64px,9vw,116px);
  --f-display:"Saira SemiCondensed",system-ui,-apple-system,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--f-body); color:var(--ink);
  background:var(--concrete-50); line-height:1.65; font-size:17px;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3{font-family:var(--f-display); font-weight:700; line-height:1.02; letter-spacing:-.01em; margin:0}
p{margin:0 0 1em}
.container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:clamp(20px,5vw,40px)}
.skip{position:absolute; left:-999px; top:0; background:var(--brand); color:var(--soil-900); padding:10px 16px; z-index:200}
.skip:focus{left:8px; top:8px}
:focus-visible{outline:3px solid var(--brand-ink); outline-offset:2px}
.hide{position:absolute; left:-9999px}

/* ---------- eyebrow / labels (mono = instrument readout) ---------- */
.eyebrow{font-family:var(--f-mono); font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; margin:0 0 18px; font-weight:500}
.eyebrow--amber{color:var(--brand-ink)}
.eyebrow--steel{color:var(--steel)}
.eyebrow--amber::before,.eyebrow--steel::before{content:""; display:inline-block; width:22px; height:2px; vertical-align:middle; margin-right:10px; transform:translateY(-3px)}
.eyebrow--amber::before{background:currentColor}
.eyebrow--steel::before{background:var(--steel)}
.hero .eyebrow--amber,.phero .eyebrow--amber,.section--dark .eyebrow--amber,.band--cta .eyebrow--amber,.fhero .eyebrow--amber{color:var(--brand)}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--f-body); font-weight:600; font-size:.98rem; line-height:1;
  padding:14px 24px; border-radius:var(--r-sm); border:2px solid transparent;
  cursor:pointer; transition:transform .2s var(--ease), background .2s, box-shadow .2s, color .2s; white-space:nowrap}
.btn--lg{padding:17px 30px; font-size:1.04rem}
.btn--block{width:100%}
.btn--primary{background:var(--brand); color:var(--soil-900); box-shadow:0 10px 24px -10px rgba(230,167,0,.5)}
.btn--primary:hover{background:var(--brand-strong); transform:translateY(-2px)}
.btn--ghost{background:transparent; border-color:var(--line); color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink); transform:translateY(-2px)}
.btn--ghost-light{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.5); color:#fff; backdrop-filter:blur(4px)}
.btn--ghost-light:hover{background:rgba(255,255,255,.16); transform:translateY(-2px)}
.btn--dark{background:var(--soil-900); color:#fff}
.btn--dark:hover{background:var(--soil-800); transform:translateY(-2px)}

/* ---------- emergency alert bar (top of every page) ---------- */
.alertbar{display:flex; align-items:center; justify-content:center; gap:11px; background:var(--soil-900); color:#fff;
  padding:9px 18px; font-size:.9rem; line-height:1.3; text-align:center; text-decoration:none; transition:background .2s}
.alertbar:hover{background:#0e0c0a}
.alertbar__icon{flex:none; display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px;
  border-radius:50%; background:var(--brand); color:var(--soil-900); font-family:var(--f-display); font-weight:800; font-size:.8rem}
.alertbar strong{color:var(--brand); font-weight:600}
.alertbar__go{color:var(--brand); font-weight:700; flex:none}
@media (max-width:560px){
  .alertbar{font-size:.8rem; gap:9px; padding:8px 14px}
  .alertbar__go{display:none}
}

/* ---------- header / nav ---------- */
.site-head{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line)}
.site-head__row{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:74px}
.brand img{height:42px; width:auto}
.nav{display:flex; align-items:center; gap:20px}
.nav__list{display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0}
.nav__list > li > a{display:block; padding:9px 11px; font-weight:500; font-size:.95rem; color:var(--ink); border-radius:8px; position:relative; white-space:nowrap}
.nav__list > li > a:hover{color:var(--brand-ink)}
.nav__list > li > a.is-active{color:var(--brand-ink)}
.nav__list > li > a.is-active::after{content:""; position:absolute; left:12px; right:12px; bottom:2px; height:2px; background:var(--brand-ink)}
.has-sub{position:relative}
.sub-toggle{display:none}
.nav__sub{position:absolute; top:calc(100% + 8px); left:0; min-width:248px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); padding:8px;
  list-style:none; margin:0; opacity:0; visibility:hidden; transform:translateY(8px);
  transition:.18s var(--ease)}
.has-sub:hover .nav__sub, .has-sub:focus-within .nav__sub{opacity:1; visibility:visible; transform:translateY(0)}
.nav__sub a{display:block; padding:10px 14px; border-radius:8px; font-size:.93rem; color:var(--ink)}
.nav__sub a:hover{background:var(--concrete-50); color:var(--brand-ink)}
.nav__cta{display:flex; align-items:center; gap:18px}
.phone-link{font-family:var(--f-mono); font-weight:500; font-size:.86rem; color:var(--ink); white-space:nowrap}
.phone-link:hover{color:var(--brand-ink)}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:0; padding:10px; cursor:pointer}
.nav-toggle span{width:24px; height:2px; background:var(--ink); transition:.25s var(--ease)}

/* ---------- HOME hero ---------- */
.hero{position:relative; isolation:isolate; color:#fff; overflow:hidden; background:var(--soil-900)}
.hero__bg{position:absolute; inset:-22% 0; z-index:-2; will-change:transform;
  background:linear-gradient(180deg, rgba(24,21,18,.42) 0%, rgba(24,21,18,.55) 45%, rgba(24,21,18,.92) 100%), var(--hero-img) center/cover no-repeat, var(--soil-900)}
.hero__inner{padding-block:clamp(86px,14vw,150px) clamp(120px,17vw,190px); max-width:860px; will-change:transform,opacity}
.hero__title{font-size:clamp(2.7rem,6.4vw,5.1rem); font-weight:800; margin:0 0 22px; text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero__sub{font-size:clamp(1.05rem,1.7vw,1.28rem); max-width:660px; color:rgba(255,255,255,.92); margin:0 0 32px}
.hero__actions{display:flex; gap:14px; flex-wrap:wrap}
/* signature: scan sweep + strata + located markers */
.hero__scan{position:absolute; inset:auto 0 0 0; height:62%; z-index:-1;
  background:repeating-linear-gradient(0deg, transparent 0 38px, rgba(198,207,210,.08) 38px 39px);
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 60%); mask-image:linear-gradient(180deg, transparent, #000 60%)}
.hero__scan::after{content:""; position:absolute; left:0; right:0; height:120px;
  background:linear-gradient(180deg, transparent, rgba(255,196,0,.16), transparent);
  animation:sweep 7s var(--ease) infinite}
@keyframes sweep{0%{top:-120px}60%,100%{top:100%}}
.hero__markers{position:absolute; right:clamp(20px,5vw,60px); bottom:34px; display:flex; flex-direction:column; gap:12px; align-items:flex-end; z-index:1; will-change:transform}
.mk{font-family:var(--f-mono); font-size:.72rem; letter-spacing:.12em; color:rgba(255,255,255,.85);
  background:rgba(24,21,18,.5); border:1px solid rgba(255,255,255,.18); padding:6px 12px; border-radius:999px; display:flex; align-items:center; gap:9px; backdrop-filter:blur(4px)}
.mk i{width:9px; height:9px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px rgba(255,196,0,.3)}
.mk--2 i{animation-delay:.6s} .mk--3 i{animation-delay:1.2s}
.mk i{animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(255,196,0,.55)}70%,100%{box-shadow:0 0 0 9px rgba(255,196,0,0)}}

/* ---------- trust strip ---------- */
.trust{background:var(--soil-900); color:#fff; border-bottom:1px solid var(--line-dark)}
.trust__row{display:grid; grid-template-columns:repeat(4,1fr)}
.trust__item{padding:26px 22px; display:flex; flex-direction:column; gap:4px; border-left:1px solid var(--line-dark)}
.trust__item:first-child{border-left:0}
.trust__k{font-family:var(--f-mono); color:var(--brand); font-size:1.05rem; font-weight:500; letter-spacing:.04em}
.trust__v{font-size:.92rem; color:rgba(255,255,255,.8)}

/* ---------- sections ---------- */
.section{padding-block:var(--space)}
.section--soft{background:var(--white)}
.section--dark{background:var(--soil-900); color:#fff}
.section__title{font-size:clamp(2rem,4vw,3.1rem); font-weight:700; margin:0 0 18px; max-width:18ch}
.section__title--light{color:#fff}
.section__lead{font-size:1.12rem; color:var(--muted); max-width:60ch; margin:0 0 48px}
.section__lead--light{color:rgba(255,255,255,.78)}

/* ---------- fork ---------- */
.fork__grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px}
.fork__card{position:relative; isolation:isolate; overflow:hidden; border-radius:var(--r-lg); padding:38px 36px 34px;
  color:#fff; min-height:300px; display:flex; flex-direction:column; align-items:flex-start;
  background:linear-gradient(180deg, rgba(24,21,18,.35), rgba(24,21,18,.9)), var(--card-img) center/cover no-repeat, var(--soil-800);
  transition:transform .3s var(--ease); box-shadow:var(--shadow)}
.fork__card:hover{transform:translateY(-4px)}
.fork__tag{font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--brand); margin-bottom:auto}
.fork__title{font-size:1.7rem; margin:24px 0 10px}
.fork__desc{color:rgba(255,255,255,.85); margin:0 0 16px}
.fork__go{font-weight:600; color:#fff}
.fork__card:hover .fork__go{color:var(--brand)}

/* ---------- services grid ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.svc-card{position:relative; isolation:isolate; overflow:hidden; border-radius:var(--r); padding:26px 24px 24px;
  min-height:230px; display:flex; flex-direction:column; color:#fff;
  background:linear-gradient(180deg, rgba(24,21,18,.25), rgba(24,21,18,.88)), var(--card-img) center/cover no-repeat, var(--soil-800);
  transition:transform .3s var(--ease); box-shadow:var(--shadow)}
.svc-card:hover{transform:translateY(-4px)}
.svc-card__tag{font-family:var(--f-mono); font-size:.68rem; letter-spacing:.18em; color:var(--brand); margin-bottom:auto}
.svc-card__name{font-family:var(--f-display); font-weight:700; font-size:1.34rem; margin:18px 0 6px; line-height:1.05}
.svc-card__desc{font-size:.95rem; color:rgba(255,255,255,.85); margin-bottom:14px}
.svc-card__go{font-size:.9rem; font-weight:600; color:rgba(255,255,255,.9)}
.svc-card:hover .svc-card__go{color:var(--brand)}
.svc-card--all{background:var(--soil-900); align-items:flex-start; justify-content:center}
.svc-card--all .svc-card__name{margin-top:0}

/* ---------- process steps ---------- */
.steps{list-style:none; margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:0}
.step{padding:30px 22px 30px 0; border-top:2px solid var(--line-dark); position:relative}
.step__num{font-family:var(--f-mono); font-size:.85rem; color:var(--brand); letter-spacing:.1em}
.step__title{font-size:1.4rem; color:#fff; margin:14px 0 8px}
.step__desc{font-size:.92rem; color:rgba(255,255,255,.72); margin:0}

/* ---------- sectors ---------- */
.sectors__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; margin-top:36px}
.sector{background:var(--white); padding:30px 26px}
.sector__name{font-size:1.22rem; margin:0 0 10px}
.sector__desc{font-size:.95rem; color:var(--muted); margin:0}

/* ---------- why ---------- */
.why__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center}
.ticks{list-style:none; margin:0 0 30px; padding:0; display:grid; gap:12px}
.ticks li{position:relative; padding-left:34px; color:var(--ink)}
.ticks li::before{content:""; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%;
  background:var(--brand-tint); }
.ticks li::after{content:""; position:absolute; left:7px; top:9px; width:6px; height:9px; border-right:2px solid var(--brand-ink); border-bottom:2px solid var(--brand-ink); transform:rotate(42deg)}
.why__media{border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); background:#fff; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; padding:24px}
.why__media img{width:100%; height:100%; object-fit:contain}

/* ---------- locations ---------- */
.loc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px}
.loc{background:var(--white); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow)}
.loc__map{aspect-ratio:16/11; background:var(--concrete-100)}
.loc__map iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(.2) contrast(1.05)}
.loc__body{padding:24px}
.loc__name{font-size:1.5rem; margin:4px 0 8px}
.loc__addr{color:var(--muted); margin:0 0 14px}
.loc__call{font-family:var(--f-mono); font-weight:500; color:var(--brand-ink)}

/* ---------- CTA band ---------- */
.band--cta{background:linear-gradient(120deg, var(--soil-900), var(--soil-700)); color:#fff; position:relative; overflow:hidden}
.band--cta::before{content:""; position:absolute; inset:0; background:repeating-linear-gradient(0deg, transparent 0 30px, rgba(255,255,255,.025) 30px 31px); pointer-events:none}
.band--cta__inner{display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:clamp(48px,7vw,80px); flex-wrap:wrap; position:relative}
.band--cta__title{font-size:clamp(1.6rem,3vw,2.5rem); max-width:18ch; margin:0}
.band--cta__actions{display:flex; gap:14px; flex-wrap:wrap}

/* ---------- emergency / post-strike band ---------- */
.emergency{position:relative; scroll-margin-top:90px}
.emergency::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--brand)}
.estep-list{list-style:none; margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(216px,1fr)); gap:16px}
.estep{background:var(--soil-800); border:1px solid var(--line-dark); border-radius:var(--r); padding:24px 22px}
.estep__n{font-family:var(--f-mono); color:var(--brand); font-size:.85rem; letter-spacing:.12em}
.estep__t{font-family:var(--f-display); color:#fff; font-size:1.22rem; margin:14px 0 8px; line-height:1.1}
.estep__t a{color:var(--brand); text-decoration:underline; text-underline-offset:3px}
.estep__d{color:rgba(255,255,255,.72); font-size:.92rem; margin:0}
.estep--critical{border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand)}
.emergency__action{display:flex; align-items:center; gap:22px; margin-top:34px; flex-wrap:wrap}
.emergency__note{color:rgba(255,255,255,.74); font-size:.96rem; max-width:46ch; margin:0}
.emergency__prevent{margin:30px 0 0; padding-top:24px; border-top:1px solid var(--line-dark); color:rgba(255,255,255,.78)}
.emergency__prevent a{color:var(--brand); font-weight:600; white-space:nowrap}

/* ---------- page hero (interior) ---------- */
.phero{position:relative; isolation:isolate; color:#fff; overflow:hidden;
  background:linear-gradient(180deg, rgba(24,21,18,.55), rgba(24,21,18,.88)), var(--phero-img) center/cover no-repeat, var(--soil-900)}
.phero__inner{padding-block:clamp(70px,11vw,120px); max-width:780px}
.phero__title{font-size:clamp(2.3rem,5vw,3.9rem); font-weight:800; margin:0 0 18px}
.phero__sub{font-size:1.15rem; color:rgba(255,255,255,.9); max-width:60ch; margin:0}
.phero__strata{position:absolute; inset:auto 0 0 0; height:50%; z-index:-1;
  background:repeating-linear-gradient(0deg, transparent 0 34px, rgba(198,207,210,.07) 34px 35px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000); mask-image:linear-gradient(180deg,transparent,#000)}

/* ---------- feature list (services/equipment index) ---------- */
.feature-list{display:grid; gap:24px}
.feature{display:grid; grid-template-columns:.9fr 1.1fr; gap:0; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow)}
.feature:nth-child(even){grid-template-columns:1.1fr .9fr}
.feature:nth-child(even) .feature__media{order:2}
.feature__media{min-height:260px; background:var(--card-img) center/cover no-repeat, var(--soil-800)}
.feature__body{padding:clamp(28px,4vw,48px); align-self:center}
.feature__tag{font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; color:var(--brand-ink)}
.feature__title{font-size:clamp(1.5rem,2.6vw,2.1rem); margin:12px 0 12px}
.feature__desc{color:var(--muted); margin:0 0 18px}
.link-arrow{font-weight:600; color:var(--brand-ink)}
.link-arrow:hover{color:var(--ink)}

/* ---------- split (detail pages) ---------- */
.split{display:grid; grid-template-columns:1.6fr .9fr; gap:50px; align-items:start}
.split__main .prose{font-size:1.08rem; color:var(--ink); margin-bottom:1.1em}
.sub-h{font-family:var(--f-display); font-size:1.4rem; margin:32px 0 16px}
.inline-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px}
.split__side{display:grid; gap:20px; position:sticky; top:96px}
.side-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow)}
.side-card--dark{background:var(--soil-900); color:#fff; border:0}
.side-card--dark p{color:rgba(255,255,255,.82)}
.side-card__big{font-family:var(--f-display); font-size:1.3rem; color:#fff; margin:0 0 10px; line-height:1.1}
.mini-list{display:grid; gap:8px; margin-top:6px}
.mini-card{display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-sm); transition:.2s}
.mini-card:hover{border-color:var(--brand-strong); background:var(--brand-tint)}
.mini-card__tag{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.14em; color:var(--brand-ink); background:var(--brand-tint); padding:4px 7px; border-radius:5px}

/* ---------- stats ---------- */
.stat-stack{display:grid; gap:14px}
.stat{background:var(--soil-900); color:#fff; border-radius:var(--r); padding:24px 26px}
.stat__num{font-family:var(--f-display); font-weight:800; font-size:2.2rem; color:var(--brand); display:block; line-height:1}
.stat__label{font-size:.92rem; color:rgba(255,255,255,.78)}

/* ---------- values ---------- */
.values__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px}
.value{border:1px solid var(--line-dark); border-radius:var(--r); padding:30px 26px}
.value h3{color:#fff; font-size:1.4rem; margin:0 0 10px}
.value p{color:rgba(255,255,255,.75); margin:0}

/* ---------- projects ---------- */
.proj-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.proj{background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow)}
.proj__media{aspect-ratio:16/9; background:var(--card-img) center/cover no-repeat, var(--soil-800)}
.proj__body{padding:28px 30px}
.proj__tag{font-family:var(--f-mono); font-size:.7rem; letter-spacing:.16em; color:var(--brand-ink)}
.proj__title{font-size:1.5rem; margin:12px 0 10px}
.proj__desc{color:var(--muted); margin:0}
.note{margin-top:34px; color:var(--muted)}
.note a{color:var(--brand-ink); font-weight:600}

/* ---------- faq ---------- */
.narrow{max-width:820px}
.center{text-align:center}
.faq-list{display:grid; gap:14px}
.faq{background:var(--white); border:1px solid var(--line); border-radius:var(--r); overflow:hidden}
.faq__q{font-family:var(--f-display); font-weight:600; font-size:1.18rem; padding:22px 26px; cursor:pointer; list-style:none; position:relative; padding-right:54px}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:"+"; position:absolute; right:24px; top:18px; font-size:1.6rem; color:var(--brand-ink); font-family:var(--f-body); transition:transform .2s}
.faq[open] .faq__q::after{transform:rotate(45deg)}
.faq__a{padding:0 26px 24px; color:var(--muted)}
.faq__a p{margin:0}

/* ---------- contact ---------- */
.contact-grid{display:grid; grid-template-columns:1.4fr .8fr; gap:50px; align-items:start}
.form{display:grid; gap:18px; margin-top:8px}
.form__row{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.field{display:grid; gap:7px}
.field span{font-family:var(--f-mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--steel)}
.field input,.field select,.field textarea{font-family:var(--f-body); font-size:1rem; padding:13px 15px; border:1px solid var(--line); border-radius:var(--r-sm); background:#fff; color:var(--ink); width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-strong); outline:none; box-shadow:0 0 0 3px var(--brand-tint)}
.form__note{font-size:.92rem; color:var(--muted); margin:0}
.form__note a{color:var(--brand-ink); font-weight:600}
.cinfo{display:grid; gap:22px; position:sticky; top:96px}
.cinfo__card{background:var(--soil-900); color:#fff; border-radius:var(--r); padding:28px}
.cinfo__phone{font-family:var(--f-display); font-weight:700; font-size:1.9rem; color:var(--brand); display:block; margin-bottom:6px}
.cinfo__email{color:rgba(255,255,255,.85)}
.cinfo__branches{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px}
.cinfo__branch{padding:12px 0; border-top:1px solid var(--line)}
.cinfo__branch:first-of-type{border-top:0}
.cinfo__branch h3{font-size:1.1rem; margin:0 0 2px}
.cinfo__branch p{margin:0; color:var(--muted); font-size:.95rem}
.cinfo__accred{display:flex; align-items:center; gap:10px; font-weight:600; font-size:.92rem}
.dot{width:10px; height:10px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px var(--brand-tint)}
.prose-block h3{margin-top:1.4em}

/* ---------- footer ---------- */
.site-foot{background:var(--soil-900); color:rgba(255,255,255,.78); padding-top:clamp(56px,7vw,80px)}
.site-foot__grid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:48px}
.site-foot__logo{height:46px; width:auto; background:#fff; padding:8px 12px; border-radius:8px; margin-bottom:18px}
.site-foot__brand p{font-size:.95rem; max-width:42ch}
.site-foot__accred{display:flex; align-items:center; gap:10px; color:#fff; font-weight:600; margin-top:8px}
.foot-h{font-family:var(--f-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--brand); margin:0 0 18px; font-weight:500}
.foot-list{list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:.94rem}
.foot-list a:hover{color:#fff}
.foot-list strong{color:#fff; font-weight:600}
.foot-social{display:flex; gap:16px; margin-top:16px; font-size:.9rem}
.foot-social a{color:var(--brand)}
.site-foot__base{display:flex; justify-content:space-between; align-items:center; padding-block:24px; border-top:1px solid var(--line-dark); font-size:.86rem; color:rgba(255,255,255,.55)}

/* ---------- sticky mobile call bar ---------- */
.call-bar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:120;
  background:var(--brand); color:var(--soil-900); text-align:center; font-family:var(--f-mono); font-weight:500;
  padding:15px; letter-spacing:.04em; box-shadow:0 -8px 24px rgba(0,0,0,.18)}
.call-bar span{font-family:var(--f-body); font-weight:700; margin-right:6px}

/* ---------- reveal animation ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease)}
.reveal.is-visible{opacity:1; transform:none}

/* ===================== responsive ===================== */
@media (max-width:1000px){
  .why__grid{grid-template-columns:1fr; gap:36px}
  .contact-grid{grid-template-columns:1fr; gap:36px}
  .cinfo{position:static}
  .split{grid-template-columns:1fr; gap:36px}
  .split__side{position:static}
  .steps{grid-template-columns:repeat(2,1fr)}
  .sectors__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1180px){
  .nav{position:fixed; inset:74px 0 auto 0; background:#fff; flex-direction:column; align-items:stretch;
    gap:0; padding:14px 20px 26px; border-bottom:1px solid var(--line); box-shadow:var(--shadow-lg);
    transform:translateY(-130%); transition:transform .3s var(--ease); max-height:calc(100vh - 74px); overflow:auto}
  .nav.is-open{transform:translateY(0)}
  .nav__list{flex-direction:column; align-items:stretch; gap:0}
  .nav__list > li{border-bottom:1px solid var(--line)}
  .nav__list > li > a{padding:15px 6px; font-size:1.05rem}
  .nav__list > li > a.is-active::after{display:none}
  .has-sub{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between}
  .has-sub > a{flex:1}
  .sub-toggle{display:block; width:44px; height:44px; border:0; background:none; cursor:pointer; position:relative}
  .sub-toggle::before,.sub-toggle::after{content:""; position:absolute; left:50%; top:50%; width:13px; height:2px; background:var(--ink); transform:translate(-50%,-50%)}
  .sub-toggle::after{transform:translate(-50%,-50%) rotate(90deg); transition:.2s}
  .sub-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(0)}
  .nav__sub{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0;
    border-radius:0; padding:0 0 8px; min-width:0; display:none; width:100%}
  .nav__sub.is-open{display:block}
  .nav__sub a{padding:11px 16px; color:var(--muted)}
  .nav__cta{flex-direction:column; align-items:stretch; gap:12px; margin-top:18px}
  .nav__cta .btn{width:100%}
  .phone-link{text-align:center; font-size:1rem}
  .nav-toggle{display:flex}
  .nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.is-open span:nth-child(2){opacity:0}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .fork__grid{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .feature,.feature:nth-child(even){grid-template-columns:1fr}
  .feature:nth-child(even) .feature__media{order:0}
  .proj-grid{grid-template-columns:1fr}
  .values__grid{grid-template-columns:1fr}
  .loc-grid{grid-template-columns:1fr}
  .trust__row{grid-template-columns:1fr 1fr}
  .trust__item:nth-child(3){border-left:0}
  .hero__markers{display:none}
  .call-bar{display:block}
  body{padding-bottom:54px}
}
@media (max-width:520px){
  .svc-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .sectors__grid{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
  .trust__row{grid-template-columns:1fr}
  .trust__item{border-left:0; border-top:1px solid var(--line-dark); padding:18px 22px; flex-direction:row; align-items:baseline; gap:12px}
  .band--cta__actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; scroll-behavior:auto}
  .reveal{opacity:1; transform:none; transition:none}
  .hero__scan::after{display:none}
}

/* ===========================================================
   10/10 expansion — placeholders, authority, proof, areas, resources
   =========================================================== */

/* ---------- labelled image placeholder ---------- */
.imgph{position:relative; aspect-ratio:var(--ratio,16/9); border:2px dashed #c9b88c; border-radius:var(--r);
  background:repeating-linear-gradient(135deg,#f3efe6,#f3efe6 14px,#efe9db 14px,#efe9db 28px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  text-align:center; padding:22px; color:#8a7c5e; overflow:hidden}
.imgph__mark{font-family:var(--f-mono); font-size:.66rem; letter-spacing:.22em; color:#b09a6a;
  border:1px solid #cbb98e; border-radius:999px; padding:3px 10px}
.imgph__label{font-family:var(--f-mono); font-size:.82rem; line-height:1.5; max-width:30ch; color:#8a7c5e}
.section--dark .imgph,.emergency .imgph{border-color:#5c5340; background:repeating-linear-gradient(135deg,#262019,#262019 14px,#221d16 14px,#221d16 28px); color:#a99c80}

.placeholder-note{font-family:var(--f-mono); font-size:.76rem; letter-spacing:.04em; color:#b6852a;
  background:var(--brand-tint); border:1px solid #f0dca0; border-radius:8px; padding:10px 14px; display:inline-block; margin:0 0 28px}

/* ---------- authority band ---------- */
.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:38px 0 44px}
.stat-tile{background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:26px 24px; box-shadow:var(--shadow)}
.stat-tile__n{font-family:var(--f-display); font-weight:800; font-size:2.6rem; line-height:1; color:var(--ink); display:block}
.stat-tile__l{display:block; margin-top:8px; color:var(--muted); font-size:.95rem}
.logos{border-top:1px solid var(--line); padding-top:30px}
.logos__label{font-family:var(--f-mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); text-align:center; margin:0 0 20px}
.logos__row{display:grid; grid-template-columns:repeat(6,1fr); gap:16px}
.logo-ph{aspect-ratio:5/2; border:1px dashed #cdbf9b; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; color:#b3a075; background:#faf7f0}

/* ---------- testimonials ---------- */
.tmonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px}
.tmonial{background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:30px 28px; box-shadow:var(--shadow); margin:0; display:flex; flex-direction:column}
.tmonial__q{font-family:var(--f-display); font-weight:600; font-size:1.18rem; line-height:1.35; color:var(--ink); margin:0 0 22px}
.tmonial__by{display:flex; align-items:center; gap:14px; margin-top:auto; font-size:.92rem; color:var(--muted)}
.tmonial__by strong{color:var(--ink)}
.tmonial__avatar{flex:none; width:46px; height:46px; border-radius:50%; border:2px dashed #cdbf9b; background:#faf7f0;
  position:relative}
.tmonial__avatar::after{content:"PHOTO"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.42rem; letter-spacing:.1em; color:#b3a075}

/* ---------- recent work teaser ---------- */
.work__head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:34px}
.work__head .section__title{margin:0}
.work__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.work-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow)}
.work-card .imgph{border:0; border-radius:0; border-bottom:1px solid var(--line)}
.work-card__body{padding:22px 24px}
.work-card__tag{font-family:var(--f-mono); font-size:.7rem; letter-spacing:.16em; color:var(--brand-ink)}
.work-card__title{font-size:1.25rem; margin:10px 0 0; line-height:1.15}

/* ---------- case studies (projects) ---------- */
.case-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.case{background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow)}
.case .imgph{border:0; border-radius:0; border-bottom:1px solid var(--line)}
.case__body{padding:28px 30px}
.case__tag{font-family:var(--f-mono); font-size:.7rem; letter-spacing:.16em; color:var(--brand-ink)}
.case__title{font-size:1.45rem; margin:10px 0 18px; line-height:1.12}
.case__detail{margin:0; display:grid; gap:14px}
.case__detail dt{font-family:var(--f-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--steel); margin-bottom:3px}
.case__detail dd{margin:0; color:var(--muted); font-size:.96rem}

/* ---------- team ---------- */
.team__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px}
.member{margin:0}
.member .imgph{border-radius:var(--r)}
.member__cap{margin-top:14px}
.member__cap strong{display:block; font-family:var(--f-display); font-size:1.15rem; color:var(--ink)}
.member__cap span{color:var(--muted); font-size:.92rem}

/* ---------- service areas ---------- */
.area-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px}
.area-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column}
.area-card__map{aspect-ratio:16/10; background:var(--concrete-100)}
.area-card__map iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(.2) contrast(1.05)}
.area-card__body{padding:24px 26px; display:flex; flex-direction:column; flex:1}
.area-card__name{font-size:1.5rem; margin:4px 0 6px}
.area-card__addr{color:var(--steel); font-family:var(--f-mono); font-size:.82rem; margin:0 0 12px}
.area-card__intro{color:var(--muted); font-size:.95rem; margin:0 0 16px}
.area-card .link-arrow{margin-top:auto}
.chips{display:flex; flex-wrap:wrap; gap:9px; margin-bottom:8px}
.chip{font-family:var(--f-mono); font-size:.78rem; letter-spacing:.04em; color:var(--ink); background:var(--concrete-100);
  border:1px solid var(--line); border-radius:999px; padding:6px 13px}

/* ---------- resources / articles ---------- */
.art-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.art-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); transition:transform .3s var(--ease)}
.art-card:hover{transform:translateY(-4px)}
.art-card .imgph{border:0; border-radius:0; border-bottom:1px solid var(--line)}
.art-card__body{padding:24px 26px}
.art-card__cat{font-family:var(--f-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--brand-ink)}
.art-card__title{font-size:1.3rem; margin:10px 0 10px; line-height:1.18}
.art-card__ex{color:var(--muted); font-size:.95rem; margin:0 0 16px}
.article-wrap{display:grid; grid-template-columns:1.6fr .9fr; gap:50px; align-items:start}
.article{max-width:68ch}
.article__lead{font-size:1.2rem; line-height:1.6; color:var(--ink)}
.article h2{font-size:1.6rem; margin:1.5em 0 .5em}
.article p{color:var(--ink); margin:0 0 1.1em}
.article a{color:var(--brand-ink); font-weight:600; text-decoration:underline; text-underline-offset:2px}
.article .ticks li{color:var(--ink)}
.article__related{margin-top:36px; padding-top:20px; border-top:1px solid var(--line); font-size:.95rem; color:var(--muted)}
.article__related a{display:inline-block; margin-right:16px}
.article-aside{position:sticky; top:96px}
.article-aside__call{margin-top:10px}
.estep-list--page{margin-top:0}

/* ---------- responsive (expansion) ---------- */
@media (max-width:1024px){
  .site-foot__grid{grid-template-columns:1fr 1fr; gap:32px}
  .stat-row{grid-template-columns:repeat(2,1fr)}
  .logos__row{grid-template-columns:repeat(3,1fr)}
  .tmonial-grid{grid-template-columns:1fr 1fr}
  .work__grid{grid-template-columns:1fr 1fr}
  .case-grid{grid-template-columns:1fr}
  .team__grid{grid-template-columns:repeat(2,1fr)}
  .area-grid{grid-template-columns:1fr 1fr}
  .art-grid{grid-template-columns:1fr 1fr}
  .article-wrap{grid-template-columns:1fr; gap:32px}
  .article-aside{position:static}
}
@media (max-width:680px){
  .stat-row{grid-template-columns:1fr 1fr}
  .logos__row{grid-template-columns:1fr 1fr}
  .tmonial-grid{grid-template-columns:1fr}
  .work__grid{grid-template-columns:1fr}
  .area-grid{grid-template-columns:1fr}
  .art-grid{grid-template-columns:1fr}
  .team__grid{grid-template-columns:1fr 1fr}
  .site-foot__grid{grid-template-columns:1fr; gap:26px}
}

/* ===========================================================
   Founder (Jimmy Wilkins) + community + video
   =========================================================== */
.video-ph{position:relative; aspect-ratio:var(--ratio,16/9); border-radius:var(--r); overflow:hidden;
  background:linear-gradient(135deg,#241f18,#15110d); border:1px solid var(--line-dark);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; text-align:center; padding:26px}
.video-ph__play{width:72px; height:72px; border-radius:50%; background:var(--brand); position:relative; flex:none;
  box-shadow:0 12px 34px -8px rgba(255,196,0,.55)}
.video-ph__play::after{content:""; position:absolute; left:54%; top:50%; transform:translate(-50%,-50%);
  border-style:solid; border-width:12px 0 12px 20px; border-color:transparent transparent transparent var(--soil-900)}
.video-ph__label{font-family:var(--f-mono); font-size:.8rem; line-height:1.55; color:rgba(255,255,255,.7); max-width:48ch}

/* founder hero */
.fhero{background:var(--soil-900); color:#fff; position:relative; overflow:hidden}
.fhero__grid{display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:center; padding-block:clamp(58px,9vw,108px)}
.fhero__name{font-size:clamp(2.8rem,6vw,5rem); font-weight:800; margin:0 0 18px; line-height:.98}
.fhero__tag{font-size:1.18rem; color:rgba(255,255,255,.86); max-width:46ch; margin:0 0 30px}
.fhero__portrait{max-width:420px; width:100%; justify-self:end}
.fhero__portrait .imgph{border-radius:var(--r-lg)}

/* speaking topics */
.topic-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:38px 0 36px}
.topic{background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:28px 26px; box-shadow:var(--shadow)}
.topic__for{font-family:var(--f-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand-ink)}
.topic__title{font-size:1.4rem; margin:12px 0 8px}
.topic__desc{color:var(--muted); margin:0; font-size:.96rem}
.founder-yt{margin-top:14px}
.founder-yt a{color:var(--brand-ink); font-weight:600}

/* founder teaser (home) */
.founder-teaser__grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center}
.founder-teaser__media .video-ph{aspect-ratio:16/10}

/* community teaser (home) */
.community-teaser__inner{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap}
.community-teaser__inner > div{max-width:60ch}
.community-teaser__inner .section__title{margin:0 0 12px}
.community-teaser__inner .section__lead{margin:0}

@media (max-width:900px){
  .fhero__grid{grid-template-columns:1fr; gap:30px}
  .fhero__portrait{max-width:340px; justify-self:start}
  .founder-teaser__grid{grid-template-columns:1fr; gap:26px}
  .topic-grid{grid-template-columns:1fr}
  .community-teaser__inner{flex-direction:column; align-items:flex-start; gap:24px}
}
