/* CIENCIAS NATURALES · modelos locales. Sin imágenes ni dependencias externas. */
.science-models-page .models-hero{padding-bottom:44px;background:linear-gradient(145deg,#fff 0%,#edf3f8 74%,#f8fafc 100%)}
.science-models-page .models-hero h1{max-width:820px}
.models-jump{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:-20px;padding:0}
.models-jump a{min-height:74px;display:flex;align-items:center;gap:9px;padding:14px 16px;border:1px solid var(--cs-line-strong);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 8px 18px rgba(20,34,56,.04);color:var(--cs-blue-deep);font-size:12px;font-weight:800;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.models-jump a span{color:var(--cs-red-deep);font-size:10px;letter-spacing:.1em}
.models-jump a:hover,.models-jump a:focus-visible{transform:translateY(-2px);border-color:var(--cs-blue);box-shadow:0 12px 24px rgba(20,34,56,.1)}
.models-section{padding:76px 0 0}
.models-section--soft{margin-top:76px;padding:76px 0;background:linear-gradient(180deg,#edf3f8,#f8fafc)}
.models-section__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:30px;align-items:end;margin-bottom:25px}
.models-section__head .sci-eyebrow{grid-column:1/-1}
.models-section__head h2{max-width:760px;margin:0;color:var(--cs-ink);font:600 clamp(42px,5.1vw,72px)/.9 var(--cs-display);letter-spacing:-.045em}
.models-section__head p{max-width:500px;margin:0;color:var(--cs-ink-soft);font:400 18px/1.52 var(--cs-serif)}
.models-card{overflow:hidden;border:1px solid var(--cs-line-strong);border-radius:18px;background:var(--cs-surface);box-shadow:var(--cs-shadow)}
.models-card__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 22px;border-bottom:1px solid var(--cs-line);background:#fff;color:var(--cs-red-deep);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.models-card__bar small{color:var(--cs-muted);font-size:9px;letter-spacing:.08em}
.models-tabs{display:flex;gap:7px;overflow-x:auto;padding:18px 22px 0;border:0;scrollbar-width:none}
.models-tabs::-webkit-scrollbar{display:none}
.models-tabs button{flex:0 0 auto;min-height:39px;padding:8px 13px;border:1px solid var(--cs-line-strong);border-radius:999px;background:#fff;color:var(--cs-ink-soft);font-size:11px;font-weight:800;transition:background .16s,color .16s,border-color .16s}
.models-tabs button:hover,.models-tabs button:focus-visible{border-color:var(--cs-blue);color:var(--cs-blue-deep)}
.models-tabs button[aria-selected="true"]{border-color:var(--cs-blue-deep);background:var(--cs-blue-deep);color:#fff}
.models-grid{display:grid;gap:30px;padding:24px 22px 22px}
.models-grid--cell,.models-grid--sky,.models-grid--earth{grid-template-columns:minmax(260px,.85fr) minmax(300px,1fr);align-items:center}
.models-explainer{min-width:0}
.models-output{min-height:145px;padding:20px;border:1px solid var(--cs-line);border-radius:12px;background:linear-gradient(135deg,#fff,#f5f8fb)}
.models-output__kicker{display:block;margin-bottom:7px;color:var(--cs-red-deep);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.models-output h3{margin:0;color:var(--cs-ink);font:600 clamp(29px,3vw,39px)/.94 var(--cs-display);letter-spacing:-.03em}
.models-output p{margin:10px 0 0;color:var(--cs-ink-soft);font:400 16px/1.48 var(--cs-serif)}
.models-linkline{display:flex;flex-wrap:wrap;gap:6px 18px;margin:15px 0 0}
.models-linkline a{color:var(--cs-blue-deep);font-size:11px;font-weight:800;text-decoration:none}
.models-linkline a:hover,.models-linkline a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.models-limit{margin:0 22px 22px;border-top:1px solid var(--cs-line)}
.models-limit summary{padding:14px 0 0;color:var(--cs-blue-deep);font-size:11px;font-weight:850;cursor:pointer}
.models-limit p{max-width:850px;margin:9px 0 0;color:var(--cs-muted);font:400 15px/1.5 var(--cs-serif)}

/* Células */
.cell-visual{position:relative;min-height:345px;display:grid;place-items:center;overflow:hidden;border:1px solid #b7cfe2;border-radius:14px;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.86) 0 2px,transparent 2.5px),radial-gradient(circle at 80% 76%,rgba(47,111,166,.14) 0 1px,transparent 1.5px),linear-gradient(145deg,#dceaf5,#edf3f8 62%,#fff)}
.cell-visual::before{content:"";position:absolute;width:210%;height:1px;transform:rotate(-24deg);background:rgba(47,111,166,.12)}
.cell-body{position:relative;z-index:1;width:min(76%,330px);aspect-ratio:1;transition:border-radius .25s ease,transform .25s ease,background .25s ease}
.cell-visual[data-cell="animal"] .cell-body{border:12px solid #315f84;border-radius:48% 52% 44% 56%/55% 45% 55% 45%;background:#a9cae3;box-shadow:inset 0 0 0 9px rgba(255,255,255,.24)}
.cell-visual[data-cell="vegetal"] .cell-body{border:15px solid #6c8859;border-radius:17px;background:#c4daaa;box-shadow:inset 0 0 0 8px #dcebc6,inset 0 0 0 17px #6a9f78}
.cell-visual[data-cell="procariota"] .cell-body{width:min(82%,360px);aspect-ratio:1.75;border:13px solid #a65a5f;border-radius:999px;background:#e6b9a8;box-shadow:inset 0 0 0 7px #f3d4c5,inset 0 0 0 16px #d08770}
.cell-part-shape{position:absolute;display:block;border:0;pointer-events:none}
.shape-nucleus{top:27%;left:29%;width:42%;aspect-ratio:1;border-radius:50%;background:#8c5264;box-shadow:inset 0 0 0 8px rgba(255,255,255,.2)}
.shape-nucleus::after{content:"";position:absolute;top:34%;left:34%;width:31%;aspect-ratio:1;border-radius:50%;background:#f2d5ce}
.shape-mito{right:18%;bottom:22%;width:23%;height:13%;border:5px solid #b85f45;border-radius:48% 52% 48% 52%;transform:rotate(-26deg)}
.shape-mito::after{content:"⌇⌇";position:absolute;inset:-8px 0;color:#b85f45;font-size:27px;font-style:normal;letter-spacing:0}
.shape-ribosome{width:11px;aspect-ratio:1;border-radius:50%;background:#315f84}.shape-ribosome.one{top:22%;right:20%}.shape-ribosome.two{bottom:22%;left:22%}
.cell-visual[data-cell="vegetal"] .shape-nucleus{top:21%;left:19%;width:32%;background:#895664}.cell-visual[data-cell="vegetal"] .shape-mito{right:20%;bottom:17%}
.cell-visual[data-cell="vegetal"] .shape-chloroplast{position:absolute;right:16%;top:25%;width:21%;height:12%;border:5px solid #3d795f;border-radius:50%;transform:rotate(26deg)}
.cell-visual[data-cell="vegetal"] .shape-vacuole{position:absolute;right:21%;bottom:20%;width:40%;height:38%;border:8px solid rgba(255,255,255,.7);border-radius:35% 45% 42% 38%;background:rgba(255,255,255,.35)}
.cell-visual[data-cell="procariota"] .shape-nucleus{top:25%;left:34%;width:33%;height:49%;border-radius:46% 54% 48% 52%;background:transparent;border:7px solid #8c5264;transform:rotate(18deg);box-shadow:none}.cell-visual[data-cell="procariota"] .shape-nucleus::after{display:none}
.cell-visual[data-cell="procariota"] .shape-mito{display:none}.cell-visual[data-cell="procariota"] .shape-ribosome{background:#6b3e56}.cell-visual[data-cell="procariota"] .shape-ribosome.one{top:28%;right:21%}.cell-visual[data-cell="procariota"] .shape-ribosome.two{bottom:28%;left:21%}
.cell-hotspot{position:absolute;z-index:3;padding:5px 7px;border:1px solid rgba(20,34,56,.18);border-radius:7px;background:rgba(255,255,255,.9);color:var(--cs-ink);font-size:9px;font-weight:850;line-height:1.1;box-shadow:0 3px 8px rgba(20,34,56,.12)}
.cell-hotspot:hover,.cell-hotspot:focus-visible,.cell-hotspot[aria-pressed="true"]{border-color:var(--cs-red);background:#fff0ec;color:var(--cs-red-deep)}
.cell-hotspot[data-part="membrane"]{top:12%;left:8%}.cell-hotspot[data-part="wall"]{top:10%;left:8%}.cell-hotspot[data-part="nucleus"],.cell-hotspot[data-part="nucleoid"]{top:45%;left:39%}.cell-hotspot[data-part="chloroplast"]{top:19%;right:5%}.cell-hotspot[data-part="vacuole"]{right:3%;bottom:17%}.cell-hotspot[data-part="mitochondria"]{right:5%;bottom:31%}.cell-hotspot[data-part="ribosomes"]{bottom:12%;left:10%}.cell-hotspot[data-part="cytoplasm"]{right:5%;top:54%}
.model-choice-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.model-choice-list button{padding:7px 9px;border:1px solid var(--cs-line-strong);border-radius:8px;background:#fff;color:var(--cs-ink-soft);font-size:10px;font-weight:800}
.model-choice-list button:hover,.model-choice-list button:focus-visible,.model-choice-list button[aria-pressed="true"]{border-color:var(--cs-red);background:#fff0ec;color:var(--cs-red-deep)}

/* Tierra, Sol y Luna */
.sky-visual{position:relative;min-height:350px;overflow:hidden;border:1px solid #315f84;border-radius:14px;background:radial-gradient(circle at 18% 24%,rgba(255,255,255,.72) 0 1px,transparent 1.8px),radial-gradient(circle at 80% 77%,rgba(255,255,255,.6) 0 1px,transparent 1.7px),radial-gradient(circle at 63% 12%,rgba(255,255,255,.5) 0 1px,transparent 1.6px),linear-gradient(140deg,#163c60,#214e78 60%,#315f84)}
.sky-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 70%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 88% 32%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 46% 18%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 36% 86%,#fff 0 1px,transparent 1.4px);opacity:.7}
.sky-sun{position:absolute;top:50%;left:11%;z-index:1;width:72px;aspect-ratio:1;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle at 37% 35%,#fff7d2 0 8%,#f4c75c 39%,#d99331 73%,#b76725);box-shadow:0 0 0 11px rgba(244,199,92,.13),0 0 42px rgba(244,199,92,.64)}
.sky-orbit{position:absolute;top:50%;right:8%;width:64%;height:44%;border:1px solid rgba(220,234,245,.5);border-radius:50%;transform:translateY(-50%) rotate(-7deg)}
.sky-earth{position:absolute;z-index:3;top:50%;left:61%;width:112px;aspect-ratio:1;border:3px solid rgba(255,255,255,.7);border-radius:50%;transform:translate(-50%,-50%) rotate(var(--earth-tilt,0deg));background:radial-gradient(circle at 64% 30%,#e7f2db 0 12%,transparent 13%),radial-gradient(circle at 38% 61%,#75aa7a 0 14%,transparent 15%),#2f6fa6;box-shadow:inset -29px 0 0 var(--earth-night,rgba(10,34,56,.5)),0 7px 17px rgba(0,0,0,.22);transition:left .25s ease,transform .25s ease,box-shadow .25s ease}
.sky-earth i{position:absolute;z-index:1;top:-19px;left:50%;width:3px;height:148px;border-radius:3px;background:rgba(255,245,209,.95);transform:translateX(-50%) rotate(23.5deg);transform-origin:center}
.sky-moon{position:absolute;z-index:4;top:29%;left:79%;width:39px;aspect-ratio:1;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:#f4eee0;box-shadow:inset var(--moon-shadow-x,0) 0 0 var(--moon-shadow-size,0) #26374b,0 3px 8px rgba(0,0,0,.28);transition:left .25s ease,top .25s ease,box-shadow .25s ease}
.sky-moon i{position:absolute;inset:22% 36% auto 18%;height:12%;border-radius:50%;background:rgba(115,97,84,.25);transform:rotate(-18deg)}
.sky-visual--seasons .sky-earth{left:72%;--earth-tilt:-9deg;--earth-night:rgba(10,34,56,.3)}
.sky-visual--seasons .sky-orbit{width:74%;height:62%;right:-6%;border-style:dashed}
.sky-visual--seasons .sky-moon{display:none}
.sky-visual--phases .sky-earth{left:47%;width:89px;--earth-night:rgba(10,34,56,.45)}
.sky-visual--phases .sky-orbit{width:50%;height:50%;right:10%}
.sky-visual--phases .sky-moon{top:32%;left:77%}
.models-control{margin-top:14px;padding:12px 13px;border:1px solid var(--cs-line);border-radius:10px;background:#fff}
.models-control label{display:flex;justify-content:space-between;gap:12px;color:var(--cs-ink-soft);font-size:11px;font-weight:800}.models-control output{color:var(--cs-red-deep)}
.models-control input[type="range"]{width:100%;margin-top:10px;accent-color:var(--cs-blue-deep)}
.models-preset-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.models-preset-buttons button{padding:7px 8px;border:1px solid var(--cs-line-strong);border-radius:8px;background:#fff;color:var(--cs-ink-soft);font-size:10px;font-weight:800}.models-preset-buttons button:hover,.models-preset-buttons button:focus-visible,.models-preset-buttons button[aria-pressed="true"]{border-color:var(--cs-blue);background:var(--cs-blue-pale);color:var(--cs-blue-deep)}

/* Sistema Solar */
.solar-model-layout{display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(300px,.95fr);gap:30px;padding:26px 22px 22px;align-items:center}
.solar-visual{position:relative;min-height:378px;overflow:hidden;padding:28px 18px 22px;border:1px solid #b7cfe2;border-radius:14px;background:linear-gradient(145deg,#e9f1f7,#fff)}
.solar-visual::after{content:"Ilustración comparativa · no está a escala";position:absolute;right:14px;bottom:10px;color:var(--cs-muted);font-size:8px;font-weight:800;letter-spacing:.05em}
.solar-sun{position:absolute;top:50%;left:19px;width:46px;aspect-ratio:1;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle at 38% 34%,#fff9db 0 8%,#f3c65c 42%,#cf8032 77%);box-shadow:0 0 0 7px rgba(243,198,92,.19),0 0 25px rgba(243,198,92,.55)}
.solar-track{position:relative;margin:0 0 5px 52px;height:37px;border-top:1px solid rgba(47,111,166,.22);border-radius:50%;transform:perspective(220px) rotateX(20deg)}
.solar-track button{position:absolute;top:-11px;left:var(--planet-x,50%);display:flex;align-items:center;gap:7px;padding:2px 5px;border:0;border-radius:8px;background:transparent;color:var(--cs-ink-soft);font-size:10px;font-weight:850;white-space:nowrap;transform:translateX(-50%);transition:background .16s,color .16s,transform .16s}
.solar-track button:hover,.solar-track button:focus-visible,.solar-track button[aria-pressed="true"]{background:#fff0ec;color:var(--cs-red-deep);transform:translateX(-50%) scale(1.04)}
.solar-track button i{display:block;width:var(--planet-size,10px);height:var(--planet-size,10px);border-radius:50%;background:var(--planet-color,#647084);box-shadow:0 1px 3px rgba(20,34,56,.25)}
.solar-track:nth-child(2){--planet-x:14%;--planet-size:7px;--planet-color:#8f8c85}.solar-track:nth-child(3){--planet-x:25%;--planet-size:10px;--planet-color:#b77b51}.solar-track:nth-child(4){--planet-x:37%;--planet-size:11px;--planet-color:#2f6fa6}.solar-track:nth-child(5){--planet-x:48%;--planet-size:9px;--planet-color:#b66042}.solar-track:nth-child(6){--planet-x:62%;--planet-size:23px;--planet-color:#bd8f61}.solar-track:nth-child(7){--planet-x:72%;--planet-size:20px;--planet-color:#d0b06d}.solar-track:nth-child(8){--planet-x:82%;--planet-size:15px;--planet-color:#7ab0b9}.solar-track:nth-child(9){--planet-x:91%;--planet-size:15px;--planet-color:#487db4}
.solar-track:nth-child(7) button i{box-shadow:0 0 0 4px rgba(208,176,109,.28),0 1px 3px rgba(20,34,56,.25)}
.solar-explainer{align-self:center}.solar-prompt{margin-top:14px;padding:13px 14px;border-left:3px solid var(--cs-red);background:#fff7f5;color:var(--cs-ink-soft);font:400 15px/1.45 var(--cs-serif)}.solar-prompt strong{display:block;margin-bottom:4px;color:var(--cs-red-deep);font:800 10px/1.2 var(--cs-sans);letter-spacing:.1em;text-transform:uppercase}.solar-prompt p{margin:0}

/* Tierra por dentro */
.earth-visual{position:relative;min-height:350px;display:grid;place-items:center;overflow:hidden;border:1px solid #cbb6a5;border-radius:14px;background:radial-gradient(circle at 20% 16%,#fff 0 1px,transparent 1.5px),linear-gradient(145deg,#f8f2ec,#edf3f8)}
.earth-visual::before{content:"";position:absolute;width:132%;height:1px;transform:rotate(-22deg);background:rgba(166,90,95,.16)}
.earth-layer{position:absolute;z-index:1;border:0;border-radius:50%;transition:filter .16s,box-shadow .16s,transform .16s}
.earth-layer:hover,.earth-layer:focus-visible,.earth-layer[aria-pressed="true"]{filter:brightness(1.08);box-shadow:0 0 0 4px rgba(255,255,255,.94),0 0 0 7px var(--cs-red);outline:0}
.earth-layer--crust{inset:34px;background:#9a6650}.earth-layer--mantle{inset:49px;background:#d2955e}.earth-layer--outer-core{inset:100px;background:#c55d3e}.earth-layer--inner-core{inset:142px;background:#f2c35b}
.earth-wave{position:absolute;z-index:8;left:9%;bottom:13%;width:76%;height:41%;border:3px solid transparent;border-top-color:#315f84;border-radius:50%;pointer-events:none;transform:rotate(-24deg);transform-origin:left center;animation:earth-wave 2.8s ease-in-out infinite}
.earth-wave--s{width:57%;border-top-color:#a65a5f;border-right-color:#a65a5f;animation-name:earth-wave-s}
.models-radio-group{display:grid;gap:10px;margin:14px 0 0;padding:12px 13px;border:1px solid var(--cs-line);border-radius:10px;color:var(--cs-ink-soft)}
.models-radio-group legend{padding:0 4px;color:var(--cs-blue-deep);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.models-radio-group label{font:400 14px/1.35 var(--cs-serif)}.models-radio-group input{accent-color:var(--cs-blue-deep)}
.models-close{margin-top:76px;padding:72px 0;background:var(--cs-blue-deep);color:#fff}.models-close .sci-shell{max-width:960px}.models-close .sci-eyebrow{color:#dceaf5}.models-close h2{max-width:760px;margin:12px 0 0;color:#fff;font:600 clamp(42px,5vw,70px)/.9 var(--cs-display);letter-spacing:-.045em}.models-close p{max-width:680px;margin:18px 0;color:#edf3f8;font:400 19px/1.5 var(--cs-serif)}.models-close .sci-button{margin-top:8px;background:#fff;color:var(--cs-blue-deep)}
@keyframes earth-wave{0%,100%{opacity:.42;transform:rotate(-24deg) scale(.84)}50%{opacity:1;transform:rotate(-24deg) scale(1.03)}}
@keyframes earth-wave-s{0%,100%{opacity:.42;transform:rotate(30deg) scale(.84)}50%{opacity:1;transform:rotate(30deg) scale(1.03)}}
@media(prefers-reduced-motion:reduce){.models-jump a,.cell-body,.sky-earth,.sky-moon,.solar-track button{transition:none}.earth-wave{animation:none}}
@media(max-width:900px){.models-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.models-section__head{grid-template-columns:1fr;gap:14px}.models-grid--cell,.models-grid--sky,.models-grid--earth,.solar-model-layout{grid-template-columns:1fr}.cell-visual,.sky-visual,.earth-visual{min-height:320px}.solar-model-layout{padding-top:22px}.solar-visual{min-height:365px}.models-explainer{max-width:720px}.models-section--soft{margin-top:58px;padding-top:58px}}
@media(max-width:600px){.science-models-page .models-hero{padding-bottom:34px}.models-jump{width:calc(100% - 28px);gap:8px;margin-top:-10px}.models-jump a{min-height:62px;padding:11px;font-size:10px}.models-section{padding-top:54px}.models-section--soft{margin-top:54px;padding-top:54px}.models-section__head h2{font-size:43px}.models-section__head p{font-size:16px}.models-card{border-radius:14px}.models-card__bar{padding:12px 15px}.models-card__bar small{display:none}.models-tabs{padding:14px 15px 0}.models-tabs button{min-height:36px;padding:7px 10px;font-size:10px}.models-grid,.solar-model-layout{gap:18px;padding:18px 15px}.models-output{min-height:0;padding:16px}.models-output h3{font-size:31px}.models-output p{font-size:15px}.models-limit{margin:0 15px 15px}.cell-visual,.sky-visual,.earth-visual{min-height:286px}.cell-body{width:min(78%,290px)}.sky-sun{left:8%;width:56px}.sky-earth{left:60%;width:92px}.sky-moon{left:78%;width:33px}.solar-visual{min-height:344px;padding-left:9px;padding-right:8px}.solar-sun{left:12px;width:36px}.solar-track{margin-left:39px;height:35px}.solar-track button{gap:4px;font-size:8px}.solar-track button i{transform:scale(.82)}.solar-track:nth-child(8) button span,.solar-track:nth-child(9) button span{display:none}.earth-layer--crust{inset:30px}.earth-layer--mantle{inset:43px}.earth-layer--outer-core{inset:86px}.earth-layer--inner-core{inset:122px}.models-close{margin-top:54px;padding:54px 0}.models-close h2{font-size:44px}.models-close p{font-size:17px}}
