:root{--pine:#28483e;--pine2:#1b302a;--cream:#f5f2e9;--paper:#fcfaf4;--sage:#e5e9df;--tomato:#aa8065;--gold:#c5a77b;--ink:#24342e;--muted:#65736b;--line:#d8ddd4}
body{background:var(--cream);color:var(--ink);line-height:1.55}.wrap{width:min(1160px,calc(100% - 44px))}.ribbon{background:var(--pine2);color:#f3f1e7;font-weight:500;letter-spacing:.04em;text-transform:none}.ribbon .wrap{padding:9px 0}.ribbon a{color:#d6c4a5}.header{background:var(--paper);color:var(--pine2);border-bottom:1px solid var(--line)}.brand{font-family:var(--sans);font-size:18px}.brand small{color:var(--muted);letter-spacing:.12em}.brand-icon{background:var(--pine);color:var(--paper);border-radius:50%;transform:none}.pill,.btn{background:var(--pine);color:white;border-radius:3px;box-shadow:none;letter-spacing:.015em;font-weight:750}.pill:hover,.btn:hover{background:var(--pine2);color:white;box-shadow:none;transform:translateY(-1px)}
.hero{background:var(--pine2);padding:0}.hero:before{background:#d9d8ca;color:var(--pine2);font-size:9px;letter-spacing:.12em;padding-top:9px;padding-bottom:9px}.hero-inner{background:var(--pine2);grid-template-columns:1.02fr .98fr;min-height:590px;color:#f7f4eb}.hero-copy{padding:58px 40px 50px 0}.hero-copy:before{color:#ffffff0b;font-size:155px}.hero-copy .kicker{color:#d6c4a5;letter-spacing:.16em}.hero-copy h1{font:500 clamp(52px,6.2vw,83px)/.99 var(--serif);letter-spacing:-.045em;text-transform:none;margin:22px 0;max-width:610px}.hero-copy h1 em{color:#d6c4a5;font-style:normal}.hero-copy>p{color:#d9e0db;font-size:15px;max-width:420px}.hero-photo{background:var(--pine);padding:14px 0 14px 14px;min-height:590px}.hero-photo img{min-height:560px;filter:saturate(.77)}.hero-photo:after{background:#f1eee4;color:var(--pine2);font-weight:800;letter-spacing:.1em}.photo-caption{background:var(--pine2);box-shadow:none;color:white;letter-spacing:.1em}.phone{color:#e3d2b7}.availability{color:#cbd6ce;text-transform:none;letter-spacing:0;font-size:11px}.availability b{color:#d6c4a5}.ticker{background:#e5e6dd;color:var(--pine2)}.ticker span{border-color:#28483e20;font-size:9px;letter-spacing:.06em}.ticker span:first-child{border-left-color:#28483e20}.ticker span:before{color:var(--tomato)}
.section{padding:78px 0}.label{color:#927053;letter-spacing:.15em}.section h2{font:500 clamp(38px,4.5vw,58px)/1.03 var(--serif);letter-spacing:-.035em;text-transform:none;color:var(--pine2);margin:13px 0 18px}.intro{gap:75px}.intro-note{border-left:0;border-top:2px solid #b59a77;padding:18px 0 0;font:500 22px/1.25 var(--serif);letter-spacing:0;color:var(--pine)}.rentals{background:var(--paper);color:var(--ink)}.rentals .section-head h2{color:var(--pine2)}.rentals .section-head p{color:var(--muted)}.cards{border-color:var(--line)}.card{background:transparent;border:0;border-right:1px solid var(--line);padding:22px 19px;min-height:220px;border-radius:0}.card:first-child{border-left:1px solid var(--line)}.card:hover{background:#f4f2ea;color:var(--ink);box-shadow:none;transform:translateY(-2px)}.card-num{font:italic 25px var(--serif);color:#927053}.card:hover .card-num,.card:hover h3,.card:hover p{color:var(--pine)}.card h3{font:600 22px/1.15 var(--serif);text-transform:none;letter-spacing:0;color:var(--pine);margin:20px 0 10px}.card p{color:var(--muted);font-size:13px}
.planning{background:#e5e9df;color:var(--ink)}.planning .section h2,.planning h2{color:var(--pine2)}.planning .label{color:#927053}.planning .plan-grid{gap:65px}.planning p{color:var(--muted)}.step{border-color:#28483e25}.step b{font:italic 23px var(--serif);color:#927053}.step span{color:var(--muted)}.plan-box{background:#f7f5ed;color:var(--ink);padding:31px;border-radius:3px;box-shadow:none;border-top:3px solid #b59a77}.plan-box .label{color:#927053}.plan-box h3{font:500 32px/1.1 var(--serif);text-transform:none}.plan-box p{color:var(--muted)}.plan-box .phone{color:var(--pine)}
.area{background:var(--cream)}.area-grid{gap:60px}.area-art{min-height:350px;border-radius:3px;background:#dce4d9}.area-art:before{left:-8%;right:-8%;height:70%;bottom:-5%;border-radius:50% 50% 0 0;background:#829985;transform:rotate(-7deg)}.area-art:after{left:-8%;right:-8%;height:49%;bottom:-9%;border-radius:50% 50% 0 0;background:#526f5e;transform:rotate(4deg);opacity:.88}.area-stamp{background:var(--paper);color:var(--pine);box-shadow:0 6px 18px #182b2320;border-radius:3px;font:500 20px/1.12 var(--serif);text-transform:none}.towns span{border-radius:2px;border:1px solid #c8d1c4;color:var(--pine);font-weight:650}.quote{background:#e9e6da}.quote-card{border:1px solid var(--line);background:var(--paper);padding:27px;border-radius:3px;box-shadow:none}.field input,.field select{border:1px solid var(--line);border-radius:3px}.field label{color:var(--pine)}.form-foot .btn{background:var(--pine);color:white;box-shadow:none}.result{border-left:3px solid #b59a77;border-radius:0}.faq{background:var(--paper)}.faq-list details{border-color:var(--line)}.faq-list summary{font-weight:700;text-transform:none;font-size:14px;letter-spacing:0}.faq-list summary:after{color:#927053}.contact{background:#dce4d9;color:var(--pine2)}.contact h2{font:500 34px/1.1 var(--serif);text-transform:none}.contact p{color:var(--muted)}.contact .btn{background:var(--pine);color:white;box-shadow:none}.footer{background:var(--pine2);color:#eeeee5}.footer .brand-icon{background:#aa8065;color:white}.footer h3{color:#d6c4a5}.sticky{border-radius:3px;background:var(--pine);color:white;box-shadow:0 3px 10px #102d2833;letter-spacing:.02em}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}.hero-copy{padding:48px 30px 40px}.hero-photo{min-height:400px;padding:14px}.hero-photo img{min-height:370px}.cards{grid-template-columns:repeat(2,1fr)}.area-grid{gap:35px}}
@media(max-width:620px){.wrap{width:calc(100% - 28px)}.hero-copy{padding:38px 20px 32px}.hero-copy h1{font-size:56px;line-height:1.02}.hero-copy:before{font-size:110px;right:10px}.hero-photo{min-height:300px;padding:10px}.hero-photo img{min-height:280px}.photo-caption{left:18px;bottom:32px;font-size:8px}.ticker .wrap{grid-template-columns:1fr 1fr}.ticker span{padding:12px 9px;font-size:8px}.section{padding:55px 0}.section h2{font-size:43px}.intro{gap:14px}.cards{grid-template-columns:1fr 1fr}.card{padding:17px 12px;min-height:195px}.card:nth-child(2n){border-right:0}.card:nth-child(3){border-left:1px solid var(--line)}.card h3{font-size:20px}.plan-box{padding:23px}.area-grid{gap:22px}.area-art{min-height:260px}.area-stamp{font-size:18px}.quote-grid,.faq-grid{gap:18px}.quote-card{padding:17px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.contact h2{font-size:31px}}
