/* ==========================================================================
   MHI Executive system v2 (elevated) — shared chrome + homepage
   Navy/stone direction Sarah approved, refined one level:
   deliberate type scale, readable measures, generous whitespace,
   restrained gold hairlines, quieter controls, cleaner photo treatment.
   Live system font stacks only. No new families.
   ========================================================================== */
:root{
  --navy:#0b1c28;
  --navy-900:#07131c;
  --navy-800:#102636;
  --navy-700:#17384c;
  --ink:#141d24;
  --ink-strong:#0b1c28;
  --muted:#5a6670;
  --ink-muted:#5a6670; /* alias for Direction 1 inner.css */
  --line:#d8dde2;
  --border:#d8dde2; /* alias */
  --page:#ffffff;
  --stone:#f3f4f6;
  --surface:#f7f8f9; /* alias */
  --mist:#eef0f2;
  --ivory:#f3f4f6; /* cool stone stand-in; no warm ivory */
  --sand:#eef0f2;  /* cooler stand-in for sand bands */
  --gold:#a58b4c;
  --gold-ink:#6e5a2b;
  --gold-soft:#c4b48a;
  --gold-tint:#f3efe4;
  --gold-line:rgba(165,139,76,.35);
  --on-navy:#c7d0d7;
  --maxw:1120px;
  --gutter:clamp(20px,4vw,48px);
  --section-y:clamp(72px,8vw,120px);
  --measure:38rem;
  --measure-wide:42rem;
  --font-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --f-head:var(--font-display);
  --f-body:var(--font-body);
  --f-mono:var(--font-mono);
  --step--1:.84rem;--step-0:1rem;--step-1:1.15rem;--step-2:1.35rem;--step-3:1.75rem;--step-4:2.35rem;
  --step-5:clamp(2.35rem,4.6vw,3.4rem);
  --h1:var(--step-5);
  --h2:clamp(1.75rem,2.8vw,2.35rem);
  --h3:1.2rem;
  --radius:2px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--ink);background:var(--page);font-size:var(--step-0);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--f-head);font-weight:600;color:var(--ink-strong);letter-spacing:-.018em;line-height:1.18}
.mono{font-family:var(--f-mono)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font-size:.66rem;font-weight:650;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:18px}
.eyebrow-light,.eyebrow-gold{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.9rem;letter-spacing:.01em;border-radius:1px;padding:12px 22px;white-space:nowrap;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-700);border-color:var(--navy-700)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.btn-ghost-dark{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-ghost-dark:hover{background:var(--mist)}
.btn-invert{background:#fff;color:var(--navy);border-color:#fff}
.btn-invert:hover{background:var(--mist)}
.btn-lg{padding:14px 26px;font-size:.95rem}
.txt-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gold-line);padding-bottom:2px}
.txt-link-light{color:#fff;border-bottom-color:var(--gold-line)}
.star{color:var(--gold);margin-left:2px}
.phone{color:var(--navy);font-weight:600}

/* ---------- masthead ---------- */
.mast{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.mast-in{display:flex;align-items:center;gap:24px;height:76px}
.logo{flex:0 0 auto}
.logo img{height:42px;width:auto}
.nav-l{display:flex;align-items:center;gap:20px;flex:1;font-size:.875rem;font-weight:500;color:var(--ink);white-space:nowrap}
.nav-r{display:flex;align-items:center;gap:16px;margin-left:auto;white-space:nowrap}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:4px}
.chev{width:14px;height:14px;transition:transform .15s}
.mega-panel{display:none;position:absolute;top:calc(100% + 20px);left:-20px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(11,28,40,.08);padding:26px 28px;min-width:960px;z-index:50;white-space:normal}
.mega-panel.narrow{min-width:220px}
.dd::before{content:"";position:absolute;top:100%;left:-24px;right:-24px;height:28px}
.dd:hover .mega-panel,.dd:focus-within .mega-panel,.dd.open .mega-panel{display:block}
.dd:hover .chev,.dd:focus-within .chev,.dd.open .chev{transform:rotate(180deg)}
body.no-hover-dd .dd:hover .mega-panel{display:none}
body.no-hover-dd .dd.open .mega-panel,body.no-hover-dd .dd:focus-within .mega-panel{display:block}
.mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.mega-col-head{font-size:.66rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px}
.mega-col ul,.reg-list{list-style:none}
.mega-col li,.reg-list li{margin-bottom:8px;font-size:.9rem}
.mega-foot{display:flex;justify-content:space-between;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.mega-foot a,.mega-all a{color:var(--navy);font-weight:600}
.ph{font-size:.86rem;color:var(--ink-strong)}
.menu{display:none;background:none;border:0;color:var(--navy);padding:8px;margin-left:auto}
.ic-m{width:26px;height:26px}
.m-menu{display:none}

/* ---------- homepage hero ---------- */
.hero{background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy) 58%,var(--navy-800) 100%);color:#fff;position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center;padding:96px 0 104px;min-height:620px}
.hero .eyebrow{color:var(--gold);display:inline-flex;align-items:center;gap:14px;margin-bottom:20px}
.hero .eyebrow::before{content:"";width:24px;height:1px;background:var(--gold);display:inline-block}
.hero h1{color:#fff;font-size:var(--h1);margin-bottom:22px;max-width:15ch;line-height:1.12}
.lede{font-size:1.12rem;color:var(--on-navy);max-width:36ch;margin-bottom:34px;line-height:1.7}
.cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cta-row.center{justify-content:center}
.microtrust{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:var(--on-navy);font-size:.84rem;max-width:38ch}
.microtrust b{color:#fff;font-weight:600}
.tick{color:var(--gold);margin-right:4px}
.hero-plate{position:relative;justify-self:end;width:100%;max-width:500px}
.hero-plate img{width:100%;height:min(520px,68vh);object-fit:cover;object-position:42% 28%}

/* ---------- stats ---------- */
.stats{background:var(--page);border-bottom:1px solid var(--line)}
.stats-in{display:grid;grid-template-columns:repeat(3,1fr);padding:40px 0}
.stat{padding:6px 28px;border-right:1px solid var(--line)}
.stat:first-child{padding-left:0}
.stat:last-child{border-right:0;padding-right:0}
.stat .num{font-family:var(--f-head);font-weight:600;font-size:2rem;color:var(--navy);line-height:1;letter-spacing:-.02em}
.stat .lbl{margin-top:10px;font-size:.84rem;color:var(--muted);max-width:22ch;line-height:1.45}

/* ---------- services ---------- */
.services{padding:var(--section-y) 0;background:var(--page)}
.svc-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:72px;align-items:start}
.svc-aside h2{font-size:var(--h2);margin-bottom:18px;max-width:13ch}
.svc-aside .body,.body{color:var(--muted);font-size:1.05rem;line-height:1.7;max-width:var(--measure)}
.svc-aside .body{margin-bottom:36px}
.svc-photo img{width:100%;height:400px;object-fit:cover;object-position:50% 30%}
.svc-list{list-style:none;border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.svc-num{font-family:var(--f-head);font-size:1rem;color:var(--gold-ink);line-height:1.5;padding-top:3px}
.svc h3{font-size:1.1rem;margin-bottom:6px;letter-spacing:-.01em}
.svc p{color:var(--muted);font-size:.95rem;max-width:50ch;margin-bottom:8px;line-height:1.6}
.svc-link{font-size:.86rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gold-line)}

/* ---------- c2c ---------- */
.c2c{background:var(--stone);padding:var(--section-y) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.c2c-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.c2c-head h2{font-size:var(--h2);margin-bottom:28px;max-width:15ch}
.c2c-photo img{width:100%;height:360px;object-fit:cover;object-position:50% 25%}
.c2c-body p{font-size:1.05rem;margin-bottom:16px;color:var(--ink);max-width:var(--measure-wide);line-height:1.7}
.c2c-body ul{list-style:none;margin-top:28px;border-top:1px solid var(--line)}
.c2c-body li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line);font-size:.98rem}
.ck{width:18px;height:18px;color:var(--gold-ink);margin-top:3px}

/* ---------- how ---------- */
.how{background:var(--page);padding:var(--section-y) 0}
.how-head{max-width:var(--measure);margin-bottom:56px}
.how-head h2{font-size:var(--h2)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps::before{content:"";position:absolute;top:17px;left:0;right:0;height:1px;background:var(--line)}
.step{padding:0 28px 0 0;position:relative}
.step:last-child{padding-right:0}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--page);border:1px solid var(--line);color:var(--navy);font-family:var(--f-head);font-size:.95rem;font-weight:600;margin-bottom:22px;position:relative;z-index:1}
.step h3{font-size:1.1rem;margin-bottom:10px}
.step p{color:var(--muted);font-size:.94rem;max-width:26ch;line-height:1.55}
.how-more{margin-top:48px}

/* ---------- who ---------- */
.who{background:var(--stone);padding:var(--section-y) 0;border-top:1px solid var(--line)}
.sec-head{max-width:var(--measure);margin-bottom:48px}
.sec-head h2{font-size:var(--h2);margin-bottom:14px}
.sec-head .body{color:var(--muted);font-size:1.05rem}
.auds{display:grid;border-top:1px solid var(--line)}
.aud{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr) auto;gap:24px;align-items:center;padding:26px 2px;border-bottom:1px solid var(--line)}
.aud:hover{background:rgba(255,255,255,.55)}
.aud h3{font-size:1.15rem}
.aud p{color:var(--muted);font-size:.96rem}
.aud .more{font-size:.86rem;font-weight:600;color:var(--navy);white-space:nowrap;border-bottom:1px solid var(--gold-line);padding-bottom:2px;justify-self:end}

/* ---------- regions ---------- */
.regions{background:var(--page);padding:var(--section-y) 0}
.reg-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin:36px 0 8px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.reg-head h3{display:inline-flex;align-items:center;gap:10px;font-size:1.3rem}
.pin{width:18px;height:18px;color:var(--gold-ink)}
.cities{display:grid}
.city{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.rm-name{font-family:var(--f-head);font-size:1.15rem;font-weight:600;color:var(--ink-strong)}
.rm-blurb{color:var(--muted);font-size:.95rem;max-width:60ch;line-height:1.6}
.outside{margin-top:28px;color:var(--muted);font-size:.95rem;max-width:68ch}
.outside a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--gold-line)}

/* ---------- difference ---------- */
.diff{background:var(--navy);color:var(--on-navy);padding:0}
.diff-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:540px}
.diff-photo{overflow:hidden}
.diff-photo img{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:50% 30%}
.diff-text{padding:72px var(--gutter);display:flex;flex-direction:column;justify-content:center}
.diff-text .eyebrow{color:var(--gold)}
.diff-text h2{color:#fff;font-size:var(--h2);margin-bottom:32px;max-width:15ch}
.tps{display:grid;gap:0}
.tp{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1)}
.tp:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.tp-ic{color:var(--gold);font-size:1rem;line-height:1.4}
.tp h3{color:#fff;font-size:1.05rem;margin-bottom:6px}
.tp p{color:var(--on-navy);font-size:.94rem;line-height:1.55}
.tp a{color:#fff;border-bottom:1px solid var(--gold-line)}

/* ---------- delay / pricing / guides / faq / cta ---------- */
.delay{background:var(--stone);padding:80px 0;border-bottom:1px solid var(--line)}
.delay-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px;align-items:start}
.delay .big{font-family:var(--f-head);font-size:clamp(2.6rem,4.8vw,3.8rem);color:var(--navy);line-height:1;letter-spacing:-.03em}
.delay .big small{display:block;font-family:var(--f-body);font-size:.88rem;font-weight:500;color:var(--muted);letter-spacing:0;line-height:1.5;margin-top:16px;max-width:26ch}
.delay .copy p{margin-bottom:14px;color:var(--ink);font-size:1.02rem;max-width:var(--measure-wide);line-height:1.7}
.delay .src{margin-top:18px;font-size:.76rem;color:var(--muted)}
.pricing{background:var(--page);padding:var(--section-y) 0;text-align:center}
.pricing h2{font-size:var(--h2);max-width:22ch;margin:0 auto 40px}
.ranges{display:grid;grid-template-columns:repeat(3,1fr);max-width:680px;margin:0 auto 40px;border:1px solid var(--line)}
.ranges .r{padding:22px 16px;border-right:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.ranges .r:last-child{border-right:0}
.ranges .r b{display:block;color:var(--ink-strong);font-family:var(--f-head);font-size:1.1rem;font-weight:600;margin-bottom:6px}
.guides{background:var(--stone);padding:var(--section-y) 0;border-top:1px solid var(--line)}
.guides-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px}
.feat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);overflow:hidden;height:100%}
.feat-img img{width:100%;height:240px;object-fit:cover;object-position:50% 30%}
.feat-body{padding:26px;display:flex;flex-direction:column;gap:12px;flex:1}
.feat-kicker{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}
.feat-title{font-family:var(--f-head);font-size:1.35rem;font-weight:600;color:var(--ink-strong);line-height:1.25}
.feat-desc{color:var(--muted);font-size:.94rem;flex:1;line-height:1.55}
.feat-go{font-weight:600;color:var(--navy);border-bottom:1px solid var(--gold-line);align-self:flex-start;padding-bottom:2px;font-size:.88rem}
.glist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.g{display:grid;gap:6px;padding:20px 2px;border-bottom:1px solid var(--line)}
.g-meta{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.g-title{font-family:var(--f-head);font-size:1.08rem;font-weight:600;color:var(--ink-strong);line-height:1.3}
.g-all{padding-top:20px}
.faq{background:var(--page);padding:var(--section-y) 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.faq-head h2{font-size:var(--h2);margin-bottom:28px;max-width:13ch}
.faq-photo img{width:100%;height:320px;object-fit:cover;object-position:50% 25%}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:18px 0;font-family:var(--f-head);font-size:1.05rem;font-weight:600;color:var(--ink-strong);display:flex;justify-content:space-between;gap:16px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--gold-ink);font-weight:500;font-size:1.15rem;line-height:1}
.faq-list details[open] summary::after{content:"–"}
.faq-list .a{padding:0 0 18px;color:var(--muted);font-size:.96rem;max-width:var(--measure-wide);line-height:1.65}
.faq-list .a a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--gold-line)}
.cta{padding:0 0 var(--section-y);background:var(--page)}
.cta-card{background:var(--navy);color:#fff;padding:72px var(--gutter);text-align:center}
.cta-card h2{color:#fff;font-size:var(--h2);margin-bottom:16px}
.cta-card .sub{color:var(--on-navy);max-width:40ch;margin:0 auto 32px;font-size:1.05rem;line-height:1.65}
.cta-card .cta-row{justify-content:center}
.cta-card .phone{color:var(--gold);font-size:.92rem;margin-left:8px;font-weight:500}
.cta-card .btn-navy{background:#fff;color:var(--navy);border-color:#fff}

/* ---------- footer ---------- */
.foot{background:var(--navy-900);color:var(--on-navy);padding:64px 0 36px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-brand img{height:40px;width:auto;margin-bottom:20px}
.nap{font-style:normal;font-size:.9rem;line-height:1.7;color:var(--on-navy)}
.nap .phone{color:var(--gold-soft);font-weight:400}
.foot nav h3,.foot h3{font-family:var(--f-body);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-weight:650}
.foot nav a{display:block;font-size:.9rem;margin-bottom:9px;color:var(--on-navy)}
.foot nav a:hover{color:#fff}
.legal{display:flex;justify-content:space-between;gap:16px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#7d8b96;flex-wrap:wrap}

/* ---------- responsive shared ---------- */
@media (max-width:1100px){
  .nav-l,.nav-r{display:none}
  .menu{display:inline-flex;margin-left:auto}
  .mast-in{height:68px;gap:12px}
  .logo img{height:38px}
  .mega-panel{display:none!important}
  .m-menu{display:none}
  .m-menu.is-open{display:block;position:fixed;top:68px;left:0;right:0;width:100%;height:calc(100dvh - 68px);height:calc(100vh - 68px);background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px var(--gutter) 40px;z-index:45;border-top:1px solid var(--line);box-sizing:border-box}
  body.menu-open{overflow:hidden}
  .m-item,.m-item a,.m-group summary{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:600}
  .m-group{padding:0}
  .m-group summary{cursor:pointer;list-style:none}
  .m-group summary::-webkit-details-marker{display:none}
  .m-sub{padding:8px 0 12px 12px}
  .m-sub a{display:block;padding:8px 0;font-size:.92rem;color:var(--ink);border:0;font-weight:500}
  .m-head{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin:12px 0 6px;font-weight:650}
  .m-all{padding:8px 0}
  .m-all a{font-weight:600;color:var(--navy)}
  .m-item .btn{display:inline-flex;margin-top:8px}
  .hero-in{grid-template-columns:1fr;gap:40px;padding:56px 0 64px;min-height:0}
  .hero h1{max-width:none}
  .hero-plate{max-width:none}
  .hero-plate img{height:320px}
  .stats-in{grid-template-columns:1fr;padding:8px 0}
  .stat{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}
  .stat:last-child{border-bottom:0}
  .svc-grid,.c2c-grid,.faq-grid,.guides-grid,.delay-in{grid-template-columns:1fr;gap:36px}
  .steps{grid-template-columns:1fr 1fr;gap:36px 24px}
  .steps::before{display:none}
  .aud{grid-template-columns:1fr;gap:8px}
  .aud .more{justify-self:start}
  .city{grid-template-columns:1fr;gap:8px}
  .diff-grid{grid-template-columns:1fr}
  .diff-photo img{min-height:300px;height:300px}
  .diff-text{padding:48px var(--gutter)}
  .ranges{grid-template-columns:1fr}
  .ranges .r{border-right:0;border-bottom:1px solid var(--line)}
  .ranges .r:last-child{border-bottom:0}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .svc-photo img,.c2c-photo img,.faq-photo img{height:260px}
}
@media (max-width:640px){
  .steps{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .cta-card{padding:48px 22px}
  .cta-card .phone{display:block;margin:14px 0 0}
  .hero-plate img{height:260px}
  .btn-lg{width:100%}
  .cta-row .btn{width:100%}
}
@media (min-width:1200px){
  .mega-panel{min-width:0;width:min(960px,calc(100vw - 48px))}
  .mega-panel.narrow{width:auto;min-width:220px}
}

/* logo visibility harden */
.mast .logo{display:block;flex:0 0 auto;min-width:160px;line-height:0}
.mast .logo img{display:block!important;opacity:1!important;visibility:visible!important;height:42px!important;width:auto!important;max-width:220px;filter:none!important;mix-blend-mode:normal!important}
@media(max-width:900px){.mast .logo img{height:38px!important}}
