/* ============ RESEARCH PROJECTS ============ */
.rp-hero{position:relative;padding:150px 0 66px;overflow:hidden;background:
  radial-gradient(120% 90% at 88% -10%,rgba(242,194,76,.22),transparent 55%),
  radial-gradient(90% 80% at -5% 4%,rgba(192,80,30,.12),transparent 52%),
  linear-gradient(180deg,var(--porcelain),var(--wash))}
.rp-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}
.rp-eye{color:var(--orange-deep)}
.rp-hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(38px,6vw,76px);line-height:1.02;letter-spacing:-.035em;color:var(--espresso);margin:20px 0 20px;max-width:15ch}
.rp-hero h1 .ac{color:var(--orange-deep)}
.rp-hero p.lede{font-size:clamp(17px,2vw,21px);line-height:1.5;color:var(--muted);max-width:50ch;margin:0 0 30px}
.rp-cta{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
.rp-invite{margin:22px 0 0;font-size:15px;line-height:1.55;color:var(--ink-soft);max-width:52ch}
.rp-invite b{color:var(--espresso);font-family:var(--disp);font-weight:700}
.rp-invite a{color:var(--orange-deep);font-weight:600;text-decoration:underline;text-decoration-color:rgba(192,80,30,.35);text-underline-offset:3px}

/* hero index of research directions */
.rp-index{background:rgba(255,255,255,.55);backdrop-filter:blur(10px);border:1px solid rgba(120,80,40,.14);border-radius:22px;padding:12px;box-shadow:var(--sh-card)}
.rp-index .ih{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px 12px}
.rp-index .ih b{font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.02em;color:var(--espresso)}
.rp-index .ih span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.rp-ix{display:flex;align-items:center;gap:14px;padding:14px;border-radius:15px;text-decoration:none;transition:background .3s,transform .5s var(--e-out)}
.rp-ix:hover{background:rgba(120,80,40,.07);transform:translateX(3px)}
.rp-ix .rn{font-family:var(--disp);font-weight:800;font-size:14px;color:var(--orange-deep);width:26px;flex:0 0 auto}
.rp-ix .rt{font-family:var(--disp);font-weight:700;font-size:15.5px;color:var(--espresso);line-height:1.2}
.rp-ix .rc{margin-left:auto;font-family:var(--disp);font-weight:700;font-size:12.5px;color:var(--faint)}
.rp-ix .rar{color:var(--orange);font-weight:800;font-size:14px;opacity:0;transform:translateX(-4px);transition:opacity .35s,transform .35s var(--e-spring)}
.rp-ix:hover .rar{opacity:1;transform:none}
.rp-ix+.rp-ix{border-top:1px solid rgba(120,80,40,.1)}

/* principles strip */
.rp-princ{background:var(--wash);padding:0 0 6px}
.rp-princ .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:8px}
.rp-pc{display:flex;gap:14px;align-items:flex-start;padding:22px;background:var(--card-2bg);border:1px solid rgba(120,80,40,.12);border-radius:18px}
.rp-pc .pd{flex:0 0 auto;width:11px;height:11px;border-radius:50%;margin-top:6px;background:var(--orange)}
.rp-pc:nth-child(2) .pd{background:var(--olive)}
.rp-pc:nth-child(3) .pd{background:var(--gold)}
.rp-pc b{display:block;font-family:var(--disp);font-weight:700;font-size:16px;color:var(--espresso);margin:0 0 5px}
.rp-pc span{font-size:14px;line-height:1.5;color:var(--muted)}

/* project sections */
.rp-sec{padding:78px 0;background:var(--wash)}
.rp-sec.alt{background:var(--porcelain)}
.rp-shead{max-width:var(--max);margin:0 auto 40px;padding:0 28px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;justify-content:space-between}
.rp-shead .lft{max-width:60ch}
.rp-shead .rn{font-family:var(--disp);font-weight:800;font-size:14px;letter-spacing:.14em;color:var(--orange-deep)}
.rp-shead h2{font-family:var(--disp);font-weight:800;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.025em;color:var(--espresso);line-height:1.06;margin:12px 0 10px}
.rp-shead p{font-size:16.5px;line-height:1.5;color:var(--muted);margin:0}
.rp-shead .cnt{font-family:var(--disp);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);white-space:nowrap}

.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:18px;max-width:var(--max);margin:0 auto;padding:0 28px}
.rp-card{position:relative;display:flex;flex-direction:column;background:var(--card-2bg);border:1px solid rgba(120,80,40,.13);border-radius:20px;padding:22px;box-shadow:var(--sh-sm);overflow:hidden;transition:transform .5s var(--e-out),box-shadow .5s var(--e-out),border-color .4s}
.rp-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--e-out)}
.rp-card:hover{transform:translateY(-6px);box-shadow:var(--sh-card);border-color:rgba(192,80,30,.28)}
.rp-card:hover::before{transform:scaleX(1)}
.rp-top{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.rp-st{font-family:var(--disp);font-weight:800;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.rp-st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st-progress{background:rgba(192,80,30,.13);color:var(--orange-deep)}
.st-exploring{background:rgba(126,140,95,.2);color:#4b5730}
.st-partnering{background:rgba(217,179,108,.32);color:#6b4a17}
.st-open{background:var(--espresso);color:var(--gold)}
.rp-dom{margin-left:auto;font-family:var(--disp);font-weight:700;font-size:11px;letter-spacing:.04em;color:var(--faint)}
.rp-card h4{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.015em;line-height:1.22;color:var(--espresso);margin:0 0 9px}
.rp-card p{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0}

/* closing band */
.rp-band{position:relative;background:linear-gradient(180deg,var(--espresso),#160b06);color:var(--on);padding:96px 0 90px;overflow:hidden;text-align:center}
.rp-band .seccloud{opacity:.1}
.rp-band .wrap{position:relative;z-index:2}
.rp-band .eyebrow{color:var(--gold)}
.rp-band h2{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.6vw,56px);letter-spacing:-.03em;line-height:1.05;margin:16px auto 18px;max-width:20ch;color:#fff}
.rp-band p{color:var(--on-mut);font-size:18px;line-height:1.55;max-width:56ch;margin:0 auto 14px}
.rp-mail{display:inline-block;font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.6vw,30px);letter-spacing:-.01em;color:var(--gold);margin:8px 0 26px;text-underline-offset:5px;transition:color .3s}
.rp-mail:hover{text-decoration:underline}
.rp-band .rp-cta{justify-content:center}
.rp-band .btn-ghost{background:transparent;color:var(--on);border:1px solid rgba(255,220,190,.4)}
.rp-band .btn-ghost:hover{background:rgba(255,220,190,.08)}

@media(max-width:960px){
  .rp-hero .wrap{grid-template-columns:1fr;gap:36px}
  .rp-princ .wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .rp-sec{padding:60px 0}
  .rp-hero{padding-top:124px}
}
@media(prefers-reduced-motion:reduce){
  .rp-card:hover,.rp-ix:hover{transform:none}
}
