:root{--bg:#faf6ec;--bg2:#f0e8d2;--ink:#12281a;--moss:#15301f;--sagelt:#e3ecd9;--blush:#f6ead0;--clay:#8a6516;--gold:#d9a73a;--cta:#d9a73a;--card:#fff;--line:#e3d9bd;--txt:#4b5a4c;--foot:#0e2015;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.7 'Jost',system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;color:var(--ink);line-height:1.08;margin:0 0 .7rem;font-weight:600}
h1{font-size:clamp(2.8rem,6vw,4.8rem)}h2{font-size:clamp(2.1rem,4vw,3.1rem)}h3{font-size:1.45rem}
a{color:inherit}.w{width:min(1200px,92%);margin:auto}#hdr{display:contents}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:var(--clay);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.7rem;border-radius:6px;font:600 .9rem 'Jost',sans-serif;letter-spacing:.04em;text-decoration:none;border:1.5px solid var(--moss);cursor:pointer;transition:.25s}
.btn.fill{background:var(--moss);color:#fff}.btn.fill:hover{background:var(--clay);border-color:var(--clay);transform:translateY(-2px)}
.btn.line{background:none;color:var(--ink);border-color:var(--ink)}.btn.line:hover{background:var(--ink);color:#fff}
.btn.gold{background:var(--cta);border-color:var(--cta);color:#12281a}.btn.gold:hover{background:#e8bb55;border-color:#e8bb55;transform:translateY(-2px)}.btn.sm{padding:.55rem 1.2rem;font-size:.84rem}.btn:disabled{opacity:.6}
header{position:sticky;top:0;z-index:50;background:rgba(250,246,236,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}.logo{width:66px;height:66px;border-radius:50%;object-fit:cover;flex:none}
.brand b{display:block;font:700 1.35rem/1 'Cormorant Garamond',serif;letter-spacing:.2em}.brand small{display:block;font-size:.6rem;letter-spacing:.32em;color:var(--clay);text-transform:uppercase;margin-top:.25rem;font-weight:600}
.menu{display:flex;gap:1.9rem}.menu a{text-decoration:none;font-weight:500;font-size:.92rem;letter-spacing:.04em;padding:.4rem 0;border-bottom:2px solid transparent;transition:.2s}.menu a:hover,.menu a.on{color:var(--clay);border-color:var(--clay)}
.burger{display:none;background:var(--card);border:1px solid var(--line);padding:9px 11px;cursor:pointer;border-radius:8px}.burger i{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}.hcta{display:flex;align-items:center;gap:.7rem}
.arch{position:relative;overflow:hidden;display:block;font-size:0;color:transparent}.arch svg,.arch img{position:absolute;inset:0;width:100%;height:100%}.arch img{object-fit:cover}
/* HERO: full-bleed photo */
.hero{background:linear-gradient(100deg,rgba(8,24,14,.88) 0%,rgba(8,24,14,.6) 55%,rgba(8,24,14,.25) 100%),url(../images/gallery-8.jpg) center/cover;color:#e8ecdc;padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.hero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center}
.hero h1{color:#fff}.hero p{font-size:1.15rem;max-width:540px}.hero .eyebrow{color:#e6c168}.hero .btn.line{color:#fff;border-color:rgba(255,255,255,.7)}.hero .btn.line:hover{background:#fff;color:var(--ink)}
.btns{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem}
.trust{list-style:none;display:flex;gap:.6rem 1.6rem;flex-wrap:wrap;padding:0;margin:2rem 0 0;font-size:.9rem;color:#f3ecd5}.trust li:before{content:"\2713";color:#e6c168;margin-right:.5rem;font-weight:700}
.hero-side{position:relative}.hero-side .arch{aspect-ratio:4/5;border-radius:180px 180px 14px 14px;border:6px solid rgba(255,255,255,.9);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.tag{color:var(--txt);position:absolute;left:-1.5rem;bottom:2rem;background:#fff;border-radius:10px;padding:.7rem 1.1rem;font-size:.82rem;box-shadow:0 12px 28px rgba(0,0,0,.25);z-index:2}.tag b{display:block;font:700 1.05rem 'Cormorant Garamond',serif;color:var(--ink)}
.marq{overflow:hidden;background:var(--moss);padding:1rem 0}.marq div{display:flex;gap:3rem;white-space:nowrap;animation:mq 30s linear infinite;width:max-content;font:600 1.3rem 'Cormorant Garamond',serif;color:#f3ecd5}.marq span:after{content:"\2726";color:#d9a73a;margin-left:3rem}@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:clamp(2.4rem,4.5vw,3.8rem) 0}.alt{background:var(--bg2)}.head{text-align:center;margin-bottom:1.8rem}.head p{max-width:540px;margin:0 auto}.note{color:var(--clay);font-size:.85rem}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,190px);gap:.9rem;grid-auto-flow:dense}.bt{position:relative;border-radius:12px;overflow:hidden;text-decoration:none;display:flex;align-items:flex-end}.bt:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(8,24,14,.75))}.bt .arch{position:absolute;inset:0;transition:.6s}.bt:hover .arch{transform:scale(1.07)}
.bt span{position:relative;z-index:1;margin:1rem;color:#fff;font:600 1.45rem 'Cormorant Garamond',serif}
.bt:nth-child(1){grid-column:1/3;grid-row:1/3}.bt:nth-child(2){grid-column:3;grid-row:1}.bt:nth-child(3){grid-column:4;grid-row:1}.bt:nth-child(4){grid-column:3;grid-row:2/4}.bt:nth-child(5){grid-column:4;grid-row:2}.bt:nth-child(6){grid-column:4;grid-row:3}.bt:nth-child(7){grid-column:1/3;grid-row:3}
.srows{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.srow{display:flex;gap:1.2rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem;transition:.3s}.srow:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(21,48,31,.14)}
.srow .arch{width:104px;height:104px;border-radius:8px;flex:none}.srow h3{margin:0 0 .2rem;font-size:1.3rem}.srow p{margin:0;font-size:.9rem}.srow .btn{margin-left:auto;flex:none}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem}.two{grid-template-columns:1fr 1fr}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.3s}.card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(21,48,31,.15)}
.card .arch{aspect-ratio:16/11}.card img{width:100%;aspect-ratio:16/11;object-fit:cover}.pad{padding:1.4rem}.meta{color:var(--clay);font-weight:600;font-size:.86rem}.chipt{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:.3rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.split .arch{aspect-ratio:4/4.5;border-radius:220px 220px 12px 12px;max-width:440px;width:100%;margin:auto;outline:1px solid var(--clay);outline-offset:12px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.step{background:var(--card);border-top:3px solid var(--clay);border-radius:0 0 12px 12px;padding:1.8rem;box-shadow:0 8px 24px rgba(21,48,31,.07)}.step b{display:block;font:600 3rem/1 'Cormorant Garamond',serif;color:var(--clay);margin-bottom:.6rem}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem}.why div{background:var(--card);border-left:3px solid var(--clay);border-radius:8px;padding:1.4rem}.why b{display:block;font:600 2rem/1 'Cormorant Garamond',serif;color:var(--clay);margin-bottom:.5rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0}.stats div{background:var(--card);border-radius:10px;padding:1rem 1.2rem;border:1px solid var(--line)}.stats b{display:block;font:600 2.2rem 'Cormorant Garamond',serif;color:var(--clay)}.stats span{font-size:.74rem;color:var(--txt);font-weight:600}
.gp{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}.gp .arch{aspect-ratio:1;border-radius:12px}
.cta-box,.news{background:var(--moss);color:#dfe5d3;border-radius:16px;width:min(1200px,92%);margin:0 auto;padding:clamp(1.8rem,4vw,2.8rem);text-align:center}.cta-box h2,.news h2{color:#fff}.news .eyebrow{color:#e6c168}
.nl-wrap{padding:1rem 0 3rem}.inline{display:flex;gap:.6rem;max-width:500px;margin:1.2rem auto 0}.inline input{flex:1;min-width:0;border:0}
.msg{min-height:1.4rem;margin-top:.7rem;font-weight:600}.msg.ok{color:#1f7a4a}.msg.err{color:#c0392b}.news .msg.ok{color:#e6c168}.news .msg.err{color:#ffb4a0}
.page-h{background:linear-gradient(rgba(8,24,14,.8),rgba(8,24,14,.8)),url(../images/gallery-6.jpg) center/cover;color:#e8d8c5;padding:clamp(2.2rem,5vw,3.4rem) 1.5rem;text-align:center}.page-h h1{color:#fff}.page-h .eyebrow{color:#e6c168}.page-h p{max-width:600px;margin:0 auto;font-size:1.1rem}.page-h .w{width:100%}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.fsel{display:none;width:100%}
.chip{padding:.5rem 1.2rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--txt);cursor:pointer;font:600 .85rem 'Jost'}.chip.on,.chip:hover{background:var(--moss);border-color:var(--moss);color:#fff}
.masonry{columns:3 240px;column-gap:1rem}.gi{display:block;margin-bottom:1rem;border:0;padding:0;width:100%;cursor:pointer;background:none;break-inside:avoid;border-radius:12px;overflow:hidden}.gi .arch{transition:.4s}.gi:hover .arch{transform:scale(1.05)}
.lb{position:fixed;inset:0;background:rgba(6,16,10,.95);z-index:100;display:none;align-items:center;justify-content:center}.lb.open{display:flex}.lb .arch{width:min(80vw,460px);aspect-ratio:4/3;border-radius:12px;transition:opacity .25s}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;padding:.5rem 1rem}.lb .x{top:10px;right:10px}.lb .p{left:4px}.lb .n{right:4px}.lb p{position:absolute;bottom:18px;color:#fff;margin:0}
.cols{display:grid;grid-template-columns:1fr 1.25fr;gap:2rem;align-items:stretch}form{display:grid;gap:1rem}label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}
input,select,textarea{font:inherit;padding:.8rem 1.1rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--clay)}
footer{background:var(--foot);color:#b9c6b4;margin-top:0}
.f5{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr 1.2fr;gap:2.2rem;padding:3rem 0 2rem}footer h4{font:700 .75rem 'Jost';letter-spacing:.22em;text-transform:uppercase;color:#e6c168;margin-bottom:1rem}footer p{margin:.2rem 0 .7rem;font-size:.93rem}
footer .brand{color:#fff;margin-bottom:1rem}footer .logo{width:96px;height:96px}
.f5 a:not(.brand):not(.btn){display:block;text-decoration:none;margin:.4rem 0;font-size:.93rem;transition:.2s}.f5 a:not(.brand):not(.btn):hover{color:#fff;transform:translateX(4px)}
.soc{display:flex;gap:.5rem;flex-wrap:wrap}.soc a{border:1px solid rgba(255,255,255,.25);padding:.3rem .9rem!important;margin:0!important;border-radius:6px;font-size:.8rem!important}.soc a:hover{background:#e6c168;color:#0e2015!important;transform:none!important}
.fbot{border-top:1px solid rgba(255,255,255,.12);font-size:.84rem}.fbot .w{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem 0}.fbot a{color:#e6c168;text-decoration:none}
.mbar{display:none}
.fade{opacity:0;transform:translateY(18px);transition:.7s}.fade.in{opacity:1;transform:none}
@media(max-width:960px){.hero-in,.split,.cols,.two,.srows,.steps{grid-template-columns:1fr}.hero-side{max-width:340px;margin:auto;width:100%}.tag{left:0}.bento{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:170px}.bt:nth-child(n){grid-column:auto;grid-row:auto}.bt:nth-child(1){grid-column:span 2}.f5{grid-template-columns:1fr 1fr 1fr}.f5>div:first-child{grid-column:1/-1}
.burger{display:block}.hcta .btn{display:none}.menu{display:none;position:fixed;top:79px;left:4%;right:4%;flex-direction:column;gap:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.6rem;box-shadow:0 20px 40px rgba(0,0,0,.18)}body.mopen .menu{display:flex}.menu a{text-align:center;padding:.8rem;border:0}.fsel{display:block}.fb{display:none}
}
@media(max-width:560px){.cards,.f5{grid-template-columns:1fr}.srow{flex-wrap:wrap}.srow .btn{width:100%;justify-content:center;margin:0}.inline{flex-direction:column}.btns .btn,.card .btn{width:100%;justify-content:center}.gp{grid-template-columns:1fr 1fr}.stats{gap:.5rem}.stats div{padding:.7rem .6rem}.stats b{font-size:1.6rem}.stats span{font-size:.6rem}.steps{gap:.9rem}.step{padding:1.2rem}.step b{font-size:2.2rem}.srow{padding:.7rem}.cards{gap:1rem}.brand small{display:none}.hero{background-position:70% center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.fade{opacity:1;transform:none}}

.cinfo{background:var(--moss);color:#dfe5d3;border-radius:16px;padding:2.2rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.cinfo h2,.cinfo h3{color:#fff}.cinfo .eyebrow{color:#e6c168}
.ci{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:1.2rem}.ci li{display:flex;gap:1rem;align-items:flex-start}.ci i{flex:none;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-style:normal;color:#e6c168;font-size:1.15rem}.ci small{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#e6c168}.ci span{color:#fff;word-break:break-word}
.next{margin:.6rem 0 1.4rem;padding-left:1.2rem}.next li{margin:.3rem 0}.cinfo .btn.line{color:#fff;border-color:rgba(255,255,255,.6)}.cinfo .btn.line:hover{background:#fff;color:var(--ink)}
.fcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:2.2rem;box-shadow:0 12px 30px rgba(21,48,31,.08)}.fcard h2{margin-bottom:1.3rem}.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tick{list-style:none;padding:0;margin:1.2rem 0 1.6rem}.tick li{margin:.45rem 0}.tick li:before{content:"\2713";color:var(--clay);margin-right:.7rem;font-weight:700}
.faq{max-width:820px;margin:auto}details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.3rem;margin-bottom:.8rem}summary{cursor:pointer;font:600 1.3rem 'Cormorant Garamond',serif;color:var(--ink)}details[open] summary{color:var(--clay)}details p{margin:.6rem 0 0}
@media(max-width:560px){.row2{grid-template-columns:1fr}.cinfo,.fcard{padding:1.5rem}}
input,select{min-height:48px}.row2{align-items:end}#bf .btn{width:100%;justify-content:center;padding:1rem}
main>.sec:last-child,main>.sec:last-of-type{margin-bottom:0}.hero-side{max-width:380px;justify-self:end;width:100%}
input,select{height:48px;min-height:48px}.row2{align-items:start}

.soc a.si{width:42px;height:42px;padding:0!important;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.28)}.soc a.si svg{width:19px;height:19px}.soc a.si:hover{background:#e6c168;color:#0e2015!important;border-color:#e6c168}
.fl{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.3);transition:transform .2s}.fl svg{width:30px;height:30px}.fl:hover{transform:scale(1.08)}
.fl.wa{left:16px;background:#25d366;animation:ringw 2.2s infinite}.fl.ph{right:16px;background:var(--cta);animation:ringp 2.2s infinite}
@keyframes ringw{0%{box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 18px rgba(37,211,102,0)}}
@keyframes ringp{0%{box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 0 rgba(217,167,58,.55)}70%,100%{box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 18px rgba(184,92,46,0)}}
@media(max-width:560px){.fl{width:54px;height:54px;left:auto}.fl.wa{left:12px}.fl.ph{right:12px}}
.f5 .soc a.si{display:grid!important;place-items:center;margin:0!important;transform:none!important;color:#f3ecd5}.soc{margin-top:.6rem}
.fl.ph{color:#12281a}.brand b{color:var(--moss)}footer .brand b{color:#fff}.brand small{color:var(--clay);letter-spacing:.24em}footer .brand{flex-direction:column;align-items:flex-start}
.topbar{background:var(--foot);color:#e8ecdc;font-size:.82rem}.topbar .w{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}.topbar a{color:#e6c168;font-weight:600;text-decoration:none}
.mapbox{border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:380px;background:var(--sagelt)}.mapbox iframe{display:block;width:100%;height:100%;min-height:380px;border:0}
@media(max-width:560px){.topbar .w{justify-content:center;flex-wrap:wrap;gap:.2rem .9rem;text-align:center}}
.split .faq{max-width:none;margin:1.2rem 0 0}.split .faq summary{font-size:1.2rem}
