@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-400-normal-q-RKOgPK.woff2)format("woff2"),url(/assets/jost-latin-400-normal-C7S-3Ky6.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2)format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff)format("woff")}:root{--paper:#f8f5f0;--linen:#efe9e0;--white:#fff;--blush:#f2e4de;--sage-tint:#e4e9e1;--charcoal:#2a2826;--muted:#635d56;--subtle:#726c65;--sage:#566552;--sage-deep:#46543f;--gold:#b08d57;--gold-deep:#7f6232;--available:#3f6b45;--limited:#8a5a00;--booked:#a33a2f;--error:#a33a2f;--color-bg:var(--paper);--color-bg-alt:var(--linen);--color-surface:var(--white);--color-text:var(--charcoal);--color-text-muted:var(--muted);--color-accent:var(--sage);--color-accent-hover:var(--sage-deep);--color-on-accent:var(--white);--color-line:#ddd5ca;--color-line-strong:#b9b0a4;--color-focus:var(--sage-deep);--font-heading:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-body:"Jost", "Avenir Next", "Segoe UI", system-ui, sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--text-xl:clamp(1.5rem, 1.3rem + .9vw, 2rem);--text-2xl:clamp(2rem, 1.6rem + 1.8vw, 3rem);--text-3xl:clamp(2.5rem, 1.8rem + 3.2vw, 4.5rem);--leading-tight:1.1;--leading-snug:1.3;--leading-body:1.65;--tracking-wide:.16em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--section-padding:clamp(4rem, 2.5rem + 6vw, 8rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--width-text:40rem;--width-content:72rem;--width-wide:90rem;--radius-sm:2px;--radius-md:4px;--radius-pill:999px;--shadow-soft:0 1px 2px #2a28260a, 0 8px 24px #2a28260f;--shadow-lift:0 2px 4px #2a28260d, 0 16px 40px #2a28261a;--ease:cubic-bezier(.22, .61, .36, 1);--duration:.22s;--tap-target:44px}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease), transform var(--duration) var(--ease);border:1px solid #0000;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn--secondary{border-color:var(--color-text);color:var(--color-text);background:0 0}.btn--secondary:hover{background:var(--color-text);color:var(--paper)}.btn--light{background:var(--paper);color:var(--charcoal)}.btn--light:hover{background:var(--white);color:var(--charcoal)}.btn--outline-light{border-color:var(--paper);color:var(--paper);background:0 0}.btn--outline-light:hover{background:var(--paper);color:var(--charcoal)}.btn--block{width:100%}.btn-link{min-height:var(--tap-target);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:.45em;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:500;text-decoration-thickness:1px;display:inline-flex}.btn-link:hover{color:var(--color-accent-hover)}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-6);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease)}.card--interactive{cursor:pointer}.card--interactive:hover{box-shadow:var(--shadow-soft);border-color:var(--color-line-strong)}.card--selected,.card[aria-checked=true],.card[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.card__title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.card__price{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-4)}.card__price small{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted)}.check-list{margin:0;padding:0;list-style:none}.check-list li{padding-left:var(--space-5);margin-bottom:var(--space-2);font-size:var(--text-sm);position:relative}.check-list li:before{content:"";background:var(--gold);width:6px;height:6px;position:absolute;top:.7em;left:0;transform:rotate(45deg)}.badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.04em;background:var(--linen);color:var(--color-text);font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge--plain:before{display:none}.badge--available{background:var(--sage-tint);color:var(--available)}.badge--limited{color:var(--limited);background:#f6ead3}.badge--booked{background:var(--blush);color:var(--booked)}.field{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.field label,.field legend{font-size:var(--text-sm);font-weight:500}.field .hint{font-size:var(--text-xs);color:var(--color-text-muted)}.input,.select,.textarea{width:100%;min-height:var(--tap-target);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted)}.input:focus,.input:focus-within,.select:focus,.textarea:focus{border-color:var(--color-focus);outline:none;box-shadow:0 0 0 3px #46543f40}.textarea{resize:vertical;min-height:8rem}.select{appearance:none;padding-right:var(--space-7);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232a2826' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center}.field--error .input,.field--error .select,.field--error .textarea,[aria-invalid=true]{border-color:var(--error)}.field-error{gap:var(--space-2);font-size:var(--text-xs);color:var(--error);font-weight:500;display:flex}.choice{align-items:center;gap:var(--space-3);min-height:var(--tap-target);font-size:var(--text-sm);cursor:pointer;display:flex}.choice input{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0;margin:0}.rimg{aspect-ratio:var(--ratio);background:var(--linen);display:block;position:relative;overflow:hidden}.rimg:before{content:"";background:var(--placeholder) center / cover no-repeat;filter:blur(16px);transition:opacity .6s var(--ease) .2s;position:absolute;inset:-24px}.rimg img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s var(--ease);position:absolute;inset:0}.rimg.is-loaded img{opacity:1}.rimg.is-loaded:before{opacity:0}@media (prefers-reduced-motion:reduce){.rimg:before,.rimg img{transition:none}}.filter-chip{min-height:var(--tap-target);padding:var(--space-2) var(--space-5);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);font-size:var(--text-sm);letter-spacing:.04em;cursor:pointer;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0}.filter-chip:hover{border-color:var(--charcoal)}.filter-chip[aria-pressed=true]{background:var(--charcoal);border-color:var(--charcoal);color:var(--paper)}.rimg--priority img{opacity:1;transition:none}.hero{min-height:min(100svh - 3rem,56rem);color:var(--paper);isolation:isolate;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}@media (width>=768px){.hero{min-height:min(100svh - 2.5rem,56rem)}}.hero__image.rimg{z-index:-2;aspect-ratio:auto;position:absolute;inset:0}.hero__image img{object-position:50% 60%}.hero__shade{z-index:-1;background:linear-gradient(#1615149e 0%,#16151426 22%,#16151473 40%,#161514b8 70%,#161514d9 100%);position:absolute;inset:0}@media (width>=768px){.hero__shade{background:linear-gradient(90deg,#16151499 0%,#16151440 45%,#16151400 70%),linear-gradient(#16151480 0%,#1615140d 20%,#16151440 50%,#161514b3 100%)}}.hero__nav{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-3);display:flex}.hero__nav ul{gap:var(--space-1) var(--space-5);margin:0;padding:0;list-style:none;display:flex}.hero__nav a{min-height:var(--tap-target);color:var(--paper);font-size:var(--text-sm);letter-spacing:.06em;align-items:center;text-decoration:none;display:inline-flex}.hero__nav a:hover{color:var(--white);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.hero__brand{font-family:var(--font-heading);font-size:var(--text-xl)!important;letter-spacing:0!important}.hero__nav-optional{display:none}@media (width>=900px){.hero__nav-optional{display:block}}.hero :focus-visible{outline-color:var(--paper)}.hero__content{padding-bottom:clamp(3rem,2rem + 5vw,6rem)}.hero .eyebrow{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--paper);background:#1615149e;display:inline-block}.hero__title{max-width:14ch;margin-bottom:var(--space-4);text-shadow:0 2px 24px #00000040;font-weight:500}.hero__lead{max-width:34rem;font-size:var(--text-lg);color:#f3eee6;margin-bottom:var(--space-6)}.hero__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.about__inner{gap:var(--space-7);align-items:center;display:grid}@media (width>=768px){.about__inner{gap:var(--space-8);grid-template-columns:minmax(12rem,18rem) minmax(0,1fr)}}.about__avatar{text-align:center;max-width:16rem;margin:0 auto}.avatar{width:100%;height:auto;margin-bottom:var(--space-3)}.about__facts{gap:var(--space-2);margin:var(--space-5) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.about__facts li{padding:var(--space-1) var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);font-size:var(--text-sm)}.testimonials__note{color:#cfc7bc;font-size:var(--text-sm)}.testimonials__list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.testimonials__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.testimonial{height:100%;padding:var(--space-6) var(--space-5);border-radius:var(--radius-md);border:1px solid #f8f5f02e;margin:0}.testimonial__label{color:var(--paper);background:#f8f5f01f}.testimonial blockquote{margin:var(--space-4) 0}.testimonial blockquote p{font-family:var(--font-heading);font-size:var(--text-xl);font-style:italic;line-height:var(--leading-snug)}.testimonial figcaption{font-weight:500}.testimonial figcaption span{font-weight:400;font-size:var(--text-sm);color:#cfc7bc;display:block}.faq{border-top:1px solid var(--color-line-strong)}.faq__item{border-bottom:1px solid var(--color-line-strong)}.faq__item summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--tap-target);padding:var(--space-4) 0;cursor:pointer;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__question{font-size:var(--text-lg);font-family:var(--font-body);letter-spacing:0;margin:0;font-weight:500}.faq__icon{flex-shrink:0;width:14px;height:14px;position:relative}.faq__icon:before,.faq__icon:after{content:"";background:var(--gold-deep);width:14px;height:1.5px;transition:transform var(--duration) var(--ease);position:absolute;top:50%;left:0}.faq__icon:after{transform:rotate(90deg)}.faq__item[open] .faq__icon:after{transform:rotate(0)}.faq__item p{margin:0 0 var(--space-5);color:var(--color-text-muted)}.site-footer{padding:var(--space-8) 0 var(--space-6);background:var(--charcoal);color:var(--linen);font-size:var(--text-sm)}.site-footer__grid{gap:var(--space-6);display:grid}@media (width>=600px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.site-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.site-footer__name{margin-bottom:var(--space-2);font-family:var(--font-heading);font-size:var(--text-xl);color:var(--paper)}.site-footer__tagline{color:#cfc7bc}.site-footer__heading{margin-bottom:var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--gold);font-weight:500}.site-footer__links,.site-footer__social{margin:0;padding:0;list-style:none}.site-footer__social li{padding:var(--space-1) 0}.site-footer a{min-height:var(--tap-target);color:var(--linen);align-items:center;display:inline-flex}.site-footer a:hover{color:var(--white)}.site-footer :focus-visible{outline-color:var(--paper)}.site-footer__muted{color:#b5ada2}.site-footer__bottom{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-5);margin-top:var(--space-7);padding-top:var(--space-5);color:#b5ada2;border-top:1px solid #f8f5f026;flex-wrap:wrap;display:flex}.site-footer__bottom p{margin:0}.credits__header{margin:var(--space-5) 0 var(--space-7)}.credits__group{margin-bottom:var(--space-7)}.credits__group h2{font-size:var(--text-xl)}.credits__list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.credits__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.credits__item{gap:var(--space-4);align-items:center;display:flex}.credits__thumb{flex-shrink:0;width:72px}.credits__thumb .rimg{aspect-ratio:1;border-radius:var(--radius-sm)}.credits__alt{margin-bottom:var(--space-1);font-size:var(--text-sm)}.credits__item p:last-child{margin:0}.credits__item a{margin-block:-10px;padding-block:10px;display:inline-block}.credits__plain{padding-left:var(--space-5)}.credits__plain li{margin-bottom:var(--space-2)}.mobile-cta{right:var(--gutter);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:40;box-shadow:var(--shadow-lift);border-radius:var(--radius-pill);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease), background-color var(--duration) var(--ease);position:fixed;transform:translateY(1rem)}.mobile-cta.is-visible{opacity:1;pointer-events:auto;transform:none}@media (width>=768px){.mobile-cta{display:none}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:3.5rem;scroll-padding-bottom:7rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img,picture,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;line-height:var(--leading-tight);letter-spacing:-.01em;margin:0 0 var(--space-4);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl);line-height:var(--leading-snug)}h4{font-size:var(--text-lg);font-family:var(--font-body);letter-spacing:0;font-weight:500}p{margin:0 0 var(--space-4);text-wrap:pretty}em.serif,.serif-italic{font-family:var(--font-heading);font-style:italic;font-weight:400}a{color:var(--color-accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover)}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--gold-deep);margin-bottom:var(--space-3);font-weight:500;display:block}.lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:var(--width-text)}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.ornament{align-items:center;gap:var(--space-3);color:var(--gold);margin:var(--space-6) auto;max-width:12rem;display:flex}.ornament:before,.ornament:after{content:"";background:currentColor;flex:1;height:1px}.ornament>span{background:currentColor;width:6px;height:6px;transform:rotate(45deg)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--width-content);padding-inline:var(--gutter);margin-inline:auto}.container--wide{max-width:var(--width-wide)}.container--text{max-width:calc(var(--width-text) + 2 * var(--gutter))}.section{padding-block:var(--section-padding)}.section--alt{background:var(--color-bg-alt)}.section--dark{background:var(--charcoal);color:var(--paper)}.section--dark .eyebrow{color:var(--gold)}.section-header{text-align:center;max-width:var(--width-text);margin:0 auto var(--space-7)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.demo-banner{z-index:100;background:var(--charcoal);text-align:center;font-size:var(--text-xs);letter-spacing:.02em;position:sticky;top:0}.demo-banner a{min-height:var(--tap-target);padding:var(--space-1) var(--space-4);color:var(--paper);text-underline-offset:2px;justify-content:center;align-items:center;text-decoration:underline;display:flex}.demo-banner a:focus-visible{outline-color:var(--paper)}.page-loading{min-height:100vh}.gallery__filters{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.gallery__grid{--row-height:118px;--gap:6px;gap:var(--gap);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.gallery__grid:after{content:"";flex-grow:999999}@media (width>=600px){.gallery__grid{--row-height:220px;--gap:8px}}@media (width>=1024px){.gallery__grid{--row-height:300px;--gap:10px}}.gallery__item{flex-grow:calc(var(--ratio) * 100);flex-basis:calc(var(--ratio) * var(--row-height));min-width:0}.gallery__tile{cursor:zoom-in;border-radius:var(--radius-sm);background:0 0;border:0;width:100%;padding:0;display:block;overflow:hidden}.gallery__tile .rimg img{transition:opacity .5s var(--ease), transform .7s var(--ease)}@media (hover:hover){.gallery__tile:hover .rimg img{transform:scale(1.03)}}.gallery__tile:focus-visible{outline-offset:2px}.inquiry-form__row{gap:0 var(--space-5);display:grid}@media (width>=600px){.inquiry-form__row{grid-template-columns:repeat(2,minmax(0,1fr))}}.inquiry-form__key{margin-bottom:var(--space-5)}.field__req{color:var(--error)}.field__opt{font-weight:400;font-size:var(--text-xs);color:var(--color-text-muted)}.inquiry-form__privacy{margin-top:var(--space-3);text-align:center}.inquiry-plan{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-5);border-left:3px solid var(--gold);display:flex}.inquiry-plan p{margin-bottom:var(--space-1)}.inquiry-plan__title{font-family:var(--font-heading);font-size:var(--text-xl)}.inquiry-plan__warn{color:var(--limited)}.inquiry-confirm{text-align:center;padding:var(--space-6) var(--space-5)}.inquiry-confirm:focus{outline:none}.inquiry-confirm:focus-visible{outline:2px solid var(--color-focus)}.inquiry-confirm h3{margin-bottom:var(--space-2)}.inquiry-confirm h4{margin:var(--space-6) 0 var(--space-3);text-align:left}.inquiry-confirm .ornament{margin-top:0}.inquiry-confirm__details{gap:var(--space-2);margin:var(--space-5) 0 0;text-align:left;display:grid}.inquiry-confirm__details div{justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line);font-size:var(--text-sm);display:flex}.inquiry-confirm__details dt{color:var(--color-text-muted)}.inquiry-confirm__details dd{text-align:right;margin:0}.inquiry-confirm .summary__lines,.inquiry-confirm .summary__note{text-align:left}.inquiry-confirm__actions{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.calendar{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-1);max-width:26rem}@media (width>=600px){.calendar{padding:var(--space-5)}}.calendar__header{padding-inline:var(--space-2);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.calendar__title{font-family:var(--font-heading);font-size:var(--text-xl);margin:0;font-weight:500}.calendar__nav{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--color-line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.calendar__nav:hover:not(:disabled){border-color:var(--charcoal)}.calendar__nav:disabled{opacity:.35;cursor:not-allowed}.calendar__grid{border-collapse:collapse;table-layout:fixed;width:100%}.calendar__grid th{padding-bottom:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.calendar__grid td{text-align:center;padding:0}.calendar__day{width:100%;min-width:var(--tap-target);min-height:var(--tap-target);aspect-ratio:1;border-radius:var(--radius-sm);max-height:3.25rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin:0 auto;padding:0;display:flex;position:relative}.calendar__dot{background:0 0;border-radius:50%;width:5px;height:5px}.calendar__day.is-available .calendar__dot{background:var(--available)}.calendar__day.is-limited .calendar__dot{background:var(--limited)}.calendar__day.is-booked{color:var(--subtle)}.calendar__day.is-booked .calendar__num{-webkit-text-decoration:line-through #726c6599;text-decoration:line-through #726c6599}.calendar__day.is-closed{color:#b9b0a4;cursor:default}.calendar__day:hover:not(:disabled){border-color:var(--color-line-strong)}.calendar__day[aria-current=date] .calendar__num{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);font-weight:500}.calendar__day[aria-pressed=true]{background:var(--charcoal);color:var(--paper);border-color:var(--charcoal)}.calendar__day[aria-pressed=true] .calendar__num{text-decoration-color:#f8f5f099}.calendar__day[aria-pressed=true].is-booked{background:var(--booked);border-color:var(--booked)}.calendar__legend{gap:var(--space-4);margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;padding:0;list-style:none;display:flex}.calendar__legend li{align-items:center;gap:var(--space-2);display:flex}.calendar__legend li:before{content:"";border-radius:50%;width:7px;height:7px}.calendar__legend .is-available:before{background:var(--available)}.calendar__legend .is-limited:before{background:var(--limited)}.calendar__legend .is-booked:before{background:var(--subtle);border-radius:0;width:14px;height:1px}@media (width>=600px){.calendar__grid td{padding:2px}}.plan__layout{gap:var(--space-7);display:grid}@media (width>=1024px){.plan__layout{grid-template-columns:minmax(0,1fr) 22rem;align-items:start}.plan__summary{position:sticky;top:4.5rem}}.plan__steps{gap:var(--space-7);min-width:0;display:grid}.plan-step{border:0;min-width:0;margin:0;padding:0}.plan-step:disabled{opacity:.55}.plan-step__legend{margin:0 0 var(--space-5);padding:0}.plan-step__legend .plan-step__title{margin:0}.plan-step__title{align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500;line-height:var(--leading-snug);padding:0;display:flex}.plan-step__num{border:1px solid var(--gold);width:2rem;height:2rem;font-family:var(--font-body);font-size:var(--text-sm);color:var(--gold-deep);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.package-grid{gap:var(--space-4);display:grid}@media (width>=600px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.package-card{padding:var(--space-5);cursor:pointer;flex-direction:column;display:flex}.package-card:hover{border-color:var(--color-line-strong);box-shadow:var(--shadow-soft)}.package-card:has(input:checked){border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:#fbfcfa}.package-card:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}.package-card__name{font-family:var(--font-heading);font-size:var(--text-xl);line-height:var(--leading-snug);margin-bottom:var(--space-1)}.package-card .card__price{margin-bottom:var(--space-2)}.package-card__summary{margin-bottom:var(--space-4)}.addon-list,.zone-list{gap:var(--space-2);display:grid}.addon,.zone{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);transition:border-color var(--duration) var(--ease)}.addon.is-on{border-color:var(--color-accent)}.zone:has(input:checked){border-color:var(--color-accent)}.addon__row,.zone{align-items:flex-start;gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-4);cursor:pointer;display:flex}.addon__row input,.zone input{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0;margin:2px 0 0}.addon__text,.zone__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.addon__name,.zone__name{font-weight:500}.addon__price,.zone__fee{font-variant-numeric:tabular-nums;white-space:nowrap}.addon__price small{color:var(--color-text-muted)}.addon .stepper{padding:0 var(--space-4) var(--space-4) calc(var(--space-4) + 20px + var(--space-3))}.stepper{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.addon .stepper{margin-bottom:0}.stepper__label{font-size:var(--text-sm);font-weight:500}.stepper__controls{align-items:center;gap:var(--space-2);display:flex}.stepper__controls button{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--color-line-strong);background:var(--color-surface);cursor:pointer;border-radius:50%;font-size:1.25rem;line-height:1}.stepper__controls button:disabled{opacity:.4;cursor:not-allowed}.stepper__controls output{text-align:center;font-variant-numeric:tabular-nums;min-width:5.5rem}.date-step{gap:var(--space-5);display:grid}@media (width>=768px){.date-step{grid-template-columns:minmax(0,26rem) minmax(0,1fr);align-items:start}}.date-result__date{font-family:var(--font-heading);font-size:var(--text-xl);margin-bottom:var(--space-2)}.date-result__status{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.alternatives{margin-top:var(--space-4)}.alternatives__title{font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:500}.alternatives ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.alternative{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-target);padding:var(--space-2) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer;display:flex}.alternative:hover{border-color:var(--color-accent)}.summary{padding:var(--space-5)}.summary__title{font-size:var(--text-xl);margin-bottom:var(--space-4)}.summary__lines{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin-bottom:var(--space-3)}.summary__lines th,.summary__lines td{padding:var(--space-2) 0;border-bottom:1px solid var(--color-line);vertical-align:top}.summary__lines th{text-align:left;padding-right:var(--space-3);font-weight:400}.summary__lines td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.summary__detail{font-size:var(--text-xs);color:var(--color-text-muted);display:block}.summary__lines tfoot th,.summary__lines tfoot td{padding-top:var(--space-3);font-family:var(--font-heading);font-size:var(--text-xl);border-bottom:0;font-weight:500}.summary__note{padding:var(--space-2) var(--space-3);background:var(--blush);border-radius:var(--radius-sm)}.summary__date{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-3) 0;border-top:1px solid var(--color-line);display:flex}.summary__date>span:last-child{align-items:center;gap:var(--space-2);display:flex}.summary .btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.summary__hint{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.summary__demo{margin:var(--space-3) 0 0;font-size:var(--text-xs)}.plan-bar{z-index:50;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--gutter) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-line);transition:transform var(--duration) var(--ease);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%);box-shadow:0 -8px 24px #2a282614}.plan-bar.is-visible{transform:none}.plan-bar strong{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500}@media (width>=1024px){.plan-bar{display:none}}
