/* sections.css, home page section layouts */

/* hero */
.hero{padding-block:78px 72px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{margin:18px 0 22px}
.hero .lede{max-width:42ch;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.microtrust{margin-top:22px;font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;color:var(--muted)}

/* hero signature: the evidence dossier (records resolve into the one finding) */
.dossier{position:relative;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-md);
  padding:22px 22px 20px;box-shadow:0 28px 60px -44px rgba(21,38,61,.5)}
.dossier::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--brass);border-radius:var(--r-md) 0 0 var(--r-md)}
.dossier-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dossier .lines{display:grid;gap:10px;margin-top:18px}
.line{height:7px;border-radius:2px;background:var(--line)}
.line.redact{background:var(--ink);opacity:.7}
.finding{display:flex;align-items:center;gap:12px;background:var(--brass-tint);border-left:3px solid var(--brass);
  border-radius:2px;padding:10px 12px;margin-block:3px}
.finding .txt{flex:1;font-size:.8125rem;font-weight:600;color:var(--ink)}
.finding .arrow{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-deep);white-space:nowrap}
.dossier-cap{font-family:var(--serif);font-style:italic;font-size:1.0625rem;color:var(--ink-soft);margin-top:18px;max-width:36ch}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr;gap:40px}.dossier{max-width:460px}}
@media (max-width:520px){.finding{flex-direction:column;align-items:flex-start;gap:6px}}

/* hero portrait: full image (natural ratio, no crop), soft shadow, brass tick */
.hero-photo{position:relative;width:100%;max-width:376px;margin-left:auto}
.hero-photo img{width:100%;height:auto;display:block;border-radius:var(--r-md);box-shadow:0 26px 56px -34px rgba(21,38,61,.5)}
.hero-photo figcaption{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:14px;text-align:right}
.hero-photo figcaption::before{content:"";display:inline-block;width:18px;height:1px;background:var(--brass);vertical-align:middle;margin-right:8px}
@media (max-width:880px){.hero-photo{max-width:300px;margin-inline:auto}.hero-photo figcaption{text-align:center}}

/* what we do: text + dossier signature */
.whatwedo .ww-grid{display:grid;grid-template-columns:1fr .92fr;gap:48px;align-items:center;margin-top:24px}
@media (max-width:880px){.whatwedo .ww-grid{grid-template-columns:1fr;gap:34px}}

/* stat strip */
.stats{background:var(--ink);color:var(--on-ink);border-bottom:none}
.stats .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:880px;margin-inline:auto}
.stat{border-left:1px solid rgba(243,238,228,.18);padding-left:22px}
.stat .n{font-family:var(--serif);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:500;color:#fff;line-height:1}
.stat .l{font-family:var(--mono);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(243,238,228,.92);margin-top:10px;line-height:1.4}
@media (max-width:680px){.stats .grid{grid-template-columns:1fr;gap:26px;max-width:320px}}

/* problem (two columns so it fills the width instead of floating left) */
.problem h2{margin-bottom:8px}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-top:22px}
.problem-grid .lede{margin:0}
.pain{list-style:none;display:grid;gap:14px;align-content:start}
@media (max-width:760px){.problem-grid{grid-template-columns:1fr;gap:26px}}
.pain li{padding-left:26px;position:relative;color:var(--ink-soft)}
.pain li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:1px;background:var(--brass)}

/* what we do */
.whatwedo .body{max-width:60ch;font-size:1.0625rem}
.whatwedo .body p+p{margin-top:18px}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.svc{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-elev);transition:background var(--dur-short)}
.svc:hover{background:var(--bg-sunken)}
.svc .num{font-family:var(--mono);font-size:.75rem;color:var(--brass-deep);letter-spacing:.14em;text-transform:uppercase}
.svc h3{margin:16px 0 10px}
.svc p{font-size:.9375rem}
.svc-cta{margin-top:var(--s-xl);font-size:1.0625rem}
@media (max-width:880px){.svc-grid{grid-template-columns:1fr}}

/* case types */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.case{padding:24px 0;border-bottom:1px solid var(--line);padding-right:30px}
.case:nth-child(odd){border-right:1px solid var(--line);padding-right:30px}
.case:nth-child(even){padding-left:30px}
.case h3{font-size:1.25rem;margin-bottom:6px}
.case p{font-size:.9375rem}
@media (max-width:680px){.cases{grid-template-columns:1fr}.case,.case:nth-child(odd){border-right:none;padding-inline:0}.case:nth-child(even){padding-left:0}}

/* why */
.why{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.why-item{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:26px 30px;border-bottom:1px solid var(--line);background:var(--bg-elev)}
.why-item:last-child{border-bottom:none}
.why-item h3{font-size:1.1875rem}
.why-item p{font-size:.9375rem}
@media (max-width:760px){.why-item{grid-template-columns:1fr;gap:8px}}

/* proof */
.proof{background:var(--bg-sunken)}
.proof blockquote{font-family:var(--serif);font-size:clamp(1.625rem,3.4vw,2.5rem);font-style:italic;line-height:1.25;
  color:var(--ink);max-width:20ch;margin-inline:auto;text-align:center;letter-spacing:-.01em}
.proof blockquote .mark{color:var(--brass)}
.proof cite{display:block;text-align:center;margin-top:24px;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-style:normal}
.proof .points{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:920px;margin:var(--s-3xl) auto 0}
.proof .point{font-size:.9375rem;color:var(--ink-soft);padding-left:24px;position:relative}
.proof .point::before{content:"";position:absolute;left:0;top:11px;width:12px;height:1px;background:var(--brass)}
@media (max-width:680px){.proof .points{grid-template-columns:1fr}}

/* process */
.steps{counter-reset:step;display:grid;grid-template-columns:1fr 1fr;gap:0 56px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.step .idx{counter-increment:step;font-family:var(--serif);font-size:2rem;color:var(--brass);line-height:1}
.step .idx::before{content:counter(step,decimal-leading-zero)}
.step h3{font-size:1.1875rem;margin-bottom:6px}
.step p{font-size:.9375rem}

/* about */
.about-grid{display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:start}
.about-photo img{width:100%;height:auto;display:block;border-radius:var(--r-md);box-shadow:0 20px 44px -32px rgba(21,38,61,.4)}
.about h2{margin-bottom:18px}
.about p+p{margin-top:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip{font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
  border:1px solid var(--line-strong);border-radius:999px;padding:7px 14px}
@media (max-width:880px){.about-grid{grid-template-columns:1fr;gap:32px}.about-photo{max-width:340px}}

/* daubert (centered statement) */
.daubert .inner{max-width:64ch;margin-inline:auto;text-align:center}
.daubert h2{margin-bottom:18px}

/* faq */
.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:880px;margin-inline:auto}
details.qa{border-bottom:1px solid var(--line);padding:22px 0}
details.qa summary{font-family:var(--serif);font-size:1.25rem;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary::after{content:"+";font-family:var(--sans);color:var(--brass);font-size:1.5rem;line-height:1}
details.qa[open] summary::after{content:"\2212"}
details.qa p{margin-top:14px;font-size:1rem}

/* final cta (centered) */
.cta{background:var(--ink);color:var(--on-ink);border-bottom:none}
.cta .wrap{text-align:center}
.cta .eyebrow{color:var(--brass)}
.cta h2{color:#fff;max-width:22ch;margin:16px auto 0}
.cta .lede{color:rgba(243,238,228,.74);max-width:48ch;margin:18px auto 30px}
.cta-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px;margin:10px auto 0;text-align:left}
.cta-form .full{grid-column:1/-1}
.cta-form input,.cta-form select,.cta-form textarea{width:100%;padding:13px 15px;border-radius:var(--r-sm);
  border:1px solid rgba(243,238,228,.22);background:rgba(255,255,255,.04);color:var(--on-ink);font-family:var(--sans);font-size:.9375rem}
.cta-form input::placeholder,.cta-form textarea::placeholder{color:rgba(243,238,228,.45)}
.cta-form select{color:var(--on-ink)} .cta-form option{color:#15263D}
.cta-alt{margin-top:16px;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:rgba(243,238,228,.6)}
.cta-alt a{color:var(--brass)}
@media (max-width:560px){.cta-form{grid-template-columns:1fr}}
