/* Prado Construye — tema negro, letra grande y animaciones */
:root{--yellow:#ffc20e;--ink:#fff;--gray:#0e0e0d;--s1:#111110;--s2:#1a1a18;--ln:#2d2d29;--mu:#c9cac3}
html{scroll-padding-top:110px}
body{background:#050505;color:#fff;font-size:18px;line-height:1.65}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--yellow)!important;outline-offset:3px}
select option{background:#111;color:#fff}
header{background:#050505e6;border-bottom:1px solid var(--ln);transition:height .3s,box-shadow .3s}
header.sc{height:80px;box-shadow:0 10px 30px #000a}
.brand{font-size:24px}.brand-sub{font-size:11px}
nav{background:var(--s1);border-color:var(--ln);font-size:14px;gap:22px}
nav a{color:#fff}nav a:hover,nav a.act,.text-link:hover{color:var(--yellow)}
.nav-contact{background:var(--yellow);color:#111!important}.nav-contact:hover{background:#fff}
#bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--yellow);z-index:60}
.menu-toggle{color:#fff;border-color:#444}
.eyebrow,.hero .eyebrow{font-size:13px;letter-spacing:1.5px}
.section-top .eyebrow:before{background:var(--yellow)}
.hero{background:#0e0e0d}
.hero-intro{font-size:20px;max-width:520px;color:#ececE6}
.button{font-size:15px;min-height:56px}
.hero-bottom{font-size:15px}.hero-bottom strong{font-size:30px}
.hero-caption{font-size:12px}.motion-toggle{font-size:13px}
.yellow{color:#111}.yellow:hover{box-shadow:0 10px 30px #ffc20e55}
.discipline-strip{margin:0;padding:20px 0;display:block;overflow:hidden;background:var(--yellow);color:#111;border:0;font-size:15px;font-weight:700;letter-spacing:2px}
.discipline-strip b{color:#111;font-size:24px}
.mq{display:flex;align-items:center;gap:34px;width:max-content;animation:mq 34s linear infinite}.mq>*{white-space:nowrap}
.discipline-strip:hover .mq{animation-play-state:paused}
h2{font-size:clamp(38px,4.2vw,62px)}h2 em{color:var(--yellow)}
h2::after{content:"";display:block;width:70px;height:6px;background:var(--yellow);margin-top:16px}
.small-note{font-size:15px}
.service-scene>span{font-size:12px}.service-scene>p{font-size:36px;color:#fff;text-shadow:0 2px 14px #000}
.service-grid article,.service-grid article+article,.service-grid article:nth-child(3),.service-grid article:nth-child(4){background:var(--s1);border:1px solid var(--ln);border-top:4px solid var(--yellow)}
.service-grid article:hover{box-shadow:0 20px 50px #ffc20e1a;border-color:var(--yellow)}
.service-num{background:#222;color:#ddd;font-size:12px}
.service-grid p,.services-three p{font-size:17px;line-height:1.7;color:var(--mu)}
.services-three h3,.service-grid h3{font-size:23px}
.service-grid a,.services-three a{font-size:14px;border-color:var(--ln)}
.about-content p,.about-statement>p:last-child{font-size:18px;line-height:1.8}
.about-content .label{font-size:13px}.about-content h3{font-size:28px}
.about-portrait>span{font-size:18px}.about-portrait small{font-size:13px}
.experience-number span{font-size:13px}
.bim-scene>span{font-size:12px}.bim-scene h3{font-size:40px}.bim-scene .eyebrow{font-size:13px}
.tag,.training .tag{font-size:13px}
.training-heading p{font-size:18px;color:var(--mu)}
.teacher{background:var(--s1);border-color:var(--ln)}.teacher strong{font-size:19px}.teacher p{font-size:15px;color:var(--mu)}
.teacher>span{background:var(--yellow);color:#111;font-size:13px;font-weight:700}
.learning-mode{font-size:15px;color:var(--mu)}.learning-mode span:before{color:var(--yellow)}
.course{background:var(--s1);border-color:var(--ln);box-shadow:none;transition:transform .3s,border-color .3s,box-shadow .3s}
.course:hover,.course[open]{transform:translateY(-6px);border-color:var(--yellow);box-shadow:0 20px 50px #ffc20e1a}
.course summary,.course[open] summary{color:#fff}
.course-art>span{font-size:11px}
.course h3{font-size:23px}.course-level{font-size:14px;color:var(--mu)}
.course-duration{font-size:14px;border-color:var(--ln);color:var(--mu)}
.course-price{font-size:32px;color:var(--yellow)}
.course-expand{font-size:13px;color:#ddd}.course-plus{background:#2a2a27;color:#fff}
.syllabus{border-color:var(--ln)}.syllabus p{font-size:16px;color:var(--mu)}.syllabus ol{font-size:15px;color:#e4e4de}.syllabus .button{font-size:14px}
.bundle{color:#111}.bundle p:not(.eyebrow){font-size:17px}.bundle-meta{font-size:13px}.old-price,.bundle-price>span:not(.old-price){font-size:15px}
.duration-note{font-size:14px;color:var(--mu)}
.property-copy>p:not(.eyebrow){font-size:18px;color:var(--mu);max-width:480px}.concept-note{font-size:12px;color:#aaa}
.catalog-heading>p{font-size:17px;color:var(--mu)}
.catalog-notice{font-size:15px;background:#231d00;border-color:#6e5a00;color:#ffe28a}
.property-filters{background:var(--s1);border:1px solid var(--ln)}
.property-filters label{color:#fff;font-size:14px}
.property-filters input,.property-filters select{background:#1c1c1a;color:#fff;border-color:#3a3a36;font-size:16px;min-height:50px}
.property-filters input::placeholder{color:#aaa}
.catalog-toolbar{font-size:15px;color:var(--mu)}.catalog-toolbar button{font-size:15px;color:#fff}
.property-card,.property-empty{background:var(--s1);border-color:var(--ln);transition:transform .3s,border-color .3s}
.property-card:hover{transform:translateY(-6px);border-color:var(--yellow)}
.property-card{animation:up .6s backwards}
.property-card-photo{background:#222}.property-card-photo>span{font-size:11px}
.property-tags>span{background:#262623;font-size:12px}.property-tags .demo-tag{background:#3a3000;color:#ffd54a}
.property-card h3{font-size:23px}.property-price{font-size:25px;color:var(--yellow)}
.property-location{font-size:15px;color:var(--mu)}
.property-facts{border-color:var(--ln)}.property-facts dt{font-size:12px;color:#aaa}.property-facts dd{font-size:15px}
.property-card-bottom>span{font-size:12px;color:#aaa}
.property-empty p{font-size:16px;color:var(--mu)}
.catalog-data-note,.visual-disclosure{font-size:13px;color:#aaa}
.stats-section{background:linear-gradient(90deg,#050505f2,#050505d0),url("assets/backgrounds/07-experiencia.webp") center/cover}
.stats-grid,.stats-grid>div+div{border-color:#3a3a36}
.stats-grid strong,.stats-369 strong{color:#fff}.stats-369>div:nth-child(2) strong{color:var(--yellow)}
.stats-grid strong span{font-size:16px}.stats-grid p{font-size:16px;color:var(--mu);max-width:290px}
.contact{border:1px solid var(--ln)}
.contact-info>p:not(.eyebrow){font-size:18px}.contact .eyebrow{color:#fff}
.contact-detail{font-size:19px}.contact-detail span,.wa-contact-row>div>span{font-size:12px;color:#c4c4c4}
.wa-contact-row .phone-number{font-size:20px}.socials a{font-size:15px;padding:12px 16px}
form h3{font-size:25px}label{font-size:15px}input,select,textarea{font-size:17px}.optional{font-size:13px}.form-note,#form-status{font-size:14px}
footer{background:#000;color:#bbb;font-size:14px;border-top:5px solid var(--yellow)}
.footer-brand,.footer-brand .footer-wordmark{color:#fff}.footer-brand .footer-wordmark{font-size:19px}.footer-wordmark>span{font-size:10px}
footer>a:last-child{border-color:#444;color:#fff}
.wa-floating{border-color:#050505;animation:pulse 2.6s infinite}
/* galería, excavadora y visor */
.gal-sec{padding-bottom:30px}
.rail-ctl{display:flex;gap:10px}.rail-ctl button{background:transparent;color:var(--yellow);border:1px solid var(--yellow);width:48px;height:48px;font-size:20px;cursor:pointer}.rail-ctl button:hover{background:var(--yellow);color:#111}
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.gal-head p{max-width:420px;color:var(--mu);font-size:17px}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:34px 0 14px;scrollbar-width:thin;scrollbar-color:var(--yellow) #1a1a18}
.rail figure{flex:0 0 min(320px,76%);margin:0;scroll-snap-align:start;position:relative;aspect-ratio:4/5;overflow:hidden;cursor:zoom-in;border:1px solid var(--ln);border-radius:14px}
.rail img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.rail figure:hover img{transform:scale(1.07)}
.rail figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 18px 18px;background:linear-gradient(transparent,#000e);font:700 17px Manrope,Arial,sans-serif}
.dozer{position:relative;height:90px;overflow:hidden;margin-top:30px;border-bottom:14px solid transparent;border-image:repeating-linear-gradient(135deg,#ffc20e 0 18px,#111 18px 36px) 14}
.dozer svg{position:absolute;bottom:0;left:0;width:150px;animation:drive 18s linear infinite}
#lb{border:0;background:transparent;padding:0;max-width:94vw;max-height:94vh}#lb::backdrop{background:#000e}
#lb img{max-width:94vw;max-height:90vh;display:block}#lb button{position:absolute;top:8px;right:8px;background:var(--yellow);border:0;width:44px;height:44px;font-size:24px;cursor:pointer}
/* animaciones */
.rv:not(.in){opacity:0;transform:translateY(30px)}
.rv.in{animation:up .8s cubic-bezier(.2,.7,.2,1) var(--d,0s) backwards}
.hero-copy>*{animation:up .9s backwards}.hero-copy>*:nth-child(2){animation-delay:.12s}.hero-copy>*:nth-child(3){animation-delay:.24s}.hero-copy>*:nth-child(4){animation-delay:.36s}.hero-copy>*:nth-child(5){animation-delay:.48s}
@keyframes up{from{opacity:0;transform:translateY(32px)}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes drive{from{transform:translateX(-170px)}to{transform:translateX(100vw)}}
@keyframes pulse{0%,100%{box-shadow:0 8px 30px #0006,0 0 0 0 #25d36680}60%{box-shadow:0 8px 30px #0006,0 0 0 18px #25d36600}}
@media(max-width:1250px){nav{font-size:13px;gap:14px}}
@media(max-width:1100px){.service-grid article:nth-child(3),.service-grid article:nth-child(4){background:var(--s1);border-color:var(--ln)}}
@media(max-width:760px){
body{font-size:17px}nav{background:#0f0f0e;font-size:16px}header{background:#050505}
.hero-intro{font-size:18px}.hero .eyebrow,.eyebrow{font-size:12px}.hero-caption{font-size:10px}
.discipline-strip{font-size:13px}.small-note{font-size:12px}
.service-scene>p{font-size:28px;max-width:260px}.bim-scene h3{font-size:29px}
.service-grid p,.services-three p{font-size:16px}.service-grid a,.services-three a{font-size:13px}
.about-content p{font-size:16px}.stats-grid strong span{font-size:14px}
.property-copy>p:not(.eyebrow){font-size:16px}
.catalog-heading>p{font-size:16px}.property-filters input,.property-filters select{font-size:16px}
.teacher p{font-size:13px}.learning-mode{font-size:14px}.course-level{font-size:13px}
footer{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv:not(.in){opacity:1;transform:none}.hero-visual video{visibility:hidden}}

/* ===== Cinta de construcción ===== */
header{border-bottom:8px solid transparent;border-image:repeating-linear-gradient(135deg,#ffc20e 0 14px,#050505 14px 28px) 8}
.discipline-strip{background:#0a0a0a;color:var(--yellow);border-bottom:1px solid var(--ln)}.discipline-strip b{color:#fff}
.cintas{position:relative;height:130px;overflow:hidden;margin-top:-6px;z-index:2}
.cinta{position:absolute;left:-6%;width:112%;top:50%;box-shadow:0 8px 20px #000a}
.cinta.txt{height:44px;margin-top:-22px;transform:rotate(-2.2deg);background:var(--yellow);color:#111;overflow:hidden;display:flex;align-items:center;z-index:2}
.cinta-track{display:flex;width:max-content;white-space:nowrap;font:800 16px Manrope,Arial,sans-serif;letter-spacing:3px;animation:mq 40s linear infinite}
.cinta-track span{padding-right:26px}
.cinta.haz{height:36px;margin-top:-18px;transform:rotate(2.2deg);background:repeating-linear-gradient(-45deg,#ffc20e 0 22px,#0a0a0a 22px 44px);background-size:62px 62px;animation:cinta 3s linear infinite}
.rail figure::before{content:"";position:absolute;top:10px;left:50%;width:96px;height:24px;transform:translateX(-50%) rotate(-3deg);background:repeating-linear-gradient(135deg,#ffc20e 0 10px,#0a0a0a 10px 20px);z-index:2;box-shadow:0 2px 6px #0008}
@keyframes cinta{to{background-position:62px 0}}
@media(max-width:760px){.cintas{height:104px}.cinta.txt{height:38px;margin-top:-19px}.cinta-track{font-size:13px;letter-spacing:2px}.cinta.haz{height:28px;margin-top:-14px}}
