:root{--bg:#f6f3ee;--ink:#29251f;--sand:#c8b6a5;--line:#d6d0c6;--warm:#e9e2d8;--deep:#292720;--gold:#ab9280;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}section{scroll-margin-top:72px}.announcement{color:#f5efe7;letter-spacing:.14em;text-transform:uppercase;background:#36302a;justify-content:center;align-items:center;gap:13px;height:32px;font-size:9px;display:flex}.announcement span:first-child{font-weight:700}.announcement-dot{color:#bda18e}.announcement a{color:#e3c8b7;border-bottom:1px solid #af988a;padding-bottom:1px}.site-header{z-index:20;color:#fff;justify-content:space-between;align-items:center;height:94px;padding:0 5.3%;transition:height .25s,background .25s;display:flex;position:absolute;top:32px;left:0;right:0}.site-header.scrolled{height:74px;color:var(--ink);background:#f6f3eefa;position:fixed;top:0;box-shadow:0 1px 12px #1a150e0e}.wordmark{width:132px;line-height:.67;font:500 54px var(--serif);letter-spacing:-.055em;flex-direction:column;display:flex;position:relative}.wordmark small{font:400 13px var(--sans);letter-spacing:.36em;align-self:center;margin-top:8px;padding-left:8px}.desktop-nav{letter-spacing:.055em;align-items:center;gap:35px;margin-left:auto;margin-right:auto;font-size:11px;display:flex}.desktop-nav a{border-bottom:1px solid #0000;padding-bottom:5px}.desktop-nav a:hover{border-color:currentColor}.nav-book{text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;border:1px solid #ffffff96;gap:26px;padding:16px 21px;font-size:10px;display:inline-flex}.nav-book:hover{color:#211f1b;background:#fff}.site-header.scrolled .nav-book{border-color:var(--ink)}.site-header.scrolled .nav-book:hover{background:var(--ink);color:#fff}.hamburger{color:inherit;cursor:pointer;background:0 0;border:0;width:43px;height:43px;display:none}.hamburger span{background:currentColor;width:27px;height:1px;margin:8px 0;display:block}.mobile-nav[hidden]{display:none!important}.hero{background:#2b2b24;grid-template-columns:63% 37%;height:min(790px,100vh - 32px);min-height:630px;display:grid;position:relative;overflow:hidden}.hero-left,.hero-right{min-width:0;position:relative;overflow:hidden}.hero-image{object-fit:cover;width:100%;height:100%}.hero-left .hero-image{object-position:54% 58%}.hero-right .hero-image{object-position:50% 52%}.hero-shade{background:linear-gradient(90deg,#00000094,#00000036 88%),linear-gradient(#0000 40%,#00000042);position:absolute;inset:0}.hero-caption{z-index:2;color:#fff;width:min(620px,87%);position:absolute;top:49%;left:8.4%;transform:translateY(-38%)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:600}.eyebrow.light{color:#ecddd2}.eyebrow.dark{color:#736457}.hero-caption h1{font:400 clamp(65px,7vw,112px)/.83 var(--serif);letter-spacing:-.025em;margin:29px 0 27px}.hero-caption h1 em,.intro h2 em,.section-heading h2 em,.studio-info h3 em,.christmas h2 em,.booking h2 em{font-style:italic;font-weight:400}.hero-caption p{font:400 15px/1.85 var(--sans);color:#f6ebe1;margin:0 0 27px}.button{letter-spacing:.06em;justify-content:space-between;align-items:center;gap:24px;min-width:223px;padding:17px 23px;font-size:11px;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-white{color:#302923;background:#fffaf3}.button-white:hover{background:#e8d7c5}.button-dark{color:#fff;background:#302923}.button-dark:hover{background:#6f5647}.button-outline-white{color:#fff;border:1px solid #ede4dc}.button-outline-white:hover{color:#352e29;background:#fff}.hero-vertical{color:#e5dfd3;letter-spacing:.21em;z-index:2;font-size:9px;position:absolute;bottom:46px;left:5.2%}.hero-right-mark{font:400 clamp(75px,9vw,160px)/.67 var(--serif);color:#fff;text-shadow:0 4px 35px #0006;letter-spacing:-.06em;text-align:right;opacity:.85;position:absolute;bottom:90px;right:8%}.hero-photo-caption{letter-spacing:.17em;color:#fff;font-size:9px;position:absolute;bottom:45px;right:8%}.hero-scroll{z-index:5;letter-spacing:.2em;color:#fff;font-size:9px;position:absolute;bottom:20px;left:49%}.section-wrap{max-width:1800px;margin:0 auto;padding-left:8.3%;padding-right:8.3%}.intro{padding-top:150px;padding-bottom:105px}.intro-kicker{align-items:center;gap:16px;display:flex}.intro-kicker .line{background:#806e60;width:32px;height:1px}.intro-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:12%;margin-top:36px;display:grid}.intro h2,.section-heading h2,.booking h2{font:400 clamp(58px,6vw,94px)/.93 var(--serif);letter-spacing:-.036em;margin:0}.intro-copy{padding-top:24px}.intro-copy p,.section-heading p,.studio-info p,.booking-copy p{color:#655b52;font-size:14px;line-height:1.95}.intro-copy p:first-child{margin-top:0}.text-link{letter-spacing:.04em;border-bottom:1px solid #3b3530;gap:48px;margin-top:16px;padding:0 0 9px;font-size:11px;font-weight:600;display:inline-flex}.text-link span{font-size:16px;font-weight:400}.text-link:hover{color:#826451;border-bottom-color:#826451}.intro-bottom{border-top:1px solid var(--line);color:#a09488;letter-spacing:.15em;justify-content:space-between;gap:15px;margin-top:110px;padding-top:24px;font-size:10px;font-weight:600;display:flex}.studios{padding-top:78px;padding-bottom:155px}.section-heading{justify-content:space-between;align-items:end;gap:80px;margin-bottom:65px;display:flex}.section-heading h2{margin-top:19px;font-size:clamp(50px,5.4vw,78px)}.section-heading>p{max-width:350px;margin:0 0 8px}.studio-card{background:#eee9e1;grid-template-columns:58% 42%;min-height:730px;margin-bottom:75px;display:grid}.studio-card-two{background:#e8e1d7;grid-template-columns:42% 58%}.studio-photo-wrap{height:730px;position:relative;overflow:hidden}.studio-photo-wrap>img{object-fit:cover;width:100%;height:100%}.studio-card-one .studio-photo-wrap>img{object-position:50% 50%}.studio-card-two .studio-photo-wrap>img{object-position:52% 50%}.photo-index{letter-spacing:.2em;color:#fff;text-shadow:0 1px 8px #0009;font-size:10px;position:absolute;bottom:23px;left:28px}.studio-info{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(33px,5.2vw,82px) clamp(28px,4.5vw,70px) 45px;display:flex}.studio-info h3{font:400 clamp(75px,8vw,122px)/.9 var(--serif);letter-spacing:-.05em;margin:18px 0 30px}.studio-info p{max-width:390px;margin-top:0}.studio-mini{gap:13px;width:100%;margin:27px 0 26px;display:flex}.studio-mini img{object-fit:cover;aspect-ratio:1.45;max-width:46%;height:135px}.quote-strip{color:#eee8df;background:#2c2825;flex-direction:column;justify-content:center;align-items:center;gap:22px;height:300px;display:flex}.quote-strip p{font:italic 400 clamp(44px,5vw,77px)/1 var(--serif);text-align:center;margin:0}.quote-strip span{letter-spacing:.23em;color:#d9cabe;font-size:9px}.gallery{padding-top:140px;padding-bottom:155px}.gallery-heading{margin-bottom:30px}.gallery-filters{border-bottom:1px solid var(--line);gap:28px;margin-bottom:32px;display:flex}.gallery-filters button{cursor:pointer;color:#817366;letter-spacing:.07em;background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 0 15px;font-size:11px}.gallery-filters button.active{color:#302923;border-color:#3e352e;font-weight:700}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:row;gap:14px;display:grid}.gallery-item{cursor:zoom-in;aspect-ratio:3/4;background:#e7e0d6;border:0;padding:0;position:relative;overflow:hidden}.gallery-item:nth-child(7n+2),.gallery-item:nth-child(7n+6){aspect-ratio:3/4}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.gallery-item:hover img{transform:scale(1.06)}.gallery-label{color:#fff;letter-spacing:.13em;text-shadow:0 1px 12px #0008;font-size:9px;position:absolute;bottom:14px;left:15px}.gallery-zoom{color:#fff;text-shadow:0 1px 12px #0008;font-size:23px;position:absolute;top:13px;right:16px}.lightbox{color:#fff;background:#211e1bef;border:0;place-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:38px;overflow:hidden}.lightbox[open]{display:grid}.lightbox::backdrop{background:#110e0cea}.lightbox img{object-fit:contain;max-width:88vw;max-height:85vh}.lightbox p{font:12px var(--sans);text-align:center}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:40px;position:absolute;top:15px;right:22px}.christmas{color:#fbf8f3;background:#554239;grid-template-columns:39% 61%;gap:30px;padding:115px 8.3% 125px;display:grid;overflow:hidden}.christmas-heading{padding:70px 30px 0 0}.christmas h2{font:400 clamp(66px,6.2vw,98px)/.87 var(--serif);letter-spacing:-.04em;margin:32px 0}.christmas-heading p{color:#e0d3c9;max-width:360px;margin-bottom:30px;font-size:14px;line-height:1.9}.christmas-images{align-items:flex-start;gap:17px;display:flex}.christmas-images figure{width:50%;margin:0}.christmas-images figure:nth-child(2){margin-top:72px}.christmas-images img{object-fit:cover;width:100%;height:clamp(365px,43vw,620px)}.christmas-images figcaption{letter-spacing:.18em;color:#dfc9b9;margin-top:14px;font-size:9px}.pricing{padding-top:155px;padding-bottom:165px}.pricing-table{border-top:1px solid #71675d;width:100%}.pricing-table>div{border-bottom:1px solid var(--line);font:400 28px var(--serif);grid-template-columns:1fr 1fr;align-items:center;padding:21px 15px;display:grid}.pricing-table>div>strong{text-align:right;font-weight:400;font:400 39px var(--serif)}.pricing-table .price-header{font:600 10px var(--sans);letter-spacing:.15em;color:#796c61;padding:15px}.price-header span:last-child{text-align:right}.price-foot{justify-content:space-between;align-items:center;gap:25px;margin-top:37px;display:flex}.price-foot p{color:#817467;max-width:650px;font-size:12px;line-height:1.8}.booking{background:#e8e0d7;grid-template-columns:50% 50%;min-height:620px;display:grid}.booking-picture img{object-fit:cover;width:100%;height:100%}.booking-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 11%;display:flex}.booking h2{margin:23px 0 16px;font-size:clamp(63px,6vw,98px)}.booking-copy p{max-width:470px}.booking .button{margin:16px 0}.booking-copy .booking-note{letter-spacing:.13em;text-transform:uppercase;color:#7b6e61;margin-top:37px;font-size:9px}.footer{color:#f7f2ec;background:#2b2925;grid-template-columns:1fr 1fr;column-gap:20%;max-width:none;padding:105px 8.3% 32px;display:grid}.footer-brand{font:400 95px/.83 var(--serif);letter-spacing:-.065em}.footer-brand span{letter-spacing:-.035em;margin-left:10px;font-size:31px}.footer-left p{letter-spacing:.08em;color:#c3bab0;margin:38px 0 0;font-size:11px;line-height:2}.footer-right{justify-content:space-between;gap:45px;display:flex}.footer-right>div{flex-direction:column;align-items:flex-start;gap:17px;display:flex}.footer-right .eyebrow{color:#a8988b;margin:7px 0 14px}.footer-right a{color:#e9dfd3;font-size:13px}.footer-right a:hover{text-decoration:underline}.footer-bottom{color:#a5968a;letter-spacing:.13em;border-top:1px solid #655a53;grid-column:1/-1;justify-content:space-between;gap:20px;margin-top:105px;padding-top:25px;font-size:9px;display:flex}@media (max-width:1150px){.desktop-nav{gap:17px}.desktop-nav a{font-size:10px}.nav-book{gap:8px;padding:14px 15px}.wordmark{width:115px;font-size:49px}.studio-card,.studio-card-two{min-height:590px}.studio-photo-wrap{height:590px}.studio-info{padding:40px}.studio-info h3{font-size:86px}.christmas{grid-template-columns:42% 58%;padding-left:6%;padding-right:6%}.christmas-images img{height:450px}}@media (max-width:800px){.announcement{text-align:center;letter-spacing:.06em;gap:7px;height:36px;padding:0 10px;font-size:8px}.announcement span:first-child{display:none}.site-header{height:82px;padding:0 24px;top:36px}.site-header.scrolled{height:66px}.wordmark{font-size:47px}.desktop-nav,.nav-book{display:none}.hamburger{display:block}.mobile-nav{z-index:19;background:var(--bg);color:var(--ink);flex-direction:column;gap:20px;padding:24px 30px 32px;display:flex;position:fixed;top:66px;left:0;right:0;box-shadow:0 10px 22px #0002}.mobile-nav a{font-size:17px;font-family:var(--serif)}.hero{grid-template-columns:1fr;height:770px;min-height:0}.hero-left{height:100%}.hero-right{display:none}.hero-caption{width:87%;top:52%;left:7%;transform:translateY(-32%)}.hero-caption h1{font-size:clamp(68px,12vw,108px)}.hero-shade{background:linear-gradient(90deg,#1f1616a8,#1f16165e),linear-gradient(#0000 30%,#16141485)}.hero-scroll{display:none}.hero-vertical{left:7%}.section-wrap{padding-left:6%;padding-right:6%}.intro{padding-top:95px;padding-bottom:65px}.intro-grid{grid-template-columns:1fr;gap:24px}.intro h2,.section-heading h2{font-size:clamp(57px,9vw,84px)}.intro-copy{max-width:610px;padding:0}.intro-bottom{flex-wrap:wrap;gap:22px;margin-top:75px}.studios{padding-top:60px;padding-bottom:70px}.section-heading{margin-bottom:36px;display:block}.section-heading>p{max-width:590px;margin-top:30px}.studio-card,.studio-card-two{flex-direction:column;min-height:0;margin-bottom:35px;display:flex}.studio-photo-wrap{height:540px}.studio-card-two .studio-photo-wrap{order:0}.studio-card-two .studio-info{order:1}.studio-info{padding:38px 35px 50px}.studio-info h3{margin:17px 0;font-size:100px}.studio-mini img{height:115px}.quote-strip{height:210px}.gallery{padding-top:80px;padding-bottom:85px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.christmas{padding:84px 6% 94px;display:block}.christmas-heading{padding:0}.christmas h2{font-size:75px}.christmas-images{margin-top:55px}.christmas-images img{height:450px}.pricing{padding-top:85px;padding-bottom:100px}.booking{grid-template-columns:1fr}.booking-picture{height:430px}.booking-copy{padding:75px 7%}.footer{grid-template-columns:1fr;gap:58px;padding:80px 6% 25px}.footer-bottom{flex-wrap:wrap;gap:15px;margin-top:0;line-height:1.8}}@media (max-width:500px){.announcement{font-size:8px}.site-header{padding:0 19px}.hero{height:calc(100svh - 36px);min-height:645px;max-height:835px}.hero-left .hero-image{object-position:56% 50%}.hero-caption{width:88%;top:51%;left:8%}.hero-caption h1{margin:22px 0;font-size:clamp(65px,16vw,87px)}.hero-caption p{font-size:13px}.eyebrow{letter-spacing:.15em;font-size:9px}.hero-vertical{font-size:8px}.intro h2,.section-heading h2,.booking h2{font-size:clamp(55px,13vw,77px)}.intro-copy p,.section-heading p,.studio-info p,.booking-copy p{font-size:13px}.intro-bottom{letter-spacing:.11em;gap:12px 22px;font-size:8px}.studio-photo-wrap{height:415px}.studio-info{padding:35px 28px 40px}.studio-info h3{font-size:89px}.studio-mini img{height:110px}.quote-strip{height:180px}.quote-strip p{padding:0 10px;font-size:42px}.gallery-filters{gap:23px}.gallery-filters button{font-size:10px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:7px}.gallery-item{aspect-ratio:3/4}.gallery-label{font-size:8px;bottom:10px;left:7px}.gallery-zoom{font-size:18px}.christmas{padding:68px 6% 75px}.christmas h2{font-size:68px}.christmas-images{gap:10px;margin-top:45px}.christmas-images img{height:310px}.christmas-images figure:nth-child(2){margin-top:38px}.christmas-images figcaption{letter-spacing:.09em;font-size:8px}.pricing-table>div{font-size:25px}.pricing-table>div>strong{font-size:31px}.pricing-table .price-header{letter-spacing:.1em;font-size:8px}.price-foot{display:block}.price-foot .button{margin-top:22px}.booking-picture{height:360px}.booking-copy{padding:65px 7%}.footer-right{gap:20px}.footer-brand{font-size:77px}.footer-bottom{font-size:8px}.lightbox{padding:10px}.lightbox img{max-width:95vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item img,.button{transition:none}}.wordmark{flex-direction:row;justify-content:flex-start;align-items:center;width:132px;height:76px;display:flex}.wordmark img{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:50%;width:69px;height:69px;display:block}.site-header.scrolled .wordmark img{width:56px;height:56px}@media (max-width:800px){.wordmark{width:86px;height:68px}.wordmark img{width:62px;height:62px}.site-header.scrolled .wordmark img{width:54px;height:54px}.site-header:not(.scrolled)+.mobile-nav{top:118px}}.studio-info h3 .floor-number{font-family:var(--sans);letter-spacing:-.045em;font-variant-numeric:lining-nums;white-space:nowrap;vertical-align:.06em;font-size:.65em;font-style:normal;font-weight:400}.calendar-section{padding-top:128px;padding-bottom:150px;scroll-margin-top:80px}.calendar-heading{margin-bottom:42px}.calendar-demo-warning{color:#574c42;background:#ebe4da;border-left:3px solid #917a67;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;padding:18px 22px;display:flex}.calendar-demo-warning strong{letter-spacing:.13em;white-space:nowrap;font-size:10px}.calendar-demo-warning span{font-size:12px;line-height:1.65}.calendar-layout{background:#f9f6f1;border:1px solid #d2c9bd;grid-template-columns:minmax(0,1.13fr) minmax(290px,.87fr);display:grid}.calendar-controls{border-right:1px solid #d2c9bd;padding:43px clamp(21px,4vw,55px) 50px}.calendar-sidebar{background:#ede6de;padding:43px clamp(20px,3vw,45px) 44px}.calendar-field+.calendar-field{margin-top:43px}.calendar-label{letter-spacing:.15em;color:#76665a;margin-bottom:20px;font-size:10px;font-weight:600;display:block}.floor-switch,.duration-switch{gap:8px;display:flex}.floor-switch button,.duration-switch button{color:#55483e;cursor:pointer;background:#fdfbf8;border:1px solid #d8cfc4;transition:all .15s}.floor-switch button:hover:not(.selected),.duration-switch button:hover:not(.selected){border-color:#8d7564}.floor-switch button.selected,.duration-switch button.selected{color:#fff;background:#302923;border-color:#302923}.floor-switch button{flex:1;justify-content:center;align-items:center;gap:10px;padding:17px 12px;font-size:12px;display:flex}.floor-switch button span{font-family:var(--sans);font-size:20px}.duration-switch button{flex:1;padding:15px 8px;font-size:11px}.calendar-month-switch{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.calendar-month-switch h3,.calendar-sidebar h3{font:400 38px/.95 var(--serif);letter-spacing:-.02em;margin:0}.month-buttons{gap:5px;display:flex}.month-buttons button{cursor:pointer;color:#4e4036;background:0 0;border:1px solid #cfc5ba;width:37px;height:37px;font-size:18px}.month-buttons button:disabled{opacity:.25;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:5px;display:grid}.weekday{color:#8f8174;justify-content:center;align-items:center;height:32px;font-size:10px;display:flex}.empty-day{height:43px}.calendar-day{color:#4a3e34;cursor:pointer;background:#eee8df;border:1px solid #0000;height:43px;font-size:13px}.calendar-day:hover:not(:disabled){border-color:#8a7567}.calendar-day.selected{color:#fff;background:#392d26;border-color:#392d26}.calendar-day:disabled{color:#a69e97;cursor:not-allowed;background:#e1ddd7;text-decoration:line-through}.calendar-legend{color:#85766a;flex-wrap:wrap;gap:12px 25px;margin-top:20px;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:inline-flex}.calendar-legend i{width:13px;height:13px;display:inline-block}.legend-free{background:#eee8df}.legend-taken{background:#d9d3cc}.calendar-sidebar h3{font-size:45px}.calendar-sidebar-intro{color:#806f61;margin:9px 0 26px;font-size:12px;line-height:1.75}.calendar-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.calendar-times button{color:#4c3c30;cursor:pointer;white-space:nowrap;background:#fbf8f3;border:1px solid #d3c5b8;padding:14px 6px;font-size:11px}.calendar-times button:hover:not(:disabled){border-color:#92725c}.calendar-times button.selected{color:#fff;background:#302923;border-color:#302923}.calendar-times button:disabled{color:#a1958a;cursor:not-allowed;background:#e0d9d1;border-color:#ddd4cb;text-decoration:line-through}.calendar-summary{border-top:1px solid #cfc3b5;margin-top:33px;padding-top:28px}.calendar-summary .calendar-label{margin-bottom:15px}.calendar-summary>div{color:#655649;justify-content:space-between;gap:15px;font-size:12px;line-height:2.3;display:flex}.calendar-summary strong{white-space:nowrap;font-weight:500}.calendar-summary>.calendar-total{color:#302923;border-top:1px solid #cfc3b5;margin-top:12px;padding-top:10px;font-size:16px}.calendar-summary>.calendar-total strong{font-size:20px}.calendar-review{color:#fff;letter-spacing:.02em;cursor:pointer;background:#302923;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:27px;padding:20px 23px;font-size:12px;display:flex}.calendar-review:hover:not(:disabled){background:#634c3e}.calendar-review:disabled{opacity:.45;cursor:not-allowed}.calendar-confirmation{color:#57483c;background:#f8f2e9;border-left:3px solid #917a67;padding:11px 15px;font-size:12px;line-height:1.65}.calendar-disclaimer{color:#857465;margin:20px 0 0;font-size:11px;line-height:1.75}.calendar-disclaimer a{text-underline-offset:3px;text-decoration:underline}.calendar-section button:focus-visible{outline-offset:2px;outline:2px solid #a3765d}@media (max-width:1000px){.calendar-layout{grid-template-columns:1fr}.calendar-controls{border-bottom:1px solid #d2c9bd;border-right:0}.calendar-sidebar{padding:38px}.calendar-demo-warning{flex-direction:column;align-items:flex-start;gap:5px}}@media (max-width:600px){.calendar-section{padding-top:85px;padding-bottom:90px}.calendar-controls,.calendar-sidebar{padding:28px 20px}.calendar-demo-warning{padding:15px}.calendar-demo-warning strong{white-space:normal}.calendar-field+.calendar-field{margin-top:30px}.calendar-day{height:38px}.calendar-grid{gap:3px}.empty-day{height:38px}.floor-switch button{padding:13px 5px}.duration-switch button{padding:12px 3px;font-size:10px}.calendar-month-switch h3{font-size:31px}.calendar-sidebar h3{font-size:40px}.calendar-times button{padding:13px 4px;font-size:11px}}.villa-duration-select{color:#3a3029;width:100%;font-family:var(--sans);cursor:pointer;background:#fdfbf8;border:1px solid #cfc5ba;padding:16px;font-size:13px;display:block}.calendar-hint{color:#817366;margin:10px 0 0;font-size:11px;line-height:1.8}.calendar-state{color:#6b5546;background:#eee7dd;padding:16px;font-size:12px;line-height:1.8}.calendar-link{text-decoration:none}.admin-page{color:#302923;min-height:100vh;font-family:var(--sans);background:#f5f1ea;padding:30px 20px 110px;font-size:14px}.admin-shell{max-width:1050px;margin:auto}.admin-top,.admin-header,.admin-panel-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-top{letter-spacing:.11em;font-size:11px}.admin-top a{color:#584636}.admin-page h1{font:400 clamp(50px,7vw,90px)/1 var(--serif);margin:62px 0 40px}.admin-page h1 em{font-weight:400}.admin-header{margin-bottom:24px;font-size:12px}.admin-header button,.admin-refresh{color:#554536;cursor:pointer;background:0 0;border:1px solid #c9bcaf;padding:10px 15px}.admin-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.admin-metrics div{background:#eae2da;flex-direction:column;gap:13px;padding:24px;display:flex}.admin-metrics span{letter-spacing:.1em;color:#877264;font-size:10px}.admin-metrics strong{font:400 38px var(--serif)}.admin-panel{background:#fffefa;border:1px solid #ded6ce;margin:22px 0;padding:clamp(20px,4vw,42px)}.admin-panel h2{font:400 38px var(--serif);margin:0 0 18px}.admin-panel p{color:#786b5f;line-height:1.8}.admin-panel-head h2{margin:0}.admin-panel-head label{min-width:170px}.admin-panel-head input{width:100%;margin-top:8px}.admin-refresh{margin:20px 0}.admin-error{background:#f8e8e6;border-left:3px solid #a2302b;padding:10px 15px;color:#a2302b!important}.admin-form{gap:18px;max-width:520px;display:grid}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.admin-form label,.admin-panel-head label{color:#65574d;flex-direction:column;gap:8px;font-size:12px;display:flex}.admin-form input,.admin-form select,.admin-form textarea,.admin-panel-head input{font:inherit;color:#3a3029;background:#fff;border:1px solid #d9cfc5;border-radius:0;width:100%;min-width:0;padding:14px 12px}.admin-form button{color:#fff;cursor:pointer;letter-spacing:.04em;background:#302923;border:0;padding:18px 25px}.admin-form button:disabled{opacity:.5}.admin-form .admin-span{grid-column:1/-1}.admin-form .admin-check{flex-direction:row;align-items:center;line-height:1.6;display:flex}.admin-form .admin-check input{flex-shrink:0;width:auto}.admin-bookings{gap:10px;display:grid}.admin-booking{border-top:1px solid #e8ded5;justify-content:space-between;gap:22px;padding:17px 0;display:flex}.admin-booking>div:first-child{gap:7px;display:grid}.admin-booking span,.admin-booking small{color:#766658;font-size:12px}.admin-actions{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.admin-actions button{font:inherit;white-space:nowrap;cursor:pointer;color:#554333;background:#f6f1eb;border:1px solid #b7a99d;padding:9px 12px;font-size:11px}.admin-actions button:first-child{background:#e7f0e6}.admin-actions button:disabled{opacity:.5}@media (max-width:650px){.admin-top{align-items:flex-start}.admin-top span{text-align:right;font-size:9px}.admin-panel-head,.admin-booking{flex-direction:column;align-items:flex-start}.admin-metrics{gap:5px}.admin-metrics div{padding:13px 8px}.admin-metrics span{font-size:8px}.admin-metrics strong{font-size:30px}.admin-form-grid{grid-template-columns:1fr}.admin-actions{align-items:flex-start}.admin-page h1{margin:42px 0 28px}}.admin-date-field{flex-direction:column;gap:8px;min-width:0;display:flex}.admin-date-label{color:#65574d;font-size:12px}.admin-date-picker{width:100%;position:relative}.admin-form .admin-date-trigger{color:#3a3029;letter-spacing:normal;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9cfc5;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 14px;font-size:12px;font-weight:400;display:flex}.admin-form .admin-date-trigger svg{flex-shrink:0}.admin-form .admin-date-trigger:focus-visible{outline-offset:2px;outline:2px solid #94735f}.admin-date-popover{z-index:60;background:#fffefa;border:1px solid #cdbeb0;width:min(330px,100vw - 46px);max-width:100%;padding:18px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 13px 30px #211a151f}.admin-date-navigation{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.admin-date-navigation strong{font-family:var(--serif);white-space:nowrap;font-size:25px;font-weight:400}.admin-form .admin-date-navigation button{color:#544234;cursor:pointer;letter-spacing:normal;background:0 0;border:1px solid #d6c9be;padding:6px 11px;font-size:17px}.admin-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.admin-date-weekday{color:#85766c;text-align:center;padding:8px 0;font-size:10px}.admin-form .admin-date-grid button{color:#302923;cursor:pointer;letter-spacing:normal;background:#f1ebe3;border:1px solid #0000;height:33px;padding:0;font-size:12px}.admin-form .admin-date-grid button:hover{border-color:#8e7667}.admin-form .admin-date-grid button.active{color:#fff;background:#302923}.nav-ctas{align-items:center;gap:13px;display:flex}.nav-account{color:inherit;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;align-items:center;gap:8px;padding:10px 4px;font-size:10px;transition:opacity .2s;display:flex}.nav-account:hover{opacity:.68}.nav-account svg{flex-shrink:0;width:20px;height:20px}@media (max-width:1130px){.nav-account span{display:none}.nav-ctas{gap:10px}}@media (max-width:800px){.nav-account{padding:8px}.nav-account span{display:none}.nav-account svg{width:25px;height:25px}.nav-ctas{margin-left:auto;margin-right:12px}.nav-book{display:none}}.account-page .admin-shell{max-width:1100px}.account-panel{max-width:780px;margin-inline:auto}.account-mode-tabs{border-bottom:1px solid #ded6ce;gap:4px;margin-bottom:28px;display:flex}.account-mode-tabs button{cursor:pointer;color:#786b5f;background:0 0;border:0;padding:12px 22px;font-size:12px}.account-mode-tabs button.current{color:#302923;border-bottom:2px solid #302923;font-weight:600}.account-text-button{cursor:pointer;text-underline-offset:5px;color:#655144;background:0 0;border:0;padding:10px 0;font-size:12px;text-decoration:underline;display:inline-block}.account-success{border-left:3px solid #668e6c;padding:14px 18px;font-size:13px;color:#35613c!important;background:#e7eee5!important}.account-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.account-cards>.admin-panel{margin:0}.account-booking{border-top:1px solid #eee4da;flex-direction:column;gap:6px;padding:16px 0;display:flex}.account-booking span,.account-booking small{color:#766658;font-size:12px}.account-admin-spot{background:#e6ddd3;justify-content:space-between;align-items:center;gap:24px;margin:24px 0;padding:32px 35px;display:flex}.account-admin-spot h2{font:400 42px/.95 var(--serif);margin:14px 0 9px}.account-admin-spot p{color:#77665a;font-size:12px}.account-admin-spot .button{white-space:nowrap}.manager2 .admin-shell{max-width:1180px}.manager2 .admin-page h1,.manager2 h1{margin-bottom:32px}.manager-day-panel{padding-bottom:32px}.manager-day-panel .admin-panel-head h2{margin-top:10px;font-size:39px}.manager-day-panel .admin-panel-head label{font-size:12px}.manager-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:23px 0 16px;display:flex}.manager-controls button,.manager-add,.manager-neutral-button,.manager-danger-button{color:#3f342e;cursor:pointer;background:0 0;border:1px solid #c7b9ac;padding:11px 16px;font-size:12px}.manager-controls strong{font:400 25px var(--serif);margin:0 12px}.manager-controls .manager-today{background:#eae2d9}.manager-legend{color:#87776b;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:18px;font-size:11px;display:flex}.manager-legend span{align-items:center;gap:6px;display:flex}.manager-legend i{width:11px;height:11px;display:inline-block}.manager-legend i.confirmed{background:#c3d6c6}.manager-legend i.request{background:#efdbb3}.manager-legend i.blocked{background:#d7d0cb}.manager-table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin;border:1px solid #dcd0c4;overflow-x:auto}.manager-table{background:#fff;grid-template-columns:70px repeat(2,minmax(0,1fr));min-width:570px;display:grid}.manager-colhead{letter-spacing:.13em;color:#6e5d50;text-align:center;background:#e9e1d9;border-right:1px solid #d9ccc0;padding:17px 7px;font-size:10px;font-weight:600}.manager-hour-row{display:contents}.manager-time{color:#796b5e;text-align:center;background:#fbf9f6;border-top:1px solid #e8ddd3;border-right:1px solid #e8ddd3;padding:20px 3px;font-size:12px}.manager-hour-cell{cursor:pointer;text-align:left;color:#635448;background:#fff;border-top:1px solid #e8ddd3;border-bottom:0;border-left:0;border-right:1px solid #e8ddd3;flex-direction:column;justify-content:center;gap:4px;min-height:61px;padding:4px 8px;display:flex;position:relative}.manager-hour-cell:hover{background:#f6eee6}.manager-hour-cell.is-occupied{background:#fdfaf7}.manager-empty{color:#b2a398;opacity:.42;font-size:11px}.manager-hour-cell:hover .manager-empty{opacity:1}.manager-hour-pill{justify-content:space-between;align-items:center;gap:5px;min-height:41px;padding:8px 10px;display:flex}.manager-hour-pill b{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;font-weight:600;overflow:hidden}.manager-hour-pill small{color:#5e5045;text-align:right;font-size:9px}.manager-hour-pill.confirmed{background:#d8e6d8;border-left:3px solid #709b77}.manager-hour-pill.request{background:#f6e9c9;border-left:3px solid #ceaa66}.manager-hour-pill.blocked{background:#e6e0db;border-left:3px solid #96857a}.manager-add{color:#fff;background:#302923;border-color:#302923;margin-top:20px;padding:15px 22px}.manager-add:hover,.manager-editor-actions button[type=submit]:hover{background:#584537}.manager-editor-actions{flex-wrap:wrap;gap:11px;display:flex}.manager-editor-actions button[type=submit]{flex:1;min-width:180px}.admin-form .manager-neutral-button{color:#44392f;background:#eae4de}.admin-form .manager-danger-button{color:#9c3a2c;background:#f5e5e1}.manager-invite{max-width:620px}@media (max-width:800px){.account-cards{grid-template-columns:1fr}.account-admin-spot{flex-direction:column;align-items:flex-start}.manager-table{min-width:550px}.manager-hour-pill{flex-direction:column;align-items:flex-start}.manager-hour-pill small{text-align:left}}@media (max-width:600px){.nav-ctas{margin-right:10px}.account-page h1,.manager2 h1{font-size:57px}.manager2 .admin-panel{padding:20px 15px}.manager-hour-cell{min-height:60px}.manager-controls strong{margin:0 3px}.manager-table{min-width:530px}.manager-day-panel .admin-panel-head{display:block}.manager-day-panel .admin-panel-head label{max-width:210px;margin-top:14px}}.account-partner{color:#45382d;background:#e8e0d6;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:17px 24px;display:flex}.account-partner strong{font:400 25px var(--serif)}.account-partner small{color:#736153;font-size:11px}.villa-legal-page{color:#302923;min-height:100vh;font-family:var(--sans);background:#f5f1ea;padding:40px 20px 90px}.villa-legal-wrap{max-width:790px;margin:auto}.villa-legal-wrap>a{border-bottom:1px solid #b3a293;font-size:12px}.villa-legal-wrap h1{font:400 clamp(56px,7vw,90px) var(--serif);margin:70px 0 35px}.villa-legal-wrap h2{font:400 31px var(--serif);margin:36px 0 10px}.villa-legal-wrap p{color:#594e45;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.villa-legal-wrap p a{border-bottom:1px solid}.villa-draft-warning{background:#fff9ee;border-left:3px solid #8d6b50;padding:17px}.villa-legal-note{font-size:12px!important}.footer-legal-links a{text-underline-offset:3px;color:#e9dfd3;text-decoration:underline}.villa-captcha{min-height:65px}.villa-captcha-note{color:#896b52;font-size:12px;line-height:1.5}.villa-cookie-layer{z-index:80;padding:16px max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.villa-cookie-panel{pointer-events:auto;background:#f8f5ef;border:1px solid #d3c6b9;justify-content:space-between;align-items:center;gap:38px;max-width:1080px;margin:0 auto;padding:28px 32px;display:flex;box-shadow:0 14px 55px #241c1533}.villa-cookie-info{flex:1;min-width:0}.villa-cookie-info h2{font:400 39px/1 var(--serif);margin:9px 0}.villa-cookie-info p{font:400 12px/1.75 var(--sans);color:#5b5045;max-width:660px;margin:0}.villa-cookie-info p a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.villa-cookie-details{border-top:1px solid #ddd0c4;margin-top:15px;padding-top:14px}.villa-cookie-details p{margin:0 0 8px}.villa-cookie-actions{flex-direction:column;flex:0 0 240px;gap:9px;display:flex}.villa-cookie-actions button{cursor:pointer;text-align:center;min-height:44px;padding:13px 16px;font-size:12px;line-height:1.4}.villa-cookie-accept{color:#fff;background:#362e28;border:1px solid #362e28}.villa-cookie-accept:hover{background:#6c5143}.villa-cookie-secondary{color:#3d332b;background:0 0;border:1px solid #c3b3a6}.villa-cookie-secondary:hover{background:#ebe4d9}.villa-cookie-footer-link{color:#e9dfd3;text-underline-offset:3px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.villa-terms-open{color:#543f32;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #775d4b;padding:0 0 5px;font-size:13px;font-weight:600}.villa-calendar-terms{border-top:1px solid #ddd0c4;flex-direction:column;align-items:flex-start;gap:7px;margin:18px 0 12px;padding:15px 0;display:flex}.villa-calendar-terms span{color:#74675d;font-size:11px;line-height:1.6}.villa-terms-dialog{color:#332a25;background:#f9f6f1;border:1px solid #d3c2b3;width:min(770px,100vw - 22px);max-height:min(87vh,860px);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 18px 80px #130e0966}.villa-terms-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18130f9e}.villa-terms-modal-head{border-bottom:1px solid #dfd4ca;justify-content:space-between;align-items:flex-start;padding:26px 30px 19px;display:flex}.villa-terms-modal-head h2{font:400 50px/.98 var(--serif);margin:7px 0 3px}.villa-terms-modal-head small{color:#706358;font-size:11px}.villa-dialog-close{font:32px/1 var(--sans);color:#46372b;cursor:pointer;background:0 0;border:0;padding:2px 6px}.villa-terms-modal-scroll{overscroll-behavior:contain;max-height:calc(min(87vh,860px) - 280px);padding:20px 30px;overflow:auto}.villa-terms-copy h2{font:400 27px/1.1 var(--serif);margin:28px 0 8px}.villa-terms-copy p{color:#51463e;margin:0 0 10px;font-size:13px;line-height:1.85}.villa-terms-copy a{border-bottom:1px solid}.villa-terms-version{color:#827367!important;font-size:11px!important}.villa-terms-draft{background:#fff4e6;border-left:3px solid #9a7454;padding:13px 14px}.villa-terms-modal-foot{background:#f0eae2;border-top:1px solid #ded0c5;flex-wrap:wrap;align-items:center;gap:13px;padding:17px 30px 24px;display:flex}.villa-terms-ack{color:#4e4137;flex:1 0 100%;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;display:flex}.villa-terms-ack input{accent-color:#564237;flex-shrink:0;width:17px;height:17px;margin-top:2px}.villa-terms-primary,.villa-terms-secondary{font:600 12px/1.4 var(--sans);cursor:pointer;text-align:center;border:1px solid #332921;padding:11px 16px}.villa-terms-primary{color:#fff;background:#332921}.villa-terms-primary:disabled{cursor:not-allowed;opacity:.45}.villa-terms-secondary{color:#332921;background:0 0;text-decoration:none}.villa-terms-secondary:hover{background:#e5dacf}.villa-special-contract{background:#f6f1eb;border:1px solid #d3c4b6;padding:20px}.villa-special-contract h3{font:400 28px var(--serif);margin:0 0 8px}.villa-special-contract p{color:#61564a;margin:0 0 12px;font-size:12px;line-height:1.7}.villa-terms-state{color:#8b614b!important;margin-top:13px!important}.villa-terms-state.is-ok{color:#346b44!important}.villa-terms-legal-quick{margin-top:35px}.villa-terms-legal-quick a{font-size:12px;text-decoration:underline}@media (max-width:720px){.villa-cookie-panel{padding:19px;display:block}.villa-cookie-info h2{font-size:31px}.villa-cookie-actions{flex-flow:wrap;margin-top:18px}.villa-cookie-actions button{flex:170px}.villa-terms-modal-head{padding:18px 18px 14px}.villa-terms-modal-head h2{font-size:40px}.villa-terms-modal-scroll{max-height:calc(87vh - 262px);padding:14px 18px}.villa-terms-modal-foot{padding:14px 18px 20px}.villa-terms-copy h2{font-size:25px}}@media print{.villa-cookie-layer,.villa-terms-open,.villa-terms-dialog,.villa-terms-legal-quick{display:none!important}.villa-legal-page{background:#fff;padding:0}.villa-legal-wrap{max-width:none}.villa-legal-wrap h1{margin-top:18px}.villa-terms-copy p{color:#111}}.villa-terms-selection{background:#eee6db;border:1px solid #d3c4b6;flex-direction:column;gap:5px;margin-bottom:21px;padding:14px;display:flex}.villa-terms-selection strong{font-size:12px}.villa-terms-selection span{color:#51453a;font-size:13px}.villa-terms-selection small{color:#7d6c5d;font-size:11px}
