@charset "UTF-8";
:root{--red:#ed3345;--dark:#101214;--muted:#677078;--line:#dfe2e5;--paper:#f4f5f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:135px}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;color:var(--dark);background:white}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.06}h1{font-size:clamp(3.5rem,5.8vw,5.6rem);font-weight:650;letter-spacing:-.055em}h2{font-size:clamp(2.1rem,3.35vw,3.25rem);font-weight:600;letter-spacing:-.045em}h2 span{color:var(--muted)}h3{font-size:1.45rem;letter-spacing:-.025em;line-height:1.2}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 100px));margin-inline:auto}.proposal{background:#272a2d;color:#e3e5e7;position:sticky;top:0;z-index:31;font-size:.75rem}.proposal>.wrap{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.proposal span{letter-spacing:.09em}.proposal button{border:0;border-bottom:1px solid #999;background:none;color:#eee;font-size:.75rem;padding:0}header{position:sticky;top:36px;z-index:30;background:#101214f7;border-bottom:1px solid #ffffff1a;color:white;backdrop-filter:blur(14px)}.navigation{height:91px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:17px}.brand img{width:98px;height:66px;object-fit:contain}.brand>span{font-size:.64rem;line-height:1.6;letter-spacing:.1em;border-left:1px solid #ffffff3b;padding-left:17px}.navigation nav{display:flex;align-items:center;gap:32px;font-size:.88rem}.navigation nav>a:not(.btn):hover{color:#ff6371}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;min-height:52px;border:1px solid transparent;border-radius:4px;font-size:.88rem;line-height:1.5;font-weight:600;text-align:center;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.red{background:var(--red);color:white}.red:hover{background:#c7192d}.outline{border-color:#ffffff50;color:white;background:transparent}.outline:hover{background:#ffffff10}.small{padding:11px 19px;min-height:44px}.hero{background:var(--dark);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr .88fr;gap:70px;align-items:center;padding-top:38px}.hero-copy{padding-bottom:30px}.overline{font-size:.7rem;font-weight:700;letter-spacing:.14em;line-height:1.7;margin-bottom:23px;color:inherit}.hero .overline{font-size:.66rem;color:#d1d5d8}.hero h1 span{color:var(--red)}.lead{max-width:480px;color:#aeb5bc;font-size:1rem;line-height:1.8;margin-top:25px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-bottom{display:flex;align-items:center;gap:17px;margin-top:36px}.hero-bottom p{font-size:.75rem;color:#aeb5bc;line-height:1.65}.hero-bottom b{font-weight:500;color:#e9ebed}.line{width:45px;height:2px;background:var(--red)}.hero-photo{height:555px;position:relative;background:#282e32;align-self:end}.hero-photo>img{height:100%;object-position:center 36%;filter:brightness(.83)}.hero-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#07090de8);pointer-events:none}.photo-caption{position:absolute;bottom:33px;left:32px;z-index:1}.photo-caption>span{font-size:.65rem;letter-spacing:.14em;border-left:3px solid var(--red);padding-left:9px}.photo-caption strong{display:block;margin-top:16px;font-size:2.2rem;line-height:1.12;letter-spacing:-.03em}.photo-caption small{display:block;font-size:.65rem;color:#c7cbd0;margin-top:14px}.vertical-label{position:absolute;top:28px;right:18px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:.59rem;color:#fff}.hero-line{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:20px;padding-block:29px;font-size:.65rem;letter-spacing:.12em;color:#bfc4c8;border-top:1px solid #ffffff25;margin-top:40px}.hero-line>span:last-child{text-align:right;color:#787f86}.section{padding-block:95px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-head>p,.section-head>div:nth-child(2){max-width:350px;font-size:.92rem}.red-text{color:#c52032}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.solution{padding:35px 30px;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:400px}.solution:last-child{border:0}.solution.feature{background:var(--paper)}.solution .num{position:absolute;right:25px;top:30px;font-size:.7rem;color:#91979c}.icon{width:45px;height:45px;stroke:var(--red);fill:none;stroke-width:1.5;margin-bottom:30px}.solution h3{max-width:270px;margin-bottom:18px}.solution p{font-size:.9rem;flex:1}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-block:22px}.tags span{font-size:.65rem;padding:3px 8px;border:1px solid #d3d9de}.text-button{display:inline-block;color:var(--dark);font-size:.85rem;font-weight:600;border:0;border-bottom:1px solid var(--dark);background:none;padding:0 0 3px;align-self:flex-start;text-align:left}.text-button:hover{color:#c52032;border-color:#c52032}.sector-section{background:var(--red);color:white;padding:60px 0}.sectors{display:grid;grid-template-columns:.9fr 1.25fr;gap:90px;align-items:center}.sectors .overline{font-size:.65rem}.sector-list button{display:grid;grid-template-columns:40px 1fr 1fr;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid #ffffff60;color:white;text-align:left;padding:16px 0;gap:20px}.sector-list button:hover{background:#ffffff15}.sector-list span{font-size:.7rem}.sector-list strong{font-size:1.4rem;letter-spacing:-.02em}.sector-list small{font-size:.8rem;justify-self:end}.section-head .text-button{margin-top:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery-image{display:block;width:100%;padding:0;border:0;background:#151515;position:relative;overflow:hidden}.gallery-image img{height:380px;object-position:50% 45%;transition:transform .35s}.gallery article:first-child img{object-position:center 25%}.gallery-image:hover img{transform:scale(1.03)}.gallery-image span{position:absolute;bottom:13px;right:13px;background:#101214d9;color:white;padding:5px 10px;font-size:.7rem}.gallery .overline{font-size:.62rem;color:#70767c;margin:20px 0 8px}.gallery h3{font-size:1.25rem}.gallery a{display:inline-block;font-size:.75rem;color:#65717b;margin-top:12px;text-decoration:underline;text-underline-offset:4px}.source-note{font-size:.7rem;max-width:800px;margin-top:26px}.about{background:var(--paper);padding:75px 0}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.about-lead{font-size:1.25rem;color:var(--dark);line-height:1.5;margin-bottom:20px}.about-grid p:not(.about-lead):not(.overline){font-size:.95rem}.about-values{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid #cdd3d7;margin-top:25px;padding-top:20px;font-size:.65rem;font-weight:600;letter-spacing:.08em}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{font-size:2.75rem;color:#c5cbd0;font-weight:300;letter-spacing:-.05em}.steps h3{margin:17px 0 12px;font-size:1.2rem}.steps p{font-size:.92rem}.contact{background:var(--dark);padding:90px 0;color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}.contact h2 em{font-style:normal;color:#ff6271}.contact-grid>div>p:not(.overline){color:#aeb7bd;margin-top:28px;max-width:440px;font-size:.95rem}.contact-option{display:flex;flex-direction:column;align-items:flex-start;border-block:1px solid #ffffff30;padding-block:25px;margin:35px 0 22px;gap:8px;max-width:440px}.contact-option>span{font-size:.65rem;letter-spacing:.15em;color:#9da6ac}.contact-option button{background:none;border:0;border-bottom:1px solid #fff;padding:0;font-size:1.3rem;color:white;text-align:left}.contact-option small{font-size:.7rem;color:#9da6ac}.instagram{font-size:.85rem;text-decoration:underline;text-underline-offset:5px}.contact .contact-note{font-size:.72rem!important;max-width:380px!important}form{background:white;color:var(--dark);padding:34px;border-radius:6px;align-self:start}form .overline{margin-bottom:12px;font-size:.65rem}form h3{font-size:1.5rem;margin-bottom:25px}form label{display:block;font-size:.8rem;font-weight:600;margin-bottom:15px}form input:not([type=checkbox]),form select,form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cdd4da;border-radius:3px;background:#fff;color:var(--dark);font-size:.85rem;padding:12px;min-height:46px}form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;min-width:0}.form-row>*{min-width:0}form .check{display:flex;gap:10px;font-size:.72rem;font-weight:400;align-items:flex-start;line-height:1.6}.check input{accent-color:var(--red);margin-top:4px}.check span{flex:1}form>.btn{width:100%}#form-status{font-size:.8rem;margin-top:10px;color:#7f2330}.faq{display:grid;grid-template-columns:1fr 1fr;gap:85px}details{border-bottom:1px solid var(--line);padding-block:20px}details:first-child{padding-top:0}summary{cursor:pointer;font-weight:600;font-size:.98rem;list-style:none;display:flex;justify-content:space-between;gap:25px;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.3rem;color:#bd1b2c}details[open] summary:after{content:'−'}details p{font-size:.9rem;margin-top:16px}.closing{background:var(--paper);text-align:center;padding:75px 0}.closing .overline{color:#be2332}.closing .btn{margin-top:30px}footer{background:var(--dark);color:white}.footer-top{padding:36px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top p{font-size:.8rem;color:#aeb7bd}.footer-top>a:last-child{font-size:.8rem}.footer-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;padding:23px 0 90px;font-size:.65rem;color:#9ca7ae}.footer-bottom button{background:none;border:0;padding:0;font-size:inherit;color:inherit}.float-contact{position:fixed;bottom:22px;right:24px;z-index:32;background:var(--dark);color:white;border:1px solid #ffffff65;border-radius:40px;box-shadow:0 8px 25px #0003;padding:11px 19px 11px 11px;display:flex;gap:8px;align-items:center;font-size:.8rem}.float-contact svg{height:30px;width:30px;stroke:#fff;fill:none;stroke-width:1.5}.float-contact:hover{background:#be2332}dialog{width:min(610px,calc(100% - 32px));border:0;border-radius:10px;padding:36px;color:var(--dark);box-shadow:0 25px 80px #0005;max-height:90vh}dialog::backdrop{background:#05070bc9;backdrop-filter:blur(6px)}dialog h2{font-size:2rem;margin-bottom:20px}dialog .overline{padding-right:20px}dialog p{font-size:.95rem}.close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;background:#eef0f1;border-radius:50%;font-size:1.5rem}.dismiss{margin-top:24px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:18px;border-left:3px solid var(--red);font: .85rem/1.7 Arial,sans-serif;max-height:280px;overflow:auto}pre:empty{display:none}#proposal-dialog{width:min(1000px,calc(100% - 32px));padding:45px}.comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}.comparison article{border-top:3px solid var(--red);padding-top:20px}.comparison span{font-size:.62rem;letter-spacing:.1em;color:#ac2735}.comparison h3{font-size:1.25rem;margin:15px 0}.comparison p,.comparison b{font-size:.86rem}.comparison b{display:block;margin-top:15px}.proposal-end{padding:25px;background:var(--paper);margin-top:30px}.proposal-end h3{font-size:1.2rem}.proposal-end p{font-size:.85rem;margin-top:12px}.proposal-end a{display:inline-block;margin-top:12px;font-size:.8rem;text-decoration:underline}#image-dialog{width:auto;text-align:center;padding:18px;background:#15191c;color:white}#image-dialog img{width:auto;max-width:100%;height:70vh;object-fit:contain}#image-dialog p{color:white;margin:10px 0 0}#image-dialog small{font-size:.7rem;color:#aeb7bd}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3d84d3;outline-offset:4px}.skip{position:fixed;top:-90px;left:15px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.hero-grid{gap:35px}.hero-photo{height:530px}.navigation nav{gap:20px}.brand>span{display:none}.solution{padding:27px 23px}.contact-grid,.about-grid,.sectors,.faq{gap:45px}.gallery-image img{height:340px}.hero h1{font-size:4.5rem}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.navigation{height:75px}.brand img{width:85px;height:60px}.menu{display:block;border:1px solid #ffffff55;background:transparent;color:white;border-radius:4px;width:42px;height:42px;font-size:1.3rem}.navigation nav{display:none;position:absolute;top:75px;left:0;right:0;padding:20px;background:var(--dark);flex-direction:column;align-items:stretch;gap:0}.navigation nav.open{display:flex}.navigation nav>a{padding:13px}.hero-grid{grid-template-columns:1fr 1fr;gap:25px;padding-top:35px}.hero h1{font-size:3.4rem}.hero .overline{font-size:.6rem}.hero .lead{font-size:.9rem}.hero-photo{height:540px}.hero .actions{flex-direction:column;align-items:flex-start}.hero-bottom{margin-top:24px}.photo-caption{left:20px;bottom:25px}.photo-caption strong{font-size:1.75rem}.hero-line{grid-template-columns:repeat(3,1fr);margin-top:30px}.hero-line>span:last-child{display:none}.section{padding-block:65px}.section-head{gap:25px;flex-direction:column;align-items:flex-start}.section-head>p,.section-head>div:nth-child(2){max-width:600px}.solution-grid{grid-template-columns:1fr}.solution{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:30px}.solution h3{max-width:none}.solution p{max-width:570px}.icon{margin-bottom:20px}.sectors,.about-grid,.contact-grid,.faq{grid-template-columns:1fr;gap:35px}.gallery{gap:18px}.gallery-image img{height:280px}.gallery h3{font-size:1.1rem}.gallery a{font-size:.68rem}.about,.contact{padding-block:60px}.steps{gap:25px}.steps h3{font-size:1.05rem}.steps p{font-size:.86rem}.contact h2{font-size:2.9rem}.comparison{grid-template-columns:1fr}.footer-top{flex-wrap:wrap}.footer-bottom{flex-wrap:wrap}#proposal-dialog{padding:30px}.contact-grid>div>p:not(.overline){max-width:600px}}
@media(max-width:560px){.proposal .desktop{display:none}.proposal>.wrap{gap:10px}.proposal span,.proposal button{font-size:.59rem}.hero-grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:clamp(3.1rem,12.4vw,4.2rem)}.hero .overline{font-size:.59rem}.hero .lead{font-size:1rem}.hero .actions{flex-direction:row;align-items:stretch}.hero .actions>.btn{flex:1;padding:14px 12px;font-size:.78rem}.hero-photo{height:450px;margin-top:12px;width:100%}.hero-photo img{object-position:center 30%}.photo-caption strong{font-size:2.2rem}.hero-line{gap:12px;font-size:.53rem;padding-block:22px}.section-head h2{font-size:2.35rem}.sector-list button{grid-template-columns:25px 1fr;gap:10px}.sector-list small{grid-column:2;justify-self:start}.sector-list strong{font-size:1.35rem}.sector-list button{padding-block:13px}.gallery{grid-template-columns:1fr;gap:32px}.gallery-image img{height:400px;object-position:50% 32%}.gallery h3{font-size:1.35rem}.gallery a{font-size:.8rem}.gallery .overline{font-size:.65rem}.source-note{font-size:.7rem}.steps{grid-template-columns:1fr;gap:28px}.steps h3{font-size:1.3rem;margin-top:12px}.steps p{font-size:.95rem}.contact h2{font-size:2.4rem}form{padding:27px 20px}.form-row{grid-template-columns:1fr;gap:0}.faq{gap:30px}.closing{padding-block:55px}.footer-top p{display:none}.footer-bottom{display:block;font-size:.7rem}.footer-bottom>*{display:block;margin-bottom:12px}.float-contact{right:16px;bottom:16px;padding:10px}.float-contact span{display:none}dialog{padding:30px 24px}.comparison{gap:25px}.brand>span{display:block;font-size:.58rem}.photo-caption small{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Identidad ampliada y presentación institucional de VANON. */
.brand img{width:150px;height:82px;object-fit:cover;object-position:center;flex-shrink:0}
.about-grid{grid-template-columns:.85fr 1.15fr;gap:65px}
.about-lead{font-size:1.1rem;line-height:1.8;margin-bottom:0}
.about strong{font-weight:600;color:var(--dark)}
.about-pillars,.purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:45px}
.about-pillars article{border-top:1px solid #cdd3d7;padding-top:26px}
.about-pillars .overline,.purpose-grid .overline{font-size:.75rem;margin-bottom:13px}
.about-pillars h3,.purpose-grid h3{font-size:1.65rem;margin-bottom:17px}
.about-pillars p:not(.overline),.purpose-grid p:not(.overline){font-size:1rem;line-height:1.8}
.purpose-grid{gap:24px;margin-top:35px}
.purpose-grid article{padding:35px;border-radius:6px;border-top:3px solid var(--red)}
.mission{background:var(--dark);color:white}
.mission .overline{color:#ff7280}
.mission p:not(.overline){color:#cbd1d5}
.mission strong{color:white}
.vision{background:white}
@media(max-width:800px){.brand img{width:132px;height:72px}.about-grid{grid-template-columns:1fr;gap:28px}.about-pillars{gap:25px}.purpose-grid article{padding:28px}}
@media(max-width:560px){.brand{gap:10px}.brand>span{padding-left:10px}.about-pillars,.purpose-grid{grid-template-columns:1fr;gap:25px}.about-pillars{margin-top:32px}.about-lead{font-size:1rem}.purpose-grid article{padding:27px 23px}}

/* El negro del archivo se funde con la superficie, sin marco ni recuadro. */
header,footer{isolation:isolate;background:var(--dark)}
.brand{animation:vanon-brand-entrance .8s cubic-bezier(.22,1,.36,1) both}
.brand img{mix-blend-mode:screen;filter:contrast(1.12);transition:transform .3s ease,filter .3s ease}
.brand>span{border-left-color:#ffffff22;letter-spacing:.13em;color:#c8cdd1}
@media(hover:hover){.brand:hover img{transform:translateY(-2px);filter:contrast(1.12) brightness(1.08)}}
@keyframes vanon-brand-entrance{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.brand{animation:none}.brand img{transition:none;transform:none}}

/* Vistas breves: cada sección tiene su propia entrada en el menú. */
[hidden]{display:none!important}
.navigation nav{gap:24px}
.navigation nav a[aria-current="page"]:not(.btn){color:#ff7280;text-decoration:underline;text-underline-offset:7px}
.view-toolbar{display:flex;align-items:center;gap:13px;padding-block:18px;font-size:.85rem;color:var(--muted)}
.view-toolbar a{text-decoration:underline;text-underline-offset:4px;color:var(--dark)}
.home-shortcuts{padding-block:45px}
.shortcuts-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.shortcuts-heading h2{font-size:1.65rem}.shortcuts-heading p{font-size:.9rem}
.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.shortcut-grid>a{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-top:3px solid var(--red);padding:25px;transition:background .2s}
.shortcut-grid>a:hover{background:var(--paper)}
.shortcut-grid span{font-size:.7rem;color:#bd2333;letter-spacing:.08em}.shortcut-grid h3{font-size:1.25rem;margin-top:12px}.shortcut-grid p{font-size:.9rem;margin:12px 0 18px;flex:1}.shortcut-grid b{font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.compact-closing{padding-block:30px}.compact-closing>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.compact-closing h2{font-size:1.8rem}.compact-closing .btn{margin:0}
[data-page].section{padding-block:45px}.hero-grid{padding-top:28px}.hero-photo{height:450px}.hero h1{font-size:clamp(3rem,5vw,4.7rem)}.hero-line{margin-top:25px;padding-block:20px}
.about{padding-block:45px}.about-accordion{margin-top:30px;max-width:960px;margin-inline:auto}.about-accordion details{background:white;padding:19px 24px;border:1px solid var(--line);margin-top:10px;border-radius:4px}.about-accordion summary{font-size:1.1rem}.about-accordion p{font-size:1rem;line-height:1.8}
.compact-disclosure{width:100%;padding:20px 0;border-top:1px solid var(--line)}.compact-disclosure>summary{font-size:1.1rem}.compact-disclosure .section-head{margin-top:28px}.faq{display:block}.faq-content{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:30px}.process .section-head h2,.faq-content h2{font-size:2rem}.contact{padding-block:45px}.contact h2{font-size:clamp(2rem,3vw,2.7rem)}.footer-top{padding-block:20px}.footer-bottom{padding-bottom:75px}
@media(max-width:1000px){.navigation nav{gap:14px;font-size:.8rem}}
@media(max-width:800px){.hero-grid{grid-template-columns:1.1fr 1fr}.hero-photo{height:460px}.hero h1{font-size:3.2rem}.shortcut-grid{gap:12px}.shortcut-grid>a{padding:20px}.faq-content{grid-template-columns:1fr;gap:25px}}
@media(max-width:560px){.hero-grid{grid-template-columns:1fr}.hero-photo{height:240px;margin-top:0}.hero-photo img{object-position:center 28%}.hero h1{font-size:clamp(2.8rem,11vw,3.7rem)}.hero-bottom{display:none}.hero-copy{padding-bottom:25px}.photo-caption strong{font-size:1.6rem}.photo-caption{bottom:20px}.photo-caption small{display:none}.vertical-label{font-size:.55rem}.home-shortcuts{padding-block:30px}.shortcuts-heading{display:block}.shortcuts-heading p{margin-top:8px}.shortcut-grid{grid-template-columns:1fr}.shortcut-grid>a{padding:20px}.shortcut-grid p{margin-block:8px 13px}.compact-closing>.wrap{flex-direction:column;align-items:flex-start}.compact-closing h2{font-size:1.65rem}.about-accordion details{padding:18px}.view-toolbar{padding-block:14px}.navigation nav{font-size:.9rem}}

/* Acabado contemporáneo: contraste, profundidad ligera y movimiento puntual. */
body{font-family:"Segoe UI",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2{font-weight:650}h1,h2,h3{text-wrap:balance}
.proposal{background:#202327}.proposal button{transition:color .2s}.proposal button:hover{color:white}
header{box-shadow:0 8px 28px #00000012}
.navigation nav>a:not(.btn){border-radius:7px;padding:8px 10px;transition:background .2s,color .2s}
.navigation nav a[aria-current="page"]:not(.btn){background:#ed334519;color:#ff8c98;text-decoration:none;box-shadow:inset 0 -2px #ed3345}
.hero{background:radial-gradient(ellipse at 95% 5%,#ed334512,transparent 55%),var(--dark)}
.hero .overline{display:inline-block;border:1px solid #ffffff24;border-radius:6px;padding:7px 11px;letter-spacing:.1em;background:#ffffff04}
.hero-photo{border-radius:16px;overflow:hidden;box-shadow:0 18px 45px #00000025;border:1px solid #ffffff20}
.hero-photo>img{filter:brightness(.88)}
.photo-caption{left:22px;right:22px;bottom:22px;padding:17px 20px;border-radius:10px;background:#101214b8;border:1px solid #ffffff26;backdrop-filter:blur(10px)}
.photo-caption strong{font-size:1.85rem;margin-top:10px}.photo-caption small{margin-top:9px}
.hero-line{border-top-color:#ffffff16}.hero-line span{font-size:.7rem}
.btn{border-radius:8px;transition:background .2s,transform .2s,box-shadow .2s}
.btn.red{background:#d92136;box-shadow:0 5px 16px #d9213618}.btn.red:hover{background:#bf192d;box-shadow:0 7px 20px #d921362b}
.btn.outline{background:#ffffff03;border-color:#ffffff38}.btn.outline:hover{background:#ffffff0d}
.shortcut-grid>a{border:1px solid #dfe3e7;border-radius:12px;background:linear-gradient(145deg,#fff,#f9fafb);box-shadow:0 3px 14px #10121403;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}
.shortcut-grid>a:before{content:"";display:block;width:28px;height:3px;background:var(--red);border-radius:2px;margin-bottom:17px}
.shortcut-grid span{font-size:.75rem}.shortcut-grid b{text-decoration:none;border-bottom:1px solid #d9a0a7;padding-bottom:3px}
.solution-grid{gap:18px;border:0}.solution,.solution:last-child{border:1px solid var(--line);border-radius:12px;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}
.solution.feature{background:linear-gradient(145deg,#fff,#fdf1f3);border-color:#e9cbd0}
.solution .icon{background:#fff1f3;border-radius:10px;padding:9px;width:54px;height:54px}.solution .tags span{border-radius:5px;background:#f8f9fa;font-size:.75rem}
.gallery-image{border-radius:12px}.gallery-image span{border-radius:6px;border:1px solid #ffffff30;backdrop-filter:blur(8px);font-size:.75rem}
.gallery .overline{font-size:.75rem;letter-spacing:.12em}.gallery a{font-size:.85rem}
.about-accordion details{border-radius:10px;transition:border-color .2s,box-shadow .2s}.about-accordion details[open]{border-color:#dda5ad;box-shadow:0 5px 18px #10121405}
.about-accordion summary:after{background:#fff1f3;border-radius:6px;min-width:28px;height:28px;display:grid;place-items:center;line-height:1}
.view-toolbar{font-size:.85rem}.view-toolbar #view-name{color:#9d2231;background:#fff0f2;padding:3px 10px;border-radius:6px}
.compact-closing{background:linear-gradient(105deg,#f3f5f7,#fcf5f6)}
form{border-radius:14px;box-shadow:0 18px 50px #0000001a;border:1px solid #ffffff33}
form input:not([type=checkbox]),form select,form textarea{border-radius:7px;background:#fcfcfd;transition:border-color .2s,box-shadow .2s}
form input:not([type=checkbox]):focus,form select:focus,form textarea:focus{border-color:#ac5261;box-shadow:0 0 0 3px #ed33450b}
form label{font-size:.875rem}.float-contact{box-shadow:0 6px 24px #00000024}
[data-page]:not([hidden]){animation:vanon-view-in .38s ease-out both}
@keyframes vanon-view-in{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.shortcut-grid>a:hover,.solution:hover{transform:translateY(-3px);border-color:#d7a1aa;box-shadow:0 12px 25px #10121409}.navigation nav>a:not(.btn):hover{background:#ffffff09}.about-accordion summary:hover{color:#a32232}}
@media(max-width:1100px) and (min-width:801px){.navigation nav{gap:8px}.navigation nav>a:not(.btn){padding-inline:6px}}
@media(max-width:800px){.navigation nav{border-bottom:1px solid #ffffff22;box-shadow:0 16px 25px #0002}.solution-grid{gap:14px}.hero-line span{font-size:.62rem}}
@media(max-width:560px){.hero .overline{font-size:.59rem;padding:6px 8px;max-width:100%}.photo-caption{left:14px;right:14px;bottom:14px;padding:12px 15px}.photo-caption strong{font-size:1.5rem;margin-top:6px}.hero-photo{border-radius:12px}.hero-line span{font-size:.54rem}.shortcut-grid>a:before{margin-bottom:12px}.shortcut-grid>a{padding:21px}.shortcut-grid span{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){[data-page]:not([hidden]){animation:none}.shortcut-grid>a,.solution{transition:none;transform:none}}
.contact-option>a{border-bottom:1px solid #fff;font-size:1.3rem;color:white;text-align:left}
#form-status a{margin-top:8px;font-size:.85rem}
#quote-fields{border:0;padding:0;margin:0;min-width:0}
#quote-fields>.btn{width:100%}
#contact-hint{display:block;color:var(--muted);font-weight:400;font-size:.8rem;margin-top:5px}
.no-script{padding:25px;background:#fff1f3;color:var(--dark)}.no-script a{text-decoration:underline}
.proposal button,.footer-bottom button{min-height:32px}
@media(pointer:coarse){.text-button,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center}.proposal button{min-height:36px}}
.business-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 23px;max-width:440px}
.business-details dt{font-size:.75rem;color:#aeb7bd}.business-details dd{font-size:.95rem;color:white;margin:4px 0 0}
@media(max-width:360px){.business-details{grid-template-columns:1fr}}

/* Material oficial: composiciones completas y reproducción bajo demanda. */
.hero-photo.official-hero{height:auto;align-self:center;background:#181b1f;display:flex;flex-direction:column}
.hero-photo.official-hero>img{display:block;position:static;width:100%;height:450px;object-fit:contain;object-position:center;filter:none}
.hero-photo.official-hero:after{display:none}
.hero-media-link{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px;background:#202428;color:white;position:relative;z-index:2}
.hero-media-link small{display:block;color:#ff8c98;font-size:.62rem;letter-spacing:.14em;margin-bottom:5px}
.hero-media-link span{font-size:.95rem;font-weight:600}.hero-media-link b{font-size:1.65rem;font-weight:400}
.media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}
.media-filters{display:flex;gap:7px;flex-wrap:wrap}.media-filters button{min-height:44px;border:1px solid var(--line);border-radius:25px;background:white;color:var(--dark);padding:10px 17px;font-size:.85rem}
.media-filters button span{opacity:.65;margin-left:5px}.media-filters button[aria-pressed=true]{background:var(--dark);color:white;border-color:var(--dark)}
#media-count{font-size:.8rem;color:var(--muted)}
.official-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.media-card{min-width:0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 5px 18px #10121406}
.official-image{background:#14171a;display:block;position:relative;width:100%;border:0;padding:0;border-radius:0;overflow:hidden}
.official-image img{display:block;width:100%;height:350px;object-fit:contain;object-position:center;transition:filter .25s;transform:none!important}
.official-image .media-badge{position:absolute;top:12px;left:12px;bottom:auto;right:auto;background:#101214df;color:white;padding:6px 10px;border-radius:6px;font-size:.7rem;transform:none}
.official-image .media-open{position:absolute;right:12px;bottom:12px;top:auto;left:auto;width:44px;height:44px;display:grid;place-items:center;background:#fff;color:#14171a;border-radius:50%;font-size:1.1rem;transform:none}
.media-card-copy{padding:20px}.media-card-copy .overline{font-size:.65rem;color:#ac2735;margin:0 0 9px}.media-card-copy h3{font-size:1.15rem;margin:0}
.team-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:55px;align-items:center;margin-top:36px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:16px}
.team-image{border:0;background:#171b1f;border-radius:10px;overflow:hidden;position:relative;padding:0;display:block;width:100%}
.team-image img{display:block;width:100%;height:360px;object-fit:contain}.team-image span{display:block;padding:12px;color:white;font-size:.8rem}
.team-feature h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;margin:15px 0 20px}.team-feature p:not(.overline){font-size:1rem;max-width:420px}.team-feature .text-button{margin-top:20px}
#video-dialog{width:min(880px,calc(100% - 28px));padding:24px;background:#f6f7f8;overflow:auto}
#video-dialog .close{z-index:3;width:42px;height:42px;box-shadow:0 3px 15px #0002}
.video-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
#project-video{width:100%;max-height:74vh;aspect-ratio:9/16;object-fit:contain;background:#080a0b;border-radius:10px}
.video-info{padding:24px 6px}.video-info h2{font-size:2rem}.video-info .video-hint{font-size:.8rem;margin:20px 0;color:var(--muted)}.video-info .btn{font-size:.8rem}.video-info #video-status{font-size:.8rem;margin-top:16px;color:#a42232}
@media(hover:hover){.official-image:hover img{filter:brightness(1.06)}.hero-media-link:hover{background:#2c3136}}
@media(max-width:800px){.hero-photo.official-hero>img{height:400px}.official-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.team-feature{gap:25px}.team-image img{height:300px}}
@media(max-width:560px){.hero-photo.official-hero{margin-top:0}.hero-photo.official-hero>img{height:auto;max-height:400px;aspect-ratio:4/5}.hero-media-link{padding:14px 18px}.media-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.media-filters button{padding:10px 14px}.official-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:14px}.official-gallery .media-card{flex:0 0 86%;scroll-snap-align:start}.official-image img{height:340px}.team-feature{grid-template-columns:1fr;padding:18px;gap:22px}.team-image img{height:auto;max-height:380px}.team-feature .overline{font-size:.65rem}.team-feature h3{font-size:1.85rem}.video-layout{grid-template-columns:1fr;gap:5px}#video-dialog{padding:16px}#project-video{max-height:58vh}.video-info{padding:15px 5px}.video-info h2{font-size:1.5rem;margin-bottom:12px}.video-info .overline{font-size:.65rem;margin-bottom:10px}}
