/* NACIVA ESTUDIO — Premium Web V1. Diseño responsive sin dependencias externas. */
:root{color-scheme:dark;--black:#141417;--black-deep:#0f1012;--graphite:#1c1b20;--graphite2:#232127;--pearl:#f4f0ed;--pearl-low:#dcd5d5;--muted:#a6a0a7;--accent:#bb9ac7;--accent-deep:#80608b;--line:rgba(246,239,241,.15);--line-soft:rgba(246,239,241,.09);--ease:cubic-bezier(.22,1,.36,1);--header:86px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 14px)}body{margin:0;background:var(--black);color:var(--pearl);font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:has(dialog[open]){overflow:hidden}::selection{color:#141417;background:#dbc7e2}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #dec5e6;outline-offset:5px}img,video{max-width:100%;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.svg-defs{height:0;width:0;position:absolute;overflow:hidden}.icon{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p,figure{margin:0}.container{width:min(100% - 92px,1370px);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:2000;padding:12px 24px;background:var(--pearl);color:var(--black)}.skip-link:focus{top:12px}
/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:200;border-bottom:1px solid rgba(255,255,255,.055);height:var(--header);background:rgba(17,17,20,.79);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .3s,border-color .3s}.site-header.scrolled{background:rgba(15,15,18,.97);border-color:var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:36px}.brand{display:flex;align-items:center;gap:14px;min-width:190px}.brand-isotype{width:52px;height:46px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.22))}.brand-name{font-size:19px;letter-spacing:.205em;font-weight:650;line-height:1.06;white-space:nowrap}.brand-name small{display:block;font-weight:400;font-size:9px;letter-spacing:.64em;margin-top:7px;padding-left:2px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.1vw,39px);flex:1}.desktop-nav a{font-size:10px;letter-spacing:.155em;color:#b8b1b9;font-weight:650;position:relative;padding:13px 0;transition:color .25s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--pearl)}.desktop-nav a::after{position:absolute;content:"";bottom:5px;left:0;right:100%;height:1px;background:var(--accent);transition:right .28s var(--ease)}.desktop-nav a.active::after,.desktop-nav a:hover::after{right:0}.header-contact{font-size:10px;letter-spacing:.13em;display:flex;align-items:center;gap:7px;color:var(--pearl);white-space:nowrap;transition:color .25s}.header-contact .icon{width:14px;height:14px}.header-contact:hover{color:var(--accent)}.menu-toggle,.mobile-nav{display:none}
/* Hero */
.hero-section{position:relative;min-height:min(900px,100svh);padding-top:calc(var(--header) + 62px);background:radial-gradient(ellipse 76% 80% at 76% 48%,#242029 0%,#19181d 45%,var(--black) 83%);overflow:hidden}.hero-aura{position:absolute;right:3%;top:21%;width:43vw;max-width:700px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(135,95,153,.09),transparent 70%);pointer-events:none}.hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(22px,3.5vw,70px);align-items:center;min-height:596px}.hero-copy{position:relative;z-index:2;padding-bottom:42px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;color:#c5bac7;line-height:1.8}.hero-eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.eyebrow-line{width:28px;height:1px;background:var(--accent)}.eyebrow-dot{width:3px;height:3px;background:var(--accent);border-radius:50%}.hero-rule{width:70px;height:1px;background:#705b78;margin:40px 0 26px}.hero-title{font-weight:650;letter-spacing:-.071em;font-size:clamp(50px,5.65vw,100px);line-height:.99;white-space:nowrap}.hero-title>span{color:#d1b6dc}.hero-description{font-size:clamp(16px,1.3vw,20px);line-height:1.65;color:var(--pearl-low);max-width:430px;margin-top:30px;font-weight:350}.hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:43px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:55px;padding:0 21px;border-radius:2px;font-size:10px;letter-spacing:.145em;font-weight:700;border:1px solid transparent;transition:background .28s var(--ease),color .28s var(--ease),transform .28s var(--ease),border-color .28s}.button .icon{width:16px;height:16px}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--pearl);color:#19171c}.button-primary:hover{background:#e6d9e9}.button-outline{border-color:#625868;background:rgba(20,20,23,.14);color:var(--pearl)}.button-outline:hover{background:#29232e;border-color:#a485af}.hero-signature{display:flex;gap:13px;align-items:center;margin-top:60px;color:#b1a5b3;font-size:9px;letter-spacing:.18em;line-height:1.8}.signature-mark{font-size:23px;color:#bd98c5}.hero-media{position:relative;display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:stretch;gap:24px;padding:8px 0 20px}.hero-logo{position:relative;overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:28px 28px 20px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(0,0,0,.18);min-height:100%}.hero-logo::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(177,133,194,.09),transparent 48%);pointer-events:none}.hero-logo img{position:relative;z-index:1;width:100%;height:auto;max-width:430px;margin:auto;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 16px 36px rgba(0,0,0,.22))}.hero-logo figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:8px;color:#d3c6d4;letter-spacing:.13em}.hero-logo figcaption span{color:#aaa0ac}.video-column{transform:translateY(0);position:relative;display:flex;flex-direction:column;justify-content:flex-end}.video-frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:#100f13;box-shadow:0 30px 78px rgba(0,0,0,.32);border:1px solid rgba(229,214,236,.16);border-radius:2px}.video-frame video{width:100%;height:100%;aspect-ratio:9/16;object-fit:contain;background:#131116}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.66);background:rgba(21,19,24,.48);border-radius:50%;color:#fff;backdrop-filter:blur(9px);transition:background .25s,scale .25s,opacity .3s}.video-play .icon{height:29px;width:29px;fill:currentColor;stroke-width:1;transform:translateX(2px)}.video-play:hover{background:rgba(128,96,139,.75);scale:1.06}.video-frame.is-started .video-play{opacity:0;pointer-events:none}.video-note{display:flex;justify-content:space-between;gap:8px;margin-top:16px;color:#bcb0bd;font-size:8px;letter-spacing:.12em;line-height:1.5;padding-inline:2px}.video-note>span:first-child{display:flex;align-items:center;gap:6px}.pulse-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}.hero-media-line{height:1px;position:absolute;bottom:-40px;left:-12px;right:-10px;background:linear-gradient(90deg,transparent,#584661 40%,transparent)}.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:32px 25px;color:#908691;font-size:9px;letter-spacing:.19em}.hero-bottom>a{color:#bfb5c2;transition:color .25s}.hero-bottom>a:hover{color:#e6d7eb}.hero-bottom>a span{font-size:18px;vertical-align:middle;margin-left:8px}
/* Sections */
.section{padding:125px 0 135px;position:relative}.section-heading{display:flex;align-items:center;gap:23px;margin-bottom:90px}.section-index{font-size:11px;font-weight:650;letter-spacing:.18em;white-space:nowrap;color:#d8d0da}.hairline{height:1px;flex:1;background:var(--line)}.section-note{font-size:9px;letter-spacing:.17em;color:#9b919e;white-space:nowrap}.display-heading{font-weight:590;font-size:clamp(48px,6.6vw,103px);line-height:.99;letter-spacing:-.066em}.display-heading em{font-style:normal;color:#c6adcf}.about-section{background:var(--black-deep)}.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr);gap:clamp(40px,8vw,145px);align-items:start}.about-text{padding-top:16px;max-width:460px}.section-star{color:var(--accent);font-size:22px;display:block;margin-bottom:27px}.about-text>p{font-size:clamp(16px,1.4vw,20px);line-height:1.75;color:#d5cfd6;font-weight:350;margin-bottom:20px}.about-text>p+p{color:#aaa3ad;font-size:15px}.location-tag{margin-top:40px;border-top:1px solid var(--line);padding-top:24px;display:flex;gap:10px;align-items:center;font-size:10px;color:#d1c4d5;letter-spacing:.13em}.location-dot{width:6px;height:6px;background:#c9a9d5;display:inline-block;border-radius:50%;flex:none}.about-statement{margin-top:126px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:#77727a;font-size:clamp(12px,1.7vw,24px);letter-spacing:.21em;align-items:center}.statement-separator{color:#a389ae;font-size:14px}.services-section{background:#1a191e}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:80px}.section-intro>p{max-width:330px;color:#b1a9b3;font-size:17px;line-height:1.6;margin-bottom:12px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.service-item{position:relative;min-height:305px;border-top:1px solid var(--line);padding:28px 30px 27px;display:flex;flex-direction:column;transition:background .3s var(--ease)}.service-item:not(:nth-child(3n+1)){border-left:1px solid var(--line)}.service-item:hover{background:rgba(180,147,194,.055)}.service-upper{display:flex;align-items:start;justify-content:space-between;color:#a99aaf;font-size:10px;letter-spacing:.12em}.service-icon{height:34px;width:34px;color:#bea3c9;stroke-width:1.15}.service-item h3{margin-top:48px;font-size:clamp(18px,1.65vw,25px);line-height:1.25;font-weight:550;letter-spacing:-.025em}.service-item p{font-size:14px;line-height:1.68;color:#aaa3ad;margin-top:13px;max-width:340px}.service-bottom{margin-top:auto;padding-top:28px;font-size:8px;letter-spacing:.14em;color:#756f7a}.projects-section{background:var(--black-deep)}.projects-intro{margin-bottom:65px}.project-feature{border:1px solid rgba(255,255,255,.14);background:#1c1b20;color:inherit;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);text-align:left;padding:0;width:100%;overflow:hidden;transition:border-color .3s}.project-feature:hover{border-color:rgba(202,175,214,.5)}.project-photo{position:relative;min-width:0;min-height:535px;display:block;overflow:hidden;background:#2a2d31}.project-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .5s var(--ease)}.project-feature:hover .project-photo img{transform:scale(1.035)}.photo-corner{position:absolute;top:27px;left:27px;background:rgba(15,15,20,.76);color:var(--pearl);font-size:9px;letter-spacing:.15em;padding:13px 15px;backdrop-filter:blur(9px)}.project-information{padding:clamp(28px,4vw,67px);display:flex;flex-direction:column;align-items:start;min-width:0}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:9px;letter-spacing:.14em;color:#afa4b4}.concept-pill{display:inline-flex;align-items:center;border:1px solid #786383;background:rgba(127,94,143,.14);padding:10px 12px;color:#d1b8db;font-size:9px;font-weight:650;letter-spacing:.15em;white-space:nowrap}.project-name{font-weight:650;font-size:clamp(59px,6.2vw,98px);letter-spacing:-.07em;line-height:.94;margin-top:70px}.violet-period{color:#c3a6d0}.project-sector{font-size:11px;color:#c4bbca;letter-spacing:.16em;margin-top:20px}.project-detail-copy{font-size:15px;color:#a8a1ae;line-height:1.7;max-width:360px;margin-top:29px}.project-link{border-top:1px solid var(--line);width:100%;margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.15em;font-weight:650}.project-link-circle{width:46px;height:46px;flex:none;display:grid;place-items:center;border:1px solid #7c6388;border-radius:50%;transition:background .3s,transform .3s}.project-feature:hover .project-link-circle{background:#765d83;transform:rotate(45deg)}.project-footer-note{color:#9b929e;font-size:12px;line-height:1.7;margin-top:23px;display:flex;gap:12px;align-items:start}.star-symbol{color:var(--accent);font-size:15px}.contact-section{overflow:hidden;background:#1c1a20}.contact-top-glow{position:absolute;top:13%;left:-8%;height:650px;width:600px;background:radial-gradient(circle,rgba(153,106,168,.06),transparent 68%);pointer-events:none}.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr);gap:clamp(45px,7vw,130px);align-items:end}.contact-overline{font-size:10px;letter-spacing:.19em;color:#cfb7d9;display:flex;align-items:center;gap:10px;margin-bottom:30px}.contact-title{font-weight:600;line-height:1;letter-spacing:-.063em;font-size:clamp(49px,6.8vw,105px)}.contact-title em{font-style:normal;color:#c7acD0}.contact-lead{margin-top:33px;margin-bottom:35px;font-size:18px;max-width:460px;color:#b9aebc;line-height:1.6}.button-contact{min-width:280px}.contact-details{border-top:1px solid var(--line);padding-top:30px}.contact-details-title{display:block;color:#a295a7;font-size:10px;letter-spacing:.18em;margin-bottom:23px}.contact-phone{display:flex;justify-content:space-between;align-items:center;font-size:clamp(23px,2.5vw,37px);letter-spacing:-.025em;gap:14px;white-space:nowrap}.contact-phone .icon{width:18px}.contact-details>p{font-size:10px;letter-spacing:.16em;color:#a8a1a9;margin-top:13px}.contact-divider{height:1px;background:var(--line);margin:35px 0}.social-link{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line-soft);font-size:11px;letter-spacing:.11em;transition:color .28s}.social-link:hover,.contact-phone:hover{color:var(--accent)}.social-link>span{display:flex;align-items:center;gap:12px}.social-link .icon{width:17px;height:17px}.contact-details .contact-city{color:#d7d1d9;font-size:14px;letter-spacing:.14em;line-height:1.8;margin:0}.site-footer{background:#101013;border-top:1px solid var(--line-soft)}.footer-top{min-height:125px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line-soft)}.footer-brand{font-size:24px;font-weight:650;letter-spacing:.22em;white-space:nowrap}.footer-brand small{display:block;text-align:center;font-size:9px;font-weight:400;letter-spacing:.7em;margin-top:5px}.footer-top>span,.footer-top>a:last-child,.footer-bottom{font-size:9px;letter-spacing:.14em;color:#9e96a0}.footer-top>a:last-child{transition:color .25s}.footer-top>a:last-child:hover{color:#e8d9ee}.footer-bottom{padding-block:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-bottom b{color:var(--accent);font-size:12px}
/* Modal del proyecto y lightbox, con navegación por teclado */
dialog{padding:0;color:var(--pearl);background:var(--black-deep);border:none;max-width:none;max-height:none}dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(9px)}.project-dialog{width:min(1180px,calc(100vw - 50px));height:min(94vh,1100px);height:min(94dvh,1100px);margin:auto;overflow:hidden;border:1px solid #4e444f;box-shadow:0 40px 100px #000a}.project-dialog[open]{animation:dialogEnter .29s var(--ease)}@keyframes dialogEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dialog-shell{height:100%;display:flex;flex-direction:column;min-height:0}.dialog-topbar{display:flex;justify-content:space-between;align-items:center;flex:none;height:70px;padding:0 33px;border-bottom:1px solid var(--line);color:#cec2d0;font-size:10px;letter-spacing:.15em}.dialog-topbar-divider{color:var(--accent);margin:0 6px}.dialog-close,.lightbox-header button{background:transparent;color:#e8e1ea;border:1px solid #66586b;width:40px;height:40px;display:grid;place-items:center;transition:background .25s}.dialog-close:hover,.lightbox-header button:hover{background:#342a37}.dialog-content{overflow-y:auto;overscroll-behavior:contain;padding:50px 50px 35px}.dialog-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.dialog-heading h2{font-size:clamp(47px,6vw,77px);letter-spacing:-.06em;font-weight:600;margin-top:18px}.dialog-heading p{font-size:10px;letter-spacing:.14em;color:#b4aab8;line-height:1.8;margin-top:15px}.dialog-heading>p{max-width:285px;font-size:14px;letter-spacing:0;line-height:1.6;margin-bottom:8px}.small-divider{color:var(--accent);margin:0 7px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-tile{background:#222126;border:1px solid var(--line);display:flex;flex-direction:column;text-align:left;padding:0;color:var(--pearl);overflow:hidden;transition:border-color .28s}.gallery-tile:hover{border-color:#997cad}.gallery-tile>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#202126;transition:transform .4s var(--ease)}.gallery-tile:hover>img{transform:scale(1.02)}.gallery-tile>span{display:flex;align-items:center;gap:11px;padding:18px 17px;font-size:10px;letter-spacing:.13em;color:#ddd3e0}.gallery-tile>span>b{color:var(--accent);font-weight:600}.gallery-tile>span>.icon{width:15px;height:15px;margin-left:auto}.dialog-credits{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);color:#a79eab;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.12em;line-height:1.7}.lightbox{width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh;margin:0;background:#0b0b0e}.lightbox-content{height:100%;width:100%;display:flex;flex-direction:column;min-height:0}.lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(18px,3.5vw,60px);border-bottom:1px solid var(--line-soft);font-size:12px;letter-spacing:.17em;min-height:76px}.lightbox-header small{font-size:9px;color:#a49aa8;margin-left:10px}.lightbox-visual{min-height:0;flex:1;display:grid;grid-template-columns:68px minmax(0,1fr) 68px;gap:10px;align-items:center;justify-items:center;padding:20px clamp(18px,3vw,55px)}.lightbox-visual>img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;min-width:0;box-shadow:0 14px 65px #0008}.lightbox-arrow{height:54px;width:54px;display:grid;place-items:center;background:#25232a;color:#fff;border:1px solid #59495d;border-radius:50%;transition:background .2s,transform .2s}.lightbox-arrow:hover{background:#6d517b;transform:scale(1.05)}.lightbox-caption{display:flex;justify-content:space-between;align-items:center;padding:23px clamp(18px,4vw,70px);font-size:11px;letter-spacing:.14em;color:#c9bcd1;border-top:1px solid var(--line-soft);gap:15px}.lightbox-caption>span:last-child{color:#b197bf}
/* Revelados una sola vez; sin ocultar contenido si JS no funciona. */
.js .reveal{opacity:0;transform:translateY(21px);transition:opacity .77s var(--ease),transform .77s var(--ease)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.js .hero-element{transition-duration:1s}.js .hero-logo.is-visible{transition-delay:.12s}.js .video-column{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.js .video-column.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.container{width:min(100% - 64px,1370px)}.header-contact{display:none}.hero-title{font-size:clamp(50px,5.4vw,78px)}.hero-layout{gap:23px;min-height:540px}.service-item{padding:25px 24px}.project-photo{min-height:480px}}
@media(max-width:980px){:root{--header:75px}.container{width:min(100% - 50px,1370px)}.desktop-nav{gap:16px}.desktop-nav a{font-size:9px}.brand{min-width:170px}.hero-section{min-height:auto;padding-top:calc(var(--header) + 70px)}.hero-layout{grid-template-columns:minmax(0,1fr);gap:32px}.hero-copy{padding-bottom:0}.hero-title{font-size:clamp(63px,9.3vw,100px)}.hero-media{max-width:860px;margin-inline:auto;width:100%;gap:22px;grid-template-columns:minmax(0,.78fr) minmax(0,1fr)}.hero-logo{max-width:none;min-height:100%}.video-column{max-width:320px;justify-self:end;width:100%}.hero-bottom{margin-top:48px}.about-grid{gap:35px}.display-heading{font-size:clamp(45px,7vw,76px)}.contact-title{font-size:clamp(48px,6.9vw,80px)}.contact-grid{gap:45px}.project-name{font-size:clamp(54px,7vw,85px)}.project-photo{min-height:450px}.project-information{padding:35px}}
@media(max-width:720px){:root{--header:68px}.container{width:calc(100% - 38px)}.site-header{height:var(--header)}.header-inner{gap:12px}.brand{min-width:0;gap:11px}.brand-isotype{width:41px;height:36px}.brand-name{font-size:16px;letter-spacing:.18em}.brand-name small{font-size:8px;letter-spacing:.54em}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:1px solid #584d5e;color:#fff;border-radius:2px;flex:none}.menu-toggle>span{width:19px;height:1px;background:#f4eff6;transition:transform .24s,opacity .24s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:var(--header);left:0;right:0;padding:15px 22px 28px;background:#17161a;border-bottom:1px solid #534357;box-shadow:0 28px 44px #0009}.mobile-nav a{display:flex;align-items:center;gap:19px;padding:19px 5px;color:var(--accent);font-size:11px;border-bottom:1px solid var(--line-soft)}.mobile-nav a span{color:var(--pearl);font-size:14px;letter-spacing:.16em}.hero-section{padding-top:calc(var(--header) + 49px);background:radial-gradient(ellipse 110% 55% at 67% 57%,#26212b 0%,#1a181d 48%,#141417 100%)}.hero-layout{gap:34px}.hero-copy{padding:0}.hero-eyebrow{gap:7px;font-size:8px;letter-spacing:.12em}.eyebrow-line{width:20px}.hero-rule{margin:26px 0 17px;width:48px}.hero-title{font-size:clamp(45px,11.7vw,79px);letter-spacing:-.067em}.hero-description{margin-top:20px;font-size:16px;line-height:1.55;max-width:310px}.hero-actions{margin-top:27px;gap:9px}.button{min-height:49px;padding-inline:16px;gap:15px;font-size:9px;letter-spacing:.11em}.hero-signature{margin-top:29px;font-size:8px}.hero-media{max-width:420px;grid-template-columns:1fr;gap:18px;padding:0}.hero-logo{align-self:stretch;padding:22px 20px 16px;min-height:auto}.hero-logo img{max-width:290px}.hero-logo figcaption{font-size:8px;letter-spacing:.08em;padding-top:12px}.video-column{transform:none;max-width:100%;justify-self:stretch}.js .video-column.is-visible{transform:translateY(0)}.video-frame{width:min(100%,360px);margin-inline:auto}.video-note{font-size:8px;letter-spacing:.08em;margin-top:10px;max-width:360px;margin-inline:auto}.video-play{width:56px;height:56px}.video-play .icon{height:23px;width:23px}.hero-media-line{bottom:-22px}.hero-bottom{margin-top:43px;padding:25px 0 24px}.hero-bottom>span:first-child{display:none}.hero-bottom>a,.hero-bottom>span:last-child{font-size:8px}.section{padding:87px 0 95px}.section-heading{margin-bottom:50px;gap:10px}.section-index{font-size:9px}.section-note{font-size:8px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.display-heading{font-size:clamp(46px,10vw,75px)}.about-text{padding-top:8px;max-width:570px}.about-text>p{font-size:16px}.about-statement{margin-top:72px;gap:8px;font-size:10px;letter-spacing:.11em;flex-wrap:wrap}.statement-separator{font-size:11px}.section-intro{display:block;margin-bottom:40px}.section-intro>p{margin-top:23px;font-size:15px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-item{min-height:265px;padding:20px 17px}.service-item:not(:nth-child(3n+1)){border-left:0}.service-item:nth-child(2n){border-left:1px solid var(--line)}.service-item h3{font-size:19px;margin-top:37px}.service-item p{font-size:13px}.service-bottom{font-size:7px;padding-top:16px}.project-feature{grid-template-columns:1fr}.project-photo{min-height:330px;aspect-ratio:1.45}.project-information{padding:31px 25px 30px;min-height:320px}.project-name{margin-top:29px;font-size:67px}.project-detail-copy{margin:15px 0 24px;font-size:14px}.project-link{margin-top:auto}.contact-title{font-size:clamp(48px,10.5vw,78px)}.contact-lead{font-size:16px}.contact-details{margin-top:28px}.footer-top{padding:29px 0;min-height:auto;flex-wrap:wrap}.footer-top>span{order:3;flex-basis:100%}.footer-bottom{flex-direction:column;align-items:start;font-size:8px}.project-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0}.dialog-topbar{height:66px;padding:0 19px;font-size:9px}.dialog-content{padding:28px 19px 27px}.dialog-heading{display:block}.dialog-heading h2{font-size:57px}.dialog-heading>p{font-size:13px;margin-top:15px}.gallery-grid{grid-template-columns:1fr;gap:16px}.dialog-credits{display:flex;flex-direction:column}.lightbox-header{min-height:66px;padding:13px 17px;font-size:10px}.lightbox-header small{display:block;font-size:8px;margin:6px 0 0}.lightbox-visual{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px;padding:15px 6px}.lightbox-arrow{height:36px;width:36px}.lightbox-arrow .icon{width:17px;height:17px}.lightbox-caption{font-size:9px;padding:17px}}
@media(max-width:390px){.container{width:calc(100% - 30px)}.hero-title{font-size:clamp(42px,11.65vw,51px)}.hero-actions{align-items:stretch}.hero-actions .button{flex:1 1 auto;justify-content:center}.hero-signature{font-size:7px}.hero-logo figcaption span{display:none}.hero-media{gap:14px}.hero-logo img{max-width:250px}.video-frame{width:100%}.concept-pill{font-size:8px}.service-item{padding:18px 12px;min-height:285px}.service-item h3{font-size:17px}.project-name{font-size:59px}.lightbox-visual{grid-template-columns:35px minmax(0,1fr) 35px}.lightbox-arrow{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal,.js .reveal.is-visible,.js .video-column,.js .video-column.is-visible{opacity:1!important;transform:none!important}}
/* Ajustes finales de lectura para subtítulos y controles en pantallas pequeñas. */
@media(min-width:721px){.desktop-nav a{font-size:10.5px}.hero-eyebrow,.button{font-size:11px}.video-note{font-size:9px}.section-note,.footer-top>span,.footer-bottom{font-size:10px}}
@media(max-width:720px){.hero-eyebrow{font-size:10px}.button{font-size:10.5px}.hero-signature{font-size:9px}.hero-logo figcaption{font-size:9px}.video-note{font-size:9px}.hero-bottom>a,.hero-bottom>span:last-child{font-size:10px}.section-index,.section-note{font-size:10px}.service-bottom{font-size:9px}.footer-top>span,.footer-top>a:last-child,.footer-bottom{font-size:10px}}

/* NACIVA V3 · Ajuste exclusivo de cabecera e inicio; resto de secciones intacto.
   Replantea logo y video como piezas editoriales separadas, no dos tarjetas juntas. */
:root{--header:84px}
.site-header{height:var(--header)}
.header-inner{gap:clamp(22px,3vw,50px)}
.brand{min-width:205px;gap:17px}
.brand-isotype{width:50px;height:47px;object-fit:contain;filter:none}
.brand-name{font-size:19px;letter-spacing:.22em;line-height:1.08}
.brand-name small{font-size:9px;letter-spacing:.67em;margin-top:8px}
.hero-section{padding-top:calc(var(--header) + 70px);min-height:0}
.hero-layout{grid-template-columns:minmax(0,1fr);gap:clamp(44px,5.5vw,80px);min-height:0;align-items:start}
.hero-copy{padding:0;max-width:1080px}
.hero-rule{margin:29px 0 21px}
.hero-title{font-size:clamp(63px,6.6vw,102px);line-height:.97}
.hero-description{margin-top:22px;max-width:620px}
.hero-actions{margin-top:29px}
.hero-signature{margin-top:35px}
.hero-media{width:100%;max-width:1160px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.85fr);align-items:center;gap:clamp(74px,9vw,145px);padding:0 0 35px}
.hero-logo{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important;min-height:0;max-width:none}
.hero-logo::after{display:none}
.hero-logo img{display:block;width:min(100%,600px);max-width:none;height:auto;object-fit:contain;aspect-ratio:auto;margin:0 auto;filter:drop-shadow(0 13px 20px rgba(0,0,0,.13))}
.hero-logo figcaption{position:relative;width:min(86%,570px);font-size:10px;letter-spacing:.18em;padding:14px 0 0;margin-top:19px;line-height:1.55;border-top:1px solid rgba(222,210,227,.22);background:none;gap:22px}
.hero-logo figcaption span{color:#b3a8b7}
.video-column{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;max-width:405px;margin-inline:auto;transform:none}
.video-frame{display:block;width:100%;aspect-ratio:9/16;box-shadow:0 36px 95px rgba(0,0,0,.31);border:1px solid rgba(229,214,236,.19)}
.video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.video-note{width:100%;margin-top:15px;padding-inline:2px;font-size:10px;letter-spacing:.14em}
.js .video-column{transform:translateY(18px)}
.js .video-column.is-visible{transform:translateY(0)}
.hero-media-line{bottom:-4px;left:0;right:0}
.hero-bottom{margin-top:15px}
@media(max-width:1180px){
  .hero-title{font-size:clamp(58px,7.6vw,90px)}
  .hero-media{grid-template-columns:minmax(0,1.15fr) minmax(295px,.85fr);gap:clamp(45px,6vw,80px);max-width:950px}
  .hero-logo img{width:min(100%,510px)}
}
@media(max-width:980px){
  :root{--header:75px}
  .hero-section{padding-top:calc(var(--header) + 64px)}
  .hero-layout{grid-template-columns:1fr;gap:45px}
  .hero-copy{max-width:none}
  .hero-title{font-size:clamp(61px,9vw,90px)}
  .hero-media{max-width:820px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:clamp(28px,5vw,60px)}
  .video-column{max-width:360px;justify-self:center}
  .hero-bottom{margin-top:12px}
}
@media(max-width:720px){
  :root{--header:74px}
  .site-header{height:var(--header)}
  .header-inner{gap:18px}
  .brand{min-width:0;gap:14px}
  .brand-isotype{width:45px;height:42px}
  .brand-name{font-size:16px;letter-spacing:.20em}
  .brand-name small{font-size:8px;letter-spacing:.56em;margin-top:7px}
  .hero-section{padding-top:calc(var(--header) + 44px)}
  .hero-layout{gap:45px}
  .hero-copy{max-width:none}
  .hero-title{font-size:clamp(45px,11.7vw,77px)}
  .hero-media{display:flex;flex-direction:column;align-items:center;gap:48px;width:100%;max-width:470px;padding-bottom:22px}
  .hero-logo{width:100%;padding:0;max-width:none}
  .hero-logo img{width:min(100%,325px);max-height:none}
  .hero-logo figcaption{margin-top:13px;font-size:9px;width:min(100%,360px);padding-top:13px;letter-spacing:.12em}
  .video-column{max-width:390px;width:100%;align-self:center;justify-self:auto}
  .video-frame{width:100%;max-width:390px;aspect-ratio:9/16}
  .video-note{margin-top:12px;max-width:390px;font-size:9px}
  .hero-media-line{bottom:-14px}
  .hero-bottom{margin-top:12px}
}
@media(max-width:390px){
  .brand{gap:12px}
  .brand-isotype{width:40px;height:37px}
  .brand-name{font-size:15px;letter-spacing:.17em}
  .brand-name small{font-size:8px;letter-spacing:.49em}
  .hero-media{gap:43px}
  .hero-logo img{width:min(100%,285px)}
  .hero-logo figcaption{font-size:8px}
  .video-column{width:100%;max-width:100%}
  .video-frame{width:100%;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .js .video-column,.js .video-column.is-visible{opacity:1!important;transform:none!important}
}
