:root{--green:#124e40;--dark:#173c32;--mint:#dcf6b0;--line:#ccd9cf;--muted:#50665d;--sc-canvas:#f4f7f1;--sc-ink:#173c32;--sc-accent:#dcf6b0}html{scroll-padding-top:28px}body{background:#f4f7f1;font-family:'Helvetica Neue',Arial,sans-serif}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.preview-bar{min-height:38px;background:#173c32;color:#f3f7ed;display:flex;align-items:center;justify-content:center;gap:22px;padding:8px 20px;font-size:11px;letter-spacing:1px}.preview-bar span{letter-spacing:0;opacity:.85}.preview-bar button{border:0;background:transparent;color:inherit;text-decoration:underline;font-size:11px;cursor:pointer;padding:6px}header.shell{min-height:110px;border-bottom:1px solid var(--line)}.brand{font-size:18px;letter-spacing:-.5px}.brand small{font-size:8px;letter-spacing:1.6px}.brand-mark{font-size:37px;font-weight:400;margin-right:3px}.nav-book{border:1px solid var(--green);border-radius:30px;min-height:48px;display:flex;align-items:center;gap:32px;padding:10px 22px;font-size:14px}.nav-book:hover{background:#e4eddc}nav{gap:32px}.welcome{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;min-height:660px;padding-block:55px 70px;gap:40px}.location-label{font-size:10px;letter-spacing:1.7px;display:flex;align-items:center;gap:9px}.location-label>span{height:7px;width:7px;border-radius:50%;background:#377956}h1{font-size:clamp(54px,6.5vw,91px);font-weight:500;letter-spacing:-.065em;line-height:1.01;margin:30px 0 24px}h1>span{display:block;animation:rise-in .85s both;animation-delay:calc(var(--i,0)*120ms)}h1>span:nth-child(2){--i:1}h1>span:nth-child(3){--i:2}h1 em{font-family:inherit;font-style:normal;color:#47765b;font-weight:500}.lede{font-size:17px;line-height:1.65;color:var(--muted)}.button{border-radius:32px;min-height:56px;padding:16px 25px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.hero-button{margin-top:14px;min-width:208px}.hero-button>span{font-size:23px}.welcome-note{font-size:12px;color:var(--muted);margin-top:18px}.visit-world{position:relative;height:510px;isolation:isolate}.orbit{position:absolute;border:1px solid #b9cdbc;border-radius:50%;width:430px;height:430px;left:4%;top:6%}.orbit-two{width:320px;height:320px;left:16%;top:17%;border-style:dashed;opacity:.7}.cross-plane{position:absolute;left:28%;top:3%;width:270px;height:270px;z-index:1}.sculpture-cross{width:100%;height:100%;background:linear-gradient(135deg,#89ad7e,#397655 55%,#144a38);clip-path:polygon(33% 0,67% 0,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0 67%,0 33%,33% 33%);transform:rotate(-13deg);border-radius:22px}.visit-card{position:absolute;top:170px;left:6%;width:86%;max-width:410px;background:#fff;border:1px solid #e1e8df;padding:28px;border-radius:20px;box-shadow:0 28px 48px -22px #16463345;z-index:2;rotate:-7deg}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.card-top{font-size:9px;letter-spacing:1.8px;color:#4c6b59}.mini-cross{font-size:28px;color:#41735a}.card-title{font-size:32px;line-height:1.13;letter-spacing:-1.5px;font-weight:500;margin:22px 0 26px}.card-rule{height:1px;background:#dce5d9;margin-bottom:20px}.card-bottom{font-size:12px;font-weight:600}.card-bottom small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.circle-arrow{display:grid;place-items:center;width:36px;height:36px;background:#e4f2d8;border-radius:50%;font-size:24px}.floating-note{position:absolute;z-index:3;top:390px;right:-2%;padding:17px 21px;border-radius:13px;background:#dcf6b0;box-shadow:0 12px 25px -16px #153c3355;font-size:12px;display:flex;align-items:center;gap:10px;rotate:4deg}.note-dot{height:8px;width:8px;border-radius:50%;background:#2f6950}.world-caption{position:absolute;bottom:0;left:24%;font-size:9px;letter-spacing:2px;color:#5d7867}.journey{display:grid;grid-template-columns:1fr 2.3fr;gap:55px;padding-block:54px 66px;border-top:1px solid var(--line)}.small-label{font-size:10px;letter-spacing:1.7px;font-weight:600}h2{font-size:clamp(34px,4vw,53px);letter-spacing:-2px;line-height:1.07;font-weight:500;text-wrap:balance}.journey h2{font-size:34px;margin-top:18px}.journey-path{position:relative;padding-top:22px}.journey-path svg{position:absolute;top:7px;left:18px;width:calc(100% - 110px);height:55px;fill:none;stroke-width:1.5}.path-back{stroke:#ccd9cf}.path-active{stroke:#38664e;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--route,0))}.journey-items{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step-dot{width:38px;height:38px;display:grid;place-items:center;background:#f4f7f1;border:1px solid #a3b8a6;border-radius:50%;position:relative;font-size:21px}.journey h3{font-size:15px;margin:24px 0 9px}.journey p:not(.small-label){font-size:13px;line-height:1.6;color:var(--muted);max-width:22ch}.booking-section{background:#173f34;color:#f0f6e8;padding-block:90px;position:relative}.booking-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.booking-aside{position:sticky;top:40px}.booking-aside h2{font-size:clamp(40px,4.4vw,62px);margin:25px 0;letter-spacing:-2.6px}.booking-aside>p:not(.small-label){font-size:16px;color:#c5d7ca;line-height:1.7}.plan-ticket{border:1px solid #547465;border-radius:16px;margin-top:45px;padding:24px;background:#204b3e;box-shadow:0 18px 35px -25px #061e18}.ticket-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#d7e5c9}.ticket-top>span:last-child{font-size:24px}.plan-ticket h3{font-size:24px;line-height:1.2;letter-spacing:-.6px;font-weight:500;margin:18px 0 10px}.plan-ticket p{font-size:16px;color:#dcf6b0;min-height:25px}.ticket-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px dashed #648371;margin-top:28px;padding-top:20px;font-size:11px;color:#cad9ca}.booking-aside .aside-note{font-size:12px!important;margin-top:20px}.booking{color:var(--dark);box-shadow:none;border:0;border-radius:20px;padding:32px;background:#fff}.booking h2{font-size:30px;margin:23px 0 12px;letter-spacing:-1px}.booking .demo{padding:12px 14px;text-align:left;line-height:1.5;border-radius:8px;margin-bottom:25px;background:#edf3e6;font-size:12px}.booking legend{font-size:15px;margin-bottom:16px}.booking fieldset{margin-bottom:27px}.booking .pill{font-size:10px}.booking label{font-size:14px}.booking .patient-grid input,#service,#service-search{min-height:52px;border-color:#9eafa3;border-radius:9px;padding:12px;font-size:16px}.booking input:focus-visible{outline-color:#306b51}.booking #service{padding-right:30px}.booking .day{min-height:68px;border-color:#9eafa3}.booking .day strong{font-size:23px}.booking .day small{font-size:13px}.booking .time{min-height:58px;font-size:17px;border-color:#9eafa3}.booking .time small{font-size:12px}.booking .time[aria-pressed=true]{background:#164e3f;color:white}.booking .time:disabled{color:#657068;border-color:#c3ccc5}.booking .date-nav button{min-height:44px;min-width:44px;border-color:#9eafa3}.booking .refresh{padding:12px 0;font-size:14px}.booking .hint,.booking #availability-status,.booking .privacy,.booking .slot-note{font-size:13px;line-height:1.6}.booking .declarations{gap:8px}.booking .declarations label{min-height:48px;line-height:1.5;padding-block:8px;cursor:pointer}.booking .declarations input{width:22px;height:22px;margin:0 2px 0 0;min-height:22px}.booking .declarations small{font-size:12px}.booking .button{border-radius:10px;justify-content:center;min-height:58px}.booking .full{font-size:17px}.contact-close{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;padding-block:90px}.contact-close h2{font-size:clamp(35px,4.2vw,56px);margin-block:24px 30px;line-height:1.12}.contact-close h2 span{color:#5b7a60}.call-link{font-size:30px;letter-spacing:-1px;display:inline-flex;gap:30px;align-items:center}.call-link>span{width:45px;height:45px;display:grid;place-items:center;background:#e0ecd7;border-radius:50%;font-size:25px}.address-block{border-left:1px solid var(--line);padding-left:48px;position:relative}.address-plus{position:absolute;right:0;top:5px;font-size:50px;color:#acc1a5}.address-block h3{font-size:19px;font-weight:500}.address-block p{font-size:18px;color:var(--muted)}.address-block a{text-decoration:underline;text-underline-offset:5px;display:inline-block;padding:10px 0}.address-block small{display:block;color:var(--muted);max-width:34ch;margin-top:16px;font-size:12px}footer.shell{padding-block:26px!important;font-size:11px;align-items:center}.mobile-book{display:none}[data-sc-in]{opacity:1}.sc-ready [data-sc-in]{animation:rise-in .7s both}.plan-ticket.updated{animation:ticket-settle .4s ease-out}body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.motion-off [data-sc-parallax]{transform:none!important}@keyframes rise-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes ticket-settle{from{transform:translateY(5px)}to{transform:translateY(0)}}
@media(min-width:1400px){.welcome{min-height:735px}.visit-world{height:550px}.visit-card{top:185px}.floating-note{top:423px}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.welcome{gap:15px}.visit-card{padding:23px}.card-title{font-size:28px}.orbit{width:340px;height:340px}.orbit-two{width:250px;height:250px}.cross-plane{width:220px;height:220px;left:26%;top:12%}.floating-note{right:0;font-size:10px}.booking-layout{gap:45px;grid-template-columns:.8fr 1.2fr}.booking{padding:26px}.journey{gap:30px}nav{display:none}.contact-close{gap:50px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.preview-bar{justify-content:space-between;font-size:9px;gap:8px;padding:7px 15px;letter-spacing:.5px}.preview-bar>span{display:none}.preview-bar button{min-height:32px}.brand{font-size:15px;gap:7px}.brand small{font-size:6px;letter-spacing:1.2px}.brand-mark{font-size:30px}header.shell{min-height:85px;gap:12px}.nav-book{min-height:44px;font-size:12px;padding:10px 14px;gap:10px}.welcome{grid-template-columns:1fr;gap:0;padding-block:35px 25px;min-height:0}.location-label{font-size:9px;letter-spacing:1.2px}h1{font-size:clamp(49px,12vw,70px);letter-spacing:-.055em;margin:24px 0 20px;line-height:1.02}h1>span{display:block}.lede{font-size:17px;line-height:1.65}.desktop-break{display:none}.hero-button{margin-top:9px;width:100%;min-height:56px;justify-content:space-between}.welcome-note{text-align:center;font-size:12px}.visit-world{height:360px;width:min(390px,100%);margin:10px auto 0}.orbit{height:285px;width:285px;left:calc(50% - 142px);top:15px}.orbit-two{height:220px;width:220px;left:calc(50% - 110px);top:48px}.cross-plane{height:185px;width:185px;left:43%;top:9px}.visit-card{top:108px;left:6%;width:85%;padding:21px;border-radius:16px;rotate:-5deg}.card-title{font-size:27px;margin:16px 0 19px}.card-rule{margin-bottom:15px}.card-top{font-size:8px}.card-bottom{font-size:11px}.floating-note{top:280px;right:2%;padding:13px 15px;font-size:10px}.world-caption{bottom:3px;left:15%;font-size:8px}.journey{grid-template-columns:1fr;gap:22px;padding-block:34px 45px}.journey h2{font-size:34px}.journey h2 br{display:none}.journey-path{padding-top:0}.journey-path svg{display:none}.journey-items{grid-template-columns:1fr;gap:22px}.journey-items article{position:relative;padding-left:60px;min-height:64px}.step-dot{position:absolute;left:0;top:3px;width:40px;height:40px}.journey h3{font-size:17px;margin:0 0 5px}.journey p:not(.small-label){font-size:15px;max-width:30ch;margin:0}.booking-section{padding-block:42px}.booking-layout{grid-template-columns:1fr;gap:24px}.booking-aside{position:static}.booking-aside h2{font-size:42px;letter-spacing:-1.8px;margin:18px 0}.booking-aside>p:not(.small-label){font-size:16px}.booking-aside .aside-note{display:none}.plan-ticket{margin-top:23px;padding:18px;border-radius:12px}.plan-ticket h3{font-size:20px;margin:10px 0}.plan-ticket p{margin:0;font-size:16px}.ticket-top{font-size:9px}.ticket-top>span:last-child{font-size:20px}.ticket-bottom{margin-top:15px;padding-top:14px}.booking{padding:25px 18px;border-radius:16px}.booking h2{font-size:28px}.booking .booking-top{gap:8px}.booking .pill{font-size:9px;padding-inline:7px}.booking .small-label{font-size:9px}.booking .patient-grid{grid-template-columns:1fr;gap:17px}.booking .patient-grid label,.booking label,.booking legend{font-size:16px}.booking .patient-grid input,#service,#service-search{min-height:56px;font-size:17px}.booking .declarations label{font-size:15px;gap:12px;padding-block:11px}.booking .declarations small{font-size:13px}.booking .hint,.booking .privacy,.booking .slot-note,.booking #availability-status{font-size:14px}.booking .days{gap:6px}.booking .times{grid-template-columns:repeat(2,1fr);gap:10px}.booking .time{min-height:60px;font-size:18px}.booking .time small{font-size:13px}.booking .day{min-height:70px}.booking .button{font-size:16px;padding:16px 14px}.contact-close{grid-template-columns:1fr;padding-block:45px;gap:35px}.contact-close h2{font-size:35px;letter-spacing:-1.6px}.call-link{font-size:27px}.address-block{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:22px}.address-plus{top:29px}.address-block small{font-size:14px}.address-block a{min-height:44px}footer.shell{align-items:flex-start;gap:12px;font-size:12px;padding-bottom:104px!important}.mobile-book{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:20px;right:20px;min-height:56px;align-items:center;justify-content:center;background:#dcf6b0;color:#173c32;border:1px solid #b8ce9f;border-radius:12px;font-size:17px;font-weight:600;box-shadow:0 8px 25px #102f3433;z-index:10;transition:opacity .2s,transform .2s}.mobile-book.in-form{opacity:0;pointer-events:none;transform:translateY(90px)}.mobile-book:focus-visible{opacity:1;transform:none}}
@media(max-width:365px){.shell{width:calc(100% - 28px)}.brand{font-size:13px}.brand small{font-size:5px}.nav-book{font-size:11px;padding-inline:10px}.brand-mark{font-size:26px}h1{font-size:48px}.cross-plane{left:37%}.booking{padding-inline:14px}.booking h2{font-size:25px}.booking .pill{font-size:8px}.card-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-sc-parallax]{transform:none!important}.path-active{stroke-dashoffset:0}}

@media(max-width:760px){.visit-world{height:380px}.world-caption{bottom:0}.booking .day{min-width:0}.booking .day strong{font-size:22px}}
@media(max-width:365px){.cross-plane{width:165px;height:165px;left:34%}}

.booking-intro{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 26px}.motion-toggle{border:0;background:transparent;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer;padding:12px 0;min-height:44px}.staff-nav{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.staff-nav a,.staff-nav button{min-height:44px;display:inline-flex;align-items:center;padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--dark);font:inherit}.management #login-form{max-width:450px;margin:28px 0}.management #login-form label{display:block}.management #login-form input{display:block;width:100%;min-height:56px;font:inherit;padding:12px;margin:10px 0 20px;border:1px solid #9eafa3;border-radius:8px}@media(max-width:760px){.booking-intro{font-size:16px}footer.shell a{display:inline-flex;align-items:center;min-height:44px}.management{margin:20px auto}}

html:has(body.motion-off){scroll-behavior:auto}
.service-results{display:grid;gap:6px;max-height:280px;overflow-y:auto;border:1px solid #9eafa3;border-radius:10px;padding:6px;margin:0 0 20px;background:#f4f7f1}.service-results button{display:block;width:100%;min-height:52px;text-align:left;padding:13px 14px;font:inherit;font-size:16px;color:var(--dark);background:white;border:1px solid transparent;border-radius:6px;cursor:pointer;line-height:1.4}.service-results button:hover,.service-results button:focus-visible{background:#e4f2d8;border-color:var(--green)}.search-status{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 12px}.search-status:empty{display:none}.ticket-top>span:only-child{font-size:10px}@media(max-width:760px){.service-results button{min-height:56px;font-size:17px}.search-status{font-size:15px}}

.required-mark{font-size:inherit;font-weight:600;color:var(--dark)}

.phone-booking{font-size:15px;line-height:1.6;margin:20px 0;color:var(--muted)}.phone-booking a{font-weight:600;text-decoration:underline;white-space:nowrap}header.shell nav{gap:22px}@media(max-width:1050px){header.shell{flex-wrap:wrap;padding-block:18px}header.shell nav{display:flex;order:3;width:100%;gap:22px;flex-wrap:wrap}header.shell nav a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}}

/* Keep the venue readable at narrow widths and with larger system text. */
.ticket-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;font-size:16px;line-height:1.5;text-align:left}.ticket-place-label{font-size:14px;color:#cad9ca}.ticket-bottom address{display:grid;gap:3px;font-style:normal;overflow-wrap:anywhere}.ticket-bottom address strong{font-size:18px;font-weight:600;color:#f0f6e8}.ticket-directions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:11px 14px;margin-top:4px;border:1px solid #799881;border-radius:10px;color:#dcf6b0;text-decoration:none;font-size:16px;line-height:1.4}.ticket-directions:hover{background:#2c5b48}.ticket-directions:focus-visible{outline:3px solid #dcf6b0;outline-offset:3px}.booking-aside,.plan-ticket{min-width:0}@media(max-width:760px){.ticket-bottom{margin-top:18px;padding-top:18px}.ticket-directions{min-height:52px}}
