@font-face{font-family:Marte;src:local('Aptos'),local('Segoe UI');font-display:swap}
:root{--ink:#291a35;--muted:#6c6072;--violet:#63218b;--violet-dark:#3c1859;--pink:#b01882;--hot:#ed00ec;--paper:#faf8fc;--wash:#f2edf7;--line:#dfd6e6;--green:#28684c;--radius:18px;font-family:Marte,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b01882;outline-offset:4px}a,button{transition:background .15s,color .15s,border-color .15s}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2{letter-spacing:-.045em}h1{font-size:clamp(2.8rem,4.3vw,4.25rem);font-weight:600}h2{font-size:clamp(1.8rem,2.5vw,2.5rem);font-weight:600}h3{font-size:1.15rem;letter-spacing:-.015em}p{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding:0 40px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}.demo-bar{background:var(--violet-dark);color:#fff;text-align:center;font-size:13px;padding:7px 16px;letter-spacing:.01em}.demo-bar span{font-size:11px;letter-spacing:.11em;background:#ffffff21;border:1px solid #ffffff50;border-radius:4px;padding:1px 6px;margin-right:9px}.header{background:#fffefefa;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{max-width:1240px;margin:auto;padding:12px 40px;display:flex;align-items:center;gap:28px;min-height:89px}.brand{flex-shrink:0}.brand img{width:190px;height:auto}.header nav{display:flex;align-items:center;gap:27px;margin-left:auto}.header nav a{text-decoration:none;font-size:14px;font-weight:600}.header nav a:hover{color:var(--pink)}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:46px;padding:11px 20px;border-radius:9px;border:1px solid var(--line);font-weight:600;font-size:14px;text-decoration:none;background:#fff;color:var(--ink)}.button:hover{background:var(--wash);border-color:var(--violet)}.primary{background:var(--violet);border-color:var(--violet);color:white}.primary:hover{background:var(--violet-dark);color:white}.text-button{border:0;background:none;color:var(--violet);padding:8px 0;min-height:44px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.icon-button{border:1px solid var(--line);background:#fff;width:42px;min-height:44px;border-radius:9px;font-size:23px;display:inline-grid;place-items:center}.menu-button{display:none}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--violet);margin-bottom:12px}.hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:65px;padding-top:30px;padding-bottom:30px}.hero h1{margin-bottom:12px;font-size:clamp(2.7rem,4.1vw,3.75rem);line-height:1.03}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--pink)}.hero p{font-size:15px;max-width:510px;margin-bottom:0}.hero-art{position:relative;height:186px;display:flex;align-items:center;justify-content:center}.hero-art img{width:87%;height:170px;object-fit:cover;border-radius:70px 16px 70px 16px;object-position:50% 40%}.hero-art:after{content:'';position:absolute;width:90%;height:170px;border:1px solid #c04ba9;border-radius:80px 16px 80px 16px;transform:rotate(-5deg);pointer-events:none}.art-tag{position:absolute;right:-5px;bottom:3px;background:#fbdaee;transform:rotate(-4deg);border-radius:3px;padding:7px 13px;font:italic 18px Georgia,serif;color:#78245f;z-index:1}.calendar-section{padding-bottom:60px;scroll-margin-top:108px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:5px 0 19px}.section-heading h2{margin:0}.section-heading p{margin:7px 0 0;font-size:14px}.label-pill{border:1px solid var(--line);border-radius:40px;padding:5px 11px;font-size:12px;color:var(--muted);white-space:nowrap}.calendar{display:grid;grid-template-columns:225px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 8px 24px #42275306;overflow:hidden}.filters{border-right:1px solid var(--line);padding:23px 21px;background:#fcfaff}.filters legend{font-size:15px;font-weight:700;padding:0;margin-bottom:2px}.filters fieldset{padding:0;border:0;margin:0;min-width:0}.filter-hint{font-size:12px;color:var(--muted);margin-bottom:15px}.filter-list{display:grid;gap:7px}.filter-chip{display:flex;align-items:center;gap:9px;min-height:42px;cursor:pointer;font-size:14px;border:1px solid transparent;border-radius:8px;padding:8px}.filter-chip:has(input:checked){background:#eee5f6;border-color:#d9c5e8;color:#4a1a67}.filter-chip:hover{background:var(--wash)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--violet);margin:0;flex-shrink:0}.icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle;stroke-width:1.7}.filter-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.filter-actions button{font-size:12px;min-height:38px}.filter-count{font-size:12px;color:var(--muted);margin:12px 0 0}.calendar-content{padding:21px 24px 22px;min-width:0}.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.week-nav{display:flex;align-items:center;gap:15px}.week-nav strong{font-size:16px;min-width:130px;text-align:center}.jump-label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}input[type=date]{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;color:var(--ink);min-height:44px;max-width:155px;font-size:13px}.dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day{border:1px solid var(--line);border-radius:9px;min-height:89px;padding:9px 2px;background:white;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px}.day .day-name{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.day .day-number{font-size:24px;font-weight:600;line-height:1.1}.day .day-status{font-size:10px;margin-top:4px;color:var(--green);font-weight:600;white-space:nowrap}.day[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:white;box-shadow:0 3px 8px #63218b1c}.day[aria-pressed=true] .day-name,.day[aria-pressed=true] .day-status{color:#fff}.day[data-status=empty] .day-status{color:var(--muted)}.day[data-status=full] .day-status{color:#8f4b18}.day[aria-pressed=true][data-status] .day-status{color:#fff}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:22px}.results-heading h3{font-size:16px;margin:0}.results-heading span{font-size:12px;color:var(--muted)}.session{display:grid;grid-template-columns:55px 44px minmax(0,1fr) 88px 92px;gap:13px;align-items:center;padding:16px 0;border-bottom:1px solid #eee7f1}.session-time{font-size:19px;font-weight:650;letter-spacing:-.05em}.session-time small{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0;display:block}.session-thumb{width:44px;height:48px;object-fit:cover;border-radius:6px;background:var(--wash)}.session-symbol{display:grid;place-items:center;background:#f1eafa;width:44px;height:48px;border-radius:6px;color:var(--violet)}.session-symbol .icon{width:25px;height:25px}.session h4{font-size:15px;line-height:1.2;margin:0 0 4px;display:flex;align-items:center;gap:6px}.session h4 .icon{width:15px;height:15px}.session-design{font-size:12px;color:var(--muted);line-height:1.4}.availability{font-size:11px;color:var(--green);margin-top:3px;display:block}.availability.full{color:#7b4f28}.price{font-size:18px;font-weight:600;text-align:right;white-space:nowrap}.price small{display:block;color:var(--muted);font-size:10px;font-weight:400}.session .button{padding:8px 11px;min-height:39px;font-size:12px}.calendar-foot{font-size:11px;color:var(--muted);margin:15px 0 0;display:flex;align-items:center;gap:6px}.calendar-foot .icon{width:14px;height:14px}.empty-state{text-align:center;padding:30px 15px;background:#fcfaff;border-radius:10px;margin-top:15px}.empty-state h4{font-size:17px;margin:0 0 8px}.empty-state p{font-size:14px;max-width:440px;margin:0 auto 14px}.next-options{margin-top:20px}.next-options p{font-size:12px;font-weight:600;margin-bottom:9px}.next-options>div{display:flex;gap:7px;flex-wrap:wrap}.next-options .button{min-height:34px;font-size:12px;padding:7px 11px;background:#faf7fd}.activities-section{padding:46px 0 65px;border-top:1px solid var(--line)}.activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.activity-card{display:block;text-decoration:none}.activity-card img{height:190px;width:100%;object-fit:cover;border-radius:12px;margin-bottom:15px}.activity-card h3{display:flex;justify-content:space-between;margin:0 0 6px;gap:10px}.activity-card h3 span{font-weight:400;color:var(--pink)}.activity-card p{font-size:14px;margin:0}.activity-card:hover img{filter:brightness(1.04)}.activity-card:focus-visible{border-radius:12px}.section-space{padding-top:65px;padding-bottom:65px}.how{background:var(--violet-dark);color:#fff}.how .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px}.how h2{font:italic 35px/1.1 Georgia,serif;letter-spacing:-.035em;margin:0}.how .step-num{font-size:12px;color:#e0acd8;margin-bottom:18px}.how h3{font-size:18px;margin-bottom:10px}.how p{color:#dbcfe3;font-size:14px;margin:0}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:24px}.promo{padding:38px;border-radius:18px;background:#f2e6f6;min-height:260px;position:relative;overflow:hidden}.promo:nth-child(2){background:#f8e6ef}.promo h2{max-width:340px;font-size:32px;margin-bottom:14px}.promo p{max-width:365px;font-size:14px}.promo .eyebrow{margin-bottom:20px}.faq-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:85px}.faq-grid h2{max-width:330px}.faq-grid p{font-size:15px}.faq-list details{border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:16px}.faq-list summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:15px;min-height:32px}.faq-list summary:after{content:'+';font-size:22px;font-weight:400;color:var(--violet)}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;line-height:1.7;margin:12px 0 0}.location{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:40px;padding-bottom:50px}.location p{margin-bottom:14px}.location .practical{padding:25px 30px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:14px}.practical p{margin-bottom:8px}.practical strong{color:var(--ink)}footer{background:#211529;color:#f6effa;padding:40px max(40px,calc((100vw - 1160px)/2)) 18px}.footer-main{display:flex;justify-content:space-between;gap:25px;padding-bottom:35px}.footer-main p{color:#cbbbd4;font-size:14px}.footer-main>div{display:grid;gap:8px;font-size:14px}.footer-bottom{border-top:1px solid #ffffff23;display:flex;justify-content:space-between;gap:20px;padding-top:19px;font-size:11px;color:#cbbbd4}.page-intro{padding-top:35px;padding-bottom:30px}.breadcrumb{font-size:13px;color:var(--muted);display:flex;gap:10px;margin-bottom:28px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-bottom:45px}.detail-hero>img{width:100%;height:440px;object-fit:cover;border-radius:18px}.detail-hero p{font-size:17px}.detail-hero h1{font-size:54px}.detail-facts{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.detail-facts span{font-size:13px;border:1px solid var(--line);border-radius:6px;padding:8px 12px}.note{font-size:13px!important;padding:13px 16px;border-left:3px solid #bf4b9d;background:#f7edf5;color:#6b3660}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:30px 0 65px}.detail-body h2{font-size:28px}.detail-body li{margin-bottom:10px;color:var(--muted);font-size:15px}.form-page{max-width:760px;margin:auto;padding:38px 0 65px}.form-page h1{font-size:48px}.form-card{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.field{display:block;font-size:14px;font-weight:600;margin-bottom:20px}.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;background:#fff;border:1px solid #baadc4;border-radius:8px;font-size:16px;color:var(--ink);min-height:48px}.field textarea{min-height:110px;resize:vertical}.field small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.success-box{padding:25px;border:1px solid #b2d3bf;background:#edf7f0;border-radius:12px}.success-box p{color:#345843}.back-link{display:inline-flex;margin-bottom:26px;color:var(--violet);font-size:14px}.info-table{width:100%;border-collapse:collapse;font-size:14px;margin:25px 0}.info-table td,.info-table th{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}.test-controls{margin:25px 0;padding:20px;background:var(--wash);border-radius:12px}.test-controls summary{cursor:pointer;font-size:14px;font-weight:600}.test-controls .buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.test-controls p{font-size:13px}.skeleton{height:70px;background:#f0eaf5;border-radius:8px;margin:12px 0;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.4}}
dialog{border:0;border-radius:20px;padding:0;width:min(860px,calc(100% - 32px));max-height:90dvh;color:var(--ink);background:white;box-shadow:0 20px 90px #24103255}dialog::backdrop{background:#26163099;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border-bottom:1px solid var(--line)}.dialog-top span{font-size:12px;color:var(--violet);font-weight:700;letter-spacing:.05em}.dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px}.dialog-content{padding:27px 30px}.dialog-content h2{font-size:29px;margin:15px 0 10px}.dialog-content p{font-size:14px}.booking-steps{display:flex;gap:15px;font-size:11px;color:var(--muted)}.booking-steps .active{color:var(--violet);font-weight:700}.booking-summary{padding:30px 24px;background:#f6f0fa;border-left:1px solid var(--line)}.booking-summary h3{font-size:18px;margin:12px 0 8px}.booking-summary img{width:100%;height:110px;object-fit:cover;border-radius:8px;margin-bottom:22px}.booking-summary p{font-size:13px}.booking-summary dl{font-size:13px;margin:20px 0}.booking-summary dl>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px}.booking-summary dd{margin:0;text-align:right}.booking-summary .total{padding-top:18px;border-top:1px solid var(--line);font-size:18px;font-weight:650}.booking-summary small{font-size:11px;color:var(--muted)}.stepper{display:flex;align-items:center;width:185px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.stepper button{border:0;width:49px;height:49px;background:var(--wash);font-size:23px;flex-shrink:0}.stepper input{width:85px;height:49px;border:0;text-align:center;-moz-appearance:textfield;font-size:20px}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.field-inline{font-size:14px;font-weight:600;margin:27px 0 9px}.capacity-hint{font-size:12px!important;margin-top:9px}.error-message{color:#a22c30;background:#fff1f1;border-radius:7px;padding:11px;font-size:13px;margin:16px 0}.dialog-actions{display:flex;gap:10px;align-items:center;margin-top:24px;flex-wrap:wrap}.dialog-actions .primary{flex:1}.booking-success{display:inline-grid;place-items:center;width:53px;height:53px;background:#e6f5ed;border-radius:50%;font-size:28px;color:var(--green)}.demo-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:20px 0}.demo-checkbox input{margin-top:3px}.tiny{font-size:12px!important;color:var(--muted)}
@media(min-width:1450px){.wrap,.header-inner{max-width:1380px}.hero{gap:90px}.hero-art{height:205px}.hero-art img,.hero-art:after{height:185px}.calendar{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:1050px){.header-inner,.wrap{padding-left:25px;padding-right:25px}.header-inner{gap:18px}.header nav{gap:18px}.header nav a{font-size:12px}.brand img{width:155px}.calendar{grid-template-columns:195px minmax(0,1fr)}.filters{padding:20px 13px}.calendar-content{padding:20px}.session{gap:10px;grid-template-columns:48px 36px minmax(0,1fr) 68px 78px}.session-thumb,.session-symbol{width:36px;height:43px}.week-nav{gap:7px}.week-nav strong{font-size:14px;min-width:113px}.jump-label>span{display:none}.activity-grid{gap:17px}.activity-card img{height:160px}.hero{gap:30px}.faq-grid{gap:40px}.detail-hero{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap{padding-left:20px;padding-right:20px}.demo-bar{font-size:11px;padding:7px 8px}.demo-bar span{font-size:9px;margin-right:6px}.header-inner{padding:10px 20px;min-height:73px;gap:14px}.brand img{width:143px}.header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:17px 20px 23px;box-shadow:0 12px 17px #291a3512;border-bottom:1px solid var(--line);margin:0;gap:0}.header nav.open{display:grid}.header nav a{font-size:15px;min-height:44px;padding:10px}.nav-reserve{margin-left:auto;font-size:12px;padding:9px 13px;min-height:42px;gap:8px}.menu-button{display:block;background:none;border:0;color:var(--violet);font-size:23px;padding:5px;width:32px;min-height:44px}.hero{grid-template-columns:1fr;gap:0;padding-top:26px;padding-bottom:28px}.hero h1{font-size:42px;margin-bottom:13px;max-width:460px}.hero .eyebrow{font-size:10px;margin-bottom:11px}.hero p{font-size:14px;max-width:490px}.hero-art{display:none}.section-heading{align-items:flex-start;margin-bottom:15px}.section-heading h2{font-size:27px}.section-heading p{font-size:12px}.section-heading .label-pill{font-size:10px;padding:5px 8px}.calendar{display:block;border-radius:13px}.filters{border-right:0;border-bottom:1px solid var(--line);padding:16px}.filter-list{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{min-height:40px;padding:7px 9px;font-size:12px;gap:6px;border-color:var(--line);background:white}.filter-chip .icon{width:16px;height:16px}.filter-chip input{width:15px;height:15px}.filters legend{font-size:14px;margin-bottom:3px}.filter-hint{margin-bottom:11px;font-size:11px}.filter-actions{margin:7px 0 0;gap:20px}.filter-actions button{font-size:12px;min-height:34px}.filter-count{display:none}.calendar-content{padding:16px 13px}.week-toolbar{gap:5px;margin-bottom:12px;flex-wrap:wrap}.week-nav{gap:6px;flex:1}.week-nav strong{font-size:13px;min-width:105px}.week-nav .icon-button{width:30px;border:0;font-size:21px}.jump-label input{width:127px;font-size:11px;padding:7px;min-height:40px}.dates{gap:4px}.day{min-height:73px;padding:8px 1px;border-radius:7px}.day .day-number{font-size:23px}.day .day-name{font-size:9px}.day .day-status{font-size:9px;white-space:normal;line-height:1.1}.day .day-status .long-status{display:none}.results-heading{margin-top:19px;padding-bottom:10px}.results-heading h3{font-size:14px}.results-heading span{font-size:10px;white-space:nowrap}.session{grid-template-columns:43px 34px minmax(0,1fr) 70px;gap:8px;padding:15px 0;position:relative}.session-time{font-size:18px;align-self:start;margin-top:4px}.session-thumb,.session-symbol{width:34px;height:43px;align-self:start}.session h4{font-size:13px}.session h4 .icon{display:none}.session-design{font-size:11px}.availability{font-size:10px}.session .price{font-size:16px;align-self:start}.price small{font-size:9px}.session .button{grid-column:3/5;justify-self:end;min-height:36px;min-width:115px;margin-top:1px;font-size:12px}.session-time small{font-size:9px}.calendar-foot{font-size:10px;align-items:flex-start}.calendar-section{padding-bottom:35px}.activity-grid{grid-template-columns:1fr 1fr;gap:26px 17px}.activity-card img{height:145px;margin-bottom:12px}.activity-card h3{font-size:16px}.activity-card p{font-size:12px}.activities-section{padding-top:32px;padding-bottom:40px}.section-space{padding-top:40px;padding-bottom:40px}.how .wrap{grid-template-columns:1fr;gap:26px}.how h2{font-size:31px;max-width:300px}.how .step-num{margin-bottom:6px}.how p{font-size:14px}.how h3{margin-bottom:6px}.two-up,.faq-grid,.location,.detail-hero,.detail-body{grid-template-columns:1fr;gap:25px}.promo{padding:28px;min-height:220px}.promo h2{font-size:29px}.faq-grid h2{margin-bottom:14px}.location{padding-top:32px;padding-bottom:36px}.location .practical{padding:22px}.footer-main{flex-direction:column;gap:25px}.footer-main p{margin:0}.footer-bottom{flex-direction:column;gap:8px}footer{padding:32px 20px 23px}.detail-hero h1{font-size:40px}.detail-hero>img{height:270px;grid-row:2}.detail-hero p{font-size:15px}.detail-body{padding-bottom:40px}.page-intro{padding-top:24px}.breadcrumb{margin-bottom:24px;font-size:12px}.form-page{padding-top:25px}.form-page h1{font-size:37px}.form-card{padding:21px}.form-grid{grid-template-columns:1fr;gap:0}.info-table{font-size:12px}.info-table td,.info-table th{padding:8px}.dialog-layout{display:flex;flex-direction:column}.booking-summary{order:-1;border-left:0;border-bottom:1px solid var(--line);padding:18px 22px}.booking-summary img{display:none}.booking-summary h3{font-size:16px;margin:3px 0}.booking-summary p{margin:4px 0;font-size:12px}.booking-summary .eyebrow{display:none}.booking-summary dl{margin:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}.booking-summary dl>div{margin:0;font-size:12px}.booking-summary .total{padding:0;border:0;font-size:15px}.booking-summary small{display:none}.booking-summary .text-button{min-height:32px;padding:5px 0;font-size:12px}.dialog-content{padding:21px 22px}.dialog-top{padding:10px 16px}.dialog-content h2{font-size:26px}.dialog-top .icon-button{min-height:34px;width:34px;border:0}dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:14px}.dialog-actions{margin-top:21px}.booking-steps{gap:12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Final reading and interaction refinements. */
:root{font-family:'Segoe UI',Arial,sans-serif;font-synthesis:weight}
.hero{padding-top:23px;padding-bottom:23px}.hero h1{font-size:clamp(2.7rem,3.9vw,3.4rem)}.hero-art{height:170px}.hero-art img,.hero-art:after{height:160px}.resume{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:13px;background:#f5edf9;border-radius:9px;margin-top:18px;font-size:12px}.resume .button{font-size:12px;min-height:38px;padding:7px 10px}.gift-preview{margin-top:25px;padding:35px;border-radius:15px;background:#3c1859;color:#fff;position:relative}.gift-preview h2{font:italic 35px Georgia,serif;letter-spacing:-.02em}.gift-preview p,.gift-preview .eyebrow,.gift-preview .tiny{color:#e2cde9}.gift-preview strong{font-size:42px}.gift-preview .tiny{margin-top:25px;font-size:12px!important}.form-page li{color:var(--muted);margin-bottom:12px}.calendar-foot{font-size:12px}.day .day-name,.day .day-status{font-size:12px}.filter-hint,.filter-count{font-size:13px}.filter-actions button{font-size:13px}.session-time small,.price small,.availability{font-size:12px}.session-design{font-size:13px}.session .button{font-size:13px}.booking-summary small{font-size:12px}.booking-steps{font-size:12px}.calendar .session-thumb{object-fit:contain;background:#f0ebf3}.session-symbol{border:1px solid #e6dbee}
@media(max-width:760px){.hero h1{font-size:39px}.hero{padding-top:23px;padding-bottom:23px}.hero .eyebrow{font-size:11px}.day .day-name{font-size:10px}.day .day-status{font-size:10px}.day .day-status{max-width:45px;overflow-wrap:anywhere}.filter-hint{font-size:12px}.session-time small,.price small,.availability{font-size:11px}.session-design{font-size:12px}.session .button{font-size:13px}.calendar-foot{font-size:11px}.calendar .day{min-height:78px}.booking-steps{font-size:11px}.resume{align-items:flex-start}.section-heading .label-pill{white-space:normal;max-width:90px;text-align:center}}
.session-explainer{margin-top:5px}.session-explainer summary{display:inline-flex;align-items:center;gap:5px;list-style:none;font-size:12px;font-weight:600;color:var(--violet);cursor:pointer;min-height:30px;border-radius:4px}.session-explainer summary::-webkit-details-marker{display:none}.session-explainer summary:hover{text-decoration:underline;text-underline-offset:3px}.session-explainer .chevron{display:inline-block;font-size:17px}.session-explainer[open] .chevron{transform:rotate(180deg)}.session-explainer>div{border-left:2px solid #d4bddf;padding:5px 0 5px 13px;margin-top:6px}.session-explainer p{font-size:13px;line-height:1.6;margin-bottom:8px}.session-explainer a{font-size:12px;color:var(--violet)}.session:has(details[open])>.session-time,.session:has(details[open])>.session-thumb,.session:has(details[open])>.session-symbol,.session:has(details[open])>.price,.session:has(details[open])>.button{align-self:start}.session-explainer p strong{color:var(--ink)}
@media(max-width:760px){.session-explainer summary{font-size:12px;min-height:38px}.session-explainer p{font-size:13px}.session:has(details[open]){grid-template-columns:43px 34px minmax(0,1fr) 70px}.session:has(details[open]) .session-info{grid-column:3/5}.session:has(details[open]) .price{grid-column:1/3;text-align:left}.session:has(details[open]) .button{grid-column:3/5}.session-explainer>div{padding-left:10px}.session:has(details[open])>.button{align-self:center}}
@media(max-width:760px){.week-nav{gap:3px}.week-nav strong{min-width:97px;font-size:12px}.week-nav .icon-button{width:26px}.jump-label input{width:114px;font-size:11px}.calendar-section .section-heading{display:block;position:relative}.calendar-section .section-heading .label-pill{position:absolute;right:0;top:-22px;font-size:10px;padding:3px 7px;max-width:none}.calendar-section .section-heading h2{font-size:25px;letter-spacing:-.04em}.calendar-section .section-heading p{max-width:290px}}
@media(max-width:380px){.header-inner{padding-left:15px;padding-right:15px;gap:9px}.brand img{width:123px}.nav-reserve{padding:8px 11px}.menu-button{width:28px}.wrap{padding-left:15px;padding-right:15px}.calendar-content{padding-left:10px;padding-right:10px}.week-nav strong{min-width:92px;font-size:11px}.jump-label input{width:110px}.filter-chip{padding:7px 8px}.hero h1{font-size:35px}.session{grid-template-columns:40px 28px minmax(0,1fr) 60px;gap:6px}.session-thumb,.session-symbol{width:28px;height:38px}.session h4{font-size:12px}.session .price{font-size:15px}.session:has(details[open]){grid-template-columns:40px 28px minmax(0,1fr) 60px}}
/* Art leads the introduction while the unified calendar follows immediately. */
.hero{grid-template-columns:1fr 1.2fr;gap:48px;padding-top:28px;padding-bottom:30px}.hero h1{font-size:clamp(2.7rem,4.1vw,3.65rem)}.hero-art{height:265px;isolation:isolate;padding:10px 17px 15px 15px}.hero-art:before{content:'';position:absolute;inset:12px 16px 2px 26px;background:#eee0f5;border-radius:12px;transform:rotate(3deg);z-index:-1}.hero-art:after{display:none}.hero-art .hero-photo{width:100%;height:232px;object-fit:cover;border-radius:12px;object-position:50% 35%;transform:rotate(-1deg)}.hero-art .hero-work{position:absolute;width:84px;height:119px;object-fit:cover;border:5px solid white;box-shadow:0 5px 15px #2c113b38;border-radius:1px;z-index:2}.hero-art .work-one{left:-8px;bottom:1px;transform:rotate(-8deg)}.hero-art .work-two{right:1px;top:-3px;transform:rotate(7deg)}.hero-art .art-tag{bottom:2px;right:32px;font-size:17px}.activity-card img{height:215px;border-radius:12px;object-position:center}.how .wrap{align-items:center}.how h2{grid-column:1/-1;font-size:39px}.how-photo{width:100%;height:210px;object-fit:cover;border-radius:10px}.promo{padding-top:0}.promo-photo{width:calc(100% + 76px);max-width:none;height:190px;object-fit:cover;margin:0 -38px 28px}.promo:first-child .promo-photo{object-position:50% 45%}.calendar .activity-thumb{object-fit:cover}.booking-summary img{height:135px;object-fit:contain;background:#ede5f2}.activity-card[href*="abanicos"] img{object-fit:contain;background:#e8e9ea}
@media(max-width:1050px){.hero{gap:28px}.hero h1{font-size:44px}.hero-art{height:244px}.hero-art .hero-photo{height:215px}.activity-card img{height:185px}.hero-art .hero-work{width:70px;height:100px}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding-top:24px;padding-bottom:32px}.hero h1{font-size:38px}.hero-art{display:flex;height:168px;padding:2px 12px 5px}.hero-art .hero-photo{height:155px;width:100%;object-position:center 35%;border-radius:9px}.hero-art:before{inset:6px 8px 0 12px}.hero-art .hero-work{width:57px;height:80px;border-width:3px}.hero-art .work-one{left:0;bottom:-1px}.hero-art .work-two{right:0;top:-4px}.hero-art .art-tag{font-size:14px;bottom:-4px;right:24px;padding:5px 10px}.hero p{font-size:14px}.activity-card img{height:165px}.how h2{font-size:32px}.how-photo{height:210px}.promo{padding-top:0}.promo-photo{width:calc(100% + 56px);margin:0 -28px 24px;height:180px}.booking-summary img{display:none}.calendar-section .section-heading .label-pill{top:-17px;font-size:9px}.calendar-section .section-heading h2{font-size:25px}.calendar-section .section-heading p{font-size:12px}}
@media(max-width:380px){.hero h1{font-size:34px}.hero-art{height:148px}.hero-art .hero-photo{height:135px}.activity-card img{height:145px}}
.status-compact{display:none}
@media(max-width:760px){.status-full{display:none}.status-compact{display:inline}.day .day-status{white-space:nowrap;overflow-wrap:normal;font-size:10px}.session:has(details[open]) .session-info{display:contents}.session:has(details[open]) .session-info h4{grid-column:3/5;grid-row:1;margin:2px 0 0}.session:has(details[open]) .session-design{grid-column:3/5;grid-row:2}.session:has(details[open]) .availability{grid-column:3/5;grid-row:3;margin:0}.session:has(details[open]) .session-explainer{grid-column:1/-1;grid-row:4}.session:has(details[open])>.session-time{grid-column:1;grid-row:1/4}.session:has(details[open])>.session-thumb{grid-column:2;grid-row:1/4}.session:has(details[open])>.price{grid-column:1/3;grid-row:5}.session:has(details[open])>.button{grid-column:3/5;grid-row:5}.session-explainer>div{padding:10px 13px;background:#fbf8fd;border-radius:0 7px 7px 0}.session-explainer p{font-size:14px}}
