/* Architecture Review page. Uses tokens from style.css. */
.rv-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:8px}
.rv-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.rv-photo{margin:0}
.rv-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:var(--radius-lg);border:1px solid var(--line)}
.rv-photo figcaption{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--ink-faint);letter-spacing:.02em}

.rv-sec{padding-block:clamp(56px,8vw,96px)}
.rv-sec.alt{background:var(--bg-subtle);border-block:1px solid var(--line-subtle)}
.rv-sec h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 14px;max-width:760px;color:var(--ink)}
.rv-kicker{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--violet-500);letter-spacing:.08em;margin-bottom:12px;display:block}
.rv-intro{max-width:680px;color:var(--ink-soft);line-height:1.65;margin:0 0 36px}

.rv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.rv-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px}
.rv-card h3{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;margin:0 0 8px;color:var(--ink)}
.rv-card p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:.95rem}
.rv-card dl{margin:14px 0 0;display:grid;gap:10px}
.rv-card dt{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase}
.rv-card dd{margin:2px 0 0;color:var(--ink-body);font-size:.93rem;line-height:1.55}
.rv-card .rv-link{display:inline-block;margin-top:16px;font-weight:600;color:var(--accent)}
.rv-card .rv-link:hover{text-decoration:underline}

.rv-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}
.rv-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.95rem}
.rv-table th,.rv-table td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-subtle)}
.rv-table thead th{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:var(--bg-alt)}
.rv-table tbody th{font-weight:600;color:var(--ink);width:30%}
.rv-table tbody tr:last-child th,.rv-table tbody tr:last-child td{border-bottom:0}
.rv-table td{color:var(--ink-body)}

.rv-note{margin-top:24px;padding:16px 20px;border-left:3px solid var(--violet-500);background:var(--violet-100);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-body);line-height:1.6;font-size:.95rem;max-width:760px}

.rv-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.rv-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.rv-list li{position:relative;padding-left:26px;color:var(--ink-body);line-height:1.55}
.rv-list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:2px;background:var(--violet-500)}
.rv-groups{display:grid;gap:12px}
.rv-group{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px 18px;background:var(--panel)}
.rv-group strong{display:block;font-family:'Space Grotesk',sans-serif;color:var(--ink);margin-bottom:2px}
.rv-group span{color:var(--ink-soft);font-size:.92rem;line-height:1.5}

.rv-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.rv-steps li{counter-increment:s;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px}
.rv-steps li::before{content:"0" counter(s);display:block;font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--violet-500);margin-bottom:10px}
.rv-steps h3{font-family:'Space Grotesk',sans-serif;font-size:1.02rem;margin:0 0 6px;color:var(--ink)}
.rv-steps p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.55}

.rv-people{display:grid;gap:14px;max-width:760px}
.rv-people p{margin:0;color:var(--ink-body);line-height:1.65}

.rv-faq{max-width:820px;display:grid;gap:10px}
.rv-faq details{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}
.rv-faq summary{cursor:pointer;padding:18px 20px;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px}
.rv-faq summary::-webkit-details-marker{display:none}
.rv-faq summary::after{content:"+";font-family:'IBM Plex Mono',monospace;color:var(--violet-500)}
.rv-faq details[open] summary::after{content:"\2212"}
.rv-faq details p{margin:0;padding:0 20px 18px;color:var(--ink-soft);line-height:1.65}
.rv-faq summary:focus-visible{outline:2px solid var(--violet-500);outline-offset:2px;border-radius:var(--radius-md)}

.rv-form-wrap{max-width:760px;margin-top:8px}
.rv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.rv-form-grid .full{grid-column:1/-1}
.rv-consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--ink-soft);line-height:1.5;margin:6px 0 18px}
.rv-consent input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--violet-500)}
.rv-success{padding:28px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--violet-100);max-width:760px}
.rv-success:focus{outline:2px solid var(--violet-500)}
.rv-success h3{font-family:'Space Grotesk',sans-serif;margin:0 0 8px}
.rv-success p{margin:0;color:var(--ink-body);line-height:1.6}

@media (max-width:860px){
  .rv-hero-grid{grid-template-columns:1fr}
  .rv-photo{max-width:340px}
  .rv-two{grid-template-columns:1fr}
  .rv-form-grid{grid-template-columns:1fr}
}
