

:root {
  --warm-white: #faf8fb;
  --lavender-mist: #f3edf6;
  --lavender: #b995c4;
  --purple: #6b3b83;
  --plum: #40234f;
  --coral: #e86c63;
  --orange: #f19a4a;
  --ink: #25202a;
  --muted: #6f6673;
  --line: rgba(64, 35, 79, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--warm-white); color: var(--ink); font-family: var(--font-sans), sans-serif; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }

.site-header { align-items: center; display: flex; height: 88px; justify-content: space-between; left: 0; margin: 0 auto; max-width: 1440px; padding: 0 clamp(24px, 5vw, 76px); position: absolute; right: 0; top: 0; z-index: 20; }
.brand { align-items: center; display: inline-flex; gap: 13px; }
.brand-mark { align-items: center; background: linear-gradient(145deg, var(--plum), #8d3d91 44%, var(--coral) 70%, var(--orange)); border-radius: 50% 45% 52% 42%; box-shadow: 0 8px 22px rgba(107, 59, 131, 0.22); color: white; display: inline-flex; font-family: var(--font-display), serif; font-size: 24px; font-style: italic; height: 42px; justify-content: center; transform: rotate(-5deg); width: 42px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-size: 14px; letter-spacing: -0.01em; }
.brand-copy small { color: var(--purple); font-size: 9px; letter-spacing: .15em; margin-top: 5px; text-transform: uppercase; }
.desktop-nav { align-items: center; display: flex; gap: clamp(20px, 2.4vw, 38px); }
.desktop-nav a { color: #4f4652; font-size: 13px; font-weight: 650; }
.desktop-nav a:hover { color: var(--purple); }
.header-cta { border-bottom: 1px solid rgba(64, 35, 79, .45); font-size: 13px; font-weight: 750; padding: 9px 2px; }
.header-cta span { color: var(--coral); margin-left: 6px; }

.hero { align-items: center; display: grid; gap: clamp(40px, 6vw, 90px); grid-template-columns: minmax(0, 1.03fr) minmax(440px, .97fr); min-height: 820px; overflow: hidden; padding: 150px clamp(24px, 7vw, 108px) 100px; position: relative; }
.hero::after { background: linear-gradient(90deg, transparent, rgba(107,59,131,.32), rgba(232,108,99,.25), transparent); bottom: 0; content: ""; height: 1px; left: 7vw; position: absolute; right: 7vw; }
.atmosphere { border-radius: 50%; filter: blur(4px); pointer-events: none; position: absolute; }
.atmosphere-one { background: radial-gradient(circle, rgba(185,149,196,.23), rgba(243,237,246,.17) 45%, transparent 72%); height: 760px; left: -250px; top: -260px; width: 760px; }
.atmosphere-two { background: radial-gradient(circle at 35% 45%, rgba(107,59,131,.16), rgba(185,149,196,.1) 44%, transparent 70%); height: 650px; right: -240px; top: 20px; width: 650px; }
.hero-copy { max-width: 720px; position: relative; z-index: 2; }
.eyebrow, .kicker { color: var(--purple); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow { align-items: center; display: flex; gap: 10px; margin: 0 0 26px; }
.eyebrow span { background: linear-gradient(90deg, var(--purple), var(--coral)); height: 2px; width: 34px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-family: var(--font-display), serif; font-size: clamp(58px, 6.6vw, 104px); font-weight: 420; letter-spacing: -.058em; line-height: .91; margin-bottom: 34px; }
h1 em { background: linear-gradient(93deg, var(--purple), #a43f86 47%, var(--coral) 73%, var(--orange)); -webkit-background-clip: text; background-clip: text; color: transparent; display: block; font-weight: 430; margin-top: 12px; }
.hero-lede { color: #5d5360; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.7; max-width: 620px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 25px; margin: 34px 0 26px; }
.button { align-items: center; display: inline-flex; font-size: 13px; font-weight: 800; gap: 24px; justify-content: center; letter-spacing: .015em; min-height: 54px; padding: 0 24px; }
.button-primary { background: var(--plum); border-radius: 3px; box-shadow: 0 12px 30px rgba(64,35,79,.16); color: white; }
.button-primary:hover { background: var(--purple); transform: translateY(-2px); }
.button-primary, .button-primary:hover { transition: .2s ease; }
.button-primary span { color: #ffc078; font-size: 18px; }
.text-link { border-bottom: 1px solid rgba(64,35,79,.32); font-size: 13px; font-weight: 750; padding: 9px 0; }
.text-link span { color: var(--coral); margin-left: 8px; }
.honesty-note { color: #817884; font-size: 11px; letter-spacing: .04em; }

.hero-map { aspect-ratio: .93; background: rgba(255,255,255,.48); border: 1px solid rgba(107,59,131,.14); border-radius: 50% 48% 46% 52%; box-shadow: 0 40px 90px rgba(64,35,79,.09), inset 0 0 70px rgba(185,149,196,.12); justify-self: center; max-height: 590px; max-width: 550px; position: relative; width: 100%; }
.map-label { color: #827786; font-size: 9px; font-weight: 800; left: 15%; letter-spacing: .2em; position: absolute; top: 12%; }
.map-segment { position: absolute; }
.segment-one { border-top: 2px solid var(--purple); left: 16%; right: 15%; top: 34%; }
.segment-turn { border: 2px solid var(--purple); border-left: 0; border-radius: 0 60px 60px 0; height: 35%; right: 11%; top: 34%; width: 10%; }
.segment-two { border-top: 2px solid var(--coral); left: 22%; right: 11%; top: 69%; }
.map-path::after { background: linear-gradient(180deg, var(--purple), var(--coral)); border-radius: 50%; content: ""; height: 9px; position: absolute; right: calc(11% - 3px); top: calc(51% - 3px); width: 9px; }
.map-stop { position: absolute; z-index: 2; }
.map-stop small { color: #8a7d8e; display: block; font-size: 8px; font-weight: 800; letter-spacing: .16em; margin-bottom: 5px; }
.map-stop strong { font-family: var(--font-display), serif; font-size: clamp(19px, 1.8vw, 27px); font-weight: 520; }
.stop-dot { background: var(--warm-white); border: 4px solid var(--purple); border-radius: 50%; box-shadow: 0 0 0 5px rgba(185,149,196,.24); display: block; height: 17px; margin-bottom: 14px; width: 17px; }
.stop-today { left: 13%; top: 29%; }
.stop-blueprint { right: 9%; text-align: right; top: 27%; }
.stop-blueprint .stop-dot { margin-left: auto; }
.stop-rise { bottom: 20%; left: 18%; }
.stop-rise .stop-dot { border-color: var(--coral); box-shadow: 0 0 0 5px rgba(232,108,99,.18); }
.map-destination { bottom: 10%; color: #6e5f71; font-size: 8px; font-weight: 800; left: 18%; letter-spacing: .14em; position: absolute; }
.map-destination span { color: var(--orange); margin: 0 4px; }

.phase-section { padding: 120px clamp(24px, 7vw, 108px) 110px; }
.section-intro { display: grid; gap: 20px; grid-template-columns: .55fr 1.45fr; margin-bottom: 70px; }
.section-intro h2, .journey-preview h2 { font-family: var(--font-display), serif; font-size: clamp(38px, 4.2vw, 66px); font-weight: 430; letter-spacing: -.045em; line-height: 1.03; max-width: 880px; }
.phase-rail { display: grid; grid-template-columns: repeat(3, 1fr); }
.phase { border-top: 1px solid var(--line); min-height: 260px; padding: 30px clamp(20px, 3vw, 45px) 20px 0; position: relative; }
.phase::before { background: var(--purple); content: ""; height: 3px; left: 0; position: absolute; top: -2px; width: 32%; }
.phase:nth-child(2)::before { background: #aa4586; }
.phase:nth-child(3)::before { background: linear-gradient(90deg, var(--coral), var(--orange)); }
.phase-number { color: #a296a5; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.phase h3 { font-family: var(--font-display), serif; font-size: 34px; font-weight: 500; margin: 24px 0 16px; }
.phase p { color: #6a5f6d; font-size: 14px; line-height: 1.75; max-width: 320px; }
.journey-preview { background: var(--plum); color: white; min-height: 420px; padding: 110px clamp(24px, 7vw, 108px); position: relative; }
.journey-preview .kicker { color: #d9bade; }
.journey-preview h2 { max-width: 900px; }
.journey-preview > p:last-child { color: #d5cbd8; font-size: 16px; line-height: 1.7; max-width: 620px; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .hero { grid-template-columns: 1fr; padding-top: 135px; }
  .hero-map { width: min(600px, 92%); }
  .section-intro { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .site-header { height: 76px; padding-inline: 20px; }
  .brand-copy small { display: none; }
  .header-cta { font-size: 12px; }
  .hero { gap: 52px; min-height: auto; padding: 126px 20px 78px; }
  h1 { font-size: clamp(54px, 16vw, 74px); }
  .hero-lede { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .button { width: 100%; }
  .hero-map { aspect-ratio: .84; }
  .stop-blueprint strong { font-size: 17px; }
  .map-destination { letter-spacing: .08em; }
  .phase-section { padding: 82px 20px 74px; }
  .section-intro { margin-bottom: 48px; }
  .phase-rail { grid-template-columns: 1fr; }
  .phase { min-height: 0; padding-bottom: 52px; }
  .journey-preview { min-height: 480px; padding: 80px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Shared navigation and page architecture */
.header-actions { align-items: center; display: flex; gap: 26px; }
.header-login { color: #5d5360; font-size: 11px; font-weight: 750; letter-spacing: .03em; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { cursor: pointer; height: 40px; list-style: none; position: relative; width: 40px; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { background: var(--plum); height: 2px; position: absolute; right: 3px; top: 15px; width: 27px; }
.mobile-menu summary span:last-child { top: 24px; width: 19px; }
.mobile-menu[open] summary span:first-child { top: 20px; transform: rotate(45deg); }
.mobile-menu[open] summary span:last-child { top: 20px; transform: rotate(-45deg); width: 27px; }
.mobile-menu nav { background: rgba(250,248,251,.98); border: 1px solid var(--line); box-shadow: 0 24px 70px rgba(64,35,79,.16); display: flex; flex-direction: column; gap: 20px; min-width: 250px; padding: 28px; position: absolute; right: 0; top: 48px; }
.mobile-menu nav > a:not(.button) { border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; padding-bottom: 12px; }

.brand-mark { overflow: hidden; position: relative; }
.brand-mark i { font-style: italic; position: relative; z-index: 2; }
.brand-mark b { border: 1px solid rgba(255,255,255,.7); border-left: 0; border-radius: 0 50% 50% 0; height: 24px; position: absolute; right: -4px; top: 7px; transform: rotate(-24deg); width: 26px; }

.button-warm { background: linear-gradient(100deg, var(--coral), var(--orange)); border-radius: 3px; color: #31172d; }
.button-outline { border: 1px solid rgba(64,35,79,.42); border-radius: 3px; }
.button-disabled, .button-disabled:hover { background: #b7acb9; box-shadow: none; cursor: not-allowed; transform: none; }

.site-footer { background: #28172f; color: white; padding: 85px clamp(24px, 7vw, 108px) 30px; }
.site-footer .brand-mark { box-shadow: none; }
.site-footer .brand-copy small { color: #e0b6d7; }
.footer-primary { align-items: flex-start; display: grid; gap: 22px; grid-template-columns: 1fr 1fr auto; padding-bottom: 70px; }
.footer-primary > p { color: #c8bccb; font-size: 14px; line-height: 1.7; max-width: 390px; }
.footer-nav { border-top: 1px solid rgba(255,255,255,.13); display: grid; gap: 40px; grid-template-columns: repeat(3, 1fr); padding: 48px 0 70px 34%; }
.footer-nav div { display: flex; flex-direction: column; gap: 13px; }
.footer-nav strong { color: #a791ad; font-size: 10px; letter-spacing: .18em; margin-bottom: 10px; text-transform: uppercase; }
.footer-nav a { color: #e4dce6; font-size: 13px; }
.footer-nav a:hover { color: #ffc078; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.13); color: #9e90a3; display: flex; font-size: 10px; justify-content: space-between; letter-spacing: .04em; padding-top: 26px; }

.page-hero { background: linear-gradient(145deg, var(--warm-white), #f1e9f4); min-height: 620px; overflow: hidden; padding: 190px clamp(24px, 12vw, 190px) 110px; position: relative; }
.page-hero::after { background: linear-gradient(90deg, var(--purple), #9c447e, var(--coral), var(--orange)); bottom: 0; content: ""; height: 3px; left: 0; opacity: .72; position: absolute; width: 62%; }
.page-hero .eyebrow { position: relative; z-index: 2; }
.page-hero h1 { font-size: clamp(58px, 7vw, 108px); max-width: 1120px; position: relative; z-index: 2; }
.page-hero > p:last-child { color: #625766; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.75; max-width: 760px; position: relative; z-index: 2; }
.page-hero-warm { background: radial-gradient(circle at 88% 70%, rgba(241,154,74,.17), transparent 28%), linear-gradient(145deg, var(--warm-white), #f7ebed); }

/* Signature journey */
.journey-section { background: linear-gradient(180deg, #f6f1f8, #f1e9f4 72%, #efe3ed); overflow: hidden; padding: 130px clamp(24px, 7vw, 108px) 105px; }
.journey-heading { align-items: end; display: grid; gap: 60px; grid-template-columns: 1.45fr .55fr; margin: 0 auto 80px; max-width: 1320px; }
.journey-heading h2, .journey-page-intro h2 { font-family: var(--font-display), serif; font-size: clamp(44px, 5.2vw, 76px); font-weight: 430; letter-spacing: -.05em; line-height: 1.02; max-width: 900px; }
.journey-heading > p, .journey-page-intro > p:last-child { color: #6d616f; font-size: 14px; line-height: 1.8; max-width: 400px; }
.journey-map { margin: 0 auto; max-width: 1320px; }
.journey-board { height: 790px; position: relative; }
.journey-row { display: grid; gap: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); left: 0; position: absolute; right: 0; z-index: 2; }
.journey-row-top { top: 0; }
.journey-row-middle { top: 285px; }
.journey-row-bottom { top: 570px; }
.journey-row-middle .journey-node:first-child { grid-column: 4; }
.journey-row-middle .journey-node:last-child { grid-column: 1; grid-row: 1; }
.journey-row-bottom .journey-node:first-child { grid-column: 1; }
.journey-row-bottom .journey-node:last-child { grid-column: 4; }
.journey-line { position: absolute; z-index: 1; }
.journey-line-top { border-top: 3px solid #714086; left: 11%; right: 11%; top: 49px; }
.journey-turn-right { border: 3px solid #9a477e; border-left: 0; border-radius: 0 80px 80px 0; height: 285px; right: 5%; top: 49px; width: 6%; }
.journey-line-middle { border-top: 3px solid #bd526f; left: 11%; right: 5%; top: 331px; }
.journey-turn-left { border: 3px solid #d16565; border-right: 0; border-radius: 80px 0 0 80px; height: 285px; left: 5%; top: 331px; width: 6%; }
.journey-line-bottom { border-top: 3px solid var(--orange); left: 5%; right: 11%; top: 613px; }
.journey-node { min-width: 0; position: relative; }
.journey-node summary { cursor: pointer; display: flex; flex-direction: column; list-style: none; position: relative; }
.journey-node summary::-webkit-details-marker { display: none; }
.journey-dot { align-items: center; background: var(--warm-white); border: 4px solid var(--purple); border-radius: 50%; box-shadow: 0 0 0 7px rgba(107,59,131,.14); display: flex; height: 28px; justify-content: center; margin: 36px 0 25px 12%; position: relative; width: 28px; }
.journey-dot i { color: transparent; font-size: 0; }
.journey-node.tone-magenta .journey-dot { border-color: #a9477c; box-shadow: 0 0 0 7px rgba(169,71,124,.12); }
.journey-node.tone-coral .journey-dot { border-color: var(--coral); box-shadow: 0 0 0 7px rgba(232,108,99,.12); }
.journey-node.tone-orange .journey-dot { border-color: var(--orange); box-shadow: 0 0 0 7px rgba(241,154,74,.15); }
.journey-copy { display: block; padding: 0 16px; }
.journey-copy small { color: #766979; display: block; font-size: 9px; font-weight: 800; letter-spacing: .16em; margin-bottom: 10px; text-transform: uppercase; }
.journey-copy strong { display: block; font-family: var(--font-display), serif; font-size: clamp(22px, 2vw, 30px); font-weight: 530; letter-spacing: -.025em; line-height: 1.02; margin-bottom: 12px; }
.journey-copy > span { color: #6f6372; display: block; font-size: 12px; line-height: 1.65; max-width: 240px; }
.journey-copy b { color: var(--purple); display: block; font-size: 9px; letter-spacing: .09em; margin-top: 12px; text-transform: uppercase; }
.journey-copy b i { color: var(--coral); float: none; font-size: 14px; font-style: normal; margin-left: 6px; }
.journey-node[open] .journey-copy b i { display: inline-block; transform: rotate(45deg); }
.journey-node > p { background: white; border-left: 3px solid var(--purple); box-shadow: 0 16px 50px rgba(64,35,79,.13); color: #635768; font-size: 11px; line-height: 1.7; margin: 14px 10px 0; padding: 18px; position: absolute; width: calc(100% - 20px); z-index: 10; }
.journey-node.tone-coral > p, .journey-node.tone-orange > p { border-left-color: var(--coral); }
.journey-mobile { display: none; }
.journey-truth { align-items: center; border-top: 1px solid rgba(64,35,79,.2); display: grid; gap: 30px; grid-template-columns: 1fr 1.4fr auto; margin: 12px auto 0; max-width: 1320px; padding-top: 34px; }
.journey-truth strong { font-family: var(--font-display), serif; font-size: 24px; font-weight: 520; }
.journey-truth p { color: #6d616f; font-size: 12px; line-height: 1.7; margin: 0; }
.journey-truth a { color: var(--purple); font-size: 11px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.journey-truth a span { color: var(--coral); margin-left: 8px; }

/* Homepage progression */
.trust-section { background: var(--plum); color: white; padding: 125px clamp(24px, 7vw, 108px) 120px; }
.section-intro-light .kicker { color: #ddbddd; }
.section-intro-light h2 { max-width: 830px; }
.trust-path { display: grid; grid-template-columns: repeat(5, 1fr); position: relative; }
.trust-path::before { background: linear-gradient(90deg, #a87cb3, #c15387, var(--coral), var(--orange)); content: ""; height: 2px; left: 2%; position: absolute; right: 2%; top: 7px; }
.trust-path article { padding: 34px clamp(14px, 2vw, 28px) 0 0; position: relative; }
.trust-path article::before { background: var(--plum); border: 3px solid #c5a0cb; border-radius: 50%; content: ""; height: 15px; left: 0; position: absolute; top: 0; width: 15px; }
.trust-path article:nth-child(4)::before { border-color: var(--coral); }
.trust-path article:nth-child(5)::before { border-color: var(--orange); }
.trust-path span { color: #a996ae; font-size: 9px; letter-spacing: .16em; }
.trust-path h3 { font-family: var(--font-display), serif; font-size: 25px; font-weight: 500; margin: 20px 0 13px; }
.trust-path p { color: #cfc2d2; font-size: 12px; line-height: 1.7; max-width: 210px; }

.roles-section { background: #fcfafb; padding: 130px clamp(24px, 8vw, 130px); }
.roles-heading { display: grid; gap: 18px; grid-template-columns: .45fr 1.25fr .65fr; margin-bottom: 80px; }
.roles-heading h2, .blueprint-copy h2, .fit-intro h2, .founder-copy h2, .rise-heading h2, .faq-heading h2, .partner-strip h2 { font-family: var(--font-display), serif; font-size: clamp(42px, 4.8vw, 72px); font-weight: 430; letter-spacing: -.05em; line-height: 1.02; }
.roles-heading > p:last-child { color: #6d626f; font-size: 14px; line-height: 1.75; }
.roles-split { display: grid; grid-template-columns: 1fr 1fr; }
.role { border-top: 2px solid var(--purple); padding: 34px clamp(20px, 4vw, 62px) 30px 0; }
.role-client { border-color: var(--coral); padding-left: clamp(20px, 4vw, 62px); }
.role > span { color: var(--purple); font-size: 9px; font-weight: 850; letter-spacing: .18em; }
.role-client > span { color: #b54f4b; }
.role ul, .fit-columns ul { list-style: none; margin: 28px 0 0; padding: 0; }
.role li { border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.5; padding: 14px 0 14px 28px; position: relative; }
.role li::before { color: var(--purple); content: "→"; left: 0; position: absolute; }
.role-client li::before { color: var(--coral); }
.roles-quote { font-family: var(--font-display), serif; font-size: clamp(26px, 3vw, 43px); font-style: italic; margin: 95px 0 0 28%; max-width: 780px; }

.blueprint-section { align-items: center; background: linear-gradient(135deg, #ede3f0, #f6e7eb 65%, #faece1); display: grid; gap: 90px; grid-template-columns: 1fr .8fr; overflow: hidden; padding: 130px clamp(24px, 9vw, 150px); }
.blueprint-copy > p:not(.kicker) { color: #685b69; font-size: 15px; line-height: 1.8; max-width: 650px; }
.inline-list { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; margin: 30px 0 34px; padding: 0; }
.inline-list li { color: var(--purple); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.inline-list li::before { color: var(--coral); content: "•"; margin-right: 9px; }
.blueprint-visual { height: 500px; justify-self: end; max-width: 470px; position: relative; width: 100%; }
.folio { background: #fff; box-shadow: 0 38px 80px rgba(64,35,79,.14); height: 430px; position: absolute; width: 330px; }
.folio-back { background: linear-gradient(150deg, #67387e, #b14478 58%, #ed8258); right: 50px; top: 48px; transform: rotate(8deg); }
.folio-front { left: 10px; padding: 40px 34px; top: 10px; transform: rotate(-4deg); }
.folio-front > span { color: var(--purple); font-size: 8px; font-weight: 850; letter-spacing: .17em; }
.folio-front > strong { display: block; font-family: var(--font-display), serif; font-size: 52px; font-weight: 460; letter-spacing: -.05em; line-height: .9; margin: 65px 0 22px; }
.folio-front > p { color: #8a7188; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.folio-lines { margin: 46px 0 36px; }
.folio-lines i { background: #e9e2eb; display: block; height: 5px; margin: 9px 0; width: 100%; }
.folio-lines i:nth-child(2) { width: 70%; }
.folio-lines i:nth-child(3) { background: linear-gradient(90deg, var(--purple), var(--coral)); width: 42%; }
.folio-front small { color: #9b8f9d; font-size: 7px; letter-spacing: .13em; }

.fit-section { background: #fff7f2; padding: 130px clamp(24px, 8vw, 130px); }
.fit-intro { display: grid; gap: 20px; grid-template-columns: .45fr 1.1fr .8fr; margin-bottom: 75px; }
.fit-intro > p:last-child { color: #695e66; font-size: 14px; line-height: 1.8; }
.fit-columns { display: grid; gap: 70px; grid-template-columns: 1fr 1fr; }
.fit-label { border-bottom: 2px solid var(--purple); color: var(--purple); display: block; font-size: 9px; font-weight: 850; letter-spacing: .17em; padding-bottom: 18px; }
.fit-pause { border-color: var(--coral); color: #a74744; }
.fit-columns li { border-bottom: 1px solid rgba(104,79,80,.16); font-size: 13px; line-height: 1.55; padding: 14px 10px 14px 26px; position: relative; }
.fit-columns li::before { color: var(--purple); content: "→"; left: 0; position: absolute; }
.fit-columns > div:last-child li::before { color: var(--coral); content: "—"; }
.fit-note { border-left: 3px solid var(--orange); font-family: var(--font-display), serif; font-size: clamp(22px, 2.4vw, 34px); margin: 70px 0 0 22%; padding: 9px 0 9px 28px; }

.founder-section { align-items: center; background: #f5e6e7; display: grid; gap: clamp(50px, 9vw, 140px); grid-template-columns: .75fr 1.25fr; padding: 130px clamp(24px, 9vw, 150px); }
.founder-portrait { background: radial-gradient(circle at 62% 30%, rgba(255,255,255,.25), transparent 35%), linear-gradient(155deg, #49275a, #873d78 47%, #d75f65 77%, #f29a4a); min-height: 500px; overflow: hidden; padding: 45px; position: relative; }
.founder-portrait::after { border: 1px solid rgba(255,255,255,.3); border-radius: 48% 48% 0 0; bottom: -5%; content: ""; height: 62%; left: 18%; position: absolute; width: 64%; }
.founder-portrait > span { color: rgba(255,255,255,.92); font-family: var(--font-display), serif; font-size: 90px; font-style: italic; position: relative; z-index: 2; }
.founder-portrait > small { bottom: 35px; color: rgba(255,255,255,.8); font-size: 8px; letter-spacing: .17em; line-height: 1.7; position: absolute; right: 30px; text-align: right; z-index: 2; }
.founder-copy > p:not(.kicker) { color: #66585f; font-size: 14px; line-height: 1.85; max-width: 680px; }

.rise-section { background: linear-gradient(145deg, #f8ece4, #fff7ec); padding: 135px clamp(24px, 7vw, 108px) 140px; }
.rise-heading { margin: 0 auto 90px; max-width: 980px; text-align: center; }
.rise-heading > p:last-child { color: #6f5f5a; font-size: 15px; line-height: 1.8; margin: 0 auto; max-width: 620px; }
.destination-paths { display: grid; gap: 0; grid-template-columns: .5fr repeat(3, 1fr); margin: 0 auto; max-width: 1250px; position: relative; }
.destination-paths::before { background: linear-gradient(90deg, var(--coral), var(--orange)); content: ""; height: 2px; left: 9%; position: absolute; right: 8%; top: 20px; }
.destination-origin { position: relative; z-index: 2; }
.destination-origin span { align-items: center; background: var(--plum); border-radius: 50%; color: white; display: flex; font-size: 9px; font-weight: 850; height: 44px; justify-content: center; letter-spacing: .1em; width: 44px; }
.destination { padding: 64px 35px 10px; position: relative; }
.destination::before { background: #fff8ef; border: 3px solid var(--coral); border-radius: 50%; content: ""; height: 17px; left: 35px; position: absolute; top: 12px; width: 17px; }
.destination-orange::before { border-color: var(--orange); }
.destination-purple::before { border-color: #a34b7f; }
.destination > span { color: #a58c83; font-size: 9px; letter-spacing: .16em; }
.destination h3 { font-family: var(--font-display), serif; font-size: clamp(29px, 3vw, 42px); font-weight: 500; margin: 18px 0 12px; }
.destination p { color: #74635d; font-size: 12px; line-height: 1.7; }

.pricing-section { background: #fff; padding: 130px clamp(24px, 8vw, 130px); }
.pricing-block { align-items: center; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 90px; grid-template-columns: 1.25fr .75fr; margin: 0 auto; max-width: 1280px; padding: 70px 0; }
.pricing-intro h2 { font-family: var(--font-display), serif; font-size: clamp(42px, 5vw, 74px); font-weight: 430; letter-spacing: -.05em; line-height: 1; }
.pricing-intro > p:last-child { color: #6a5e6c; font-size: 14px; line-height: 1.75; max-width: 620px; }
.price-figure { border-left: 1px solid var(--line); padding: 15px 0 15px 70px; }
.price-figure > small { color: var(--purple); display: block; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.price-figure > strong { display: block; font-family: var(--font-display), serif; font-size: clamp(74px, 8vw, 116px); font-weight: 430; letter-spacing: -.07em; line-height: 1; margin: 18px 0 4px; }
.price-figure > p { color: var(--plum); font-size: 18px; font-weight: 750; margin-bottom: 6px; }
.price-figure > span { color: #817483; display: block; font-size: 11px; margin-bottom: 30px; }

.faq-section { background: #f8f3f7; display: grid; gap: 90px; grid-template-columns: .75fr 1.25fr; padding: 135px clamp(24px, 8vw, 130px); }
.faq-heading .text-link { display: inline-block; margin-top: 24px; }
.faq-list details { border-top: 1px solid rgba(64,35,79,.18); }
.faq-list details:last-child { border-bottom: 1px solid rgba(64,35,79,.18); }
.faq-list summary { align-items: center; cursor: pointer; display: grid; gap: 18px; grid-template-columns: 36px 1fr 25px; list-style: none; padding: 22px 0; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible, .journey-node summary:focus-visible, .mobile-menu summary:focus-visible { outline: 3px solid rgba(107,59,131,.55); outline-offset: 4px; }
.faq-list summary span { color: #9a8d9c; font-size: 9px; letter-spacing: .14em; }
.faq-list summary strong { font-family: var(--font-display), serif; font-size: 20px; font-weight: 530; }
.faq-list summary i { color: var(--coral); font-size: 24px; font-style: normal; }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list details > p { color: #675b69; font-size: 13px; line-height: 1.8; margin: 0 45px 26px 54px; }

.partner-strip { align-items: center; background: #fff2ea; display: grid; gap: 60px; grid-template-columns: 1fr .9fr auto; padding: 90px clamp(24px, 7vw, 108px); }
.partner-strip h2 { font-size: clamp(37px, 4vw, 60px); }
.partner-strip > p { color: #6b5e5a; font-size: 13px; line-height: 1.8; }
.final-cta { background: linear-gradient(120deg, #3e224d, #743366 46%, #b74a6d 72%, #df6d58); color: white; overflow: hidden; padding: 130px clamp(24px, 10vw, 170px); position: relative; }
.final-cta .kicker { color: #f0c8d5; }
.final-cta h2 { font-family: var(--font-display), serif; font-size: clamp(48px, 6vw, 88px); font-weight: 430; letter-spacing: -.05em; line-height: .98; max-width: 920px; position: relative; z-index: 2; }
.final-cta > p:not(.kicker) { color: #f0dfe9; font-size: 15px; line-height: 1.8; max-width: 650px; position: relative; z-index: 2; }
.final-cta .hero-actions { position: relative; z-index: 2; }
.text-link-light { border-color: rgba(255,255,255,.5); color: white; }
.final-cta-path { border: 1px solid rgba(255,255,255,.17); border-left: 0; border-radius: 0 120px 120px 0; height: 240px; position: absolute; right: -30px; top: 70px; width: 32%; }
.final-cta-path::before { border-top: 1px solid rgba(255,255,255,.17); content: ""; left: -160px; position: absolute; right: 70%; top: -1px; }
.final-cta-path span { background: #fff; border-radius: 50%; height: 8px; position: absolute; top: -4px; width: 8px; }
.final-cta-path span:nth-child(1) { left: 5%; }
.final-cta-path span:nth-child(2) { background: #ffc078; right: -4px; top: 50%; }
.final-cta-path span:nth-child(3) { background: var(--orange); bottom: -4px; right: 35%; top: auto; }

/* Journey and pricing pages */
.journey-page-map { background: #f4eef6; padding: 130px clamp(24px, 7vw, 108px) 95px; }
.journey-page-intro { display: grid; gap: 30px; grid-template-columns: .4fr 1.15fr .65fr; margin: 0 auto 80px; max-width: 1320px; }
.first-thirty { background: #fff; display: grid; gap: 100px; grid-template-columns: .8fr 1.2fr; padding: 130px clamp(24px, 9vw, 150px); }
.first-thirty h2, .blueprint-deep-heading h2, .month-six-section h2, .service-periods-heading h2, .pricing-question h2, .story-opening h2, .principles-section h2, .faq-page-heading h2, .resource-bridge h2, .resource-grid-heading h2, .start-path-heading h2, .readiness-check h2, .handoff-copy h2, .partner-promise h2, .partner-flow h2, .partner-portal-preview h2, .partner-inquiry h2, .contact-options h2, .contact-expectation h2, .login-handoff h2, .legal-placeholder h2 { font-family: var(--font-display), serif; font-size: clamp(40px, 4.6vw, 68px); font-weight: 430; letter-spacing: -.05em; line-height: 1.02; }
.first-thirty > div > p:last-child, .service-periods-heading > p:last-child, .story-opening > div > p:last-child { color: #6c616e; font-size: 14px; line-height: 1.8; }
.first-thirty ol, .principles-section ol, .start-path ol { list-style: none; margin: 0; padding: 0; }
.first-thirty li { border-top: 1px solid var(--line); display: grid; gap: 15px; grid-template-columns: 55px .85fr 1fr; padding: 24px 0; }
.first-thirty li > span { color: var(--purple); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.first-thirty li > strong { font-family: var(--font-display), serif; font-size: 20px; font-weight: 530; }
.first-thirty li > p { color: #6b5f6d; font-size: 12px; line-height: 1.7; }
.blueprint-deep { background: linear-gradient(145deg, #3b2149, #6b3268 60%, #9c4267); color: white; padding: 135px clamp(24px, 8vw, 130px); }
.blueprint-deep-heading { display: grid; gap: 30px; grid-template-columns: .4fr 1fr .7fr; margin-bottom: 85px; }
.blueprint-deep-heading > span { color: #d8b9db; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.blueprint-deep-heading > p { color: #d7c7da; font-size: 14px; line-height: 1.8; }
.blueprint-topics { display: grid; grid-template-columns: repeat(3, 1fr); }
.blueprint-topics article { border-top: 1px solid rgba(255,255,255,.24); min-height: 235px; padding: 26px 34px 28px 0; }
.blueprint-topics article:nth-child(n+4) { border-top-color: rgba(255,178,128,.35); }
.blueprint-topics span { color: #d1a9cf; font-size: 9px; letter-spacing: .15em; }
.blueprint-topics h3 { font-family: var(--font-display), serif; font-size: 27px; font-weight: 500; margin: 22px 0 12px; }
.blueprint-topics p { color: #d5c7d8; font-size: 12px; line-height: 1.7; }
.month-six-section { background: #fff5ef; padding: 135px clamp(24px, 12vw, 190px); }
.month-six-section > h2 { max-width: 760px; }
.month-six-content { display: grid; gap: 50px; grid-template-columns: 1fr .8fr 1fr; margin-top: 70px; }
.month-six-content p { color: #6d5e5a; font-size: 13px; line-height: 1.85; }
.month-six-content blockquote { color: #a84e49; font-family: var(--font-display), serif; font-size: clamp(34px, 4vw, 58px); font-style: italic; margin: 0; }
.rise-section-page { border-top: 1px solid rgba(232,108,99,.2); }

.pricing-page-main { background: white; padding: 120px clamp(24px, 8vw, 130px); }
.pricing-clarity { display: grid; gap: 40px; grid-template-columns: repeat(3, 1fr); margin: 60px auto 0; max-width: 1280px; }
.pricing-clarity div { border-top: 2px solid var(--purple); padding-top: 20px; }
.pricing-clarity div:nth-child(2) { border-color: #b34b72; }
.pricing-clarity div:nth-child(3) { border-color: var(--coral); }
.pricing-clarity strong { font-family: var(--font-display), serif; font-size: 22px; font-weight: 540; }
.pricing-clarity p { color: #726674; font-size: 12px; line-height: 1.7; margin-top: 10px; }
.service-periods { background: #f4eef6; padding: 130px clamp(24px, 8vw, 130px); }
.service-periods-heading { display: grid; gap: 28px; grid-template-columns: .4fr 1.2fr .7fr; margin-bottom: 75px; }
.service-period-list { display: grid; grid-template-columns: repeat(4, 1fr); }
.service-period-list article { border-top: 1px solid var(--line); min-height: 260px; padding: 28px 30px 25px 0; }
.service-period-list article::before { background: var(--purple); content: ""; display: block; height: 3px; margin-top: -30px; width: 40%; }
.service-period-list article:nth-child(3)::before { background: #ad4778; }
.service-period-list article:nth-child(4)::before { background: var(--coral); }
.service-period-list article > span { color: #a396a7; display: block; font-size: 9px; letter-spacing: .14em; margin-top: 24px; }
.service-period-list article > small { color: var(--purple); display: block; font-size: 9px; font-weight: 850; letter-spacing: .13em; margin-top: 13px; text-transform: uppercase; }
.service-period-list h3 { font-family: var(--font-display), serif; font-size: 25px; font-weight: 520; margin: 18px 0 12px; }
.service-period-list p { color: #6c606e; font-size: 12px; line-height: 1.7; }
.pricing-question { background: #fff8f2; padding: 120px clamp(24px, 14vw, 220px); }
.pricing-question > p:not(.kicker) { color: #6f625e; font-size: 14px; line-height: 1.8; max-width: 720px; }

/* Founder, FAQ, and resources */
.story-opening { align-items: center; display: grid; gap: 100px; grid-template-columns: .75fr 1.25fr; padding: 130px clamp(24px, 9vw, 150px); }
.founder-portrait-large { min-height: 620px; }
.story-path { background: #f2eaf4; padding: 130px clamp(24px, 12vw, 190px); }
.story-path article { border-top: 1px solid var(--line); display: grid; gap: 36px; grid-template-columns: .35fr 1fr 1fr; padding: 55px 0; }
.story-path article > span { color: var(--purple); font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.story-path h2 { font-family: var(--font-display), serif; font-size: clamp(34px, 3.5vw, 50px); font-weight: 440; letter-spacing: -.04em; line-height: 1.04; }
.story-path article > p { color: #6b5f6d; font-size: 13px; line-height: 1.8; }
.story-path article > p:last-child { grid-column: 3; }
.principles-section { display: grid; gap: 100px; grid-template-columns: .85fr 1.15fr; padding: 130px clamp(24px, 9vw, 150px); }
.principles-section ol { counter-reset: principles; }
.principles-section li { border-top: 1px solid var(--line); display: grid; gap: 20px; grid-template-columns: 50px .8fr 1fr; padding: 22px 0; }
.principles-section li > span { color: var(--coral); font-size: 9px; letter-spacing: .14em; }
.principles-section li > strong { font-family: var(--font-display), serif; font-size: 20px; font-weight: 530; }
.principles-section li > p { color: #6c606d; font-size: 12px; line-height: 1.7; }
.founder-quote-section { background: linear-gradient(120deg, #442452, #8f3d70, #de705c); color: white; padding: 140px clamp(24px, 15vw, 240px); }
.founder-quote-section p { font-family: var(--font-display), serif; font-size: clamp(42px, 5.5vw, 78px); font-style: italic; letter-spacing: -.04em; line-height: 1.03; }
.founder-quote-section span { color: #f0d7e2; font-size: 10px; letter-spacing: .14em; }

.faq-page-main { display: grid; gap: 100px; grid-template-columns: .7fr 1.3fr; padding: 130px clamp(24px, 9vw, 150px); }
.faq-page-heading > p:last-child { color: #6e626f; font-size: 13px; line-height: 1.8; }
.myth-section { background: var(--plum); color: white; display: grid; gap: 90px; grid-template-columns: 1fr 1fr; padding: 120px clamp(24px, 10vw, 170px); }
.myth-section h2 { font-family: var(--font-display), serif; font-size: clamp(40px, 4.7vw, 70px); font-weight: 430; letter-spacing: -.05em; line-height: 1.02; }
.myth-section > div:last-child p { color: #d4c7d6; font-size: 14px; line-height: 1.85; }
.resource-bridge { background: #fff4ec; padding: 120px clamp(24px, 14vw, 220px); }
.resource-bridge > p:not(.kicker) { color: #6f615c; font-size: 14px; line-height: 1.8; max-width: 720px; }
.resource-grid-section { padding: 130px clamp(24px, 8vw, 130px); }
.resource-grid-heading { display: grid; gap: 30px; grid-template-columns: .4fr 1fr .65fr; margin-bottom: 75px; }
.resource-grid-heading > p:last-child { color: #6e626f; font-size: 13px; line-height: 1.8; }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.resource-grid article { border-top: 1px solid var(--line); min-height: 190px; padding: 25px 30px 20px 0; }
.resource-grid span { color: #a394a7; font-size: 9px; letter-spacing: .14em; }
.resource-grid h3 { font-family: var(--font-display), serif; font-size: 26px; font-weight: 520; margin: 22px 0 10px; }
.resource-grid p { color: #807484; font-size: 11px; }
.resource-preview-note { border-left: 3px solid var(--coral); margin: 70px 0 0 25%; padding: 8px 0 8px 28px; }
.resource-preview-note > strong { color: var(--purple); font-size: 9px; letter-spacing: .15em; }
.resource-preview-note > p { color: #6e626f; font-size: 13px; line-height: 1.8; max-width: 700px; }

/* Start, partners, contact, and placeholders */
.start-path { display: grid; gap: 100px; grid-template-columns: .75fr 1.25fr; padding: 130px clamp(24px, 9vw, 150px); }
.start-path li { border-top: 1px solid var(--line); display: grid; gap: 22px; grid-template-columns: 55px 1fr; padding: 24px 0; }
.start-path li > span { color: var(--purple); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.start-path h3 { font-family: var(--font-display), serif; font-size: 24px; font-weight: 530; margin: 0 0 8px; }
.start-path li p { color: #6c606e; font-size: 12px; line-height: 1.7; }
.readiness-check { background: #f3ebf5; display: grid; gap: 100px; grid-template-columns: 1fr .8fr; padding: 120px clamp(24px, 10vw, 170px); }
.readiness-check > div > p:last-child { color: #6b606c; font-size: 13px; line-height: 1.8; }
.readiness-check blockquote { color: var(--purple); font-family: var(--font-display), serif; font-size: clamp(30px, 3.5vw, 50px); font-style: italic; margin: 0; }
.handoff-section { align-items: center; background: linear-gradient(145deg, #fff7f0, #f6e3e7); display: grid; gap: 90px; grid-template-columns: 1fr .8fr; padding: 130px clamp(24px, 10vw, 170px); }
.handoff-copy > p:not(.kicker):not(.developer-note) { color: #6e5e5e; font-size: 14px; line-height: 1.8; max-width: 650px; }
.developer-note { background: rgba(255,255,255,.55); border-left: 3px solid var(--orange); color: #715e5d; font-size: 10px; line-height: 1.6; margin-top: 22px; padding: 12px 15px; }
.handoff-steps { display: flex; flex-direction: column; }
.handoff-steps span { align-items: center; border-top: 1px solid rgba(108,75,76,.18); display: flex; font-family: var(--font-display), serif; font-size: 22px; gap: 25px; padding: 18px 0; }
.handoff-steps i { color: var(--coral); font-family: var(--font-sans), sans-serif; font-size: 9px; font-style: normal; letter-spacing: .14em; }
.start-question-strip { align-items: center; background: #fff; display: grid; gap: 40px; grid-template-columns: .5fr 1fr auto; padding: 80px clamp(24px, 10vw, 170px); }
.start-question-strip h2 { font-family: var(--font-display), serif; font-size: 38px; font-weight: 500; }
.start-question-strip p { color: #6c606e; font-size: 13px; line-height: 1.7; }

.partner-promise { display: grid; gap: 100px; grid-template-columns: .85fr 1.15fr; padding: 130px clamp(24px, 9vw, 150px); }
.partner-promise-list { display: grid; grid-template-columns: 1fr 1fr; }
.partner-promise-list article { border-top: 1px solid var(--line); min-height: 230px; padding: 25px 35px 20px 0; }
.partner-promise-list span { color: var(--purple); font-size: 9px; letter-spacing: .14em; }
.partner-promise-list h3 { font-family: var(--font-display), serif; font-size: 26px; font-weight: 520; margin: 22px 0 12px; }
.partner-promise-list p { color: #6e626f; font-size: 12px; line-height: 1.7; }
.partner-flow { background: var(--plum); color: white; padding: 125px clamp(24px, 8vw, 130px); }
.partner-flow > div { display: grid; gap: 30px; grid-template-columns: .35fr 1fr .7fr; }
.partner-flow > div > p:last-child { color: #d2c5d5; font-size: 13px; line-height: 1.8; }
.partner-flow ol { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 80px 0 0; padding: 0; position: relative; }
.partner-flow ol::before { background: linear-gradient(90deg, #b58bbd, #c75282, var(--coral), var(--orange)); content: ""; height: 2px; left: 3%; position: absolute; right: 8%; top: 8px; }
.partner-flow li { padding: 38px 30px 0 0; position: relative; }
.partner-flow li::before { background: var(--plum); border: 3px solid #c49bcc; border-radius: 50%; content: ""; height: 17px; left: 0; position: absolute; top: 0; width: 17px; }
.partner-flow li:nth-child(3)::before { border-color: var(--coral); }
.partner-flow li:nth-child(4)::before { border-color: var(--orange); }
.partner-flow li span { color: #ae9ab3; font-size: 9px; letter-spacing: .14em; }
.partner-flow li h3 { font-family: var(--font-display), serif; font-size: 27px; font-weight: 520; margin: 20px 0 11px; }
.partner-flow li p { color: #d0c2d3; font-size: 12px; line-height: 1.7; }
.partner-portal-preview { align-items: center; background: #f4ecf5; display: grid; gap: 100px; grid-template-columns: 1fr 1fr; padding: 130px clamp(24px, 9vw, 150px); }
.partner-portal-preview > div:last-child > p:last-child { color: #6b606d; font-size: 13px; line-height: 1.8; }
.portal-window { background: white; box-shadow: 0 35px 80px rgba(64,35,79,.11); padding: 35px; }
.portal-window > span { color: var(--purple); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.portal-window > strong { display: block; font-family: var(--font-display), serif; font-size: 40px; font-weight: 480; margin: 42px 0 28px; }
.portal-window > div { border-top: 1px solid var(--line); display: grid; gap: 6px 16px; grid-template-columns: 12px 1fr; padding: 18px 0; }
.portal-window i { background: var(--purple); border-radius: 50%; grid-row: 1 / span 2; height: 8px; margin-top: 6px; width: 8px; }
.portal-window b { font-size: 12px; }
.portal-window small { color: #8a7f8c; font-size: 9px; }
.partner-inquiry, .contact-main { display: grid; gap: 100px; grid-template-columns: .8fr 1.2fr; padding: 130px clamp(24px, 10vw, 170px); }
.partner-inquiry > div:first-child > p:last-child { color: #6d616e; font-size: 13px; line-height: 1.8; }
.contact-form { display: flex; flex-direction: column; gap: 24px; }
.field-row { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; }
.contact-form label { display: flex; flex-direction: column; gap: 9px; }
.contact-form label > span { color: var(--purple); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.contact-form input, .contact-form textarea { background: #fbf8fb; border: 1px solid rgba(64,35,79,.22); border-radius: 0; color: var(--ink); font: inherit; font-size: 14px; padding: 15px; width: 100%; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--purple); outline: 3px solid rgba(107,59,131,.12); }
.contact-form .button { align-self: flex-start; border: 0; }
.form-note { color: #897d8b; font-size: 9px; }
.form-confirmation { align-items: flex-start; background: #f2eaf4; display: flex; gap: 20px; padding: 30px; }
.form-confirmation > span { align-items: center; background: var(--purple); border-radius: 50%; color: white; display: flex; height: 30px; justify-content: center; width: 30px; }
.form-confirmation strong { font-family: var(--font-display), serif; font-size: 24px; font-weight: 520; }
.form-confirmation p { color: #6c606e; font-size: 12px; line-height: 1.7; margin-top: 8px; }

.contact-option { border-top: 1px solid var(--line); padding: 22px 0; }
.contact-option > span { color: var(--purple); display: block; font-size: 9px; font-weight: 850; letter-spacing: .14em; margin-bottom: 10px; }
.contact-option > strong { font-family: var(--font-display), serif; font-size: 22px; font-weight: 520; }
.contact-option > p { color: #786c7a; font-size: 10px; line-height: 1.6; margin-top: 8px; }
.contact-expectation { background: #fff4ec; padding: 120px clamp(24px, 14vw, 220px); }
.contact-expectation > p:last-child { color: #6e605b; font-size: 14px; line-height: 1.8; max-width: 760px; }
.login-handoff { align-items: center; display: flex; flex-direction: column; margin: 0 auto; max-width: 760px; padding: 120px 24px 140px; text-align: center; }
.login-mark { align-items: center; background: linear-gradient(145deg, var(--plum), #984078, var(--coral), var(--orange)); border-radius: 50% 45% 52% 42%; color: white; display: flex; font-family: var(--font-display), serif; font-size: 40px; height: 82px; justify-content: center; margin-bottom: 35px; width: 82px; }
.partner-login-mark { border-radius: 50%; }
.login-handoff > p:not(.kicker):not(.developer-note) { color: #6d616e; font-size: 14px; line-height: 1.8; max-width: 600px; }
.login-handoff .developer-note { max-width: 520px; }
.login-handoff .text-link { margin-top: 20px; }
.legal-placeholder { margin: 0 auto; max-width: 900px; padding: 120px 24px 150px; }
.legal-placeholder > span { color: #a84e49; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.legal-placeholder p { color: #6d616e; font-size: 14px; line-height: 1.85; max-width: 760px; }

@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .header-login { display: none; }
  .mobile-menu { display: block; }
  .header-cta { display: none; }
  .trust-path { grid-template-columns: repeat(3, 1fr); row-gap: 50px; }
  .trust-path::before { display: none; }
  .trust-path article { border-top: 1px solid rgba(255,255,255,.16); }
  .trust-path article::before { top: -8px; }
  .roles-heading, .fit-intro, .blueprint-deep-heading, .service-periods-heading, .journey-page-intro, .resource-grid-heading, .partner-flow > div { grid-template-columns: 1fr; }
  .journey-board { height: 860px; }
  .journey-row { gap: 10px; }
  .journey-copy > span { font-size: 11px; }
  .journey-copy strong { font-size: 22px; }
  .journey-node > p { font-size: 10px; }
  .first-thirty, .principles-section, .partner-promise, .partner-inquiry, .contact-main { gap: 70px; }
}

@media (max-width: 860px) {
  .journey-board { display: none; }
  .journey-mobile { display: flex; flex-direction: column; gap: 0; padding-left: 20px; position: relative; }
  .journey-mobile::before { background: linear-gradient(var(--purple), #ac4678, var(--coral), var(--orange)); bottom: 60px; content: ""; left: 33px; position: absolute; top: 48px; width: 3px; }
  .journey-mobile .journey-node { padding-bottom: 28px; }
  .journey-mobile .journey-node summary { display: grid; grid-template-columns: 55px 1fr; }
  .journey-mobile .journey-dot { grid-column: 1; margin: 32px 0 0; }
  .journey-mobile .journey-copy { grid-column: 2; padding: 26px 0 0 12px; }
  .journey-mobile .journey-copy > span { max-width: 520px; }
  .journey-mobile .journey-node > p { background: rgba(255,255,255,.65); box-shadow: none; margin: 10px 0 0 68px; position: static; width: auto; }
  .journey-truth, .footer-primary, .partner-strip, .start-question-strip { grid-template-columns: 1fr; }
  .roles-heading, .fit-intro { grid-template-columns: 1fr; }
  .roles-split, .fit-columns, .founder-section, .blueprint-section, .pricing-block, .faq-section, .first-thirty, .month-six-content, .story-opening, .principles-section, .faq-page-main, .myth-section, .start-path, .readiness-check, .handoff-section, .partner-promise, .partner-portal-preview, .partner-inquiry, .contact-main { grid-template-columns: 1fr; }
  .blueprint-visual { justify-self: center; }
  .price-figure { border-left: 0; border-top: 1px solid var(--line); padding: 45px 0 0; }
  .pricing-clarity, .blueprint-topics, .resource-grid { grid-template-columns: repeat(2, 1fr); }
  .service-period-list, .partner-flow ol { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .partner-flow ol::before { display: none; }
  .partner-flow li { border-top: 1px solid rgba(255,255,255,.18); }
  .footer-nav { padding-left: 0; }
  .story-path article { grid-template-columns: 1fr; }
  .story-path article > p:last-child { grid-column: auto; }
}

@media (max-width: 680px) {
  .site-header { position: absolute; }
  .brand-copy strong { font-size: 13px; }
  .header-actions { margin-left: auto; }
  .mobile-menu { margin-left: 12px; }
  .page-hero { min-height: auto; padding: 135px 20px 80px; }
  .page-hero h1 { font-size: clamp(50px, 15vw, 72px); }
  .page-hero > p:last-child { font-size: 16px; }
  .journey-section, .trust-section, .roles-section, .blueprint-section, .fit-section, .founder-section, .rise-section, .pricing-section, .faq-section, .journey-page-map, .first-thirty, .blueprint-deep, .month-six-section, .pricing-page-main, .service-periods, .pricing-question, .story-opening, .story-path, .principles-section, .founder-quote-section, .faq-page-main, .myth-section, .resource-bridge, .resource-grid-section, .start-path, .readiness-check, .handoff-section, .partner-promise, .partner-flow, .partner-portal-preview, .partner-inquiry, .contact-main, .contact-expectation { padding: 82px 20px; }
  .journey-heading { align-items: start; grid-template-columns: 1fr; margin-bottom: 45px; }
  .journey-heading h2, .journey-page-intro h2 { font-size: 46px; }
  .journey-mobile { padding-left: 5px; }
  .journey-mobile::before { left: 18px; }
  .journey-mobile .journey-node summary { grid-template-columns: 43px 1fr; }
  .journey-mobile .journey-node > p { margin-left: 52px; }
  .journey-truth { align-items: start; }
  .trust-path { grid-template-columns: 1fr; }
  .roles-quote, .fit-note, .resource-preview-note { margin-left: 0; }
  .roles-split { gap: 34px; }
  .role-client { padding-left: 0; }
  .blueprint-section { gap: 45px; }
  .blueprint-visual { height: 390px; transform: scale(.83); transform-origin: left top; width: 390px; }
  .founder-portrait, .founder-portrait-large { min-height: 480px; }
  .destination-paths { grid-template-columns: 1fr; padding-left: 30px; }
  .destination-paths::before { bottom: 12%; height: auto; left: 20px; right: auto; top: 18px; width: 2px; }
  .destination-origin { margin-left: -30px; }
  .destination { padding: 28px 0 35px 34px; }
  .destination::before { left: -17px; top: 33px; }
  .pricing-block { gap: 40px; }
  .faq-list summary { gap: 10px; grid-template-columns: 26px 1fr 20px; }
  .faq-list details > p { margin-left: 36px; }
  .partner-strip { padding: 70px 20px; }
  .final-cta { padding: 90px 20px; }
  .final-cta-path { opacity: .45; width: 58%; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .first-thirty li, .principles-section li { grid-template-columns: 38px 1fr; }
  .first-thirty li > p, .principles-section li > p { grid-column: 2; }
  .blueprint-topics, .pricing-clarity, .resource-grid, .service-period-list, .partner-promise-list, .partner-flow ol { grid-template-columns: 1fr; }
  .month-six-content { gap: 25px; }
  .story-path article { padding: 38px 0; }
  .start-path { gap: 45px; }
  .field-row { grid-template-columns: 1fr; }
  .start-question-strip { padding: 70px 20px; }
  .portal-window { padding: 24px; }
  .site-footer { padding: 70px 20px 25px; }
}
