*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#1b1b1b;color:#f2eee9;font-family:"Libre Baskerville",Georgia,serif;font-size:11px;line-height:1.5}a{color:inherit}.topbar{position:absolute;z-index:5;top:0;left:0;width:100%;height:72px;display:flex;align-items:center;justify-content:space-between;padding:20px 3.2%;color:#171717}.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:8px;line-height:1.2;font-weight:bold;color:#b98924;text-align:center}.logo img{width:46px;height:46px;border-radius:50%;object-fit:contain}.logo small{letter-spacing:2px;font-size:6px}.topbar nav{display:flex;gap:20px}.topbar nav a{text-decoration:none;font-size:10px}.topbar nav a:hover{color:#d99527}.menu{display:none}.hero{height:100vh;max-height:none;min-height:680px;position:relative;overflow:hidden;background:#b7b6b0}.hero-image{position:absolute;inset:0;background:url("assets/hero-main.jpg") center center/cover no-repeat;transform:scale(1.01);animation:herozoom 18s ease-in-out infinite alternate}.hero-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(120,120,120,.34) 0%,rgba(100,100,100,.22) 48%,rgba(20,20,20,.56) 100%)}.hero-bottom{position:absolute;left:3.1%;bottom:25px;max-width:430px;color:#fff;display:flex;align-items:center;gap:0}.hero-bottom p{font-size:14px;line-height:1.55;margin:0 0 0 -6px;text-shadow:0 1px 4px #222}.button{display:inline-block;background:#f4a82d;color:#17130c;border:0;border-radius:10px;padding:11px 30px;font:11px Georgia,serif;text-decoration:none;text-align:center;cursor:pointer;transition:transform .25s,background .25s}.button:hover{transform:translateY(-2px);background:#ffc15b}.roundel{display:none;position:absolute;right:5.5%;bottom:17%;width:265px;height:265px;border:2px solid #d7a01e;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#d9a122;box-shadow:0 0 0 8px rgba(215,160,30,.08),inset 0 0 0 8px rgba(215,160,30,.12);transform:rotate(-4deg)}.roundel:before{content:"";position:absolute;inset:12px;border:1px solid #d7a01e;border-radius:50%}.roundel .africa{font-size:85px;line-height:1;opacity:.8}.roundel b{position:relative;background:#1b1b1b;padding:4px 12px;letter-spacing:3px;font:700 17px Arial,sans-serif}.roundel small{font:7px Arial,sans-serif;letter-spacing:3px;margin-top:5px}.intro{position:relative;background:#1b1b1b;text-align:center;min-height:390px;padding:0 3% 42px;overflow:hidden}.intro h1{position:relative;margin:0 -3.5% 0;padding:0 3% 24px;text-align:left;top:-1px;color:#f3a42b;font:400 clamp(28px,4vw,47px)/1.15 "DM Serif Display",Georgia,serif;letter-spacing:-.5px}.angled{height:45px;margin:-5px -3% 22px;background:#1b1b1b;clip-path:polygon(0 0,100% 0,75% 100%,0 35%);display:none}.intro h2{color:#f3a42b;font:400 32px/1.2 "DM Serif Display",Georgia,serif;margin:20px 0 20px}.intro p{font-size:14px;line-height:1.6;max-width:1100px;margin:0 auto;color:#f3f0ec}.banner{height:100vh;min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background-position:center;background-size:cover;overflow:hidden}.banner:before{content:"";position:absolute;inset:0;background:rgba(15,15,15,.08)}.banner:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:35px;background:#1b1b1b;clip-path:polygon(0 0,100% 0,78% 100%,22% 100%)}.banner h2{position:relative;z-index:1;font:400 clamp(28px,3.4vw,43px)/1.2 "DM Serif Display",Georgia,serif;color:#f3eee8;text-shadow:0 1px 5px #333;margin:0 20px}.sunset{background-image:url("assets/sunset-banner.jpg")}.featured{height:100vh;min-height:650px;background-image:url("assets/city-banner.jpg");background-position:center 35%}.featured h2,.cape h2{color:#f5a52a}.lifestyle{background-image:url("assets/lifestyle-banner.jpg")}.cape{background-image:url("assets/cape-banner.jpg")}.wild{background-image:url("assets/wild-banner.jpg")}.beer{background-image:url("assets/beer-banner.jpg")}.closing{background-image:url("assets/closing-banner.jpg");height:85vh;min-height:600px}.choice{padding:26px 3% 60px;background:#1b1b1b}.choice>h2,.journeys>h2{font:400 45px/1.2 "DM Serif Display",Georgia,serif;color:#f3a42b;text-align:center;margin:0 0 28px}.choice-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:5%;align-items:start}.choice-grid>img{width:100%;height:470px;object-fit:cover}.choice-grid h3{font-size:12px;margin:0 0 12px}.choice-grid p{font-size:11px;line-height:1.55;margin:0 0 12px}.journeys{padding:32px 3% 65px;background:#1b1b1b}.journeys>h2{margin-bottom:30px}.three-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%}.three-cards article{text-align:center}.three-cards h3{font-size:15px;margin:0 0 7px}.three-cards h4{font-size:11px;margin:0 0 12px}.three-cards p{font-size:11px;line-height:1.55;min-height:88px;margin:0 0 18px}.three-cards img{width:100%;height:300px;object-fit:cover;transition:transform .8s}.three-cards article:hover img{transform:scale(1.025)}.service{background:#1b1b1b;padding:32px 3% 65px;display:grid;grid-template-columns:1.1fr .9fr;gap:5%;align-items:start}.service-copy h2{font:400 42px/1.2 "DM Serif Display",Georgia,serif;color:#f3a42b;margin:0 0 28px}.service-copy p,.service-copy li{font-size:11px;line-height:1.55}.service-copy p{margin:0 0 12px}.service-copy ul{padding-left:27px;margin:10px 0 18px}.service-copy li{padding:0 0 7px}.service-main{width:100%;height:480px;object-fit:cover;margin-top:55px}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.thumbs img{width:100%;height:115px;object-fit:cover;transition:transform .6s}.thumbs img:hover{transform:scale(1.04)}.culinary,.beer-service{grid-template-columns:.95fr 1.05fr}.culinary .service-main,.beer-service .service-main{margin-top:35px;height:520px}.culinary .service-copy h2,.beer-service .service-copy h2{text-align:right}.safari .service-main{height:535px}.faq{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:90px 3% 85px;min-height:410px;background:#1b1b1b}.faq>h2{font:400 34px/1.1 "DM Serif Display",Georgia,serif;color:#f3a42b;margin:0}.faq article{border-bottom:1px solid #c28c29;padding:0 0 26px;margin:0 0 20px}.faq article:last-child{border:0}.faq h3{font-size:12px;margin:0 0 14px}.faq p{font-size:11px;margin:0;line-height:1.65}.contact{padding:15px 3% 60px;background:#1b1b1b}.contact>h2{text-align:center;font:400 32px "DM Serif Display",Georgia,serif;color:#f3a42b;margin:0 0 40px}.contact-grid{display:grid;grid-template-columns:1.2fr .95fr;gap:5%}.contact-grid>div>p{font-size:11px;line-height:1.6;margin:0 0 22px}.contact-grid>div>img{width:100%;height:330px;object-fit:cover}.contact form{display:flex;flex-direction:column;gap:8px}.contact label{font-size:11px;margin-top:0}.contact input,.contact textarea,footer input{width:100%;background:#3d493e;border:0;border-radius:7px;padding:12px;color:#fff;font:11px Georgia,serif;margin-bottom:8px;outline:1px solid transparent}.contact input:focus,.contact textarea:focus{outline-color:#f3a42b}.contact input::placeholder,footer input::placeholder{color:#d0d0c8}.contact .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact textarea{resize:vertical}.contact .button{align-self:flex-start;border-radius:10px;padding:14px 28px}.status{color:#f3a42b;font-size:11px;min-height:15px}footer{padding:48px 3% 30px;background:#1b1b1b;display:flex;justify-content:space-between;gap:35px;min-height:270px}footer h3{color:#f3a42b;font:400 18px "DM Serif Display",Georgia,serif;margin:0 0 28px}footer p{font-size:11px;margin:0 0 12px}footer small{display:block;margin-top:60px;font-size:9px}.newsletter{width:36%;padding-top:5px}.newsletter form{display:flex;gap:7px;margin-top:28px}.newsletter input{background:#fff;color:#222;flex:1;margin:0;height:44px}.newsletter .button{white-space:nowrap;border-radius:10px;padding:0 24px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.shown{opacity:1;transform:none}.banner h2,.service-copy h2{transition:transform .8s ease}.banner h2{animation:risein 1.2s both}.hero-image{will-change:transform}@keyframes herozoom{from{transform:scale(1.02)}to{transform:scale(1.12)}}@keyframes risein{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.topbar{height:60px;padding:12px 4%;color:#222}.topbar nav{display:none;position:absolute;top:58px;right:4%;padding:20px;background:#1b1b1b;color:#fff;flex-direction:column;gap:15px}.topbar nav.open{display:flex}.menu{display:block;background:transparent;border:0;font-size:22px}.hero{min-height:620px;height:100svh}.hero-image{background-position:44% center}.roundel{width:135px;height:135px;right:5%;bottom:22%}.roundel .africa{font-size:45px}.roundel b{font-size:9px;letter-spacing:1px}.roundel small{font-size:5px;letter-spacing:1px}.hero-bottom p{font-size:11px}.hero-bottom .button{padding:8px 16px}.intro{padding:0 5% 38px}.intro h1{font-size:30px;padding:0 0 15px}.intro h2{font-size:27px}.intro p{font-size:12px}.desktop{display:none}.banner{height:85svh;min-height:520px}.choice{padding:30px 5% 45px}.choice>h2,.journeys>h2{font-size:35px}.choice-grid,.service,.culinary,.beer-service{grid-template-columns:1fr;gap:25px}.choice-grid>img{height:340px}.choice-grid p,.service-copy p,.service-copy li{font-size:12px}.three-cards{grid-template-columns:1fr;gap:38px}.three-cards p{min-height:0}.three-cards img{height:260px}.journeys{padding:35px 5% 50px}.service{padding:35px 5% 45px}.service-copy h2{font-size:35px;margin-bottom:20px}.service-main,.culinary .service-main,.beer-service .service-main,.safari .service-main{height:330px;margin-top:0;order:-1}.culinary .service-copy h2,.beer-service .service-copy h2{text-align:left}.thumbs img{height:90px}.faq{grid-template-columns:1fr;gap:35px;padding:60px 5%}.faq>h2{font-size:31px}.contact{padding:25px 5% 45px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-grid>div>img{height:250px}.contact>h2{margin-bottom:25px}.contact-grid>div>p{font-size:12px}.contact input,.contact textarea{font-size:12px}footer{padding:35px 5%;flex-direction:column;gap:35px}footer small{margin-top:35px}.newsletter{width:100%}.newsletter form{max-width:500px}.closing{height:85svh;min-height:520px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.hero-logo{position:absolute;z-index:2;right:4%;top:23%;width:min(29vw,390px);height:auto;object-fit:contain;filter:none;animation:logoenter 1.2s ease-out both}@keyframes logoenter{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.hero-logo{width:31vw;right:3%;top:25%}}


/* Make The Choice section: full-height left photo, copy above a second photo on the right. */
.choice-grid{align-items:stretch}
.choice-grid>img{height:100%;min-height:680px;align-self:stretch;object-fit:cover}
.choice-copy{display:flex;flex-direction:column;min-width:0;gap:24px}
.choice-copy-text{flex:0 0 auto}
.choice-lower-image{display:block;width:100%;height:300px;min-height:0;object-fit:cover;object-position:center 45%;margin-top:auto}
@media(max-width:760px){
  .choice-grid>img{height:340px;min-height:0}
  .choice-copy{gap:18px}
  .choice-lower-image{height:260px;margin-top:0}
}
