/* NairobiPark.Tours v2 component system. Fully namespaced to avoid Astra/Gutenberg collisions. */
:root{
  --npt-sienna:#4A2C1A;
  --npt-sienna-2:#5E3A22;
  --npt-brown:#7A4E30;
  --npt-clay:#C07840;
  --npt-clay-pale:#F5E8D8;
  --npt-sage:#4A7A5A;
  --npt-sage-2:#3A6248;
  --npt-sage-pale:#E4F0E8;
  --npt-map:#2A5A8A;
  --npt-map-2:#1E4570;
  --npt-map-pale:#E0EAF5;
  --npt-sand:#F7F0E4;
  --npt-warm:#FDF9F4;
  --npt-cream:#FAFAF6;
  --npt-ink:#2A1A0E;
  --npt-text:#3A2E24;
  --npt-muted:#6E5E50;
  --npt-hint:#A09080;
  --npt-line:rgba(74,44,26,.12);
  --npt-line-soft:rgba(74,44,26,.07);
  --npt-radius:6px;
  --npt-radius-lg:14px;
  --npt-radius-xl:22px;
  --npt-shadow:0 18px 45px rgba(74,44,26,.08);
}

/* Make Astra content genuinely full width only when the landing template/shortcode is active. */
body.npt-v2-active .site-content .ast-container,
body.npt-v2-active .ast-container,
body.npt-v2-active .entry-content{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.npt-v2-active .entry-content > .npt-page{
  max-width:none !important;
  margin:0 !important;
}
body.npt-v2-active .entry-header{display:none;}

.npt-page,
.npt-page *{box-sizing:border-box;}
.npt-page{
  width:100%;
  overflow-x:hidden;
  background:var(--npt-warm);
  color:var(--npt-text);
  font-family:'Barlow',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.npt-page img,
.npt-page svg{max-width:100%;height:auto;display:block;}
.npt-page a{color:inherit;text-decoration:none;}
.npt-page a:hover{text-decoration:none;}
.npt-wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto;}
.npt-wrap--wide{width:min(1280px,calc(100% - 40px));margin-inline:auto;}
.npt-kicker{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--npt-sage);margin-bottom:.75rem;}
.npt-kicker:before{content:'';width:22px;height:2px;background:currentColor;display:inline-block;}
.npt-kicker--light{color:rgba(255,255,255,.72);}
.npt-h1,.npt-h2,.npt-h3,.npt-h4{font-family:'Lora',Georgia,serif;line-height:1.12;color:var(--npt-sienna);letter-spacing:-.015em;margin:0;}
.npt-h1{font-size:clamp(2.55rem,5vw,4.6rem);font-weight:700;color:#fff;margin-bottom:1.1rem;}
.npt-h1 em,.npt-h2 em{font-style:italic;color:var(--npt-clay);}
.npt-h1 em{color:#D9A567;}
.npt-h2{font-size:clamp(1.9rem,3vw,3rem);font-weight:700;margin-bottom:.75rem;}
.npt-h2--light{color:#fff;}
.npt-h3{font-size:1.28rem;margin-bottom:.55rem;}
.npt-h4{font-size:1rem;font-family:'Barlow',system-ui,sans-serif;font-weight:700;letter-spacing:0;color:var(--npt-sienna);}
.npt-lead{font-size:1rem;line-height:1.85;color:var(--npt-muted);max-width:700px;margin:0 0 2rem;font-weight:300;}
.npt-lead--light{color:rgba(255,255,255,.68);}
.npt-prose p{font-size:.98rem;line-height:1.85;color:var(--npt-muted);margin:0 0 1rem;font-weight:300;}
.npt-prose strong{font-weight:700;color:var(--npt-text);}
.npt-prose a{color:var(--npt-sage);border-bottom:1px solid rgba(74,122,90,.28);font-weight:600;}
.npt-prose a:hover{color:var(--npt-sage-2);}

/* Navigation inside page content. Uses divs, not nav, to avoid theme nav collision. */
.npt-mini-nav{position:sticky;top:0;z-index:20;background:rgba(74,44,26,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(192,120,64,.22);}
.npt-mini-nav__inner{width:min(1280px,calc(100% - 32px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem 0;}
.npt-mini-nav__brand{font-family:'Lora',Georgia,serif;font-size:1.02rem;color:#fff;font-weight:700;white-space:nowrap;}
.npt-mini-nav__brand span{color:#D4A060;}
.npt-mini-nav__links{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.npt-mini-nav__links a{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.58);font-weight:600;}
.npt-mini-nav__links a:hover{color:#fff;}
.npt-mini-nav__cta{display:inline-flex;align-items:center;justify-content:center;background:var(--npt-sage);color:#fff !important;padding:.48rem .9rem;border-radius:var(--npt-radius);font-size:.74rem;font-weight:700;white-space:nowrap;}
.npt-mini-nav__cta:hover{background:var(--npt-sage-2);}

.npt-breadcrumb{background:var(--npt-sienna);color:rgba(255,255,255,.5);}
.npt-breadcrumb__inner{width:min(1280px,calc(100% - 32px));margin-inline:auto;display:flex;gap:.45rem;align-items:center;padding:.58rem 0;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;}
.npt-breadcrumb a{color:rgba(255,255,255,.48);}.npt-breadcrumb a:hover{color:#fff;}.npt-breadcrumb strong{color:rgba(255,255,255,.82);font-weight:600;}

/* Hero: safe auto-fit grid; no sideways overflow. */
.npt-hero{background:var(--npt-sienna);color:#fff;position:relative;overflow:hidden;}
.npt-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 85% at 76% 20%,rgba(192,120,64,.16),transparent 60%),radial-gradient(ellipse 45% 60% at 0% 80%,rgba(74,122,90,.14),transparent 62%);pointer-events:none;}
.npt-hero__inner{position:relative;z-index:1;width:min(1280px,calc(100% - 40px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;padding:clamp(4rem,7vw,6.5rem) 0 0;}
.npt-hero__copy{padding-bottom:clamp(3rem,6vw,5rem);min-width:0;}
.npt-hero__lead{font-size:1.03rem;line-height:1.85;color:rgba(255,255,255,.68);max-width:650px;margin:0 0 2rem;font-weight:300;}
.npt-hero__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;}
.npt-tag{display:inline-flex;align-items:center;gap:.3rem;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:rgba(255,255,255,.72);border-radius:999px;padding:.32rem .78rem;font-size:.72rem;line-height:1.25;}
.npt-tag strong{color:#fff;font-weight:700;}
.npt-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;}
.npt-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--npt-radius);padding:.82rem 1.25rem;font-weight:700;font-size:.88rem;line-height:1.1;transition:transform .18s,background .18s,border-color .18s;color:#fff !important;}
.npt-btn:hover{transform:translateY(-1px);}
.npt-btn--clay{background:var(--npt-clay);}.npt-btn--clay:hover{background:var(--npt-brown);}
.npt-btn--sage{background:var(--npt-sage);}.npt-btn--sage:hover{background:var(--npt-sage-2);}
.npt-btn--wire{border:1px solid rgba(255,255,255,.28);background:transparent;color:rgba(255,255,255,.82) !important;}.npt-btn--wire:hover{border-color:rgba(255,255,255,.6);}
.npt-hero-card{align-self:stretch;min-width:0;display:flex;align-items:flex-end;}
.npt-quick-card{width:100%;background:rgba(253,249,244,.07);border:1px solid rgba(253,249,244,.14);border-radius:var(--npt-radius-xl) var(--npt-radius-xl) 0 0;padding:1.5rem;box-shadow:0 22px 60px rgba(0,0,0,.12);}
.npt-quick-card__title{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.42);font-weight:700;margin-bottom:1rem;}
.npt-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;}
.npt-quick-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:var(--npt-radius-lg);padding:.9rem;min-width:0;}
.npt-quick-icon{font-size:1.25rem;margin-bottom:.28rem;display:block;}
.npt-quick-label{display:block;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.38);font-weight:700;margin-bottom:.1rem;}
.npt-quick-value{display:block;color:#fff;font-weight:600;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere;}
.npt-quick-sub{display:block;color:rgba(255,255,255,.45);font-size:.76rem;line-height:1.35;margin-top:.1rem;}

.npt-schema{background:var(--npt-sienna-2);border-top:1px solid rgba(255,255,255,.06);}
.npt-schema__inner{width:min(1280px,calc(100% - 40px));margin-inline:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.npt-schema__item{text-align:center;padding:1.1rem .8rem;border-right:1px solid rgba(255,255,255,.07);}
.npt-schema__item:last-child{border-right:none;}
.npt-schema__value{font-family:'Lora',Georgia,serif;color:#fff;font-size:1.35rem;font-weight:700;display:block;}
.npt-schema__label{display:block;color:rgba(255,255,255,.42);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;font-weight:600;}

/* Sections and grids */
.npt-sec{padding:clamp(3.8rem,6vw,5.6rem) 0;}
.npt-sec--warm{background:var(--npt-warm);}.npt-sec--cream{background:var(--npt-cream);}.npt-sec--sand{background:var(--npt-sand);}.npt-sec--sage-pale{background:var(--npt-sage-pale);}.npt-sec--clay-pale{background:var(--npt-clay-pale);}.npt-sec--dark{background:var(--npt-sienna);color:#fff;}.npt-sec--map{background:var(--npt-map-2);color:#fff;}
.npt-section-head{max-width:780px;margin-bottom:2.2rem;}
.npt-section-head--center{text-align:center;margin-inline:auto;}.npt-section-head--center .npt-kicker{justify-content:center;}.npt-section-head--center .npt-kicker:before{display:none;}
.npt-grid{display:grid;gap:1rem;align-items:stretch;}
.npt-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.npt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.npt-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.npt-grid--auto{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));}
.npt-grid > *{min-width:0;}
.npt-card{background:#fff;border:1px solid var(--npt-line);border-radius:var(--npt-radius-lg);padding:1.35rem;min-width:0;box-shadow:0 1px 0 rgba(74,44,26,.02);}
.npt-card--soft{background:var(--npt-sand);}.npt-card--sage{background:var(--npt-sage-pale);}.npt-card--clay{background:var(--npt-clay-pale);}.npt-card--dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff;}
.npt-card--dark .npt-card__text,.npt-card--dark p{color:rgba(255,255,255,.66);}
.npt-card__eyebrow{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--npt-hint);font-weight:700;margin-bottom:.4rem;}
.npt-card__title{font-family:'Barlow',system-ui,sans-serif;font-size:1rem;font-weight:700;color:var(--npt-sienna);margin:0 0 .45rem;line-height:1.25;}
.npt-card--dark .npt-card__title{color:#fff;}
.npt-card__value{font-family:'Lora',Georgia,serif;font-size:1.9rem;line-height:1;font-weight:700;color:var(--npt-sienna);margin:.3rem 0 .2rem;overflow-wrap:anywhere;}
.npt-card__text{font-size:.9rem;line-height:1.7;color:var(--npt-muted);margin:0;font-weight:300;}
.npt-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .58rem;background:rgba(192,120,64,.12);color:var(--npt-brown);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.npt-pill--sage{background:rgba(74,122,90,.14);color:var(--npt-sage-2);}.npt-pill--map{background:rgba(42,90,138,.12);color:var(--npt-map);}.npt-pill--danger{background:rgba(158,75,42,.12);color:#9E4B2A;}

.npt-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:clamp(2rem,5vw,5rem);align-items:start;}
.npt-snapshot{background:#fff;border:1px solid var(--npt-line);border-radius:var(--npt-radius-xl);overflow:hidden;box-shadow:var(--npt-shadow);min-width:0;}
.npt-snapshot__head{background:var(--npt-sienna);padding:1.15rem 1.35rem;color:#fff;}
.npt-snapshot__head h3{font-family:'Barlow',system-ui,sans-serif;font-size:1rem;line-height:1.25;margin:0;color:#fff;}.npt-snapshot__head p{font-size:.78rem;color:rgba(255,255,255,.5);margin:.2rem 0 0;}
.npt-snapshot__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start;padding:.9rem 1.25rem;border-bottom:1px solid var(--npt-line-soft);}
.npt-snapshot__row:last-child{border-bottom:none;}
.npt-snapshot__icon{width:34px;height:34px;border-radius:10px;background:var(--npt-sand);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.npt-snapshot__label{font-size:.82rem;font-weight:700;color:var(--npt-text);line-height:1.2;}.npt-snapshot__value{font-size:.78rem;color:var(--npt-muted);line-height:1.5;margin-top:.15rem;}

/* Safe, responsive tables */
.npt-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--npt-line);border-radius:var(--npt-radius-lg);background:#fff;margin:1.2rem 0 1.6rem;}
.npt-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff;}
.npt-table th,.npt-table td{padding:.9rem 1rem;border-bottom:1px solid var(--npt-line-soft);vertical-align:top;text-align:left;font-size:.88rem;line-height:1.55;}
.npt-table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--npt-hint);font-weight:700;background:var(--npt-sand);}
.npt-table td{color:var(--npt-muted);font-weight:300;}.npt-table td:first-child{color:var(--npt-text);font-weight:700;}.npt-table tr:last-child td{border-bottom:none;}
.npt-scroll-note{display:none;font-size:.76rem;color:var(--npt-hint);margin-top:-1rem;margin-bottom:1rem;}

/* Lists and journeys */
.npt-list{display:grid;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;}
.npt-list li{position:relative;padding-left:1.3rem;color:var(--npt-muted);font-size:.92rem;line-height:1.7;font-weight:300;}
.npt-list li:before{content:'•';position:absolute;left:0;color:var(--npt-clay);font-weight:700;}
.npt-steps{display:grid;gap:.9rem;margin-top:1.4rem;}
.npt-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.95rem;align-items:start;background:#fff;border:1px solid var(--npt-line);border-radius:var(--npt-radius-lg);padding:1rem;}
.npt-step__num{width:42px;height:42px;border-radius:50%;background:var(--npt-sage);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Lora',Georgia,serif;font-size:1.15rem;font-weight:700;}
.npt-step__title{font-weight:700;color:var(--npt-sienna);line-height:1.25;margin:.05rem 0 .25rem;}.npt-step__text{font-size:.88rem;line-height:1.65;color:var(--npt-muted);font-weight:300;}

/* Tabs: all panels visible if JS fails, JS adds class for tab mode. */
.npt-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0 1.3rem;}
.npt-tab{appearance:none;border:1px solid var(--npt-line);background:#fff;color:var(--npt-muted);border-radius:999px;padding:.55rem .9rem;font-family:'Barlow',system-ui,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;}
.npt-tab.is-active{background:var(--npt-sage);border-color:var(--npt-sage);color:#fff;}
.npt-js-tabs .npt-tab-panel{display:none;}
.npt-js-tabs .npt-tab-panel.is-active{display:block;}
.npt-tab-panel{margin-bottom:1.5rem;}
.npt-tab-panel__label{display:none;font-family:'Lora',Georgia,serif;font-size:1.25rem;color:var(--npt-sienna);margin:1.4rem 0 .7rem;}

.npt-faq{display:grid;gap:.75rem;}
.npt-faq__item{background:#fff;border:1px solid var(--npt-line);border-radius:var(--npt-radius-lg);overflow:hidden;}
.npt-faq__q{width:100%;appearance:none;border:0;background:#fff;padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;text-align:left;font-family:'Barlow',system-ui,sans-serif;font-weight:700;color:var(--npt-sienna);cursor:pointer;}
.npt-faq__q:after{content:'+';font-size:1.1rem;color:var(--npt-clay);line-height:1;}
.npt-faq__item.is-open .npt-faq__q:after{content:'−';}
.npt-faq__a{display:none;padding:0 1.1rem 1rem;color:var(--npt-muted);font-size:.9rem;line-height:1.7;font-weight:300;}
.npt-faq__item.is-open .npt-faq__a{display:block;}

.npt-cta{background:var(--npt-sienna);color:#fff;text-align:center;padding:clamp(3.6rem,6vw,5.5rem) 0;}
.npt-cta .npt-h2{color:#fff;}.npt-cta p{color:rgba(255,255,255,.65);max-width:680px;margin:0 auto 1.6rem;line-height:1.8;font-weight:300;}

/* Utilities */
.npt-mt{margin-top:1.4rem;}.npt-mt-lg{margin-top:2.2rem;}.npt-center{text-align:center;}.npt-max-760{max-width:760px;}.npt-nowrap{white-space:nowrap;}

/* Responsive controls */
@media (max-width: 1024px){
  .npt-hero__inner,.npt-intro-grid{grid-template-columns:1fr;}
  .npt-hero-card{align-items:stretch;}.npt-quick-card{border-radius:var(--npt-radius-xl);margin-bottom:2rem;}
  .npt-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .npt-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 780px){
  .npt-wrap,.npt-wrap--wide,.npt-hero__inner,.npt-schema__inner,.npt-mini-nav__inner,.npt-breadcrumb__inner{width:min(100% - 28px,1120px);}
  .npt-mini-nav__inner{align-items:flex-start;flex-direction:column;}
  .npt-mini-nav__links{justify-content:flex-start;gap:.75rem;}
  .npt-hero__copy{padding-bottom:2rem;}
  .npt-quick-grid,.npt-grid--2,.npt-grid--3,.npt-grid--4{grid-template-columns:1fr;}
  .npt-schema__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .npt-table{min-width:620px;}
  .npt-scroll-note{display:block;}
  .npt-sec{padding:3.4rem 0;}
}
@media (max-width: 520px){
  .npt-page{font-size:15px;}
  .npt-h1{font-size:2.35rem;}
  .npt-h2{font-size:1.8rem;}
  .npt-actions{align-items:stretch;}.npt-btn{width:100%;}
  .npt-schema__inner{grid-template-columns:1fr;}
  .npt-step{grid-template-columns:1fr;}
  .npt-step__num{width:36px;height:36px;font-size:1rem;}
}
.npt-pill--clay{background:rgba(192,120,64,.14);color:var(--npt-brown);}
