
:root {
  --ink: #203139;
  --muted: #66736e;
  --deep: #203d3c;
  --teal: #2f6f73;
  --teal-dark: #24575a;
  --sage: #7f9d87;
  --gold: #b98b53;
  --clay: #9a6b4f;
  --paper: #fbf6ee;
  --ivory: #fffaf3;
  --warm: #f3eadc;
  --mist: #eef4ef;
  --line: rgba(76, 63, 49, .16);
  --shadow: 0 26px 70px rgba(31,49,57,.13);
  --soft-shadow: 0 16px 48px rgba(31,49,57,.08);
  --radius: 28px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, var(--paper) 0%, #fffdf8 46%, #f7efe2 100%);
  line-height: 1.65;
}
a { color: var(--teal-dark); text-decoration-color: rgba(47,111,115,.32); text-underline-offset: .22em; }
a:hover { color: var(--gold); }
img { max-width: 100%; height: auto; display: block; }
.no-wrap { white-space: nowrap; }
.site-header {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; gap: 1rem; justify-content: space-between;
  padding: .85rem clamp(1rem,4vw,3rem);
  background: rgba(255,250,243,.86); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--deep); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.brand img { width: 42px; height: 42px; border-radius: 12px; }
.brand small { display:block; color: var(--teal); font-size:.68rem; letter-spacing:.28em; margin-top:-.25rem; }
.main-nav { display:flex; gap:.2rem; align-items:center; justify-content:center; flex-wrap:wrap; }
.main-nav a { text-decoration:none; color: var(--deep); padding:.58rem .78rem; border-radius:999px; font-weight:700; font-size:.94rem; }
.main-nav a:hover, .main-nav a.active { background: rgba(47,111,115,.11); color: var(--teal-dark); }
.nav-cta { background: var(--deep); color:#fff; padding:.68rem .95rem; border-radius:999px; text-decoration:none; font-weight:800; white-space:nowrap; box-shadow:0 10px 24px rgba(32,61,60,.16); }
.nav-cta:hover { color:#fff; background: var(--teal-dark); }
main { overflow:hidden; }
h1,h2,h3 { color: var(--deep); line-height:1.08; margin:0; letter-spacing:-.035em; }
h1 { font-size:4.2rem; line-height:.98; letter-spacing:-.06em; }
h2 { font-size: clamp(1.8rem,3.3vw,3rem); }
h3 { font-size: 1.18rem; letter-spacing:-.015em; }

/* Balanced hero titles: intentional line breaks for large page headlines */
.balanced-title {
  line-height: 1.04;
}

.balanced-title span {
  display: block;
}
p { margin: .8rem 0 0; }
.lead { font-size: clamp(1.05rem,1.55vw,1.28rem); color:#4f625c; max-width:64ch; }
.eyebrow { margin:0 0 .8rem; color: var(--teal-dark); text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; font-weight:850; }
.strong-line { font-weight:850; color: var(--deep); }
.hero.media-hero { max-width:none; min-height:min(760px,82vh); position:relative; display:flex; align-items:center; padding: clamp(4rem,7vw,7rem) clamp(1rem,5vw,4rem); }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:saturate(.94) contrast(.98); }
.hero.media-hero::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(251,246,238,.82), rgba(251,246,238,.36) 45%, rgba(32,49,57,.12)); z-index:1; }
.hero-right-panel { justify-content:flex-end; }
.hero-right-panel::after { background: linear-gradient(270deg, rgba(251,246,238,.84), rgba(251,246,238,.38) 48%, rgba(32,49,57,.12)); }
.hero-card { position:relative; z-index:2; max-width: 680px; }
.glass-card, .text-panel, .note-card, .notice-card, .cta-panel {
  background: rgba(255,250,243,.82); border:1px solid rgba(255,255,255,.62); box-shadow: var(--shadow); border-radius: var(--radius); padding: clamp(1.5rem,3.5vw,2.4rem); backdrop-filter: blur(10px);
}
.small-glass { max-width:760px; margin-inline:auto; }
.boundary-note { color:#526761; font-weight:750; background: rgba(47,111,115,.10); border-left: 4px solid var(--teal); padding:.75rem .9rem; border-radius:14px; }
.hero-actions, .center-actions, .card-actions { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; margin-top:1.5rem; }
.center-actions { justify-content:center; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:.4rem; min-height:46px; padding:.78rem 1.12rem; border-radius:999px; border:1px solid transparent; font-weight:850; text-decoration:none; cursor:pointer; transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--teal-dark); color:#fff; box-shadow: 0 14px 34px rgba(36,87,90,.2); }
.button.primary:hover { background: var(--deep); color:#fff; }
.button.secondary { background: rgba(255,255,255,.68); color: var(--deep); border-color: rgba(32,61,60,.17); }
.button.secondary:hover { border-color: rgba(47,111,115,.45); color: var(--teal-dark); }
.text-button { background: transparent; color: var(--deep); border-color: transparent; text-decoration: underline; text-decoration-color: rgba(47,111,115,.32); text-underline-offset:.25em; }
.section { max-width: var(--max); margin:0 auto; padding: clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,2rem); }
.section-heading { max-width:760px; }
.section-heading.centered { text-align:center; margin:0 auto 2rem; }
.intro-grid, .quick-scan-section { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem,5vw,4rem); align-items:start; }
.text-stack { color:#4f625c; font-size:1.05rem; }
ul { padding-left:1.25rem; margin:1rem 0 0; color:#4f625c; }
li + li { margin-top:.36rem; }
.tick-list li::marker { color: var(--teal); }
.question-list { columns:2; list-style:"→ "; }
.warm-band { max-width:none; background: linear-gradient(135deg, rgba(238,244,239,.72), rgba(243,234,220,.82)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-left:max(clamp(1rem,4vw,2rem), calc((100vw - var(--max))/2 + 2rem)); padding-right:max(clamp(1rem,4vw,2rem), calc((100vw - var(--max))/2 + 2rem)); }
.card-grid { display:grid; gap:1rem; }
.card-grid.four { grid-template-columns: repeat(4, 1fr); }
.soft-card, .route-card, .price-card, .pillar-card, .step-grid article, .list-card, .case-card, .scan-card {
  background: rgba(255,250,243,.9); border:1px solid var(--line); border-radius:24px; padding:1.35rem; box-shadow: var(--soft-shadow);
}
.soft-card p, .route-card p, .price-card p, .pillar-card p, .step-grid p, .list-card p { color:#526761; }
.route-section { display:grid; grid-template-columns: 1fr 1fr; gap:1.25rem; }
.route-card { min-height:360px; display:flex; align-items:flex-end; overflow:hidden; position:relative; isolation:isolate; }
.route-card::before { content:""; position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; opacity:.92; }
.route-card::after { content:""; position:absolute; inset:0; z-index:-1; background: linear-gradient(180deg, rgba(255,250,243,.12), rgba(255,250,243,.94)); }
.business-route::before { background-image:url('assets/images/business-shop-admin.jpg'); }
.personal-route::before { background-image:url('assets/images/personal-hero.jpg'); }
.split-feature { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem,5vw,4rem); align-items:center; }
.split-feature.reverse { grid-template-columns: 1.1fr .9fr; }
.split-feature.reverse .image-frame { order:2; }
.image-frame { border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); border:1px solid rgba(255,255,255,.65); background: var(--warm); }
.image-frame img { width:100%; aspect-ratio: 5 / 4; object-fit:cover; }
.feature-copy { max-width:680px; }
.about-teaser { background: linear-gradient(120deg, rgba(47,111,115,.10), rgba(185,139,83,.11)); max-width:none; }
.final-cta { padding-top:2rem; }
.cta-panel { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; }
.mini-case-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; }
.mini-case { display:block; position:relative; overflow:hidden; min-height:340px; border-radius:24px; box-shadow: var(--soft-shadow); text-decoration:none; color:#fff; background:var(--deep); }
.mini-case img { width:100%; height:100%; min-height:340px; object-fit:cover; filter:saturate(.92); transition: transform .28s ease; }
.mini-case:hover img { transform: scale(1.035); }
.mini-case span { position:absolute; left:1rem; right:1rem; bottom:1rem; background:rgba(32,49,57,.76); backdrop-filter:blur(8px); padding:.8rem 1rem; border-radius:18px; font-weight:850; color:#fff; }
.quick-scan-section { align-items:start; }
.quick-intro { position:sticky; top:100px; }
.scan-options { display:grid; gap:.72rem; }
.scan-option { text-align:left; border:1px solid rgba(47,111,115,.20); background:rgba(255,255,255,.62); border-radius:16px; padding:.85rem 1rem; color:var(--deep); font-weight:800; cursor:pointer; transition:background .18s ease, border-color .18s ease, transform .18s ease; }
.scan-option:hover, .scan-option.active { background: rgba(47,111,115,.12); border-color: rgba(47,111,115,.55); transform: translateY(-1px); }
.scan-result { margin-top:1rem; padding:1rem; border-radius:18px; background:rgba(47,111,115,.10); color:var(--deep); font-weight:700; }
.scan-email-link { margin-top:.6rem; }
.pillar-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:1.25rem; align-items:start; }
.pillar-image { position:sticky; top:100px; border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
.pillar-image img { width:100%; height:100%; aspect-ratio: 5/4; object-fit:cover; }
.pillar-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:1rem; }
.pillar-card span, .step-grid span { color:var(--gold); font-weight:900; letter-spacing:.1em; font-size:.82rem; }
.packages-section { background: linear-gradient(180deg, rgba(255,250,243,.0), rgba(238,244,239,.65)); }
.price-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:1rem; }
.price-card.highlight { border-color: rgba(47,111,115,.35); box-shadow:0 24px 64px rgba(47,111,115,.13); }
.price { color: var(--teal-dark); font-size:1.7rem; font-weight:950; margin:.55rem 0; }

/* Free check and package CTA additions */
.price-card.free-check-card {
  border-color: rgba(185,139,83,.45);
  background: linear-gradient(135deg, rgba(255,250,243,.96), rgba(238,244,239,.86));
}

.price-card .package-note {
  margin-top: .85rem;
  font-size: .92rem;
  color: #526761;
  font-weight: 750;
}

.package-action-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 1rem;
  align-items: stretch;
}

.package-action-cell .button {
  width: 100%;
  text-align: center;
}

.check-reassurance {
  margin-top: .9rem;
  max-width: 54ch;
  color: #526761;
  font-weight: 750;
  font-size: .96rem;
}

.free-check-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  align-items: center;
  margin-top: 1.2rem;
}
.steps-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:2rem; }
.step-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.notice-section { max-width:none; background:rgba(32,61,60,.06); border-block:1px solid var(--line); }
.notice-card { max-width:900px; margin:0 auto; }
.story-section { max-width:900px; }
.story-copy { font-size:1.18rem; color:#4f625c; background:rgba(255,250,243,.76); border-left:5px solid var(--gold); padding: clamp(1.25rem,3vw,2rem); border-radius: 0 24px 24px 0; }
.what-is-section { background: linear-gradient(135deg, rgba(238,244,239,.82), rgba(255,250,243,.72)); max-width:none; padding-left:max(clamp(1rem,4vw,2rem), calc((100vw - var(--max))/2 + 2rem)); padding-right:max(clamp(1rem,4vw,2rem), calc((100vw - var(--max))/2 + 2rem)); }
.two-list-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; max-width:var(--max); margin:0 auto; }
.note-card { max-width:900px; margin:0 auto; }
.text-page { max-width:920px; }
.text-panel h1 { margin-bottom:1rem; }
.text-panel h2 { margin-top:2rem; font-size:1.55rem; }
.redesigned-cases { display:grid; gap:1.35rem; }
.case-card { display:grid; grid-template-columns: minmax(220px,.42fr) minmax(0,.58fr); gap:1.35rem; align-items:start; scroll-margin-top:110px; }
.case-image { border-radius:20px; overflow:hidden; }
.case-image img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.case-number { color:var(--teal-dark); text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:900; margin:0 0 .55rem; }
.case-disclaimer { color:#6e6258; font-size:.94rem; font-weight:700; }
.case-points { background:rgba(238,244,239,.65); border-radius:18px; padding:1rem; margin-top:1rem; }
.case-points h3 { font-size:1.05rem; }
.case-details { margin-top:1rem; }
.case-details summary { cursor:pointer; display:inline-flex; padding:.78rem 1rem; border-radius:999px; background:var(--deep); color:#fff; font-weight:850; }
.case-full { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); color:#4f625c; }
.site-footer { background:var(--deep); color:rgba(255,255,255,.82); padding: clamp(2rem,5vw,3rem) clamp(1rem,4vw,3rem); }
.site-footer a { color:#fff; text-decoration-color:rgba(255,255,255,.25); }
.footer-main { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns: 1.2fr .65fr .8fr; gap:2rem; align-items:start; }
.footer-brand { display:inline-block; font-weight:900; font-size:1.1rem; text-decoration:none; margin-bottom:.35rem; }
.footer-disclaimer { font-size:.92rem; color:rgba(255,255,255,.66); max-width:60ch; }
.footer-links, .footer-contact { display:grid; gap:.45rem; }
.copyright { max-width:var(--max); margin:2rem auto 0; color:rgba(255,255,255,.58); font-size:.9rem; }
@media (max-width: 980px) {
  .site-header { align-items:flex-start; flex-wrap:wrap; }
  .nav-cta { display:none; }
  .main-nav { order:3; width:100%; justify-content:flex-start; }
  .hero.media-hero { min-height:unset; padding-top:7rem; }
  .hero.media-hero::after, .hero-right-panel::after { background: linear-gradient(180deg, rgba(251,246,238,.86), rgba(251,246,238,.70)); }
  .intro-grid, .quick-scan-section, .split-feature, .split-feature.reverse, .pillar-layout, .steps-section, .footer-main { grid-template-columns:1fr; }
  .split-feature.reverse .image-frame { order:0; }
  .quick-intro, .pillar-image { position:static; }
  .card-grid.four, .pillar-grid, .price-grid, .package-action-grid, .step-grid, .mini-case-grid, .route-section, .two-list-grid { grid-template-columns:1fr 1fr; }
  .case-card { grid-template-columns:1fr; }
  .case-image img { aspect-ratio:16/10; }
  .cta-panel { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 650px) {
  .brand small { letter-spacing:.18em; }
  .main-nav a { padding:.45rem .55rem; font-size:.88rem; }
  .hero.media-hero { padding:6rem 1rem 3rem; }
  .glass-card, .text-panel, .note-card, .notice-card, .cta-panel { padding:1.25rem; border-radius:22px; }
  .card-grid.four, .pillar-grid, .price-grid, .package-action-grid, .step-grid, .mini-case-grid, .route-section, .two-list-grid { grid-template-columns:1fr; }
  .mini-case, .mini-case img { min-height:280px; }
  .question-list { columns:1; }
  h1 { font-size: clamp(2.05rem,12vw,3.2rem); }
}

/* Stable hero heading sizes and package button alignment */
.balanced-title span {
  display: inline !important;
}

.hero .balanced-title {
  font-size: 4.2rem;
  line-height: .98;
  letter-spacing: -.06em;
}

.packages-section .price-grid,
.packages-section .package-action-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  width: 100% !important;
}

.packages-section .package-action-grid {
  margin-top: 1rem !important;
}

.packages-section .package-action-cell {
  min-width: 0 !important;
}

.packages-section .package-action-cell .button {
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  justify-content: center !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  padding-left: .65rem !important;
  padding-right: .65rem !important;
}

@media (max-width: 980px) {
  h1,
  .hero .balanced-title {
    font-size: 3.3rem;
  }

  .packages-section .price-grid,
  .packages-section .package-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 650px) {
  h1,
  .hero .balanced-title {
    font-size: 2.45rem;
  }

  .packages-section .price-grid,
  .packages-section .package-action-grid {
    grid-template-columns: 1fr !important;
  }
}
/* HERO HEADING FIX — stop forced broken line breaks */
.hero .balanced-title {
  font-size: clamp(2.7rem, 5.2vw, 5.2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  max-width: 10.8em;
  text-wrap: balance;
}

.hero .balanced-title span {
  display: inline !important;
}

/* keep package buttons aligned */
.packages-section .price-grid,
.packages-section .package-action-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.packages-section .package-action-cell .button {
  width: 100% !important;
  box-sizing: border-box !important;
  justify-content: center !important;
  text-align: center !important;
}

@media (max-width: 980px) {
  .hero .balanced-title {
    font-size: clamp(2.4rem, 7vw, 4rem) !important;
    max-width: 11em;
  }

  .packages-section .price-grid,
  .packages-section .package-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 650px) {
  .hero .balanced-title {
    font-size: clamp(2.05rem, 10vw, 3rem) !important;
    max-width: 11em;
  }

  .packages-section .price-grid,
  .packages-section .package-action-grid {
    grid-template-columns: 1fr !important;
  }
}
/* Global hero heading reset — stop forced span line breaks */
.balanced-title {
  text-wrap: balance !important;
}

.balanced-title span {
  display: inline !important;
}

.hero .balanced-title {
  font-size: clamp(2.5rem, 5vw, 4.8rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  max-width: 11em;
}

/* Package button alignment only */
.packages-section .price-grid,
.packages-section .package-action-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.packages-section .package-action-cell .button {
  width: 100% !important;
  box-sizing: border-box !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
}

@media (max-width: 980px) {
  .hero .balanced-title {
    font-size: clamp(2.3rem, 6.5vw, 3.8rem) !important;
    max-width: 11.5em;
  }

  .packages-section .price-grid,
  .packages-section .package-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 650px) {
  .hero .balanced-title {
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
    max-width: 11.5em;
  }

  .packages-section .price-grid,
  .packages-section .package-action-grid {
    grid-template-columns: 1fr !important;
  }
}