:root {
  --ink: #293b4b;
  --ink-deep: #263448;
  --paper: #fff9f3;
  --white: #fffdfa;
  --mist: #fff0e3;
  --line: #eddfd5;
  --text: #485361;
  --muted: #727780;
  --accent: #d4885e;
  --pine: #b45e4b;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--paper); color: var(--text); font: 16px/1.62 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
img { display: block; max-width: 100%; }
::selection { background: #fbd9c2; color: var(--ink-deep); }
.container { width: min(1190px, calc(100% - 84px)); margin-inline: auto; }
.skip-link { position: absolute; top: -70px; left: 20px; z-index: 100; background: #fff; padding: 10px 16px; }
.skip-link:focus { top: 10px; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,249,243,.96); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(180,94,75,.14); }
.header-inner { min-height: 91px; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.brand { display: flex; align-items: center; gap: 14px; color: var(--ink); flex: none; }
.brand-logo { display: block; height: 44px; width: 44px; flex: none; }
.brand-name { display: flex; flex-direction: column; line-height: 1.3; }
.brand-name strong { font-size: 15px; letter-spacing: .015em; }
.brand-name > span { color: var(--muted); font-size: 10.7px; margin-top: 5px; }
.primary-navigation { display: flex; align-items: center; gap: clamp(20px,2.7vw,37px); }
.primary-navigation > a { color: var(--ink); font-size: 13px; font-weight: 600; white-space: nowrap; transition: color .2s; }
.primary-navigation > a:hover { color: var(--accent); }
.primary-navigation .nav-cta { color: white; background: var(--pine); padding: 13px 19px; border-radius: 5px; }
.primary-navigation .nav-cta:hover { color: #fff; background: #944a39; }
.nav-cta span { margin-left: 9px; }
.menu-toggle { display: none; }
.hero { position: relative; overflow: hidden; padding: 78px 0 82px; }
.hero::before { content: ''; position: absolute; width: 570px; height: 570px; right: -250px; top: -200px; background: #fbe6d6; border-radius: 50%; opacity: .9; z-index: 0; }
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(48px,7vw,95px); position: relative; z-index: 1; }
.hero-copy { padding: 15px 0 20px; }
.eyebrow { display: flex; gap: 13px; align-items: center; color: var(--pine); font-size: 11px; font-weight: 800; line-height: 1.4; letter-spacing: .17em; text-transform: uppercase; margin: 0 0 20px; }
.eyebrow-line { height: 1px; width: 30px; background: var(--accent); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); color: var(--ink-deep); font-weight: 400; letter-spacing: -.035em; }
h1 { font-size: clamp(45px, 4.7vw, 69px); line-height: 1.09; margin-bottom: 27px; max-width: 690px; }
h1 em { font-weight: 400; color: var(--pine); font-style: italic; }
.hero-intro { font-size: clamp(17px, 1.48vw, 19px); line-height: 1.7; max-width: 570px; color: var(--ink); margin-bottom: 13px; }
.hero-detail { font-size: 15px; max-width: 555px; line-height: 1.85; color: #646a73; margin-bottom: 30px; }
.hero-detail strong { color: var(--ink); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; }
.button { min-height: 51px; padding: 13px 23px; display: inline-flex; justify-content: center; align-items: center; gap: 22px; font-weight: 700; font-size: 13px; border-radius: 5px; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--pine); }
.button-primary:hover { background: #944a39; }
.text-link { font-size: 13px; font-weight: 700; color: var(--pine); padding-bottom: 4px; border-bottom: 1px solid var(--accent); }
.text-link span { margin-left: 6px; }
.hero-note { display: flex; gap: 9px; align-items: center; font-size: 12px; font-weight: 650; color: #606876; margin-top: 20px; }
.hero-format { display: flex; gap: 12px; align-items: flex-start; width: fit-content; max-width: 575px; margin-top: 15px; padding: 13px 16px; border-radius: 8px; color: #666574; background: #fff0e4; border: 1px solid #f3dccc; font-size: 12px; line-height: 1.65; }
.hero-format strong { color: #884738; font-weight: 700; }
.format-icon { font-size: 22px; line-height: 1.25; color: var(--pine); }
.note-icon { border: 1px solid #de997d; border-radius: 50%; display: grid; place-items: center; height: 18px; width: 18px; font-size: 11px; color: var(--pine); }
.hero-visual { position: relative; padding: 0 15px 10px 0; margin: 0 10px 0 0; }
.portrait-frame { position: relative; overflow: hidden; height: clamp(415px, 42vw, 570px); border-radius: 230px 230px 9px 9px; background: #f5e1d2; box-shadow: 0 20px 45px rgba(95,53,43,.09); }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; }
.visual-ornament { position: absolute; z-index: -1; border: 1px solid #efbfa5; height: 220px; width: 220px; border-radius: 50%; right: -45px; top: -29px; }
.trust-strip { background: #fff0e4; border-block: 1px solid #f0ddcc; }
.trust-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 22px; }
.trust-inner > div { display: flex; align-items: center; gap: 13px; color: #706d70; font-size: 13px; }
.trust-inner strong { color: #4b4c59; font-weight: 700; }
.trust-icon { font-size: 23px; color: var(--pine); line-height: 1; }
.section { padding: 106px 0; }
.section-heading h2, .approach-intro h2, .about-body h2, .faq-intro h2, .booking-copy h2 { font-size: clamp(34px, 3.55vw, 49px); line-height: 1.22; }
.heading-centered { max-width: 660px; margin: 0 auto 47px; text-align: center; }
.heading-centered .eyebrow { justify-content: center; }
.heading-centered h2 { margin-bottom: 17px; }
.heading-centered > p:last-child { color: var(--muted); font-size: 15px; }
.approach-section { background: #fcebdc; }
.approach-grid { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(70px, 11vw, 155px); align-items: center; }
.approach-intro h2 { margin-bottom: 24px; }
.approach-intro > p:not(.eyebrow) { font-size: 15px; color: #6b6b76; line-height: 1.86; margin-bottom: 30px; }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: flex; gap: 28px; border-bottom: 1px solid #ebd3c0; padding: 22px 0 24px; }
.process-list li:first-child { padding-top: 0; }
.process-list li:last-child { border-bottom: none; padding-bottom: 0; }
.process-number { color: #cb9176; font-size: 14px; font-family: var(--serif); flex: none; margin-top: 5px; }
.process-list h3 { font: normal 27px/1.23 var(--serif); color: var(--ink); margin-bottom: 8px; }
.process-list p { font-size: 13.5px; color: #747178; line-height: 1.8; margin: 0; }
.about-section { background: var(--white); }
.about-grid { display: grid; grid-template-columns: .7fr 1.2fr; gap: clamp(90px,13vw,190px); align-items: center; }
.about-body h2 { margin-bottom: 24px; }
.about-body > p:not(.eyebrow) { color: #6d6e78; line-height: 1.9; font-size: 14.5px; margin-bottom: 17px; }
.partner-notice { padding: 18px 23px; margin-top: 30px; background: #fff2e8; border-left: 3px solid #d4885e; border-radius: 0 5px 5px 0; }
.partner-notice strong { color: var(--ink); font-size: 13px; }
.partner-notice p { font-size: 12.7px; color: #6c7178; line-height: 1.8; margin: 5px 0 0; }
.faq-grid { display: grid; grid-template-columns: .7fr 1.2fr; gap: clamp(65px,12vw,175px); }
.faq-intro > p:last-child { font-size: 14px; color: var(--muted); line-height: 1.8; }
.faq-list { border-top: 1px solid #ebddd2; }
.faq-list details { border-bottom: 1px solid #ebddd2; padding: 0; }
.faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 25px; align-items: center; padding: 21px 0; font-size: 15px; font-weight: 650; color: var(--ink); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font-weight: 300; font-size: 27px; color: var(--pine); transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { color: #6b7078; font-size: 13.7px; padding: 0 30px 22px 0; margin: 0; line-height: 1.9; }
.booking-section { background: #34445b; color: #fff; padding: 96px 0; }
.booking-grid { display: grid; grid-template-columns: .94fr 1fr; gap: clamp(55px, 9vw, 130px); align-items: center; }
.eyebrow-light { color: #ffdbbe; }
.booking-copy h2 { color: #fff; margin-bottom: 23px; }
.booking-copy > p:not(.eyebrow) { color: #fbe9dd; font-size: 15px; line-height: 1.85; max-width: 450px; }
.booking-copy .booking-format { margin-top: 16px; color: #fff0e5; font-size: 13.5px; }
.booking-copy .booking-format strong { color: #ffe2c0; }
.booking-location { color: #ffddd3; font-size: 13px; margin-top: 30px; }
.booking-location span { margin-right: 7px; font-size: 20px; }
.booking-widget { background: #fffdfa; color: var(--ink); border-radius: 9px; overflow: hidden; box-shadow: 0 25px 55px rgba(15,38,32,.12); }
.booking-widget-top { display: flex; align-items: center; gap: 11px; font-size: 13px; font-weight: 700; border-bottom: 1px solid #f0e4dd; padding: 20px 26px; }
.booking-icon { font-size: 23px; color: var(--pine); }
.booking-widget-content { padding: 42px 35px 48px; }
.booking-label { font-size: 10px; letter-spacing: .13em; color: #b67258; font-weight: 800; }
.booking-widget-content h3 { color: var(--ink); font: normal 30px/1.25 var(--serif); max-width: 340px; margin: 15px 0; }
.booking-widget-content p { color: #76767e; font-size: 14px; line-height: 1.75; }
.coming-soon { display: inline-flex; align-items: center; gap: 10px; padding: 12px 15px; background: #fff0e7; border: 1px solid #f1dacf; color: var(--pine); border-radius: 4px; font-size: 12px; font-weight: 700; margin-top: 7px; }
.coming-soon-dot { height: 7px; width: 7px; background: var(--accent); border-radius: 50%; }
.booking-section .booking-widget { border-top: 5px solid #e4a079; }
.site-footer { background: #fff8f2; padding: 48px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 35px; padding-bottom: 42px; }
.footer-grid > div { display: flex; flex-direction: column; gap: 8px; }
.footer-grid strong { color: var(--ink); font-size: 14px; }
.footer-grid span { color: #7a7778; font-size: 12px; line-height: 1.8; }
.footer-nav a { font-weight: 700; color: var(--pine); font-size: 13px; }
.footer-nav span { max-width: 260px; }
.footer-bottom { border-top: 1px solid #eadbd0; color: #938b87; font-size: 11px; padding: 18px 0 22px; }
@media (max-width: 1080px) {
  .container { width: min(100% - 56px, 1190px); }
  .primary-navigation { gap: 17px; }
  .primary-navigation > a { font-size: 12px; }
  .brand-name > span { font-size: 10px; }
  .hero-grid { gap: 48px; }
  h1 { font-size: clamp(43px,5vw,58px); }
  .about-grid, .faq-grid { gap: 65px; }
}
@media (max-width: 820px) {
  .header-inner { min-height: 75px; }
  .menu-toggle { display: flex; flex-direction: column; gap: 5px; justify-content: center; align-items: center; background: transparent; color: var(--ink); border: 1px solid #e9d2c2; border-radius: 4px; height: 41px; width: 45px; cursor: pointer; }
  .menu-toggle span { display: block; height: 2px; width: 19px; background: currentColor; }
  .primary-navigation { display: none; position: absolute; top: 75px; left: 0; right: 0; background: var(--paper); padding: 16px 28px 26px; box-shadow: 0 22px 35px rgba(82,54,42,.14); border-top: 1px solid var(--line); align-items: stretch; flex-direction: column; gap: 0; }
  .primary-navigation.is-open { display: flex; }
  .primary-navigation > a { font-size: 15px; padding: 13px 5px; }
  .primary-navigation .nav-cta { text-align: center; margin-top: 12px; }
  .hero { padding: 61px 0 73px; }
  .hero-grid { grid-template-columns: 1fr .8fr; gap: 35px; }
  .hero-copy { padding: 0; }
  h1 { font-size: clamp(39px,5.6vw,50px); }
  .hero-detail { font-size: 14px; }
  .hero-intro { font-size: 16px; }
  .portrait-frame { height: 455px; }
  .section { padding: 80px 0; }
  .approach-grid, .about-grid, .faq-grid, .booking-grid { gap: 40px; }
  .trust-inner { justify-content: center; flex-wrap: wrap; gap: 20px 35px; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 36px, 1190px); }
  .site-header .brand-logo { width: 39px; height: 39px; }
  .brand-name strong { font-size: 14px; }
  .brand-name > span { font-size: 9px; }
  .hero { padding: 39px 0 55px; }
  .hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .hero h1 { font-size: clamp(40px,9.5vw,58px); margin-bottom: 23px; }
  .eyebrow { letter-spacing: .12em; font-size: 10px; margin-bottom: 16px; }
  .hero-intro { font-size: 16px; }
  .hero-detail { line-height: 1.75; }
  .hero-actions { gap: 20px; }
  .button { width: 100%; }
  .hero-note { margin-top: 20px; }
  .hero-format { padding: 12px 14px; font-size: 12px; }
  .hero-visual { width: min(420px, 94%); margin: 0 auto; padding: 0 7px 18px 0; }
  .portrait-frame { height: min(530px, 118vw); border-radius: 200px 200px 8px 8px; }
  .visual-ornament { right: -25px; }
  .trust-inner { padding: 20px 0; flex-direction: column; align-items: flex-start; gap: 13px; }
  .trust-inner > div { font-size: 12px; }
  .section { padding: 68px 0; }
  .section-heading h2, .approach-intro h2, .about-body h2, .faq-intro h2, .booking-copy h2 { font-size: clamp(33px, 8vw, 43px); }
  .heading-centered { margin-bottom: 28px; }
  .approach-grid, .about-grid, .faq-grid, .booking-grid { grid-template-columns: 1fr; gap: 38px; }
  .process-list li { gap: 21px; }
  .about-body { order: 1; }
  .booking-section { padding: 72px 0; }
  .booking-widget-content { padding: 32px 27px; }
  .footer-grid { grid-template-columns: 1fr; gap: 25px; }
}
.situation-section {padding: 64px 0 73px; background: #fffefc;}
.situation-heading {max-width: 790px; margin: 0 auto 29px; text-align: center;}
.situation-heading .eyebrow {justify-content:center; margin-bottom: 11px;}
.situation-heading h2 {font-size: clamp(29px, 3.05vw, 42px); line-height: 1.2; margin: 0;}
.situations-list {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:25px 0;}
.situation-item {min-width:0; padding: 0 30px;}
.situation-item:first-child {padding-left: 0;}
.situation-item:last-child {padding-right:0;}
.situation-item + .situation-item {border-left:1px solid var(--line);}
.situation-item h3 {font: 400 clamp(19px, 1.75vw, 23px)/1.24 var(--serif); color:var(--ink-deep); letter-spacing:-.025em; margin:0 0 10px;}
.situation-item p {font-size:13.5px; line-height:1.65; color:var(--text); margin:0;}
@media(max-width:740px){
  .situation-section {padding:51px 0 58px;}
  .situation-heading {margin-bottom:22px;}
  .situations-list {grid-template-columns:1fr; padding:0;}
  .situation-item, .situation-item:first-child, .situation-item:last-child {padding:19px 0;}
  .situation-item + .situation-item {border-left:0;border-top:1px solid var(--line);}
  .situation-item h3 {font-size:22px; margin-bottom:5px;}
  .situation-item p {font-size:14px;line-height:1.6;}
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
.primary-navigation a[aria-current="page"]:not(.nav-cta) { color: var(--pine); }
.primary-navigation a[aria-current="page"]:not(.nav-cta)::after { content: ''; display: block; height: 1px; margin-top: 3px; background: var(--pine); }
.brand:focus-visible, .text-link:focus-visible, .footer-nav a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 55px; margin-bottom: 36px; }
.split-heading > div { flex: 1.1; }
.split-heading > p { flex: .8; max-width: 430px; margin-bottom: 8px; color: var(--muted); line-height: 1.85; font-size: 14px; }
.split-heading h2, .detail-intro-grid h2, .two-col-padded h2, .biography-copy h2, .contact-information h2 { font-size: clamp(34px, 3.55vw, 49px); line-height: 1.2; }
.split-heading h2 { margin-bottom: 0; }
.formula-preview { background: #fffdfa; }
.mini-formula-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.mini-formula { background: #fff6ed; border: 1px solid #f0ded2; border-radius: 10px; padding: 28px 32px 24px; }
.mini-formula-tag, .formula-kicker { display: block; font-size: 11px; color: #a35d4b; font-weight: 750; letter-spacing: .12em; }
.mini-formula strong { display: block; color: var(--ink); font: normal 53px/1.1 var(--serif); letter-spacing: -.055em; margin: 22px 0 6px; }
.mini-formula p { margin: 0; color: #6e707b; font-size: 13px; }
.section-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 32px; }
.section-bottom > p { font-size: 11.5px; max-width: 320px; line-height: 1.65; color: #85818a; margin: 0; }
.button-outline { border: 1px solid #cf8975; color: #a35643; background: transparent; }
.button-outline:hover { background: #fff1e8; }
.closing-cta { background: #34445b; padding: 64px 0; }
.closing-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.closing-cta h2 { color: #fffaf7; font: 400 clamp(30px,3.1vw,43px)/1.2 var(--serif); margin-bottom: 10px; }
.closing-cta p:not(.eyebrow) { color: #f5ded0; font-size: 14px; margin: 0; }
.button-light { background: #fff8f2; color: var(--ink-deep); flex: none; }
.button-light:hover { background: #fff0e4; }
.footer-nav a { font-size: 12px; font-weight: 550; }
.footer-nav a:hover { text-decoration: underline; }
.subhero { position: relative; isolation: isolate; overflow: hidden; padding: 46px 0 86px; background: radial-gradient(circle at 84% 44%, #f9dfcd 0, #f9dfcd 15%, transparent 40%), #fff9f3; }
.subhero::after { position: absolute; content: ''; width: 300px; height: 300px; right: -95px; top: -105px; border: 1px solid #e9c1a8; border-radius: 50%; z-index: -1; }
.subhero-inner { max-width: 1100px; }
.breadcrumb { display: flex; gap: 10px; color: #92847b; font-size: 12px; margin: 0 0 55px; }
.breadcrumb a:hover { color: var(--pine); text-decoration: underline; }
.subhero .eyebrow { margin-bottom: 15px; }
.subhero h1 { max-width: 850px; margin-bottom: 27px; font-size: clamp(42px,5.3vw,66px); }
.subhero h1 em { color: var(--pine); }
.subhero-inner > p:not(.breadcrumb,.eyebrow) { color: #636976; font-size: clamp(16px, 1.4vw, 18px); max-width: 740px; line-height: 1.8; }
.subhero .hero-actions { margin-top: 27px; }
.detail-intro-section { background: #fffdfa; }
.detail-intro-grid, .two-col-padded { display: grid; grid-template-columns: .78fr 1fr; gap: clamp(50px, 9vw, 140px); }
.detail-intro-grid p, .two-col-padded p { font-size: 15px; color: #646d77; line-height: 1.9; }
.soft-fact { margin-top: 23px; background: #fff1e8; border-left: 3px solid var(--accent); padding: 19px 24px; display: flex; flex-direction: column; gap: 5px; }
.soft-fact strong { font: normal 24px/1.3 var(--serif); color: var(--ink); }
.soft-fact span { font-size: 13px; line-height: 1.8; color: #6e7179; }
.phase-detail-section { background: #fff1e5; }
.phase-detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.phase-detail { display: flex; flex-direction: column; padding: 32px 28px 34px; background: #fffbf7; border: 1px solid #ebdacc; border-radius: 9px; }
.phase-detail.featured-phase { background: #f7e4d5; border-color: #e6bdab; }
.phase-mark { display: flex; align-items: center; justify-content: space-between; gap: 20px; font: normal 17px var(--serif); color: #bb6e52; margin-bottom: 23px; }
.phase-mark span { font-size: 27px; }
.phase-detail h3 { font: normal 28px/1.2 var(--serif); color: var(--ink); margin-bottom: 10px; }
.phase-lead { font-size: 13px !important; font-weight: 750; color: #a65d49 !important; }
.phase-detail > p:not(.phase-lead) { color: #6b7079; font-size: 13px; line-height: 1.85; }
.phase-detail ul { margin: auto 0 0; padding: 18px 0 0 17px; border-top: 1px solid #ebd4c4; }
.phase-detail li { color: #68717a; font-size: 12.5px; line-height: 1.7; margin: 0 0 9px; }
.detail-callout { margin-top: 22px; padding: 22px 27px; background: rgba(255,255,255,.64); border-radius: 8px; display: flex; align-items: center; gap: 25px; }
.detail-callout strong { color: var(--ink); font-size: 15px; min-width: 190px; }
.detail-callout p { color: #696f78; font-size: 13px; line-height: 1.8; margin: 0; }
.formats-section { background: #fffdfa; }
.two-col-padded h2 { margin-bottom: 0; }
.two-col-padded p:last-child { margin-bottom: 0; }
.formulas-section { background: #fff9f3; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.pricing-card { display: flex; flex-direction: column; border: 1px solid #eddfd5; background: #fffdfa; border-radius: 10px; padding: 30px 29px; }
.pricing-card h3 { font: normal 33px/1.18 var(--serif); color: var(--ink); margin: 13px 0 25px; }
.pricing-duration { border-top: 1px solid #ebdacc; padding-top: 23px; display: flex; flex-direction: column; }
.pricing-duration strong { font: normal 57px/1.1 var(--serif); letter-spacing: -.055em; color: var(--ink); }
.pricing-duration span { font-size: 12px; color: #6b6c75; margin: 3px 0 15px; }
.pricing-card > p { color: #6a6f78; font-size: 13px; line-height: 1.8; min-height: 72px; }
.pricing-disclaimer { font-size: 11.5px; max-width: 920px; line-height: 1.8; color: #827f85; margin: 23px auto 0; text-align: center; }
.financing-section { background: #fffdfa; }
.funding-options-grid { display: grid; grid-template-columns: 1.16fr 1fr 1fr; gap: 17px; }
.funding-option { border: 1px solid #ebddd1; background: #fff9f3; border-radius: 9px; padding: 27px; }
.funding-option-main { background: #fae8dc; }
.funding-icon { display: grid; place-items: center; width: 43px; height: 43px; background: #fff; border-radius: 50%; color: #bd684a; font: normal 22px var(--serif); }
.funding-option h3 { font: normal 27px var(--serif); color: var(--ink); margin: 19px 0 15px; }
.funding-option p { font-size: 13px; line-height: 1.85; color: #667078; }
.funding-option p:last-child { margin-bottom: 0; }
.funding-close { margin-top: 31px; display: flex; justify-content: space-between; gap: 45px; align-items: center; }
.funding-close p { color: #6c727a; line-height: 1.9; font-size: 13.5px; margin: 0; max-width: 660px; }
.funding-close .button { flex: none; }
.detail-faq { background: #fff7f0; }
.biography-section { background: #fffdfa; }
.biography-grid { display: grid; grid-template-columns: .7fr 1fr; align-items: center; gap: clamp(50px, 8vw, 120px); }
.biography-portrait { border-radius: 210px 210px 9px 9px; overflow: hidden; background: #f4e1d1; }
.biography-portrait img { width: 100%; max-height: 680px; object-fit: cover; }
.biography-copy > p:not(.eyebrow) { color: #69717b; font-size: 14px; line-height: 1.95; }
.biography-copy .partner-notice { margin-bottom: 27px; }
.values-section { background: #fff1e5; }
.contact-content { background: #fffdfa; }
.contact-information > p:not(.eyebrow) { color: #66707b; line-height: 1.9; font-size: 14.5px; }
.contact-facts { margin-top: 30px; display: flex; flex-direction: column; gap: 18px; }
.contact-facts > div { display: flex; align-items: start; gap: 15px; }
.contact-fact-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border: 1px solid #edd2bd; border-radius: 50%; color: var(--pine); background: #fff5eb; }
.contact-facts p { color: #6c737c; font-size: 13px; line-height: 1.75; margin: 0; }
.contact-facts strong { color: var(--ink); }
.contact-information .partner-notice { margin-top: 33px; }
.contact-content .booking-grid { align-items: start; }
.contact-content .booking-widget { border-top: 5px solid #e4a079; box-shadow: 0 24px 65px rgba(41,59,75,.09); }
.contact-reassurance { background: #fff2e7; }
@media (max-width: 1080px) {
  .header-inner { gap: 18px; }
  .primary-navigation { gap: 15px; }
  .primary-navigation > a { font-size: 11.5px; }
  .primary-navigation .nav-cta { padding: 12px 14px; }
  .funding-close { flex-direction: column; align-items: start; }
}
@media (max-width: 820px) {
  .primary-navigation a[aria-current="page"]:not(.nav-cta)::after { display: none; }
  .split-heading { align-items: start; flex-direction: column; gap: 16px; }
  .split-heading > p { max-width: 640px; }
  .detail-intro-grid, .two-col-padded, .biography-grid { grid-template-columns: 1fr; gap: 30px; }
  .phase-detail-grid, .pricing-grid, .funding-options-grid { grid-template-columns: 1fr; }
  .phase-detail { padding: 26px; }
  .phase-detail > p:not(.phase-lead), .pricing-card > p { min-height: unset; }
  .detail-callout { align-items: start; flex-direction: column; gap: 7px; }
  .biography-portrait { max-width: 390px; }
  .closing-cta-inner { flex-direction: column; align-items: start; }
  .subhero { padding-bottom: 65px; }
}
@media (max-width: 640px) {
  .mini-formula-grid { grid-template-columns: 1fr; gap: 10px; }
  .mini-formula { padding: 18px 23px; display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; }
  .mini-formula-tag { grid-column: 1; }
  .mini-formula strong { grid-row: span 2; grid-column: 2; margin: 0; font-size: 39px; }
  .mini-formula p { grid-column: 1; font-size: 11px; }
  .section-bottom { flex-direction: column; align-items: stretch; gap: 15px; }
  .section-bottom > p { max-width: 100%; text-align: center; }
  .funding-highlight { padding: 25px; }
  .subhero { padding: 24px 0 60px; }
  .subhero .breadcrumb { margin-bottom: 38px; }
  .subhero h1 { font-size: clamp(39px,9vw,52px); }
  .subhero .hero-actions .button { width: 100%; }
  .funding-close .button, .closing-cta .button { width: 100%; }
  .pricing-card { padding: 25px; }
  .footer-grid { grid-template-columns: 1fr; }
}
.pricing-card .formula-schedule {
  margin-top: 0;
  margin-bottom: 22px;
  min-height: 75px;
  color: #394556;
  font-size: 12.5px;
  line-height: 1.7;
}
.formula-schedule strong { color: #a54f37; }
@media (max-width: 820px) { .pricing-card .formula-schedule { min-height: 0; } }
.hero h1 { margin-bottom: 9px; font-size: clamp(38px, 4.35vw, 60px); line-height: 1.08; }
.hero-heading-line { display: block; white-space: nowrap; letter-spacing: -.048em; }
.hero-tagline { font: italic 400 clamp(30px, 3.35vw, 45px)/1.21 var(--serif); letter-spacing: -.035em; color: var(--pine); max-width: 525px; margin: 0 0 29px; }
.about-grid { grid-template-columns: .78fr 1.2fr; gap: clamp(55px, 8vw, 125px); }
.cabinet-summary { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(27px, 3.4vw, 43px); border-radius: 11px; background: linear-gradient(145deg,#fff3e8,#fae1cf); border: 1px solid #efcfba; }
.cabinet-summary-icon { width: 47px; height: 47px; display: grid; place-items: center; margin-bottom: 29px; border-radius: 50%; background: #fff9f3; color: var(--pine); font-size: 32px; font-weight: 300; }
.cabinet-summary .eyebrow { margin-bottom: 13px; font-size: 10px; }
.cabinet-summary h3 { font: 400 clamp(26px,2.5vw,35px)/1.19 var(--serif); letter-spacing: -.025em; color: var(--ink); margin: 0 0 26px; }
.cabinet-summary address { color: var(--ink); font-size: 14px; font-style: normal; line-height: 1.7; font-weight: 750; border-left: 2px solid #ce876a; padding-left: 14px; margin-bottom: 20px; }
.cabinet-summary > p:not(.eyebrow) { color: #66707b; font-size: 13.5px; line-height: 1.85; margin-bottom: 21px; }
.cabinet-summary .text-link { margin-top: 2px; }
.cabinet-location-section { background: #fff7ef; }
.cabinet-location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(55px,9vw,126px); align-items: center; }
.cabinet-location-copy h2 { font-size: clamp(34px,3.6vw,49px); line-height: 1.2; }
.cabinet-location-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.95; color: #69717b; }
.cabinet-location-address { display: flex; align-items: flex-start; gap: 15px; padding: 23px 25px; border: 1px solid #e9cbb9; border-radius: 8px; background: #fffdfa; margin: 29px 0 26px; }
.cabinet-location-address > span { font-size: 29px; line-height: 1; color: var(--pine); }
.cabinet-location-address address { font-style: normal; line-height: 1.75; color: #606875; font-size: 14px; }
.cabinet-location-address strong { color: var(--ink); }
@media (max-width: 1080px) {
  .hero h1 { font-size: clamp(37px, 4.15vw, 52px); }
}
@media (max-width: 820px) {
  .about-grid, .cabinet-location-grid { grid-template-columns: 1fr; gap: 38px; }
  .cabinet-summary { max-width: none; }
}
@media (max-width: 640px) {
  .hero h1 { font-size: clamp(28px, 8vw, 37px); }
  .hero-tagline { font-size: clamp(30px, 8vw, 39px); }
  .cabinet-location-section { padding-top: 68px; }
  .cabinet-summary { padding: 29px; }
}
@media (max-width: 350px) {
  .hero h1 { font-size: 27px; }
}
.footer-location a { font-size:13px; color:var(--pine); font-weight:650; }
.site-footer .footer-nav a { overflow-wrap:anywhere; }
.phase-detail { background:#fffbf7; border-color:#ebdacc; }
.contact-content .booking-grid { align-items: center; }
.contact-content .contact-information h2 { margin-bottom: 12px; }
.cabinet-location-grid { grid-template-columns: .85fr 1.15fr; gap: clamp(35px,5.5vw,88px); }
.cabinet-location-copy p { max-width: 460px; }
.cabinet-route-link { margin-top: 18px; text-align: center; }
.cabinet-photo { margin: 0; min-width: 0; }
.cabinet-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.4; object-fit: cover; object-position: 50% 53%; border-radius: 12px; box-shadow: 0 24px 56px rgba(41,59,75,.11); }
.cabinet-photo figcaption { margin-top: 13px; font-size: 12px; color: #69717b; text-align: right; }
@media (max-width: 820px) {
  .cabinet-location-grid { grid-template-columns: 1fr; }
  .cabinet-photo { max-width: 680px; width: 100%; margin: 0 auto; }
}
@media (max-width: 640px) {
  .cabinet-route-link { width: 100%; }
  .cabinet-photo img { aspect-ratio: 4/3; }
}
.cal-booking-explainer { font-size: 14px; line-height: 1.65; }
.cal-launch { border: 0; cursor: pointer; text-align: center; }
.cal-launch[hidden], .cal-inline[hidden], .cal-direct-link[hidden] { display: none !important; }
.cal-inline { width: 100%; min-height: 615px; overflow: auto; border-radius: 6px; background: var(--white); }
.cal-booking-status:not(:empty) { padding: 12px 0; color: var(--ink); font-size: 14px; }
.cal-booking-privacy { margin-top: 15px; font-size: 12px !important; }
.cal-booking-privacy a, .cal-direct-link { color: var(--pine); text-decoration: underline; text-underline-offset: 3px; }
.cal-direct-link { display: inline-block; font-weight: 650; font-size: 13px; margin-top: 10px; }
.legal-section { background: var(--white); }
.legal-hero { padding-bottom: 32px; }
.legal-content { max-width: 800px; font-size: 15px; line-height: 1.8; }
.legal-content h2 { font-size: clamp(27px, 3vw, 36px); margin: 30px 0 10px; }
.legal-content p { margin-bottom: 17px; }
.legal-content a { text-decoration: underline; text-underline-offset: 3px; color: var(--pine); }
.legal-content dl { display: grid; grid-template-columns: minmax(180px, 1fr) 1.4fr; gap: 12px 24px; }
.legal-content dt { color: var(--ink); font-weight: 650; }
.legal-content dd { margin: 0; }
.legal-draft { padding: 16px 20px; background: #fff0e3; border-left: 3px solid var(--accent); border-radius: 4px; }
.footer-nav { gap: 4px; }
@media (max-width: 700px) {
 .cal-inline { min-height: 680px; }
 .legal-content dl { grid-template-columns: 1fr; gap: 2px; }
 .legal-content dd { margin-bottom: 12px; }
}
.booking-page-intro {padding: 26px 0 18px; background:var(--paper);}
.booking-page-intro .subhero-inner {max-width: 1100px;}
.booking-page-intro .breadcrumb {margin-bottom:10px;}
.booking-page-intro .eyebrow {margin-bottom:5px;}
.booking-page-intro h1 {font-size:clamp(34px,3.5vw,49px);line-height:1.13;margin:3px 0 10px;}
.booking-page-intro h1 + p {font-size:15px;line-height:1.6;margin:0;max-width:800px;}
.booking-calendar-section {padding:18px 0 55px;background:#f8faf9;}
.booking-calendar-section .container {max-width:1180px;}
.booking-calendar-heading {display:flex;align-items:center;justify-content:space-between;gap:15px 30px;margin:0 0 13px;flex-wrap:wrap;}
.booking-calendar-label {font-size:14px;color:var(--ink);font-weight:720;letter-spacing:-.01em;}
.booking-calendar-label > span {margin-right:8px;color:var(--pine);font-size:20px;}
.booking-location-short {font-size:12.5px;color:var(--pine);text-decoration:underline;text-underline-offset:4px;}
.cal-booking-full {background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 16px 12px;box-shadow:0 12px 40px rgba(37,56,77,.07);}
.cal-booking-full .cal-inline {width:100%;min-height:610px;overflow:visible;border-radius:8px;}
.cal-booking-full .cal-inline iframe {display:block;max-width:100%;min-height:610px;}
.cal-booking-full .cal-booking-privacy {margin:8px 5px 2px; font-size:11.5px!important;}
.cal-booking-full .cal-direct-link {font-size:12px; margin:5px 5px 0;}
.cal-booking-full .cal-booking-status:not(:empty) {text-align:center;font-size:13px;padding:12px 0;color:var(--text);}
.cal-unavailable .cal-booking-status {padding:20px 0;}
.cal-skeleton {display:grid;grid-template-columns:1fr 1.45fr .8fr;gap:30px;padding:30px 26px; min-height:510px;}
.cal-skeleton-side,.cal-skeleton-hours {display:flex;flex-direction:column;gap:16px;}
.cal-skeleton-side span,.cal-skeleton-hours span,.cal-skeleton-heading,.cal-skeleton-days {display:block;background:linear-gradient(90deg,#edf1f2 20%,#f7f9f9 50%,#edf1f2 80%);background-size:220% 100%;animation:cal-shimmer 1.8s ease-in-out infinite;border-radius:7px;}
.cal-skeleton-side span {height:28px;}
.cal-skeleton-side span:first-child {height:40px;}
.cal-skeleton-month .cal-skeleton-heading {height:38px;margin-bottom:22px;}
.cal-skeleton-month .cal-skeleton-days {height:280px;}
.cal-skeleton-hours span {height:51px;}
.cal-booking-full.cal-script-loaded .cal-skeleton {display:none;}
@keyframes cal-shimmer {to{background-position-x:-220%;}}
@media(max-width:800px){
 .booking-page-intro {padding:22px 0 15px;}
 .booking-calendar-section {padding:12px 0 40px;}
 .cal-booking-full{padding:6px 7px 14px;}
 .cal-booking-full .cal-inline {min-height:720px;}
 .cal-skeleton{grid-template-columns:1fr;min-height:560px;padding:30px 18px;}
 .cal-skeleton-side,.cal-skeleton-hours{display:none;}
}
@media(max-width:500px){
 .booking-page-intro .breadcrumb{margin-bottom:9px;}
 .booking-page-intro .eyebrow{font-size:9px;}
 .booking-page-intro h1 {font-size:33px;}
 .booking-calendar-label{font-size:12px;}
 .booking-location-short{font-size:11px;}
 .cal-booking-full .cal-inline{min-height:680px;}
 .cal-booking-full .cal-inline iframe{min-height:680px;}
}
@media(prefers-reduced-motion:reduce){.cal-skeleton-side span,.cal-skeleton-hours span,.cal-skeleton-heading,.cal-skeleton-days{animation:none;}}
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.booking-intro-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(320px,.85fr);
  gap: clamp(24px,4vw,65px);
  align-items: center;
}
.booking-intro-main { min-width: 0; }
.booking-page-intro .booking-intro-main > p:last-child {
  font-size: 15px; line-height: 1.6; color: var(--text); margin: 0; max-width: 640px;
}
.booking-direct-contact {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  border-radius: 10px;
  padding: 18px 19px;
  box-shadow: 0 9px 28px rgba(37,56,77,.04);
  min-width: 0;
}
.booking-direct-heading {
  color: var(--ink-deep);
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 12px;
}
.booking-direct-actions { display: grid; gap: 6px; }
.booking-direct-method {
  display: flex; gap: 10px; align-items: center;
  padding: 8px 9px;
  color: var(--ink);
  border-radius: 7px;
  text-decoration: none;
  transition: background .15s ease;
  min-width: 0;
}
.booking-direct-method:hover,.booking-direct-method:focus-visible {background:var(--mist);}
.booking-direct-symbol {flex: 0 0 28px;display:grid;place-items:center;color:var(--pine);font-size:19px;}
.booking-direct-method span:last-child {display:flex;flex-direction:column;gap:2px;min-width:0;}
.booking-direct-method small {font-size:11px;font-weight:500;color:var(--muted);}
.booking-direct-method strong {font-size:13.5px;line-height:1.35;font-weight:680;overflow-wrap:anywhere;}
@media(max-width:850px) {
  .booking-intro-grid {grid-template-columns: 1fr;gap:17px;}
  .booking-direct-contact {padding:12px 15px;}
  .booking-direct-actions {grid-template-columns: 1fr 1.15fr;gap:6px;}
  .booking-direct-method {padding:5px;}
}
@media(max-width:560px) {
  .booking-direct-heading {font-size:12px;margin-bottom:6px;}
  .booking-direct-actions {grid-template-columns:1fr;gap:0;}
  .booking-direct-method {padding:5px 2px;}
  .booking-direct-method strong {font-size:13px;}
  .booking-calendar-label {line-height:1.55;display:inline-block;}
}
@media(prefers-reduced-motion:reduce) {.booking-direct-method {transition:none;}}
:root{--ink:#503951;--ink-deep:#422e46;--paper:#faf7f9;--white:#fffefd;--mist:#f1e6ee;--line:#e8dce7;--text:#5c5260;--muted:#796f7a;--accent:#c77c89;--pine:#8c4c67;--serif:Georgia,'Times New Roman',serif}
body{background:var(--paper)}
.site-header{background:rgba(255,253,254,.97);border-color:#eadfeb}
.primary-navigation .nav-cta,.button-primary{background:#683f5d;border-radius:4px}
.primary-navigation .nav-cta:hover,.button-primary:hover{background:#815372}
.hero{background:linear-gradient(110deg,#fbf7fa,#f4eaf2 54%,#efe1ed);padding:84px 0 100px}
.hero::before{background:transparent;border:1px solid #dec7da;width:440px;height:440px;top:40px;right:-300px}
.hero h1{font-size:clamp(39px,4.45vw,64px);letter-spacing:-.062em}
.hero-tagline{color:#9d6685}
.eyebrow{color:#975b78}
.eyebrow-line{background:#ab7696}
.hero-format{border:1px solid #e7d4e4;background:#fffafe;border-radius:3px}
.hero-format strong{color:#744b70}
.hero-visual{padding:16px 18px 0 0}
.portrait-frame{border-radius:3px;height:clamp(440px,42vw,590px);box-shadow:25px 25px 0 #d7b5cd}
.visual-ornament{width:90%;height:90%;top:-16px;right:-28px;border-radius:0;border-color:#9f769a}
.mini-formula,.pricing-card,.phase-detail,.funding-option{background:#fffefd;border-radius:4px;border-color:#e9dfe8}
.process-number{color:#b67392}
.approach-section,.phase-detail-section,.values-section{background:#eee2ed}
.formula-preview,.about-section,.detail-intro-section,.financing-section,.formats-section,.contact-content{background:#fffdfd}
.mini-formula{background:#f9f2f8}
.mini-formula-tag,.formula-kicker{color:#915576}
.cabinet-summary{background:linear-gradient(125deg,#f6eaf3,#f8eff4);border-color:#e6cedf;border-radius:4px}
.cabinet-summary-icon{background:white;color:#8c4c67}
.partner-notice{background:#f6ebf3;border-left-color:#ab7696}
.faq-section{background:#fcf9fc}
.subhero{background:radial-gradient(circle at 90% 30%,#e9d5e5 0%,transparent 33%),#faf6fa}
.subhero::after{border-color:#d9b7d1}
.soft-fact,.detail-faq,.contact-reassurance,.cabinet-location-section{background:#f7eef5}
.funding-option-main{background:#f3e3f1}
.contact-detail-icon{background:#f6e8f2;color:#7c486d}
.booking-section,.closing-cta{background:#503a55}
.button-outline{border-color:#b78baf;color:#774b73;border-radius:4px}
.button-light{border-radius:4px}
.site-footer{background:#f7f1f6}
@media(max-width:640px){.portrait-frame{border-radius:3px;height:min(530px,118vw);box-shadow:12px 12px 0 #d7b5cd}.hero{padding:45px 0 67px}}
.detail-intro-section {padding: clamp(76px,8vw,118px) 0;}
.detail-feature {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); align-items:stretch; gap:clamp(34px,5vw,74px);}
.detail-feature-head {padding:35px 0 40px;display:flex;flex-direction:column;justify-content:center;}
.detail-feature-head .eyebrow {margin-bottom:26px;}
.detail-feature-head h2 {font-size:clamp(37px,3.65vw,54px);line-height:1.16;letter-spacing:-.045em;margin:0;}
.detail-feature-head h2 em {font-style:italic; font-weight:400;color:var(--pine);}
.detail-feature-copy {position:relative;background:var(--mist);padding:clamp(32px,3.8vw,56px);border-left:3px solid var(--accent);display:flex;flex-direction:column;justify-content:center;min-height:290px;}
.detail-feature-marker {position:absolute;top:21px;right:25px;color:var(--pine);opacity:.5;font:normal 30px/1 var(--serif);}
.detail-feature-copy p {font-size:clamp(15px,1.23vw,17px);line-height:1.75;color:var(--text);margin:0 0 16px;}
.detail-feature-copy p:last-child {margin-bottom:0;}
.detail-feature-copy .detail-feature-lead {color:var(--ink);font-size:clamp(16px,1.4vw,19px);line-height:1.68;}
.detail-feature-copy strong {color:var(--ink);font-weight:700;}
.phase-detail {padding:clamp(25px,2.4vw,35px);}
.phase-detail h3 {font-size:clamp(28px,2.4vw,34px);}
.phase-detail .phase-lead {font-size:14px!important;line-height:1.45;min-height:2.9em;margin-bottom:14px;}
.phase-detail > p:not(.phase-lead) {font-size:14px;line-height:1.75;margin-bottom:22px;}
.phase-detail ul {border-color:var(--line);padding:20px 0 0 18px; margin-top:auto;}
.phase-detail li {font-size:13px;line-height:1.65; margin-bottom:7px;}
.phase-detail-note {margin:27px auto 0;max-width:850px;font-size:14px;line-height:1.8;text-align:center;color:var(--text);}
.quiet-contact {padding:34px 0;background:var(--mist);border-top:1px solid var(--line);}
.quiet-contact-inner {display:flex;align-items:center;justify-content:space-between;gap:30px;}
.quiet-contact-inner strong {font:400 26px/1.2 var(--serif);color:var(--ink);}
.quiet-contact-inner p {margin:5px 0 0;font-size:13.5px;color:var(--text);}
.quiet-contact-inner .text-link {white-space:nowrap;}
.funding-close {align-items:center;}
@media(max-width:950px){.detail-feature{gap:30px}.detail-feature-head h2{font-size:clamp(34px,4vw,46px)}}
@media(max-width:820px){.detail-feature{grid-template-columns:1fr;gap:22px}.detail-feature-head{padding:0}.detail-feature-copy{min-height:0}.phase-detail .phase-lead{min-height:0}}
@media(max-width:640px){.detail-intro-section{padding:64px 0}.detail-feature-head h2{font-size:clamp(32px,8vw,44px)}.detail-feature-copy{padding:27px 24px}.quiet-contact-inner{align-items:flex-start;flex-direction:column;gap:16px}.phase-detail > p:not(.phase-lead){font-size:14px}}
:root {
  --ink: #2D465A; --ink-deep: #24394C; --paper: #FAF9F6; --white: #FFFFFF;
  --mist: #EAF1F4; --line: #DBE4E9; --text: #506270; --muted: #6D7982;
  --accent: #C98269; --pine: #3E6681;
  --tone-soft: #EAF1F4; --tone-light: #D5E5ED; --tone-photo: #E5EEF1;
}
html { background: var(--paper); }
body { background: var(--paper); color:var(--text); }
h1, h2, .process-list h3, .funding-option h3,
.pricing-card h3, .phase-detail h3, .site-footer strong {color:var(--ink-deep)}
.site-header { background: color-mix(in srgb, var(--white) 94%, transparent); border-color:var(--line); }
.brand, .primary-navigation > a, .brand-name strong {color:var(--ink)}
.brand-name > span, .hero-detail, .about-body > p:not(.eyebrow),
.biography-copy > p:not(.eyebrow), .process-list p,
.phase-detail > p:not(.phase-lead), .pricing-card > p,
.funding-option p, .faq-list details p, .funding-close p,
.booking-widget-content p, .contact-information > p:not(.eyebrow) {color:var(--text)}
.eyebrow, .hero-tagline, h1 em, .subhero h1 em, .text-link, .footer-nav a,
.mini-formula-tag, .formula-kicker, .pricing-disclaimer, .funding-icon,
.phase-mark, .phase-lead, .process-number,
.contact-detail-icon, .contact-fact-icon, .breadcrumb a:hover {color:var(--pine)}
.eyebrow-line, .primary-navigation a[aria-current='page']:not(.nav-cta)::after {background:var(--accent)}
.primary-navigation a[aria-current='page']:not(.nav-cta) {color:var(--pine)}
.primary-navigation .nav-cta, .button-primary {background:var(--pine); color:white}
.primary-navigation .nav-cta:hover, .button-primary:hover {background:var(--ink-deep); color:white}
.text-link {border-color:var(--accent)}
.button-outline {border-color:var(--accent); color:var(--pine)}
.button-outline:hover {background:var(--mist)}
.hero {background:linear-gradient(113deg,var(--paper) 0%,var(--mist) 54%,var(--tone-photo) 100%)}
.hero::before {border-color:var(--line); background:transparent}
.hero-intro {color:var(--ink)}
.hero-detail strong {color:var(--ink)}
.hero-note, .hero-format {color:var(--text)}
.hero-format {background:color-mix(in srgb, var(--white) 84%, var(--mist)); border-color:var(--line)}
.hero-format strong, .hero-format .format-icon, .note-icon {color:var(--pine)}
.note-icon {border-color:var(--accent)}
.portrait-frame {background:var(--tone-photo); box-shadow:25px 25px 0 var(--tone-light)}
.visual-ornament {border-color:var(--accent)}
.trust-strip {background:var(--mist); border-color:var(--line)}
.trust-inner > div, .trust-inner strong {color:var(--ink)}
.trust-icon {color:var(--accent)}
.section-heading p, .split-heading > p, .heading-centered > p:last-child,
.about-body p:not(.eyebrow), .faq-intro > p:last-child {color:var(--text)}
.mini-formula, .pricing-card, .phase-detail, .funding-option {background:var(--white); border-color:var(--line)}
.mini-formula {background:color-mix(in srgb,var(--white) 72%,var(--mist))}
.approach-section, .phase-detail-section, .values-section {background:var(--mist)}
.approach-section .process-list li, .process-list li, .faq-list, .faq-list details,
.pricing-duration, .phase-detail ul {border-color:var(--line)}
.formula-preview, .about-section, .detail-intro-section, .financing-section,
.formats-section, .contact-content, .biography-section {background:var(--white)}
.formulas-section, .faq-section {background:var(--paper)}
.funding-option-main, .soft-fact, .detail-faq, .contact-reassurance, .cabinet-location-section {background:var(--mist)}
.funding-icon, .cabinet-summary-icon, .contact-detail-icon, .contact-fact-icon {background:var(--white); color:var(--pine)}
.partner-notice, .cabinet-summary {background:color-mix(in srgb,var(--white) 47%,var(--mist)); border-color:var(--accent)}
.partner-notice strong {color:var(--ink)}
.partner-notice p {color:var(--text)}
.subhero {background:radial-gradient(circle at 86% 35%,var(--tone-light) 0%, transparent 38%),var(--paper)}
.subhero::after {border-color:var(--line)}
.subhero-inner > p:not(.breadcrumb,.eyebrow), .breadcrumb,
.detail-intro-grid p, .two-col-padded p {color:var(--text)}
.pricing-card, .phase-detail {border-color:var(--line)}
.phase-detail.featured-phase {background:var(--white);border-color:var(--line)}
.phase-lead {color:var(--pine)!important}
.soft-fact {border-left-color:var(--accent)}
.cabinet-summary {background:linear-gradient(125deg,var(--mist),var(--tone-photo)); border-color:var(--line)}
.contact-detail-icon, .contact-fact-icon {border-color:var(--line)}
.booking-section, .closing-cta {background:var(--ink-deep)}
.booking-section .eyebrow-light, .closing-cta .eyebrow-light {color:var(--tone-light)}
.booking-copy > p:not(.eyebrow), .booking-copy .booking-format,
.booking-copy .booking-format strong, .booking-location, .closing-cta p:not(.eyebrow) {color:var(--tone-light)}
.booking-widget {background:var(--white); border-color:var(--line)}
.booking-section .booking-widget, .contact-content .booking-widget {border-top:5px solid var(--accent)}
.booking-widget-top {border-color:var(--line); color:var(--ink)}
.booking-icon, .booking-label {color:var(--pine)}
.coming-soon {background:var(--mist);border-color:var(--line);color:var(--pine)}
.coming-soon-dot {background:var(--accent)}
.button-light {background:var(--white);color:var(--ink-deep)}
.button-light:hover {background:var(--mist)}
.site-footer {background:var(--mist)}
.footer-grid span, .footer-bottom {color:var(--text)}
.footer-bottom {border-color:var(--line)}
@media(max-width:820px) {
 .primary-navigation {background:var(--paper);border-color:var(--line)}
 .menu-toggle {border-color:var(--line)}
}
@media(max-width:640px) {
 .portrait-frame {box-shadow:12px 12px 0 var(--tone-light)}
}
.hero {background:radial-gradient(ellipse at 95% 35%,rgba(237,208,189,.42),transparent 43%), linear-gradient(118deg,#FBFAF7 0%,#F2F5F4 48%,#E6EEF2 100%);}
.hero .hero-tagline {color:#A46751;max-width:530px;font-size:clamp(18px,2vw,24px);letter-spacing:-.016em;}
.hero-copy .hero-detail {font-size:15px;line-height:1.87;}
.hero-copy .hero-intro {line-height:1.67;}
.eyebrow {letter-spacing:.095em;}
.button-primary,.primary-navigation .nav-cta {border-radius:9px;}
.button-outline {border-radius:8px;}
.mini-formula,.pricing-card,.phase-detail,.funding-option {border-radius:12px;}
.about-section {background:#FFFEFC;}
.cabinet-summary-warm {padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--white);}
.cabinet-visual-link {display:block;aspect-ratio: 1.54;overflow:hidden;}
.cabinet-visual-link img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease;}
.cabinet-visual-link:hover img {transform:scale(1.025);}
.cabinet-summary-content {padding:28px 30px 32px;}
.cabinet-summary-content .eyebrow {margin-bottom:10px;}
.cabinet-summary-content h3 {font-size:clamp(23px,2.3vw,30px);line-height:1.22;margin-bottom:10px;}
.cabinet-summary-content address {font-size:13px;line-height:1.7;margin-bottom:16px;}
.cabinet-summary-content .text-link {font-size:13px;}
.partner-notice {background:#F3F6F7;border-left-color:#C98269;border-radius:0 8px 8px 0;}
.detail-feature-copy {background:#F0F5F6;border-radius:0 12px 12px 0;}
.process-list h3 {letter-spacing:-.03em;}
.phase-detail .phase-lead {line-height:1.45;}
.subhero {background:radial-gradient(circle at 82% 20%,rgba(236,206,186,.32),transparent 42%),#FAF9F6;}
.booking-widget {box-shadow:0 16px 44px rgba(37,56,77,.08);}
.cabinet-photo img {border-radius:8px;}
@media(max-width:640px){.cabinet-summary-content {padding:23px 22px 25px;}.hero-copy .hero-detail {font-size:14px;}}
@media(prefers-reduced-motion:reduce){.cabinet-visual-link img{transition:none;}}
.site-reassurance { background:#fffefa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.reassurance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:36px; padding-top:21px; padding-bottom:21px; }
.reassurance-item { display:flex; align-items:flex-start; gap:15px; min-width:0; }
.reassurance-item + .reassurance-item { border-left:1px solid var(--line); padding-left:36px; }
.reassurance-icon { display:flex; flex:0 0 36px; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#edf3f5; color:var(--pine); font-size:17px; font-weight:650; }
.reassurance-item strong {display:block; color:var(--ink); font-size:14px; line-height:1.35; font-weight:700;}
.reassurance-item p { margin:5px 0 0; color:var(--text); font-size:12.5px; line-height:1.55; }
@media(max-width:700px){
 .reassurance-grid{grid-template-columns:1fr;row-gap:19px;padding-top:21px;padding-bottom:21px;}
 .reassurance-item + .reassurance-item{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:19px;}
}

.local-area-note { margin:12px 0 0; color:#666574; font-size:12.5px; line-height:1.7; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }


/* V29: Mobile layout refinements. Desktop appearance remains unchanged. */
@media (max-width: 820px) {
  /* Allow the home headline to wrap inside narrow columns. */
  .hero-grid > *, .hero-copy, .hero h1 { min-width: 0; max-width: 100%; }
  .hero-heading-line { white-space: normal; text-wrap: balance; }

  /* Show the most complete formula first on stacked cards only. */
  .pricing-grid > .pricing-card:nth-child(1) { order: 3; }
  .pricing-grid > .pricing-card:nth-child(2) { order: 2; }
  .pricing-grid > .pricing-card:nth-child(3) { order: 1; }

  /* Reduce the portrait footprint on the biography page. */
  .biography-portrait { width: min(65vw, 260px); max-width: 260px; margin-inline: auto; }
  .biography-portrait img { width: 100%; height: auto; }
}
@media (max-width: 640px) {
  /* Leave room for the full mobile headline without clipping any word. */
  .hero h1 { font-size: clamp(31px, 8vw, 38px); line-height: 1.13; }
  .hero-heading-line { letter-spacing: -.046em; overflow-wrap: normal; }

  /* Use the same mobile reading order on the homepage formula preview. */
  .mini-formula-grid > .mini-formula:nth-child(1) { order: 3; }
  .mini-formula-grid > .mini-formula:nth-child(2) { order: 2; }
  .mini-formula-grid > .mini-formula:nth-child(3) { order: 1; }
  .pricing-grid .formula-kicker { display: none; }

  .biography-portrait { width: min(65vw, 245px); max-width: 245px; }
  .biography-grid { gap: 23px; }

  /* Keep the phone and email visible while revealing the calendar above the fold. */
  .booking-page-intro { padding: 10px 0 9px; }
  .booking-page-intro .breadcrumb { margin-bottom: 6px; font-size: 11px; }
  .booking-page-intro .eyebrow { font-size: 9px; line-height: 1.35; margin-bottom: 5px; }
  .booking-page-intro h1 { font-size: clamp(25px, 7.3vw, 31px); line-height: 1.17; margin: 0 0 6px; }
  .booking-page-intro .booking-intro-main > p:last-child { font-size: 12.5px; line-height: 1.45; }
  .booking-intro-grid { gap: 10px; }
  .booking-direct-contact { padding: 9px 12px 8px; }
  .booking-direct-heading { font-size: 11px; line-height: 1.3; margin-bottom: 4px; }
  .booking-direct-actions { grid-template-columns: 1fr; gap: 0; }
  .booking-direct-method { padding: 2px 0; gap: 7px; min-height: 24px; }
  .booking-direct-symbol { flex-basis: 20px; font-size: 15px; }
  .booking-direct-method span:last-child { flex-direction: row; align-items: baseline; gap: 8px; flex-wrap: wrap; }
  .booking-direct-method small { font-size: 10px; line-height: 1.25; }
  .booking-direct-method strong { font-size: 12px; line-height: 1.3; }
  .booking-calendar-section { padding-top: 7px; }
  .booking-calendar-heading { margin-bottom: 7px; gap: 0; }
  .booking-calendar-label { font-size: 11.5px; line-height: 1.4; }
  .booking-calendar-label > span { display: none; }
  /* The address is repeated below in the cabinet section. */
  .booking-location-short { display: none; }
  .cal-booking-full { padding: 4px 5px 10px; border-radius: 10px; }
}
@media (max-width: 360px) {
  .booking-direct-method strong { font-size: 11px; }
  .hero h1 { font-size: 30px; }
}
