@import "tailwindcss";

:root {
  --ink: #171914;
  --forest: #1d2a20;
  --forest-deep: #101813;
  --sand: #e9e0d0;
  --paper: #f5f1e8;
  --gold: #c69649;
  --gold-pale: #e6c27e;
  --muted: #6f7169;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.wrap { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.section { padding: 120px 0; }

.hero { position: relative; min-height: 100svh; color: white; isolation: isolate; overflow: hidden; background: #1a211a; }
.hero-image { position: absolute; inset: 0; z-index: -3; background: #1a211a url('../images/lodge-aerial.webp') center/cover no-repeat; transform: scale(1.01); }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(8,13,9,.86) 0%,rgba(8,13,9,.56) 44%,rgba(8,13,9,.12) 75%), linear-gradient(0deg,rgba(8,13,9,.7),transparent 35%); }
.nav { height: 106px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.18); position: relative; z-index: 3; }
.brand { display:flex; align-items:center; flex:0 0 auto; }
.brand-logo { display:block; width:auto; height:82px; object-fit:contain; }
.nav-links { display: flex; gap: 34px; font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.nav-links a { opacity: .8; transition: opacity .2s; }
.nav-links a:hover { opacity: 1; }
.nav-cta,.button { display: inline-flex; align-items: center; gap: 18px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; font-size: 10px; }
.nav-cta { padding: 14px 0 14px 24px; border-left: 1px solid rgba(255,255,255,.25); }
.nav-cta svg,.button svg,.underline-link svg { font-size: 18px; }
.hero-content { padding-top: clamp(90px, 14vh, 160px); }
.eyebrow,.section-tag { display: flex; align-items: center; gap: 13px; font-size: 10px; letter-spacing: .28em; font-weight: 700; color: var(--gold-pale); }
.eyebrow span { width: 40px; height: 1px; background: var(--gold-pale); }
h1,h2,blockquote { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.hero h1 { max-width: 780px; font-size: clamp(72px,9.2vw,134px); line-height: .82; letter-spacing: -.055em; margin: 30px 0 34px; }
em { font-weight: 400; color: var(--gold-pale); }
.hero-lead { max-width: 555px; font-family: Georgia,serif; font-size: 18px; line-height: 1.7; color: rgba(255,255,255,.78); }
.hero-actions { display: flex; align-items: center; gap: 36px; margin-top: 38px; }
.button { padding: 18px 24px; border: 1px solid transparent; transition: background .2s, color .2s, transform .2s; }
.button-gold { background: var(--gold); color: #161914; }
.button:hover { transform: translateY(-2px); }
.text-link { font-size: 10px; text-transform: uppercase; letter-spacing: .18em; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 8px; }
.text-link span { margin-left: 14px; color: var(--gold-pale); }
.hero-foot { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; justify-content: space-between; align-items: end; }
.hero-foot p { margin: 0; font-family: Georgia,serif; font-style: italic; color: rgba(255,255,255,.56); font-size: 13px; }
.scroll-cue { display:flex; align-items:center; gap:14px; color: rgba(255,255,255,.5); font-size: 8px; letter-spacing: .22em; }
.scroll-cue i { display:block; width:1px; height:34px; background:linear-gradient(var(--gold-pale),transparent); }

.intro { background: var(--paper); }
.intro-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items:start; }
.section-tag { color: #9b733b; margin: 0 0 32px; }
.section-tag.light { color: var(--gold-pale); }
.intro h2,.pillars h2 { font-size: clamp(48px,5.6vw,78px); line-height: 1.04; letter-spacing: -.045em; margin: 0; }
.intro h2 em,.pillars h2 em { color: #9b733b; }
.intro-copy { border-left: 1px solid #d5ccbc; padding-left: 62px; }
.intro-copy p { color: var(--muted); line-height: 1.8; font-size: 15px; }
.intro-copy .lead-serif { margin-top: 0; color: #34372f; font-family: Georgia,serif; font-size: 22px; line-height: 1.55; }
.underline-link { display:inline-flex; align-items:center; gap:35px; border-bottom:1px solid #b8ad9a; padding: 0 0 10px; margin-top: 24px; text-transform:uppercase; font-size:9px; letter-spacing:.18em; font-weight:700; }

.pillars { background: var(--forest); color:white; padding: 120px 0; position:relative; overflow:hidden; }
.pillars::after { content:"AH"; position:absolute; right:-60px; top:-160px; font:400 390px/1 Georgia,serif; color:rgba(255,255,255,.025); letter-spacing:-.15em; }
.pillars-heading { display:flex; justify-content:space-between; align-items:end; position:relative; z-index:1; }
.pillars-heading .section-tag { align-self:flex-start; }
.pillars h2 { max-width:700px; }
.pillars h2 em { color:var(--gold-pale); }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:90px; border-top:1px solid rgba(255,255,255,.14); position:relative; z-index:1; }
.pillar-grid article { position:relative; padding:48px 48px 12px 0; min-height:300px; border-right:1px solid rgba(255,255,255,.14); }
.pillar-grid article+article { padding-left:48px; }
.pillar-grid article:last-child { border-right:0; }
.pillar-number { position:absolute; top:22px; right:22px; color:rgba(255,255,255,.3); font:11px/1 Georgia,serif; }
.icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(230,194,126,.35); border-radius:50%; color:var(--gold-pale); font-size:24px; }
.pillar-grid h3 { font:400 24px/1.2 Georgia,serif; margin:34px 0 16px; }
.pillar-grid p { color:rgba(255,255,255,.58); font-size:13px; line-height:1.75; max-width:310px; }

.manifesto { min-height: 670px; position:relative; display:grid; place-items:center; color:white; isolation:isolate; overflow:hidden; }
.manifesto-image { position:absolute; inset:0; z-index:-3; background: radial-gradient(circle at center,#3e3728,#141812 70%); background-size:cover; background-position:center; }
.manifesto-shade { position:absolute; inset:0; z-index:-2; background:rgba(9,14,10,.57); }
.manifesto-copy { text-align:center; }
.manifesto-copy .section-tag { justify-content:center; }
.manifesto blockquote { font-size:clamp(40px,5vw,72px); line-height:1.14; letter-spacing:-.035em; margin:30px 0 50px; }
.manifesto-copy>p:last-child { font-size:9px; letter-spacing:.28em; color:rgba(255,255,255,.55); }

.journey { background:#eee6d8; }
.journey-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:110px; align-items:center; }
.journey-visual { position:relative; min-height:740px; }
.journey-image { position:absolute; inset:0 38px 58px 0; background:#8a7658 url('../images/women-field-guidance.webp') center/cover no-repeat; }
.image-note { position:absolute; right:0; bottom:0; width:240px; background:var(--paper); padding:24px 28px; display:flex; gap:20px; box-shadow:0 18px 55px rgba(38,33,25,.12); }
.image-note span { color:#9b733b; font:12px/1 Georgia,serif; }
.image-note p { margin:0; font-size:9px; letter-spacing:.16em; line-height:1.6; }
.image-note small { color:#8a867c; font-size:8px; letter-spacing:.08em; }
.journey-copy h2,.notes-head h2,.faq h2,.stay h2,.final-cta h2 { font:400 clamp(48px,5.2vw,74px)/1.04 Georgia,serif; letter-spacing:-.045em; margin:0; }
.journey-copy h2 em,.notes-head h2 em,.faq h2 em { color:#9b733b; }
.journey-intro { color:#5d5e57; line-height:1.8; margin:32px 0 26px; max-width:550px; }
.steps { list-style:none; padding:0; margin:0 0 36px; }
.steps li { display:grid; grid-template-columns:42px 1fr; gap:18px; padding:20px 0; border-top:1px solid #d0c6b6; }
.steps li>span { font:11px/1.4 Georgia,serif; color:#9b733b; padding-top:3px; }
.steps h3 { font:400 20px/1.2 Georgia,serif; margin:0 0 6px; }
.steps p { margin:0; font-size:12px; line-height:1.65; color:#77766e; max-width:470px; }
.button-dark { background:var(--forest); color:white; }

.stay { min-height:760px; position:relative; background:#1b241d; color:white; display:flex; align-items:stretch; }
.stay-image { position:absolute; inset:0 44% 0 0; background:#2b362d url('../images/hospitality-braai.webp') center/cover no-repeat; }
.stay-panel { width:52%; margin-left:auto; padding:130px max(7vw,70px); background:var(--forest); position:relative; z-index:1; }
.stay-panel h2 em { color:var(--gold-pale); }
.stay-panel>p:not(.section-tag) { color:rgba(255,255,255,.62); line-height:1.85; max-width:550px; margin:34px 0; font-size:14px; }
.amenities { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid rgba(255,255,255,.15); margin:38px 0; }
.amenities span { padding:18px 8px 18px 0; border-bottom:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.78); font:13px/1.2 Georgia,serif; }
.light-link { color:white; border-color:rgba(255,255,255,.32); }

.field-notes { background:var(--paper); }
.notes-head { display:flex; justify-content:space-between; align-items:end; gap:80px; margin-bottom:70px; }
.notes-head>p { max-width:390px; color:#77766e; font-size:14px; line-height:1.8; margin-bottom:10px; }
.notes-grid { display:grid; grid-template-columns:1.6fr .7fr .7fr; gap:22px; }
.note-card { background:white; }
.note-image { height:330px; background:#5a5549 url('../images/lodge-aerial.webp') center 54%/cover no-repeat; }
.note-copy { padding:34px; }
.note-copy span,.small-note>span { color:#9b733b; font-size:8px; letter-spacing:.18em; }
.note-copy h3 { font:400 28px/1.2 Georgia,serif; margin:15px 0; }
.note-copy p { color:#77766e; line-height:1.7; font-size:13px; }
.note-copy a { display:inline-flex; gap:22px; align-items:center; margin-top:13px; text-transform:uppercase; letter-spacing:.16em; font-size:8px; font-weight:700; }
.small-note { background:#d9ceb9; padding:36px; display:flex; flex-direction:column; justify-content:flex-end; min-height:580px; position:relative; overflow:hidden; }
.small-note::before { content:'01'; position:absolute; top:28px; right:28px; font:70px/1 Georgia,serif; color:rgba(23,25,20,.06); }
.small-note h3 { font:400 28px/1.25 Georgia,serif; margin:18px 0; }
.small-note p { color:#66665f; font-size:13px; line-height:1.7; }
.dark-note { background:var(--forest); color:white; }
.dark-note::before { content:'02'; color:rgba(255,255,255,.05); }
.dark-note p { color:rgba(255,255,255,.56); }
.dark-note>span { color:var(--gold-pale); }

.faq { background:#e9e0d0; }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:120px; }
.faq-lead { max-width:420px; color:#77766e; font-size:14px; line-height:1.75; margin-top:30px; }
.accordion { border-top:1px solid #c6baa7; }
.accordion details { border-bottom:1px solid #c6baa7; padding:0 4px; }
.accordion summary { list-style:none; cursor:pointer; font:400 20px/1.3 Georgia,serif; padding:26px 0; display:flex; justify-content:space-between; gap:24px; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary span { color:#9b733b; font:26px/1 Georgia,serif; transition:transform .2s; }
.accordion details[open] summary span { transform:rotate(45deg); }
.accordion details p { max-width:620px; margin:-6px 50px 28px 0; color:#6e6c64; font-size:13px; line-height:1.75; }

.final-cta { min-height:710px; position:relative; background:#222d24 url('../images/bush-road.webp') center 52%/cover no-repeat; color:white; display:flex; align-items:center; isolation:isolate; }
.final-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(11,17,12,.88),rgba(11,17,12,.42) 60%,rgba(11,17,12,.18)); }
.final-copy h2 { font-size:clamp(64px,8vw,112px); line-height:.9; }
.final-copy h2 em { color:var(--gold-pale); }
.final-copy>p:not(.section-tag) { max-width:510px; color:rgba(255,255,255,.67); font-family:Georgia,serif; font-size:17px; line-height:1.7; margin:32px 0; }

footer { background:var(--forest-deep); color:white; padding:70px 0 24px; }
.footer-top { display:grid; grid-template-columns:1.3fr 1fr .7fr .7fr; gap:60px; align-items:start; padding-bottom:70px; }
.footer-brand .brand-logo { height:118px; }
.footer-top>p { font:italic 18px/1.5 Georgia,serif; color:rgba(255,255,255,.54); margin:0; }
.footer-top>div { display:flex; flex-direction:column; gap:16px; }
.footer-top small { font-size:8px; letter-spacing:.2em; color:rgba(255,255,255,.38); }
.footer-top>div a { font:14px/1.2 Georgia,serif; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:22px; display:flex; justify-content:space-between; color:rgba(255,255,255,.35); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }

@media (max-width: 980px) {
  .wrap { width:min(100% - 48px, 760px); }
  .nav-links { display:none; }
  .intro-grid { grid-template-columns:1fr; gap:55px; }
  .intro-copy { padding-left:0; border-left:0; max-width:620px; }
  .pillars-heading { display:block; }
  .pillar-grid { grid-template-columns:1fr; }
  .pillar-grid article,.pillar-grid article+article { padding:34px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); min-height:0; }
  .pillar-grid article:last-child { border-bottom:0; }
  .pillar-number { top:50px; }
  .journey-grid,.faq-grid { grid-template-columns:1fr; gap:70px; }
  .journey-visual { min-height:650px; }
  .stay { display:block; }
  .stay-image { position:relative; inset:auto; height:520px; }
  .stay-panel { width:100%; padding:90px max(7vw,48px); }
  .notes-head { display:block; }
  .notes-head>p { margin-top:28px; }
  .notes-grid { grid-template-columns:1fr 1fr; }
  .note-card { grid-column:1/-1; }
  .small-note { min-height:420px; }
  .footer-top { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  .wrap { width:calc(100% - 36px); }
  .nav { height:86px; }
  .nav-cta { font-size:0; border-left:0; padding-left:0; gap:0; }
  .nav-cta::before { content:'PLAN'; font-size:9px; letter-spacing:.16em; }
  .nav-cta svg { margin-left:8px; }
  .hero-content { padding-top:100px; }
  .hero h1 { font-size:clamp(62px,21vw,92px); }
  .hero-lead { font-size:16px; line-height:1.6; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:24px; }
  .hero-foot p { display:none; }
  .hero-foot { justify-content:flex-end; }
  .section { padding:86px 0; }
  .intro h2,.pillars h2 { font-size:48px; }
  .pillars { padding:86px 0; }
  .pillar-grid { margin-top:56px; }
  .manifesto { min-height:560px; }
  .journey-grid { gap:56px; }
  .journey-visual { min-height:500px; }
  .journey-image { inset:0 20px 50px 0; }
  .image-note { width:210px; padding:20px; }
  .stay-image { height:360px; }
  .stay-panel { padding:76px 22px; }
  .amenities { grid-template-columns:1fr; }
  .notes-grid { grid-template-columns:1fr; }
  .note-card { grid-column:auto; }
  .note-image { height:270px; }
  .small-note { min-height:360px; }
  .faq-grid { gap:50px; }
  .final-cta { min-height:640px; }
  .footer-top { grid-template-columns:1fr; gap:38px; }
  .footer-bottom { flex-direction:column; gap:10px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

/* AfriHunt lead-conversion landing page */
.lp { background:#f4efe5; color:#171914; }
.lp-wrap { width:min(1220px,calc(100% - 88px)); margin-inline:auto; }
.lp-section { padding:118px 0; }
.lp svg { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.lp-hero { min-height:100svh; position:relative; isolation:isolate; color:white; overflow:hidden; padding-bottom:70px; }
.lp-hero-image { position:absolute; inset:0; z-index:-3; background:#1d2a20 url('../images/lodge-aerial.webp') center/cover no-repeat; }
.lp-hero-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(6,12,8,.92),rgba(7,13,9,.68) 48%,rgba(7,13,9,.28)),linear-gradient(0deg,rgba(7,12,8,.72),transparent 45%); }
.lp-nav { height:96px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.17); }
.lp-nav-proof { display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.54); font-size:8px; letter-spacing:.24em; }
.lp-nav-proof span { width:34px; height:1px; background:#d2a75c; }
.lp-nav-cta,.lp-primary { display:inline-flex; align-items:center; gap:18px; background:#ca9b4c; color:#151914; padding:18px 22px; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; transition:transform .2s,background .2s; }
.lp-nav-cta { background:transparent; color:white; padding-right:0; }
.lp-nav-cta:hover,.lp-primary:hover { transform:translateY(-2px); }
.lp-hero-grid { display:grid; grid-template-columns:1.05fr .78fr; gap:80px; align-items:center; padding-top:78px; }
.lp-kicker,.lp-section-tag { display:flex; align-items:center; gap:13px; margin:0 0 24px; color:#a27636; font-size:9px; letter-spacing:.27em; font-weight:800; }
.lp-kicker { color:#e3bd78; }
.lp-kicker span { width:40px; height:1px; background:#e3bd78; }
.lp-hero h1 { font:400 clamp(62px,6.7vw,100px)/.9 Georgia,serif; letter-spacing:-.055em; margin:0; max-width:700px; }
.lp-hero h1 em,.lp-value h2 em,.lp-split blockquote em,.lp-process h2 em,.lp-stay h2 em,.lp-faq h2 em,.lp-final h2 em { color:#e3bd78; }
.lp-hero-lead { max-width:650px; font:18px/1.68 Georgia,serif; color:rgba(255,255,255,.76); margin:30px 0; }
.lp-hero-actions { display:flex; align-items:center; gap:28px; }
.lp-secondary { font-size:9px; letter-spacing:.17em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:8px; }
.lp-proof-list { display:flex; gap:25px; margin-top:34px; color:rgba(255,255,255,.62); font-size:10px; }
.lp-proof-list span { display:flex; align-items:center; gap:7px; }
.lp-proof-list svg { color:#e3bd78; font-size:16px; }
.lp-form-card { background:rgba(248,244,236,.97); color:#171914; padding:36px; box-shadow:0 32px 100px rgba(0,0,0,.28); scroll-margin-top:24px; }
.lp-form-head>span { font-size:8px; letter-spacing:.25em; color:#a27636; font-weight:800; }
.lp-form-head h2 { font:400 35px/1.06 Georgia,serif; letter-spacing:-.03em; margin:12px 0; }
.lp-form-head p { color:#6f7169; font-size:12px; line-height:1.6; margin:0 0 22px; }
.lp-form { display:grid; gap:14px; }
.lp-form label { display:grid; gap:7px; }
.lp-form label>span { font-size:8px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:#66675f; }
.lp-form input,.lp-form select,.lp-form textarea { width:100%; border:1px solid #d5ccbc; background:#fffdf8; color:#23251f; border-radius:0; padding:13px 14px; font:12px/1.4 Arial,sans-serif; outline:none; }
.lp-form input:focus,.lp-form select:focus,.lp-form textarea:focus { border-color:#a27636; box-shadow:0 0 0 2px rgba(162,118,54,.12); }
.lp-form textarea { resize:vertical; }
.lp-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lp-form .lp-consent { grid-template-columns:16px 1fr; align-items:start; gap:9px; }
.lp-form .lp-consent input { width:15px; height:15px; accent-color:#1d2a20; margin:0; }
.lp-form .lp-consent span { text-transform:none; letter-spacing:0; line-height:1.5; font-weight:400; font-size:10px; }
.lp-submit { border:0; background:#1d2a20; color:white; padding:17px 20px; display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:.14em; text-transform:uppercase; font-weight:800; cursor:pointer; }
.lp-submit svg { font-size:18px; }
.lp-submit:disabled { opacity:.62; cursor:wait; }
.lp-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.lp-form-status { min-height:16px; margin:0; color:#526455; font-size:10px; line-height:1.5; text-align:center; }
.lp-form-status.is-error { color:#8b2f25; }
.lp-form-note { text-align:center; color:#8a887f; font-size:9px; line-height:1.5; margin:0; }
.lp-prepared { margin-top:20px; border-top:1px solid #d5ccbc; padding-top:20px; }
.lp-prepared strong { font:400 20px/1.2 Georgia,serif; color:#1d2a20; }
.lp-prepared p { color:#6f7169; font-size:11px; line-height:1.5; }
.lp-prepared textarea { width:100%; background:white; border:1px solid #d5ccbc; padding:12px; color:#5f615a; font-size:10px; line-height:1.5; }
.lp-prepared button { margin-top:10px; border:0; background:transparent; border-bottom:1px solid #a27636; padding:0 0 5px; color:#734f1e; font-size:8px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.lp-trust-strip { background:#111a14; color:white; padding:24px 0; }
.lp-trust-strip>div { display:flex; justify-content:center; align-items:center; gap:30px; color:rgba(255,255,255,.53); font-size:8px; letter-spacing:.22em; }
.lp-trust-strip i { width:4px; height:4px; border-radius:50%; background:#c69649; }
.lp-problem { background:#f4efe5; }
.lp-problem-grid { display:grid; grid-template-columns:1fr .8fr; gap:120px; }
.lp-problem h2,.lp-value h2,.lp-process h2,.lp-stay h2,.lp-faq h2,.lp-final h2 { font:400 clamp(50px,5.4vw,78px)/1.03 Georgia,serif; letter-spacing:-.045em; margin:0; }
.lp-problem h2 em,.lp-process h2 em,.lp-faq h2 em { color:#9a6e30; }
.lp-problem-copy { border-left:1px solid #d1c7b7; padding-left:55px; }
.lp-problem-copy p { color:#6f7169; font-size:14px; line-height:1.75; }
.lp-problem-copy .lp-large-copy { margin-top:0; color:#30332c; font:22px/1.52 Georgia,serif; }
.lp-problem-copy a,.lp-stay-copy>a { display:inline-flex; align-items:center; gap:30px; margin-top:20px; border-bottom:1px solid #c3b59f; padding-bottom:9px; font-size:8px; letter-spacing:.16em; text-transform:uppercase; font-weight:800; }
.lp-value { background:#1d2a20; color:white; position:relative; overflow:hidden; }
.lp-value::after { content:'AH'; position:absolute; right:-60px; top:-150px; font:400 380px/1 Georgia,serif; color:rgba(255,255,255,.025); }
.lp-value-head { display:flex; justify-content:space-between; align-items:end; gap:70px; position:relative; z-index:1; }
.lp-light { color:#e3bd78; }
.lp-value-head>p { max-width:390px; color:rgba(255,255,255,.56); font-size:13px; line-height:1.75; }
.lp-value-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:75px; border-top:1px solid rgba(255,255,255,.14); position:relative; z-index:1; }
.lp-value-grid article { min-height:285px; padding:38px 42px 20px 0; border-right:1px solid rgba(255,255,255,.14); }
.lp-value-grid article+article { padding-left:42px; }
.lp-value-grid article:last-child { border-right:0; }
.lp-value-grid span { color:#e3bd78; font:10px/1 Georgia,serif; }
.lp-value-grid h3 { font:400 24px/1.2 Georgia,serif; margin:34px 0 14px; }
.lp-value-grid p { color:rgba(255,255,255,.56); font-size:12px; line-height:1.75; }
.lp-split { display:grid; grid-template-columns:1fr 1fr; min-height:720px; }
.lp-split-image { background:#5f5647 url('../images/women-field-guidance.webp') center/cover no-repeat; }
.lp-split-copy { background:#111a14; color:white; padding:110px max(6vw,70px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.lp-split blockquote { font:400 clamp(38px,4vw,59px)/1.12 Georgia,serif; letter-spacing:-.04em; margin:4px 0 30px; }
.lp-split-copy>p:not(.lp-section-tag) { color:rgba(255,255,255,.58); font-size:13px; line-height:1.8; max-width:520px; margin-bottom:32px; }
.lp-process { background:#eee5d7; }
.lp-process-head { display:flex; align-items:start; justify-content:space-between; margin-bottom:70px; }
.lp-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lp-process-grid article { background:#f8f4ec; padding:32px; min-height:255px; display:grid; grid-template-columns:48px 1fr; gap:15px; }
.lp-process-grid article>span { width:42px; height:42px; border:1px solid #c8b48f; border-radius:50%; display:grid; place-items:center; color:#9a6e30; font:15px/1 Georgia,serif; }
.lp-process-grid h3 { font:400 23px/1.22 Georgia,serif; margin:8px 0 14px; }
.lp-process-grid p { color:#74746c; font-size:12px; line-height:1.7; }
.lp-process-cta { margin-top:30px; padding:24px 28px; background:#1d2a20; color:white; display:flex; justify-content:space-between; align-items:center; }
.lp-process-cta p { margin:0; font:17px/1.3 Georgia,serif; }
.lp-process-cta a { display:flex; align-items:center; gap:22px; color:#e3bd78; font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.lp-stay { min-height:720px; position:relative; isolation:isolate; color:white; display:flex; align-items:center; background:#141e17 url('../images/hospitality-braai.webp') center/cover no-repeat; }
.lp-stay-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,12,8,.9),rgba(7,12,8,.68) 55%,rgba(7,12,8,.14)); }
.lp-stay-copy { margin-inline:auto; }
.lp-stay h2 { font-size:clamp(60px,7vw,96px); }
.lp-stay-copy>p:not(.lp-section-tag) { max-width:510px; color:rgba(255,255,255,.68); font:16px/1.7 Georgia,serif; }
.lp-stay-copy>div { display:flex; gap:28px; color:rgba(255,255,255,.7); font-size:10px; margin:24px 0; }
.lp-stay-copy>div span { display:flex; align-items:center; gap:7px; }
.lp-stay-copy>div svg { color:#e3bd78; font-size:16px; }
.lp-stay-copy>a { border-color:rgba(255,255,255,.3); }
.lp-faq { background:#f4efe5; }
.lp-faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:120px; }
.lp-faq-list { border-top:1px solid #c8bca9; }
.lp-faq-list details { border-bottom:1px solid #c8bca9; }
.lp-faq-list summary { list-style:none; cursor:pointer; padding:25px 0; display:flex; justify-content:space-between; gap:20px; font:400 19px/1.3 Georgia,serif; }
.lp-faq-list summary::-webkit-details-marker { display:none; }
.lp-faq-list summary span { color:#9a6e30; font-size:25px; transition:transform .2s; }
.lp-faq-list details[open] summary span { transform:rotate(45deg); }
.lp-faq-list details p { margin:-6px 50px 26px 0; color:#6f7169; font-size:12px; line-height:1.72; }
.lp-final { min-height:760px; position:relative; isolation:isolate; color:white; display:flex; align-items:center; background:#1d2a20 url('../images/bush-road.webp') center/cover no-repeat; }
.lp-final-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,12,8,.9),rgba(7,12,8,.52) 65%,rgba(7,12,8,.12)); }
.lp-final h2 { font-size:clamp(64px,7.3vw,105px); line-height:.92; }
.lp-final-copy>p:not(.lp-section-tag) { max-width:560px; color:rgba(255,255,255,.7); font:17px/1.7 Georgia,serif; margin:30px 0; }
.lp-facebook { display:block; width:max-content; margin-top:22px; color:rgba(255,255,255,.65); border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:6px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.lp-footer { background:#0e1711; color:white; padding:58px 0; }
.lp-footer>div { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px; align-items:center; }
.lp-footer p { margin:0; color:rgba(255,255,255,.55); font:italic 17px/1.45 Georgia,serif; }
.lp-footer>div>span { text-align:right; color:rgba(255,255,255,.35); font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.lp-mobile-cta { display:none; }

@media (max-width:980px) {
  .lp-wrap { width:min(100% - 48px,760px); }
  .lp-hero-grid { grid-template-columns:1fr; gap:55px; padding-top:70px; }
  .lp-hero-copy { max-width:680px; }
  .lp-form-card { max-width:650px; }
  .lp-problem-grid,.lp-faq-grid { grid-template-columns:1fr; gap:60px; }
  .lp-problem-copy { border-left:0; padding-left:0; max-width:620px; }
  .lp-value-head { display:block; }
  .lp-value-head>p { margin-top:28px; }
  .lp-value-grid { grid-template-columns:1fr; }
  .lp-value-grid article,.lp-value-grid article+article { min-height:0; padding:34px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .lp-split { grid-template-columns:1fr; }
  .lp-split-image { min-height:560px; }
  .lp-process-head { display:block; }
  .lp-process-grid { grid-template-columns:1fr; }
  .lp-process-grid article { min-height:0; }
}

@media (max-width:620px) {
  .lp-wrap { width:calc(100% - 36px); }
  .lp-section { padding:82px 0; }
  .lp-nav { height:82px; }
  .lp-nav .brand-logo { height:64px; }
  .lp-nav-proof,.lp-nav-cta { display:none; }
  .lp-hero { padding-bottom:50px; }
  .lp-hero-grid { padding-top:55px; }
  .lp-hero h1 { font-size:clamp(55px,18vw,76px); }
  .lp-hero-lead { font-size:16px; }
  .lp-hero-actions { flex-direction:column; align-items:flex-start; }
  .lp-proof-list { display:grid; gap:10px; }
  .lp-form-card { padding:25px 20px; }
  .lp-form-row { grid-template-columns:1fr; }
  .lp-trust-strip>div { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
  .lp-trust-strip i { display:none; }
  .lp-problem h2,.lp-value h2,.lp-process h2,.lp-faq h2 { font-size:47px; }
  .lp-split-image { min-height:430px; }
  .lp-split-copy { padding:76px 22px; }
  .lp-process-grid article { grid-template-columns:42px 1fr; padding:24px 20px; }
  .lp-process-cta { align-items:flex-start; flex-direction:column; gap:15px; }
  .lp-stay { min-height:700px; background-position:58% center; }
  .lp-stay-copy>div { flex-direction:column; gap:10px; }
  .lp-final { min-height:720px; }
  .lp-final h2 { font-size:58px; }
  .lp-footer { padding-bottom:95px; }
  .lp-footer>div { grid-template-columns:1fr; gap:35px; }
  .lp-footer>div>span { text-align:left; }
  .lp-mobile-cta { position:fixed; display:flex; align-items:center; justify-content:center; gap:16px; left:12px; right:12px; bottom:12px; z-index:20; background:#c69649; color:#151914; padding:16px; box-shadow:0 15px 45px rgba(0,0,0,.28); font-size:9px; letter-spacing:.15em; text-transform:uppercase; font-weight:800; }
}
/* AfriHunt premium home experience */
:root {
  --ah-ink:#151812;
  --ah-forest:#18281e;
  --ah-deep:#0d1711;
  --ah-paper:#f4efe5;
  --ah-sand:#e7dece;
  --ah-gold:#c99a4d;
  --ah-gold-pale:#e7c37c;
  --ah-line:#cfc4b2;
  --ah-muted:#6e7168;
}

body { overflow-x:hidden; background:var(--ah-paper); }
button,input,select,textarea { font:inherit; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.hero { min-height:100svh; background:var(--ah-deep); }
.hero-image { background-image:url('../images/lodge-aerial.webp'); background-position:center 48%; animation:ah-breathe 18s ease-in-out infinite alternate; }
.hero-shade { background:linear-gradient(90deg,rgba(5,11,7,.94) 0%,rgba(6,12,8,.7) 43%,rgba(6,12,8,.12) 78%),linear-gradient(0deg,rgba(5,10,7,.76),transparent 44%); }
@keyframes ah-breathe { from { transform:scale(1.01); } to { transform:scale(1.055); } }

.afrihunt-elementor-widget section[id] { scroll-margin-top:96px; }
.site-header { position:fixed; isolation:isolate; z-index:30; top:0; left:50%; transform:translateX(-50%); width:min(1340px,calc(100% - 96px)); height:108px; display:flex; align-items:center; justify-content:space-between; gap:36px; border-bottom:1px solid rgba(255,255,255,.2); color:white; transition:height .25s ease,border-color .25s ease,box-shadow .25s ease; }
.site-header::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%); background:rgba(9,18,12,0); -webkit-backdrop-filter:blur(0); backdrop-filter:blur(0); transition:background .25s ease,-webkit-backdrop-filter .25s ease,backdrop-filter .25s ease; }
.site-header.is-scrolled { height:82px; border-color:rgba(255,255,255,.13); box-shadow:0 14px 34px rgba(0,0,0,.16); }
.site-header.is-scrolled::before { background:rgba(9,18,12,.93); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.site-header.is-scrolled .brand-logo { height:62px; }
.site-header.is-scrolled .desktop-nav a { padding:31px 0 30px; }
.admin-bar .site-header { top:32px; }
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
.brand { flex:0 0 auto; }
.site-header .brand-logo { height:82px; transition:height .25s ease; }
.desktop-nav { display:flex; align-items:center; gap:34px; margin-left:auto; }
.desktop-nav a { position:relative; padding:44px 0 42px; color:rgba(255,255,255,.7); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; transition:color .2s; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-1px; height:1px; background:var(--ah-gold-pale); transition:right .25s ease; }
.desktop-nav a:hover { color:#fff; }
.desktop-nav a:hover::after { right:0; }
.header-actions { display:flex; align-items:center; gap:26px; }
.header-cta { display:flex; align-items:center; gap:16px; padding-left:26px; border-left:1px solid rgba(255,255,255,.22); color:white; font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.header-cta svg { font-size:18px; color:var(--ah-gold-pale); transition:transform .2s; }
.header-cta:hover svg { transform:translateX(4px); }
.menu-toggle { display:none; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff; cursor:pointer; }
.menu-toggle span { display:block; width:17px; height:1px; margin:5px auto; background:currentColor; transition:transform .2s; }

.mobile-menu { visibility:hidden; position:fixed; z-index:25; inset:0; color:white; background:rgba(10,19,13,.98); opacity:0; transform:translateY(-18px); transition:opacity .25s,transform .25s,visibility .25s; }
.mobile-menu.is-open { visibility:visible; opacity:1; transform:none; }
.mobile-menu-inner { width:min(100% - 48px,720px); height:100%; margin:auto; padding:140px 0 42px; display:flex; flex-direction:column; }
.mobile-menu-inner>p { color:var(--ah-gold-pale); font-size:9px; letter-spacing:.24em; }
.mobile-menu nav { display:grid; margin:auto 0; }
.mobile-menu nav a { display:flex; align-items:center; gap:22px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.13); font:400 clamp(34px,8vw,54px)/1.1 Georgia,serif; }
.mobile-menu nav a span { color:var(--ah-gold-pale); font:9px/1 Arial,sans-serif; letter-spacing:.15em; }
.mobile-menu .button { align-self:flex-start; }
.mobile-menu-meta { display:flex; justify-content:space-between; gap:20px; margin-top:34px; color:rgba(255,255,255,.5); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

.hero-content { padding-top:clamp(210px,25vh,275px); }
.hero h1 { max-width:900px; margin:28px 0 30px; font-size:clamp(72px,8.6vw,136px); line-height:.82; }
.hero-lead { max-width:620px; font-size:19px; line-height:1.68; }
.hero .button { padding:20px 26px; }
.hero-foot { bottom:34px; }

.location-rail { background:var(--ah-deep); color:white; }
.location-rail>div { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.location-rail span { display:flex; flex-direction:column; gap:8px; font:400 13px/1.2 Georgia,serif; color:rgba(255,255,255,.76); }
.location-rail small { color:rgba(255,255,255,.32); font:700 7px/1 Arial,sans-serif; letter-spacing:.22em; }
.location-rail i { width:3px; height:3px; border-radius:50%; background:var(--ah-gold); }

.opening { background:var(--ah-paper); }
.opening-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(70px,10vw,150px); }
.opening h2,.journeys h2,.rhythm h2,.gallery h2,.welcome h2,.faq h2 { margin:0; font:400 clamp(54px,5.5vw,82px)/1.02 Georgia,serif; letter-spacing:-.05em; }
.opening h2 em,.rhythm h2 em,.welcome h2 em,.faq h2 em { color:#9b6e2f; }
.opening-copy { padding:8px 0 0 56px; border-left:1px solid var(--ah-line); }
.opening-copy>p { color:var(--ah-muted); font-size:14px; line-height:1.85; }
.opening-copy .lead-serif { margin-top:0; color:#30342c; font:400 23px/1.55 Georgia,serif; }
.signature { display:flex; align-items:center; gap:18px; margin-top:34px; }
.signature>span { width:48px; height:48px; display:grid; place-items:center; border:1px solid #b49668; border-radius:50%; color:#9b6e2f; font:15px/1 Georgia,serif; letter-spacing:-.14em; padding-right:3px; }
.signature p { margin:0; color:#575b52; font-size:8px; font-weight:700; letter-spacing:.16em; line-height:1.6; }
.signature small { color:#999789; font-size:7px; }

.legacy-section { display:grid; grid-template-columns:1.08fr .92fr; min-height:690px; background:#0d1711; color:white; }
.legacy-visual { min-height:560px; overflow:hidden; background:#120f0c; }
.legacy-visual img { width:100%; height:100%; display:block; object-fit:cover; }
.legacy-copy { display:flex; flex-direction:column; justify-content:center; padding:90px clamp(54px,7vw,120px); }
.legacy-copy h2 { margin:4px 0 28px; font:400 clamp(50px,5vw,76px)/1.02 Georgia,serif; letter-spacing:-.05em; }
.legacy-copy h2 em { color:var(--ah-gold-pale); }
.legacy-copy>p:not(.section-tag) { max-width:560px; color:rgba(255,255,255,.58); font-size:13px; line-height:1.85; }
.light-link { color:var(--ah-gold-pale); }

.journeys { position:relative; overflow:hidden; color:white; background:var(--ah-forest); }
.journeys::before { content:"AFRICA"; position:absolute; top:-90px; right:-36px; color:rgba(255,255,255,.025); font:400 240px/1 Georgia,serif; letter-spacing:-.08em; }
.section-heading { position:relative; z-index:1; }
.split-heading { display:flex; justify-content:space-between; align-items:end; gap:70px; }
.split-heading>p,.gallery-heading>p { max-width:410px; margin:0 0 8px; color:rgba(255,255,255,.56); font-size:13px; line-height:1.8; }
.journeys h2 em,.gallery h2 em { color:var(--ah-gold-pale); }
.journey-cards { display:grid; grid-template-columns:1.06fr .94fr .94fr; gap:14px; margin-top:72px; }
.journey-card { position:relative; min-height:610px; overflow:hidden; isolation:isolate; }
.journey-card-image,.journey-card-shade { position:absolute; inset:0; }
.journey-card-image { z-index:-2; background-position:center; background-size:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.journey-first .journey-card-image { background-image:url('../images/women-field-guidance.webp'); background-position:center; }
.journey-return .journey-card-image { background-image:url('../images/women-vehicle-field.webp'); background-position:center; }
.journey-bespoke .journey-card-image { background-image:url('../images/women-group.webp'); background-position:center 40%; }
.journey-card-shade { z-index:-1; background:linear-gradient(0deg,rgba(7,12,8,.94),rgba(7,12,8,.1) 70%); }
.journey-card:hover .journey-card-image { transform:scale(1.045); }
.card-number { position:absolute; top:24px; left:26px; color:rgba(255,255,255,.68); font:10px/1 Georgia,serif; }
.journey-card-copy { position:absolute; inset:auto 28px 30px; }
.journey-card-copy small,.gallery-copy small { color:var(--ah-gold-pale); font-size:8px; font-weight:700; letter-spacing:.19em; }
.journey-card-copy h3 { margin:12px 0 16px; font:400 clamp(27px,2.2vw,36px)/1.08 Georgia,serif; }
.journey-card-copy p { min-height:60px; margin:0 0 22px; color:rgba(255,255,255,.64); font-size:12px; line-height:1.7; }
.journey-card-copy a { display:inline-flex; align-items:center; gap:22px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.3); color:white; font-size:8px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.journey-card-copy a svg { color:var(--ah-gold-pale); font-size:16px; }
.journey-disclaimer { max-width:850px; margin:28px 0 0; color:rgba(255,255,255,.4); font-size:9px; line-height:1.7; }

.fieldcraft { display:grid; grid-template-columns:1.05fr .95fr; min-height:780px; background:var(--ah-deep); color:white; }
.fieldcraft-image { min-height:620px; background:url('../images/field-team.webp') center 44%/cover no-repeat; }
.fieldcraft-copy { display:flex; flex-direction:column; justify-content:center; padding:100px clamp(54px,7vw,120px); }
.fieldcraft blockquote,.promise blockquote { margin:6px 0 30px; font:400 clamp(48px,4.5vw,70px)/1.05 Georgia,serif; letter-spacing:-.045em; }
.fieldcraft-copy>p:not(.section-tag) { max-width:560px; color:rgba(255,255,255,.58); font-size:13px; line-height:1.85; }
.fieldcraft-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,34px); margin-top:44px; border-top:1px solid rgba(255,255,255,.16); }
.fieldcraft-points>span { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:24px 8px 4px 0; }
.fieldcraft-points svg { grid-row:1/3; color:var(--ah-gold-pale); font-size:24px; }
.fieldcraft-points b { display:block; font:400 16px/1.2 Georgia,serif; }
.fieldcraft-points small { display:block; max-width:100%; color:rgba(255,255,255,.4); font-size:8px; line-height:1.5; }

.fishing-experience { display:grid; grid-template-columns:1.08fr .92fr; min-height:820px; background:#10251e; color:white; }
.fishing-visual { position:relative; min-height:760px; overflow:hidden; background:#c8b58f; }
.fishing-main { width:76%; height:86%; display:block; object-fit:cover; object-position:center; }
.fishing-inset { position:absolute; right:5%; bottom:6%; width:43%; height:45%; object-fit:cover; object-position:center; border:10px solid #10251e; box-shadow:0 28px 70px rgba(0,0,0,.34); }
.fishing-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:100px clamp(54px,7vw,120px); }
.fishing-copy h2 { margin:4px 0 28px; font:400 clamp(50px,5vw,76px)/1.02 Georgia,serif; letter-spacing:-.05em; }
.fishing-copy h2 em { color:var(--ah-gold-pale); }
.fishing-copy>p:not(.section-tag) { max-width:570px; color:rgba(255,255,255,.62); font-size:13px; line-height:1.85; }
.fishing-points { width:100%; display:grid; grid-template-columns:repeat(3,1fr); margin:30px 0 34px; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.fishing-points span { display:grid; gap:5px; padding:22px 16px 22px 0; }
.fishing-points b { font:400 15px/1.2 Georgia,serif; }
.fishing-points small { color:rgba(255,255,255,.42); font-size:8px; line-height:1.4; }

.rhythm { background:var(--ah-sand); }
.rhythm-heading { display:flex; align-items:start; justify-content:space-between; gap:70px; }
.timeline { display:grid; grid-template-columns:repeat(4,1fr); margin-top:76px; border-top:1px solid #bfb3a0; }
.timeline article { position:relative; min-height:310px; padding:48px 34px 20px 0; border-right:1px solid #c6baa7; }
.timeline article+article { padding-left:34px; }
.timeline article:last-child { border-right:0; }
.timeline article>span { position:absolute; top:-13px; left:0; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--ah-forest); color:var(--ah-gold-pale); font-size:7px; }
.timeline article+article>span { left:34px; }
.timeline small { color:#9b6e2f; font-size:8px; font-weight:700; letter-spacing:.18em; }
.timeline h3 { margin:20px 0 15px; font:400 24px/1.15 Georgia,serif; }
.timeline p { color:#73746c; font-size:12px; line-height:1.75; }

.gallery { color:white; background:#111b14; }
.gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:70px; margin-bottom:64px; }
.gallery-filters { display:flex; flex-wrap:wrap; gap:9px; margin:-36px 0 34px; }
.gallery-filters button { padding:10px 14px; border:1px solid rgba(255,255,255,.18); background:transparent; color:rgba(255,255,255,.56); cursor:pointer; font-size:8px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; transition:background .2s,border-color .2s,color .2s; }
.gallery-filters button:hover,.gallery-filters button.is-active { border-color:var(--ah-gold-pale); background:var(--ah-gold-pale); color:#111b14; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:300px; grid-auto-flow:dense; gap:12px; }
.gallery-card { position:relative; overflow:hidden; padding:0; border:0; background:#253126; color:white; text-align:left; cursor:zoom-in; isolation:isolate; }
.gallery-card[hidden] { display:none; }
.gallery-card img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.gallery-card:hover img { transform:scale(1.045); }
.gallery-card-1,.gallery-card-6,.gallery-card-12,.gallery-card-16,.gallery-card-21,.gallery-card-29,.gallery-card-37,.gallery-card-45 { grid-row:span 2; }
.gallery-card-4,.gallery-card-8,.gallery-card-11,.gallery-card-18,.gallery-card-23,.gallery-card-32,.gallery-card-41,.gallery-card-47 { grid-column:span 2; }
[data-afrihunt-gallery]:not(.is-expanded) .gallery-grid { grid-auto-rows:260px; }
[data-afrihunt-gallery]:not(.is-expanded) .gallery-card { grid-column:auto; grid-row:auto; }
.gallery-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(5,10,7,.8),transparent 55%); }
.gallery-copy { position:absolute; left:24px; right:50px; bottom:22px; display:grid; gap:8px; }
.gallery-copy strong { font:400 20px/1.16 Georgia,serif; }
.gallery-open { position:absolute; right:20px; bottom:21px; color:var(--ah-gold-pale); font:24px/1 Georgia,serif; }
.gallery-expand-wrap { display:flex; justify-content:center; margin-top:36px; }
.gallery-expand { min-width:330px; display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:18px; padding:16px 18px 15px 22px; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.025); color:white; cursor:pointer; text-align:left; transition:background .2s,border-color .2s,transform .2s; }
.gallery-expand:hover { border-color:var(--ah-gold-pale); background:rgba(221,185,117,.08); transform:translateY(-2px); }
.gallery-expand>span { font-size:9px; font-weight:800; letter-spacing:.15em; line-height:1.35; text-transform:uppercase; }
.gallery-expand>small { grid-column:1; margin-top:6px; color:rgba(255,255,255,.46); font-size:8px; letter-spacing:.08em; }
.gallery-expand-icon { grid-column:2; grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(221,185,117,.5); border-radius:50%; color:var(--ah-gold-pale); font:400 21px/1 Georgia,serif; transition:transform .25s ease; }
.gallery-expand[aria-expanded="true"] .gallery-expand-icon { transform:rotate(45deg); }
.gallery-expand[hidden] { display:none; }
.gallery-note { display:flex; align-items:center; gap:10px; margin:22px 0 0; color:rgba(255,255,255,.43); font-size:9px; line-height:1.6; }
.gallery-note span { color:var(--ah-gold-pale); font-size:16px; }

.welcome { display:grid; grid-template-columns:1.08fr .92fr; min-height:760px; background:var(--ah-paper); }
.welcome-image { background:url('../images/hospitality-braai.webp') center 42%/cover no-repeat; }
.welcome-panel { display:flex; flex-direction:column; justify-content:center; padding:110px clamp(54px,7vw,118px); }
.welcome-panel>p:not(.section-tag) { color:var(--ah-muted); font-size:14px; line-height:1.85; }
.welcome ul { display:grid; gap:12px; padding:22px 0 28px; margin:0; border-top:1px solid var(--ah-line); border-bottom:1px solid var(--ah-line); list-style:none; }
.welcome li { display:flex; align-items:center; gap:12px; color:#555950; font:400 14px/1.3 Georgia,serif; }
.welcome li svg { color:#9b6e2f; font-size:17px; }

.promise { color:white; background:var(--ah-forest); overflow:hidden; }
.promise-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(70px,9vw,140px); align-items:end; }
.promise blockquote { margin-bottom:0; }
.promise-copy { padding:0 0 10px 38px; border-left:1px solid rgba(255,255,255,.17); }
.promise-copy p { color:rgba(255,255,255,.57); font-size:13px; line-height:1.8; }
.promise-copy a { display:inline-flex; gap:20px; align-items:center; margin-top:14px; color:var(--ah-gold-pale); font-size:8px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }

.faq { background:var(--ah-paper); }
.faq-grid { grid-template-columns:.78fr 1.22fr; gap:clamp(70px,9vw,130px); }
.accordion details { padding:0; }
.accordion summary { font-size:19px; }
.accordion details p { font-size:12px; }

.reels { background:var(--ah-sand); }
.reels-grid { display:grid; grid-template-columns:.52fr 1.48fr; gap:clamp(54px,7vw,110px); align-items:start; }
.reels-intro { position:sticky; top:42px; }
.reels h2 { margin:4px 0 28px; font:400 clamp(52px,5vw,76px)/1.02 Georgia,serif; letter-spacing:-.05em; }
.reels h2 em { color:#9b6e2f; }
.reels-intro>p:not(.section-tag) { max-width:420px; color:var(--ah-muted); font-size:13px; line-height:1.85; }
.reel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.reel-card { margin:0; background:var(--ah-deep); color:white; }
.reel-card video { display:block; width:100%; aspect-ratio:478/850; object-fit:cover; background:#111b14; }
.reel-card figcaption { display:grid; gap:8px; min-height:92px; padding:20px; }
.reel-card figcaption small { color:var(--ah-gold-pale); font-size:7px; font-weight:700; letter-spacing:.16em; }
.reel-card figcaption strong { font:400 17px/1.25 Georgia,serif; }

.queens-section { display:grid; grid-template-columns:1.1fr .9fr; min-height:860px; background:#1b1418; color:white; }
.queens-posters { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:clamp(34px,5vw,78px); background:linear-gradient(135deg,#291b22,#0f1510); }
.queens-posters img { width:100%; height:100%; max-height:720px; object-fit:cover; box-shadow:0 28px 80px rgba(0,0,0,.35); }
.queens-posters img+img { transform:translateY(46px); }
.queens-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:100px clamp(54px,7vw,120px); }
.queens-copy h2 { margin:4px 0 30px; font:400 clamp(48px,4.5vw,70px)/1.04 Georgia,serif; letter-spacing:-.045em; }
.queens-copy h2 em { color:#dda9a1; }
.queens-copy>p:not(.section-tag) { max-width:520px; color:rgba(255,255,255,.61); font-size:13px; line-height:1.85; }
.queens-copy .button { margin-top:24px; }

.final-cta { min-height:780px; background-image:url('../images/bush-road.webp'); background-position:center 48%; }
.final-shade { background:linear-gradient(90deg,rgba(6,12,8,.92),rgba(6,12,8,.65) 52%,rgba(6,12,8,.1)); }
.final-copy h2 { margin:20px 0 0; }
.final-actions { display:flex; align-items:center; gap:28px; }
.final-actions>a:last-child { padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.32); color:rgba(255,255,255,.75); font-size:8px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

.mobile-sticky-cta { display:none; }

@media (max-width:1050px) {
  .site-header { width:calc(100% - 48px); }
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .header-cta { border-left:0; }
  .opening-grid,.legacy-section,.fieldcraft,.fishing-experience,.queens-section,.welcome { grid-template-columns:1fr; }
  .opening-copy { max-width:700px; padding-left:0; border-left:0; }
  .journey-cards { grid-template-columns:1fr 1fr; }
  .journey-card:first-child { grid-column:1/-1; min-height:540px; }
  .journey-card { min-height:520px; }
  .legacy-visual,.fieldcraft-image,.fishing-visual,.welcome-image { min-height:600px; }
  .legacy-copy,.fieldcraft-copy,.fishing-copy,.welcome-panel { padding:90px max(7vw,48px); }
  .timeline { grid-template-columns:1fr 1fr; }
  .timeline article:nth-child(2) { border-right:0; }
  .timeline article:nth-child(-n+2) { border-bottom:1px solid #c6baa7; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:330px; }
  .gallery-card-1,.gallery-card-6 { grid-row:span 2; }
  .gallery-card-4,.gallery-card-8,.gallery-card-11,.gallery-card-12,.gallery-card-16,.gallery-card-18,.gallery-card-21,.gallery-card-23,.gallery-card-29,.gallery-card-32,.gallery-card-37,.gallery-card-41,.gallery-card-45,.gallery-card-47 { grid-column:auto; grid-row:auto; }
  .promise-grid { grid-template-columns:1fr; }
  .promise-copy { padding-left:0; border-left:0; max-width:580px; }
  .reels-grid { grid-template-columns:1fr; }
  .reels-intro { position:static; }
  .queens-posters { min-height:720px; }
}

@media (max-width:700px) {
  .site-header { width:calc(100% - 36px); height:86px; }
  .site-header .brand-logo { height:68px; }
  .site-header.is-scrolled { height:72px; }
  .site-header.is-scrolled .brand-logo { height:54px; }
  .admin-bar .site-header { top:46px; }
  .header-cta { display:none; }
  .hero-content { padding-top:190px; }
  .hero h1 { font-size:clamp(62px,18.5vw,92px); }
  .hero-lead { font-size:16px; }
  .hero-foot { bottom:24px; }
  .location-rail>div { display:grid; grid-template-columns:1fr 1fr; gap:26px; padding:28px 0; }
  .location-rail i { display:none; }
  .split-heading,.rhythm-heading,.gallery-heading { display:block; }
  .split-heading>p,.gallery-heading>p { margin-top:28px; }
  .journey-cards { grid-template-columns:1fr; }
  .journey-card:first-child { grid-column:auto; }
  .journey-card,.journey-card:first-child { min-height:520px; }
  .legacy-visual,.fieldcraft-image,.fishing-visual,.welcome-image { min-height:420px; }
  .legacy-copy,.fieldcraft-copy,.fishing-copy,.welcome-panel { padding:76px 22px; }
  .fieldcraft-points { grid-template-columns:1fr; }
  .fieldcraft-points>span { border-bottom:1px solid rgba(255,255,255,.12); padding:18px 0; }
  .fishing-main { width:86%; height:78%; }
  .fishing-inset { width:48%; height:42%; right:2%; bottom:4%; border-width:7px; }
  .fishing-points { grid-template-columns:1fr; }
  .fishing-points span { border-bottom:1px solid rgba(255,255,255,.12); }
  .fishing-points span:last-child { border-bottom:0; }
  .timeline { grid-template-columns:1fr; border-top:0; }
  .timeline article,.timeline article+article { min-height:0; padding:32px 0 32px 42px; border-top:1px solid #c6baa7; border-right:0; border-bottom:0; }
  .timeline article>span,.timeline article+article>span { top:26px; left:0; }
  .gallery-filters { margin-top:-28px; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:360px; }
  .gallery-card-1,.gallery-card-4,.gallery-card-6,.gallery-card-8,.gallery-card-11,.gallery-card-12,.gallery-card-16,.gallery-card-18,.gallery-card-21,.gallery-card-23,.gallery-card-29,.gallery-card-32,.gallery-card-37,.gallery-card-41,.gallery-card-45,.gallery-card-47 { grid-column:auto; grid-row:auto; }
  [data-afrihunt-gallery]:not(.is-expanded) .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:250px; }
  [data-afrihunt-gallery]:not(.is-expanded) .gallery-copy { left:14px; right:34px; bottom:14px; gap:6px; }
  [data-afrihunt-gallery]:not(.is-expanded) .gallery-copy strong { font-size:15px; }
  [data-afrihunt-gallery]:not(.is-expanded) .gallery-open { right:12px; bottom:13px; font-size:20px; }
  .gallery-expand { width:100%; min-width:0; }
  .promise-grid { grid-template-columns:1fr; gap:36px; }
  .promise-copy { grid-column:auto; }
  .reel-grid { grid-template-columns:1fr; }
  .reel-card { display:grid; grid-template-columns:.55fr .45fr; align-items:center; }
  .reel-card video { aspect-ratio:478/850; }
  .queens-posters { min-height:0; padding:22px; gap:8px; }
  .queens-posters img { height:auto; max-height:none; }
  .queens-posters img+img { transform:translateY(24px); }
  .queens-copy { padding:76px 22px; }
  .final-actions { align-items:flex-start; flex-direction:column; }
  .mobile-sticky-cta { position:fixed; z-index:20; left:18px; right:18px; bottom:14px; display:flex; align-items:center; justify-content:space-between; padding:17px 20px; background:var(--ah-gold); color:#111811; box-shadow:0 14px 44px rgba(0,0,0,.35); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
  .mobile-sticky-cta svg { font-size:17px; }
  footer { padding-bottom:86px; }
  .footer-brand .brand-logo { height:102px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-image { animation:none; }
}

/* WordPress and Elementor integration */
html { scroll-behavior:smooth; }
body.afrihunt-wordpress { margin:0; background:var(--ah-paper,#f4efe5); }
.afrihunt-wordpress .elementor-location-header,
.afrihunt-wordpress .elementor-location-footer { display:none; }
.afrihunt-wordpress .elementor-widget:not(:last-child) { margin-bottom:0; }
.afrihunt-wordpress .elementor-section,
.afrihunt-wordpress .elementor-container,
.afrihunt-wordpress .elementor-column,
.afrihunt-wordpress .elementor-widget-wrap { max-width:none; }
.afrihunt-wordpress .elementor-widget-wrap { padding:0!important; }
.afrihunt-wordpress .elementor-section.elementor-section-boxed>.elementor-container { max-width:none; }
.afrihunt-wordpress .elementor-element { --widgets-spacing:0px; }
.afrihunt-wordpress img { max-width:100%; }
.afrihunt-wordpress .brand-logo { width:auto; }
.afrihunt-elementor-widget { width:100%; }
.afrihunt-elementor-widget .hero,
.afrihunt-elementor-widget .lp-hero { position:relative; }
.afrihunt-elementor-widget .site-header { position:fixed; }
.afrihunt-elementor-widget .hero-image,
.afrihunt-elementor-widget .hero-shade { position:absolute; }
.afrihunt-elementor-widget .mobile-menu { position:fixed; }
.afrihunt-wordpress .elementor-widget-afrihunt_enquiry .lp-hero-grid { padding-top:174px; }
.hero-lead,
.opening-copy>p,
.legacy-copy>p:not(.section-tag),
.split-heading>p,
.journey-card-copy p,
.journey-disclaimer,
.fieldcraft-copy>p:not(.section-tag),
.fishing-copy>p:not(.section-tag),
.timeline p,
.gallery-heading>p,
.reels-intro>p:not(.section-tag),
.queens-copy>p:not(.section-tag),
.welcome-panel>p:not(.section-tag),
.promise-copy p,
.faq-lead,
.accordion details p,
.final-copy>p:not(.section-tag),
.lp-hero-lead,
.lp-form-head p,
.lp-prepared p,
.lp-problem-copy p,
.lp-value-grid p,
.lp-split-copy>p:not(.lp-section-tag),
.lp-process-grid p,
.lp-stay-copy>p:not(.lp-section-tag),
.lp-faq-list details p,
.lp-final-copy>p:not(.lp-section-tag) {
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:none;
  -ms-hyphens:none;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.afrihunt-lightbox[hidden] { display:none; }
.afrihunt-lightbox { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:60px 100px; background:rgba(5,10,7,.96); color:white; }
.afrihunt-lightbox figure { width:min(1100px,82vw); max-height:86vh; margin:0; }
.afrihunt-lightbox figure img { display:block; max-width:100%; max-height:72vh; margin:auto; object-fit:contain; }
.afrihunt-lightbox figcaption { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:18px; font:400 19px/1.3 Georgia,serif; }
.afrihunt-lightbox figcaption span { display:grid; gap:7px; }
.afrihunt-lightbox figcaption small { color:var(--ah-gold-pale); font:700 8px/1 Arial,sans-serif; letter-spacing:.18em; }
.afrihunt-lightbox figcaption strong { font-weight:400; }
.afrihunt-lightbox figcaption em { color:rgba(255,255,255,.5); font:400 11px/1 Arial,sans-serif; letter-spacing:.12em; }
.afrihunt-lightbox button { position:absolute; display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.3); background:#142219; color:white; font-size:20px; cursor:pointer; }
.afrihunt-lightbox .lightbox-close { top:24px; right:24px; font-size:28px; }
.afrihunt-lightbox .lightbox-prev,.afrihunt-lightbox .lightbox-next { top:50%; }
.afrihunt-lightbox .lightbox-prev { left:26px; }
.afrihunt-lightbox .lightbox-next { right:26px; }
.afrihunt-editor-note { padding:12px 16px; background:#fff7dc; color:#544321; font:13px/1.5 Arial,sans-serif; }

@media (max-width:700px) {
  .afrihunt-lightbox { padding:70px 18px; }
  .afrihunt-lightbox figure { width:100%; }
  .afrihunt-lightbox figcaption { align-items:flex-end; }
  .afrihunt-lightbox .lightbox-prev,.afrihunt-lightbox .lightbox-next { top:auto; bottom:18px; }
  .afrihunt-lightbox .lightbox-prev { left:18px; }
  .afrihunt-lightbox .lightbox-next { right:18px; }
  .afrihunt-wordpress .elementor-widget-afrihunt_enquiry .lp-hero-grid { padding-top:137px; }
}
