:root{--forest:#214537;--sage:#70836a;--cream:#f7f2e9;--paper:#fffdf8;--ink:#1e2823;--gold:#c79a65;--line:#ded8cc;--font-sans:Inter,"Segoe UI",Arial,sans-serif;--font-brand-script:"Segoe Script","Brush Script MT","URW Chancery L",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1180px,100% - 40px);margin-inline:auto}.nav{justify-content:space-between;align-items:center;height:92px;display:flex}.brand{color:var(--forest);align-items:center;gap:12px;line-height:.9;display:flex}.brand-logo{object-fit:contain;background:#fff;border-radius:50%;width:58px;height:58px}.brand-name{font-family:var(--font-brand-script),Georgia,serif;letter-spacing:.01em;font-size:30px;font-weight:400;line-height:.78;display:block}.brand small{font-family:var(--font-sans),Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-top:6px;font-size:10px;display:block}.nav-links{color:#526058;gap:32px;font-size:13px;display:flex}.nav-links a:hover{color:var(--forest)}.nav-cta,.button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:99px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:14px;font-weight:700;display:inline-flex}.button:hover,.nav-cta:hover{background:#17352a;transform:translateY(-1px)}.nav-cta{min-height:42px}.hero{grid-template-columns:1fr .9fr;align-items:center;gap:76px;min-height:690px;padding-block:44px 84px;display:grid}.eyebrow{color:var(--sage);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:800}h1,h2{color:var(--forest);margin:0;font-family:Georgia,serif;font-weight:400}h1{letter-spacing:-.045em;max-width:670px;font-size:clamp(56px,6.1vw,88px);line-height:.95}h1 em{color:var(--forest);font-family:var(--font-brand-script),Georgia,serif;letter-spacing:0;font-size:1.08em;font-weight:400;display:inline-block}h2{letter-spacing:-.035em;font-size:clamp(40px,5vw,66px);line-height:1.02}.lead{color:#526058;max-width:590px;margin:28px 0;font-size:18px;line-height:1.7}.hero-actions{align-items:center;gap:26px;display:flex}.text-link{border-bottom:1px solid #a9b3ad;padding-bottom:5px;font-weight:700}.trust-row{color:#68746c;gap:34px;margin-top:48px;font-size:13px;display:flex}.trust-row b{color:var(--forest);font-size:14px;display:block}.hero-visual{min-height:580px;position:relative}.photo-frame{border-radius:48% 48% 20px 20px;position:absolute;inset:0 0 0 7%;overflow:hidden;box-shadow:0 28px 80px #263e3129}.photo-frame img{object-fit:cover;object-position:center 25%}.hero-visual:before{content:"";aspect-ratio:1;border:1px solid #d8d1c4;border-radius:50%;width:75%;position:absolute;top:-9%;right:-10%}.floating-card{background:#fffdf8f0;border-radius:16px;align-items:center;gap:12px;padding:16px 20px;display:flex;position:absolute;bottom:9%;left:-3%;box-shadow:0 12px 40px #21453729}.floating-card small{color:#6a746e;margin-top:3px;display:block}.leaf{color:var(--gold);font-size:25px}.intro{padding:118px 0}.section-heading{max-width:760px}.section-heading>p:last-child{color:#637067;max-width:670px;font-size:17px;line-height:1.75}.section-heading.centered{text-align:center;margin:0 auto 58px}.section-heading.centered>p:last-child{margin-inline:auto}.medical-note{border-top:1px solid var(--line);color:#7b817d;max-width:760px;margin:34px 0 0;padding-top:24px;font-size:12px;line-height:1.6}.room-preview{background:var(--cream);padding:96px 0}.room-grid{grid-template-columns:.55fr 1.25fr;align-items:center;gap:72px;display:grid}.room-copy>p:not(.eyebrow){color:#5d6961;margin:24px 0;line-height:1.75}.room-photo{border-radius:28px;min-height:540px;position:relative;overflow:hidden;box-shadow:0 20px 60px #2f3f341f}.room-photo img{object-fit:cover}.booking-section{padding:130px 0}.booking-grid{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:28px;display:grid}.calendar-card,.booking-form{border:1px solid var(--line);background:#fff;border-radius:24px}.calendar-card{padding:32px}.calendar-head{border-bottom:1px solid var(--line);color:var(--forest);justify-content:space-between;align-items:flex-end;padding-bottom:22px;font-weight:800;display:flex}.calendar-head small{color:#869087;font-weight:500}.days{grid-template-columns:repeat(7,1fr);gap:9px;padding:26px 0;display:grid}.day>b{text-align:center;text-transform:capitalize;margin-bottom:14px;font-size:13px;display:block}.slots{gap:8px;display:grid}.day-note{color:#6f7972;text-align:center;margin:0;padding:10px 6px;font-size:11px;line-height:1.45}.slot{min-height:44px;color:var(--forest);cursor:pointer;background:#f9fbf9;border:1px solid #d7dfda;border-radius:10px}.slot:hover,.slot.selected{border-color:var(--forest);background:var(--forest);color:#fff}.calendar-note{color:#7a837d;margin:2px 0 0;font-size:11px;line-height:1.55}.booking-form{background:var(--cream);flex-direction:column;padding:32px;display:flex}.booking-form .step{color:var(--sage);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.booking-form h3{color:var(--forest);margin:8px 0 24px;font-family:Georgia,serif;font-size:25px;font-weight:400}.booking-form label:not(.consent){color:#48544c;gap:8px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.booking-form input:not([type=checkbox]){width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #d3d5ce;border-radius:10px;padding:0 14px}.booking-form input:focus{outline-offset:2px;outline:2px solid #91a497}.consent{color:#69736c;align-items:flex-start;gap:10px;margin:4px 0 22px;font-size:11px;line-height:1.5;display:flex}.consent input{accent-color:var(--forest);margin-top:2px}.consent a{text-decoration:underline}.form-message{color:var(--forest);margin:14px 0 0;font-size:12px;line-height:1.5}.cancel-note{text-align:center;color:#777f79;margin:24px 0 0;font-size:12px}.contact{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding:124px 0;display:grid}.contact>div>p:last-child{color:#66716a;max-width:520px;line-height:1.7}.contact address{gap:28px;font-style:normal;display:grid}.contact address div{border-bottom:1px solid var(--line);gap:5px;padding-bottom:20px;display:grid}.contact address small{color:#849087;letter-spacing:.15em;text-transform:uppercase;font-size:10px;font-weight:800}.contact address a{overflow-wrap:anywhere;color:var(--forest);font-size:18px;font-weight:700}footer{background:var(--forest);color:#d9e1dc;padding:40px 0}.footer-inner{justify-content:space-between;align-items:center;gap:28px;font-size:12px;display:flex}footer .brand{color:#fff}footer .brand-logo{width:54px;height:54px}footer nav{gap:20px;display:flex}.legal{max-width:800px;padding:88px 0 120px}.legal .back{color:var(--sage);margin-bottom:50px;font-size:13px;font-weight:700;display:inline-block}.legal h1{font-size:clamp(46px,7vw,72px)}.legal h2{margin-top:48px;font-size:27px}.legal p,.legal li{color:#58655d;line-height:1.75}.legal a{text-decoration:underline}.legal-note{border-left:3px solid var(--gold);background:var(--cream);padding:18px 20px;font-size:13px}@media (max-width:900px){.nav-links{display:none}.hero{grid-template-columns:1fr;gap:46px;padding-block:42px 64px}.hero-copy{max-width:720px}.hero-visual{min-height:620px}.photo-frame{inset:0 8%}.room-grid,.booking-grid,.contact{grid-template-columns:1fr}.room-grid,.contact{gap:48px}.room-photo{min-height:60vw}}@media (max-width:600px){.shell{width:min(100% - 28px,620px)}.nav{height:76px}.nav-cta{min-height:38px;padding:0 13px;font-size:12px}.brand-logo{width:46px;height:46px}.brand-name{font-size:25px}.brand small{font-size:8px}h1{font-size:clamp(48px,14vw,68px)}h2{font-size:42px}.lead{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.button{width:100%}.trust-row{flex-direction:column;margin-top:34px}.hero-visual{min-height:470px}.photo-frame{inset:0 2%}.floating-card{bottom:6%;left:0}.intro,.booking-section,.contact{padding-block:86px}.room-preview{padding:70px 0}.room-photo{min-height:350px}.days{grid-template-columns:repeat(2,1fr)}.calendar-card,.booking-form{padding:22px}.footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
