/* ============================================================
   SAFARI — PAGE-SPECIFIC STYLES ONLY
   Shared foundations/components are loaded from site-base-clean.css.
   ============================================================ */

*,
*::before,
*::after{margin:0;padding:0;box-sizing:border-box;}
body{margin:0;background:#ffffff;color:#222222;font-family:Arial,Helvetica,sans-serif;line-height:1.7;overflow-x:hidden;}
img{display:block;max-width:100%;}
.safari-hero{position:relative;width:100%;min-height:520px;padding:100px 5%;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;color:#ffffff;background:
    linear-gradient(rgba(15,15,15,.48),rgba(15,15,15,.62)),
    url("../../images/experiences/wildlife-safari/01-hero.webp") center center/cover no-repeat;}
.safari-hero-content{position:relative;z-index:2;width:100%;max-width:760px;margin:0 auto;}
.safari-hero-content span{display:block;margin-bottom:18px;color:#e2bf83;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;}
.safari-hero-content h1{margin:0 0 20px;color:#ffffff;font-size:52px;font-weight:400;line-height:1.12;text-shadow:0 2px 10px rgba(0,0,0,.25);}
.safari-hero-content p{max-width:600px;margin:0 auto;color:rgba(255,255,255,.88);font-size:15px;line-height:1.8;text-shadow:0 1px 5px rgba(0,0,0,.20);}
@media (max-width:1000px) {
.safari-hero{min-height:480px;padding:85px 20px;}
.safari-hero-content{max-width:700px;}
.safari-hero-content h1{font-size:44px;}
.safari-hero-content p{max-width:560px;font-size:15px;}
}
@media (max-width:650px) {
.safari-hero{min-height:440px;padding:70px 20px;}
.safari-hero-content{max-width:100%;}
.safari-hero-content span{margin-bottom:14px;font-size:9px;letter-spacing:2px;}
.safari-hero-content h1{margin-bottom:18px;font-size:36px;line-height:1.15;}
.safari-hero-content p{max-width:300px;margin:0 auto;font-size:13px;line-height:1.7;}
}
@media (max-width:380px) {
.safari-hero{min-height:410px;padding:65px 18px;}
.safari-hero-content h1{font-size:32px;}
.safari-hero-content p{max-width:270px;font-size:12px;line-height:1.65;}
}
.safari-intro{padding:100px 5% 85px;background:#ffffff;text-align:center;}
.safari-section-label{display:block;margin-bottom:16px;color:#b68b42;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;}
.safari-intro h2{margin:0 0 25px;color:#222222;font-size:44px;font-weight:400;line-height:1.25;}
.safari-intro p{max-width:750px;margin:0 auto;color:#666666;font-size:15px;line-height:1.9;}
@media (max-width:650px) {
.safari-intro{padding:75px 20px 65px;}
.safari-section-label{margin-bottom:13px;font-size:9px;letter-spacing:2.3px;}
.safari-intro h2{margin-bottom:20px;font-size:35px;line-height:1.25;}
.safari-intro p{font-size:14px;line-height:1.8;}
}
@media (max-width:380px) {
.safari-intro h2{font-size:31px;}
}
.safari-experiences{padding:100px 5%;background:#f7f5f1;}
.safari-container{width:100%;max-width:1200px;margin:0 auto;}
.safari-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;margin-bottom:50px;background:#ffffff;overflow:hidden;}
.safari-feature:last-child{margin-bottom:0;}
.safari-feature-image{min-height:450px;overflow:hidden;}
.safari-feature-image img{width:100%;height:100%;min-height:450px;object-fit:cover;transition:transform .6s ease;}
.safari-feature:hover .safari-feature-image img{transform:scale(1.03);}
.safari-feature-content{padding:60px;display:flex;flex-direction:column;justify-content:center;}
.safari-feature-content span{display:block;margin-bottom:15px;color:#b68b42;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;}
.safari-feature-content h2{margin-bottom:25px;color:#222222;font-size:40px;font-weight:400;line-height:1.25;}
.safari-feature-content p{margin-bottom:18px;color:#666666;font-size:15px;line-height:1.9;}
.safari-feature-content p:last-child{margin-bottom:0;}
.safari-feature-reverse .safari-feature-image{order:2;}
.safari-feature-reverse .safari-feature-content{order:1;}
@media (max-width:1000px) {
.safari-feature{grid-template-columns:1fr;max-width:700px;margin:0 auto 40px;}
.safari-feature-image,
.safari-feature-image img{min-height:380px;height:380px;}
.safari-feature-content{padding:45px;}
.safari-feature-reverse .safari-feature-image,
.safari-feature-reverse .safari-feature-content{order:initial;}
}
@media (max-width:650px) {
.safari-experiences{padding:75px 18px 80px;}
.safari-feature{margin-bottom:28px;}
.safari-feature-image,
.safari-feature-image img{min-height:250px;height:250px;}
.safari-feature-content{padding:32px 24px;}
.safari-feature-content h2{font-size:30px;}
.safari-feature-content p{font-size:14px;}
}
@media (max-width:380px) {
.safari-feature-image,
.safari-feature-image img{min-height:225px;height:225px;}
.safari-feature-content h2{font-size:27px;}
}
.safari-personalized{padding:105px 5%;background:#ede5d8;text-align:center;}
.safari-personalized-content{max-width:800px;margin:0 auto;}
.safari-personalized-content span{display:block;margin-bottom:18px;color:#b68b42;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;}
.safari-personalized-content h2{margin-bottom:25px;color:#222222;font-size:44px;font-weight:400;line-height:1.25;}
.safari-personalized-content p{max-width:700px;margin:0 auto;color:#666666;font-size:15px;line-height:1.9;}
@media (max-width:650px) {
.safari-personalized{padding:80px 20px;}
.safari-personalized-content span{margin-bottom:15px;font-size:9px;letter-spacing:2.2px;}
.safari-personalized-content h2{margin-bottom:20px;font-size:35px;line-height:1.25;}
.safari-personalized-content p{font-size:14px;line-height:1.8;}
}
@media (max-width:380px) {
.safari-personalized-content h2{font-size:31px;}
}
.safari-hero-content h1,
.safari-intro h2,
.safari-feature-content h2,
.safari-personalized-content h2{text-wrap:balance;}
.safari-hero-content p,
.safari-intro p,
.safari-feature-content p,
.safari-personalized-content p{text-wrap:pretty;}
.safari-feature{border:1px solid #e7dfd4;border-radius:8px;box-shadow:0 9px 28px rgba(0,0,0,.045);}
.safari-feature:hover{box-shadow:0 16px 38px rgba(0,0,0,.085);}
