@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Italiana&family=Mr+De+Haviland&display=swap";html{background:#fbf9f4;min-width:320px}body{min-width:320px;min-height:100vh}#root{min-height:100vh}::selection{color:#fff;background:#b59059}:focus-visible{outline-offset:3px;outline:2px solid #b59059}:root{--cream:#f4f0e8;--paper:#fbf9f4;--ink:#19241e;--forest:#17271f;--forest-2:#21372b;--gold:#b59059;--sage:#758174;--line:#dcd6ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.nav{z-index:20;justify-content:space-between;align-items:center;height:92px;display:flex;position:relative}.brand{align-items:center;gap:13px;display:inline-flex}.brand-mark{border:1px solid var(--gold);width:44px;height:44px;color:var(--gold);border-radius:50%;place-items:center;font-family:Italiana,serif;font-size:18px;display:grid}.brand>span:last-child{line-height:1.15;display:grid}.brand strong{letter-spacing:1.5px;font-size:12px;font-weight:600}.brand small{letter-spacing:4px;color:var(--gold);margin-top:4px;font-size:9px}.nav-links{align-items:center;gap:34px;font-size:13px;font-weight:500;display:flex}.nav-links>a:not(.nav-cta){position:relative}.nav-links>a:not(.nav-cta):after{content:"";background:var(--gold);width:0;height:1px;transition:width .25s;position:absolute;bottom:-7px;left:0}.nav-links>a:hover:after{width:100%}.nav-cta{background:var(--forest);color:#fff;align-items:center;gap:10px;padding:14px 20px;display:flex}.menu-button{color:var(--ink);background:0 0;border:0;display:none}.hero-section{color:#fff;height:calc(100vh - 92px);min-height:650px;max-height:900px;position:relative;overflow:hidden}.hero-image{background:url(https://images.unsplash.com/photo-1555244162-803834f70033?auto=format&fit=crop&w=2200&q=88) 50% 54%/cover;position:absolute;inset:0;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,#0a120edb 0%,#0a120e8a 45%,#0a120e14 80%),linear-gradient(#0000 55%,#080f0b73);position:absolute;inset:0}.hero-content{z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding-bottom:30px;display:flex;position:relative}.eyebrow,.section-kicker{letter-spacing:3.3px;color:var(--gold);align-items:center;gap:13px;font-size:10px;font-weight:600;display:flex}.eyebrow span{background:var(--gold);width:38px;height:1px}h1,h2,h3,p{margin-top:0}.hero-content h1{letter-spacing:-3px;margin:30px 0 27px;font:400 clamp(62px,7.6vw,108px)/.9 Italiana,serif}em{color:var(--gold);font-style:italic}.hero-content p{color:#ffffffd1;max-width:550px;font:300 17px/1.7 DM Sans,sans-serif}.hero-actions{align-items:center;gap:37px;margin-top:38px;display:flex}.button{letter-spacing:.4px;cursor:pointer;border:0;justify-content:center;align-items:center;gap:13px;padding:17px 23px;font-size:12px;display:inline-flex}.button.light{background:var(--cream);color:var(--ink)}.button.gold{background:var(--gold);color:#fff;width:max-content;margin-top:5px}.text-link{border-bottom:1px solid #ffffff80;align-items:center;gap:10px;padding-bottom:5px;font-size:12px;display:flex}.hero-note{z-index:2;writing-mode:vertical-rl;letter-spacing:2.8px;color:#fff9;font-size:8px;position:absolute;bottom:40px;right:38px}.hero-note span{color:var(--gold);margin:9px 0}.intro{grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding:125px 0;display:grid}.intro h2,.section-heading h2,.gallery h2,.calendar-copy h2,.contact h2{letter-spacing:-1.7px;margin:23px 0 0;font:400 clamp(44px,5vw,67px)/1.06 Italiana,serif}.intro-copy{border-left:1px solid var(--line);padding:8px 0 8px 55px}.intro-copy>p:first-child{color:#526057;max-width:500px;font:300 16px/1.9 DM Sans,sans-serif}.intro-copy .signature{color:var(--ink);margin:28px 0 2px;font:42px/1 Mr De Haviland,cursive}.intro-copy span{color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:8px}.client-promises{border-top:1px solid var(--line);background:#f8f5ef}.promise-grid{grid-template-columns:repeat(3,1fr);display:grid}.promise-grid>div{grid-template-columns:auto 1fr;align-content:center;column-gap:18px;min-height:145px;padding:34px 38px;display:grid}.promise-grid>div+div{border-left:1px solid var(--line)}.promise-grid strong{color:var(--gold);grid-row:1/3;font:20px Italiana,serif}.promise-grid span{margin-bottom:7px;font:18px Italiana,serif}.promise-grid small{color:#758076;font-size:10px;line-height:1.5}.services{background:var(--forest);color:#fff;padding:110px 0 118px}.section-heading{justify-content:space-between;align-items:end;gap:50px;display:flex}.light-kicker{color:#c6a675}.section-heading>p{color:#aab5ad;max-width:390px;font-size:14px;line-height:1.8}.service-grid{border:1px solid #ffffff21;grid-template-columns:repeat(3,1fr);margin-top:66px;display:grid}.service-card{flex-direction:column;min-height:330px;padding:38px;transition:background .3s,transform .3s;display:flex}.service-card+.service-card{border-left:1px solid #ffffff21}.service-card:hover{background:var(--forest-2);transform:translateY(-5px)}.service-top{color:var(--gold);justify-content:space-between;display:flex}.service-top span{letter-spacing:2px;color:#77837b;font-size:9px}.service-card h3{margin:52px 0 16px;font:400 27px Italiana,serif}.service-card p{color:#9eaaa2;max-width:260px;font-size:13px;line-height:1.8}.service-card a{color:var(--gold);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:9px;margin-top:auto;font-size:10px;display:flex}.gallery{padding:120px 0 130px}.gallery-title{justify-content:space-between;align-items:end;margin:20px 0 55px;display:flex}.gallery-title h2{margin:0}.gallery-title span{color:#7f887f;font:italic 15px Italiana,serif}.photo-grid{grid-template:1fr 1fr/1.15fr .85fr 1fr;gap:13px;height:680px;display:grid}.photo{filter:saturate(.78);background-position:50%;background-size:cover;position:relative;overflow:hidden}.photo:after{content:"";opacity:.75;background:linear-gradient(#0000 55%,#080f0ba6);transition:opacity .3s;position:absolute;inset:0}.photo:hover:after{opacity:.35}.photo span{z-index:2;color:#fff;letter-spacing:2.2px;font-size:8px;position:absolute;bottom:22px;left:23px}.photo-one{background-image:url(https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=1200&q=85);grid-row:1/3}.photo-two{background-image:url(https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1500&q=85);grid-column:2/4}.photo-three{background-image:url(https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=900&q=85)}.photo-four{background-image:url(https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=900&q=85)}.availability{background:var(--cream);padding:120px 0}.calendar-layout{grid-template-columns:.8fr 1.2fr;align-items:center;gap:105px;display:grid}.calendar-copy p{color:#667067;max-width:410px;margin:28px 0;font-size:14px;line-height:1.85}.legend{color:#687269;gap:30px;font-size:11px;display:flex}.legend span{align-items:center;gap:8px;display:flex}.legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.legend .free{background:#81917f}.legend .busy{background:var(--gold)}.owner-toggle{color:#6f776f;cursor:pointer;background:0 0;border:1px solid #cfc8ba;align-items:center;gap:8px;margin-top:40px;padding:10px 13px;font-size:10px;display:flex}.owner-toggle.active{background:var(--forest);color:#fff;border-color:var(--forest)}.owner-hint{max-width:260px;color:var(--gold);margin-top:10px;line-height:1.5;display:block}.owner-signout{color:#858d86;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:10px 0;font-size:9px;display:flex}.export-button{background:var(--gold);color:#fff;cursor:pointer;border:0;align-items:center;gap:8px;margin-top:13px;padding:11px 14px;font-size:9px;display:flex}.session-note{color:#9a9f99;margin-top:-4px;font-size:8px;display:block}.selected-date-note{border-left:2px solid var(--gold);color:var(--forest);background:#ffffff8c;align-items:center;gap:13px;width:max-content;margin-top:32px;padding:14px 17px;display:flex}.selected-date-note svg{color:var(--gold)}.selected-date-note span{font:17px Italiana,serif;display:grid}.selected-date-note small{color:#7b827b;letter-spacing:1.5px;margin-bottom:3px;font:7px DM Sans,sans-serif}.calendar-card{background:var(--paper);padding:35px 42px 25px;box-shadow:0 24px 70px #2f2e251a}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.calendar-header h3{margin:0;font:400 25px Italiana,serif}.calendar-header h3 span{color:var(--gold)}.calendar-header button{color:#9a9f99;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week-header{color:#9a9f98;letter-spacing:1px;border-bottom:1px solid #e7e2d9;margin-bottom:7px;padding-bottom:13px;font-size:8px}.calendar-day{aspect-ratio:1.15;color:#475249;cursor:pointer;background:0 0;border:0;font-size:12px;transition:all .2s;position:relative}.calendar-day:not(.muted):not(.booked):hover,.calendar-day.selected{background:var(--forest);color:#fff}.calendar-day.muted{color:#c8c8c2;cursor:default}.calendar-day.booked:not(.muted){color:#746552;cursor:not-allowed;background:#eee8de}.calendar-card.owner-editing .calendar-day.booked{cursor:pointer}.calendar-day i{background:var(--gold);border-radius:50%;width:4px;height:4px;position:absolute;bottom:7px;left:calc(50% - 2px)}.calendar-footer{color:#90978f;letter-spacing:.5px;border-top:1px solid #e7e2d9;justify-content:center;align-items:center;gap:7px;margin-top:13px;padding-top:17px;font-size:8px;display:flex}.owner-entry{justify-content:flex-end;margin-top:25px;display:flex}.owner-entry button{color:#8e948e;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:9px;display:flex}.contact{background:var(--forest);color:#fff;padding:120px 0}.contact-layout{grid-template-columns:.85fr 1.15fr;gap:110px;display:grid}.contact-copy>p{color:#a6b0a9;max-width:380px;margin:30px 0 40px;font-size:14px;line-height:1.85}.contact-details{color:#aeb7b0;gap:15px;font-size:11px;display:grid}.contact-details span{align-items:center;gap:12px;display:flex}.contact-details svg{color:var(--gold)}.contact-form{gap:22px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:23px;display:grid}.contact-form label{color:#aeb7b0;letter-spacing:1.5px;gap:8px;font-size:8px;display:grid}.contact-form input,.contact-form textarea,.contact-form select{color:#fff;resize:vertical;letter-spacing:0;background:0 0;border:0;border-bottom:1px solid #fff3;border-radius:0;outline:0;width:100%;padding:9px 0 13px;font-size:13px}.contact-form select{color:#aeb7b0;appearance:none;cursor:pointer}.contact-form select option{color:var(--ink);background:#fff}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--gold)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#717d75}.success{color:#d6c39e;align-items:center;gap:8px;font-size:11px;display:flex}.form-error{color:#e4a9a0;font-size:11px;line-height:1.5}.contact-form .button:disabled{opacity:.6;cursor:wait}.contact-form .honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.privacy-note{color:#78837b;font-size:8px;line-height:1.5}footer{color:#fff;background:#101b16}.footer-main{grid-template-columns:1.2fr 1fr 1fr;align-items:center;min-height:210px;display:grid}.footer-brand .brand-mark{color:#cfad78}.footer-main>p{color:#7d8981;margin:0;font:15px/1.7 Italiana,serif}.footer-links{color:#a6afa9;grid-template-columns:1fr 1fr;gap:19px;font-size:10px;display:grid}.footer-links a:last-child{align-items:center;gap:8px;display:flex}.footer-bottom{color:#59645d;letter-spacing:.7px;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;height:65px;font-size:8px;display:flex}.mobile-cta{display:none}.auth-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1510b8;border:0;place-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{background:var(--paper);width:min(440px,100%);color:var(--ink);padding:46px;position:relative;box-shadow:0 28px 90px #0000004d}.auth-close{color:#7c857e;cursor:pointer;background:0 0;border:0;position:absolute;top:17px;right:17px}.auth-icon{background:var(--cream);width:48px;height:48px;color:var(--gold);border-radius:50%;place-items:center;margin-bottom:23px;display:grid}.auth-modal h2{margin:12px 0 15px;font:38px/1.1 Italiana,serif}.auth-modal>p{color:#69736b;margin-bottom:27px;font-size:13px;line-height:1.7}.auth-modal form{gap:18px;display:grid}.auth-modal label{color:#7d857f;letter-spacing:1.4px;gap:8px;font-size:8px;display:grid}.auth-modal input{border:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:0;background:#fff;outline:0;padding:14px 15px;font-size:14px}.auth-modal input:focus{border-color:var(--gold)}.auth-modal .button{width:100%}.auth-modal .button:disabled{opacity:.55;cursor:wait}.auth-modal .otp-input{text-align:center;letter-spacing:10px;font-size:26px;font-weight:600}.resend-button{color:#7c857e;cursor:pointer;background:0 0;border:0;font-size:10px;text-decoration:underline}.auth-message{background:var(--cream);color:#75654e;margin-top:18px;padding:11px 13px;font-size:10px;line-height:1.5}.auth-modal>small{color:#9ba19c;justify-content:center;align-items:center;gap:7px;margin-top:22px;font-size:8px;display:flex}.booking-modal{width:min(520px,100%)}.booking-modal h2{margin-bottom:7px}.booking-date-label{text-transform:capitalize;color:var(--gold)!important;margin-bottom:25px!important;font:18px Italiana,serif!important}.booking-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;outline:0;padding:14px 15px;font-size:13px;line-height:1.5}.booking-form textarea:focus{border-color:var(--gold)}.booking-form label>span{align-items:center;gap:6px;display:flex}.booking-actions{justify-content:space-between;align-items:center;gap:15px;margin-top:3px;display:flex}.booking-actions .button{width:auto}.delete-booking{color:#a5574b;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:10px 0;font-size:10px;display:flex}.delete-booking:disabled{opacity:.5;cursor:wait}@media (width<=850px){.shell{width:min(100% - 34px,620px)}.nav{height:76px}.menu-button{z-index:3;display:block}.nav-links{background:var(--paper);flex-direction:column;padding:30px;display:none;position:absolute;top:76px;left:-17px;right:-17px;box-shadow:0 20px 40px #0000001a}.nav-links.open{display:flex}.hero-section{height:calc(100svh - 76px);min-height:590px}.hero-content h1{letter-spacing:-2px}.hero-content p{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.hero-note{display:none}.intro,.calendar-layout,.contact-layout{grid-template-columns:1fr;gap:45px}.intro{padding:85px 0}.intro-copy{padding-left:25px}.promise-grid{grid-template-columns:1fr}.promise-grid>div{min-height:120px;padding:28px 20px}.promise-grid>div+div{border-left:0;border-top:1px solid var(--line)}.services,.gallery,.availability,.contact{padding:85px 0}.section-heading,.gallery-title{flex-direction:column;align-items:flex-start;gap:24px}.service-grid{grid-template-columns:1fr;margin-top:45px}.service-card+.service-card{border-top:1px solid #ffffff21;border-left:0}.photo-grid{grid-template:repeat(4,1fr)/1fr;height:800px}.photo-one,.photo-two,.photo-three,.photo-four{grid-area:auto/1}.calendar-layout,.contact-layout{gap:60px}.calendar-card{padding:25px 14px 20px}.owner-entry{justify-content:center}.calendar-day{aspect-ratio:1}.form-row{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:25px;padding:55px 0}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;height:auto;padding:20px 0 90px}.mobile-cta{z-index:30;background:var(--gold);color:#fff;letter-spacing:.3px;justify-content:center;align-items:center;gap:10px;height:52px;font-size:12px;display:flex;position:fixed;bottom:14px;left:17px;right:17px;box-shadow:0 10px 30px #17271f4d}.auth-modal{padding:38px 24px 30px}.booking-actions{flex-direction:column;align-items:stretch}.booking-actions .button{width:100%}.delete-booking{justify-content:center}}@media (width<=430px){.hero-content h1{font-size:54px}.intro h2,.section-heading h2,.gallery h2,.calendar-copy h2,.contact h2{font-size:42px}.calendar-grid{gap:1px}}
