:root {
  --burgundy: #902C3E;
  --burgundy-dark: #5E1B28;
  --burgundy-soft: #E7D6DA;
  --blush: #FAF7F8;
  --cream: #FFFDFB;
  --ink: #1F1F1F;
  --muted: #6C6163;
  --line: rgba(144, 44, 62, 0.16);
  --shadow: 0 24px 80px rgba(94, 27, 40, 0.14);
  --radius: 28px;
  --max: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height: 1.6;
}
a { color: var(--burgundy); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; display: block; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.narrow { max-width: 820px; }
.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left: 20px; top: 20px; width: auto; height: auto; background: white; padding: 10px 14px; z-index: 999; border-radius: 10px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 253, 251, 0.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(144, 44, 62, 0.10);
}
.nav { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-weight: 750; letter-spacing: -0.03em; font-size: 1.14rem; }
.brand:hover { text-decoration: none; }
.brand img { width: 38px; height: 32px; object-fit: contain; }
.nav-links { display: flex; align-items: center; gap: 8px; }
.nav-links a { color: var(--muted); padding: 10px 14px; border-radius: 999px; font-weight: 650; font-size: 0.95rem; }
.nav-links a:hover, .nav-links a.active { background: var(--blush); color: var(--burgundy); text-decoration: none; }
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; cursor: pointer; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--burgundy); margin:5px 0; border-radius:999px; }

.hero { position: relative; overflow: hidden; padding: 92px 0 74px; background:
  radial-gradient(circle at 10% 20%, rgba(144,44,62,.14), transparent 32%),
  radial-gradient(circle at 80% 12%, rgba(231,214,218,.86), transparent 26%),
  linear-gradient(135deg, #fffdfb 0%, #faf7f8 58%, #f2e8ea 100%);
}
.hero::after { content: ""; position:absolute; right: -180px; bottom: -220px; width: 520px; height: 520px; border-radius: 999px; background: rgba(144,44,62,.11); }
.hero-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items:center; position:relative; z-index:1; }
.eyebrow { color: var(--burgundy); font-weight: 800; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; margin: 0 0 12px; }
h1, h2, h3 { line-height: 1.08; margin: 0; letter-spacing: -0.045em; }
h1 { font-size: clamp(3rem, 7vw, 6.2rem); max-width: 860px; }
h1 span, h2 span { color: var(--burgundy); }
h2 { font-size: clamp(2rem, 4.2vw, 3.6rem); }
h3 { font-size: 1.25rem; }
p { margin: 0; }
.hero-text { margin-top: 24px; font-size: 1.18rem; max-width: 690px; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height: 48px; padding: 13px 20px; border-radius: 999px; border: 1px solid transparent; font-weight: 800; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); text-decoration: none; }
.btn.primary { background: var(--burgundy); color: white; box-shadow: 0 14px 35px rgba(144,44,62,.22); }
.btn.ghost { color: var(--burgundy); border-color: var(--line); background: rgba(255,255,255,.7); }
.btn.light { color: var(--burgundy); background: white; }
.btn.text-btn { border:0; background: transparent; color: var(--burgundy); padding-left: 0; }
.btn.wide { width: 100%; }
.contact-strip { display:flex; flex-wrap:wrap; gap: 10px; margin-top: 28px; color: var(--muted); }
.contact-strip span { background: rgba(255,255,255,.74); border:1px solid rgba(144,44,62,.10); border-radius: 999px; padding: 8px 13px; }
.hero-card { position:relative; min-height: 520px; border-radius: 46px; padding: 34px; background: rgba(255,255,255,.75); border: 1px solid rgba(144,44,62,.12); box-shadow: var(--shadow); overflow:hidden; }
.hero-card::before { content:""; position:absolute; inset: 16px; border-radius: 36px; border:1px solid rgba(144,44,62,.11); pointer-events:none; }
.hero-logo { width: 210px; max-width: 42%; margin: 6px auto 30px; filter: drop-shadow(0 14px 18px rgba(94,27,40,.10)); }
.call-card { display:flex; align-items:center; gap: 16px; background: var(--burgundy); color:white; padding: 20px; border-radius: 24px; box-shadow: 0 18px 40px rgba(144,44,62,.24); position:relative; z-index:1; }
.call-card span { display:block; opacity: .78; margin-top: 4px; }
.pulse-dot { width: 15px; height:15px; background: white; border-radius:999px; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation:pulse 1.8s infinite; flex: 0 0 auto; }
@keyframes pulse { 70% { box-shadow: 0 0 0 18px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.mini-dashboard { display:grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 18px; position:relative; z-index:1; }
.mini-dashboard div { background: var(--blush); border:1px solid var(--line); border-radius: 20px; padding: 16px; }
.mini-dashboard span { display:block; color: var(--muted); font-size: .82rem; }
.mini-dashboard strong { display:block; color: var(--burgundy); margin-top: 4px; }

.section { padding: 88px 0; }
.section-heading { max-width: 780px; margin: 0 auto 42px; text-align:center; }
.section-heading p:last-child { color: var(--muted); margin-top: 14px; font-size: 1.05rem; }
.process-section { background: var(--cream); }
.process-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.process-step { background: white; border:1px solid var(--line); border-radius: var(--radius); padding: 28px; box-shadow: 0 14px 38px rgba(94,27,40,.06); }
.process-step span { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:999px; background: var(--blush); color: var(--burgundy); font-weight: 900; margin-bottom: 22px; }
.process-step p, .feature-card p, .service-detail p, .service-detail li, .bio-card p, .values-grid p, .savings-grid span { color: var(--muted); }
.process-step h3 { margin-bottom: 10px; }

.comparison-section { background: linear-gradient(180deg, var(--blush), #fffdfb); }
.compare-table { border:1px solid var(--line); border-radius: 28px; overflow:hidden; background:white; box-shadow: var(--shadow); }
.compare-row { display:grid; grid-template-columns: 1fr 1fr; }
.compare-row > div { padding: 22px 24px; border-bottom:1px solid var(--line); }
.compare-row > div:first-child { border-right:1px solid var(--line); color: var(--muted); }
.compare-row > div:last-child { color: var(--burgundy-dark); font-weight: 740; }
.compare-row:last-child > div { border-bottom:0; }
.compare-head { background: var(--burgundy); color:white; font-weight: 900; }
.compare-head > div { color:white !important; border-color: rgba(255,255,255,.18); }

.feature-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.feature-card { border:1px solid var(--line); border-radius: var(--radius); padding: 26px; background: white; }
.feature-card h3 { color: var(--burgundy); margin-bottom: 12px; }

.quiz-section { background: var(--burgundy-dark); color:white; }
.quiz-grid { display:grid; grid-template-columns: .8fr 1.2fr; gap: 38px; align-items:start; }
.quiz-intro .eyebrow { color: var(--burgundy-soft); }
.quiz-intro p:not(.eyebrow) { color: rgba(255,255,255,.75); margin-top: 18px; }
.quiz-card { background: white; color: var(--ink); border-radius: 34px; padding: 32px; box-shadow: 0 26px 70px rgba(0,0,0,.17); }
.quiz-progress { display:flex; align-items:center; gap: 16px; color: var(--muted); font-size: .92rem; margin-bottom: 26px; }
.quiz-progress > div { height: 8px; background: var(--blush); border-radius:999px; flex:1; overflow:hidden; }
.quiz-progress > div span { display:block; height:100%; width:10%; background: var(--burgundy); border-radius:999px; transition: width .28s ease; }
.quiz-card h3 { font-size: clamp(1.5rem, 3vw, 2.15rem); margin-bottom: 26px; }
.quiz-buttons { display:flex; gap:12px; }
.quiz-result { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 24px; }
.quiz-result h4 { margin: 0 0 12px; color: var(--burgundy); font-size: 1.35rem; }
.quiz-result ul { padding-left: 20px; color: var(--muted); }

.cta-band { background: var(--burgundy); color:white; padding: 70px 0; }
.cta-content { text-align:center; max-width: 820px; }
.cta-content p { margin: 16px 0 26px; color: rgba(255,255,255,.78); }
.cta-content a:not(.btn) { color:white; text-decoration: underline; }

.page-hero { padding: 92px 0 62px; background: linear-gradient(135deg, var(--blush), white); }
.page-hero p:not(.eyebrow), .schedule-note { color: var(--muted); margin-top: 18px; font-size: 1.08rem; }
.about-grid { display:grid; grid-template-columns: 1fr 340px; gap: 40px; align-items:center; }
.founder-card { background:white; border:1px solid var(--line); border-radius: 34px; padding: 34px; text-align:center; box-shadow: var(--shadow); }
.founder-card img { width: 118px; margin: 0 auto 18px; }
.founder-card p { color: var(--burgundy); font-weight: 800; margin-top: 8px; }
.large-quote { font-size: clamp(1.4rem, 3vw, 2rem); line-height:1.35; color: var(--burgundy-dark); margin: 18px 0 22px; }
.founder-section { background:white; }
.founder-bio-section { background: var(--blush); }
.bio-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.bio-card, .split-card { background:white; border:1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: 0 14px 42px rgba(94,27,40,.06); }
.bio-card h2 { font-size: 1.65rem; margin-bottom: 14px; }
.values-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.values-grid div { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
.values-grid h3 { color: var(--burgundy); margin-bottom: 10px; }

.services-list { background:white; }
.service-detail { display:grid; grid-template-columns: 330px 1fr; gap: 36px; padding: 34px 0; border-bottom:1px solid var(--line); }
.service-detail:last-child { border-bottom:0; }
.service-number { color: var(--burgundy); font-weight:900; letter-spacing:.12em; }
.service-detail h2 { font-size: clamp(1.8rem,3vw,2.7rem); margin-top: 8px; }
.service-detail ul { margin: 18px 0 0; padding-left: 20px; }
.savings-section { background: var(--blush); }
.split-card { display:grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items:start; }
.split-card p:not(.eyebrow) { color: var(--muted); margin-top: 16px; }
.savings-grid { display:grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.savings-grid div { background: var(--blush); border:1px solid var(--line); border-radius: 20px; padding: 18px; }
.savings-grid strong, .savings-grid span { display:block; }
.savings-grid strong { color: var(--burgundy); margin-bottom: 6px; }

.assessment-section { background:white; }
.assessment-grid { display:grid; grid-template-columns: 1.25fr .75fr; gap: 28px; align-items:start; }
.assessment-form, .assessment-aside { background: var(--blush); border:1px solid var(--line); border-radius: 34px; padding: 30px; }
.form-row { margin-bottom: 18px; }
.form-row.two { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label { display:block; color: var(--burgundy-dark); font-weight: 800; margin-bottom: 7px; }
input, select, textarea { width:100%; border:1px solid rgba(144,44,62,.20); border-radius: 16px; padding: 14px 15px; font: inherit; color: var(--ink); background: white; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--burgundy); box-shadow: 0 0 0 4px rgba(144,44,62,.10); }
textarea { min-height: 110px; resize: vertical; }
.form-helper { color: var(--muted); font-size: .92rem; margin-top: 12px; }
.assessment-aside h2 { font-size: 2rem; margin-bottom: 18px; }
.assessment-aside ul { padding-left: 20px; color: var(--muted); }
.assessment-aside li { margin-bottom: 8px; }
.aside-box { margin-top: 22px; padding: 20px; background:white; border:1px solid var(--line); border-radius: 22px; }
.aside-box strong { color: var(--burgundy); }
.aside-box p { color: var(--muted); margin-top: 8px; }

.site-footer { background: #161214; color: rgba(255,255,255,.78); padding: 48px 0; }
.footer-grid { display:grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 32px; }
.footer-brand { display:flex; align-items:center; gap:12px; color:white; font-weight:900; font-size:1.15rem; margin-bottom: 12px; }
.footer-brand img { width: 36px; height:36px; border-radius: 10px; }
.site-footer h3 { color:white; font-size:1rem; margin-bottom:12px; }
.site-footer a { display:block; color: rgba(255,255,255,.84); margin: 7px 0; }
.site-footer p { margin: 7px 0; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 920px) {
  .nav-toggle { display:block; }
  .nav-links { position:absolute; left:20px; right:20px; top:72px; background:white; border:1px solid var(--line); box-shadow: var(--shadow); border-radius: 24px; flex-direction:column; align-items:stretch; padding:10px; display:none; }
  .nav-links.open { display:flex; }
  .hero-grid, .quiz-grid, .about-grid, .bio-grid, .split-card, .assessment-grid { grid-template-columns: 1fr; }
  .hero { padding-top: 62px; }
  .hero-card { min-height: auto; }
  .process-grid, .feature-grid, .values-grid { grid-template-columns: repeat(2,1fr); }
  .service-detail { grid-template-columns: 1fr; gap: 16px; }
  .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 28px, var(--max)); }
  h1 { font-size: 3.1rem; }
  .hero-actions, .quiz-buttons { flex-direction: column; }
  .btn { width: 100%; }
  .contact-strip span { width: 100%; border-radius: 18px; }
  .process-grid, .feature-grid, .values-grid, .savings-grid, .form-row.two { grid-template-columns: 1fr; }
  .compare-row { grid-template-columns: 1fr; }
  .compare-row > div:first-child { border-right:0; }
  .mini-dashboard { grid-template-columns: 1fr; }
  .hero-logo { width: 160px; max-width: 46%; margin-bottom: 24px; }
  .section { padding: 66px 0; }
  .page-hero { padding: 70px 0 46px; }
}
