/* /partners/ page. Builds on pages.css. */

/* ---- hero ---- */
.hero{padding:72px 0 64px;position:relative}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:520px;background:radial-gradient(60% 80% at 78% 0%,rgba(106,233,164,.09),transparent 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:center}
.hero-grid>.glance{grid-column:1 / -1}
.hero h1{margin:0;font-size:clamp(2.4rem,4.8vw,4rem);line-height:1.05;letter-spacing:-.04em;font-weight:700;max-width:15ch;text-wrap:balance}
.lede{margin:24px 0 0;max-width:56ch;color:var(--soft);font-size:1.125rem;line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.glance{margin:32px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.glance>div{padding:20px 28px 4px 0}
.glance>div+div{padding-left:28px;border-left:1px solid var(--line)}
.glance dt{color:var(--muted);font-size:.875rem;font-weight:600;margin-bottom:6px}
.glance dd{margin:0;color:var(--text);font-size:.9375rem;line-height:1.55}
.hero-shot{margin:0}
.hero-shot img{width:100%;border-radius:18px;border:1px solid var(--line-strong);box-shadow:0 30px 80px -30px rgba(0,0,0,.8);background:#0a0711}
.hero-shot figcaption{margin-top:12px;color:var(--muted);font-size:.8125rem;line-height:1.5;max-width:52ch}

/* ---- page layout ---- */
.layout{display:grid;grid-template-columns:184px minmax(0,1fr);gap:64px;align-items:start}
.rail{position:sticky;top:calc(var(--header-h) + 32px);padding-top:56px;font-size:.875rem}
.rail p{margin:0 0 10px;color:var(--muted);font-weight:600}
.rail ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.rail a{display:block;padding:7px 0 7px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--soft);text-decoration:none;line-height:1.35}
.rail a:hover{color:var(--text)}
.rail a[aria-current="true"]{color:var(--mint);border-left-color:var(--mint)}
.content{min-width:0}

.block{padding:64px 0 72px;border-top:1px solid var(--line)}
.block:first-child{border-top:0;padding-top:56px}
.block h2{margin:0;font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.12;letter-spacing:-.03em;font-weight:700}
.section-lede{margin:14px 0 0;max-width:62ch;color:var(--soft);font-size:1.0625rem}
.block h3{margin:0;font-size:1.0625rem;font-weight:650;letter-spacing:-.01em;line-height:1.35}
.block h3.sub{margin:56px 0 4px;font-size:1.25rem;letter-spacing:-.02em}
.block h3.sub+.section-lede{margin-top:6px}

/* rows: tag + title + text */
.rows{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}
.rows>li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.rows .tag{margin-top:4px;align-self:start}
.rows h3{margin:0 0 6px}
.rows p{margin:0;max-width:64ch;color:var(--soft)}
.rows-plain>li{grid-template-columns:minmax(0,1fr)}

/* sourced numbers */
.ledger{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}
.ledger>li{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.claim{margin:0;color:var(--text);font-size:1.0625rem;line-height:1.55;max-width:58ch}
.src{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.875rem;color:var(--muted);line-height:1.4}
.src a{color:var(--soft);text-decoration-color:rgba(255,255,255,.25)}
.src a:hover{color:var(--mint)}
.note{margin:32px 0 0;padding:18px 22px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);max-width:72ch}
.note p{margin:0;color:var(--soft)}
.note strong{color:var(--text)}

/* path */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:36px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.split>div{padding:24px 28px}
.split>div+div{border-left:1px solid var(--line);background:var(--raised)}
.split h3{margin-bottom:12px}
.split ul{margin:0;padding:0;list-style:none}
.split li{position:relative;padding:5px 0 5px 20px;color:var(--soft)}
.split li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:2px;background:var(--mint);border-radius:2px}
.split>div+div li::before{background:var(--muted)}
.steps{list-style:none;margin:40px 0 0;padding:0;counter-reset:step;border-top:1px solid var(--line)}
.steps>li{counter-increment:step;position:relative;padding:20px 0 20px 52px;border-bottom:1px solid var(--line)}
.steps>li::before{content:counter(step);position:absolute;left:0;top:20px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:.8125rem;font-weight:600;color:var(--soft);font-variant-numeric:tabular-nums}
.step-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:6px}
.step-head h3{margin:0}
.lead{font-size:.75rem;font-weight:600;color:var(--soft);border:1px solid var(--line-strong);border-radius:999px;padding:3px 10px;line-height:1.3}
.steps p{margin:0;max-width:64ch;color:var(--soft)}
.src a+a::before{content:"";}

/* roadmap */
.roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px;border-top:1px solid var(--line)}
.roadmap>div{padding:24px 28px 8px 0}
.roadmap>div+div{padding-left:28px;border-left:1px solid var(--line)}
.roadmap h3{margin-bottom:14px}
.roadmap ul{list-style:none;margin:0;padding:0}
.roadmap li{padding:0 0 14px;color:var(--soft);font-size:.9375rem;line-height:1.5}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;margin-top:36px;align-items:start}
.form{display:grid;gap:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px;min-width:0}
.field label{font-size:.875rem;font-weight:600;color:var(--text)}
.opt{color:var(--muted);font-weight:400;margin-left:4px}
input[type=text],input[type=email],textarea{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;min-height:46px;transition:border-color .18s ease,background-color .18s ease}
textarea{resize:vertical;min-height:150px;line-height:1.55}
input::placeholder,textarea::placeholder{color:#6f7a7b}
input[type=text]:hover,input[type=email]:hover,textarea:hover{border-color:rgba(255,255,255,.28)}
input[type=text]:focus-visible,input[type=email]:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:1px;border-color:transparent}
.field.invalid input,.field.invalid textarea{border-color:#f08a7e}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--green)}
.consent label{font-size:.9375rem;color:var(--soft);line-height:1.5}
.consent.invalid label{color:#f4aca2}
.form-actions{display:flex}
.form-actions .btn{min-width:170px}
.form-actions .btn[disabled]{opacity:.6;cursor:progress}
.form-error{margin:0;padding:12px 16px;border-radius:12px;border:1px solid rgba(240,138,126,.5);background:rgba(240,138,126,.08);color:#f6b9b0;font-size:.9375rem}
.form-ok{margin:0;padding:18px 20px;border-radius:12px;border:1px solid rgba(106,233,164,.45);background:rgba(106,233,164,.08);color:var(--text)}
.form-error[hidden],.form-ok[hidden]{display:none}
.contact-side h3{margin:0 0 8px;font-size:1rem}
.contact-side [data-contact-wrap]{margin-bottom:28px}
.contact-side p{margin:0 0 12px;color:var(--soft)}
.contact-side .small{font-size:.875rem;color:var(--muted)}
.contact-side ul{margin:0 0 24px;padding-left:1.1rem;color:var(--soft)}
.contact-side li{margin-bottom:4px}
.mail{font-size:1.0625rem;font-weight:600;word-break:break-all}

@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero h1{max-width:16ch}
  .hero-shot{max-width:640px}
  .layout{grid-template-columns:minmax(0,1fr);gap:0}
  .rail{display:none}
  .block:first-child{padding-top:40px}
}
@media (max-width:720px){
  .glance{grid-template-columns:1fr}
  .glance>div,.glance>div+div{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}
  .hero{padding:40px 0 40px}
  .lede{font-size:1.0625rem}
  .block{padding:52px 0 56px}
  .rows>li{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 0}
  .ledger>li{grid-template-columns:minmax(0,1fr);gap:12px}
  .src{flex-direction:row;flex-wrap:wrap;gap:6px 14px;align-items:center}
  .split{grid-template-columns:1fr}
  .split>div+div{border-left:0;border-top:1px solid var(--line)}
  .roadmap{grid-template-columns:1fr}
  .roadmap>div,.roadmap>div+div{padding:20px 0 4px;border-left:0}
  .roadmap>div+div{border-top:1px solid var(--line)}
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .field-row{grid-template-columns:1fr}
  .form-actions .btn{width:100%}
  .hero-actions .btn{flex:1 1 auto}
}
