/* TRAVIS STUDIO V4 — An editorial, responsive design system for EVERY PHP page. */
:root{--trav-forest:#123c30;--trav-dark:#102d25;--trav-gold:#c4a372;--trav-sand:#f6f3ec;--trav-body:#385247;--trav-muted:#687e73;--trav-shadow:0 18px 48px rgba(17,48,37,.075)}
html{scroll-behavior:smooth}body{margin:0;background:#fff!important;color:var(--trav-body);font-family:Manrope,Inter,'Segoe UI',Arial,sans-serif!important}body *{box-sizing:border-box}
body h1,body h2,body h3{font-family:Manrope,Inter,'Segoe UI',Arial,sans-serif!important;letter-spacing:-.037em}body h1{font-weight:800}body .section-title{font-weight:750!important}
.header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e8ece6!important;box-shadow:0 5px 35px rgba(15,50,37,.04)!important;backdrop-filter:blur(15px);z-index:90}
.header .container.navwrap{min-height:88px!important;max-width:1320px;gap:13px;display:flex;align-items:center}
.header .brand{display:inline-flex!important;align-items:center;gap:10px;min-width:237px;max-width:255px;flex-shrink:0;text-decoration:none;overflow:visible}
.header .brand .brand-wordmark,.header .brand img{width:64px!important;height:64px!important;min-width:64px!important;object-fit:cover!important;border:1px solid #e6dfd0!important;border-radius:50%!important;padding:0!important;box-shadow:0 3px 18px rgba(20,53,33,.09)!important}
.trav-v4-brand-text{display:block;font-size:17px;font-weight:850;color:#194632;line-height:1.08;letter-spacing:-.055em;text-align:left}.trav-v4-brand-text em{display:block;font-style:normal;font-size:13px;font-weight:700;letter-spacing:.005em;color:#b38a3e;margin-top:3px}
.header .nav{gap:0!important}.header .nav>li>a,.header .nav>li>button{font-family:Manrope,Inter,Arial,sans-serif!important;font-size:14px!important;letter-spacing:-.01em!important;font-weight:760!important;color:#214537!important;padding:13px 9px!important}.header .nav>li>a:hover,.header .nav>li>button:hover{color:#bc8c43!important}.header .nav .dropdown{border:1px solid #e6eae2!important;border-radius:12px;box-shadow:var(--trav-shadow)}.header-cta{gap:8px}.header-cta .btn{font-size:12px!important;border-radius:9px!important;padding:11px 14px!important}.header-cta .btn:not(.secondary){background:var(--trav-forest)!important;color:#fff!important}
/* Homepage: refined centred editorial masthead with a distinctive scenic split panorama. */
body:has(.home-sections) .hero:not(.small){background:#fff!important;display:flex!important;flex-direction:column!important;min-height:auto!important;padding-bottom:0!important;overflow:visible}
body:has(.home-sections) .hero:not(.small) .hero-content{order:0!important;width:100%!important;padding:70px 20px 37px!important;min-height:auto!important;text-align:center!important;max-width:960px!important;margin:auto!important}
body:has(.home-sections) .hero .eyebrow{font-weight:800!important;letter-spacing:.17em!important;font-size:11px!important;color:#a07b42!important;text-transform:uppercase}
body:has(.home-sections) .hero:not(.small) h1{font-size:clamp(2rem,3.4vw,3.45rem)!important;font-weight:800!important;line-height:1.15!important;color:#173a30!important;margin-bottom:20px!important}
body:has(.home-sections) .hero:not(.small) .hero-content p{max-width:750px!important;margin:0 auto 25px!important;color:#66796d!important;font-size:clamp(.87rem,1.04vw,.96rem)!important;line-height:1.85!important}
body:has(.home-sections) .hero-actions{gap:11px!important}.hero-actions .btn{border-radius:8px!important;font-size:.78rem!important;letter-spacing:.005em!important;font-weight:750!important;box-shadow:none!important}.hero-actions .btn:not(.light){background:var(--trav-forest)!important;color:#fff!important}.hero-actions .btn.light{border:1px solid #dce6dc!important;color:var(--trav-forest)!important;background:#fff!important}
body:has(.home-sections) .hero img.hero-img{order:1!important;position:relative!important;display:block!important;width:min(1300px,calc(100% - 40px))!important;height:clamp(295px,40vw,575px)!important;max-height:575px!important;object-fit:cover!important;object-position:center!important;border-radius:22px!important;margin:0 auto!important;box-shadow:0 17px 40px rgba(21,43,32,.12)!important;opacity:1!important;filter:none!important}
.trav-v4-hero-band{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;margin-bottom:6px;padding:3px 12px 21px;border-bottom:1px solid #e7ebe6!important;color:#708378;font-size:10px;font-weight:800;letter-spacing:.13em}
/* Main page layouts retain itinerary detail, with a controlled editorial visual language. */
.hero.small{background:#fafbf8!important;min-height:345px!important}.hero.small .hero-content{z-index:2}.hero.small h1{font-size:clamp(1.65rem,2.65vw,2.7rem)!important;line-height:1.25!important;color:#183f32!important}
.hero.small .hero-img{object-fit:cover!important;border-radius:17px!important}
.section:not(.dark){background:#fff}.section.alt{background:#fafaf7!important}body .content{background:#fff!important}.section .container{max-width:1230px}.card,.booking-card,.day{box-shadow:0 10px 30px rgba(20,50,35,.045)!important}.card{border-radius:18px!important;overflow:hidden}.card:hover{transform:translateY(-4px)}.card .thumb{transition:transform .7s}.card:hover img.thumb{transform:scale(1.035)}.section-title{font-size:clamp(1.65rem,2.4vw,2.45rem)!important}.article-layout{gap:43px}.content p,.content li{line-height:1.87}
/* Curated Kilimanjaro routes: architectural card family unlike safari package cards. */
.trav-v4-route-showcase{background:#fff!important;padding:76px 0 84px;border-bottom:1px solid #eef0eb}.trav-v4-route-showcase .container{max-width:1240px}
.trav-v4-overline{font-size:10px;font-weight:850;letter-spacing:.18em;color:#c4a477;text-transform:uppercase;display:inline-block}
.trav-v4-route-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:30px}.trav-v4-route-intro h2{color:#1b4134!important;font-size:clamp(2rem,3vw,3rem)!important;line-height:1.19!important;margin:10px 0 0!important;font-weight:800!important}.trav-v4-route-intro p{font-size:.85rem;color:#64796c;line-height:1.8;margin:0 0 10px}.trav-v4-route-intro a{font-size:.79rem;color:#245b41;text-decoration:none;font-weight:850}
.trav-v4-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.trav-v4-route-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8eee8;background:#fff;transition:transform .3s,box-shadow .3s;box-shadow:var(--trav-shadow);border-radius:8px 28px 9px 28px}.trav-v4-route-card:nth-child(3n+2){border-radius:28px 9px 28px 9px}.trav-v4-route-card:nth-child(3n+3){border-radius:12px 12px 28px 12px}.trav-v4-route-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(17,54,38,.13)}.trav-v4-route-image{display:block;height:230px;background:#e3e9e3;overflow:hidden}.trav-v4-route-image img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.trav-v4-route-card:hover img{transform:scale(1.055)}.trav-v4-route-card:nth-child(3n+2) .trav-v4-route-image{height:250px}.trav-v4-route-card:nth-child(3n+3) .trav-v4-route-image{height:215px}.trav-v4-route-info{padding:22px 24px 25px;display:flex;flex-direction:column;flex:1}.trav-v4-route-card:nth-child(3n+2) .trav-v4-route-info{background:#f7f5ef}.trav-v4-route-card:nth-child(3n+3) .trav-v4-route-info{background:#f6f9f6}.trav-v4-route-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#b18b4b;font-weight:850;font-size:10px;letter-spacing:.1em}.trav-v4-route-info h3{font-size:1.33rem!important;line-height:1.32;margin:12px 0 5px;font-weight:800;color:#1a4034!important}.trav-v4-route-info h3 a{color:inherit;text-decoration:none}.trav-v4-route-info p{font-size:.78rem;line-height:1.7;color:#6b7d72;margin:0 0 22px}.trav-v4-route-action{margin-top:auto;display:flex;justify-content:space-between;gap:10px;font-weight:850;font-size:.76rem;text-decoration:none;color:#205840;border-top:1px solid #dde6dc;padding-top:13px}.trav-v4-route-card:nth-child(3n+2) .trav-v4-route-action{border-color:#e8dece}
.studio-trips-safari{background:#f8faf7!important}.studio-trips-safari .studio-slide{border-radius:14px!important}.studio-trips-safari .studio-slide:nth-child(3n+2){border-radius:29px 9px 29px 9px!important}.studio-trips-safari .studio-slide:nth-child(3n+3){border-radius:7px 29px 7px 29px!important}
/* Universal photo footer, five columns, and supplied ATTA/TATO/TTB/KPAP logo gallery. */
.footer.trav-v4-footer{background-image:linear-gradient(112deg,rgba(9,33,27,.96),rgba(10,35,27,.91) 48%,rgba(10,31,26,.87)),var(--studio-footer-image)!important;background-size:cover!important;background-position:center 52%!important;padding:0!important;margin-top:0;color:#fff!important;position:relative}
.trav-v4-footer .container{max-width:1270px}.trav-v4-footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:72px;padding-bottom:43px;border-bottom:1px solid rgba(255,255,255,.16)}.trav-v4-footer-top h2{font-size:clamp(1.7rem,3vw,2.6rem)!important;color:#fff!important;line-height:1.18!important;font-weight:780!important;max-width:640px;margin:11px 0!important}.trav-v4-footer-top p{font-size:.89rem!important;color:#c9d8cf!important;margin:0!important}.trav-v4-footer-cta{display:inline-flex;gap:23px;align-items:center;white-space:nowrap;background:#d1b27d!important;color:#163b2e!important;font-weight:850!important;border-radius:8px;padding:16px 23px!important;text-decoration:none;font-size:.82rem!important}.trav-v4-footer-cta:hover{background:#e7ce9e!important;color:#163b2e!important}
.trav-v4-footer-main{display:grid;grid-template-columns:1.52fr .85fr .85fr 1fr;gap:35px;padding-top:48px;padding-bottom:39px;border-bottom:1px solid rgba(255,255,255,.15)}.trav-v4-footer-brandrow{display:flex;gap:14px;align-items:center;text-decoration:none}.trav-v4-footer-brandrow img{width:65px;height:65px;object-fit:cover;border-radius:50%;border:2px solid #e5dcc6;background:#fbf4e7}.trav-v4-footer-brandrow strong{font-size:1.02rem;line-height:1.2;color:#fff}.trav-v4-footer-brand p{max-width:340px;font-size:.82rem;line-height:1.87;margin:18px 0 0;color:#c1d5c8!important}.trav-v4-footer-social{margin-top:18px;display:flex;gap:14px}.trav-v4-footer-col{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.trav-v4-footer-col h3{font-size:.91rem!important;margin:5px 0 10px;color:#e9d2a5!important;font-weight:800!important}.trav-v4-footer-col a{font-size:.79rem!important;color:#d0ddd2!important;line-height:1.55;text-decoration:none}.trav-v4-footer-col a:hover{text-decoration:underline;color:#fff!important}.trav-v4-footer-col p{font-size:.79rem!important;line-height:1.55;margin:0!important;color:#d0ddd2!important}
.trav-v4-members{display:grid;grid-template-columns:.95fr 1.5fr;align-items:center;gap:30px;padding-top:31px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.16)}.trav-v4-members-title p{font-size:.74rem!important;line-height:1.68;color:#c3d1c6!important;max-width:390px;margin:9px 0 0}.trav-v4-member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.trav-v4-member{background:#fff;border-radius:12px;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;box-shadow:0 5px 24px rgba(5,21,15,.12)}.trav-v4-member img{object-fit:contain;max-width:100%;width:auto;height:64px;max-height:64px}.trav-v4-member span{font-size:10px;font-weight:850;letter-spacing:.04em;color:#304039}
.trav-v4-footer-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;padding-top:22px;padding-bottom:23px;color:#aac0ae;font-size:.7rem}.trav-v4-footer-bottom>div{display:flex;gap:17px}.trav-v4-footer-bottom a{font-size:.7rem;color:#bbd1bd;text-decoration:none}.trav-v4-footer-bottom a:hover{color:#fff}
/* Floating tools: genuine WhatsApp logo SVG + mail symbol, reduced motion respected */
.studio-contact-dock{left:17px!important;bottom:19px!important;z-index:220!important}.studio-contact-dock>a{width:56px;height:56px;border-radius:21px!important;box-shadow:0 13px 27px rgba(6,42,26,.18)!important}.studio-contact-dock .studio-contact-whatsapp{background:#1daa63!important}.studio-contact-dock .studio-contact-email{background:#173e33!important}.studio-contact-dock svg{width:27px;height:27px}.studio-contact-dock>a:hover{width:164px;border-radius:17px!important}
@media(max-width:1220px){.header .brand{min-width:194px;max-width:204px}.trav-v4-brand-text{font-size:15px}.trav-v4-brand-text em{font-size:11px}.header .nav>li>a,.header .nav>li>button{font-size:13px!important;padding:11px 7px!important}.header-cta .btn.secondary{display:none}}
@media(max-width:1020px){.header .brand{min-width:auto;max-width:none}.header .nav>li>a,.header .nav>li>button{font-size:15px!important;padding:14px 15px!important}.header .navwrap{min-height:75px!important}.trav-v4-route-intro{gap:35px}.trav-v4-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trav-v4-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.trav-v4-members{grid-template-columns:1fr}}
@media(max-width:700px){.header .brand img.brand-wordmark{width:54px!important;height:54px!important;min-width:54px!important}.header .container.navwrap{min-height:73px!important}.header .brand{gap:8px}.trav-v4-brand-text{font-size:15px}.trav-v4-brand-text em{font-size:11px}.header-cta{display:none!important}body:has(.home-sections) .hero:not(.small) .hero-content{padding:48px 19px 26px!important}body:has(.home-sections) .hero:not(.small) h1{font-size:clamp(1.85rem,6.4vw,2.45rem)!important}body:has(.home-sections) .hero img.hero-img{width:calc(100% - 25px)!important;height:300px!important;border-radius:14px!important}.trav-v4-hero-band{justify-content:center;font-size:9px;gap:8px}.trav-v4-hero-band span:nth-child(2){display:none}.trav-v4-route-showcase{padding:49px 0 55px}.trav-v4-route-intro{grid-template-columns:1fr;gap:16px;margin-bottom:25px}.trav-v4-route-intro h2{font-size:1.92rem!important}.trav-v4-route-grid{grid-template-columns:1fr 1fr;gap:13px}.trav-v4-route-image,.trav-v4-route-card:nth-child(3n+2) .trav-v4-route-image,.trav-v4-route-card:nth-child(3n+3) .trav-v4-route-image{height:155px}.trav-v4-route-info{padding:13px}.trav-v4-route-info h3{font-size:1.02rem!important}.trav-v4-route-info p{font-size:.75rem}.trav-v4-route-meta{font-size:9px}.trav-v4-footer-top{padding-top:45px;padding-bottom:30px;display:block}.trav-v4-footer-cta{margin-top:24px}.trav-v4-footer-main{padding-top:34px}.trav-v4-member-grid{grid-template-columns:repeat(2,1fr)}.trav-v4-members{padding-top:27px}.trav-v4-footer-bottom{gap:12px}.trav-v4-footer-bottom>span:last-child{display:none}}
@media(max-width:440px){.trav-v4-route-grid{grid-template-columns:1fr}.trav-v4-route-image,.trav-v4-route-card:nth-child(3n+2) .trav-v4-route-image,.trav-v4-route-card:nth-child(3n+3) .trav-v4-route-image{height:215px}.trav-v4-footer-main{grid-template-columns:1fr 1fr}.trav-v4-footer-brand{grid-column:1/-1}.trav-v4-footer-col:last-child{grid-column:1/-1}.trav-v4-member{min-height:92px}.trav-v4-member img{height:49px}.trav-v4-hero-band{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.trav-v4-route-image img{transition:none}.studio-contact-dock>a{animation:none!important}}
