/* Olivia's banner identity: colours and original vector details from the approved schedule. */
:root{--cream:#FFF4DC;--paper:#FFF9EC;--green:#005D42;--deep:#004B36;--sage:#F4E6C6;--olive:#167556;--ink:#111111;--muted:#536052;--line:#E8D8B5;--orange:#F58220;--sand:#F0DFB7;--serif:'Geologica',Arial,sans-serif;--sans:'Montserrat',Arial,sans-serif;--script:'Marck Script','Segoe Print',cursive}
html,body{overflow-x:clip}body{background:var(--cream);font-family:var(--sans)}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:1.18}h2{font-size:43px}h3{font-size:32px}h1 em,h2 em,em{font-family:var(--script);font-style:normal;font-weight:400;color:var(--green)}h2 em{font-size:1.32em;line-height:1}.button{border-radius:50px;min-height:54px;font-size:13px;gap:22px;padding:14px 24px;font-weight:600;box-shadow:none}.button:hover{transform:translateY(-2px)}.button-green{background:var(--green)}.button-cream{background:var(--paper);color:var(--green)}.button-outline{border-color:var(--green)}.button span{font-weight:400;font-size:22px}.text-link{color:var(--green);font-size:13px;font-weight:600}.eyebrow{font-size:10px;letter-spacing:.095em;color:var(--green);font-weight:600}.top-note{background:var(--green);font-size:10px;font-weight:500;color:var(--cream)}.tiny-star{color:#FBA048}.site-header{background:rgba(255,244,220,.97);border-color:#E8D8B57F}.header-inner{min-height:96px}.brand{gap:11px}.brand img{width:63px;height:49px}.brand-type strong{font-family:var(--serif);font-size:29px;font-weight:500;letter-spacing:.10em;text-transform:uppercase;color:#111}.brand-type>span{font-size:7px;font-weight:600;letter-spacing:.18em;margin-top:9px;color:var(--green)}.main-nav{gap:25px}.main-nav>a{font-size:11px;font-weight:500}.nav-book{font-size:11px;min-height:44px;padding:12px 18px}.menu-toggle{border-color:#DCC89B;background:#FFF9EC}.main-nav.is-open{background:var(--cream)}
.hero{padding-block:65px 76px;grid-template-columns:1.12fr 1fr;gap:46px;position:relative;isolation:isolate;min-height:690px}.hero:before{content:'';position:absolute;left:-200px;top:-18px;width:630px;height:155px;background:var(--sand);border-radius:45% 55% 60% 40% / 55% 55% 45% 45%;transform:rotate(-11deg);z-index:-2;opacity:.38}.hero:after{content:'';position:absolute;right:-170px;bottom:-4px;width:630px;height:145px;background:url('/assets/wave-beige.svg') center/100% 100% no-repeat;z-index:-2}.hero-copy{padding-top:8px}.hero-brand{display:flex;align-items:center;gap:18px;white-space:nowrap}.hero-brand>img{width:118px;height:104px;object-fit:contain;flex-shrink:0}.hero-brand>div{min-width:0}.hero-brand h1{font-size:clamp(54px,5.6vw,76px);font-weight:500;letter-spacing:.055em;line-height:1.14;margin-right:-.055em;color:#050606}.hero-brand p{font-size:15px;letter-spacing:.165em;text-transform:uppercase;color:var(--green);font-weight:500;margin-top:14px;line-height:1.4}.brand-heart-line{display:flex;align-items:center;gap:15px;width:90%;margin:23px 0 17px}.brand-heart-line>span{height:1px;background:var(--green);flex:1;opacity:.6}.brand-heart-line>img{width:23px;height:25px;transform:rotate(-7deg)}.hero-motto{font-family:var(--script);font-size:52px;line-height:1.1;color:var(--green);margin-top:0;letter-spacing:-.02em}.hero .eyebrow{font-size:9px;letter-spacing:.065em;margin-top:22px;margin-bottom:0;line-height:1.8;flex-wrap:wrap}.hero-intro{max-width:445px;font-size:14px;line-height:1.85;margin-top:14px;color:var(--muted)}.hero-actions{gap:21px;margin-top:28px}.hero-actions .button{font-size:11px;padding:14px 20px;min-height:51px;gap:15px}.hero-actions .text-link{font-size:11px;gap:10px}.hero-footnote{margin-top:25px;font-size:10px;line-height:1.7}.hero-footnote .heart-mark{color:var(--orange);font-family:var(--sans);font-size:33px}.hero-copy-heart{position:absolute;right:5px;bottom:16px;width:41px;height:44px;transform:rotate(15deg)}.hero-art{height:528px;width:100%;position:relative}.art-arch{margin-inline:16px 18px;border-radius:100px 44px 90px 36px;transform:rotate(2deg);background:var(--sand)}.hero-photo{object-position:50% 43%}.arch-line{display:none}.has-photo:after{border-radius:inherit;background:linear-gradient(180deg,transparent 65%,#003F2822)}.photo-date{right:18px;font-size:9px;letter-spacing:.04em;bottom:26px}.photo-logo-stamp{width:91px;height:91px;top:26px;left:-6px;background:var(--cream);padding:13px;box-shadow:none;border:0;transform:rotate(-11deg)}.art-label{left:-8px;bottom:24px;padding:13px 63px 13px 19px;border:0;border-radius:28px;background:var(--cream);box-shadow:none;transform:rotate(-5deg)}.art-label strong{font-family:var(--script);font-size:29px;font-weight:400;color:var(--green);line-height:1.1;white-space:nowrap}.art-label img{width:30px;height:33px;position:absolute;right:16px;top:13px;transform:rotate(12deg)}.art-branch{opacity:1;z-index:-1;width:142px;height:184px}.art-branch-left{left:-29px;top:-20px;transform:rotate(-20deg)}.art-branch-right{right:-27px;bottom:-24px;transform:rotate(22deg);width:150px;height:195px}.art-sparks{position:absolute;right:-17px;top:-8px;width:91px;height:67px;transform:rotate(29deg)}.art-doodle-heart{position:absolute;left:-31px;top:153px;width:40px;height:44px;transform:rotate(-15deg)}.brand-dot{position:absolute;border-radius:50%;width:18px;height:18px;z-index:1}.dot-green{right:-1px;bottom:201px;background:var(--green)}.dot-orange{right:132px;bottom:-24px;width:13px;height:13px;background:var(--orange)}
.welcome-strip{background:var(--sand);border:0;position:relative}.welcome-inner{min-height:87px}.welcome-icon{color:var(--green);font-size:43px;font-weight:600}.welcome-inner p{font-size:14px;font-weight:600;color:var(--green)}.welcome-inner p span{font-size:12px;font-weight:400;color:var(--green)}.welcome-inner a{font-size:11px;color:var(--green);font-weight:600}.section{padding-block:92px}.section-heading h2{font-size:44px}.section-heading>p{font-size:12px;color:var(--muted)}.about-section{gap:90px}.about-section h2{font-size:43px}.about-signature{gap:16px;margin-top:31px;margin-left:0}.about-signature img{width:65px;height:84px;transform:rotate(22deg)}.about-signature span{font-family:var(--script);font-size:29px;font-style:normal;color:var(--green)}.lead{font-size:20px;font-weight:500;line-height:1.7}.about-content>.muted{font-size:13px;line-height:1.95}.about-values>div{gap:19px}.value-number{font-family:var(--serif);font-size:13px;font-weight:600;color:var(--orange);line-height:27px}.about-values strong{font-size:14px;font-weight:600;color:var(--green)}.about-values p span{font-size:12px;line-height:1.7}.groups-section{background:#F4E6C655;position:relative;isolation:isolate}.groups-section:before{content:'';position:absolute;right:-180px;top:28px;width:450px;height:225px;background:var(--sand);border-radius:50%;transform:rotate(-23deg);opacity:.45;z-index:-1}.group-grid{gap:24px}.group-card{border:0;border-radius:29px;padding:35px 37px;background:var(--paper);color:var(--ink);box-shadow:0 7px 0 #E8D8B546}.group-card:after{content:'';width:112px;height:145px;position:absolute;right:-24px;top:190px;background:url('/assets/branch.svg') center/contain no-repeat;transform:rotate(-14deg);opacity:.055;pointer-events:none}.group-next{background:var(--paper);color:var(--ink);border:0}.group-card-top{margin-bottom:29px}.pill,.group-next .pill{background:var(--green);color:var(--cream);border:0;padding:8px 14px;font-size:9px;border-radius:40px;font-weight:500}.group-symbol{width:32px;height:35px;transform:rotate(9deg)}.group-short,.group-next .group-short{color:var(--orange);font-weight:700;font-size:12px;letter-spacing:.07em;margin-bottom:11px}.group-card h3{font-family:var(--serif);font-size:33px;min-height:80px;color:var(--green);font-weight:600;letter-spacing:-.035em}.group-description,.group-next .group-description{font-size:13px;color:var(--muted);line-height:1.9;min-height:78px}.group-features{font-size:11px;line-height:1.85}.group-features li{padding-left:22px;margin-bottom:10px}.group-features li:before,.group-next .group-features li:before{color:var(--orange);content:'●';font-size:8px;top:1px}.price,.group-next .price{border-color:var(--line);gap:13px;padding-top:24px}.price strong{font-family:var(--serif);font-weight:650;font-size:44px;letter-spacing:-.045em;color:var(--green)}.price span,.group-next .price span{color:var(--muted);font-size:11px}.group-actions .button{font-size:10px;padding-inline:19px;border-radius:35px}.group-next .button-cream{background:var(--green);color:var(--cream)}.group-next .button-cream:hover{background:var(--deep)}.group-actions .text-link{font-size:10px}.group-notes p{font-size:11px;line-height:1.8}.group-notes .text-link{font-size:11px}
#schedule-title{font-size:75px;line-height:1}.schedule-toolbar{margin-top:33px}.filter-button{border:0;background:var(--sage);font-size:11px;padding:12px 19px;font-weight:500;min-height:44px}.filter-button.is-active{background:var(--green)}.day-picker select{background:var(--paper);border-color:var(--line);font-size:11px;border-radius:25px;padding-left:19px;min-height:44px}.schedule-grid{gap:20px}.day-card{background:var(--paper);border:0;border-radius:24px;padding:26px 24px 12px;box-shadow:0 5px 0 #F0DFB755}.day-heading{gap:10px;margin-bottom:16px}.day-heading>span{width:10px;height:10px;background:var(--orange);font-size:0;flex-shrink:0}.day-heading h3{background:var(--green);color:var(--cream);border-radius:30px;padding:7px 13px;font-family:var(--serif);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.045em;line-height:1.6}.session{padding:17px 0;border-color:#E8D8B58F}.session-time{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:-.02em}.session-title{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--green);line-height:1.6}.session-group{font-size:8px;padding:4px 7px;border-radius:9px;background:#EDE0BE;color:var(--green)}.session-group.shared{background:#FAE1B8;color:#7C5425}.schedule-status{font-size:10px;margin-top:18px}.schedule-note p{font-size:11px;line-height:1.95}.schedule-note>span{color:var(--orange);font-family:var(--sans);font-size:34px}.schedule-note{border-color:var(--line)}
.community-section{position:relative;background:var(--sand);color:var(--ink);overflow:hidden}.community-section:before{content:'';position:absolute;left:-100px;top:-190px;width:650px;height:300px;border-radius:50%;background:var(--cream)}.community-section:after{content:'';position:absolute;right:-60px;bottom:-220px;width:780px;height:290px;border-radius:50%;background:var(--cream)}.community-inner{min-height:400px;padding-block:65px;gap:90px;position:relative;z-index:1}.community-art{width:235px;position:relative}.community-art .community-logo{width:235px;height:auto;opacity:1;transform:rotate(-7deg);filter:none}.community-art .community-branch{position:absolute;left:-70px;bottom:-67px;width:100px;height:130px;opacity:.9;transform:rotate(20deg);filter:none;z-index:-1}.community-copy .eyebrow{color:var(--green);font-size:9px}.community-copy h2{font-size:40px;color:var(--green)}.community-copy h2 em{color:var(--green);font-family:var(--script);font-size:1.7em;font-weight:400;line-height:1.05}.community-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.9;margin-top:19px;max-width:430px}.community-copy .button{font-size:11px}.community-heart{position:absolute;right:5px;top:65px;width:55px;height:60px;transform:rotate(15deg)}
.gallery-section{padding-top:96px}.gallery-grid{gap:21px}.gallery-link{border-radius:27px;background:var(--sand)}.gallery-item:nth-child(2) .gallery-link{border-radius:80px 25px 25px 25px}.gallery-item:nth-child(3) .gallery-link{border-radius:25px 80px 25px 25px}.gallery-item figcaption{font-size:10px;color:var(--green);font-weight:500;margin-top:12px}.gallery-link:after{background-color:var(--cream)}.gallery-bottom p{font-size:11px}.gallery-bottom .text-link{font-size:11px}.faq-section{border-color:var(--line);gap:90px}.faq-section h2{font-size:43px}.faq-intro{font-size:13px;line-height:1.8}.faq-list{border-color:var(--line)}.faq-list details{border-color:var(--line)}.faq-list summary{font-size:13px;font-weight:600;color:var(--green);padding-block:24px}.faq-list summary>span{color:var(--orange);font-size:27px}.faq-list details>p{font-size:12px;line-height:1.95}.inline-book{font-size:12px}.contact-section{background:var(--cream);border-color:var(--line);position:relative}.contact-copy h2{font-size:43px}.contact-address{font-size:15px;line-height:1.9}.contact-address span{font-size:12px}.contact-phones a{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:0;color:var(--green)}.contact-phones a>span{color:var(--orange)}.contact-actions .button{font-size:11px;gap:15px}.contact-actions .text-link{font-size:11px}.directions-card{background:var(--paper);border:0;border-radius:29px;box-shadow:0 7px 0 #E8D8B546}.directions-art{background:var(--sand);padding:29px;min-height:235px}.directions-label{font-family:var(--serif);font-size:11px;font-weight:500;letter-spacing:.11em}.floor-number{font-family:var(--serif);font-size:102px;font-weight:650;line-height:1.05}.floor-number span{font-family:var(--serif);font-size:22px;font-weight:500}.directions-art>svg{stroke-width:4px;opacity:1;width:134px;right:34px;bottom:44px}.directions-art>img{opacity:1;width:64px;height:83px;right:15px;top:11px}.entry-dot{background:var(--green);width:9px;height:9px}.entry-dot-warm{background:var(--orange)}.entry-info strong{font-size:11px;font-weight:600;color:var(--green)}.entry-info p>span:last-child{font-size:10px}.map-link{font-size:11px;font-weight:600;border-color:var(--line)}
.site-footer{background:var(--green);color:var(--cream);position:relative;padding-block:55px 43px;margin-top:25px;isolation:isolate}.site-footer:before{content:'';position:absolute;left:-15%;top:-67px;width:130%;height:145px;border-radius:50% 50% 0 0;background:var(--green);z-index:0}.site-footer:after{content:'';position:absolute;right:-28px;top:-42px;width:180px;height:234px;background:url('/assets/branch.svg') center/contain no-repeat;filter:brightness(0) invert(92%) sepia(28%);opacity:.7;z-index:0;pointer-events:none}.footer-inner{position:relative;z-index:1}.site-footer .brand img{width:66px;height:66px;padding:9px;border-radius:50%;background:var(--cream)}.site-footer .brand-type strong{color:var(--cream);font-size:28px;font-weight:400}.site-footer .brand-type>span{color:var(--cream);font-size:7px;letter-spacing:.15em}.footer-inner>p{font-family:var(--script);font-size:26px;font-weight:400;line-height:1.25;color:var(--cream)}.footer-right{font-size:11px;gap:9px}.footer-right>span{color:var(--cream);font-size:10px;opacity:.75}.mobile-dock{background:rgba(255,244,220,.98);border-color:var(--line)}.mobile-dock .button{border-radius:30px}.dock-call{border-radius:50%;background:var(--paper)}.booking-dialog{background:var(--cream);border:0;border-radius:25px}.booking-panel h2{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.25}.booking-panel h2 em{font-family:var(--script);font-size:1.23em}.booking-panel label{font-weight:500}.booking-panel input,.booking-panel select,.booking-panel textarea{border-color:var(--line);border-radius:13px;background:var(--paper)}.booking-panel .form-submit{border-radius:30px}.dialog-close{border-color:var(--line);color:var(--green)}.gallery-dialog{background:var(--green);border-radius:23px}.lightbox-image{border-radius:21px 21px 0 0}.lightbox-count{color:var(--cream)}.lightbox-controls button{border-color:#E0DAB580;border-radius:50%}.lightbox-close{background:var(--cream)}
@media(max-width:1100px){.main-nav{gap:18px}.main-nav>a{font-size:10px}.nav-book{font-size:10px;gap:11px}.hero{gap:34px;min-height:630px;padding-block:55px 65px}.hero-brand{gap:12px}.hero-brand>img{width:94px;height:86px}.hero-brand h1{font-size:62px}.hero-brand p{font-size:12px;letter-spacing:.14em;margin-top:12px}.hero-motto{font-size:46px}.hero-art{height:486px}.hero-intro{font-size:13px}.hero-actions{gap:15px;flex-direction:column;align-items:flex-start}.hero-copy-heart{right:30px;bottom:16px;width:33px;height:36px}.group-card{padding:30px}.group-card h3{font-size:29px;min-height:70px}.group-description{font-size:12px;min-height:83px}.group-actions .button{padding-inline:15px;font-size:10px}.group-actions .text-link{font-size:10px}.group-actions{gap:14px}.community-inner{gap:60px}.community-art{width:205px}.community-art .community-logo{width:205px}.community-heart{right:0;width:43px;height:47px}.community-copy h2{font-size:35px}.contact-grid{gap:55px}.contact-copy h2{font-size:38px}.directions-art>svg{width:116px;right:23px}.footer-inner>p{font-size:24px}}
@media(max-width:850px){.header-inner{min-height:82px}.brand img{width:54px;height:43px}.brand-type strong{font-size:26px;letter-spacing:.085em}.brand-type>span{font-size:7px;letter-spacing:.13em;margin-top:7px}.main-nav.is-open{padding:17px 22px 23px}.main-nav>a{font-size:13px}.nav-book{font-size:12px;min-height:46px}.hero{gap:27px;grid-template-columns:1.12fr 1fr;min-height:580px;padding-block:52px 57px}.hero-brand{gap:9px}.hero-brand>img{width:77px;height:69px}.hero-brand h1{font-size:48px;letter-spacing:.035em}.hero-brand p{font-size:9px;letter-spacing:.13em;margin-top:10px}.brand-heart-line{margin-block:20px 13px;gap:12px}.brand-heart-line>img{width:19px;height:21px}.hero-motto{font-size:37px}.hero .eyebrow{font-size:8px;letter-spacing:.015em;margin-top:20px}.hero-intro{font-size:12px;line-height:1.85;margin-top:13px}.hero-actions{margin-top:23px;gap:14px}.hero-actions .button{font-size:10px;padding:13px 17px;gap:11px}.hero-actions .text-link{font-size:10px}.hero-footnote{font-size:9px;gap:9px;margin-top:22px}.hero-copy-heart{width:27px;height:29px;right:0;bottom:15px}.hero-art{height:422px}.art-arch{border-radius:90px 30px 70px 30px;margin-inline:9px}.photo-logo-stamp{width:67px;height:67px;left:-8px;top:20px;padding:9px}.art-label{padding:12px 46px 12px 15px;left:-9px;bottom:22px}.art-label strong{font-size:24px}.art-label img{width:24px;height:26px;top:13px;right:12px}.art-branch{width:108px;height:140px}.art-branch-left{left:-23px;top:-17px}.art-branch-right{right:-22px;bottom:-21px;width:112px;height:146px}.art-sparks{width:70px;height:52px;right:-18px;top:-5px}.art-doodle-heart{left:-23px;top:144px;width:30px;height:33px}.dot-green{width:12px;height:12px;right:-9px;bottom:170px}.dot-orange{width:10px;height:10px;right:62px;bottom:-23px}.welcome-inner p{font-size:12px}.welcome-inner p span{font-size:10px}.welcome-inner a{font-size:10px}.section{padding-block:73px}.section-heading h2,.about-section h2,.faq-section h2{font-size:36px}.section-heading>p{font-size:11px}.about-section{gap:46px}.about-content .lead{font-size:18px}.about-content>.muted{font-size:12px}.about-signature span{font-size:25px}.about-signature img{width:53px;height:69px}.about-values strong{font-size:12px}.about-values p span{font-size:11px}.group-grid{gap:17px}.group-card{padding:29px 24px}.group-card h3{font-size:26px;min-height:63px}.pill,.group-next .pill{font-size:8px;padding:8px 11px}.group-symbol{width:26px;height:29px}.group-description{font-size:11px;min-height:89px;line-height:1.95}.group-features{font-size:10px;min-height:95px}.price strong{font-size:37px}.group-actions{flex-direction:column;gap:12px;align-items:stretch}.group-actions .button{width:100%;font-size:10px;gap:17px}.group-actions .text-link{font-size:10px;align-self:flex-start}.group-notes p,.group-notes .text-link{font-size:10px}#schedule-title{font-size:65px}.schedule-toolbar{margin-top:25px}.filter-button{font-size:10px;min-height:41px;padding:10px 14px}.day-picker select{font-size:10px;min-height:41px}.schedule-grid{gap:17px}.day-card{padding:24px 21px 10px}.session-time{font-size:14px}.session-title{font-size:12px}.community-inner{gap:45px;padding-block:62px}.community-art{width:158px}.community-art .community-logo{width:158px}.community-art .community-branch{width:82px;height:106px;left:-46px;bottom:-62px}.community-copy h2{font-size:30px}.community-copy>p:not(.eyebrow){font-size:12px}.community-copy .eyebrow{font-size:8px}.community-heart{width:32px;height:36px;right:-6px;top:45px}.gallery-grid{gap:17px}.gallery-item figcaption{font-size:9px}.gallery-bottom p,.gallery-bottom .text-link{font-size:10px}.faq-section{gap:44px}.faq-list summary{font-size:12px;padding-block:21px}.faq-list details>p{font-size:11px}.contact-grid{gap:39px}.contact-copy h2{font-size:36px}.contact-phones a{font-size:18px}.contact-address{font-size:13px}.contact-address span{font-size:11px}.contact-actions .button{font-size:10px;gap:12px}.contact-actions .text-link{font-size:10px}.directions-art{min-height:205px;padding:26px}.directions-label{font-size:9px}.floor-number{font-size:87px}.floor-number span{font-size:18px;margin-left:11px}.directions-art>svg{width:95px;right:16px;bottom:38px}.directions-art>img{width:54px;height:70px;right:10px;top:9px}.entry-info strong{font-size:10px}.map-link{font-size:10px}.footer-inner>p{font-size:20px}.site-footer .brand-type strong{font-size:24px}.site-footer .brand img{width:56px;height:56px;padding:7px}.site-footer:after{width:136px;height:177px;right:-21px;top:-16px}}
@media(max-width:600px){.header-inner{min-height:77px}.top-note{font-size:8px;padding-block:8px}.brand img{width:49px;height:40px}.brand-type strong{font-size:25px;letter-spacing:.10em}.brand-type>span{font-size:6px;margin-top:7px;letter-spacing:.14em}.menu-toggle{width:42px;height:40px;border-radius:50%}.main-nav.is-open{padding-inline:18px}.main-nav>a{font-size:13px}.hero{grid-template-columns:1fr;gap:40px;min-height:0;padding-block:40px 49px}.hero:before{top:-18px;left:-155px;width:385px;height:102px;opacity:.5}.hero:after{width:450px;right:-118px;height:100px;bottom:-6px}.hero-copy{padding-top:0}.hero-brand{gap:12px;justify-content:center}.hero-brand>img{width:85px;height:75px}.hero-brand h1{font-size:clamp(40px,10.3vw,53px);letter-spacing:.05em}.hero-brand p{font-size:9px;letter-spacing:.11em;margin-top:10px;line-height:1.5}.brand-heart-line{width:88%;margin:24px auto 17px;gap:15px}.brand-heart-line>img{width:22px;height:24px}.hero-motto{font-size:42px;text-align:center;margin-top:0}.hero .eyebrow{font-size:8px;letter-spacing:.045em;margin-top:23px;line-height:1.8;justify-content:center;text-align:center}.hero-intro{font-size:13px;line-height:1.85;max-width:365px;margin:14px auto 0;text-align:center}.hero-actions{flex-direction:column;gap:17px;align-items:center;margin-top:24px}.hero-actions .button{font-size:11px;min-height:50px;padding:14px 23px;gap:22px}.hero-actions .text-link{font-size:11px;gap:11px}.hero-footnote{font-size:9px;justify-content:center;margin-top:22px;line-height:1.8;padding-inline:15px}.hero-footnote br{display:none}.hero-footnote .heart-mark{font-size:29px}.hero-copy-heart{right:0;bottom:-12px;width:25px;height:28px;transform:rotate(18deg)}.hero-art{height:436px;width:calc(100% - 20px);max-width:380px}.art-arch{border-radius:95px 35px 80px 30px;margin-inline:10px}.photo-logo-stamp{width:77px;height:77px;padding:11px;left:-7px;top:20px}.art-label{padding:14px 58px 14px 18px;left:-6px;bottom:21px}.art-label strong{font-size:29px}.art-label img{width:28px;height:30px;right:15px;top:14px}.art-sparks{width:78px;height:58px;right:-21px;top:-12px}.art-branch-left{width:112px;height:146px;top:-29px;left:-18px}.art-branch-right{width:111px;height:145px;right:-20px;bottom:-18px}.art-doodle-heart{width:33px;height:36px;left:-20px;top:173px}.dot-green{width:13px;height:13px;right:-10px;bottom:142px}.dot-orange{width:11px;height:11px;right:104px;bottom:-26px}.photo-date{font-size:8px;right:19px;bottom:34px}.welcome-inner{min-height:111px;padding-block:20px;gap:11px}.welcome-icon{font-size:35px}.welcome-inner p{font-size:11px}.welcome-inner p span{font-size:9px;margin-top:5px;line-height:1.7}.welcome-inner a{font-size:9px;margin-left:43px;gap:17px}.section{padding-block:60px}.eyebrow{font-size:8px;letter-spacing:.09em;margin-bottom:18px}.section-heading{margin-bottom:31px}.section-heading h2,.about-section h2,.faq-section h2{font-size:35px;line-height:1.22}.section-heading h2 em,.about-section h2 em,.faq-section h2 em{font-size:1.4em}.section-heading>p{font-size:11px;line-height:1.9;margin-top:20px}.about-section{gap:32px}.about-signature{gap:17px;margin-top:24px;margin-left:2px}.about-signature img{width:47px;height:61px}.about-signature span{font-size:28px}.about-content .lead{font-size:17px;line-height:1.8;max-width:340px}.about-content>.muted{font-size:12px;line-height:1.95;margin-top:17px}.about-values{margin-top:25px}.about-values>div{padding-block:20px;gap:21px}.value-number{font-size:13px;line-height:25px}.about-values strong{font-size:12px}.about-values p span{font-size:11px;line-height:1.85}.group-grid{gap:23px}.group-card{padding:30px 27px;border-radius:26px}.group-card-top{margin-bottom:28px}.pill,.group-next .pill{font-size:8px;padding:9px 12px}.group-symbol{width:29px;height:32px}.group-short,.group-next .group-short{font-size:11px;margin-bottom:12px}.group-card h3{font-size:29px;min-height:0;line-height:1.2}.group-description,.group-next .group-description{font-size:12px;min-height:0;margin-top:22px;line-height:1.95}.group-features{font-size:10px;min-height:0;line-height:1.85;margin-top:26px;margin-bottom:27px}.group-features li{margin-bottom:13px}.price,.group-next .price{padding-top:24px;gap:13px}.price strong{font-size:41px}.price span,.group-next .price span{font-size:10px}.group-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:17px;margin-top:26px}.group-actions .button{width:auto;flex:1;font-size:10px;min-height:47px;padding:13px 15px;gap:13px}.group-actions .text-link{align-self:center;font-size:9px;gap:8px}.group-notes{gap:14px;margin-top:25px}.group-notes p{font-size:10px;line-height:1.9}.group-notes .text-link{font-size:10px}#schedule-title{font-size:69px;line-height:1}#schedule-title em{font-size:1em}.schedule-section .section-heading>p{margin-top:15px}.schedule-toolbar{margin-top:29px;gap:18px;margin-bottom:25px}.group-filters{gap:7px}.filter-button{font-size:9px;padding:11px 12px;min-height:41px}.day-picker select{font-size:11px;width:100%;min-height:43px;padding-left:19px;border-radius:25px;background:var(--paper)}.schedule-grid{gap:21px}.day-card{border-radius:24px;padding:26px 23px 11px}.day-heading{gap:12px;margin-bottom:18px}.day-heading h3{font-size:11px;padding:7px 15px;letter-spacing:.045em}.day-heading>span{width:12px;height:12px}.session{padding-block:19px;gap:9px}.session-time{font-size:15px;letter-spacing:-.015em}.session-title{font-size:12px;font-weight:600;line-height:1.7}.session-group{font-size:8px;padding:5px 9px}.schedule-status{font-size:9px;line-height:1.8;margin-top:21px}.schedule-note{padding-top:25px;gap:14px}.schedule-note p{font-size:10px;line-height:1.95}.community-inner{display:flex;flex-direction:column;align-items:flex-start;gap:29px;min-height:0;padding-block:47px 59px}.community-art{position:relative;width:122px;right:auto;bottom:auto;opacity:1;margin-left:3px}.community-art .community-logo{width:122px;transform:rotate(-9deg)}.community-art .community-branch{width:71px;height:92px;left:230px;bottom:-75px;transform:rotate(-25deg);opacity:.8}.community-copy{max-width:100%;width:100%}.community-copy .eyebrow{font-size:8px;line-height:1.8;margin-bottom:15px}.community-copy h2{font-size:32px;line-height:1.22}.community-copy h2 em{font-size:1.8em}.community-copy>p:not(.eyebrow){font-size:12px;max-width:320px;margin-top:20px;line-height:1.95}.community-copy .button{font-size:11px;padding:14px 22px;min-height:50px;margin-top:28px}.community-heart{width:38px;height:42px;right:14px;top:52px;transform:rotate(12deg)}.community-section:before{width:380px;left:-80px;top:-190px;height:240px}.community-section:after{width:490px;bottom:-232px;right:-75px}.gallery-section{padding-top:63px}.gallery-grid{gap:20px 13px}.gallery-link{border-radius:23px;height:228px}.gallery-item:nth-child(1) .gallery-link,.gallery-item:nth-child(6) .gallery-link{height:256px;border-radius:25px}.gallery-item:nth-child(2) .gallery-link{border-radius:63px 20px 20px 20px}.gallery-item:nth-child(3) .gallery-link{border-radius:20px 63px 20px 20px}.gallery-item figcaption{font-size:9px;line-height:1.7;margin-top:10px}.gallery-bottom{gap:15px;margin-top:27px}.gallery-bottom p{font-size:10px;line-height:1.8}.gallery-bottom .text-link{font-size:10px}.faq-section{gap:33px}.faq-intro{font-size:12px;line-height:1.9;margin-top:22px}.faq-list summary{font-size:12px;line-height:1.8;padding-block:23px;gap:15px}.faq-list details>p{font-size:11px;line-height:1.95;padding-right:15px;padding-bottom:24px}.faq-list summary>span{font-size:29px}.inline-book{font-size:11px}.contact-grid{gap:39px}.contact-copy h2{font-size:33px;line-height:1.25}.contact-copy h2 em{font-size:1.45em}.contact-address{font-size:13px;margin-top:28px;line-height:2}.contact-address span{font-size:11px}.contact-phones{gap:11px;margin-top:23px}.contact-phones a{font-size:20px;line-height:1.9;gap:22px}.contact-phones a>span{font-size:21px}.contact-actions{gap:18px;margin-top:29px}.contact-actions .button{font-size:10px;min-height:49px;padding-inline:21px;gap:17px}.contact-actions .text-link{font-size:10px}.directions-card{border-radius:28px}.directions-art{min-height:224px;padding:29px}.directions-label{font-size:10px;letter-spacing:.1em}.floor-number{font-size:107px;line-height:1;margin-top:19px}.floor-number span{font-size:24px;margin-left:15px}.directions-art>svg{width:128px;right:27px;bottom:41px}.directions-art>img{width:60px;height:78px;right:17px;top:15px}.entry-info{padding:23px 25px}.entry-info p{gap:5px 13px;margin-bottom:20px}.entry-info strong{font-size:11px;line-height:1.8}.entry-info p>span:last-child{font-size:10px;line-height:1.8}.map-link{font-size:10px;padding:19px 25px}.site-footer{padding-block:48px 120px;margin-top:16px}.site-footer:before{top:-48px;height:99px;left:-25%;width:150%}.site-footer:after{width:120px;height:156px;right:-28px;top:80px;opacity:.42}.footer-inner{gap:30px 16px}.site-footer .brand img{width:59px;height:59px;padding:8px}.site-footer .brand-type strong{font-size:26px;letter-spacing:.085em}.site-footer .brand-type>span{font-size:6px;margin-top:8px;letter-spacing:.17em}.footer-inner>p{font-size:23px;line-height:1.25}.footer-right{font-size:10px;gap:9px}.footer-right>span{font-size:8px;line-height:1.5}.mobile-dock{padding-top:11px}.mobile-dock .button{font-size:11px;min-height:46px;border-radius:30px;padding:12px 20px}.dock-call{width:46px;height:46px;border:1px solid var(--green);border-radius:50%}.booking-dialog{border-radius:24px}.booking-panel{padding:36px 25px 28px}.booking-panel h2{font-size:25px;line-height:1.3}.booking-panel h2 em{font-size:1.28em;display:inline-block}.booking-intro{font-size:11px;line-height:1.95;margin-top:19px;margin-bottom:26px}.booking-panel label{font-size:9px;font-weight:500}.booking-panel input,.booking-panel select,.booking-panel textarea{border-radius:13px;min-height:47px;padding:11px}.booking-panel input,.booking-panel select{font-size:16px}.booking-panel textarea{font-size:14px}.booking-panel input::placeholder,.booking-panel textarea::placeholder{font-size:10px}.form-submit{font-size:11px;min-height:49px}.form-note{font-size:9px;line-height:1.9}.message-actions .button{font-size:11px;border-radius:30px}.gallery-dialog{border-radius:19px}.lightbox-image{border-radius:17px 17px 0 0}.lightbox-bottom p{font-size:9px}.lightbox-count{font-size:9px}}
@media(max-width:360px){.hero-brand{gap:9px}.hero-brand>img{width:72px;height:67px}.hero-brand h1{font-size:38px;letter-spacing:.025em}.hero-brand p{font-size:8px;letter-spacing:.08em}.hero-motto{font-size:38px}.hero-art{height:382px}.art-label strong{font-size:26px}.art-label{padding-right:51px}.group-card{padding-inline:24px}.group-card h3{font-size:27px}.group-actions .button{font-size:9px;padding-inline:14px}.filter-button{font-size:8px;padding-inline:10px}.session-time{font-size:14px}.group-actions .text-link{font-size:8px}.section-heading h2{font-size:32px}.contact-copy h2{font-size:30px}#schedule-title{font-size:61px}.booking-panel h2{font-size:22px}.footer-inner>p{font-size:21px}.gallery-link{height:202px}.gallery-item:nth-child(1) .gallery-link,.gallery-item:nth-child(6) .gallery-link{height:237px}}
@media(min-width:601px) and (max-width:850px){.hero-brand h1{font-size:clamp(38px,5.65vw,48px)}}
@media(prefers-reduced-motion:reduce){.hero-photo,.art-arch,.art-label,.gallery-link img{transition:none}}
/* Thin vector arrows stay consistent across browsers and never become emoji. */
.arrow-icon{display:inline-block;width:22px;height:22px;flex:none;vertical-align:middle;color:var(--green)}
.button .arrow-icon{width:24px;height:24px}
.button-green .arrow-icon,.group-next .button-cream .arrow-icon{width:30px;height:30px;padding:5px;border-radius:50%;background:var(--cream)}
.welcome-icon.arrow-icon{width:38px;height:38px}
.schedule-note .arrow-icon,.inline-book .arrow-icon{width:17px;height:17px;vertical-align:-3px}
.footer-right a{display:inline-flex;align-items:center;gap:8px}
.footer-right .arrow-icon{width:25px;height:25px;padding:4px;border-radius:50%;background:var(--cream)}
.lightbox-controls button{display:grid;place-items:center;background:var(--cream);border-color:var(--cream)}
.lightbox-controls .arrow-icon{width:20px;height:20px}
@media(max-width:600px){.welcome-icon.arrow-icon{width:32px;height:32px}.mobile-dock .arrow-icon{width:28px;height:28px;padding:4px}}
