/* Second-pass framework additions. No homepage animation overrides. */
.framework-section { border-top:1px solid var(--line-soft); }
.framework-section h2 { margin-bottom:30px; }
.detail-grid,.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.round-format-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-card { margin:0; min-width:0; border:1px solid var(--line); background:var(--panel); }
.detail-card>img { display:block; width:100%; height:clamp(280px,25vw,520px); object-fit:contain; object-position:center; background:#1a2730; }
.detail-white>img { background:#fff; object-fit:contain; padding:18px; }
.detail-card figcaption { padding:24px; }
.detail-card h3 { margin:0 0 12px; font-size:1.55rem; }
.detail-card p { margin:0; color:var(--muted); font-size:1rem; }
.control-hero,.context-hero { margin:0; border:1px solid var(--line); background:#11171b; min-width:0; }
.control-hero>img { display:block; width:100%; height:310px; padding:25px; object-fit:contain; background:#fff; }
.context-hero>img { display:block; width:100%; height:420px; object-fit:cover; object-position:center top; }
.control-hero figcaption,.context-hero figcaption { padding:16px; font:16px/1.6 var(--font); color:var(--muted); }
.resource-note { margin-top:26px; padding:24px; border-left:2px solid var(--accent); background:#263b49; color:var(--muted); }
.resource-note p { margin:12px 0 0; }
.modular-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.modular-grid .detail-card>img { height:300px; }
.process-roadmap { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.process-roadmap li { min-width:0; }
.process-roadmap a,.resource-card { display:flex; flex-direction:column; height:100%; padding:28px; background:var(--panel); border:1px solid #32434c; color:var(--text); }
.process-roadmap a:hover,.resource-card:hover { border-color:#96bec9; color:var(--text); }
.step-number { font: 16px var(--mono); color:#82bac8; letter-spacing:.12em; margin-bottom:26px; display:block; }
.process-roadmap h3,.resource-card h3 { font-size:1.5rem; margin:0 0 16px; }
.process-roadmap p,.resource-card p { color:var(--muted); font-size:16px; margin:0 0 24px; }
.step-link { margin-top:auto; font:16px var(--font); color:var(--accent); }
.process-summary,.design-brief { padding:30px; border:1px solid #354951; background:linear-gradient(145deg,#263b49,#1b2934); }
.process-summary>p { font-size:1.5rem; line-height:1.3; margin:24px 0; }
.process-summary>p span { color:#bdd8e1; font-size:1rem; }
.process-summary small,.design-brief>span { display:block; font-size:16px; color:var(--muted); }
.design-brief dl { margin:0 0 22px; }
.design-brief dl>div { padding:18px 0; border-bottom:1px solid #ffffff15; }
.design-brief dt { font:16px var(--font); color:#bce6ee; }
.design-brief dd { margin:8px 0 0; font-size:1rem; }
.document-jumps { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0; }
.document-jumps a { padding:12px 18px; border:1px solid #52717d; color:#c4dce3; font-size:16px; }
.document-jumps a:hover { background:#193039; }
.document-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:20px; }
.registry-number { overflow-wrap:anywhere; font-size:16px; }
.credential-copy h3[lang] { font:500 1.15rem/1.6 system-ui,sans-serif; overflow-wrap:anywhere; }
#patents,#work-registrations,#component-registrations,[id^=order-step] { scroll-margin-top:95px; }
.framework-section .collection-note { margin:26px 0; }
@media(max-width:900px) {
 .detail-grid,.resource-grid,.process-roadmap,.round-format-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .control-hero>img { height:280px; }
}
@media(max-width:600px) {
 .detail-grid,.resource-grid,.process-roadmap,.modular-grid,.round-format-grid { grid-template-columns:1fr; }
 .detail-card>img { height:260px; }
 .detail-white>img { height:230px; }
 .modular-grid .detail-card>img { height:240px; }
 .process-roadmap a,.resource-card { padding:24px; }
 .process-summary,.design-brief { padding:24px; }
 .document-jumps { gap:8px; }
 .document-jumps a { padding:10px 12px; font-size:16px; }
 .context-hero>img { height:360px; }
}
