/* Shared styles for the free founder tools. Loaded after site.css. */

.tool-hero{padding:56px 0 8px;border-top:0}
.tool-hero .eyebrow{margin-bottom:14px}
.tool-hero h1{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.18;
  letter-spacing:-.02em;color:var(--ink);margin:0;max-width:760px;text-wrap:balance}
.tool-hero .lede{font-size:16.5px;max-width:660px}
.crumb{font-size:13px;color:var(--muted);margin-bottom:20px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--green)}

.panel{background:var(--white);border:1px solid var(--line);border-radius:6px;
  padding:30px;margin-top:34px}
.panel h2{font-size:20px;margin-bottom:6px}
.panel .hint{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:22px}

.qrow{padding:16px 0;border-top:1px solid var(--line);display:grid;
  grid-template-columns:1fr 250px;gap:24px;align-items:center}
.qrow:first-of-type{border-top:0;padding-top:0}
.qrow p{font-size:15px;line-height:1.6;color:var(--ink)}
.qrow .why{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.6}

.choices{display:flex;gap:8px}
.choices label{flex:1;position:relative}
.choices input{position:absolute;opacity:0;width:1px;height:1px}
.choices span{display:block;text-align:center;padding:9px 6px;border:1px solid var(--line);
  border-radius:4px;font-size:13.5px;color:var(--body);cursor:pointer;background:var(--white);
  transition:border-color .15s,background .15s,color .15s}
.choices input:checked + span{border-color:var(--green);background:rgba(82,144,74,.08);
  color:var(--ink);font-weight:500}
.choices input:focus-visible + span{outline:2px solid var(--green);outline-offset:2px}

.namerow{display:grid;grid-template-columns:150px 1fr auto;gap:10px;margin-bottom:10px;
  align-items:center}
.namerow button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px;
  line-height:1;padding:6px 8px;border-radius:4px}
.namerow button:hover{color:#9B3226}

.numrow{display:grid;grid-template-columns:1fr 200px;gap:24px;align-items:center;
  padding:16px 0;border-top:1px solid var(--line)}
.numrow:first-of-type{border-top:0;padding-top:0}

.toolbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}
.linkish{background:none;border:0;color:var(--muted);font:14px var(--sans);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;padding:0}
.linkish:hover{color:var(--ink)}

/* result */
.result{margin-top:34px;border-top:2px solid var(--green);padding-top:26px}
.result .verdict{font-family:var(--serif);font-size:27px;line-height:1.25;color:var(--ink);
  letter-spacing:-.015em;max-width:760px;text-wrap:balance}
.result .read{font-size:15.5px;line-height:1.8;margin-top:14px;max-width:700px}
.meter{display:flex;gap:5px;margin:22px 0 6px;max-width:420px}
.meter i{flex:1;height:7px;border-radius:2px;background:var(--line);display:block}
.meter i.on{background:var(--green)}
.meterlab{font-size:12.5px;color:var(--muted);letter-spacing:.04em}
.findings{margin-top:26px;display:grid;gap:14px;max-width:760px}
.finding{display:flex;gap:12px;font-size:14.5px;line-height:1.7}
.finding b{color:var(--green);font-weight:400;font-family:var(--serif);flex:none}
.numout{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:26px;max-width:760px}
.numout div{border-top:1px solid var(--line);padding-top:13px}
.numout b{display:block;font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink);
  letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.numout span{display:block;font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.5}

/* email the result */
.emailout{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);max-width:620px}
.emailout b{display:block;font-size:14.5px;color:var(--ink);font-weight:500;margin-bottom:6px}
.emailout p{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:14px}
.emailrow{display:flex;gap:10px;flex-wrap:wrap}
.emailrow input{flex:1 1 220px;width:auto}
.emailrow .btn{flex:0 0 auto}
.emailok{font-size:14.5px;color:var(--ink);line-height:1.7}

/* next step */
.nextstep{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.nextstep h2{font-size:25px}
.nextstep p{font-size:15px;line-height:1.75;margin-top:12px;max-width:620px}

/* tools index cards */
.toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.toolcard{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:28px;
  display:flex;flex-direction:column;text-decoration:none;transition:border-color .18s}
.toolcard:hover{border-color:var(--green)}
.toolcard .tag{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--green);margin-bottom:14px}
.toolcard h3{font-size:20px;line-height:1.3;margin-bottom:10px}
.toolcard p{font-size:14px;line-height:1.7;color:var(--body);flex:1}
.toolcard .go{font-size:13.5px;color:var(--ink);margin-top:18px;font-weight:500}

/* homepage strip */
.toolstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}
.toolstrip a{text-decoration:none;border-top:2px solid var(--green);padding-top:16px;display:block}
.toolstrip h3{font-size:18px;margin-bottom:8px}
.toolstrip p{font-size:14px;line-height:1.7}
.toolstrip .go{font-size:13px;color:var(--muted);margin-top:12px}
.toolstrip a:hover .go{color:var(--green)}

@media (max-width:900px){
  .tool-hero h1{font-size:28px}
  .qrow,.numrow,.nextstep,.numout,.toolgrid,.toolstrip{grid-template-columns:1fr}
  .qrow{gap:12px}
  .numrow{gap:10px}
  .namerow{grid-template-columns:1fr auto}
  .result .verdict{font-size:23px}
}

/* community */
.community{display:grid;grid-template-columns:1fr 400px;gap:56px;margin-top:40px;align-items:start}
.cbullets{list-style:none;margin:0;padding:0}
.cbullets li{display:flex;gap:11px;font-size:14.5px;line-height:1.7;margin-bottom:12px;color:var(--body)}
.cbullets li::before{content:"+";color:var(--green);font-size:13px;flex:none;line-height:1.7}
.cnote{font-size:13.5px;color:var(--muted);line-height:1.75;margin-top:20px;padding-top:18px;
  border-top:1px solid var(--line);max-width:560px}
@media (max-width:900px){ .community{grid-template-columns:1fr;gap:34px} }

/* three pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}
.pillar{border-top:2px solid var(--green);padding-top:18px}
.pnum{font-family:var(--serif);font-size:13px;color:var(--green);margin-bottom:10px}
.pillar h3{font-size:20px;line-height:1.3;margin-bottom:8px}
.pillar > p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:16px;font-style:italic}
.pillar ul{list-style:none;margin:0;padding:0}
.pillar li{display:flex;gap:10px;font-size:14px;line-height:1.65;margin-bottom:10px;color:var(--body)}
.pillar li::before{content:"+";color:var(--green);font-size:12.5px;flex:none;line-height:1.65}

.depth{margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}

/* five functions run hands-on by the firm */
.funcs{display:grid;gap:0}
.funcs > div{display:grid;grid-template-columns:230px 1fr;gap:28px;padding:13px 0;
  border-top:1px solid var(--line);align-items:baseline}
.funcs > div:first-child{border-top:0;padding-top:0}
.funcs b{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--ink)}
.funcs span{font-size:14px;line-height:1.7;color:var(--body)}
@media (max-width:760px){ .funcs > div{grid-template-columns:1fr;gap:5px;padding:14px 0} }

/* named advisors (slots) */
.advisors{margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
.advisors--lead{margin-top:40px;padding-top:0;border-top:0}
.advnote{font-size:13.5px;color:var(--muted);line-height:1.7;margin-top:22px}
.advgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:8px}
.adv{border-top:2px solid var(--green);padding-top:16px}
.advname{font-family:var(--serif);font-size:18px;color:var(--ink)}
.advrole{font-size:12.5px;color:var(--green);margin-top:4px;letter-spacing:.03em}
.advbio{font-size:13.5px;color:var(--body);line-height:1.65;margin-top:9px}
.advbio a{color:var(--green);font-weight:500;text-decoration:underline;
  text-decoration-color:rgba(82,144,74,.4);text-underline-offset:2.5px;
  transition:text-decoration-color .15s}
.advbio a:hover{text-decoration-color:var(--green)}

@media (max-width:1000px){ .advgrid{grid-template-columns:repeat(2,1fr);gap:30px} }
@media (max-width:900px){ .pillars{grid-template-columns:1fr;gap:32px} }
@media (max-width:620px){ .advgrid{grid-template-columns:1fr;gap:30px} }

/* two-column prepared-list, used on /investors/ */
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:34px}
.twocol h3{font-size:19px;margin-bottom:12px}
.twocol ul{list-style:none;margin:0;padding:0}
.twocol li{font-size:14.5px;line-height:1.7;color:var(--body);padding:11px 0;
  border-top:1px solid var(--line)}
.twocol li:first-child{border-top:0}
@media (max-width:900px){ .twocol{grid-template-columns:1fr;gap:30px} }

/* ── engagement case studies, /results/ ── */
.case{border-top:1px solid var(--line);padding-top:30px;margin-top:46px}
.case:first-of-type{border-top:0;margin-top:0;padding-top:0}
.casehead{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:start}
.casetag{font-size:11.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--green);margin-bottom:10px}
.casehead h2{font-size:27px;line-height:1.25;max-width:620px}
.caseshape{text-align:right;flex:none;padding-left:24px;border-left:2px solid var(--green)}
.caseshape b{display:block;font-family:var(--serif);font-size:17px;font-weight:400;color:var(--ink);
  white-space:nowrap}
.caseshape span{display:block;font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.5}
.casebrief{font-size:16px;line-height:1.75;margin-top:16px;max-width:780px;color:var(--body)}
.casegrid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;margin-top:28px}
.casegrid h3{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);font-family:var(--sans);margin-bottom:14px}
.casegrid ul{list-style:none;margin:0;padding:0}
.casegrid li{display:flex;gap:10px;font-size:14px;line-height:1.7;color:var(--body);margin-bottom:9px}
.casegrid li::before{content:"+";color:var(--green);font-size:12.5px;flex:none;line-height:1.7}
.caseout li::before{content:"\2192"}
.casequote{font-family:var(--serif);font-size:16px;font-style:italic;line-height:1.6;color:var(--ink);
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.casenote{font-size:13px;color:var(--muted);line-height:1.7;margin-top:20px;padding-top:16px;
  border-top:1px solid var(--line)}
@media (max-width:900px){
  .casehead{grid-template-columns:1fr;gap:16px}
  .caseshape{text-align:left;padding-left:14px}
  .caseshape b{white-space:normal}
  .casehead h2{font-size:23px}
  .casegrid{grid-template-columns:1fr;gap:28px}
}
.caselogo{height:46px;width:auto;margin-bottom:14px;display:block}
.caselogo--wide{height:46px}

/* the pattern across all engagements, /results/ */
.pattern{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px;
  padding-top:24px;border-top:1px solid var(--line)}
.pattern > div{border-left:2px solid var(--green);padding-left:16px}
.pattern b{display:block;font-family:var(--serif);font-size:25px;font-weight:400;color:var(--ink);
  letter-spacing:-.015em;line-height:1}
.pattern span{display:block;font-size:13.5px;color:var(--body);line-height:1.65;margin-top:9px}
@media (max-width:860px){ .pattern{grid-template-columns:1fr;gap:18px} }

/* tightened case rhythm */
.casetag{display:flex;align-items:baseline;gap:10px}
.casetag i{font-style:normal;font-family:var(--serif);font-size:13px;color:var(--muted);
  letter-spacing:0;text-transform:none;font-weight:400}
.case{padding-top:34px;margin-top:38px}
.casehead h2{font-size:25px}
.casebrief{font-size:15.5px;margin-top:14px;max-width:760px}
.casegrid{margin-top:24px;gap:52px}
.casegrid li{font-size:13.5px;line-height:1.65;margin-bottom:7px}
.casequote{font-size:15px;margin-top:18px;padding-top:14px}
.casenote{margin-top:18px;padding-top:14px}
.casequote cite{display:block;font-style:normal;font-family:var(--sans);font-size:12.5px;
  color:var(--muted);margin-top:10px}
