:root{--surface:#fcf8fb;--surface-dim:#dcd9dc;--surface-bright:#fcf8fb;--surface-container-lowest:#ffffff;--surface-container-low:#f6f3f5;--surface-container:#f0edef;--surface-container-high:#eae7ea;--surface-container-highest:#e4e2e4;--on-surface:#1b1b1d;--on-surface-variant:#44474d;--inverse-surface:#303032;--inverse-on-surface:#f3f0f2;--outline:#7e7576;--outline-variant:#cfc4c5;--primary:#000000;--on-primary:#ffffff;--primary-container:#1b1b1b;--on-primary-container:#848484;--inverse-primary:#c6c6c6;--secondary:#00677f;--on-secondary:#ffffff;--secondary-container:#00d2ff;--on-secondary-container:#00566a;--tertiary:#000000;--on-tertiary:#ffffff;--tertiary-container:#001f28;--on-tertiary-container:#3f8da6;--background:#fcf8fb;--on-background:#1b1b1d;--surface-variant:#e4e2e4;--surface-muted:#f8fafc;--engineering-gray:#475569;--border-subtle:#e2e8f0;--radius-sm:0.125rem;--radius:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--element-gap:16px;--grid-gutter:32px;--section-padding:120px;--container-max:1280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Inter",sans-serif;background:var(--surface);color:var(--on-surface);line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--grid-gutter)}.mono{font-family:"JetBrains Mono",monospace}.label-caps,.logo-text span{color:var(--on-surface-variant);letter-spacing:.1em;text-transform:uppercase}.label-caps{font-size:12px;font-weight:700;line-height:16px}.material-symbols-outlined{font-variation-settings:"FILL"1,"wght"400,"GRAD"0,"opsz"24}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(252,248,251,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.logo,.nav{display:flex;align-items:center}.nav{justify-content:space-between;height:72px}.logo{gap:12px;text-decoration:none;color:var(--on-surface)}.logo-mark,.nav-links a{border-radius:var(--radius)}.logo-mark{width:40px;height:40px;background:var(--primary);display:flex;align-items:center;justify-content:center;color:var(--secondary-container);font-weight:800;font-size:18px;position:relative;overflow:hidden}.logo-mark::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(0,210,255,.3) 50%,transparent 60%)}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-text strong{font-weight:800;font-size:16px;letter-spacing:-.02em}.logo-text span{font-size:11px;margin-top:2px}.nav-cta,.nav-links{display:flex;gap:8px;align-items:center}.nav-links a{text-decoration:none;color:var(--on-surface);font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.nav-links a:hover{color:var(--secondary);background:var(--surface-container-low)}.nav-links a.active{background:var(--surface-container)}.nav-cta{background:var(--secondary-container)!important;color:var(--on-secondary-container)!important;font-weight:600!important;gap:6px}.nav-cta:hover{background:var(--secondary)!important;color:var(--on-secondary)!important}.btn,.footer a{text-decoration:none}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:var(--radius);font-weight:600;font-size:15px;cursor:pointer;border:0;transition:all .2s}.btn-primary,.page-index .service-card:hover .service-icon{background:var(--secondary-container);color:var(--on-secondary-container)}section{padding:var(--section-padding)0}.section-header{margin-bottom:64px;max-width:720px}.page-header .label-caps,.section-header .label-caps{color:var(--secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.page-header .label-caps::before,.section-header .label-caps::before{content:"";width:24px;height:1px;background:var(--secondary)}.page-index .fenix-info h2,.section-header h2,.value-card h4{color:var(--primary)}.section-header p,.value-card p{font-size:18px;line-height:28px;color:var(--on-surface-variant)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.form-group input,.form-group select,.form-group textarea,.value-card{padding:32px;background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius)}.value-num{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--secondary);margin-bottom:16px}.value-card h4{font-size:20px;font-weight:700;margin-bottom:12px}.value-card p{font-size:14px;line-height:22px}.cta-section::before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(0,210,255,.2),transparent 70%)}.cta-content{position:relative;z-index:1;max-width:640px}.cta-section h2,.page-header h1,.page-index .fenix-info h2,.section-header h2{font-size:32px;font-weight:700;line-height:40px;margin-bottom:16px;letter-spacing:-.02em}.cta-section p{font-size:16px;line-height:24px;color:rgba(255,255,255,.7);margin-bottom:32px}.footer a{font-size:14px;transition:color .2s}.footer a:hover,.nav-links a.active{color:var(--secondary)}.footer a,.footer-bottom,.page-header p{color:var(--on-surface-variant)}.footer-bottom{padding-top:32px;border-top:1px solid var(--outline-variant);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px}.page-header h1{font-size:48px;font-weight:800;line-height:56px;color:var(--primary)}.page-header p{font-size:18px;line-height:28px;max-width:720px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-overlay{position:absolute;inset:0;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.85)0,rgba(0,0,0,.3) 50%,transparent 100%);color:var(--on-primary)}.about-visual h4,.project-tag{letter-spacing:.1em;text-transform:uppercase}.project-tag{display:inline-block;background:var(--secondary-container);color:var(--on-secondary-container);padding:4px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;margin-bottom:12px;align-self:flex-start}.project-card h3{font-size:22px;font-weight:700;margin-bottom:8px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.about-content h3,.contact-item h5,.form-group label{font-size:24px;font-weight:700;margin-bottom:16px;color:var(--primary)}.about-content p{font-size:16px;line-height:26px;color:var(--on-surface-variant);margin-bottom:16px}.about-visual{background:var(--primary);border-radius:var(--radius-lg);padding:48px;color:var(--on-primary);position:relative;overflow:hidden;min-height:400px;display:flex;flex-direction:column;justify-content:space-between}.about-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(0,210,255,.3),transparent 50%),linear-gradient(rgba(0,210,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.05) 1px,transparent 1px);background-size:100% 100%,40px 40px,40px 40px}.about-visual-content{position:relative;z-index:1}.about-visual h4{font-size:14px;color:var(--secondary-container);margin-bottom:24px}.about-visual .big-stat{font-size:72px;font-weight:800;line-height:1;letter-spacing:-.02em;margin-bottom:8px}.about-visual .big-stat-label{font-size:14px;color:rgba(255,255,255,.7);margin-bottom:32px}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:48px}.contact-item h5,.form-group label{font-size:14px;margin-bottom:4px}.contact-item p{font-size:14px;color:var(--on-surface-variant);line-height:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;font-family:inherit;font-size:14px;color:var(--on-surface);transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--secondary-container);box-shadow:0 0 0 3px rgba(0,210,255,.1)}.form-group textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,210,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.1) 1px,transparent 1px);background-size:60px 60px;opacity:.5}.photo-hero .container{position:relative;z-index:1}.spec-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:var(--radius);padding:24px}.deliverable-card p,.page-index .hero p,.step p{font-size:14px;line-height:22px;color:var(--on-surface-variant)}.deliverable-card h4,.page-index .bento-item h4,.page-index .service-card h3{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--primary)}.tech-visual-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.page-index .menu-btn{display:none;background:0 0;border:0;cursor:pointer;color:var(--on-surface);padding:8px}.page-index .hero{padding-top:calc(72px + 80px);padding-bottom:var(--section-padding);background:linear-gradient(rgba(252,248,251,.85),rgba(252,248,251,.85)),url(img/hero-drone.jpg)center/cover no-repeat;position:relative;overflow:hidden}.page-index .hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:80px 80px;opacity:.4;pointer-events:none}.page-index .hero-content{position:relative;z-index:1;max-width:900px}.page-index .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface-container-lowest);border:1px solid var(--border-subtle);padding:8px 16px;border-radius:var(--radius-full);margin-bottom:32px}.page-index .pulse-dot{width:8px;height:8px;background:var(--secondary-container);border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 0 0 rgba(0,210,255,.7)}.page-index .hero h1{font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.02em;color:var(--primary);margin-bottom:24px}.page-index .hero h1 .accent{color:var(--secondary);position:relative}.page-index .hero h1 .accent::after,.page-index .service-card::before{content:"";position:absolute;left:0;background:var(--secondary-container)}.page-index .hero h1 .accent::after{right:0;bottom:4px;height:8px;opacity:.3;z-index:-1}.page-index .hero p{font-size:18px;line-height:28px;margin-bottom:40px;max-width:720px}.page-index .hero-actions{display:flex;gap:16px;flex-wrap:wrap}.page-index .btn-primary:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-index .btn-outline{background:0 0;color:var(--on-surface);border:1px solid var(--border-subtle)}.page-index .btn-outline:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.page-index .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gutter);margin-top:80px;padding-top:48px;border-top:1px solid var(--border-subtle)}.page-index .stat{display:flex;flex-direction:column;gap:8px}.page-index .stat-value{font-size:40px;font-weight:800;letter-spacing:-.02em;color:var(--primary);line-height:1}.page-index .stat-value .unit{font-size:20px;color:var(--secondary);margin-left:4px}.page-index .stat-label{font-size:13px;color:var(--on-surface-variant);font-weight:500}.page-index .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.page-index .service-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:32px;transition:all .3s;cursor:pointer;position:relative;overflow:hidden}.page-index .service-card::before{top:0;width:3px;height:0;transition:height .3s}.page-index .service-card:hover{border-color:var(--secondary-container);box-shadow:0 4px 20px rgba(0,210,255,.1);transform:translateY(-2px)}.page-index .service-card:hover::before{height:100%}.page-index .service-icon{width:48px;height:48px;background:var(--surface-container);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--secondary);margin-bottom:24px;transition:all .3s}.page-index .bento-item p,.page-index .service-card p{font-size:14px;line-height:22px;color:var(--on-surface-variant)}.page-index .service-card .arrow{margin-top:20px;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--secondary);opacity:0;transition:opacity .3s}.page-index .service-card:hover .arrow{opacity:1}.page-index .tech-section{background:var(--surface-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.page-index .bento{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;gap:16px}.page-index .bento-item,.page-index .bento-visual{border-radius:var(--radius);position:relative;overflow:hidden}.page-index .bento-item{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);padding:32px}.page-index .bento-item.large{grid-column:span 2;grid-row:span 2}.page-index .bento-item.wide{grid-column:span 2}.page-index .bento-item h4{font-size:14px;margin-bottom:8px}.page-index .bento-item .label-caps{margin-bottom:16px}.page-index .bento-visual{margin-top:24px;padding:24px;background:var(--primary);color:var(--on-primary)}.page-index .bento-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49%,rgba(0,210,255,.2) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(0,210,255,.2) 50%,transparent 51%);background-size:20px 20px;opacity:.5}.page-index .rtk-display{position:relative;z-index:1}.page-index .rtk-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px}.page-index .rtk-row:last-child{border:0}.page-index .rtk-row .key{color:rgba(255,255,255,.6);font-family:"JetBrains Mono",monospace}.page-index .rtk-row .val{color:var(--secondary-container);font-family:"JetBrains Mono",monospace;font-weight:500}.page-index .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-index .cta-section .btn-primary{background:var(--secondary-container);color:var(--on-secondary-container)}.page-index .footer{background:var(--surface-container-highest);padding:80px 0 32px;margin-top:var(--section-padding)}.page-index .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.page-index .footer-brand p{font-size:14px;line-height:22px;color:var(--on-surface-variant);margin-top:16px;max-width:320px}.page-fotogrametria .footer h5,.page-index .footer h5,.page-servicios .footer h5{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;color:var(--primary)}.page-fotogrametria .footer ul,.page-index .footer ul,.page-servicios .footer ul{list-style:none;display:flex;flex-direction:column;gap:12px}.page-index .page-header{padding-top:calc(72px + 64px);padding-bottom:64px;background:radial-gradient(ellipse at top right,rgba(0,210,255,.08),transparent 50%),var(--surface);border-bottom:1px solid var(--border-subtle);position:relative}.page-index .project-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--primary);cursor:pointer}.page-index .project-card img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:all .4s}.page-index .project-card:hover img{opacity:.5;transform:scale(1.05)}.page-index .project-card p{font-size:14px;color:rgba(255,255,255,.8)}.page-index .contact-info{display:flex;flex-direction:column;gap:24px}.page-index .contact-form,.page-index .contact-item{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius)}.page-index .contact-item{padding:24px;display:flex;gap:16px;align-items:flex-start}.page-index .contact-item .icon{width:40px;height:40px;background:var(--surface-container);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--secondary);flex-shrink:0}.page-index .contact-form{padding:40px}.page-index .certified-banner{background:linear-gradient(135deg,var(--primary-container) 0%,var(--primary) 100%);color:var(--on-primary);position:relative;overflow:hidden;padding:24px 0}.page-index .certified-banner::before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(0,210,255,.15),transparent 70%);pointer-events:none}.page-index .certified-content{display:flex;align-items:center;justify-content:space-between;gap:64px;position:relative;z-index:1}.page-index .certified-info .certified-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary-container);margin-bottom:16px}.page-index .certified-info h3{font-size:28px;font-weight:700;line-height:36px;margin-bottom:16px;letter-spacing:-.02em}.page-index .certified-info h3 .accent{color:var(--secondary-container)}.page-index .certified-info p{font-size:15px;line-height:24px;color:rgba(255,255,255,.75);margin-bottom:24px}.page-index .certified-brand{flex-shrink:0}.page-index .aerocivil-logo{width:200px;height:auto}.page-index .certified-drone{margin-top:24px}.page-index .certified-drone img{width:100%;max-width:240px;height:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.2))}.page-index .fenix-section{background:linear-gradient(135deg,#fd781d 0%,#d45200 100%);color:#fff;padding:64px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-index .fenix-section::before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,215,0,.2),transparent 70%);pointer-events:none}.page-index .fenix-content{display:flex;align-items:center;justify-content:space-between;gap:48px;position:relative;z-index:1}.page-index .fenix-brand{flex-shrink:0}.page-index .fenix-logo{width:200px;height:auto;filter:brightness(0) invert(1)}.page-index .fenix-info{flex:1;min-width:0}.page-index .fenix-info h2{font-size:28px;font-weight:700;margin-bottom:16px;color:#fff;letter-spacing:-.02em}.page-index .fenix-info h2 .accent{color:#ffd700}.page-index .fenix-info p{font-size:16px;line-height:26px;color:rgba(255,255,255,.85);margin-bottom:24px}.page-index .fenix-info .btn-primary{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25)}.page-index .fenix-info .btn-primary:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.4);transform:translateY(-1px);box-shadow:0 4px 20px rgba(253,120,29,.3)}.page-index .photo-hero{padding:calc(72px + 80px)0 80px;background:linear-gradient(135deg,rgba(0,31,40,.95),rgba(0,103,127,.85)),radial-gradient(circle at 30% 50%,rgba(0,210,255,.3),transparent 50%);color:var(--on-primary);position:relative;overflow:hidden}.page-fotogrametria .photo-hero h1,.page-index .photo-hero h1{font-size:56px;font-weight:800;line-height:64px;letter-spacing:-.02em;margin-bottom:24px}.page-index .photo-hero p{font-size:18px;line-height:28px;color:rgba(255,255,255,.8);max-width:720px;margin-bottom:40px}.page-index .process-steps,.page-index .specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}.page-index .spec-card .label-caps{color:var(--secondary-container);margin-bottom:12px}.page-index .spec-card .value{font-size:32px;font-weight:800;color:var(--on-primary);letter-spacing:-.02em}.page-index .spec-card .unit{font-size:14px;color:rgba(255,255,255,.6);margin-top:4px}.page-index .step{padding:24px;background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);position:relative}.page-index .step-num{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.page-index .step-num::before{content:"";width:16px;height:1px;background:var(--secondary)}.page-index .step h4,.page-servicios .service-content h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--primary)}.page-servicios .menu-btn{display:none;background:0 0;border:0;cursor:pointer;color:var(--on-surface);padding:8px}.page-servicios .page-header{padding-top:calc(72px + 64px);padding-bottom:64px;background:radial-gradient(ellipse at top right,rgba(0,210,255,.08),transparent 50%),var(--surface);border-bottom:1px solid var(--border-subtle);position:relative}.page-servicios .services-section{padding:var(--section-padding)0}.page-servicios .services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.page-servicios .service-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s}.page-servicios .service-card:hover{border-color:var(--secondary-container);box-shadow:0 4px 20px rgba(0,210,255,.1)}.page-servicios .carousel{position:relative;aspect-ratio:4/3;background:var(--primary);overflow:hidden;user-select:none;-webkit-user-select:none}.page-servicios .carousel-track{display:flex;height:100%;transition:transform .4s cubic-bezier(.25,.1,.25,1);will-change:transform}.page-servicios .carousel-slide{min-width:100%;height:100%;position:relative;overflow:hidden}.page-servicios .carousel-slide img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.page-servicios .carousel-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.3) 100%);pointer-events:none}.page-servicios .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary);opacity:0;transition:all .2s;z-index:2;backdrop-filter:blur(4px)}.page-servicios .carousel:hover .carousel-arrow{opacity:1}.page-servicios .carousel-arrow:hover{background:var(--secondary-container);color:var(--on-secondary-container)}.page-servicios .carousel-arrow.prev{left:12px}.page-servicios .carousel-arrow.next{right:12px}.page-servicios .carousel-arrow .material-symbols-outlined{font-size:20px}.page-servicios .carousel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}.page-servicios .carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);border:0;cursor:pointer;transition:all .3s;padding:0}.page-servicios .carousel-dot.active{background:#fff;transform:scale(1.2);box-shadow:0 0 0 2px rgba(255,255,255,.3)}.page-servicios .service-content{padding:28px}.page-servicios .service-number{display:none}.page-servicios .service-number::before{content:"";width:20px;height:1px;background:var(--secondary)}.page-servicios .service-content h3{font-size:20px;margin-bottom:12px;line-height:28px;letter-spacing:-.01em}.page-servicios .service-content p{font-size:14px;line-height:22px;color:var(--on-surface-variant);margin-bottom:20px}.page-servicios .service-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.page-servicios .feature-tag{font-size:11px;font-weight:600;padding:6px 12px;background:var(--surface-container);color:var(--on-surface-variant);border-radius:var(--radius-full);letter-spacing:.02em}.page-servicios .service-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--secondary);text-decoration:none;transition:gap .2s}.page-servicios .service-link:hover{gap:10px}.page-servicios .service-link .material-symbols-outlined{font-size:16px}.page-servicios .categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:48px}.page-servicios .category-btn{padding:10px 20px;border:1px solid var(--border-subtle);background:var(--surface-container-lowest);border-radius:var(--radius-full);font-size:13px;font-weight:600;color:var(--on-surface-variant);cursor:pointer;transition:all .2s;font-family:inherit}.page-servicios .category-btn:hover{border-color:var(--secondary-container);color:var(--secondary)}.page-servicios .category-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.page-servicios .additional-section{background:var(--surface-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.page-servicios .additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.page-servicios .additional-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:24px;transition:all .3s}.page-servicios .additional-card:hover{border-color:var(--secondary-container);transform:translateY(-2px)}.page-servicios .additional-card .icon{width:40px;height:40px;background:var(--surface-container);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--secondary);margin-bottom:16px}.page-fotogrametria .step h4,.page-servicios .additional-card h4{font-size:15px;font-weight:700;color:var(--primary);margin-bottom:8px}.page-servicios .additional-card p{font-size:13px;line-height:20px;color:var(--on-surface-variant)}.page-servicios .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:var(--section-padding) var(--grid-gutter);position:relative;overflow:hidden}.page-servicios .btn-primary:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-servicios .footer{background:var(--surface-container-highest);padding:80px 0 32px}.page-servicios .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.page-servicios .footer-brand p{font-size:14px;line-height:22px;color:var(--on-surface-variant);margin-top:16px;max-width:320px}.page-fotogrametria .menu-btn{display:none;background:0 0;border:0;cursor:pointer;color:var(--on-surface);padding:8px}.page-fotogrametria .photo-hero{padding:calc(72px + 80px)0 80px;background:linear-gradient(135deg,rgba(0,31,40,.95),rgba(0,103,127,.85)),radial-gradient(circle at 30% 50%,rgba(0,210,255,.3),transparent 50%);color:var(--on-primary);position:relative;overflow:hidden}.page-fotogrametria .photo-hero .label-caps{color:var(--secondary-container);margin-bottom:16px;display:flex;align-items:center;gap:8px}.page-fotogrametria .photo-hero .label-caps::before{content:"";width:24px;height:1px;background:var(--secondary-container)}.page-fotogrametria .photo-hero p{font-size:18px;line-height:28px;color:rgba(255,255,255,.8);max-width:720px;margin-bottom:40px}.page-fotogrametria .specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}.page-fotogrametria .spec-card .label-caps{color:var(--secondary-container);margin-bottom:12px}.page-fotogrametria .spec-card .value{font-size:32px;font-weight:800;color:var(--on-primary);letter-spacing:-.02em}.page-fotogrametria .spec-card .unit{font-size:14px;color:rgba(255,255,255,.6);margin-top:4px}.page-fotogrametria .process-section{background:var(--surface-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.page-fotogrametria .process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.page-fotogrametria .step{padding:24px;background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);position:relative}.page-fotogrametria .step-num{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.page-contacto .office-card .label-caps::before,.page-fotogrametria .step-num::before{content:"";width:16px;height:1px;background:var(--secondary)}.page-fotogrametria .step h4{font-size:16px}.page-fotogrametria .deliverables-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.page-fotogrametria .deliverable-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:32px;transition:all .3s}.page-fotogrametria .deliverable-card:hover{border-color:var(--secondary-container);box-shadow:0 4px 20px rgba(0,210,255,.1)}.page-fotogrametria .deliverable-icon{width:48px;height:48px;background:var(--surface-container);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--secondary);margin-bottom:20px}.page-fotogrametria .tech-visual{background:var(--primary);border-radius:var(--radius-lg);padding:64px;color:var(--on-primary);position:relative;overflow:hidden;margin-top:64px}.page-fotogrametria .tech-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(0,210,255,.3),transparent 50%),linear-gradient(rgba(0,210,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.05) 1px,transparent 1px);background-size:100% 100%,40px 40px,40px 40px}.page-fotogrametria .tech-visual h3{font-size:28px;font-weight:700;margin-bottom:16px;letter-spacing:-.02em}.page-fotogrametria .tech-visual p{font-size:16px;line-height:26px;color:rgba(255,255,255,.8);margin-bottom:24px}.page-fotogrametria .rtk-display{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:24px}.page-fotogrametria .rtk-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px}.page-fotogrametria .rtk-row:last-child{border:0}.page-fotogrametria .rtk-row .key{color:rgba(255,255,255,.6);font-family:"JetBrains Mono",monospace}.page-fotogrametria .rtk-row .val{color:var(--secondary-container);font-family:"JetBrains Mono",monospace;font-weight:500}.page-fotogrametria .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-fotogrametria .btn-primary:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-fotogrametria .footer{background:var(--surface-container-highest);padding:80px 0 32px}.page-fotogrametria .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.page-fotogrametria .footer-brand p{font-size:14px;line-height:22px;color:var(--on-surface-variant);margin-top:16px;max-width:320px}.page-construccion .menu-btn{display:none;background:0 0;border:0;color:var(--on-surface);cursor:pointer}.page-construccion .photo-hero{padding-top:180px;background:linear-gradient(to bottom,var(--surface-container-low) 0%,var(--surface) 100%);border-bottom:1px solid var(--border-subtle)}.page-construccion .photo-hero h1{font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.03em;color:var(--primary);margin-top:24px;margin-bottom:24px;max-width:800px}.page-construccion .photo-hero p{font-size:20px;line-height:30px;color:var(--on-surface-variant);max-width:720px;margin-bottom:48px}.page-construccion .specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--border-subtle);padding-top:48px}.page-construccion .spec-card .label-caps{font-size:10px;color:var(--on-surface-variant);margin-bottom:8px}.page-construccion .spec-card .value{font-size:32px;font-weight:800;color:var(--secondary);letter-spacing:-.02em}.page-construccion .spec-card .unit{font-size:16px;font-weight:600;color:var(--on-surface-variant);margin-left:2px}.page-construccion .process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.page-construccion .step{position:relative}.page-construccion .step-num{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--secondary);font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:8px}.page-construccion .step-num::before{content:"";width:12px;height:1px;background:var(--secondary)}.page-construccion .step h4{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--primary)}.page-construccion .tech-visual{margin-top:80px;background:var(--primary-container);color:var(--on-primary);border-radius:var(--radius-lg);padding:64px;position:relative;overflow:hidden}.page-construccion .tech-visual::before{content:"";position:absolute;top:-50%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(0,210,255,.15),transparent 70%)}.page-construccion .tech-visual h3{font-size:32px;font-weight:700;line-height:40px;margin-bottom:24px;letter-spacing:-.02em}.page-construccion .tech-visual p{font-size:16px;line-height:26px;color:rgba(255,255,255,.7);margin-bottom:32px}.page-construccion .rtk-display{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:32px;font-family:"JetBrains Mono",monospace;font-size:13px}.page-construccion .rtk-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.page-construccion .rtk-row:last-child{border-bottom:none}.page-construccion .rtk-row .key{color:rgba(255,255,255,.4)}.page-construccion .rtk-row .val{color:var(--secondary-container);font-weight:500}.page-construccion .process-section{background:var(--surface-container-lowest);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.page-construccion .deliverables-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.page-construccion .deliverable-card{padding:32px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:transform .2s}.page-construccion .deliverable-card:hover{transform:translateY(-4px)}.page-construccion .deliverable-icon{width:48px;height:48px;background:var(--surface-container-high);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--secondary);margin-bottom:24px}.page-construccion .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-construccion .btn-primary:hover{background:var(--secondary);color:var(--on-secondary)}.page-construccion .footer{background:var(--surface-container-low);border-top:1px solid var(--border-subtle);padding:80px 0 32px}.page-construccion .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:64px;margin-bottom:64px}.page-construccion .footer-brand .logo{margin-bottom:24px}.page-construccion .footer-brand p{line-height:22px;max-width:320px}.page-construccion .footer h5,.page-contacto .footer h5,.page-nosotros .footer h5,.page-proyectos .footer h5{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px;color:var(--primary)}.page-construccion .footer ul{list-style:none}.page-construccion .footer ul li{margin-bottom:12px}.page-construccion .footer ul li a{text-decoration:none;transition:color .2s}.page-contacto .menu-btn{display:none;background:0 0;border:0;cursor:pointer;color:var(--on-surface);padding:8px}.page-contacto .page-header{padding-top:calc(72px + 64px);padding-bottom:64px;background:radial-gradient(ellipse at top right,rgba(0,210,255,.08),transparent 50%),var(--surface);border-bottom:1px solid var(--border-subtle)}.page-contacto .contact-info{display:flex;flex-direction:column;gap:20px}.page-contacto .contact-form,.page-contacto .contact-item{background:var(--surface-container-lowest);border:1px solid var(--border-subtle)}.page-contacto .contact-item{padding:24px;border-radius:var(--radius);display:flex;gap:16px;align-items:flex-start;transition:all .3s}.page-contacto .contact-item:hover{border-color:var(--secondary-container);box-shadow:0 4px 20px rgba(0,210,255,.1)}.page-contacto .contact-item .icon{width:44px;height:44px;background:var(--surface-container);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--secondary);flex-shrink:0}.page-contacto .contact-item a,.page-contacto .office-contact a{color:var(--secondary);text-decoration:none}.page-contacto .contact-item a:hover,.page-contacto .office-contact a:hover{text-decoration:underline}.page-contacto .contact-form{border-radius:var(--radius-lg);padding:40px}.page-contacto .form-header{margin-bottom:32px}.page-contacto .form-header h3{font-size:22px;font-weight:700;color:var(--primary);margin-bottom:8px}.page-construccion .footer ul li a,.page-construccion .footer-brand p,.page-contacto .form-header p{font-size:14px;color:var(--on-surface-variant)}.page-contacto .form-submit{width:100%;padding:16px;background:var(--secondary-container);color:var(--on-secondary-container);border:0;border-radius:var(--radius);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.page-contacto .form-submit:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-contacto .offices-section{background:var(--surface-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.page-contacto .offices-grid{display:grid;grid-template-columns:1fr;gap:32px}.page-contacto .office-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:stretch}.page-contacto .office-card::before,.page-nosotros .mvv-card::before{content:"";position:absolute;top:0;left:0;background:var(--secondary-container)}.page-contacto .office-card::before{bottom:0;width:4px}.page-contacto .office-info{display:flex;flex-direction:column;justify-content:center;padding-left:8px}.page-contacto .office-map{border-radius:var(--radius-md);overflow:hidden;height:350px;border:1px solid var(--border-subtle)}.page-contacto .office-card .label-caps{color:var(--secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.page-contacto .footer-brand p,.page-contacto .office-address{font-size:14px;line-height:22px;color:var(--on-surface-variant)}.page-contacto .office-address{margin-bottom:20px}.page-contacto .office-contact{display:flex;flex-direction:column;gap:8px}.page-contacto .office-contact a{display:flex;align-items:center;gap:8px;font-size:14px}.page-contacto .office-contact .material-symbols-outlined{font-size:18px}.page-contacto .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-contacto .btn-primary:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-contacto .footer{background:var(--surface-container-highest);padding:80px 0 32px}.page-contacto .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.page-contacto .footer-brand p{margin-top:16px;max-width:320px}.page-contacto .footer h5,.page-nosotros .footer h5,.page-proyectos .footer h5{font-size:13px;margin-bottom:20px}.page-contacto .footer ul,.page-nosotros .footer ul,.page-proyectos .footer ul{list-style:none;display:flex;flex-direction:column;gap:12px}.page-nosotros .menu-btn{display:none;background:0 0;border:0;cursor:pointer;color:var(--on-surface);padding:8px}.page-nosotros .page-header{padding-top:calc(72px + 64px);padding-bottom:64px;background:radial-gradient(ellipse at top right,rgba(0,210,255,.08),transparent 50%),var(--surface);border-bottom:1px solid var(--border-subtle)}.page-nosotros .about-visual-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;z-index:1}.page-nosotros .about-visual-stat .value{font-size:28px;font-weight:800;color:var(--secondary-container)}.page-nosotros .about-visual-stat .label{font-size:12px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.page-nosotros .mvv-section{background:var(--surface-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.page-nosotros .mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.page-nosotros .mvv-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:32px;position:relative;overflow:hidden}.page-nosotros .mvv-card::before{width:3px;height:100%}.page-nosotros .mvv-card .label-caps{color:var(--secondary);margin-bottom:16px}.page-contacto .office-card h3,.page-nosotros .mvv-card h3,.page-nosotros .team-info h4{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--primary)}.page-nosotros .mvv-card p{font-size:15px;line-height:24px;color:var(--on-surface-variant)}.page-nosotros .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.page-nosotros .team-card{background:var(--surface-container-lowest);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;transition:all .3s}.page-nosotros .team-card:hover{border-color:var(--secondary-container);transform:translateY(-2px)}.page-nosotros .team-image{aspect-ratio:1;background:linear-gradient(135deg,var(--primary-container),var(--surface-container-high));display:flex;align-items:center;justify-content:center;color:var(--secondary-container);font-size:48px;font-weight:800}.page-nosotros .team-info{padding:24px}.page-nosotros .team-info h4{font-size:16px;margin-bottom:4px}.page-nosotros .team-info .role{font-size:13px;color:var(--secondary);font-weight:600;margin-bottom:8px}.page-nosotros .footer-brand p,.page-nosotros .team-info p{font-size:13px;line-height:20px;color:var(--on-surface-variant)}.page-nosotros .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-nosotros .btn-primary:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-nosotros .footer{background:var(--surface-container-highest);padding:80px 0 32px}.page-nosotros .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.page-nosotros .footer-brand p{font-size:14px;line-height:22px;margin-top:16px;max-width:320px}.page-proyectos .menu-btn{display:none;background:0 0;border:0;cursor:pointer;color:var(--on-surface);padding:8px}.page-proyectos .page-header{padding-top:calc(72px + 64px);padding-bottom:64px;background:radial-gradient(ellipse at top right,rgba(0,210,255,.08),transparent 50%),var(--surface);border-bottom:1px solid var(--border-subtle)}.page-proyectos .project-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;background:var(--primary);cursor:pointer;transition:transform .3s}.page-proyectos .project-card:hover{transform:translateY(-4px)}.page-proyectos .featured-project img,.page-proyectos .project-card img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:all .4s}.page-proyectos .project-card:hover img{opacity:.6;transform:scale(1.05)}.page-proyectos .project-card p{font-size:14px;color:rgba(255,255,255,.85);line-height:22px}.page-proyectos .project-meta{display:flex;gap:16px;margin-top:12px;font-size:12px;color:rgba(255,255,255,.7)}.page-proyectos .project-meta span{display:flex;align-items:center;gap:4px}.page-proyectos .project-meta .material-symbols-outlined{font-size:14px}.page-proyectos .featured-project{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:21/9;background:var(--primary);margin-bottom:64px;cursor:pointer}.page-proyectos .featured-project img{opacity:.8}.page-proyectos .featured-project:hover img{opacity:.6;transform:scale(1.02)}.page-proyectos .featured-overlay{position:absolute;inset:0;padding:64px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.9)0,rgba(0,0,0,.4) 60%,transparent 100%);color:var(--on-primary)}.page-proyectos .featured-overlay .label-caps{color:var(--secondary-container);margin-bottom:16px}.page-proyectos .featured-overlay h2{font-size:40px;font-weight:800;line-height:48px;letter-spacing:-.02em;margin-bottom:16px;max-width:720px}.page-proyectos .featured-overlay p{font-size:16px;line-height:24px;color:rgba(255,255,255,.8);max-width:640px;margin-bottom:24px}.page-proyectos .featured-stats{display:flex;gap:32px}.page-proyectos .featured-stat .value{font-size:24px;font-weight:800;color:var(--secondary-container)}.page-proyectos .featured-stat .label{font-size:12px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.1em}.page-proyectos .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:48px}.page-proyectos .filter-btn{padding:10px 20px;border:1px solid var(--border-subtle);background:var(--surface-container-lowest);border-radius:var(--radius-full);font-size:13px;font-weight:600;color:var(--on-surface-variant);cursor:pointer;transition:all .2s;font-family:inherit}.page-proyectos .filter-btn:hover{border-color:var(--secondary-container);color:var(--secondary)}.page-proyectos .filter-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.page-proyectos .cta-section{background:var(--primary);color:var(--on-primary);padding:80px;border-radius:var(--radius-lg);margin:0 var(--grid-gutter);position:relative;overflow:hidden}.page-proyectos .btn-primary:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,210,255,.3)}.page-proyectos .footer{background:var(--surface-container-highest);padding:80px 0 32px}.page-proyectos .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.page-proyectos .footer-brand p{font-size:14px;line-height:22px;color:var(--on-surface-variant);margin-top:16px;max-width:320px}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}.page-index .bento,.page-index .process-steps,.page-index .services-grid,.page-index .specs-grid,.page-index .stats,.page-index .values-grid{grid-template-columns:repeat(2,1fr)}.page-index .bento-item.large{grid-column:span 2;grid-row:span 1}.page-index .bento-item.wide{grid-column:span 2}.page-servicios .services-grid{grid-template-columns:1fr}.page-fotogrametria .deliverables-grid,.page-fotogrametria .process-steps,.page-fotogrametria .specs-grid,.page-servicios .additional-grid{grid-template-columns:repeat(2,1fr)}.page-fotogrametria .tech-visual-content{grid-template-columns:1fr}.page-construccion .specs-grid{gap:32px}.page-construccion .deliverables-grid,.page-construccion .process-steps,.page-construccion .specs-grid{grid-template-columns:repeat(2,1fr)}.page-contacto .contact-grid,.page-contacto .offices-grid,.page-nosotros .about-grid{grid-template-columns:1fr}.page-nosotros .mvv-grid,.page-nosotros .team-grid,.page-nosotros .values-grid{grid-template-columns:repeat(2,1fr)}.page-proyectos .projects-grid{grid-template-columns:1fr}.page-proyectos .featured-overlay h2{font-size:28px;line-height:36px}}@media (max-width:768px){:root{--section-padding:64px;--grid-gutter:16px}.project-card{aspect-ratio:auto;display:flex;flex-direction:column}.project-card img{position:absolute;inset:0;width:100%;height:100%}.project-overlay{position:relative;inset:auto;padding:24px 20px;background:linear-gradient(to top,rgba(0,0,0,.9)0,rgba(0,0,0,.5) 80%,rgba(0,0,0,.3) 100%)}.project-card h3{font-size:18px;line-height:24px}.project-card p{font-size:13px;line-height:18px}.nav-links{display:none}.menu-btn{display:block}.photo-hero h1{font-size:36px;line-height:44px}.footer-grid{gap:32px}.footer-grid,.form-row{grid-template-columns:1fr}.page-header h1,.page-index .hero h1,.page-index .page-header h1{font-size:32px;line-height:40px}.tech-visual{padding:32px}.page-index .fenix-info h2,.page-index .section-header h2{font-size:28px;line-height:36px}.page-index .about-grid,.page-index .contact-grid,.page-index .projects-grid,.page-index .services-grid,.page-index .stats,.page-index .values-grid{grid-template-columns:1fr;gap:16px}.page-index .bento{grid-template-columns:1fr}.page-index .bento-item.large,.page-index .bento-item.wide{grid-column:span 1}.page-index .cta-section{padding:48px 32px;margin:0 16px}.page-index .process-steps,.page-index .specs-grid{grid-template-columns:1fr}.page-index .certified-content{flex-direction:column;text-align:center;gap:32px}.page-index .certified-brand{width:100%;display:flex;justify-content:center}.page-index .certified-drone img{max-width:200px}.page-index .certified-info h3{font-size:22px;line-height:30px}.page-index .fenix-section{padding:48px 32px;margin:0 16px}.page-index .fenix-content{flex-direction:column;text-align:center;gap:24px}.page-index .fenix-brand{width:100%;display:flex;justify-content:center}.page-index .fenix-info p{max-width:100%}.page-index .hero-actions{flex-direction:column;align-items:stretch}.page-index .btn{justify-content:center}.page-servicios .additional-grid{grid-template-columns:1fr}.page-servicios .cta-section{padding:48px 32px;margin:var(--section-padding) 16px}.page-servicios .carousel-arrow{opacity:1;width:32px;height:32px}.page-fotogrametria .deliverables-grid,.page-fotogrametria .process-steps,.page-fotogrametria .specs-grid{grid-template-columns:1fr}.page-fotogrametria .cta-section{padding:48px 32px;margin:0 16px}.page-construccion .deliverables-grid,.page-construccion .footer-grid,.page-construccion .process-steps,.page-construccion .specs-grid,.page-construccion .tech-visual-content{grid-template-columns:1fr}.page-construccion .tech-visual-content{gap:32px}.page-construccion .cta-section,.page-contacto .cta-section{padding:48px 32px;margin:0 16px}.page-contacto .contact-form{padding:24px}.page-contacto .office-card{grid-template-columns:1fr;gap:24px;padding:24px}.page-contacto .office-card::before{left:0;right:0;top:0;bottom:auto;width:100%;height:4px}.page-contacto .office-info{padding-left:0;padding-top:8px}.page-contacto .office-map{height:250px}.page-nosotros .mvv-grid,.page-nosotros .team-grid,.page-nosotros .values-grid{grid-template-columns:1fr}.page-nosotros .cta-section{padding:48px 32px;margin:0 16px}.page-nosotros .about-visual{padding:32px;min-height:auto}.page-nosotros .about-visual .big-stat{font-size:48px}.page-proyectos .projects-grid{margin-top:40px}.page-proyectos .featured-project{aspect-ratio:auto;display:flex;flex-direction:column}.page-proyectos .featured-project img{position:absolute;inset:0;width:100%;height:100%}.page-proyectos .featured-overlay{position:relative;inset:auto;padding:32px 20px;background:linear-gradient(to top,rgba(0,0,0,.95)0,rgba(0,0,0,.6) 80%,rgba(0,0,0,.4) 100%)}.page-proyectos .featured-overlay .label-caps{margin-bottom:8px}.page-proyectos .featured-overlay h2{font-size:22px;line-height:28px;margin-bottom:12px}.page-proyectos .featured-overlay p{font-size:14px;line-height:20px;margin-bottom:20px}.page-proyectos .featured-stats{flex-wrap:wrap;gap:16px}.page-proyectos .featured-stat .value{font-size:20px}.page-proyectos .cta-section{padding:48px 32px;margin:0 16px}}.footer-fenix{margin:32px 0 24px;padding-top:24px;border-top:1px solid var(--border-subtle)}.footer-fenix .label-caps{font-size:10px;color:var(--on-surface-variant);margin-bottom:8px;display:flex;align-items:center;gap:6px}.footer-fenix .label-caps::before{content:'';width:16px;height:1px;background:var(--on-surface-variant)}.footer-fenix-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--on-surface-variant);transition:color .2s}.footer-fenix-brand:hover{color:var(--primary)}.footer-fenix-brand img{width:130px;height:auto;flex-shrink:0}.footer-fenix-brand .fenix-text strong{display:block;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--primary);text-transform:uppercase}.footer-fenix-brand .fenix-text span{display:block;font-size:12px;color:var(--on-surface-variant);margin-top:2px;line-height:16px}.footer-fenix-brand:hover .fenix-text strong{color:var(--secondary)}.footer-fenix-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--on-surface-variant);font-size:13px;font-weight:600;transition:color .2s}.footer-fenix-link:hover{color:var(--secondary)}.footer-fenix-link img{width:100px;height:auto;opacity:.85;transition:opacity .2s}.footer-fenix-link:hover img{opacity:1}@media(max-width:768px){.footer-fenix-link img{width:80px}}


/* Redesign Aerocivil Banner */
.certified-banner {
    background: linear-gradient(to right, rgba(10, 10, 10, 0.95) 0%, rgba(10, 10, 10, 0.75) 50%, rgba(10, 10, 10, 0.95) 100%), url('../img/drone_training_bg.jpg') center/cover no-repeat !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.certified-content {
    gap: 48px !important;
}
.aerocivil-logo {
    width: 160px !important;
    height: auto !important;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
}
.certified-info p {
    font-size: 16px !important;
    line-height: 1.6 !important;
    max-width: 600px;
}
@media (max-width: 768px) {
    .certified-banner {
        background: linear-gradient(to bottom, rgba(10, 10, 10, 0.9) 0%, rgba(10, 10, 10, 0.7) 100%), url('../img/drone_training_bg.jpg') center/cover no-repeat !important;
    }
}


/* ==========================================================================
   Comprehensive Mobile Responsiveness Fixes
   ========================================================================== */

/* 1. Prevent Horizontal Page Overflow */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

img, video, iframe, svg {
    max-width: 100%;
    height: auto;
}

/* 2. Touch Friendly Hover Overrides */
@media (hover: none), (max-width: 768px) {
    .page-index .service-card .arrow,
    .page-servicios .carousel-arrow,
    .page-servicios .service-link {
        opacity: 1 !important;
    }
}

/* 3. Mobile Styles (<= 768px) */
@media (max-width: 768px) {
    :root {
        --section-padding: 48px;
        --grid-gutter: 16px;
    }

    section {
        padding: var(--section-padding) 0;
    }

    .container {
        padding: 0 16px;
    }

    .header, .nav {
        height: 64px;
    }

    .logo {
        gap: 8px;
    }

    .logo-img {
        height: 32px !important;
    }

    .logo-text strong {
        font-size: 14px;
    }

    .logo-text span {
        font-size: 10px;
    }

    .page-index .hero {
        padding-top: calc(64px + 32px);
        padding-bottom: 48px;
    }

    .page-index .hero h1 {
        font-size: 28px !important;
        line-height: 36px !important;
        margin-bottom: 16px;
    }

    .page-index .hero p {
        font-size: 15px !important;
        line-height: 24px !important;
        margin-bottom: 24px;
    }

    .page-index .hero-badge {
        margin-bottom: 20px;
        padding: 6px 12px;
        font-size: 12px;
    }

    .page-index .stats {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
        margin-top: 36px !important;
        padding-top: 24px !important;
    }

    .page-index .stat-value {
        font-size: 28px !important;
    }

    .page-index .stat-label {
        font-size: 11px !important;
    }

    .section-header {
        margin-bottom: 32px !important;
    }

    .section-header h2 {
        font-size: 24px !important;
        line-height: 32px !important;
    }

    .section-header p {
        font-size: 15px !important;
        line-height: 24px !important;
    }

    .page-index .services-grid,
    .page-index .values-grid,
    .page-index .bento,
    .page-index .process-steps,
    .page-index .specs-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .page-index .service-card,
    .page-index .value-card,
    .page-index .bento-item,
    .page-index .step,
    .page-index .spec-card {
        padding: 20px !important;
    }

    .page-index .service-card .arrow {
        opacity: 1 !important;
        margin-top: 12px;
    }

    .page-index .bento-item.large,
    .page-index .bento-item.wide {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

    .page-index .bento-visual {
        margin-top: 16px;
        padding: 16px;
    }

    .page-index .rtk-row {
        font-size: 12px;
    }

    .page-index .certified-banner {
        padding: 40px 0 !important;
    }

    .page-index .certified-content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 24px !important;
    }

    .page-index .aerocivil-logo {
        width: 140px !important;
    }

    .page-index .certified-info h3 {
        font-size: 22px !important;
        line-height: 30px !important;
    }

    .page-index .certified-info p {
        font-size: 14px !important;
        line-height: 22px !important;
        margin: 0 auto 16px !important;
    }

    .page-index .fenix-section,
    .page-index .cta-section,
    .page-servicios .cta-section,
    .page-fotogrametria .cta-section,
    .page-construccion .cta-section,
    .page-contacto .cta-section,
    .page-nosotros .cta-section,
    .page-proyectos .cta-section {
        padding: 36px 20px !important;
        margin: 0 !important;
        border-radius: var(--radius-md) !important;
    }

    .page-index .fenix-content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 20px !important;
    }

    .page-index .fenix-logo {
        width: 180px !important;
    }

    .page-index .fenix-info h2 {
        font-size: 22px !important;
        line-height: 30px !important;
    }

    .page-index .fenix-info p {
        font-size: 14px !important;
        line-height: 22px !important;
    }

    .cta-content {
        text-align: center;
        margin: 0 auto;
    }

    .cta-section h2 {
        font-size: 22px !important;
        line-height: 30px !important;
    }

    .cta-section p {
        font-size: 14px !important;
        line-height: 22px !important;
        margin-bottom: 20px !important;
    }

    .footer {
        padding: 48px 0 24px !important;
        margin-top: 48px !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        margin-bottom: 32px !important;
    }

    .footer-brand p {
        max-width: 100% !important;
        font-size: 14px;
        line-height: 22px;
    }

    .footer-fenix {
        margin: 24px 0 0 !important;
        padding-top: 20px !important;
    }

    .footer-bottom {
        padding-top: 24px !important;
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .page-header {
        padding-top: calc(64px + 32px) !important;
        padding-bottom: 36px !important;
    }

    .page-header h1,
    .photo-hero h1 {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    .page-header p,
    .photo-hero p {
        font-size: 15px !important;
        line-height: 24px !important;
    }

    .photo-hero {
        padding: calc(64px + 32px) 0 40px !important;
    }

    .form-row {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .contact-grid,
    .offices-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .contact-form {
        padding: 24px 16px !important;
    }

    .office-card {
        grid-template-columns: 1fr !important;
        padding: 20px !important;
        gap: 20px !important;
    }

    .office-map {
        height: 220px !important;
    }
}

@media (max-width: 400px) {
    .logo-text span {
        display: none;
    }

    .page-index .stats {
        grid-template-columns: 1fr !important;
    }

    .btn {
        width: 100%;
        justify-content: center;
        padding: 12px 16px;
    }
}
