:root{--forest:#17392e;--paper:#faf8ef;--sun:#f5ff8d;--rule:#c8cbbc;--book-ink:var(--forest);--book-accent:#234c3e;--book-bg:var(--paper);color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--forest);font:17px/1.5 "DM Sans","Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid #e36626;outline-offset:4px}
.wrap{width:min(100%,1480px);margin-inline:auto;padding-inline:clamp(22px,5.4vw,90px)}
.skip{position:fixed;left:12px;top:-100px;padding:.6em 1em;z-index:10;background:white}
.skip:focus{top:10px}
.compare{background:#e8e9df;color:#354438}
.compare-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:34px;font-size:12px}
.compare-inner>.review-home{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:bold}
.compare nav{display:flex;gap:19px}
.compare a{padding:6px 0}.compare a[aria-current]{font-weight:bold;text-decoration:underline;text-underline-offset:3px}
.mast{display:flex;align-items:center;gap:26px;min-height:92px}
.brand{font:italic 900 clamp(40px,4.2vw,66px)/.95 Georgia,serif;letter-spacing:-.089em;white-space:nowrap}
.brand span{color:#9d4b25}
.local{font-size:11px;line-height:1.38;padding-left:20px;border-left:1px solid #a6ac9c}
.local b{font-weight:650}.mast nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-weight:650;font-size:15px}
.contact-nav{padding:9px 17px;border:1px solid #879c8b;border-radius:30px}
.contact-nav span{margin-left:5px}
.hero{isolation:isolate;position:relative;background:#35453a;color:#fff;overflow:hidden}
.scene{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,22,17,.88),rgba(10,24,16,.69) 32%,rgba(24,35,23,.28) 55%,transparent 83%)}
.hero-content{min-height:clamp(500px,41vw,670px);padding-top:clamp(35px,4.2vw,76px);padding-bottom:clamp(44px,4vw,77px);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.location,.overline{margin:0;font-size:12px;line-height:1.3;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.location{color:var(--sun);margin-bottom:18px}
h1{margin:0 0 17px;font-size:clamp(82px,7.7vw,132px);line-height:.88;letter-spacing:-.072em;font-weight:800}
.promise{margin:0;font-size:clamp(18px,1.4vw,23px);line-height:1.4;letter-spacing:-.01em}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:26px}
.main-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border-radius:4px;background:var(--sun);color:#183328;font-size:16px;font-weight:750;padding:14px 20px}
.main-btn:hover{background:#fbffba}
.see-rates,.reference{text-decoration:underline;text-underline-offset:4px}
.see-rates{font-size:15px;font-weight:600}
.founder{background:#e8ecdc}
.founder-in{display:grid;grid-template-columns:minmax(145px,.85fr) 1.65fr auto;align-items:center;gap:clamp(24px,4vw,74px);padding-block:clamp(28px,2.9vw,50px)}
.founder h2{font:italic 600 clamp(28px,2.6vw,43px)/1.03 Georgia,serif;letter-spacing:-.055em;margin:0}
.founder p{margin:0;max-width:55ch;font-size:clamp(16px,1.2vw,19px);line-height:1.5}
.reference{font-size:15px;font-weight:700;white-space:nowrap}
.rate-section{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;padding-block:clamp(50px,6vw,96px)}
.overline{color:#5c6b54}
.rate-intro h2{margin:14px 0 16px;font-size:clamp(44px,4.2vw,70px);line-height:1;letter-spacing:-.07em}
.rate-intro>p:last-child{max-width:31ch}
.rate{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--rule)}
.rate:first-child{border-top:2px solid var(--forest)}
.rate b{display:block;font-size:clamp(17px,1.45vw,23px);letter-spacing:-.04em}.rate small{display:block;color:#55644d;font-size:14px}
.rate>span:last-child{white-space:nowrap;font-size:14px}.rate strong{font-size:clamp(27px,2vw,37px);letter-spacing:-.06em}
.rate i{font:normal 20px Arial;margin-left:9px}
.rate:hover b,.mast nav a:hover,.foot>a:last-child:hover{text-decoration:underline}
.fine{font-size:14px;line-height:1.5;color:#485647}
.booking-band{border-block:1px solid #d9decf;background:#f0f2e6}
.foot{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:100px;font-size:14px}
.foot .brand{font-size:34px}.foot>a:last-child{font-weight:700}
@media(max-width:820px){.founder-in{grid-template-columns:.8fr 1.5fr;gap:12px 25px}.reference{grid-column:2}.rate-section{gap:5%}.hero-content{min-height:495px}h1{font-size:clamp(75px,10vw,90px)}}
@media(max-width:600px){.mast{gap:0;min-height:70px}.mast nav{gap:0}.local,.rates-nav{display:none}.contact-nav{font-size:13px;padding:8px 10px}.brand{font-size:40px}.compare-inner{padding-inline:14px;gap:6px;min-height:32px;font-size:11px}.compare-inner>.review-home{font-size:8px;letter-spacing:.06em}.compare nav{gap:10px}.hero-content{justify-content:flex-end;min-height:540px;padding-top:185px;padding-bottom:28px}.scene{object-position:72% center}.hero:before{background:linear-gradient(0deg,rgba(11,25,18,.95) 0%,rgba(13,28,19,.77) 32%,rgba(14,27,18,.45) 58%,transparent 86%)}.hero h1{font-size:clamp(58px,13.6vw,80px);margin-bottom:14px}.location{font-size:10px;margin-bottom:13px}.promise{font-size:17px}.hero-actions{margin-top:20px;gap:17px}.main-btn{font-size:15px;padding:13px 14px;gap:8px}.see-rates{font-size:14px}.founder-in,.rate-section{display:block}.founder h2{font-size:32px}.wide-only{display:none}.founder p{margin:12px 0}.reference{font-size:14px}.rate-section{padding-block:40px}.rate-intro>p:last-child{max-width:100%;margin:0 0 25px}.rate-intro h2{margin:8px 0 10px}.rate{gap:10px}.rate i{margin-left:2px}.foot{padding-block:24px;flex-wrap:wrap}.foot span{font-size:12px}}
@media(max-width:360px){.compare-inner>.review-home{display:none}.compare nav{width:100%;justify-content:space-between}.hero-content{min-height:490px}.foot span{width:100%}}
@media(max-width:600px){.compare-inner{min-height:34px}.compare-inner>.review-home{font-size:9px;white-space:nowrap}.compare nav{gap:8px;font-size:10px}.compare nav a{white-space:nowrap}}
