:root{
  --paper:#EDEEE9;
  --panel:#E1E3DA;
  --ink:#1B2420;
  --ink-soft:#4B554F;
  --accent:#E29A1F;
  --teal:#3E6259;
  --rose:#B5533C;
  --line: rgba(27,36,32,0.16);
  --line-strong: rgba(27,36,32,0.32);
}
.since-badge{font-weight:700; font-size:1.15em; color:var(--teal);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  margin:0;
  letter-spacing:-0.01em;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

/* NAV */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(237,238,233,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:64px;
}
.logo{ font-family:'Fraunces', serif; font-size:1.15rem; font-weight:600; text-decoration:none; display:flex; align-items:center; gap:10px; }
.logo span{color:var(--accent);}
.logo-img{width:32px; height:32px; border-radius:50%; object-fit:cover; display:block;}
.navlinks{display:flex; gap:28px; font-size:0.92rem;}
.navlinks a{text-decoration:none; color:var(--ink-soft); border-bottom:1px solid transparent; padding-bottom:2px; transition:color .15s, border-color .15s;}
.navlinks a:hover, .navlinks a.active{color:var(--ink); border-color:var(--ink);}
.nav-cta{
  font-size:0.88rem; padding:9px 16px; background:var(--ink); color:var(--paper);
  border-radius:2px; text-decoration:none; white-space:nowrap;
}
.navtoggle{display:none;}
@media (max-width:760px){
  .navlinks{
    display:none; position:absolute; top:64px; left:0; right:0;
    flex-direction:column; background:var(--paper); border-bottom:1px solid var(--line);
    padding:16px 20px; gap:16px;
  }
  .navlinks.open{display:flex;}
  .navtoggle{display:inline-block; background:none; border:1px solid var(--line-strong); padding:7px 11px; font-size:0.85rem; border-radius:2px; color:var(--ink); cursor:pointer;}
}

/* BACK BUTTON */
.back-bar{padding-top:18px;}
.back-btn{display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:0.8rem; color:var(--ink-soft); text-decoration:none; border:1px solid var(--line-strong); padding:7px 14px; border-radius:2px; transition:color .15s, border-color .15s;}
.back-btn:hover{color:var(--ink); border-color:var(--ink);}

/* PAGE HEADER (non-home pages) */
.page-header{padding:56px 0 40px;}
.page-eyebrow{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--teal); margin-bottom:14px;}
.page-header h1{font-size:clamp(2rem,4vw,2.9rem);}
.page-header p{margin-top:16px; color:var(--ink-soft); max-width:52ch; font-size:1.02rem;}

/* HERO (home only) */
.hero{padding:92px 0 76px; position:relative;}
.hero-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:56px; align-items:start;}
@media (max-width:820px){ .hero-grid{grid-template-columns:1fr;} }
.eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--teal); margin-bottom:18px; }
.hero h1{ font-size:clamp(2.3rem, 4.6vw, 3.5rem); line-height:1.08; max-width:15ch; }
.hero p.lede{ margin-top:22px; font-size:1.08rem; color:var(--ink-soft); max-width:46ch; }
.hero-ctas{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.btn{ display:inline-block; padding:13px 22px; text-decoration:none; font-size:0.94rem; border-radius:2px; font-weight:500; border:1px solid transparent; }
.btn-primary{background:var(--ink); color:var(--paper);}
.btn-secondary{border:1px solid var(--line-strong); color:var(--ink);}

.audit-card{ border:1px solid var(--line-strong); background:var(--panel); padding:26px 24px; font-family:'IBM Plex Mono', monospace; }
.audit-card .title{font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:0.95rem; margin-bottom:4px;}
.audit-card .sub{font-size:0.78rem; color:var(--ink-soft); margin-bottom:18px;}
.audit-row{display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line); font-size:0.85rem;}
.audit-row:first-of-type{border-top:none;}
.audit-row .val{color:var(--teal); font-weight:500;}
.audit-note{margin-top:16px; font-size:0.74rem; color:var(--ink-soft); font-style:italic; font-family:'IBM Plex Sans',sans-serif;}

section{padding:72px 0; border-top:1px solid var(--line);}
.no-border{border-top:none;}
.section-head{display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:44px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.15rem);}
.section-num{font-family:'IBM Plex Mono',monospace; font-size:0.8rem; color:var(--ink-soft);}

/* HOME teasers */
.teaser-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:760px){ .teaser-grid{grid-template-columns:1fr;} }
.teaser{border:1px solid var(--line); padding:26px; background:var(--panel);}
.teaser .tag{font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:var(--teal);}
.teaser h3{font-size:1.15rem; margin-top:10px; font-weight:500;}
.teaser p{color:var(--ink-soft); font-size:0.92rem; margin-top:10px;}
.teaser a.more{display:inline-block; margin-top:14px; font-size:0.85rem; text-decoration:underline; text-underline-offset:3px;}

/* ABOUT */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
@media (max-width:760px){ .about-grid{grid-template-columns:1fr;} }
.about-grid p{color:var(--ink-soft); max-width:52ch;}
.about-grid p + p{margin-top:16px;}
.about-photo{width:180px; height:180px; border-radius:50%; object-fit:cover; margin-bottom:24px; border:1px solid var(--line-strong);}
.process{margin-top:8px;}
.process-item{display:grid; grid-template-columns:44px 1fr; gap:16px; padding:18px 0; border-top:1px solid var(--line);}
.process-item:last-child{border-bottom:1px solid var(--line);}
.process-item .n{font-family:'IBM Plex Mono',monospace; color:var(--accent); font-size:0.95rem; padding-top:2px;}
.process-item h3{font-size:1.02rem; font-weight:600; font-family:'IBM Plex Sans',sans-serif;}
.process-item p{margin-top:4px; color:var(--ink-soft); font-size:0.92rem;}
.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; padding-top:40px; border-top:1px solid var(--line);}
@media (max-width:700px){ .stat-row{grid-template-columns:1fr 1fr;} }
.stat-row .stat b{font-family:'Fraunces',serif; font-size:2rem; font-weight:500; display:block;}
.stat-row .stat span{font-size:0.85rem; color:var(--ink-soft);}

/* SERVICES */
.service-list{border-top:1px solid var(--line);}
.service{ display:grid; grid-template-columns:220px 1fr; gap:32px; padding:30px 0; border-bottom:1px solid var(--line); }
@media (max-width:700px){ .service{grid-template-columns:1fr; gap:10px;} }
.service .tag{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--teal); text-transform:lowercase;}
.service h3{font-size:1.25rem; margin-top:6px; font-weight:500;}
.service p{color:var(--ink-soft); margin-top:10px; max-width:56ch; font-size:0.96rem;}
.service .price{margin-top:12px; font-family:'IBM Plex Mono',monospace; font-size:0.82rem; color:var(--ink);}
.service .price-note{margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--teal); max-width:180px;}

/* CREATOR PLATFORM LINKS (case studies) */
.cs-platforms{margin-top:20px; display:flex; flex-wrap:wrap; gap:10px;}
.cs-platforms a{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; border:1px solid var(--line-strong); padding:6px 14px; border-radius:999px; text-decoration:none; color:var(--ink); transition:border-color .15s, background .15s;}
.cs-platforms a:hover{border-color:var(--ink); background:var(--panel);}
.service ul.includes{margin:14px 0 0; padding-left:18px; color:var(--ink-soft); font-size:0.9rem;}
.service ul.includes li{margin-bottom:4px;}

/* WORK */
.work-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media (max-width:700px){ .work-grid{grid-template-columns:1fr;} }
.work-card{background:var(--panel); border:1px solid var(--line); padding:26px;}
.work-card .kicker{font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:var(--rose); margin-bottom:10px;}
.work-card h3{font-size:1.1rem; font-weight:600; font-family:'IBM Plex Sans',sans-serif;}
.work-card p{color:var(--ink-soft); font-size:0.92rem; margin-top:10px;}
.work-card ul{margin:14px 0 0; padding-left:18px; color:var(--ink-soft); font-size:0.9rem;}
.work-card li{margin-bottom:6px;}
.work-empty{ grid-column:1/-1; border:1px dashed var(--line-strong); padding:36px; text-align:left; color:var(--ink-soft); font-size:0.94rem; }
.work-empty strong{color:var(--ink); display:block; font-family:'Fraunces',serif; font-size:1.15rem; font-weight:500; margin-bottom:8px;}

/* TESTIMONIALS */
.testi-empty{ border:1px solid var(--line); padding:48px 40px; text-align:center; background:var(--panel); }
.testi-empty h3{font-size:1.2rem; font-weight:500;}
.testi-empty p{color:var(--ink-soft); margin-top:10px; font-size:0.94rem;}
.testi-empty .btn{margin-top:20px;}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start;}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
.contact-grid h2{font-size:clamp(1.8rem,3.4vw,2.4rem); max-width:14ch;}
.contact-grid p{color:var(--ink-soft); margin-top:16px; max-width:44ch;}
.contact-block{border:1px solid var(--line-strong); padding:28px;}
.contact-line{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-top:1px solid var(--line);}
.contact-line:first-child{border-top:none; padding-top:0;}
.contact-line .label{font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--ink-soft);}
.contact-line .val{font-size:0.96rem; font-weight:500; text-decoration:none;}
.contact-note{margin-top:20px; font-size:0.85rem; color:var(--ink-soft);}

footer{border-top:1px solid var(--line); padding:28px 0; font-size:0.82rem; color:var(--ink-soft);}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;}
footer a{text-decoration:none; color:var(--ink-soft);}
footer a:hover{color:var(--ink);}

/* FLOATING WHATSAPP BUTTON */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:90;
  width:50px; height:50px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(18,24,20,0.3);
  transition:transform .25s ease, box-shadow .25s ease;
}
.wa-float svg{width:24px; height:24px; display:block;}
.wa-float::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:2px solid rgba(37,211,102,0.55);
  opacity:0;
}
.wa-float:hover{transform:translateY(-3px) scale(1.08); box-shadow:0 10px 24px rgba(18,24,20,0.36);}
.wa-float:hover::before{opacity:1; animation:wa-ripple 1.1s ease-out infinite;}
@keyframes wa-ripple{
  0%{transform:scale(1); opacity:0.65;}
  100%{transform:scale(1.55); opacity:0;}
}
@media (max-width:640px){ .wa-float{right:14px; bottom:14px; width:46px; height:46px;} .wa-float svg{width:22px; height:22px;} }

/* CHANNEL SNAPSHOT — screenshot-style metrics row (Views / Watch time / Subscribers / Revenue) */
.snapshot-headline{
  font-family:'Fraunces', serif; font-weight:500; font-size:1.35rem;
  margin:28px 0 18px; line-height:1.4; color:var(--ink); text-align:center;
}
.snapshot-headline strong{color:var(--accent);}
.snapshot-row{display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line-strong); background:var(--line); gap:1px; margin-top:6px;}
@media (max-width:700px){ .snapshot-row{grid-template-columns:repeat(2,1fr);} }
.snapshot-row .snap-cell{background:var(--panel); padding:18px 20px;}
.snapshot-row .snap-label{display:block; font-size:0.76rem; color:var(--ink-soft); margin-bottom:8px;
  font-family:'IBM Plex Mono',monospace;}
.snapshot-row .snap-label .warn{color:var(--rose); margin-left:3px;}
.snapshot-row .snap-val{font-family:'Fraunces',serif; font-size:1.5rem; font-weight:500; display:block; color:var(--ink);}
.snapshot-row .snap-cell.blurred .snap-val{filter:blur(7px); user-select:none;}
.snapshot-row .snap-lock{display:block; font-size:0.65rem; color:var(--ink-soft); opacity:.75; margin-top:6px;
  font-family:'IBM Plex Mono',monospace; line-height:1.4;}

/* YT STUDIO-STYLE DASHBOARD CARD (channel snapshot) */
.yt-dashboard{ margin-top:24px; }
.yt-headline{
  font-family:'IBM Plex Sans', sans-serif; font-weight:700; font-size:1.4rem; line-height:1.4;
  text-align:center; margin:0 0 24px; color:#111;
}
@media (max-width:640px){ .yt-headline{font-size:1.1rem;} }
.yt-stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  background:#F3F3F1; border-radius:12px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,0.05), 0 2px 8px rgba(0,0,0,0.06);
}
@media (max-width:700px){ .yt-stats{grid-template-columns:repeat(2,1fr);} }
.yt-stat{ padding:20px 24px; border-right:1px solid rgba(0,0,0,0.08); }
.yt-stat:nth-child(4){border-right:none;}
@media (max-width:700px){
  .yt-stat:nth-child(2){border-right:none;}
  .yt-stat:nth-child(3){border-top:1px solid rgba(0,0,0,0.08);}
  .yt-stat:nth-child(4){border-top:1px solid rgba(0,0,0,0.08);}
}
.yt-label{
  display:block; font-size:0.82rem; color:#5f6368; margin-bottom:10px;
  font-family:'IBM Plex Sans', sans-serif;
}
.yt-label .warn{color:#5f6368; margin-left:4px;}
.yt-val{font-family:'IBM Plex Sans', sans-serif; font-size:1.6rem; font-weight:700; display:block; color:#111;}
.yt-stat.blurred .yt-val{filter:blur(7px); user-select:none;}
.yt-privacy-note{
  font-size:0.82rem; color:var(--ink-soft); margin:0 0 14px; font-style:italic;
}
.yt-chart{margin-top:26px; position:relative;}
.yt-chart svg{width:100%; height:auto; display:block;}
.yt-chart-badges{position:absolute; right:0; bottom:26px; display:flex; gap:4px;}
.yt-chart-badges span{
  background:#3c4043; color:#fff; font-size:0.66rem; font-weight:600; line-height:1;
  padding:4px 5px; border-radius:3px; font-family:'IBM Plex Sans', sans-serif;
}
