/* ==========================================================================
   v4 content pages — shared layout for the v4 sub-pages (/v4/apps, /v4/about,
   /v4/trust). Sits on top of the lede-v3 design tokens (assets/lede-v3.css):
   every colour + font is a var(--*) from there, and the shared chrome (.nav,
   .foot, .btn, .container, .reveal-up, .cta, chat widget) is lede-v3's too.
   All new class names are v4-* so they cannot collide with the shared v3
   component classes. Extracted from v4.html's inline prototype styles (PTT-1621
   wave) so the sub-pages match the /v4 landing without duplicating a giant
   <style> block on every page. STAGING-ONLY — never served on prod (PTT-1621).
   ========================================================================== */

/* Wider desktop viewport, matching the v4 landing. */
.v4-page .container{max-width:1180px;}

/* ---- Page hero -------------------------------------------------------- */
.v4-phero{padding:150px 0 30px;text-align:center;}
.v4-phero .container{max-width:900px;}
.v4-eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-dim);margin:0 0 18px;}
.v4-h1{font-family:var(--serif-2);font-weight:600;font-size:clamp(40px,5.4vw,66px);line-height:1.04;letter-spacing:-.015em;color:var(--green);margin:0 auto 20px;max-width:20ch;text-wrap:balance;}
.v4-sub{font-family:var(--serif-2);font-size:clamp(18px,2.1vw,22px);line-height:1.55;color:var(--muted);max-width:60ch;margin:0 auto 30px;}
.v4-hero-cta{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;}
.v4-hero-cta .btn{padding:15px 26px;font-size:15px;}

/* ---- Section scaffolding --------------------------------------------- */
.v4-section{padding:44px 0;}
.v4-section-head{text-align:center;max-width:680px;margin:0 auto 40px;}
.v4-section-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.2vw,46px);line-height:1.08;color:var(--ink);margin:0 0 14px;text-wrap:balance;}
.v4-section-head p{font-family:var(--serif-2);font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--muted);margin:0;}
/* PTT-1761: named section intros sized to match the /v4 homepage hero line
   (v4.html .v4-sub, clamp(18px,2.1vw,23px)); other section heads unchanged. */
.v4-section-head .v4-sub-size{font-size:clamp(18px,2.1vw,23px);}
.v4-kicker{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-dim);margin:0 0 12px;}

/* ---- Step / feature cards (reused from the v4 landing) --------------- */
.v4-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.v4-step{background:var(--paper);border:1px solid var(--rule);border-radius:15px;padding:26px 24px;}
.v4-step .v4-num{font-family:var(--mono);font-size:12px;color:var(--sage-dim);margin-bottom:13px;}
.v4-step h3{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink);margin:0 0 7px;}
.v4-step p{font-family:var(--serif-2);font-size:15.5px;line-height:1.55;color:var(--ink-soft);margin:0;}

/* ---- How-it-works diagram (Apps page) ------------------------------- */
.v4-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:14px;margin:0 auto;max-width:1000px;}
.v4-flow-node{background:var(--paper);border:1px solid var(--rule);border-radius:15px;padding:22px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.v4-flow-node.is-source{background:var(--linen-2);}
.v4-flow-node.is-out{border-color:var(--green);box-shadow:0 18px 40px rgba(16,42,32,.12);}
.v4-flow-ico{width:46px;height:46px;border-radius:12px;background:var(--linen-2);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.v4-flow-node.is-out .v4-flow-ico{background:var(--green);color:#fff;}
.v4-flow-ico svg{width:24px;height:24px;}
.v4-flow-node h3{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--ink);margin:0 0 6px;}
.v4-flow-node p{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--muted);margin:0;}
.v4-flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--sage-dim);}
.v4-flow-arrow svg{width:26px;height:26px;}
@media(max-width:820px){
  .v4-flow{grid-template-columns:1fr;}
  .v4-flow-arrow{transform:rotate(90deg);padding:2px 0;}
}

/* ---- Per-app blocks (Apps page) ------------------------------------- */
.v4-app{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;padding:34px 0;border-top:1px solid var(--rule);}
.v4-app:first-of-type{border-top:none;}
.v4-app.rev .v4-app-media{order:-1;}
.v4-app-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:rgba(31,68,53,.08);border-radius:999px;padding:6px 12px;margin-bottom:14px;}
.v4-app-badge.soon{color:var(--amber);background:rgba(192,138,24,.12);}
.v4-app-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--dot);}
.v4-app-badge.soon .dot{background:var(--amber);}
.v4-app-problem{font-family:var(--serif-2);font-style:italic;font-size:16px;color:var(--sage-dim);margin:0 0 10px;}
.v4-app h3{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.2vw,34px);color:var(--ink);margin:0 0 12px;}
.v4-app p{font-family:var(--serif-2);font-size:17px;line-height:1.6;color:var(--ink-soft);margin:0;}
.v4-app-media{background:var(--paper);border:1px solid var(--rule);border-radius:18px;padding:26px;min-height:210px;display:flex;align-items:center;justify-content:center;}
.v4-app.is-soon .v4-app-media{background:repeating-linear-gradient(135deg,var(--linen) 0 12px,var(--linen-2) 12px 24px);}
.v4-app-media svg{width:100%;height:auto;max-height:200px;display:block;overflow:visible;}

/* ---- About: bios + mission/vision ----------------------------------- */
.v4-bios{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.v4-bio{background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:28px 26px;}
.v4-bio-top{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.v4-bio-av{width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:22px;flex:0 0 auto;}
.v4-bio-name{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink);line-height:1.2;}
.v4-bio-role{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--green);margin-top:3px;}
.v4-bio p{font-family:var(--serif-2);font-size:15.5px;line-height:1.6;color:var(--ink-soft);margin:0;}
.v4-mv{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.v4-mv-card{background:var(--linen-2);border-radius:16px;padding:30px 28px;}
.v4-mv-card h3{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--green);margin:0 0 12px;}
.v4-mv-card p{font-family:var(--serif-2);font-size:17px;line-height:1.6;color:var(--ink-soft);margin:0;}
.v4-facts{display:flex;gap:44px;justify-content:center;flex-wrap:wrap;margin-top:6px;}
.v4-fact{text-align:center;}
.v4-fact .n{font-family:var(--serif);font-weight:600;font-size:34px;color:var(--green);line-height:1;}
.v4-fact .l{font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:7px;}
/* PTT-1762: expanded vision, an editorial column directly below Mission + Vision. */
.v4-vision-long-body{max-width:760px;margin:0 auto;text-align:center;border-top:1px solid var(--rule);padding-top:40px;}
.v4-vision-long-body p{font-family:var(--serif-2);font-size:clamp(18px,2.1vw,23px);line-height:1.55;color:var(--ink-soft);margin:0 0 16px;text-wrap:pretty;}
.v4-vision-long-body p:last-child{margin:26px 0 0;font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.2vw,34px);line-height:1.15;color:var(--green);}
/* PTT-1762: founders. Combined bio beside the photo (stacks under 900px); a
   name chip sits under each person (Bec left, Scott right, as in the photo). */
.v4-founders{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:56px;align-items:start;max-width:1080px;margin:0 auto;}
.v4-founders-media{margin:0;}
.v4-founders-photo{display:block;width:100%;height:auto;border-radius:18px;background:var(--linen-2);}
.v4-founders-chips{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.v4-founder-chip{justify-self:center;display:inline-flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:9px 18px;}
.v4-founder-chip .v4-bio-name{font-size:17px;}
.v4-founder-chip .v4-bio-role{font-size:11.5px;margin-top:2px;}
.v4-founders-bio p{font-family:var(--serif-2);font-size:clamp(17px,1.6vw,18.5px);line-height:1.65;color:var(--ink-soft);margin:0 0 18px;}
.v4-founders-bio p:first-child{font-family:var(--serif);font-weight:500;font-size:clamp(23px,2.5vw,28px);line-height:1.3;color:var(--ink);}
.v4-founders-bio p:last-child{margin-bottom:0;}
.v4-placeholder{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--amber);background:rgba(192,138,24,.12);border-radius:5px;padding:2px 7px;vertical-align:middle;}

/* ---- Trust Centre --------------------------------------------------- */
.v4-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.v4-tcard{background:var(--paper);border:1px solid var(--rule);border-radius:15px;padding:26px 24px;}
.v4-tcard .v4-tico{width:42px;height:42px;border-radius:11px;background:var(--linen-2);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.v4-tcard .v4-tico svg{width:22px;height:22px;}
.v4-tcard h3{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--ink);margin:0 0 8px;}
.v4-tcard p{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;}
.v4-status-list{max-width:820px;margin:0 auto;background:var(--paper);border:1px solid var(--rule);border-radius:15px;overflow:hidden;}
.v4-status-row{padding:18px 22px;border-bottom:1px solid var(--rule);}
.v4-status-row:last-child{border-bottom:none;}
.v4-status-row .tx{display:block;min-width:0;}
.v4-status-row .tx h4{font-family:var(--sans);font-weight:700;font-size:14.5px;color:var(--ink);margin:0 0 3px;}
.v4-status-row .tx p{font-family:var(--sans);font-size:13.5px;line-height:1.55;color:var(--muted);margin:0;}
.v4-subtable-scroll{max-width:960px;margin:0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.v4-subtable{width:100%;min-width:680px;border-collapse:collapse;background:var(--paper);border:1px solid var(--rule);border-radius:15px;overflow:hidden;}
.v4-subtable thead th{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-dim);text-align:left;padding:14px 18px;border-bottom:1px solid var(--rule);background:var(--linen-2);}
.v4-subtable td{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-soft);padding:15px 18px;border-bottom:1px solid var(--rule);vertical-align:top;}
.v4-subtable tr:last-child td{border-bottom:none;}
.v4-subtable td:first-child{font-weight:600;color:var(--ink);white-space:nowrap;}
.v4-doclinks{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:820px;margin:0 auto;}
.v4-doclink{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--rule);border-radius:13px;padding:18px 20px;text-decoration:none;transition:border-color .15s;}
.v4-doclink:hover{border-color:var(--green);}
.v4-doclink .ic{width:38px;height:38px;border-radius:10px;background:var(--linen-2);color:var(--green);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.v4-doclink .ic svg{width:19px;height:19px;}
.v4-doclink .nm{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink);}
.v4-doclink .ds{font-family:var(--sans);font-size:12.5px;color:var(--muted);margin-top:2px;}
.v4-trust-note{max-width:820px;margin:26px auto 0;font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--muted);text-align:center;}
.v4-trust-contact{max-width:820px;margin:0 auto;text-align:center;font-family:var(--serif-2);font-size:17px;color:var(--ink-soft);}
.v4-trust-contact a{color:var(--green);font-weight:600;}

/* ---- FAQ (reused from the v4 landing) ------------------------------- */
.v4-faq-list{max-width:760px;margin:0 auto;}
.v4-faq{border-bottom:1px solid var(--rule);}
.v4-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:none;border:none;cursor:pointer;padding:22px 4px;font-family:var(--serif);font-weight:600;font-size:clamp(18px,2vw,22px);color:var(--ink);list-style:none;}
.v4-faq-q::-webkit-details-marker{display:none;}
.v4-faq-q .v4-faq-ico{flex:0 0 auto;width:22px;height:22px;color:var(--green);transition:transform .25s ease;}
.v4-faq[open] .v4-faq-ico{transform:rotate(45deg);}
.v4-faq-a{overflow:hidden;}
.v4-faq-a-inner{padding:0 4px 22px;font-family:var(--serif-2);font-size:clamp(16px,1.8vw,18px);line-height:1.62;color:var(--ink-soft);max-width:64ch;}

/* ---- responsive ----------------------------------------------------- */
@media(max-width:900px){
  .v4-phero{padding:128px 0 24px;}
  .v4-steps,.v4-bios,.v4-mv,.v4-trust-grid,.v4-doclinks{grid-template-columns:1fr;}
  .v4-app{grid-template-columns:1fr;gap:20px;}
  .v4-app.rev .v4-app-media{order:0;}
  .v4-founders{grid-template-columns:1fr;gap:32px;}
  .v4-founders-media{width:100%;max-width:440px;margin:0 auto;}
}
@media(prefers-reduced-motion:reduce){
  .v4-faq-ico{transition:none;}
}
