/* fm-flowsplumbing - Dempsey's Plumbing (likeness rebuild) --------------------
   Fonts: Encode Sans (display 700/600), Open Sans (text), Caveat (script accent)
   Geometry mirrors the reference at 1440 and 390; see README hero table.
--------------------------------------------------------------------------- */

@font-face{font-family:"Encode Sans";src:url(../fonts/encode-sans-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:optional}
@font-face{font-family:"Open Sans";src:url(../fonts/open-sans-latin.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:optional}
@font-face{font-family:"Caveat";src:url(../fonts/caveat-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:optional}

:root{
  /* surfaces */
  --paper:#FCFBF9;
  --paper-2:#F7F5F6;
  --white:#FFFFFF;
  --navy:#020F29;
  --navy-2:#1E293E;
  --navy-3:#14203A;
  /* ink */
  --ink:#020F29;
  --ink-body:#636770;
  --ink-quote:#505661;
  --ink-muted:#6B6F79;      /* deepened: reference #AFB4BD = 2.01:1 on paper */
  --on-navy:#B9C0CD;
  --on-navy-muted:#AFB4BD;
  /* accent family */
  --gold:#C79340;           /* rules, bars, bottom bar, non-text marks */
  --gold-light:#DBBF7A;     /* gold text on navy */
  --gold-mid:#AE7428;       /* script eyebrow + icons on light (display) */
  --gold-text:#8C5E1C;      /* small gold text + links on light */
  --gold-fill:#A06B20;      /* filled pill, white label 4.55:1 */
  --gold-fill-hover:#8C5E1C;
  --gold-wash:#F6EFE2;
  --gold-deco:#B57F2E;      /* decorative quote glyph, 3.36:1 on white (ref 1.79:1) */
  /* lines */
  --line:#E5E6E6;
  --line-card:rgba(2,15,41,.10);
  --line-dark:rgba(255,255,255,.12);
  /* type */
  --display:"Encode Sans","Encode Sans Fallback",system-ui,sans-serif;
  --text:"Open Sans","Open Sans Fallback",system-ui,sans-serif;
  --script:"Caveat","Caveat Fallback",cursive;
  /* shape */
  --r:4px;
  --pill:999px;
  --ease:cubic-bezier(.22,.61,.24,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--text);font-size:15px;line-height:1.5;letter-spacing:-.02em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,h5{margin:0;font-family:var(--display);font-weight:700}
p{margin:0}
figure,blockquote,dl,dd,fieldset{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* --- shared primitives ---------------------------------------------------- */
.wrap{width:min(1240px,100% - 200px);margin-inline:auto}
.band{position:relative}
.on-dark{background:var(--navy);color:var(--white)}
.on-dark p,.on-dark li{color:var(--on-navy)}
.paper2{background:var(--paper-2)}

.script{
  font-family:var(--script);font-weight:400;font-size:38px;line-height:1;
  letter-spacing:.01em;color:var(--gold-mid);
  transform:rotate(-2.5deg);transform-origin:left center;
}
.script--c{transform-origin:center center}
.on-dark .script,.script--dark{color:var(--gold-light)}

.h1{font-size:48px;line-height:1.08;letter-spacing:-.028em}
.h2{font-size:37px;line-height:1.08;letter-spacing:-.02em}
.h2-mid{font-size:30px;line-height:1.12;letter-spacing:-.02em}
.h2-sm{font-size:25px;line-height:1.2;letter-spacing:-.02em}
.h4{font-size:19px;line-height:1.2;letter-spacing:-.02em}

.lead{font-size:17px;line-height:1.7;letter-spacing:-.02em;color:var(--ink-body)}
.lead-s{font-size:19px;line-height:1.5;letter-spacing:-.02em;color:var(--ink-body)}
.on-dark .lead,.on-dark .lead-s{color:var(--on-navy)}
.body{font-size:15px;line-height:1.5;color:var(--ink-body)}
.cap{font-size:13px;line-height:1.5;letter-spacing:-.02em;color:var(--ink-muted)}
.on-dark .cap{color:var(--on-navy)}
.label{font-family:var(--text);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
.meta{font-size:13px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-muted)}
.u-gold{color:var(--gold-text)}
.u-goldl{color:var(--gold-light)}
.center{text-align:center}
.mark{position:relative;white-space:nowrap}
.mark::after{
  content:"";position:absolute;left:2%;right:0;bottom:-.06em;height:.075em;
  background:var(--gold);border-radius:2px;
}

/* pills */
.pill{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:39px;padding:0 26px;border-radius:var(--pill);
  font-family:var(--text);font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;white-space:nowrap;
  transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
.pill--gold{background:var(--gold-fill);color:#fff}
.pill--gold:hover{background:var(--gold-fill-hover);box-shadow:0 10px 24px -8px rgba(140,94,28,.5)}
.pill--out{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(2,15,41,.16)}
.pill--out:hover{background:var(--gold-wash);color:var(--gold-text)}
.pill--navy{background:var(--navy);color:#fff}
.pill--navy:hover{background:#0C1D3D;box-shadow:0 10px 24px -10px rgba(2,15,41,.5)}
.pill--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.pill--ghost:hover{background:rgba(255,255,255,.09)}
.arrow-link{display:inline-flex;align-items:center;gap:8px;transition:color .2s var(--ease)}
.arrow-link svg{transition:transform .2s var(--ease)}
.arrow-link:hover svg{transform:translateX(4px)}
.ico{flex:none;display:block}

/* --- header --------------------------------------------------------------- */
.hdr{position:sticky;top:0;z-index:50;height:67px;background:rgba(252,251,249,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hdr__in{display:flex;align-items:center;height:67px}
.hdr__nav{display:flex;gap:36px;margin:0 auto}
.hdr__nav a{font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink);transition:color .2s var(--ease)}
.hdr__nav a:hover,.hdr__nav a[aria-current=page]{color:var(--gold-text)}
.hdr__cta{margin-left:auto}
.burger{display:none}
.mnav{display:none}

/* wordmark */
.wm{display:block;line-height:1;text-align:center}
.wm__s{display:block;font-family:var(--script);font-size:12px;line-height:1;color:var(--gold-text);transform:rotate(-3deg)}
.wm__n{display:block;font-family:var(--display);font-weight:700;font-size:19px;line-height:1;letter-spacing:-.01em;color:var(--ink);margin-top:1px}
.wm__c{display:block;font-family:var(--text);font-weight:600;font-size:7px;line-height:1;letter-spacing:.42em;color:var(--ink);margin-top:3px;margin-left:.42em}
.wm--ftr .wm__c{margin-left:.2em}
.wm--ftr{text-align:left}
.wm--ftr .wm__s{font-size:19px;color:var(--gold-light);margin-left:.6em}
.wm--ftr .wm__n{font-size:30px;color:#fff;margin-top:2px}
.wm--ftr .wm__c{font-size:11px;letter-spacing:.42em;color:var(--on-navy);margin-top:5px}

/* --- hero ----------------------------------------------------------------- */
.hero{background:var(--paper);padding:49px 0 0;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:170px;background:var(--navy)}
.hero__in{position:relative;z-index:1;text-align:center}
.hero .script{display:inline-block;margin-bottom:12px}
.hero h1{max-width:800px;margin:0 auto 24px}
.hero__lead{max-width:600px;margin:0 auto}
.hero__cta{display:flex;justify-content:center;gap:11px;margin-top:20px}
.hero__rule{width:760px;max-width:100%;height:1px;background:var(--line);margin:12px auto 0}
.hero__trust{display:flex;justify-content:center;gap:56px;margin-top:16px}
.hero__trust li{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:-.02em;color:var(--ink-body)}
.hero__trust svg{color:var(--gold-mid)}
.stats__n svg{color:var(--gold-light)}
.stats--light .stats__n svg{color:var(--gold-text)}
.hero__fig{margin:42px 0 0}
.hero__fig img{width:100%;height:482px;object-fit:cover;border-radius:var(--r)}
.hero__fig figcaption{background:var(--navy);padding-bottom:2px;font-size:13px;line-height:1.5;letter-spacing:-.02em;color:var(--on-navy);text-align:left}

/* page hero (inners) */
.phero{background:var(--paper);padding:49px 0 0;text-align:center}
.phero .script{display:inline-block;margin-bottom:12px}
.phero h1{max-width:800px;margin:0 auto 22px}
.phero--crumbs h1{max-width:720px}
.phero--crumbs .phero__lead{max-width:640px}
.phero__lead{max-width:600px;margin:0 auto}
.phero__fig{margin-top:44px}
.phero__fig img{width:100%;height:482px;object-fit:cover;border-radius:var(--r)}
.phero--crumbs{padding-top:0;padding-bottom:79px}
.phero--fig{padding-bottom:88px}
.phero--plain{padding-top:57px;padding-bottom:59px}
.phero--plain h1{max-width:760px}
.phero--plain .script{margin-bottom:35px}
.phero--fig h1{max-width:760px}
.phero--fig .script{margin-bottom:19px}
.crumbs{display:flex;gap:10px;font-size:13px;letter-spacing:-.02em;color:var(--ink-muted);padding:57px 0 34px;text-align:left}
.crumbs a{color:var(--ink);transition:color .2s var(--ease)}
.crumbs a:hover{color:var(--gold-text)}

/* --- stats ---------------------------------------------------------------- */
.stats{padding:80px 0 56px}
.stats__g{display:grid;grid-template-columns:repeat(4,1fr)}
.stats__i{border-left:2px solid var(--gold-light);padding:14px 24px 16px}
.stats--light .stats__i{border-left-color:var(--gold)}
.stats__n{font-family:var(--display);font-weight:700;font-size:37px;line-height:1.08;letter-spacing:-.02em;color:#fff}
.stats--light .stats__n{color:var(--ink)}
.stats__n span{font-size:19px;letter-spacing:-.02em;color:var(--gold-light)}
.stats--light .stats__n span{color:var(--gold-text)}
.stats__l{margin-top:6px;font-size:15px;line-height:1.5;color:var(--on-navy)}
.stats--light .stats__l{color:var(--ink-body)}

/* --- section heads -------------------------------------------------------- */
.shead{text-align:center}
.shead .script{display:inline-block;margin-bottom:0}
.shead h2{max-width:700px;margin:0 auto}
.shead p{max-width:560px;margin:24px auto 0}

/* --- services grid -------------------------------------------------------- */
.svcs{padding:115px 0 125px}
.svcs__g{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:62px}
.svcard{
  display:flex;flex-direction:column;height:487px;border-radius:var(--r);
  background:var(--navy-2);overflow:hidden;
  transition:transform .25s var(--ease),background-color .25s var(--ease);
}
.svcard:hover{transform:translateY(-4px);background:#24324B}
.svcard__t{padding:24px 24px 0;color:#fff}
.svcard__b{padding:12px 24px 0;font-size:15px;line-height:1.5;color:var(--on-navy)}
.svcard__m{margin:20px 24px 0;color:var(--gold-light)}
.svcard__img{margin-top:auto}
.svcard__img img{width:100%;height:219px;object-fit:cover}
.svcs__more{display:flex;justify-content:center;margin-top:42px}

/* --- team ----------------------------------------------------------------- */
.team{padding:111px 0 116px}
.team__g{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:62px}
.tcard{display:grid;grid-template-columns:150px 1fr;background:var(--white);border-radius:var(--r);overflow:hidden;min-height:254px}
.tcard img{width:150px;height:100%;min-height:254px;object-fit:cover}
.tcard__b{padding:24px}
.tcard__r{margin-top:4px;font-size:15px;font-weight:500;color:var(--gold-text)}
.tcard__d{height:1px;background:var(--line-card);margin:8px 0 7px}
.tcard__x{margin-top:20px;font-size:15px;line-height:1.5;color:var(--ink-body)}

/* --- why band (photo + scrim) -------------------------------------------- */
.why{position:relative;min-height:632px;display:flex;align-items:center;background:var(--navy);color:#fff;overflow:hidden}
.why__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.why__scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(2,15,41,.97) 0%,rgba(2,15,41,.94) 32%,rgba(2,15,41,.72) 56%,rgba(2,15,41,.42) 100%)}
.why__in{position:relative;z-index:1;padding:110px 0 114px}
.why h2{max-width:470px;margin-top:5px}
.why__lead{max-width:540px;margin-top:35px}
.why__pts{display:flex;flex-wrap:wrap;gap:32px;margin-top:35px}
.why__pts li{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:-.02em;color:var(--on-navy)}
.why__pts svg{color:var(--gold-light)}
.why .pill{margin-top:32px}

/* --- testimonials --------------------------------------------------------- */
.tst{padding:127px 0 117px;overflow:hidden}
.tst__top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.tst__top h2{max-width:420px}
.tst__rate{display:flex;align-items:center;gap:12px;padding-bottom:6px}
.tst__stars{color:var(--gold-text);line-height:1}
.stars{display:inline-flex;align-items:center}
.stats__n .stars,.stats__n svg{display:inline-block;vertical-align:baseline}
.tst__nav{display:flex;gap:8px}
.tst__nav button{
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(2,15,41,.16);
  background:transparent;display:grid;place-items:center;cursor:pointer;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),opacity .2s var(--ease);
}
.tst__nav button:hover{background:var(--gold-wash);border-color:rgba(2,15,41,.3)}
.tst__nav button:disabled{opacity:.35;cursor:default}
.tst__vp{margin-top:98px;padding-left:38px;overflow:hidden}
.tst__track{display:flex;gap:20px;transition:transform .5s var(--ease)}
.tcell{
  flex:none;width:360px;height:424px;margin:0;background:var(--white);border-radius:var(--r);
  border:1px solid rgba(2,15,41,.08);padding:26px;display:flex;flex-direction:column;
}
.tcell__q{display:block;font-family:var(--script);font-size:52px;line-height:.5;color:var(--gold-deco);height:26px}
.tcell__s{display:block;margin-top:12px;color:var(--gold-text);line-height:1}
.tcell__b{margin-top:16px;font-size:17px;line-height:1.7;color:var(--ink-quote)}
.tcell__f{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-card)}
.tcell__n{display:block;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:-.01em}
.tcell__m{display:block;margin-top:2px;font-size:13px;color:var(--ink-muted)}

/* --- process -------------------------------------------------------------- */
.proc{padding:110px 0 115px}
.proc__g{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:64px;text-align:center}
.proc__n{
  width:46px;height:46px;margin:0 auto;border-radius:50%;background:var(--paper);
  box-shadow:inset 0 0 0 1px var(--gold);display:grid;place-items:center;
  font-family:var(--display);font-weight:700;font-size:14px;color:var(--gold-text);
}
.proc__t{margin-top:16px}
.proc__b{margin-top:12px;font-size:15px;line-height:1.5;color:var(--ink-body)}

/* --- service areas -------------------------------------------------------- */
.areas{padding:120px 0 125px}
.areas__g{display:grid;grid-template-columns:596px 1fr;gap:48px;align-items:center}
.areas__map{border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.areas__map svg{display:block;width:100%;height:420px}
.areas__cap{margin-top:12px}
.areas h2{max-width:400px;margin-top:2px}
.areas__lead{margin-top:35px;max-width:460px}
.areas__rule{height:1px;background:var(--line);margin:33px 0 20px}
.areas__cty{display:flex;align-items:center;gap:9px;color:var(--ink)}
.areas__cty svg{color:var(--gold-mid)}
.areas__towns{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:6px;margin:7px 0 22px;font-size:15px;color:var(--ink-body)}
.areas__ask{margin-top:38px;font-size:15px;color:var(--ink-body)}
.areas__ask a{color:var(--gold-text);text-decoration:underline;text-decoration-color:rgba(140,94,28,.35);text-underline-offset:3px}
.areas__ask a:hover{text-decoration-color:var(--gold-text)}
.areas .pill{margin-top:36px}

/* --- cta band ------------------------------------------------------------- */
.ctab{padding:80px 0}
.ctab__card{
  position:relative;border-radius:var(--r);border-left:3px solid var(--gold);
  background:linear-gradient(115deg,var(--navy-2) 0%,var(--navy-2) 38%,var(--navy-3) 100%);
  padding:48px 45px 45px;display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:276px;
}
.ctab__card h2{max-width:520px;margin-top:5px;color:#fff}
.ctab__card p{max-width:520px;margin-top:12px;font-size:15px;line-height:1.65;color:var(--on-navy)}
.ctab__btns{display:flex;gap:8px;flex:none}

/* --- faq ------------------------------------------------------------------ */
.faq{padding:114px 0 36px}
.faq__g{display:grid;grid-template-columns:458px 1fr;gap:96px;align-items:start}
.faq h2{margin-top:3px}
.faq__lead{margin-top:24px}
.faq .pill{margin-top:26px}
.faq__list{border-bottom:1px solid var(--line)}
.faq__row{border-top:1px solid var(--line)}
.faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  background:none;border:0;padding:24px 0 31px;text-align:left;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:19px;line-height:1.32;letter-spacing:-.02em;color:var(--ink);
  transition:color .2s var(--ease);
}
.faq__q:hover{color:var(--gold-text)}
.faq__ind{
  flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px var(--line);color:var(--gold-text);
  transition:background-color .2s var(--ease),box-shadow .2s var(--ease),color .2s var(--ease);
}
.faq__row.is-open .faq__ind{background:var(--gold-fill);box-shadow:none;color:#fff}
.faq__a{overflow:hidden;height:0;transition:height .3s var(--ease)}
.faq__a p{padding-bottom:23px;max-width:622px;font-size:17px;line-height:1.7;color:var(--ink-body)}
.faq__row.is-open .faq__q{padding-bottom:31px}

/* --- resources ------------------------------------------------------------ */
.res{padding:110px 0 138px}
.res__g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:62px}
.rcard{background:var(--white);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.rcard:hover{transform:translateY(-4px);box-shadow:0 18px 34px -22px rgba(2,15,41,.3)}
.rcard img{width:100%;height:220px;object-fit:cover}
.rcard__b{padding:24px}
.rcard__m{display:flex;align-items:center;gap:12px}
.rcard__m span:last-child{color:var(--ink-muted)}
.rcard__t{margin-top:9px}
.rcard__x{margin-top:13px;font-size:15px;line-height:1.5;color:var(--ink-body)}
.res__more{display:flex;justify-content:center;margin-top:33px}

/* --- quote form ----------------------------------------------------------- */
.qf{padding:112px 0 115px}
.qf__g{display:grid;grid-template-columns:1fr 616px;gap:108px;align-items:start}
.qf h2{max-width:460px;margin-top:2px}
.qf__lead{margin-top:35px;max-width:480px}
.qf__card{background:var(--white);border-radius:var(--r);padding:28px}
.field{display:block;margin-bottom:16px}
.field span{display:block;color:var(--ink-quote)}
.field input,.field textarea,.field select{
  width:100%;margin-top:5px;height:42px;padding:0 13px;border-radius:var(--r);
  background:var(--paper);border:1px solid var(--line);color:var(--ink);
  font-family:var(--text);font-size:15px;letter-spacing:-.02em;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.field textarea{height:120px;padding:11px 13px;resize:vertical}
.field select{
  appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23636770' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold-fill);box-shadow:0 0 0 3px rgba(160,107,32,.16)}
.qf__note{margin-left:12px;font-size:13px;color:var(--ink-muted)}
.qf__row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.form-ok{display:none;margin-top:14px;padding:12px 14px;border-radius:var(--r);background:var(--gold-wash);color:#4A320D;font-size:14px;line-height:1.5}
.form-ok.is-on{display:block}

/* --- partners ------------------------------------------------------------- */
.prt{background:var(--white);padding:91px 0}
.prt__line{text-align:center;color:var(--ink-muted)}
.prt h2{text-align:center;max-width:640px;margin:0 auto}
.prt__r{display:flex;justify-content:center;gap:48px;margin-top:57px}
.prt__i{width:160px;text-align:center}
.prt__mk{height:44px;display:grid;place-items:center}
.prt__n{margin-top:16px;font-size:13px;letter-spacing:-.02em;color:var(--ink-quote)}
.prt__c{margin-top:12px;font-size:11px;line-height:1.5;color:var(--ink-muted)}
.wmk{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em;color:#5A6070}
.wmk--b{font-family:var(--text);font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#5A6070}
.wmk--c{font-family:var(--script);font-size:26px;color:#5A6070}
.wmk--d{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.04em;color:#5A6070;border:1px solid #9AA0AA;padding:4px 9px;border-radius:2px}

/* --- promise band (inner pages) ------------------------------------------ */
.prom{padding:115px 0}
.prom__g{display:grid;grid-template-columns:1fr 590px;gap:64px;align-items:center}
.prom h2{max-width:440px;margin-top:5px;color:#fff}
.prom__lead{margin-top:30px;max-width:500px;font-size:17px;line-height:1.7}
.prom__pts{margin-top:34px;display:grid;gap:22px}
.prom__pts li{display:grid;grid-template-columns:20px 1fr;gap:16px}
.prom__pts svg{color:var(--gold-light);margin-top:2px}
.prom__pts b{display:block;font-family:var(--display);font-weight:700;font-size:19px;line-height:1.2;letter-spacing:-.02em;color:#fff}
.prom__pts span{display:block;margin-top:4px;max-width:460px;font-size:15px;line-height:1.5;color:var(--on-navy)}
.prom .pill{margin-top:34px}
.prom__img img{width:100%;height:365px;object-fit:cover;border-radius:var(--r)}

/* --- split (story / belief / neighbourhood) ------------------------------ */
.split{padding:130px 0}
.split--tall{padding:152px 0}
.split__g{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split--rev .split__g>*:first-child{order:2}
.split h2{max-width:440px;margin-top:4px}
.split__p{margin-top:28px;display:grid;gap:18px}
.split__p p{font-size:15px;line-height:1.6;color:var(--ink-body)}
.split__fig img{width:100%;height:390px;object-fit:cover;border-radius:var(--r)}
.split__fig figcaption{margin-top:11px;font-size:13px;color:var(--ink-muted)}

/* --- services page rows -------------------------------------------------- */
.srow{background:var(--white);border-radius:var(--r);margin-top:24px;display:grid;grid-template-columns:1fr 588px;align-items:center;min-height:417px;overflow:hidden}
.srow__b{padding:0 32px}
.srow--rev .srow__b{order:2}
.srow__x{margin-top:10px;max-width:520px;font-size:17px;line-height:1.7;color:var(--ink-body)}
.srow__p{margin-top:13px;font-size:15px;color:var(--ink-body)}
.srow__p b{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--gold-text)}
.srow__m{margin-top:20px;color:var(--gold-text)}
.srow__img{padding:32px}
.srow--rev .srow__img{order:1}
.srow--rev{grid-template-columns:588px 1fr}
.srow__img img{width:100%;height:353px;object-fit:cover;border-radius:2px}

/* --- contact page --------------------------------------------------------- */
.cont{padding:86px 0 110px}
.cont__g{display:grid;grid-template-columns:544px 624px;gap:72px;align-items:start}
.cont__l h2{margin-bottom:26px}
.cont__rows{display:grid;gap:22px}
.cont__rows li{display:grid;grid-template-columns:20px 1fr;gap:12px}
.cont__rows svg{color:var(--gold-mid);margin-top:4px}
.cont__rows span{display:block;color:var(--ink-muted)}
.cont__rows b,.cont__rows a{display:block;margin-top:2px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ink)}
.cont__rows a:hover{color:var(--gold-text)}
.cont__rows p{margin-top:2px;font-size:13px;color:var(--ink-muted)}
.cont__hr{height:1px;background:var(--line);margin:28px 0 20px}
.cont__hd{display:flex;align-items:center;gap:9px;color:var(--ink-muted)}
.cont__hours{margin-top:12px;display:grid;gap:8px}
.cont__hours li{display:flex;justify-content:space-between;font-size:15px;color:var(--ink-body)}
.cont__soc{margin-top:30px;display:grid;gap:10px}
.cont__soc a{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-body)}
.cont__soc svg{color:var(--gold-mid)}
.cont__soc a:hover{color:var(--gold-text)}
.cont__card{background:var(--white);border-radius:var(--r);padding:40px;box-shadow:0 12px 36px -18px rgba(2,15,41,.2)}
.cont__card h2{font-size:25px;line-height:1.2;letter-spacing:-.02em}
.cont__card>p{margin-top:10px;font-size:15px;color:var(--ink-body)}
.cont__card form{margin-top:22px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.acov{padding:96px 0 104px}
.acov__g{display:grid;grid-template-columns:596px 1fr;gap:85px;align-items:start}
.acov__lists{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:26px}
.acov__lists h3{font-family:var(--text);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.acov__lists li{display:flex;align-items:center;gap:9px;margin-top:9px;font-size:15px;color:var(--ink-body)}
.acov__lists svg{color:var(--gold-mid)}

/* --- free-check band ------------------------------------------------------ */
.fchk{background:var(--navy-2);padding:62px 0 62px}
.fchk h2{max-width:560px;color:#fff}
.fchk p{margin-top:12px;max-width:620px;font-size:15px;line-height:1.5;color:var(--on-navy)}
.fchk a{margin-top:24px;display:inline-flex;color:var(--gold-light)}

/* --- footer --------------------------------------------------------------- */
.ftr{background:var(--navy);color:#fff;padding:64px 0 0}
.ftr__g{display:grid;grid-template-columns:396px 282px 282px 280px;gap:0}
.ftr__h{color:var(--gold-light);margin-bottom:16px}
.ftr__c{display:grid;gap:9px;margin-top:22px}
.ftr__c li{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:15px;color:var(--on-navy)}
.ftr__c svg{color:var(--gold);margin-top:4px}
.ftr__c a:hover{color:#fff}
.ftr__soc{display:flex;gap:12px;margin-top:26px}
.ftr__soc a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-dark);color:var(--on-navy);transition:background-color .2s var(--ease),color .2s var(--ease)}
.ftr__soc a:hover{background:rgba(255,255,255,.1);color:#fff}
.ftr__l{display:grid;gap:11px}
.ftr__l a{font-size:15px;color:var(--on-navy);transition:color .2s var(--ease)}
.ftr__l a:hover{color:#fff}
.ftr__hrs{margin-top:26px;display:grid;gap:10px}
.ftr__hrs dt{font-family:var(--text);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-muted)}
.ftr__hrs dd{margin:2px 0 0;font-size:15px;font-weight:500;color:#fff}
.ftr__cty{font-size:13px;font-weight:500;color:#fff;margin-bottom:5px}
.ftr__towns{display:flex;flex-wrap:wrap;column-gap:11px;row-gap:6px;font-size:13px;color:var(--on-navy-muted);margin-bottom:18px}
.ftr__strip{display:flex;gap:46px;margin-top:52px}
.ftr__strip li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--on-navy)}
.ftr__strip svg{color:var(--gold)}
.ftr__note{margin-top:12px;padding-bottom:22px;font-size:12px;line-height:1.6;color:var(--on-navy-muted);max-width:1240px}
.bbar{background:var(--gold);color:var(--navy);padding:16px 0}
.bbar__in{display:flex;justify-content:space-between;gap:24px;font-size:13px;letter-spacing:-.02em}
.bbar__l{display:flex;gap:24px}
.bbar a:hover{text-decoration:underline}

/* --- reveal (scroll-in) --------------------------------------------------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* --- tablet --------------------------------------------------------------- */
@media (max-width:1199px){
  .wrap{width:calc(100% - 80px)}
  .h1{font-size:42px}.h2{font-size:33px}
  .svcs__g{grid-template-columns:repeat(2,1fr)}
  .proc__g{grid-template-columns:repeat(3,1fr);row-gap:44px}
  .areas__g,.faq__g,.qf__g,.cont__g,.acov__g,.prom__g,.split__g{grid-template-columns:1fr;gap:48px}
  .split--rev .split__g>*:first-child{order:0}
  .faq__g{gap:40px}
  .ftr__g{grid-template-columns:1fr 1fr;row-gap:46px}
  .tst__vp{padding-left:40px}
  .prom__img img{height:320px}
}

/* --- mobile --------------------------------------------------------------- */
@media (max-width:809px){
  .wrap{width:calc(100% - 40px)}
  body{font-size:15px}
  .h1{font-size:31px;line-height:1.08}
  .h2{font-size:26px;line-height:1.08}
  .h2-mid{font-size:24px}
  .h2-sm{font-size:22px}
  .h4{font-size:16px}
  .lead,.lead-s{font-size:17px}
  .script{font-size:30px}

  .hdr{height:84px}
  .hdr__in{height:64px;align-items:center;gap:10px}
  .wm{width:75px}
  .wm__s{font-size:11px}
  .wm__n{font-size:17px}
  .wm__c{font-size:6px;letter-spacing:.36em;margin-left:.36em}
  .hdr__nav{display:none}
  .hdr__cta{margin-left:auto}
  .burger{
    display:grid;place-items:center;width:44px;height:44px;flex:none;
    border-radius:8px;background:var(--white);border:1px solid rgba(2,15,41,.14);cursor:pointer;
  }
  .mnav{
    position:fixed;left:0;right:0;top:84px;z-index:49;background:var(--paper);
    border-bottom:1px solid var(--line);padding:8px 20px 24px;
  }
  .mnav.is-open{display:block}
  .mnav a{display:block;padding:16px 0;font-size:19px;font-weight:600;letter-spacing:-.02em;border-bottom:1px solid var(--line)}
  .mnav a:last-of-type{border-bottom:0}
  .mnav .pill{margin-top:16px;width:100%}

  .hero{padding:65px 0 83px}
  .hero h1{margin-bottom:32px}
  .hero__cta{flex-direction:column;align-items:center;gap:12px;margin-top:20px}
  .hero__rule{margin-top:14px}
  .hero__trust{flex-direction:column;align-items:center;gap:8px;margin-top:14px}
  .hero__fig{margin-top:42px}
  .hero__fig img{height:150px}
  .phero{padding-top:52px}
  .phero__fig img{height:210px}

  .stats{padding:48px 0 37px}
  .stats__g{grid-template-columns:1fr 1fr;row-gap:8px}
  .stats__i{padding:6px 20px 8px}
  .stats__n{font-size:26px}
  .stats__n span{font-size:16px}
  .shead p{margin-top:20px}

  .svcs{padding:62px 0 70px}
  .svcs__g{grid-template-columns:1fr;gap:22px;margin-top:38px}
  .svcard{height:auto}
  .svcard__img img{height:219px;margin-top:38px}
  .svcs__more{margin-top:40px}

  .team{padding:61px 0 66px}
  .team__g{grid-template-columns:1fr;gap:20px;margin-top:40px}
  .tcard__b{padding:24px 24px 28px}
  .tcard__x{margin-top:30px}
  .tcard{grid-template-columns:1fr;min-height:0}
  .tcard img{width:100%;height:240px;min-height:0}

  .why{min-height:0}
  .why__in{padding:62px 0 64px}
  .why__scrim{background:linear-gradient(180deg,rgba(2,15,41,.94) 0%,rgba(2,15,41,.9) 55%,rgba(2,15,41,.8) 100%)}
  .why__pts{flex-direction:column;gap:12px}

  .tst{padding:64px 0}
  .tst__top{flex-direction:column;align-items:flex-start;gap:28px}
  .tst__top h2{max-width:300px}
  .tst__rate{flex-wrap:wrap;gap:16px 12px;padding-bottom:0}
  .tst__nav{flex-basis:100%}
  .tst__vp{margin-top:48px;padding-left:20px;padding-bottom:12px}
  .tcell{width:320px;height:500px}

  .proc{padding:61px 0 30px}
  .proc__g{grid-template-columns:1fr;gap:20px;margin-top:28px;text-align:left}
  .proc__g li{display:grid;grid-template-columns:46px 1fr;column-gap:14px;align-items:start}
  .proc__n{grid-row:span 2;margin:0}
  .proc__t{margin-top:0}
  .proc__b{margin-top:7px}

  .areas{padding:62px 0 66px}
  .areas__g{gap:36px}
  .areas__map svg{height:340px}
  .areas__rule{margin:26px 0 18px}

  .ctab{padding:56px 0}
  .ctab__card{flex-direction:column;align-items:flex-start;padding:40px 26px 38px;min-height:0}
  .ctab__btns{flex-direction:column;align-items:stretch;width:100%}
  .ctab__card h2,.ctab__card p{max-width:none}

  .faq{padding:62px 0 24px}
  .faq__q{font-size:17px;padding:20px 0 24px}
  .faq__a p{font-size:16px;padding-bottom:20px}

  .res{padding:62px 0 66px}
  .res__g{grid-template-columns:1fr;gap:22px;margin-top:38px}

  .qf{padding:62px 0 66px}
  .qf__card{padding:22px}
  .f2{grid-template-columns:1fr;gap:0}

  .prt{padding:56px 0}
  .prt__r{flex-wrap:wrap;gap:34px 20px;margin-top:36px}
  .prt__i{width:44%}

  .prom{padding:56px 0 60px}
  .prom__img img{height:230px}
  .split{padding:56px 0}
  .split__g{gap:34px}
  .split__fig img{height:240px}

  .srow{grid-template-columns:1fr;min-height:0}
  .srow--rev .srow__b,.srow--rev .srow__img{order:0}
  .srow__b{padding:26px 24px 28px}
  .srow--rev .srow__b{padding-left:24px}
  .srow__x{font-size:16px}
  .srow__img{padding:0 24px 26px}
  .srow__img img{height:200px}

  .cont{padding:56px 0 62px}
  .cont__g{gap:44px}
  .acov{padding:56px 0 60px}
  .acov__lists{grid-template-columns:1fr 1fr;gap:18px}
  .acov__lists li{font-size:14px}

  .fchk{padding:40px 0}
  .ftr{padding-top:52px}
  .ftr__g{grid-template-columns:1fr;row-gap:38px}
  .ftr__strip{flex-direction:column;gap:12px;margin-top:68px}
  .bbar__in{align-items:center}
  .bbar__l{flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .rv{opacity:1 !important;transform:none !important}
  .tst__track{transition:none}
  .svcard:hover,.rcard:hover{transform:none}
}
