
:root{--navy:#1C3B5A;--navy-d:#12283f;--amber:#E69E26;--sky:#D6E4EF;--steel:#6B7280;--bg:#F4F4F4;--ink:#14202c;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;font-size:17px}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;color:var(--navy)}
a{color:var(--navy)}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
/* header */
header.site{background:#000;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--amber)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.logo{display:inline-block;text-decoration:none;line-height:1;position:relative;padding:6px 0}
.logo .mark{font-family:'Oswald',sans-serif;font-weight:700;font-size:38px;letter-spacing:.04em;color:#fff;position:relative;display:inline-block}
.logo .mark b{color:var(--amber);font-weight:400}
.logo .mark:after{content:"";position:absolute;left:0;right:0;top:58%;height:3px;background:var(--amber)}
.logo small{display:block;font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:11px;letter-spacing:.22em;color:#8fb3d1;margin-top:2px}
nav.main ul{list-style:none;display:flex;gap:4px;align-items:center}
nav.main a{display:block;padding:10px 13px;color:#fff;text-decoration:none;font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:15px;letter-spacing:.06em}
nav.main a:hover,nav.main a.on{color:var(--amber)}
nav.main a.cta{background:var(--amber);color:#000;border-radius:2px}
nav.main a.cta:hover{background:#fff;color:#000}
.burger{display:none;background:none;border:2px solid var(--amber);color:var(--amber);font:600 14px Oswald;letter-spacing:.08em;padding:8px 12px;cursor:pointer;text-transform:uppercase}
@media(max-width:900px){.burger{display:block}nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:#000;border-bottom:3px solid var(--amber)}nav.main.open{display:block}nav.main ul{flex-direction:column;align-items:stretch;padding:8px 20px 16px}}
/* hero */
.hero{background:linear-gradient(90deg,rgba(12,28,44,.94) 0%,rgba(28,59,90,.82) 55%,rgba(28,59,90,.45) 100%),var(--bg) center/cover;color:#fff;padding:96px 0 88px}
.hero.img{background-image:linear-gradient(90deg,rgba(12,28,44,.94) 0%,rgba(28,59,90,.82) 55%,rgba(28,59,90,.4) 100%),url(../images/woodland/01.jpg);background-size:cover;background-position:center 30%}
.hero h1{color:#fff;font-size:clamp(34px,5.4vw,60px);max-width:800px}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero p{max-width:640px;font-size:20px;margin:20px 0 30px;color:#dfe9f2}
.pagehead{background:var(--navy);color:#fff;padding:56px 0;border-bottom:4px solid var(--amber)}
.pagehead h1{color:#fff;font-size:clamp(30px,4.4vw,46px)}
.pagehead p{color:#cfdceb;max-width:720px;margin-top:12px;font-size:19px}
.btn{display:inline-block;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.07em;font-size:16px;text-decoration:none;padding:13px 26px;border-radius:2px;border:2px solid var(--amber);background:var(--amber);color:#000;margin-right:10px;margin-bottom:8px}
.btn:hover{background:transparent;color:var(--amber)}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.btn.ghost:hover{background:#fff;color:var(--navy)}
/* sections */
section{padding:72px 0}
section.alt{background:var(--bg)}
section.dark{background:var(--navy);color:#e6eef6}
section.dark h2,section.dark h3{color:#fff}
.bar{background:var(--navy);color:#fff;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:14px;padding:10px 0}
.bar .wrap{display:flex;flex-wrap:wrap;gap:8px 34px;justify-content:center}
.bar span:before{content:"■ ";color:var(--amber)}
h2.sec{font-size:clamp(26px,3.4vw,38px);margin-bottom:8px}
.rule{width:64px;height:4px;background:var(--amber);margin:12px 0 28px}
.lead{font-size:19px;max-width:760px;color:#2c3a47}
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
@media(max-width:520px){.g2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #dde3e9;border-top:4px solid var(--amber);padding:26px}
section.alt .card{background:#fff}
.card h3{font-size:21px;margin-bottom:10px}
.card p{color:#3a4855}
.card ul{margin:10px 0 0 18px;color:#3a4855}
.card li{margin:3px 0}
.num{font-family:'Oswald';font-size:44px;color:var(--amber);line-height:1}
.pcard{background:#fff;border:1px solid #dde3e9;display:flex;flex-direction:column}
.pcard .ph{aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);position:relative;overflow:hidden}
.pcard .ph img{width:100%;height:100%;object-fit:cover}
.pcard .ph.empty:after{content:"PHOTOS COMING";position:absolute;inset:0;display:grid;place-items:center;font-family:Oswald;letter-spacing:.2em;color:rgba(255,255,255,.35);font-size:15px}
.pcard .body{padding:22px;flex:1}
.tag{display:inline-block;background:var(--sky);color:var(--navy);font:600 12px Oswald;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;margin:0 6px 8px 0}
.pcard h3{font-size:21px;margin-bottom:6px}
.pcard .loc{color:var(--steel);font-weight:600;margin-bottom:8px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;text-align:center}
.stats b{display:block;font-family:Oswald;font-size:46px;color:var(--amber);line-height:1}
.stats span{font-size:15px;letter-spacing:.05em;text-transform:uppercase}
table.t{width:100%;border-collapse:collapse;font-size:16px}
table.t th{background:var(--navy);color:#fff;text-align:left;font-family:Oswald;text-transform:uppercase;letter-spacing:.06em;font-weight:500;padding:11px 14px}
table.t td{padding:11px 14px;border-bottom:1px solid #dde3e9}
table.t tr:nth-child(even) td{background:var(--bg)}
.steps{counter-reset:s;display:grid;gap:18px}
.step{display:grid;grid-template-columns:64px 1fr;gap:18px;background:#fff;border-left:4px solid var(--amber);padding:22px;border-top:1px solid #dde3e9;border-right:1px solid #dde3e9;border-bottom:1px solid #dde3e9}
.step:before{counter-increment:s;content:counter(s);font-family:Oswald;font-size:46px;color:var(--amber);line-height:1}
.step h3{font-size:20px;margin-bottom:4px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:#fff;border:1px solid #cfd8e1;border-left:4px solid var(--amber);padding:10px 16px;font-family:Oswald;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}
.chip.sub{border-left-color:var(--steel);color:#445}
.cta-band{background:var(--navy);color:#fff;text-align:center;padding:64px 0;border-top:4px solid var(--amber)}
.cta-band h2{color:#fff;font-size:clamp(26px,3.6vw,40px);margin-bottom:12px}
.cta-band p{color:#cfdceb;max-width:620px;margin:0 auto 24px}
.contact-box{background:var(--sky);padding:30px;border-left:6px solid var(--navy)}
.contact-box h3{margin-bottom:14px}
.contact-box p{margin:6px 0;font-size:18px}
.two{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start}
@media(max-width:820px){.two{grid-template-columns:1fr}}
.photo{border:1px solid #cdd6df}
#fort-quappelle .grid .photo,.alt .grid .photo{aspect-ratio:4/3;object-fit:cover;width:100%}
#fort-quappelle .two .photo{max-height:620px;object-fit:cover;width:100%}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ba>div{position:relative}
.ba img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #cdd6df}
.ba .lab{position:absolute;left:8px;top:8px;background:#000;color:#fff;font:600 12px Oswald;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px}
.ba .lab.after{background:var(--amber);color:#000}
.ba3{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}
@media(max-width:520px){.ba3{grid-template-columns:1fr}}
.cap{font-size:14px;color:var(--steel);padding:8px 2px}
footer.site{background:#000;color:#aab6c2;padding:48px 0 24px;border-top:3px solid var(--amber);font-size:15px}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
footer.site h4{color:#fff;font-size:15px;margin-bottom:10px;letter-spacing:.1em}
footer.site a{color:#aab6c2;text-decoration:none;display:block;padding:2px 0}
footer.site a:hover{color:var(--amber)}
footer.site .legal{border-top:1px solid #222;margin-top:30px;padding-top:16px;font-size:13px;color:#7d8996}

a.pcard{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
a.pcard:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.pcard .count{position:absolute;right:10px;bottom:10px;background:#000;color:#fff;font:600 12px Oswald;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px}
.pcard .more{display:inline-block;margin-top:10px;font-family:Oswald;text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--navy);border-bottom:2px solid var(--amber)}
.crumb{font-size:15px;margin-bottom:10px}.crumb a{color:#cfdceb}
.gal{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gal a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#000;border:1px solid #cdd6df}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.gal a:hover img{transform:scale(1.04)}
.gal .lab{position:absolute;left:8px;top:8px;background:#000;color:#fff;font:600 12px Oswald;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px}
.gal .lab.After,.gal .lab.Completed{background:var(--amber);color:#000}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:20px}
.lb.on{display:flex}
.lb img{max-width:94vw;max-height:80vh;object-fit:contain}
.lb .cp{color:#e6eef6;margin-top:14px;text-align:center;max-width:800px}
.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font:600 26px Oswald;width:52px;height:52px;cursor:pointer;border-radius:2px}
.lb button:hover{background:var(--amber);color:#000}
.lb .x{top:16px;right:16px}.lb .pv{left:14px;top:50%}.lb .nx{right:14px;top:50%}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:22px}
.facts div{background:var(--sky);padding:14px 16px;border-left:4px solid var(--navy)}
.facts b{display:block;font:600 12px Oswald;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
