
:root{
  --safari-olive:#4A5234; --safari-olive-deep:#2F3525; --safari-khaki:#D4C4A8;
  --safari-sand:#E8DFCC; --safari-dust:#B8A88A; --safari-red:#8B3A2B;
  --safari-camel:#E8B820; --safari-emu:#C4B832;
}
body.safari{
  --black:var(--safari-olive-deep); --iron:#3D4530; --card:rgba(235,227,208,.90); --bone:#2F3525;
  --bonedim:#5C6348; --ochre:#8A7344; --gold:var(--safari-camel); --grass:#6B7355; --line:#C4B59A;
  --sting:var(--safari-red);
  background-color:var(--safari-sand); color:var(--bone);
  background-image:
    linear-gradient(rgba(232,223,204,.90),rgba(232,223,204,.86)),
    var(--safari-bg, url("safari/sossusvlei-dunes.jpg"));
  background-size:cover;
  background-position:var(--safari-bg-pos, center 30%);
  background-attachment:fixed;
}
@media (prefers-reduced-motion:reduce){
  body.safari{background-attachment:scroll}
}
body.safari a{color:#6B5A32}
body.safari a:hover{color:var(--safari-camel)}
body.safari :focus-visible{outline-color:var(--safari-camel)}
body.safari .skip-link:focus{background:var(--safari-camel);color:var(--safari-olive-deep)}
body.safari .nav{
  background:linear-gradient(180deg,rgba(47,53,37,.96),rgba(47,53,37,.92));
  border-bottom:3px solid var(--safari-camel);box-shadow:0 2px 0 var(--safari-olive)}
body.safari .brandlink{color:var(--safari-sand)}
body.safari .brandlink img{height:48px;width:auto;max-width:min(260px,68vw);border-radius:0;box-shadow:none;object-fit:contain;
  filter:drop-shadow(0 1px 4px rgba(47,53,37,.45))}
body.safari .safari-logo{display:block;margin:0 auto 18px;width:min(420px,88vw);height:auto;
  filter:drop-shadow(0 2px 10px rgba(47,53,37,.35)) drop-shadow(0 0 1px rgba(47,53,37,.5))}
body.safari .safari-hero-logo{display:block;margin:0 auto 22px;width:min(560px,94vw);height:auto;
  filter:drop-shadow(0 4px 28px rgba(0,0,0,.55)) drop-shadow(0 2px 8px rgba(47,53,37,.4))}
body.safari .letter-crest{display:block;margin:0 auto 14px;width:min(240px,62vw);height:auto;border-radius:0}
body.safari .hamburger span{background:var(--safari-sand)}
body.safari .navdrawer{background:var(--safari-olive-deep);border-right:3px solid var(--safari-camel)}
body.safari .navdrawer a{color:var(--safari-sand)}
body.safari .navdrawer a:hover{background:rgba(232,184,32,.14);color:var(--safari-camel)}
body.safari .navdrawer .navgroup{color:var(--safari-emu);letter-spacing:.2em}
body.safari footer{
  border-top:3px solid var(--safari-camel);
  background:linear-gradient(rgba(235,227,208,.94),rgba(235,227,208,.88)),
    var(--safari-bg, url("safari/sossusvlei-dunes.jpg")) var(--safari-bg-pos, center) / cover no-repeat}
body.safari .btn{
  background:var(--safari-olive);color:var(--safari-sand);border:1px solid var(--safari-olive);
  border-left:4px solid var(--safari-camel);font-family:"Space Grotesk",sans-serif;letter-spacing:.04em}
body.safari .btn:hover{background:#5C6348;border-left-color:var(--safari-emu);color:#fff}
body.safari .btn.ghost{background:rgba(235,227,208,.55);color:var(--safari-olive);border-color:var(--safari-olive);
  border-left:4px solid var(--safari-camel);backdrop-filter:blur(4px)}
body.safari .btn.ghost:hover{background:rgba(232,184,32,.12);color:var(--safari-olive-deep)}
body.safari .eyebrow{color:var(--safari-emu)}
body.safari .hr{background:linear-gradient(90deg,transparent,var(--safari-camel),transparent)}
body.safari .reader.letter,body.safari .reader.cv-page,body.safari article.house{
  background:rgba(235,227,208,.82);backdrop-filter:blur(8px);border-radius:12px;
  border:1px solid var(--line);border-top:3px solid var(--safari-camel);
  box-shadow:0 8px 32px rgba(47,53,37,.12);padding-top:40px}
body.safari .reader{color:var(--bone)}
body.safari .cv-block{background:rgba(255,252,245,.78);border-color:var(--line);backdrop-filter:blur(4px)}
body.safari .cv-block h2{color:var(--safari-olive)}
body.safari .cv-title{color:var(--safari-camel)}
body.safari .house .motto{color:var(--safari-camel)}
body.safari .house img.crest-full{border-color:var(--safari-khaki)}
body.safari .explore-card,body.safari .safari-card,body.safari .wcard{
  background:rgba(235,227,208,.88);border-color:var(--line);backdrop-filter:blur(6px);
  border-top:3px solid rgba(232,184,32,.35)}
body.safari .explore-card:hover,body.safari .safari-card:hover,body.safari .wcard:hover{
  border-color:var(--safari-olive);border-top-color:var(--safari-camel);transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(47,53,37,.14)}
.safari-hero{
  background:
    linear-gradient(135deg,rgba(47,53,37,.88) 0%,rgba(74,82,52,.72) 45%,rgba(47,53,37,.86) 100%),
    var(--safari-hero-bg, var(--safari-bg, url("safari/okavango-delta.jpg"))) var(--safari-hero-pos, center) / cover no-repeat;
  color:var(--safari-sand);padding:56px 0 48px;text-align:center;
  border-bottom:4px solid var(--safari-camel);position:relative;min-height:220px}
.safari-badge{font-family:"Space Grotesk",sans-serif;letter-spacing:.32em;text-transform:uppercase;
  font-size:11px;color:var(--safari-camel);display:block;margin-bottom:10px;
  text-shadow:0 1px 8px rgba(0,0,0,.35)}
.safari-hero h1{font-size:clamp(28px,5vw,46px);margin:.15em 0 .35em;color:var(--safari-sand);
  text-shadow:0 2px 16px rgba(0,0,0,.45)}
.safari-lead{max-width:58ch;margin:0 auto;font-size:18px;line-height:1.55;color:var(--safari-khaki);
  text-shadow:0 1px 10px rgba(0,0,0,.4)}
.safari-zone{padding:36px 0 56px;position:relative}
.safari-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:8px}
.safari-card{display:block;border-radius:12px;padding:20px 22px;transition:border-color .15s,transform .15s,box-shadow .15s;
  color:inherit;text-decoration:none}
.safari-card h3{font-family:"Space Grotesk";font-size:17px;margin:0 0 8px;color:var(--bone)}
.safari-card h3::after{content:" →";color:var(--safari-camel);font-weight:500}
.safari-card p{margin:0;font-size:14.5px;line-height:1.5;color:var(--bonedim)}
.safari-exit{text-align:center;margin-top:36px;font-size:15px}
.safari-ringfence{max-width:62ch;margin:0 auto 28px;text-align:center;color:var(--bonedim);font-size:15px;line-height:1.55;
  padding:14px 18px;border-left:4px solid var(--safari-camel);background:rgba(235,227,208,.75);border-radius:0 8px 8px 0}
.safari-credits{margin:10px 0 0;font-size:12px;color:var(--bonedim);line-height:1.5}
.safari-credits a{color:var(--safari-olive);text-decoration:underline;text-underline-offset:2px}
.wlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:28px}
.wcard{display:block;border-radius:12px;padding:20px;transition:border-color .15s,transform .15s,color .15s;
  color:inherit;text-decoration:none}
.wcard:hover{border-color:var(--safari-camel);transform:translateY(-2px);color:inherit}
.wcard h3{font-family:"Space Grotesk";font-size:18px;margin:0 0 6px}
.wby{font-size:13px;color:var(--grass);margin:0 0 8px;font-family:"Space Grotesk";letter-spacing:.04em}
.wbl{font-size:14px;color:var(--bonedim);margin:0;line-height:1.5}
.wread{display:inline-block;margin-top:12px;font-size:13px;color:var(--safari-camel);font-family:"Space Grotesk"}
.misogi-page table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14px;line-height:1.45}
.misogi-page th,.misogi-page td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.misogi-page th{background:rgba(74,82,52,.12);color:var(--bone);font-family:"Space Grotesk";font-size:13px}
.misogi-page td:nth-child(2){font-size:16px}
.misogi-page td{color:var(--bonedim)}
.misogi-page blockquote{border-left:4px solid var(--safari-camel);padding-left:18px;color:var(--bonedim);font-style:italic}
.misogi-legend{font-size:14px;color:var(--bonedim);margin:18px 0 8px;padding:12px 16px;background:rgba(74,82,52,.08);
  border-radius:8px;border:1px solid var(--line);border-left:4px solid var(--safari-camel)}
