/* Temporary font fallbacks only. Replace with licensed Playfair Bold,
   Avenir Roman, Oswald and Feeling Passionate files before publication. */
@font-face{font-family:'Playfair Bold';src:local('Playfair Display Bold');font-weight:700}@font-face{font-family:'Avenir Roman';src:local('Avenir Roman')}@font-face{font-family:Oswald;src:local('Oswald')}@font-face{font-family:'Feeling Passionate';src:local('Feeling Passionate')}
:root{--ink:#000000;--mint:#E6F2EE;--lime:#D6FF00;--paper:#FFFFFF;--head:'Playfair Bold',Georgia,serif;--body:'Avenir Roman',Arial,sans-serif;--label:Oswald,'Arial Narrow',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 var(--body)}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.black a:focus-visible{outline-color:var(--lime)}h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.08;letter-spacing:-.035em;margin:0 0 28px}h1{font-size:clamp(48px,5.6vw,86px)}h2{font-size:clamp(35px,4vw,62px)}h3{font-size:clamp(32px,3.2vw,47px)}p{margin:0 0 22px}li{padding:8px 0 8px 9px}ul{padding-left:22px;margin-bottom:30px}em{font-style:normal;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:9px;text-underline-offset:3px}.label{display:block;font:600 12px/1.5 var(--label);text-transform:uppercase;letter-spacing:.18em;margin:0 0 22px}.draft-note{background:var(--lime);display:flex;justify-content:center;gap:20px;font-size:11px;padding:5px 20px;line-height:1.6}.draft-note b{text-transform:uppercase;letter-spacing:.1em}header{position:sticky;top:0;z-index:50;background:var(--paper);padding:22px 5%;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;flex-shrink:0}.wordmark{display:block;line-height:1.1;white-space:nowrap;font-size:30px;letter-spacing:-1px}.wordmark b{font-family:var(--head)}.wordmark i{font-family:'Feeling Passionate',cursive;font-weight:400;font-size:35px}.wordmark small{display:block;font:10px/2 var(--label);letter-spacing:.27em;text-align:center}.menu-toggle{display:none}nav{display:flex;align-items:center;gap:32px;font:14px var(--label)}nav a{text-decoration:none}nav>a[aria-current=page],.nav-group>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--ink)}.nav-group{display:flex;align-items:center;position:relative;gap:5px}.dropdown-toggle{border:0;background:var(--paper);font-size:22px;padding:5px}.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--paper);border:1px solid var(--ink);min-width:240px;padding:15px}.dropdown a{display:block;padding:10px}.nav-group.open .dropdown,.nav-group:focus-within .dropdown{display:block}.dropdown a:hover{background:var(--mint)}section{padding:100px 7%}.inner{max-width:800px;margin:0 auto}.wide .inner{max-width:1200px}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:6%;padding:70px 5% 80px;max-width:1500px;margin:auto}.hero h1{max-width:700px}.lead{font-size:21px;line-height:1.6;max-width:650px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--lime);color:var(--ink);text-decoration:none;border:1px solid var(--ink);padding:16px 25px;font-size:15px;font-weight:bold;margin:10px 0}.button:hover{background:var(--ink);color:var(--paper)}.button span{font-size:23px;line-height:1}.portrait{aspect-ratio:4/5;min-height:400px;background:var(--mint);position:relative;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--ink);overflow:hidden}.portrait:before{content:'';position:absolute;inset:12%;border:1px solid var(--ink);border-radius:50% 50% 0 0}.portrait .label{position:absolute;top:25px;left:25px;background:var(--paper);padding:6px 9px;letter-spacing:.1em}.portrait-mark{font:140px var(--head);align-self:center;line-height:1.1;z-index:1}.portrait p{font:36px/1.1 var(--head);z-index:1;background:var(--mint);margin:30px 0 15px}.portrait small{font-size:11px;z-index:1;background:var(--mint)}.ribbon{background:var(--ink);color:var(--paper);padding:19px 5%;font:11px/1.6 var(--label);letter-spacing:.15em;display:flex;justify-content:center;gap:35px}.ribbon span{color:var(--lime)}.soft{background:var(--mint)}.black{background:var(--ink);color:var(--paper)}.black h2{color:var(--lime)}.black .button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.statement{text-align:center;padding-top:120px;padding-bottom:120px}.statement h2{font-size:clamp(44px,5.6vw,78px)}.statement p:first-of-type{font-size:26px}.offers{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:55px}.offers article{border-top:2px solid var(--ink);padding-top:28px;display:flex;align-items:flex-start;flex-direction:column}.offers p{font-size:17px}.offers .button{margin-top:auto}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:60px}blockquote{margin:20px 0;padding:25px 0;border-top:4px solid var(--lime);font:30px/1.35 var(--head)}cite{display:block;font:13px/1.7 var(--body);margin-top:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px}.split .portrait{min-height:300px}.sales-hero{background:var(--mint);padding:100px 7%}.sales-hero .inner{max-width:1050px}.sales-hero h1{font-size:clamp(55px,8vw,110px)}.source-proof{font-size:12px;max-width:700px;margin:30px 0 0}.offer-details li{border-bottom:1px solid var(--ink);padding:18px 0}.review{font-size:13px;border:1px solid var(--ink);padding:20px;background:var(--lime);color:var(--ink)}.testimonial{background:var(--ink);color:var(--paper)}.testimonial h2{color:var(--lime)}.testimonial p{font-size:21px}.consultation{background:var(--mint);scroll-margin-top:125px;text-align:center}.embed-placeholder{border:1px dashed var(--ink);padding:50px 35px;margin-top:35px;background:var(--paper)}.embed-placeholder p{font-size:16px;margin-bottom:0}details{border-top:1px solid var(--ink);padding:22px 0}details:last-child{border-bottom:1px solid var(--ink)}summary{font:700 22px/1.4 var(--head);cursor:pointer}details p:first-of-type{margin-top:20px}footer{background:var(--ink);color:var(--paper);padding:65px 7% 25px;display:grid;grid-template-columns:2fr 1fr;gap:40px}footer .wordmark{display:inline-block;margin-bottom:25px}footer p{font-size:14px}footer a{display:block;margin-bottom:8px;text-decoration:none}footer .label{color:var(--lime)}.copyright{grid-column:1/-1;border-top:1px solid var(--paper);padding-top:20px;font-size:11px}.skip{position:fixed;left:15px;top:-100px;z-index:100;background:var(--lime);padding:10px}.skip:focus{top:10px}@media(min-width:900px){.nav-group:hover .dropdown{display:block}}@media(max-width:1000px){nav{gap:19px}.hero{gap:35px}.wordmark{font-size:25px}.wordmark i{font-size:30px}.portrait{min-height:360px}.ribbon{font-size:10px;gap:15px}}@media(max-width:760px){html{scroll-padding-top:105px}.draft-note{justify-content:flex-start}.draft-note span{display:none}header{padding:16px 6%;gap:15px}.wordmark{font-size:24px}.wordmark i{font-size:29px}.wordmark small{font-size:8px}.menu-toggle{display:block;background:var(--paper);border:1px solid var(--ink);padding:7px 11px;font-size:13px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6%;border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch;font-size:17px;gap:15px}nav.expanded{display:flex}.nav-group{flex-wrap:wrap;justify-content:space-between}.dropdown{position:static;width:100%;border:0;border-left:2px solid var(--ink);margin-top:5px}.nav-group:focus-within:not(.open) .dropdown{display:none}.hero{grid-template-columns:1fr;padding:50px 7%;gap:35px}.hero h1{font-size:50px}.hero .portrait{max-width:500px;width:100%;aspect-ratio:5/4;min-height:300px}.portrait-mark{font-size:95px}.portrait p{font-size:30px;margin-top:15px}.ribbon{display:block;text-align:center;font-size:9px}.ribbon span{padding:0 5px}section{padding:64px 7%}.lead{font-size:19px}.statement{padding:75px 7%}.statement p:first-of-type{font-size:22px}.offers,.quotes,.split{grid-template-columns:1fr;gap:35px}.sales-hero{padding:65px 7%}.sales-hero h1{font-size:60px}footer{grid-template-columns:1fr;padding:50px 7% 25px}.embed-placeholder{padding:30px 20px}.consultation{scroll-margin-top:105px}body{font-size:17px}h2{overflow-wrap:break-word}.button{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Approved handwritten cursive alternative to unavailable Feeling Passionate. */
@font-face{font-family:Allura;src:url('/fonts/Allura-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.wordmark i{font-family:Allura,cursive;font-style:normal;font-size:44px;letter-spacing:0;line-height:.9}
@media(max-width:1000px){.wordmark i{font-size:39px}}
@media(max-width:760px){.wordmark i{font-size:37px}}

.hero-photo{width:100%;aspect-ratio:1;align-self:center}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.photo-copy{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,75px);align-items:center}.editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.split .editorial-photo{align-self:start}@media(max-width:760px){.photo-copy{grid-template-columns:1fr}.editorial-photo{width:100%;max-width:480px;margin:0 auto}.photo-copy h2{margin-top:8px}}

/* Distinguish the homepage introduction from the following section. */
.welcome-separated{border-bottom:2px solid var(--ink)}.welcome-separated + section{background:var(--paper)}.welcome-separated .editorial-photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.story-separated{background:var(--mint);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.story-separated + section{background:var(--paper)}

/* Full-width photographic homepage hero. */
.hero.hero-banner{position:relative;isolation:isolate;display:flex;align-items:center;max-width:none;min-height:clamp(580px,48vw,820px);padding:80px 7%;overflow:hidden;background:var(--ink);color:var(--paper)}
.hero-banner-image{position:absolute;inset:0;z-index:-2}.hero-banner-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.72) 33%,rgba(0,0,0,.2) 62%,rgba(0,0,0,.04) 100%)}
.hero-banner-copy{width:52%;max-width:740px}.hero-banner h1{font-size:clamp(48px,5.2vw,80px)}.hero-banner .lead{font-size:clamp(18px,1.5vw,21px);max-width:600px}.hero-banner .label{color:var(--lime);font-size:16px}.hero-banner .button:hover{background:var(--paper);color:var(--ink)}
@media(max-width:760px){.hero.hero-banner{min-height:740px;padding:280px 7% 48px;align-items:flex-end}.hero-banner-copy{width:100%;max-width:none}.hero-banner-image img{object-position:66% top}.hero-banner:after{background:linear-gradient(0deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.88) 40%,rgba(0,0,0,.18) 80%)}.hero-banner h1{font-size:clamp(38px,9.5vw,50px)}.hero-banner .lead{font-size:18px}}

/* Matching, single-line headings in the homepage program cards. */
.offers article{min-width:0;container-type:inline-size}.offers .program-heading{font-size:clamp(20px,8.4cqi,38px);white-space:nowrap;letter-spacing:-.035em;line-height:1.15}

/* Shared rule: separate consecutive sections with the same background. */
main > section.section-divider{border-top:2px solid currentColor}
main > section .inner > h2:not(:first-child){border-top:2px solid currentColor;padding-top:48px;margin-top:48px}

.booking-calendar{width:100%;margin-top:35px;background:var(--paper)}.booking-calendar iframe{display:block;max-width:100%}

.contact-form{margin-top:40px;padding-top:35px;border-top:2px solid var(--ink)}.contact-form iframe{max-width:100%}

.testimonial-screenshot{margin:32px 0}.testimonial-screenshot img{display:block;width:100%;height:auto}.testimonial-image-section{padding-top:55px;padding-bottom:55px}

.experience-ribbon{font-size:16px;line-height:1.7;letter-spacing:.12em;flex-wrap:wrap;gap:12px 25px;text-align:center}@media(max-width:760px){.experience-ribbon{font-size:13px;padding:22px 7%;letter-spacing:.09em}.experience-ribbon span{display:block;padding:0}}

.homepage-reminder{padding-top:75px}.homepage-reminder h2{font-size:clamp(38px,4.8vw,66px)}@media(max-width:760px){.homepage-reminder{padding-top:48px}.homepage-reminder h2{font-size:38px}}

.homepage-reminder p:nth-of-type(2){font-size:26px}@media(max-width:760px){.homepage-reminder p:nth-of-type(2){font-size:22px}}

/* Shared navigation buttons. */
#main-nav{gap:12px}#main-nav > a,#main-nav .nav-group > a,#main-nav .dropdown a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none;line-height:1.3}
#main-nav > a:hover,#main-nav .nav-group > a:hover,#main-nav .dropdown a:hover{background:var(--mint)}
#main-nav a[aria-current="page"]{background:var(--lime);text-decoration:none}
#main-nav .nav-group{gap:0}#main-nav .dropdown-toggle{border:1px solid var(--ink);border-left:0;min-height:44px;width:36px;padding:0;background:var(--paper);align-self:stretch}#main-nav .dropdown-toggle:hover,#main-nav .dropdown-toggle[aria-expanded="true"]{background:var(--lime)}
#main-nav .dropdown{padding:12px;min-width:270px}#main-nav .dropdown a{display:flex;margin:0 0 8px;text-align:center}#main-nav .dropdown a:last-child{margin-bottom:0}
@media(max-width:1000px) and (min-width:761px){#main-nav{gap:8px}#main-nav > a,#main-nav .nav-group > a{padding:10px 12px}}
@media(max-width:760px){#main-nav > a{width:100%}#main-nav .nav-group > a{flex:1}#main-nav .dropdown{border-left:0;padding:12px 0 0}#main-nav .dropdown a{width:100%}}

.about-intro-heading{font-size:clamp(35px,4vw,62px)}
