:root{--ink:#1f2b24;--olive:#2d4135;--sage:#738271;--sand:#ebe2d2;--cream:#f8f5ee;--terracotta:#a96846;--white:#fff;--line:#d9d6cd;--muted:#667168;--shadow:0 18px 60px rgba(25,42,31,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.6 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select{font:inherit}.topline{background:var(--olive);color:#eef2ec;padding:.55rem 5vw;text-align:center;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase}header{position:sticky;top:0;z-index:20;background:rgba(248,245,238,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(45,65,53,.12)}nav{max-width:1220px;margin:auto;min-height:78px;padding:0 24px;display:flex;align-items:center;gap:28px}.brand{margin-right:auto;display:flex;align-items:center;gap:12px}.mark{width:38px;height:38px;border:1px solid var(--olive);display:grid;place-items:center;font:500 19px "Playfair Display"}.brand-text strong{display:block;font:600 17px/1.05 "Playfair Display";letter-spacing:.06em}.brand-text small{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#667168}.navlinks{display:flex;gap:25px;font-size:.88rem;font-weight:600}.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--terracotta)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 17px;border:1px solid var(--olive);background:var(--olive);color:#fff;font-weight:600;font-size:.84rem;cursor:pointer;transition:.2s}.button.secondary{background:transparent;color:var(--ink)}.button:hover,.card:hover{transform:translateY(-2px)}.menu{display:none;border:0;background:none;font-size:1.5rem}.nav-dropdown{position:relative}.nav-drop-trigger{border:0;background:transparent;color:var(--ink);font:600 .88rem "DM Sans",sans-serif;padding:0;cursor:pointer}.nav-drop-menu{display:none;position:absolute;top:30px;left:-16px;min-width:205px;padding:10px;background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow);z-index:40}.nav-dropdown.open .nav-drop-menu{display:grid}.nav-drop-menu a{padding:9px 10px;font-size:.82rem;white-space:nowrap}.nav-drop-menu a:hover{background:var(--sand);color:var(--terracotta)}
.page-hero{background:var(--olive);color:#fff;padding:76px 5vw 84px}.page-hero .inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.eyebrow{font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;color:#d9b08d;font-weight:600}.page-hero h1{font:500 clamp(3rem,6vw,5.5rem)/1 "Playfair Display";letter-spacing:-.045em;margin:17px 0 22px}.page-hero h1 em{font-weight:500;color:#d9b08d}.page-hero p{margin:0;color:#d3dad4;max-width:560px}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #617064}.fact{padding:20px 16px 0 0}.fact strong{display:block;font:500 1.5rem "Playfair Display"}.fact span{font-size:.76rem;color:#bec9c1}.crumbs{max-width:1180px;margin:0 auto 18px;font-size:.75rem;color:#aeb8b0}.crumbs a{border-bottom:1px solid #839087}
.section{padding:68px 5vw}.inner{max-width:1180px;margin:auto}.section-title{display:flex;gap:40px;align-items:end;justify-content:space-between;margin-bottom:32px}.section-title h2{font:500 clamp(2rem,4vw,3.4rem)/1.05 "Playfair Display";margin:7px 0}.section-title p{max-width:520px;color:var(--muted);margin:0}.notice{background:var(--sand);padding:18px 22px;border-left:3px solid var(--terracotta);font-size:.84rem;margin-bottom:28px}.filterbar{background:#fff;border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr auto;gap:10px;margin-bottom:30px}.field{padding:6px 12px;border-right:1px solid var(--line)}.field label{display:block;font-size:.67rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.field select,.field input{width:100%;border:0;background:transparent;padding:6px 0;color:var(--ink)}.results{font-size:.82rem;color:var(--muted);margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #e5e0d6;transition:.25s;display:flex;flex-direction:column;min-width:0}.card-media{height:230px;position:relative;overflow:hidden;background:#ddd6c9}.card-media img{height:100%;transition:.4s}.card:hover .card-media img{transform:scale(1.025)}.badge{position:absolute;top:13px;left:13px;background:rgba(248,245,238,.94);padding:6px 9px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.kicker{color:var(--terracotta);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.card h2,.card h3{font:500 1.38rem/1.18 "Playfair Display";margin:7px 0 10px}.price{font:600 1.2rem "Playfair Display";margin-bottom:12px}.meta{display:flex;gap:12px;flex-wrap:wrap;color:#6a746d;font-size:.76rem;padding-top:12px;border-top:1px solid #ece8e0}.card-actions{display:flex;gap:8px;margin-top:auto;padding-top:18px}.card-actions .button{flex:1;min-height:40px;padding:0 10px}.source{font-size:.7rem;color:var(--muted);margin-top:13px}.source a{text-decoration:underline}.empty{display:none;background:#fff;padding:40px;text-align:center;border:1px solid var(--line);grid-column:1/-1}.provider-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px}.provider{background:#fff;border:1px solid var(--line);padding:18px}.provider b{display:block;font:500 1rem "Playfair Display"}.provider span{display:block;color:var(--muted);font-size:.72rem;margin-top:5px}.provider.partner{border-top:3px solid var(--terracotta)}
.village-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.village-card{background:#fff;border:1px solid #e5e0d6;scroll-margin-top:110px}.village-card .cover{height:300px;position:relative;overflow:hidden}.village-card .cover img{height:100%}.village-card .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(20,31,25,.8))}.village-card .cover-copy{position:absolute;z-index:1;left:25px;right:25px;bottom:22px;color:#fff}.village-card h2{font:500 2rem "Playfair Display";margin:0}.village-card .cover-copy p{font-size:.82rem;margin:4px 0 0}.village-content{padding:24px}.village-content>p{color:#5c675f;margin-top:0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:18px}.info-grid h3{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta);margin:0 0 7px}.info-grid ul{list-style:none;padding:0;margin:0;font-size:.82rem;color:#59635c}.info-grid li{margin:5px 0}.info-grid li:before{content:"—";margin-right:6px;color:#a5aaa6}.photo-credit{font-size:.68rem;color:#7a817c;margin-top:16px}.photo-credit a{text-decoration:underline}.compare{background:var(--sand);padding:26px;margin-top:28px}.compare h2{font:500 1.6rem "Playfair Display";margin:0 0 15px}.compare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.compare-item{background:rgba(255,255,255,.72);padding:16px}.compare-item b{display:block;font:500 1rem "Playfair Display"}.compare-item span{font-size:.76rem;color:#647068}
.modal{position:fixed;inset:0;background:rgba(17,28,21,.72);z-index:60;display:none;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-panel{background:var(--cream);max-width:830px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow);position:relative}.modal img{height:360px}.modal-copy{padding:28px}.modal-close{position:absolute;right:12px;top:12px;width:42px;height:42px;border:0;background:#fff;font-size:1.4rem;cursor:pointer;z-index:2}.modal h2{font:500 2.15rem/1.1 "Playfair Display";margin:7px 0}.modal p{color:#59635c}.modal-meta{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.modal-meta span{background:var(--sand);padding:8px 10px;font-size:.8rem}
.service-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-choice{background:#fff;border:1px solid #e5e0d6;padding:27px;min-height:270px;display:flex;flex-direction:column;transition:.25s}.service-choice:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.service-choice .number{font:500 2rem "Playfair Display";color:var(--terracotta)}.service-choice h2{font:500 1.45rem/1.15 "Playfair Display";margin:20px 0 9px}.service-choice p{font-size:.84rem;color:#647068;margin:0 0 20px}.service-choice b{margin-top:auto;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.package-band{margin-top:22px;background:var(--olive);color:#fff;padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.package-band h2{font:500 1.65rem "Playfair Display";margin:0}.package-band p{color:#d7dfd9;margin:0}.detail-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.detail-copy h2{font:500 clamp(2rem,4vw,3.2rem)/1.08 "Playfair Display";margin:9px 0 22px}.detail-copy p{color:#566159}.checklist{list-style:none;padding:0;margin:28px 0}.checklist li{padding:13px 0 13px 29px;border-bottom:1px solid var(--line);position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--terracotta);font-weight:600}.sidecard{background:#fff;border:1px solid #e5e0d6;padding:27px;position:sticky;top:110px}.sidecard h3{font:500 1.35rem "Playfair Display";margin:0 0 14px}.sidecard p,.sidecard li{font-size:.82rem;color:#606b63}.sidecard ul{padding-left:18px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);margin-top:30px}.process-step{padding:24px 22px 10px 0;border-right:1px solid var(--line);margin-right:22px}.process-step:last-child{border:0}.process-step b{font:500 1.65rem "Playfair Display";color:var(--terracotta)}.process-step h3{font:500 1.05rem "Playfair Display";margin:12px 0 6px}.process-step p{font-size:.79rem;color:#69736c;margin:0}.legal-note{background:var(--sand);padding:20px 23px;font-size:.82rem;color:#536057;margin-top:28px}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.related a{background:#fff;border:1px solid var(--line);padding:22px;font:500 1.05rem "Playfair Display"}.related a span{display:block;font:400 .75rem "DM Sans";color:var(--muted);margin-top:6px}
.cta{background:var(--terracotta);color:#fff;text-align:center;padding:75px 5vw}.cta h2{font:500 clamp(2.2rem,4vw,3.7rem)/1.05 "Playfair Display";max-width:720px;margin:0 auto 20px}.cta p{max-width:600px;margin:0 auto 26px;color:#f7e9df}.cta .button{background:#fff;color:var(--terracotta);border-color:#fff}.cta .button.secondary{background:transparent;color:#fff}
footer{background:#1e2b23;color:#dce2dd;padding:54px 5vw 24px}.footer-inner{max-width:1180px;margin:auto;display:flex;align-items:flex-start;gap:45px}.footer-brand{font:500 1.55rem "Playfair Display";margin-right:auto}.footer-links{display:flex;gap:22px;font-size:.8rem}.copyright{max-width:1180px;margin:35px auto 0;border-top:1px solid #415047;padding-top:17px;font-size:.7rem;color:#8f9a92;display:flex;justify-content:space-between}
@media(max-width:980px){.navlinks{display:none}.navlinks.open{display:flex;position:absolute;left:16px;right:16px;top:68px;background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px;flex-direction:column;gap:14px}.navlinks.open .nav-dropdown{width:100%}.navlinks.open .nav-drop-trigger{width:100%;text-align:left;padding:7px 0}.navlinks.open .nav-drop-menu{position:static;box-shadow:none;border:0;padding:4px 0 4px 14px;background:transparent}.navlinks.open .nav-drop-menu a{padding:7px 0}.menu{display:block}.page-hero .inner,.detail-layout{grid-template-columns:1fr;gap:38px}.filterbar{grid-template-columns:1fr 1fr}.filterbar .button{grid-column:1/-1}.grid{grid-template-columns:1fr 1fr}.provider-grid{grid-template-columns:repeat(2,1fr)}.compare-grid,.service-menu,.process{grid-template-columns:1fr 1fr}.sidecard{position:static}.package-band{grid-template-columns:1fr;gap:10px}}
@media(max-width:680px){nav{padding:0 16px}.brand-text small,.nav-cta{display:none}.page-hero{padding:56px 22px}.page-hero h1{font-size:3.1rem}.facts{grid-template-columns:1fr}.fact{padding:13px 0;border-bottom:1px solid #617064}.section{padding:56px 20px}.section-title{display:block}.filterbar,.grid,.provider-grid,.village-grid,.service-menu,.process,.related{grid-template-columns:1fr}.field{border-right:0;border-bottom:1px solid var(--line)}.card-media,.village-card .cover{height:235px}.info-grid{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid var(--line)}.footer-inner{display:block}.footer-links{margin-top:22px;flex-wrap:wrap}.copyright{display:block}.modal{padding:10px}.modal img{height:245px}.modal-copy{padding:22px}}
