@font-face{font-family:'Jost';src:url('fonts/Jost-wght.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'InterV';src:url('fonts/Inter-opsz-wght.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'BebasNeue';src:url('fonts/BebasNeue-Regular.ttf') format('truetype');font-weight:400;font-display:swap}

:root{--charcoal:#2F2F22;--teal:#0F807F;--tealDk:#0B5D5C;--cream:#F3E9C9;--orange:#E65825;--amber:#ECA232;
 --rule:rgba(47,47,34,.14);--ruleD:rgba(243,233,201,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--charcoal);
 font-family:InterV,Inter,system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
.narrow{max-width:820px}
h1,h2,h3,h4{font-family:Jost,sans-serif;letter-spacing:-.02em;margin:0}
a{color:inherit}
p{margin:0 0 18px}

/* nav */
nav{position:sticky;top:0;z-index:60;background:rgba(47,47,34,.97);backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;gap:26px;padding:10px 0}
.nav .brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.nav .brand img{width:50px;height:50px}
.nav .links{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:500;color:var(--cream);flex-wrap:wrap}
.nav .links a{text-decoration:none;opacity:.82}
.nav .links a:hover,.nav .links a.on{opacity:1;color:var(--amber)}
.btn{background:var(--orange);color:var(--cream);text-decoration:none;font-family:Jost,sans-serif;
 font-weight:600;font-size:14px;letter-spacing:.07em;text-transform:uppercase;
 padding:12px 22px;border-radius:6px;display:inline-block;white-space:nowrap;border:none;cursor:pointer}
.btn:hover{background:#cf4a1c}
.btn.ghost{background:transparent;border:1.5px solid var(--cream);color:var(--cream)}
.btn.dark{background:var(--charcoal)}

/* hero */
.hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;background:var(--charcoal);
 background-size:cover;background-position:center}
.hero.short{min-height:44vh}
.hero::after{content:'';position:absolute;inset:0;
 background:linear-gradient(100deg,rgba(35,35,24,.97) 0%,rgba(35,35,24,.93) 30%,rgba(35,35,24,.72) 52%,rgba(35,35,24,.30) 76%,rgba(35,35,24,.12) 100%),linear-gradient(to top,rgba(35,35,24,.55),transparent 45%)}
.hero .wrap{position:relative;z-index:2;padding-top:80px;padding-bottom:58px}
.hero .eyebrow{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.2em;font-size:16px;color:var(--amber);margin-bottom:14px;white-space:nowrap}
.hero h1{color:var(--cream);font-size:clamp(36px,5.8vw,68px);line-height:1.03;font-weight:700;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero p{color:rgba(243,233,201,.96);max-width:48ch;font-size:18px;margin:20px 0 30px}
.heroBtns{display:flex;gap:13px;flex-wrap:wrap}

/* plain page header */
.phead{background:var(--charcoal);color:var(--cream);padding:66px 0 58px}
.phead .eyebrow{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.2em;font-size:15px;color:var(--amber);margin-bottom:12px}
.phead h1{font-size:clamp(32px,5vw,54px);line-height:1.05;font-weight:700;max-width:20ch}
.phead p{color:rgba(243,233,201,.8);max-width:58ch;font-size:18px;margin:18px 0 0}

/* promise + proof */
.promise{background:var(--orange);color:var(--cream)}
.promise .wrap{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px 30px;flex-wrap:wrap;text-align:center}
.promise .big{font-family:BebasNeue,Impact,sans-serif;font-size:28px;letter-spacing:.04em;line-height:1}
.promise .sm{font-size:14.5px;opacity:.94}
.proof{background:var(--charcoal);color:var(--cream)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:32px 30px}
.proof .n{font-family:Jost,sans-serif;font-weight:700;font-size:31px;line-height:1;color:var(--amber)}
.proof .l{font-size:13px;margin-top:7px;color:rgba(243,233,201,.68);line-height:1.4}

/* sections */
section{padding:80px 0}
section.tight{padding:56px 0}
.shead{max-width:62ch;margin-bottom:40px}
.kicker{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.2em;font-size:14px;color:var(--orange);margin-bottom:11px}
.shead h2{font-size:clamp(27px,3.8vw,42px);font-weight:600;line-height:1.12}
.shead p{margin:15px 0 0;font-size:18px;color:rgba(47,47,34,.76)}
.dark{background:var(--charcoal);color:var(--cream)}
.dark .kicker{color:var(--amber)}
.dark .shead p{color:rgba(243,233,201,.76)}
.tealbg{background:var(--tealDk);color:var(--cream)}
.tealbg .kicker{color:var(--amber)}
.tealbg .shead p{color:rgba(243,233,201,.9)}
.sand{background:#EDE2BE}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{border:1px solid var(--rule);border-radius:4px;padding:26px;background:rgba(255,255,255,.4)}
.dark .card,.tealbg .card{border-color:var(--ruleD);background:rgba(0,0,0,.16)}
.card .num{font-family:BebasNeue,Impact,sans-serif;font-size:15px;letter-spacing:.16em;color:var(--orange);margin-bottom:12px}
.dark .card .num,.tealbg .card .num{color:var(--amber)}
.card h3{font-size:20px;font-weight:600;margin-bottom:8px}
.card p{margin:0;font-size:15px;line-height:1.55;color:rgba(47,47,34,.74)}
.dark .card p,.tealbg .card p{color:rgba(243,233,201,.76)}

/* gallery */
.countyhead{font-family:Jost,sans-serif;font-weight:600;font-size:21px;margin:42px 0 15px;
 padding-bottom:9px;border-bottom:2px solid var(--orange);display:inline-block}
.countyhead.first{margin-top:0}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:14px}
.gal figure{margin:0;position:relative;overflow:hidden;background:var(--charcoal);border-radius:3px}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.gal figure:hover img{transform:scale(1.035)}
.gal .w2{grid-column:span 2}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 13px;
 font-family:BebasNeue,Impact,sans-serif;letter-spacing:.13em;font-size:14px;color:var(--cream);
 background:linear-gradient(transparent,rgba(47,47,34,.9))}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tier{background:var(--cream);border:1px solid var(--rule);border-radius:5px;padding:32px 28px;position:relative}
.tier.mid{border:2px solid var(--orange)}
.flag{position:absolute;top:-13px;left:28px;background:var(--orange);color:var(--cream);
 font-family:BebasNeue,Impact,sans-serif;letter-spacing:.14em;font-size:13px;padding:5px 13px;border-radius:3px}
.tier .nm{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.17em;font-size:16px;color:var(--teal)}
.tier .amt{font-family:Jost,sans-serif;font-weight:700;font-size:46px;line-height:1;margin:10px 0 4px}
.tier .cnt{font-size:14.5px;color:rgba(47,47,34,.66);margin-bottom:20px}
.tier ul{list-style:none;margin:0 0 26px;padding:0;font-size:15px}
.tier li{padding:8px 0;border-top:1px solid var(--rule);display:flex;gap:10px;align-items:flex-start}
.tier li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--amber);margin-top:8px;flex:none}
.addons{margin-top:32px;display:flex;gap:9px;flex-wrap:wrap}
.pill{background:var(--charcoal);color:var(--cream);border-radius:100px;padding:9px 17px;font-size:13.5px}
.pill b{color:var(--amber);font-weight:600}
.travel{margin-top:24px;font-size:15.5px;color:rgba(47,47,34,.74);max-width:74ch}
.travel b{color:var(--charcoal)}

/* price table */
.ptable{width:100%;border-collapse:collapse;font-size:16px;margin-top:6px}
.ptable th{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.15em;font-size:13px;text-align:left;
 padding:11px 14px;border-bottom:2px solid var(--charcoal);font-weight:400}
.ptable td{padding:14px;border-bottom:1px solid var(--rule);vertical-align:top}
.ptable td.p{font-family:Jost,sans-serif;font-weight:600;white-space:nowrap;text-align:right}
.ptable .d{display:block;font-size:14px;color:rgba(47,47,34,.66);margin-top:4px;line-height:1.5}

/* cuts */
.cuts{display:flex;flex-direction:column;gap:11px;margin:24px 0 28px}
.cut{background:rgba(0,0,0,.2);border-radius:5px;padding:15px 19px;display:flex;gap:15px;align-items:baseline}
.cut b{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.13em;font-size:16px;flex:none;min-width:132px}
.cut span{font-size:14.5px;color:rgba(243,233,201,.95)}
.vgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.vshot{border-radius:5px;overflow:hidden;position:relative}
.vshot img{aspect-ratio:4/5;object-fit:cover;width:100%}
.vshot video{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;background:#000;border-radius:5px}
.vshot:has(video){max-width:420px;margin:0 auto}
.vshot:has(video) .vtag{top:16px;bottom:auto;font-size:18px;padding:7px 14px}
.vtag{position:absolute;left:16px;bottom:16px;background:var(--orange);color:var(--cream);
 font-family:BebasNeue,Impact,sans-serif;letter-spacing:.06em;font-size:22px;padding:8px 16px;border-radius:6px}

/* areas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.area{border:1px solid var(--rule);border-radius:4px;padding:26px;background:var(--cream);text-decoration:none;display:block}
.area:hover{border-color:var(--orange)}
.area h3{font-size:21px;font-weight:600;margin-bottom:7px}
.area .towns{font-size:14.5px;color:rgba(47,47,34,.66);line-height:1.55}
.area .go{margin-top:14px;font-family:BebasNeue,Impact,sans-serif;letter-spacing:.14em;font-size:13px;color:var(--orange)}

/* prose + faq */
.prose h2{font-size:27px;font-weight:600;margin:44px 0 14px}
.prose h3{font-size:20px;font-weight:600;margin:30px 0 10px}
.prose ul{margin:0 0 20px;padding-left:22px}
.prose li{margin-bottom:9px}
.prose .lead{font-size:20px;line-height:1.55;color:rgba(47,47,34,.84)}
.qa{border-top:1px solid var(--rule);padding:24px 0}
.qa:last-child{border-bottom:1px solid var(--rule)}
.qa h3{font-size:20px;font-weight:600;margin-bottom:9px}
.qa p{margin:0;color:rgba(47,47,34,.8)}
.checks{list-style:none;padding:0;margin:0 0 26px}
.checks li{padding:10px 0 10px 30px;border-bottom:1px solid var(--rule);position:relative}
.checks li::before{content:'';position:absolute;left:2px;top:17px;width:13px;height:13px;
 border:2px solid var(--amber);border-radius:3px}

/* cta + footer */
.cta{background:var(--charcoal);color:var(--cream);text-align:center}
.cta h2{font-size:clamp(28px,4.4vw,48px);font-weight:700;line-height:1.06;max-width:18ch;margin:0 auto 16px}
.cta p{color:rgba(243,233,201,.76);max-width:50ch;margin:0 auto 30px;font-size:17.5px}
footer{background:#232318;color:rgba(243,233,201,.62);font-size:14px;padding:50px 0 40px}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:32px}
.fcols img{width:76px;height:76px;margin-bottom:14px}
.fcols h4{font-family:BebasNeue,Impact,sans-serif;letter-spacing:.16em;font-size:13px;color:var(--amber);margin-bottom:12px}
.fcols a{display:block;text-decoration:none;margin-bottom:8px;opacity:.85}
.fcols a:hover{opacity:1;color:var(--cream)}
.fbot{border-top:1px solid rgba(243,233,201,.12);padding-top:22px;font-size:13px}
footer b{color:var(--cream);font-weight:600}

@media(max-width:940px){
 .proof .wrap{grid-template-columns:repeat(2,1fr)}
 .cards,.cards.two,.tiers,.areas,.fcols{grid-template-columns:1fr}
 .vgrid{grid-template-columns:1fr;gap:30px}
 .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
 .nav .links{display:none}
 section{padding:56px 0}
}
