:root{--bg:#080d15;--bg2:#0b1421;--panel:#101a29;--panel2:#162235;--red:#eb0027;--red2:#ff2446;--white:#f7f8fd;--muted:#a0aab9;--stroke:#263243;--violet:#6145c5;--blue:#3d67df;--page-width:1196px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--white);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a,button{transition:all .2s ease}button{cursor:pointer}.container{width:min(var(--page-width),calc(100% - 64px));margin:0 auto}.section{position:relative;overflow:hidden}.topline{background:#0b0f19;border-bottom:1px solid rgba(255,255,255,.05);height:31px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;letter-spacing:2.15px;font-weight:750;color:#bac4d4;position:relative}.live-point,.status-pulse{width:6px;height:6px;background:var(--red);border-radius:50%;display:inline-block;box-shadow:0 0 10px var(--red)}.topline-right{position:absolute;right:35px;font-size:10px;color:#778498;letter-spacing:1.4px}.site-header{height:91px;z-index:30;background:rgba(9,15,24,.96);position:sticky;top:0;border-bottom:1px solid rgba(132,156,183,.12);backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;width:176px;flex-shrink:0}.brand img{display:block;width:156px;height:auto}.main-nav{display:flex;align-items:center;gap:30px}.nav-link{font-size:13px;color:#c4cbd7;font-weight:550}.nav-link:hover,.nav-link.active{color:#fff}.nav-link.active:after{content:'';display:block;background:var(--red);height:2px;margin-top:7px}.header-cta{background:#c80025;border:1px solid #e41d3f;padding:15px 19px;font-size:12px;font-weight:750;border-radius:6px;white-space:nowrap}.header-cta span{padding-left:12px;font-size:18px}.header-cta:hover,.btn-red:hover{background:#fe1a42;transform:translateY(-2px)}.menu-toggle{display:none;border:0;background:transparent;width:42px;height:40px;padding:8px}.menu-toggle span{display:block;height:2px;margin:5px 0;background:#fff}.hero{padding:75px 0 0;background:radial-gradient(ellipse at 15% 65%,rgba(44,63,97,.15),transparent 54%),linear-gradient(150deg,#090f18 0%,#080d15 100%);min-height:630px}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(to right,transparent 99.7%,#566 100%),linear-gradient(to bottom,transparent 99.7%,#566 100%);background-size:74px 74px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.hero-glow{position:absolute;pointer-events:none;filter:blur(85px);opacity:.11;border-radius:50%}.glow-one{width:300px;height:300px;right:3%;top:0;background:#ac0029}.glow-two{width:300px;height:400px;left:20%;bottom:0;background:#392dcc}.hero-grid{position:relative;display:grid;grid-template-columns:51% 49%;gap:8px;align-items:center;min-height:485px}.hero-copy{position:relative;z-index:2;padding:15px 10px 45px 0}.eyebrow{display:flex;align-items:center;gap:12px;color:#d4dbe6;letter-spacing:2.8px;font-size:10px;font-weight:800}.eyebrow-line{width:27px;height:2px;background:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(51px,6.0vw,92px);line-height:.99;letter-spacing:-5.7px;font-weight:900;margin:26px 0 24px}.red-text{color:var(--red2)}.outline-text{-webkit-text-stroke:1.4px #e7e9f1;color:transparent}.hero-copy>p{color:#a9b5c5;max-width:495px;font-size:15px;line-height:1.85}.hero-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:27px}.btn{border-radius:5px;display:inline-flex;justify-content:center;gap:28px;align-items:center;padding:17px 21px;font-size:13px;font-weight:800;border:1px solid transparent}.btn span{font-size:17px}.btn-red{background:var(--red);color:white}.btn-outline{border-color:#475367;background:rgba(8,15,26,.3)}.btn-outline:hover{border-color:white;background:#17253a}.hero-trust{margin-top:39px;display:flex;align-items:center;gap:14px;color:#b0bccb;font-size:11px}.trust-icon{color:#fe3755;font-size:18px}.trust-sep{background:#3d495a;width:1px;height:14px}.hero-visual{height:475px;position:relative;display:flex;align-items:center;justify-content:flex-end}.hero-photo{position:absolute;inset:8px 11px 41px 53px;overflow:hidden;background:#141b29;border-radius:10px;box-shadow:0 25px 80px #02070dac;border:1px solid #364052}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.04)}.photo-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,23,.30),rgba(6,12,23,.08)),linear-gradient(0deg,rgba(6,11,21,.85),transparent 50%)}.image-corner{position:absolute;width:55px;height:55px;border-color:#ed123b;border-style:solid;opacity:.85}.image-corner.tl{left:11px;top:10px;border-width:3px 0 0 3px}.image-corner.br{bottom:11px;right:11px;border-width:0 3px 3px 0}.photo-caption{position:absolute;bottom:20px;left:20px;letter-spacing:2px;font-size:9px;font-weight:850;display:flex;gap:9px;align-items:center}.floating-visual{position:absolute;z-index:2;border-radius:11px;background:rgba(11,19,32,.96);border:1px solid #39465b;box-shadow:0 20px 55px #02070dc7;backdrop-filter:blur(10px)}.floating-top{left:-12px;top:45px;padding:18px 20px;display:flex;align-items:center;gap:15px}.shape{font-weight:950;letter-spacing:-3px;font-size:25px}.shape span,.bridge-icon span{color:var(--red)}.floating-small{font-size:9px;letter-spacing:1px;color:#92a1b5;line-height:1.7}.floating-small b{color:white;font-size:10px}.floating-bottom{bottom:9px;right:-4px;padding:14px 20px;display:flex;align-items:center;gap:15px}.spark-icon{border-radius:10px;background:#e9002a22;color:#ff1743;font-size:23px;padding:9px 12px}.floating-bottom strong{display:block;font-size:11px;letter-spacing:1.2px}.floating-bottom small{display:block;color:#8996a9;font-size:10px;margin-top:6px}.mesh-number{position:absolute;right:13px;bottom:13px;color:#72829a;font-size:10px;letter-spacing:2px}.hero-bottom{position:relative;border-top:1px solid #263140;height:67px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#8895a7;font-size:10px;letter-spacing:2px;font-weight:850}.hero-bottom .cross{color:#ec1f43;font-size:17px}.services,.work,.about,.contact{padding:105px 0}.services{background:#0b1320}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:44px}.section-heading h2,.about h2,.contact h2{font-size:clamp(38px,4.4vw,65px);letter-spacing:-3px;line-height:1.09;font-weight:900;margin:20px 0 0}.section-heading h2 em,.about h2 em,.contact h2 em{font-style:normal;color:#f82549}.section-heading>p,.work-description>p{color:#a3afc0;line-height:1.75;font-size:14px;max-width:350px;margin:0 0 7px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{min-height:277px;background:linear-gradient(155deg,#142034,#101a2a);padding:27px;border-radius:10px;position:relative;overflow:hidden;border:1px solid #29374b;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s,border-color .3s}.service-card:hover{transform:translateY(-6px);border-color:#dc2550}.service-card.featured{background:radial-gradient(circle at 80% 18%,#b6003b55,transparent 55%),linear-gradient(145deg,#3a1024,#1b1328);border-color:#873047}.service-num{font-size:10px;color:#96a3b8;letter-spacing:1.5px}.service-icon{position:absolute;top:22px;right:26px;color:#ff2b50;background:#451728;border:1px solid #5c2c42;width:48px;height:48px;border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:25px;font-weight:900}.service-icon.blue{color:#88a7ff;background:#1d325b;border-color:#35518e}.service-icon.violet{color:#bba1ff;background:#332351;border-color:#4d3776}.service-bg-symbol{position:absolute;right:-8px;top:63px;font-size:115px;font-weight:900;letter-spacing:-14px;color:#e119431a;transform:rotate(-13deg)}.service-content{position:relative;z-index:1;margin-top:75px}.service-content h3{font-size:20px;letter-spacing:-.45px;margin-bottom:13px}.service-content p{color:#aab5c6;font-size:12px;line-height:1.8;min-height:65px}.service-content a{font-size:11px;letter-spacing:.3px;font-weight:800;display:inline-flex;align-items:center;gap:9px}.service-content a span{color:#ff3554;font-size:17px}.service-content a:hover{color:#ff4a68}.work{background:#080e17}.work .section-heading{align-items:end}.work-description{max-width:395px}.work-description>p{max-width:none}.filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.filter{font-size:10px;color:#adb8ca;background:#121c2b;border:1px solid #263449;border-radius:50px;padding:9px 14px}.filter.active,.filter:hover{color:white;background:#e80936;border-color:#e80936}.portfolio-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-flow:row;gap:18px}.portfolio-card{position:relative;overflow:hidden;border-radius:11px;border:1px solid #253448;background:#141d2e}.portfolio-card.large{grid-row:span 2}.project-stage{height:240px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.portfolio-card.large .project-stage{height:calc(480px + 18px + 74px)}.portfolio-meta{min-height:81px;padding:16px 22px;background:#111a28;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2}.portfolio-meta span:not(.portfolio-arrow){font-size:9px;letter-spacing:1.5px;color:#f74466;font-weight:850}.portfolio-meta h3{font-size:17px;margin:7px 0 0}.portfolio-arrow{font-size:24px;color:#c4cddd}.portfolio-card:hover .portfolio-arrow{color:#ff2248;transform:translate(3px,-3px)}.stage-sign{background:radial-gradient(ellipse at 50% 55%,#5e2f3590,transparent 42%),linear-gradient(125deg,#101c31,#060c13 60%,#2b1724)}.stage-halo{position:absolute;inset:10% 10% 20%;border:1px solid #ffffff20;border-radius:40%;filter:blur(1px)}.stage-sign:before{content:'';position:absolute;inset:0;opacity:.24;background:repeating-linear-gradient(0deg,#8195b210 0 1px,transparent 1px 55px),repeating-linear-gradient(90deg,#8195b210 0 1px,transparent 1px 55px)}.sign-frame{width:65%;max-width:385px;aspect-ratio:1.72;display:flex;align-items:center;justify-content:center;transform:perspective(700px) rotateY(-8deg) rotateX(3deg);border:8px solid #1c2730;border-radius:7px;background:#010205;box-shadow:0 0 0 1px #64718066,0 28px 45px #000b,0 0 44px #f20b3440}.sign-frame img{width:80%;height:auto;filter:drop-shadow(0 2px 15px #ff073e4f)}.stage-floor{position:absolute;bottom:65px;width:75%;height:1px;background:#8e5d62;box-shadow:0 0 30px 15px #fe184012}.stage-acrylic{background:radial-gradient(circle at center,#2c2946,#101529 52%,#08101d)}.stage-acrylic:before,.stage-print:before{content:'';position:absolute;inset:10%;border:1px solid #ffffff12;transform:rotate(-13deg)}.acrylic-letter{position:relative;z-index:2;font-weight:950;font-size:100px;color:#dddce8;letter-spacing:-13px;text-shadow:2px 4px 0 #8994b1,4px 6px 0 #677288,8px 10px 0 #282e40,14px 19px 18px #000b;transform:rotate(-8deg)}.acrylic-letter span{color:#e9002b;text-shadow:2px 4px 0 #991029,4px 6px 0 #5f0d1e,8px 10px 0 #32101b,14px 19px 18px #000b}.acrylic-shadow{position:absolute;bottom:17px;filter:blur(17px);transform:scaleY(.3);font-weight:950;letter-spacing:-10px;font-size:120px;color:#fff2}.light-bloom{position:absolute;top:-150px;left:0;width:250px;height:400px;background:#8763fc12;filter:blur(50px)}.stage-print{background:linear-gradient(135deg,#191d30,#27162e 62%,#07101b)}.print-banner{width:65%;height:160px;background:linear-gradient(120deg,#05070e,#181b2b);border:3px solid #89919d;box-shadow:8px 12px 0 #04070d,11px 19px 25px #000a;transform:rotate(-9deg);padding:25px 20px}.print-banner span{display:block;font-size:27px;font-weight:950;white-space:nowrap}.print-banner b{color:#e9022f}.print-banner strong{display:block;font-size:19px}.print-banner small{display:block;font-size:9px;color:#98a4b5;letter-spacing:3px;margin-top:13px}.print-roll{position:absolute;bottom:8px;left:4%;width:45%;height:22px;border-radius:50%;transform:rotate(-10deg);background:linear-gradient(#dce2e6,#596a7c 35%,#d6dce5 70%,#3a495b);box-shadow:0 8px 12px #0008}.gallery-note{font-size:10px;color:#7f8b9c;margin-top:19px}.about{background:#0d1724}.about-grid{display:grid;grid-template-columns:50% 1fr;gap:88px;align-items:center}.about-media{position:relative;height:505px}.about-media img{width:100%;height:100%;object-fit:cover;object-position:50%;border-radius:10px;filter:brightness(.8)}.about-frame{position:absolute;inset:24px -22px -25px 24px;border:1px solid #e71d43;border-radius:10px;z-index:-1}.about-label{position:absolute;bottom:26px;left:25px;font-size:10px;letter-spacing:2.1px;background:#0d1525d9;border:1px solid #ffffff28;padding:13px 15px;border-radius:4px}.about-copy h2{font-size:clamp(39px,4.2vw,62px);margin-bottom:26px}.about-copy>p{font-size:14px;color:#a8b4c5;line-height:1.85;margin-bottom:15px}.about-points{margin:28px 0 24px;border-top:1px solid #2a384b}.about-points>div{display:flex;align-items:center;gap:22px;border-bottom:1px solid #2a384b;padding:16px 0;font-size:10px;font-weight:850;letter-spacing:1.2px}.about-points span{color:#ed2c4b;font-size:13px}.text-action{display:inline-flex;align-items:center;gap:22px;color:#fff;font-size:12px;font-weight:850;border-bottom:2px solid var(--red);padding-bottom:11px}.text-action span{font-size:20px;color:var(--red)}.contact{background:radial-gradient(ellipse at 0% 30%,#241426 0%,transparent 42%),#090e18}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.contact h2{margin-bottom:25px}.contact-intro>p{max-width:400px;color:#b0bdca;line-height:1.9;font-size:14px;margin-bottom:36px}.contact-detail{display:flex;align-items:center;gap:15px;margin-bottom:23px}.contact-bubble{width:43px;height:43px;background:#161e2c;border:1px solid #334155;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#ff2a4a;font-size:21px}.contact-detail b{font-size:12px;display:block}.contact-detail small{font-size:11px;color:#8997aa;display:block;margin-top:5px}.contact-panel{background:#121d2c;border:1px solid #364158;padding:32px;border-radius:11px;box-shadow:0 32px 65px #050910a8}.contact-panel-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2d3b4f;padding-bottom:21px;margin-bottom:25px}.contact-panel-head span{font-size:9px;color:#ff4966;letter-spacing:2.1px;font-weight:850}.contact-panel-head h3{font-size:23px;margin:9px 0 0}.contact-panel-head>span{font-size:25px;color:white}form label{display:block;font-size:11px;font-weight:760;margin:17px 0 8px;color:#d4dce8}form input,form textarea,form select{width:100%;padding:14px 13px;border:1px solid #334257;background:#0c1623;color:white;border-radius:5px;font-size:12px;outline:0}form input:focus,form textarea:focus,form select:focus{border-color:#e91240;box-shadow:0 0 0 3px #e9124022}form textarea{resize:vertical;min-height:100px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-disclaimer{color:#7f90a5;font-size:10px;line-height:1.6;margin:14px 0}.form-submit{border:0;width:100%;margin-top:4px}.gestion-bridge{background:linear-gradient(115deg,#131c30,#24132b 70%,#351026);border-block:1px solid #374156;padding:26px 0}.bridge-inner{display:flex;align-items:center;gap:29px}.bridge-icon{width:93px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ffffff31;border-radius:9px;background:#0c111ddd;font-size:27px;letter-spacing:-3px;font-weight:900;flex-shrink:0}.bridge-icon small{font-size:7px;letter-spacing:2.6px}.bridge-kicker{color:#f94970;letter-spacing:2px;font-size:9px;font-weight:850}.bridge-inner h3{margin:9px 0 7px;font-size:19px}.bridge-inner p{margin:0;color:#adb8c8;font-size:12px;line-height:1.6;max-width:720px}.soon-chip{margin-left:auto;border:1px solid #66556b;padding:12px 15px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap;color:#c5b9cd}.footer{background:#060a11;padding:53px 0 0}.footer-main{display:grid;grid-template-columns:1.5fr .6fr 1fr;gap:50px;padding-bottom:45px}.footer-brand img{display:block;width:185px;max-width:100%;height:auto;object-fit:contain}.footer-brand p{color:#9eacbd;font-size:13px;line-height:1.8;margin:18px 0}.footer-links{display:flex;flex-direction:column;gap:14px}.footer-links strong{letter-spacing:1.5px;color:#eef1f8;font-size:11px;margin-bottom:6px}.footer-links a,.footer-links span{color:#95a2b4;font-size:12px}.footer-links a:hover{color:#ff3357}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #202c3a;padding:18px 0 25px;color:#7d8896;font-size:11px}.floating-wa{position:fixed;bottom:22px;right:22px;z-index:40;border-radius:50%;width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:#21bd66;color:#fff;box-shadow:0 8px 28px #071d11aa}.floating-wa:hover{transform:scale(1.07)}.floating-wa svg{width:29px;height:29px}@media(max-width:1080px){.main-nav{gap:18px}.container{width:min(var(--page-width),calc(100% - 42px))}.hero h1{font-size:67px}.hero-grid{grid-template-columns:52% 48%}.hero-visual{height:430px}.services-grid{gap:12px}.service-card{padding:21px}.about-grid{gap:48px}}@media(max-width:850px){.header-cta{display:none}.site-header{height:76px}.brand img{width:137px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:0;right:0;top:76px;background:#0e1725;display:none;flex-direction:column;gap:0;padding:12px 25px 20px;box-shadow:0 20px 35px #0008;border-bottom:1px solid #344052}.main-nav.open{display:flex}.nav-link{width:100%;padding:13px;font-size:14px}.nav-link.active:after{display:none}.topline-right{display:none}.hero{padding:43px 0 0}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:0}.hero h1{font-size:clamp(53px,9vw,78px)}.hero-visual{height:400px;margin:22px 0 0}.hero-photo{left:45px}.floating-top{left:0}.floating-bottom{right:0}.hero-bottom{justify-content:center;gap:18px;flex-wrap:wrap;height:auto;padding:16px 0}.hero-bottom span:nth-of-type(n+6){display:none}.section-heading{align-items:start}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.about-media{height:370px;order:2}.about-copy{order:1}.contact-intro{max-width:550px}.bridge-inner{flex-wrap:wrap}.soon-chip{margin-left:0}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:590px){.container{width:calc(100% - 36px)}.topline{font-size:8px;letter-spacing:1.3px}.hero{padding-top:43px}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero h1{font-size:clamp(42px,12.5vw,70px);letter-spacing:-2.9px;margin:23px 0}.hero-copy>p{font-size:13px}.hero-buttons{align-items:stretch}.hero-buttons .btn{padding:15px 17px;font-size:12px;gap:15px}.hero-trust{flex-wrap:wrap;gap:8px;font-size:10px}.hero-visual{height:310px;margin-top:14px}.hero-photo{inset:10px 4px 32px 28px}.floating-top{left:0;top:35px;padding:10px 11px}.shape{font-size:21px}.floating-small{font-size:8px}.floating-bottom{right:0;bottom:5px;padding:10px 13px}.spark-icon{font-size:17px;padding:6px}.floating-bottom strong{font-size:8px}.floating-bottom small{font-size:8px}.mesh-number{display:none}.hero-bottom{font-size:8px;gap:13px;letter-spacing:1px;line-height:1.9}.hero-bottom span:nth-of-type(n+4){display:none}.services,.work,.about,.contact{padding:70px 0}.section-heading{flex-direction:column;gap:17px;margin-bottom:25px}.section-heading h2,.about h2,.contact h2{font-size:clamp(39px,10vw,52px);letter-spacing:-2.1px}.section-heading>p,.work-description>p{font-size:12px;line-height:1.7}.services-grid{grid-template-columns:1fr}.service-card{min-height:235px;padding:22px}.service-content{margin-top:65px}.service-content p{min-height:0}.portfolio-grid{grid-template-columns:1fr}.portfolio-card.large{grid-row:auto}.portfolio-card.large .project-stage{height:310px}.project-stage{height:240px}.acrylic-letter{font-size:74px}.portfolio-meta{min-height:75px}.about-media{height:310px}.about-frame{inset:15px -8px -15px 15px}.contact-panel{padding:20px}.form-two{grid-template-columns:1fr;gap:0}.bridge-inner{gap:16px}.bridge-inner h3{font-size:16px}.bridge-icon{width:71px;height:67px;font-size:22px}.footer-main{grid-template-columns:1fr;gap:27px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.floating-wa{width:54px;height:54px;bottom:15px;right:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V2: ubicación real de NVR, mapa y navegación en el mismo estilo oscuro */
.visit-callout{max-width:470px;padding:23px 24px;border:1px solid #364257;background:linear-gradient(145deg,#142135,#111827);border-radius:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 16px 40px #0002}
.visit-kicker{font-size:10px;font-weight:850;letter-spacing:1.8px;color:#ff4766}
.visit-callout strong{font-size:19px;line-height:1.4}
.visit-callout>span:not(.visit-kicker){font-size:13px;color:#b5c0d1}
.visit-callout a{display:inline-flex;align-items:center;gap:8px;width:fit-content;font-size:12px;font-weight:800;color:#fff;margin-top:9px;padding-bottom:8px;border-bottom:2px solid var(--red)}
.visit-callout a:hover,.map-fallback a:hover{color:#ff4d67}
.location-block{margin-top:69px;border-top:1px solid #2d3b51;padding-top:43px}
.location-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px}
.location-heading h3{font-weight:900;font-size:clamp(26px,3.8vw,43px);letter-spacing:-1.4px;margin:16px 0 8px}
.location-heading h3 em{font-style:normal;color:#ff3155}
.location-heading p{font-size:13px;color:#aebccc;line-height:1.7;margin:0}
.location-directions{white-space:nowrap;flex-shrink:0}
.map-frame{height:390px;border:1px solid #37465b;border-radius:14px;overflow:hidden;background:#18273b;box-shadow:0 26px 80px #02070d60;position:relative}
.map-frame iframe{border:0;width:100%;height:100%;display:block;background:#f5f5f5}
.map-fallback{text-align:right;color:#8d9aad;font-size:12px;margin:11px 0 0}
.map-fallback a{color:#dce5f4;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.location-heading{align-items:flex-start;flex-direction:column;gap:20px}.map-frame{height:345px}}
@media(max-width:590px){.visit-callout{padding:19px}.visit-callout strong{font-size:17px}.location-block{margin-top:48px;padding-top:35px}.location-directions{white-space:normal;width:100%}.map-frame{height:300px}.map-fallback{text-align:left}}


/* NVR V3 — interacciones premium, navegación y barra de lectura */
:root { --red-glow: rgba(235,0,39,.43); --violet-glow:rgba(96,73,205,.34); }
html { scroll-padding-top: 112px; }
.site-header { box-shadow: 0 0 0 transparent; transition: background-color .28s, box-shadow .28s; }
.site-header.is-scrolled { box-shadow: 0 13px 35px rgba(2,5,13,.47); background:rgba(8,13,21,.975); }
.scroll-progress { position:absolute; bottom:-1px; left:0; right:0; height:3px; background:rgba(77,95,128,.26); z-index:3; pointer-events:none; }
.scroll-progress-fill { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; will-change:transform; background:linear-gradient(90deg,#fa2144 0%,#f24667 40%,#6b4dea 75%,#3b75f0 100%); box-shadow:0 0 10px rgba(236,27,62,.65),0 0 18px rgba(92,73,219,.40); }
.main-nav {gap:27px}
.nav-link { position:relative; padding:12px 1px; transition:color .2s ease; }
.nav-link:after, .nav-link.active:after { content:''; position:absolute; left:0; bottom:3px; width:100%; height:2px; margin-top:0; border-radius:3px; background:linear-gradient(90deg,#ff3155,#8760ff); transform:scaleX(0); transform-origin:left; transition:transform .27s ease; }
.nav-link.active:after, .nav-link:hover:after {transform:scaleX(1);}
.nav-link:hover,.nav-link.active {color:#fff}
.header-cta { display:inline-flex; align-items:center; justify-content:center; gap:17px; padding:14px 22px; min-width:118px; background:linear-gradient(135deg,#e90031,#c70030); border:1px solid #fa3358; border-radius:999px; font-size:13px; box-shadow:0 7px 24px rgba(218,0,39,.16); font-weight:800; transition:transform .28s,box-shadow .28s,background .28s,border-color .28s; }
.header-cta span {padding-left:0; font-size:17px; display:inline-block; transition:transform .2s}
.header-cta:hover { background:linear-gradient(135deg,#ff2449,#dd0738); border-color:#ff7489; box-shadow:0 0 0 1px rgba(255,66,102,.24),0 0 24px var(--red-glow),0 13px 33px rgba(224,0,45,.34); transform:translateY(-2px); }
.header-cta:hover span { transform:translate(2px,-2px); }
.btn { position:relative; isolation:isolate; overflow:hidden; border-radius:999px; min-height:51px; transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .25s,background .25s; }
.btn::before { content:''; position:absolute; inset:-2px; z-index:-1; pointer-events:none; background:linear-gradient(112deg,transparent 10%,rgba(255,255,255,.23) 47%,transparent 65%); transform:translateX(-145%) skewX(-13deg); transition:transform .62s cubic-bezier(.3,.75,.25,1); }
.btn:hover::before { transform:translateX(145%) skewX(-13deg); }
.btn-red { background:linear-gradient(125deg,#ff163f,#ce002e); box-shadow:0 8px 25px rgba(190,6,46,.19); }
.btn-red:hover,.btn-red:focus-visible { background:linear-gradient(125deg,#ff3258,#e40037); border-color:rgba(255,140,159,.75); box-shadow:0 0 0 1px rgba(255,71,108,.22), 0 0 28px rgba(235,0,39,.43), 0 16px 44px rgba(177,3,41,.40); transform:translateY(-3px); }
.btn-outline:hover,.btn-outline:focus-visible {border-color:#a785ff; background:#202036; box-shadow:0 0 0 1px rgba(118,101,247,.19),0 0 26px rgba(95,72,212,.26),0 14px 30px rgba(0,0,0,.22); transform:translateY(-3px); }
.btn-violet {background:linear-gradient(125deg,#5140c8,#2c55b4); color:#fff; border-color:#7765f4;box-shadow:0 8px 25px rgba(66,64,189,.22)}
.btn-violet:hover,.btn-violet:focus-visible {background:linear-gradient(125deg,#6c57e9,#3c73e3); border-color:#a8a3ff; box-shadow:0 0 0 1px rgba(161,133,255,.3),0 0 28px rgba(90,74,216,.42),0 16px 38px rgba(55,62,169,.37);transform:translateY(-3px)}
button:focus-visible,a:focus-visible {outline:3px solid #a5a1ff; outline-offset:4px;}
.filter:focus-visible {outline:3px solid #a5a1ff; outline-offset:2px}
.service-card {transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s}
.service-card:hover {box-shadow:0 16px 44px rgba(7,9,22,.37), 0 0 22px rgba(218,18,58,.11)}
.portfolio-card {transition:transform .30s, border-color .3s,box-shadow .3s}
.portfolio-card:hover {transform:translateY(-4px); border-color:#553d6e; box-shadow:0 16px 45px rgba(0,0,0,.30)}
.cta-band {padding:38px 0 90px; background:linear-gradient(180deg,#080e17,#0c1121)}
.cta-band-inner {isolation:isolate; position:relative; overflow:hidden; padding:68px 35px 72px; min-height:330px; border-radius:20px; border:1px solid #344257; background:radial-gradient(ellipse at 15% 25%,rgba(35,74,142,.24),transparent 50%),radial-gradient(ellipse at 92% 10%,rgba(140,20,87,.23),transparent 58%),linear-gradient(120deg,#111b30,#150f26 84%); text-align:center; display:flex; flex-direction:column; align-items:center; }
.cta-band-inner:before {content:''; z-index:-1;position:absolute; height:340px;width:340px; border-radius:50%; background:#a60c50;filter:blur(105px);opacity:.18; right:-110px;top:-185px;pointer-events:none}
.cta-band-inner .eyebrow {justify-content:center;color:#c9d1e1}
.cta-band-inner h2 {font-size:clamp(30px,4.3vw,54px);font-weight:900;letter-spacing:-2.5px;margin:17px 0 12px;line-height:1.12}
.cta-band-inner h2 em{color:#ff3157;font-style:normal}
.cta-band-inner p{max-width:670px;margin:0 auto;color:#b6c5d8;font-size:15px;line-height:1.8}
.cta-actions {display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:15px;margin-top:32px;width:100%;position:relative;z-index:1}
.cta-action {min-width:min(100%,310px);min-height:61px;gap:17px;font-size:14px;padding:17px 25px;justify-content:center}
.cta-action svg{flex-shrink:0}
.cta-action .cta-action-arrow{font-size:18px;transition:transform .2s}
.cta-action:hover .cta-action-arrow{transform:translate(3px,-3px)}
.cta-ornament {position:absolute;right:-15px;bottom:-75px;font-size:190px;font-weight:900;letter-spacing:-25px;opacity:.025;pointer-events:none;transform:rotate(-12deg)}
.cta-accent {position:absolute;top:0;left:28%;width:44%;height:2px;background:linear-gradient(90deg,transparent,#ff3860,#9d67ff,transparent);box-shadow:0 0 15px rgba(229,29,78,.38)}
@media(max-width:1080px) { .main-nav{gap:18px;} .header-cta{padding-inline:18px;} }
@media(max-width:850px) {
  .site-header {height:76px}
  .header-inner { gap:14px }
  .brand {width:auto;max-width:150px;flex:0 1 150px}
  .main-nav {top:76px; gap:0}
  .nav-link:after,.nav-link.active:after {left:12px;right:auto;width:calc(100% - 24px);bottom:4px;}
  .header-cta {display:inline-flex;margin-left:auto; min-width:104px;font-size:12px;padding:12px 17px}
  .menu-toggle {order:2;margin-left:0;flex-shrink:0}
  .cta-band{padding:24px 0 70px}
  .cta-band-inner{padding:53px 22px 59px}
}
@media(max-width:590px) {
  .header-inner {gap:9px}
  .brand {max-width:121px}
  .brand img {width:118px;max-width:100%}
  .header-cta {font-size:11px;min-width:91px;gap:8px;padding:11px 12px}
  .header-cta span {font-size:14px}
  .menu-toggle {width:36px;padding:6px}
  .cta-band-inner{border-radius:14px;padding:47px 18px 53px;}
  .cta-band-inner h2{font-size:clamp(29px,8.9vw,43px);letter-spacing:-1.6px}
  .cta-band-inner p{font-size:13px}
  .cta-actions {flex-direction:column;gap:12px}
  .cta-action {width:100%;min-width:0;min-height:58px}
  .cta-ornament{font-size:130px;bottom:-50px;letter-spacing:-15px}
}
@media(max-width:350px){.brand{max-width:108px}.brand img{width:104px}.header-cta{padding:10px;min-width:83px}.header-inner{gap:7px}}
@media(prefers-reduced-motion:reduce){.scroll-progress-fill{will-change:auto}.btn:before{display:none}.header-cta:hover,.btn:hover,.service-card:hover,.portfolio-card:hover{transform:none}}


/* V4 / Instagram: NVR identity. Promotional themes are editorial, not copied post thumbnails. */
.hero-instagram{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#d7c5ff;font-weight:750;font-size:11px;white-space:nowrap;transition:color .2s}
.hero-instagram svg{width:17px;height:17px;color:#f0447f;flex:none}
.hero-instagram:hover{color:#fff}
.instagram-section{padding:105px 0 112px;background:radial-gradient(ellipse at 95% 5%,rgba(125,31,91,.15),transparent 35%),radial-gradient(ellipse at 0% 75%,rgba(49,63,158,.14),transparent 35%),#0c1220;border-top:1px solid rgba(225,255,255,.035)}
.ig-top{display:flex;align-items:end;justify-content:space-between;gap:38px;margin-bottom:34px}
.ig-top h2{font-weight:900;font-size:clamp(37px,4.5vw,62px);letter-spacing:-2.8px;line-height:1.07;margin:19px 0 15px}
.ig-top h2 em{font-style:normal;color:#ff2e57}
.ig-top p{max-width:650px;font-size:14px;color:#acb9cb;line-height:1.8;margin:0}
.ig-follow{flex-shrink:0;padding:14px 22px;font-size:12px;border-radius:9px;gap:11px;background:linear-gradient(115deg,rgba(175,26,68,.28),rgba(69,40,135,.4));border-color:rgba(237,77,128,.45);color:#fff;box-shadow:0 5px 28px #d02e5712}
.ig-follow:hover,.ig-follow:focus-visible{transform:translateY(-3px);border-color:#f76596;box-shadow:0 0 22px #d22a6150;background:linear-gradient(115deg,#c80b4a,#592ea5)}
.ig-follow svg{width:20px;height:20px;flex:none;color:#ff8ca7}
.ig-follow span:last-child{font-size:18px;color:#fff}
.ig-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ig-feature{min-width:0;border:1px solid #2a354a;background:#111c2b;overflow:hidden;border-radius:13px;transition:transform .3s,border-color .3s,box-shadow .3s}
.ig-feature:hover{transform:translateY(-5px);border-color:#80436e;box-shadow:0 18px 43px #0007,0 0 20px #a2143a1f}
.ig-photo{height:250px;position:relative;overflow:hidden;background:#131b29}
.ig-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.08) brightness(.76);transition:transform .6s ease}
.ig-feature:hover .ig-photo img{transform:scale(1.055)}
.ig-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,11,21,.25),transparent 46%,rgba(8,10,22,.65));pointer-events:none}
.ig-photo-led img{object-position:38% center}
.ig-photo-print img{object-position:center}
.ig-feature-label{position:absolute;z-index:2;left:17px;top:16px;padding:7px 11px;border-radius:5px;border:1px solid #ffffff45;background:#0e152aba;letter-spacing:1.2px;font-size:9px;font-weight:800;color:#fff;backdrop-filter:blur(6px)}
.ig-photo-decoration{z-index:2;position:absolute;bottom:12px;right:17px;font-weight:900;color:#fff;font-size:36px;letter-spacing:-1.5px;text-align:right;text-shadow:0 4px 18px #000a}
.ig-photo-decoration small{display:block;color:#ff5376;letter-spacing:2.4px;font-size:10px}
.ig-photo-chepe{background:radial-gradient(circle at 60% 57%,#b91a5352,transparent 38%),radial-gradient(circle at 50% 40%,#49339060,transparent 60%),linear-gradient(145deg,#23112a,#0c1525 73%);display:grid;place-items:center}
.ig-photo-chepe:before{content:'NVR';position:absolute;font-size:185px;font-weight:950;letter-spacing:-15px;color:#ffffff08;transform:rotate(-20deg)}
.ig-chepe-orbit{width:220px;height:220px;position:absolute;border:1px solid #ff2f5960;border-radius:50%;transform:rotateX(45deg) rotateZ(20deg);box-shadow:0 0 45px #cc1a5c20,inset 0 0 40px #c31a5c1e}
.ig-chepe-mark{text-align:center;position:relative;z-index:2;transform:rotate(-5deg)}
.ig-chepe-mark span,.ig-chepe-mark small{display:block;font-size:11px;font-weight:900;color:#d6d7e8;letter-spacing:2px}
.ig-chepe-mark strong{font-size:57px;font-weight:1000;color:#ff2e54;letter-spacing:-4px;text-shadow:3px 4px 0 #350723,0 0 29px #e5165090}
.ig-chepe-mark small{font-size:9px;letter-spacing:2.6px;color:#a5a9c8}
.ig-feature-info{padding:23px 23px 26px}
.ig-feature-info>span{font-size:9px;letter-spacing:1.7px;color:#fa5373;font-weight:850}
.ig-feature-info h3{font-size:19px;line-height:1.25;margin:10px 0 9px;letter-spacing:-.4px}
.ig-feature-info p{color:#acb7c6;font-size:12px;line-height:1.78;margin:0}
.ig-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 22px;border-radius:12px;background:#141e2e;border:1px solid #29384e}
.ig-account{display:flex;gap:12px;align-items:center}
.ig-account-avatar{width:48px;height:48px;border-radius:50%;padding:3px;background:linear-gradient(45deg,#ffd15f,#fc395c,#8e42f5);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ig-account-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid #101526;background:#101526}
.ig-account strong,.ig-account small{display:block}
.ig-account strong{font-size:14px;letter-spacing:.15px}
.ig-account small{font-size:11px;color:#a4afc3;margin-top:5px}
.ig-profile-link{font-size:12px;font-weight:800;color:#f8f2ff;border-bottom:1px solid #c76ab7;padding-bottom:5px;white-space:nowrap}
.ig-profile-link:hover{color:#ff83b1;border-color:#ff83b1}
.footer-ig{display:flex;align-items:center;gap:7px}
.footer-ig svg{width:16px;height:16px;color:#ff6692;flex-shrink:0}
@media(max-width:1140px){.main-nav{gap:17px}.header-inner{gap:13px}.brand{width:160px}}
@media(max-width:1030px){.hero-instagram{width:100%;margin-left:0}.hero-trust{flex-wrap:wrap}.ig-feature-grid{gap:12px}.ig-photo{height:220px}}
@media(max-width:850px){.instagram-section{padding:75px 0 83px}.ig-top{align-items:flex-start;flex-direction:column;gap:21px}.ig-top h2{margin-top:15px}.ig-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-feature:last-child{grid-column:span 2}.ig-photo-chepe{height:220px}.main-nav .nav-link{width:100%}}
@media(max-width:590px){.instagram-section{padding:67px 0 75px}.ig-top h2{font-size:clamp(34px,8.8vw,47px);letter-spacing:-1.9px}.ig-top p{font-size:13px}.ig-follow{width:100%;justify-content:center}.ig-feature-grid{grid-template-columns:1fr;gap:14px}.ig-feature:last-child{grid-column:auto}.ig-photo{height:245px}.ig-bottom{flex-direction:column;align-items:stretch;gap:18px;padding:16px}.ig-profile-link{align-self:flex-start}.hero-instagram{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.ig-feature:hover{transform:none}.ig-photo img{transition:none}.ig-feature:hover .ig-photo img{transform:none}}

/* V5 — tarjetas de publicaciones reales: incrustación oficial a demanda */
.ig-view-hint{border:1px solid #354259;border-left:3px solid #ee2854;color:#aebad0;background:#111a2b;padding:14px 17px;border-radius:9px;font-size:12px;line-height:1.6;margin:-8px 0 20px}
.ig-view-hint strong{color:#f5f6ff}
.ig-real-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
.ig-real-card{min-width:0;overflow:hidden;border:1px solid #2f3a51;border-radius:15px;background:#111b2b;box-shadow:0 15px 45px #01040a22;transition:border-color .25s,transform .25s,box-shadow .25s}
.ig-real-card:hover{transform:translateY(-4px);border-color:#9c486f;box-shadow:0 23px 50px #01040a80,0 0 28px #c01a4a1a}
.ig-real-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;background:#151f30}
.ig-real-profile{display:flex;align-items:center;gap:11px;min-width:0}
.ig-real-avatar{border-radius:50%;height:37px;width:37px;display:grid;place-items:center;padding:2px;flex:none;background:linear-gradient(45deg,#ffaa51,#ea2152,#6c43e8)}
.ig-real-avatar img{width:100%;height:100%;border-radius:50%;border:2px solid #0b1421;object-fit:cover}
.ig-real-profile strong,.ig-real-profile small{display:block}
.ig-real-profile strong{font-size:12px;color:#f7f8ff}
.ig-real-profile small{font-size:10px;color:#a1aec1;margin-top:3px}
.ig-real-external-top{font-size:23px;color:#e6deff;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid #38465d}
.ig-real-external-top:hover{color:#ff6c8a;border-color:#fa4867;background:#20192e}
.ig-real-preview{height:275px;position:relative;overflow:hidden;background:#121728;isolation:isolate}
.ig-real-card:nth-child(2) .ig-real-preview{background:#111a30}
.ig-real-card:nth-child(3) .ig-real-preview{background:#1c132a}
.ig-real-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 44%,#e91f3a28,transparent 50%),radial-gradient(ellipse at 3% 10%,#5448b22b,transparent 60%),linear-gradient(140deg,#151c30,#0c1120)}
.ig-real-card:nth-child(2) .ig-real-placeholder{background:radial-gradient(circle at 40% 45%,#445bea38,transparent 54%),linear-gradient(150deg,#131e33,#0b1120)}
.ig-real-card:nth-child(3) .ig-real-placeholder{background:radial-gradient(circle at 55% 40%,#cc215045,transparent 60%),linear-gradient(150deg,#1d162b,#0b1323)}
.ig-real-watermark{font-size:clamp(88px,12vw,180px);font-weight:950;letter-spacing:-13px;color:#ffffff08;transform:rotate(-18deg);position:absolute;user-select:none}
.ig-real-orbit{position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid #ff53714d;transform:rotateX(55deg) rotate(-19deg);box-shadow:0 0 30px #ff326521}
.ig-real-center{position:relative;display:grid;justify-items:center;text-align:center;gap:7px}
.ig-real-center svg{width:37px;height:37px;color:#ff456f;filter:drop-shadow(0 0 14px #ec26545c)}
.ig-real-center strong{font-size:16px;letter-spacing:2.5px;color:#fff}
.ig-real-center small{font-size:11px;color:#b4bed0}
.ig-real-number{position:absolute;left:18px;top:17px;font-size:9px;letter-spacing:1.3px;font-weight:800;color:#fca0b4;z-index:1}
.ig-embedded-slot:not([hidden]){height:100%;width:100%;background:#fff;position:relative;z-index:3}
.ig-embedded-slot iframe{height:100%;width:100%;border:0;display:block;background:#fff}
.ig-real-preview:has(.ig-embedded-slot:not([hidden])){height:535px;overflow:auto}
.ig-real-card-body{padding:19px 19px 21px}
.ig-real-kicker{color:#f76380;font-size:9px;font-weight:850;letter-spacing:1.7px;margin:0 0 9px}
.ig-real-card-body h3{font-size:18px;letter-spacing:-.5px;margin:0 0 10px}
.ig-real-card-body>p:not(.ig-real-kicker){font-size:12px;line-height:1.7;color:#aebacb;margin:0 0 20px;min-height:61px}
.ig-real-actions{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.ig-embed-button{background:linear-gradient(125deg,#ef1741,#c70434);color:#fff;border:1px solid #fa4261;min-height:42px;border-radius:99px;padding:9px 13px;display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;transition:transform .25s,box-shadow .25s}
.ig-embed-button:hover,.ig-embed-button:focus-visible{transform:translateY(-2px);box-shadow:0 0 23px #ed174565,0 10px 20px #07071688}
.ig-embed-button svg{width:17px;height:17px}
.ig-original-link{font-size:11px;color:#c9b7ff;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.ig-original-link:hover{color:#fa8da8}
@media(max-width:1000px){.ig-real-grid{gap:12px}.ig-real-card-body{padding:17px 15px 20px}}
@media(max-width:780px){.ig-real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-real-card:last-child{grid-column:span 2}.ig-real-card:last-child .ig-real-preview{height:290px}.ig-real-card:last-child .ig-real-preview:has(.ig-embedded-slot:not([hidden])){height:535px}}
@media(max-width:590px){.ig-real-grid{grid-template-columns:1fr}.ig-real-card:last-child{grid-column:auto}.ig-real-preview,.ig-real-card:last-child .ig-real-preview{height:295px}.ig-real-card-body>p:not(.ig-real-kicker){min-height:auto}.ig-real-preview:has(.ig-embedded-slot:not([hidden])){height:535px}.ig-real-card:last-child .ig-real-preview:has(.ig-embedded-slot:not([hidden])){height:535px}}
@media(prefers-reduced-motion:reduce){.ig-real-card:hover,.ig-embed-button:hover{transform:none}}


/* Instagram real posts V6 */
.ig-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.ig-post-card{min-width:0;background:linear-gradient(180deg,#141d2c,#101826);border:1px solid #2d3950;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.22);transition:transform .28s,border-color .28s,box-shadow .28s}
.ig-post-card:hover{transform:translateY(-6px);border-color:#a04e72;box-shadow:0 24px 48px rgba(0,0,0,.44),0 0 24px rgba(210,42,97,.16)}
.ig-post-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.06)}
.ig-post-profile{display:flex;align-items:center;gap:11px;min-width:0}
.ig-post-avatar{width:40px;height:40px;border-radius:50%;padding:2px;display:grid;place-items:center;flex:none;background:linear-gradient(45deg,#ffc65a,#fa3658,#7a4bf2)}
.ig-post-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #0c1420;background:#0c1420}
.ig-post-profile strong,.ig-post-profile small{display:block}
.ig-post-profile strong{font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.ig-post-profile small{font-size:10px;color:#a7b4c6;margin-top:3px}
.ig-post-open-top{width:34px;height:34px;border-radius:10px;border:1px solid #38475d;display:grid;place-items:center;color:#efeaff;font-size:22px;line-height:1;background:#111a28;transition:.25s}
.ig-post-open-top:hover{color:#ff83a0;border-color:#ff5d80;background:#201622}
.ig-post-media{display:block;background:#0a0f18;padding:14px 14px 0}
.ig-post-media img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:16px;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.ig-post-body{padding:18px 18px 21px}
.ig-post-kicker{color:#ff6482;font-size:9px;font-weight:850;letter-spacing:1.8px;margin:0 0 9px}
.ig-post-body h3{font-size:20px;letter-spacing:-.5px;margin:0 0 10px;color:#fff}
.ig-post-body p:not(.ig-post-kicker){font-size:12px;line-height:1.75;color:#aebace;margin:0 0 18px}
.ig-post-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ig-post-link-primary,.ig-post-link-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;padding:10px 16px;font-size:11px;font-weight:800;transition:.25s}
.ig-post-link-primary{background:linear-gradient(120deg,#f11243,#c40432);border:1px solid #fd506f;color:#fff;box-shadow:0 0 0 rgba(0,0,0,0)}
.ig-post-link-primary:hover{transform:translateY(-2px);box-shadow:0 0 20px rgba(241,18,67,.35),0 10px 20px rgba(0,0,0,.28)}
.ig-post-link-secondary{background:#151f30;border:1px solid #334159;color:#d3d9e6}
.ig-post-link-secondary:hover{border-color:#8d5cff;color:#fff;box-shadow:0 0 18px rgba(102,92,255,.18)}
@media(max-width:980px){.ig-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ig-post-grid{grid-template-columns:1fr;gap:15px}.ig-post-body{padding:16px 15px 18px}.ig-post-body h3{font-size:18px}.ig-post-media{padding:12px 12px 0}}


/* SEO service page layout, shared brand system */
.detail-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#aab7c9;font-size:12px;padding:26px 0 0}
.detail-breadcrumb a:hover{color:#ff5a79}.detail-breadcrumb .sep{color:#ff2f51}
.detail-hero{background:radial-gradient(ellipse at 76% 20%,rgba(221,15,61,.13),transparent 40%),radial-gradient(ellipse at 15% 90%,rgba(50,65,140,.15),transparent 50%),#0b1421;padding:52px 0 70px}
.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:center;gap:35px}
.detail-hero h1{font-size:clamp(36px,5.1vw,68px);line-height:1.09;letter-spacing:-2px;margin:20px 0 20px;font-weight:900}.detail-hero h1 em{font-style:normal;color:#f92a51}
.detail-hero p{color:#b5c0cf;font-size:16px;line-height:1.85;max-width:720px}
.detail-pill-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 26px}.detail-pill{border:1px solid #3c4a60;background:#142238;border-radius:999px;padding:9px 14px;font-weight:700;font-size:11px;color:#d5deed}
.detail-image-frame{border:1px solid #3f344d;padding:15px;border-radius:22px;min-height:320px;background:radial-gradient(circle at center,#25283e,#111827 70%);display:grid;place-items:center;box-shadow:0 22px 60px #0005}.detail-image-frame img{width:100%;max-height:450px;object-fit:contain;border-radius:13px}.detail-image-frame .detail-graphic{text-align:center;font-weight:950;font-size:clamp(70px,13vw,175px);color:#ef234a;letter-spacing:-12px;text-shadow:0 7px 40px #ee1a3b45}.detail-image-frame .detail-graphic small{display:block;font-size:14px;letter-spacing:3px;color:#bac7dc;text-shadow:none}
.detail-content{padding:80px 0;background:#080e17}.detail-intro{max-width:740px;margin-bottom:28px}.detail-intro h2,.detail-step h2,.detail-faq h2,.detail-related h2{font-size:clamp(28px,3.3vw,46px);letter-spacing:-1.5px;margin-bottom:20px}.detail-intro p,.detail-step p{color:#b4c0d0;line-height:1.85;font-size:15px}.detail-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.detail-option{background:linear-gradient(140deg,#142238,#0d1726);border:1px solid #304159;border-radius:14px;padding:25px}.detail-option .badge-no{font-size:12px;color:#ff496a;font-weight:900}.detail-option h3{font-size:18px;margin:20px 0 10px}.detail-option p{color:#afbece;font-size:13px;line-height:1.75}
.detail-step{background:linear-gradient(105deg,#181729,#111c2c);border:1px solid #40334d;border-radius:18px;padding:34px 38px;margin:45px 0}.detail-step h2{margin-bottom:13px}.detail-faq{margin:58px 0}.detail-faq details{border-bottom:1px solid #334158;padding:17px 4px}.detail-faq summary{font-size:16px;color:#eef2f9;font-weight:800;cursor:pointer;line-height:1.45}.detail-faq details p{margin:14px 0 0;color:#b1bdcc;line-height:1.75;font-size:14px}.detail-related{margin-top:56px}.detail-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-related-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#131f30;border:1px solid #334057;border-radius:12px;padding:22px;font-weight:800;font-size:13px}.detail-related-grid a:hover{border-color:#ec2f59;transform:translateY(-2px);box-shadow:0 0 17px #ca264630}.detail-related-grid span{color:#fe315c;font-size:22px}
.detail-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:25px}.detail-footnote{color:#9daabe;font-size:12px;line-height:1.75;margin-top:24px}
.local-seo-section{padding:90px 0;background:#0b1421}.local-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.local-faq-grid details{background:#131e2e;border:1px solid #304057;border-radius:12px;padding:19px 20px}.local-faq-grid summary{font-weight:800;color:#fff;cursor:pointer;font-size:13px;line-height:1.6}.local-faq-grid p{color:#b0becc;font-size:12px;line-height:1.9;margin:12px 0 0}.local-seo-links{margin-top:37px;border-top:1px solid #344057;padding-top:24px}.local-seo-links p{font-size:15px;font-weight:850}.local-seo-links nav{display:flex;flex-wrap:wrap;gap:10px}.local-seo-links a{border:1px solid #3e4c62;background:#111c2d;padding:10px 14px;border-radius:7px;font-size:12px;font-weight:750}.local-seo-links a:hover{border-color:#fb355b;color:#fff;background:#2a182d}
.service-more{display:block!important;margin-top:9px;font-size:11px!important;color:#a6b8d3!important}.service-more:hover{color:#fff!important}
@media(max-width:840px){.detail-hero-grid{grid-template-columns:1fr}.detail-image-frame{min-height:230px}.detail-options{grid-template-columns:1fr 1fr}.detail-related-grid{grid-template-columns:1fr 1fr}.local-faq-grid{grid-template-columns:1fr}}
@media(max-width:600px){.detail-hero{padding:26px 0 47px}.detail-hero h1{font-size:39px}.detail-hero p{font-size:14px}.detail-image-frame{display:none}.detail-options,.detail-related-grid{grid-template-columns:1fr}.detail-step{padding:25px 21px}.detail-content{padding:58px 0}.local-seo-section{padding:70px 0}}
@media(prefers-reduced-motion:reduce){.detail-related-grid a:hover{transform:none}}


/* V8 — pie de página: proporción de logo, distribución y accesibilidad.
   Los atributos width/height de HTML reservan la relación de aspecto original;
   height:auto es imprescindible al reducir width con CSS. */
.footer-main{
  grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(25px,4vw,52px);
}
.footer-brand,.footer-links{min-width:0}
.footer-brand p{max-width:300px}
.footer-links{overflow-wrap:break-word}
.footer-links a{line-height:1.5}
.footer-links a:focus-visible,.footer-ig:focus-visible{
  outline:2px solid #ff4c70;
  outline-offset:5px;
  border-radius:3px;
}
.footer-ig{display:inline-flex;align-items:center;gap:8px}
.footer-ig svg{width:16px;height:16px;flex-shrink:0}
@media (max-width:900px){
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:33px}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:620px){
  .footer{padding-top:40px}
  .footer-main{grid-template-columns:minmax(0,1fr);gap:27px;padding-bottom:35px}
  .footer-brand{grid-column:auto}
  .footer-brand img{width:170px;height:auto}
  .footer-links{gap:12px}
}


/* V9 · Ícono WhatsApp unificado en el sitio y en las 6 páginas de servicios. */
.floating-wa{display:grid;place-items:center;width:58px;height:58px;padding:0;box-sizing:border-box;line-height:1;font-size:0;white-space:nowrap;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.24);background:#1fbd64;box-shadow:0 9px 26px rgba(0,0,0,.4),0 0 0 3px rgba(31,189,100,.08);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.floating-wa .wa-icon{display:block;flex:none;width:30px;height:30px;max-width:none;object-fit:contain}
.floating-wa:hover{transform:translateY(-3px) scale(1.06);background:#19a953;box-shadow:0 13px 28px rgba(0,0,0,.45),0 0 21px rgba(31,189,100,.45)}
.floating-wa:focus-visible{outline:3px solid #fff;outline-offset:4px}
.cta-action .wa-icon{display:block;flex:none;width:21px;height:21px;object-fit:contain}
.footer-whatsapp{display:inline-flex;gap:8px;align-items:center;max-width:100%;flex-wrap:wrap}
.footer-whatsapp .wa-icon{width:18px;height:18px;display:inline-block;flex:none}
.detail-whatsapp-link .wa-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none;margin-right:8px}
@media(max-width:590px){.floating-wa{width:54px;height:54px;bottom:16px;right:14px}.floating-wa .wa-icon{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.floating-wa{transition:none}.floating-wa:hover{transform:none}}

/* V10: ajuste tipográfico de la portada en teléfonos.
   Evita que el trazo de "MARCA." se superponga con las letras vecinas. */
@media (max-width: 590px) {
  .hero h1 {
    font-size: clamp(37px, 11.7vw, 58px);
    line-height: 1.11;
    letter-spacing: -1.8px;
  }
  .hero h1 .outline-text {
    display: inline-block;
    font-size: .89em;
    letter-spacing: .025em;
    margin-left: .065em;
    white-space: nowrap;
    -webkit-text-stroke: 1px #e7e9f1;
  }
}


/* V11 — SOLUCION DEFINITIVA DE LEGIBILIDAD EN MOVILES
 * El texto hueco basado en -webkit-text-stroke causa contornos superpuestos
 * en algunos navegadores Android. En moviles pasamos MARCA. a relleno solido;
 * escritorio y tableta conservan el diseno aprobado. */
@media screen and (max-width: 590px) {
  .hero h1 {
    font-size: clamp(36px, 10.8vw, 52px);
    line-height: 1.13;
    letter-spacing: -.025em;
    font-weight: 900;
  }
  .hero h1 .outline-text {
    display: inline;
    font-size: 1em;
    font-weight: 900;
    letter-spacing: 0;
    margin-left: 0;
    white-space: normal;
    color: #f7f8fd !important;
    -webkit-text-fill-color: #f7f8fd !important;
    -webkit-text-stroke-width: 0 !important;
    -webkit-text-stroke-color: transparent !important;
    text-shadow: none !important;
  }
}
