/* Reference-led refinement: a clearer offer, brighter opening and defined consultation path. */
:root{--paper:#fbfaf7;--ink:#263536;--muted:#586863;--line:#dedfd8}
.header{background:#fbfaf7f5;color:var(--navy);border-bottom:1px solid #d9d9cd;backdrop-filter:blur(16px)}
.header-inner{min-height:80px}.header .brand-initial{color:#8b713f;border-color:#b59a6d70}.header .brand-name{font-weight:600}
.button{border-radius:999px;background:var(--navy);border:1px solid var(--navy);color:#fff;min-height:60px;padding:17px 26px 17px 32px;gap:32px;font-size:.875rem;letter-spacing:.055em;box-shadow:0 7px 18px #09202715}
.button svg{width:28px;height:28px;border-radius:50%;padding:4px;background:#dfc693;color:var(--navy)}
.button:hover{background:#1d4145;border-color:#1d4145;box-shadow:0 9px 25px #09202725}
.button:hover svg{transform:translateX(2px)}
.header-cta{min-height:43px;padding:11px 20px;font-size:.75rem;gap:20px;box-shadow:none}
.header-cta svg{background:none;color:var(--gold-light);padding:0;width:19px;height:19px}
.header-cta:hover{color:white}
.hero{background:#f3f3ee;color:var(--navy)}
.hero-landscape{opacity:.2;object-position:50% 60%}
.hero-shade{background:linear-gradient(90deg,#faf9f6f5 3%,#faf9f6dc 55%,#faf9f6aa),linear-gradient(0deg,#fbfaf7 0%,transparent 50%)}
.hero-grid{display:block;min-height:0;max-width:1030px;padding-top:42px;padding-bottom:26px;text-align:center}
.hero-copy{max-width:none;animation:none}
.salutation{font-size:1.25rem;font-weight:500;color:#947547;margin-bottom:12px}
.hero-heading{margin:0}
.hero-prelude{font-size:.9rem;color:#536460;line-height:1.8;max-width:none;margin-bottom:12px}
.hero-display{font-size:clamp(3.45rem,6.1vw,5rem);max-width:none;font-weight:600;line-height:1.02;letter-spacing:-.035em}
.hero-display em{display:inline;color:#927140;font-weight:600}
.hero-postlude{font-size:clamp(1.85rem,3vw,2.55rem);font-weight:500;line-height:1.18;color:var(--navy);max-width:850px;margin:17px auto 0}
.hero-action{align-items:center;margin-top:26px;gap:11px}
.hero-action .button{min-width:300px}
.hero .cta-note{color:#5b6f68;font-size:.75rem}
.hero-letter{max-width:770px;margin:29px auto 0}
.hero-letter .intro{color:#526660;font-size:1rem;line-height:1.8;margin-bottom:12px}
.hero-letter .emphasis{font-size:.9rem;font-weight:700;color:#273e36;margin:0}
.hero-author-wrap{margin-top:25px}
.hero-author{display:inline-flex;align-items:center;gap:17px;margin:0;text-align:left;padding:15px 24px;border-top:1px solid #b6b7a67a}
.hero-author>img{display:block;width:64px;height:76px;object-fit:cover;object-position:center 18%;border-radius:7px;outline:1px solid #beaa8270;outline-offset:4px;filter:none}
.hero-author figcaption{display:flex;flex-direction:column;gap:8px}
.hero-author .portrait-name{font-size:1.75rem;font-weight:600}
.hero-author .portrait-affiliation{font-size:.72rem;line-height:1.6;color:#5c7069}
.hero-bottom{padding-bottom:18px}.hero-bottom span{background:#b89a6760}.hero-bottom i{color:#957643}
h2{font-weight:600;letter-spacing:-.022em;line-height:1.18}
.letter-section{padding-block:72px}.section-heading{max-width:850px;margin-bottom:36px}
.section-heading h2{font-size:2.9rem}.section-heading::before{display:none}
.eyebrow{font:700 .75rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#8a6a38;margin:0 0 15px}
strong{font-weight:700}.copy-text strong{color:var(--navy)}
.desire-grid{border:none;gap:19px;background:none}
.desire-grid li{border:1px solid #d9ddd3!important;border-radius:12px;padding:28px;background:#fffefa;box-shadow:0 8px 24px #24362704}
.desire-grid .copy-symbol{background:#e7ecdf;color:#47654c;border:0;width:32px;height:32px;margin-bottom:18px}
.desire-grid .copy-symbol::after{font-size:17px}
.priority{margin-top:20px;background:#ecefe5;border:1px solid #dae0d0;border-radius:12px;padding:25px 30px}
.priority .aside{font-size:1.45rem;margin-bottom:10px}
.opening-close{padding-top:36px}.opening-close .lead{font-size:2rem}
.freedom{background:#edf2ef}.freedom-intro h2{font-size:2.55rem}.freedom-grid{gap:65px}
.freedom-points{background:#fbfdf8;padding:14px 28px;border:1px solid #cfdbcb;border-top:3px solid #8caa8f;border-radius:12px}
.freedom-points .copy-symbol{background:#e9efe4;border-color:#b4c5af;color:#547454}
.freedom-close{margin-top:36px;padding-top:30px}.freedom-close .lead{font-size:1.95rem}
.concerns{background:#fbfaf7}.concerns .section-heading{margin-bottom:32px}
.concern-list{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.concern-list p{height:100%;padding:24px!important;border:1px solid #e3ddd1!important;border-radius:12px;margin:0!important;background:#f6f2eb;color:#625e52;line-height:1.8}
.concern-list p:last-child{grid-column:1/-1;max-width:820px;justify-self:center}
.concern-list .copy-symbol.cross{background:#ece2d7;border:none;color:#917356}
.story{padding-top:15px}.story-grid{gap:64px}.story-portrait{border-radius:12px;overflow:hidden;background:#f5f4ed;top:105px}
.story-portrait img{border-radius:6px;filter:none}.story-name .portrait-name{font-weight:600}
.story-copy h2{font-size:2.6rem}.story-copy p{line-height:1.9}
.story-copy .pullquote{border-radius:0 10px 10px 0;background:#f1f0e5;padding:25px 26px;border-left-width:3px;line-height:1.4}
.story-copy .copy-list li{padding-block:17px}.story-cta{margin-top:27px}
.challenges{background:#eef2ee}.challenges .section-heading h2{font-size:2.8rem}.challenge{padding-block:30px}.challenge h3{font-size:1.85rem;font-weight:600}
.chapter-number{font-size:3.4rem}.challenge-copy p{line-height:1.85}
.framework{background:#123038;padding-block:64px}.framework-preamble{gap:30px;padding-bottom:34px}
.framework-focus{max-width:900px;margin-top:36px}.framework h2{font-size:3.35rem;font-weight:500;color:#f1e7d1}.framework h2 strong{color:#e6c486;font-weight:600}
.framework-focus>p{max-width:730px}
.roadmap{background:#fbfaf7}.roadmap .section-heading{max-width:850px}
.section-intro{color:#64736c;max-width:770px;font-size:1rem;line-height:1.8;margin:21px auto 0}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.process-step{position:relative;padding:29px 26px 28px;background:#fffefa;border:1px solid #dce2d6;border-radius:14px;box-shadow:0 12px 35px #19352605}
.step-number{display:inline-flex;justify-content:center;align-items:center;width:42px;height:42px;border-radius:50%;font:600 1rem/1 var(--sans);color:#f4ead8;background:var(--navy);margin-bottom:25px}
.process-step h3{font:600 1.7rem/1.2 var(--serif);margin:0 0 26px;letter-spacing:-.015em}
.process-step h3 strong{font-weight:600;color:#946d34;display:block;margin-top:4px}
.step-benefits{border-top:1px solid #dce1d4;padding-top:20px}
.step-benefits p{font-size:1rem;line-height:1.8;margin-bottom:21px;padding-left:19px;border-left:2px solid #c4d1bc}
.step-benefits p:last-child{margin-bottom:0}
.ongoing-step{background:#f0f4eb}.ongoing-step .step-number{background:#6b815e}
.appointment-strip{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:32px;padding:28px 34px;border:1px solid #d8dece;background:#edf0e5;border-radius:14px}
.appointment-person{display:flex;align-items:center;gap:19px}
.appointment-person img{width:57px;height:67px;object-fit:cover;border-radius:50%}
.appointment-person>span{font-size:.8rem;line-height:1.7;color:#657260}
.appointment-person strong{display:block;color:var(--navy);font:600 1.85rem/1.2 var(--serif)}
.appointment-strip .section-cta{align-items:center;gap:9px}.appointment-strip .button{min-width:260px}
.final-letter{padding-block:66px;background:#10282e;border-top-width:2px}
.final-intro h2{font-size:2.85rem;font-weight:500}.final-letter .copy-text strong{color:#e7d2a5}
.final-letter .button{background:#dfc693;color:#112a2e;border-color:#dfc693;min-width:270px}
.final-letter .button svg{background:#19363c;color:#dfc693}.final-letter .button:hover{background:#f0dfbd;border-color:#f0dfbd}
.footer-inner{min-height:108px}.footer .brand-name{font-weight:500}
@media(min-width:1550px){.hero-grid{padding-top:54px;min-height:0;padding-bottom:27px}.hero-display{font-size:5.2rem}.hero-postlude{font-size:2.65rem;max-width:890px}.hero-letter{max-width:800px}}
@media(max-width:1050px){.hero-grid{padding-top:37px;min-height:0}.hero-display{font-size:4.3rem}.hero-postlude{font-size:2.2rem;max-width:770px}.hero-letter{max-width:690px}.freedom-grid{gap:35px}.process-grid{gap:15px}.process-step{padding:25px 20px}.process-step h3{font-size:1.6rem}.appointment-strip{padding:25px}.story-grid{gap:45px}}
@media(max-width:760px){.header-inner{min-height:69px;gap:12px}.header .wordmark{gap:8px}.header .brand-initial{width:32px;height:34px;font-size:1.7rem}.header .brand-name{font-size:1.3rem}.header-cta{font-size:.75rem;min-height:39px;padding:11px 14px;letter-spacing:.01em}.hero-grid{padding-top:28px;padding-bottom:20px;text-align:center}.salutation{font-size:1.2rem;margin-bottom:12px}.hero-prelude{font-size:.875rem;line-height:1.65;margin-bottom:14px}.hero-display{font-size:clamp(2.9rem,10.8vw,4rem);line-height:1.02;letter-spacing:-.035em}.hero-display em{display:block}.hero-postlude{font-size:1.85rem;line-height:1.22;margin-top:17px}.hero-action{margin-top:23px;gap:11px;align-items:center}.hero-action .button{width:min(350px,100%);min-width:0;min-height:57px}.button{font-size:.875rem;gap:27px;min-height:56px;padding:15px 23px}.hero .cta-note{font-size:.75rem}.hero-letter{margin-top:25px;text-align:left}.hero-letter .intro{font-size:1rem;line-height:1.85}.hero-letter .emphasis{font-size:1rem;line-height:1.7;margin-top:14px}.hero-author-wrap{margin-top:24px}.hero-author{padding:18px 4px 6px;width:100%;justify-content:center;gap:16px}.hero-author>img{width:58px;height:70px}.hero-author .portrait-name{font-size:1.7rem}.hero-author .portrait-affiliation{font-size:.7rem}.hero-bottom{padding-bottom:15px}.letter-section{padding-block:48px}.section-heading{margin-bottom:25px;text-align:center}.section-heading h2{font-size:2.4rem}.eyebrow{font-size:.75rem;margin-bottom:12px}.desire-grid{gap:14px}.desire-grid li{padding:23px;gap:15px}.desire-grid .copy-symbol{width:27px;height:27px;margin:1px 0 0}.priority{padding:22px;margin-top:15px}.priority .aside{font-size:1.4rem}.opening-close{padding-top:29px}.opening-close .lead{font-size:1.85rem}.freedom-grid{gap:23px}.freedom-intro h2{font-size:2.3rem}.freedom-points{padding:5px 22px}.freedom-points .copy-list li{padding-block:20px}.freedom-close{padding-top:25px;margin-top:30px}.freedom-close .lead{font-size:1.8rem}.concern-list{grid-template-columns:1fr;gap:14px}.concern-list p{padding:22px!important}.concern-list p:last-child{grid-column:auto;max-width:none}.story{padding-top:8px}.story-grid{gap:28px}.story-portrait{top:auto}.story-copy h2{font-size:2.4rem}.story-copy .pullquote{padding:23px 20px}.story-cta{align-items:center;margin-top:24px}.story-cta .button{width:min(350px,100%)}.challenges .section-heading h2{font-size:2.35rem}.challenge h3{font-size:1.75rem}.challenge{padding-block:26px}.framework{padding-block:46px}.framework-preamble{gap:22px;padding-bottom:28px}.framework-focus{margin-top:28px;text-align:center}.framework h2{font-size:2.6rem}.process-grid{grid-template-columns:1fr;gap:20px}.process-step{padding:25px}.process-step h3{font-size:1.9rem;margin-bottom:23px}.step-number{width:39px;height:39px;margin-bottom:21px}.step-benefits{padding-top:21px}.step-benefits p{line-height:1.85}.section-intro{text-align:left;font-size:1rem;line-height:1.85;margin-top:20px}.appointment-strip{margin-top:24px;display:flex;flex-direction:column;align-items:center;padding:25px 20px;gap:24px}.appointment-person{gap:16px}.appointment-person strong{font-size:1.75rem}.appointment-strip .section-cta{width:100%}.appointment-strip .button{width:100%;min-width:0}.final-intro h2{font-size:2.5rem}.final-letter .section-cta{align-items:center}.final-letter .button{width:100%;min-width:0}.mobile-cta{padding:10px 17px max(10px,env(safe-area-inset-bottom));background:#fcfbf6f7;border-top-color:#d2d9cb}.mobile-cta .button{font-size:.875rem;min-height:47px;padding:10px 20px}.mobile-cta .button svg{width:26px;height:26px}.mobile-cta .cta-note{color:#53695f;font-size:.75rem}.footer{padding-bottom:108px}}
@media(max-width:380px){.header .brand-initial{display:none}.header .brand-name{font-size:1.35rem}.header-cta{font-size:.75rem;padding:10px 13px}.hero-display{font-size:2.95rem}.hero-postlude{font-size:1.7rem}.hero-author .portrait-name{font-size:1.6rem}.appointment-person strong{font-size:1.65rem}}
@media(max-width:760px){.header .header-cta{font-size:.75rem;min-height:39px;padding:11px 14px;letter-spacing:.01em;gap:0}}
