/* ============================================================
   HUNT + CO. ADVISORS — shared styles
   ============================================================ */
:root{
  --brick:#B85450;
  --brick-dark:#9c443f;
  --navy:#1C2535;
  --warm-white:#FAF8F5;
  --blush:#F2E8E6;
  --slate:#4A4A4A;
  --line:rgba(28,37,53,.08);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Nunito Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:400;color:var(--slate);background:var(--warm-white);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-weight:800;color:var(--navy);line-height:1.15;letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:1140px;margin:0 auto;padding:0 24px;}
.narrow{max-width:840px;}
.accent{color:var(--brick);}
.eyebrow{font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--brick);font-size:.8rem;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:800;font-size:1.05rem;padding:16px 34px;border-radius:8px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer;border:none;}
.btn-brick{background:var(--brick);color:#fff;box-shadow:0 6px 18px rgba(184,84,80,.28);}
.btn-brick:hover{background:var(--brick-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(184,84,80,.34);}
.btn-white{background:#fff;color:var(--brick);box-shadow:0 6px 18px rgba(0,0,0,.12);}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.18);}
.btn-sm{padding:11px 22px;font-size:.95rem;}

/* ---------- Logo lockup ---------- */
.lockup{display:inline-flex;align-items:center;gap:12px;}
.lockup .mark{width:40px;height:40px;display:block;flex:0 0 auto;}
.lockup .wm{display:flex;flex-direction:column;line-height:1;}
.lockup .name{font-weight:800;font-size:1.2rem;color:var(--navy);letter-spacing:.02em;
  border-bottom:2px solid var(--brick);padding-bottom:3px;}
.lockup .name .plus{color:var(--brick);}
.lockup .sub{font-size:.6rem;letter-spacing:.28em;color:var(--slate);margin-top:4px;font-weight:600;}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:100;background:var(--warm-white);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;}
.nav-links{display:flex;gap:30px;align-items:center;}
.nav-links a{font-weight:600;font-size:.98rem;color:var(--slate);transition:color .15s;}
.nav-links a:hover,.nav-links a.active{color:var(--brick);}
.nav-cta{margin-left:6px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:.2s;}

/* ---------- Hero (home) ---------- */
.hero{padding:84px 0 92px;text-align:center;}
.hero .mark-lg{width:96px;height:96px;margin:0 auto 32px;display:block;}
.hero h1{font-size:clamp(1.8rem,4.4vw,3.2rem);max-width:1000px;margin:0 auto 24px;}
.hero h1 .l2,.hero h1 .l3{display:block;}
.hero h1 .l1{display:block;}
.hero .sub{font-size:clamp(1.05rem,2vw,1.28rem);max-width:760px;margin:0 auto 22px;}
.hero .pillarline{font-weight:800;color:var(--navy);letter-spacing:.04em;margin-bottom:34px;font-size:1.05rem;}
.hero .pillarline span{color:var(--brick);}

/* ---------- Page hero (subpages) ---------- */
.page-hero{background:var(--blush);padding:62px 0 58px;}
.page-hero .crumb{font-size:.9rem;font-weight:600;color:var(--slate);margin-bottom:14px;}
.page-hero .crumb a:hover{color:var(--brick);}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem);max-width:760px;margin-bottom:18px;}
.page-hero p{font-size:1.18rem;max-width:720px;}

/* ---------- Section scaffolding ---------- */
section{padding:84px 0;}
.section-head{text-align:center;max-width:780px;margin:0 auto 54px;}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:16px;}
.section-head p{font-size:1.12rem;}

/* ---------- Pillars (home) ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pillar{background:var(--blush);border-radius:16px;padding:38px 32px;border-top:4px solid var(--brick);
  display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.pillar:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(28,37,53,.12);}
.pillar .pn{font-size:.8rem;font-weight:800;letter-spacing:.18em;color:var(--brick);text-transform:uppercase;margin-bottom:10px;}
.pillar h3{font-size:1.5rem;margin-bottom:14px;}
.pillar p{font-size:1rem;margin-bottom:18px;}
.pillar ul{list-style:none;margin-bottom:24px;}
.pillar ul li{font-size:.96rem;padding:7px 0 7px 26px;position:relative;border-top:1px solid rgba(28,37,53,.07);}
.pillar ul li:first-child{border-top:none;}
.pillar ul li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--brick);}
.pillar .more{margin-top:auto;font-weight:800;color:var(--brick);}
.pillar .more:hover{text-decoration:underline;}

/* ---------- Generic feature grid ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.card{background:var(--blush);border-radius:14px;padding:30px 28px;}
.card .num{font-size:1.5rem;font-weight:800;color:var(--brick);display:block;margin-bottom:10px;}
.card h3{font-size:1.16rem;margin-bottom:9px;}
.card p{font-size:.98rem;}
.card .ico{color:var(--brick);margin-bottom:14px;display:inline-flex;}

/* ---------- Service detail blocks (subpages) ---------- */
.service{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:30px 0;border-top:1px solid var(--line);}
.service:first-of-type{border-top:none;}
.service .sn{font-size:1.5rem;font-weight:800;color:var(--brick);}
.service h3{font-size:1.3rem;margin-bottom:10px;}
.service p{font-size:1.04rem;margin-bottom:12px;}
.service .tags{display:flex;flex-wrap:wrap;gap:8px;}
.service .tag{background:var(--blush);color:var(--navy);font-weight:700;font-size:.82rem;padding:5px 12px;border-radius:20px;}

/* ---------- AI section ---------- */
.ai{background:var(--navy);color:#fff;}
.ai h2{color:#fff;}
.ai .section-head p{color:rgba(255,255,255,.82);}
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.ai-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:26px 22px;}
.ai-card .ico{color:var(--brick);margin-bottom:14px;display:inline-flex;}
.ai-card h3{color:#fff;font-size:1.1rem;margin-bottom:8px;}
.ai-card p{font-size:.94rem;color:rgba(255,255,255,.8);}
.ai .note{text-align:center;margin-top:34px;font-size:1rem;color:rgba(255,255,255,.8);}
.ai .note strong{color:#fff;}

/* ---------- Case study ---------- */
.case{background:var(--blush);border-radius:16px;padding:40px;border-left:5px solid var(--brick);}
.case .label{display:inline-block;background:var(--brick);color:#fff;font-weight:800;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:6px;margin-bottom:18px;}
.case h3{font-size:1.4rem;margin-bottom:20px;}
.case .cs-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:8px;}
.case .cs-row h4{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brick);margin-bottom:8px;}
.case .cs-row p{font-size:.98rem;}
.case .results{margin-top:24px;padding-top:22px;border-top:1px solid rgba(28,37,53,.12);display:flex;gap:40px;flex-wrap:wrap;}
.case .results .r .n{font-size:1.8rem;font-weight:800;color:var(--brick);display:block;line-height:1.1;}
.case .results .r .t{font-size:.9rem;font-weight:600;color:var(--navy);}
.case .disclaimer{margin-top:18px;font-size:.82rem;color:var(--slate);font-style:italic;opacity:.8;}

/* ---------- Stats / values ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat{background:#fff;border-radius:14px;padding:28px 18px;text-align:center;box-shadow:0 6px 16px rgba(28,37,53,.05);}
.stat .n{font-size:2rem;font-weight:800;color:var(--brick);display:block;line-height:1.1;}
.stat .l{font-size:.95rem;font-weight:600;color:var(--navy);margin-top:8px;display:block;}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:880px;margin:48px auto 0;}
.value{text-align:center;}
.value .ico{color:var(--brick);margin-bottom:12px;display:inline-flex;}
.value .vl{font-weight:800;color:var(--navy);font-size:1.05rem;}

/* ---------- Serve grid ---------- */
.serve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.serve{background:var(--blush);border-radius:14px;padding:34px 30px;border-top:4px solid var(--brick);}
.serve h3{font-size:1.22rem;margin-bottom:6px;}
.serve .range{color:var(--brick);font-weight:800;font-size:.95rem;display:block;margin-bottom:14px;}
.serve p{font-size:1rem;}

/* ---------- Contact / CTA ---------- */
.cta{background:var(--brick);color:#fff;text-align:center;}
.cta h2{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:18px;}
.cta .sub{font-size:1.2rem;max-width:640px;margin:0 auto 36px;color:rgba(255,255,255,.95);}
.cta .secondary{margin-top:28px;font-size:1.02rem;color:rgba(255,255,255,.95);}
.cta .secondary a{font-weight:800;border-bottom:1px solid rgba(255,255,255,.5);}

/* ---------- Footer ---------- */
footer{background:var(--navy);color:#fff;padding:48px 0 30px;}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:24px;}
.footer-top .lockup .name{color:#fff;}
.footer-top .lockup .sub{color:rgba(255,255,255,.7);}
.footer-nav{display:flex;gap:40px;flex-wrap:wrap;}
.footer-nav .col h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;}
.footer-nav .col a{display:block;color:rgba(255,255,255,.78);font-size:.95rem;padding:4px 0;}
.footer-nav .col a:hover{color:#fff;}
.footer-bottom{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
  font-size:.9rem;color:rgba(255,255,255,.7);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .pillars,.grid-3,.ai-grid,.serve-grid{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
  .nav-links{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;
    background:var(--warm-white);border-bottom:1px solid var(--line);padding:8px 0;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 24px;width:100%;}
  .nav-cta{margin:8px 24px;}
  .nav-toggle{display:block;}
  .pillars,.grid-3,.grid-2,.ai-grid,.serve-grid,.values,.case .cs-row{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  section{padding:58px 0;}
  .hero{padding:54px 0 62px;}
  .case{padding:28px 22px;}
  .service{grid-template-columns:1fr;gap:8px;}
  .footer-bottom{flex-direction:column;}
}
