/*
Theme Name: The Safari Atlas
Theme URI: https://example.com/the-safari-atlas
Author: The Safari Atlas
Description: Lightweight editorial WordPress theme for safari discovery, affiliate tours, and tailor-made trip enquiries.
Version: 1.2.1
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: the-safari-atlas
*/

:root {
  --tsa-ink:#141d17;
  --tsa-forest:#1e2a21;
  --tsa-olive:#31402f;
  --tsa-cream:#faf7ef;
  --tsa-dust:#efe8d8;
  --tsa-gold:#d9a62e;
  --tsa-ember:#c4572e;
  --tsa-muted:#6f766b;
  --tsa-width:1180px;
  --tsa-pad:clamp(72px,8vw,130px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--tsa-cream);color:var(--tsa-ink);font-family:"Instrument Sans",Arial,sans-serif;font-size:16px;line-height:1.6}
body.tsa-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
img{display:block;max-width:100%;height:auto}
.tsa-wrap{width:min(var(--tsa-width),calc(100% - 48px));margin-inline:auto}
.tsa-section{padding:var(--tsa-pad) 0}
.tsa-eyebrow{display:block;margin:0 0 16px;color:var(--tsa-ember);font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.tsa-heading{margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(38px,4.5vw,56px);font-weight:400;letter-spacing:-.015em;line-height:1.04}
.tsa-sub{max-width:620px;margin:16px 0 0;color:#4a5347;font-size:17px}
.tsa-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid transparent;border-radius:3px;background:var(--tsa-gold);color:var(--tsa-ink);font-weight:600;cursor:pointer}
.tsa-button:hover{filter:brightness(.96)}
.tsa-button--line{border-color:rgba(250,247,239,.48);background:transparent;color:var(--tsa-cream)}
.tsa-button--ember{background:var(--tsa-ember);color:#fff}
:focus-visible{outline:3px solid var(--tsa-gold);outline-offset:3px}

.tsa-header{position:sticky;top:0;z-index:50;background:rgba(20,29,23,.95);color:var(--tsa-cream);backdrop-filter:blur(10px)}
.tsa-header__inner{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:24px}
.tsa-brand{font-family:"Instrument Serif",Georgia,serif;font-size:24px;white-space:nowrap}
.tsa-brand em{color:var(--tsa-gold)}
.tsa-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}
.tsa-menu-toggle{display:none;width:48px;height:48px;padding:12px;border:0;background:transparent;color:#fff;cursor:pointer}
.tsa-menu-toggle span{display:block;width:24px;height:2px;margin:5px auto;background:currentColor}
.tsa-mobile-menu{display:none;position:fixed;inset:64px 0 0;z-index:49;padding:28px 24px;background:var(--tsa-ink);color:#fff}
.tsa-mobile-menu.is-open{display:flex;flex-direction:column}
.tsa-mobile-menu a{display:flex;min-height:54px;align-items:center;border-bottom:1px solid #34412f;font-family:"Instrument Serif",Georgia,serif;font-size:28px}

.tsa-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#0d1410 0%,#1a2a1e 46%,#31402f 78%,#4a4a2c 100%);color:var(--tsa-cream);text-align:center}
.tsa-hero__inner{padding:clamp(90px,12vw,150px) 0 130px}
.tsa-hero .tsa-eyebrow{color:var(--tsa-gold)}
.tsa-hero h1{margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(58px,8vw,104px);font-weight:400;letter-spacing:-.02em;line-height:.98}
.tsa-hero h1 em{color:var(--tsa-gold)}
.tsa-hero p{max-width:560px;margin:28px auto 36px;color:#d9d4c2;font-size:18px}
.tsa-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.tsa-horizon{height:58px;background:var(--tsa-ink);clip-path:polygon(0 64%,33% 64%,37% 40%,40% 64%,68% 64%,72% 51%,76% 65%,100% 65%,100% 100%,0 100%)}

.tsa-map{background:var(--tsa-dust)}
.tsa-map__grid{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center;margin-top:56px}
.tsa-map__canvas{position:relative;padding:28px;background:radial-gradient(circle at 52% 46%,#fffdf7 0,#f9f5eb 68%,#f1eadb 100%);border:1px solid rgba(184,171,136,.28);box-shadow:0 18px 52px rgba(20,29,23,.09)}
.tsa-map__canvas::after{content:"N";position:absolute;top:42px;left:42px;width:28px;padding-top:4px;border-top:1px solid #9e916e;color:#74694e;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-align:center}
.tsa-map__canvas svg{display:block;width:100%;max-height:520px;overflow:visible;filter:drop-shadow(0 8px 14px rgba(71,64,43,.08))}
.tsa-map-base{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(71,64,43,.11))}
.tsa-map__canvas>svg:not(.tsa-map-migration){display:none}
.tsa-map-migration{position:absolute;inset:28px;width:calc(100% - 56px)!important;height:calc(100% - 94px);pointer-events:none;filter:none!important}
.tsa-map-migration path{fill:none;stroke:var(--tsa-ember);stroke-width:.65;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 1.5}
.tsa-map-migration text{fill:#8a654b;font-family:"IBM Plex Mono",monospace;font-size:2.2px;letter-spacing:.08em}
.tsa-map-ecology{position:absolute;inset:28px 28px 66px;z-index:1;pointer-events:none}
.tsa-map-ecology span,.tsa-map-ecology i{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)}
.tsa-map-ecology span{color:rgba(52,67,49,.58);font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.tsa-map-water{width:30px;height:12px;border-top:2px solid rgba(48,111,127,.55);border-bottom:2px solid rgba(48,111,127,.38);border-radius:50%}
.tsa-map-savanna{width:33px;height:8px;border-radius:50%;background:rgba(52,98,53,.62)}
.tsa-map-savanna::after{content:"";position:absolute;top:6px;left:15px;width:3px;height:17px;background:rgba(91,75,43,.65)}
.tsa-animal-filter{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}
.tsa-animal-chip{min-height:44px;padding:9px 15px;border:1px solid #b8ad91;border-radius:999px;background:transparent;color:var(--tsa-ink);cursor:pointer}
.tsa-animal-chip[aria-pressed="true"]{border-color:var(--tsa-ember);background:var(--tsa-ember);color:#fff}
.tsa-map-marker{color:#fff;cursor:pointer;outline:none}
.tsa-map-marker circle{fill:var(--tsa-ember);stroke:#fff8e9;stroke-width:2;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 3px 5px rgba(20,29,23,.22));transition:transform .2s ease,fill .2s ease,stroke .2s ease}
.tsa-map-marker use{color:#fff;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transform-box:fill-box;transform-origin:center;transition:transform .2s ease}
.tsa-map-marker text{fill:#4f493a;font-family:"IBM Plex Mono",monospace;font-size:9.5px;font-weight:600;letter-spacing:.02em;paint-order:stroke;stroke:#f9f5eb;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.tsa-map-marker:hover circle,.tsa-map-marker:focus circle,.tsa-map-marker.is-active circle{fill:var(--tsa-gold);stroke:#fff;transform:scale(1.14)}
.tsa-map-marker:hover use,.tsa-map-marker:focus use,.tsa-map-marker.is-active use{transform:scale(1.08)}
.tsa-map-marker:focus-visible circle{stroke:var(--tsa-ink);stroke-width:3px}
.tsa-map-marker.is-match circle{stroke:var(--tsa-ink);stroke-width:3px}
.tsa-map__canvas svg .tsa-map-marker{display:none}
.tsa-photo-markers{position:absolute;inset:28px 28px 66px;pointer-events:none}
.tsa-photo-marker{position:absolute;left:var(--x);top:var(--y);z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;width:94px;padding:0;border:0;background:transparent;color:var(--tsa-ink);cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%);transition:transform .2s ease;filter:drop-shadow(0 7px 10px rgba(20,29,23,.2))}
.tsa-photo-marker::before{content:"";position:absolute;top:28px;left:50%;z-index:-1;width:1px;height:28px;background:linear-gradient(var(--tsa-ember),transparent);transform:translateX(-50%)}
.tsa-photo-marker img{width:62px;height:62px;object-fit:cover;border:3px solid #fffaf0;border-radius:50%;background:#d8cfb8;transition:width .2s ease,height .2s ease,border-color .2s ease,filter .2s ease}
.tsa-photo-marker span{padding:4px 7px 5px;background:rgba(250,247,239,.94);box-shadow:0 2px 9px rgba(20,29,23,.12);font-family:"IBM Plex Mono",monospace;font-size:9px;font-weight:500;letter-spacing:.04em;line-height:1.15;text-align:center;text-transform:uppercase;white-space:nowrap}
.tsa-photo-marker small{display:block;margin-top:2px;color:var(--tsa-ember);font-size:8px;letter-spacing:.08em}
.tsa-photo-marker:hover,.tsa-photo-marker:focus-visible,.tsa-photo-marker.is-active{z-index:4;transform:translate(-50%,-50%) scale(1.08)}
.tsa-photo-marker:hover img,.tsa-photo-marker:focus-visible img,.tsa-photo-marker.is-active img{width:68px;height:68px;border-color:var(--tsa-gold);filter:saturate(1.06) contrast(1.03)}
.tsa-photo-marker.is-match img{border-color:var(--tsa-ember);box-shadow:0 0 0 5px rgba(196,87,46,.18)}
.tsa-map__legend{display:flex;align-items:center;justify-content:center;gap:9px;margin:10px 0 0;color:#77705f;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.02em;text-align:center}
.tsa-map__legend span{width:22px;height:1px;background:var(--tsa-gold)}
.tsa-map__panel{padding:40px;background:var(--tsa-ink);color:var(--tsa-cream)}
.tsa-map__panel-photo{position:relative;height:220px;margin:-40px -40px 32px;overflow:hidden;background:#31402f}
.tsa-map__panel-photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,var(--tsa-ink))}
.tsa-map__panel-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease,transform .45s ease}
.tsa-map__panel:hover .tsa-map__panel-photo img{transform:scale(1.025)}
.tsa-map__panel h3{margin:10px 0;font-family:"Instrument Serif",Georgia,serif;font-size:38px;font-weight:400;line-height:1.05}
.tsa-map__panel p{color:#cfcaba}
.tsa-map__animals{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}
.tsa-map__animals span{padding:5px 9px;border:1px solid #465442;border-radius:999px;color:#e2ddcf;font-size:13px}
.tsa-map__months{font-family:"IBM Plex Mono",monospace;font-size:13px}

.tsa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.tsa-image-slot{position:relative;min-height:320px;overflow:hidden;background:linear-gradient(160deg,#8d8b80,#1b2820);color:#fff}
.tsa-image-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tsa-image-slot::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(13,20,16,.9))}
.tsa-card__content{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:26px}
.tsa-card__content h3{margin:0 0 7px;font-family:"Instrument Serif",Georgia,serif;font-size:31px;font-weight:400;line-height:1.05}
.tsa-card__content p{margin:0;color:#e8e2d1;font-size:15px}
.tsa-card__meta{display:block;margin-top:14px;color:#e0ad3a;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase}

.tsa-seasons{background:var(--tsa-dust)}
.tsa-months{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-top:40px}
.tsa-month{padding:14px 4px;background:#dfd5bc;text-align:center;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500}
.tsa-month.is-peak{background:var(--tsa-ink);color:#fff}
.tsa-month i{display:block;width:8px;height:8px;margin:8px auto 0;border-radius:50%;background:#4e7a3a}
.tsa-month.is-peak i{background:var(--tsa-ember)}

.tsa-finder{background:var(--tsa-ink);color:var(--tsa-cream)}
.tsa-finder .tsa-eyebrow{color:var(--tsa-gold)}
.tsa-finder .tsa-sub{color:#c5bfae}
.tsa-finder__box{margin-top:50px;padding:40px;background:var(--tsa-forest)}
.tsa-question{margin-bottom:26px}
.tsa-question legend{margin-bottom:10px;color:#a5ad99;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.tsa-chips{display:flex;flex-wrap:wrap;gap:9px}
.tsa-chip{min-height:44px;padding:9px 16px;border:1px solid #52604d;border-radius:999px;background:transparent;color:#e7e2d3;cursor:pointer}
.tsa-chip[aria-pressed="true"]{border-color:var(--tsa-gold);background:var(--tsa-gold);color:var(--tsa-ink)}
.tsa-finder-result{margin:30px 0 0;padding:28px;border-left:3px solid var(--tsa-gold);background:var(--tsa-ink);color:#d8d2bd}
.tsa-finder-result[hidden]{display:none}
.tsa-finder-result h3{margin:0 0 8px;color:#fff;font-family:"Instrument Serif",Georgia,serif;font-size:30px;font-weight:400}
.tsa-finder-result ol{display:grid;gap:10px;margin:20px 0;padding:0;list-style:none}
.tsa-finder-result li{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid #34412f}
.tsa-finder-result li strong{color:#fff}.tsa-finder-result li span{color:#a5ad99;font-size:14px}

.tsa-tours{background:var(--tsa-dust)}
.tsa-stream{margin-top:72px}
.tsa-stream--dark{padding:48px;background:var(--tsa-ink);color:#fff}
.tsa-stream__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid currentColor}
.tsa-stream__head h3{margin:0;font-family:"Big Shoulders Display",Arial,sans-serif;font-size:27px;letter-spacing:.04em;text-transform:uppercase}
.tsa-stream__head span{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.tsa-tour-card{display:flex;min-height:100%;flex-direction:column;background:var(--tsa-cream);color:var(--tsa-ink);box-shadow:0 2px 16px rgba(20,29,23,.06)}
.tsa-stream--dark .tsa-tour-card{border:1px solid #34412f;background:var(--tsa-forest);color:#fff;box-shadow:none}
.tsa-tour-card__image{position:relative;height:220px;background:linear-gradient(#ddd,#1e2a21)}
.tsa-tour-card__image img{width:100%;height:100%;object-fit:cover}
.tsa-badge{position:absolute;top:14px;left:14px;padding:6px 10px;background:var(--tsa-ink);color:var(--tsa-gold);font-size:12px;text-transform:uppercase}
.tsa-stream--dark .tsa-badge{background:var(--tsa-ember);color:#fff}
.tsa-tour-card__body{display:flex;flex:1;flex-direction:column;padding:26px}
.tsa-tour-card h4{margin:0 0 8px;font-family:"Instrument Serif",Georgia,serif;font-size:27px;font-weight:400;line-height:1.1}
.tsa-tour-card p{margin:0;color:#596158}
.tsa-stream--dark .tsa-tour-card p{color:#c8cebf}
.tsa-tour-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px}

.tsa-lead{background:var(--tsa-ink);color:#fff}
.tsa-lead__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.tsa-lead .tsa-sub{color:#c5bfae}
.tsa-lead ol{display:grid;gap:12px;padding:0;list-style:none}
.tsa-lead li{display:flex;gap:12px;color:#ddd7c5}
.tsa-lead li b{color:var(--tsa-gold)}
.tsa-form{padding:36px;background:var(--tsa-forest)}
.tsa-form h3{margin:0 0 20px;font-family:"Instrument Serif",Georgia,serif;font-size:31px;font-weight:400}
.tsa-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tsa-form label{display:grid;gap:6px;color:#c9d0c3;font-size:13px}
.tsa-form input,.tsa-form select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #465442;border-radius:3px;background:var(--tsa-ink);color:#fff}
.tsa-form .tsa-button{width:100%;margin-top:14px}
.single-post .first-safari .tsa-form--first-timer .tsa-button{grid-column:1!important;width:max-content!important;min-width:295px;margin-top:0;justify-self:start}
.tsa-notice{padding:12px;background:#26382d;color:#fff}

.tsa-extra-sections>.wp-block-group,.tsa-editorial-block{padding:var(--tsa-pad) max(24px,calc((100vw - var(--tsa-width))/2))}
.tsa-editorial-block--dust{background:var(--tsa-dust)}
.tsa-extra-sections .wp-block-columns{gap:clamp(28px,5vw,64px)}
.tsa-extra-sections .wp-block-image img{width:100%;min-height:320px;object-fit:cover}
.tsa-extra-sections .wp-block-button.tsa-button{padding:0;background:transparent}
.tsa-extra-sections .wp-block-button.tsa-button .wp-block-button__link{border-radius:3px;background:var(--tsa-gold);color:var(--tsa-ink);font-weight:600}

.tsa-footer{padding:74px 0 34px;background:#0d1410;color:#a4ad9b}
.tsa-footer__grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:36px}
.tsa-footer h3{margin:0 0 12px;color:#fff;font-family:"Instrument Serif",Georgia,serif;font-size:23px;font-weight:400}
.tsa-footer h4{margin:0 0 12px;color:var(--tsa-gold);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.tsa-footer ul{margin:0;padding:0;list-style:none}
.tsa-footer li{margin:6px 0}
.tsa-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:22px;border-top:1px solid #24302a;font-size:13px}

/* Interactive field-atlas map */
.tsa-map>.tsa-wrap>.tsa-animal-filter,.tsa-map>.tsa-wrap>.tsa-map__grid{display:none}
.tsa-geo-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:30px;align-items:center;margin-top:48px}
.tsa-geo-map{position:relative;overflow:hidden;border:1px solid #cdbf9c;border-radius:14px;background:radial-gradient(120% 100% at 50% 0%,#bcd9da 0%,#a6c9cb 60%,#97bec1 100%);box-shadow:0 18px 50px rgba(20,29,23,.16)}
.tsa-geo-map svg{display:block;width:100%;height:auto}
.tsa-geo-map__title{position:absolute;top:22px;left:28px;z-index:4;pointer-events:none}
.tsa-geo-map__title strong{display:block;color:#4a2f14;font:800 clamp(22px,2.5vw,32px) "Big Shoulders Display",Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase}
.tsa-geo-map__title span{display:block;margin-top:2px;color:#6a4a24;font-size:12px;font-style:italic}
.tsa-geo-map__hint{position:absolute;right:24px;bottom:20px;z-index:4;padding:7px 12px;border:1px solid rgba(90,58,28,.16);border-radius:999px;background:rgba(250,247,239,.88);color:#6a553a;font-size:11px;font-weight:600;pointer-events:none}
.tsa-geo-map__load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#5a3a1c;font:500 13px "IBM Plex Mono",monospace}
.tsa-geo-country{stroke:#a8894f;stroke-width:.7;stroke-linejoin:round}
.tsa-geo-equator{fill:none;stroke:#b7833f;stroke-width:1;stroke-dasharray:5 5;opacity:.6}
.tsa-geo-equator-label{fill:#8a5a2a;font:8px "IBM Plex Mono",monospace;letter-spacing:1px}
.tsa-geo-lake{fill:#9cc7cb;stroke:#7fb0b2;stroke-width:.8}
.tsa-geo-river{fill:none;stroke:#9cc7cb;stroke-width:2.2;stroke-linecap:round}
.tsa-geo-biome{fill:#725d36;font:700 9px "IBM Plex Mono",monospace;letter-spacing:1.2px;text-anchor:middle;opacity:.68}
.tsa-geo-animal{cursor:pointer;outline:none}
.tsa-geo-animal-image{filter:sepia(.1) saturate(.78) contrast(.96) brightness(.98) drop-shadow(0 5px 5px rgba(54,38,20,.26));transition:filter .18s}
.tsa-geo-animal:hover .tsa-geo-animal-image,.tsa-geo-animal:focus .tsa-geo-animal-image,.tsa-geo-animal.is-selected .tsa-geo-animal-image{filter:sepia(.08) saturate(.9) contrast(.98) brightness(1) drop-shadow(0 8px 7px rgba(54,38,20,.38))}
.tsa-geo-halo{fill:rgba(250,247,239,.72);stroke:#d39f25;stroke-width:2;opacity:0;transition:opacity .18s}
.tsa-geo-animal.is-selected .tsa-geo-halo{opacity:1}
.tsa-geo-leader{fill:none;stroke:#8a5a2a;stroke-width:1.25;stroke-dasharray:2 5;stroke-linecap:round;opacity:.28;transition:opacity .18s,stroke-width .18s}
.tsa-geo-leader.is-selected{stroke-width:2;stroke-dasharray:3 4;opacity:.95}
.tsa-geo-pin{fill:var(--tsa-ember);stroke:#fff;stroke-width:1.5;opacity:.48}
.tsa-geo-pin.is-selected{opacity:1}
.tsa-geo-caption{fill:#3a2812;font:10.5px "Instrument Sans",Arial,sans-serif;letter-spacing:.1px}
.tsa-geo-caption tspan+ tspan{fill:#6a4a24}
.tsa-geo-panel{padding:32px;border-radius:10px;background:var(--tsa-ink);color:var(--tsa-cream);box-shadow:0 18px 44px rgba(20,29,23,.13)}
.tsa-geo-panel__coord{color:#d8bd72;font:500 12px "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.tsa-geo-panel h3{margin:10px 0 8px;font-family:"Big Shoulders Display",Arial,sans-serif;font-size:38px;line-height:1;text-transform:uppercase}
.tsa-geo-panel p{margin:0 0 18px;color:#cfcaba;font-size:15px}
.tsa-geo-panel__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tsa-geo-panel__tags span{padding:6px 12px;border:1px solid rgba(203,190,148,.48);border-radius:999px;background:rgba(218,205,164,.065);color:#ded3ae;font-size:12px;font-weight:600}
.tsa-geo-panel__guide{display:inline-block;margin-top:16px;color:#dec77b;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.tsa-hero{background-size:cover;background-position:center 42%}
.tsa-hero__video,.tsa-hero__shade{position:absolute;inset:0;width:100%;height:100%}
.tsa-hero__video{object-fit:cover;object-position:center;z-index:0}
.tsa-hero__shade{z-index:1;background:linear-gradient(180deg,rgba(8,15,10,.48),rgba(18,31,20,.42) 44%,rgba(30,37,21,.78))}
.tsa-hero__inner,.tsa-horizon{position:relative;z-index:2}
.tsa-hero__video~.tsa-horizon{z-index:3}
.tsa-hero__video{filter:saturate(.86) contrast(1.04)}
@media(prefers-reduced-motion:reduce){.tsa-hero__video{display:none}}
.tsa-image-slot img,.tsa-tour-card__image img{filter:saturate(.88) contrast(1.04)}

@media(max-width:1000px){
  .tsa-nav,.tsa-header .tsa-button{display:none}.tsa-menu-toggle{display:block}
  .tsa-map__grid,.tsa-lead__grid{grid-template-columns:1fr}
  .tsa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsa-months{grid-template-columns:repeat(6,1fr)}
  .tsa-footer__grid{grid-template-columns:repeat(2,1fr)}
  .tsa-geo-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .tsa-wrap{width:min(100% - 32px,var(--tsa-width))}
  .tsa-section{padding:72px 0}
  .tsa-hero__inner{padding:82px 0 96px}.tsa-hero h1{font-size:clamp(52px,16vw,72px)}
  .tsa-actions{display:grid}.tsa-actions .tsa-button{width:100%}
  .tsa-grid{grid-template-columns:1fr}.tsa-image-slot{min-height:340px}
  .tsa-map__panel,.tsa-finder__box,.tsa-stream--dark,.tsa-form{padding:26px 20px}
  .tsa-map__canvas{padding:12px}.tsa-photo-markers,.tsa-map-ecology{inset:12px 12px 52px}.tsa-map-migration{inset:12px;width:calc(100% - 24px)!important;height:calc(100% - 64px)}.tsa-map__canvas::after{top:24px;left:24px}.tsa-photo-marker{width:78px}.tsa-photo-marker img{width:48px;height:48px}.tsa-photo-marker:hover img,.tsa-photo-marker:focus-visible img,.tsa-photo-marker.is-active img{width:54px;height:54px}.tsa-photo-marker span{font-size:7.5px}.tsa-photo-marker small{font-size:7px}.tsa-map-ecology span{font-size:6px}.tsa-map__panel-photo{height:200px;margin:-26px -20px 26px}
  .tsa-months{grid-template-columns:repeat(4,1fr)}
  .tsa-stream__head{align-items:flex-start;flex-direction:column}
  .tsa-form__grid,.tsa-footer__grid{grid-template-columns:1fr}
  .single-post .first-safari .tsa-form--first-timer .tsa-button{width:100%!important;min-width:0}
  .tsa-footer__bottom{flex-direction:column}
  .tsa-geo-map{margin-inline:-8px;border-radius:8px}.tsa-geo-map__title span,.tsa-geo-map__hint{display:none}.tsa-geo-panel{padding:26px 20px}
}
