/* ==========================================================================
   GV Mediatech — content pages
   Shared by /launches/*, /launch-playbook and /partners. Loaded after
   styles.css, and uses its tokens only. Mobile first: every rule below is
   the phone layout, widened at the breakpoints further down.

   Shape of a page: a dark forest hero band (the home hero's gradient) with
   white text, then light cream / paper sections, a dark call-to-action band,
   and the site footer.
   ========================================================================== */

.pg{overflow-x:clip}
.pg .wrap{padding-left:16px;padding-right:16px}
@media (min-width:600px){.pg .wrap{padding-left:24px;padding-right:24px}}

/* Buttons carry long labels here ("Check your launch readiness"), which at
   320px would push past the gutter. Let them wrap instead of overflowing. */
.pg .btn{max-width:100%;white-space:normal;text-align:center}

/* ---------- hero band ---------- */
.pg-hero{position:relative;color:#fff;
  background:radial-gradient(120% 90% at 50% 0%,#0B3A25,#062B1A 38%,#03110A);
  padding:clamp(28px,6vw,56px) 0 clamp(44px,8vw,88px)}
.pg-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--orange)}
.pg-crumbs ol{list-style:none;margin:0 0 clamp(18px,4vw,34px);padding:0;
  display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;font-size:.85rem;color:var(--muted-d)}
.pg-crumbs li{display:flex;align-items:center}
.pg-crumbs li+li::before{content:"/";margin-right:6px;color:rgba(255,255,255,.35)}
.pg-crumbs a{color:#fff;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.4);display:inline-flex;align-items:center;min-height:44px}
.pg-crumbs a:hover{text-decoration-color:var(--orange)}
.pg-crumbs [aria-current]{color:var(--muted-d)}

.pg-kicker{font-size:.8rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--orange);margin:0 0 12px}
.pg-h1{font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.4rem,9.5vw,5.6rem);line-height:.95;letter-spacing:.005em;
  margin:0 0 18px;color:#fff;overflow-wrap:break-word;max-width:18ch}
.pg-h1 em{font-style:normal;color:var(--orange)}
.pg-sub{font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.55;color:#E4ECE7;
  max-width:52ch;margin:0 0 26px}
.pg-hero .hero-cta{margin-top:8px}
.pg-hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.pg-hero .btn--ghost:hover{background:#fff;color:var(--forest);border-color:#fff}

/* the three numbers of a launch, sitting in the band */
.pg-stats{display:grid;grid-template-columns:1fr;gap:12px;margin:30px 0 0;padding:0}
@media (min-width:520px){.pg-stats{grid-template-columns:repeat(3,1fr);gap:16px}}
.pg-stat{margin:0;padding:18px 18px 16px;border-radius:var(--r);
  background:rgba(255,255,255,.06);border:1px solid var(--line-d);border-top:3px solid var(--orange)}
.pg-stat b{display:block;font-family:var(--display);font-weight:400;
  font-size:clamp(2.1rem,6vw,3.1rem);line-height:1;color:#fff;letter-spacing:.01em}
.pg-stat span{display:block;margin-top:8px;font-size:.92rem;line-height:1.4;color:var(--muted-d)}

/* ---------- light sections ---------- */
.pg-sec{padding:clamp(48px,8vw,96px) 0;background:var(--paper)}
.pg-sec--alt{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pg-h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.8rem,5vw,3rem);line-height:1.03;margin:.1em 0 .55em;color:var(--forest)}
.pg-h3{font-size:1.12rem;font-weight:700;line-height:1.3;margin:0 0 8px;color:var(--forest)}
.pg-prose{max-width:68ch}
.pg-prose p{color:var(--ink);font-size:1.04rem;line-height:1.7}
.pg-prose ul,.pg-prose ol{padding-left:22px;margin:0 0 1.1em}
.pg-prose li{margin:6px 0;line-height:1.6}
.pg-prose a,.pg-link{color:var(--green-text);font-weight:600;text-underline-offset:3px}
.pg-prose a:hover,.pg-link:hover{color:var(--rust)}
.pg-lead{font-size:1.14rem;line-height:1.6;color:var(--ink);max-width:62ch}
.pg-note{background:var(--paper);border-left:4px solid var(--orange);border-radius:0 12px 12px 0;
  padding:16px 18px;margin:22px 0;max-width:68ch}
.pg-sec--alt .pg-note{background:var(--paper)}
.pg-sec:not(.pg-sec--alt) .pg-note{background:var(--cream)}
.pg-note p{margin:0;color:var(--ink);font-size:.98rem}
.pg-note p+p{margin-top:8px}

/* ---------- the four-phase playbook ---------- */
.pg-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:16px;
  counter-reset:step}
@media (min-width:720px){.pg-steps{grid-template-columns:repeat(2,1fr);gap:20px}}
@media (min-width:1080px){.pg-steps{grid-template-columns:repeat(4,1fr)}}
.pg-step{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:24px 20px 22px;counter-increment:step}
.pg-step::before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;background:var(--orange);color:var(--forest);
  font-family:var(--display);font-size:1.35rem;margin-bottom:12px}
.pg-step p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.6}
.pg-step .pg-at{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);
  color:var(--ink);font-size:.93rem}
.pg-at b{color:var(--green-text)}

/* ---------- cards (more launches, the index, audiences) ---------- */
.pg-cards{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:640px){.pg-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.pg-cards--4{grid-template-columns:repeat(4,1fr)}
  .pg-cards--3{grid-template-columns:repeat(3,1fr)}}
.pg-card{display:flex;flex-direction:column;height:100%;min-height:44px;text-decoration:none;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;
  border-top:4px solid var(--green);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pg-sec:not(.pg-sec--alt) .pg-card{background:var(--cream)}
a.pg-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(6,43,26,.10);border-color:var(--green)}
@media (prefers-reduced-motion:reduce){.pg-card{transition:none}a.pg-card:hover{transform:none}}
.pg-card-date{font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--green-text);margin:0 0 6px}
.pg-card h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;
  font-size:1.45rem;line-height:1.05;margin:0 0 12px;color:var(--forest)}
.pg-card-stat{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line)}
.pg-card-stat b{display:block;font-family:var(--display);font-weight:400;font-size:1.9rem;line-height:1;
  color:var(--green-text)}
.pg-card-stat span{display:block;font-size:.9rem;color:var(--muted);margin-top:4px;line-height:1.4}
.pg-card-go{margin:14px 0 0;font-weight:700;font-size:.95rem;color:var(--rust)}
.pg-card p{color:var(--muted);font-size:.97rem;line-height:1.6;margin:0}

/* ---------- call-to-action band ---------- */
.pg-cta{background:var(--forest);color:#fff;padding:clamp(48px,8vw,90px) 0;text-align:left;
  border-top:3px solid var(--orange)}
.pg-cta .pg-h2{color:#fff}
.pg-cta p{color:#E4ECE7;max-width:56ch;font-size:1.06rem}
.pg-cta .hero-cta{margin-top:24px}
.pg-cta .btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.pg-cta .btn--ghost:hover{background:#fff;color:var(--forest);border-color:#fff}

/* ---------- playbook guide ---------- */
.pg-toc{margin:28px 0 0;padding:18px 20px;border-radius:var(--r);
  background:rgba(255,255,255,.06);border:1px solid var(--line-d);max-width:640px}
.pg-toc h2{font-size:.8rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--orange);margin:0 0 6px;font-family:var(--sans)}
.pg-toc ol{margin:0;padding-left:22px;color:var(--muted-d)}
.pg-toc a{color:#fff;display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}
.pg-toc a:hover{color:var(--orange)}
@media (min-width:720px){.pg-toc ol{columns:2;column-gap:32px}}

.pg-weeks{list-style:none;margin:26px 0 0;padding:0;border-left:3px solid var(--line);max-width:760px}
.pg-week{position:relative;padding:0 0 26px 24px}
.pg-week:last-child{padding-bottom:0}
.pg-week::before{content:"";position:absolute;left:-9px;top:4px;width:15px;height:15px;border-radius:50%;
  background:var(--paper);border:3px solid var(--green)}
.pg-week--open::before{background:var(--orange);border-color:var(--rust)}
.pg-week-when{display:block;font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--green-text);margin:0 0 2px}
.pg-week-phase{display:inline-block;font-size:.8rem;font-weight:700;color:var(--forest);
  background:#FDE7C8;border-radius:100px;padding:2px 10px;margin:0 0 8px}
.pg-week ul{margin:6px 0 0;padding-left:20px}
.pg-week li{margin:4px 0;line-height:1.6;color:var(--ink)}

.pg-check{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:10px;
  max-width:860px;counter-reset:chk}
@media (min-width:760px){.pg-check{grid-template-columns:1fr 1fr;column-gap:24px}}
.pg-check li{position:relative;padding:12px 14px 12px 50px;background:var(--paper);
  border:1px solid var(--line);border-radius:12px;line-height:1.5;counter-increment:chk;break-inside:avoid}
.pg-check li::before{content:"";position:absolute;left:14px;top:13px;width:22px;height:22px;
  border:2px solid var(--green-text);border-radius:5px;background:var(--paper)}
.pg-check li::after{content:counter(chk);position:absolute;right:12px;top:10px;font-size:.8rem;
  font-weight:700;color:var(--muted)}
.pg-check li{padding-right:36px}

.pg-print{margin-top:22px}

.pg-deliver{display:grid;grid-template-columns:1fr;gap:16px;margin-top:22px}
@media (min-width:760px){.pg-deliver{grid-template-columns:repeat(3,1fr)}}
.pg-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px}
.pg-sec:not(.pg-sec--alt) .pg-box{background:var(--cream)}
.pg-box p,.pg-box li{color:var(--muted);font-size:.97rem;line-height:1.6}
.pg-box ul{margin:0;padding-left:20px}
.pg-box p:last-child{margin-bottom:0}

/* ---------- partners: how it works ---------- */
.pg-how{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:16px;
  counter-reset:how}
@media (min-width:760px){.pg-how{grid-template-columns:repeat(3,1fr)}}
.pg-how li{counter-increment:how;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:22px 20px}
.pg-how li::before{content:counter(how);display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;background:var(--forest);color:#fff;
  font-family:var(--display);font-size:1.35rem;margin-bottom:12px}
.pg-how p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.6}

.pg-who{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pg-who li{padding:10px 18px;border-radius:100px;border:1px solid var(--line);background:var(--paper);
  font-weight:600;font-size:.95rem;min-height:44px;display:inline-flex;align-items:center}

/* ---------- referral form (light) ---------- */
.pg-form{max-width:760px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(20px,4vw,36px);margin-top:26px;position:relative}
.pg-form-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:640px){.pg-form-grid{grid-template-columns:1fr 1fr}}
.pg-wide{grid-column:1/-1}
.pg-field label{display:block;font-size:.9rem;font-weight:700;color:var(--forest);margin:0 0 6px}
.pg-field .req{color:var(--red)}
.pg-field .opt{font-weight:400;color:var(--muted)}
.pg-field input,.pg-field select,.pg-field textarea{display:block;width:100%;font:inherit;font-size:1rem;
  color:var(--ink);background:#fff;border:1px solid #B9B3A7;border-radius:10px;padding:12px 14px;min-height:48px}
.pg-field textarea{resize:vertical;min-height:110px}
.pg-field input:focus-visible,.pg-field select:focus-visible,.pg-field textarea:focus-visible{
  outline:3px solid var(--orange);outline-offset:1px;border-color:var(--forest)}
.pg-field input[aria-invalid="true"]{border-color:var(--red);border-width:2px}
.pg-hint{display:block;font-size:.85rem;color:var(--muted);margin-top:6px;line-height:1.45}
.pg-form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.pg-msg{margin:18px 0 0;padding:12px 16px;border-radius:10px;font-size:.97rem;line-height:1.5}
.pg-msg--err{background:#FCE9E6;border:1px solid #E4A89E;color:#7A1F14}
.pg-msg--ok{background:#E3F4EC;border:1px solid #9CD3B9;color:#0B4A33}
.pg-fine{font-size:.88rem;color:var(--muted);margin:16px 0 0}

/* ---------- print ----------
   The playbook is meant to be saved as a PDF and passed around a founding
   team. Drop the site chrome and the calls to action, flatten the dark
   bands to white, and keep the content. */
@media print{
  @page{margin:16mm 14mm}
  .nav,.foot,.skip,.pg-cta,.pg-print,.pg-noprint,.pg-crumbs,.pg-toc,.mbar{display:none!important}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.5}
  .pg-hero{background:#fff!important;color:#000!important;padding:0 0 10pt;border-bottom:2pt solid #000}
  .pg-hero::after{display:none}
  .pg-h1,.pg-sub,.pg-kicker,.pg-stat b,.pg-stat span{color:#000!important}
  .pg-h1{font-size:28pt;max-width:none}
  .pg-stat{background:#fff!important;border:1pt solid #999!important}
  .pg-sec,.pg-sec--alt{background:#fff!important;padding:12pt 0;border:0}
  .pg-h2{font-size:17pt;color:#000;break-after:avoid}
  .pg-h3{color:#000;break-after:avoid}
  .pg-step,.pg-card,.pg-box,.pg-week,.pg-check li,.pg-note,.pg-how li{break-inside:avoid;
    box-shadow:none!important;background:#fff!important;border-color:#999!important}
  .pg-prose p,.pg-step p,.pg-box p,.pg-box li,.pg-week li,.pg-card p,.pg-note p{color:#000}
  .reveal{opacity:1!important;transform:none!important}
  .pg .wrap{max-width:none;padding:0}
  .pg-prose a[href^="/"]::after,.pg-card[href^="/"]::after{content:" (gvmediatech.com" attr(href) ")";
    font-size:9pt;color:#444;font-weight:400}
}

/* visually hidden, still read aloud (home.css has the same rule; this sheet
   does not load it) */
.pg .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;margin:-1px;padding:0;border:0}

/* a generic button margin was stretching the hero row */
.hero-cta{align-items:center}
.hero-cta > .btn{margin-top:0}
