:root{--ink:#0f2f2c;--moss:#1c4a45;--brass:#c39a4a;--brass-d:#a37c30;--sand:#f3ecdd;--paper:#faf6ee;--tx:#25302f;--mut:#5d6b69;--wa:#1c9c52;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font:400 16px/1.65 'Outfit',system-ui,sans-serif;color:var(--tx);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.12;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.3rem,5.2vw,4rem);font-weight:700}h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:600}h3{font-size:1.4rem;font-weight:700}
p{margin:0 0 1em}.wrap{width:min(1180px,92%);margin-inline:auto}.narrow{max-width:800px}.center{text-align:center;margin-top:2rem}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.eyebrow,.tag{color:var(--brass-d);font-weight:500;margin:0 0 .4em;font-size:.95rem}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;border:2px solid transparent;font:600 1rem 'Outfit',sans-serif;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}.btn-block{width:100%}
.btn-gold{background:var(--brass);color:#1b1408}.btn-gold:hover{background:#d4ab5a}
.btn-wa{background:var(--wa);color:#fff}.btn-line{border-color:#fff;color:#fff}.btn-line-d{border-color:var(--ink);color:var(--ink)}
.link{background:none;border:0;color:var(--moss);font:600 1rem 'Outfit';text-decoration:underline;cursor:pointer;padding:0}
/* top */
.offerbar{background:var(--ink);color:#f5e6c4;text-align:center;font-size:.9rem;padding:.45rem 1rem}
.offerbar button{background:none;border:0;color:var(--brass);font:600 .9rem 'Outfit';text-decoration:underline;cursor:pointer;margin-left:.5rem}
.hdr{position:sticky;top:0;z-index:50;background:rgba(250,246,238,.96);backdrop-filter:blur(8px);border-bottom:1px solid #e6dcc6}
.hdr-in{display:flex;align-items:center;gap:1.2rem;padding:.6rem 0}.logo img{height:44px;width:auto}
.nav{display:flex;gap:1.3rem;margin-left:auto}.nav a{text-decoration:none;font-weight:500;font-size:.95rem}.nav a:hover{color:var(--brass-d)}
.hdr-call{font-weight:600;text-decoration:none;color:var(--ink)}.hdr-cta{padding:.6rem 1.2rem}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
/* hero */
.hero{background:linear-gradient(100deg,rgba(9,30,28,.92) 25%,rgba(9,30,28,.45)),var(--hero) center/cover;color:#fff;padding:4.5rem 0}
.hero h1{color:#fff}.hero .tag{color:#e8c98a}.hero-in{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
.lede{font-size:1.15rem;max-width:34em;color:#e7efee}
.stats{display:flex;gap:2.2rem;margin:1.6rem 0;flex-wrap:wrap}.stats b{display:block;font:700 2.2rem/1 'Cormorant Garamond',serif;color:#e8c98a}.stats span{font-size:.9rem;color:#cfe0de}
.offer{border-left:4px solid var(--brass);background:rgba(255,255,255,.1);padding:.7rem 1rem;margin-bottom:1.6rem;border-radius:0 8px 8px 0}.offer strong{display:block;color:#e8c98a}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.card{background:#fff;border-radius:var(--r);padding:1.6rem;border:1px solid #eadfc8}
.hero-form{color:var(--tx);box-shadow:0 20px 50px rgba(0,0,0,.3)}.hero-form h2{font-size:1.9rem;margin-bottom:.2em}
/* forms */
.fld{margin-bottom:.8rem}.fld label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.2rem;color:var(--mut)}
.fld input,.fld textarea,.ph{width:100%;border:1.5px solid #d6cdb8;border-radius:8px;padding:.7rem .85rem;font:inherit;background:#fff;color:var(--tx)}
.fld input:focus,.fld textarea:focus{border-color:var(--moss);outline:0}.ph{display:flex;align-items:center;gap:.5rem;padding:0 .85rem}.ph input{border:0;padding:.7rem 0;outline:0}.ph span{color:var(--mut)}
.hp{position:absolute!important;left:-9999px;height:0;width:0;opacity:0}.fine{font-size:.75rem;color:var(--mut);margin:.7rem 0 0}
.msg{margin:.6rem 0 0;font-weight:500}.msg.err{color:#b3261e}.msg.ok{color:#136c3a}.gl-form.done>*:not(.msg){display:none}.gl-form.done .msg{font-size:1.2rem}
.stars button{background:none;border:0;font-size:2rem;color:var(--brass);cursor:pointer;padding:0 .1rem}
/* sections */
.sec{padding:5rem 0}.sec-sand{background:var(--sand)}.sec-dark{background:var(--ink);color:#dbe8e6}.sec-dark h2,.sec-dark h3{color:#fff}.sec-dark .eyebrow{color:#e8c98a}
.two{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0 0 1.2rem}.facts dt{color:var(--mut)}.facts dd{margin:0;font-weight:500}
.head{display:flex;justify-content:space-between;align-items:end}.arrows button{width:44px;height:44px;border-radius:50%;border:1.5px solid #5f807c;background:none;color:#fff;font-size:1.6rem;cursor:pointer;margin-left:.4rem}
.gal{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;scrollbar-width:thin}
.gal img{flex:0 0 min(440px,80%);height:300px;object-fit:cover;border-radius:var(--r);scroll-snap-align:start;cursor:zoom-in}
.price{display:flex;justify-content:space-between;gap:2rem;align-items:center;flex-wrap:wrap;padding:2rem}.cta-col{display:flex;flex-direction:column;gap:.7rem}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.am{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid #eadfc8}.am img{width:100%;height:170px;object-fit:cover}.am h3,.am ul{margin-inline:1.1rem}.am h3{margin-top:1rem}.am ul{margin-bottom:1.2rem}
ul{padding-left:1.1rem;margin:0}li{margin-bottom:.3rem}
.blur{position:relative;border:0;padding:0;background:none;cursor:pointer;border-radius:var(--r);overflow:hidden}.blur img{filter:blur(5px);width:100%}.blur span{position:absolute;inset:auto 0 0;background:rgba(15,47,44,.9);color:#fff;padding:.8rem;font-weight:600}
.map iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:var(--r)}
.dist{list-style:none;padding:0}.dist li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #efe6d2;padding:.5rem 0}.dist span{color:var(--mut);white-space:nowrap;font-size:.9rem}
.visit{background:var(--moss);color:#fff}.visit h3{color:#fff}
.gi{padding:1.4rem;border:1px solid #2c5e58;border-radius:var(--r)}.gi p{color:#c4d8d5;margin:0}.gi-cta{background:var(--brass);border-color:var(--brass)}.gi-cta h3,.gi-cta p{color:#1b1408}.gi-cta .btn{background:var(--ink);color:#fff;margin-top:1rem}
.why{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.why li{background:#fff;border-radius:var(--r);padding:1.4rem;border-top:4px solid var(--brass)}.why p{margin:0}
.more{margin-top:.5rem}
details{background:#fff;border:1px solid #eadfc8;border-radius:var(--r);margin-bottom:.7rem;padding:0 1.2rem}summary{cursor:pointer;font-weight:600;padding:1rem 0;list-style:none}summary::after{content:"+";float:right;font-size:1.4rem}details[open] summary::after{content:"−"}details p{color:var(--mut)}
.form-light{color:var(--tx)}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.filters button{padding:.5rem 1.1rem;border-radius:999px;border:1.5px solid var(--ink);background:none;font:500 .95rem 'Outfit';cursor:pointer}.filters .on{background:var(--ink);color:#fff}
.pc{background:#fff;border:1px solid #eadfc8;border-radius:var(--r);padding:1.2rem;text-decoration:none;display:flex;flex-direction:column;gap:.3rem}.pc h3{font-size:1.2rem;margin:0}.pc p{margin:0;color:var(--mut);font-size:.9rem;flex:1}.pc b{color:var(--brass-d)}.pc span{font-weight:600;color:var(--moss)}.pc[hidden]{display:none}
.ftr{background:#0a2220;color:#a9bfbc;padding:2.5rem 0 6rem;font-size:.85rem}.ftr .copy{margin:0}
/* modal */
.modal{position:fixed;inset:0;background:rgba(6,20,18,.75);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[hidden]{display:none}
.modal-box{position:relative;display:grid;grid-template-columns:.8fr 1fr;background:#fff;border-radius:14px;max-width:760px;width:100%;overflow:hidden;animation:pop .25s ease-out}
@keyframes pop{from{transform:scale(.94);opacity:0}}
.modal-side{background:var(--ink);color:#dbe8e6;padding:2rem}.modal-side h3{color:#e8c98a}.modal-main{padding:2rem}.modal-main h2{font-size:1.8rem}
.modal-x{position:absolute;right:10px;top:6px;border:0;background:none;font-size:2rem;cursor:pointer;z-index:2;color:#444}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;z-index:110;cursor:zoom-out}.lb img{max-height:90vh;max-width:92vw;border-radius:8px}
/* sticky */
.float{position:fixed;right:18px;bottom:20px;display:flex;flex-direction:column;gap:.6rem;z-index:60}
.float a{padding:.75rem 1.2rem;border-radius:999px;color:#fff;font-weight:600;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.25)}.f-wa{background:var(--wa)}.f-call{background:var(--ink)}
.mbar{display:none}
@media(max-width:960px){
 .hero-in,.two,.modal-box{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}.grid3,.why{grid-template-columns:1fr 1fr}
 .modal-side{display:none}.hdr-call{display:none}.burger{display:block;margin-left:auto}.hdr-cta{display:none}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;padding:1rem 4%;border-bottom:1px solid #e6dcc6;margin:0}.nav.open{display:flex}
}
@media(max-width:600px){
 .sec{padding:3.4rem 0}.hero{padding:2.5rem 0}.grid4,.grid3,.why{grid-template-columns:1fr}.float{display:none}
 .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:70;box-shadow:0 -4px 16px rgba(0,0,0,.2)}
 .mbar a,.mbar button{padding:.95rem .3rem;text-align:center;font:600 1rem 'Outfit';text-decoration:none;color:#fff;border:0;cursor:pointer}
 .mbar a:first-child{background:var(--ink)}.mbar a:nth-child(2){background:var(--wa)}.mbar button{background:var(--brass);color:#1b1408}
 .offerbar{font-size:.8rem}.stats{gap:1.4rem}.head{align-items:start}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
