:root{--cream:#f5f2ec;--ink:#222b25;--sage:#8e9a83;--line:#d9d9d0;--muted:#777d75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:'Playfair Display',serif;letter-spacing:-.045em}h2{font-size:clamp(42px,5.6vw,92px);line-height:1.1}h2 em,h1 em{font-weight:400}p{line-height:1.75}.announcement{background:#263329;color:#f4f2e8;text-align:center;padding:10px;font-size:10px;letter-spacing:.19em}.announcement span{margin:0 22px}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#f5f2ec;position:sticky;top:0;z-index:20;border-bottom:1px solid #e6e4de}.logo{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:.11em;font-weight:700;line-height:1}.logo-mark{font-size:42px;font-weight:400;color:#82907b}.logo small{display:block;font-size:8px;letter-spacing:.34em;margin-top:7px;font-weight:500}.header nav{display:flex;gap:30px}.header nav a{font-size:12px;color:#3d473e;transition:opacity .2s}.header nav a:hover{opacity:.55}.header-book{background:var(--ink);color:white;padding:16px 20px;font-size:11px;letter-spacing:.1em}.header-book span{margin-left:18px}.menu{display:none;background:none;border:0;font-size:26px}.hero{height:min(810px,88vh);min-height:620px;position:relative;color:#fff;overflow:hidden}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo{background:url('https://images.unsplash.com/photo-1516734212186-a967f81ad0d7?w=2000&q=90') center 45%/cover;animation:herozoom 14s ease-out both}.hero-overlay{background:linear-gradient(90deg,rgba(13,27,20,.78),rgba(13,27,20,.24) 75%),linear-gradient(0deg,rgba(13,27,20,.32),transparent 35%)}@keyframes herozoom{from{transform:scale(1.07)}to{transform:scale(1)}}.hero-content{position:relative;z-index:1;padding:clamp(90px,12vw,175px) 8% 0;max-width:1100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:#687769;margin-bottom:30px}.eyebrow.light{color:#eee9dc}.line{display:inline-block;width:32px;border-top:1px solid currentColor;vertical-align:middle;margin-right:13px}.hero h1{font-size:clamp(64px,9vw,142px);line-height:1.02;margin-bottom:26px}.hero p{font-size:17px;max-width:420px;color:#f1f0e8}.hero-cta{display:flex;align-items:center;gap:36px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 25px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.04em;transition:transform .25s,background .25s}.btn:hover{transform:translateY(-3px)}.btn-light{background:var(--cream);color:var(--ink)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{border-color:var(--line);background:transparent;color:var(--ink)}.text-link{font-size:12px;border-bottom:1px solid #ddd;padding:8px 0}.hero-bottom{position:absolute;bottom:32px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em}.section{padding:125px 8%}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end}.intro h2{margin:0}.intro-right p{font-size:18px;max-width:450px;color:#5c675d}.under-link{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.13em;border-bottom:1px solid currentColor;padding-bottom:12px;margin-top:25px}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#e5e8dd}.feature-image{background:url('https://images.unsplash.com/photo-1517849845537-4d257902454a?w=1200&q=90') center/cover}.feature-content{padding:12% 13%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.feature-content p{max-width:440px;color:#5b655b}.feature-points{width:100%;margin:26px 0 36px}.feature-points div{border-bottom:1px solid #c7cfc3;padding:16px 0;font-size:14px}.feature-points span{color:#788778;margin-right:25px;font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading p{max-width:340px;color:#667064}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-top:35px;overflow-x:auto}.tab{border:0;background:transparent;padding:19px 25px;color:#697269;white-space:nowrap;font-size:13px}.tab.active{color:var(--ink);border-bottom:2px solid var(--ink);font-weight:700}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}.service-card{background:#fffefa;padding:30px;min-height:235px;display:flex;flex-direction:column;transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-card .index{font-size:11px;color:#a2a99c}.service-card h3{font-family:'Playfair Display',serif;font-size:28px;margin:24px 0 8px}.service-card p{font-size:12px;color:#758074;margin-bottom:20px}.prices{display:flex;justify-content:space-between;gap:12px;margin-top:auto;border-top:1px solid #e9e9e4;padding-top:16px}.prices span{font-size:10px;color:#7b8378;display:block;margin-bottom:4px}.prices strong{font-size:19px;font-weight:500}.service-note,.image-disclaimer{font-size:11px;color:#81877f;margin-top:16px}.services-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:45px;border-top:1px solid var(--line);padding-top:15px}.services-bottom span{font-family:'Playfair Display',serif;font-size:23px}.quote-section{text-align:center;background:#2d3a30;color:white;padding:130px 20px}.quote-section h2{font-size:clamp(45px,6vw,95px);margin:0}.quote-section p{color:#c5cfc2;margin:30px 0 0}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px;margin-top:35px}.gallery-grid img{width:100%;height:460px;object-fit:cover}.gallery-grid img:nth-child(2){object-position:center}.about{background:#e8e9e1;display:grid;grid-template-columns:1fr 1fr;gap:10%}.about p{font-size:18px;color:#58665a}.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.values span{border:1px solid #c2c9bf;padding:12px 16px;font-size:10px;letter-spacing:.12em}.booking{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#f5f2ec}.booking-copy p{max-width:420px;color:#667064}.booking-details{margin-top:60px;font-size:13px;line-height:3}.booking-panel{background:#fffefa;padding:40px;box-shadow:0 15px 60px #1c281a0a;align-self:start}.booking-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#768274}.progress{height:2px;background:#e3e6df;margin:20px 0 38px}.progress span{display:block;width:33.33%;height:100%;background:#536653;transition:width .3s}.booking-panel h3{font-family:'Playfair Display',serif;font-size:32px}.booking-panel label{display:block;font-size:12px;font-weight:600;margin:17px 0}.booking-panel input,.booking-panel select,.booking-panel textarea{display:block;width:100%;border:1px solid #d8ded5;border-radius:0;background:#fff;padding:14px 12px;margin-top:9px;color:var(--ink);outline:none}.booking-panel input:focus,.booking-panel select:focus,.booking-panel textarea:focus{border-color:#526c53}.wide{width:100%;margin-top:14px}.hidden{display:none!important}.form-row{display:flex;gap:10px;margin-top:25px}.form-row .btn{flex:1}.estimated{background:#eff2eb;padding:17px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em}.estimated strong{font-size:25px;letter-spacing:0}.form-hint{font-size:11px;color:#798177;line-height:1.6}.optional{font-weight:400;color:#888}.success-icon{font-size:38px;color:#647c60}.booking-success h3{margin-top:15px}.booking-success #summary{background:#eff2eb;padding:18px;line-height:2;font-size:13px;white-space:pre-line}.reset{border:0;background:none;text-decoration:underline;margin-top:20px;color:#5b6e5b}.visit{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.visit-image{min-height:620px;background:url('https://images.unsplash.com/photo-1514888286974-6c03e2ca1dba?w=1100&q=85') center/cover}.visit-line{border-bottom:1px solid var(--line);padding:14px 0}.visit-line small{font-size:10px;letter-spacing:.16em;color:#829081}.visit-line p{font-size:15px;margin:8px 0}.final-cta{text-align:center;background:#566a56;color:white;padding:110px 20px}.final-cta h2{margin:0 0 40px}footer{background:#222e26;color:#f5f2ec;padding:65px 8% 25px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top p{color:#b7c0b5;font-size:13px}.footer-top>div{display:flex;flex-direction:column;gap:14px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #566257;margin-top:70px;padding-top:24px;font-size:10px;letter-spacing:.12em;color:#aab8aa}@media(max-width:1100px){.header nav{gap:15px}.header nav a{font-size:11px}.section{padding:95px 6%}.hero-content{padding-left:6%}.feature-content{padding:10%}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.header{height:75px;padding:0 5%}.header nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--cream);padding:24px 5%;flex-direction:column;box-shadow:0 12px 25px #0001}.header nav.open{display:flex}.header-book{padding:13px;font-size:10px}.menu{display:block}.header-actions{display:flex;align-items:center;gap:12px}.hero{height:740px;min-height:0}.hero-content{padding:140px 6% 0}.intro,.feature,.about,.booking,.visit{grid-template-columns:1fr}.intro{gap:30px}.feature-image{min-height:430px}.feature-content{padding:75px 7%}.section-heading{align-items:start;flex-direction:column;gap:0}.gallery-grid img{height:320px}.visit-image{min-height:430px}.booking{gap:40px}.booking-details{margin-top:30px}}@media(max-width:550px){.announcement{font-size:8px;letter-spacing:.08em}.announcement span{margin:0 7px}.logo{font-size:15px;gap:5px}.logo-mark{font-size:30px}.logo small{font-size:6px}.header-book{font-size:9px;padding:11px}.header-book span{display:none}.hero{height:690px}.hero-content{padding-top:130px}.hero h1{font-size:clamp(53px,13vw,80px)}.hero p{font-size:14px}.hero-cta{flex-direction:column;align-items:flex-start;gap:16px}.hero-bottom{font-size:8px}.section{padding:75px 6%}.service-grid{grid-template-columns:1fr}.service-card{min-height:205px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:230px}.gallery-grid img:first-child{grid-column:span 2;height:350px}.booking-panel{padding:24px}.booking-panel h3{font-size:27px}.footer-top{flex-direction:column}.footer-bottom{gap:20px;flex-direction:column}.services-bottom{align-items:flex-start;flex-direction:column}.quote-section{padding:95px 15px}.visit-image{min-height:350px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
