:root{
  /* ===== BRAND ===== */
  --red: #B70609;
  --red-dark: #7A0406;
  --red-bright: #E31E23;
  --black: #141414;
  --off-black: #1c1c1c;
  --gray: #5a5a5a;
  --light-gray: #8a8a8a;
  --paper: #F7F5F3;
  --line: #e4dfdc;
  --white: #ffffff;
  --max: 1160px;

  /* ===== INK SCALE (text on light) ===== */
  --ink-900:#0F0F0F; --ink-700:#3A3A3A; --ink-500:#6B6B6B; --ink-300:#9B9B9B;
  /* ===== INK SCALE (text on dark) ===== */
  --dk-100:#FFFFFF; --dk-300:rgba(255,255,255,.78); --dk-500:rgba(255,255,255,.58); --dk-700:rgba(255,255,255,.34);
  --hairline:rgba(255,255,255,.10);

  /* ===== TYPE ===== */
  --font-display:'Anton', 'Archivo', Impact, sans-serif;
  --font-sans:'Archivo', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --fs-xs:12px; --fs-sm:13.5px; --fs-base:16px; --fs-md:17.5px;
  --fs-lg:21px; --fs-xl:26px; --fs-2xl:33px; --fs-3xl:42px; --fs-4xl:54px;

  /* ===== SPACE (8pt) ===== */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px; --sp-10:128px;

  /* ===== RADIUS ===== */
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-xl:22px; --r-full:999px;

  /* ===== ELEVATION ===== */
  --sh-1:0 1px 2px rgba(20,20,20,.05), 0 1px 3px rgba(20,20,20,.04);
  --sh-2:0 4px 12px rgba(20,20,20,.06), 0 2px 4px rgba(20,20,20,.04);
  --sh-3:0 12px 28px rgba(20,20,20,.09), 0 4px 10px rgba(20,20,20,.05);
  --sh-4:0 24px 56px rgba(20,20,20,.13), 0 8px 18px rgba(20,20,20,.06);
  --sh-red:0 10px 30px rgba(183,6,9,.28);

  /* ===== MOTION ===== */
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur:.22s;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  color: var(--black);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
.wrap{ max-width: var(--max); margin: 0 auto; padding: 0 28px; }
section{ position: relative; }

/* ---------- Utility ---------- */
.kicker{
  font-size: 12px; font-weight: 800; letter-spacing: 3px;
  color: var(--red); text-transform: uppercase; margin-bottom: 14px;
}
.eyebrow-line{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.eyebrow-line .bar{ width:28px; height:3px; background:var(--red); display:inline-block; }
.h1{
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 800; line-height: 1.05; letter-spacing: -1px;
  margin: 0 0 18px;
}
.h1 .accent{ color: var(--red); }
.h2{
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 800; line-height: 1.12; letter-spacing: -0.5px;
  margin: 0 0 14px;
}
.lede{
  font-size: 18px; line-height: 1.6; color: var(--gray); max-width: 620px;
}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-weight: 700; font-size: 14px; letter-spacing: 0.3px;
  padding: 14px 26px; border-radius: 3px;
  cursor:pointer; border: none; transition: transform .15s ease, box-shadow .15s ease;
}
.btn-primary{ background: var(--red); color:var(--white); }
.btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 10px 20px rgba(183,6,9,0.28); }
.btn-dark{ background: var(--black); color:var(--white); }
.btn-dark:hover{ transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.25); }
.btn-outline{ background: transparent; color: var(--black); border: 1.5px solid var(--black); }
.btn-outline:hover{ background: var(--black); color:var(--white); }
.btn-outline-white{ background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,0.55); }
.btn-outline-white:hover{ background: var(--white); color:var(--black); }
.btn-sm{ padding: 10px 18px; font-size: 12.5px; }
.pill{
  display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:1.5px;
  padding:6px 14px; border-radius:999px; text-transform:uppercase;
}
.pill-red{ background: rgba(183,6,9,0.09); color: var(--red); }
.pill-dark{ background: rgba(20,20,20,0.06); color: var(--black); }

/* ---------- Diagonal corner motif (brand signature) ---------- */
.corner{
  position:absolute; width:220px; height:220px; z-index:0; pointer-events:none;
}
.corner.tl{ top:0; left:0; background:linear-gradient(135deg,#8B0103,var(--red) 60%,#D9151A); clip-path:polygon(0 0,100% 0,0 100%); }
.corner.br{ bottom:0; right:0; background:linear-gradient(135deg,#94000A,var(--red) 55%,var(--red-dark)); clip-path:polygon(100% 100%,0 100%,100% 0); }

/* ---------- Nav ---------- */
.nav{
  position: sticky; top:0; z-index:50;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.nav-brand{ display:flex; align-items:center; gap:12px; }
.nav-brand img{ height:38px; width:auto; }
.nav-brand .word{ font-weight:800; font-size:15px; letter-spacing:0.3px; }
.nav-brand .word span{ color:var(--red); }
.nav-brand .word-stacked{ display:flex; flex-direction:column; line-height:1.05; }
.nav-brand .word-stacked .line1{ font-weight:800; font-size:13px; letter-spacing:1px; color:var(--black); }
.nav-brand .word-stacked .line2{ font-weight:800; font-size:13px; letter-spacing:1px; color:var(--red); }
.nav-links{ display:flex; align-items:center; gap:20px; }
.nav-links a{ font-size:12.5px; font-weight:700; color:var(--black); letter-spacing:0.2px; white-space:nowrap; }
.nav-links a:hover{ color:var(--red); }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-toggle{ display:none; }

/* ---------- Hero ---------- */
.hero{ padding: 92px 0 76px; overflow:hidden; background: var(--white); }
.hero .wrap{ position:relative; z-index:2; }
.hero-stats{
  display:grid; grid-template-columns: repeat(4,1fr); gap:0;
  margin-top: 56px; border-top: 1px solid var(--line);
}
.stat{ padding: 22px 22px 0; border-right:1px solid var(--line); }
.stat:last-child{ border-right:none; }
.stat .num{ font-size: 30px; font-weight:800; color:var(--red); line-height:1; }
.stat .lbl{ font-size: 12.5px; color: var(--gray); margin-top:8px; line-height:1.4; }
.hero-tagline{
  margin-top:20px; font-size:13px; font-weight:800; letter-spacing:2px; color:var(--black);
}
.hero-tagline .accent{ color:var(--red); }

/* ---------- Section shell ---------- */
.section{ padding: 96px 0; }
.section-dark{ background: var(--black); color: var(--white); }
.section-dark .lede{ color: rgba(255,255,255,0.65); }
.section-paper{ background: var(--paper); }
.section-head{ max-width: 700px; margin-bottom: 52px; }

/* ---------- Social section ---------- */
.social-grid{
  display:grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items:start;
  margin-bottom: 68px;
}
.social-list{ list-style:none; margin:24px 0 0; padding:0; }
.social-list li{
  display:flex; gap:14px; padding: 14px 0; border-bottom:1px solid var(--line);
  font-size: 15px; font-weight:600;
}
.social-list li:last-child{ border-bottom:none; }
.social-list li .chk{
  width:20px; height:20px; flex:none; border-radius:50%;
  background: var(--red); color:#fff; font-size:12px; font-weight:800;
  display:flex; align-items:center; justify-content:center; margin-top:1px;
}
.social-panel{
  background: var(--black); color:#fff; border-radius: 6px; padding: 34px;
  position:relative; overflow:hidden;
}
.social-panel .corner{ width:140px; height:140px; opacity:0.9; }
.social-panel h3{ font-size:20px; font-weight:800; margin: 0 0 10px; position:relative; z-index:1; }
.social-panel p{ color: rgba(255,255,255,0.65); font-size:14px; line-height:1.6; position:relative; z-index:1; }
.social-panel .platform-row{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; position:relative; z-index:1;
}
.platform-chip{
  font-size:12px; font-weight:700; padding:8px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,0.25); color:#fff;
}

/* ---------- Pricing tiers ---------- */
.tiers{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.tier{
  background: var(--white); border: 1px solid var(--line); border-radius: 6px;
  padding: 30px 24px; display:flex; flex-direction:column; position:relative;
  transition: transform .18s ease, box-shadow .18s ease;
}
.tier:hover{ transform: translateY(-4px); box-shadow: 0 18px 34px rgba(0,0,0,0.08); }
.tier.featured{ border-color: var(--red); box-shadow: 0 18px 34px rgba(183,6,9,0.12); }
.tier .tag{
  position:absolute; top:-12px; left:24px; background:var(--red); color:#fff;
  font-size:10.5px; font-weight:800; letter-spacing:1px; padding:5px 12px; border-radius:999px;
}
.tier .name{ font-size:13px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--gray); }
.tier .price{ font-size: 34px; font-weight:800; margin: 10px 0 4px; }
.tier .price .cents{ font-size:16px; font-weight:700; }
.tier .price .per{ font-size:13px; font-weight:600; color:var(--gray); }
.tier .desc{ font-size: 13.5px; color: var(--gray); line-height:1.55; margin-bottom:18px; min-height:64px; }
.tier ul{ list-style:none; padding:0; margin: 0 0 24px; flex:1; }
.tier ul li{
  font-size: 13px; padding: 8px 0 8px 20px; position:relative; color: var(--black);
  border-top: 1px solid var(--line);
}
.tier ul li:first-child{ border-top:none; }
.tier ul li::before{
  content:"—"; position:absolute; left:0; color: var(--red); font-weight:800;
}
.tier .btn{ width:100%; justify-content:center; }

/* ---------- Guide / PDF purchase block ---------- */
.guide-block{
  margin-top: 68px; background: var(--paper); border: 1px solid var(--line); border-radius: 8px;
  display:grid; grid-template-columns: 260px 1fr; gap: 40px; align-items:center;
  padding: 36px;
}
.guide-cover{
  background: var(--white); border-radius: 4px; box-shadow: 0 20px 40px rgba(0,0,0,0.18);
  aspect-ratio: 1; overflow:hidden; border: 1px solid var(--line);
}
.guide-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.guide-copy .price-row{ display:flex; align-items:baseline; gap:10px; margin: 6px 0 14px; }
.guide-copy .price-big{ font-size: 38px; font-weight:800; color:var(--red); }
.guide-copy .price-was{ font-size:15px; color:var(--light-gray); text-decoration:line-through; }
.guide-copy ul{ margin: 16px 0 22px; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.guide-copy ul li{ font-size:13px; font-weight:600; padding-left:18px; position:relative; }
.guide-copy ul li::before{ content:"✓"; position:absolute; left:0; color:var(--red); font-weight:800; }

/* ---------- Consulting section ---------- */
.consult-grid{
  display:grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 44px;
}
.consult-card{
  border: 1px solid var(--line); border-radius: 6px; padding: 30px;
  background: var(--white);
}
.consult-card .num{ font-size:13px; font-weight:800; color:var(--red); letter-spacing:1px; }
.consult-card h3{ font-size:19px; font-weight:800; margin:10px 0 10px; color: var(--black); }
.consult-card p{ font-size:14px; color:var(--gray); line-height:1.6; margin-bottom:14px; }
.consult-card ul{ list-style:none; padding:0; margin:0; }
.consult-card ul li{
  font-size:13px; font-weight:600; padding:8px 0; border-top:1px solid var(--line);
  color: var(--black);
}
.consult-card ul li:first-child{ border-top:none; }

.process-row{
  display:grid; grid-template-columns: repeat(4,1fr); gap:0; margin-top:56px;
  border-top:1px solid rgba(255,255,255,0.15);
}
.process-step{ padding: 26px 24px 0; border-right:1px solid rgba(255,255,255,0.15); }
.process-step:last-child{ border-right:none; }
.process-step .pnum{ font-size:34px; font-weight:800; color: var(--red-bright); line-height:1; }
.process-step h4{ font-size:15px; font-weight:800; margin:14px 0 8px; }
.process-step p{ font-size:13px; color:rgba(255,255,255,0.6); line-height:1.6; }

/* ---------- Founder ---------- */
.founder{
  display:grid; grid-template-columns: 260px 1fr; gap: 48px; align-items:center;
}
.founder-mark{
  background: var(--black); border-radius: 8px; aspect-ratio: 1; display:flex;
  align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.founder-mark img{ width:58%; }
.founder h3{ font-size:24px; font-weight:800; margin:0 0 4px; }
.founder .role{ font-size:13px; font-weight:700; color:var(--red); letter-spacing:1px; margin-bottom:16px; text-transform:uppercase; }
.founder p{ font-size:15px; color:var(--gray); line-height:1.7; margin-bottom:14px; }

/* ---------- CTA band ---------- */
.cta-band{
  background: var(--red); color:#fff; text-align:center; padding: 72px 0;
}
.cta-band h2{ color:#fff; }
.cta-band .lede{ color: rgba(255,255,255,0.85); margin:0 auto 30px; }
.cta-band .btn-outline-white{ margin-left:12px; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:60px; }
.contact-info .item{ margin-bottom: 22px; }
.contact-info .lbl{ font-size:11.5px; font-weight:800; letter-spacing:1.5px; color:var(--red); text-transform:uppercase; margin-bottom:6px; }
.contact-info .val{ font-size:16px; font-weight:700; }
form.card-form{
  background: var(--paper); border:1px solid var(--line); border-radius: 8px; padding: 32px;
}
form.card-form label{ font-size:12px; font-weight:800; letter-spacing:0.5px; text-transform:uppercase; color:var(--gray); display:block; margin-bottom:6px; }
form.card-form input, form.card-form select, form.card-form textarea{
  width:100%; padding:12px 14px; margin-bottom:18px; border:1px solid var(--line); border-radius:4px;
  font-family:inherit; font-size:14px; background:#fff !important; color: var(--black) !important;
}
form.card-form select{
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1L7 7L13 1' stroke='%235A5A5A' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
  cursor: pointer;
}
form.card-form textarea{ min-height:110px; resize:vertical; }
form.card-form .btn{ width:100%; justify-content:center; }

/* ---------- Footer ---------- */
footer{ background: var(--black); color: rgba(255,255,255,0.55); padding: 44px 0; }
footer .wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
footer .fbrand{ display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; font-size:14px; }
footer .fbrand img{ height:26px; }
footer .flinks{ display:flex; gap:22px; font-size:12.5px; }
footer .flinks a:hover{ color:#fff; }
footer .fmeta{ font-size:11.5px; width:100%; margin-top:18px; border-top:1px solid rgba(255,255,255,0.1); padding-top:18px; color: rgba(255,255,255,0.35); }

/* ---------- Sub-page hero ---------- */
.page-hero{ padding: 64px 0 56px; border-bottom:1px solid var(--line); }
.page-hero .kicker{ margin-bottom:12px; }
.page-hero .h1{ font-size: clamp(30px,4.2vw,46px); }
.breadcrumb{ font-size:12.5px; font-weight:700; color:var(--gray); margin-bottom:18px; }
.breadcrumb a{ color:var(--red); }

/* ---------- Service page detail blocks ---------- */
.detail-row{
  display:grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items:start; margin-bottom: 60px;
}
.detail-row.reverse{ direction: rtl; }
.detail-row.reverse > *{ direction: ltr; }
.detail-card{
  background: var(--paper); border:1px solid var(--line); border-radius:8px; padding:30px;
}
.detail-card h4{ font-size:16px; font-weight:800; margin:0 0 12px; }
.detail-card ul{ list-style:none; padding:0; margin:0; }
.detail-card ul li{
  font-size:13.5px; padding:9px 0; border-top:1px solid var(--line); font-weight:600;
}
.detail-card ul li:first-child{ border-top:none; }

/* ---------- Per-service form sections ---------- */
.form-section{
  border-top: 1px solid var(--line); padding-top: 44px; margin-top: 44px;
}
.form-section-head{ margin-bottom: 24px; }
.form-section-head .tag{ display:inline-block; }
.form-section-head h3{ font-size:22px; font-weight:800; margin:10px 0 8px; }
.form-section-head p{ font-size:14px; color:var(--gray); max-width:560px; }
.form-two-col{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-two-col .full{ grid-column: 1 / -1; }

/* ---------- Founder photo ---------- */
.founder-photo{
  border-radius: 8px; overflow:hidden; aspect-ratio: 1; background: var(--black);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.founder-photo img{ width:100%; height:100%; object-fit:cover; }
.founder-photo.placeholder{
  border: 2px dashed rgba(255,255,255,0.25);
}
.founder-photo.placeholder .ph-inner{ text-align:center; color: rgba(255,255,255,0.55); padding: 20px; }
.founder-photo.placeholder .ph-inner .mark{ font-size:44px; font-weight:800; color: var(--red); margin-bottom:10px; }
.founder-photo.placeholder .ph-inner .txt{ font-size:12px; font-weight:700; letter-spacing:0.5px; line-height:1.5; }

/* ---------- Founder quote ---------- */
.founder-quote{
  margin-top: 54px; background: var(--black); border-radius: 8px; padding: 46px;
  position: relative; overflow:hidden;
}
.founder-quote .corner{ width:160px; height:160px; opacity:0.85; }
.founder-quote .qmark{
  font-size: 70px; font-weight:800; color: var(--red); line-height:0.5; margin-bottom:18px;
  position:relative; z-index:1; font-family: Georgia, serif;
}
.founder-quote p{
  color: #fff; font-size: 17px; line-height: 1.75; font-weight: 500;
  max-width: 780px; position:relative; z-index:1; margin: 0 0 14px;
}
.founder-quote .attribution{
  margin-top: 20px; font-size: 12.5px; font-weight:800; letter-spacing:1.5px;
  color: var(--red-bright); text-transform:uppercase; position:relative; z-index:1;
}

/* ---------- Overview cards (index page) ---------- */
.overview-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
.overview-card{
  border:1px solid var(--line); border-radius:8px; padding:34px; position:relative; overflow:hidden;
  background: var(--white);
}
.overview-card.dark{ background:var(--black); color:#fff; border-color:var(--black); }
.overview-card.dark p{ color:rgba(255,255,255,0.65); }
.overview-card .oc-kicker{ font-size:11.5px; font-weight:800; letter-spacing:1.5px; color:var(--red); text-transform:uppercase; margin-bottom:10px; }
.overview-card h3{ font-size:22px; font-weight:800; margin:0 0 12px; }
.overview-card p{ font-size:14px; color:var(--gray); line-height:1.6; margin-bottom:20px; }

@media (max-width: 900px){
  .detail-row{ grid-template-columns:1fr; }
  .detail-row.reverse{ direction: ltr; }
  .form-two-col{ grid-template-columns:1fr; }
  .overview-grid{ grid-template-columns:1fr; }
}

@media (max-width: 1150px){
  .nav-links{ display:none; }
  .hero-stats{ grid-template-columns: repeat(2,1fr); }
  .stat{ border-right:none; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:4px; }
  .social-grid{ grid-template-columns:1fr; }
  .tiers{ grid-template-columns: repeat(2,1fr); }
  .guide-block{ grid-template-columns:1fr; }
  .guide-cover{ max-width:220px; margin:0 auto; }
  .consult-grid{ grid-template-columns:1fr; }
  .process-row{ grid-template-columns: repeat(2,1fr); }
  .process-step{ border-right:none; border-bottom:1px solid rgba(255,255,255,0.15); padding-bottom:20px; margin-bottom:10px;}
  .founder{ grid-template-columns:1fr; }
  .founder-mark{ max-width:220px; }
  .contact-grid{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .tiers{ grid-template-columns:1fr; }
  .guide-copy ul{ grid-template-columns:1fr; }
}

/* ---------- Thank-you / download page ---------- */
.ty-wrap{
  min-height: 78vh; display:flex; align-items:center; justify-content:center;
  padding: 60px 24px;
}
.ty-card{
  max-width: 560px; text-align:center; background: var(--white);
  border: 1px solid var(--line); border-radius: 10px; padding: 56px 44px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.08);
}
.ty-check{
  width:64px; height:64px; border-radius:50%; background: var(--red);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:30px; font-weight:800; margin: 0 auto 22px;
}
.ty-card h1{ font-size: 26px; font-weight:800; margin: 0 0 10px; }
.ty-card p{ font-size:14.5px; color:var(--gray); line-height:1.6; margin-bottom:26px; }
.ty-card .btn{ width:100%; justify-content:center; margin-bottom:12px; }
.ty-meta{ font-size:11.5px; color: var(--light-gray); margin-top:18px; }
.ty-cover{
  width:110px; margin:0 auto 22px; aspect-ratio:1; background:var(--paper);
  border:1px solid var(--line); border-radius:4px; box-shadow:0 12px 24px rgba(0,0,0,0.12);
  overflow:hidden;
}
.ty-cover img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- Product landing page (ads traffic) ---------- */
.lp-nav{ padding: 22px 0; border-bottom:1px solid var(--line); }
.lp-nav .wrap{ display:flex; justify-content:center; }

.lp-hero{ padding: 56px 0 40px; }
.lp-hero-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center;
}
.lp-cover-wrap{ position:relative; }
.lp-cover-wrap img{ border-radius:8px; box-shadow: 0 30px 60px rgba(0,0,0,0.22); }
.lp-badge{
  position:absolute; top:-14px; right:-14px; background:var(--red); color:#fff;
  font-size:12px; font-weight:800; letter-spacing:0.5px; padding:10px 16px; border-radius:999px;
  box-shadow: 0 10px 20px rgba(183,6,9,0.35); transform:rotate(6deg);
}
.lp-price-row{ display:flex; align-items:baseline; gap:12px; margin:18px 0 22px; }
.lp-price{ font-size:44px; font-weight:800; color:var(--red); }
.lp-stars{ color:var(--red); font-size:14px; letter-spacing:2px; margin-bottom:10px; }
.lp-trust{ display:flex; gap:22px; flex-wrap:wrap; margin-top:22px; }
.lp-trust-item{ font-size:12.5px; font-weight:700; color:var(--gray); display:flex; align-items:center; gap:6px; }
.lp-trust-item .dot{ color:var(--red); }

.lp-included{ padding: 60px 0; }
.lp-included-grid{
  display:grid; grid-template-columns: repeat(2,1fr); gap: 12px 32px; margin-top:30px;
}
.lp-included-item{
  display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:600;
}
.lp-included-item .chk{
  width:22px; height:22px; flex:none; border-radius:50%; background:var(--red); color:#fff;
  font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:1px;
}

.lp-forwhom{ padding: 56px 0; }
.lp-forwhom-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }
.lp-forwhom-card{ border:1px solid var(--line); border-radius:8px; padding:26px; }
.lp-forwhom-card .lbl{ font-size:11.5px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:12px; }
.lp-forwhom-card.yes .lbl{ color:var(--red); }
.lp-forwhom-card.no .lbl{ color:var(--gray); }
.lp-forwhom-card ul{ list-style:none; padding:0; margin:0; }
.lp-forwhom-card ul li{ font-size:13.5px; padding:7px 0; }

.lp-faq{ padding: 60px 0; }
.lp-faq-item{ border-bottom:1px solid var(--line); padding: 20px 0; }
.lp-faq-item h4{ font-size:15px; font-weight:800; margin:0 0 8px; }
.lp-faq-item p{ font-size:13.5px; color:var(--gray); line-height:1.6; margin:0; }

.lp-final-cta{ background:var(--black); color:#fff; text-align:center; padding: 64px 0; }
.lp-final-cta h2{ color:#fff; }
.lp-final-cta .lp-price{ color:var(--red-bright); }

.lp-sticky-cta{
  position: sticky; bottom:0; left:0; right:0; background:var(--white);
  border-top:1px solid var(--line); padding:14px 0; z-index:40; display:none;
  box-shadow: 0 -8px 24px rgba(0,0,0,0.08);
}
.lp-sticky-cta .wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.lp-sticky-cta .price{ font-weight:800; font-size:16px; }

@media (max-width: 900px){
  .lp-hero-grid{ grid-template-columns:1fr; }
  .lp-cover-wrap{ max-width:280px; margin:0 auto; }
  .lp-included-grid{ grid-template-columns:1fr; }
  .lp-forwhom-grid{ grid-template-columns:1fr; }
  .lp-sticky-cta{ display:block; }
}

/* ============ NEW HOMEPAGE + ECOSYSTEM STYLES ============ */

/* Hero v2 */
.hero-v2{ padding: 64px 0 20px; text-align:center; }
.hero-v2 .h1{ max-width: 880px; margin:0 auto 18px; }
.hero-v2 .lede{ max-width: 760px; margin: 0 auto; }

.hero-video-wrap{ max-width: 380px; margin: 40px auto 0; }
.hero-video-frame{
  position:relative; width:100%; aspect-ratio: 1078/1182; border-radius:14px; overflow:hidden;
  background:#0a0a0a; box-shadow: 0 30px 60px rgba(0,0,0,0.35); border:1px solid var(--line);
}
.hero-video-frame video{ width:100%; height:100%; display:block; object-fit:cover; }
.hero-sound-prompt{
  position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
  background: rgba(0,0,0,0.75); backdrop-filter: blur(4px);
  color:#fff; font-size:13px; font-weight:700; padding:10px 18px; border-radius:999px;
  display:flex; align-items:center; gap:8px; cursor:pointer; z-index:5;
  border: 1px solid rgba(255,255,255,0.25); animation: hsPulse 1.8s ease-in-out infinite;
}
.hero-sound-prompt .ico{ color:#E31E23; font-size:15px; }
@keyframes hsPulse{ 0%,100%{transform:translateX(-50%) scale(1);} 50%{transform:translateX(-50%) scale(1.04);} }

/* Free offer block */
.free-offer{ padding: 60px 0; }
.free-offer-card{
  max-width: 900px; margin: 0 auto; background: var(--black); border-radius: 14px;
  padding: 44px; box-shadow: 0 30px 60px rgba(0,0,0,0.25); position:relative; overflow:hidden;
}
.free-offer-card::before{
  content:""; position:absolute; top:-120px; right:-120px; width:340px; height:340px;
  background: radial-gradient(circle, rgba(183,6,9,0.35), rgba(183,6,9,0) 70%);
}
.free-offer-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items:center; position:relative; z-index:2; }
.free-offer-badge{
  display:inline-block; background: var(--red); color:#fff; font-size:11px; font-weight:800;
  letter-spacing:1px; padding:7px 14px; border-radius:999px; margin-bottom:14px;
}
.free-offer-card h2{ color:#fff; font-size: 28px; margin-bottom:12px; }
.free-offer-card p.desc{ color: rgba(255,255,255,0.7); font-size:14.5px; line-height:1.6; margin-bottom:22px; }
.free-offer-cover img{ width:100%; border-radius:8px; box-shadow: 0 20px 40px rgba(0,0,0,0.4); }

.lead-form-inline .form-two-col{ margin-bottom: 14px; }
.lead-form-inline label{ color: rgba(255,255,255,0.75); font-size:11px; }
.lead-form-inline input{
  background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); color:#fff;
}
.lead-form-inline input::placeholder{ color: rgba(255,255,255,0.35); }
.lead-form-inline .btn{ width:100%; justify-content:center; margin-top:4px; }
.lead-form-inline .btn:disabled{ opacity:0.5; cursor:not-allowed; }
.lead-form-note{ font-size:11px; color:rgba(255,255,255,0.4); margin-top:10px; text-align:center; }

/* Guides grid (2x2) */
.guides-section{ padding: 60px 0; }
.guides-grid-2x2{ display:grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top:36px; }
.guide-card{
  border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--white);
  transition: box-shadow 0.15s, transform 0.15s; display:flex; flex-direction:column;
}
.guide-card:hover{ box-shadow: 0 20px 40px rgba(0,0,0,0.1); transform: translateY(-2px); }
.guide-card-img{ aspect-ratio: 3/4; background: var(--black); overflow:hidden; }
.guide-card-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.guide-card-body{ padding: 22px 22px 24px; flex:1; display:flex; flex-direction:column; }
.guide-card-body h3{ font-size:17px; font-weight:800; margin-bottom:8px; }
.guide-card-body p{ font-size:13px; color:var(--gray); line-height:1.5; flex:1; margin-bottom:16px; }
.guide-card-price-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.guide-card-price{ font-size:20px; font-weight:800; color:var(--red); }

/* Services section (no price, form-linked) */
.services-section{ padding: 64px 0 0; background: var(--paper); }
.services-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top:36px; }
.service-card{
  background: var(--white); border:1px solid var(--line); border-radius:12px; padding:30px 26px;
}
.service-card .num{
  width:38px; height:38px; border-radius:50%; background:var(--black); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; margin-bottom:18px;
}
.service-card h3{ font-size:17px; font-weight:800; margin-bottom:10px; }
.service-card p{ font-size:13.5px; color:var(--gray); line-height:1.55; margin-bottom:18px; }

/* Contact / inquiry form (full-width band) */
.contact-band{ background: var(--black); padding: 64px 0 70px; margin-top:50px; }
.contact-band .kicker{ justify-content:center; }
.contact-band h2{ color:#fff; text-align:center; }
.contact-band .lede{ color:rgba(255,255,255,0.65); text-align:center; max-width:600px; margin:0 auto 36px; }
.contact-form-card{
  max-width: 640px; margin:0 auto; background: rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.12); border-radius:14px; padding:36px;
}
.contact-form-card label{ color: rgba(255,255,255,0.75); }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea{
  background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); color:#fff;
}
.contact-form-card select option{ color: var(--black); background:#fff; }
.contact-form-card input::placeholder, .contact-form-card textarea::placeholder{ color:rgba(255,255,255,0.35); }
.contact-form-card .btn{ width:100%; justify-content:center; margin-top:6px; }
.contact-success{
  display:none; text-align:center; color:#fff; padding: 20px 0;
}
.contact-success.active{ display:block; }
.contact-success .check{
  width:56px; height:56px; border-radius:50%; background:var(--red); color:#fff; font-size:24px;
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}

/* Product detail page */
.product-hero{ padding: 56px 0; }
.product-hero-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:56px; align-items:center; }
.product-hero-img img{ width:100%; border-radius:10px; box-shadow: 0 30px 60px rgba(0,0,0,0.18); }
.product-hero h1{ font-size:34px; margin-bottom:14px; }
.product-price-tag{ font-size:32px; font-weight:800; color:var(--red); margin: 18px 0; }
.product-includes{ margin: 24px 0; }
.product-includes li{ font-size:14px; padding:8px 0; border-bottom:1px solid var(--line); list-style:none; }
.product-includes li::before{ content:"\2713"; color:var(--red); font-weight:800; margin-right:10px; }

/* Books & Courses grid page */
.courses-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:28px; margin-top:40px; }
@media (max-width: 760px){ .courses-grid{ grid-template-columns:1fr; } }

/* Generic full-page service block */
.service-detail{ padding: 50px 0; border-bottom:1px solid var(--line); }
.service-detail:last-of-type{ border-bottom:none; }
.service-detail-grid{ display:grid; grid-template-columns: 0.4fr 0.6fr; gap:50px; }
.service-detail-label{ font-size:12px; font-weight:800; letter-spacing:1px; color:var(--red); text-transform:uppercase; }
.service-detail h2{ margin-top:8px; }
.service-detail-price{ display:inline-block; margin-top:14px; font-size:15px; font-weight:800; background:var(--paper); padding:8px 16px; border-radius:8px; }

@media (max-width: 900px){
  .hero-video-wrap{ max-width: 300px; }
  .free-offer-grid{ grid-template-columns:1fr; }
  .free-offer-card{ padding:28px; }
  .guides-grid-2x2{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .product-hero-grid{ grid-template-columns:1fr; }
  .service-detail-grid{ grid-template-columns:1fr; gap:16px; }
}

/* Bundle covers mini-grid (shared across product-bundle.html and books-courses.html) */
.bundle-covers{
  display:grid; grid-template-columns: repeat(4,1fr); gap:10px;
}
.bundle-covers img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:6px; box-shadow:0 8px 20px rgba(0,0,0,0.15); display:block; }
.bundle-savings{
  display:inline-flex; align-items:center; gap:8px; background:var(--paper); border:1px solid var(--line);
  border-radius:8px; padding:10px 16px; font-size:13px; font-weight:700; margin: 6px 0 20px;
}
.bundle-savings .was{ text-decoration:line-through; color:var(--light-gray); font-weight:600; }
.bundle-savings .save{ color:var(--red); }
@media (max-width:700px){ .bundle-covers{ grid-template-columns: repeat(3,1fr); } }

/* ============ MOBILE NAV MENU ============ */
.nav-hamburger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:none; cursor:pointer; padding:0; z-index:210;
}
.nav-hamburger span{ display:block; width:100%; height:2.5px; background:var(--black); border-radius:2px; transition: transform 0.2s, opacity 0.2s; }
.nav-hamburger.active span:nth-child(1){ transform: translateY(7.5px) rotate(45deg); }
.nav-hamburger.active span:nth-child(2){ opacity:0; }
.nav-hamburger.active span:nth-child(3){ transform: translateY(-7.5px) rotate(-45deg); }

.mobile-menu-overlay{
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:190;
  opacity:0; transition: opacity 0.2s;
}
.mobile-menu-overlay.active{ display:block; opacity:1; }

.mobile-menu-panel{
  position:fixed; top:0; right:-300px; width:280px; max-width:80vw; height:100vh;
  background:#fff; z-index:200; box-shadow:-10px 0 30px rgba(0,0,0,0.15);
  transition: right 0.25s ease; padding-top:88px; overflow-y:auto;
}
.mobile-menu-panel.active{ right:0; }
.mobile-menu-panel a{
  display:block; padding:16px 26px; font-size:15px; font-weight:700; color:var(--black);
  border-bottom:1px solid var(--line);
}
.mobile-menu-panel a:hover{ color:var(--red); background:var(--paper); }
.mobile-menu-panel .mm-cta{ padding:22px 26px; }
.mobile-menu-panel .mm-cta .btn{ width:100%; justify-content:center; }

@media (max-width:1150px){
  .nav-hamburger{ display:flex; }
}

/* Fix for the square Meta Ads cover shown inside portrait (3:4) frames — show full image, no side-cropping */
img.cover-fit-contain{ object-fit: contain !important; }

/* Footer legal link row (Results Disclosure, etc.) */
.flegal{ margin-top:10px; font-size:11.5px; color:var(--light-gray); max-width:640px; line-height:1.6; }
.flegal a{ color:var(--light-gray); text-decoration:underline; font-weight:700; }
.flegal a:hover{ color:var(--red); }

/* ============ HERO V3: full-bleed video background + glass card ============ */
.hero-v3{
  position:relative; height:100vh; min-height:680px; max-height:1020px;
  overflow:hidden; display:flex; align-items:center; justify-content:center;
  background:#0a0a0a;
}
.hero-bg-video{
  position:absolute; top:0; left:0; width:100%; height:100%;
  object-fit:cover; object-position: center 22%; z-index:0;
}
.hero-bg-overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.22) 45%, rgba(0,0,0,0.6) 100%);
}
.hero-v3-content{
  position:relative; z-index:2; display:flex; justify-content:center; width:100%;
}
.hero-glass-card{
  background: rgba(10,10,10,0.42);
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 20px;
  padding: 50px 56px;
  max-width: 780px;
  text-align:center;
  box-shadow: 0 30px 80px rgba(0,0,0,0.45);
}
.hero-h1{ color:#fff; }
.hero-accent{
  background: linear-gradient(135deg, #E31E23, #ff4d4f 50%, #E31E23);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-lede{ color: rgba(255,255,255,0.85); max-width:100%; margin:0 auto; }

.hero-sound-prompt-v3{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3;
}

@media (max-width: 760px){
  .hero-v3{ height:92vh; min-height:640px; }
  .hero-glass-card{ padding:32px 26px; margin:0 20px; border-radius:16px; }
}

/* ============ COMPANY ECOSYSTEM (mother-company homepage + subsidiary pages) ============ */

/* Homepage: intro strip explaining the ecosystem */
.eco-intro{ padding: 56px 0 10px; text-align:center; }
.eco-intro .wrap{ max-width: 760px; }

/* Homepage: 3-company showcase grid */
.company-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; margin-top: 40px; }
.company-card{
  border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--white);
  display:flex; flex-direction:column; transition: box-shadow .15s, transform .15s;
}
.company-card:hover{ box-shadow: 0 24px 50px rgba(0,0,0,0.12); transform: translateY(-3px); }
.company-card-logo{
  padding: 34px 30px 20px; display:flex; align-items:center; justify-content:center;
  background: var(--black); min-height: 130px;
}
.company-card-logo.light-bg{ background: var(--paper); }
.company-card-logo img{ max-width: 100%; max-height: 80px; object-fit:contain; }
.company-card-body{ padding: 24px 26px 28px; flex:1; display:flex; flex-direction:column; }
.company-card-tag{ font-size:11px; font-weight:800; letter-spacing:1px; color:var(--red); text-transform:uppercase; margin-bottom:8px; }
.company-card-body h3{ font-size:19px; font-weight:800; margin-bottom:10px; }
.company-card-body p{ font-size:13.5px; color:var(--gray); line-height:1.55; flex:1; margin-bottom:18px; }
.company-card-services{ font-size:11.5px; color:var(--light-gray); margin-bottom:18px; line-height:1.6; }

/* Homepage: books & courses / about teaser band */
.teaser-band{ background: var(--paper); padding: 60px 0; }
.teaser-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top:36px; }
.teaser-card{
  background:var(--white); border:1px solid var(--line); border-radius:14px; padding:34px;
  display:flex; flex-direction:column;
}
.teaser-card h3{ font-size:20px; font-weight:800; margin-bottom:10px; }
.teaser-card p{ font-size:14px; color:var(--gray); line-height:1.55; margin-bottom:20px; flex:1; }

/* Company page hero (reused by all 3 subsidiary pages) */
.co-hero{ padding: 60px 0 50px; }
.co-hero-logo-band{
  display:flex; justify-content:center; padding: 26px 20px; margin-bottom: 40px; border-radius:16px;
  background: var(--black);
}
.co-hero-logo-band img{ width: 100%; max-width: 640px; height:auto; object-fit:contain; }
.co-hero-logo-band.light{ background: var(--paper); }
.co-hero .wrap{ max-width: 820px; text-align:center; }

/* Services strip used on company pages */
.co-services-strip{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin: 26px 0 6px; }
.co-service-chip{
  font-size:12.5px; font-weight:800; letter-spacing:0.3px; color:var(--black);
  background: var(--paper); border:1px solid var(--line); padding:10px 18px; border-radius:999px;
}

/* "Why This Matters" money-bleed style section */
.bleed-section{ padding: 56px 0; }
.bleed-section .wrap{ max-width: 780px; }
.bleed-section p{ font-size:15px; line-height:1.75; color:var(--black); margin-bottom:20px; }
.bleed-stats{ display:grid; grid-template-columns: repeat(3,1fr); gap:20px; margin: 34px 0; }
.bleed-stat{ text-align:center; padding: 22px 16px; background:var(--paper); border-radius:12px; border:1px solid var(--line); }
.bleed-stat .num{ font-size:30px; font-weight:800; color:var(--red); margin-bottom:6px; }
.bleed-stat .lbl{ font-size:12px; color:var(--gray); font-weight:700; }

/* Pricing tier cards (CCL Web Co) */
.tier-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; margin-top:36px; }
.tier-card{
  border:1px solid var(--line); border-radius:14px; padding:32px 28px; background:var(--white);
  display:flex; flex-direction:column;
}
.tier-card.featured{ border-color: var(--red); box-shadow: 0 20px 50px rgba(183,6,9,0.12); position:relative; }
.tier-card .tier-badge{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--red); color:#fff; font-size:11px; font-weight:800; letter-spacing:1px;
  padding:6px 16px; border-radius:999px;
}
.tier-card h3{ font-size:17px; font-weight:800; margin-bottom:6px; }
.tier-card .tier-price{ font-size:32px; font-weight:800; color:var(--red); margin: 10px 0 18px; }
.tier-card .tier-price .est{ font-size:13px; color:var(--light-gray); font-weight:600; }
.tier-card ul{ list-style:none; margin-bottom:22px; flex:1; }
.tier-card ul li{ font-size:13.5px; padding:7px 0; border-bottom:1px solid var(--line); }
.tier-card ul li::before{ content:"\2713"; color:var(--red); font-weight:800; margin-right:8px; }

/* Extensive qualifying form (Tibbs Consulting Group) */
.qualify-form-wrap{ max-width: 640px; margin: 0 auto; }
.qualify-form-wrap .form-two-col{ margin-bottom:16px; }

@media (max-width: 900px){
  .company-grid{ grid-template-columns:1fr; }
  .teaser-grid{ grid-template-columns:1fr; }
  .bleed-stats{ grid-template-columns:1fr; }
  .tier-grid{ grid-template-columns:1fr; }
  .co-hero-logo-band img{ max-height:100px; }
}

/* ============ TITAN HOMEPAGE HERO (logo video + stats) ============ */
.titan-hero{ background:#0a0a0a; padding: 70px 0 60px; position:relative; overflow:hidden; }
.titan-hero::before{
  content:""; position:absolute; top:-200px; right:-200px; width:600px; height:600px;
  background: radial-gradient(circle, rgba(183,6,9,0.28) 0%, rgba(183,6,9,0) 70%);
}
.titan-hero-grid{ display:grid; grid-template-columns: 1.15fr 0.85fr; gap:54px; align-items:center; position:relative; z-index:2; }
.titan-hero .kicker{ color:var(--red); }
.titan-hero .h1{ color:#fff; }
.titan-hero .lede{ color:rgba(255,255,255,0.75); max-width:100%; }

.titan-stats{ display:flex; gap:30px; margin: 30px 0 26px; }
.titan-stat .num{ font-size:30px; font-weight:800; color:#fff; line-height:1; }
.titan-stat .lbl{ font-size:11.5px; color:rgba(255,255,255,0.55); font-weight:700; margin-top:6px; max-width:120px; }

.titan-video-wrap{
  border-radius:16px; overflow:hidden; box-shadow: 0 30px 70px rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.1);
}
.titan-video{ width:100%; display:block; aspect-ratio:1/1; object-fit:cover; }

/* ============ TITAN ROW (full company showcase, alternating) ============ */
.titan-row{ padding: 66px 0; }
.titan-row-grid{ display:grid; grid-template-columns: 0.8fr 1.2fr; gap:56px; align-items:center; }
.titan-row-grid.reverse{ grid-template-columns: 1.2fr 0.8fr; }
.titan-row-grid.reverse .titan-row-body{ order:1; }
.titan-row-grid.reverse .titan-row-logo{ order:2; }
.titan-row-logo{
  background:var(--white); border:1px solid var(--line); border-radius:16px; padding:26px;
  display:flex; align-items:center; justify-content:center; box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}
.titan-row-logo.dark{ background:#0a0a0a; border-color:#0a0a0a; }
.titan-row-logo img{ width:100%; height:auto; object-fit:contain; border-radius:8px; }
.titan-row-body h3{ font-size:28px; font-weight:800; margin: 6px 0 14px; }
.titan-row-body p{ font-size:15px; color:var(--gray); line-height:1.65; margin-bottom:22px; max-width:520px; }
.titan-row-services{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.titan-row-services span{
  font-size:12px; font-weight:700; color:var(--black); background:var(--paper);
  border:1px solid var(--line); padding:8px 14px; border-radius:999px;
}

@media (max-width: 900px){
  .titan-hero-grid{ grid-template-columns:1fr; }
  .titan-stats{ flex-wrap:wrap; gap:20px; }
  .titan-row-grid, .titan-row-grid.reverse{ grid-template-columns:1fr; }
  .titan-row-grid.reverse .titan-row-body{ order:2; }
  .titan-row-grid.reverse .titan-row-logo{ order:1; }
}

/* ============ ECOSYSTEM ORG-CHART DIAGRAM (homepage hero) ============ */
.eco-diagram{
  background: rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1);
  border-radius:16px; padding: 40px 30px 34px; box-shadow: 0 30px 70px rgba(0,0,0,0.4);
}
.eco-diagram-parent{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  width: fit-content; margin: 0 auto; padding-bottom: 26px;
  position:relative;
}
.eco-diagram-parent img{ width:56px; height:auto; }
.eco-diagram-parent span{ font-size:13px; font-weight:800; color:#fff; text-align:center; }
.eco-diagram-parent::after{
  content:""; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:2px; height:26px; background: rgba(255,255,255,0.25);
}
.eco-diagram-children{
  display:flex; justify-content:space-between; gap:14px; position:relative; padding-top:26px;
}
.eco-diagram-children::before{
  content:""; position:absolute; top:0; left:16.5%; right:16.5%; height:2px;
  background: rgba(255,255,255,0.25);
}
.eco-diagram-child{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:10px;
  background: rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12);
  border-radius:12px; padding: 18px 10px 16px; position:relative;
}
.eco-diagram-child::before{
  content:""; position:absolute; top:-26px; left:50%; transform:translateX(-50%);
  width:2px; height:26px; background: rgba(255,255,255,0.25);
}
.eco-diagram-child img{ width:100%; max-width:80px; height:auto; border-radius:6px; }
.eco-diagram-child span{ font-size:11px; font-weight:700; color:rgba(255,255,255,0.85); text-align:center; line-height:1.3; }

@media (max-width: 900px){
  .eco-diagram-children{ flex-direction:column; gap:20px; }
  .eco-diagram-children::before{ display:none; }
  .eco-diagram-child::before{ top:-20px; height:20px; }
}

/* ============ EVENT HERO (Cardone-style semi-clear box) ============ */
.event-hero{
  background:#0a0a0a; padding: 130px 0; position:relative; overflow:hidden;
  min-height: 720px; display:flex; align-items:center;
}
.event-bg-video{
  position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center 32%; z-index:0;
}
.event-bg-overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0.65) 100%);
}
.event-hero .wrap{ position:relative; z-index:2; width:100%; }
.event-card{
  position:relative; z-index:2; max-width:900px; margin:0 auto;
  background: rgba(255,255,255,0.06); backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.16); border-radius:18px;
  padding: 30px; display:flex; align-items:center; gap:26px; flex-wrap:wrap;
  box-shadow: 0 30px 70px rgba(0,0,0,0.5);
}
.event-card-img{ width:92px; height:92px; border-radius:10px; object-fit:cover; flex:none; }
.event-card-body{ flex:1; min-width:220px; }
.event-card-tag{ font-size:11px; font-weight:800; letter-spacing:1.5px; color:var(--red); text-transform:uppercase; margin-bottom:4px; }
.event-card-title{ font-size:22px; font-weight:800; color:#fff; margin-bottom:4px; }
.event-card-meta{ font-size:13px; font-weight:700; color:rgba(255,255,255,0.75); margin-bottom:6px; }
.event-card-desc{ font-size:12.5px; color:rgba(255,255,255,0.55); line-height:1.5; max-width:440px; }
.event-card-btn{ flex:none; white-space:nowrap; }

@media (max-width: 700px){
  .event-card{ flex-direction:column; text-align:center; padding:26px 22px; }
  .event-card-desc{ max-width:100%; }
}

/* ============ BIO SECTION ============ */
.bio-section{ padding: 70px 0; }
.bio-grid{ display:grid; grid-template-columns: 0.75fr 1.25fr; gap:50px; align-items:center; }
.bio-photo-wrap{ display:flex; justify-content:center; }
.bio-photo-wrap img{ width:100%; max-width:480px; filter: drop-shadow(0 24px 36px rgba(0,0,0,0.18)); }
.bio-subtitle{ font-size:15px; font-weight:700; color:var(--gray); margin-bottom:20px; }
.bio-body{ font-size:14.5px; line-height:1.75; color:var(--black); margin-bottom:18px; }
.bio-quote{
  border-left: 4px solid var(--red); padding: 4px 0 4px 22px; margin: 26px 0 0;
  font-size:15px; font-style:italic; line-height:1.65; color:var(--black);
}
.bio-quote span{ display:block; margin-top:10px; font-style:normal; font-weight:700; font-size:13px; color:var(--red); }

@media (max-width:900px){ .bio-grid{ grid-template-columns:1fr; } }

/* ============ 1M GRID (2x2, Cardone-style icon tiles) ============ */
.grid1m{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.grid1m-box{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  padding: 34px 24px 28px; box-shadow: 0 16px 40px rgba(0,0,0,0.06); transition: transform .15s, box-shadow .15s;
}
.grid1m-box:hover{ transform: translateY(-3px); box-shadow: 0 24px 50px rgba(0,0,0,0.12); }
.grid1m-icon{ width:64px; height:64px; object-fit:cover; border-radius:10px; margin-bottom:16px; box-shadow:0 6px 16px rgba(0,0,0,0.15); }
.grid1m-label{ color:var(--black); font-size:17px; font-weight:800; line-height:1.25; margin-bottom:10px; }
.grid1m-click{ color:var(--red); font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }

@media (max-width:760px){ .grid1m{ grid-template-columns:1fr; } }

/* ============ WHAT IS 1M ============ */
.what-is-1m{ background: var(--black); padding: 70px 0; text-align:center; }
.what-is-1m-logo{ max-width:280px; width:100%; height:auto; margin: 0 auto 30px; display:block; border-radius:8px; }
.what-is-1m .h2{ color:#fff; margin-bottom:20px; }
.what-is-1m p{ color:rgba(255,255,255,0.72); font-size:15.5px; line-height:1.8; max-width:820px; margin:0 auto; }

/* ============ EXIT-INTENT POPUP ============ */
.exit-popup-overlay{
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.65); z-index:300;
  align-items:center; justify-content:center; padding:20px;
}
.exit-popup-overlay.active{ display:flex; }
.exit-popup-card{
  background:#fff; border-radius:18px; max-width:520px; width:100%; padding:40px 36px;
  text-align:center; position:relative; box-shadow: 0 40px 90px rgba(0,0,0,0.4);
}
.exit-popup-close{
  position:absolute; top:14px; right:16px; font-size:22px; color:var(--light-gray);
  background:none; border:none; cursor:pointer; line-height:1;
}
.exit-popup-card img{ max-width:180px; margin: 0 auto 18px; display:block; border-radius:8px; box-shadow:0 14px 30px rgba(0,0,0,0.2); }
.exit-popup-card h3{ font-size:22px; font-weight:800; margin-bottom:10px; }
.exit-popup-card p{ font-size:14px; color:var(--gray); margin-bottom:22px; line-height:1.6; }

/* ============ PRIME PORTAL (gated member area) ============ */
:root{
  --prime-black:#0a0a0a; --prime-charcoal:#161616; --prime-gold:#B70609; --prime-gold-bright:#E31E23;
}
.prime-body{ background:var(--prime-black); color:#fff; min-height:100vh; }

.prime-nav{ background:#000; border-bottom:1px solid rgba(183,6,9,0.25); padding:16px 0; position:sticky; top:0; z-index:100; }
.prime-nav .wrap{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.prime-nav-brand{ display:flex; align-items:center; gap:12px; }
.prime-nav-brand img{ height:48px; width:auto; }
.prime-nav-logo-badge{ background:#fff; border-radius:8px; padding:5px 9px; display:flex; align-items:center; }
.prime-nav-brand .word{ font-weight:800; font-size:15px; letter-spacing:2px; color:#fff; }
.prime-nav-brand .word span{ color:var(--prime-gold-bright); }
.prime-nav-links{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.prime-nav-links a{ font-size:12px; font-weight:700; letter-spacing:0.5px; color:rgba(255,255,255,0.65); }
.prime-nav-links a:hover, .prime-nav-links a.active{ color:var(--prime-gold-bright); }
.prime-nav-user{ display:flex; align-items:center; gap:14px; }
.prime-nav-user .email{ font-size:12px; color:rgba(255,255,255,0.5); }
.prime-logout-btn{
  background:transparent; border:1px solid rgba(255,255,255,0.25); color:#fff; font-size:12px; font-weight:700;
  padding:8px 16px; border-radius:4px; cursor:pointer;
}
.prime-logout-btn:hover{ border-color:var(--prime-gold); color:var(--prime-gold-bright); }

.prime-hero{ padding:60px 0 40px; text-align:center; border-bottom:1px solid rgba(255,255,255,0.08); }
.prime-hero .kicker{ color:var(--prime-gold-bright); letter-spacing:3px; }
.prime-hero h1{ font-size:clamp(28px,4vw,44px); font-weight:800; margin:0 0 14px; color:#fff; }
.prime-hero p{ color:rgba(255,255,255,0.6); font-size:15px; max-width:640px; margin:0 auto; line-height:1.6; }

.prime-section{ padding:60px 0; }
.prime-section-label{ font-size:11px; font-weight:800; letter-spacing:2px; color:var(--prime-gold-bright); text-transform:uppercase; margin-bottom:10px; }
.prime-section h2{ font-size:26px; font-weight:800; color:#fff; margin-bottom:16px; }

.prime-video-frame{
  background:var(--prime-charcoal); border:1px solid rgba(183,6,9,0.2); border-radius:14px;
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; margin-bottom:40px;
  position:relative; overflow:hidden;
}
.prime-video-frame video{ width:100%; height:100%; object-fit:cover; }
.prime-video-placeholder{ color:rgba(255,255,255,0.35); font-size:13px; font-weight:700; letter-spacing:1px; text-align:center; }

.prime-resource-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:20px; }
.prime-resource-card{
  background:var(--prime-charcoal); border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:24px;
  display:flex; flex-direction:column;
}
.prime-resource-card .tag{ font-size:10px; font-weight:800; letter-spacing:1.5px; color:var(--prime-gold-bright); text-transform:uppercase; margin-bottom:10px; }
.prime-resource-card h3{ font-size:15px; font-weight:800; color:#fff; margin-bottom:8px; }
.prime-resource-card p{ font-size:12.5px; color:rgba(255,255,255,0.5); line-height:1.5; margin-bottom:18px; flex:1; }
.prime-resource-card a{
  font-size:12px; font-weight:800; letter-spacing:0.5px; color:var(--prime-gold-bright);
  border:1px solid rgba(183,6,9,0.4); border-radius:4px; padding:10px 16px; text-align:center;
}
.prime-resource-card a:hover{ background:var(--prime-gold); color:#000; }
.prime-resource-card.locked{ opacity:0.45; }
.prime-resource-card.locked a{ pointer-events:none; border-color:rgba(255,255,255,0.15); color:rgba(255,255,255,0.35); }

.prime-stage-nav{ display:flex; flex-wrap:wrap; gap:10px; margin: 30px 0 0; }
.prime-stage-chip{
  font-size:11.5px; font-weight:700; padding:9px 16px; border-radius:999px;
  border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.6);
}
.prime-stage-chip.current{ background:var(--prime-gold); border-color:var(--prime-gold); color:#000; }
.prime-stage-chip:hover{ border-color:var(--prime-gold-bright); color:var(--prime-gold-bright); }

.prime-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; }
.prime-login-card{
  max-width:400px; width:100%; background:var(--prime-charcoal); border:1px solid rgba(183,6,9,0.25);
  border-radius:16px; padding:44px 36px; text-align:center;
}
.prime-login-card img{ height:120px; margin-bottom:18px; }
.prime-login-logo-badge{ background:#fff; border-radius:14px; padding:16px; display:inline-flex; margin-bottom:18px; }
.prime-login-card h1{ font-size:22px; font-weight:800; color:#fff; margin-bottom:8px; }
.prime-login-card p{ font-size:13.5px; color:rgba(255,255,255,0.55); margin-bottom:28px; line-height:1.5; }
.prime-login-btn{
  width:100%; background:var(--prime-gold); color:#000; font-weight:800; font-size:14px;
  padding:15px; border-radius:6px; border:none; cursor:pointer;
}
.prime-login-btn:hover{ background:var(--prime-gold-bright); }
.prime-login-note{ margin-top:22px; font-size:12px; color:rgba(255,255,255,0.4); }
.prime-login-note a{ color:var(--prime-gold-bright); }

@media (max-width:800px){
  .prime-resource-grid{ grid-template-columns:1fr; }
  .prime-nav-links{ display:none; }
}

/* ============ PRIME NAV v2: dropdown sections + mobile hamburger ============ */
.prime-nav-links{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; position:relative; }
.prime-nav-dropdown{ position:relative; }
.prime-nav-dropdown > span{
  font-size:12px; font-weight:700; letter-spacing:0.5px; color:rgba(255,255,255,0.65);
  cursor:pointer; display:flex; align-items:center; gap:5px;
}
.prime-nav-dropdown > span:after{ content:"\25BE"; font-size:9px; }
.prime-nav-dropdown:hover > span, .prime-nav-dropdown.open > span{ color:var(--prime-gold-bright); }
.prime-nav-dropdown-menu{
  display:none; position:absolute; top:100%; left:0; margin-top:14px; background:#000;
  border:1px solid rgba(183,6,9,0.3); border-radius:8px; min-width:230px; padding:8px 0; z-index:200;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}
.prime-nav-dropdown:hover .prime-nav-dropdown-menu, .prime-nav-dropdown.open .prime-nav-dropdown-menu{ display:block; }
.prime-nav-dropdown-menu a{
  display:block; padding:10px 18px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,0.75);
  white-space:nowrap;
}
.prime-nav-dropdown-menu a:hover, .prime-nav-dropdown-menu a.active{ color:var(--prime-gold-bright); background:rgba(183,6,9,0.08); }

.prime-nav-hamburger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:36px; height:36px; background:none; border:none; cursor:pointer; padding:0;
}
.prime-nav-hamburger span{ display:block; width:100%; height:2.5px; background:#fff; border-radius:2px; }

.prime-mobile-panel{
  display:none; position:fixed; inset:0; z-index:400; background:#000; overflow-y:auto;
  padding:20px 24px 40px;
}
.prime-mobile-panel.active{ display:block; }
.prime-mobile-panel .close-row{ display:flex; justify-content:flex-end; margin-bottom:20px; }
.prime-mobile-panel .close-btn{ background:none; border:none; color:#fff; font-size:26px; cursor:pointer; }
.prime-mobile-panel .mgroup-label{ font-size:11px; font-weight:800; letter-spacing:1.5px; color:var(--prime-gold-bright); text-transform:uppercase; margin:20px 0 8px; }
.prime-mobile-panel a{ display:block; padding:12px 0; font-size:15px; font-weight:700; color:#fff; border-bottom:1px solid rgba(255,255,255,0.08); }
.prime-mobile-panel a.active{ color:var(--prime-gold-bright); }

@media (max-width:900px){
  .prime-nav-links{ display:none; }
  .prime-nav-hamburger{ display:flex; }
}

/* ============ PRIME WELCOME VIDEO (bigger, white background) ============ */
.prime-hero-welcome{ padding:0; text-align:center; background:#fff; }
.prime-welcome-video-wrap{
  width:100%; max-width:900px; margin:0 auto; aspect-ratio: 1080/1044; overflow:hidden; background:#fff;
}
.prime-welcome-video{
  width:100%; height:100%; object-fit:cover; display:block; border:none; outline:none;
}
.prime-hero-welcome .prime-welcome-title{
  font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:1.5px;
  font-size:clamp(40px,6vw,68px); color:var(--prime-black); margin: 46px 0 6px; line-height:1.05;
}
.prime-hero-welcome .prime-welcome-subtitle{
  font-family:'Anton', sans-serif; font-weight:400; letter-spacing:3px; text-transform:uppercase;
  font-size:clamp(15px,2.2vw,20px); color:var(--red); padding-bottom:46px;
}

/* ============ PRIME WELCOME ORIENTATION (dark, two-column: download left, copy right) ============ */
.prime-orientation{ background:var(--prime-black); }
.prime-orientation .prime-section-label{ color:var(--prime-gold-bright); }
.prime-orientation-grid{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap:50px; align-items:start; }
.prime-orientation-download{ background:var(--prime-charcoal); border:1px solid rgba(255,255,255,0.08); border-radius:14px; padding:30px; }
.prime-orientation-download .tag{ font-size:10px; font-weight:800; letter-spacing:1.5px; color:var(--prime-gold-bright); text-transform:uppercase; margin-bottom:10px; }
.prime-orientation-download h3{ font-size:18px; font-weight:800; color:#fff; margin-bottom:10px; }
.prime-orientation-download p{ font-size:13px; color:rgba(255,255,255,0.55); margin-bottom:20px; line-height:1.5; }
.prime-orientation-copy h2{ font-size:28px; font-weight:800; color:#fff; margin-bottom:16px; }
.prime-orientation-copy p{ font-size:15px; line-height:1.8; color:rgba(255,255,255,0.75); }
.prime-orientation-copy strong{ color:var(--prime-gold-bright); }

@media (max-width:800px){
  .prime-orientation-grid{ grid-template-columns:1fr; }
}


/* ============ PRIME v3: simplified topbar + left sidebar layout ============ */
.prime-topbar{ background:#000; border-bottom:1px solid rgba(183,6,9,0.25); padding:14px 0; position:sticky; top:0; z-index:100; }
.prime-topbar .wrap{ display:flex; align-items:center; justify-content:space-between; }
.prime-topbar-links{ display:flex; align-items:center; gap:28px; }
.prime-topbar-links a{ font-size:13px; font-weight:700; letter-spacing:0.5px; color:rgba(255,255,255,0.7); }
.prime-topbar-links a:hover, .prime-topbar-links a.active{ color:var(--prime-gold-bright); }

.prime-body-layout{ display:flex; align-items:flex-start; }

.prime-sidebar{
  width: 250px; flex:none; background:#000; border-right:1px solid rgba(255,255,255,0.08);
  position:fixed; top:66px; left:0; height:calc(100vh - 66px); overflow-y:auto; padding: 30px 0;
}
.prime-sidebar-logo{ display:flex; flex-direction:column; align-items:center; padding: 0 20px 24px; border-bottom:1px solid rgba(255,255,255,0.08); margin-bottom:20px; }
.prime-sidebar-logo-badge{ background:#fff; border-radius:10px; padding:12px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.prime-sidebar-logo-badge img{ width:64px; height:auto; display:block; }
.prime-sidebar-logo span{ font-size:15px; font-weight:800; letter-spacing:2px; color:#fff; }
.prime-sidebar-group-label{ font-size:10.5px; font-weight:800; letter-spacing:1.5px; color:var(--prime-gold-bright); text-transform:uppercase; padding: 18px 20px 8px; }
.prime-sidebar a{ display:block; padding:10px 20px; font-size:13.5px; font-weight:600; color:rgba(255,255,255,0.7); border-left:3px solid transparent; }
.prime-sidebar a:hover{ color:#fff; background:rgba(255,255,255,0.03); }
.prime-sidebar a.active{ color:var(--prime-gold-bright); border-left-color:var(--prime-gold-bright); background:rgba(183,6,9,0.06); font-weight:700; }

.prime-main{ flex:1; min-width:0; margin-left:250px; }
.prime-body footer{ margin-left:250px; }

@media (max-width:900px){
  .prime-topbar-links{ display:none; }
  .prime-sidebar{ display:none; }
  .prime-main{ margin-left:0; }
  .prime-body footer{ margin-left:0; }
}

/* ============ HOMEPAGE P.R.I.M.E. SECTION ============ */
.prime-home-hero{ background:#fff; text-align:center; padding:70px 0 50px; }
.prime-home-video-wrap{ width:100%; max-width:900px; margin:0 auto; aspect-ratio: 1080/1044; overflow:hidden; background:#fff; }
.prime-home-video{ width:100%; height:100%; object-fit:cover; display:block; border:none; outline:none; }
.prime-home-title{ font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:1.5px; font-size:clamp(34px,5vw,54px); color:var(--black); margin:36px 0 6px; line-height:1.05; }
.prime-home-subtitle{ font-family:'Anton', sans-serif; font-weight:400; letter-spacing:3px; text-transform:uppercase; font-size:clamp(13px,1.8vw,16px); color:var(--red); margin-bottom:24px; }
.prime-home-lede{ max-width:680px; margin:0 auto; font-size:15px; line-height:1.8; color:#444; padding:0 20px; }

.prime-home-black{ background:#0a0a0a; padding:60px 0 70px; }
.prime-home-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:820px; margin:0 auto; text-align:left; }
.prime-home-point{ background:#161616; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:24px; }
.prime-home-point h3{ color:var(--red); font-size:14.5px; font-weight:800; margin-bottom:8px; }
.prime-home-point p{ color:rgba(255,255,255,0.6); font-size:13px; line-height:1.6; }
.prime-home-cta{ text-align:center; margin-top:40px; }

@media (max-width:700px){
  .prime-home-grid{ grid-template-columns:1fr; }
}

/* ============ PRIME SIDEBAR DROPDOWN GROUPS ============ */
.prime-sidebar-group-toggle{
  display:flex; align-items:center; justify-content:space-between; width:100%;
  background:none; border:none; cursor:pointer; padding: 18px 20px 8px; text-align:left;
  font-size:10.5px; font-weight:800; letter-spacing:1.5px; color:var(--prime-gold-bright); text-transform:uppercase;
}
.prime-sidebar-group-toggle .arrow{ font-size:9px; transition: transform 0.15s; }
.prime-sidebar-group-toggle.collapsed .arrow{ transform: rotate(-90deg); }
.prime-sidebar-group-links{ max-height:600px; overflow:hidden; transition: max-height 0.2s ease; }
.prime-sidebar-group-links.collapsed{ max-height:0; }
.prime-sidebar-group-empty{ padding: 8px 20px 4px; font-size:11.5px; color:rgba(255,255,255,0.3); font-style:italic; }

/* ============================================================
   ACCESSIBILITY, MOTION & PRINT
   ============================================================ */

/* Visible keyboard focus — only for keyboard users, not mouse clicks */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline: 3px solid var(--red);
  outline-offset: 3px;
  border-radius: 3px;
}
/* On dark sections the red outline can be low-contrast — use white there */
.prime-body a:focus-visible,
.prime-body button:focus-visible,
.contact-band a:focus-visible,
.contact-band button:focus-visible,
.contact-band input:focus-visible,
.contact-band select:focus-visible,
.contact-band textarea:focus-visible,
footer a:focus-visible{
  outline-color: #fff;
}

/* Skip link — lets keyboard/screen-reader users jump past the nav */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--red); color:#fff; padding:12px 20px;
  font-weight:800; font-size:14px; border-radius:0 0 6px 0;
}
.skip-link:focus{ left:0; }

/* Respect users who get motion sickness from animation */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* Sensible printing — drop nav/video/popups, keep the content readable */
@media print{
  .nav, .prime-topbar, .prime-sidebar, .mobile-menu-panel, .mobile-menu-overlay,
  .prime-mobile-panel, .nav-hamburger, .prime-nav-hamburger,
  .exit-popup-overlay, video, .prime-video-frame{
    display:none !important;
  }
  .prime-main, .prime-body footer{ margin-left:0 !important; }
  body, .prime-body{ background:#fff !important; color:#000 !important; }
  a{ text-decoration:underline; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:11px; color:#555; }
}

/* ═══════════════════════════════════════════════════════════
   DESIGN SYSTEM REFINEMENT LAYER
   Typography · Components · Rhythm · Motion
   ═══════════════════════════════════════════════════════════ */

/* ---------- 1. TYPOGRAPHY FOUNDATION ---------- */
body{
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: 1.65;
  color: var(--ink-700);
  letter-spacing: -0.006em;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings: tighter tracking as size increases — optical correction */
h1,h2,h3,h4,.h1,.h2,.h3{
  font-family: var(--font-sans);
  color: var(--ink-900);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.028em;
  text-wrap: balance;
}
.h1, h1{ font-size: clamp(38px, 5.2vw, var(--fs-4xl)); letter-spacing: -0.035em; line-height: 1.04; }
.h2, h2{ font-size: clamp(28px, 3.6vw, var(--fs-3xl)); letter-spacing: -0.03em; line-height: 1.1; }
h3{ font-size: var(--fs-xl); letter-spacing: -0.022em; }

/* Lede / intro paragraphs */
.lede{
  font-size: var(--fs-md);
  line-height: 1.72;
  color: var(--ink-500);
  letter-spacing: -0.008em;
  max-width: 62ch;
}
p{ text-wrap: pretty; }

/* Kickers / eyebrows — refined tracking */
.kicker, .prime-section-label, .company-card-tag, .event-card-tag{
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Display face reserved for hero moments only */
.prime-home-title, .prime-welcome-title, .prime-pub-title,
.prime-home-subtitle, .prime-welcome-subtitle, .prime-pub-subtitle{
  font-family: var(--font-display);
  font-weight: 400;
}

/* ---------- 2. BUTTON SYSTEM ---------- */
.btn{
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: -0.004em;
  border-radius: var(--r-sm);
  padding: 14px 26px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease),
              background-color var(--dur) var(--ease);
  will-change: transform;
  cursor: pointer;
}
.btn-primary{ background: var(--red); color:#fff; box-shadow: var(--sh-2); }
.btn-primary:hover{ background:#c8070a; transform: translateY(-2px); box-shadow: var(--sh-red); }
.btn-primary:active{ transform: translateY(0); box-shadow: var(--sh-1); }

.btn-outline{ border:1.5px solid currentColor; background:transparent; }
.btn-outline:hover{ transform: translateY(-2px); }
.btn-outline:active{ transform: translateY(0); }

.btn-sm{ padding: 10px 18px; font-size: 13px; }

/* ---------- 3. CARD SYSTEM ---------- */
.company-card, .guide-card, .tier-card, .prime-resource-card,
.prime-home-point, .prime-pub-point, .titan-row-logo, .event-row{
  border-radius: var(--r-lg);
  transition: transform var(--dur) var(--ease-out),
              box-shadow var(--dur) var(--ease-out),
              border-color var(--dur) var(--ease);
}
.company-card:hover, .guide-card:hover, .event-row:hover{
  transform: translateY(-4px);
  box-shadow: var(--sh-4);
}
.prime-resource-card:hover, .prime-home-point:hover, .prime-pub-point:hover{
  transform: translateY(-3px);
  border-color: rgba(183,6,9,.42);
}

/* ---------- 4. LINK & NAV POLISH ---------- */
.nav-links a, .prime-topbar-links a{
  position: relative;
  transition: color var(--dur) var(--ease);
}
.nav-links a::after, .prime-topbar-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
  background: var(--red); border-radius:2px;
  transform: scaleX(0); transform-origin: right;
  transition: transform var(--dur) var(--ease-out);
}
.nav-links a:hover::after, .prime-topbar-links a:hover::after,
.nav-links a.active::after, .prime-topbar-links a.active::after{
  transform: scaleX(1); transform-origin: left;
}
.prime-sidebar a{ transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease); }

/* ---------- 5. FORM REFINEMENT ---------- */
input, select, textarea{
  font-family: var(--font-sans);
  font-size: 15px;
  border-radius: var(--r-sm);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
input:focus, select:focus, textarea:focus{
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(183,6,9,.12);
}
label{ font-family: var(--font-sans); letter-spacing: .06em; }

/* ---------- 6. IMAGE & MEDIA POLISH ---------- */
img{ }
.guide-card img, .titan-row-logo img, .grid1m-icon{
  transition: transform .5s var(--ease-out);
}
.guide-card:hover img{ transform: scale(1.03); }

/* ---------- 7. SECTION RHYTHM ---------- */
.section{ padding: var(--sp-9) 0; }
@media (max-width: 760px){
  .section{ padding: var(--sp-8) 0; }
  .wrap{ padding: 0 20px; }
}

/* ---------- 8. SELECTION & SCROLLBAR ---------- */
::selection{ background: var(--red); color:#fff; }
html{ scrollbar-color: var(--red) var(--paper); }

/* ---------- 9. SCROLL REVEAL ---------- */
[data-reveal]{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
  will-change: opacity, transform;
}
[data-reveal].is-visible{ opacity: 1; transform: none; }
/* Stagger children for a considered cascade rather than everything at once */
[data-reveal-stagger] > *{
  opacity: 0; transform: translateY(16px);
  transition: opacity .6s var(--ease-out), transform .6s var(--ease-out);
}
[data-reveal-stagger].is-visible > *{ opacity:1; transform:none; }
[data-reveal-stagger].is-visible > *:nth-child(1){ transition-delay:0ms; }
[data-reveal-stagger].is-visible > *:nth-child(2){ transition-delay:70ms; }
[data-reveal-stagger].is-visible > *:nth-child(3){ transition-delay:140ms; }
[data-reveal-stagger].is-visible > *:nth-child(4){ transition-delay:210ms; }
[data-reveal-stagger].is-visible > *:nth-child(5){ transition-delay:280ms; }
[data-reveal-stagger].is-visible > *:nth-child(6){ transition-delay:350ms; }

/* Never animate for users who asked not to — show everything immediately */
@media (prefers-reduced-motion: reduce){
  [data-reveal], [data-reveal-stagger] > *{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}

/* ---------- HOMEPAGE: REVENUE GENERATION HEADLINE ---------- */
.prime-home-headline{
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: clamp(22px, 3vw, 32px);
  letter-spacing: -0.028em;
  color: var(--ink-900);
  margin: 26px auto 18px;
  max-width: 20ch;
  line-height: 1.15;
}

/* ---------- HOMEPAGE: TWO-UP OFFER CARDS ---------- */
.offer-duo{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  max-width: 940px;
  margin: 0 auto;
}
.offer-card{
  display: flex; flex-direction: column;
  background: #141414;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: transform var(--dur) var(--ease-out),
              box-shadow var(--dur) var(--ease-out),
              border-color var(--dur) var(--ease);
}
.offer-card:hover{
  transform: translateY(-6px);
  border-color: rgba(183,6,9,.55);
  box-shadow: 0 22px 50px rgba(0,0,0,.5), 0 0 0 1px rgba(183,6,9,.2);
}
.offer-card-media{
  aspect-ratio: 16/10;
  background: #0a0a0a;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.offer-card-media img{
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .55s var(--ease-out);
}
/* PRIME logo needs breathing room, not a crop */
.offer-card-media--contain{ background:#fff; padding: 26px; }
.offer-card-media--contain img{ width:auto; height:100%; object-fit: contain; }
.offer-card:hover .offer-card-media img{ transform: scale(1.04); }

.offer-card-body{ padding: 26px 28px 30px; flex:1; display:flex; flex-direction:column; }
.offer-card-tag{
  font-size: 10.5px; font-weight: 800; letter-spacing: .16em;
  text-transform: uppercase; color: var(--red-bright); margin-bottom: 10px;
}
.offer-card-body h3{
  font-size: 22px; font-weight: 800; color:#fff;
  letter-spacing:-.025em; margin: 0 0 10px;
}
.offer-card-body p{
  font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.62);
  margin: 0 0 20px; flex:1;
}
.offer-card-cta{
  font-size: 13.5px; font-weight: 800; color: var(--red-bright);
  letter-spacing: -.005em;
  transition: gap var(--dur) var(--ease);
}
.offer-card:hover .offer-card-cta{ color:#fff; }

@media (max-width: 760px){
  .offer-duo{ grid-template-columns: 1fr; gap: 20px; }
}

/* ---------- RESOURCES PAGE: TOP-LEVEL FOLDERS ---------- */
.prime-res-folder{
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--r-lg);
  margin-bottom: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.02);
}
.prime-res-folder-toggle{
  width: 100%; display:flex; align-items:center; justify-content:space-between;
  background: rgba(255,255,255,0.03); border:none; cursor:pointer;
  padding: 22px 26px; text-align:left;
  transition: background-color var(--dur) var(--ease);
}
.prime-res-folder-toggle:hover{ background: rgba(255,255,255,0.055); }
.prime-res-folder-toggle .frow{ display:flex; align-items:center; gap:14px; }
.prime-res-folder-icon{
  width:38px; height:38px; border-radius:9px; background:rgba(183,6,9,0.14);
  display:flex; align-items:center; justify-content:center; flex:none;
  color:var(--prime-gold-bright); font-size:17px;
}
.prime-res-folder-title{ font-size:16.5px; font-weight:800; color:#fff; letter-spacing:-.01em; }
.prime-res-folder-count{ font-size:11.5px; font-weight:700; color:rgba(255,255,255,0.4); margin-top:2px; }
.prime-res-folder-toggle .arrow{ font-size:12px; color:rgba(255,255,255,0.5); transition: transform var(--dur) var(--ease); flex:none; }
.prime-res-folder-toggle.collapsed .arrow{ transform: rotate(-90deg); }

.prime-res-folder-body{
  max-height: 4000px; overflow:hidden;
  transition: max-height .3s ease, padding var(--dur) var(--ease);
  padding: 6px 26px 28px;
}
.prime-res-folder-body.collapsed{ max-height:0; padding-top:0; padding-bottom:0; }

.prime-res-folder-body .prime-lib-group{ margin-bottom: 30px; }
.prime-res-folder-body .prime-lib-group:last-child{ margin-bottom: 0; }
.prime-res-folder-body .prime-lib-group h3{
  font-size: 13px; font-weight:700; color: rgba(255,255,255,0.55);
  border-bottom: none; margin-bottom: 12px; padding-bottom:0;
  text-transform: uppercase; letter-spacing: .04em;
}
