:root{--ivory:#FBF8F1;--white:#fff;--ink:#2B2B2B;--mute:#5f5a4f;--gold:#B8923A;--gold-d:#8a6a1f;--line:#e8e0cf;--wa:#1faa59;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--serif);font-size:16px;color:var(--ink);background:var(--ivory);line-height:1.65}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{margin:0;font-weight:600;line-height:1.2;text-wrap:balance}
h2{font-size:clamp(26px,4vw,38px);margin-bottom:10px}
h3{font-size:20px}
p{margin:0 0 14px}
a{color:inherit}
.sans,.btn,button,input,select,textarea,label,nav a,.eyebrow,small{font-family:var(--sans)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 14px;z-index:5000;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid #1a5fd0;outline-offset:2px}
section,.wrap{max-width:1180px;margin:auto;padding:56px 18px}
.tight{padding-top:30px}
.eyebrow{color:var(--gold-d);letter-spacing:.18em;text-transform:uppercase;font-size:12px;margin-bottom:8px}
.lead{color:var(--mute);max-width:660px;margin:0 0 26px}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:600;border:1.5px solid var(--gold);transition:.25s;text-align:center;cursor:pointer;background:none;color:var(--ink);line-height:1.2}
.gold{background:var(--gold);color:#1f1b12}.gold:hover{background:#a8832e}
.ghost{background:var(--white)}.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:10px}
/* header */
header.site{position:sticky;top:0;z-index:1000;background:rgba(251,248,241,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.hbar{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:9px 18px;gap:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo svg{width:38px;height:38px;flex:none}
.logo b{display:block;font-size:17px;line-height:1.1}
.logo small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d)}
nav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;align-items:center}
nav a{display:block;padding:10px 11px;text-decoration:none;font-size:14.5px;border-radius:8px}
nav a:hover{color:var(--gold-d)}
nav a[aria-current=page]{color:var(--gold-d);font-weight:700;box-shadow:inset 0 -2px 0 var(--gold)}
nav a.cta-n{background:var(--gold);color:#1f1b12;font-weight:600;border-radius:999px;padding:10px 18px;margin-left:6px;box-shadow:none}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer;padding:0;align-items:center;justify-content:center}
.burger span,.burger span:before,.burger span:after{display:block;width:20px;height:2px;background:var(--ink);position:relative;content:"";transition:.25s}
.burger span:before{position:absolute;top:-6px}.burger span:after{position:absolute;top:6px}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}
.burger[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}
@media(max-width:1100px){
 .burger{display:flex}
 nav{position:absolute;left:0;right:0;top:100%;background:var(--ivory);border-bottom:1px solid var(--line);display:none}
 nav.open{display:block}
 nav ul{flex-direction:column;align-items:stretch;padding:8px 14px 16px}
 nav a{padding:14px 12px;font-size:16px}
 nav a.cta-n{text-align:center;margin:6px 0 0}
}
/* hero */
section.hero{position:relative;max-width:none;padding:0}
.stage{position:relative;height:min(76vh,50vw);min-height:420px;max-height:760px;overflow:hidden;background:#ddd}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:12px;left:12px;background:rgba(43,43,43,.8);color:#fff;font:12px var(--sans);letter-spacing:.04em;padding:5px 10px;border-radius:999px}
.hero-card{position:absolute;left:3%;bottom:5%;max-width:480px;background:rgba(251,248,241,.94);padding:20px 22px;border-radius:14px;border-top:3px solid var(--gold);box-shadow:0 14px 40px rgba(0,0,0,.18);animation:rise .9s ease both}
.hero-card h1{font-size:clamp(26px,3.4vw,38px);margin-bottom:8px}
.hero-card p{margin:0 0 14px;color:var(--mute);font-size:15px}
.hero-card .btns{gap:8px;flex-wrap:nowrap}
.hero-card .btn{white-space:nowrap;padding:10px 15px;font-size:14px}
.dots{position:absolute;right:16px;bottom:14px;display:flex;gap:2px}
.dots button{width:26px;height:26px;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dots button:after{content:"";width:9px;height:9px;border-radius:50%;background:#fff;opacity:.75}
.dots button.on:after{background:var(--gold);opacity:1}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:900px){
 .stage{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}
 .hero-card{position:relative;left:auto;bottom:auto;margin:-28px 14px 0;max-width:none;padding:20px}
 .hero-card .btns{flex-wrap:wrap}.hero-card .btn{white-space:normal}
 .dots{bottom:34px}
}
/* inner page heading */
.pagehead{background:linear-gradient(180deg,#f3ecda,var(--ivory));border-bottom:1px solid var(--line)}
.pagehead .wrap{padding:34px 18px 30px}
.crumbs{font:13px var(--sans);color:var(--mute);margin-bottom:10px}
.crumbs a{text-decoration:none;display:inline;padding:0}.crumbs a:hover{color:var(--gold-d)}
.pagehead h1{font-size:clamp(30px,5vw,46px)}
.pagehead p{color:var(--mute);margin:10px 0 0;max-width:680px}
/* cards, grids */
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(60,45,10,.12)}
.ph{aspect-ratio:4/3;background:#eee;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.04)}
.body{padding:18px}
.price{color:var(--gold-d);font-size:24px;font-weight:700;font-family:var(--sans)}
.meta{color:var(--mute);font-size:14px;font-family:var(--sans);margin:4px 0 14px}
.pill{display:inline-block;font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#efe4c8;color:#5d4710;padding:3px 9px;border-radius:999px;margin-bottom:8px}
.note{font-size:14px;color:var(--mute);margin-top:18px;font-family:var(--sans)}
.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px}
.split{display:grid;gap:28px;grid-template-columns:1fr;align-items:center}
.split>*{min-width:0}
@media(min-width:820px){.split{grid-template-columns:1fr 1fr}.split.rev>:first-child{order:2}}
.rounded{border-radius:14px;overflow:hidden}
.rounded img{width:100%;height:100%;object-fit:cover}
.tall{aspect-ratio:4/5;max-height:520px}
.facs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.facs div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-family:var(--sans);font-size:15px}
.facs strong{display:block;margin-bottom:2px}
.facs strong:before{content:"\2713  ";color:var(--gold-d)}
.facs span{color:var(--mute);font-size:14px}
.strip{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-top:6px}
.strip div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font:14px var(--sans);color:var(--mute)}
.strip b{display:block;font:700 18px var(--serif);color:var(--ink)}
table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line)}
th{background:#f3ecda;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.tablewrap{overflow-x:auto}
/* reviews */
.rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.rv-nav{display:flex;gap:10px}
.rv-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;cursor:pointer;color:var(--ink)}
.rv-nav button:hover{background:var(--gold);border-color:var(--gold)}
.rv-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 14px;-webkit-overflow-scrolling:touch}
.rv-track::-webkit-scrollbar{display:none}
.rv{flex:0 0 min(360px,88%);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}
.stars{color:#c9961a;letter-spacing:2px;font-size:18px;line-height:1}
.stars .off{color:#dcd3bd}
.rv-text{font:15.5px/1.6 var(--sans);color:#3a372f;white-space:pre-line;margin:0}
.rv-text.clamp{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.rv-more,.rv-g{font:600 14px var(--sans);color:var(--gold-d);background:none;border:0;padding:0;text-align:left;cursor:pointer;text-decoration:underline}
.rv-who{display:flex;gap:10px;align-items:center;margin-top:auto}
.rv-who small{display:block;color:var(--mute);font-size:12.5px}
.av{width:40px;height:40px;border-radius:50%;background:#efe4c8;color:#5d4710;display:flex;align-items:center;justify-content:center;font:700 16px var(--sans);flex:none}
.rvgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.rvgrid .rv{flex:initial}
/* gallery */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.filters button{border:1px solid var(--line);background:var(--white);padding:10px 16px;border-radius:999px;cursor:pointer;font-size:14px;color:var(--ink)}
.filters button.on{background:var(--gold);color:#1f1b12;border-color:var(--gold)}
.gal{columns:2 160px;column-gap:12px}
@media(min-width:760px){.gal{columns:3}}
.gal button{display:block;position:relative;width:100%;margin:0 0 12px;padding:0;border:0;border-radius:10px;overflow:hidden;break-inside:avoid;cursor:zoom-in;background:#eee}
.gal img{width:100%;height:auto;transition:.4s}.gal button:hover img{transform:scale(1.04)}
.mini{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.mini{grid-template-columns:repeat(4,1fr)}}
.mini a{display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/3}
.mini img{width:100%;height:100%;object-fit:cover;transition:.4s}.mini a:hover img{transform:scale(1.05)}
.lb{position:fixed;inset:0;background:rgba(20,18,12,.93);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px;flex-direction:column;gap:10px}
.lb.on{display:flex}
.lb img{max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:6px}
.lb p{color:#eee;font:14px var(--sans);margin:0;text-align:center}
.lb button{position:absolute;color:#fff;background:rgba(255,255,255,.12);border:0;cursor:pointer;width:48px;height:48px;border-radius:50%;font-size:26px}
.lb .x{top:12px;right:14px}.lb .pv{left:12px;top:50%}.lb .nx{right:12px;top:50%}
/* forms */
form{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){form{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}}
label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfc6b0;border-radius:10px;background:#fff;font-size:16px;color:var(--ink)}
textarea{min-height:90px;resize:vertical}
.err{color:#b3261e;font:14px var(--sans);min-height:20px}
.wapreview{white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:14px/1.5 var(--sans);margin:10px 0}
.policy{background:var(--ivory);border-left:3px solid var(--gold);padding:14px 16px;border-radius:8px;font:15px var(--sans);margin-top:14px}
.confirmnote{font:600 14px var(--sans);margin-top:12px}
.steps{margin:0 0 18px;padding-left:22px;font:15px var(--sans);color:var(--mute)}
.steps li{margin-bottom:6px}
/* contact */
.cinfo p{margin:0 0 12px;font:15.5px var(--sans)}
.cinfo b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.mapcard{position:relative;display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 24px rgba(60,45,10,.1)}.mapcard img{width:100%;height:auto}.mapbtn{position:absolute;right:14px;top:14px;background:var(--gold);color:#1f1b12;font:700 15px var(--sans);padding:13px 24px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.25);white-space:nowrap}.mapcard:hover .mapbtn{background:#a8832e}.mapnote{position:absolute;left:0;right:0;bottom:10px;text-align:center;font:12px var(--sans);color:#4b5563}
.map{border:0;width:100%;height:380px;border-radius:14px;background:#e9e4d6}
/* text pages */
.prose{max-width:760px}
.prose h2{font-size:24px;margin:30px 0 8px}
.prose p,.prose li{color:#3a372f}
.prose ul{padding-left:22px}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;font-family:var(--sans)}
summary{cursor:pointer;font-weight:600}
details p{margin:10px 0 0;color:var(--mute)}
.trust{display:grid;gap:22px;grid-template-columns:1fr;align-items:center}
@media(min-width:760px){.trust{grid-template-columns:230px 1fr}}
.trust .pic{width:200px;height:200px;border-radius:50%;overflow:hidden;border:4px solid #efe4c8;margin:auto}
.trust .pic img{width:100%;height:100%;object-fit:cover}
.vcard{max-width:760px;margin:10px auto 0;background:linear-gradient(160deg,#fffdf7,#f6efdc);border:1px solid #d9c690;border-radius:22px;box-shadow:0 18px 44px rgba(90,70,20,.18);padding:22px;position:relative;overflow:hidden}
.vcard:before{content:"";position:absolute;inset:8px;border:1px solid #e3d3a2;border-radius:16px;pointer-events:none}
.vc-top{display:grid;grid-template-columns:70px 1fr 70px;gap:10px;align-items:center;text-align:center;position:relative}
.vc-t{width:70px;height:56px;border-radius:8px;overflow:hidden}.vc-p{width:70px}.vc-t img{width:100%;height:100%;object-fit:cover}
.vc-te{font:700 clamp(22px,4.5vw,32px)/1.2 var(--serif);color:#9b1c1c}.vc-en{font:700 clamp(17px,3.4vw,24px)/1.2 var(--serif);letter-spacing:.12em;color:#2B2B2B}.vc-sub{font:12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);margin-top:4px}
.vc-mid{display:grid;gap:16px;grid-template-columns:1fr;margin:18px 0;position:relative}
@media(min-width:640px){.vc-mid{grid-template-columns:1.5fr 1fr;align-items:center}}
.vc-b{border-radius:12px;overflow:hidden;border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.15)}.vc-b img{width:100%;height:auto}
.vc-tr{text-align:center;font-family:var(--sans)}.vc-tr b{display:block;font:700 15px/1.35 var(--serif);color:#1d6b3a}.vc-tr small{display:block;color:var(--mute);margin-top:2px;letter-spacing:.14em;text-transform:uppercase;font-size:11px}
.vc-pic{width:130px;height:130px;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.18);margin:0 auto 10px}.vc-pic img{width:100%;height:100%;object-fit:cover}
.vc-bot{text-align:center;position:relative}.vc-bot p{font:600 15px var(--sans);color:#2b2b8a;margin-bottom:12px}.vc-bot .btns{justify-content:center}
.cap{font:13px var(--sans);color:var(--mute);text-align:center;margin-top:8px}
.cta{background:var(--white);border:1px solid var(--line);border-radius:16px;text-align:center;padding:36px 20px}
.cta p{max-width:560px;margin:0 auto 18px;color:var(--mute);font:15px var(--sans)}
/* footer */
footer.site{background:#26231d;color:#e9e3d3;margin-top:30px}
.fgrid{max-width:1180px;margin:auto;padding:44px 18px 18px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));font:14.5px/1.7 var(--sans)}
footer h3{font:600 15px var(--serif);color:#fff;margin-bottom:10px}
footer a{text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:#e5c76b}
.soc{display:flex;gap:10px;margin-top:10px}
.soc span{width:38px;height:38px;border:1px solid #6b6455;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 13px var(--sans);opacity:.85}
.ftrust{flex-wrap:wrap;display:flex;gap:12px;align-items:center;background:#2f2b23;border-radius:12px;padding:12px;margin-top:12px}
.ftrust .p1{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;border:2px solid #6b5a2b}
.ftrust .p2{width:76px;height:56px;border-radius:8px;overflow:hidden;flex:none}
.ftrust img{width:100%;height:100%;object-fit:cover}
.ft-img{display:flex;gap:10px;align-items:center;flex:none}.ft-tx{min-width:0;font:13.5px/1.45 var(--sans);color:#d9d2bf}.ft-tx b{display:block;color:#fff;font-size:14.5px;margin-bottom:2px}.ft-tx span{display:block}.ft-tx a{display:inline-block;color:#e5c76b;padding:6px 0 0}
.fcard{max-width:1180px;margin:auto;padding:6px 18px 18px}.fcard img{width:100%;max-width:420px;border-radius:12px;border:1px solid #3d392f}
.dist{font:15px var(--sans);margin:10px 0;min-height:22px;font-weight:600}
.finds{max-width:1180px;margin:auto;padding:6px 18px 14px;font:12.5px var(--sans);color:#a79f89}
.copy{max-width:1180px;margin:auto;padding:14px 18px 90px;border-top:1px solid #3d392f;font:13px var(--sans);color:#b9b19c}
.wa{position:fixed;right:14px;bottom:16px;z-index:9999;width:56px;height:56px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.wa svg{width:30px;height:30px;fill:#fff}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
