@import url('./composition-r5.css');
@font-face{font-family:Barlow;src:url('./assets/barlow-bold.woff');font-weight:700;font-display:swap}
@font-face{font-family:Barlow;src:url('./assets/barlow-regular.woff');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('./assets/inter-regular.woff');font-display:swap}
@font-face{font-family:Inter;src:url('./assets/inter-semibold.woff');font-weight:600;font-display:swap}

:root{--coal:#0B0E10;--surface:#171B1F;--line:#2A2F33;--white:#F4F4F4;--gray:#9AA0A6;--coral:#F5928F;color-scheme:dark;font-family:Inter,Arial,sans-serif;background:var(--coal);color:var(--white)}
*{box-sizing:border-box}
body{margin:0;overflow-wrap:anywhere;padding-bottom:env(safe-area-inset-bottom)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;background:none;border:1px solid var(--gray);padding:12px 18px;cursor:pointer;min-height:44px}
button:disabled{opacity:.55;cursor:default}
button:hover{border-color:var(--coral)}
:focus-visible{outline:3px solid var(--coral);outline-offset:5px}
img,video{display:block;max-width:100%}
figure{margin:0}
p{line-height:1.6}
h1,h2,h3,p{margin-top:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.skip-link{position:fixed;top:5px;left:20px;z-index:200;background:var(--coral);color:var(--coal);padding:15px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
html{scroll-padding-top:100px}
.chapter{scroll-margin-top:90px}
.site-header{position:absolute;top:0;left:0;width:100%;padding:25px 5%;display:flex;align-items:center;gap:35px;z-index:20;background:linear-gradient(#0b0e10b8,transparent)}
.brand{display:block;position:relative;width:145px;aspect-ratio:2719/876;overflow:hidden;flex-shrink:0}
.brand img{position:absolute;width:182.45%;max-width:none;height:400.46%;left:-41.23%;top:-150.23%}
.site-header nav{margin-left:auto;display:flex;gap:30px}
.site-header nav a,.persistent-contact{font-size:12px;min-height:44px;display:flex;align-items:center}
.site-header nav a:hover,.persistent-contact:hover{color:var(--coral)}
.persistent-contact{padding-bottom:2px;border-bottom:1px solid var(--coral);white-space:nowrap}
.menu-toggle{display:none}
#mobile-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;background:var(--coal);color:var(--white);border:0;margin:0;padding:30px 6%}
#mobile-menu::backdrop{background:var(--coal)}
#mobile-menu>button{display:block;margin-left:auto}
#mobile-menu nav{display:flex;flex-direction:column;align-items:start;gap:5px;margin-top:40px}
#mobile-menu nav a{font:700 clamp(42px,9vw,85px)/1.1 Barlow;padding:4px 0}
#mobile-menu nav a:last-child{color:var(--coral)}
.display{font:700 clamp(75px,10vw,190px)/.88 Barlow,sans-serif;letter-spacing:-.025em;margin:0;overflow-wrap:normal}
.end-square{display:inline-block;width:.105em;height:.105em;background:var(--coral);margin-left:.045em;vertical-align:baseline}
.display:has(.end-square){text-wrap:balance}
.hero{height:100svh;min-height:690px;max-height:1250px;position:relative;overflow:hidden}
.media{position:relative;overflow:hidden;background:var(--surface)}
.media-inner{width:100%;height:100%;position:relative;overflow:hidden}
.media picture{display:block;width:100%;height:100%}
.media img,.media video{width:100%;height:100%;object-fit:cover;object-position:var(--fx,50%) var(--fy,50%);transform:scale(var(--fz,1))}
.media.video-failed::after{content:'Vídeo no disponible · Puedes continuar';position:absolute;bottom:20px;left:20px;padding:10px;background:var(--coal)}
.video-fallback{font-size:12px;position:absolute;bottom:0;background:var(--coal);padding:4px}
.hero-photo{position:absolute;inset:0}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0e10b3 0%,#0b0e1040 37%,transparent 75%),linear-gradient(0deg,#0b0e1059,transparent 30%)}
.hero-copy{position:relative;padding:140px 5% 60px;width:65%;height:100%;display:flex;flex-direction:column;align-items:start;justify-content:center}
.hero h1{font-size:clamp(110px,12.5vw,240px);line-height:.84;letter-spacing:-.03em;transform:scaleX(.82);transform-origin:left;width:120%;text-wrap:initial}
.hero-note{display:flex;gap:18px;align-items:start;margin-top:25px}
.hero-note p{font-size:11px;letter-spacing:.11em;max-width:23ch;margin:0}
.hero-note .line{display:block;width:30px;height:1px;background:var(--white);margin-top:8px}
.round-link{font-size:11px;letter-spacing:.04em;padding:15px 0;display:inline-flex;align-items:center;gap:20px}
.round-link:before{content:'↓';border:1px solid var(--coral);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:22px}
.hero-disciplines{position:absolute;right:6%;top:22%;font-size:10px;line-height:1.9;letter-spacing:.1em}
.hero-bottom{position:absolute;right:5%;bottom:50px;font-size:12px;max-width:28ch}
.chapter-line{display:flex;align-items:center;gap:35px;margin-bottom:35px;font-size:10px;letter-spacing:.16em}
.chapter-line i{height:1px;background:linear-gradient(90deg,var(--coral) 0 7%,var(--gray) 7%);flex:1}
.chapter:not(.hero):not(.contact){padding:55px 5% 90px}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,28ch);align-items:end;gap:clamp(24px,4vw,64px);margin-bottom:clamp(28px,3vw,48px)}
.section-heading>*{min-width:0}
.section-heading>.display{max-width:100%;font-size:clamp(75px,9vw,170px)}
.section-heading>div{max-width:35ch;font-size:14px}
.section-heading p:last-child{color:var(--gray);margin-bottom:0}
.sequence{padding:25px 0 40px}
.sequence-heading,.sequence-controls{padding:0 5%;display:flex;justify-content:space-between;align-items:center;font-size:12px}
.sequence-heading p{margin:0}
.sequence-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:25px 0}
.sequence-scene{height:110svh;min-height:720px;position:relative}
.sequence-scene:nth-child(2){padding-top:20svh}
.scene-stage{position:sticky;top:0;height:88svh;min-height:540px;overflow:hidden}
.scene-photo{height:100%;transform:scale(calc(1.05 + var(--progress,0)*.04)) translateY(calc(var(--progress,0)*-18px));will-change:transform}
.scene-copy{position:absolute;left:8%;bottom:12%;z-index:1;max-width:85%;text-shadow:0 2px 18px #000}
.scene-copy:before{content:'';position:absolute;inset:-60px -30px -80px;background:linear-gradient(transparent,#0b0e10b5);z-index:-1}
.scene-copy>span{font-size:10px;letter-spacing:.1em}
.scene-copy h2{font-size:clamp(65px,6vw,130px);margin:22px 0}
.scene-copy p{font-size:13px;max-width:30ch}
.sequence-controls button{border-radius:50%;width:45px;height:45px;padding:0}
.sequence-controls>span{color:var(--gray)}
.project-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:75px 7%;align-items:start}
.project-1{padding-top:120px}
.project-2{grid-column:1/-1;margin-left:20%;width:70%}
.project-image{aspect-ratio:1.4}
.project-caption{position:relative;padding:22px 40px 0 0}
.project-caption span{font-size:11px;color:var(--gray)}
.project-caption h3{font:700 clamp(38px,4vw,65px)/1 Barlow;margin:8px 0}
.project-caption .project-arrow{position:absolute;right:0;top:30px;font-size:25px;color:var(--coral)}
.project>a:hover .project-arrow{transform:translate(3px,-3px)}
.project>p{color:var(--gray);font-size:13px;margin-top:15px;max-width:60ch}
.video-sequence{padding-top:85px}
.video-stage{height:70svh;min-height:400px;position:relative;overflow:hidden}
.video-plane{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .8s ease,transform 1.2s cubic-bezier(.2,.65,.2,1);pointer-events:none}
.video-plane.active{opacity:1;transform:scale(1);pointer-events:auto}
.transition-media{height:100%}
.video-caption{position:absolute;z-index:2;left:30px;right:30px;bottom:25px;display:flex;justify-content:space-between;gap:25px;align-items:end}
.video-caption p{font:700 clamp(30px,4vw,70px)/1 Barlow;max-width:16ch;margin:0;text-shadow:0 2px 10px #000}
.video-caption button{background:var(--coal)}
.quiet{font-size:12px;color:var(--gray);margin-top:18px}
.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(24px,2.4vw,40px);align-items:start}
.apps-grid article{min-width:0}
.apps-grid article>a{display:block}
.app-image{aspect-ratio:1.6}
.section-apps .section-heading>.display{font-size:clamp(64px,8vw,160px)}
.placeholder{display:grid;place-items:center;padding:30px;text-align:center;min-height:160px;background:linear-gradient(145deg,var(--surface),var(--coal));border:1px solid var(--line)}
.placeholder>span{font:700 clamp(30px,3vw,55px)/1 Barlow;color:var(--gray)}
.placeholder small{display:block;font:12px/1.5 Inter;margin-top:12px}
.apps-grid h3{font:700 40px/1 Barlow;margin-bottom:15px}
.apps-grid p{font-size:14px;max-width:38ch;color:var(--gray)}
.apps-grid .availability{font-size:11px;color:var(--coral);margin:20px 0 10px}
.text-link{display:inline-block;border-bottom:1px solid var(--gray);font-size:12px;padding:12px 0;min-height:44px}
.services-list{display:grid;gap:65px}
.services-list article{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}
.services-list article:nth-child(even) .service-image{order:1}
.service-image{aspect-ratio:1.4}
.services-list article>div>span{color:var(--coral);font-size:12px}
.services-list h3{font:700 clamp(50px,6vw,100px)/.95 Barlow;margin:20px 0}
.services-list p{font-size:14px;max-width:42ch}
.discipline{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}
.discipline-visual{position:relative;aspect-ratio:1}
.discipline-visual .media{position:absolute;inset:0;transition:opacity .6s ease,transform .8s ease}
.digital-photo{opacity:0;transform:scale(1.05)}
.discipline[data-side=digital] .creative-photo{opacity:0;transform:scale(.95)}
.discipline[data-side=digital] .digital-photo{opacity:1;transform:scale(1)}
.discipline-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:35px}
.discipline-tabs button{font-size:12px}
.discipline-tabs button[aria-pressed=true]{border-color:var(--coral);color:var(--coral)}
.discipline-copy h3{font-size:clamp(55px,6vw,110px);margin-bottom:30px}
.discipline-copy p{max-width:40ch;font-size:14px}
.contact{min-height:85svh;position:relative;isolation:isolate;padding:40px 5%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.contact:has(h1){padding-top:clamp(112px,9vw,136px)}
.contact-photo{position:absolute;inset:0;z-index:-3}
.contact-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#0b0e10e8,transparent 80%),#0b0e1055}
.contact-main{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:70px 0}
.contact-main .display{font-size:clamp(110px,18vw,350px);white-space:nowrap;letter-spacing:-.04em}
.contact-copy{max-width:28ch;font-size:12px}
.contact-copy p:first-child{color:var(--white)}
.contact-links{display:flex;gap:35px;flex-wrap:wrap;font-size:14px;margin:10px 0 45px}
.contact-links a{border-bottom:1px solid var(--coral);padding:10px 0;min-height:44px}
footer{display:flex;justify-content:space-between;border-top:1px solid #9aa0a655;padding-top:25px;font-size:11px}
footer span{color:var(--gray)}
.journey-tools{position:fixed;bottom:15px;right:20px;z-index:15;display:flex;align-items:center;gap:20px;background:#0b0e10e8;padding:5px 10px;font-size:10px}
.journey-tools button{font-size:10px;min-height:32px;padding:6px 9px;border:0}
.journey-tools>span{color:var(--coral)}
.inner-page{padding-top:clamp(112px,9vw,136px)!important;min-height:0}
.inner-page .chapter-line{margin-bottom:24px}
.detail-page{padding:clamp(112px,9vw,136px) 5% 80px}
.back-link{display:inline-flex;align-items:center;font-size:12px;min-height:44px;margin-bottom:24px;padding:10px 0}
.detail-hero{position:relative}
.detail-photo{height:70svh;min-height:400px}
.detail-hero>div:not(.media){position:absolute;bottom:30px;left:4%;text-shadow:0 2px 15px #000;max-width:90%}
.detail-hero h1{font-size:clamp(65px,9vw,180px)}
.detail-hero p{font-size:12px;margin:20px 0 0}
.detail-description{margin:50px auto 70px;max-width:70ch;font-size:16px}
.detail-gallery{display:grid;gap:50px}
.gallery-photo{aspect-ratio:1.6}
.detail-gallery p{margin:20px 0;font-size:13px;color:var(--gray)}

/* Aplicaciones: título y recurso en flujo; el selector también admite /vista-previa/apps. */
.detail-page:has(>.back-link[href$="/apps"]) .detail-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}

.detail-page:has(>.back-link[href$="/apps"]) .detail-hero>div:not(.media){position:static;max-width:none;min-width:0;order:-1;text-shadow:none}

.detail-page:has(>.back-link[href$="/apps"]) .detail-hero h1{font-size:clamp(64px,7.8vw,160px);overflow-wrap:normal}

.detail-page:has(>.back-link[href$="/apps"]) .detail-photo{width:100%;height:auto;min-height:0;aspect-ratio:1.6}

.detail-page:has(>.back-link[href$="/apps"]) .detail-photo.placeholder{max-height:280px;min-height:160px}

.detail-page:has(>.back-link[href$="/apps"]) .detail-description{margin:28px 0 36px;max-width:70ch}

.detail-page:has(>.back-link[href$="/apps"]) .detail-gallery{gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}

.detail-page:has(>.back-link[href$="/apps"]) .detail-gallery .placeholder{aspect-ratio:auto;min-height:112px;padding:20px}

.detail-page:has(>.back-link[href$="/apps"]) .detail-gallery .placeholder>span{font-size:clamp(26px,2.4vw,38px)}

.detail-page:has(>.back-link[href$="/apps"]) .detail-gallery p{margin:12px 0 0}

.preview-banner{background:var(--coral);color:var(--coal);padding:8px 5%;font-size:12px;position:relative;z-index:30;display:flex;justify-content:space-between}
.not-found{min-height:80svh;padding:180px 8%}
.not-found h1{font:700 80px/1 Barlow}
.motion-off .scene-photo{transform:none;will-change:auto}
.motion-off .sequence-scene{height:auto;min-height:0}
.motion-off .scene-stage{position:relative}
.motion-off .sequence-scene:nth-child(2){padding-top:0}
.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}
html:not(.js) .journey-tools,html:not(.js) .menu-toggle,html:not(.js) .sequence-controls,html:not(.js) .discipline-tabs{display:none}
html:not(.js) .site-header nav{display:flex;flex-wrap:wrap}
html:not(.js) .digital-photo{display:none}
/* Sin JS, la navegación interior conserva su altura real en el flujo. Home mantiene su composición aprobada. */
html:not(.js) body:not(:has(#inicio)) .site-header{position:relative;top:auto}
html:not(.js) body:not(:has(#inicio)) .inner-page,html:not(.js) body:not(:has(#inicio)) .detail-page,html:not(.js) body:not(:has(#inicio)) .contact:has(h1){padding-top:32px!important}

@media(min-width:1600px){.hero-copy{padding-top:160px}
.hero h1{font-size:235px}
.contact-main{margin:70px 0 100px}
}

@media(max-width:1050px){.site-header nav{gap:18px}
.site-header{gap:25px}
.contact-main{display:block}
.contact-copy{max-width:55ch;margin-top:25px}
.section-heading{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
.section-heading>div{max-width:55ch}
.apps-grid{gap:28px}
.hero h1{font-size:14vw}
.hero-disciplines{display:none}
}

@media(max-width:700px){html{scroll-padding-top:75px}
.site-header{padding:20px 5%;gap:20px}
.brand{width:115px}
.site-header nav{display:none}
.persistent-contact{margin-left:auto;font-size:10px;min-height:35px}
.menu-toggle{display:flex;font-size:11px;padding:7px;gap:8px;min-height:35px;border:0}
.hero{height:100svh;min-height:690px;max-height:none}
.hero-copy{width:100%;padding:125px 5% 85px;justify-content:end}
.hero h1{font-size:27vw;line-height:.86;transform:scaleX(.84);width:119%}
.hero-photo img{object-position:var(--mx,63%) var(--my,50%);transform:scale(var(--mz,1))}
.hero-shade{background:linear-gradient(0deg,#0b0e10c7,transparent 80%),linear-gradient(90deg,#0b0e1055,transparent)}
.hero-note{margin-top:24px}
.hero-note p{font-size:9px;max-width:26ch}
.hero-bottom{display:none}
.round-link{font-size:10px;padding-bottom:0}
.round-link:before{width:34px;height:34px;font-size:18px}
.media img,.media video{object-position:var(--mx,var(--fx,50%)) var(--my,var(--fy,50%));transform:scale(var(--mz,var(--fz,1)))}
.chapter:not(.hero):not(.contact){padding:35px 5% 60px}
.chapter-line{gap:20px;margin-bottom:30px;font-size:9px}
.section-heading{display:block;margin-bottom:35px}
.section-heading>.display{font-size:20vw;max-width:100%;line-height:.9}
.section-heading>div{font-size:12px;margin-top:25px;max-width:40ch}
.sequence{padding-top:25px}
.sequence-heading{font-size:10px;gap:15px}
.sequence-grid{display:block;margin:20px 0}
.sequence-scene{height:110svh;min-height:650px}
.sequence-scene:nth-child(2){padding-top:0}
.scene-stage{height:95svh;min-height:550px}
.scene-copy h2{font-size:20vw}
.scene-copy p{font-size:12px}
.scene-copy{bottom:12%}
.sequence-controls{font-size:10px}
.project-grid{display:block}
.project{margin-bottom:45px;padding:0;width:auto}
.project-2{margin-left:0}
.project-image{aspect-ratio:1.12}
.project-caption{padding-top:17px}
.project-caption h3{font-size:40px}
.project-caption span{font-size:10px}
.video-sequence{padding-top:30px}
.video-stage{height:65svh;min-height:450px}
.video-caption{left:20px;right:20px;bottom:25px;display:block}
.video-caption p{font-size:40px;margin-bottom:25px}
.video-caption button{font-size:12px}
.apps-grid{gap:36px}
.apps-grid h3{font-size:45px}
.services-list{gap:50px}
.services-list article{display:flex;flex-direction:column;align-items:stretch;gap:25px}
.services-list article:nth-child(even) .service-image{order:0}
.services-list h3{font-size:15vw}
.services-list p{font-size:13px}
.service-image{aspect-ratio:1.1}
.discipline{display:block}
.discipline-visual{aspect-ratio:.9;margin-bottom:30px}
.discipline-copy h3{font-size:18vw}
.discipline-copy p{font-size:13px}
.discipline-tabs{gap:10px;margin-bottom:30px}
.discipline-tabs button{font-size:10px;padding:10px}
.contact{min-height:95svh;padding:35px 5% 65px}
.contact-main{margin:75px 0 35px}
.contact-main .display{font-size:22vw;white-space:normal;line-height:.9;letter-spacing:-.045em}
.contact-copy{margin-top:35px;font-size:12px;max-width:31ch}
.contact-links{gap:15px 25px;font-size:12px;margin:10px 0 35px}
.contact footer{display:block;font-size:10px}
.contact footer span{display:block;margin-top:10px}
.journey-tools{bottom:8px;right:8px;font-size:9px;gap:10px}
.journey-tools button{font-size:9px}
.detail-page{padding:110px 5% 50px}
.detail-photo{height:70svh;min-height:400px}
.detail-hero h1{font-size:20vw}
.detail-hero>div:not(.media){bottom:30px;left:5%}
.detail-page:has(>.back-link[href$="/apps"]) .detail-hero{grid-template-columns:minmax(0,1fr);gap:24px}
.detail-page:has(>.back-link[href$="/apps"]) .detail-hero h1{font-size:clamp(64px,17vw,118px)}
.detail-description{margin:35px 0;font-size:14px}
.detail-gallery{gap:25px}
.gallery-photo{aspect-ratio:.9}
.preview-banner{font-size:10px;gap:10px}
.inner-page{padding-top:108px!important}
html:not(.js) .site-header{flex-wrap:wrap}
html:not(.js) .site-header nav{order:3;width:100%;margin:0;gap:18px}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.scene-photo{transform:none;will-change:auto}
.sequence-scene{height:auto;min-height:0}
.scene-stage{position:relative}
.sequence-scene:nth-child(2){padding-top:0}
}


/* Ajustes de legibilidad contrastados con las visuales originales. */
.display{overflow-wrap:anywhere}

@media(min-width:701px){.hero-copy{justify-content:flex-start;padding-top:145px}
.hero h1{font-size:clamp(120px,14vw,260px)}
}

@media(max-width:700px){.section-apps .section-heading>.display{font-size:16.6vw}
}

@media(min-width:1600px){.hero-copy{padding-top:150px}
}

::view-transition-old(root){animation-duration:.45s}
::view-transition-new(root){animation-duration:.45s}
::view-transition-group(selected-photo){animation-duration:.65s;animation-timing-function:cubic-bezier(.2,.65,.2,1)}


.asset-desktop,.asset-mobile{width:100%;height:100%}
.asset-mobile{display:none}
.chapter-cta{margin-top:40px}
.contact-links .contact-cta{background:var(--coral);color:var(--coal);padding:14px 24px;border:0}
.media .video-fallback{display:none}

@media(max-width:700px){.asset-desktop{display:none}
.asset-mobile{display:block}
}


.site-header{position:fixed}
.scrolled .site-header{background:#0b0e10f2}
body:has(.preview-banner) .site-header{top:0}
html:not(.js) .scene-stage{position:relative}
html:not(.js) .sequence-scene{height:auto;min-height:0}
html:not(.js) .sequence-scene:nth-child(2){padding-top:0}
html:not(.js) .video-caption button{display:none}


.media.video-failed .video-fallback{display:block;position:absolute;left:15px;right:15px;bottom:15px;margin:0;padding:15px;background:#0B0E10;color:#F4F4F4;line-height:1.5;font-size:12px;z-index:3}
.media.video-failed::after{display:none}


/* Filtros derivados de las categorías editables; sin JavaScript se muestran todos. */
.project-filters{display:none}
.js .project-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 2rem}
.project-filters button{padding:.7rem 1rem;border:1px solid var(--line);color:var(--white);background:transparent;cursor:pointer}
.project-filters button[aria-pressed="true"]{background:#F5928F;color:#0B0E10;border-color:#F5928F}
.project-grid [hidden]{display:none}
.next-project{display:inline-block;margin:2rem 5vw 4rem}


/* Protección local de contraste de anotaciones y navegación sobre fotos claras. */
.site-header{background:linear-gradient(#0b0e10ed,#0b0e10bf)}
.hero-disciplines{background:#0b0e10e8;padding:12px 16px}


/* Home exclusivamente: composición editorial de la referencia 01.
   Los medios, textos, enlaces y variables de encuadre siguen siendo los del gestor. */
#inicio{aspect-ratio:1.855;height:auto;min-height:0;max-height:none;background:#0B0E10;isolation:isolate}
#inicio .hero-photo{inset:0 0 0 27%;width:auto;height:auto;mask-image:linear-gradient(90deg,transparent 0%,#000 23%)}
#inicio .hero-shade{background:linear-gradient(90deg,#0B0E10 0% 23%,#0b0e10c4 31%,#0b0e1029 48%,transparent 68%),linear-gradient(180deg,#0b0e104d,transparent 24%,transparent 80%,#0b0e1029)}
#inicio .hero-copy{position:absolute;top:10.5%;left:5.8%;width:48%;height:auto;padding:0;justify-content:flex-start}
#inicio h1{font-size:clamp(125px,16vw,330px);line-height:.775;letter-spacing:-.035em;transform:scaleX(.5);transform-origin:left top;width:200%;max-width:none;text-wrap:initial;-webkit-text-stroke:.008em currentColor}
#inicio h1 .end-square{width:.24em;height:.12em;margin-left:.065em;vertical-align:baseline;-webkit-text-stroke:0}
#inicio .hero-note{margin-top:1.6vw;gap:1.6vw;align-items:flex-start}
#inicio .hero-note .line{width:3.8vw;margin-top:.45vw;flex-shrink:0}
#inicio .hero-note p{max-width:32ch;font-size:clamp(8px,.67vw,13px);line-height:1.55;letter-spacing:.19em;text-transform:uppercase}
#inicio .round-link{margin-top:.75vw;padding:0;gap:1.2vw;font-size:clamp(9px,.67vw,13px);letter-spacing:.15em;text-transform:uppercase;max-width:28ch;line-height:1.5;min-height:44px}
#inicio .round-link:before{width:clamp(34px,3.5vw,62px);height:clamp(34px,3.5vw,62px);flex-shrink:0;font-size:clamp(20px,1.8vw,32px)}
#inicio .round-link>span{display:none}
#inicio .hero-disciplines{display:none}
#inicio .hero-bottom{display:block;top:17%;right:5.6%;bottom:auto;width:17ch;max-width:17ch;font-size:clamp(8px,.62vw,12px);line-height:1.7;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 8px #0B0E10}
.js:not(.scrolled) body:has(#inicio) .site-header{background:linear-gradient(#0b0e108c,transparent);padding:1.35vw 5.8%;gap:2.5vw}
.js:not(.scrolled) body:has(#inicio) .site-header .brand{width:clamp(115px,12.4vw,235px)}
.js:not(.scrolled) body:has(#inicio) .site-header nav{gap:1.75vw}
.js:not(.scrolled) body:has(#inicio) .site-header nav a,.js:not(.scrolled) body:has(#inicio) .persistent-contact{font-size:clamp(9px,.65vw,13px);letter-spacing:.12em;text-shadow:0 1px 6px #0B0E10}
.js:not(.scrolled) body:has(#inicio) .journey-tools{background:transparent;opacity:.8}
@media(min-width:701px) and (max-width:1050px){
 #inicio .hero-copy{top:10%}#inicio h1{font-size:14.8vw}#inicio .hero-note{margin-top:1vw}#inicio .round-link{margin-top:.5vw}
 .js:not(.scrolled) body:has(#inicio) .site-header{gap:18px}.js:not(.scrolled) body:has(#inicio) .site-header nav{gap:12px}
}
@media(max-width:700px){
 #inicio{aspect-ratio:auto;height:100svh;min-height:740px;max-height:1050px}
 #inicio .hero-photo{inset:0 0 0 12%;mask-image:linear-gradient(90deg,transparent,#000 23%)}
 #inicio .hero-shade{background:linear-gradient(90deg,#0b0e10e6,transparent 75%),linear-gradient(0deg,#0B0E10 0%,#0b0e10d9 17%,#0b0e105e 47%,transparent 75%)}
 #inicio .hero-copy{top:auto;bottom:8%;left:6%;width:88%;height:auto;padding:0}
 #inicio h1{font-size:34vw;line-height:.79;transform:scaleX(.64);width:156.25%;letter-spacing:-.035em}
 #inicio h1 .end-square{width:.1875em;height:.12em;margin-left:.065em}
 #inicio .hero-note{margin-top:24px;gap:18px}#inicio .hero-note .line{width:28px;margin-top:6px}
 #inicio .hero-note p{font-size:8px;line-height:1.6;max-width:28ch;letter-spacing:.16em}
 #inicio .round-link{margin-top:18px;gap:18px;font-size:9px;max-width:30ch;min-height:44px}
 #inicio .round-link:before{width:38px;height:38px;font-size:22px}
 #inicio .hero-bottom{display:none}
 .js:not(.scrolled) body:has(#inicio) .site-header{padding:20px 6%;gap:16px;background:linear-gradient(#0b0e1099,transparent)}
 .js:not(.scrolled) body:has(#inicio) .site-header .brand{width:115px}
 .js:not(.scrolled) body:has(#inicio) .persistent-contact{font-size:9px;letter-spacing:.04em}
 .js:not(.scrolled) body:has(#inicio) .journey-tools{background:#0b0e10b3}
}

/* Sólo Home: la primera composición ocupa exactamente la altura disponible.
   cqh permite presupuestar titular, entrada, claim y CTA dentro del propio hero. */
#inicio{height:100svh;height:100dvh;min-height:0;max-height:none;aspect-ratio:auto;container-type:size;--home-top:clamp(76px,10.5cqh,140px);--home-tail:clamp(125px,20cqh,180px)}
#inicio .hero-copy{top:var(--home-top);bottom:auto;height:auto;width:48%}
#inicio h1{font-size:clamp(70px,min(16vw,calc((100cqh - var(--home-top) - var(--home-tail))/2.325)),330px);opacity:1!important}
#inicio .hero-note{margin-top:clamp(28px,3.4cqh,38px);gap:clamp(12px,1.6vw,28px)}
#inicio .hero-note .line{width:clamp(24px,3.8vw,64px);margin-top:6px}
#inicio .hero-note p{font-size:clamp(10px,.67vw,13px);line-height:1.55}
#inicio .round-link{margin-top:clamp(8px,1.4cqh,16px);font-size:clamp(10px,.67vw,13px);min-height:44px}
#inicio .round-link:before{width:clamp(34px,min(3.5vw,6cqh),62px);height:clamp(34px,min(3.5vw,6cqh),62px)}
#inicio .hero-bottom{font-size:clamp(10px,.62vw,12px)}
body:has(.preview-banner) #inicio{height:calc(100svh - 31px);height:calc(100dvh - 31px)}
@media(max-width:700px),(max-aspect-ratio:1/1){
 #inicio{--home-bottom:clamp(64px,7cqh,80px);--home-tail:clamp(125px,17cqh,150px)}
 #inicio .hero-photo{inset:0 0 0 12%;mask-image:linear-gradient(90deg,transparent,#000 23%)}
 #inicio .hero-shade{background:linear-gradient(90deg,#0b0e10e6,transparent 75%),linear-gradient(0deg,#0B0E10 0%,#0b0e10d9 17%,#0b0e105e 47%,transparent 75%)}
 #inicio .hero-copy{top:auto;bottom:var(--home-bottom);left:6%;width:88%}
 #inicio h1{font-size:clamp(64px,min(34vw,calc((100cqh - 88px - var(--home-bottom) - var(--home-tail))/2.37)),290px);line-height:.79;transform:scaleX(.64);width:156.25%}
 #inicio h1 .end-square{width:.1875em;height:.12em}
 #inicio .hero-note{margin-top:clamp(28px,3.4cqh,34px);gap:18px}
 #inicio .hero-note p{font-size:clamp(11px,1.3cqh,13px);max-width:28ch;letter-spacing:.13em}
 #inicio .round-link{margin-top:clamp(10px,1.6cqh,16px);gap:18px;font-size:clamp(11px,1.3cqh,13px);max-width:32ch}
 #inicio .round-link:before{width:clamp(34px,5cqh,46px);height:clamp(34px,5cqh,46px)}
 #inicio .hero-bottom{display:none}
 .js:not(.scrolled) body:has(#inicio) .site-header{padding:clamp(12px,2dvh,20px) 6%;gap:12px}
 .js:not(.scrolled) body:has(#inicio) .site-header .brand{width:clamp(100px,27vw,130px)}
}
@media(max-width:700px){body:has(.preview-banner) #inicio{height:calc(100svh - 28px);height:calc(100dvh - 28px)}}
/* Private status stays visible without displacing the fixed masthead. */
body:has(.preview-banner){--preview-status-height:32px}
.preview-banner{position:fixed;inset:auto 0 0;height:var(--preview-status-height);align-items:center;padding:4px 5%;z-index:30}
body:has(.preview-banner) main{padding-bottom:var(--preview-status-height)}
body:has(.preview-banner) .journey-tools{bottom:calc(var(--preview-status-height) + 12px)}
body:has(.preview-banner) #inicio{height:calc(100svh - var(--preview-status-height));height:calc(100dvh - var(--preview-status-height))}
@media(max-width:700px){body:has(.preview-banner){--preview-status-height:28px}}
/* Sin JS se conserva la navegación completa existente y se le reserva su espacio. */
html:not(.js) #inicio{--home-top:clamp(104px,13cqh,150px)}
html:not(.js) #inicio h1{font-size:clamp(56px,min(16vw,calc((100cqh - var(--home-top) - var(--home-tail))/2.325)),330px)}
@media(max-width:700px),(max-aspect-ratio:1/1){
 html:not(.js) #inicio h1{font-size:clamp(56px,min(34vw,calc((100cqh - 160px - var(--home-bottom) - var(--home-tail))/2.37)),290px)}
}
