/* ============================================================
   TRIBAL GORILLA | Local stories. Global audiences.
   Palette drawn only from the logo:
   black #101014, white #FFFFFF, teal #1D97A5,
   orange #E8642C, red #D84430, amber #C98D4E, feather gray
   ============================================================ */
:root{
  --ink:#101014;
  --paper:#FFFFFF;
  --teal:#1D97A5;
  --teal-dark:#147884;
  --orange:#E8642C;
  --orange-dark:#C94F1E;
  --red:#D84430;
  --amber:#C98D4E;
  --gray:#5F5F66;
  --line:#E9E8E4;
  --wash:#F7F6F3;
  --ease:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}

h1,h2,h3{font-family:'Syne',sans-serif;line-height:1.05;font-weight:800;letter-spacing:-0.01em;}
h1{font-size:clamp(2.6rem,7vw,4.8rem);}
h2{font-size:clamp(1.9rem,4vw,2.9rem);}
h3{font-size:1.15rem;font-weight:700;}
p{max-width:34em;}

.label{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);margin-bottom:14px;
}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav-logo img{height:46px;width:auto;}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.95rem;font-weight:600;}
.nav-links a:not(.btn){color:var(--ink);opacity:.85;transition:color .2s var(--ease);}
.nav-links a:not(.btn):hover{color:var(--teal);opacity:1;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;background:var(--orange);color:#fff;
  padding:13px 26px;border-radius:6px;font-weight:700;font-size:.95rem;
  transition:background .2s var(--ease),transform .2s var(--ease);
}
.btn:hover{background:var(--orange-dark);transform:translateY(-1px);}
.btn-ghost{
  display:inline-block;border:2px solid var(--ink);color:var(--ink);
  padding:11px 24px;border-radius:6px;font-weight:700;font-size:.95rem;
  transition:border-color .2s,color .2s;
}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}

/* ---------- hero ---------- */
.hero{padding:110px 0 90px;}
.hero h1{max-width:11em;}
.hero h1 .t{color:var(--teal);}
.hero h1 .o{color:var(--orange);}
.hero .lede{font-size:1.25rem;color:var(--gray);margin:28px 0 40px;max-width:31em;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- thesis ---------- */
.thesis{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px 0;}
.thesis p{
  font-family:'Syne',sans-serif;font-weight:700;
  font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.3;max-width:24em;
}
.thesis .hl{color:var(--orange);}

/* ---------- sections ---------- */
.section{padding:96px 0;}
.section-head{margin-bottom:48px;}
.sub{color:var(--gray);margin-top:14px;font-size:1.05rem;}

/* ---------- flagship ---------- */
.flagship-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.flagship-img{border-radius:10px;overflow:hidden;border:1px solid var(--line);}
.flagship-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;}
.flagship-facts{list-style:none;margin-top:28px;border-top:1px solid var(--line);}
.flagship-facts li{
  padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem;
  display:flex;gap:10px;align-items:baseline;
}
.flagship-facts li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);flex:none;position:relative;top:-1px;}
.flagship-facts li:nth-child(2)::before{background:var(--orange);}
.flagship-facts li:nth-child(3)::before{background:var(--amber);}
.flagship-facts li:nth-child(4)::before{background:var(--red);}

/* ---------- universe grid ---------- */
.uni-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.uni-card{
  border:1px solid var(--line);border-radius:10px;padding:26px 24px;
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.uni-card:hover{border-color:var(--teal);transform:translateY(-2px);}
.uni-card .num{font-family:'Syne',sans-serif;font-weight:800;color:var(--orange);font-size:.85rem;letter-spacing:.08em;}
.uni-card h3{margin:10px 0 6px;}
.uni-card p{color:var(--gray);font-size:.93rem;}

/* ---------- craft / proof ---------- */
.cred-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.chip{
  border:1px solid var(--line);border-radius:999px;padding:9px 18px;
  font-size:.85rem;font-weight:600;color:var(--ink);background:var(--wash);
}
.chip b{color:var(--teal);}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;}
.work-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .2s var(--ease),border-color .2s;}
.work-card:hover{transform:translateY(-2px);border-color:var(--orange);}
.work-card img{aspect-ratio:16/9;object-fit:cover;width:100%;}
.work-card .wc-body{padding:14px 16px;}
.work-card .wc-brand{font-weight:700;font-size:.95rem;}
.work-card .wc-tag{color:var(--gray);font-size:.82rem;}

/* ---------- invest ---------- */
.invest{background:var(--ink);color:#fff;border-radius:14px;padding:72px 56px;text-align:center;}
.invest h2{color:#fff;margin-bottom:16px;}
.invest p{color:rgba(255,255,255,.75);margin:0 auto 36px;}
.invest .feather{height:4px;width:64px;margin:0 auto 30px;border-radius:2px;
  background:linear-gradient(90deg,var(--teal),var(--orange));}

/* ---------- about page ---------- */
.about-grid{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start;padding-top:80px;}
.about-photo img{border-radius:10px;border:1px solid var(--line);width:100%;}
.about-body p{margin-bottom:20px;color:var(--ink);}
.about-body .muted{color:var(--gray);}

/* ---------- book page ---------- */
.book-head{padding:80px 0 30px;text-align:center;}
.book-head p{margin:16px auto 0;color:var(--gray);}
.calendly-wrap{max-width:1020px;margin:0 auto;padding:0 16px 60px;}
.calendly-wrap iframe{height:820px;}
.book-alt{text-align:center;color:var(--gray);padding-bottom:90px;font-size:.95rem;}
.book-alt a{color:var(--teal);font-weight:600;}

/* ---------- gallery ---------- */
.gal-head{padding:80px 0 10px;}
.gal-cat{margin-top:56px;}
.gal-cat h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:20px;}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gal-grid img{
  width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;
  border:1px solid var(--line);cursor:pointer;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.gal-grid img:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,16,20,.12);}
.lightbox{
  position:fixed;inset:0;background:rgba(16,16,20,.94);z-index:100;
  display:none;align-items:center;justify-content:center;padding:24px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:96vw;max-height:88vh;border-radius:6px;}
.lightbox .lb-close{
  position:absolute;top:18px;right:24px;color:#fff;font-size:2rem;
  background:none;border:none;cursor:pointer;line-height:1;font-family:'Inter',sans-serif;
}

/* ---------- footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.8);padding:56px 0;margin-top:40px;}
.foot-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.foot-left{display:flex;align-items:center;gap:16px;}
.foot-left img{height:44px;filter:brightness(0) invert(1);}
.foot-links{display:flex;gap:22px;font-size:.9rem;}
.foot-links a:hover{color:var(--teal);}
.foot-note{font-size:.8rem;color:rgba(255,255,255,.45);margin-top:6px;}
footer a.mail{color:var(--teal);font-weight:600;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .flagship-grid{grid-template-columns:1fr;gap:36px;}
  .uni-grid{grid-template-columns:repeat(2,1fr);}
  .work-grid{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1fr;gap:32px;}
  .about-photo{max-width:280px;}
}
@media (max-width:900px){
  .gal-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .hero{padding:72px 0 60px;}
  .section{padding:64px 0;}
  .uni-grid,.work-grid{grid-template-columns:1fr;}
  .nav-links{gap:14px;}
  .nav-links .hide-m{display:none;}
  .invest{padding:52px 24px;}
  .btn{padding:11px 18px;font-size:.9rem;}
  .gal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .calendly-wrap iframe{height:640px;}
}
