@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@1,9..144,700;1,9..144,800&display=swap');

:root{--ink:#10271f;--forest:#12372a;--leaf:#2d6b4d;--lime:#d7f64a;--cream:#f7f1e4;--coral:#f25f47;--sky:#67c8e5;--white:#fff;--radius:28px;--shadow:0 24px 70px rgba(11,39,29,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:200;background:#fff;padding:10px 16px;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;height:92px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;gap:46px;color:#fff;border-bottom:1px solid rgba(255,255,255,.22);transition:height .35s,background .35s,box-shadow .35s,backdrop-filter .35s}
.site-header.scrolled{height:72px;background:rgba(11,41,30,.92);box-shadow:0 12px 35px rgba(4,24,16,.2);backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.1)}
.site-header.scrolled .brand-mark{width:42px;height:42px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;background:var(--lime);color:var(--forest);border-radius:50% 50% 46% 54%/54% 48% 52% 46%;font-weight:900;letter-spacing:-2px;transform:rotate(-5deg);box-shadow:inset 0 0 0 3px rgba(18,55,42,.14)}
.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:18px;letter-spacing:-.4px}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;opacity:.75;margin-top:2px}
nav{display:flex;gap:30px;font-size:14px;font-weight:600}nav a{position:relative}nav a:after{content:"";height:2px;background:var(--lime);position:absolute;left:0;right:100%;bottom:-7px;transition:.25s}nav a:hover:after{right:0}
.nav-ticket{border:1px solid rgba(255,255,255,.7);border-radius:30px;padding:12px 18px;font-size:14px;font-weight:700}.nav-ticket:hover{background:#fff;color:var(--forest)}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:#fff;margin:5px}
.hero{min-height:800px;height:100vh;position:relative;display:flex;align-items:center;background:url("../images/zoo-hero.png") center/cover no-repeat;color:#fff;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,17,.82) 0%,rgba(7,28,20,.48) 35%,rgba(9,34,25,.06) 67%),linear-gradient(0deg,rgba(6,27,20,.52),transparent 42%)}
.hero-glow{position:absolute;z-index:1;width:520px;height:520px;left:4%;top:25%;background:rgba(242,95,71,.22);filter:blur(110px);border-radius:50%}
.hero-content{position:relative;z-index:2;width:min(670px,90%);margin-left:clamp(24px,8vw,140px);padding-top:50px}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:2.5px;font-size:12px;font-weight:800}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:35px;height:2px;background:var(--lime)}.hero-signature{display:inline-flex;align-items:center;margin:18px 0 -9px;padding:8px 13px;border:1px solid rgba(255,255,255,.34);border-radius:100px;background:rgba(12,42,31,.25);backdrop-filter:blur(8px);font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:15px;color:var(--lime)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(68px,8vw,130px);line-height:.82;letter-spacing:-6px;margin:28px 0 34px;font-weight:700}h1 em,h2 span{font-family:"Fraunces",Georgia,serif;color:var(--lime);font-weight:800}
.hero-copy{font-size:clamp(17px,2vw,21px);line-height:1.55;max-width:530px;color:rgba(255,255,255,.86)}
.hero-actions{display:flex;gap:14px;margin-top:34px}.button{border:0;border-radius:100px;padding:16px 23px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:800;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(0,0,0,.2)}.button-primary{background:var(--lime);color:var(--forest)}.button-ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.38);color:#fff;backdrop-filter:blur(8px)}
.hero-facts{position:absolute;z-index:2;right:clamp(20px,5vw,85px);bottom:58px;display:flex;color:#fff;gap:38px}.hero-facts div{display:flex;flex-direction:column;padding-left:16px;border-left:1px solid rgba(255,255,255,.45)}.hero-facts strong{font-size:28px}.hero-facts span{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;opacity:.7}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:35px;display:flex;align-items:center;gap:10px;transform:translateX(-50%);font-size:11px;text-transform:uppercase;letter-spacing:2px}.scroll-cue i{font-style:normal;animation:bob 1.4s infinite}
@keyframes bob{50%{transform:translateY(7px)}}@keyframes scroll{to{transform:translateX(-50%)}}
.marquee{background:var(--lime);padding:16px 0;overflow:hidden}.marquee div{display:flex;width:max-content;gap:28px;align-items:center;font-size:13px;font-weight:900;letter-spacing:2px;animation:marquee 22s linear infinite}.marquee b{color:var(--coral)}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:110px clamp(24px,7vw,120px)}.section-kicker{color:var(--coral);margin-bottom:28px}.section-kicker.light{color:var(--lime)}
.welcome{background:var(--cream);position:relative}.welcome-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:end}.welcome h2,.section-head h2,.experiences h2,.conservation h2,.visit h2{font-size:clamp(48px,6vw,92px);line-height:.93;letter-spacing:-4px;margin:0}.welcome h2 span,.section-head h2 span{color:var(--leaf)}
.welcome-grid>div:last-child{max-width:520px}.lead{font-size:22px;line-height:1.5;font-weight:600}.welcome-grid p:not(.lead){color:#65736d;line-height:1.7}.text-link{display:inline-flex;gap:32px;margin-top:22px;font-weight:800;border-bottom:2px solid var(--coral);padding-bottom:7px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid #cfc9bd;padding-top:40px}.stat-strip div{display:flex;flex-direction:column;border-left:1px solid #cfc9bd;padding-left:28px}.stat-strip div:first-child{border:0;padding-left:0}.stat-strip strong{font-family:"Fraunces",Georgia,serif;font-size:52px;color:var(--leaf)}.stat-strip strong:after{content:"+"}.stat-strip div:nth-child(3) strong:after,.stat-strip div:nth-child(4) strong:after{content:""}.stat-strip span{text-transform:uppercase;font-size:11px;letter-spacing:1.4px;color:#65736d}
.animals{background:#eef0df}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head>p{max-width:350px;color:#65736d;line-height:1.6}.section-head.compact h2{font-size:clamp(44px,5vw,72px)}.section-head.compact>p{color:var(--coral);font-weight:700}
.filters{display:flex;gap:9px;margin:55px 0 25px;flex-wrap:wrap}.filters button{border:1px solid #bec8b7;background:transparent;padding:10px 17px;border-radius:30px;color:#52625a;font-weight:700}.filters button.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.animal-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:440px;gap:16px}.animal-card{position:relative;padding:0;border:0;border-radius:22px;overflow:hidden;text-align:left;color:#fff;background:#183b2e;transition:opacity .35s,transform .35s,box-shadow .35s}.animal-card.hidden{display:none}.animal-card img{height:100%;object-fit:cover;transition:transform .65s}.animal-card:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(15,48,35,.2)}.animal-card:hover img{transform:scale(1.05)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,25,18,.82),transparent 58%)}.animal-number{position:absolute;top:20px;right:20px;border:1px solid rgba(255,255,255,.5);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:11px;background:rgba(9,36,26,.18);backdrop-filter:blur(7px)}.animal-info{position:absolute;left:28px;right:28px;bottom:25px;display:grid;grid-template-columns:1fr auto;align-items:end}.animal-info small{grid-column:1/-1;text-transform:uppercase;letter-spacing:1.6px;font-weight:700;color:var(--lime)}.animal-info strong{font-size:30px}.animal-info em{font-style:normal;font-size:12px}.card-wide{}
.animal-gallery{scroll-margin-top:100px}.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:34px}.gallery-pagination button{width:44px;height:44px;border:1px solid #b9c4b3;border-radius:50%;background:transparent;color:var(--forest);font-weight:800;transition:.25s}.gallery-pagination button:hover:not(:disabled),.gallery-pagination button.active{background:var(--forest);border-color:var(--forest);color:#fff;transform:translateY(-2px)}.gallery-pagination button:disabled{opacity:.32;cursor:not-allowed}.gallery-pagination .page-arrow{width:auto;padding:0 17px;border-radius:30px}.gallery-status{text-align:center;margin:13px 0 0;color:#6b7a72;font-size:12px;text-transform:uppercase;letter-spacing:1.2px}
.experiences{background:var(--forest);color:#fff;position:relative;overflow:hidden}.experiences:before{content:"";position:absolute;width:400px;height:400px;background:var(--coral);filter:blur(170px);opacity:.16;right:-80px;top:-120px}.experiences h2 span,.conservation h2 span{color:var(--lime)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.experience-grid article{border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:34px;background:rgba(255,255,255,.035);transition:.3s}.experience-grid article:hover{transform:translateY(-8px);border-color:var(--lime);background:rgba(255,255,255,.07)}.experience-icon{font-size:44px;margin-bottom:55px}.experience-grid small{color:var(--lime);text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.experience-grid h3{font-size:25px;margin:11px 0}.experience-grid p{color:#aec1b8;line-height:1.6}.experience-grid a{font-weight:800;font-size:13px}
.schedule{background:#fff}.timeline{margin-top:50px;border-top:1px solid #dce1dc}.timeline article{display:grid;grid-template-columns:120px 60px 1fr auto;align-items:center;padding:22px 10px;border-bottom:1px solid #dce1dc;transition:.25s}.timeline article:hover{background:#f5f8ee;padding-left:24px;padding-right:24px}.timeline time{font-size:25px;font-weight:800;color:var(--leaf)}.timeline article>span{font-size:29px}.timeline small{text-transform:uppercase;letter-spacing:1px;color:#79867f}.timeline h3{margin:4px 0 0}.timeline b{font-size:12px;background:#eef0df;padding:8px 12px;border-radius:30px}
.conservation{display:grid;grid-template-columns:1.1fr 1fr;min-height:700px;background:var(--forest);color:#fff}.conservation-image{background:url("../images/savanna-family.png") center/cover}.conservation-copy{padding:clamp(60px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.conservation-copy p{color:#b7c9c0;line-height:1.7;font-size:17px;max-width:540px;margin:35px 0}.impact{display:flex;align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:25px 0;margin-bottom:35px;max-width:520px}.impact strong{font-family:"Fraunces",Georgia,serif;font-size:43px;color:var(--lime)}.impact span{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;max-width:190px}.button-light{background:#fff;color:var(--forest);align-self:flex-start}
.visit{background:var(--coral)}.visit-card{background:var(--cream);border-radius:var(--radius);display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;box-shadow:var(--shadow)}.visit-copy{padding:70px}.visit-copy h2{color:var(--forest)}.visit-copy p{font-size:18px;color:#66736d}.visit-details{display:flex;gap:32px;margin-top:38px}.visit-details span{display:flex;flex-direction:column;font-size:13px;color:#718078}.visit-details b{color:var(--ink);margin-bottom:5px}.ticket-form{background:var(--forest);padding:70px;display:flex;flex-direction:column;justify-content:center;gap:16px}.ticket-form label{display:flex;flex-direction:column;color:#c5d2cc;font-size:12px;text-transform:uppercase;letter-spacing:1.3px;gap:7px}.ticket-form input,.ticket-form select{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:11px;padding:15px;background:rgba(255,255,255,.08);color:#fff;color-scheme:dark}.ticket-form .button{margin-top:8px}.ticket-form>small{color:#94aaa0;text-align:center}
footer{background:#0a2219;color:#fff;padding:75px clamp(24px,7vw,120px) 28px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:8vw}.brand-footer{align-self:start}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer-links div{display:flex;flex-direction:column;gap:13px}.footer-links b,.newsletter>b{color:var(--lime);text-transform:uppercase;letter-spacing:1.5px;font-size:11px}.footer-links a{color:#aabdb4;font-size:14px}.newsletter>b{display:block;margin-bottom:20px}.newsletter form{display:flex;border-bottom:1px solid #73847c}.newsletter input{flex:1;background:none;border:0;color:#fff;padding:13px 0;outline:none}.newsletter button{background:none;color:var(--lime);border:0;font-size:24px}.newsletter small{display:block;color:#71847a;margin-top:12px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:65px;padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:#80958b}.footer-bottom a:hover{color:var(--lime)}
.back-top{position:fixed;right:24px;bottom:24px;z-index:50;width:48px;height:48px;border:0;border-radius:50%;background:var(--lime);color:var(--forest);font-size:22px;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.25);opacity:0;transform:translateY(18px);pointer-events:none;transition:.3s}.back-top.visible{opacity:1;transform:none;pointer-events:auto}.back-top:hover{transform:translateY(-4px)}
.toast{position:fixed;z-index:100;left:50%;bottom:30px;transform:translate(-50%,20px);background:#fff;color:var(--forest);padding:14px 22px;border-radius:50px;box-shadow:var(--shadow);font-weight:700;opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
.lightbox{width:min(930px,92vw);padding:0;border:0;border-radius:24px;background:var(--cream);box-shadow:var(--shadow);overflow:hidden}.lightbox::backdrop{background:rgba(4,20,14,.86);backdrop-filter:blur(8px)}.lightbox img{height:min(66vh,600px);object-fit:cover}.lightbox>div{padding:25px 32px}.lightbox h3{font-size:30px;margin:5px 0}.lightbox p{color:#68766e;margin:0}.lightbox small{color:var(--coral);text-transform:uppercase;letter-spacing:2px;font-weight:800}.lightbox-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:24px}
@media(max-width:900px){.site-header{height:78px}.menu-toggle{display:block;z-index:2}.nav-ticket{display:none}nav{position:fixed;inset:0;background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:28px;transform:translateX(100%);transition:.35s}nav.open{transform:none}.hero{min-height:740px}.hero-content{margin-left:24px}.hero-facts{left:24px;right:auto;bottom:30px}.scroll-cue{display:none}.welcome-grid,.conservation,.visit-card{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.stat-strip{grid-template-columns:1fr 1fr;gap:35px}.animal-gallery{grid-auto-rows:350px}.experience-grid{grid-template-columns:1fr}.experience-icon{margin-bottom:25px}.conservation-image{min-height:500px}.footer-top{grid-template-columns:1fr 1fr}.newsletter{grid-column:1/-1}}
@media(max-width:600px){.section{padding:80px 20px}.brand-mark{width:42px;height:42px}.brand strong{font-size:16px}h1{font-size:64px;letter-spacing:-4px}.hero-content{padding-top:0}.hero-actions{align-items:stretch;flex-direction:column;width:260px}.hero-facts{gap:15px}.hero-facts strong{font-size:20px}.hero-facts div{padding-left:9px}.welcome h2,.section-head h2,.experiences h2,.conservation h2,.visit h2{letter-spacing:-2px}.stat-strip strong{font-size:40px}.animal-gallery{grid-template-columns:1fr;grid-auto-rows:390px}.experience-grid{margin-top:40px}.timeline article{grid-template-columns:65px 45px 1fr}.timeline article>b{display:none}.timeline time{font-size:18px}.conservation-image{min-height:380px}.conservation-copy,.visit-copy,.ticket-form{padding:55px 25px}.visit-details{flex-direction:column;gap:13px}.footer-top{grid-template-columns:1fr}.footer-links,.newsletter{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px}.toast{width:calc(100% - 40px);text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hero{background-image:url("../images/zoo-hero.webp")}
.conservation-image{background-image:url("../images/savanna-family.webp")}
