/* ============================================================
   ErinVentures — Hub components
   Venture tiles · work-with-me paths · speaking list · trust row
   ============================================================ */

/* ---------- Trust row (mirrors the Fresh Ventures pattern) ---------- */
.trust .lead-row { display:flex; align-items:baseline; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:26px; }
.trust .lbl { font-family:var(--font-mono); font-weight:500; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-3); }

/* ---------- Venture tiles (Fresh · nvested · Advisory) ---------- */
.ventures { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.v-tile {
  position:relative; display:flex; flex-direction:column; gap:14px;
  padding:clamp(24px,2.6vw,34px); border-radius:var(--r-xl);
  background:var(--bg-card); border:1px solid var(--border-1); box-shadow:var(--shadow-sm);
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base), box-shadow var(--dur-base);
  overflow:hidden;
}
.v-tile:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.v-tile .v-role { font-family:var(--font-mono); font-weight:600; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-3); }
.v-tile .v-mark { display:flex; align-items:center; gap:10px; font-family:"Mona Sans",var(--font-display); font-size:23px; line-height:1; color:var(--fg-1); }
.v-tile .v-mark .nv { font-weight:800; letter-spacing:-.035em; }
.v-tile .v-mark .fr { font-weight:500; letter-spacing:-.02em; }
.v-tile .v-mark .fr strong { font-weight:800; margin-right:.22em; }
.v-tile .v-mark .ev { font-weight:800; letter-spacing:-.03em; }
.v-tile .v-mark .dot { color:var(--lv-green); }
.v-tile .v-sun { width:19px; height:19px; flex-shrink:0; }
.v-tile p { font-size:14px; line-height:1.6; color:var(--fg-2); margin:0; flex:1; }
.v-tile .v-stat { display:flex; gap:18px; flex-wrap:wrap; padding-top:4px; }
.v-tile .v-stat .s { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-3); }
.v-tile .v-stat .s b { display:block; font-family:var(--font-display); font-weight:900; font-size:19px; letter-spacing:-.02em; color:var(--fg-1); margin-bottom:3px; }
.v-tile .v-go { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:800; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-1); margin-top:2px; }
.v-tile .v-go svg { width:14px; height:14px; transition:transform var(--dur-base) var(--ease-out); }
.v-tile:hover .v-go svg { transform:translateX(3px); }
/* accent edge — both ventures share the family green; the advisory is the ink anchor. */
.v-tile::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; }
.v-tile.is-fresh::before { background:var(--lv-green); }
.v-tile.is-nvested::before { background:var(--lv-green); }
.v-tile.is-ev::before { background:var(--lv-ink); }
.v-tile.is-fresh, .v-tile.is-nvested { background:linear-gradient(165deg, rgba(1,68,33,.055) 0%, rgba(1,68,33,.015) 42%, #fff 100%); }
.v-tile.is-ev { background:linear-gradient(165deg, rgba(14,17,15,.05) 0%, rgba(14,17,15,.012) 42%, #fff 100%); }
.v-tile.is-fresh:hover, .v-tile.is-nvested:hover { border-color:rgba(1,68,33,.4); }
.v-tile.is-ev:hover { border-color:rgba(14,17,15,.32); }
.v-tile .v-stat .s b { color:var(--fg-1); }
@media (max-width:900px){ .ventures { grid-template-columns:1fr; } }

/* ---------- Ways to work with me ---------- */
.paths { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border-1); border:1px solid var(--border-1); border-radius:var(--r-lg); overflow:hidden; }
.path { background:var(--bg-card); padding:clamp(22px,2.4vw,30px); display:flex; flex-direction:column; gap:10px; text-decoration:none; transition:background var(--dur-fast); }
.path:hover { background:var(--ev-cream-2); }
.path .p-ic { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:rgba(14,17,15,.05); color:var(--fg-1); border:1px solid var(--border-1); }
.path .p-ic svg { width:17px; height:17px; }
.path h4 { font-family:var(--font-display); font-weight:800; font-size:15px; line-height:1.15; letter-spacing:-.01em; margin:6px 0 0; color:var(--fg-1); }
.path p { font-size:13px; line-height:1.5; color:var(--fg-2); margin:0; }
@media (max-width:980px){ .paths { grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .paths { grid-template-columns:1fr; } }

/* ---------- Speaking ---------- */
.topics { display:flex; flex-wrap:wrap; gap:10px; }
.topics .t {
  font-family:var(--font-mono); font-weight:500; font-size:12px; letter-spacing:.04em;
  padding:10px 16px; border-radius:var(--r-pill);
  border:1px solid var(--border-1); background:var(--bg-card); color:var(--fg-2);
}
.section-dark .topics .t { border-color:var(--border-dark); background:rgba(255,255,255,.04); color:rgba(255,255,255,.84); }

/* Speaking teaser: copy left, CTA held to the right */
.speak-row { display:grid; grid-template-columns:1fr auto; gap:clamp(28px,5vw,64px); align-items:center; }
.speak-row .speak-cta { justify-self:end; white-space:nowrap; padding:18px 30px; }
@media (max-width:860px){ .speak-row { grid-template-columns:1fr; } .speak-row .speak-cta { justify-self:start; } }

.gigs { display:flex; flex-direction:column; }
.gig { display:grid; grid-template-columns:132px 1fr; gap:22px; padding:20px 0; border-top:1px solid var(--border-1); align-items:baseline; }
.gig:first-child { border-top:0; }
.gig .when { font-family:var(--font-mono); font-weight:600; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-3); }
.gig .what { font-family:var(--font-display); font-weight:800; font-size:clamp(17px,1.8vw,21px); line-height:1.2; letter-spacing:-.015em; color:var(--fg-1); }
.gig .what span { display:block; font-family:var(--font-body); font-weight:400; font-size:14px; letter-spacing:0; color:var(--fg-2); margin-top:6px; }
.section-dark .gig { border-top-color:var(--border-dark); }
.section-dark .gig .when { color:var(--lv-green-lt); }
.section-dark .gig .what { color:#fff; }
.section-dark .gig .what span { color:var(--fg-on-dark-2); }
@media (max-width:560px){ .gig { grid-template-columns:1fr; gap:6px; } }

/* ---------- Advisory products (two-track) ---------- */
.tracks { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch; }
.track {
  position:relative; display:flex; flex-direction:column; gap:16px;
  padding:clamp(28px,3vw,40px); border-radius:var(--r-xl);
  background:var(--bg-card); border:1px solid var(--border-1); box-shadow:var(--shadow-sm);
}
.track.is-dark {
  background:radial-gradient(90% 80% at 100% 0%, rgba(30,138,90,.26), transparent 55%), linear-gradient(160deg,#0B0D0C 0%,#141816 55%,#1a211c 100%);
  border-color:rgba(30,138,90,.4); box-shadow:0 0 40px rgba(30,138,90,.2);
}
.track .t-for { font-family:var(--font-mono); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-3); }
.track.is-dark .t-for { color:rgba(255,255,255,.6); }
.track h3 { font-family:var(--font-display); font-weight:900; font-size:clamp(24px,2.6vw,32px); line-height:1.02; letter-spacing:-.025em; text-transform:uppercase; margin:0; color:var(--fg-1); }
.track.is-dark h3 { color:#fff; }
.track > p { font-size:15px; line-height:1.6; color:var(--fg-2); margin:0; }
.track.is-dark > p { color:var(--fg-on-dark-2); }
.track ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; flex:1; }
.track li { display:flex; gap:12px; align-items:flex-start; padding:13px 0; border-top:1px solid var(--border-1); font-size:14.5px; line-height:1.5; color:var(--fg-1); }
.track li:first-child { border-top:0; }
.track.is-dark li { border-top-color:rgba(255,255,255,.12); color:rgba(255,255,255,.9); }
.track li svg { width:15px; height:15px; flex-shrink:0; margin-top:3px; color:var(--lv-green); }
.track.is-dark li svg { color:var(--lv-green-lt); }
.track .t-price { font-family:var(--font-display); font-weight:900; font-size:clamp(22px,2.4vw,30px); letter-spacing:-.025em; color:var(--fg-1); }
.track.is-dark .t-price { color:#fff; }
.track .t-price span { font-family:var(--font-mono); font-weight:500; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--fg-3); display:block; margin-top:6px; }
.track.is-dark .t-price span { color:rgba(255,255,255,.55); }
@media (max-width:820px){ .tracks { grid-template-columns:1fr; } }

/* ---------- Intent router (contact) ---------- */
.intents { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:26px; }
.intent { position:relative; cursor:pointer; }
.intent input { position:absolute; opacity:0; pointer-events:none; }
.intent span {
  display:flex; align-items:center; gap:10px; padding:14px 16px; border-radius:var(--r-md);
  border:1px solid var(--border-1); background:var(--ev-cream-2);
  font-size:13.5px; font-weight:600; color:var(--fg-2); transition:all var(--dur-fast);
}
.intent:hover span { border-color:rgba(14,17,15,.35); }
.intent input:checked + span { background:var(--ev-ink-800); border-color:var(--ev-ink-800); color:#fff; }
.intent:last-child:nth-child(odd) { grid-column:1/-1; }
@media (max-width:560px){ .intents { grid-template-columns:1fr; } }

/* ---------- Multi-select dropdown (contact intent) ---------- */
.ms { position:relative; }
.ms-toggle {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:var(--font-body); font-size:15px; color:var(--fg-1); text-align:left;
  background:var(--ev-cream-2); border:1px solid var(--border-1); border-radius:var(--r-md);
  padding:14px 16px; cursor:pointer; transition:border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.ms-toggle:hover { border-color:rgba(1,68,33,.35); }
.ms-toggle:focus-visible { outline:none; border-color:var(--lv-green); box-shadow:0 0 0 3px rgba(1,68,33,.14); }
.ms.open .ms-toggle { border-color:var(--lv-green); box-shadow:0 0 0 3px rgba(1,68,33,.14); }
.ms-summary { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ms-summary.is-placeholder { color:var(--fg-3); }
.ms-chev { width:16px; height:16px; flex-shrink:0; color:var(--fg-3); transition:transform var(--dur-base) var(--ease-out); }
.ms.open .ms-chev { transform:rotate(180deg); }
.ms-panel {
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:20;
  background:#fff; border:1px solid var(--border-1); border-radius:var(--r-md);
  box-shadow:var(--shadow-lg); padding:6px; display:none; max-height:290px; overflow-y:auto;
}
.ms.open .ms-panel { display:block; }
.ms-opt {
  display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:8px;
  font-size:14.5px; color:var(--fg-1); cursor:pointer; transition:background var(--dur-fast);
}
.ms-opt:hover { background:var(--ev-cream-2); }
.ms-opt input { position:absolute; opacity:0; pointer-events:none; }
.ms-box {
  width:18px; height:18px; flex-shrink:0; border-radius:5px;
  border:1.5px solid var(--border-1); background:#fff;
  display:grid; place-items:center; transition:all var(--dur-fast);
}
.ms-box::after {
  content:''; width:9px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px); opacity:0; transition:opacity var(--dur-fast);
}
.ms-opt input:checked + .ms-box { background:var(--lv-green); border-color:var(--lv-green); }
.ms-opt input:checked + .ms-box::after { opacity:1; }
.ms-opt input:focus-visible + .ms-box { box-shadow:0 0 0 3px rgba(1,68,33,.18); }

/* Conditional form blocks */
[data-when][hidden] { display:none !important; }
[data-when]:not([hidden]) { animation:fieldIn .28s var(--ease-out); }
@keyframes fieldIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }

/* ---------- Legal disclaimer ---------- */
.disclaimer { font-family:var(--font-mono); font-size:10.5px; line-height:1.7; color:rgba(255,255,255,.34); max-width:92ch; margin-top:20px; }
