@font-face{font-family:"Cormorant Garamond";font-weight:400;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Cormorant Garamond";font-weight:500;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:Jost;font-weight:400;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Jost;font-weight:500;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");font-display:swap}
:root{--green:#243a2c;--green2:#2f4a37;--green3:#1a2b21;--cream:#f6efe3;--cream2:#ece2d0;--bronze:#8a5a2b;--bronze-l:#d5aa72;--tx:#262a22;--mute:#5a5648;--mute-d:#d6cdb9;--line:rgba(38,42,34,.18);--line-d:rgba(246,239,227,.2);--pad:clamp(20px,5vw,72px);--hh:84px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--tx);font:400 17px/1.65 Jost,system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.08;margin:0;color:var(--green)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:12px;top:-60px;background:var(--cream);color:var(--green);padding:12px 18px;z-index:100}
.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--bronze-l);outline-offset:3px}
.strip{background:var(--green3);color:var(--cream);font-size:13px;line-height:1.4;padding:8px 20px;text-align:center}
/* header: transparent over the home hero on desktop, solid on scroll */
.hd{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;height:var(--hh);padding:0 var(--pad);background:var(--green);color:var(--cream);transition:background .3s,box-shadow .3s}
.home .hd{margin-bottom:calc(var(--hh) * -1);background:transparent}
.home .hd.solid,.hd.solid{background:var(--green);box-shadow:0 2px 16px rgba(0,0,0,.25)}
.logo{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:32px;letter-spacing:.02em;text-decoration:none;white-space:nowrap;line-height:1;color:var(--cream)}
.logo small{display:block;font:500 10px/1 Jost,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze-l);margin-top:5px}
.hd-u{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);margin-left:auto;order:2}
.hd-u a,.mb{font:400 15px/1 Jost,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--cream);padding:14px 2px;min-height:44px;display:inline-flex;align-items:center}
.hd-u a:hover,.mb:hover{color:var(--bronze-l)}
.u-t .ts{display:none}
.mb{background:none;border:0;cursor:pointer;gap:10px}
.mb i,.mb i::before,.mb i::after{display:block;width:18px;height:2px;background:currentColor;content:"";position:relative}
.mb i::before{position:absolute;top:-6px;left:0}.mb i::after{position:absolute;top:6px;left:0}
.mb i{margin-left:10px}
.logo{order:1}
#nav{position:absolute;right:var(--pad);top:calc(100% + 6px);width:min(340px,calc(100vw - 40px));background:var(--cream);color:var(--tx);padding:10px 24px 24px;box-shadow:0 18px 50px rgba(0,0,0,.35);border-top:4px solid var(--bronze);display:flex;flex-direction:column}
#nav[hidden]{display:none}
#nav a:not(.btn){font:500 22px/1 "Cormorant Garamond",serif;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line);color:var(--green)}
#nav a[aria-current]{color:var(--bronze)}
#nav .btn{margin-top:18px}
.eyebrow{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin:0 0 14px;font-weight:500}
.smp{letter-spacing:.14em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 26px;font:500 14px/1 Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;min-height:54px;cursor:pointer;color:#fff;transition:filter .25s,background .25s,color .25s}
.btn.pri{background:linear-gradient(105deg,#8a5a2b 0%,#5d6b3d 55%,#3f5a3a 100%);border-color:#c79a62}
.btn.pri.alt{background:linear-gradient(105deg,#3f5a3a 0%,#2f4a37 100%)}
.btn.pri:hover{filter:brightness(1.18)}
.btn.line{border-color:var(--green);color:var(--green);background:none}
.btn.line:hover{background:var(--green);color:var(--cream)}
.btn.sm{padding:12px 20px;min-height:46px;font-size:13px}
.btns{display:flex;gap:14px;flex-wrap:wrap}
/* hero */
.hero{position:relative;isolation:isolate;min-height:clamp(620px,86vh,820px);display:flex;align-items:flex-end;padding:calc(var(--hh) + 40px) var(--pad) clamp(150px,18vh,200px);color:#fff;overflow:hidden}
.hero-ph{position:absolute;inset:0;z-index:-2}
.hero-ph img{width:100%;height:100%;object-fit:cover;object-position:55% 25%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,26,18,.93) 0%,rgba(14,26,18,.8) 32%,rgba(14,26,18,.3) 62%,rgba(14,26,18,.05) 100%),linear-gradient(0deg,rgba(14,26,18,.78) 0%,rgba(14,26,18,0) 45%),linear-gradient(180deg,rgba(14,26,18,.55) 0%,rgba(14,26,18,0) 22%)}
.hero-t{max-width:720px}
.hero .eyebrow{color:var(--bronze-l);font-size:clamp(14px,1.3vw,18px)}
.hero h1{color:#fff;font-size:clamp(44px,5vw,74px);max-width:15ch;font-weight:500;letter-spacing:-.005em;margin-bottom:22px}
.ticks{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
.ticks li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--bronze-l);transform:rotate(45deg);margin-right:12px;vertical-align:middle}
.hero .ticks{color:#fff;font-size:17px}
/* booking: first section under the hero, overlaps the hero edge on desktop */
.book-sec{position:relative;z-index:3;margin:-110px auto 0;max-width:1080px;padding:0 var(--pad)}
.bk{background:var(--cream);color:var(--tx);padding:clamp(22px,3vw,40px);border-top:4px solid var(--bronze);box-shadow:0 24px 60px rgba(14,26,18,.28)}
.bk-t{font-size:clamp(32px,3vw,42px)}
.bk-s{margin:6px 0 18px;color:var(--mute);font-size:16px}
.bk p{margin:0 0 12px}
.bk label{display:block;font-size:13px;font-weight:500;letter-spacing:.06em;margin-bottom:5px;color:var(--tx)}
.bk input,.bk select{width:100%;min-height:48px;padding:10px 12px;font:400 16px Jost,sans-serif;border:1px solid #6b6556;background:#fff;color:var(--tx);border-radius:0}
.bk input[aria-invalid=true],.bk select[aria-invalid=true]{border-color:#9b1c1c;border-width:2px}
.gf{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px}
.bk .note{font-size:14px;color:var(--mute)}
.bk .btn.pri{width:100%;margin-top:4px}
.bk .err{color:#9b1c1c;font-weight:500;margin-top:10px}
.bk .ok{display:grid;gap:6px;margin-top:14px;padding:16px;border:2px solid #2c6b45;background:#e7f3ea}
.bk .ok[hidden],.bk .err[hidden]{display:none}
.bk.sent .btn,.bk.sent p,.bk.sent .gf,.bk.sent .bk-s{display:none}
.bk.sent .ok{margin-top:0}
.cg-f .bk{box-shadow:none;border:1px solid var(--line);border-top:4px solid var(--bronze)}
/* sections */
.sec{padding:clamp(60px,9vw,120px) var(--pad)}
.sh{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:48px}
h2{font-size:clamp(36px,4.6vw,64px);max-width:18ch}
.sh p{max-width:44ch;color:var(--mute);margin:0}
.intent{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(50px,7vw,90px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intent a{display:grid;gap:4px;padding:28px var(--pad);text-decoration:none;border-right:1px solid var(--line);transition:background .25s}
.intent a:last-child{border-right:0}
.intent a:hover{background:var(--cream2)}
.intent span{color:var(--bronze);font-size:13px;letter-spacing:.2em;font-weight:500}
.intent b{font:500 clamp(24px,2.4vw,32px)/1.15 "Cormorant Garamond",serif;color:var(--green)}
.intent i{font-style:normal;color:var(--mute);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.idx{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.idx a{display:grid;grid-template-columns:70px 1fr 220px 40px;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .3s,background .3s}
.idx a:hover{background:var(--cream2);padding-left:18px;padding-right:18px}
.n{color:var(--bronze);font-size:15px;letter-spacing:.2em;font-weight:500}
.tt b{display:block;font:500 clamp(26px,2.8vw,38px)/1.1 "Cormorant Garamond",serif;margin-bottom:4px;color:var(--green)}
.tt em{font-style:normal;color:var(--mute);font-size:16px}
.th img{width:220px;height:110px;object-fit:cover}
.ar{font-size:26px;color:var(--bronze)}
/* dark green sections */
.fv,.cta,.cost,.ft{background:var(--green);color:var(--cream)}
.fv h2,.fv h3,.cta h2,.cost h2,.ft-n{color:var(--cream)}
.fv .sh p,.fv .steps p,.cta p,.cost-t p{color:var(--mute-d)}
.fv .eyebrow,.fv .n{color:var(--bronze-l)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:var(--bronze-l);transform-origin:left;transform:scaleX(var(--p,1))}
.steps li{position:relative}
.steps span{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--bronze-l);background:var(--green);color:var(--bronze-l);font:500 26px "Cormorant Garamond",serif;margin-bottom:20px;position:relative}
.steps h3{font-size:30px;margin-bottom:8px}
.steps p{margin:0;font-size:16px;max-width:26ch}
.tour{background:var(--cream2)}
.swiper{overflow:hidden}
.swiper-slide{height:auto;overflow:hidden}
.swiper-slide img{width:100%;height:clamp(240px,30vw,420px);object-fit:cover}
.nav2{display:flex;gap:12px;margin-top:26px}
.nav2 button{width:52px;height:52px;border:1px solid var(--green);background:none;color:var(--green);font-size:20px;cursor:pointer}
.nav2 button:hover{background:var(--green);color:var(--cream)}
.cost{display:grid;grid-template-columns:1fr 1fr}
.cost-ph img{width:100%;height:100%;min-height:320px;max-height:520px;object-fit:cover;object-position:50% 60%}
.cost-t{padding:clamp(32px,6vw,90px);align-self:center}
.cost-t h2{font-size:clamp(34px,4vw,56px);margin-bottom:16px}
.cost-t p{margin:0 0 24px}
.cost .btn.line,.cta .btn.line{border-color:var(--cream);color:var(--cream)}
.cost .btn.line:hover,.cta .btn.line:hover{background:var(--cream);color:var(--green)}
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.vg h3{font-size:30px;margin-bottom:10px}
.vg p{margin:0 0 12px;color:var(--mute)}
.hrs{margin:0}.hrs div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:6px 0;max-width:320px}
.hrs dt{color:var(--mute)}.hrs dd{margin:0}
/* inner pages */
.ph-h{padding:clamp(56px,8vw,110px) var(--pad) clamp(30px,4vw,60px);border-bottom:1px solid var(--line)}
.ph-h h1{max-width:16ch;font-size:clamp(44px,6vw,84px)}
.lead{max-width:56ch;color:var(--mute);font-size:19px;margin:22px 0 0}
.lead2{max-width:60ch;color:var(--mute);font-size:19px}
.rows{display:grid;gap:clamp(48px,7vw,96px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.row.rev .row-ph{order:2}
.row-ph img{width:100%;height:420px;object-fit:cover}
.row-ph.tall img{height:520px;object-position:50% 30%}
.row-t h2{font-size:clamp(34px,4vw,54px);margin:10px 0 14px}
.row-t p{color:var(--mute);margin:0 0 22px;max-width:46ch}
.role{color:var(--bronze)!important;letter-spacing:.14em;text-transform:uppercase;font-size:14px;font-weight:500}
.tag{display:inline-block;background:var(--green);color:var(--cream);font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:5px 12px}
.more{color:var(--mute);max-width:70ch;margin:0}
.cta{text-align:center;padding:clamp(56px,8vw,100px) var(--pad)}
.cta h2{margin:0 auto 14px;max-width:20ch}
.cta p{margin:0 0 24px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.split h2{margin-bottom:16px}.split p{color:var(--mute)}
.split-ph img{width:100%;height:420px;object-fit:cover}
.note{font-size:14px;color:var(--mute)}
.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font:500 clamp(24px,2.4vw,32px)/1.2 "Cormorant Garamond",serif;color:var(--green);padding:16px 40px 16px 0;list-style:none;position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;color:var(--bronze);font-size:30px}
.faq details[open] summary::after{content:"\2212"}
.faq p{color:var(--mute);margin:0 0 18px;max-width:62ch}
.cg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:clamp(30px,5vw,80px);align-items:start}
.cg .gf{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cg-i h2{font-size:42px;margin-bottom:16px}
.cg-i h3{font-size:28px;margin:22px 0 8px}
.cg-i p{color:var(--mute)}
.big{font:500 36px "Cormorant Garamond",serif;color:var(--bronze);text-decoration:none}
.credits{border-top:1px solid var(--line);color:var(--mute);font-size:15px;background:var(--cream2)}
.credits h2{font-size:34px;margin-bottom:12px}.credits p{max-width:90ch}
.credits a{color:var(--bronze)}
.prose{max-width:70ch;color:var(--mute)}
.ft{padding:56px var(--pad) 110px;color:var(--mute-d);font-size:15px}
.ft-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ft-n{font:500 28px "Cormorant Garamond",serif;margin:0 0 8px}
.ft-h{color:var(--bronze-l);letter-spacing:.2em;text-transform:uppercase;font-size:13px;margin:0 0 10px}
.ft ul{list-style:none;margin:0;padding:0}.ft li a{display:inline-block;padding:4px 0;text-decoration:none}
.ft li a:hover,.ft a:hover{color:var(--bronze-l)}
.ft .hrs dt{color:var(--mute-d)}.ft .hrs div{border-color:var(--line-d)}
.ft-s{margin:36px 0 0;font-size:14px;max-width:90ch}
.ft-s a,.ft p a{color:var(--bronze-l)}
.bar{display:none}
.hero-ph,.cost-ph,.row-ph,.split-ph{overflow:hidden}
@media(max-width:1000px){
 .idx a{grid-template-columns:50px 1fr 30px}
 .th{display:none}
 .steps{grid-template-columns:1fr 1fr;row-gap:36px}.steps::before{display:none}
 .cost,.split,.row,.cg,.vg,.ft-g{grid-template-columns:1fr}
 .row.rev .row-ph{order:0}
 .intent{grid-template-columns:1fr}.intent a{border-right:0;border-bottom:1px solid var(--line)}
 .row-ph img,.split-ph img{height:300px}.row-ph.tall img{height:380px}
 .cost-ph img{max-height:300px}
 .hd-u .u-g{display:none}
}
/* phone: photo-first stack: utility row, logo band, photo, cream text panel */
@media(max-width:760px){
 :root{--hh:auto}
 .hd,.home .hd{position:static;height:auto;margin:0;flex-direction:column;align-items:stretch;gap:0;padding:0;background:var(--green);box-shadow:none}
 .hd-u{order:1;margin:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);gap:0}
 .hd-u a,.mb{color:var(--green);justify-content:center;font-size:12px;padding:12px 4px;min-height:48px;letter-spacing:.08em}
 .hd-u .u-g{display:none}
 .hd-u{grid-template-columns:repeat(4,1fr)}
 .u-t .tl{display:none}.u-t .ts{display:inline}
 .mb i{display:none}
 .logo{order:2;text-align:center;padding:16px 20px}
 .logo small{margin-top:6px}
 #nav{position:static;width:auto;box-shadow:none;border-top:0;order:3}
 .hero{display:block;min-height:0;padding:0;color:var(--tx);background:var(--cream)}
 .hero-ph{position:static;aspect-ratio:16/10}
 .hero-ph img{object-position:65% 40%}
 .hero::after{display:none}
 .hero-t{max-width:none;padding:28px var(--pad) 34px}
 .hero .eyebrow{color:var(--bronze);font-size:14px;letter-spacing:.12em}
 .hero h1{color:var(--green);font-size:clamp(38px,10.6vw,48px)}
 .hero .ticks{color:var(--tx);grid-template-columns:1fr;font-size:16px}
 .hero .ticks li::before{background:var(--bronze)}
 .hero .btn{width:100%}
 .book-sec{margin:0;padding:0}
 .bk{box-shadow:none;border-top:4px solid var(--bronze);border-bottom:1px solid var(--line)}
 .intent{margin-top:0}
 .bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;background:var(--green);border-top:1px solid var(--bronze-l)}
 .bar a{padding:16px;text-align:center;font:500 13px/1 Jost,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;min-height:50px;color:var(--cream)}
 .bar a:first-child{background:var(--bronze);color:#fff}
}
@media(max-width:560px){
 .gf{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
