:root{--accent:#c5f56c;--ink:#232723;--paper:#fbfcf8;--muted:#60665d;--line:#dce1d6;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font)}a{color:inherit}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3c59a9;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}.wrap{width:calc(100% - 96px);max-width:1100px;margin:auto}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:10px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:29px 0;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:23px;letter-spacing:-.6px;font-weight:700;line-height:1.1}.brand span{font-weight:400;font-size:14px;letter-spacing:0;margin-left:10px;color:var(--muted)}nav{display:flex;align-items:center;gap:29px;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{background:var(--accent);padding:9px 16px;border-radius:5px}.menu{display:none}.hero{padding-top:73px;padding-bottom:28px}.eyebrow{font-size:12px;letter-spacing:1.4px;color:var(--muted);margin:0 0 22px}h1{font-size:clamp(48px,5.9vw,77px);font-weight:500;line-height:1.09;letter-spacing:-3.6px;margin:0 0 28px}h1 span{box-shadow:inset 0 -.11em var(--accent)}.hero-copy{max-width:555px;font-size:19px;line-height:1.55;color:var(--muted);margin:0 0 27px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:5px;font-size:15px;transition:background .15s,color .15s}.button:hover{background:var(--accent);color:var(--ink)}.credentials{font-size:13px;line-height:1.65;color:var(--muted);margin:20px 0 0}.color-row{margin-top:42px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}fieldset{border:0;margin:0;padding:0;display:flex;gap:16px;align-items:center}legend{float:left;padding:0;margin-right:16px;font-size:12px}.swatches{display:flex;gap:10px}.swatch{width:22px;height:22px;border-radius:50%;border:1px solid #747b6e;padding:0}.swatch[aria-pressed=true]{outline:1px solid var(--ink);outline-offset:3px}.lime{background:#c5f56c}.pink{background:#f6bcd6}.blue{background:#a9cef9}.orange{background:#ffc48f}.section{border-top:1px solid var(--line);padding:70px 0}h2{font-weight:500;font-size:36px;line-height:1.2;letter-spacing:-1.3px;margin:0 0 27px}h3{font-size:21px;font-weight:500;letter-spacing:-.45px;line-height:1.35;margin:0 0 12px}.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:82px;align-items:center}.portrait{margin:0;max-width:330px}.portrait img{display:block;width:100%;height:410px;object-fit:cover;object-position:50% 27%;border-radius:150px 150px 8px 8px;border:1px solid var(--line)}.portrait span{display:block;margin-top:12px;font-size:13px;color:var(--muted)}.about-copy p{margin:0 0 18px}.about-copy .quiet{margin-bottom:0}.quiet{color:var(--muted);font-size:14px;line-height:1.65}.focus-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;row-gap:33px;margin-top:34px}.focus-grid p{margin:0;color:var(--muted);font-size:16px;max-width:425px}.approach{margin-top:47px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:.75fr 1.25fr;gap:82px}.approach p{margin:0 0 15px}.approach p:last-child{margin:0}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:82px}.questions details{padding:19px 0;border-bottom:1px solid var(--line)}.questions details:first-child{padding-top:0}.questions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:16px;line-height:1.5}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';font-size:21px;font-weight:400}.questions details[open] summary:after{content:'−'}.questions p{margin:14px 25px 0 0;color:var(--muted);font-size:15px;line-height:1.65}.start{display:grid;grid-template-columns:1fr auto;gap:20px 50px;align-items:center}.start h2{font-size:30px;margin-bottom:12px}.start p{margin:0;color:var(--muted);font-size:16px}.start .contact-note{grid-column:1/-1;font-size:13px;margin-top:6px}footer{border-top:1px solid var(--line);padding:26px 0 30px;color:var(--muted);font-size:12px}footer .footer-main{display:flex;gap:28px;align-items:center}footer .footer-main span{margin-right:auto}footer a{text-underline-offset:4px}footer button{font-size:12px;background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;text-underline-offset:4px}footer p{max-width:840px;margin:18px 0 0}dialog{max-width:580px;width:calc(100% - 40px);padding:26px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#191b197a}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-head h2{font-size:25px;margin:0;letter-spacing:-.6px}.dialog-head button{border:1px solid var(--line);border-radius:5px;padding:6px 13px;background:var(--accent);font-size:14px}dialog p{font-size:15px}
@media(max-width:900px){.wrap{width:calc(100% - 60px)}nav{gap:20px}.about,.faq,.approach{gap:45px}.portrait img{height:370px}.focus-grid{column-gap:50px}h1{font-size:64px}.start{grid-template-columns:1fr}.start .button{justify-self:start}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}header{padding:22px 0;position:relative}.brand{font-size:21px}.brand span{font-size:13px}.menu{display:block;background:none;border:1px solid var(--line);padding:6px 12px;border-radius:5px;font-size:14px}nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;padding:22px;background:var(--paper);border-bottom:1px solid var(--line);z-index:10;flex-direction:column;align-items:flex-start;gap:22px;font-size:16px}nav.open{display:flex}.hero{padding-top:47px;padding-bottom:27px}h1{font-size:clamp(39px,9.1vw,56px);letter-spacing:-1.8px;line-height:1.12}h1 br{display:none}.hero-copy{font-size:18px;line-height:1.6}.eyebrow{font-size:11px;margin-bottom:18px}.color-row{margin-top:32px}.color-status{display:none}.section{padding:46px 0}h2{font-size:31px;letter-spacing:-1px}.about{grid-template-columns:1fr;gap:30px}.portrait{max-width:270px}.portrait img{height:320px;border-radius:130px 130px 6px 6px}.about-copy p{font-size:16px}.about-copy .quiet{font-size:14px}.focus-grid{grid-template-columns:1fr;gap:28px;margin-top:27px}.focus-grid h3{font-size:21px}.approach{grid-template-columns:1fr;gap:8px;margin-top:33px}.approach p{font-size:16px}.approach .quiet{font-size:14px}.faq{grid-template-columns:1fr;gap:8px}.faq h2{margin-bottom:23px}.start{gap:23px}.start h2{font-size:30px}.start .contact-note{font-size:13px;margin-top:0}footer .footer-main{flex-wrap:wrap;gap:16px}footer .footer-main span{width:100%;margin-right:0}footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Clearer section boundaries and expandable focus areas. */
.eligibility{font-size:16px;margin:0 0 21px;max-width:570px}.booking-hint{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 0}.credentials{margin-top:17px}.band{border-top:1px solid #cbd3c4;border-bottom:1px solid #cbd3c4}.band .section{border-top:0}.about-band{background:#f0f3ec}.faq-band{background:#f3f5ef}.section-label{font-size:12px;letter-spacing:1.4px;line-height:1.5;color:var(--muted);margin:0 0 16px!important;font-weight:600}.about-copy .section-label{font-size:12px}.focus{border-top:0}.focus-heading{display:flex;gap:30px;justify-content:space-between;align-items:end}.focus-heading h2{margin-bottom:0}.focus-heading>p{font-size:14px;color:var(--muted);margin:0 0 4px}.focus-grid{gap:20px;margin-top:31px;align-items:start}.focus-card{border:1px solid #c9d1c3;border-top:4px solid var(--accent);border-radius:7px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.focus-card:hover{border-color:var(--ink);border-top-color:var(--accent);box-shadow:0 3px 12px #23272308}.focus-card summary{cursor:pointer;list-style:none;padding:24px 26px;display:block}.focus-card summary::-webkit-details-marker{display:none}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.card-number{font-size:12px;font-weight:600;letter-spacing:1px}.card-toggle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--ink);border-radius:50%;font-size:20px;line-height:1}.card-toggle:after{content:'+'}.focus-card[open] .card-toggle:after{content:'−'}.focus-card h3{margin:0 0 11px}.card-description{display:block;font-size:16px;line-height:1.65;color:var(--muted);max-width:430px}.card-content{margin:0 26px;padding:18px 0 24px;border-top:1px solid var(--line)}.card-content p{font-size:15px;max-width:none;margin:0}.questions a,.booking-alternatives a{text-underline-offset:4px}.start{border-top:0;grid-template-columns:1fr auto}.start .availability{margin-top:12px;font-size:14px}.booking-action{align-self:center}.start .booking-hint{font-size:14px;margin-top:12px}.booking-alternatives{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:45px;border-top:1px solid var(--line);padding-top:26px;margin-top:10px}.booking-alternatives h3{font-size:17px;letter-spacing:-.2px;margin-bottom:8px}.booking-alternatives p{font-size:15px}.booking-alternatives a{overflow-wrap:anywhere}.focus-card summary:focus-visible{outline-offset:-5px}
@media(max-width:900px){nav{gap:17px;font-size:13px}.start{grid-template-columns:1fr}.booking-action{justify-self:start}.booking-alternatives{gap:30px}}
@media(max-width:640px){.focus-heading{display:block}.focus-heading>p{margin:13px 0 0}.focus-grid{gap:16px}.focus-card summary{padding:20px}.card-top{margin-bottom:15px}.card-content{margin:0 20px;padding:16px 0 20px}.focus-grid h3{font-size:21px}.booking-alternatives{grid-template-columns:1fr;gap:24px;margin-top:4px;padding-top:24px}nav{font-size:16px}.section-label{font-size:12px!important}.eligibility{font-size:15px}.start .availability{font-size:14px}}

/* Portrait-led hero, with the color control alongside its accent frame. */
.hero{padding-top:64px;padding-bottom:65px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:65px;align-items:center}.hero h1{font-size:clamp(48px,5vw,65px);letter-spacing:-2.8px}.hero-copy{font-size:18px;max-width:500px;margin-bottom:22px}.hero .eligibility{font-size:15px;margin-bottom:20px}.hero-details{margin-top:15px}.hero-details .booking-hint{margin:0;font-size:13px}.hero-details .credentials{margin-top:12px;font-size:12px}.hero-visual{width:100%;max-width:355px;justify-self:end;padding-right:13px}.hero-portrait{position:relative;isolation:isolate;margin-bottom:30px}.hero-portrait:before{content:'';position:absolute;inset:17px -13px -13px 13px;background:var(--accent);border-radius:170px 170px 9px 9px;z-index:-1}.hero-portrait img{display:block;width:100%;height:440px;object-fit:cover;object-position:50% 27%;border-radius:170px 170px 9px 9px;border:1px solid #c9d1c3}.hero-visual .color-row{margin-top:0;justify-content:center;position:relative}.hero-visual legend{font-size:13px}.hero-visual .color-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.about{align-items:start}.about-intro h2{margin-bottom:13px}.about-intro .quiet{margin:0}.about-copy p:first-child{margin-top:0}
@media(max-width:1000px){.hero-grid{gap:42px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.hero h1{font-size:54px;letter-spacing:-2.3px}.hero-portrait img{height:390px}.hero-visual{max-width:315px}.hero-visual fieldset{gap:8px}.hero-visual legend{margin-right:10px}.hero-visual .swatches{gap:9px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero-content{max-width:600px}.hero h1{font-size:clamp(43px,7.5vw,58px)}.hero-visual{justify-self:center;max-width:310px}.hero-portrait img{height:360px}.hero{padding-top:45px;padding-bottom:45px}.about{gap:25px}}
@media(max-width:640px){.hero h1{font-size:clamp(39px,9.1vw,56px);letter-spacing:-1.8px}.hero-visual{max-width:280px}.hero-portrait img{height:330px}.hero-details .credentials{font-size:12px}.hero-details .booking-hint{font-size:13px}.hero .hero-copy{font-size:18px}.about-intro h2{margin-bottom:8px}}
.card-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.card-icon svg{display:block;flex-shrink:0}
.about-photo{margin:0;max-width:340px;width:100%;align-self:center}.about-photo img{display:block;width:100%;height:auto;border-radius:9px;border:1px solid #cbd3c4}.about-photo figcaption{font-size:14px;line-height:1.55;color:var(--muted);margin-top:13px;max-width:320px}.about{align-items:center}.about-copy .section-label{margin-bottom:16px!important}
@media(max-width:640px){.about-photo{max-width:300px}.about-photo figcaption{font-size:14px}.about-copy .section-label{margin-top:0!important}}
