/* VDRIVER — dark technical visual system, using the interface's soft greens. */
:root{--bg:#0b110e;--bg-soft:#111b16;--panel:#17241c;--line:#354637;--text:#f1f5ee;--muted:#b8c6bc;--green:#b4c38c;--ink:#17291c}
body{background:#0b110e}h1,h2{font-weight:500}h3{font-weight:500}.eyebrow{letter-spacing:.16em}.site-header{background:rgba(8,14,10,.90);border-bottom:1px solid #62734c66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-header.is-scrolled{background:rgba(8,14,10,.95);border-color:#8a9b6266;box-shadow:0 10px 38px #00000032}.site-header nav a{transition:color .25s,background .25s,border-color .25s}.site-header nav .nav-contact{border-color:#91a173;border-radius:3px;background:linear-gradient(115deg,#b4c38c12,#b4c38c03);color:#e5edda}.site-header nav .nav-contact:hover{background:#b4c38c1c;border-color:#cbd8ac;box-shadow:0 0 20px #b4c38c0a}.site-header nav a[aria-current="location"]{color:#d9e2ad}.site-header nav a[aria-current="location"]::after{transform:scaleX(1)}.brand-caption{color:#c2cdb2;opacity:.85}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 75% 8%,#26362755,transparent 50%),#0b110e}.hero::before{content:"";position:absolute;z-index:-2;inset:0 0 35%;background:url('assets/portada-vdriver-1100.webp') center 25%/cover no-repeat;filter:blur(18px);opacity:.12;pointer-events:none}.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(128deg,transparent 0 48%,#b4c38c05 48% 62%,transparent 62%),radial-gradient(#b4c38c1a .7px,transparent .8px);background-size:auto,13px 13px;mask-image:linear-gradient(#000,transparent 75%);pointer-events:none}.hero-copy>.eyebrow{color:#c5d2a4}.hero h1 em{color:#b4c38c;text-shadow:0 0 36px #b4c38c10}.hero-description{color:#c1cec4}.hero-note{border-color:#93a77566;color:#b1bda8}.hero-bottom{border-color:#61744e5c}.hero-bottom>a{border-color:#899c6a80;background:#b4c38c08}.hero-bottom>a:hover{background:#b4c38c1a}.panorama-visual,.panorama-visual:hover{position:relative;border-color:#9aab7177;border-radius:4px;box-shadow:0 24px 65px #00000045,0 0 30px #b4c38c07;overflow:hidden}.panorama-visual::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 4px #0b110e33;border-radius:inherit}.panorama-visual .visual-bottom{background:linear-gradient(120deg,#18251b,#0d1510);border-color:#91a56c55;color:#e2e9d9}.panorama-visual .visual-bottom>span:last-child{color:#b7c5b3}
.button{position:relative;isolation:isolate;border:1px solid transparent;border-radius:3px;font-size:13px;letter-spacing:.01em}.button-green{background:linear-gradient(115deg,#c0cea0,#a8ba7e);border-color:#d0dcaf;color:#17291c;box-shadow:0 6px 24px #00000022,0 0 24px #b4c38c0d}.button-green:hover{background:#d9e2ad;box-shadow:0 10px 30px #00000030,0 0 28px #b4c38c17}.button .arrow-icon{margin-left:6px}.text-link{color:#e1e9d7}.text-link:hover{color:#d9e2ad}.button:focus-visible,.text-link:focus-visible{outline-color:#d9e2ad}
.section{position:relative}.experience{background:radial-gradient(ellipse at 5% 0,#293a2640,transparent 55%),#111b16;color:#f1f5ee;border-top:1px solid #80946238;border-bottom:1px solid #80946238}.experience .eyebrow{color:#b4c38c}.experience-copy .large-copy{color:#edf2e7}.experience-copy>p+p{color:#b8c6bc}.principles>span{border:1px solid #71855b66;background:#b4c38c08;color:#d1ddc1;border-radius:2px}.split-section>div:first-child{position:relative}.split-section>div:first-child::after{content:"";display:block;width:70px;height:3px;background:linear-gradient(90deg,#b4c38c,transparent);margin-top:32px;transform:skewX(-35deg)}
.interface-section{border-bottom:1px solid #80946238}.interface-section::after{background:linear-gradient(110deg,rgba(8,15,11,.84),rgba(8,15,11,.74))}.interface-preview{border-color:#9cad7277;border-radius:4px;box-shadow:0 20px 60px #00000045,0 0 28px #b4c38c07}.interface-preview figcaption{background:linear-gradient(115deg,#1a281d,#0e1711)}.interface-expand{color:#d1deac;border-color:#9bad7280}.interface-points article{border-color:#82986170}.interface-points article>span{color:#b4c38c}.interface-points h3{color:#eef3e8}.interface-points p{color:#c3cfc2}
.product-gallery{background:linear-gradient(122deg,#101a14,#15221a 60%,#101a14);border-color:#80946238}.product-gallery .section-heading{border-color:#78905b55}.gallery-grid figure{border:1px solid #78905b66;border-radius:4px;background:#101911;box-shadow:0 16px 44px #00000020}.gallery-grid figure:hover{border-color:#b4c38c;box-shadow:0 22px 54px #00000035,0 0 28px #b4c38c0a}.gallery-grid figcaption{background:linear-gradient(120deg,#18251b,#0e1711);color:#e1ead7}.gallery-grid small{color:#b9c8b4}.gallery-grid img{filter:saturate(.94)}
.practice{background:radial-gradient(ellipse at 90% 30%,#2a3d251f,transparent 60%),#0b110e}.practice-grid{gap:22px}.practice-card{padding:30px;background:linear-gradient(140deg,#1a291fba,#101912f0);border:1px solid #6d845350;border-radius:4px;box-shadow:0 10px 35px #00000020;overflow:hidden}.practice-card::before{content:"";position:absolute;top:0;right:0;width:48px;height:3px;background:#b4c38c66;transform:rotate(45deg) translate(13px,-11px);pointer-events:none}.practice-card:hover{background:linear-gradient(140deg,#243423,#152018);border-color:#a0b27b;box-shadow:0 16px 42px #00000030,0 0 20px #b4c38c08}.practice-card h3{color:#f1f5ee}.practice-card>p{color:#b8c6bc}.card-top{align-items:center}.card-top svg{display:block;width:58px;height:58px;padding:12px;border:1px solid #a2b57977;border-radius:50%;color:#bccd94;background:#b4c38c06;box-shadow:0 0 20px #b4c38c08}.card-number{color:#b8c7a1;font-size:11px;letter-spacing:.1em}.card-bottom{border-color:#72875866;color:#c0ceb1}.card-bottom .arrow-icon{color:#c5d7a0}
.institutions{background:linear-gradient(110deg,#111d15,#16241b 65%,#111b16);border-block:1px solid #80946238}.learning-steps article{padding:30px 0;border-color:#72875855}.learning-steps article>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #81985b70;border-radius:50%;font-size:10px;background:#b4c38c06;color:#c0d29b}.learning-steps article:hover{border-color:#b4c38c99}.learning-steps h3{color:#f1f5ee}.learning-steps p,.institutions-intro>p:not(.eyebrow){color:#b8c6bc}
.simulator-section{background:radial-gradient(ellipse at 90% 10%,#2b402729,transparent 55%),#0e1711;color:#f1f5ee;border-bottom:1px solid #80946238}.simulator-copy .eyebrow{color:#b4c38c}.simulator-copy p:not(.eyebrow){color:#b8c6bc}.simulator-photo,.simulator-detail-grid figure{border:1px solid #83965c66;border-radius:4px;background:#111b16;box-shadow:0 16px 40px #00000027}.simulator-photo figcaption,.simulator-detail-grid figcaption{background:linear-gradient(115deg,#1a281d,#101a13);color:#bdcbb5}.simulator-photo img,.simulator-detail-grid img{transition:filter .45s}.simulator-photo:hover img,.simulator-detail-grid figure:hover img{filter:brightness(1.07)}
.contact-section{position:relative;background:#0b110e;padding:76px 0}.contact-panel{padding:58px;background:linear-gradient(122deg,#253522eb,#111c14fa);border:1px solid #91a36c99;border-left:3px solid #b4c38c;color:#f1f5ee;box-shadow:0 22px 60px #00000038,0 0 35px #b4c38c07;overflow:hidden}.contact-panel .eyebrow{color:#b4c38c}.contact-panel h2{color:#f1f5ee;position:relative;z-index:1}.contact-panel p:not(.eyebrow){color:#c3cfbd}.contact-panel::before{content:"";position:absolute;right:15%;top:-80px;width:125px;height:500px;transform:rotate(32deg);background:linear-gradient(90deg,#b4c38c03,#b4c38c0a);border-inline:1px solid #b4c38c0c;pointer-events:none}.contact-panel::after{border-color:#b4c38c14;right:-100px;width:350px;height:350px}.contact-panel .button-dark{background:#b4c38c;color:#17291c;border:1px solid #cfdaad;z-index:1}.contact-panel .button-dark:hover{background:#d9e2ad}.contact-caption{color:#b9c8ad;position:relative;z-index:1}.site-footer{background:#080e0a;border-top:1px solid #80946238}.footer-bottom{border-color:#6a81504d;color:#b8c6bc}.footer-top p{color:#b8c6bc}.footer-top .text-link{color:#cbd9b3}
@media(max-width:1100px){.practice-card{padding:25px}.contact-panel{padding:44px}}
@media(max-width:800px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,14,10,.98)}.practice-grid{gap:14px}.practice-card{padding:22px 18px}.card-top svg{width:50px;height:50px;padding:10px}.contact-panel{padding:36px}.contact-section{padding:52px 0}}
@media(max-width:620px){.site-header nav .nav-contact{background:none;border:0}.practice-grid{gap:18px}.practice-card{padding:28px}.card-top svg{width:58px;height:58px;padding:12px}.learning-steps article{padding:26px 0}.contact-panel{padding:34px 24px}.contact-section{padding:44px 0}.hero::before{filter:blur(10px);opacity:.09}.panorama-visual,.panorama-visual:hover{border-radius:0;border-inline:0}.menu-toggle{border-color:#8c9e6b!important}.split-section>div:first-child::after{width:52px;margin-top:25px}}
@media(prefers-reduced-motion:reduce){.simulator-photo:hover img,.simulator-detail-grid figure:hover img{filter:none}}

/* New development views retain each source image's full framing. */
.urban-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.urban-gallery figure:nth-child(2){margin-top:0}.urban-gallery img{aspect-ratio:auto;object-fit:contain}.urban-gallery figcaption{gap:10px;align-items:start}.urban-gallery figcaption>span{line-height:1.5}.urban-development .section-heading>p{max-width:360px}@media(max-width:1100px){.urban-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.urban-gallery{grid-template-columns:1fr;gap:18px}}

/* Product overview: equal cards, aligned tops, placed after the simulators. */
.overview-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.overview-gallery .gallery-grid figure{display:flex;flex-direction:column;margin:0}.overview-gallery .gallery-grid img{aspect-ratio:1165/604;object-fit:contain}.overview-gallery .gallery-grid figcaption{flex:1;align-items:center;min-height:86px}.overview-gallery .gallery-grid figure:nth-child(2){margin-top:0}@media(max-width:800px){.overview-gallery .gallery-grid{grid-template-columns:1fr}.overview-gallery .gallery-grid figcaption{min-height:0}}
