
:root{
  --bg:#0d0d0d; --paper:#f5f3ef; --text:#1b1b1b; --muted:#6f6f6f; --line:#d8d3ca;
  --serif: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans)}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{
  position:fixed; z-index:50; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between;
  padding:24px 5vw; color:white; transition:.3s; letter-spacing:.08em
}
.site-header.scrolled{background:rgba(10,10,10,.94);padding-top:16px;padding-bottom:16px}
.brand{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.18em}
nav{display:flex;gap:28px;font-size:12px;text-transform:uppercase}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px}
.hero{height:100vh;position:relative;background:#111;overflow:hidden}
.hero img{filter:brightness(.55)}
.hero-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:30px}
.eyebrow{font-size:11px;letter-spacing:.36em;text-transform:uppercase;margin-bottom:20px}
.hero h1{font-family:var(--serif);font-size:clamp(46px,7vw,110px);font-weight:400;line-height:.92;margin:0}
.hero p{font-family:var(--serif);font-size:clamp(17px,2vw,25px);font-style:italic;max-width:760px;margin:28px auto}
.btn{display:inline-block;border:1px solid currentColor;padding:13px 24px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.section{padding:110px 7vw}
.intro{max-width:880px;margin:auto;text-align:center}
.intro h2,.section-title{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,68px);margin:0 0 26px}
.intro p{font-family:var(--serif);font-size:22px;line-height:1.65;color:#484848}
.dark{background:#111;color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{position:relative;min-height:520px;overflow:hidden;background:#222}
.card img{transition:.6s}
.card:hover img{transform:scale(1.035);filter:brightness(.72)}
.card-label{position:absolute;left:30px;bottom:28px;color:#fff}
.card-label small{font-size:10px;letter-spacing:.25em;text-transform:uppercase}
.card-label h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:8px 0 0}
.split{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px}
.split .photo{min-height:620px}
.split .copy{display:flex;align-items:center;padding:8vw}
.split .copy p{font-family:var(--serif);font-size:20px;line-height:1.65;color:#d5d5d5}
.stories{display:grid;grid-template-columns:repeat(2,1fr);gap:42px}
.story-image{height:430px;margin-bottom:22px}
.story h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:6px 0 14px}
.story p{line-height:1.7;color:#5f5f5f}
.contact{text-align:center;max-width:900px;margin:auto}
.contact-links{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:30px}
footer{background:#0a0a0a;color:#aaa;padding:42px 7vw;display:flex;justify-content:space-between;gap:20px;font-size:12px}
.whatsapp{
  position:fixed;right:22px;bottom:22px;z-index:60;background:#111;color:#fff;border:1px solid #fff;
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px
}
.page-hero{height:58vh;position:relative;background:#111}
.page-hero img{filter:brightness(.48)}
.page-hero .hero-overlay{align-items:flex-end;justify-content:flex-start;text-align:left;padding:0 7vw 70px}
.page-hero h1{font-size:clamp(50px,7vw,95px)}
.prose{max-width:850px;margin:auto;font-family:var(--serif);font-size:20px;line-height:1.8}
.contact-form{max-width:760px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form input,.contact-form textarea{width:100%;padding:15px;border:1px solid #cfc8bd;background:transparent;font:inherit}
.contact-form textarea{grid-column:1/-1;min-height:150px}
.contact-form button{grid-column:1/-1;justify-self:start;background:#111;color:#fff;border:0;padding:14px 25px;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:800px){
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0d0d0d;flex-direction:column;padding:22px 6vw}
  nav.open{display:flex}.menu-toggle{display:block}
  .gallery-grid,.stories,.split{grid-template-columns:1fr}
  .card{min-height:420px}.split .photo{min-height:460px}.contact-form{grid-template-columns:1fr}
  .contact-form textarea,.contact-form button{grid-column:1}
  footer{flex-direction:column}.section{padding:80px 6vw}
}

:root{--mamai-green:#286b16;--mamai-gold:#c99a18;}
.brand-logo{display:block;width:190px;height:68px;object-fit:contain;background:rgba(255,255,255,.93);padding:5px 10px}
.site-header.scrolled .brand-logo{height:58px}
.gold{color:var(--mamai-gold)}
.btn:hover{background:var(--mamai-gold);border-color:var(--mamai-gold);color:#111}
.wildlife-tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:25px}
.wildlife-tags span{border:1px solid var(--line);padding:9px 14px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.story-full{max-width:850px;margin:0 auto 80px}
.story-full h2{font-family:var(--serif);font-size:42px;font-weight:400;margin-bottom:16px}
.story-full p{font-family:var(--serif);font-size:19px;line-height:1.8;color:#555}
@media(max-width:800px){.brand-logo{width:145px;height:54px}}

/* v3 upload-ready refinements */
.brand-logo{width:165px;height:58px;padding:3px 7px;object-fit:contain}
.site-header{background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent)}
.site-header.scrolled{background:rgba(8,8,8,.96)}
.photo-grid{columns:3 320px;column-gap:10px;background:#090909;padding:10px}
.photo-tile{break-inside:avoid;margin:0 0 10px;position:relative;overflow:hidden;cursor:zoom-in}
.photo-tile img{width:100%;height:auto;display:block;transition:transform .45s,filter .45s}
.photo-tile:hover img{transform:scale(1.018);filter:brightness(.8)}
.photo-caption{position:absolute;left:18px;bottom:15px;color:#fff;opacity:0;transition:.3s;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 4px #000}
.photo-tile:hover .photo-caption{opacity:1}
.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.96);align-items:center;justify-content:center;padding:35px}
.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:91vh;width:auto;height:auto;object-fit:contain}
.lightbox-close{position:absolute;right:25px;top:18px;color:#fff;font-size:35px;cursor:pointer;background:none;border:0}
.social-strip{text-align:center;background:#173f10;color:#fff;padding:70px 6vw}
.social-strip h2{font-family:var(--serif);font-size:42px;font-weight:400;margin:0 0 15px}
.social-strip .contact-links{margin-top:24px}
@media(max-width:700px){.brand-logo{width:130px;height:48px}.photo-grid{columns:2 145px;column-gap:6px;padding:6px}.photo-tile{margin-bottom:6px}}

/* =========================
   MAMAI v4 APPROVED THEME
   ========================= */
:root{
  --mamai-green:#315f1d;
  --mamai-deep:#173916;
  --mamai-gold:#c89b22;
  --mamai-cream:#f7f5ef;
  --mamai-ink:#1d1d1b;
  --mamai-muted:#6e6b63;
  --mamai-line:#dfddd6;
}
body{background:#fff;color:var(--mamai-ink)}
.site-header{
  position:sticky;top:0;left:auto;right:auto;
  background:#fff!important;color:var(--mamai-ink);
  padding:11px 4.5vw;box-shadow:0 1px 0 rgba(0,0,0,.08);
  z-index:90;
}
.site-header.scrolled{background:#fff!important;padding-top:9px;padding-bottom:9px}
.site-header a{color:var(--mamai-ink)}
.site-header nav{gap:26px;align-items:center}
.site-header nav a{
  color:#222;font-size:11px;font-weight:700;letter-spacing:.08em;
  position:relative;padding:10px 0
}
.site-header nav a:hover,.site-header nav a.active{color:var(--mamai-gold)}
.site-header nav a.active:after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--mamai-gold)
}
.brand-logo{width:190px;height:63px;padding:0;background:transparent;object-fit:contain}
.menu-toggle{color:#222}

.hero,.page-hero{
  height:54vh;min-height:460px;
  border-bottom:4px solid var(--mamai-gold);
}
.hero img,.page-hero img{filter:brightness(.58)}
.hero-overlay{justify-content:flex-start;text-align:left;padding:0 6vw}
.hero-overlay>div{max-width:820px}
.hero h1,.page-hero h1{
  font-size:clamp(58px,7vw,105px);line-height:.92;
  text-shadow:0 2px 18px rgba(0,0,0,.25)
}
.hero p{margin-left:0}
.eyebrow{letter-spacing:.32em}
.btn{
  border-radius:999px;padding:12px 22px;border-color:currentColor
}
.btn:hover{background:var(--mamai-gold);color:#fff;border-color:var(--mamai-gold)}

.section{padding:85px 6vw}
.intro{max-width:930px}
.intro h2,.section-title{font-size:clamp(38px,4.3vw,62px)}
.dark{background:#fff;color:var(--mamai-ink)}
.dark .intro p,.dark p{color:var(--mamai-muted)}
.dark .section-title{color:var(--mamai-ink)}

.theme-banner{
  position:relative;height:300px;overflow:hidden;border-top:3px solid var(--mamai-gold);border-bottom:3px solid var(--mamai-gold)
}
.theme-banner img{filter:brightness(.58)}
.theme-banner .inner{
  position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;
  padding:0 6vw;color:#fff;gap:30px
}
.theme-banner h1{font-family:var(--serif);font-size:clamp(55px,7vw,90px);font-weight:400;margin:0}
.theme-banner p{font-family:var(--serif);font-size:24px;font-style:italic;margin:10px 0 0}
.theme-banner .side-note{text-align:right;font-size:11px;letter-spacing:.28em;text-transform:uppercase;line-height:1.8}

.gallery-toolbar{
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
  padding:24px 4vw 18px;background:#fff;position:sticky;top:84px;z-index:40;
  box-shadow:0 2px 10px rgba(0,0,0,.05)
}
.gallery-toolbar button{
  border:1px solid var(--mamai-line);background:#fff;color:#444;border-radius:999px;
  padding:10px 20px;font-family:var(--serif);font-size:15px;cursor:pointer;transition:.25s
}
.gallery-toolbar button:hover,.gallery-toolbar button.active{
  background:var(--mamai-green);color:#fff;border-color:var(--mamai-green)
}
.photo-grid{
  display:grid!important;columns:auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;padding:12px 3.2vw 36px;background:#fff
}
.photo-tile{
  margin:0!important;break-inside:auto!important;aspect-ratio:4/3;
  border-radius:6px;overflow:hidden;background:#eee;box-shadow:0 1px 2px rgba(0,0,0,.07)
}
.photo-tile img{width:100%;height:100%!important;object-fit:cover}
.photo-caption{
  opacity:0;background:linear-gradient(transparent,rgba(0,0,0,.62));left:0;right:0;bottom:0;
  padding:40px 15px 13px
}
.photo-tile:hover .photo-caption{opacity:1}
.photo-tile.hidden{display:none}

.split.dark{background:var(--mamai-cream);color:var(--mamai-ink)}
.split .copy p{color:var(--mamai-muted)}

.social-strip{
  background:var(--mamai-deep);padding:60px 6vw;border-top:3px solid var(--mamai-gold)
}
footer{
  background:#102b10;color:#ddd;border-top:1px solid rgba(255,255,255,.12);
  padding:32px 5vw;align-items:center
}
footer strong{color:#fff}

.lightbox{background:rgba(10,20,10,.96)}
.lightbox-close{top:15px;right:18px}

@media(max-width:1100px){
  .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .site-header{padding:8px 4vw}.brand-logo{width:145px;height:50px}
  .site-header nav{top:100%;background:#fff}
  .site-header nav a{color:#222}
  .hero,.page-hero{height:48vh;min-height:380px}
  .theme-banner{height:245px}
  .theme-banner .side-note{display:none}
  .gallery-toolbar{top:66px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:7px}
}
@media(max-width:480px){
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-toolbar button{padding:8px 13px;font-size:13px}
}

/* MAMAI PHOTOGRAPHY v5 — REAL PHOTOS ONLY
   SVG placeholders removed. 2026-09-09 */

/* v6 RANDOM HERO */
.hero > img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}

/* ================= MAMAI SHOP v1 ================= */
.shop-hero{height:52vh;min-height:430px;position:relative;overflow:hidden;border-bottom:4px solid var(--mamai-gold)}
.shop-hero>img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.shop-hero>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;color:#fff;max-width:900px}
.shop-hero h1{font-family:var(--serif);font-size:clamp(52px,7vw,100px);font-weight:400;line-height:.95;margin:0 0 20px}.shop-hero p{font-family:var(--serif);font-size:22px;line-height:1.5;max-width:700px;margin:0}
.shop-intro{padding:70px 6vw 35px;text-align:center}.shop-intro>div{max-width:850px;margin:auto}.shop-intro span,.shop-code{font-size:10px;letter-spacing:.24em;color:var(--mamai-gold);font-weight:700}.shop-intro h2,.shop-note h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.5vw,62px);margin:12px 0}.shop-intro p,.shop-note p{font-family:var(--serif);font-size:19px;line-height:1.7;color:#666}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:25px 4vw 80px}.shop-card{background:#fff;border:1px solid #e4e0d8;box-shadow:0 4px 20px rgba(0,0,0,.05)}.shop-photo{display:block;width:100%;height:300px;border:0;padding:0;background:#eee;cursor:zoom-in;overflow:hidden}.shop-photo img{width:100%;height:100%;object-fit:cover;transition:.45s}.shop-card:hover .shop-photo img{transform:scale(1.025)}.shop-info{padding:22px}.shop-info h3{font-family:var(--serif);font-size:26px;font-weight:400;margin:8px 0}.shop-info p{font-size:13px;line-height:1.6;color:#777;min-height:42px}.shop-buy{border:0;background:var(--mamai-deep);color:#fff;border-radius:999px;padding:11px 18px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}.shop-buy:hover{background:var(--mamai-gold)}.shop-note{text-align:center;background:var(--mamai-cream);padding:70px 6vw}.shop-note p{max-width:760px;margin:auto}
.product-modal{display:none;position:fixed;inset:0;background:rgba(5,15,5,.92);z-index:200;padding:30px;overflow:auto}.product-modal.open{display:flex;align-items:center;justify-content:center}.product-dialog{position:relative;width:min(1050px,96vw);max-height:92vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff;overflow:auto}.product-preview{min-height:650px;background:#111}.product-preview img{width:100%;height:100%;object-fit:cover}.product-config{padding:48px}.product-config h2{font-family:var(--serif);font-size:42px;font-weight:400;margin:8px 0 12px}.product-lead{color:#666;line-height:1.6}.product-config label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:18px 0}.product-config select,.product-config input{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #d6d0c5;background:#fff;font:inherit}.price-box{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:18px 0;margin:22px 0}.price-box small,.price-box span{display:block;color:#777;font-size:11px}.price-box strong{display:block;font-family:var(--serif);font-size:32px;margin:4px 0}.payment-choice{display:grid;gap:10px}.pay-option{display:block;width:100%;text-align:center;border:0;border-radius:5px;padding:14px;font-weight:700;cursor:pointer}.mpesa{background:#2d8d3a;color:#fff}.paypal{background:#ffc439;color:#111}.whatsapp-order{background:#173916;color:#fff}.payment-status{font-size:11px;line-height:1.5;color:#777;margin-top:15px}.product-close{position:absolute;right:14px;top:10px;z-index:5;width:40px;height:40px;border:0;border-radius:50%;font-size:30px;background:rgba(255,255,255,.9);cursor:pointer}
@media(max-width:1100px){.shop-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:9px;padding:15px 3vw 55px}.shop-photo{height:220px}.shop-info{padding:15px}.shop-info h3{font-size:21px}.product-dialog{grid-template-columns:1fr}.product-preview{min-height:330px}.product-config{padding:28px}.product-modal{padding:10px}}@media(max-width:480px){.shop-grid{grid-template-columns:1fr 1fr}.shop-photo{height:175px}.shop-info p{display:none}.shop-buy{margin-top:10px}.shop-hero{min-height:380px}}
