:root {
  --ink: #111827;
  --muted: #616975;
  --line: #d8dde3;
  --paper: #f5f6f4;
  --white: #fffefa;
  --honey: #ea9d3e;
  --honey-pale: #f8e6cf;
  --sapphire: #0f52ba;
  --forest: #111827;
  --forest-deep: #0b1220;
  --coral: #b86f20;
  --display: "Space Grotesk", sans-serif;
  --body: "DM Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.site-header { align-items: center; background: rgba(245, 246, 240, .92); border-bottom: 1px solid rgba(22, 35, 31, .1); display: flex; height: 78px; justify-content: space-between; padding: 0 5vw; position: relative; z-index: 5; }
.brand { align-items: center; display: inline-flex; font-family: var(--display); font-size: 1.05rem; font-weight: 700; gap: .7rem; letter-spacing: -.04em; }
.brand-logo { display: block; height: 44px; object-fit: contain; width: 44px; }
.brand em { color: var(--muted); font-style: normal; font-weight: 500; }
.brand-mark { display: flex; gap: 3px; transform: skew(-12deg); }
.brand-mark span { background: var(--honey); display: block; height: 16px; width: 6px; }
.brand-mark span:nth-child(2) { height: 23px; margin-top: -3px; }
.brand-mark span:nth-child(3) { height: 13px; margin-top: 2px; }
.site-nav { align-items: center; display: flex; gap: 2rem; font-size: .83rem; font-weight: 600; }
.site-nav a:not(.nav-cta) { color: var(--muted); }
.site-nav a:hover, .text-link:hover { color: var(--coral); }
.nav-cta { background: var(--ink); color: var(--white); padding: .65rem 1rem; }
.nav-cta span, .button span { font-size: 1.1em; margin-left: .35rem; }
.menu-toggle { background: none; border: 0; display: none; font-weight: 700; }
.section-shell, .content-section { margin: 0 auto; max-width: 1240px; padding-left: 5vw; padding-right: 5vw; }
.hero { align-items: center; display: grid; gap: 4vw; grid-template-columns: 1fr 1fr; min-height: 650px; padding-bottom: 5rem; padding-top: 5rem; }
.eyebrow { align-items: center; color: var(--coral); display: flex; font-size: .69rem; font-weight: 700; gap: .7rem; letter-spacing: .13em; margin: 0 0 1.5rem; text-transform: uppercase; }
.eyebrow-line { background: currentColor; display: inline-block; height: 2px; width: 26px; }
.hero h1, h2 { font-family: var(--display); letter-spacing: -.065em; line-height: 1.02; }
.hero h1 { font-size: clamp(2.6rem, 4.6vw, 4.4rem); margin: 0 0 1.5rem; max-width: 640px; }
h1 span, h2 span { color: var(--coral); }
.hero-intro { color: var(--muted); font-size: 1.14rem; max-width: 520px; }.hero-intro-lead { font-weight: 500; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 2.2rem; }
.button { display: inline-block; font-size: .83rem; font-weight: 700; letter-spacing: .01em; padding: .95rem 1.2rem; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--honey); color: var(--ink); }
.button-primary:hover { background: #f2b469; }
.text-link { border-bottom: 1px solid currentColor; color: var(--ink); font-size: .83rem; font-weight: 700; padding-bottom: .2rem; }
.hero-visual { background: var(--forest); height: 520px; min-height: 430px; overflow: hidden; position: relative; }
.hero-visual::before, .contact-section::before { background-image: linear-gradient(30deg, rgba(255,255,255,.08) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.08) 87.5%, rgba(255,255,255,.08)), linear-gradient(150deg, rgba(255,255,255,.08) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.08) 87.5%, rgba(255,255,255,.08)); background-position: 0 0, 18px 31px; background-size: 36px 62px; content: ""; inset: 0; opacity: .45; position: absolute; }
.orbit { border: 1px solid rgba(255,255,255,.25); border-radius: 50%; left: 50%; position: absolute; top: 47%; transform: translate(-50%, -50%) rotate(-24deg); }
.orbit-one { height: 450px; width: 270px; }.orbit-two { height: 285px; transform: translate(-50%, -50%) rotate(62deg); width: 480px; }
.data-node { align-items: center; background: var(--forest); border: 1px solid rgba(255,255,255,.38); color: var(--white); display: flex; font-size: .65rem; font-weight: 700; gap: .45rem; letter-spacing: .08em; padding: .55rem .65rem; position: absolute; z-index: 3; }.node-a { left: 7%; top: 12%; }.node-b { right: 7%; top: 12%; }.node-c { bottom: 15%; right: 8%; }.node-dot { background: var(--honey); border-radius: 50%; height: 7px; width: 7px; }
.core-report { background: var(--honey); box-shadow: 18px 18px 0 rgba(0,0,0,.12); left: 50%; padding: 1.8rem; position: absolute; top: 47%; transform: translate(-50%, -50%) rotate(-3deg); width: 210px; z-index: 2; }.core-kicker { font-size: .6rem; font-weight: 700; letter-spacing: .14em; }.core-title { font-family: var(--display); font-size: 1.55rem; letter-spacing: -.06em; line-height: 1.05; margin: 1.4rem 0; }.core-title strong { color: var(--sapphire); }.signal-bars { align-items: end; display: flex; gap: 4px; height: 46px; }.signal-bars i { background: var(--forest); display: block; height: 45%; width: 16%; }.signal-bars i:nth-child(2) { height: 65%; }.signal-bars i:nth-child(3) { height: 50%; }.signal-bars i:nth-child(4) { height: 85%; }.signal-bars i:nth-child(5) { height: 100%; }.core-status { align-items: center; border-top: 1px solid rgba(22,35,31,.25); display: flex; font-size: .6rem; gap: .4rem; margin-top: 1.4rem; padding-top: .7rem; }.core-status span { background: var(--sapphire); border-radius: 50%; height: 6px; width: 6px; }.visual-caption { bottom: 1.5rem; color: rgba(255,255,255,.75); font-size: .75rem; left: 1.5rem; line-height: 1.25; position: absolute; z-index: 3; }.visual-caption strong { color: var(--honey); }
.content-section { padding-bottom: 8rem; padding-top: 8rem; }.section-heading h2, .calculator-intro h2, .contact-inner h2 { font-size: clamp(2.5rem, 4.5vw, 4.4rem); margin: 0; }.problem-grid { display: grid; gap: 9vw; grid-template-columns: .8fr 1fr; margin-top: 5rem; }.problem-copy p { color: var(--muted); margin: 0 0 1.3rem; max-width: 470px; }.problem-copy .text-link { display: inline-block; margin-top: 1.2rem; }.signal-list { border-top: 1px solid var(--line); }.signal-item { border-bottom: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: 48px 1fr; padding: 1.5rem 0; }.signal-number, .path-number { color: var(--coral); font-family: var(--display); font-size: .8rem; font-weight: 700; }.signal-item strong { font-family: var(--display); font-size: 1.15rem; }.signal-item p { color: var(--muted); font-size: .86rem; margin: .25rem 0 0; max-width: 390px; }
.qualify-section { background: var(--white); }.qualify-reassurance { color: var(--muted); font-size: 1rem; margin: 1.2rem 0 0; max-width: 600px; }.qualify-grid { align-items: start; display: grid; gap: 6vw; grid-template-columns: 1.15fr .85fr; margin-top: 4rem; }.qualify-list { border-top: 1px solid var(--line); list-style: none; margin: 0; padding: 0; }.qualify-list li { align-items: flex-start; border-bottom: 1px solid var(--line); display: flex; font-family: var(--display); font-size: 1.15rem; gap: 1rem; letter-spacing: -.02em; padding: 1.3rem 0; }.qualify-check { align-items: center; background: var(--honey); color: var(--ink); display: flex; flex: 0 0 26px; font-size: .8rem; font-weight: 700; height: 26px; justify-content: center; margin-top: .1rem; width: 26px; }.qualify-callout { background: var(--paper); border: 1px solid var(--line); padding: 2rem; }.qualify-callout p { color: var(--muted); font-size: 1rem; margin: 0 0 1.4rem; }
.before-after-grid { align-items: stretch; display: grid; gap: 1.5rem; grid-template-columns: 1fr auto 1fr; margin: 4rem 0; }.before-after-card { border: 1px solid var(--line); padding: 1.8rem; }.before-card { background: var(--paper); }.after-card { background: var(--ink); color: var(--white); }.before-after-label { color: var(--coral); font-family: var(--display); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.after-card .before-after-label { color: var(--honey); }.before-after-steps { color: var(--muted); font-size: .9rem; margin: 1.2rem 0 0; padding-left: 1.2rem; }.before-after-steps li { margin-bottom: .55rem; }.after-card .before-after-steps { color: rgba(255,255,255,.75); }.before-after-arrow { align-items: center; color: var(--coral); display: flex; font-size: 1.6rem; justify-content: center; }
.proof-intro { color: var(--muted); margin: 4rem 0 0; max-width: 560px; }.proof-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin-top: 2.5rem; }
.proof-card { background: transparent; border: 0; min-height: 500px; padding: 0; perspective: 1800px; }
.proof-card-inner { height: 100%; position: relative; transform-style: preserve-3d; transition: transform .55s cubic-bezier(.4,.2,.2,1); width: 100%; }
.proof-card.is-flipped .proof-card-inner { transform: rotateY(180deg); }
.proof-face { backface-visibility: hidden; background: var(--white); border: 1px solid var(--line); display: flex; flex-direction: column; height: 100%; padding: 1.7rem; position: absolute; width: 100%; }
.proof-face-back { overflow-y: auto; transform: rotateY(180deg); }
.proof-stat { color: var(--coral); font-family: var(--display); font-size: 1.7rem; letter-spacing: -.04em; }
.proof-face h3 { font-family: var(--display); font-size: 1.1rem; letter-spacing: -.03em; margin: 1rem 0 .5rem; }
.proof-face-front p { color: var(--muted); font-size: .84rem; margin: 0; }
.proof-back-body { flex: 1; }
.proof-back-label { color: var(--coral); font-family: var(--display); font-size: .7rem; font-weight: 700; letter-spacing: .1em; margin: 0 0 .4rem; text-transform: uppercase; }
.proof-back-label:not(:first-child) { margin-top: 1.1rem; }
.proof-back-text { color: var(--muted); font-size: .84rem; margin: 0; }
.proof-back-list { color: var(--muted); font-size: .82rem; margin: 0; padding-left: 1.1rem; }
.proof-back-list li { margin-bottom: .45rem; }
.proof-flip-btn { align-items: center; background: none; border: 0; color: var(--coral); cursor: pointer; display: inline-flex; font-size: .8rem; font-weight: 700; gap: .4rem; margin-top: auto; padding: .8rem 0 0; text-align: left; }
.proof-flip-btn:hover { text-decoration: underline; }
.proof-flip-back { color: var(--muted); margin-top: 1.1rem; padding-top: .6rem; }
.story-section { background: var(--forest); color: var(--white); padding: 7rem max(5vw, calc((100% - 1140px) / 2)); position: relative; }.story-section::after { background: radial-gradient(circle at 15% 85%, rgba(234,157,62,.16), transparent 34%); content: ""; inset: 0; pointer-events: none; position: absolute; }.story-inner { max-width: 1140px; margin: 0 auto; position: relative; z-index: 1; }.story-inner h2 { font-family: var(--display); font-size: clamp(2.4rem, 4.2vw, 3.8rem); letter-spacing: -.05em; line-height: 1.05; margin: 0 0 1.5rem; }.story-inner h2 span { color: var(--honey); }.story-lead { color: rgba(255,255,255,.78); font-size: 1.05rem; max-width: 560px; margin: 0 0 3.5rem; }.story-grid { align-items: center; display: grid; gap: 5vw; grid-template-columns: 1.1fr .9fr; }.story-block h3 { font-family: var(--display); font-size: 1.3rem; letter-spacing: -.03em; margin: 0 0 1rem; }.story-block p { color: rgba(255,255,255,.72); font-size: .92rem; margin: 0 0 1rem; }.story-flow { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.15); padding: 2rem; text-align: center; }.story-flow-row { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }.story-flow-row span { background: rgba(255,255,255,.08); font-size: .72rem; font-weight: 700; letter-spacing: .04em; padding: .5rem .7rem; }.story-flow-arrow { color: var(--honey); font-size: 1.2rem; margin: .6rem 0; }.story-flow-core { background: var(--honey); color: var(--ink); display: inline-block; font-family: var(--display); font-size: .9rem; font-weight: 700; letter-spacing: .1em; padding: .6rem 1.2rem; }
.calculator-section { align-items: center; background: var(--forest); color: var(--white); display: grid; gap: 6vw; grid-template-columns: .8fr 1.2fr; padding: 7rem max(5vw, calc((100% - 1140px) / 2)); position: relative; }.calculator-section::after { background: radial-gradient(circle at 60% 15%, rgba(243,180,29,.18), transparent 34%); content: ""; inset: 0; pointer-events: none; position: absolute; }.calculator-intro, .calculator-card { position: relative; z-index: 1; }.eyebrow-dark { color: var(--honey); }.calculator-intro h2 { max-width: 540px; }.calculator-intro > p:not(.eyebrow) { color: rgba(255,255,255,.7); max-width: 440px; }.calculator-note { align-items: flex-start; border-left: 2px solid var(--honey); color: rgba(255,255,255,.6); display: flex; font-size: .75rem; gap: .7rem; margin-top: 2.5rem; max-width: 390px; padding-left: 1rem; }.note-icon { border: 1px solid var(--honey); border-radius: 50%; color: var(--honey); flex: 0 0 16px; font-size: .65rem; height: 16px; line-height: 15px; text-align: center; }.calculator-card { background: var(--white); color: var(--ink); padding: 1.8rem; }.form-header { border-bottom: 1px solid var(--line); display: flex; font-size: .65rem; font-weight: 700; justify-content: space-between; letter-spacing: .13em; padding-bottom: 1rem; }.form-step { color: var(--coral); }.form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); padding: 1.7rem 0; }.form-grid label { color: var(--muted); font-size: .72rem; font-weight: 600; }.form-grid input { background: var(--paper); border: 1px solid var(--line); border-radius: 0; color: var(--ink); display: block; font-size: 1.2rem; font-weight: 600; margin-top: .45rem; outline-color: var(--coral); padding: .8rem; width: 100%; }.result-panel { background: var(--honey); padding: 1.5rem; }.result-main { align-items: end; border-bottom: 1px solid rgba(22,35,31,.22); display: flex; justify-content: space-between; padding-bottom: 1.2rem; }.result-main span, .result-details span { font-size: .72rem; font-weight: 600; }.result-main strong { font-family: var(--display); font-size: 2.8rem; letter-spacing: -.08em; line-height: .9; }.result-details { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 1.1rem; }.result-details div { border-right: 1px solid rgba(22,35,31,.22); padding-left: 1rem; }.result-details div:first-child { padding-left: 0; }.result-details div:last-child { border: 0; }.result-details strong { display: block; font-family: var(--display); font-size: 1.25rem; letter-spacing: -.05em; margin-top: .3rem; }.calculator-message { color: var(--muted); font-size: .75rem; margin: 1.2rem 0 0; }.calculator-pricing { border-top: 1px solid var(--line); margin: 1.1rem 0 0; padding-top: 1.1rem; }.calculator-pricing p { color: var(--ink); font-size: .82rem; margin: 0; }.calculator-pricing p + p { margin-top: .6rem; }.calculator-pricing strong { color: var(--coral); }.payback-message { color: var(--coral); font-weight: 600; }.payback-message:empty { display: none; }.payback-message.payback-caution { color: var(--muted); font-weight: 500; }
.pathway-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 5rem; }.pathway-card { border-left: 1px solid var(--line); min-height: 230px; padding: 0 1.4rem; }.pathway-card:first-child { border-left: 0; padding-left: 0; }.pathway-card h3 { font-family: var(--display); font-size: 1.3rem; letter-spacing: -.05em; margin: 2.5rem 0 .75rem; }.pathway-card p { color: var(--muted); font-size: .82rem; margin: 0; }.ownership-line { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 2rem; margin-top: 3rem; padding-top: 1.5rem; }.ownership-line strong { color: var(--coral); font-family: var(--display); }.ownership-line span { color: var(--muted); font-size: .8rem; }
.retainer-section { background: var(--white); max-width: none; padding-left: max(5vw, calc((100% - 1140px) / 2)); padding-right: max(5vw, calc((100% - 1140px) / 2)); }.retainer-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 5rem; }.retainer-card { border: 1px solid var(--line); display: flex; flex-direction: column; min-height: 300px; padding: 1.5rem; }.retainer-card.featured { background: var(--forest); border-color: var(--forest); color: var(--white); }.retainer-label { color: var(--coral); font-size: .65rem; font-weight: 700; letter-spacing: .15em; }.retainer-card h3 { font-family: var(--display); font-size: 2.4rem; letter-spacing: -.08em; margin: 1.2rem 0 0; }.retainer-card h3 span { color: var(--muted); font-family: var(--body); font-size: .85rem; letter-spacing: 0; }.retainer-card p { color: var(--muted); font-size: .82rem; max-width: 280px; }.featured p { color: rgba(255,255,255,.7); }.retainer-card a { border-bottom: 1px solid currentColor; font-size: .75rem; font-weight: 700; margin-top: auto; padding-bottom: .2rem; width: fit-content; }
.about-section { background: var(--paper); }.about-grid { align-items: center; display: grid; gap: 5vw; grid-template-columns: .55fr 1fr; }.about-photo { aspect-ratio: 1; border: 1px solid var(--line); object-fit: cover; width: 100%; }.about-copy p:not(.eyebrow) { color: var(--muted); margin: 1.2rem 0 1.6rem; max-width: 540px; }
.faq-section { display: grid; gap: 8vw; grid-template-columns: .75fr 1.25fr; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); padding: 1.2rem 0; }.faq-list summary { cursor: pointer; font-family: var(--display); font-size: 1.1rem; font-weight: 600; list-style: none; padding-right: 2rem; position: relative; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { color: var(--coral); content: "+"; font-size: 1.3rem; position: absolute; right: 0; top: -.25rem; }.faq-list details[open] summary::after { content: "-"; }.faq-list details p { color: var(--muted); font-size: .85rem; margin: .8rem 2rem 0 0; max-width: 580px; }
.contact-section { background: var(--honey); min-height: 500px; overflow: hidden; padding: 7rem max(5vw, calc((100% - 1140px) / 2)); position: relative; }.contact-section::before { background-color: var(--honey); opacity: .28; }.contact-inner { max-width: 620px; position: relative; z-index: 1; }.contact-inner h2 { color: var(--forest); }.contact-inner p:not(.eyebrow) { color: rgba(22,35,31,.7); max-width: 500px; }.button-light { background: var(--forest); color: var(--white); margin-top: 1.4rem; }.contact-grid-mark { color: rgba(22,35,31,.12); display: grid; font-family: var(--display); font-size: clamp(7rem, 18vw, 17rem); font-weight: 700; grid-template-columns: repeat(2, 1fr); letter-spacing: -.2em; line-height: .7; position: absolute; right: -3%; top: 16%; transform: rotate(-15deg); }.contact-grid-mark span:nth-child(even) { color: rgba(229,109,74,.18); }.site-footer { align-items: center; background: var(--forest-deep); color: rgba(255,255,255,.55); display: flex; font-size: .72rem; gap: 2rem; justify-content: space-between; padding: 1.4rem 5vw; }.site-footer .brand { color: var(--white); font-size: .9rem; }.site-footer .brand em { color: rgba(255,255,255,.5); }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity: 1; transform: translateY(0); }.reveal-delay { transition-delay: .12s; }
@media (max-width: 800px) { .site-header { height: 68px; }.brand-logo { height: 40px; width: 40px; }.menu-toggle { display: block; }.site-nav { background: var(--paper); border-bottom: 1px solid var(--line); display: none; flex-direction: column; gap: 1.2rem; left: 0; padding: 1.5rem 5vw; position: absolute; right: 0; top: 68px; }.site-nav.is-open { display: flex; }.site-nav a { align-self: flex-start; }.hero { grid-template-columns: 1fr; min-height: auto; padding-top: 4rem; }.hero-visual { height: 430px; }.problem-grid, .calculator-section, .faq-section, .qualify-grid, .story-grid, .before-after-grid, .about-grid { grid-template-columns: 1fr; }.before-after-arrow { padding: .3rem 0; transform: rotate(90deg); }.content-section { padding-bottom: 5rem; padding-top: 5rem; }.calculator-section, .story-section { padding-bottom: 5rem; padding-top: 5rem; }.proof-grid { grid-template-columns: 1fr; }.proof-card { min-height: 560px; }.about-photo { margin: 0 auto; max-width: 280px; }.story-lead { margin-bottom: 2.5rem; }.pathway-grid { grid-template-columns: 1fr; margin-top: 3rem; }.pathway-card, .pathway-card:first-child { border-bottom: 1px solid var(--line); border-left: 0; min-height: auto; padding: 1.3rem 0; }.pathway-card h3 { margin: .7rem 0 .4rem; }.ownership-line { align-items: flex-start; flex-direction: column; gap: .5rem; }.retainer-grid { grid-template-columns: 1fr; margin-top: 3rem; }.faq-section { gap: 3rem; }.form-grid { grid-template-columns: 1fr; }.result-main strong { font-size: 2.2rem; }.site-footer { align-items: flex-start; flex-direction: column; gap: .7rem; } }
@media (max-width: 430px) { .hero h1 { font-size: 2.2rem; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 1.2rem; }.hero-visual { min-height: 380px; }.core-report { width: 190px; }.result-details strong { font-size: 1rem; }.result-details span { font-size: .63rem; } }
.contact-inner .service-area { color: var(--forest); font-size: .8rem; font-weight: 700; margin-top: 1.2rem; }
