/* Source: styles.css */
@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}}

/* Source: refinement.css */
/* Editorial identity, supplied imagery and compact mobile discovery. */
@font-face{font-family:'DM Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/dm-serif.woff2') format('woff2'),url('assets/dm-serif.ttf') format('truetype')}
@font-face{font-family:'DM Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/dm-serif-italic.woff2') format('woff2'),url('assets/dm-serif-italic.ttf') format('truetype')}
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url('assets/manrope-400.woff2') format('woff2'),url('assets/manrope-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-weight:500;font-display:swap;src:url('assets/manrope-500.woff2') format('woff2'),url('assets/manrope-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url('assets/manrope-600.woff2') format('woff2'),url('assets/manrope-600.ttf') format('truetype')}
@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url('assets/manrope-700.woff2') format('woff2'),url('assets/manrope-700.ttf') format('truetype')}
@font-face{font-family:Manrope;font-weight:800;font-display:swap;src:url('assets/manrope-800.woff2') format('woff2'),url('assets/manrope-800.ttf') format('truetype')}
/* A shared paper canvas, vivid brand accents and clear booking surfaces. */
:root{font-family:Manrope,'Segoe UI',sans-serif;--paper:#fefdfc;--ink:#301a3b;--muted:#65596d;--violet:#68238d;--violet-dark:#351442;--pink:#a51b70;--line:#e2d8e7;--wash:#f5eff8}
body{background-color:var(--paper);background-image:radial-gradient(#6c3a8110 .55px,transparent .75px);background-size:5px 5px;line-height:1.65}h1,h2{font-family:'DM Serif',Georgia,serif;font-weight:400;letter-spacing:-.035em}h3,h4{font-family:Manrope,'Segoe UI',sans-serif;letter-spacing:-.025em}h2 em,h1 em{font-weight:400;color:var(--pink)}p{line-height:1.7}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:800}.button{font-size:14px;min-height:46px;border-radius:7px;font-weight:700}.primary{box-shadow:0 3px 0 #35144212}.text-button{font-size:14px}.demo-bar{font-size:12px;padding:5px 12px}.header{background:var(--paper);border-bottom:1px solid #e5dce880}.header-inner{min-height:98px;padding-top:8px;padding-bottom:8px;gap:24px}.header .brand{position:relative;width:230px;height:82px;overflow:hidden}.header .brand img{position:absolute;max-width:none;width:235px;height:auto;left:50%;top:50%;transform:translate(-50%,-50%);mix-blend-mode:multiply}.header nav{gap:23px}.header nav a{font-size:14px}.hero.wrap{position:relative;display:flex;align-items:center;max-width:1160px;min-height:450px;margin:22px auto 42px;padding:28px 0;isolation:isolate;border:1px solid #d8c4df;border-radius:4px;box-shadow:0 14px 36px #3b154709;background:#f9f3fa;overflow:hidden}.hero:after{content:'';position:absolute;inset:10px;border:1px solid #ffffff60;z-index:2;pointer-events:none}.hero .hero-copy{position:relative;z-index:3;background:var(--paper);width:44%;padding:25px 34px 27px;margin-left:22px;border-left:3px solid var(--pink);box-shadow:15px 15px 0 #fefdfc35}.hero h1{font-size:64px;line-height:.99;margin:17px 0 20px;letter-spacing:-.045em}.hero h1 em{font-family:'DM Serif',Georgia,serif}.hero .eyebrow{font-size:11px;margin:0}.hero p{font-size:16px;max-width:330px;margin:0 0 13px;line-height:1.6}.hero-link{display:inline-flex;gap:22px;align-items:center;text-decoration:none;border-bottom:1px solid var(--pink);padding:7px 0;color:var(--violet);font-size:14px;font-weight:800}.hero-link span{font-size:24px}.hero .hero-art{position:absolute;inset:0 0 0 auto;width:68%;height:100%;padding:0;display:block;isolation:auto}.hero-art:before,.hero-art:after{display:none}.hero-art .hero-photo{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:55% center;transform:none;box-shadow:none}
.section-heading{margin-bottom:24px}.section-heading h2{font-size:40px;line-height:1.15}.section-heading p{font-size:15px}.calendar-section .section-heading h2{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-.04em;font-weight:800}.calendar-section{scroll-margin-top:15px;padding-bottom:65px}.label-pill{font-size:12px;background:#fff}.calendar{border-color:#d9cce0;grid-template-columns:220px minmax(0,1fr);border-radius:14px;box-shadow:0 15px 45px #40204a08}.filters{background:#faf7fc;padding:25px 19px}.filters legend{font-size:15px}.filter-hint,.filter-count{font-size:13px}.filter-chip{font-size:14px;min-height:46px;padding:9px 7px;gap:7px}.filter-chip .icon{width:17px;height:17px}.filter-chip:has(input:checked){background:#eee4f5;border-color:#dcc7e8}.filter-actions{gap:12px}.filter-actions button{font-size:12px}.calendar-content{padding:24px}.week-nav strong{font-size:15px}.day .day-name{font-size:12px}.day .day-number{font-weight:700}.day .day-status{font-size:12px}.day{min-height:94px}.results-heading h3{font-size:16px}.results-heading>span{font-size:13px}.calendar-foot{font-size:12px;line-height:1.6}.next-options p{font-size:14px}.next-options .button{font-size:13px;min-height:42px}.mobile-filter-toggle{display:none}
.session.session-card,.session.session-card:has(details[open]){grid-template-columns:55px 88px minmax(0,1fr) 95px 94px;grid-template-rows:auto auto;gap:8px 14px;padding:22px 0 13px;align-items:center}.session.session-card>.session-time,.session.session-card:has(details[open])>.session-time{grid-area:1/1;align-self:center;font-size:20px}.session-time small{font-size:12px;letter-spacing:0}.session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{grid-area:1/2;width:88px;height:88px;align-self:center;border-radius:6px;border:1px solid #e9e0ed;object-fit:contain;padding:4px;background:#f6f1f7}.session.session-card>.activity-thumb{object-fit:cover;padding:0}.session.session-card .session-info,.session.session-card:has(details[open]) .session-info{grid-area:1/3;display:block}.session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{font-size:16px;margin:0 0 7px;line-height:1.3}.session-design{font-size:14px}.availability{font-size:13px;margin-top:6px}.session.session-card>.price,.session.session-card:has(details[open])>.price{grid-area:1/4;align-self:center;font-size:21px}.price small{font-size:12px;white-space:normal;line-height:1.4;margin-top:3px}.session.session-card>.button,.session.session-card:has(details[open])>.button{grid-area:1/5;align-self:center;min-height:44px;padding:8px 12px;font-size:14px}.session.session-card>.session-explainer,.session.session-card:has(details[open])>.session-explainer{grid-area:2/1/3/-1;margin:0}.session-explainer summary{display:flex;width:max-content;max-width:100%;min-height:42px;padding:6px 12px;margin-left:157px;border:1px solid transparent;gap:8px;border-radius:6px;font-size:13px;font-weight:700;transition:background .2s}.session-explainer summary:hover{background:#f5edf8;text-decoration:none}.session-explainer summary .icon{width:16px;height:16px}.session-explainer .chevron{font-size:20px;margin-left:6px;line-height:1}.session-explainer[open] summary{background:#efe5f5;border-color:#dfcde8}.session-explainer>.session-detail{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;border:1px solid #e6d9ec;padding:24px;margin-top:12px;background:#faf7fc;border-radius:10px}.session-detail>img{width:180px;height:210px;object-fit:contain;background:#fff;border-radius:6px}.session-detail .detail-description{font-size:15px;line-height:1.65;margin:0 0 20px}.session-facts{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin:0 0 18px}.session-facts dt,.includes-title{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--violet);margin-bottom:5px}.session-facts dd{font-size:14px;margin:0;color:var(--ink);line-height:1.5}.session-detail ul{padding-left:18px;margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.7}.session-detail a.text-button{font-size:14px;display:inline-block}
.activities-section{padding:55px 0 70px;background:#f8f3fa80}.activity-grid{gap:30px 24px}.activity-card{background:var(--paper);padding:10px 10px 17px;border:1px solid #e7ddeb;border-radius:4px;box-shadow:0 5px 16px #46215505;transition:transform .2s}.activity-card:hover{transform:translateY(-3px)}.activity-card img{height:205px;border-radius:2px;margin-bottom:17px}.activity-card h3{font-size:17px;padding:0 6px;margin-bottom:8px}.activity-card p{font-size:14px;padding:0 6px;line-height:1.5}.activity-card h3 span{display:grid;place-items:center;border:1px solid var(--line);width:26px;height:26px;border-radius:50%;flex-shrink:0;font-size:15px}
.how{background:#341541;color:white;padding:65px 0;position:relative;overflow:hidden}.how .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px 75px;align-items:start}.how .how-intro{grid-column:1;grid-row:1}.how .eyebrow{color:#e4addc}.how .how-intro h2{font-family:'DM Serif',Georgia,serif;font-size:45px;font-style:normal;font-weight:400;line-height:1.09;letter-spacing:-.03em;margin:0 0 18px}.how h2 em{color:#f1a5d4}.how .how-intro p{font-size:16px;max-width:355px;color:#dfd2e5}.how .how-scene{grid-column:1;grid-row:2}.how-photo{height:245px;width:100%;object-fit:cover;border-radius:3px;border:7px solid #f9f3fb;transform:rotate(-2deg);margin:5px 0 0;box-shadow:12px 12px 0 #ffffff0e}.experience-steps{grid-column:2;grid-row:1/3;list-style:none;padding:0;margin:0}.experience-steps li{display:grid;grid-template-columns:77px 1fr;gap:24px;padding:25px 0;border-bottom:1px solid #ffffff26}.experience-steps li:first-child{padding-top:8px}.experience-steps li:last-child{border:0;padding-bottom:0}.how .step-num{font:400 65px/1 'DM Serif',Georgia,serif;color:#d798d0;margin:0;letter-spacing:-.06em}.step-icon{display:inline-flex;padding:8px;background:#ffffff0c;border:1px solid #ffffff28;border-radius:50%;color:#f2cbe8;margin-bottom:12px}.step-icon .icon{width:20px;height:20px}.how h3{font-size:22px;letter-spacing:-.03em;margin:0 0 8px}.how li p{font-size:15px;line-height:1.6;max-width:335px;color:#dfd2e5}
.occasions{padding-top:70px;padding-bottom:35px}.occasions .section-heading{margin-bottom:28px}.two-up{gap:28px}.promo{padding:0 30px 32px;background:#faf5fc;border:1px solid #decfe6;border-radius:8px;display:flex;flex-direction:column;min-height:0}.promo:nth-child(2){background:#fcf3f8;border-color:#e7cede}.promo-photo{width:calc(100% + 60px);margin:0 -30px 28px;height:225px;border-bottom:1px solid #e4d6ea;object-fit:cover}.promo h2{font-size:37px;line-height:1.1;margin-bottom:15px;max-width:400px}.promo p{font-size:16px;line-height:1.65;max-width:420px;margin-bottom:22px}.promo .eyebrow{font-size:12px;margin-bottom:15px}.promo .button{align-self:flex-start;margin-top:auto;background:transparent;border-color:#b896c9;color:var(--violet)}.promo .button:hover{background:#eee2f4}
.faq-grid{gap:70px;padding-top:65px;padding-bottom:60px}.faq-grid h2{font-size:41px;max-width:370px;line-height:1.1;margin-bottom:20px}.faq-grid p{font-size:16px}.faq-list{border-top:1px solid #d9c8e2}.faq-list details{padding:0;margin:0;border-bottom:1px solid #d9c8e2}.faq-list summary{padding:20px 4px;align-items:center;font-size:16px;line-height:1.5;gap:20px}.faq-list summary:after{display:grid;place-items:center;border:1px solid #dfcde9;border-radius:50%;width:30px;height:30px;flex-shrink:0;font-size:22px;line-height:1}.faq-list details[open]{background:#f7effb}.faq-list details[open] summary{padding:20px 16px 8px}.faq-list details[open] summary:after{background:var(--violet);color:white;border-color:var(--violet)}.faq-list details p{margin:0;padding:0 16px 22px;font-size:15px;line-height:1.75}.location.wrap{max-width:1160px;background:#f0e7f5;border:1px solid #d8c3e3;border-radius:6px;padding:42px 45px;margin:10px auto 65px;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative}.location h2{font-size:49px;line-height:1.04;margin:0 0 20px}.location p{font-size:16px}.location .practical{background:#fefdfc;border:1px solid #dfcfe8;border-radius:5px;padding:27px}.practical>p:first-child{font-size:16px}.opening-hours{margin:18px 0}.opening-hours>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.opening-hours dt{color:var(--muted)}.opening-hours dd{margin:0;font-weight:700;text-align:right}.location .practical .tiny{font-size:13px;line-height:1.7}
footer{background:var(--paper);color:var(--ink);border-top:1px solid #d9c8df;padding-top:45px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:40px}.footer-main .brand{display:block;position:relative;width:250px;height:95px;overflow:hidden;background:none}.footer-main .brand img{position:absolute;top:50%;left:50%;width:250px;max-width:none;height:auto;transform:translate(-50%,-50%);mix-blend-mode:multiply}.footer-main p{font-size:14px;color:var(--muted);margin:14px 0 0}.footer-main>.footer-brand{display:block}.footer-main>.footer-links{display:flex;flex-direction:column;gap:8px;padding-top:18px;align-items:flex-start}.footer-links strong{font-size:15px;margin-bottom:7px;color:var(--ink)}.footer-links a{font-size:14px;text-decoration:none;min-height:32px;color:var(--muted)}.footer-links a:hover{color:var(--violet);text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding-bottom:5px}.detail-hero h1{font-size:58px}.detail-body h2{font-size:34px}.detail-body li{font-size:16px}.detail-facts span{font-size:14px}.form-page h1{font-size:52px}.dialog-content h2{font:400 35px/1.1 'DM Serif',Georgia,serif}.booking-summary h3{font-size:19px}.booking-steps{font-size:12px}.dialog-content>p{font-size:16px}
@media(max-width:1200px){.hero.wrap,.location.wrap{margin-left:25px;margin-right:25px}.hero h1{font-size:58px}.hero .hero-copy{width:46%;padding:24px;margin-left:20px}.header nav{gap:16px}.header .brand{width:205px}.header .brand img{width:211px}.header nav a{font-size:13px}.calendar{grid-template-columns:200px minmax(0,1fr)}.filters{padding:22px 13px}.filter-chip{font-size:13px}.calendar-content{padding:20px}.session.session-card,.session.session-card:has(details[open]){grid-template-columns:49px 76px minmax(0,1fr) 79px 85px;gap:8px 11px}.session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:76px;height:82px}.session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{font-size:15px}.session-design{font-size:13px}.session-explainer summary{margin-left:147px}.activity-card img{height:175px}.how .wrap{gap:25px 45px}.location.wrap{gap:30px}}
@media(max-width:900px) and (min-width:761px){.header-inner{gap:13px}.header .brand{width:160px;height:70px}.header .brand img{width:169px}.header nav{gap:13px}.header nav a{font-size:12px}.nav-reserve{padding:10px 13px}.calendar{grid-template-columns:175px minmax(0,1fr)}.calendar-content{padding:16px}.filter-chip{font-size:12px}.filter-chip .icon{display:none}.session.session-card,.session.session-card:has(details[open]){grid-template-columns:45px 67px minmax(0,1fr) 75px;gap:10px}.session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:67px;height:77px}.session.session-card>.button,.session.session-card:has(details[open])>.button{grid-area:2/4}.session.session-card>.session-explainer,.session.session-card:has(details[open])>.session-explainer{grid-area:3/1/4/-1}.session-explainer summary{margin-left:122px}.hero h1{font-size:51px}.hero p{font-size:15px}.day .day-status{font-size:10px}.how .wrap{gap:25px 30px}.experience-steps li{grid-template-columns:58px 1fr;gap:16px}.how .step-num{font-size:54px}.footer-main{gap:30px}}
@media(max-width:760px){
 html{scroll-padding-top:83px}.wrap{padding-left:20px;padding-right:20px}.demo-bar{font-size:11px;line-height:1.4;padding:5px 8px}.demo-bar span{font-size:10px}.header-inner{min-height:74px;padding:5px 18px;gap:10px}.header .brand{width:151px;height:60px}.header .brand img{width:159px}.nav-reserve{font-size:12px;min-height:43px;padding:8px 12px}.menu-button{width:29px;font-size:22px}.header nav a{font-size:16px}.hero.wrap{display:flex;align-items:stretch;flex-direction:column;min-height:0;margin:14px 15px 32px;padding:0;overflow:hidden;border-radius:3px}.hero:after{inset:7px}.hero .hero-art{position:relative;inset:auto;order:-1;width:100%;height:210px;padding:0;aspect-ratio:auto}.hero-art .hero-photo{object-position:50% 48%;border-radius:0;height:100%;width:100%}.hero .hero-copy{width:calc(100% - 28px);margin:-28px 14px 14px;padding:20px 19px 15px;border-left:2px solid var(--pink);box-shadow:6px 6px 0 #ead9ed80}.hero h1{font-size:44px;line-height:1.02;margin:11px 0 13px;max-width:none}.hero h1 br:nth-of-type(1){display:none}.hero h1 br:nth-of-type(1):after{content:' '}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero p{font-size:14px;line-height:1.65;margin-bottom:7px;max-width:none}.hero-link{min-height:40px;font-size:13px;gap:15px;padding:4px 0}.hero-link span{font-size:22px}.section-heading{gap:12px}.section-heading h2{font-size:32px}.section-heading p{font-size:14px}.calendar-section .section-heading{align-items:flex-start;margin-bottom:17px}.calendar-section .section-heading h2{font-size:24px;line-height:1.2}.calendar-section .section-heading p{font-size:14px;line-height:1.6}.calendar-section .section-heading .label-pill{display:none}.calendar-section{padding-bottom:40px;scroll-margin-top:10px}.calendar{display:block;border-radius:10px;overflow:visible}.filters{padding:0;border-radius:10px 10px 0 0;border-right:0}.mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;border:0;border-radius:10px 10px 0 0;background:none;padding:12px 15px;color:var(--ink);font-size:14px;font-weight:700}.mobile-filter-toggle>span:first-child{display:flex;gap:9px;align-items:center}.mobile-filter-toggle .icon{color:var(--violet);width:18px}.mobile-filter-toggle strong{font-size:12px;background:#eee2f5;border:1px solid #decce8;color:var(--violet);border-radius:5px;padding:2px 7px;font-weight:600}.toggle-chevron{font-size:22px;color:var(--violet)}.mobile-filter-toggle[aria-expanded=true] .toggle-chevron{transform:rotate(180deg)}.filter-options{display:none;padding:0 13px 12px}.filters-open .filter-options{display:block}.filters legend,.filter-count{display:none}.filter-hint{font-size:13px;margin:0 0 10px}.filter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.filter-chip{display:flex;min-height:49px;height:49px;gap:6px;padding:7px;font-size:12px;line-height:1.3;border-color:var(--line);background:#fff;width:100%;min-width:0;border-radius:6px}.filter-chip>span{min-width:0;flex:1}.filter-chip .icon{width:15px;height:15px}.filter-chip input{width:16px;height:16px}.filter-actions{display:flex;justify-content:space-between;margin-top:7px}.filter-actions button{min-height:40px;font-size:13px}.calendar-content{padding:15px 12px 18px}.week-toolbar{flex-wrap:wrap;gap:9px;margin-bottom:15px}.week-nav{gap:3px}.week-nav strong{font-size:12px;min-width:105px}.week-nav .icon-button{width:25px;min-height:44px}.jump-label input{width:119px;font-size:12px;padding:5px;min-height:44px}.dates{gap:4px}.day{min-height:80px;padding:8px 1px;border-radius:6px}.day .day-name{font-size:11px;letter-spacing:0}.day .day-number{font-size:23px}.day .day-status{font-size:10px;line-height:1.3}.results-heading h3{font-size:14px}.results-heading>span{font-size:12px}.results-heading{gap:5px}.session.session-card,.session.session-card:has(details[open]){grid-template-columns:72px minmax(0,1fr) 98px;grid-template-rows:auto auto auto;gap:13px 10px;padding:19px 0 13px}.session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{grid-area:1/1;width:72px;height:80px;align-self:start}.session.session-card .session-info,.session.session-card:has(details[open]) .session-info{grid-area:1/2/2/4;display:block}.session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{font-size:16px;line-height:1.3;margin:1px 0 5px}.session.session-card h4 .icon{display:inline-block;width:16px;height:16px}.session-design{font-size:14px;line-height:1.45}.availability{font-size:13px;margin-top:5px}.session.session-card>.session-time,.session.session-card:has(details[open])>.session-time{grid-area:2/1;align-self:center;font-size:20px;letter-spacing:-.04em}.session-time small{font-size:11px}.session.session-card>.price,.session.session-card:has(details[open])>.price{grid-area:2/2;align-self:center;text-align:left;font-size:20px}.price small{font-size:11px;line-height:1.35;max-width:75px}.session.session-card>.button,.session.session-card:has(details[open])>.button{grid-area:2/3;align-self:center;width:100%;min-width:0;min-height:44px;font-size:13px;padding:8px 10px;margin:0}.session.session-card>.session-explainer,.session.session-card:has(details[open])>.session-explainer{grid-area:3/1/4/-1;margin:0}.session-explainer summary{width:100%;margin:0;padding:8px 10px;min-height:42px;background:#f8f3fa;border:1px solid #ede2f1;gap:7px;font-size:13px;justify-content:flex-start}.session-explainer summary .chevron{margin-left:auto}.session-explainer>.session-detail{grid-template-columns:1fr;padding:16px;gap:16px;margin-top:8px;border-radius:7px}.session-detail>img{width:100%;height:180px;object-fit:contain}.session-detail .detail-description{font-size:15px;margin-bottom:16px}.session-facts{grid-template-columns:1fr;gap:14px}.session-detail ul{font-size:14px}.session-detail a.text-button{font-size:14px}.next-options .button{font-size:12px;min-height:44px;padding:8px}.calendar-foot{font-size:12px;align-items:flex-start;gap:6px}.calendar-foot .icon{margin-top:3px}.next-options p{font-size:14px}.activities-section{padding-top:36px;padding-bottom:42px}.activity-grid{gap:17px 12px}.activity-card{padding:6px 6px 13px}.activity-card img{height:150px;margin-bottom:12px}.activity-card h3{font-size:15px;line-height:1.3;padding:0 4px;gap:5px}.activity-card h3 span{display:none}.activity-card p{font-size:13px;padding:0 4px;line-height:1.55}.activities-section .section-heading{flex-direction:column;gap:8px}.section-heading .text-button{font-size:14px}.how{padding:42px 0}.how .wrap{grid-template-columns:1fr;gap:25px}.how .how-intro{grid-area:auto}.how .how-intro h2{font-size:36px;max-width:none}.how .how-intro p{font-size:16px}.how .how-scene{grid-area:auto}.how-photo{height:210px;max-width:94%;margin:0 auto;border-width:6px;box-shadow:8px 8px 0 #ffffff0e}.experience-steps{grid-area:auto}.experience-steps li{grid-template-columns:52px 1fr;gap:18px;padding:23px 0}.experience-steps li:first-child{padding-top:12px}.how .step-num{font-size:49px}.how h3{font-size:21px}.how li p{font-size:15px}.step-icon{padding:7px;margin-bottom:9px}.step-icon .icon{width:18px;height:18px}.occasions{padding-top:42px;padding-bottom:20px}.occasions .section-heading h2{font-size:33px}.two-up{gap:23px}.promo{padding:0 23px 26px;border-radius:6px}.promo-photo{width:calc(100% + 46px);height:190px;margin:0 -23px 23px}.promo h2{font-size:33px;line-height:1.12}.promo p{font-size:15px}.promo .eyebrow{font-size:11px}.promo .button{font-size:14px}.faq-grid{gap:24px;padding-top:35px;padding-bottom:35px}.faq-grid h2{font-size:35px;max-width:none}.faq-grid p{font-size:16px}.faq-list summary{font-size:15px;padding:17px 2px;gap:12px}.faq-list details[open] summary{padding:17px 12px 8px}.faq-list details p{padding:0 12px 18px;font-size:15px}.location.wrap{grid-template-columns:1fr;gap:25px;margin:12px 15px 40px;padding:27px 23px}.location h2{font-size:42px}.location p{font-size:15px}.location .practical{padding:18px}.opening-hours>div{display:block;padding:10px 0;font-size:14px}.opening-hours dd{text-align:left;margin-top:3px}.location .practical .tiny{font-size:13px}.footer-main{grid-template-columns:1fr 1fr;gap:24px 15px;padding-bottom:28px}.footer-main>.footer-brand{grid-column:1/-1}.footer-main>.footer-links{padding-top:0;gap:7px}.footer-main .brand{width:230px;height:88px}.footer-main .brand img{width:236px}.footer-main p{font-size:14px;margin-top:10px}.footer-links strong{font-size:14px}.footer-links a{font-size:13px;min-height:38px;line-height:1.5}.footer-bottom{font-size:12px;gap:9px}footer{padding:26px 20px 23px}.detail-hero h1{font-size:43px}.detail-hero p{font-size:16px}.detail-body h2{font-size:31px}.detail-facts span{font-size:13px}.form-page h1{font-size:39px}.dialog-content h2{font-size:31px}.booking-summary h3{font-size:17px}.booking-summary p{font-size:13px}.booking-summary dl>div{font-size:13px}.booking-summary .total{font-size:16px}.booking-steps{font-size:11px;gap:10px}.dialog-content{padding:22px}.dialog-content>p{font-size:15px}
}
@media(max-width:380px){.header-inner{padding-left:13px;padding-right:13px;gap:7px}.header .brand{width:130px;height:54px}.header .brand img{width:139px}.nav-reserve{padding:8px 10px;font-size:11px}.hero .hero-copy{padding:17px 16px}.hero h1{font-size:39px}.hero .hero-art{height:180px}.hero .eyebrow{font-size:9px}.hero p{font-size:14px}.wrap{padding-left:15px;padding-right:15px}.calendar-content{padding:13px 10px 16px}.week-toolbar{display:block}.week-nav{justify-content:space-between;margin-bottom:8px}.week-nav strong{font-size:14px}.jump-label{display:flex;justify-content:space-between;gap:10px}.jump-label>span{display:inline;font-size:12px}.jump-label input{width:145px}.filter-chip{font-size:11px;padding:6px;gap:5px}.filter-chip .icon{width:13px}.session.session-card,.session.session-card:has(details[open]){grid-template-columns:64px minmax(0,1fr) 89px;gap:12px 8px}.session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:64px;height:76px}.session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{font-size:15px}.session-design{font-size:13px}.availability{font-size:12px}.session.session-card>.button,.session.session-card:has(details[open])>.button{font-size:12px}.day .day-status{font-size:9px}.activity-card img{height:126px}.activity-card h3{font-size:14px}.activity-card p{font-size:12px}.location.wrap{padding:24px 18px}.location .practical{padding:15px}.footer-main{gap:23px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.activity-card:hover{transform:none}}


@media(min-width:761px){.hero .hero-art{width:58%}.hero .hero-copy{width:44%}.hero h1{font-size:60px}}
.session.session-card:has(details[open])>.activity-thumb{object-fit:cover;padding:0}
@media(max-width:760px){.hero h1{font-size:40px}.hero .hero-art{height:190px}}

@media(min-width:761px){.hero.wrap{min-height:420px}.hero-art .hero-photo{object-position:35% center}.hero h1{font-size:58px}.hero .hero-copy{padding-top:25px;padding-bottom:25px}}
@media(max-width:760px){.hero h1 br{display:block}}

/* Booking details: quiet label and a clear circular plus/minus control. */
@media(min-width:1201px){
  .session.session-card,.session.session-card:has(details[open]){grid-template-columns:55px 116px minmax(0,1fr) 95px 94px}
  .session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:116px;height:116px}
  .session-explainer summary{margin-left:185px}
}
@media(min-width:901px) and (max-width:1200px){
  .session.session-card,.session.session-card:has(details[open]){grid-template-columns:49px 102px minmax(0,1fr) 79px 85px}
  .session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:102px;height:104px}
  .session-explainer summary{margin-left:173px}
}
@media(min-width:761px) and (max-width:900px){
  .session.session-card,.session.session-card:has(details[open]){grid-template-columns:45px 86px minmax(0,1fr) 75px}
  .session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:86px;height:94px}
  .session-explainer summary{margin-left:151px}
}
.session-explainer summary,.session-explainer[open] summary{
  display:inline-flex;width:max-content;max-width:100%;min-height:36px;padding:2px 0;
  gap:10px;align-items:center;border:0;border-radius:0;background:transparent;
  color:#66536d;font-size:12px;font-weight:600;line-height:1.35;
}
.session-explainer summary:hover,.session-explainer[open] summary:hover{
  background:transparent;color:var(--violet);text-decoration:underline;text-underline-offset:3px;
}
.explainer-icon{
  display:inline-grid;place-items:center;flex:0 0 26px;width:26px;height:26px;
  border-radius:50%;border:1px solid #dfd1e8;background:#f2ebf7;
  color:var(--violet);font:700 18px/1 Manrope,sans-serif;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.explainer-icon:before{content:'+'}
.session-explainer[open] .explainer-icon{background:#e6d9ef;border-color:#d4bfe3}
.session-explainer[open] .explainer-icon:before{content:'−'}
.session-explainer>.session-detail{background:#fff;border-color:#e6ddec;box-shadow:0 5px 18px #39174a09}
@media(max-width:760px){
  .session.session-card>.session-explainer,.session.session-card:has(details[open])>.session-explainer{margin-top:-5px}
  .session-explainer summary,.session-explainer[open] summary{width:max-content;min-height:44px;margin-left:0;padding:3px 0;border:0;background:transparent;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.explainer-icon{transition:none}}

.session.session-card>.button{white-space:nowrap}
@media(min-width:761px){.hero h1{font-size:clamp(40px,4.05vw,58px)}}
@media(min-width:761px) and (max-width:900px){.session.session-card>.button,.session.session-card:has(details[open])>.button{padding:8px 6px;font-size:13px}.session.session-card>.session-explainer{grid-area:2/1/3/4}.session.session-card:has(details[open])>.session-explainer{grid-area:3/1/4/-1}}
@media(min-width:761px) and (max-width:1050px){.hero .hero-art{background:#351442}.hero-art .hero-photo{object-fit:contain}.hero .hero-copy{margin-left:15px;padding:22px;width:42%}}

/* Source: hero-v5.css */
/* Integrated editorial header and manual activity gallery. Calendar behaviour stays in app.js. */
.home-route .header{background:#241137;border-bottom:0;box-shadow:none}
.home-route .header-inner{max-width:1240px;min-height:104px;padding-top:12px;padding-bottom:12px;border-bottom:1px solid #ffffff26}
.home-route .header .brand{width:244px;height:78px;overflow:visible}
.home-route .header .brand img{width:244px;mix-blend-mode:normal;object-fit:contain}
.home-route .header nav a{color:#f8f2fa;font-weight:600}
.home-route .header nav a:hover{color:#ff8ed1}
.home-route .header .nav-reserve{background:transparent;border:1px solid #ef5fbd;border-radius:999px;color:#fff;box-shadow:none;min-width:130px}
.home-route .header .nav-reserve:hover{background:#ef299d;border-color:#ef299d}
.home-route .home-stage{background:#241137;color:#fff;border-radius:0 0 34px 34px;overflow:hidden}
.home-route .hero.wrap{max-width:1240px;min-height:0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:52px;align-items:center;margin:0 auto;padding:22px 40px 40px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.home-route .hero:after{display:none}
.home-route .hero .hero-copy{width:auto;margin:0;padding:0;background:none;border:0;box-shadow:none}
.home-route .hero .eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#ecc9e5;margin-bottom:18px}
.home-route .hero h1{font:400 clamp(4rem,6.3vw,6.8rem)/.91 'DM Serif',Georgia,serif;letter-spacing:-.045em;color:#fff;margin:0 0 25px}
.home-route .hero-line{display:block}
.home-route .hero-period{color:#ee299a}
.home-route .hero p{font-size:17px;line-height:1.55;color:#f0e7f4;max-width:390px;margin:0 0 15px}
.home-route .hero .hero-fact{font-size:14px;color:#f8b9df;margin:18px 0 23px}
.home-route .hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:11px 24px;border:1px solid #ed2899;border-radius:999px;background:#ed2899;color:#fff;font-size:15px;font-weight:800;text-decoration:none;box-shadow:none}
.home-route .hero-link:hover{background:#cf1582;border-color:#cf1582}
.home-route .hero .hero-art{position:relative;inset:auto;width:100%;height:auto;display:block;padding:0;background:transparent}
.home-route .hero-photo-frame{width:100%;aspect-ratio:1.79;overflow:hidden;border-radius:28px 92px 28px 28px;background:#422453}
.home-route .hero-art .hero-photo{width:100%;height:100%;object-fit:cover;object-position:center center;border:0;border-radius:0;transform:none;box-shadow:none}
.home-route .hero-slide-controls{display:grid;grid-template-columns:42px minmax(0,1fr) auto 42px;align-items:center;gap:18px;color:#fff;min-height:60px}
.home-route .hero-slide-arrow{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffffb5;border-radius:50%;background:transparent;color:#fff;font:400 30px/1 Georgia,serif}
.home-route .hero-slide-arrow:hover{background:#ffffff20;border-color:#fff}
.home-route .hero-slide-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;min-width:0;font-size:14px}
.home-route .hero-slide-dots{display:flex;align-items:center;gap:9px}
.home-route .hero-slide-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#ffffff70}
.home-route .hero-slide-dots button[aria-pressed=true]{background:#ee299a;transform:scale(1.2)}
.home-route .hero-slide-index{font-size:13px;letter-spacing:.04em;white-space:nowrap}
.home-route .calendar-section{padding-top:32px}
.home-route .calendar-section .section-heading h2{font:400 clamp(2rem,3.1vw,2.8rem)/1.12 'DM Serif',Georgia,serif;letter-spacing:-.025em}
.home-route .calendar-section .section-heading p{font-size:15px}
.home-route .calendar-section .label-pill{background:#f8edf8;color:#4f245e;font-weight:700;border:0}

@media(max-width:1050px){
 .home-route .header-inner{gap:15px}.home-route .header .brand{width:190px;height:68px}.home-route .header .brand img{width:196px}.home-route .header nav{gap:14px}.home-route .header nav a{font-size:12px}.home-route .header .nav-reserve{min-width:98px;padding:9px 12px}
 .home-route .hero.wrap{gap:28px}.home-route .hero h1{font-size:clamp(3.3rem,6.2vw,5.3rem)}
}
@media(max-width:760px){
 .home-route .header-inner{min-height:74px;padding:7px 20px}.home-route .header .brand{width:172px;height:58px}.home-route .header .brand img{width:174px}
 .home-route .header .nav-reserve{display:none}.home-route .menu-button{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #f49aca;border-radius:50%;color:#fff;font-size:22px}
 .home-route .header nav{background:#241137;border-bottom:1px solid #ffffff30;box-shadow:0 12px 22px #1e0b2d38}.home-route .header nav a{font-size:16px;color:#fff}
 .home-route .home-stage{border-radius:0 0 24px 24px}
 .home-route .hero.wrap{display:flex;flex-direction:column;gap:18px;align-items:stretch;margin:0;padding:12px 20px 22px;border-radius:0;overflow:visible}
 .home-route .hero .hero-art{order:-1;width:100%;height:auto;aspect-ratio:auto;padding:0}
 .home-route .hero-photo-frame{aspect-ratio:1.79;border-radius:22px 42px 22px 22px}
 .home-route .hero-art .hero-photo{object-position:center center;width:100%;height:100%;object-fit:cover}
 .home-route .hero-slide-controls{grid-template-columns:38px minmax(0,1fr) auto 38px;gap:8px;min-height:48px}
 .home-route .hero-slide-arrow{width:34px;height:34px;font-size:27px}
 .home-route .hero-slide-meta{display:block;font-size:13px;text-align:center}
 .home-route .hero-slide-dots{justify-content:center;gap:8px;margin-top:3px}.home-route .hero-slide-dots button{width:8px;height:8px}
 .home-route .hero-slide-index{font-size:12px}
 .home-route .hero .hero-copy{width:100%;margin:0;padding:0}
 .home-route .hero .eyebrow{font-size:10px;margin:0 0 6px}
 .home-route .hero h1{font-size:clamp(2.8rem,10.5vw,4.15rem);line-height:.95;margin:0 0 11px;max-width:none}
 .home-route .hero-line{display:inline}
 .home-route .hero h1 br{display:none}
 .home-route .hero p{font-size:14px;line-height:1.45;margin-bottom:7px;max-width:none}
 .home-route .hero .hero-fact{font-size:12px;margin:9px 0 15px}
 .home-route .hero-link{min-height:46px;font-size:14px;padding:9px 20px;width:100%}
 .home-route .calendar-section{padding-top:24px}
 .home-route .calendar-section .section-heading h2{font-size:31px;line-height:1.08}
 .home-route .calendar-section .section-heading p{font-size:14px}
}
@media(max-width:380px){
 .home-route .header-inner{padding:6px 14px}.home-route .header .brand{width:150px}.home-route .header .brand img{width:151px}
 .home-route .hero.wrap{padding-left:14px;padding-right:14px}.home-route .hero h1{font-size:2.7rem}.home-route .hero-slide-controls{gap:4px}.home-route .hero-slide-index{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.home-route .hero-slide-dots button{transition:none}}

/* Source: activity-gallery.css */
.activity-gallery{margin:26px 0 42px;padding:24px;background:#faf7fc;border:1px solid #eadfed;border-radius:16px}
.activity-gallery h2{font-size:24px;margin:0 0 16px}
.activity-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.activity-gallery-grid img{width:100%;height:clamp(180px,20vw,270px);object-fit:cover;border-radius:10px;background:#eee6f2}
@media(max-width:760px){.activity-gallery{margin:22px 0 34px;padding:15px;border-radius:12px}.activity-gallery h2{font-size:20px}.activity-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.activity-gallery-grid img{height:clamp(120px,34vw,190px);border-radius:7px}}
.design-gallery{margin:28px 0 46px;padding:clamp(20px,3vw,36px);background:#21142e;color:#fff;border-radius:18px}
.design-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:22px}
.design-gallery .eyebrow{color:#ff9cca}
.design-gallery h2{font-size:clamp(25px,3vw,38px);margin:4px 0 0;color:#fff}
.design-gallery-heading p{max-width:330px;margin:0;color:#e3d6e9;line-height:1.5;font-size:14px}
.design-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.design-gallery figure{min-width:0;margin:0;background:#fff;color:#251931;border-radius:11px;overflow:hidden}
.design-gallery figure img{display:block;width:100%;height:clamp(180px,23vw,300px);object-fit:cover;object-position:center 42%;background:#eee6f2}
.design-gallery figcaption{display:grid;gap:4px;padding:12px 13px 15px}
.design-gallery figcaption strong{font-size:15px;line-height:1.3}
.design-gallery figcaption span{font-size:12px;line-height:1.45;color:#62566c}
@media(max-width:760px){.design-gallery{padding:18px;margin:20px 0 36px}.design-gallery-heading{display:block}.design-gallery-heading p{margin-top:10px}.design-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.design-gallery figure img{height:clamp(185px,54vw,300px)}.design-gallery figcaption{padding:10px}}

/* Source: branding.css */
.header .brand{overflow:visible}
.header .brand img,.footer-main .brand img{mix-blend-mode:normal}
.footer-main .brand img{width:235px}
@media(max-width:760px){.footer-main .brand img{width:220px}}

/* Source: calendar-polish.css */
/* A calmer booking surface: editorial heading, tactile filters and clear session cards. */
.calendar-section{padding-top:20px;padding-bottom:78px;scroll-margin-top:118px}
.calendar-section .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px}
.calendar-section .section-heading h2{font-size:clamp(30px,3vw,38px);line-height:1.08;letter-spacing:-.045em;margin:0 0 8px;color:var(--ink)}
.calendar-section .section-heading p{font-size:15px;line-height:1.55;margin:0;color:#6c5c71}
.calendar-section .label-pill{position:static;display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 13px;border:1px solid #e5d4eb;border-radius:999px;background:#f7eff9;color:#55236a;font-size:12px;font-weight:750;letter-spacing:.015em;white-space:nowrap}
.calendar-section .label-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#b01882;box-shadow:0 0 0 3px #b0188216}
.calendar{grid-template-columns:250px minmax(0,1fr);align-items:stretch;border:1px solid #e7dce9;border-radius:22px;background:#fff;box-shadow:0 22px 60px #35144212;overflow:hidden}
.filters{position:relative;padding:25px 17px 20px;border-right:1px solid #e8dfea;background:#f8f3fa;isolation:isolate}
.filters:before{content:"";position:absolute;z-index:-1;right:-48px;top:-53px;width:145px;height:145px;border:1px solid #eadbed;border-radius:50%;box-shadow:0 0 0 14px #fff3,0 0 0 30px #fff2}
.filters fieldset{min-width:0;margin:0;padding:0;border:0}
.filters legend{margin:0 0 6px;padding:0;color:#3d2048;font:400 21px/1.2 'DM Serif',Georgia,serif;letter-spacing:-.025em}
.filter-hint,.filter-count{color:#766a7b;font-size:12px;line-height:1.5}
.filter-hint{margin:0 0 14px}
.filter-list{gap:7px}
.filter-chip{min-height:42px;padding:7px 9px;gap:8px;border:1px solid #e8deeb;border-radius:11px;background:#fff;color:#382641;font-size:12px;font-weight:650;line-height:1.25;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.filter-chip:hover{border-color:#c6a9d3;box-shadow:0 3px 9px #3514420b;transform:translateY(-1px)}
.filter-chip input{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:#68238d}
.filter-chip .icon{width:20px;height:20px;flex:0 0 20px;padding:3px;border-radius:50%;background:#f7f1f9;color:#68238d}
.filter-chip span:last-child{min-width:0;flex:1}
.filter-chip:has(input:checked){border-color:#c9b0d5;background:#f0e7f4;color:#452055;box-shadow:inset 3px 0 #68238d}
.filter-chip:has(input:checked) .icon{background:#fff}
.filter-actions{gap:7px;margin-top:13px}
.filters .filter-actions .text-button{min-height:34px;padding:5px 8px;border:1px solid #e0d3e6;border-radius:8px;background:#fff;color:#5c2d72;font-size:11px;font-weight:700;text-decoration:none}
.filters .filter-actions .text-button:hover{background:#eee4f4;border-color:#cdb4d8}
.filter-count{margin:13px 2px 0;font-weight:650}
.mobile-filter-toggle{display:none}
.calendar-content{min-width:0;padding:25px 27px 21px}
.week-toolbar{gap:18px;margin-bottom:16px}
.week-nav{gap:11px}
.week-nav .icon-button{width:42px;min-height:42px;border:1px solid #e7dce9;border-radius:50%;background:#fff;color:#54246a;font-size:25px;line-height:1;box-shadow:0 2px 8px #3514420a}
.week-nav .icon-button:hover:not(:disabled){background:#f2eaf5;border-color:#d4c0dd;transform:translateY(-1px)}
.week-nav .icon-button:disabled{opacity:.4}
.week-nav strong{min-width:155px;color:#37213f;font-size:15px;font-weight:750;text-align:center;letter-spacing:-.015em}
.jump-label{gap:9px;color:#746879;font-size:12px;font-weight:650}
.jump-label input{min-height:42px;width:158px;padding:8px 11px;border:1px solid #e4d9e8;border-radius:10px;background:#fff;color:#382641;font-size:12px;font-weight:650}
.dates{gap:8px}
.day{min-height:91px;padding:10px 3px 9px;border:1px solid #e8e0eb;border-radius:14px;background:#fff;box-shadow:0 3px 9px #35144208;gap:3px;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.day:hover{border-color:#c9b2d5;box-shadow:0 6px 15px #35144210;transform:translateY(-2px)}
.day .day-name{color:#756b7b;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.day .day-number{color:#35213e;font-size:25px;font-weight:750;line-height:1.1;letter-spacing:-.04em}
.day .day-status{max-width:100%;margin-top:3px;color:#4f795d;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap}
.day[data-status=empty] .day-status{color:#807583}
.day[data-status=full] .day-status{color:#9a5a25}
.day[aria-pressed=true]{border-color:#4b1d5c;background:#4b1d5c;color:#fff;box-shadow:0 7px 16px #4b1d5c2e}
.day[aria-pressed=true] .day-name,.day[aria-pressed=true] .day-number,.day[aria-pressed=true] .day-status{color:#fff}
.results-heading{margin-top:24px;padding:0 0 12px;border-bottom:1px solid #e9e1eb}
.results-heading h3{color:#3c2345;font-size:18px;font-weight:750;letter-spacing:-.025em}
.results-heading>span{padding:5px 10px;border:1px solid #e8ddec;border-radius:999px;background:#fbf7fc;color:#654c6d;font-size:11px;font-weight:700;white-space:nowrap}
.session.session-card,.session.session-card:has(details[open]){position:relative;grid-template-columns:58px 98px minmax(0,1fr) 104px 108px;grid-template-rows:auto auto;gap:10px 13px;align-items:center;margin-top:12px;padding:14px 14px 10px;border:1px solid #ebe3ed;border-radius:16px;background:#fff;box-shadow:0 4px 14px #35144209;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.session.session-card:hover{border-color:#d2bfdc;box-shadow:0 8px 20px #35144210;transform:translateY(-1px)}
.session.session-card>.session-time,.session.session-card:has(details[open])>.session-time{grid-area:1/1;align-self:center;margin:0;padding:7px 2px;border-radius:11px;background:#f5eff8;color:#55256a;font-size:17px;font-weight:800;letter-spacing:-.045em;text-align:center}
.session-time small{display:block;margin-top:2px;color:#7a6d80;font-size:9px;font-weight:650;letter-spacing:.02em}
.session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{grid-area:1/2;width:98px;height:98px;align-self:center;padding:0;border:1px solid #e9dfec;border-radius:12px;background:#f5f0f7;object-fit:cover}
.session.session-card>.artwork-thumb,.session.session-card:has(details[open])>.artwork-thumb{object-fit:contain;padding:4px;background:#f7f3f8}
.session.session-card .session-info,.session.session-card:has(details[open]) .session-info{grid-area:1/3;min-width:0;display:block}
.session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{display:flex;align-items:center;gap:7px;margin:0 0 5px;color:#33203c;font-size:15px;font-weight:800;line-height:1.3;letter-spacing:-.02em}
.session-info h4 .icon{width:17px;height:17px;flex:0 0 17px;color:#742b8f}
.session-design{color:#706477;font-size:12px;line-height:1.45}
.availability{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:7px;padding:4px 8px;border:1px solid #d7e8dc;border-radius:999px;background:#f2f8f3;color:#306344;font-size:10px;font-weight:750;line-height:1.25}
.availability.full{border-color:#ead9c5;background:#fbf4eb;color:#80501f}
.session.session-card>.price,.session.session-card:has(details[open])>.price{grid-area:1/4;align-self:center;color:#392046;font-size:18px;font-weight:800;line-height:1.15;text-align:right;letter-spacing:-.025em}
.price small{display:block;margin-top:4px;color:#75697c;font-size:10px;font-weight:550;line-height:1.35}
.session.session-card>.button,.session.session-card:has(details[open])>.button{grid-area:1/5;align-self:center;min-height:43px;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:750;white-space:nowrap}
.session.session-card>.button.primary,.session.session-card:has(details[open])>.button.primary{background:#68238d;border-color:#68238d;color:#fff;box-shadow:0 3px 0 #3c18591b}
.session.session-card>.button.primary:hover,.session.session-card:has(details[open])>.button.primary:hover{background:#4c1a67;border-color:#4c1a67}
.session.session-card>.button:disabled,.session.session-card:has(details[open])>.button:disabled{background:#f2eef3;border-color:#e7dfe9;color:#776d7b;box-shadow:none;opacity:1}
.session.session-card>.session-explainer,.session.session-card:has(details[open])>.session-explainer{grid-area:2/1/3/-1;min-width:0;margin:0}
.session-explainer summary,.session-explainer[open] summary{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:3px 0;border:0;background:transparent;color:#705d78;font-size:11px;font-weight:700;text-decoration:none}
.session-explainer summary:hover,.session-explainer[open] summary:hover{background:transparent;color:#54246a;text-decoration:none}
.session-explainer .explainer-icon{width:24px;height:24px;flex:0 0 24px;border:1px solid #e2d4e8;background:#f8f3fa;color:#63218b;font-size:16px}
.session-explainer[open] .explainer-icon{border-color:#d2bde0;background:#eee3f4}
.session-explainer>.session-detail{grid-template-columns:150px minmax(0,1fr);gap:19px;margin-top:8px;padding:17px;border:1px solid #e8ddec;border-radius:13px;background:#fcf9fd;box-shadow:0 5px 18px #35144209}
.session-detail>img{width:150px;height:165px;object-fit:cover;border:1px solid #eee6f0;border-radius:10px}
.session-detail .detail-description{margin:0 0 14px;color:#57495e;font-size:14px;line-height:1.6}
.session-facts{gap:12px;margin-bottom:13px}
.session-facts dt,.includes-title{color:#68238d;font-size:10px}
.session-facts dd,.session-detail ul{color:#504354;font-size:12px;line-height:1.55}
.session-detail ul{margin-bottom:8px}
.session-detail a.text-button{min-height:34px;font-size:12px}
.resume{align-items:center;gap:14px;margin:13px 0 0;padding:13px 15px;border:1px solid #ddcce5;border-left:4px solid #68238d;border-radius:12px;background:#faf5fc;color:#46324e;font-size:12px;line-height:1.55}
.resume .button{flex:none;min-height:39px;padding:8px 13px;border-radius:9px;font-size:12px}
.empty-state{margin-top:14px;padding:28px 18px;border:1px dashed #ddcce5;border-radius:15px;background:#fbf8fc}
.empty-state h4{color:#3b2345;font-size:17px;font-weight:800}
.empty-state p{color:#6b5d71;font-size:13px;line-height:1.6}
.empty-state .button{min-height:40px;border-radius:9px;font-size:12px}
.next-options{margin-top:18px;padding:15px;border:1px solid #e9e0ed;border-radius:14px;background:#fcf9fd}
.next-options p{margin-bottom:10px;color:#4e3957;font-size:12px;font-weight:750}
.next-options>div{gap:8px}
.next-options .button{min-height:39px;padding:8px 12px;border-color:#e5d9e9;border-radius:9px;background:#fff;color:#54246a;font-size:11px;font-weight:700}
.next-options .button:hover{border-color:#cbb2d8;background:#f6eff8}
.calendar-foot{margin:17px 1px 0;padding-top:12px;border-top:1px solid #eee8f0;color:#776c7d;font-size:11px;line-height:1.5}
.calendar-foot .icon{width:15px;height:15px;flex:none;color:#68238d}
@media(min-width:761px) and (max-width:1100px){
 .calendar{grid-template-columns:218px minmax(0,1fr)}
 .filters{padding:22px 13px}
 .calendar-content{padding:20px 18px}
 .week-toolbar{gap:10px}
 .week-nav{gap:7px}
 .week-nav .icon-button{width:38px;min-height:38px}
 .week-nav strong{min-width:125px;font-size:13px}
 .jump-label{gap:6px}
 .jump-label input{width:145px}
 .dates{gap:5px}
 .day{min-height:84px}
 .session.session-card,.session.session-card:has(details[open]){grid-template-columns:47px 76px minmax(0,1fr) 78px 82px;gap:8px;padding:11px 10px 8px}
 .session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:76px;height:78px}
 .session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{font-size:13px}
 .session-design{font-size:11px}
 .session.session-card>.price,.session.session-card:has(details[open])>.price{font-size:15px}
 .session.session-card>.button,.session.session-card:has(details[open])>.button{min-height:40px;padding:7px 8px;font-size:11px}
}
@media(max-width:760px){
 .calendar-section{padding-top:13px;padding-bottom:48px;scroll-margin-top:91px}
 .calendar-section .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:16px}
 .calendar-section .section-heading .label-pill{position:static;align-self:flex-start;margin:0;padding:5px 9px;font-size:10px}
 .calendar-section .section-heading h2{font-size:27px;line-height:1.12;margin-bottom:5px}
 .calendar-section .section-heading p{max-width:340px;font-size:12px;line-height:1.5}
 .calendar{display:block;border-radius:18px}
 .filters{padding:0;border:0;border-bottom:1px solid #e8dfea;border-radius:18px 18px 0 0;background:#f8f3fa}
 .filters:before{right:-42px;top:-55px;width:120px;height:120px}
 .mobile-filter-toggle{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:10px 14px;border:0;border-radius:18px 18px 0 0;background:transparent;color:#3d2048;font-size:13px;font-weight:750;text-align:left}
 .mobile-filter-toggle>span:first-child{display:flex;align-items:center;gap:7px}
 .mobile-filter-toggle .icon{width:17px;height:17px;color:#68238d}
 .mobile-filter-toggle strong{padding:4px 8px;border:1px solid #e5d8eb;border-radius:999px;background:#fff;color:#5b2a70;font-size:10px}
 .mobile-filter-toggle .toggle-chevron{display:grid;place-items:center;width:28px;height:28px;border:1px solid #e3d6e8;border-radius:50%;background:#fff;color:#58246d;font-size:17px;line-height:1;transition:transform .16s ease}
 .filters-open .mobile-filter-toggle .toggle-chevron{transform:rotate(180deg)}
 .filter-options{position:relative;z-index:1;padding:0 12px 13px}
 .filters legend{margin-bottom:4px;font-size:18px}
 .filter-hint{margin-bottom:9px;font-size:11px}
 .filter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .filter-chip{height:auto;min-height:41px;padding:6px 7px;gap:6px;border-radius:10px;font-size:11px}
 .filter-chip .icon{width:18px;height:18px;flex:0 0 18px}
 .filter-chip input{width:15px;height:15px;flex-basis:15px}
 .filter-actions{justify-content:flex-start;gap:7px;margin-top:9px}
 .filters .filter-actions .text-button{min-height:32px;padding:5px 8px;font-size:10px}
 .filter-count{margin:7px 2px 0;font-size:10px}
 .calendar-content{padding:15px 12px 15px}
 .week-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:12px}
 .week-nav{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;margin:0}
 .week-nav .icon-button{width:38px;min-height:38px}
 .week-nav strong{min-width:0;font-size:13px}
 .jump-label{display:flex;justify-content:space-between;gap:10px;color:#65566b;font-size:11px}
 .jump-label>span{display:inline}
 .jump-label input{width:152px;min-height:38px;padding:6px 8px;font-size:11px}
 .dates{gap:4px}
 .day{min-height:72px;padding:7px 1px 6px;border-radius:10px;gap:2px}
 .day .day-name{font-size:8px;letter-spacing:.04em}
 .day .day-number{font-size:21px}
 .day .day-status{max-width:100%;margin-top:2px;font-size:8px;line-height:1.1;white-space:nowrap}
 .results-heading{margin-top:17px;padding-bottom:9px}
 .results-heading h3{font-size:15px}
 .results-heading>span{padding:4px 8px;font-size:10px}
 .session.session-card,.session.session-card:has(details[open]){grid-template-columns:42px 60px minmax(0,1fr) 78px;grid-template-rows:auto auto auto;gap:8px 8px;margin-top:10px;padding:10px;border-radius:13px}
 .session.session-card>.session-time,.session.session-card:has(details[open])>.session-time{grid-area:1/1;align-self:start;margin:1px 0 0;padding:6px 1px;border-radius:9px;font-size:14px}
 .session-time small{font-size:8px}
 .session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{grid-area:1/2;width:60px;height:60px;border-radius:9px}
 .session.session-card .session-info,.session.session-card:has(details[open]) .session-info,.session.session-card:has(details[open]) .session-info{grid-area:1/3/2/5;display:block;min-width:0}
 .session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{grid-area:auto;margin:0 0 3px;font-size:12px;line-height:1.25}
 .session-info h4 .icon{width:15px;height:15px;flex-basis:15px}
 .session-design{grid-area:auto;font-size:10px;line-height:1.35}
 .availability{grid-area:auto;margin-top:5px;padding:3px 6px;font-size:9px}
 .session.session-card>.price,.session.session-card:has(details[open])>.price{grid-area:2/1/3/3;align-self:center;font-size:15px;text-align:left}
 .price small{margin-top:2px;font-size:9px}
 .session.session-card>.button,.session.session-card:has(details[open])>.button{grid-area:2/3/3/5;align-self:center;width:100%;min-height:39px;padding:7px 7px;border-radius:9px;font-size:11px}
 .session.session-card>.session-explainer,.session.session-card:has(details[open])>.session-explainer{grid-area:3/1/4/5;min-width:0;margin:0}
 .session-explainer summary,.session-explainer[open] summary{min-height:33px;font-size:10px}
 .session-explainer .explainer-icon{width:22px;height:22px;flex-basis:22px;font-size:15px}
 .session.session-card:has(details[open]) .session-info{grid-area:1/3/2/5;display:block}
 .session.session-card:has(details[open]) .session-info h4,.session.session-card:has(details[open]) .session-design,.session.session-card:has(details[open]) .availability{grid-column:auto;grid-row:auto}
 .session.session-card:has(details[open])>.price{grid-area:2/1/3/3}
 .session.session-card:has(details[open])>.button{grid-area:2/3/3/5;align-self:center}
 .session.session-card:has(details[open])>.session-explainer{grid-area:3/1/4/5;margin:0}
 .session-explainer>.session-detail{grid-template-columns:1fr;gap:12px;padding:12px}
 .session-detail>img{width:100%;height:150px;object-fit:cover}
 .session-detail .detail-description{font-size:12px;margin-bottom:10px}
 .session-facts{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}
 .session-facts dt,.includes-title{font-size:9px}
 .session-facts dd,.session-detail ul{font-size:11px}
 .resume{align-items:flex-start;flex-direction:column;gap:8px;margin-top:11px;padding:11px 12px;font-size:11px}
 .resume .button{align-self:flex-start;min-height:36px}
 .empty-state{padding:22px 13px;border-radius:12px}
 .empty-state h4{font-size:15px}
 .empty-state p{font-size:11px}
 .next-options{padding:12px;margin-top:14px}
 .next-options>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .next-options .button{min-width:0;min-height:38px;padding:6px;font-size:10px;line-height:1.25}
 .calendar-foot{margin-top:13px;padding-top:10px;font-size:10px}
}
@media(max-width:380px){
 .calendar-section .section-heading h2{font-size:25px}
 .filter-chip{font-size:10px}
 .week-nav strong{font-size:12px}
 .jump-label input{width:140px}
 .day{min-height:68px}
 .day .day-number{font-size:19px}
 .session.session-card,.session.session-card:has(details[open]){grid-template-columns:37px 54px minmax(0,1fr) 72px;gap:7px 6px;padding:9px}
 .session.session-card>.session-thumb,.session.session-card:has(details[open])>.session-thumb{width:54px;height:56px}
 .session.session-card .session-info h4,.session.session-card:has(details[open]) .session-info h4{font-size:11px}
 .session-design{font-size:9px}
 .session.session-card>.button,.session.session-card:has(details[open])>.button{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.calendar-section *, .calendar-section *:before,.calendar-section *:after{transition:none!important;transform:none!important}}

/* Source: design-refinements.css */
/* Fuchsia accents, clearer activity navigation, and a more finished footer. */
.header .nav-reserve,
.home-route .header .nav-reserve {
  background: #ed2998;
  border: 1px solid #ed2998;
  border-radius: 999px;
  color: #fff;
  box-shadow: 0 8px 22px #ed29983b;
}
.header .nav-reserve:hover,
.home-route .header .nav-reserve:hover {
  background: #cf167f;
  border-color: #cf167f;
  box-shadow: 0 10px 25px #ed29984a;
}
.header .nav-reserve:focus-visible,
.home-route .hero-photo-link:focus-visible,
.activity-card:focus-visible {
  outline: 3px solid #ef70bd;
  outline-offset: 4px;
}

.home-route .hero-photo-link {
  display: block;
  border-radius: 28px 92px 28px 28px;
  color: inherit;
  text-decoration: none;
}
.home-route .hero-photo-link .hero-photo-frame {
  position: relative;
}
.home-route .hero-photo-link .hero-photo-frame::after {
  position: absolute;
  right: 18px;
  bottom: 18px;
  padding: 10px 15px;
  border: 1px solid #ffffff80;
  border-radius: 999px;
  background: #241137e8;
  color: #fff;
  content: "Ver actividad  ↗";
  font-size: 13px;
  font-weight: 750;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}
.home-route .hero-photo-link:hover .hero-photo-frame::after,
.home-route .hero-photo-link:focus-visible .hero-photo-frame::after {
  opacity: 1;
  transform: translateY(0);
}
.home-route .hero-photo-link .hero-photo {
  transition: transform .28s ease;
}
.home-route .hero-photo-link:hover .hero-photo {
  transform: scale(1.015);
}
.home-route .hero-slide-meta {
  font-size: 14px;
}
.home-route .hero-slide-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.home-route .hero-slide-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid #ef91c9;
  border-radius: 50%;
  background: #ffffff18;
  color: #ff9bd0;
}
.home-route .hero-slide-icon .icon {
  width: 17px;
  height: 17px;
}
.home-route .hero-slide-activity {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 5px 13px;
  border: 1px solid #ed299866;
  border-radius: 999px;
  background: #ed29991c;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .005em;
  line-height: 1.2;
}

.calendar-section .label-pill {
  border-color: #edd1e2;
  background: #fff5fa;
  color: #76224e;
}
.calendar-section .label-pill:before {
  background: #df258d;
  box-shadow: 0 0 0 3px #df258d20;
}
.filter-chip input {
  accent-color: #c41d7b;
}
.filter-chip:hover {
  border-color: #dc82b5;
}
.filter-chip:has(input:checked) {
  border-color: #e8a5ca;
  background: #fff3f9;
  color: #64224a;
  box-shadow: inset 3px 0 #d82b8d;
}
.filter-chip:has(input:checked) .icon {
  background: #fbe3f0;
  color: #b71d72;
}
.filters .filter-actions .text-button:hover {
  border-color: #df83b6;
  background: #fff1f8;
  color: #a31966;
}
.day:hover {
  border-color: #e27bad;
  box-shadow: 0 5px 16px #c5217a1b;
}
.day[aria-pressed="true"] {
  border-color: #d82b8d;
  background: #fff3f9;
  box-shadow: inset 0 0 0 1px #d82b8d55, 0 5px 16px #c5217a12;
  color: #35203d;
}
.day[aria-pressed="true"] .day-number {
  color: #9e195f;
}
.session.session-card,
.session.session-card:has(details[open]) {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.session.session-card:hover {
  border-color: #e5a0c5;
  box-shadow: 0 8px 23px #45123e12;
}
.session.session-card > .price,
.session.session-card:has(details[open]) > .price {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  white-space: nowrap;
}
.session .price strong {
  color: inherit;
  font: inherit;
  white-space: nowrap;
}
.session .price small {
  display: inline;
  margin: 0;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}
.session.session-card > .button.primary,
.session.session-card:has(details[open]) > .button.primary {
  background: #df258d;
  border-color: #df258d;
  box-shadow: 0 3px 0 #8c185d22;
}
.session.session-card > .button.primary:hover,
.session.session-card:has(details[open]) > .button.primary:hover {
  background: #b71972;
  border-color: #b71972;
  box-shadow: 0 5px 13px #b7197230;
}
.session-explainer summary:hover,
.session-explainer[open] summary:hover {
  color: #aa1b6a;
}
.session-explainer .explainer-icon {
  border-color: #edc5dc;
  background: #fff5fa;
  color: #b21e70;
}
.session-explainer[open] .explainer-icon {
  border-color: #e7a1c7;
  background: #fdeaf4;
}
.next-options .button:hover {
  border-color: #e29ac1;
  background: #fff3f9;
  color: #9f1a65;
}
.calendar-foot .icon {
  color: #ba2476;
}

.activities-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(54px, 7vw, 88px) 0;
  border-top: 1px solid #efdde9;
  border-bottom: 1px solid #ead9e8;
  background: linear-gradient(125deg, #fbf7fc 0%, #f7eef6 58%, #fcf7fa 100%);
}
.activities-section::before {
  position: absolute;
  z-index: -1;
  top: -210px;
  right: -120px;
  width: 420px;
  height: 420px;
  border: 1px solid #edd8e7;
  border-radius: 50%;
  box-shadow: 0 0 0 18px #fff5, 0 0 0 42px #fff3;
  content: "";
  pointer-events: none;
}
.activities-section .wrap {
  position: relative;
  z-index: 1;
  max-width: 1240px;
}
.activities-section .section-heading {
  align-items: flex-end;
  margin-bottom: 27px;
}
.activities-section .eyebrow {
  color: #a21b67;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.activities-section .section-heading h2 {
  margin: 7px 0 0;
  color: #35203d;
  font: 400 clamp(2rem, 3.5vw, 2.85rem)/1.1 "DM Serif", Georgia, serif;
  letter-spacing: -.03em;
}
.activities-section .section-heading h2::after {
  display: block;
  width: 54px;
  height: 3px;
  margin-top: 13px;
  border-radius: 99px;
  background: #df258d;
  content: "";
}
.activities-section .section-heading > a {
  color: #812055;
  font-weight: 750;
}
.activities-section .section-heading > a:hover {
  color: #c21c7a;
}
.activity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 21px;
}
.activity-card {
  min-width: 0;
  padding: 10px 10px 17px;
  overflow: hidden;
  border: 1px solid #e7dce9;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 22px #3514420c;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.activity-card:hover {
  transform: translateY(-4px);
  border-color: #dd94bd;
  box-shadow: 0 15px 30px #70204c18;
}
.activity-card img {
  width: 100%;
  height: clamp(155px, 17vw, 215px);
  margin-bottom: 14px;
  border-radius: 11px;
  object-fit: cover;
}
.activity-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  color: #35203d;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}
.activity-card h3 span {
  display: grid;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  place-items: center;
  margin-left: auto;
  border-color: #eed3e2;
  background: #fff5fa;
  color: #a21b67;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.activity-card:hover h3 span {
  border-color: #df258d;
  background: #df258d;
  color: #fff;
}
.activity-card p {
  margin: 0;
  color: #6e5d73;
  font-size: 13px;
  line-height: 1.5;
}

footer {
  padding: 44px 24px 0;
  border-top: 4px solid #3c1859;
  background: linear-gradient(180deg, #fbf7fc 0%, #f3eaf5 100%);
  color: #35203d;
}
.footer-main {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 35px;
}
.footer-main .brand {
  overflow: visible;
}
.footer-main .brand img {
  mix-blend-mode: normal;
}
.footer-main p {
  color: #685670;
}
.footer-links strong {
  color: #4d1e61;
}
.footer-links strong::after {
  display: block;
  width: 28px;
  height: 2px;
  margin-top: 9px;
  border-radius: 99px;
  background: #df258d;
  content: "";
}
.footer-links a {
  color: #685670;
  transition: color .16s ease;
}
.footer-links a:hover {
  color: #b21e70;
  text-decoration: none;
}
.footer-bottom {
  max-width: none;
  margin: 0 -24px;
  padding: 15px 24px;
  border-top: 1px solid #ed299866;
  background: #241137;
  color: #f4eaf7;
}
.footer-bottom a {
  color: #ffb8df;
  text-decoration: none;
}
.footer-bottom a:hover {
  color: #fff;
  text-decoration: underline;
}

@media (max-width: 1050px) {
  .activity-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
}
@media (max-width: 760px) {
  .home-route .hero-photo-link {
    border-radius: 22px 42px 22px 22px;
  }
  .home-route .hero-photo-link .hero-photo-frame::after {
    right: 10px;
    bottom: 10px;
    padding: 7px 10px;
    font-size: 11px;
    opacity: 1;
    transform: translateY(0);
  }
  .home-route .hero-slide-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    text-align: center;
  }
  .home-route .hero-slide-title {
    justify-content: center;
    gap: 7px;
  }
  .home-route .hero-slide-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .home-route .hero-slide-icon .icon {
    width: 15px;
    height: 15px;
  }
  .home-route .hero-slide-activity {
    min-height: 30px;
    padding: 4px 10px;
    font-size: 12px;
  }
  .calendar-section .section-heading .label-pill {
    max-width: none;
    white-space: nowrap;
  }
  .session.session-card > .price,
  .session.session-card:has(details[open]) > .price {
    justify-content: flex-start;
    gap: 3px;
  }
  .session .price small {
    font-size: 9px;
  }
  .detail-facts span:last-child {
    white-space: nowrap;
  }
  .session.session-card > .button.primary,
  .session.session-card:has(details[open]) > .button.primary {
    font-size: 11px;
  }
  .activities-section {
    padding: 42px 0 48px;
  }
  .activities-section .section-heading {
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
  }
  .activities-section .section-heading h2 {
    font-size: 29px;
  }
  .activities-section .section-heading > a {
    font-size: 12px;
    white-space: nowrap;
  }
  .activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .activity-card {
    padding: 7px 7px 12px;
    border-radius: 13px;
  }
  .activity-card img {
    height: clamp(115px, 34vw, 155px);
    margin-bottom: 10px;
    border-radius: 8px;
  }
  .activity-card h3 {
    gap: 5px;
    margin-bottom: 5px;
    font-size: 12px;
  }
  .activity-card h3 span {
    width: 23px;
    height: 23px;
    flex-basis: 23px;
    font-size: 12px;
  }
  .activity-card p {
    font-size: 11px;
  }
  footer {
    padding: 31px 20px 0;
  }
  .footer-bottom {
    margin: 0 -20px;
    padding: 14px 20px;
  }
}
@media (max-width: 380px) {
  .home-route .hero-slide-activity {
    font-size: 11px;
  }
  .session.session-card > .price,
  .session.session-card:has(details[open]) > .price {
    gap: 2px;
    font-size: 14px;
  }
  .session .price small {
    font-size: 8px;
  }
  .activity-card h3 {
    font-size: 11px;
  }
  .activity-card h3 span {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-route .hero-photo-link *,
  .activity-card,
  .activity-card h3 span,
  .session.session-card,
  .header .nav-reserve {
    transition: none !important;
  }
}

/* Source: painting-choice.css */
.session.session-card.painting-open{border-color:#dcc5e5;background:#fffcff}
.painting-thumbs{grid-area:1/2;display:flex;width:98px;height:98px;overflow:hidden;border-radius:12px;border:1px solid #e9dfec;background:#f7f3f8}
.painting-thumbs img{width:50%;height:100%;object-fit:cover}
.painting-thumbs img+img{border-left:2px solid white}
.painting-open .session-design{max-width:32ch;color:#664d6e;font-weight:600}
.painting-open .price strong{font-size:.88em;white-space:nowrap}
.painting-explainer{display:block!important;padding:18px 22px!important}
.painting-explainer p{margin:0;max-width:68ch}
.painting-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 8px}
.painting-choice{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0 0 15px;text-align:left;border:1px solid #e7dce9;border-radius:14px;background:#fff;color:#392647;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
.painting-choice:hover{border-color:#e83994;box-shadow:0 9px 24px #53215e18;transform:translateY(-2px)}
.painting-choice:focus-visible{outline:3px solid #e83994;outline-offset:3px}
.painting-choice img{width:100%;height:140px;object-fit:cover;background:#f2eaf5}
.painting-choice-kind{margin:13px 13px 4px;color:#8b3070;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.painting-choice strong{margin:0 13px 7px;font-size:15px;line-height:1.3}
.painting-choice small{margin:auto 13px 0;color:#594863;font-size:12px}
@media(max-width:1060px){.painting-thumbs{width:76px;height:78px}}
@media(max-width:760px){.painting-thumbs{grid-area:1/2;width:60px;height:60px;border-radius:9px}.painting-choice-grid{gap:9px}.painting-choice img{height:105px}.painting-choice strong{font-size:13px}.painting-choice-kind{font-size:10px}.painting-open .session-design{max-width:none}}
@media(max-width:380px){.painting-thumbs{width:54px;height:56px}.painting-choice img{height:88px}}

/* Source: public-polish.css */
/* Public-site finish: one visual identity from the first screen through the landings. */
.header,.home-route .header,.inner-route .header{background:#241137;border:0;box-shadow:none}
.header-inner,.home-route .header-inner,.inner-route .header-inner{max-width:1240px;min-height:104px;padding-top:12px;padding-bottom:12px;border-bottom:1px solid #ffffff29}
.header .brand,.inner-route .header .brand{width:244px;height:78px;overflow:visible}
.header .brand img,.inner-route .header .brand img{width:244px;mix-blend-mode:normal}
.header nav a,.inner-route .header nav a{color:#f9f0fa;font-weight:650}
.header nav a:hover,.inner-route .header nav a:hover{color:#ff9cd5}
.header .nav-reserve,.inner-route .header .nav-reserve{background:#ed2998;border-color:#ed2998;color:#fff}
.header .nav-reserve:hover,.inner-route .header .nav-reserve:hover{background:#cd197e;border-color:#cd197e}
.home-route .home-stage{position:relative;overflow:visible;border-radius:0;border-bottom:4px solid #b82582}
.home-route .hero.wrap{padding-bottom:46px}
.home-route .hero-photo-link,.home-route .hero-photo-frame{border-radius:14px}
.home-route .hero-photo-link .hero-photo,
.home-route .hero-photo-link:hover .hero-photo,
.home-route .hero-photo-link:focus-visible .hero-photo{transform:none;transition:none}
.home-route .hero-photo-link .hero-photo-frame::after{background:#241137ed}

/* A faint decorative ring in the filter panel looked like an extra control. */
.calendar .filters:before{display:none;content:none}
.calendar .day[aria-pressed="true"]{background:#fff1f8;border-color:#ce2781;color:#42213f;box-shadow:inset 0 0 0 1px #ce278155,0 5px 16px #ce278112}
.calendar .day[aria-pressed="true"] .day-name,
.calendar .day[aria-pressed="true"] .day-number,
.calendar .day[aria-pressed="true"] .day-status{color:#54204b}
.calendar .day[aria-pressed="true"] .day-number{color:#9b125d}
.calendar .day[aria-pressed="true"]:focus-visible{outline:3px solid #b52077;outline-offset:2px}

/* Activity and information landings share the same continuous violet canvas. */
.inner-stage{position:relative;overflow:hidden;background:#241137;color:#fff;border-bottom:4px solid #b82582}
.inner-stage-inner{max-width:1240px;padding-top:38px;padding-bottom:55px}
.inner-stage .breadcrumb{margin:0 0 25px;color:#e5cde9}
.inner-stage .breadcrumb a{color:#f7dbf1}
.inner-stage .breadcrumb a:hover{color:#fff}
.inner-stage .back-link{color:#ffb7df;text-decoration-color:#ffb7df}
.inner-stage .eyebrow{color:#ffb1de}
.inner-stage h1,.inner-stage h2{color:#fff}
.inner-stage h1{font-size:clamp(3rem,5vw,5.2rem);line-height:.99;letter-spacing:-.045em}
.inner-stage p{color:#eddfef}
.inner-stage .note{color:#f8e8f2;background:#ffffff12;border-left-color:#f142a5}
.inner-stage .button.primary{background:#ed2998;border-color:#ed2998;color:#fff;border-radius:999px;box-shadow:0 10px 23px #0e041e40}
.inner-stage .button.primary:hover{background:#cd197e;border-color:#cd197e}
.inner-stage .detail-hero{gap:clamp(30px,5vw,75px);padding-bottom:0}
.inner-stage .detail-hero>img{height:clamp(330px,34vw,440px);border-radius:15px;box-shadow:0 22px 50px #10062044}
.inner-stage .detail-hero p{max-width:610px;line-height:1.6}
.inner-stage .detail-facts span{border-color:#ffffff4a;background:#ffffff13;color:#fff;border-radius:999px;padding:9px 14px}
.inner-stage .detail-hero .tiny{color:#d7c4dd}
.inner-stage .section-heading{max-width:790px;margin-bottom:27px}
.inner-stage .section-heading h1{margin:0 0 14px}
.inner-stage .section-heading p{font-size:18px}
.inner-stage .section-heading .eyebrow{margin-bottom:11px}
.inner-content.page-intro{padding-top:46px}
.inner-content.page-intro>.activity-grid{padding-top:0}
.inner-content .detail-body{padding-top:45px}
.text-stage .inner-stage-inner{padding-bottom:76px}
.text-stage h1{max-width:830px}
.text-stage p{max-width:800px;font-size:17px}
.gift-stage .inner-stage-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;align-items:center;padding-bottom:72px}
.gift-stage .inner-stage-copy p:not(.note){font-size:18px;max-width:540px}
.gift-stage .inner-stage-copy .note{max-width:480px;font-size:13px!important}
.gift-form-body{max-width:850px;padding-top:51px}
.gift-form-body .form-card{padding:32px;border-color:#e7d6e8;box-shadow:0 14px 40px #3415400d}
.gift-form-body .field small{line-height:1.5}
.gift-result-wrap{margin:36px auto 0;max-width:760px}
.gift-result-wrap>.eyebrow{margin-bottom:14px;color:#9f1b71}
.gift-demo-note{margin:13px 0 0;color:#6a526f;font-size:12px}
.gift-dedication{margin:18px 0 0;padding:0 18px;color:#40204d;font:italic 23px/1.4 'DM Serif',Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}

/* Artwork is shared by the home promotion, gift landing and personalized preview. */
.gift-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;width:100%;aspect-ratio:1.82;min-height:250px;overflow:hidden;padding:24px 28px;border:1px solid #e18bc5;border-radius:15px;background:#1d1136 url('assets/optimized/544031b8310deee4a123-1279.webp') center/cover no-repeat;background-image:image-set(url('assets/optimized/544031b8310deee4a123-640.webp') 1x,url('assets/optimized/544031b8310deee4a123-1279.webp') 2x);color:#fff;box-shadow:0 22px 40px #180d303a}
.gift-card:before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,#180d30dc 0%,#180d30a3 45%,#180d3012 100%)}
.gift-card-logo{display:block;width:36%;max-width:190px;height:auto;max-height:76px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 6px #120821bb)}
.gift-card-copy{min-width:0;margin-top:auto}
.gift-card-kicker{display:block;margin-bottom:7px;color:#ffd3ee;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.gift-card-copy strong{display:block;color:#fff;font:400 clamp(34px,4vw,60px)/.88 'DM Serif',Georgia,serif;letter-spacing:-.045em}
.gift-card-copy strong span{color:#ff57b2}
.gift-card-copy p{max-width:70%;margin:10px 0 0;color:#f8e8f5;font-size:12px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.gift-card-bottom{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-top:20px;padding-top:10px;border-top:1px solid #ffffff80;color:#fff;font-size:10px;font-weight:700;line-height:1.25}
.gift-card-bottom b{flex:none;color:#ffe0f2;font-size:13px;text-align:right}
.gift-card-result{min-height:370px;padding:32px 36px}
.gift-card-result .gift-card-logo{width:37%;max-width:220px}
.gift-card-result .gift-card-copy strong{font-size:clamp(44px,6vw,76px)}
.gift-card-result .gift-card-copy p{font-size:16px}
.gift-card-result .gift-card-bottom{font-size:12px}
.gift-card-result .gift-card-bottom b{font-size:24px}
.promo:first-child .gift-card-home{width:calc(100% + 76px);min-height:0;height:205px;aspect-ratio:auto;margin:0 -38px 28px;padding:16px 20px;border:0;border-radius:0;box-shadow:none}
.promo:first-child .gift-card-home .gift-card-logo{width:34%;max-width:140px;max-height:58px}
.promo:first-child .gift-card-home .gift-card-copy strong{font-size:38px}
.promo:first-child .gift-card-home .gift-card-copy p{font-size:10px;margin-top:6px}
.promo:first-child .gift-card-home .gift-card-bottom{display:none}

/* Keep the final action and practical links grounded in the header colour. */
footer{border-top:4px solid #b82582;background:#241137;color:#f8effa}
.footer-main p{color:#ddc7e1}
.footer-links strong{color:#fff}
.footer-links a{color:#e7d3eb}
.footer-links a:hover{color:#ffa8d8}
.footer-bottom{border-top:1px solid #ffffff32;background:#211032;color:#dac6df}
.footer-bottom a{color:#ffafd8}
.footer-bottom a:hover{color:#fff}

@media(max-width:1050px){
 .header-inner,.home-route .header-inner,.inner-route .header-inner{min-height:88px}
 .header .brand,.inner-route .header .brand{width:194px;height:65px}
 .header .brand img,.inner-route .header .brand img{width:196px}
 .inner-stage-inner{padding-top:30px;padding-bottom:44px}
 .gift-stage .inner-stage-inner{gap:28px}
}
@media(max-width:760px){
 .header-inner,.home-route .header-inner,.inner-route .header-inner{min-height:74px;padding:7px 20px}
 .header .brand,.inner-route .header .brand{width:172px;height:58px}
 .header .brand img,.inner-route .header .brand img{width:174px}
 .header .nav-reserve,.inner-route .header .nav-reserve{display:none}
 .menu-button,.inner-route .menu-button{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #f49aca;border-radius:50%;color:#fff;font-size:22px}
 .header nav,.inner-route .header nav{background:#241137;border-bottom:1px solid #ffffff30;box-shadow:0 12px 22px #1e0b2d38}
 .header nav a,.inner-route .header nav a{font-size:16px;color:#fff}
 .home-route .home-stage{border-radius:0}
 .home-route .hero.wrap{padding-bottom:25px}
 .home-route .hero-photo-link,.home-route .hero-photo-frame{border-radius:10px}
 .inner-stage-inner{padding:24px 20px 37px}
 .inner-stage .breadcrumb{margin-bottom:20px}
 .inner-stage h1{font-size:clamp(2.65rem,10vw,4.1rem)}
 .inner-stage .detail-hero{display:flex;flex-direction:column;gap:23px}
 .inner-stage .detail-hero>img{order:0;width:100%;height:auto;max-height:340px;object-fit:cover}
 .inner-stage .detail-hero p{font-size:15px}
 .inner-stage .detail-facts{margin:18px 0}
 .inner-stage .section-heading p{font-size:15px}
 .inner-content.page-intro{padding-top:30px}
 .inner-content .detail-body{padding-top:26px}
 .text-stage .inner-stage-inner{padding-bottom:46px}
 .gift-stage .inner-stage-inner{grid-template-columns:1fr;gap:22px;padding-bottom:39px}
 .gift-stage .inner-stage-copy p:not(.note){font-size:15px}
 .gift-form-body{padding-top:31px}
 .gift-form-body .form-card{padding:20px}
 .gift-card-stage{min-height:245px;aspect-ratio:auto;padding:19px 21px}
 .gift-card-result{min-height:270px;padding:21px 23px}
 .gift-card-result .gift-card-copy strong{font-size:44px}
 .gift-card-result .gift-card-bottom b{font-size:17px}
 .promo:first-child .gift-card-home{width:calc(100% + 46px);height:190px;margin:0 -23px 23px}
 footer{padding:31px 20px 0}
 .footer-bottom{margin:0 -20px;padding:14px 20px}
}
@media(max-width:380px){
 .header-inner,.home-route .header-inner,.inner-route .header-inner{padding-left:14px;padding-right:14px}
 .header .brand,.inner-route .header .brand{width:150px}
 .header .brand img,.inner-route .header .brand img{width:151px}
 .gift-card-stage{padding:17px}
 .gift-card-copy strong{font-size:36px}
 .gift-card-copy p{max-width:90%}
 .gift-card-bottom{font-size:8px}
 .gift-card-result .gift-card-copy strong{font-size:39px}
}
@media(prefers-reduced-motion:reduce){.home-route .hero-photo-link .hero-photo{transition:none}}
/* Tarjeta regalo dentro del recorrido de reserva */
.gift-code-area{margin:14px 0 18px}.gift-code-toggle{display:inline-flex;align-items:center;gap:9px;padding:7px 0;border:0;background:transparent;color:#6f347d;font:inherit;font-size:.88rem;font-weight:750;cursor:pointer}.gift-code-toggle:hover{color:#b6298d;text-decoration:underline;text-underline-offset:3px}.gift-code-toggle:focus-visible{outline:3px solid #ef52a7;outline-offset:3px;border-radius:5px}.gift-code-panel{margin-top:10px;padding:14px 15px;border:1px solid #e8dce9;border-radius:12px;background:#fcf9fc}.gift-code-panel .field{display:block;margin:0 0 8px;color:#3d2056;font-size:.84rem;font-weight:750}.gift-code-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.gift-code-controls input{width:100%;min-height:44px;padding:9px 12px;border:1px solid #cdbed4;border-radius:9px;background:#fff;color:#21132d;font:inherit;text-transform:uppercase}.gift-code-controls input:focus-visible{outline:3px solid #ef52a7;outline-offset:2px}.gift-code-status{min-height:20px;margin-top:8px;color:#6c5d72;font-size:.78rem;line-height:1.4}.gift-code-status .success{color:#2b6b47;font-weight:800}.gift-code-status .error{color:#951c48;font-weight:800}.booking-summary dl .gift-discount{color:#8d1b62}.booking-summary dl .gift-discount dd{font-weight:800}
@media(max-width:520px){.gift-code-controls{grid-template-columns:1fr}.gift-code-controls .button{width:100%}}

/* Consultas por correo */
.inquiry-honeypot{display:none!important}
.inquiry-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;margin:22px 0;color:var(--muted)}
.inquiry-consent input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--pink)}
.inquiry-result:not(:empty){margin-top:24px;overflow-wrap:anywhere}
.inquiry-result:focus-visible{outline:3px solid var(--pink);outline-offset:5px;border-radius:14px}
.inquiry-confirmation{background:#faf4fb;border:1px solid #e5cce9;border-radius:14px;padding:20px}
.inquiry-confirmation h3{margin:0 0 10px;color:#582466}
.inquiry-confirmation p:last-child{margin-bottom:0}
.contact-email{overflow-wrap:anywhere}
.contact-email small{color:var(--muted)}
.form-card[aria-busy=true] button{cursor:wait;opacity:.75}

.gift-purchase-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;margin:5px 0 15px;border-top:1px solid #eadfed;color:#582466}
.gift-purchase-total strong{font-size:24px;white-space:nowrap}
.gift-issued{margin-top:25px}
.gift-issued-code{padding:22px;background:#faf3fb;border:1px solid #e5cce9;border-radius:14px;overflow-wrap:anywhere}
.gift-issued-code strong{display:block;font-family:monospace;font-size:clamp(15px,3vw,23px);letter-spacing:1px;margin:9px 0;color:#582466}
.gift-issued-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}

/* Source: beta-calendar.css */
.beta-calendar-note {
  margin: 0 0 1.1rem;
  padding: .85rem 1rem;
  border: 1px solid #d6bfdc;
  border-left: 4px solid #a62776;
  border-radius: .75rem;
  color: #3d2450;
  background: #fbf5f9;
  font-size: .875rem;
  line-height: 1.5;
}
.beta-calendar-note strong { color: #80265d; }
.booking-summary small { line-height: 1.45; }

.time-filter:not(:empty) {
  margin-top: 15px;
  padding: 13px 15px 15px;
  border: 1px solid #eadce8;
  border-radius: 15px;
  background: #fcf8fb;
}
.time-filter-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 29px;
  margin-bottom: 9px;
}
.time-filter-label {
  color: #472350;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .015em;
}
.time-filter-hint {
  color: #79697d;
  font-size: 11px;
  font-weight: 600;
}
.time-reset {
  min-height: 32px;
  padding: 4px 2px;
  border: 0;
  background: transparent;
  color: #8f226d;
  font-size: 11px;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.time-reset:hover { color: #63184e; }
.time-options {
  display: grid;
  grid-template-columns: repeat(var(--time-count), minmax(0, 112px));
  gap: 9px;
}
.time-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #ddc9df;
  border-radius: 999px;
  background: #fff;
  color: #4d2a5a;
  box-shadow: 0 2px 6px #35144208;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .005em;
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.time-option .icon { width: 16px; height: 16px; }
.time-option:hover {
  border-color: #bd529b;
  background: #fdf0f8;
  color: #8e2169;
  box-shadow: 0 4px 10px #94317819;
}
.time-option[aria-pressed="true"] {
  border-color: #9e246f;
  background: #9e246f;
  color: #fff;
  box-shadow: 0 4px 12px #9e246f32;
}
.time-option[aria-pressed="true"]:hover {
  border-color: #83205f;
  background: #83205f;
  color: #fff;
}
.availability.low {
  border-color: #edc5dc;
  background: #fdf0f7;
  color: #87225f;
}
@media (max-width: 760px) {
  .time-filter:not(:empty) { margin-top: 11px; padding: 10px 11px 12px; border-radius: 12px; }
  .time-filter-heading { margin-bottom: 7px; }
  .time-options { grid-template-columns: repeat(var(--time-count), minmax(0, 1fr)); gap: 6px; }
  .time-option { min-width: 0; min-height: 44px; gap: 5px; padding: 7px 4px; font-size: 12px; }
  .time-option .icon { width: 14px; height: 14px; }
}

/* Un estado «Todas» explícito permite filtrar una actividad con un solo toque. */
.filter-mode {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 3px 0 11px;
}
.filter-mode .filter-hint {
  min-width: 0;
  margin: 0;
  font-size: 11px;
  line-height: 1.3;
}
.filter-all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  min-height: 35px;
  padding: 6px 11px;
  border: 1px solid #ded0e4;
  border-radius: 999px;
  background: #fff;
  color: #593069;
  font-size: 12px;
  font-weight: 800;
}
.filter-all:hover { border-color: #bf70a5; background: #fdf0f8; }
.filter-all[aria-pressed="true"] {
  border-color: #b64d92;
  background: #fbe6f2;
  color: #742357;
  box-shadow: inset 0 0 0 1px #ffffffb8;
}
.filter-all-mark { display: none; font-size: 13px; line-height: 1; }
.filter-all[aria-pressed="true"] .filter-all-mark { display: inline; }
.filter-chip:has(input:focus-visible), .filter-all:focus-visible {
  outline: 3px solid #b01882;
  outline-offset: 2px;
}
.mobile-filter-toggle .toggle-chevron,
.mobile-filter-toggle[aria-expanded="true"] .toggle-chevron {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 1px solid #d8c6e3;
  border-radius: 50%;
  background: #f0eaf7;
  color: #4d2c70;
  box-shadow: inset 0 1px 1px #ffffffc4;
  transform: none;
}
.mobile-filter-toggle .toggle-chevron svg {
  width: 16px;
  height: 16px;
  transition: transform .18s ease;
}
.mobile-filter-toggle[aria-expanded="true"] .toggle-chevron svg { transform: rotate(180deg); }
.mobile-filter-toggle:hover .toggle-chevron { border-color: #bd7aaa; background: #fbeaf5; color: #8c2467; }
@media (max-width: 760px) {
  .filter-mode { margin: 1px 0 9px; gap: 8px; }
  .filter-all { min-height: 34px; padding: 5px 10px; font-size: 11px; }
  .filter-mode .filter-hint { font-size: 10px; }
  .filter-actions { margin-top: 7px; }
}

/* Source: session-cards.css */
/* A clearer, image-led session card. The booking controls and data stay in place. */
.session.session-card.marte-session,
.session.session-card.marte-session:has(details[open]) {
  display: grid;
  grid-template-columns: clamp(132px, 20%, 176px) minmax(0, 1fr) minmax(136px, 150px);
  grid-template-rows: auto auto;
  gap: 2px 18px;
  align-items: start;
  min-width: 0;
  padding: 14px;
  overflow: hidden;
}
.marte-session > .session-media {
  grid-area: 1 / 1 / 3 / 2;
  width: 100%;
  height: 174px;
  overflow: hidden;
  border: 1px solid #e9deeb;
  border-radius: 12px;
  background: #f9f4f8;
}
.marte-session .session-media > .session-thumb {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
.marte-session .session-media > .artwork-thumb {
  padding: 0;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.08);
}
.marte-session .session-media > .blue-valley-thumb {
  object-position: center 14%;
}
.session.session-card.marte-session > .session-info,
.session.session-card.marte-session:has(details[open]) > .session-info {
  grid-area: 1 / 2;
  align-self: center;
  display: block;
  min-width: 0;
  padding: 2px 0 0;
}
.marte-session .session-time {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 24px;
  margin: 0 0 7px;
  padding: 3px 8px;
  border-radius: 7px;
  background: #f3eaf7;
  color: #632378;
  font: 800 12px/1.1 Manrope, Arial, sans-serif;
  letter-spacing: 0;
}
.session.session-card.marte-session .session-info h4,
.session.session-card.marte-session:has(details[open]) .session-info h4 {
  margin: 0 0 5px;
  color: #30203a;
  font-size: 17px;
  line-height: 1.23;
}
.marte-session .session-design,
.marte-session.painting-open .session-design {
  max-width: none;
  color: #61536a;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.4;
}
.marte-session .availability { margin-top: 6px; }
.marte-session > .session-cta {
  grid-area: 1 / 3;
  align-self: center;
  display: grid;
  justify-items: stretch;
  gap: 13px;
  min-width: 0;
}
.marte-session .session-cta > .price {
  grid-column: auto;
  grid-row: auto;
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  min-width: 0;
  color: #392046;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.marte-session .session-cta > .price strong { font: inherit; white-space: nowrap; }
.marte-session .session-cta > .price small {
  display: inline;
  margin: 0;
  color: #75697c;
  font-size: 10px;
  font-weight: 550;
  letter-spacing: 0;
  white-space: nowrap;
}
.marte-session.painting-open .session-cta > .price { font-size: 15px; }
.marte-session > .session-cta > .button {
  grid-column: auto;
  grid-row: auto;
  justify-self: stretch;
  width: 100%;
  min-height: 43px;
  margin: 0;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
.marte-session > .session-cta > .button.primary {
  border-color: #df258d;
  background: #df258d;
  color: #fff;
  box-shadow: 0 3px 0 #8c185d22;
}
.marte-session > .session-cta > .button.primary:hover {
  border-color: #b71972;
  background: #b71972;
}
.marte-session > .session-cta > .button:disabled {
  border-color: #e7dfe9;
  background: #f2eef3;
  color: #776d7b;
  box-shadow: none;
  opacity: 1;
}
.session.session-card.marte-session:has(details[open]) > .session-cta > .price,
.session.session-card.marte-session:has(details[open]) > .session-cta > .button {
  grid-column: auto;
  grid-row: auto;
  align-self: auto;
}
.session.session-card.marte-session > .session-explainer,
.session.session-card.marte-session:has(details[open]) > .session-explainer {
  grid-area: 2 / 2 / 3 / 4;
  min-width: 0;
  margin: 7px 0 0;
  border-top: 1px solid #eee5ef;
}
.marte-session .session-explainer summary,
.marte-session .session-explainer[open] summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 5px 0;
  gap: 10px;
  border: 0;
  background: transparent;
  color: #694d76;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}
.marte-session .session-explainer summary:hover,
.marte-session .session-explainer[open] summary:hover { color: #a51d69; background: transparent; text-decoration: none; }
.marte-session .session-explainer summary:focus-visible {
  outline: 3px solid #d52585;
  outline-offset: 2px;
  border-radius: 5px;
}
.marte-session .session-explainer .explainer-icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border: 1px solid #dccce4;
  border-radius: 50%;
  background: #f5eff8;
  color: #64407a;
}
.marte-session .session-explainer .explainer-icon::before {
  content: none;
}
.marte-session .session-explainer .explainer-icon svg {
  display: block;
  width: 14px;
  height: 14px;
  transition: transform .18s ease;
}
.marte-session .session-explainer[open] .explainer-icon svg {
  transform: rotate(180deg);
}
.marte-session .session-explainer summary:hover .explainer-icon {
  border-color: #e7a1c7;
  background: #fdeaf4;
  color: #a51d69;
}
.marte-session .session-explainer > .session-detail {
  display: block;
  margin-top: 7px;
  padding: 16px 18px;
  border: 1px solid #e9d9e8;
  border-radius: 11px;
  background: #fcf8fb;
  box-shadow: none;
}
.marte-session .session-detail .detail-description { margin: 0 0 12px; font-size: 13px; line-height: 1.55; }
.marte-session .session-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 11px; }
.marte-session .session-facts dd { font-size: 12px; }
.marte-session .session-detail ul { margin-bottom: 6px; font-size: 12px; }
.marte-session .painting-thumbs {
  display: flex;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.marte-session .painting-preview {
  position: relative;
  display: block;
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: #f3ebf6;
}
.marte-session .painting-preview + .painting-preview { border-left: 2px solid #fff; }
.marte-session .painting-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.marte-session .painting-preview > span {
  position: absolute;
  left: 6px;
  bottom: 7px;
  padding: 3px 6px;
  border-radius: 5px;
  background: #271431e8;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.1;
}
.marte-session .painting-detail-intro { margin: 0 0 13px; color: #57495e; font-size: 13px; line-height: 1.55; }
.marte-session .painting-kind-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.marte-session .painting-kind-grid:has(> :only-child) { grid-template-columns: 1fr; }
.marte-session .painting-kind-detail { min-width: 0; padding: 14px; border: 1px solid #ecdfeb; border-radius: 9px; background: #fff; }
.marte-session .painting-kind-heading { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.marte-session .painting-kind-heading .icon { width: 18px; height: 18px; color: #963177; }
.marte-session .painting-kind-heading h5 { margin: 0; color: #38213f; font-size: 14px; }
.marte-session .painting-kind-detail p { margin: 0 0 9px; color: #5c4d61; font-size: 12px; line-height: 1.5; }
.marte-session .painting-kind-detail .painting-kind-result { margin-bottom: 8px; }
.marte-session .painting-kind-detail .text-button { display: inline-flex; min-height: 30px; font-size: 12px; }
@media (max-width: 1020px) and (min-width: 761px) {
  .session.session-card.marte-session,
  .session.session-card.marte-session:has(details[open]) { grid-template-columns: 132px minmax(0, 1fr) 130px; gap: 2px 12px; padding: 11px; }
  .marte-session > .session-media { height: 158px; }
  .session.session-card.marte-session .session-info h4 { font-size: 15px; }
  .marte-session .session-cta > .price { font-size: 16px; }
}
@media (max-width: 760px) {
  .session.session-card.marte-session,
  .session.session-card.marte-session:has(details[open]) {
    grid-template-columns: minmax(94px, 112px) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 5px 12px;
    margin-top: 10px;
    padding: 11px;
    border-radius: 13px;
  }
  .marte-session > .session-media { grid-area: 1 / 1 / 3 / 2; height: 158px; border-radius: 10px; }
  .session.session-card.marte-session > .session-info,
  .session.session-card.marte-session:has(details[open]) > .session-info { grid-area: 1 / 2; align-self: end; padding: 0; }
  .marte-session .session-time { min-height: 22px; margin-bottom: 6px; font-size: 11px; }
  .session.session-card.marte-session .session-info h4,
  .session.session-card.marte-session:has(details[open]) .session-info h4 { font-size: 14px; line-height: 1.22; }
  .marte-session .session-design,
  .marte-session.painting-open .session-design { font-size: 11px; line-height: 1.35; }
  .marte-session > .session-cta { grid-area: 2 / 2; align-self: end; gap: 7px; }
  .marte-session .session-cta > .price,
  .marte-session.painting-open .session-cta > .price { justify-content: flex-start; font-size: 15px; }
  .marte-session .session-cta > .price small { font-size: 9px; }
  .marte-session > .session-cta > .button { min-height: 38px; font-size: 11px; }
  .session.session-card.marte-session > .session-explainer,
  .session.session-card.marte-session:has(details[open]) > .session-explainer { grid-area: 3 / 1 / 4 / 3; }
  .marte-session .session-explainer summary,
  .marte-session .session-explainer[open] summary { min-height: 35px; font-size: 11px; }
  .marte-session .session-explainer > .session-detail { padding: 13px; }
  .marte-session .painting-kind-grid { grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 380px) {
  .session.session-card.marte-session,
  .session.session-card.marte-session:has(details[open]) { grid-template-columns: 94px minmax(0, 1fr); gap: 5px 9px; padding: 9px; }
  .marte-session > .session-media { height: 150px; }
  .marte-session .session-cta > .price,
  .marte-session.painting-open .session-cta > .price { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .marte-session .session-explainer .explainer-icon svg { transition: none; }
}

/* Source: image-variants.css */
/* Each media slot now has a deliberate crop. Older catalog photos remain usable. */
.home-route .hero-photo-frame picture{display:block;width:100%;height:100%}
.activity-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#eee6f2}
.design-gallery figure img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.painting-choice img{height:auto;aspect-ratio:1;object-fit:cover}
.marte-session>.session-media{height:auto;aspect-ratio:1}
.marte-session .painting-thumbs{position:relative;display:block;overflow:hidden}
.marte-session .painting-preview{width:100%;height:100%;border:0}
.marte-session .painting-preview+.painting-preview{position:absolute;right:6px;bottom:6px;width:43%;height:auto;aspect-ratio:1;border:3px solid #fff;border-radius:8px;box-shadow:0 5px 15px #24113755}
.marte-session .painting-preview+.painting-preview>span{left:3px;bottom:3px;font-size:8px}
.inner-stage .detail-hero>.detail-photo{display:block;min-width:0;height:clamp(330px,34vw,440px);overflow:hidden;border-radius:15px;box-shadow:0 22px 50px #10062044}
.inner-stage .detail-hero>.detail-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){
  .inner-stage .detail-hero>.detail-photo{order:0;width:100%;height:auto;aspect-ratio:1}
  .session.session-card.marte-session,.session.session-card.marte-session:has(details[open]){grid-template-rows:auto auto auto}
  .marte-session>.session-media{grid-area:1/1/2/2;width:100%;height:auto;aspect-ratio:1}
  .session.session-card.marte-session>.session-info,.session.session-card.marte-session:has(details[open])>.session-info{grid-area:1/2;align-self:center}
  .marte-session>.session-cta{grid-area:2/1/3/3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:7px}
  .marte-session>.session-cta>.button{width:auto;min-width:126px;flex:0 0 auto}
  .session.session-card.marte-session>.session-explainer,.session.session-card.marte-session:has(details[open])>.session-explainer{grid-area:3/1/4/3}
}
@media(max-width:380px){.marte-session>.session-media{height:auto}.marte-session>.session-cta>.button{min-width:112px}}

/* Source: local-trust.css */
.local-trust{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.local-trust-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:44px}
.local-trust h2{font-family:'DM Serif',Georgia,serif;font-weight:400;font-size:clamp(1.8rem,2.6vw,2.4rem);letter-spacing:-.025em;margin-bottom:20px}
.local-trust p{font-size:15px;line-height:1.7}
.local-trust-photo{margin:0;min-width:0}
.local-trust-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:18px}
.local-trust-photo figcaption{font-size:12px;color:var(--muted);padding-top:10px}
.local-trust-links{display:flex;flex-wrap:wrap;gap:4px 22px}
.local-trust-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:650;color:var(--violet)}
.local-trust-reviews{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;margin-top:36px;padding:30px;background:var(--wash);border:1px solid var(--line);border-radius:18px}
.local-trust-reviews h2{font-size:28px;margin-bottom:10px}.local-trust-reviews p{margin-bottom:0}.local-trust-reviews .button{min-height:48px}
@media(max-width:760px){.local-trust{margin-top:42px;padding-top:28px}.local-trust-intro{grid-template-columns:1fr;gap:24px}.local-trust p{font-size:14px}.local-trust-reviews{grid-template-columns:1fr;gap:16px;padding:22px;margin-top:26px}.local-trust-reviews h2{font-size:25px}.local-trust-reviews .button{justify-self:start;max-width:100%;text-align:center}.local-trust-links{display:grid;gap:2px}}

/* Source: consent.css */
.marte-cookie-banner[hidden]{display:none}.marte-cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:1000;display:flex;align-items:center;gap:24px;max-width:1180px;margin:auto;padding:22px 26px;background:#fffaf4;color:#3c1859;border:1px solid #bfa3ca;border-radius:20px;box-shadow:0 8px 32px #25133630;font:14px/1.55 Manrope,sans-serif}.marte-cookie-banner strong{font-size:18px}.marte-cookie-banner p{margin:7px 0 0;max-width:720px}.marte-cookie-banner a,.marte-cookie-settings a{color:#67247e;text-decoration:underline}.marte-cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.marte-cookie-actions button{border:1px solid #6d287e;border-radius:24px;background:#fff;color:#4c205e;padding:11px 19px;white-space:nowrap;font:600 14px/1.3 Manrope,sans-serif;cursor:pointer;min-height:44px}.marte-cookie-actions button:hover{background:#f3e9f6}.marte-cookie-actions button:focus-visible,.marte-cookie-heading button:focus-visible,#marte-open-cookies:focus-visible{outline:3px solid #d52690;outline-offset:3px}.marte-cookie-settings{max-width:640px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #bfa3ca;border-radius:24px;background:#fffaf4;color:#3c1859;padding:28px;font:14px/1.6 Manrope,sans-serif}.marte-cookie-settings::backdrop{background:#25133675}.marte-cookie-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.marte-cookie-heading h2{margin:0;font:28px/1.2 'DM Serif Display',serif}.marte-cookie-heading button{border:0;background:transparent;color:#3c1859;font-size:28px;cursor:pointer;width:44px;height:44px}.marte-cookie-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid #d8c8df}.marte-cookie-option strong{display:block;font-size:15px}.marte-cookie-option p{margin:5px 0}.marte-cookie-option span span{display:block;margin-top:5px}.marte-cookie-option input{width:22px;height:22px;flex-shrink:0;accent-color:#67247e}.marte-cookie-detail{font-size:13px}#marte-open-cookies{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline}@media(max-width:900px){.marte-cookie-banner{display:block;padding:18px;bottom:10px;left:10px;right:10px}.marte-cookie-banner .marte-cookie-actions{margin-top:14px}.marte-cookie-actions button{flex:1}.marte-cookie-settings{padding:20px}.marte-cookie-heading h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.marte-cookie-settings{scroll-behavior:auto}}

/* Source: legal.css */
.legal-page .form-page{max-width:1120px}.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding:36px 0 64px}.legal-index{align-self:start;position:sticky;top:110px;display:grid;gap:7px;padding:22px;border:1px solid #e5d9e9;background:#faf7fb;border-radius:20px}.legal-index strong{font-size:13px;color:#6b5376;margin-bottom:8px}.legal-index a{padding:7px 0;color:#482557;font-size:14px;line-height:1.4;text-decoration:none}.legal-index a:hover{color:#aa075c;text-decoration:underline}.legal-index .legal-back{margin-top:12px;padding-top:18px;border-top:1px solid #e5d9e9;font-weight:700}.legal-reading{min-width:0;max-width:740px}.legal-section{scroll-margin-top:115px;margin-bottom:36px}.legal-reading h2,.legal-section h2{font-size:24px;line-height:1.25;margin:0 0 16px;color:#341a43}.legal-reading p,.legal-reading li,.legal-facts{font-size:16px;line-height:1.8;color:#51435a}.legal-reading p{margin:0 0 15px}.legal-reading a,.legal-contact a{color:#9b145b;text-underline-offset:4px}.legal-reading ul{padding-left:23px}.legal-reading li{margin-bottom:12px}.legal-facts{margin:0 0 20px}.legal-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);padding:10px 0;gap:12px;border-bottom:1px solid #eee5f0}.legal-facts dt{font-weight:700;color:#482557}.legal-facts dd{margin:0;overflow-wrap:anywhere}.legal-version{font-size:13px!important;padding-top:22px;border-top:1px solid #e5d9e9}.legal-table-wrap{overflow:auto;border:1px solid #e5d9e9;border-radius:16px;margin-bottom:20px}.legal-table-wrap table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6;table-layout:fixed}.legal-table-wrap caption{padding:16px;text-align:left;font-weight:700;color:#482557;background:#faf7fb}.legal-table-wrap th,.legal-table-wrap td{padding:13px;vertical-align:top;text-align:left;overflow-wrap:anywhere;border-top:1px solid #e5d9e9;color:#51435a}.legal-table-wrap thead th{background:#f4edf7;color:#341a43}.legal-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:36px 0}.legal-card{display:block;text-decoration:none;padding:30px;border:1px solid #e5d9e9;border-radius:22px;background:#fff;transition:border-color .15s,box-shadow .15s}.legal-card:hover{border-color:#e42a91;box-shadow:0 7px 24px #4720500b}.legal-card-title{display:flex;justify-content:space-between;gap:20px;color:#341a43;font-size:23px;font-weight:700}.legal-card-title>span{color:#b40965}.legal-card p{color:#66576d;line-height:1.7;margin:14px 0 20px;font-size:16px}.legal-card-action{font-size:14px;font-weight:700;color:#a2095d}.legal-contact{padding:26px 30px;background:#f7f1fa;border-left:3px solid #e42a91;border-radius:0 18px 18px 0;margin-bottom:56px}.legal-contact strong{color:#482557;font-size:19px}.legal-contact p{font-size:16px;line-height:1.75;overflow-wrap:anywhere}.footer-bottom nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 22px}.legal-page a:focus-visible{outline:3px solid #ad1468;outline-offset:4px;border-radius:4px}.legal-page .inner-content{padding-top:0}
@media(max-width:760px){.legal-layout{grid-template-columns:1fr;gap:26px;padding-top:24px}.legal-index{position:static;padding:18px;grid-template-columns:1fr 1fr;gap:4px 16px}.legal-index>strong,.legal-index .legal-back{grid-column:1/-1}.legal-index a{font-size:13px}.legal-reading h2{font-size:21px}.legal-reading p,.legal-reading li{font-size:15px}.legal-facts>div{grid-template-columns:1fr;gap:2px}.legal-cards{grid-template-columns:1fr;gap:14px;padding:24px 0}.legal-card{padding:24px}.legal-card-title{font-size:21px}.legal-contact{padding:22px}.footer-bottom nav{justify-content:flex-start;gap:10px 20px}.legal-table-wrap table{font-size:12px}.legal-table-wrap th,.legal-table-wrap td{padding:9px}.legal-section{scroll-margin-top:85px}}
