.solution-model-section { width: min(100%, var(--max)); margin: auto; padding: 70px 28px 100px; }
.solution-model-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.solution-model-heading h2 { margin: 14px 0; font-size: clamp(34px, 4.5vw, 56px); letter-spacing: -.045em; line-height: 1.12; }
.solution-model-description { color: #52677e; font-size: 15px; line-height: 1.8; margin: 14px 0 32px; }
.solution-model-notice { position:absolute; z-index:3; left:16px; right:16px; bottom:16px; max-width:620px; padding:12px 16px; margin:0; border-left:3px solid #315b91; border-radius:0 10px 10px 0; background:rgba(255,255,255,.94); color:#344e6b; font-size:12px; line-height:1.55; pointer-events:none; box-shadow:0 4px 20px #173f8314; }
.solution-model-notice summary { color:#173f83; font-weight:800; cursor:pointer; pointer-events:auto; }
.solution-model-notice summary:focus-visible { outline:2px solid #315b91; outline-offset:4px; }
.solution-model-notice p { margin:4px 0 0; }
.solution-model-stage:has(.solution-model-touch-exit:not([hidden])) .solution-model-notice { bottom:72px; }
.solution-model-badge { color: #315b91; background: #eef4fb; border: 1px solid #dce6f1; border-radius: 999px; padding: 12px 18px; font-size: 11px; white-space: nowrap; }
.solution-model-stage { position: relative; height: clamp(400px, 46vw, 650px); isolation: isolate; overflow: hidden; border: 1px solid #d4e1ef; border-radius: 20px; background: radial-gradient(ellipse at 50% 48%, #fff, #e4edf6 85%); }
.solution-model-canvas, .solution-model-cover { position: absolute; inset: 0; }
.solution-model-canvas model-viewer { width: 100%; height: 100%; --poster-color: transparent; touch-action: pan-y; }
.solution-model-canvas model-viewer:focus-visible { outline: 3px solid #71b3f2; outline-offset: -3px; }
.solution-model-cover { display: grid; place-items: center; z-index: 2; background: #092346; }
.solution-model-cover[hidden] { display: none; }
.solution-model-cover > img { width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.solution-model-launch { position: absolute; inset: 0; padding: 24px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 22px; text-align: center; color: white; background: linear-gradient(0deg, rgba(4,20,43,.6), transparent); }
.solution-model-launch > span { font-size: 11px; letter-spacing: .2em; font-weight: 800; }
.solution-model-launch button { border: 0; border-radius: 999px; background: white; color: #173f83; padding: 20px 28px; min-height: 52px; font-size: 14px; font-weight: 800; cursor: pointer; box-shadow: 0 16px 44px #061b3b55; }
.solution-model-launch button span { margin-left: 18px; }
.solution-model-launch button:disabled { opacity: .8; cursor: progress; }
.solution-model-launch p { max-width: 460px; margin: 0; color: #e0ebfa; font-size: 13px; line-height: 1.7; }
.solution-model-launch progress { width: min(300px, 85%); height: 6px; accent-color: #8ec9ff; }
.solution-model-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 20px; }
.solution-model-toolbar p { color: #5c6f84; font-size: 12px; line-height: 1.7; }
.solution-model-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
.solution-model-toolbar button { padding: 11px 15px; min-height: 44px; background: #fff; color: #244d8f; border: 1px solid #ccdae9; border-radius: 999px; font: inherit; font-size: 11px; cursor: pointer; }
.solution-model-toolbar button:disabled { opacity: .4; cursor: default; }
.solution-model-toolbar button[aria-pressed="true"] { background: #173f83; color: #fff; }
.solution-model-toolbar button[hidden] { display:none; }
.solution-model-toolbar button[data-model-zoom-in], .solution-model-toolbar button[data-model-zoom-out] { width:44px; padding:8px; font-size:22px; font-weight:700; }
.solution-model-toolbar > div { flex-shrink:0; max-width:65%; }
.solution-model-section button:focus-visible { outline: 3px solid #71b3f2; outline-offset: 4px; }
.solution-model-stage:fullscreen { width: 100vw; height: 100vh; border: 0; border-radius: 0; }
.solution-model-touch-exit { position:absolute; z-index:3; right:12px; bottom:12px; min-height:44px; padding:12px 18px; border:1px solid #cbdced; border-radius:999px; color:#173f83; background:#fffffff2; box-shadow:0 4px 18px #173f8320; font:inherit; font-size:11px; font-weight:700; }
.solution-model-touch-exit[hidden] { display:none; }
@media (max-width: 700px) {
 .solution-model-section { padding: 45px 20px 70px; }
 .solution-model-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
 .solution-model-stage { height: clamp(320px, 56svh, 480px); border-radius: 14px; }
 .solution-model-toolbar { flex-direction: column; align-items: flex-start; }
 .solution-model-toolbar button { padding-inline: 12px; }
 .solution-model-toolbar > div { max-width:100%; gap:8px; }
 .solution-model-toolbar button[data-model-touch] { flex-basis:100%; }
 .solution-local-nav:has(a[href="#modelo-3d"]) a[href="#video"] { grid-column: auto; }
}
