/* =========================================================
   CAMPAIGN WISDOM -- cw.css
   Extracted from cw.html + product page additions.
   Linked by: cw.html and all product pages.
   ========================================================= */

:root{
  /* LOCKED BRAND COLORS */
  --gold:#CF9D37;
  --blue:#4472B8;
  --red:#9E081D;
  --black:#0D0E0D;
  --cream:#D4CBC0;

  /* derived */
  --gold-bright:#e0ad45;
  --gold-dim:#8a6a24;
  --white:#F4F1EA;
  --muted:#a49c88;
  --line:#2a2823;
  --panel:#141513;

  --f-display:'Oswald',"Arial Narrow",sans-serif;
  --f-body:'Barlow',-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--white);
  font-family:var(--f-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  font-variant-ligatures:none;
  -webkit-font-variant-ligatures:none;
}
section, .products, .stats, .ctaband, a[id]{
  scroll-margin-top:90px;
}

/* ---------- CYCLE GRAPHIC ---------- */
.cycle {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
}
.cycle img {
  display: block;
  width: 100%;
  height: auto;
}
.cycle-arc {
  fill: none;
  stroke: #cf9d37;
  stroke-width: 2.5;
  stroke-linecap: round;
}
.cycle-word,
.cycle-center-text {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
}
.cycle-word { font-size: 32px; }
.cycle-subtitle {
  fill: #f4f1ea;
  font-family: "Barlow", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.cycle-word.prepare { fill: #9e081d; }
.cycle-word.lead    { fill: #4472b8; }
.cycle-word.win     { fill: #f4f1ea; }
.cycle-center-text {
  fill: #5a5548;
  font-size: 18px;
  letter-spacing: 0.02em;
}

a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.disp{font-family:var(--f-display);text-transform:uppercase;line-height:1.02;font-weight:700;}
.btn{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.09em;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:none;transition:all .2s;}
.btn-gold{background:var(--gold);color:#150f02;padding:14px 24px;}
.btn-gold:hover{background:var(--gold-bright);}
.btn-ghost{background:transparent;color:var(--white);border:1px solid var(--gold-dim);padding:13px 23px;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- NAV ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(13,14,13,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px;}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;}
.brand img.seal{width:44px;height:auto;}
.brand img.wm{width:118px;height:auto;}
.navlinks{display:flex;align-items:center;gap:32px;}
.navlinks a{font-family:var(--f-display);text-transform:uppercase;font-size:13px;letter-spacing:.12em;font-weight:500;transition:color .2s;}
.navlinks a:hover{color:var(--gold);}
.navtoggle{display:none;background:none;border:none;color:var(--gold);cursor:pointer;padding:6px;}

/* ---------- HERO ---------- */
.hero{padding:76px 0 64px;border-bottom:1px solid var(--line);}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
.hero h1{font-size:clamp(42px,5.6vw,74px);}
.hero h1 .gold{color:var(--gold);}
.starrule{display:flex;align-items:center;gap:14px;margin:24px 0;max-width:330px;}
.starrule .ln{height:1px;background:var(--gold-dim);flex:1;}
.starrule .st{color:var(--gold);font-size:12px;}
.hero .sub{font-size:18px;color:var(--muted);max-width:420px;margin-bottom:30px;}
.hero .ctas{display:flex;gap:13px;flex-wrap:wrap;}
.hero-seal{display:flex;justify-content:center;}
.hero-seal img{
  width:min(400px,84%);
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.45));
}

/* ---------- STATS ---------- */
.stats{border-bottom:1px solid var(--line);}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{display:flex;align-items:center;gap:13px;padding:24px 18px;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat .ico{color:var(--gold);flex-shrink:0;}
.stat .num{font-family:var(--f-display);font-weight:700;font-size:25px;color:var(--gold);line-height:1;}
.stat .lbl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:500;}

section{padding:76px 0;}
.sec-seal{width:44px;margin-bottom:18px;}
.sec-head{font-size:clamp(32px,3.8vw,44px);margin-bottom:14px;}
.sec-intro{color:var(--muted);font-size:16px;max-width:330px;margin-bottom:24px;}

/* ---------- SYSTEM ---------- */
.system{border-bottom:1px solid var(--line);}
.system-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(520px, 1.2fr);
  align-items: center;
  gap: clamp(4rem, 8vw, 8rem);
}
.cycle{display:flex;justify-content:center;}
.cycle svg{width:100%;max-width:470px;}
.cl{font-family:var(--f-display);text-transform:uppercase;font-weight:700;}

.emphasis {
  color: #CF9D37;
  font-weight: bold;
  font-size: 120%;
}

/* ---------- PRODUCTS ---------- */
.products{background:var(--cream);color:#1c1913;padding:52px 0;}
.products .wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.prod{display:flex;gap:18px;align-items:flex-start;}
.prod .art{width:106px;flex-shrink:0;}
.prod .art img{border-radius:2px;box-shadow:0 10px 22px rgba(0,0,0,.32);width:100%;}
.prod h3{font-family:var(--f-display);text-transform:uppercase;font-size:19px;font-weight:700;letter-spacing:.03em;margin-bottom:7px;}
.prod p{font-size:14px;line-height:1.5;color:#4e4739;margin-bottom:3px;}
.prod .strong{color:#1c1913;font-weight:600;}
.prod .learn{font-family:var(--f-display);text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:600;color:#8a6a24;margin-top:11px;display:inline-flex;gap:6px;}
.prod .learn:hover{color:var(--red);}

/* ---------- RESULTS ---------- */
.results{border-bottom:1px solid var(--line);}
.results-grid{display:grid;grid-template-columns:.62fr 2.38fr;gap:34px;align-items:start;}
.rphoto{border:1px solid var(--line);width:100%;}
.rcap{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--gold);text-align:center;margin-top:18px;}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;align-items:start;}
.q{border-left:2px solid var(--gold);padding:2px 0 2px 15px;}
.q p{font-size:14.5px;font-style:italic;color:var(--white);line-height:1.55;}
.q p b{color:var(--gold);font-weight:700;}
.q .who{font-size:12px;color:var(--muted);margin-top:7px;font-style:normal;letter-spacing:.03em;}
.pending{border:1px dashed var(--gold-dim);padding:18px;color:var(--muted);font-size:13px;text-align:center;letter-spacing:.04em;}

/* ---------- ABOUT ---------- */
.about{border-bottom:1px solid var(--line);}
.about-grid{display:grid;grid-template-columns:1fr .82fr .86fr;gap:30px;align-items:start;}
.about h2{font-size:38px;margin-bottom:15px;}
.about .lede{color:var(--gold);font-size:19px;font-style:italic;margin-bottom:16px;line-height:1.4;}
.about p{font-size:14.5px;color:var(--muted);margin-bottom:12px;}
.portrait{width:100%;border:1px solid var(--line);}
.cred{display:flex;gap:12px;margin-bottom:15px;align-items:flex-start;}
.cred .ico{color:var(--gold);flex-shrink:0;margin-top:2px;}
.cred .t{font-family:var(--f-display);text-transform:uppercase;font-size:14px;letter-spacing:.05em;color:var(--gold);font-weight:600;}
.cred .d{font-size:13px;color:var(--muted);}
.pull{border-left:2px solid var(--gold);padding-left:15px;margin-top:6px;font-style:italic;font-size:14.5px;}
.pull .who{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:7px;}
.meet{font-family:var(--f-display);text-transform:uppercase;font-size:12px;letter-spacing:.1em;color:var(--gold);margin-top:6px;display:inline-flex;gap:6px;}

/* ---------- CTA ---------- */
.ctaband{padding:52px 0;}
.ctabox{border:1px solid var(--gold-dim);padding:32px;display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center;}
.stayc{display:flex;gap:15px;align-items:flex-start;}
.stayc .ico{color:var(--gold);flex-shrink:0;}
.ctabox h3{font-family:var(--f-display);text-transform:uppercase;font-size:18px;letter-spacing:.05em;color:var(--gold);margin-bottom:5px;font-weight:600;}
.ctabox p{font-size:14px;color:var(--muted);margin-bottom:11px;}
.field{background:var(--panel);border:1px solid var(--line);color:var(--white);font-family:var(--f-body);font-size:14px;padding:10px 12px;width:100%;margin-bottom:8px;}
.field:focus{outline:none;border-color:var(--gold);}
.or{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-family:var(--f-display);font-size:12px;}
.or .vl{width:1px;flex:1;background:var(--line);min-height:38px;}
.nospam{font-size:11px;color:var(--muted);}
.phone{font-family:var(--f-display);font-size:22px;color:var(--gold);letter-spacing:.02em;margin-top:4px;display:inline-block;}
.phone:hover{color:var(--gold-bright);}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:38px 0 26px;}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.fbrand{display:flex;align-items:center;gap:12px;}
.fbrand img.seal{width:40px;}
.fbrand img.wm{width:104px;}
.fbrand .std{font-size:11px;color:var(--muted);font-style:italic;margin-top:3px;}
.flinks{display:flex;gap:24px;}
.flinks a{font-family:var(--f-display);text-transform:uppercase;font-size:12px;letter-spacing:.1em;}
.flinks a:hover{color:var(--gold);}
.copyr{width:100%;text-align:center;font-size:11px;color:#5a5548;border-top:1px solid var(--line);padding-top:18px;margin-top:6px;}


/* =========================================================
   PRODUCT PAGE ADDITIONS
   New classes only -- nothing above is overridden.
   ========================================================= */

/* ---------- Product hero (cover left, copy right) ---------- */
.phero{padding:64px 0 56px;border-bottom:1px solid var(--line);}
.phero-grid{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:48px;align-items:center;}
.pshot img{width:100%;border-radius:2px;box-shadow:0 16px 34px rgba(0,0,0,.5);}
.eyebrow{font-family:var(--f-display);text-transform:uppercase;font-size:13px;letter-spacing:.14em;color:var(--gold);margin-bottom:8px;font-weight:600;}
.phero h1{font-size:clamp(34px,4.4vw,56px);}
.phero .sub{font-size:18px;color:var(--muted);max-width:520px;margin-bottom:18px;}
.avail{font-size:14px;color:var(--muted);letter-spacing:.02em;margin-bottom:26px;}
.avail strong{color:var(--white);font-weight:600;}
.phero .ctas{display:flex;gap:13px;flex-wrap:wrap;}

/* ---------- Generic product content section ---------- */
.psec{border-bottom:1px solid var(--line);}
.psec.light{background:var(--cream);color:#1c1913;border-bottom:none;}
.psec.light .sec-head{color:#1c1913;}
.psec.light p{color:#4e4739;}
.psec.light .ftitle{color:#8a6a24;}
.psec.light .q p{color:#1c1913;}
.psec.light .q p b{color:#8a6a24;}
.psec.light .q .who{color:#6b6353;}
.wrap.narrow{max-width:760px;}
.psec p{font-size:15.5px;color:var(--muted);margin-bottom:14px;}
.psec .lede{color:var(--gold);font-size:19px;font-style:italic;margin-bottom:18px;line-height:1.4;}
.centered{text-align:center;}
.starrule.center{margin-left:auto;margin-right:auto;}

/* ---------- Feature grid (named concepts) ---------- */
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 44px;margin-top:30px;}
.ftitle{font-family:var(--f-display);text-transform:uppercase;font-size:17px;letter-spacing:.05em;color:var(--gold);font-weight:600;margin-bottom:6px;}
.feat p{font-size:14.5px;margin-bottom:0;line-height:1.55;}

/* ---------- Excerpt / sample block ---------- */
.excerpt{border-left:2px solid var(--gold);padding:2px 0 2px 18px;margin-top:24px;}
.excerpt p{font-style:italic;color:var(--white);font-size:15px;}
.psec.light .excerpt p{color:#1c1913;}

/* ---------- Card sample strip (for the Deck page) ---------- */
.cardstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;}
.cardstrip img{width:100%;border-radius:2px;box-shadow:0 10px 22px rgba(0,0,0,.4);}

/* ---------- Closing CTA band ---------- */
.pcta{padding:62px 0;text-align:center;}
.pcta h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:12px;}
.pcta p{color:var(--muted);font-size:16px;margin-bottom:24px;}
.pcta .ctas{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;}

/* ---------- Responsive (product pages) ---------- */
@media(max-width:920px){
  .phero-grid{grid-template-columns:1fr;gap:28px;}
  .pshot{max-width:220px;}
  .fgrid{grid-template-columns:1fr;}
  .cardstrip{grid-template-columns:1fr;}
  .psec{padding:52px 0;}
}


/* ---------- EXISTING RESPONSIVE (unchanged) ---------- */
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:26px;}
  .hero-seal{order:-1;}
  .hero-seal img{width:210px;}
  .stats .wrap{grid-template-columns:1fr 1fr;}
  .stat{border-bottom:1px solid var(--line);}
  .stat:nth-child(2){border-right:none;}
  .system-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .cycle {
    max-width: 620px;
  }
  .quotes{grid-template-columns:1fr;}
  .ctabox{grid-template-columns:1fr;}
  .or{flex-direction:row;}
  .or .vl{width:36px;height:1px;min-height:0;flex:none;}
  .navlinks,.nav-cta{display:none;}
  .navtoggle{display:block;}
  .navlinks.open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:var(--black);border-bottom:1px solid var(--line);padding:20px 28px;gap:18px;}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}html{scroll-behavior:auto;}}
