:root{--navy:#090528;--gold:#d8ad4a;--gold2:#f3d67f;--ivory:#fbf8f0;--ink:#171327;--muted:#6d6877;--line:#ded8ca}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{height:82px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;background:rgba(9,5,40,.97);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(216,173,74,.25)}
.brand,.footer-brand{display:flex;align-items:center;gap:12px}
.brand img,.footer-brand img{width:54px;height:54px;border-radius:50%}
.brand span,.footer-brand p{display:flex;flex-direction:column;margin:0}
.brand strong,.footer-brand strong{font:400 21px Georgia,serif;color:var(--gold2)}
.brand small,.footer-brand small{text-transform:uppercase;letter-spacing:.18em;font-size:8px}
.site-header nav{display:flex;gap:28px;font-size:13px}
.menu-toggle{display:none}
.btn{border:0;background:var(--gold);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;font-weight:800;cursor:pointer}
.btn.small{min-height:40px;font-size:13px}
.hero{height:calc(100vh - 82px);min-height:640px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,4,36,.95),rgba(8,4,36,.69) 48%,rgba(8,4,36,.1) 80%)}
.hero-copy{position:relative;z-index:2;width:min(760px,90%);margin-left:clamp(24px,8vw,130px)}
.eyebrow{margin:0 0 21px;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800}
.gold{color:#9c7423}
.hero h1,.intro h2,.rates h2,.security h2,.location h2,.page-shell h1{font:400 clamp(46px,6vw,86px)/1.05 Georgia,serif;margin:0}
.hero h1 em{color:var(--gold2);font-weight:400}
.hero-copy>p:not(.eyebrow):not(.actions){max-width:620px;color:#e5e0ed;font-size:18px;line-height:1.7}
.actions{display:flex;align-items:center;gap:28px;margin-top:30px;font-weight:700}
.trust{position:absolute;z-index:3;bottom:0;left:0;right:0;background:rgba(8,4,36,.85);display:grid;grid-template-columns:repeat(4,1fr);padding:20px 7%;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.trust span{text-align:center}
.site-status{padding:10px 0 20px;background:var(--ivory)}.announcement{margin:0 clamp(24px,8vw,130px);padding:24px 28px;background:#fff7df;border-left:5px solid var(--gold);box-shadow:0 12px 36px rgba(21,14,49,.08);display:flex;align-items:center;justify-content:space-between;gap:32px}.announcement>div{display:grid;gap:7px}.announcement span{color:#8a651c;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:900}.announcement strong{font:400 25px Georgia,serif}.announcement p{margin:0;color:var(--muted);line-height:1.55}.announcement>a{font-weight:800;color:var(--navy);white-space:nowrap}
.brazzaville-now{margin:20px clamp(24px,8vw,130px) 0;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr}.brazzaville-now>div{min-width:0;padding:23px 30px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 22px;align-items:center;border-right:1px solid rgba(255,255,255,.14)}.brazzaville-now>div:last-child{border:0}.brazzaville-now span{grid-row:1/3;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--gold2)}.brazzaville-now strong{font:400 28px Georgia,serif;overflow-wrap:anywhere}.brazzaville-now small{color:#c8c3d2}
.section{padding:105px clamp(24px,8vw,130px)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end}
.intro h2,.rates h2,.location h2{font-size:clamp(42px,5vw,70px)}
.intro>p{font-size:19px;line-height:1.9;color:var(--muted)}
.video-section{padding-top:20px;display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;align-items:center}.video-section h2{font:400 clamp(39px,4.5vw,64px)/1.07 Georgia,serif;margin:0}.video-section p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.75}.video-section small{display:block;border-left:3px solid var(--gold);padding:11px 14px;color:var(--muted);line-height:1.5}.video-section video{width:100%;background:var(--navy);box-shadow:0 20px 55px rgba(20,15,40,.18);aspect-ratio:16/9}
.houses{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.houses article{background:#fff;box-shadow:0 18px 50px rgba(21,14,49,.09)}
.houses article>img{width:100%;height:330px;object-fit:cover}
.houses article>div{padding:40px}
.houses h3{font:400 42px Georgia,serif;margin:0 0 10px}
.houses p,.houses li{color:var(--muted);line-height:1.7}
.price{display:block;border-top:1px solid var(--line);padding-top:22px;margin-top:22px;font-size:22px}
.price small{font-size:13px;color:var(--muted)}
.rates{text-align:center}
.rates header{margin-bottom:55px}
.rates>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);text-align:left}
.rates article{background:var(--ivory);padding:40px}
.rates article.featured{background:#eee2bf}
.rates article>span{color:#9c7423;font:italic 18px Georgia,serif}
.rates h3{font:400 30px Georgia,serif}
.rates p{line-height:1.7;color:var(--muted)}
.gallery{text-align:center;padding-top:25px}
.gallery header{margin-bottom:50px}
.gallery header h2{font:400 clamp(42px,5vw,70px) Georgia,serif}
.gallery>div{display:grid;grid-template-columns:2fr 1fr;grid-auto-rows:280px;gap:14px}
.gallery img{width:100%;height:100%;object-fit:cover}
.security{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:var(--navy);color:#fff}
.security>img{width:100%;height:100%;object-fit:cover}
.security>div{padding:80px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center}
.security h2{font-size:clamp(44px,5vw,70px)}
.security p:not(.eyebrow),.security li{color:#c7c1d1;line-height:1.75}
.location{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.location p{color:var(--muted);line-height:1.8}
.map-card{height:380px;background:radial-gradient(circle at 30% 30%,#e9ddba,#cbb36d);display:flex;flex-direction:column;align-items:center;justify-content:center;border:12px solid #fff;box-shadow:0 18px 60px rgba(20,15,40,.15);font-size:68px}
.map-card strong{font:400 32px Georgia,serif}
.map-card small{font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.site-footer{background:#070421;color:#cbc7d5;padding:65px clamp(24px,8vw,130px) 28px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.site-footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:10px;font-size:13px}
.site-footer h4{color:var(--gold2);text-transform:uppercase;font-size:11px;letter-spacing:.15em}
.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:11px}
.page-shell{max-width:980px;min-height:65vh;margin:auto;padding:80px 24px}
.page-shell h1{font-size:58px}
.entry-content,.page-shell article>p{line-height:1.85;color:var(--muted)}
.entry-content h2{font:400 30px Georgia,serif;color:var(--ink);margin-top:40px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}
.contact-form input,.contact-form textarea{padding:14px;border:1px solid var(--line);background:#fff}
.contact-form textarea{min-height:150px}
.contact-form .wide{grid-column:1/-1}
.contact-form .check{flex-direction:row;align-items:center}
.form-ok{background:#e9f6ec;color:#1b6332!important;padding:15px}
.form-error{background:#fde9e9;color:#812020!important;padding:15px}
.woocommerce-page .site-main{max-width:1180px;margin:auto;padding:60px 24px}
@media(max-width:950px){.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column}
.site-header nav.open{display:flex}
.menu-toggle{display:block;background:transparent;color:white;border:1px solid rgba(255,255,255,.3);padding:8px}
.hero{min-height:680px}
.trust{grid-template-columns:1fr 1fr;gap:12px}
.announcement,.brazzaville-now{margin-inline:26px}
.intro,.video-section,.houses,.security,.location{grid-template-columns:1fr}
.video-section{gap:30px}
.intro{gap:30px}
.rates>div{grid-template-columns:1fr}
.gallery>div{grid-template-columns:1fr;grid-auto-rows:240px}
.security>img{max-height:420px}
.site-footer{grid-template-columns:1fr 1fr}
.footer-brand{grid-column:1/-1}
}
@media(max-width:600px){.site-header{height:70px}
.site-header>.small{display:none}
.brand strong{font-size:17px}
.hero{min-height:720px}
.hero-copy{margin:0 22px 90px}
.hero h1{font-size:44px}
.actions{align-items:flex-start;flex-direction:column}
.trust{font-size:9px;padding:14px}
.announcement{margin:18px 21px 0;padding:20px;align-items:flex-start;flex-direction:column;gap:14px}.announcement strong{font-size:22px}.brazzaville-now{margin:14px 21px 0;grid-template-columns:1fr}.brazzaville-now>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);grid-template-columns:95px 1fr;padding:18px}
.section{padding:75px 21px}
.houses{padding-top:0}
.houses article>img{height:250px}
.houses article>div{padding:27px}
.site-footer{grid-template-columns:1fr}
.contact-form{grid-template-columns:1fr}
.contact-form .wide{grid-column:1}
.page-shell h1{font-size:43px}
}

.river-section{display:grid;grid-template-columns:1.35fr 1fr;min-height:520px;background:#eee6d5}
.river-section>img{width:100%;height:100%;min-height:520px;object-fit:cover}
.river-section>div{padding:80px clamp(35px,6vw,95px);display:flex;flex-direction:column;justify-content:center}
.river-section h2{font:400 clamp(40px,5vw,66px)/1.08 Georgia,serif;margin:0}
.river-section p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:17px}
.river-section small{display:block;border-left:3px solid var(--gold);padding:12px 14px;color:var(--muted);line-height:1.5}
@media(max-width:950px){.river-section{grid-template-columns:1fr}.river-section>img{min-height:420px}}
@media(max-width:600px){.river-section>img{min-height:300px}.river-section>div{padding:64px 22px}}
