/* Layout: a left-aligned "case file" — split hero with the expert's portrait as the exhibit, quiet bands, one green CTA. */
:root{
  --paper:#F6F7F3; --ink:#17201B; --muted:#56615A; --line:#D8DDD4; --tint:#ECF0E8;
  --green:#2F6833; --green-ink:#24552A; --bronze:#6E5428;
  --btn:#2F6833; --btn-fg:#FFFFFF; --band:#1F4A25; --band-fg:#F3F5EF; --plate:transparent;
  --display:"Source Serif 4", "Iowan Old Style", Georgia, serif;
  --body:"Public Sans", "Helvetica Neue", Arial, sans-serif;
  --maxw:1120px; --radius:6px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#111612; --ink:#E7ECE5; --muted:#A4AEA6; --line:#2B352D; --tint:#18201A;
  --green:#8CC392; --green-ink:#A6D3AB; --bronze:#D0AE74;
  --btn:#8CC392; --btn-fg:#0E1A10; --band:#1B3320; --band-fg:#EEF2EC; --plate:#F2F1EA; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#111612; --ink:#E7ECE5; --muted:#A4AEA6; --line:#2B352D; --tint:#18201A;
  --green:#8CC392; --green-ink:#A6D3AB; --bronze:#D0AE74;
  --btn:#8CC392; --btn-fg:#0E1A10; --band:#1B3320; --band-fg:#EEF2EC; --plate:#F2F1EA; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-ink);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--bronze);outline-offset:3px;border-radius:2px}
h1,h2,h3,.h3{font-family:var(--display);font-weight:600;line-height:1.15;text-wrap:balance;margin:0;color:var(--ink)}
h1{font-size:clamp(2.1rem,4.2vw,3.25rem);letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}
h3,.h3{font-size:1.3rem}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow,.label{font:600 .78rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.lede{font-size:1.15rem;color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.prose{display:grid;gap:1em;max-width:65ch;min-width:0}
.prose.narrow{max-width:68ch}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.brand img{width:48px;height:auto;background:var(--plate);border-radius:4px;padding:2px}
.brand span{display:flex;flex-direction:column;line-height:1.2}
.brand strong{font:600 1.1rem/1.2 var(--display)}
.brand small{font-size:.78rem;color:var(--muted)}
nav{display:flex;align-items:center;gap:clamp(12px,2.4vw,28px);font-weight:500;font-size:.95rem}
nav a{color:var(--ink);text-decoration:none;padding-block:6px}
nav a[aria-current="page"]{color:var(--green-ink);box-shadow:inset 0 -2px 0 var(--green)}
nav .nav-cta{border:1.5px solid var(--green);color:var(--green-ink);padding:7px 14px;border-radius:var(--radius)}
nav .nav-cta:hover,nav .nav-cta[aria-current="page"]{background:var(--btn);color:var(--btn-fg);box-shadow:none}

/* Buttons */
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;background:var(--btn);color:var(--btn-fg);font:600 1rem/1 var(--body);padding:15px 22px;border-radius:var(--radius);text-decoration:none;border:0;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.light{background:var(--band-fg);color:var(--band)}
.btn.ghost-light{background:transparent;color:var(--band-fg);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--band-fg) 45%,transparent)}

/* Hero */
.hero{padding-block:clamp(40px,7vw,88px) clamp(32px,5vw,64px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero-copy{display:grid;gap:22px;min-width:0}
.portrait{margin:0;display:grid;gap:10px}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.portrait figcaption{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.portrait.small{max-width:360px}

/* Credential strip */
.creds{border-block:1px solid var(--line)}
.creds ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px}
.creds li{font-weight:500;font-size:.95rem;padding-left:14px;border-left:2px solid var(--bronze)}

/* Sections */
.block{padding-block:clamp(48px,7vw,88px)}
.tint{background:var(--tint)}
.section-head{display:grid;gap:10px;margin-bottom:32px;max-width:65ch}
.section-head p{color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,5vw,64px);align-items:start}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.svc{background:var(--paper);padding:24px;display:grid;gap:10px;align-content:start}
.svc p{color:var(--muted);font-size:.97rem}
.more{margin-top:20px;font-weight:600}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;counter-reset:s}
.steps li{counter-increment:s;display:grid;gap:8px;align-content:start;padding-top:16px;border-top:2px solid var(--green)}
.steps li::before{content:"Step " counter(s);font:600 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.steps p{color:var(--muted);font-size:.97rem}

/* CTA */
.cta{background:var(--band);color:var(--band-fg);padding-block:clamp(40px,6vw,64px)}
.cta h2{color:var(--band-fg)}
.cta-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-inner>div:first-child{display:grid;gap:8px;max-width:56ch}
.cta p{opacity:.88}

/* Inner pages */
.page-head{padding-block:clamp(40px,6vw,72px) 8px}
.page-head .wrap{display:grid;gap:14px}
.about-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:12px}
.lists>div{display:grid;gap:10px;align-content:start}
.ticks{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ticks li{padding-left:20px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:2px;background:var(--bronze)}
.ticks.cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}
.note{color:var(--muted);font-size:.95rem;border-top:1px solid var(--line);padding-top:14px}
.svc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}
.svc-list article{display:grid;gap:8px;align-content:start;padding-top:18px;border-top:1px solid var(--line)}
.svc-list p{color:var(--muted)}
.also{margin-top:48px;display:grid;gap:14px}
.faqs{display:grid;gap:0;border-top:1px solid var(--line);min-width:0}
.faqs details{border-bottom:1px solid var(--line);padding-block:16px}
.faqs summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faqs summary::after{content:"+";color:var(--bronze);font-size:1.3rem;line-height:1}
.faqs details[open] summary::after{content:"\2212"}
.faqs details p{margin-top:10px;color:var(--muted)}

/* Form */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:clamp(24px,5vw,64px);align-items:start}
.form{display:grid;gap:18px;min-width:0}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form label{display:grid;gap:6px;font-weight:500;font-size:.95rem}
.form input,.form select,.form textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);padding:11px 12px;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted)}
.form .check input{width:auto;margin-top:5px;accent-color:var(--green)}
.form .btn{justify-self:start}
.phi{background:var(--tint);border-left:3px solid var(--bronze);padding:14px 16px;font-size:.95rem;border-radius:0 var(--radius) var(--radius) 0}
.hp{position:absolute;left:-9999px}
.form-status{font-weight:500;min-height:1.4em}
.form-status.ok{color:var(--green-ink)} .form-status.err{color:#B3261E}
.direct{display:grid;gap:6px;padding:24px;border:1px solid var(--line);border-radius:var(--radius)}
.direct .h3{margin-bottom:8px}
.direct .label{margin-top:10px}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding-block:48px 24px;font-size:.95rem}
.foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr);gap:32px}
.foot>div{display:grid;gap:8px;align-content:start}
.foot-logo{width:150px;background:var(--plate);border-radius:var(--radius);padding:8px}
.fine{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.82rem;color:var(--muted)}
.preview-flag{background:var(--bronze);color:var(--paper);text-align:center;font-size:.82rem;font-weight:600;padding:8px 16px}

/* Responsive */
@media (max-width:900px){
  .svc-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .creds ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two,.contact-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:680px){
  body{font-size:16px}
  .hero-grid,.about-grid{grid-template-columns:minmax(0,1fr)}
  .portrait{max-width:300px}
  .svc-grid,.steps,.svc-list,.lists,.ticks.cols,.form .row,.foot{grid-template-columns:minmax(0,1fr)}
  .brand small{display:none}
  nav{width:100%;gap:20px}
  nav .nav-cta{margin-left:auto}
}

/* Network hero panel + founder */
.match{display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--tint);align-content:start}
.match-logo{width:120px;background:var(--plate);border-radius:4px;padding:4px}
.match ol{margin:0;padding:0;list-style:none;counter-reset:m;display:grid;gap:14px}
.match li{counter-increment:m;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start}
.match li::before{content:counter(m);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--green);color:var(--green-ink);font:600 .9rem/1 var(--body)}
.match a{font-weight:600}
.founder{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(24px,4vw,48px);align-items:start}
.founder img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.founder .join{padding:24px;border:1px solid var(--line);border-radius:var(--radius)}
@media (max-width:900px){.founder{grid-template-columns:minmax(0,160px) minmax(0,1fr)}.founder .join{grid-column:1/-1}}
@media (max-width:680px){.founder{grid-template-columns:minmax(0,1fr)}.founder img{max-width:200px}}

/* Why choose us */
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}
.reasons article{display:grid;gap:8px;align-content:start;padding-left:18px;border-left:2px solid var(--green)}
.reasons p{color:var(--muted);font-size:.97rem}
@media (max-width:900px){.reasons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.reasons{grid-template-columns:minmax(0,1fr)}}

/* Case types + neutrality */
.matters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.matters>div{display:grid;gap:18px;align-content:start;min-width:0}
.neutral{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.neutral p{color:var(--muted)}
.merits{font-weight:500;color:var(--ink);max-width:60ch}
.steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
@media (max-width:900px){.matters{grid-template-columns:minmax(0,1fr)}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.steps{grid-template-columns:minmax(0,1fr)}}
