@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--green:#003b12;--cream:#fff5d8;--gold:#f5bf20;--ink:#063a17;--muted:#52674d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c28d27;outline-offset:5px}header{height:108px;max-width:1440px;margin:auto;padding:0 6%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:1.1px;line-height:1.25;font-size:16px}.brand-icon{display:grid;place-items:center;border:1px solid #b19a58;border-radius:50%;width:48px;height:48px;color:#a67b27;font-size:34px}.brand-bottom{display:block;font-size:10px;margin-top:6px;letter-spacing:6px}nav{display:flex;gap:34px;align-items:center;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--gold);color:var(--green);padding:16px 24px;font-weight:700;font-size:14px;border:0;border-radius:3px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#f1cc78;transform:translateY(-2px)}.button span{font-size:20px}.button.small{background:var(--green);color:white;padding:12px 19px;gap:24px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:54px 8% 28px 12%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:8px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#a9863a}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.1;letter-spacing:-2px}h1{font-size:clamp(54px,5.5vw,82px);margin:24px 0}em{font-weight:500;color:#816009}h2{font-size:44px;margin:14px 0 25px}.intro{font-size:16px;color:var(--muted);max-width:390px;margin:0 0 28px}.micro{font-size:11px;color:var(--muted);margin:13px 0 38px}.hero-bottom{border-top:1px solid #d8ddd1;display:flex;justify-content:space-between;width:100%;padding-top:18px;margin-top:auto;font-size:8px;letter-spacing:1.4px}.hero-image{position:relative;background-image:linear-gradient(0deg,rgba(10,36,23,.55),transparent 55%),url('assets/safari.png');background-size:auto 205%;background-position:50% 29%;margin-right:30px;border-radius:3px;overflow:hidden;min-height:570px}.location{position:absolute;top:25px;left:25px;background:#fbf7e8e8;font-size:9px;font-weight:700;padding:8px 14px;letter-spacing:1.4px;border-radius:2px}.image-caption{position:absolute;bottom:32px;left:32px;color:#fff7df}.image-caption span{font-size:11px;letter-spacing:1px}.image-caption strong{font:500 30px 'Playfair Display',Georgia,serif;display:block;margin-top:7px}.promise{background:var(--green);color:#eee9d8;display:flex;justify-content:center;align-items:center;gap:7%;padding:26px 20px;margin-top:36px;font-size:12px;letter-spacing:.5px}.star{color:var(--gold);font-size:20px}.section{padding:85px max(6%,calc((100vw - 1265px)/2))}.experience{display:grid;grid-template-columns:1.2fr 1fr;gap:25px 65px}.section-intro{max-width:410px;align-self:center;color:var(--muted);font-size:14px}.experiences{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:20px}.experiences article{border-top:1px solid #c9cdbd;padding-top:21px}.number{color:#816009;font-size:11px}.experiences h3{font-size:19px;margin:16px 0 10px}.experiences p{font-size:14px;color:var(--muted);max-width:310px}.experiences a{font-size:12px;font-weight:700;display:inline-block;margin-top:13px}.how{background:#f4ebce;display:grid;grid-template-columns:1fr 1fr;gap:60px}.how ol{list-style:none;padding:0;margin:0}.how li{display:flex;gap:23px;border-bottom:1px solid #cfd7c9;padding:20px 0}.how li:first-child{padding-top:0}.how li:last-child{border:0}.how li>span{color:#816009;font:24px Georgia}.how h3{font-size:16px;margin:0 0 7px}.how p{font-size:13px;color:var(--muted);margin:0}.quote{background:var(--green);color:var(--cream);display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.quote .eyebrow{color:#d0b87a}.quote h2{font-size:58px}.quote em{color:var(--gold)}.quote-copy>p:not(.eyebrow){color:#bccbc0;font-size:14px;max-width:310px}.quote-note{display:flex;gap:18px;align-items:center;color:var(--gold);font-size:36px;margin-top:44px}.quote-note p{color:#ccd4c8;font-size:12px;line-height:1.8}.quote-note strong{color:var(--cream);font-weight:500}form{background:var(--cream);color:var(--ink);padding:32px;border-radius:5px}.form-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.form-top h3{font-size:21px;margin:0}.form-top>span{font-size:8px;letter-spacing:1px;color:#777c6e}.form-subtitle{font-size:12px;color:var(--muted);margin:5px 0 23px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{font-size:11px;font-weight:600;display:block}.fields input,select,textarea{width:100%;border:1px solid #d8d9cb;border-radius:3px;background:#fffef9;color:var(--ink);padding:11px 10px;margin-top:6px;font-size:12px;min-height:43px}.fields input:focus,select:focus,textarea:focus{outline:2px solid #ab8b42;outline-offset:1px}textarea{resize:vertical}.full{grid-column:1/-1}.optional{color:var(--muted);font-weight:400}.consent{display:flex;align-items:flex-start;gap:8px;margin:17px 0;font-size:10px;font-weight:400;line-height:1.6}.consent input{accent-color:var(--green);margin-top:3px}.text-button{border:0;padding:0;background:transparent;text-decoration:underline;cursor:pointer;color:inherit;font-size:inherit}.submit{width:100%}.submit:disabled{opacity:.6;cursor:wait}.preview-note{font-size:10px;text-align:center;color:#796539;margin:12px 0 0}#form-status{font-size:12px;margin:0}#form-status:not(:empty){padding:12px;background:#e7ebde;margin-top:15px}.faq{max-width:1000px;margin:auto;padding-left:6%;padding-right:6%}.faq h2{margin-bottom:35px}details{border-bottom:1px solid #d1d5c7;padding:19px 0;font-size:14px}summary{cursor:pointer;font-weight:600}details p{max-width:680px;font-size:13px;color:var(--muted)}footer{border-top:1px solid #d1d5c7;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:12px}footer p,footer>span{font-size:10px;color:var(--muted)}dialog{max-width:520px;width:90%;padding:35px;border:0;border-radius:5px;background:var(--cream);color:var(--green)}dialog h2{font-size:30px}dialog p{font-size:14px}dialog::backdrop{background:#082619b8}@media(min-width:1500px){.hero-image{margin-right:0}}@media(max-width:900px){header{padding:0 5%;height:90px}nav>a:not(.button){display:none}.hero-copy{padding:35px 9% 25px 10%}h1{font-size:57px}.hero-image{margin-right:15px;min-height:560px;background-position:43% 29%}.experience{gap:15px 30px}.experiences{gap:23px}.quote{gap:35px;grid-template-columns:.8fr 1.2fr}.quote h2{font-size:45px}form{padding:23px}.fields{gap:13px}footer{flex-wrap:wrap}}@media(max-width:640px){header{height:82px}.brand{font-size:12px;gap:8px}.brand-icon{width:35px;height:35px;font-size:25px}.brand-bottom{font-size:8px;letter-spacing:4px}.button.small{font-size:11px;padding:10px 12px;gap:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 6% 25px}h1{font-size:62px;margin:18px 0}.intro{font-size:14px;max-width:340px}.micro{margin-bottom:25px}.hero-image{margin:0 14px;min-height:365px;background-size:auto 210%;background-position:50% 29%}.image-caption{bottom:25px;left:22px}.image-caption strong{font-size:27px}.promise{margin-top:22px;padding:20px 16px;gap:15px;font-size:9px;text-align:center}.promise .star{font-size:16px}.section{padding:55px 6%}.experience,.how,.quote{grid-template-columns:1fr;gap:20px}h2{font-size:37px;letter-spacing:-1.2px}.section-intro{margin:0}.experiences{grid-template-columns:1fr;gap:25px;margin-top:15px}.experiences article{display:block}.experiences h3{margin-top:9px}.experiences p{max-width:none}.how{gap:12px}.quote h2{font-size:46px}.quote-copy>p:not(.eyebrow){max-width:none}.quote-note{display:none}form{margin-top:10px;padding:22px}.form-top h3{font-size:20px}.fields{gap:15px 12px}.form-top>span{font-size:7px}footer{display:block;padding:30px 6%}footer p{margin-bottom:18px}.faq{padding:55px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-image{background-size:auto 260%;background-position:50% 25%}

.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px}.footer-links a:hover,.policy a:not(.button):hover{text-decoration:underline}.page-intro{background:#f4ebce;padding-top:65px;padding-bottom:55px}.page-intro h1{font-size:clamp(46px,6vw,78px);margin:20px 0}.page-intro .intro{max-width:560px;margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.contact-grid article{border-top:1px solid #c9cdbd;padding-top:20px}.contact-grid h2{font-size:30px;letter-spacing:-1px;overflow-wrap:anywhere}.contact-grid p,.contact-grid address{font-size:14px;color:var(--muted)}.contact-grid address{font-style:normal;margin-bottom:22px}.contact-grid .button{margin-top:20px}.contact-cta{background:var(--green);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-cta em{color:var(--gold)}.contact-cta h2{margin-bottom:16px}.contact-cta p{max-width:500px}.policy{max-width:920px;margin:auto;padding:50px 6% 80px}.policy h2{font-size:29px;letter-spacing:-.7px;margin:34px 0 15px}.policy p{color:#4d6053;font-size:15px}.policy a:not(.button){text-decoration:underline;text-underline-offset:3px}.policy .button{margin-top:25px}.policy-date{font-size:12px;color:var(--muted);margin-top:20px}@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:30px}.contact-cta{display:block}.contact-cta .button{margin-top:20px}.footer-links{margin:20px 0}.policy{padding-top:25px}}

/* African Safari Match brand: forest green, sun gold and warm cream. */
header{height:120px;background:var(--green);color:var(--cream);max-width:none;border-bottom:2px solid var(--gold)}
.brand-logo{width:84px;height:84px;object-fit:contain;flex-shrink:0}.brand{gap:16px}
.button,.button.small{background:linear-gradient(135deg,#ffe78a 0%,#f5bf20 55%,#d89a06 100%);color:#00320e;border:1px solid #e6ae17;box-shadow:0 2px 0 #aa780d}
.button:hover,.button.small:hover{background:#ffdc67}.promise{border-top:1px solid #d6a329;border-bottom:1px solid #d6a329;color:var(--cream)}
.quote,.contact-cta{background:linear-gradient(135deg,#00451a,#002b0c)}.quote .eyebrow{color:#f2d16b}.quote-copy>p:not(.eyebrow){color:#e0e5cb}
footer{background:var(--green);color:var(--cream);border-top:2px solid #d5a42b}footer .brand-logo{width:64px;height:64px}footer>span,footer p{color:#d8dfc8}
.destination-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#f6edcf}.destination-art{display:block;max-width:500px;border-radius:6px;overflow:hidden;box-shadow:0 16px 40px #003b1218}.destination-art img{display:block;width:100%;height:auto}.destination-copy p:not(.eyebrow){max-width:420px;color:var(--muted);margin-bottom:28px}.destination-copy h2{font-size:48px}.destination-art:focus-visible{outline-offset:6px}
@media(max-width:900px){header{height:108px}.brand-logo{width:72px;height:72px}.destination-feature{gap:30px}.destination-copy h2{font-size:38px}}
@media(max-width:640px){header{height:96px;padding:0 4%}.brand{gap:9px;font-size:11px}.brand-logo{width:62px;height:62px}.brand-bottom{letter-spacing:3px}.button.small{padding:10px;gap:8px}.destination-feature{grid-template-columns:1fr;gap:30px}.destination-art{max-width:100%}.destination-copy h2{font-size:36px}footer .brand{font-size:12px}}
@media(max-width:360px){header .brand>span{display:none}}
