:root{--cream:#faf7f0;--brown:#5c4035;--taupe:#b79e8a;--sand:#e4ddcc;--blue:#d1e2ec;--navy:#233670;--heading:Inter,sans-serif;--body:Montserrat,sans-serif;--wide:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--brown);font:300 16px/1.75 var(--body)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:500 13px/1.5 var(--body);cursor:pointer}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a,button,summary{transition:color .18s,background-color .18s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:6px}.container{width:min(calc(100% - 112px),var(--wide));margin-inline:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font:500 54px/1.12 var(--heading);letter-spacing:-.045em}h3{font:500 26px/1.25 var(--body)}p+p{margin-top:20px}.eyebrow{font:500 11px/1.6 var(--body);letter-spacing:.13em}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:16px 26px;border:1px solid var(--brown);background:var(--brown);color:var(--cream);font:500 13px/1.5 var(--body)}.button:hover{background:var(--navy);border-color:var(--navy);color:var(--cream)}.text-link,.inline-button{display:inline-flex;align-items:center;min-height:44px;background:none;border:0;border-bottom:1px solid currentColor;padding:8px 0;color:inherit;font:500 13px/1.5 var(--body)}.text-link:hover,.inline-button:hover{color:var(--navy)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}.logo{width:132px;flex-shrink:0}.logo img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:36px;font:500 12px/1.5 var(--body)}.site-header nav a{padding-block:14px}.site-header .button{border:0;border-bottom:1px solid var(--brown);color:var(--brown);background:none;padding:14px 0;min-height:44px}.site-header a:hover{color:var(--navy)}
.hero{display:grid;grid-template-columns:1.08fr 1fr;width:min(calc(100% - 48px),1552px);margin:auto;background:var(--sand);min-height:700px;overflow:hidden}.hero-copy{padding:clamp(48px,6vw,96px);padding-right:30px;align-self:center}.hero h1{font-size:clamp(46px,5.5vw,82px);line-height:1.05;margin:36px 0 20px;letter-spacing:-.055em}.hero-tagline{font:500 clamp(22px,2.5vw,34px)/1.3 var(--heading);letter-spacing:-.035em}.hero-description{margin-top:36px;font-size:15px}.hero .button{margin-top:28px}.hero-photo{height:760px;background:var(--blue)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 66%}
.welcome{padding:104px 0 88px;text-align:center}.welcome p{font:500 clamp(24px,3vw,42px)/1.35 var(--heading);letter-spacing:-.035em}.studio-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,128px);align-items:center;padding-bottom:112px;max-width:1100px}.alex-portrait img{width:100%;height:580px;object-fit:cover;object-position:center 65%}.alex-intro .eyebrow{margin-bottom:24px}.alex-intro h2{margin-bottom:32px}.alex-intro p:not(.eyebrow){font-size:15px;max-width:480px}
.classes-section{padding:96px 0;background:var(--cream);border-top:1px solid var(--sand)}.class-layout{max-width:1000px}.section-heading{text-align:center;max-width:740px;margin:0 auto 56px}.section-heading h2{margin-bottom:24px}.section-heading p{max-width:650px;margin:0 auto 20px}.section-heading .text-link{font-size:12px}.class-list{border-top:1px solid var(--taupe)}details{border-bottom:1px solid var(--taupe)}summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:28px 0;min-height:64px}summary::-webkit-details-marker{display:none}summary:hover{color:var(--navy)}.class-list summary>span:first-child{display:flex;align-items:center;flex-direction:row-reverse;justify-content:space-between;width:100%;gap:24px}.class-title{font:500 44px/1.2 var(--heading);letter-spacing:-.035em;min-width:220px}.class-tag{font:500 10px/1.6 var(--body);letter-spacing:.1em;text-align:right}.plus{font:300 26px/1 var(--body);margin-left:24px}details[open] .plus{transform:rotate(45deg)}details>p{max-width:650px;font-size:15px;padding-bottom:28px}.private-note{text-align:center;font-size:14px;margin-top:28px}.inline-button{margin-left:8px}.community-photo{padding:0 0 100px}.community-photo img{width:100%;height:auto;max-height:650px;object-fit:cover;object-position:50% 38%}
.foundation-section{background:var(--brown);color:var(--cream);padding:100px 56px}.foundation-panel{max-width:850px;margin:auto;text-align:center}.foundation-panel h2{max-width:720px;margin:0 auto 24px;font-size:clamp(38px,4.5vw,62px)}.foundation-panel>div>p{max-width:610px;margin:auto;font-size:15px}.draft-label{display:block;margin:28px 0 40px;font:500 10px/1.6 var(--body);letter-spacing:.12em;color:var(--blue)}.offer-options{max-width:680px;margin:auto}.offer{display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;padding:28px 0;border-top:1px solid var(--taupe)}.offer:last-of-type{border-bottom:1px solid var(--taupe)}.offer p{font-size:14px;margin-top:8px}.offer .price{font:500 44px/1 var(--heading);letter-spacing:-.04em;white-space:nowrap;margin:0}.price span{font:300 12px/1.5 var(--body);display:block;text-align:right;margin-top:10px;letter-spacing:0}.terms{font-size:12px;max-width:510px;margin:28px auto!important}.foundation-panel .button{background:var(--cream);color:var(--brown);border-color:var(--cream)}.foundation-panel .button:hover{background:var(--blue);border-color:var(--blue);color:var(--navy)}.preview-caption{font-size:11px;margin-top:16px}.foundation-panel :focus-visible{outline-color:var(--blue)}
.questions-section{background:var(--blue);color:var(--navy);padding:96px 0}.questions-inner{max-width:1000px}.questions-section h2{font-size:clamp(38px,4.5vw,60px)}.questions-section .section-heading{margin-bottom:48px}.questions-section .button{background:var(--navy);border-color:var(--navy);margin-top:8px}.questions-section .button:hover{background:var(--brown);border-color:var(--brown)}.faq-list{border-top:1px solid rgba(35,54,112,.3)}.faq-list details{border-color:rgba(35,54,112,.3)}.faq-list summary{font:500 16px/1.6 var(--body);padding-block:26px}.faq-list summary span{font-size:24px}.faq-list p{max-width:780px}.location-note{font-size:12px;margin-top:28px}
.site-footer{background:var(--brown);color:var(--cream);padding:64px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}.footer-top>p{font:500 clamp(22px,2.7vw,38px)/1.25 var(--heading);letter-spacing:-.025em}.footer-top nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:12px;max-width:510px}.footer-top a{padding-block:12px}.footer-top a:hover{color:var(--blue)}.footer-brand{display:block;margin:80px auto 64px}.footer-brand img{width:100%;height:auto}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--taupe);padding-top:20px;font-size:10px}.footer-bottom p{margin:0}.site-footer :focus-visible{outline-color:var(--blue)}
dialog{background:var(--cream);color:var(--brown);border:1px solid var(--taupe);padding:48px;max-width:540px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(35,54,112,.6)}dialog h2{font-size:32px;margin:20px 0}dialog p{font-size:15px}dialog .eyebrow{font-size:10px}dialog .button{margin-top:24px}.close-button{position:absolute;right:8px;top:8px;width:44px;height:44px;background:none;border:0;font-size:24px}.skip{position:absolute;left:16px;top:-100px;background:var(--cream);padding:16px;z-index:10}.skip:focus{top:16px}
@media(max-width:1000px){.container{width:calc(100% - 64px)}.hero{min-height:620px}.hero-copy{padding:40px 28px}.hero h1{font-size:56px}.hero-photo{height:680px}.hero .eyebrow{font-size:9px}.hero .button{font-size:11px;padding-inline:16px}.studio-section{gap:48px}.alex-portrait img{height:500px}.footer-top nav{gap:16px}.class-tag{font-size:9px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.site-header{padding-block:16px}.logo{width:108px}.site-header nav>a:not(.button){display:none}.site-header .button{font-size:11px}.hero{display:flex;flex-direction:column;width:calc(100% - 24px);min-height:0}.hero-copy{padding:36px 24px 32px;align-self:stretch}.hero h1{font-size:clamp(42px,11.5vw,72px);margin:24px 0 18px}.hero-tagline{font-size:24px}.hero-description{font-size:14px;margin-top:24px}.hero .button{font-size:12px;margin-top:24px}.hero-photo{height:auto;width:100%}.hero-photo img{height:auto;aspect-ratio:4/5;object-position:center bottom}.welcome{padding:56px 0}.welcome p{font-size:27px}.welcome br{display:none}.studio-section{display:flex;flex-direction:column;gap:32px;padding-bottom:56px}.alex-portrait{width:100%}.alex-portrait img{height:auto;aspect-ratio:4/5;object-position:center bottom}.alex-intro h2{font-size:42px;margin-bottom:24px}.alex-intro .eyebrow{margin-bottom:18px}.classes-section{padding:56px 0}.section-heading h2{font-size:40px}.section-heading{margin-bottom:36px}.section-heading p{font-size:15px}.class-list summary>span:first-child{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:8px}.class-title{font-size:34px;min-width:0}.class-tag{text-align:left;font-size:9px}.plus{margin-left:0}.private-note{font-size:13px}.inline-button{margin-left:0}.community-photo{padding-bottom:56px}.community-photo img{max-height:none;object-fit:contain}.foundation-section{padding:64px 24px}.foundation-panel h2{font-size:40px}.foundation-panel>div>p{font-size:15px}.draft-label{font-size:9px;margin-bottom:28px}.offer .price{font-size:36px}.offer p{font-size:12px}.foundation-panel .button{font-size:12px;padding-inline:18px}.questions-section{padding:64px 0}.questions-section h2{font-size:40px}.faq-list summary{font-size:15px}.site-footer{padding-top:48px}.footer-top{flex-direction:column;gap:24px}.footer-top>p{font-size:28px}.footer-top nav{gap:8px 24px;flex-wrap:wrap}.footer-brand{margin:48px auto}.footer-bottom{flex-direction:column;gap:12px;font-size:10px}dialog{padding:40px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Confirmed review changes: clear offer spacing and supplied address. */
.offer-options{margin-top:40px}.location-note{font-style:normal;font-size:14px;line-height:1.8}

/* September client feedback: official icon and wordmark, responsive navigation. */
.logo{display:block;width:190px}.logo img{width:100%;height:auto}
.intro-section{background:var(--brown);color:var(--cream);padding:96px 24px;text-align:center}.intro-panel{max-width:850px;margin:auto}.intro-panel .eyebrow{margin-bottom:24px}.intro-panel h2{font-size:clamp(42px,5vw,68px);margin-bottom:24px}.intro-terms{font-weight:500}.intro-panel .button{margin-top:32px;background:var(--cream);color:var(--brown);border-color:var(--cream)}.intro-panel .button:hover{background:var(--blue);border-color:var(--blue)}.intro-panel :focus-visible{outline-color:var(--blue)}
.booking-section{padding-block:72px;text-align:center}.booking-section h2{font-size:clamp(36px,4vw,54px)}.booking-intro{margin:24px 0 32px}hapana-widget{display:block;width:100%;min-height:240px;text-align:left}
@media(max-width:700px){.site-header{flex-wrap:wrap;justify-content:center;gap:12px}.logo{width:160px}.site-header nav{width:100%;justify-content:space-between;gap:12px}.site-header nav>a:not(.button){display:block}.site-header nav a{min-height:44px;font-size:11px}.intro-section{padding:64px 24px}.booking-section{padding-block:48px}}

.contact-details{font-size:14px;overflow-wrap:anywhere}.contact-details a{display:inline-block;min-height:44px;padding-block:8px;text-decoration:underline;text-underline-offset:4px}
