/* ============================================================
   Michalek Health Solutions — shared stylesheet
   "The Straight Shooter" — editorial-bold, charcoal + champagne-gold.
   Powers all inner pages (niche, state, service-areas, explainer).
   ============================================================ */
:root{
  --ink:#13151a;--ink-2:#1b2028;--black:#0c0d11;
  --paper:#faf7f1;--paper-2:#f1ebdd;--card:#fff;
  --gold:#b8914a;--gold-bright:#e4c77e;--gold-soft:#f3ead3;--gold-ink:#7a5c25;
  --line:#e7dfcd;--line-dark:#2a2f3a;
  --muted:#5b616b;--muted-2:#8b909a;--muted-light:#aeb3bd;
  --maxw:1160px;--ease:cubic-bezier(.2,.7,.2,1);
  --serif:"Archivo",system-ui,-apple-system,sans-serif;--sans:"Inter",system-ui,-apple-system,sans-serif;--mono:"Space Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-wrap:break-word}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.04;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* mono kicker / eyebrow + aside voice device (dark bronze = readable on light bg) */
.eyebrow,.kicker{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);display:inline-flex;align-items:center;gap:.6em}
.aside{font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--gold-ink);display:inline-block}
/* brighten labels back up on dark sections */
.subhero .eyebrow,.props-sec .eyebrow,.props-sec .kicker,.cta-final .eyebrow,.subhero .aside,.props-sec .aside{color:var(--gold-bright)}

/* signature self-drawing underline (injected under .accent and .uline by site.js) */
.uline,.subhero h1 .accent{position:relative;white-space:nowrap;color:var(--gold-bright)}
.uline .uw,.subhero h1 .accent .uw{position:absolute;left:-.04em;right:-.04em;bottom:-.14em;height:.32em;width:auto}
.uline .uw path,.subhero h1 .accent .uw path{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--ease) .15s}
.uline.drawn .uw path,.subhero h1 .accent.drawn .uw path{stroke-dashoffset:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:600;font-size:1rem;padding:.9em 1.6em;border-radius:4px;cursor:pointer;border:1px solid transparent;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s,color .25s,background .25s;white-space:nowrap}
.btn-gold{background:linear-gradient(135deg,#e4c77e,#b8914a);color:#1a1407;box-shadow:0 8px 26px -10px rgba(184,145,74,.75)}
.btn-gold::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .6s var(--ease)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 32px -10px rgba(184,145,74,.9)}
.btn-gold:hover::after{left:130%}
.btn-ghost{background:transparent;border-color:var(--line-dark);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000;transform:translateY(-2px)}
.btn-lg{padding:1.05em 2em;font-size:1.05rem}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(12,13,17,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
header.scrolled{border-bottom-color:var(--line-dark)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff}
.brand .mark{width:30px;height:30px;flex:none}
.brand .name{font-family:var(--serif);font-weight:600;font-size:1.18rem;line-height:1.05}
.brand .name small{display:block;font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav-links{display:flex;gap:1.6rem}
.nav-links a{color:var(--muted-light);font-size:.92rem;font-weight:500;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--gold);transition:width .25s var(--ease)}
.nav-links a:hover{color:#fff}.nav-links a:hover::after{width:100%}
.nav-links .careers{color:var(--muted-light);font-size:.82rem}
.nav-actions{display:flex;align-items:center;gap:1.3rem}
.nav-phone{color:#fff;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.45em;opacity:.92}
.nav-phone:hover{color:var(--gold-bright)}
/* hamburger (mobile only) */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid var(--line-dark);border-radius:6px;background:transparent;cursor:pointer;flex:none}
.nav-burger span{display:block;width:18px;height:2px;background:#fff;margin:0 auto;transition:transform .3s var(--ease),opacity .2s}
header.menu-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.menu-open .nav-burger span:nth-child(2){opacity:0}
header.menu-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* generic section */
section{padding:96px 0}
.sec-head{max-width:680px;margin-bottom:50px}
.sec-head h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin:18px 0 16px;letter-spacing:-.025em}
.sec-head p{font-size:1.1rem;color:var(--muted);max-width:54ch}

/* ---------- SUB-HERO (editorial) ---------- */
.subhero{position:relative;background:var(--black);color:#fff;padding:72px 0 84px;overflow:hidden}
.subhero .ambient{position:absolute;inset:0;z-index:0;background:
  radial-gradient(70% 60% at 88% -10%,rgba(228,199,126,.18),transparent 60%),
  radial-gradient(60% 50% at -5% 110%,rgba(184,145,74,.12),transparent 55%)}
.subhero .wrap{position:relative;z-index:1}
.breadcrumb{font-family:var(--sans);font-size:.8rem;color:var(--muted-light);margin-bottom:24px;letter-spacing:.01em}
.breadcrumb a{color:var(--muted-light)}.breadcrumb a:hover{color:var(--gold-bright)}
.breadcrumb span{color:var(--muted-light);margin:0 .5em}
.subhero h1{font-size:clamp(2.5rem,5.4vw,4.2rem);font-weight:700;max-width:17ch;margin:16px 0 20px;letter-spacing:-.03em}
.subhero .lead{font-size:1.18rem;color:#cfd4dc;max-width:56ch;margin-bottom:28px}
.subhero .hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- prose ---------- */
.prose{padding:88px 0}
.prose .wrap{max-width:800px}
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;margin:46px 0 16px;letter-spacing:-.02em}
.prose h2:first-child{margin-top:0}
.prose p{font-size:1.1rem;color:#3a4049;margin-bottom:18px}
.prose .check-list{list-style:none;margin:10px 0}
.prose .check-list li{position:relative;padding:12px 0 12px 36px;font-size:1.08rem;color:var(--ink);border-bottom:1px solid var(--line)}
.prose .check-list li:last-child{border-bottom:none}
.prose .check-list li::before{content:"";position:absolute;left:2px;top:19px;width:15px;height:10px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.prose .inline-cta{margin-top:32px}
.problem{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:6px;padding:24px 28px;margin:24px 0}
.problem p{margin-bottom:0;color:var(--ink-2);font-size:1.05rem}

/* ---------- value props ---------- */
.props-sec{background:var(--black);color:#fff;border:none}
.props-sec .sec-head h2{color:#fff}
.props{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.prop{background:var(--black);padding:32px 26px;transition:background .3s}
.prop:hover{background:#11131a}
.prop .ic{width:44px;height:44px;border-radius:8px;background:rgba(228,199,126,.1);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.prop h3{font-size:1.18rem;margin-bottom:8px;color:#fff;font-weight:600}
.prop p{font-size:.94rem;color:var(--muted-light)}

/* ---------- trust badges ---------- */
.trust-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.trust-badge{font-family:var(--sans);font-size:.74rem;font-weight:700;color:#fff;background:rgba(255,255,255,.05);border:1px solid var(--line-dark);padding:.6em 1em;border-radius:4px}
.props-sec .trust-badge .star{color:var(--gold-bright)}
.prose .trust-badge,.subhero .trust-badge{color:var(--ink);background:#fff;border-color:var(--line)}
.prose .trust-badge .star{color:var(--gold)}

/* ---------- explore cards ---------- */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.path{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.path:hover{transform:translateY(-5px);box-shadow:0 22px 48px -24px rgba(19,21,26,.45);border-color:var(--gold)}
.path .ic{width:44px;height:44px;border-radius:8px;background:var(--ink);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.path h3{font-size:1.2rem;margin-bottom:8px;font-weight:600}
.path>p{font-size:.94rem;color:var(--muted);margin-bottom:16px;flex:1}
.path .more{font-family:var(--sans);font-size:.78rem;font-weight:700;color:var(--gold-ink);text-transform:uppercase;letter-spacing:.03em}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{font-family:var(--serif);font-size:1.18rem;font-weight:500;padding:22px 44px 22px 0;cursor:pointer;list-style:none;position:relative;transition:color .2s}
.faq summary:hover{color:var(--gold)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:1.5rem;color:var(--gold);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq details p{padding:0 44px 24px 0;color:var(--muted);font-size:1rem}

/* ---------- service-area chips / state grid ---------- */
.states-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.state-chip{display:flex;align-items:center;justify-content:space-between;gap:.5em;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px 18px;font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink);transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s}
.state-chip:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 12px 26px -18px rgba(19,21,26,.55)}
.state-chip .arr{color:var(--gold-ink);font-family:var(--sans);font-size:.85rem}
.state-chip.home{background:var(--gold-soft)}
.states-note{font-family:var(--sans);text-align:center;color:var(--muted);margin-top:26px;font-size:.84rem}

/* ---------- final CTA ---------- */
.cta-final{background:var(--black);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-final .ambient{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 0,rgba(228,199,126,.15),transparent 60%)}
.cta-final .wrap{position:relative;z-index:1}
.cta-final h2{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;margin-bottom:18px;letter-spacing:-.03em}
.cta-final p{color:var(--muted-light);font-size:1.12rem;max-width:48ch;margin:0 auto 28px}
.cta-final .hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.expect{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin:30px auto 0;max-width:720px}
.expect span{font-family:var(--sans);font-size:.8rem;color:var(--muted-light);display:inline-flex;align-items:center;gap:.5em}

/* ---------- footer ---------- */
footer{background:#08090c;color:var(--muted-light);padding:60px 0 32px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px;padding-bottom:38px;border-bottom:1px solid var(--line-dark)}
.foot-grid h4{color:#fff;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-weight:700}
.foot-grid a{color:var(--muted-light);display:block;margin-bottom:9px}
.foot-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.foot-social a{font-family:var(--sans);font-size:.72rem;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);padding:.5em .8em;border-radius:4px;margin:0;display:inline-flex;align-items:center;gap:.4em}
.foot-social a:hover{border-color:var(--gold);color:var(--gold-bright)}
.foot-grid a:hover{color:var(--gold-bright)}
.foot-brand .name{font-family:var(--serif);color:#fff;font-size:1.3rem;margin-bottom:10px}
.foot-brand p{margin-bottom:6px}
.disclaimer{font-family:var(--sans);font-size:.8rem;color:var(--muted-light);line-height:1.7;padding-top:26px}
.foot-verify{font-family:var(--sans);font-size:.72rem;color:var(--muted-light);padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;line-height:1.6}
.foot-verify .vlabel{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.foot-verify a{color:var(--gold-bright)}
.foot-verify a:hover{text-decoration:underline}
.foot-verify .vmeta{color:var(--muted-light)}
.foot-verify + .disclaimer{padding-top:14px}
.disclaimer a{color:var(--muted);text-decoration:underline}

/* mobile sticky bar */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--black);border-top:1px solid var(--line-dark);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));gap:10px}
.mobile-bar .btn{flex:1}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:980px){
  .props{grid-template-columns:repeat(2,1fr)}
  .paths,.foot-grid{grid-template-columns:1fr}
  .states-grid{grid-template-columns:repeat(2,1fr)}
  .nav-burger{display:flex}
  .nav-links,.nav-actions{display:none}
  header.menu-open .nav{height:auto;flex-wrap:wrap;padding-bottom:18px}
  header.menu-open .nav-links,header.menu-open .nav-actions{display:flex;flex-direction:column;width:100%;gap:16px}
  header.menu-open .nav-links{order:3;border-top:1px solid var(--line-dark);margin-top:12px;padding-top:20px}
  header.menu-open .nav-links a{font-size:1.05rem}
  header.menu-open .nav-actions{order:4;align-items:stretch;margin-top:4px}
  header.menu-open .nav-actions .btn{width:100%}
  header.menu-open .nav-phone{justify-content:center}
}
@media(max-width:600px){
  section,.prose{padding:64px 0}.subhero{padding:52px 0 60px}.wrap{padding:0 20px}
  .props,.states-grid{grid-template-columns:1fr}
  .nav-phone span{display:none}.mobile-bar{display:flex}body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  header.menu-open .nav-phone span{display:inline}
  .btn{white-space:normal;text-align:center}.mobile-bar .btn{white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .uline .uw path,.subhero h1 .accent .uw path{stroke-dashoffset:0;transition:none}
}

/* ===== Archivo bold-sans display system (Fuller-Built energy, Diamond Dogs colors) ===== */
h1,h2,h3{font-weight:800}
.subhero h1{font-weight:900;letter-spacing:-.035em;line-height:.98}
.sec-head h2,.prose h2{font-weight:800;letter-spacing:-.025em}
.cta-final h2{font-weight:900;letter-spacing:-.035em;line-height:.98}
.brand .name{font-weight:800;letter-spacing:-.01em}
.prop h3,.path h3,.state-chip,.area-link{font-weight:700;letter-spacing:-.01em}
.faq summary{font-weight:700}
