/* ============================================================
   SENATUS FUND - Inner-page components (extends senatus-site.css)
   ============================================================ */

/* ---------- PAGE HERO (compact navy) ---------- */
.page-hero{position:relative;background:var(--navy-800);color:var(--text-on-space);overflow:hidden;
  padding:clamp(56px,8vw,104px) 0 clamp(44px,5vw,64px)}
.page-hero .flutes{position:absolute;inset:0;pointer-events:none;opacity:.45;
  background-image:repeating-linear-gradient(90deg,transparent 0,transparent 118px,var(--line-gold-soft) 118px,var(--line-gold-soft) 119px)}
.page-hero .seal{position:absolute;right:-10%;top:-18%;width:min(520px,58vw);opacity:.06;pointer-events:none}
.page-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 var(--edge)}
.crumb{display:flex;align-items:center;gap:10px;font:600 11px/1 var(--font-inscription);letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-faint-on-space)}
.crumb a{color:var(--accent);text-decoration:none}
.crumb .sep{opacity:.5}
.page-hero h1{font-size:clamp(34px,5.4vw,68px);line-height:1.03;letter-spacing:-.02em;margin-top:22px;max-width:18ch}
.page-hero h1 .g{color:var(--accent);font-style:italic}
.page-hero .lead{font-family:var(--font-serif);font-size:clamp(17px,1.9vw,21px);line-height:1.55;
  color:var(--text-muted-on-space);max-width:58ch;margin-top:26px}
.page-hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ---------- generic two-column split ---------- */
.split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(30px,5vw,72px);align-items:start}
.split.narrow{grid-template-columns:1fr 1fr}
.split .sticky{position:sticky;top:96px}
@media(max-width:880px){.split,.split.narrow{grid-template-columns:1fr}.split .sticky{position:static}}

/* section intro block */
.intro{max-width:56ch}
.intro .kick{margin-bottom:16px;display:inline-block}
.intro h2{font-size:clamp(28px,4vw,46px);line-height:1.06;margin-top:6px}
.intro p{font-family:var(--font-serif);font-size:clamp(16px,1.7vw,18.5px);line-height:1.62;color:var(--text-ink-muted);margin-top:18px}
.band-navy .intro p,.band-void .intro p{color:var(--text-muted-on-space)}

/* ---------- numbered reason list (Why now) ---------- */
.reasons{display:grid;gap:0;margin-top:8px}
.reason{display:grid;grid-template-columns:auto 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line-on-paper)}
.reason:first-child{border-top:2px solid var(--gold-400)}
.reason .rn{font-family:var(--font-display);font-size:30px;color:var(--accent-on-light);font-variant-numeric:tabular-nums;line-height:1}
.reason h3{font-size:21px;font-weight:500;margin:0 0 8px}
.reason p{font-size:15px;line-height:1.6;color:var(--text-ink-muted);margin:0;max-width:56ch}
.band-navy .reason{border-top-color:var(--line-on-space)}
.band-navy .reason:first-child{border-top-color:var(--gold-400)}
.band-navy .reason .rn{color:var(--accent)}
.band-navy .reason h3{color:var(--text-on-space)}
.band-navy .reason p{color:var(--text-muted-on-space)}

/* ---------- criteria / feature grid ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:48px}
.cell{padding:26px 30px 30px;border-top:2px solid var(--gold-400)}
.cell:not(:nth-child(3n+1)){border-left:1px solid var(--line-on-paper)}
.grid-2 .cell:not(:nth-child(2n+1)){border-left:1px solid var(--line-on-paper)}
.cell .cn{font:600 11px/1 var(--font-inscription);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-on-light)}
.cell h3{font-size:22px;font-weight:500;margin:14px 0 10px}
.cell p{font-size:14.5px;line-height:1.6;color:var(--text-ink-muted);margin:0}
.band-navy .cell,.band-void .cell{border-left-color:var(--line-gold)!important}
.band-navy .cell .cn,.band-void .cell .cn{color:var(--accent)}
.band-navy .cell h3,.band-void .cell h3{color:var(--text-on-space)}
.band-navy .cell p,.band-void .cell p{color:var(--text-muted-on-space)}
@media(max-width:820px){.grid-3{grid-template-columns:1fr 1fr}.grid-3 .cell:not(:nth-child(3n+1)){border-left:none}.grid-3 .cell:not(:nth-child(2n+1)){border-left:1px solid var(--line-on-paper)}.band-navy .grid-3 .cell:not(:nth-child(2n+1)){border-left-color:var(--line-gold)}}
@media(max-width:520px){.grid-3,.grid-2{grid-template-columns:1fr}.cell{border-left:none!important}}

/* ---------- transparency ledger (LP) ---------- */
.ledger{margin-top:44px;border:1px solid var(--line-on-space);border-radius:var(--radius-lg);overflow:hidden}
.ledger-row{display:grid;grid-template-columns:0.42fr 1fr;gap:0}
.ledger-row+.ledger-row{border-top:1px solid var(--line-on-space)}
.ledger-row .lk{padding:24px 28px;background:rgba(11,36,56,.4);font:600 12px/1.4 var(--font-inscription);
  letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border-right:1px solid var(--line-on-space)}
.ledger-row .lv{padding:24px 28px;font-size:15px;line-height:1.6;color:var(--text-muted-on-space)}
.ledger-row .lv b{color:var(--text-on-space);font-weight:600}
@media(max-width:640px){.ledger-row{grid-template-columns:1fr}.ledger-row .lk{border-right:none;border-bottom:1px solid var(--line-on-space)}}

/* ---------- value-add stack (Founders) ---------- */
.stack{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:44px}
.stack-item{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 24px;border:1px solid var(--line-on-paper);
  border-radius:var(--radius);background:var(--white);transition:border-color .18s,transform .18s}
.stack-item:hover{border-color:var(--gold-600);transform:translateY(-2px)}
.stack-item .di{width:9px;height:9px;transform:rotate(45deg);background:var(--accent-on-light);margin-top:8px;flex:none}
.stack-item h4{font-size:17px;font-weight:600;margin:0 0 6px}
.stack-item p{font-size:13.5px;line-height:1.55;color:var(--text-ink-muted);margin:0}
@media(max-width:640px){.stack{grid-template-columns:1fr}}

/* ---------- process steps (vertical) ---------- */
.steps{margin-top:44px;display:grid;gap:0;max-width:80ch}
.step{display:grid;grid-template-columns:auto 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line-on-paper);position:relative}
.step:first-child{border-top:2px solid var(--gold-400)}
.step .sc{width:44px;height:44px;border:1px solid var(--stone-200);border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-family:var(--font-display);font-size:18px;color:var(--accent-on-light);flex:none}
.step h3{font-size:20px;font-weight:500;margin:6px 0 8px}
.step p{font-size:15px;line-height:1.6;color:var(--text-ink-muted);margin:0;max-width:60ch}
.band-navy .step,.band-void .step{border-top-color:var(--line-on-space)}
.band-navy .step:first-child,.band-void .step:first-child{border-top-color:var(--gold-400)}
.band-navy .step .sc,.band-void .step .sc{border-color:var(--line-gold);color:var(--accent)}
.band-navy .step h3,.band-void .step h3{color:var(--text-on-space)}
.band-navy .step p,.band-void .step p{color:var(--text-muted-on-space)}

/* ---------- platform module rows (detailed) ---------- */
.mrows{margin-top:48px;display:grid;gap:20px}
.mrow{display:grid;grid-template-columns:0.36fr 1fr;gap:clamp(20px,4vw,56px);padding:34px;border:1px solid var(--line-on-space);
  border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(11,36,56,.45),rgba(7,23,38,0))}
.mrow .ml .mk{font:600 11px/1 var(--font-inscription);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.mrow .ml h3{font-size:clamp(22px,2.4vw,28px);font-weight:500;color:var(--text-on-space);margin:14px 0 0;line-height:1.1}
.mrow .mr p{font-family:var(--font-serif);font-size:15.5px;line-height:1.65;color:var(--text-muted-on-space);margin:0}
.mrow .mr ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.mrow .mr li{position:relative;padding-left:18px;font-size:14px;color:var(--text-muted-on-space);line-height:1.5}
.mrow .mr li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;transform:rotate(45deg);background:var(--accent)}
@media(max-width:760px){.mrow{grid-template-columns:1fr;gap:20px}}

/* ---------- triple-lens ---------- */
.lens{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.lens-card{padding:30px 28px;border:1px solid var(--line-on-space);border-radius:var(--radius-lg);background:var(--navy-700)}
.lens-card .ll{font-family:var(--font-display);font-size:15px;color:var(--accent)}
.lens-card h3{font-size:24px;font-weight:500;color:var(--text-on-space);margin:12px 0 10px}
.lens-card p{font-size:14px;line-height:1.6;color:var(--text-muted-on-space);margin:0}
@media(max-width:760px){.lens{grid-template-columns:1fr}}

/* ---------- team profile rows ---------- */
.profile{display:grid;grid-template-columns:280px 1fr;gap:clamp(28px,5vw,64px);padding:clamp(36px,5vw,56px) 0;
  border-top:1px solid var(--line-on-paper);align-items:start}
.profile:first-of-type{border-top:2px solid var(--gold-400)}
.profile .pimg{position:relative}
.profile .pimg img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top center;border-radius:var(--radius-lg);
  border:1px solid var(--stone-200);filter:grayscale(.12) contrast(1.02)}
.profile .pname{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);line-height:1.05;margin:0}
.profile .prole{font:600 11px/1.4 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-light);margin:12px 0 0}
.profile .chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px}
.profile .chip{font:600 11px/1 var(--font-inscription);letter-spacing:.1em;text-transform:uppercase;color:var(--text-ink-muted);
  border:1px solid var(--stone-200);border-radius:var(--radius-badge);padding:8px 12px}
.profile .pbio p{font-family:var(--font-serif);font-size:15.5px;line-height:1.68;color:var(--text-ink-muted);margin:0 0 14px;max-width:66ch}
.profile .pbio p strong{color:var(--text-ink);font-weight:600}
@media(max-width:700px){.profile{grid-template-columns:1fr}.profile .pimg img{max-width:220px}}

/* ---------- contact routes ---------- */
.routes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.route-card{display:block;padding:32px 30px;border:1px solid var(--line-on-paper);border-radius:var(--radius-lg);
  background:var(--white);text-decoration:none;transition:border-color .18s,transform .18s;color:inherit}
.route-card:hover{border-color:var(--gold-600);transform:translateY(-3px)}
.route-card .rc-k{font:600 11px/1 var(--font-inscription);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-on-light)}
.route-card h3{font-size:23px;font-weight:500;margin:14px 0 10px}
.route-card p{font-size:14.5px;line-height:1.6;color:var(--text-ink-muted);margin:0 0 18px;max-width:44ch}
.route-card .rc-go{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--font-sans);color:var(--accent-on-light)}
.route-card:hover .rc-go .ar{transform:translateX(3px)}
.route-card .rc-go .ar{transition:transform .18s var(--ease-out)}
@media(max-width:700px){.routes{grid-template-columns:1fr}}

.contact-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line-on-space)}
.cm{padding:28px 26px 0;border-left:1px solid var(--line-on-space)}
.cm:first-child{border-left:none;padding-left:0}
.cm .l{font:600 11px/1 var(--font-inscription);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.cm p{font-size:15px;line-height:1.6;color:var(--text-muted-on-space);margin:12px 0 0}
.cm a{color:var(--text-on-space);text-decoration:none}
.cm a:hover{color:var(--accent)}
@media(max-width:640px){.contact-meta{grid-template-columns:1fr}.cm{border-left:none;padding-left:0;margin-top:24px;border-top:1px solid var(--line-on-space);padding-top:24px}.cm:first-child{margin-top:0;border-top:none;padding-top:0}}

/* ---------- insights (page) ---------- */
.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid var(--line-on-paper);border-radius:var(--radius-lg);
  overflow:hidden;margin-top:8px;background:var(--white)}
.feature .fbody{padding:clamp(34px,4vw,56px)}
.feature .tag{display:inline-flex;gap:8px;font:600 11px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-on-light);border:1px solid var(--stone-200);padding:7px 12px;border-radius:var(--radius-badge)}
.feature h2{font-size:clamp(26px,3.4vw,40px);line-height:1.08;margin:22px 0 16px;max-width:20ch}
.feature .fbody p{font-family:var(--font-serif);font-size:16.5px;line-height:1.7;color:var(--text-ink-muted);max-width:54ch}
.feature .meta{margin-top:22px;font:600 12px/1 var(--font-inscription);letter-spacing:.1em;text-transform:uppercase;color:var(--text-ink-faint)}
.feature .fside{position:relative;overflow:hidden;background:var(--navy-800);min-height:280px}
.feature .fside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.6);opacity:.6}
.feature .fside .ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(5,13,24,.5),rgba(5,13,24,.9))}
@media(max-width:820px){.feature{grid-template-columns:1fr}.feature .fside{min-height:220px}}

.artgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.art{display:flex;flex-direction:column;padding:28px 26px;border:1px solid var(--line-on-paper);border-radius:var(--radius);
  background:var(--white);transition:border-color .18s,transform .18s;min-height:230px}
.art:hover{border-color:var(--gold-600);transform:translateY(-2px)}
.art .k{font:600 10.5px/1 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-light)}
.art h3{font-size:20px;font-weight:500;margin:14px 0 10px;line-height:1.2}
.art p{font-size:14px;line-height:1.55;color:var(--text-ink-muted);margin:0}
.art .rd{margin-top:auto;padding-top:18px;font:600 12px/1 var(--font-inscription);letter-spacing:.1em;text-transform:uppercase;color:var(--text-ink-faint)}
@media(max-width:820px){.artgrid{grid-template-columns:1fr}}

/* ---------- compliance callout ---------- */
.compliance{margin-top:52px;padding:28px 30px;border:1px solid var(--line-on-space);border-left:2px solid var(--gold-400);
  border-radius:var(--radius);background:rgba(11,36,56,.35)}
.compliance .l{font:600 11px/1 var(--font-inscription);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.compliance p{font-size:13.5px;line-height:1.65;color:var(--text-muted-on-space);margin:12px 0 0;max-width:92ch}

/* light variant on paper */
.compliance.ink{background:var(--paper-dim);border-color:var(--stone-200);border-left-color:var(--gold-600)}
.compliance.ink .l{color:var(--accent-on-light)}
.compliance.ink p{color:var(--text-ink-muted)}

/* quote band reuse */
.qband{text-align:center}
.qband blockquote{margin:0 auto;max-width:48ch;font-family:var(--font-display);font-style:italic;font-weight:500;
  font-size:clamp(28px,4.4vw,48px);line-height:1.22;letter-spacing:-.01em;color:var(--text-on-space)}
.qband .attr{margin-top:28px;font:600 12px/1 var(--font-inscription);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}

/* ============================================================
   FORMS - founder application & contact
   ============================================================ */
.form{max-width:820px;margin-top:8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.field{display:flex;flex-direction:column;gap:9px;min-width:0}
.field.full{grid-column:1 / -1}
.field label{font:600 11px/1.2 var(--font-inscription);letter-spacing:.14em;text-transform:uppercase;color:var(--text-ink-muted)}
.field label .req{color:var(--accent-on-light);margin-left:2px}
.field label .opt{color:var(--text-ink-faint);letter-spacing:.06em;font-weight:500}
.field input,.field select,.field textarea{font:400 15px/1.5 var(--font-sans);color:var(--text-ink);background:var(--white);
  border:1px solid var(--stone-200);border-radius:var(--radius-sm);padding:13px 15px;width:100%;
  transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23A87C33' stroke-width='1.5'/></svg>");
  background-repeat:no-repeat;background-position:right 15px center;padding-right:38px;cursor:pointer}
.field textarea{resize:vertical;min-height:128px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-600);box-shadow:0 0 0 3px rgba(218,185,119,.18)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-ink-faint)}
.field input:invalid:not(:placeholder-shown){border-color:var(--critical)}
.field .hint{font-size:12px;line-height:1.4;color:var(--text-ink-faint)}

.filedrop{position:relative;border:1px dashed var(--stone-400);border-radius:var(--radius);padding:26px 22px;text-align:center;
  cursor:pointer;background:var(--paper-dim);transition:border-color .15s,background .15s}
.filedrop:hover{border-color:var(--gold-600);background:rgba(218,185,119,.06)}
.filedrop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.filedrop .fd-ic{width:26px;height:26px;margin:0 auto 10px;color:var(--accent-on-light)}
.filedrop .fd-t{font:600 13.5px/1.3 var(--font-sans);color:var(--text-ink)}
.filedrop .fd-s{font-size:12px;color:var(--text-ink-faint);margin-top:6px}
.filedrop.has{border-style:solid;border-color:var(--gold-600);background:rgba(218,185,119,.08)}
.filedrop.has .fd-t{color:var(--accent-on-light)}

.form-actions{margin-top:32px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.form-note{font-size:12.5px;line-height:1.55;color:var(--text-ink-faint);max-width:50ch}
.form-error{display:none;margin-top:16px;font:600 13px/1.4 var(--font-sans);color:var(--critical)}
.form-error.show{display:block}

.form-success{display:none}
.form-success.show{display:block;animation:fs-in .5s var(--ease-out)}
@keyframes fs-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.form-success .fs-mark{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--gold-400);display:flex;align-items:center;
  justify-content:center;color:var(--accent-on-light)}
.form-success h3{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,3.4vw,38px);line-height:1.1;margin:24px 0 14px}
.form-success p{font-family:var(--font-serif);font-size:16.5px;line-height:1.65;color:var(--text-ink-muted);max-width:52ch}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
