/* Light editorial edition. Keep photo overlays separate from the paper surfaces. */
:root{
  color-scheme:light;
  --ink:#171C1A;--ink2:#F5F6F3;--ink3:#ECEEE8;--ink4:#C6CBC1;
  --paper:#FFFFFF;--paper2:#ECEFE5;
  --mut:#626A65;--mutD:#626A65;
  --line:rgba(23,28,26,.13);--lineP:rgba(23,28,26,.13);
  --green-text:#4B652E;
}
body{background:#fff;color:var(--ink)}
:focus-visible{outline-color:var(--green-text)}
a:hover{color:var(--green-text)}
.lead,.intro-copy,.film .lead,.villa-section .lead,.program-body p,
.who-i p,.pcard p,.rev p,.tar p,.guarbox p,.lst li,.lst.out li,
.team p,.step p,.faq details p,.done p{color:#555F59}
.intro-copy b,.myth .yes{color:var(--ink)}
.eyebrow{color:var(--mut)}
.eyebrow::before{background:#7D9755}
.text-link{color:var(--ink);border-color:#B5C1A5}
.text-link:hover{color:var(--green-text);border-color:var(--green-text)}
.btn-p{background:var(--lime);color:var(--ink)}
.btn-p:hover{background:#C5D995;color:var(--ink);box-shadow:0 6px 20px #26340c12}
.nav{background:rgba(255,255,255,.97);color:var(--ink);border-bottom-color:var(--line);backdrop-filter:blur(18px)}
.nav.on{background:rgba(255,255,255,.96);border-bottom-color:var(--line);box-shadow:0 3px 24px #171c1a04}
.nav .logo,.quiz .logo{color:var(--ink)}
.logo b,.logo span{color:var(--green-text)}
.menu-toggle,.contact{background:#fff;color:var(--ink);border-color:var(--line);backdrop-filter:none}
.menu-toggle:hover,.contact:hover{background:var(--ink2);color:var(--ink)}
.lang{background:var(--ink2)}
.lang button{color:var(--mut)}
.lang button.on{background:var(--lime);color:var(--ink)}
.site-menu{background:rgba(255,255,255,.99);color:var(--ink)}
.menu-inner>a:last-child{color:var(--green-text)}
.hero{background:#25392C;color:#fff}
.hero-m::after{background:linear-gradient(180deg,rgba(8,24,18,.12),rgba(8,24,18,.38) 32%,rgba(8,24,18,.46) 64%,rgba(8,24,18,.45))}
.hero h1{color:#fff;text-shadow:0 2px 30px #0003}
.hero-tag span{background:rgba(8,24,18,.25);border-color:#ffffff59}
.hero .location-link{color:#fff;text-shadow:0 1px 8px #0005}
.hero .location-link:hover{color:var(--lime)}
.hero-bottom{background:#fff;color:var(--ink);border:1px solid #fff;border-radius:14px;box-shadow:0 12px 45px #00000012;backdrop-filter:none}
.hero-meta span,.hero-meta:nth-child(3) strong{color:var(--mut)}
.hero-meta strong,.hero-meta:nth-child(3) span{color:var(--ink)}
.motion-toggle{color:#fff}
.section-dock{background:rgba(255,255,255,.97);border-color:var(--line);box-shadow:0 6px 26px #17251c12;backdrop-filter:blur(18px)}
.section-dock a{color:var(--mut)}
.section-dock a:hover,.section-dock a.active{color:var(--ink)}
.section-dock a.active{text-decoration:underline;text-decoration-color:#96AE70;text-underline-offset:6px;text-decoration-thickness:2px}
.highlight{background:#E1E4DC}
.film,.villa-section,.price{background:var(--ink2)}
.vwrap{box-shadow:0 20px 60px #253b2520;border-color:#fff}
.program-item{background:var(--ink2);border-color:var(--ink2)}
.program-item:hover{border-color:#C8D0C0}
.program-item[open]{background:#F5F6F3;border-color:#DDE2D7}
.program-item summary,.program-item[open] summary{color:var(--ink)}
.program-item summary::after{color:var(--ink);background:#fff}
.program-item[open] summary::after{background:var(--lime)}
.program-fact{color:var(--green-text)}
.villa-tabs button[aria-selected=true]{border-color:var(--green-text);color:var(--ink)}
.villa-tabs img{opacity:.75}
.facts b,.nps b,.tar .amt{color:var(--ink)}
.who-i .n,.step .n{color:var(--green-text)}
.who-i:hover{background:var(--ink2)}
.slider-controls button{background:#fff}
.slider-controls button:hover{color:var(--ink);background:var(--lime)}
.pcard .meta{color:var(--mut)}
.pcard:last-child{border-radius:12px}
.rev .who,.team .role{color:var(--green-text)}
.price{border:0}
.price-tabs{background:#fff}
.price-tabs button{color:var(--mut)}
.price-tabs button[aria-selected=true]{color:var(--ink)}
.tar .lbl,.addon{color:var(--mut)}
.addon b{color:var(--ink)}
.guarbox{background:#fff;border-color:#DDE2D7}
.guarbox h3{color:var(--ink)}
.lst li::before{color:var(--green-text)}
.lst.out li::before{content:"-";color:var(--mut)}
.sel{background:#fff;color:var(--ink)}
.sel .eyebrow{color:var(--mut)}
.sel .eyebrow::before{background:#7D9755}
.sel p{color:#555F59}
.bignum{color:var(--ink)}
.bignum small,.selq span.att{color:var(--mut)}
.selq{background:var(--ink2);border-left:3px solid var(--lime);border-radius:0 10px 10px 0;color:var(--ink)}
.pain{background:#fff}
.pullq{color:var(--ink)}
.pullq .att{color:var(--mut)}
.myth .no{text-decoration-color:#98AD7D}
.myth .yes::before{color:var(--green-text)}
.faq{border:0;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid #E9ECE5;border-radius:12px;padding:0 26px;overflow:hidden}
.faq summary{padding-right:42px}
.faq summary::after{color:var(--ink)}
.faq details[open] summary{color:var(--ink)}
.faq details p{padding-right:24px}
.final{color:#fff}
.final::after{background:linear-gradient(180deg,rgba(8,24,18,.18),rgba(8,24,18,.45) 45%,rgba(8,24,18,.6))}
.final h2{color:#fff}
.final .sub{color:#fff}
footer{background:#fff;color:var(--mut);border:0}
.foot a:hover{color:var(--green-text)}
.sticky{background:rgba(255,255,255,.98);border-color:var(--line);box-shadow:0 -4px 20px #171c1a08}
.sticky .sp b{color:var(--ink)}
.quiz{background:rgba(242,244,238,.95);color:var(--ink)}
.quiz-in{background:#fff;border-color:#E1E6DA;box-shadow:0 24px 100px #24301c0d}
.bar{background:#E4E9DD}
.bar i{background:#7E9955}
.quiz-close:hover,.qback:hover{color:var(--ink)}
.opt{background:#fff;border-color:#DCE1D7;color:var(--ink)}
.opt:hover{border-color:#93A975;background:#F6F8F2}
.opt.sel{border-color:#829A60;background:#EFF4E6;color:var(--ink)}
.opt.sel::before{background:#6D884B;border-color:#6D884B;box-shadow:inset 0 0 0 3px #fff}
input{background:#FAFBF8;border-color:#DCE1D7;color:var(--ink)}
input:focus{background:#fff;border-color:#7E9955;box-shadow:0 0 0 3px #A9CE5C26}
.done .tick{color:var(--green-text);border-color:#ACBD93;background:#F4F7EE}
.lightbox{background:#FAFBF8;color:var(--ink)}
.lightbox::backdrop{background:#FAFBF8}
.lightbox button{background:#fff;border-color:#D8DFD0}
.lightbox button:hover{background:var(--lime)}
.lightbox-head,.lightbox figcaption{color:var(--mut)}
.lightbox img{box-shadow:0 8px 40px #26341c0a}
@media(max-width:600px){
 .faq details{padding-inline:18px}
 .faq details p{padding-right:4px}
 .quiz{background:#fff}
 .quiz-in{box-shadow:none}
}
