:root{
      --navy:#29476B;
      --navy-2:#35597F;
      --ink:#203550;
      --gold:#d5a84f;
      --gold-2:#f0ca75;
      --paper:#fbfaf7;
      --white:#fff;
      --muted:#667085;
      --line:#e4e7ec;
      --shadow:0 18px 45px rgba(15,24,39,.12);
      --radius:22px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Arial,Helvetica,sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.6;
    }
    img{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    .container{width:min(calc(100% - 32px),var(--max));margin:auto}
    .section{padding:84px 0}
    .section-tight{padding:56px 0}
    .eyebrow{
      display:inline-block;
      margin-bottom:12px;
      color:var(--gold);
      font-weight:800;
      font-size:.78rem;
      letter-spacing:.15em;
      text-transform:uppercase;
    }
    h1,h2,h3{margin:0 0 14px;line-height:1.08}
    h1{font-size:clamp(2.8rem,6.2vw,5.3rem);letter-spacing:-.04em}
    h2{font-size:clamp(2rem,4vw,3.45rem);letter-spacing:-.03em}
    h3{font-size:1.3rem}
    p{margin:0 0 1rem}
    .muted{color:var(--muted)}
    .lead{font-size:1.12rem;max-width:760px}

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:0 22px;
      border-radius:999px;
      font-weight:800;
      border:1px solid transparent;
      transition:.2s ease;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{background:var(--gold);color:#111827}
    .btn-dark{background:var(--navy);color:#fff}
    .btn-outline{border-color:rgba(255,255,255,.45);color:#fff}

    /* NAV */
    .nav{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(41,71,107,.97);
      backdrop-filter:blur(12px);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .nav-inner{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .brand img{height:58px;width:auto}
    .nav-links{display:flex;gap:26px;align-items:center;color:#fff;font-weight:700;font-size:.92rem}
    .nav-links a:not(.btn){opacity:.86}
    .nav-links a:not(.btn):hover{opacity:1}

    /* HERO */
    .hero{
      position:relative;
      color:var(--ink);
      background:#fff;
      overflow:hidden;
    }
    .hero-inner{
      min-height:690px;
      display:grid;
      grid-template-columns:42% 58%;
      align-items:stretch;
    }
    .hero-copy{
      padding:92px 54px 78px 0;
      display:flex;
      flex-direction:column;
      justify-content:center;
      position:relative;
      z-index:2;
      background:#fff;
    }
    .hero-copy:after{
      content:"";
      position:absolute;
      right:-110px;
      top:0;
      bottom:0;
      width:220px;
      background:#fff;
      transform:skewX(-13deg);
      transform-origin:center;
      z-index:-1;
    }
    .hero-photo{
      background:
        linear-gradient(90deg,rgba(255,255,255,.03),rgba(15,24,39,.08)),
        url('/assets/images/hero-general-aviation.jpg?v=3') center/cover no-repeat;
      min-height:690px;
    }
    .hero h1{color:var(--navy)}
    .hero p{font-size:1.16rem;color:#465266;max-width:650px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
    .hero .btn-outline{border-color:var(--navy);color:var(--navy)}
    .hero-proof{
      margin-top:38px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      border-top:1px solid var(--line);
      max-width:720px;
      background:transparent;
    }
    .hero-proof div{padding:18px 18px 0 0;border-right:0}
    .hero-proof strong{display:block;font-size:1.2rem;color:var(--navy)}
    .hero-proof span{font-size:.82rem;color:var(--muted)}

    .trust-strip{
      background:#fff;
      color:var(--navy);
      padding:26px 0 34px;
      border-bottom:1px solid var(--line);
    }
    .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
    .trust-grid strong{display:block}
    .trust-grid span{font-size:.82rem;color:var(--muted)}

    .seo-facts{background:#fff;padding:18px 0;border-bottom:1px solid var(--line)}
    .seo-facts p{max-width:980px;margin:0 auto;text-align:center;color:var(--muted);font-size:.94rem;line-height:1.65}
    .seo-facts strong{color:var(--navy)}

    /* RESULTS */
    .results{background:var(--paper)}
    .results-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr .85fr;
      gap:18px;
      margin-top:30px;
    }
    .result-card{
      position:relative;
      overflow:hidden;
      border-radius:var(--radius);
      background:#111;
      box-shadow:var(--shadow);
      min-height:330px;
    }
    .result-card.large{grid-row:span 2;min-height:680px}
    .result-card img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      position:absolute;
      inset:0;
    }
    .result-card:after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(180deg,transparent 54%,rgba(6,12,22,.78) 100%);
    }
    .result-caption{
      position:absolute;
      z-index:2;
      left:20px;
      bottom:18px;
      color:#fff;
    }
    .result-caption span{
      display:block;
      font-size:.72rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--gold-2);
      font-weight:800;
      margin-bottom:4px;
    }
    .result-caption strong{font-size:1.25rem}

    /* WHY */
    .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
    .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .why-card{
      border:1px solid var(--line);
      border-radius:18px;
      padding:24px;
      background:#fff;
    }
    .why-number{
      width:42px;height:42px;border-radius:50%;
      display:grid;place-items:center;
      background:var(--paper);font-weight:900;margin-bottom:16px
    }

    /* PROCESS GALLERY */
    .process-gallery{background:#fff}
    .process-visuals{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
      margin-top:30px;
    }
    .process-shot{
      overflow:hidden;
      border-radius:18px;
      position:relative;
      min-height:290px;
      background:#111;
    }
    .process-shot img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
    .process-shot:after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(180deg,rgba(8,14,24,.05),rgba(8,14,24,.72));
    }
    .process-label{
      position:absolute;z-index:2;left:16px;bottom:16px;color:#fff
    }
    .process-label small{
      display:block;color:var(--gold-2);font-weight:800;letter-spacing:.11em;text-transform:uppercase
    }
    .process-label strong{font-size:1.05rem}

    .process-steps{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
      margin-top:36px;
    }
    .step{border-top:3px solid var(--gold);padding-top:18px}
    .step span{display:block;color:var(--gold);font-weight:900;font-size:.76rem;letter-spacing:.1em;margin-bottom:8px}

    /* TECHNICAL */
    .technical{
      color:var(--ink);
      background:#fff;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .technical-media{
      min-height:520px;
      border-radius:var(--radius);
      background:url('/assets/images/control-surfaces.jpg?v=2') center/cover no-repeat;
      box-shadow:var(--shadow);
    }
    .technical-copy{
      padding:40px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--paper);
    }
    .technical-copy p{color:var(--muted)}

    /* TEAM */
    .team{background:var(--paper)}
    .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
    .team-card{
      overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--line)
    }
    .team-card img{width:100%;height:320px;object-fit:cover}
    .team-card .content{padding:24px}

    /* INTERIORS */
    .interior-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
    .interior-grid img{width:100%;height:250px;object-fit:cover;border-radius:16px}

    /* TRAVEL */
    .travel{
      color:var(--ink);
      background:#fff;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .travel-media{
      min-height:460px;
      border-radius:var(--radius);
      background:url('/assets/images/guadalajara-aircraft.jpg?v=3') center/cover no-repeat;
      box-shadow:var(--shadow);
    }
    .travel-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:24px}
    .travel-list div{
      padding:16px 16px 16px 46px;
      border:1px solid var(--line);
      border-radius:12px;
      background:var(--paper);
      color:var(--ink)
    }


    
    /* INTERIOR TRANSFORMATION */
    .interior-transformation{background:#fff}
    .interior-process-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:22px;
      margin-top:32px;
    }
    .interior-process-card{
      margin:0;
      border:1px solid var(--line);
      border-radius:20px;
      overflow:hidden;
      background:#fff;
      box-shadow:0 10px 30px rgba(41,71,107,.08);
    }
    .interior-process-image{
      position:relative;
      aspect-ratio:16/9;
      overflow:hidden;
      background:#e8edf2;
    }
    .interior-process-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      display:block;
    }
    .interior-stage{
      position:absolute;
      left:16px;
      bottom:16px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(41,71,107,.94);
      color:#fff;
      font-size:.76rem;
      line-height:1;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      box-shadow:0 5px 16px rgba(0,0,0,.18);
    }
    .interior-process-card figcaption{
      padding:17px 19px 20px;
      color:var(--muted);
      line-height:1.55;
    }

    /* TESTIMONIALS */
    .testimonials{
      background:var(--paper);
    }
    .video-testimonial-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
      margin-top:30px;
    }
    .video-testimonial{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      overflow:hidden;
      box-shadow:0 10px 30px rgba(41,71,107,.08);
    }
    .video-thumb{
      position:relative;
      aspect-ratio:16/9;
      overflow:hidden;
      background:#dfe5eb;
      cursor:pointer;
      display:block;
      width:100%;
      border:0;
      padding:0;
      text-align:left;
    }
    .video-thumb img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      transition:transform .3s ease;
    }
    .video-thumb:hover img{transform:scale(1.025)}
    .video-thumb:after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(20,38,61,.04),rgba(20,38,61,.34));
    }
    .play-button{
      position:absolute;
      z-index:2;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      width:68px;
      height:68px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.94);
      color:var(--navy);
      box-shadow:0 12px 28px rgba(0,0,0,.18);
    }
    .play-button svg{
      width:28px;
      height:28px;
      fill:currentColor;
      margin-left:4px;
    }
    .video-testimonial-copy{padding:20px 22px 24px}
    .video-testimonial-copy strong{
      display:block;
      color:var(--navy);
      font-size:1.05rem;
      margin-bottom:4px;
    }
    .video-testimonial-copy span{
      color:var(--muted);
      font-size:.88rem;
    }
    .video-modal{
      position:fixed;
      inset:0;
      z-index:200;
      background:rgba(15,25,38,.84);
      display:none;
      align-items:center;
      justify-content:center;
      padding:24px;
    }
    .video-modal.is-open{display:flex}
    .video-modal-dialog{
      position:relative;
      width:min(100%,980px);
      background:#000;
      border-radius:18px;
      overflow:hidden;
      box-shadow:0 25px 80px rgba(0,0,0,.42);
    }
    .video-modal video{
      width:100%;
      max-height:80vh;
      display:block;
      background:#000;
    }
    .video-close{
      position:absolute;
      z-index:3;
      top:12px;
      right:12px;
      width:44px;
      height:44px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.35);
      background:rgba(20,32,48,.76);
      color:#fff;
      font-size:1.55rem;
      line-height:1;
      cursor:pointer;
    }

    /* FAQ */
    details{border-top:1px solid var(--line);padding:18px 0}
    details:last-child{border-bottom:1px solid var(--line)}
    summary{cursor:pointer;font-weight:800}
    details p{padding-top:10px;color:var(--muted);max-width:850px}

    /* QUOTE */
    .quote{background:var(--paper)}
    .quote-wrap{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      border:1px solid var(--line);
      border-radius:24px;
      overflow:hidden;
      background:#fff;
      box-shadow:var(--shadow);
    }
    .quote-form{padding:30px}
    .quote-form iframe{width:100%;height:1000px;border:0;display:block}
    .quote-info{background:var(--navy);color:#fff;padding:42px}
    .quote-info p{color:var(--muted)}
    .quote-info a{color:#fff;font-weight:800}
    .contact-card{
      margin-top:24px;padding:18px;border:1px solid rgba(255,255,255,.14);
      border-radius:14px;background:rgba(255,255,255,.04)
    }

    footer{background:#29476B;color:#fff;padding:44px 0 90px}
    .footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
    footer img{height:88px;width:auto;margin-bottom:12px}
    footer p,footer a{color:rgba(255,255,255,.72)}

    .mobile-cta{display:none}


    /* VISUAL LANGUAGE */
    .icon-badge{
      width:48px;height:48px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(145deg,rgba(213,168,79,.18),rgba(213,168,79,.06));
      border:1px solid rgba(213,168,79,.34);
      margin-bottom:16px;
      color:var(--gold);
    }
    .icon-badge svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .trust-grid > div{
      position:relative;
      padding:8px 12px;
    }
    .trust-grid > div:before{
      content:"";
      width:28px;height:2px;
      background:var(--gold);
      position:absolute;left:50%;transform:translateX(-50%);top:-4px;
      opacity:.8;
    }
    .why-card{
      position:relative;
      overflow:hidden;
      transition:.25s ease;
    }
    .why-card:hover{
      transform:translateY(-4px);
      box-shadow:0 18px 34px rgba(15,24,39,.08);
      border-color:#d8dde5;
    }
    .why-card:after{
      content:"";
      position:absolute;
      width:82px;height:82px;border-radius:50%;
      right:-26px;top:-28px;
      background:radial-gradient(circle,rgba(213,168,79,.18),rgba(213,168,79,0) 72%);
    }
    .process-shot .stage-icon{
      position:absolute;z-index:3;right:14px;top:14px;
      width:38px;height:38px;border-radius:50%;
      display:grid;place-items:center;
      color:#fff;background:rgba(15,24,39,.78);
      border:1px solid rgba(255,255,255,.2);
      backdrop-filter:blur(5px);
    }
    .process-shot .stage-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}
    .step{
      position:relative;
      padding-left:2px;
    }
    .step:before{
      content:"";
      position:absolute;
      width:8px;height:8px;border-radius:50%;
      background:var(--gold);
      left:0;top:-5px;
      box-shadow:0 0 0 5px rgba(213,168,79,.12);
    }
    .technical-points{
      display:grid;
      gap:12px;
      margin:22px 0 26px;
    }
    .technical-point{
      display:grid;
      grid-template-columns:42px 1fr;
      gap:12px;
      align-items:start;
    }
    .technical-point .mini-icon{
      width:42px;height:42px;border-radius:12px;
      display:grid;place-items:center;
      background:rgba(213,168,79,.13);
      border:1px solid rgba(213,168,79,.24);
      color:var(--gold);
    }
    .technical-point svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
    .technical-point strong{display:block;margin-bottom:2px}
    .technical-point span{font-size:.9rem;color:var(--muted)}
    .travel-list div{
      position:relative;
      padding-left:46px;
    }
    .travel-list div:before{
      content:"✓";
      position:absolute;left:14px;top:50%;transform:translateY(-50%);
      width:22px;height:22px;border-radius:50%;
      display:grid;place-items:center;
      background:rgba(213,168,79,.15);
      border:1px solid rgba(213,168,79,.32);
      color:var(--gold-2);
      font-size:.78rem;font-weight:900;
    }
    .contact-card .contact-row{
      display:grid;
      grid-template-columns:42px 1fr;
      gap:12px;
      align-items:center;
      margin-bottom:14px;
    }
    .contact-card .contact-row:last-child{margin-bottom:0}
    .contact-card .contact-icon{
      width:42px;height:42px;border-radius:12px;
      display:grid;place-items:center;
      background:rgba(213,168,79,.13);
      border:1px solid rgba(213,168,79,.24);
      color:var(--gold);
    }
    .contact-card .contact-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
    .stat-ribbon{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
      margin-top:28px;
    }
    .stat-ribbon .stat{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:20px;
      display:flex;
      gap:14px;
      align-items:center;
    }
    .stat-ribbon .stat .icon-badge{margin:0;flex:0 0 48px}
    .stat-ribbon .stat strong{display:block;font-size:1.05rem}
    .stat-ribbon .stat span{font-size:.82rem;color:var(--muted)}
    .section-divider{
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(213,168,79,.42),transparent);
      margin:0 auto;
      width:min(760px,70%);
    }

    @media (max-width:960px){
      .nav-links a:not(.btn){display:none}
      .grid-2,.quote-wrap,.hero-inner{grid-template-columns:1fr}
      .hero-copy{padding:64px 0 46px}
      .hero-copy:after{display:none}
      .hero-photo{min-height:420px}
      .video-testimonial-grid{grid-template-columns:1fr 1fr}
      .testimonial-card.featured{grid-column:1/-1;grid-row:auto;min-height:auto}
      .results-grid{grid-template-columns:1fr 1fr}
      .result-card.large{grid-row:auto;min-height:420px;grid-column:1/-1}
      .process-visuals,.process-steps,.interior-grid{grid-template-columns:1fr 1fr}
      .team-grid{grid-template-columns:1fr 1fr}
      .trust-grid{grid-template-columns:1fr 1fr}
      .stat-ribbon{grid-template-columns:1fr}
    }

    @media (max-width:640px){
      .section{padding:62px 0}
      .nav-inner{min-height:66px}
      .brand img{height:48px}
      .hero{background-position:58% center}
      .hero-inner{min-height:auto}
      .hero-copy{padding:64px 0 50px}
      .hero-actions .btn{width:100%}
      .hero-proof{grid-template-columns:1fr}
      .hero-proof div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
      .hero-proof div:last-child{border-bottom:0}
      .trust-grid,.results-grid,.why-grid,.process-visuals,.process-steps,.team-grid,.interior-grid,.travel-list,.video-testimonial-grid{grid-template-columns:1fr}
      .result-card,.result-card.large{min-height:300px;grid-column:auto}
      .technical-media{min-height:340px}
      .footer-grid{grid-template-columns:1fr}
      footer{padding-bottom:90px}
      .mobile-cta{
        display:grid;
        grid-template-columns:1fr 1fr 1.25fr;
        position:fixed;left:0;right:0;bottom:0;z-index:100;
        background:#fff;border-top:1px solid var(--line);
        box-shadow:0 -10px 30px rgba(0,0,0,.12)
      }
      .mobile-cta a{
        min-height:58px;display:grid;place-items:center;
        font-weight:900;font-size:.8rem;border-right:1px solid var(--line)
      }
      .mobile-cta a:last-child{background:var(--gold);color:#111827;border-right:0}
    }
  
    .aircraft-showcase{background:#fff}
    .aircraft-showcase .lead{max-width:900px}
    .aircraft-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}
    .aircraft-project-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(18,48,74,.08)}
    .aircraft-project-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
    .aircraft-project-card figcaption{padding:20px 22px 22px;display:grid;gap:5px}
    .aircraft-project-card figcaption span{font-size:.76rem;font-weight:800;letter-spacing:.13em;color:var(--gold)}
    .aircraft-project-card figcaption strong{font-size:1.2rem;color:var(--navy)}
    .aircraft-project-card figcaption small{font-size:.92rem;color:var(--muted)}
    @media(max-width:760px){.aircraft-project-grid{grid-template-columns:1fr}}


    /* V8.1 desktop portfolio refinement */
    .aircraft-project-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      align-items:start;
      gap:28px;
    }
    .aircraft-project-card{
      height:auto;
    }
    .aircraft-project-card img{
      width:100%;
      height:auto;
      aspect-ratio:16/9;
      object-fit:cover;
      object-position:center;
    }
    .aircraft-project-card figcaption{
      min-height:112px;
      padding:18px 22px 20px;
    }
    @media(min-width:1100px){
      .aircraft-showcase{
        padding-top:62px;
        padding-bottom:72px;
      }
      .aircraft-project-grid{
        margin-top:30px;
      }
    }
