/* ==========================================================================
   TrafficClan — custom design system
   Loaded AFTER Bootstrap 5 so brand rules win where they overlap.
   Bootstrap provides: grid (container/row/col), utilities, navbar, dropdown,
   offcanvas. This file provides brand tokens, buttons and all components.
   ========================================================================== */

:root{
  --navy-900:#061529;
  --navy-800:#0a1e3f;
  --navy-700:#0f2a54;
  --navy-600:#16386e;
  --teal:#0ea5a0;
  --sky:#0ea5e9;
  --sky-dark:#0369a1;
  --emerald:#10b981;
  --emerald-dark:#059669;
  --emerald-light:#34d399;
  --ink:#0b1b33;
  --slate:#5b6b82;
  --slate-light:#8695a8;
  --line:#e5ebf2;
  --bg:#f7f9fc;
  --white:#ffffff;
  --radius:16px;
  --shadow-sm:0 1px 2px rgba(6,21,41,.06),0 6px 18px rgba(6,21,41,.06);
  --shadow-md:0 14px 40px rgba(6,21,41,.12);
  --shadow-lg:0 24px 60px rgba(6,21,41,.14);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;overflow-x:clip}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.brand{font-family:'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.02em;line-height:1.14}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}

/* Bootstrap container tuned to the original 1200px / 24px gutters */
.container{width:100%;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}
@media(min-width:1200px){.container{max-width:1350px}}

/* ---------- Shared bits ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald-dark)}
.section{padding:96px 0}
.section-inner{padding:72px 0}            /* inner-page section rhythm */
.tint{background:var(--bg)}
.section-head{max-width:720px;margin:0 auto 48px;text-align:center}
.section-head h2{font-size:clamp(28px,3.8vw,44px);font-weight:800;margin:14px 0 12px}
.section-head p{font-size:18px;color:var(--slate)}

/* ---------- Buttons (brand) ---------- */
.btn{--bs-btn-focus-box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;padding:13px 24px;border-radius:12px;cursor:pointer;transition:.2s;border:1px solid transparent;font-family:'Inter',sans-serif;line-height:1.2}
.btn-brand{background:var(--emerald);color:#03251b}
.btn-brand:hover{background:var(--emerald-light);color:#03251b;transform:translateY(-2px);box-shadow:0 12px 26px rgba(16,185,129,.35)}
.btn-brand-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-brand-outline:hover{border-color:var(--emerald);color:var(--emerald-light)}
.btn-brand-dark{background:var(--navy-800);color:#fff}
.btn-brand-dark:hover{background:var(--navy-700);color:#fff;transform:translateY(-2px)}
.btn-brand-ghost{background:#eef7f3;color:var(--emerald-dark)}
.btn-brand-ghost:hover{background:#e0f2ea;color:var(--emerald-dark)}

/* ==========================================================================
   Header / Navbar (injected by main.js)
   ========================================================================== */
.site-header{background:rgba(6,21,41,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);z-index:1030}
/* Header width:
   - Large screens (>=1361px): 80% centered — matches the reference exactly.
   - 900-1360px band: full width with padding so the nav never crowds.
   - <=640px: tighter padding. */
.header-container{width:100%;margin:0 auto;padding-left:32px;padding-right:32px}
@media(min-width:1361px){.header-container{width:80%;padding-left:0;padding-right:0}}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.site-header .brand{display:flex;align-items:center}
.brand-logo{height:44px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-links .nav-link{color:#fff;font-size:15px;font-weight:500;padding:0;transition:.15s}
.nav-links .nav-link:hover,.nav-links .nav-link.active{color:#fff}
.nav-actions{display:flex;align-items:center;gap:12px}
.site-header .btn{padding:10px 18px}
.site-header .join-btn{padding:10px 16px 10px 18px}
/* keep the Join button emerald in every state (incl. dropdown open) */
button.btn.btn-brand.join-btn.dropdown-toggle{background:var(--emerald)}

/* Join dropdown (Bootstrap dropdown, brand-styled + animated) */
.join-btn .caret{transition:.2s;margin-left:-1px}
.join-btn.dropdown-toggle::after{display:none}
.join-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.join-menu{min-width:256px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;margin-top:10px;
  display:block;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}
.join-menu.show{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.join-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.join-menu .dropdown-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:11px;font-size:14.5px;font-weight:600;color:var(--ink);transition:.15s;white-space:nowrap}
.join-menu .dropdown-item+.dropdown-item{margin-top:2px}
.join-menu .dropdown-item:hover,.join-menu .dropdown-item:focus{background:#f2f7f4}
.join-menu .dropdown-item.pub:hover{color:var(--emerald-dark)}
.join-menu .dropdown-item.adv:hover{color:var(--navy-600)}
.join-menu .dropdown-item::after{content:"\2192";margin-left:auto;padding-left:12px;color:var(--slate-light);font-weight:700;opacity:0;transform:translateX(-4px);transition:.15s}
.join-menu .dropdown-item:hover::after{opacity:1;transform:translateX(0)}
.join-menu .dropdown-item.pub:hover::after{color:var(--emerald-dark)}
.join-menu .dropdown-item.adv:hover::after{color:var(--navy-600)}
.join-menu .mi{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:#eafaf3;color:var(--emerald-dark)}
.join-menu .dropdown-item.adv .mi{background:#e8eef8;color:var(--navy-600)}

/* Hamburger (Bootstrap navbar-toggler, brand-styled) */
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;padding:0;background:none;border:0;cursor:pointer;box-shadow:none}
.menu-toggle:focus{box-shadow:none}
.menu-toggle span{width:24px;height:2px;background:#fff;border-radius:2px;margin:0 auto;transition:.25s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Offcanvas mobile menu */
.mobile-menu{background:var(--navy-900);color:#c7d2e0;width:320px;max-width:86vw}
.mobile-menu .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.08);padding:18px 22px}
.mobile-menu .brand-logo{height:32px}
.mobile-menu .btn-close{filter:invert(1) grayscale(1) brightness(1.6);opacity:.8}
.mobile-menu .offcanvas-body{padding:14px 22px 26px;display:flex;flex-direction:column}
.mobile-menu .m-link{color:#fff;font-size:17px;font-weight:500;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.06);transition:.15s}
.mobile-menu .m-link:hover,.mobile-menu .m-link.active{color:#fff}
.mobile-menu .m-actions{margin-top:20px;display:flex;flex-direction:column;gap:12px}

/* ==========================================================================
   Hero (homepage)
   ========================================================================== */
.hero{position:relative;background:radial-gradient(1200px 600px at 80% -10%,rgba(16,185,129,.18),transparent 60%),radial-gradient(900px 500px at 10% 10%,rgba(22,56,110,.6),transparent 55%),linear-gradient(180deg,var(--navy-900),var(--navy-800));color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(700px 500px at 70% 20%,#000,transparent);mask-image:radial-gradient(700px 500px at 70% 20%,#000,transparent);pointer-events:none}
.hero-inner{position:relative;z-index:2;padding:86px 0 96px}
.hero .pill{display:inline-flex;align-items:center;gap:8px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.35);color:var(--emerald-light);font-size:13px;font-weight:600;padding:7px 14px;border-radius:100px;margin-bottom:22px}
.hero .pill .dot{width:8px;height:8px;border-radius:50%;background:var(--emerald-light);box-shadow:0 0 0 4px rgba(52,211,153,.25)}
.hero h1{font-size:clamp(34px,5vw,58px);font-weight:800;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--emerald-light)}
.hero p.lede{font-size:19px;color:#b9c6d8;max-width:560px;margin-bottom:32px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.hero-trust{display:flex;align-items:center;gap:20px;color:#8ea0b8;font-size:14px;flex-wrap:wrap}
.hero-trust .stars{color:#fbbf24;letter-spacing:2px}
.hero-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:26px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:var(--shadow-lg)}
.hero-card h4{font-size:15px;color:#cdd8e6;font-weight:600;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}
.hero-card h4 .live{font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--emerald-light);display:inline-flex;align-items:center;gap:7px}
.hero-card h4 .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--emerald-light);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.mini{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:16px;height:100%}
.mini .n{font-family:'Plus Jakarta Sans';font-size:26px;font-weight:800;color:#fff}
.mini .l{font-size:12.5px;color:#96a6bd;margin-top:2px}
.mini .n em{font-style:normal;color:var(--emerald-light)}
.channel-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{font-size:12.5px;font-weight:500;color:#c7d2e0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:100px}

/* ---------- Models band + marquee ---------- */
.models-band{background:var(--navy-900);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:42px 0 44px;overflow:hidden}
.models-band .cap{text-align:center;color:#6f819b;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px}
.models{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:34px}
.model{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:9px 18px 9px 12px;transition:.2s}
.model:hover{border-color:rgba(52,211,153,.5);background:rgba(255,255,255,.07);transform:translateY(-2px)}
.model .mcode{font-family:'Plus Jakarta Sans';font-weight:800;font-size:13.5px;letter-spacing:.02em;padding:4px 9px;border-radius:8px}
.model.ppc .mcode{color:#34d399;background:rgba(52,211,153,.14)}
.model.cpl .mcode{color:#60a5fa;background:rgba(96,165,250,.14)}
.model.cps .mcode{color:#2dd4bf;background:rgba(45,212,191,.14)}
.model.cpi .mcode{color:#38bdf8;background:rgba(56,189,248,.14)}
.model .mname{color:#cdd8e6;font-size:14.5px;font-weight:600}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee .track{display:flex;gap:12px;width:max-content;animation:scroll 42s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee .vtag{flex:none;color:#93a4bc;font-size:14px;font-weight:500;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);padding:9px 16px;border-radius:100px;white-space:nowrap}
.marquee .vtag::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--emerald);margin-right:9px;vertical-align:middle;opacity:.75}
@media(max-width:600px){.model .mname{display:none}.model{padding:9px 14px}.marquee .track{animation-duration:30s}}

/* ---------- Stats strip (divider grid — kept custom) ---------- */
.stats{background:var(--white);border-bottom:1px solid var(--line)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:34px 20px;text-align:center;border-right:1px solid var(--line)}
.stat:nth-child(4n){border-right:0}
.stat .n{font-family:'Plus Jakarta Sans';font-size:clamp(28px,3.4vw,40px);font-weight:800;color:var(--navy-800)}
.stat .n em{font-style:normal;color:var(--emerald)}
.stat .l{font-size:14px;color:var(--slate);margin-top:4px}
@media(max-width:768px){
  .stats .grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2n){border-right:0}
  .stat{border-bottom:1px solid var(--line)}
}

/* ---------- About / principles ---------- */
.about{background:var(--bg)}
.lead-2{font-size:18px;color:var(--slate);margin-bottom:16px}
.lead-3{font-size:16px;color:var(--slate)}
.principle{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);height:100%}
.principle .ic{width:42px;height:42px;border-radius:11px;background:#eafaf3;color:var(--emerald-dark);display:grid;place-items:center;margin-bottom:14px}
.principle h4{font-size:16.5px;font-weight:700;margin-bottom:6px}
.principle p{font-size:14px;color:var(--slate)}

/* ---------- Feature cards ---------- */
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.2s;box-shadow:var(--shadow-sm);height:100%}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#cfe9de}
.feature .ic{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--navy-700),var(--navy-600));color:var(--emerald-light);display:grid;place-items:center;margin-bottom:18px;font-size:20px}
.feature h3{font-size:19px;font-weight:700;margin-bottom:8px}
.feature p{font-size:15px;color:var(--slate)}

/* ---------- Vertical cards (homepage) ---------- */
.verticals{background:#fff}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s;height:100%}
.vcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.vcard .vc-accent{height:6px;background:linear-gradient(90deg,var(--emerald),var(--emerald-dark))}
.vcard.b .vc-accent{background:linear-gradient(90deg,var(--navy-600),var(--navy-700))}
.vcard.c .vc-accent{background:linear-gradient(90deg,var(--teal),var(--emerald-dark))}
.vcard.d .vc-accent{background:linear-gradient(90deg,var(--sky),var(--sky-dark))}
.vcard .vc-in{padding:26px}
.vcard .cat{font-family:'Plus Jakarta Sans';font-weight:800;font-size:22px;color:var(--ink);letter-spacing:-.02em;line-height:1.14}
.vcard .desc{font-size:13.5px;color:var(--slate);font-weight:500;margin:6px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.vcard ul{list-style:none;margin:0;padding:0}
.vcard li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#33455c;padding:9px 0}
.vcard li svg{flex:none}

/* ---------- Steps ---------- */
.step{position:relative;padding-top:14px;text-align:center}
.step .num{width:46px;height:46px;border-radius:12px;background:#eafaf3;color:var(--emerald-dark);display:grid;place-items:center;font-family:'Plus Jakarta Sans';font-weight:800;font-size:20px;margin:0 auto 16px;position:relative;z-index:1}
.step h4{font-size:17px;font-weight:700;margin-bottom:6px}
.step p{font-size:14px;color:var(--slate)}
.step.line::after{content:"";position:absolute;top:36px;left:calc(50% + 30px);width:calc(100% - 42px);height:2px;background:linear-gradient(90deg,var(--line),var(--line) 60%,transparent)}
.step.left{text-align:left}
.step.left .num{margin-left:0}
@media(max-width:991px){.step.line::after{display:none}}

/* ---------- Publishers / advertisers split ---------- */
.pa-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md)}
.pa-half{padding:44px 40px;position:relative;height:100%}
.pa-half.pub{background:linear-gradient(180deg,#f2fbf6,#fff)}
.pa-half.adv{background:linear-gradient(180deg,#f1f5fb,#fff);border-left:1px solid var(--line)}
.pa-badge{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;border-radius:100px;margin-bottom:16px}
.pa-half.pub .pa-badge{background:#dff3ea;color:var(--emerald-dark)}
.pa-half.adv .pa-badge{background:#e4ecf7;color:var(--navy-600)}
.pa-badge .d{width:8px;height:8px;border-radius:50%}
.pa-half.pub .pa-badge .d{background:var(--emerald)}
.pa-half.adv .pa-badge .d{background:var(--navy-600)}
.pa-half h3{font-size:25px;margin-bottom:22px}
.pa-half ul{list-style:none;margin-bottom:28px;padding:0}
.pa-half li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:15px;color:#33455c}
.pa-half li svg{flex:none;margin-top:3px}
@media(max-width:991px){.pa-half.adv{border-left:0;border-top:1px solid var(--line)}}

/* ---------- Testimonials ---------- */
.t{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%}
.t .stars{color:#fbbf24;letter-spacing:2px;font-size:15px;margin-bottom:12px}
.t p{font-size:15px;color:#33455c;margin-bottom:18px}
.t .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.t .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--navy-700),var(--emerald-dark));color:#fff;display:grid;place-items:center;font-weight:700;font-family:'Plus Jakarta Sans'}
.t .who b{font-size:15px;display:block}
.t .who small{color:var(--slate-light);font-size:13px}

/* ---------- Compliance checks ---------- */
.compliance{background:var(--bg)}
.check{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.check .tick{width:30px;height:30px;border-radius:8px;background:#eafaf3;color:var(--emerald-dark);display:grid;place-items:center;flex:none}
.check b{font-size:15.5px}
.check p{font-size:14px;color:var(--slate);margin:0}

/* ---------- Meet-us / events ---------- */
.meet-head{margin-bottom:42px}
.meet-head h2{font-size:clamp(28px,4vw,40px);font-weight:800;margin-top:12px;max-width:560px;line-height:1.14}
.meet-tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s;height:100%}
.meet-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:#cfe9de}
.meet-logo{position:relative;height:168px;background:#fff;display:flex;align-items:center;justify-content:center;padding:38px 26px 30px;border-bottom:1px solid var(--line)}
.meet-logo img{max-height:56px;max-width:70%;width:auto;object-fit:contain;display:block}
.meet-logo img.as{max-height:60px;max-width:74%}
.meet-logo img.aw{max-height:74px;max-width:56%}
.meet-logo img.pil{max-height:58px;max-width:78%;background:#15152b;border-radius:9px;padding:11px 15px}
.meet-chip{position:absolute;top:14px;left:14px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#03251b;background:var(--emerald-light);padding:5px 11px;border-radius:100px}
.meet-yr{position:absolute;top:15px;right:16px;font-family:'Plus Jakarta Sans';font-weight:800;font-size:13px;color:var(--slate-light)}
.meet-body{padding:22px 22px 24px}
.meet-body h4{font-size:20px;font-weight:800;margin-bottom:5px}
.meet-body p{font-size:14px;color:var(--slate);margin:0}

/* ---------- FAQ (native details/summary) ---------- */
.faq{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden;transition:.2s}
.faq[open]{box-shadow:var(--shadow-sm);border-color:#cfe9de}
.faq summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:'Plus Jakarta Sans';font-weight:700;font-size:17px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq .q-ic{flex:none;width:28px;height:28px;border-radius:8px;background:#eafaf3;color:var(--emerald-dark);transition:.25s;font-size:0;position:relative}
.faq .q-ic::before,.faq .q-ic::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%)}
.faq .q-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq[open] .q-ic{background:var(--emerald);color:#fff;transform:rotate(45deg)}
.faq .a{padding:0 24px 22px;font-size:15px;color:var(--slate);line-height:1.7}
.faq .a a{color:var(--emerald-dark);font-weight:600}

/* ---------- Final CTA (homepage) ---------- */
.cta{background:radial-gradient(800px 400px at 50% -20%,rgba(16,185,129,.25),transparent 60%),linear-gradient(180deg,var(--navy-800),var(--navy-900));color:#fff;text-align:center}
.cta h2{font-size:clamp(30px,4.4vw,48px);font-weight:800;margin-bottom:16px}
.cta p{font-size:19px;color:#b9c6d8;max-width:600px;margin:0 auto 30px}
.cta .hero-cta{justify-content:center}

/* ==========================================================================
   Inner-page components (publishers / advertisers / verticals)
   ========================================================================== */
.phero{background:radial-gradient(1000px 520px at 78% -18%,rgba(16,185,129,.18),transparent 60%),linear-gradient(180deg,var(--navy-900),var(--navy-800));color:#fff;padding:74px 0 70px;text-align:center;position:relative;overflow:hidden}
.phero .eyebrow{color:var(--emerald-light);justify-content:center}
.phero h1{font-size:clamp(34px,5vw,54px);font-weight:800;margin:16px 0 16px}
.phero h1 em{font-style:normal;color:var(--emerald-light)}
.phero p{font-size:19px;color:#b9c6d8;max-width:660px;margin:0 auto}
.phero .hero-cta{justify-content:center;margin-top:30px}

/* pstats strip (kept custom for dividers) */
.pstats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);margin-top:44px;position:relative;z-index:2}
.pstat{padding:26px 18px;text-align:center;border-right:1px solid var(--line)}
.pstat:last-child{border-right:0}
.pstat .n{font-family:'Plus Jakarta Sans';font-size:28px;font-weight:800;color:var(--navy-800)}
.pstat .n em{font-style:normal;color:var(--emerald)}
.pstat .l{font-size:13.5px;color:var(--slate);margin-top:4px}
@media(max-width:768px){
  .pstats{grid-template-columns:1fr 1fr}
  .pstat:nth-child(2n){border-right:0}
  .pstat:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

/* promo cards */
.promo{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s;display:flex;flex-direction:column;height:100%}
.promo:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.promo .pbar{height:6px}
.promo.ppc .pbar{background:linear-gradient(90deg,var(--emerald),var(--emerald-dark))}
.promo.cpl .pbar{background:linear-gradient(90deg,var(--navy-600),var(--navy-700))}
.promo.cps .pbar{background:linear-gradient(90deg,var(--teal),var(--emerald-dark))}
.promo.cpi .pbar{background:linear-gradient(90deg,var(--sky),var(--sky-dark))}
.promo .pin{padding:26px 24px;display:flex;flex-direction:column;flex:1}
.promo .top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.promo .mico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none}
.promo.ppc .mico{background:linear-gradient(135deg,var(--emerald),var(--emerald-dark))}
.promo.cpl .mico{background:linear-gradient(135deg,var(--navy-600),var(--navy-700))}
.promo.cps .mico{background:linear-gradient(135deg,var(--teal),#047857)}
.promo.cpi .mico{background:linear-gradient(135deg,var(--sky),var(--sky-dark))}
.promo .mcode{font-family:'Plus Jakarta Sans';font-weight:800;font-size:12.5px;padding:4px 10px;border-radius:7px}
.promo.ppc .mcode{color:var(--emerald-dark);background:#eafaf3}
.promo.cpl .mcode{color:var(--navy-600);background:#e8eef8}
.promo.cps .mcode{color:var(--teal);background:#e2f6f5}
.promo.cpi .mcode{color:var(--sky-dark);background:#e5f2fb}
.promo h3{font-size:19px;font-weight:800;margin-bottom:5px}
.promo .pd{font-size:14px;color:var(--slate);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.promo .plbl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-light);margin-bottom:10px}
.promo .ptags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.promo .ptag{font-size:12.5px;font-weight:500;color:#33455c;background:var(--bg);border:1px solid var(--line);padding:5px 11px;border-radius:100px}

/* payout / quality band */
.band{background:radial-gradient(800px 400px at 82% -30%,rgba(16,185,129,.2),transparent 60%),linear-gradient(180deg,var(--navy-800),var(--navy-900));color:#fff;border-radius:24px;padding:48px}
.band .eyebrow{color:var(--emerald-light)}
.band h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin:14px 0 10px;color:#fff}
.band p{color:#a9b8cc;font-size:16px}
.band ul{list-style:none;margin:0;padding:0}
.band li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:15.5px;color:#d5deea}
.band li svg{flex:none;margin-top:3px}
@media(max-width:575px){.band{padding:32px 24px}}

/* cta-final */
.cta-final{background:radial-gradient(800px 400px at 50% -20%,rgba(16,185,129,.22),transparent 60%),linear-gradient(180deg,var(--navy-800),var(--navy-900));color:#fff;text-align:center}
.cta-final h2{font-size:clamp(28px,4vw,44px);font-weight:800;margin-bottom:14px;color:#fff}
.cta-final p{font-size:18px;color:#b9c6d8;max-width:560px;margin:0 auto 28px}
.cta-final .hero-cta{justify-content:center}

/* verticals-by-model segments */
.vseg-head{color:#fff;padding:20px 26px;border-radius:16px;display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.vseg.cpl .vseg-head{background:linear-gradient(135deg,var(--navy-700),var(--navy-600))}
.vseg.ppc .vseg-head{background:linear-gradient(135deg,var(--emerald),var(--emerald-dark))}
.vseg.cps .vseg-head{background:linear-gradient(135deg,var(--teal),#047857)}
.vseg.cpi .vseg-head{background:linear-gradient(135deg,var(--sky),var(--sky-dark))}
.vseg-head .scode{background:rgba(255,255,255,.22);padding:5px 11px;border-radius:8px;font-family:'Plus Jakarta Sans';font-weight:800;font-size:13px;color:#fff}
.vseg-head h3{font-size:20px;color:#fff;margin:0}
.vseg-head p{margin:0 0 0 auto;color:rgba(255,255,255,.92);font-size:14.5px;font-weight:500}
.vv{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:14px;align-items:flex-start;transition:.25s;box-shadow:var(--shadow-sm);height:100%}
.vv:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#dfeae6}
.vv .vico{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;flex:none;color:#fff}
.vseg.cpl .vv .vico{background:linear-gradient(135deg,var(--navy-600),var(--navy-700))}
.vseg.ppc .vv .vico{background:linear-gradient(135deg,var(--emerald),var(--emerald-dark))}
.vseg.cps .vv .vico{background:linear-gradient(135deg,var(--teal),#047857)}
.vseg.cpi .vv .vico{background:linear-gradient(135deg,var(--sky),var(--sky-dark))}
.vv h4{font-size:16px;font-weight:700;margin-bottom:3px}
.vv p{font-size:13px;color:var(--slate);line-height:1.5;margin:0}
@media(max-width:991px){.vseg-head p{margin-left:0;width:100%}}

/* ==========================================================================
   Footer (injected by main.js)
   ========================================================================== */
.site-footer{background:var(--navy-900);color:#93a4bc;padding:64px 0 30px}
.site-footer .f-brand .brand{display:inline-flex;margin-bottom:16px}
.site-footer .f-brand .brand-logo{height:41px}
.site-footer .f-brand p{font-size:14.5px;max-width:300px;margin-bottom:20px}
.f-contact{font-size:14.5px;line-height:2}
.f-contact a:hover{color:var(--emerald-light)}
.f-col h5{color:#fff;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px}
.f-col ul{list-style:none;margin:0;padding:0}
.f-col li{margin-bottom:10px}
.f-col a{font-size:14.5px}
.f-col a:hover{color:var(--emerald-light)}
.socials{display:flex;gap:12px;margin-top:18px}
.socials a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);display:grid;place-items:center;color:#b6c4d6;transition:.2s}
.socials a:hover{background:var(--emerald);color:#03251b;border-color:var(--emerald)}
.f-top{padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08)}
.f-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:13.5px;flex-wrap:wrap;gap:12px}
.f-bottom .lnks{display:flex;gap:22px;flex-wrap:wrap}
.f-bottom a:hover{color:var(--emerald-light)}
@media(max-width:575px){
  .f-bottom{flex-direction:column;align-items:flex-start}
  .site-footer{padding:52px 0 26px}
}

/* ---------- Section rhythm on small screens ---------- */
@media(max-width:640px){
  .section{padding:64px 0}
  .section-inner{padding:52px 0}
  .hero-inner{padding:64px 0 72px}
  .hero-cta .btn{flex:1 1 auto}
}

/* ==========================================================================
   Page hero (contact / faq — shorter centered hero)
   ========================================================================== */
.page-hero{background:radial-gradient(1000px 500px at 80% -20%,rgba(16,185,129,.16),transparent 60%),linear-gradient(180deg,var(--navy-900),var(--navy-800));color:#fff;padding:64px 0 60px;text-align:center}
.page-hero .eyebrow{color:var(--emerald-light);justify-content:center}
.page-hero h1{font-size:clamp(32px,5vw,50px);font-weight:800;margin:16px 0 14px}
.page-hero p{font-size:18px;color:#b9c6d8;max-width:640px;margin:0 auto}

/* ==========================================================================
   Team page
   ========================================================================== */
.tm{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 22px;text-align:center;transition:.25s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%}
.tm:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:#cfe9de}
.tm .av{width:112px;height:112px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;color:#fff;font-family:'Plus Jakarta Sans';font-weight:800;font-size:34px;overflow:hidden}
.tm .av img{width:100%;height:100%;object-fit:cover;display:block}
.tm .av.photo{background:var(--bg);box-shadow:0 0 0 3px #eafaf3}
.tm h3{font-size:18px;font-weight:800;margin-bottom:3px}
.tm .role{font-size:13.5px;font-weight:600;color:var(--emerald-dark);margin-bottom:10px}
.tm p{font-size:13.5px;color:var(--slate);line-height:1.6;margin-bottom:14px}
.tm .tsoc{display:flex;justify-content:center;gap:8px;margin-top:auto;padding-top:6px}
.tm .tsoc a{width:34px;height:34px;border-radius:9px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;color:var(--slate);transition:.15s}
.tm .tsoc a:hover{background:var(--emerald);color:#03251b;border-color:var(--emerald)}
.tm .tsoc svg{display:block}
.tm.join{border:2px dashed #cbe3d5;background:linear-gradient(180deg,#f3fbf7,#fff);box-shadow:none;justify-content:center;align-items:center}
.tm.join:hover{border-color:var(--emerald);box-shadow:var(--shadow-sm);transform:translateY(-5px)}
.tm.join .joinav{background:#eafaf3;color:var(--emerald-dark);font-size:40px;font-weight:400;box-shadow:none}
.tm.join p{margin-bottom:18px}
.tm.join .jbtn{margin-top:auto;display:inline-flex;align-items:center;gap:6px;background:var(--emerald);color:#03251b;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:10px;transition:.2s}
.tm.join .jbtn:hover{background:var(--emerald-light);transform:translateY(-1px)}

/* ==========================================================================
   Compliance page
   ========================================================================== */
.checks .check{border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.checks .check .tick{width:34px;height:34px;border-radius:9px}
.checks .check b{display:block;margin-bottom:3px}
.frames{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:860px;margin:0 auto}
.frame{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:10px 18px;font-weight:600;font-size:14.5px;color:var(--ink);box-shadow:var(--shadow-sm)}
.frame .fd{width:8px;height:8px;border-radius:50%;background:var(--emerald)}
.disc{max-width:820px;margin:26px auto 0;text-align:center;font-size:13px;color:var(--slate-light);line-height:1.7}
.obcard{border:1px solid var(--line);border-radius:20px;padding:36px 34px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;height:100%}
.obcard::before{content:"";position:absolute;top:0;left:0;right:0;height:5px}
.obcard.pub::before{background:linear-gradient(90deg,var(--emerald),var(--emerald-dark))}
.obcard.adv::before{background:linear-gradient(90deg,var(--navy-600),var(--navy-700))}
.obcard.pub{background:linear-gradient(180deg,#f2fbf6,#fff)}
.obcard.adv{background:linear-gradient(180deg,#f1f5fb,#fff)}
.obcard .ob-ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;color:#fff}
.obcard.pub .ob-ic{background:linear-gradient(135deg,var(--emerald),var(--emerald-dark))}
.obcard.adv .ob-ic{background:linear-gradient(135deg,var(--navy-600),var(--navy-700))}
.obcard .kk{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.obcard.pub .kk{color:var(--emerald-dark)}
.obcard.adv .kk{color:var(--navy-600)}
.obcard h3{font-size:22px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.obcard ul{list-style:none;margin:0;padding:0}
.obcard li{display:flex;gap:13px;align-items:flex-start;padding:10px 0;font-size:15px;color:#33455c;line-height:1.5}
.obcard li .cb{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;margin-top:1px}
.obcard.pub li .cb{background:#dff3ea}
.obcard.adv li .cb{background:#e4ecf7}

/* ==========================================================================
   FAQ page
   ========================================================================== */
.tabhead{text-align:center}
.faq-tabs{display:inline-flex;background:#eef2f7;border:1px solid var(--line);border-radius:100px;padding:5px;margin:0 auto 40px;gap:4px}
.faq-tab{border:0;background:transparent;cursor:pointer;font-family:'Plus Jakarta Sans';font-weight:700;font-size:15px;color:var(--slate);padding:11px 26px;border-radius:100px;transition:.2s;display:inline-flex;align-items:center;gap:9px}
.faq-tab .d{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.5}
.faq-tab.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--ink)}
.faq-tab[data-tab="pub"].active{color:var(--emerald-dark)}
.faq-tab[data-tab="adv"].active{color:var(--navy-600)}
.faq-panel{display:none;max-width:840px;margin:0 auto}
.faq-panel.show{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.faq-panel.adv .faq .q-ic{background:#e8eef8;color:var(--navy-600)}
.faq-panel.adv .faq[open] .q-ic{background:var(--navy-600);color:#fff}
.faq-panel.adv .faq[open]{border-color:#c4d3ea}
.faq-cta{text-align:center;margin-top:50px}
.faq-cta p{color:var(--slate);margin-bottom:18px;font-size:17px}

/* ==========================================================================
   Contact page
   ========================================================================== */
.c-info .eyebrow{margin-bottom:14px}
.c-info h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-bottom:14px}
.c-info p.c-lead{font-size:17px;color:var(--slate);margin-bottom:28px}
.c-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.c-item:first-of-type{border-top:0}
.c-item .ic{width:44px;height:44px;border-radius:12px;background:#eafaf3;color:var(--emerald-dark);display:grid;place-items:center;flex:none}
.c-item h4{font-size:16px;font-weight:700;margin-bottom:2px}
.c-item a,.c-item span{font-size:15px;color:var(--slate)}
.c-item a:hover{color:var(--emerald-dark)}
.c-socials{display:flex;gap:12px;margin-top:24px}
.c-socials a{width:42px;height:42px;border-radius:11px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;color:var(--slate);font-weight:700;transition:.2s}
.c-socials a:hover{background:var(--emerald);color:#03251b;border-color:var(--emerald)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);padding:36px;height:100%}
.field{margin-bottom:18px}
.field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 3px rgba(16,185,129,.14)}
.field textarea{resize:vertical;min-height:110px}
.role-opt{position:relative;height:100%}
.role-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.role-opt span{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:13px;font-size:14.5px;font-weight:600;color:var(--slate);cursor:pointer;transition:.15s}
.role-opt input:checked+span{border-color:var(--emerald);background:#eafaf3;color:var(--emerald-dark)}
.form-note{font-size:13px;color:var(--slate-light);margin-top:14px;text-align:center}
.form-ok{display:none;background:#eafaf3;border:1px solid #bfe8d6;color:#046c4e;border-radius:12px;padding:16px 18px;font-size:15px;font-weight:600;margin-bottom:18px}
.form-ok.show{display:block}

/* ==========================================================================
   Legal pages (privacy / terms)
   ========================================================================== */
.legal{max-width:860px;margin:0 auto}
.legal .updated{font-size:14px;color:var(--slate-light);margin-bottom:14px}
.legal .lead{font-size:16.5px;color:#33455c;line-height:1.75;margin-bottom:12px}
.legal .note{background:#fff8ec;border:1px solid #f6e3b8;border-radius:12px;padding:16px 18px;font-size:14px;color:#7a5a12;line-height:1.65;margin:22px 0}
.legal .toc{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:26px 0 10px}
.legal .toc h4{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-light);margin-bottom:12px}
.legal .toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.legal .toc li{margin-bottom:7px;font-size:14.5px}
.legal .toc a{color:var(--ink)}
.legal .toc a:hover{color:var(--emerald-dark)}
.legal h2{font-size:21px;font-weight:800;margin:38px 0 12px;scroll-margin-top:90px;color:var(--ink)}
.legal h3{font-size:16.5px;font-weight:700;margin:20px 0 8px}
.legal p{font-size:15.5px;color:#33455c;line-height:1.75;margin-bottom:14px}
.legal ul{margin:0 0 16px;padding-left:22px}
.legal li{font-size:15.5px;color:#33455c;line-height:1.7;margin-bottom:8px}
.legal a{color:var(--emerald-dark);font-weight:600}
.legal .num{color:var(--emerald-dark);font-weight:800;margin-right:8px}
@media(max-width:600px){.legal .toc ol{columns:1}}

/* Header responsive tuning */
/* Mid band (≈992–1200px): tighten nav spacing/buttons so 7 links + Log in + Join
   never crowd or overflow while the inline menu is still shown. */
@media(min-width:992px) and (max-width:1200px){
  .header-container{padding-left:24px;padding-right:24px}
  .nav-inner{gap:12px}
  .nav-links{gap:18px}
  .nav-links .nav-link{font-size:14.5px}
  .site-header .btn{padding:10px 14px}
  .site-header .join-btn{padding:10px 14px 10px 16px}
}
@media(max-width:640px){.header-container{padding-left:20px;padding-right:20px}}
