@import url('https://fonts.googleapis.com/css2?family=Cormorant+Upright:wght@400;500;600;700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');

/* Final Tanzania Tours art direction. This file is loaded last across the section. */
body.tt-page {
  --tz-ink:#211f1a;
  --tz-deep:#3a382f;
  --tz-muted:#6b685f;
  --tz-line:#a8a59c;
  --tz-gold:#8c7a5e;
  --tz-paper:#d8d6ce;
  --tt-head:'Cormorant Upright',serif;
  --tt-body:'Merriweather',serif;
  background:var(--tz-paper)!important;
  color:var(--tz-ink)!important;
  font-family:var(--tt-body)!important;
  font-size:16px;
}

body.tt-page :where(p,li,a,label,input,textarea,button,select,summary,span,strong,small){font-family:var(--tt-body)!important}
body.tt-page :where(h1,h2,h3,h4,h5,h6,.tt-heading){font-family:var(--tt-head)!important;font-weight:600;letter-spacing:-.025em}
body.tt-page :where(.tt-eyebrow,.tt-card__meta,.tt-price-card__label,.tt-day-region,.tt-day-number,.tt-fact span,.tt-page-nav,.tt-route-disclosure summary,.tt-stop-grid article>span){font-family:var(--tt-body)!important;font-weight:700;letter-spacing:.14em}
body.tt-page main{overflow:clip}
.tt-wrap{width:min(1240px,calc(100% - 64px))}
.tt-page .tt-eyebrow{color:var(--tz-gold);font-size:.66rem;line-height:1.4;margin-bottom:20px}
.tt-page .tt-eyebrow:before{width:42px}
.tt-page .tt-heading{font-size:clamp(3rem,5vw,5.25rem);line-height:.94}
.tt-page .tt-button{border-radius:0;font-size:.68rem!important;font-weight:700!important;letter-spacing:.11em;min-height:54px;padding:14px 22px}

/* Hero */
.tt-page .tt-hero{align-items:end;background-color:var(--tz-ink);background-image:linear-gradient(90deg,rgba(33,31,26,.94) 0%,rgba(33,31,26,.68) 48%,rgba(33,31,26,.18) 78%),var(--tt-hero);min-height:min(780px,88vh);position:relative}
.tt-page .tt-hero:after{border:1px solid rgba(216,214,206,.42);content:'';inset:24px;pointer-events:none;position:absolute}
.tt-page .tt-hero__content{padding:150px 0 92px;position:relative;z-index:1}
.tt-page .tt-crumb{color:var(--tz-paper);font-size:.72rem;margin-bottom:clamp(80px,12vh,138px);opacity:.9}
.tt-page .tt-hero h1{color:var(--tz-paper)!important;font-size:clamp(4.25rem,7.2vw,7.4rem);line-height:.86;max-width:980px}
.tt-page .tt-hero__copy{color:var(--tz-paper)!important;font-size:1rem;font-weight:300;line-height:1.9;max-width:690px}
.tt-page .tt-actions{margin-top:36px}

/* Collection */
.tt-page .tt-intro{padding:132px 0 124px}
.tt-page .tt-intro__grid{align-items:start;gap:10%;grid-template-columns:1fr .9fr}
.tt-page .tt-intro__copy{border:0;border-top:1px solid var(--tz-line);color:var(--tz-deep);font-size:1rem;line-height:1.9;padding:30px 0 0}
.tt-page .tt-collection{background:var(--tz-paper);padding:0 0 132px}
.tt-page .tt-section-head{align-items:start;border-top:1px solid var(--tz-line);gap:10%;margin-bottom:52px;padding-top:34px}
.tt-page .tt-section-head>p{color:var(--tz-deep)!important;font-size:.94rem;line-height:1.85;margin-top:4px}
.tt-page .tt-grid{gap:38px 22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.tt-page .tt-card,.tt-page .tt-card:nth-child(n){background:transparent;border:0;border-top:1px solid var(--tz-line);color:var(--tz-ink)!important;min-height:0;padding-top:14px}
.tt-page .tt-card__image{aspect-ratio:4/3;background:var(--tz-deep);margin-bottom:25px}
.tt-page .tt-card__image img{filter:saturate(.82) contrast(1.03);transition:filter .45s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.tt-page .tt-card:hover .tt-card__image img{filter:saturate(1) contrast(1.05);transform:scale(1.035)}
.tt-page .tt-card__body{padding:0 4px 4px}
.tt-page .tt-card__meta{color:var(--tz-gold)!important;font-size:.61rem}
.tt-page .tt-card h2{color:var(--tz-ink)!important;font-size:clamp(2.05rem,2.55vw,2.8rem);line-height:.98;margin:15px 0 16px}
.tt-page .tt-card p{color:var(--tz-deep)!important;font-size:.87rem;line-height:1.78}
.tt-page .tt-card__footer{border-color:var(--tz-line);color:var(--tz-ink)!important;font-size:.6rem!important;margin-top:28px;padding:18px 0 6px}
.tt-page .tt-card__footer span:last-child{color:var(--tz-gold)!important}
.tt-page .tt-terms{background:var(--tz-ink);color:var(--tz-paper);padding:112px 0;position:relative}
.tt-page .tt-terms:before{border-top:1px solid rgba(216,214,206,.38);content:'';left:max(32px,calc((100% - 1240px)/2));position:absolute;right:max(32px,calc((100% - 1240px)/2));top:46px}
.tt-page .tt-terms__grid{gap:12%;grid-template-columns:.82fr 1.18fr}
.tt-page .tt-terms h2{color:var(--tz-paper)!important;font-size:clamp(3rem,4.8vw,5rem);line-height:.94}
.tt-page .tt-terms p,.tt-page .tt-terms li{color:var(--tz-paper)!important;font-size:.91rem;line-height:1.85}

/* Facts and section navigation */
.tt-page .tt-facts{background:var(--tz-paper);position:relative;z-index:3}
.tt-page .tt-facts--reference{border:1px solid var(--tz-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:-38px}
.tt-page .tt-facts--reference .tt-fact{background:var(--tz-paper);border:0;border-right:1px solid var(--tz-line);min-height:128px;padding:30px 28px}
.tt-page .tt-facts--reference .tt-fact:last-child{border-right:0}
.tt-page .tt-facts--reference .tt-fact span{color:var(--tz-gold);font-size:.58rem}
.tt-page .tt-facts--reference .tt-fact strong{color:var(--tz-ink)!important;font-family:var(--tt-head)!important;font-size:clamp(1.65rem,2.2vw,2.25rem);font-weight:600;line-height:1}
.tt-page .tt-page-nav{border-bottom:1px solid var(--tz-line);border-top:0;display:flex;gap:36px;margin-top:0;padding:24px 4px}
.tt-page .tt-page-nav a{color:var(--tz-deep)!important;font-size:.64rem!important;font-weight:700!important;letter-spacing:.06em}
.tt-page .tt-page-nav b{color:var(--tz-gold)}

/* Journey overview */
.tt-page .tt-journey-glance{background:var(--tz-paper);padding:128px 0 116px}
.tt-page .tt-journey-glance__intro{align-items:end;display:grid;gap:12%;grid-template-columns:1fr .82fr}
.tt-page .tt-journey-glance__intro>p{border-top:1px solid var(--tz-line);color:var(--tz-deep)!important;font-size:.95rem;line-height:1.9;margin:0;max-width:none;padding-top:28px}
.tt-page .tt-stop-grid{border-bottom:1px solid var(--tz-line);border-top:1px solid var(--tz-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-top:72px}
.tt-page .tt-stop-grid article{border-left:1px solid var(--tz-line);min-height:230px;padding:30px 24px;position:relative}
.tt-page .tt-stop-grid article:first-child{border-left:0}
.tt-page .tt-stop-grid article:before{background:var(--tz-gold);height:7px;top:-4px;width:7px}
.tt-page .tt-stop-grid article>span{color:var(--tz-gold);font-size:.58rem}
.tt-page .tt-stop-grid h3{color:var(--tz-ink)!important;font-size:2rem;line-height:.98;margin:20px 0 12px}
.tt-page .tt-stop-grid p{color:var(--tz-deep)!important;font-size:.78rem;line-height:1.65}
.tt-page .tt-stop-grid a{bottom:26px;color:var(--tz-ink)!important;font-size:.68rem;left:24px}

/* Full day-by-day */
.tt-page .tt-route-section{background:var(--tz-deep);color:var(--tz-paper);padding:120px 0 132px}
.tt-page .tt-route-head{display:grid;gap:12%;grid-template-columns:1fr .82fr;margin:0;max-width:none}
.tt-page .tt-route-head>div{margin:0}
.tt-page .tt-route-head .tt-heading{color:var(--tz-paper)!important}
.tt-page .tt-route-head>p,.tt-page .tt-route-head p:last-child{border-top:1px solid rgba(216,214,206,.4);color:var(--tz-paper)!important;font-size:.94rem;line-height:1.9;margin:0;max-width:none;padding-top:27px}
.tt-page .tt-route-layout{align-items:start;display:grid;gap:68px;grid-template-columns:290px minmax(0,1fr);margin-top:74px}
.tt-page .tt-route-side{align-self:start;background:var(--tz-paper);border:0;box-shadow:0 22px 54px rgba(33,31,26,.2);max-height:calc(100vh - 150px);overflow:auto;padding:0;position:sticky;scrollbar-color:var(--tz-gold) var(--tz-paper);scrollbar-width:thin;top:112px;z-index:2}
.tt-page .tt-route-disclosure{display:block}
.tt-page .tt-route-disclosure summary{align-items:center;background:var(--tz-ink);color:var(--tz-paper);cursor:pointer;display:flex;font-size:.61rem!important;justify-content:space-between;letter-spacing:.16em;list-style:none;min-height:74px;padding:20px 22px;text-transform:uppercase}
.tt-page .tt-route-disclosure summary::-webkit-details-marker{display:none}
.tt-page .tt-route-disclosure summary small{align-items:center;background:var(--tz-gold);color:var(--tz-ink);display:inline-flex;font-size:.56rem!important;justify-content:center;letter-spacing:.1em;min-height:32px;padding:6px 10px}
.tt-page .tt-route-links{background:var(--tz-paper);padding:0 18px}
.tt-page .tt-route-side a{align-items:center;background:transparent;border-bottom:1px solid rgba(107,104,95,.28);border-top:0;color:var(--tz-ink)!important;display:grid;gap:13px;grid-template-columns:43px minmax(0,1fr) 16px;line-height:1.35;min-height:76px;padding:12px 4px;position:relative;transition:background-color .2s ease,color .2s ease}
.tt-page .tt-route-side a:last-child{border-bottom:0}
.tt-page .tt-route-side a .tt-route-day{color:var(--tz-gold);display:flex!important;flex-direction:column;font-family:var(--tt-head)!important;font-size:1.58rem!important;font-weight:600;letter-spacing:-.02em;line-height:.85;margin:0;text-transform:none}
.tt-page .tt-route-side a .tt-route-day small{color:var(--tz-muted);font-family:var(--tt-body);font-size:.46rem;font-weight:700;letter-spacing:.13em;line-height:1;margin-bottom:6px;text-transform:uppercase}
.tt-page .tt-route-side a .tt-route-title{color:var(--tz-ink);display:block!important;font-family:var(--tt-head)!important;font-size:1.12rem!important;font-weight:600;letter-spacing:-.02em;line-height:1.14;margin:0;text-transform:none}
.tt-page .tt-route-side a .tt-route-arrow{color:var(--tz-gold);display:block!important;font-family:var(--tt-head)!important;font-size:1rem!important;line-height:1;margin:0;text-align:right;transition:transform .2s ease}
.tt-page .tt-route-side a.is-active,.tt-page .tt-route-side a:hover{background:rgba(140,122,94,.16);color:var(--tz-ink)!important}
.tt-page .tt-route-side a.is-active:before{background:var(--tz-gold);bottom:12px;content:"";left:-18px;position:absolute;top:12px;width:3px}
.tt-page .tt-route-side a.is-active .tt-route-arrow,.tt-page .tt-route-side a:hover .tt-route-arrow{transform:translate(2px,2px)}
.tt-page .tt-days{border:0}
.tt-page .tt-day{background:var(--tz-paper);border:0;color:var(--tz-ink);display:grid;gap:34px;grid-template-columns:82px minmax(0,1fr);margin-bottom:18px;padding:42px 46px 44px;scroll-margin-top:116px}
.tt-page .tt-day:last-child{margin-bottom:0}
.tt-page .tt-day-number{border-right:1px solid var(--tz-line);color:var(--tz-gold);font-size:.57rem!important;padding-right:20px}
.tt-page .tt-day-number strong{color:var(--tz-ink)!important;font-family:var(--tt-head)!important;font-size:3.25rem;font-weight:600;line-height:.9;margin-top:12px}
.tt-page .tt-day-region{color:var(--tz-gold)!important;font-size:.58rem!important}
.tt-page .tt-day h3{color:var(--tz-ink)!important;font-size:clamp(2.55rem,4vw,4rem);line-height:.94;margin:0 0 22px}
.tt-page .tt-day p{color:var(--tz-deep)!important;font-size:.93rem;line-height:1.9;max-width:760px}
.tt-page .tt-day-detail{color:var(--tz-deep)!important;margin-top:16px}
.tt-page .tt-stay{border-color:var(--tz-line);color:var(--tz-ink)!important;font-family:var(--tt-head)!important;font-size:1.45rem;margin-top:25px;padding-top:18px}
.tt-page .tt-stay span{font-family:var(--tt-body)!important;font-size:.55rem!important;font-weight:700}

/* Pricing */
.tt-page .tt-investment{background:var(--tz-paper);color:var(--tz-ink);padding:124px 0}
.tt-page .tt-investment .tt-wrap{display:grid;gap:52px;grid-template-columns:1fr}
.tt-page .tt-investment .tt-section-head{align-items:end;display:grid;gap:12%;grid-column:1;grid-template-columns:1fr .82fr;margin:0;padding-top:34px}
.tt-page .tt-investment .tt-section-head .tt-heading{color:var(--tz-ink)!important;font-size:clamp(3rem,5vw,5.25rem)}
.tt-page .tt-investment .tt-section-head>p{border-top:1px solid var(--tz-line);color:var(--tz-deep)!important;font-size:.94rem;line-height:1.9;margin:0;max-width:none;padding-top:27px}
.tt-page .tt-investment .tt-price-card{border:0;display:grid;grid-column:1;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);margin:0;max-width:none;min-height:310px}
.tt-page .tt-investment .tt-price-card__main{align-content:center;background:var(--tz-ink);display:grid;padding:52px 56px}
.tt-page .tt-investment .tt-price-card__label{color:var(--tz-line)!important;font-size:.59rem!important}
.tt-page .tt-investment .tt-price-card strong{color:var(--tz-paper)!important;font-family:var(--tt-head)!important;font-size:clamp(4rem,6.3vw,6.8rem);font-weight:600;letter-spacing:-.045em;line-height:.8;margin:24px 0 26px}
.tt-page .tt-investment .tt-price-card__main p{color:var(--tz-paper)!important;font-size:.84rem;font-weight:300;line-height:1.85;max-width:650px}
.tt-page .tt-investment .tt-price-card__offer{align-content:center;background:var(--tz-gold);color:var(--tz-ink);display:grid;padding:50px 48px}
.tt-page .tt-investment .tt-price-card__offer .tt-eyebrow,.tt-page .tt-investment .tt-price-card__offer h3,.tt-page .tt-investment .tt-price-card__offer p{color:var(--tz-ink)!important}
.tt-page .tt-investment .tt-price-card__offer h3{font-size:clamp(2.6rem,3.5vw,3.6rem);line-height:.94;margin:0 0 20px}
.tt-page .tt-investment .tt-price-card__offer p:last-child{font-size:.82rem;line-height:1.8}
.tt-page .tt-investment .tt-price-note{border-top:1px solid var(--tz-line);color:var(--tz-deep)!important;font-size:.82rem;grid-column:1;line-height:1.75;margin:-20px 0 0;padding-top:22px}

/* Inclusions and enquiry */
.tt-page .tt-inclusions{background:var(--tz-paper);border-top:1px solid var(--tz-line);padding:118px 0 124px}
.tt-page .tt-inclusions__grid{border:0;display:grid;gap:22px;grid-template-columns:1fr 1fr;margin-top:52px}
.tt-page .tt-inclusion,.tt-page .tt-inclusion:last-child{background:transparent;border:1px solid var(--tz-line);padding:42px;position:relative}
.tt-page .tt-inclusion+.tt-inclusion{border-left:1px solid var(--tz-line)}
.tt-page .tt-inclusion:before{color:var(--tz-gold);content:'01';display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;margin-bottom:26px}
.tt-page .tt-inclusion+.tt-inclusion:before{content:'02'}
.tt-page .tt-inclusion h3{color:var(--tz-ink)!important;font-size:2.25rem}
.tt-page .tt-inclusion li{color:var(--tz-deep)!important;font-size:.87rem;line-height:1.8}
.tt-page .tt-enquiry{background:var(--tz-deep);color:var(--tz-paper);padding:120px 0}
.tt-page .tt-enquiry__grid{align-items:start;gap:9%;grid-template-columns:.78fr 1.22fr}
.tt-page .tt-enquiry .tt-heading,.tt-page .tt-enquiry__copy p:not(.tt-eyebrow){color:var(--tz-paper)!important}
.tt-page .tt-enquiry__copy p:not(.tt-eyebrow){font-size:.92rem;font-weight:300;line-height:1.9}
.tt-page .tt-form{background:var(--tz-paper);border:0;padding:42px}
.tt-page .tt-form label{color:var(--tz-ink)!important;font-size:.58rem!important;font-weight:700!important}
.tt-page .tt-form input,.tt-page .tt-form textarea{background:transparent;border:0;border-bottom:1px solid var(--tz-line);color:var(--tz-ink);font-size:.86rem;padding:14px 2px}
.tt-page .tt-guide-back{color:var(--tz-ink);padding:44px 0}

@media(max-width:1000px){
  .tt-page .tt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tt-page .tt-route-layout{gap:36px;grid-template-columns:250px minmax(0,1fr)}
  .tt-page .tt-day{grid-template-columns:68px minmax(0,1fr);padding:36px 34px 38px}
}

@media(max-width:900px){
  .tt-wrap{width:min(100% - 40px,760px)}
  .tt-page .tt-hero:after{inset:14px}
  .tt-page .tt-facts--reference{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
  .tt-page .tt-facts--reference .tt-fact:nth-child(2){border-right:0}
  .tt-page .tt-facts--reference .tt-fact:nth-child(-n+2){border-bottom:1px solid var(--tz-line)}
  .tt-page .tt-page-nav{gap:24px;overflow-x:auto;white-space:nowrap}
  .tt-page .tt-journey-glance__intro,.tt-page .tt-route-head,.tt-page .tt-investment .tt-section-head{gap:34px;grid-template-columns:1fr}
  .tt-page .tt-stop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tt-page .tt-stop-grid article:nth-child(odd){border-left:0}
  .tt-page .tt-route-layout{display:block}
  .tt-page .tt-route-side{background:var(--tz-paper);box-shadow:none;margin:0 0 28px;max-height:none;overflow:visible;position:static!important;top:auto!important}
  .tt-page .tt-route-disclosure summary{min-height:58px}
  .tt-page .tt-route-links{background:var(--tz-paper);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px}
  .tt-page .tt-route-side a:nth-child(odd){border-right:1px solid rgba(107,104,95,.28);padding-right:16px}
  .tt-page .tt-route-side a:nth-child(even){padding-left:16px}
  .tt-page .tt-route-side a{display:grid!important}
  .tt-page .tt-route-disclosure:not([open]) .tt-route-links{display:none}
  .tt-page .tt-investment .tt-price-card{grid-template-columns:minmax(0,1fr) minmax(300px,.75fr)}
  .tt-page .tt-enquiry__grid{gap:48px;grid-template-columns:1fr}
}

@media(max-width:650px){
  .tt-wrap{width:min(100% - 32px,560px)}
  .tt-page .tt-heading{font-size:clamp(2.65rem,13vw,4rem)}
  .tt-page .tt-hero{min-height:650px}
  .tt-page .tt-hero__content{padding:105px 0 64px}
  .tt-page .tt-crumb{margin-bottom:70px}
  .tt-page .tt-hero h1{font-size:clamp(3.7rem,18vw,5.5rem)}
  .tt-page .tt-hero__copy{font-size:.9rem;line-height:1.8}
  .tt-page .tt-intro,.tt-page .tt-journey-glance,.tt-page .tt-route-section,.tt-page .tt-investment,.tt-page .tt-inclusions,.tt-page .tt-enquiry{padding:82px 0}
  .tt-page .tt-intro__grid,.tt-page .tt-section-head,.tt-page .tt-terms__grid{display:block}
  .tt-page .tt-intro__copy,.tt-page .tt-section-head>p{margin-top:30px}
  .tt-page .tt-grid{gap:42px;grid-template-columns:1fr}
  .tt-page .tt-card h2{font-size:2.65rem}
  .tt-page .tt-terms{padding:82px 0}
  .tt-page .tt-terms__grid>div+div{margin-top:38px}
  .tt-page .tt-facts--reference .tt-fact{min-height:104px;padding:21px 17px}
  .tt-page .tt-facts--reference .tt-fact strong{font-size:1.55rem}
  .tt-page .tt-page-nav{margin:0;padding:18px 0}
  .tt-page .tt-stop-grid{display:block;margin-top:48px}
  .tt-page .tt-stop-grid article,.tt-page .tt-stop-grid article:nth-child(n){border-left:0;border-top:1px solid var(--tz-line);min-height:0;padding:26px 0}
  .tt-page .tt-stop-grid article:first-child{border-top:0}
  .tt-page .tt-stop-grid article:before{display:none}
  .tt-page .tt-stop-grid h3{font-size:2.15rem;margin:13px 0 8px}
  .tt-page .tt-stop-grid a{bottom:auto;display:inline-block;left:auto;margin-top:15px;position:static}
  .tt-page .tt-route-head>p,.tt-page .tt-investment .tt-section-head>p{margin-top:0}
  .tt-page .tt-route-links{grid-template-columns:1fr;padding:0 16px}
  .tt-page .tt-route-side a:nth-child(n){border-right:0;padding:12px 4px}
  .tt-page .tt-day{display:block;margin-bottom:14px;padding:29px 24px 32px}
  .tt-page .tt-day-number{align-items:baseline;border-bottom:1px solid var(--tz-line);border-right:0;display:flex;gap:12px;margin-bottom:26px;padding:0 0 16px}
  .tt-page .tt-day-number strong{font-size:2.35rem;margin:0}
  .tt-page .tt-day h3{font-size:2.65rem}
  .tt-page .tt-day p{font-size:.87rem;line-height:1.85}
  .tt-page .tt-investment .tt-price-card{display:block;min-height:0}
  .tt-page .tt-investment .tt-price-card__main,.tt-page .tt-investment .tt-price-card__offer{padding:36px 28px}
  .tt-page .tt-investment .tt-price-card strong{font-size:clamp(3.7rem,17vw,5rem)}
  .tt-page .tt-investment .tt-price-note{margin-top:-24px}
  .tt-page .tt-inclusions__grid{grid-template-columns:1fr}
  .tt-page .tt-inclusion,.tt-page .tt-inclusion:last-child{padding:32px 26px}
  .tt-page .tt-inclusion+.tt-inclusion{border-left:1px solid var(--tz-line);border-top:1px solid var(--tz-line)}
  .tt-page .tt-form{padding:28px 22px}
  .tt-page .tt-form-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.tt-page *,.tt-page *:before,.tt-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
