:root{--ink:#560326;--pink:#ee7aa3;--soft:#f9d3e6;--lilac:#a087e6;--paper:#fef3f9;--text:#503f48;--line:#e9d4de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:#fff;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #560326;outline-offset:5px}.skip{position:fixed;top:-80px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Sour Gummy',sans-serif;font-weight:500;line-height:1.1;letter-spacing:-.035em}h2{font-size:clamp(38px,4.2vw,60px)}em{font-style:normal;color:#943051}p{color:var(--text)}.topline{text-align:center;background:var(--pink);font-size:12px;line-height:1.5;padding:9px 20px;color:var(--ink);font-weight:500}header{max-width:1360px;margin:auto;min-height:108px;padding:18px 60px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:block;width:218px;line-height:0;flex-shrink:0}.logo img{width:100%;height:auto}nav{display:flex;gap:27px;font-size:13px;font-weight:500}nav a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:17px 26px;border:1px solid var(--ink);border-radius:50px;background:var(--ink);color:white;font-weight:600;font-size:14px;line-height:1.5;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#822c50;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.button.small{padding:12px 20px;font-size:13px;gap:20px}.button.outline{color:var(--ink);background:transparent}.button.outline:hover{background:var(--soft)}.hero{max-width:1360px;margin:auto;padding:40px 60px 75px;display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;line-height:1.5;margin-bottom:23px}.hero h1{font-size:clamp(65px,7.3vw,103px);line-height:.99;letter-spacing:-.045em;margin-bottom:24px}.hero h1 em{color:#a63861}.hero-lead{font-size:21px;line-height:1.4;font-weight:500;margin-bottom:18px;color:var(--ink)}.hero-description{font-size:15px;line-height:1.75;max-width:445px;margin-bottom:27px}.micro{font-size:12px;line-height:1.5;margin-top:15px;color:var(--text)}.hero-visual{position:relative;padding-bottom:53px;align-self:center}.portrait-frame{position:relative;height:555px;border-radius:230px 230px 8px 8px;background:var(--soft);overflow:hidden}.founder-photo{width:100%;height:100%;object-fit:contain;object-position:center bottom;position:absolute;bottom:0;left:0}.founder-caption{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;text-align:right;line-height:1.6}.founder-caption strong{font-size:14px;font-weight:600}.founder-caption span{font-size:12px}.ribbon{background:var(--soft);padding:22px 30px;display:flex;gap:30px;align-items:center;justify-content:center;font-size:14px;font-weight:500}.ribbon i{font-style:normal;font-size:26px;line-height:1;color:#913658}.section{padding:95px max(60px,calc((100vw - 1200px)/2))}.section-top{display:grid;grid-template-columns:1.3fr 1fr;gap:0 90px;align-items:end}.section-top>.eyebrow{grid-column:1/-1}.section-top>p{max-width:390px;padding-bottom:6px;font-size:16px}.situations{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px}.situations article{border-top:1px solid var(--line);padding-top:18px}.number{font-size:12px;color:#954d69;font-weight:600}.situations h3{font-size:25px;margin:18px 0 14px;letter-spacing:-.02em}.situations p{font-size:14px;line-height:1.75}.recognition-close{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:46px;padding-top:34px;border-top:1px solid var(--line)}.recognition-close p{font-size:15px}.recognition-close strong{font-weight:600;color:var(--ink)}.pathways{background:var(--paper)}.service-heading{text-align:center;max-width:810px;margin:auto}.service-heading>p{max-width:670px;margin:23px auto 0;font-size:16px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.path{background:white;border:1px solid #f0dce5;border-radius:13px;padding:27px 27px 8px;display:flex;flex-direction:column}.path-top{display:flex;align-items:start;gap:12px;font-size:11px;line-height:1.5;font-weight:600;min-height:45px}.path-top>span:first-child{font-size:13px;color:#9a4366;flex-shrink:0}.path h3{font-size:29px;letter-spacing:-.025em;line-height:1.1;margin:12px 0 20px}.path>p{font-size:14px;line-height:1.8;margin-bottom:26px;flex-grow:1}.path details{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;font-weight:500;padding:19px 0;line-height:1.6}summary::-webkit-details-marker{display:none}summary span{font-size:24px;line-height:1;font-weight:400;flex-shrink:0;transition:transform .15s}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;line-height:1.8;padding:0 0 19px}.path:nth-child(2),.path:nth-child(6){background:#f9e4ef}.path:nth-child(4){background:#eee8fa}.path-bottom{text-align:center;margin-top:37px}.path-bottom p{font-size:15px;margin-bottom:23px}.path-bottom strong{color:var(--ink);font-weight:600}.approach{background:var(--pink);display:grid;grid-template-columns:1.2fr 1fr;gap:65px}.approach h2{font-size:clamp(38px,4.2vw,60px)}.approach h2 em{color:var(--ink)}.approach-note{font-family:'Sour Gummy',sans-serif;font-size:27px;margin-top:23px}.approach-copy{padding-top:34px}.approach-copy p{margin-bottom:20px;color:#4e1830;font-size:15px}.approach-copy .large{font-size:21px;font-weight:500;line-height:1.5;color:var(--ink)}.principles{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.principles span{font-size:11px;padding:7px 11px;border:1px solid #7c264956;border-radius:30px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px}.method-grid article>span{font-size:12px;font-weight:600;color:#95365b}.method-grid h3{font-size:28px;margin:17px 0 16px}.method-grid p{font-size:15px}.method-goal{text-align:center;margin-top:43px;padding:29px 35px;border:1px solid var(--line);border-radius:12px}.method-goal strong{font-family:'Sour Gummy',sans-serif;font-size:26px;font-weight:500}.method-goal p{max-width:750px;font-size:15px;margin:9px auto 0}.testimonials{background:#eee8fa}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:43px}.quote-grid figure{background:white;border-radius:13px;padding:28px;display:flex;flex-direction:column}.quote-mark{font-family:Georgia,serif;font-size:65px;line-height:.9;color:#a087e6}.quote-grid blockquote{font-size:16px;line-height:1.8;margin:12px 0 26px;flex-grow:1;color:var(--ink)}.quote-grid figcaption{font-size:14px;font-weight:600}.quote-grid figcaption span{font-size:11px;font-weight:400;display:block;color:var(--text);margin-top:4px}.source-note{font-size:12px;text-align:center;margin-top:22px}.team .section-top{grid-template-columns:1.3fr 1fr;gap:0 60px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px 22px;margin-top:45px}.person{min-width:0}.person-photo{height:255px;overflow:hidden;background:var(--soft);border-radius:120px 120px 5px 5px}.person:nth-child(3n+2) .person-photo{background:#eee8fa}.person-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.person-info{padding:19px 2px 0}.person h3{font-size:25px;letter-spacing:-.02em}.person-role{font-size:12px;font-weight:600;line-height:1.6;margin-top:8px}.collegiate{font-size:11px;margin-top:3px;color:#73525f}.person-info>p{font-size:13px;line-height:1.7;margin-top:13px;min-height:67px}.person details{border-top:1px solid var(--line);margin-top:13px}.person summary{font-size:11px;padding:13px 0}.person summary span{font-size:20px}.person details p{font-size:13px;padding-bottom:10px}.team-bottom{margin-top:43px;border-top:1px solid var(--line);padding-top:34px;display:flex;justify-content:space-between;align-items:center;gap:25px}.team-bottom p{font-size:14px;max-width:640px}.team-bottom strong{font-weight:600}.steps{background:var(--paper);text-align:center}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps-grid article>span{display:inline-grid;place-items:center;border-radius:50%;width:48px;height:48px;background:var(--soft);font-family:'Sour Gummy',sans-serif;font-size:27px;margin-bottom:18px}.steps h3{font-size:27px;margin-bottom:12px}.steps p{font-size:15px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}.questions summary{font-size:15px;padding:21px 0}.questions p{font-size:14px;padding:0 20px 23px 0}.booking{background:var(--soft);text-align:center;padding:80px 24px}.booking h2{font-size:clamp(54px,6.5vw,87px);margin-bottom:24px}.booking p{font-size:18px;margin-bottom:27px}.booking .eyebrow{margin-bottom:20px}.booking .micro{font-size:12px}footer{padding:42px max(60px,calc((100vw - 1200px)/2)) 23px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}footer>p{text-align:right;font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:21px;grid-column:1/-1;display:flex;justify-content:space-between;font-size:12px;color:#755363}.mobile-booking{display:none}@media(max-width:1100px){header{padding:20px 32px;gap:20px}.logo{width:185px}nav{gap:20px;font-size:12px}.hero{padding:33px 35px 65px;gap:35px}.hero h1{font-size:80px}.portrait-frame{height:500px}.hero .micro{font-size:11px}.section{padding:75px 35px}.section-top{gap:0 40px}.situations{gap:22px}.recognition-close p{max-width:470px}.recognition-close .button{flex-shrink:0}.path-grid{gap:16px}.path{padding:25px 22px 7px}.path h3{font-size:27px}.path-top{font-size:10px}.approach{gap:40px}.team-grid{gap:28px 18px}.person-photo{height:220px}.person h3{font-size:23px}.person-role{font-size:11px}.person summary{font-size:10px}.team-bottom p{max-width:490px}.team-bottom .button{flex-shrink:0}footer{padding-left:35px;padding-right:35px}}@media(max-width:800px){nav{display:none}.hero{gap:25px}.hero h1{font-size:66px}.hero-lead{font-size:18px}.hero-description{font-size:14px}.hero .button{font-size:12px;gap:20px;padding:16px 19px}.portrait-frame{height:430px}.ribbon{font-size:12px;gap:17px}.section-top{gap:0 25px}.section-top>p{font-size:14px}.situations{grid-template-columns:1fr 1fr;gap:30px}.recognition-close{align-items:flex-start;flex-direction:column;gap:21px}.path-grid{grid-template-columns:repeat(2,1fr)}.path-top{font-size:11px}.approach{grid-template-columns:1fr;gap:24px}.approach-copy{padding:0;max-width:650px}.approach h2{font-size:47px}.method-grid{gap:25px}.method-grid h3{font-size:25px}.method-grid p{font-size:14px}.quote-grid{gap:15px}.quote-grid figure{padding:22px}.quote-grid blockquote{font-size:14px}.team-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px}.person-photo{height:300px}.person h3{font-size:28px}.person-role{font-size:13px}.person-info>p{font-size:14px;min-height:50px}.person summary{font-size:12px}.team .section-top{grid-template-columns:1fr;gap:22px}.team .section-top>.eyebrow{margin-bottom:0}.team .section-top>p{max-width:630px}.team-bottom{flex-direction:column;align-items:flex-start}.team-bottom p{max-width:620px}.steps-grid{gap:25px}.steps h3{font-size:24px}.steps p{font-size:14px}.faq{grid-template-columns:1fr;gap:30px}.faq h2 br{display:none}}@media(max-width:600px){body{font-size:16px}.topline{font-size:10px;padding:8px 10px}header{min-height:85px;padding:13px 20px;gap:12px}.logo{width:160px}.button.small{font-size:11px;padding:11px 13px;gap:9px}.button.small span{font-size:19px}.hero{grid-template-columns:1fr;padding:25px 24px 48px;gap:34px}.hero h1{font-size:74px;line-height:1;letter-spacing:-.045em;margin-bottom:22px}.hero .eyebrow{font-size:10px;margin-bottom:19px}.hero-lead{font-size:20px}.hero-description{font-size:14px;max-width:450px}.hero .button{font-size:13px;padding:17px 23px;gap:23px}.hero .micro{font-size:10px}.hero-visual{margin:0 9px 0 14px;padding-bottom:54px}.portrait-frame{height:440px;border-radius:200px 200px 7px 7px}.founder-caption strong{font-size:13px}.founder-caption span{font-size:11px}.ribbon{padding:17px 20px;gap:15px;flex-wrap:wrap;font-size:11px;line-height:1.5}.ribbon i{font-size:22px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:60px 24px}.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:19px}h2{font-size:41px}.section-top{display:block}.section-top>p{margin-top:24px;font-size:15px;max-width:100%}.situations{gap:29px 22px;margin-top:33px}.situations h3{font-size:23px;margin:14px 0 12px}.situations p{font-size:13px;line-height:1.8}.recognition-close{margin-top:30px;padding-top:27px}.recognition-close p{font-size:14px}.button{font-size:13px;padding:16px 22px;gap:23px}.service-heading>p{font-size:14px;margin-top:20px}.path-grid{grid-template-columns:1fr;margin-top:31px;gap:17px}.path{padding:26px 25px 7px}.path-top{font-size:11px;min-height:auto}.path h3{font-size:32px;margin:21px 0 17px}.path>p{font-size:14px;margin-bottom:23px}.path summary{font-size:13px}.path-bottom{margin-top:28px}.path-bottom p{font-size:14px}.approach h2{font-size:40px}.approach-note{font-size:24px;margin-top:20px}.approach-copy .large{font-size:19px}.approach-copy p{font-size:14px}.principles{gap:7px}.principles span{font-size:10px;padding:6px 10px}.method-grid{grid-template-columns:1fr;gap:30px;margin-top:34px}.method-grid h3{font-size:28px;margin:13px 0}.method-grid p{font-size:14px}.method-goal{padding:25px 21px;margin-top:29px}.method-goal strong{font-size:25px;line-height:1.25;display:block}.method-goal p{font-size:13px;margin-top:12px}.quote-grid{grid-template-columns:1fr;gap:16px;margin-top:32px}.quote-grid figure{padding:27px}.quote-grid blockquote{font-size:15px;margin-top:10px;margin-bottom:20px}.quote-mark{font-size:56px}.quote-grid figcaption span{display:inline;margin-left:5px}.source-note{font-size:11px}.team .section-top>.eyebrow{margin-bottom:19px}.team-grid{gap:25px 16px;margin-top:32px}.person-photo{height:210px;border-radius:100px 100px 4px 4px}.person h3{font-size:23px}.person-info{padding-top:16px}.person-role{font-size:11px}.collegiate{font-size:10px}.person-info>p{font-size:12px;min-height:85px}.person summary{font-size:10px;padding:12px 0;gap:8px}.person summary span{font-size:19px}.person details p{font-size:12px}.team-bottom{margin-top:28px;padding-top:25px;gap:21px}.team-bottom p{font-size:14px}.steps h2{font-size:40px}.steps-grid{grid-template-columns:1fr;gap:29px;margin-top:32px}.steps-grid article{max-width:335px;margin:auto}.steps-grid article>span{margin-bottom:14px}.steps h3{font-size:27px}.steps p{font-size:14px}.faq h2{font-size:40px}.faq h2 br{display:block}.questions summary{font-size:14px;padding:20px 0}.questions p{font-size:13px;padding-right:8px}.booking{padding:62px 24px}.booking h2{font-size:57px}.booking p{font-size:16px}.booking .micro{font-size:11px}footer{padding:32px 24px 110px;gap:23px;grid-template-columns:1fr}footer>.logo{width:200px}footer>p{text-align:left;font-size:12px}.footer-bottom{font-size:10px;gap:15px;grid-column:1}.footer-bottom span:last-child{text-align:right}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 17px max(10px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);z-index:10;backdrop-filter:blur(8px)}.mobile-booking .button{display:flex;width:100%;padding:13px 20px;font-size:13px}details,section{scroll-margin-bottom:100px}}@media(max-width:370px){header{padding:13px 14px}.logo{width:142px}.hero h1{font-size:64px}.hero{padding-left:20px;padding-right:20px}.portrait-frame{height:390px}.section{padding-left:20px;padding-right:20px}.person-photo{height:180px}.person h3{font-size:21px}.button{font-size:12px;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,summary span{transition:none}}
/* Readable content at every viewport. */
.hero-description,.section-top>p,.situations p,.recognition-close p,.service-heading>p,.path>p,.path details p,.path-bottom p,.approach-copy p,.method-grid p,.method-goal p,.quote-grid blockquote,.person-info>p,.person details p,.team-bottom p,.steps p,.questions p{font-size:16px}
.path-top,.person-role,.person summary,.path summary,.questions summary{font-size:14px}
.person-info>p{min-height:90px}.person-role{min-height:45px}.person summary{align-items:flex-start}.person-info{overflow-wrap:break-word}
@media(max-width:600px){.team-grid{grid-template-columns:1fr 1fr}.person-info>p{font-size:14px;min-height:115px}.person-role{font-size:12px;min-height:40px}.person summary{font-size:12px}.person details p{font-size:14px}.micro,.hero .micro{font-size:12px}.path-top{font-size:12px}.recognition-close .button{max-width:100%}.ribbon{font-size:12px}}
@media(max-width:380px){.team-grid{grid-template-columns:1fr}.person-photo{height:300px}.person-info>p{min-height:0}.person-role{min-height:0}.person h3{font-size:27px}}

.brand-flourish{position:absolute;bottom:85px;right:-16px;width:88px;height:auto;mix-blend-mode:multiply;transform:rotate(14deg);pointer-events:none}@media(max-width:600px){.brand-flourish{width:72px;right:-12px;bottom:80px}}

.reviews-actions{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:16px}.reviews-source{font-size:14px;text-decoration:underline;text-underline-offset:4px;text-align:center}.reviews-new-tab{display:block;font-size:12px;margin-top:4px}.reviews-actions .button{max-width:100%}.testimonials .source-note{font-size:12px}.quote-grid figcaption span{font-size:12px}

/* Larger, consistent booking controls; preserve the first-step outline. */
.button,.hero .button{font-size:16px;line-height:1.5;min-height:52px;padding:15px 22px;gap:16px;max-width:100%}
.button.small{font-size:15px;min-height:48px;padding:10px 15px;gap:8px}
@media(max-width:800px) and (min-width:601px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero .button{width:100%;flex-shrink:1}}
@media(max-width:600px){.button,.hero .button{font-size:15px;min-height:52px;padding:14px 17px;gap:10px}.button.small{font-size:15px;min-height:48px;padding:10px 15px;gap:8px;flex-shrink:1;max-width:190px}header{gap:12px}header .logo{width:120px}.hero .button{width:100%}.mobile-booking .button{font-size:15px;min-height:52px;padding:13px 20px;gap:10px}}
@media(max-width:370px){header{padding:13px 14px;gap:10px}header .logo{width:106px}.button.small{font-size:14px;padding:10px 12px;max-width:170px}}
