/* Bakor Nature Camp — authoritative design system v2
   Loaded after legacy CSS so background, typography and colour remain consistent. */
:root{
  --bnc-green:#053f31;
  --bnc-green-2:#0b5a47;
  --bnc-green-dark:#082b23;
  --bnc-gold:#d6a447;
  --bnc-gold-dark:#8a5c00;
  --bnc-bg:#f8f7f2;
  --bnc-bg-soft:#eef4ef;
  --bnc-surface:#fff;
  --bnc-text:#0b392f;
  --bnc-muted:#4f625a;
  --bnc-border:rgba(5,63,49,.13);
  --bnc-shadow:0 16px 44px rgba(5,63,49,.10);
  --bnc-radius:22px;
  --bnc-font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bnc-font-heading:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0!important;
  background:var(--bnc-bg)!important;
  color:var(--bnc-text)!important;
  font-family:var(--bnc-font-body)!important;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
main{overflow:hidden}
img{max-width:100%}
p,li,small,label,input,select,textarea,button{font-family:var(--bnc-font-body)}
h1,h2,h3,h4,h5,h6,.brand,.footer-brand{
  font-family:var(--bnc-font-heading)!important;
  color:var(--bnc-text);
  text-wrap:balance;
}
h1{font-weight:800!important;letter-spacing:-.035em!important;line-height:1.04!important}
h2{font-weight:750!important;letter-spacing:-.025em!important;line-height:1.1!important}
h3{font-weight:700!important;letter-spacing:-.012em!important;line-height:1.2!important}
h4,h5,h6{font-weight:650!important;letter-spacing:0!important;line-height:1.3!important}
p{color:var(--bnc-muted);line-height:1.72}
a{color:var(--bnc-green-2)}
.container{width:min(100% - 48px,1180px)!important;margin-inline:auto!important}
.section{padding:76px 0}
.soft-bg,.rr-why-section,.rr-highlights-section,.rr-testimonials-section{background:var(--bnc-bg-soft)!important}
.section-head{max-width:780px;margin-bottom:32px}
.section-head p{max-width:680px}
.eyebrow{
  display:inline-flex!important;
  align-items:center;
  width:max-content;
  margin:0 0 12px!important;
  padding:7px 13px!important;
  border:1px solid rgba(138,92,0,.24)!important;
  border-radius:999px!important;
  background:#f7e6bd!important;
  color:#6f4b08!important;
  font-family:var(--bnc-font-body)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.btn,.bnc-final-btn{
  min-height:44px;
  border-radius:999px!important;
  font-family:var(--bnc-font-body)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.btn:hover,.bnc-final-btn:hover{transform:translateY(-2px)}
.btn-gold,.bnc-final-detail{
  background:var(--bnc-gold)!important;
  border-color:var(--bnc-gold)!important;
  color:var(--bnc-green-dark)!important;
}
.btn-dark,.bnc-final-call{background:var(--bnc-green)!important;color:#fff!important;border-color:var(--bnc-green)!important}
.btn-light{background:#fff!important;color:var(--bnc-green)!important}
.btn-outline-dark{background:transparent!important;color:var(--bnc-green)!important;border-color:rgba(5,63,49,.36)!important}

/* Header: one transparent state and one scrolled state. */
.site-header{
  position:fixed!important;top:0;left:0;right:0;z-index:99999!important;
  padding:12px 0!important;
  background:linear-gradient(180deg,rgba(4,32,26,.66),rgba(4,32,26,0))!important;
  border:0!important;box-shadow:none!important;
  transition:background .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
.site-header .brand,.site-header .main-nav a{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.site-header .main-nav a{font-weight:700!important}
.site-header.scrolled{
  background:rgba(248,247,242,.97)!important;
  border-bottom:1px solid var(--bnc-border)!important;
  box-shadow:0 10px 30px rgba(5,63,49,.09)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.site-header.scrolled .brand,.site-header.scrolled .main-nav a{color:var(--bnc-green)!important;text-shadow:none}
.site-header .main-nav a.active{background:rgba(255,255,255,.16)!important}
.site-header.scrolled .main-nav a.active{background:var(--bnc-bg-soft)!important}
.nav-toggle{background:#fff!important;color:var(--bnc-green)!important;border:1px solid var(--bnc-border)!important}

/* Hero typography and contrast. */
.rr-hero,.bnc-page-hero,.page-hero,.package-detail-hero,.blog-detail-hero{background:var(--bnc-green-dark)!important}
.rr-hero h1,.bnc-page-hero h1,.page-hero h1,.package-detail-hero h1,.blog-detail-hero h1{color:#fff!important;max-width:900px}
.rr-hero p,.bnc-page-hero p,.page-hero p,.package-detail-hero p,.blog-detail-hero p{color:rgba(255,255,255,.88)!important}

/* Shared surfaces. */
.feature-card,.testimonial-card,.large-card,.package-card,.blog-card,.bnc-service-card,.bnc-address-grid article,.bnc-contact-form,.bnc-contact-quick-card,.pdg-content-card{
  background:var(--bnc-surface)!important;
  border:1px solid var(--bnc-border)!important;
  border-radius:var(--bnc-radius)!important;
  box-shadow:var(--bnc-shadow)!important;
}
.feature-card p,.testimonial-card p,.large-card p,.package-card p,.blog-card p{color:var(--bnc-muted)!important}

/* Accessible gold: never white text on gold and never pale gold paragraph text. */
[style*="background:#D6A447"],[style*="background: #D6A447"]{color:var(--bnc-green-dark)!important}
.stars{color:var(--bnc-gold-dark)!important}

/* Clean FAQ: no duplicated marquee copies. */
.faq-clean-section{background:var(--bnc-bg-soft)!important}
.faq-clean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.faq-clean-card{
  overflow:hidden;background:#fff;border:1px solid var(--bnc-border);border-radius:18px;box-shadow:0 10px 28px rgba(5,63,49,.07)
}
.faq-clean-card summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:18px 20px;
  color:var(--bnc-text);font-family:var(--bnc-font-heading);font-weight:700;cursor:pointer;list-style:none
}
.faq-clean-card summary::-webkit-details-marker{display:none}
.faq-clean-card summary span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--bnc-bg-soft);color:var(--bnc-green)}
.faq-clean-card[open] summary span{transform:rotate(45deg)}
.faq-clean-card .faq-answer{padding:0 20px 18px;border-top:1px solid var(--bnc-border)}
.faq-clean-card .faq-answer p{margin:14px 0 0}

/* List content gets one visual marker only. */
.tick-list,.plain-list{padding-left:0!important;list-style:none!important}
.tick-list li,.plain-list li{position:relative;padding-left:24px!important;color:var(--bnc-muted)!important}
.tick-list li::before,.plain-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--bnc-green-2);font-weight:800}
.plain-list li::before{content:"•"}

/* Blog archive after duplicate-section cleanup. */
.bnc-clean-blog-archive{padding-top:32px}
.bnc-clean-blog-grid{display:grid;gap:18px}
.bnc-clean-blog-grid .bnc-story-row{background:#fff;border:1px solid var(--bnc-border);border-radius:20px;box-shadow:0 12px 34px rgba(5,63,49,.08)}
.bnc-blog-empty-note{padding:22px;border:1px dashed rgba(5,63,49,.28);border-radius:18px;background:var(--bnc-bg-soft)}

/* Contact controls. */
input,select,textarea{
  width:100%;border:1px solid rgba(5,63,49,.22)!important;border-radius:12px!important;background:#fff!important;color:var(--bnc-text)!important;
  font-size:15px!important;line-height:1.4!important
}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(11,90,71,.14)!important;border-color:var(--bnc-green-2)!important}

/* Footer. */
.footer{background:var(--bnc-green-dark)!important;color:#fff!important}
.footer h4,.footer strong,.footer-brand{color:#fff!important}
.footer p,.footer a,.footer span{color:rgba(255,255,255,.80)}
.footer a:hover{color:#fff}

@media(max-width:980px){
  .container{width:min(100% - 32px,1180px)!important}
  .section{padding:58px 0}
  .faq-clean-grid{grid-template-columns:1fr}
  .main-nav{background:rgba(248,247,242,.99)!important;border:1px solid var(--bnc-border)!important;box-shadow:var(--bnc-shadow)!important}
  .site-header .main-nav a,.site-header.scrolled .main-nav a{color:var(--bnc-green)!important;text-shadow:none}
}
@media(max-width:640px){
  body{font-size:15px}
  .container{width:min(100% - 24px,1180px)!important}
  .section{padding:48px 0}
  h1{font-size:clamp(34px,11vw,44px)!important;letter-spacing:-.03em!important}
  h2{font-size:clamp(27px,8vw,34px)!important}
  h3{font-size:20px!important}
  .site-header{padding:9px 0!important}
  .faq-clean-card summary{padding:16px;font-size:15px}
}
