:root{--legacy-0b8696:#0b8696;--legacy-0fa3b5:#0fa3b5;--legacy-10242a:#10242a;--legacy-12282e:#12282e;--legacy-14b3c6:#14b3c6;--legacy-1b3b43:#1b3b43;--legacy-1c3b43:#1c3b43;--legacy-384a4e:#384a4e;--legacy-3a1306:#3a1306;--legacy-697a7d:#697a7d;--legacy-7fe0ea:#7fe0ea;--legacy-e4f5f7:#e4f5f7;--legacy-e6e9e7:#e6e9e7;--legacy-eef1ef:#eef1ef;--legacy-f7f7f3:#f7f7f3;--legacy-ff5f33:#ff5f33;--legacy-ff7a52:#ff7a52;--legacy-ff9a6d:#ff9a6d;--legacy-ffb700:#ffb700;--legacy-ffd9cc:#ffd9cc;--legacy-fff1eb:#fff1eb}
.hcx{
  --ink:var(--legacy-12282e, #12282e); --ink-2:var(--legacy-1b3b43, #1b3b43);
  --teal:var(--legacy-0fa3b5, #0fa3b5); --teal-2:var(--legacy-0b8696, #0b8696); --teal-soft:var(--legacy-e4f5f7, #e4f5f7);
  --warm:var(--legacy-ff7a52, #ff7a52); --warm-2:var(--legacy-ff5f33, #ff5f33); --warm-soft:var(--legacy-fff1eb, #fff1eb);
  --paper:var(--legacy-f7f7f3, #f7f7f3); --surface:var(--color-surface, #ebf1f1); --card:var(--color-background, #ffffff);
  --line:var(--legacy-e6e9e7, #e6e9e7); --line-soft:var(--legacy-eef1ef, #eef1ef);
  --text:var(--legacy-384a4e, #384a4e); --muted:var(--legacy-697a7d, #697a7d);
  --r:16px; --r-lg:26px; --r-pill:999px;
  --grad-ink:linear-gradient(155deg,var(--legacy-1c3b43, #1c3b43) 0%,var(--legacy-10242a, #10242a) 100%);
  --grad-teal:linear-gradient(150deg,var(--legacy-14b3c6, #14b3c6) 0%,var(--legacy-0b8696, #0b8696) 100%);
  --grad-warm:linear-gradient(135deg,var(--legacy-ff9a6d, #ff9a6d) 0%,var(--legacy-ff7a52, #ff7a52) 50%,var(--legacy-ff5f33, #ff5f33) 100%);
  --weave:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 2px,transparent 2px 5px),
          repeating-linear-gradient(-45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 5px);
  --sh-sm:0 2px 10px rgba(18,40,46,.06);
  --sh:0 14px 34px rgba(18,40,46,.10);
  --sh-lg:0 30px 64px rgba(18,40,46,.18);
  font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text); line-height:1.65; background:var(--paper);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  max-width:100%; overflow-x:hidden;
}
.hcx *{box-sizing:border-box; margin:0; padding:0}
.hcx img{max-width:100%; height:auto; display:block}
.hcx a{text-decoration:none; color:inherit}
.hcx h1,.hcx h2,.hcx h3{font-family:'Fraunces',Georgia,serif; color:var(--ink); line-height:1.08; letter-spacing:-.01em; font-weight:600}
.hcx :focus-visible{outline:3px solid var(--warm); outline-offset:3px; border-radius:var(--radius-sm, 8px)}

.hcx-wrap{max-width:1180px; margin:0 auto; padding:0 24px}
.hcx-narrow{max-width:820px; margin:0 auto; padding:0 24px}
.hcx-section{padding:88px 0; position:relative}
.hcx-section.alt{background:var(--surface)}
.hcx-section.ink{background:var(--grad-ink); color:var(--color-background, #fff); overflow:hidden}
.hcx-section.ink h1,.hcx-section.ink h2,.hcx-section.ink h3{color:var(--color-background, #fff)}
.hcx-center{text-align:center}
.hcx-center .hcx-eyebrow{justify-content:center}
.hcx-center .hcx-lead{margin-inline:auto}

/* eyebrow + headings */
.hcx-eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:'Hanken Grotesk',sans-serif;
  font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--teal-2); margin-bottom:18px}
.hcx-eyebrow::before{content:""; width:24px; height:2px; border-radius:2px; background:var(--grad-warm)}
.hcx-section.ink .hcx-eyebrow{color:var(--legacy-7fe0ea, #7fe0ea)}
.hcx h1{font-size:clamp(2.2rem,5vw,3.5rem); font-weight:600; margin-bottom:20px; letter-spacing:-.02em}
.hcx h1 em{font-style:italic; color:var(--legacy-ffd9cc, #ffd9cc)}
.hcx-h2{font-size:clamp(1.8rem,3.6vw,2.7rem); margin-bottom:14px}
.hcx-lead{font-size:1.1rem; color:var(--muted); max-width:680px; line-height:1.7}
.hcx-section.ink .hcx-lead{color:rgba(255,255,255,.8)}
.hcx-head{margin-bottom:40px; max-width:720px}
.hcx-head.center{margin-inline:auto; text-align:center}
.hcx-head.center .hcx-eyebrow{justify-content:center}

/* buttons */
.hcx-btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:'Hanken Grotesk',sans-serif;
  padding:15px 28px; border-radius:var(--r-pill); font-size:1rem; font-weight:700; line-height:1; cursor:pointer;
  border:2px solid transparent; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease}
.hcx-btn--warm{background:var(--grad-warm); color:var(--legacy-3a1306, #3a1306); box-shadow:0 12px 26px rgba(255,95,51,.34)}
.hcx-btn--warm:hover{transform:translateY(-3px); box-shadow:0 18px 38px rgba(255,95,51,.46)}
.hcx-btn--ink{background:var(--ink); color:var(--color-background, #fff)}
.hcx-btn--ink:hover{transform:translateY(-3px); box-shadow:var(--sh-lg)}
.hcx-btn--outline{background:transparent; color:var(--ink); border-color:rgba(18,40,46,.2)}
.hcx-btn--outline:hover{background:var(--ink); color:var(--color-background, #fff); border-color:var(--ink); transform:translateY(-3px)}
.hcx-btn--white{background:var(--color-background, #fff); color:var(--ink)}
.hcx-btn--white:hover{transform:translateY(-3px); box-shadow:var(--sh-lg)}
.hcx-section.ink .hcx-btn--outline{color:var(--color-background, #fff); border-color:rgba(255,255,255,.5)}
.hcx-section.ink .hcx-btn--outline:hover{background:var(--color-background, #fff); color:var(--ink); border-color:var(--color-background, #fff)}
.hcx-actions{display:flex; gap:13px; flex-wrap:wrap; margin-top:28px}
.hcx-actions.center{justify-content:center}

/* stars / rating line */
.hcx-rating{display:inline-flex; align-items:center; gap:10px; margin-top:22px; font-size:.95rem; color:var(--muted)}
.hcx-section.ink .hcx-rating{color:rgba(255,255,255,.85)}
.hcx-stars{color:var(--legacy-ffb700, #ffb700); letter-spacing:2px; font-size:1rem}
.hcx-rating strong{color:var(--ink)} .hcx-section.ink .hcx-rating strong{color:var(--color-background, #fff)}

/* breadcrumb */
.hcx-bc{font-size:.82rem; color:var(--muted); padding:20px 0 0}
.hcx-bc a:hover{color:var(--teal-2)}
.hcx-bc span[aria-current]{color:var(--ink); font-weight:600}
.hcx-bc i{font-style:normal; color:var(--line); margin:0 5px}

/* ===== HERO ===== */
.hcx-hero{position:relative; overflow:hidden}
.hcx-hero::before{content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(820px 420px at 86% 6%, rgba(20,179,198,.20), transparent 60%),
    radial-gradient(680px 380px at 0% 100%, rgba(255,122,82,.16), transparent 62%)}
.hcx-hero::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:.6; background:var(--weave)}
.hcx-hero-inner{position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:54px; align-items:center; padding:84px 0 92px}
.hcx-hero-media{position:relative}
.hcx-hero-media figure{margin:0; border-radius:var(--r-lg); overflow:hidden; box-shadow:0 36px 80px rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.16); transform:rotate(.6deg)}
.hcx-hero-media img{width:100%; aspect-ratio:16/10; object-fit:cover}
.hcx-hero-badge{position:absolute; left:-16px; bottom:24px; display:flex; align-items:center; gap:12px;
  background:var(--color-background, #fff); color:var(--ink); border-radius:var(--radius-lg, 16px); padding:14px 18px; box-shadow:var(--sh-lg); border:1px solid var(--line)}
.hcx-hero-badge .b-stars{color:var(--legacy-ffb700, #ffb700); font-size:.9rem; letter-spacing:1px; line-height:1}
.hcx-hero-badge .b-n{font-family:'Fraunces',serif; font-size:1.3rem; font-weight:700; line-height:1}
.hcx-hero-badge .b-l{font-size:.72rem; color:var(--muted); line-height:1.3}

/* stats band */
.hcx-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:8px}
.hcx-stat{text-align:center; padding:8px}
.hcx-stat-num{font-family:'Fraunces',serif; font-size:clamp(2.2rem,4.5vw,3.1rem); font-weight:600; color:var(--color-background, #fff); line-height:1}
.hcx-stat-num span{color:var(--legacy-7fe0ea, #7fe0ea)}
.hcx-stat-lbl{color:rgba(255,255,255,.66); font-size:.86rem; margin-top:8px; font-weight:500; letter-spacing:.02em}
.hcx-stat+.hcx-stat{border-left:1px solid rgba(255,255,255,.12)}

/* generic grids */
.hcx-grid{display:grid; gap:22px}
.hcx-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.hcx-grid.cols-2{grid-template-columns:1.05fr .95fr}

/* steps */
.hcx-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.hcx-step{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:34px 30px;
  box-shadow:var(--sh-sm); transition:transform .22s, box-shadow .22s; position:relative}
.hcx-step:hover{transform:translateY(-6px); box-shadow:var(--sh-lg)}
.hcx-step-num{display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:var(--radius-lg, 15px);
  background:var(--grad-teal); color:var(--color-background, #fff); font-family:'Fraunces',serif; font-weight:700; font-size:1.3rem; margin-bottom:18px;
  box-shadow:0 8px 18px rgba(11,134,150,.3)}
.hcx-step h3{font-size:1.25rem; margin-bottom:9px}
.hcx-step p{font-size:.96rem; color:var(--muted); line-height:1.65}

/* benefit cards */
.hcx-card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:30px 28px;
  box-shadow:var(--sh-sm); transition:transform .22s, box-shadow .22s, border-color .22s}
.hcx-card:hover{transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:rgba(15,163,181,.4)}
.hcx-icon{width:54px; height:54px; border-radius:var(--radius-lg, 15px); background:var(--teal-soft); color:var(--teal-2);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px}
.hcx-card h3{font-size:1.18rem; margin-bottom:8px}
.hcx-card p{font-size:.95rem; color:var(--muted); line-height:1.65}

/* tags */
.hcx-tags{display:flex; flex-wrap:wrap; gap:11px}
.hcx-tag{background:var(--card); border:1px solid var(--line); color:var(--ink); font-size:.9rem; font-weight:600;
  padding:10px 17px; border-radius:var(--r-pill); box-shadow:var(--sh-sm)}
.hcx-tags.center{justify-content:center}

/* price cards */
.hcx-prices{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.hcx-price{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:26px 24px; text-align:center;
  box-shadow:var(--sh-sm); transition:transform .2s, box-shadow .2s, border-color .2s}
.hcx-price:hover{transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:rgba(255,122,82,.5)}
.hcx-price h3{font-size:1.02rem; font-weight:600; color:var(--ink); margin-bottom:10px; font-family:'Hanken Grotesk',sans-serif}
.hcx-price .amt{font-family:'Fraunces',serif; font-size:1.55rem; font-weight:700; color:var(--teal-2); letter-spacing:-.01em}

/* state / city link chips */
.hcx-cities{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:28px}
.hcx-city{display:flex; align-items:center; gap:9px; background:var(--card); border:1px solid var(--line); color:var(--ink);
  font-size:.93rem; font-weight:600; padding:13px 18px; border-radius:var(--radius-md, 12px); box-shadow:var(--sh-sm);
  transition:transform .18s, box-shadow .18s, border-color .18s, color .18s}
.hcx-city::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--grad-warm); flex:0 0 auto}
.hcx-city:hover{transform:translateY(-3px); box-shadow:var(--sh); border-color:var(--teal); color:var(--teal-2)}
.hcx-section.ink .hcx-city{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); color:var(--color-background, #fff)}
.hcx-section.ink .hcx-city:hover{background:var(--color-background, #fff); color:var(--ink); border-color:var(--color-background, #fff)}

/* faqs */
.hcx-faqs{display:flex; flex-direction:column; gap:12px; margin-top:34px}
.hcx-faq{background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg, 14px); overflow:hidden; box-shadow:var(--sh-sm); transition:box-shadow .2s}
.hcx-faq:hover{box-shadow:var(--sh)}
.hcx-faq summary{cursor:pointer; list-style:none; padding:22px 56px 22px 24px; font-weight:700; color:var(--ink);
  font-size:1.04rem; position:relative; font-family:'Fraunces',serif}
.hcx-faq summary::-webkit-details-marker{display:none}
.hcx-faq summary::after{content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); width:30px; height:30px;
  border-radius:50%; background:var(--teal-soft); color:var(--teal-2); font-size:1.3rem; display:flex; align-items:center; justify-content:center; transition:.2s}
.hcx-faq[open] summary::after{content:"\2212"; background:var(--grad-warm); color:var(--legacy-3a1306, #3a1306)}
.hcx-faq-a{padding:0 24px 22px; font-size:.97rem; color:var(--muted); line-height:1.72}
.hcx-faq-a a{color:var(--teal-2); font-weight:600; text-decoration:underline}

/* final cta */
.hcx-final::after{content:""; position:absolute; top:-120px; right:-100px; width:380px; height:380px;
  background:radial-gradient(circle, rgba(255,122,82,.22), transparent 68%); pointer-events:none}
.hcx-final .hcx-actions{justify-content:center}

/* sticky cta */
.hcx-sticky{position:fixed; right:20px; bottom:20px; z-index:60; display:inline-flex; align-items:center; gap:9px;
  background:var(--grad-warm); color:var(--legacy-3a1306, #3a1306); font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:.95rem;
  padding:15px 24px; border-radius:var(--r-pill); box-shadow:0 16px 40px rgba(255,95,51,.42); transition:transform .2s}
.hcx-sticky:hover{transform:translateY(-3px)}

/* responsive */
@media(max-width:980px){
  .hcx-hero-inner{grid-template-columns:1fr; gap:40px; padding:56px 0 64px}
  .hcx-grid.cols-2{grid-template-columns:1fr}
  .hcx-grid.cols-3{grid-template-columns:repeat(2,1fr)}
  .hcx-prices{grid-template-columns:repeat(2,1fr)}
  .hcx-cities{grid-template-columns:repeat(3,1fr)}
  .hcx-stats{grid-template-columns:repeat(2,1fr); gap:28px}
  .hcx-stat:nth-child(3){border-left:0}
}
@media(max-width:640px){
  .hcx-section{padding:58px 0}
  .hcx-grid.cols-3,.hcx-steps,.hcx-prices,.hcx-cities{grid-template-columns:1fr}
  .hcx-stats{grid-template-columns:1fr 1fr}
  .hcx-stat+.hcx-stat{border-left:0}
  .hcx-hero-media figure{transform:none}
  .hcx-sticky{right:14px; bottom:14px; padding:13px 20px}
}
@media(prefers-reduced-motion:reduce){ .hcx *{transition:none !important; scroll-behavior:auto !important} }