/* Custom aviation monogram and precise wordmark. */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.brand{gap:13px}
.brand-emblem{display:block;width:48px;height:48px;flex:none}
.brand-name{padding-left:14px;border-left:1px solid rgba(224,185,121,.4);font-family:Sora,Manrope,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.055em;line-height:1.08}
.brand-name>span{color:#e8bd7c;font-weight:600}
.brand-name small{margin-top:8px;color:#c0c7bd;font-family:"DM Sans",Arial,sans-serif;font-size:8px;font-weight:600;letter-spacing:.21em}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .brand-name>span{background-image:linear-gradient(105deg,#c58b45,#ffe3aa 50%,#d7a15c 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.card-icon{border:1px solid transparent;background:linear-gradient(#fffaf0,#fffaf0) padding-box,linear-gradient(135deg,#d09a52,#f5dfb6,#b77a37) border-box;box-shadow:0 8px 20px rgba(146,94,39,.07)}
.card-icon svg{width:25px;height:25px;fill:none;stroke:#9b622c;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.rights-decoration{width:260px;height:260px;right:-65px;bottom:-70px;fill:rgba(226,173,94,.13);transform:rotate(28deg);pointer-events:none}

/* Warm metallic highlights retain solid-color fallbacks for older browsers. */
.hero h1 em,.process h2 em,.rights-big em,.contact h2 em{color:#e7b974}
.section-heading h2 span,.faq h2 span,.gradient-light{color:#9d632a}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 em,.process h2 em,.rights-big em,.contact h2 em{
    background-image:linear-gradient(100deg,#c4873d 0%,#ffe0a0 34%,#dda152 63%,#f5d494 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  }
  .section-heading h2 span,.faq h2 span,.gradient-light{
    background-image:linear-gradient(103deg,#744515 0%,#b57932 43%,#8c571f 72%,#c08c4c 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  }
}

/* The horizontal gradient moves quietly until the pointer introduces a soft glint. */
@keyframes gold-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
.button-primary,.header-cta,.floating-whatsapp{
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid rgba(255,229,178,.5);
  color:#172019;
  background-image:linear-gradient(105deg,#ce9650 0%,#f6d28c 22%,#dca255 46%,#ffe2a5 69%,#bd813c 100%);
  background-size:260% 100%;
  animation:gold-flow 11s ease-in-out infinite alternate;
  box-shadow:0 10px 30px rgba(199,133,56,.23),inset 0 1px 0 rgba(255,255,255,.38);
  transition:transform .25s ease,box-shadow .25s ease;
}
.floating-whatsapp{position:fixed}
.button-primary::after,.header-cta::after,.floating-whatsapp::after,.button-outline::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle 105px at var(--pointer-x,50%) var(--pointer-y,50%),rgba(255,255,255,.55),transparent 72%);
  opacity:0;transition:opacity .3s ease;
}
.button-primary:hover,.header-cta:hover,.floating-whatsapp:hover{color:#172019;box-shadow:0 15px 37px rgba(202,138,60,.35),inset 0 1px 0 rgba(255,255,255,.5);animation-duration:5s}
.button-primary:hover::after,.header-cta:hover::after,.floating-whatsapp:hover::after,.button-outline:hover::after{opacity:.8}
.button-outline{position:relative;isolation:isolate;overflow:hidden;border:1px solid transparent;color:#f5d79f;background:linear-gradient(#19201b,#19201b) padding-box,linear-gradient(105deg,#a87638,#f5d493,#bf8541,#f7dfad) border-box;background-size:100% 100%,260% 100%;animation:gold-border-flow 11s ease-in-out infinite alternate}
@keyframes gold-border-flow{from{background-position:0 0,0% 50%}to{background-position:0 0,100% 50%}}
.button-outline:hover{color:#ffe2ae;background:linear-gradient(#263028,#263028) padding-box,linear-gradient(105deg,#a87638,#f5d493,#bf8541,#f7dfad) border-box;background-size:100% 100%,260% 100%;animation-duration:5s}
.eyebrow-line{background:linear-gradient(90deg,#b67830,#ffe0a0)}
.card-link{transition:color .2s ease}.card-link:hover{color:#bd7d31}

/* The portrait clip stays legible, while the surrounding card carries the brand. */
.hero-content{padding-block:76px 84px}
.hero-copy{margin-bottom:22px}
.hero-copy-highlight{color:#f4d397;font-weight:800;letter-spacing:.015em}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero-copy-highlight{background-image:linear-gradient(100deg,#e4aa5e 0%,#fff0bc 48%,#e3a65a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.hero-video-card{display:grid;grid-template-columns:240px minmax(0,1fr);width:min(100%,590px);margin-bottom:25px;border:1px solid rgba(235,194,123,.36);border-radius:15px;overflow:hidden;background:linear-gradient(145deg,rgba(40,48,39,.97),rgba(17,24,20,.98));box-shadow:0 18px 52px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,235,190,.12)}
.hero-video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#0b0d0b;cursor:pointer}
.hero-video-context{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px;padding:30px 29px;background:radial-gradient(circle at 100% 0%,rgba(196,139,66,.16),transparent 52%)}
.hero-video-kicker{color:#e8b973;font-size:10px;font-weight:800;letter-spacing:.15em;line-height:1.5}
.hero-video-context h2{font-size:clamp(25px,2.5vw,32px);line-height:1.17;letter-spacing:-.035em;font-weight:700}
.hero-video-context h2 em{font-style:normal;color:#eec789}
.hero-video-context p{color:#d6d9d0;font-size:14px;line-height:1.65}
.hero-actions{align-items:flex-end}
.hero-cta-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.hero-cta-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid rgba(246,208,146,.58);border-radius:999px;background:linear-gradient(115deg,rgba(246,208,146,.13),rgba(18,25,20,.87) 72%);box-shadow:inset 0 1px 0 rgba(255,245,219,.16),0 7px 20px rgba(0,0,0,.15);color:#f6d59d;font-family:Manrope,sans-serif;font-size:10px;font-weight:800;line-height:1;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.hero-cta-badge::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:linear-gradient(135deg,#fff0c6,#d99a48);box-shadow:0 0 0 3px rgba(233,176,93,.12)}

/* An editorial introduction after the cases, before the service journey. */
.about{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 4%,rgba(232,193,128,.14),transparent 38%),#eeede6}
.about::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#bd8039,#f1ce8e,#a36e34)}
.about-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(48px,7vw,112px)}
.about-copy h2{max-width:680px;margin-bottom:25px;font-size:clamp(39px,4.1vw,59px);line-height:1.12;letter-spacing:-.055em}
.about-copy h2 span{color:#a66d30}
.about-lead{max-width:610px;margin-bottom:31px;color:#465148;font-size:17px;line-height:1.75}
.about-points{border-top:1px solid #cfd2c7;max-width:600px}
.about-point{display:grid;grid-template-columns:37px 1fr;gap:19px;padding:20px 0;border-bottom:1px solid #cfd2c7}
.about-point-number{padding-top:4px;color:#a37139;font-family:Sora,Manrope,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em}
.about-point h3{margin:0 0 7px;font-size:17px;letter-spacing:-.025em}
.about-point p{max-width:510px;margin:0;color:#606b60;font-size:14px;line-height:1.65}
.about-contact{display:inline-flex;align-items:center;gap:23px;margin-top:30px;padding-bottom:7px;border-bottom:1px solid #aa753c;color:#855925;font-size:14px;font-weight:800;text-decoration:none;transition:gap .2s,color .2s}
.about-contact:hover{gap:31px;color:#563614}
.about-contact span{font-size:20px;line-height:1}
.about-portrait{min-width:0;margin:0}
.about-portrait-frame{position:relative;aspect-ratio:.84;overflow:hidden;background:#171b17;box-shadow:22px 23px 0 rgba(29,42,32,.09)}
.about-portrait-frame img{position:absolute;top:-8%;right:0;display:block;width:auto;max-width:none;height:190%}
.about-portrait figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:18px;color:#6c766b;font-size:11px;letter-spacing:.06em}
.about-portrait figcaption span{color:#8b5f32;font-weight:800;letter-spacing:.16em}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .about-copy h2 span{background-image:linear-gradient(105deg,#754914,#b9813f 52%,#976125);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
@media(min-width:1360px){
  .site-header .container,.hero .container{width:min(1680px,calc(100% - 96px))}
  .hero-content{display:grid;grid-template-columns:minmax(0,680px) minmax(440px,590px);grid-template-areas:"eyebrow video" "title video" "copy video" "actions video" "note video";align-content:center;align-items:start;justify-content:start;column-gap:clamp(64px,7vw,150px);min-height:690px;padding-block:70px}
  .hero .eyebrow{grid-area:eyebrow}
  .hero h1{grid-area:title}
  .hero-copy{grid-area:copy}
  .hero-video-card{grid-area:video;align-self:center;width:100%;margin:0}
  .hero-actions{grid-area:actions}
  .hero-note{grid-area:note}
}
@media(max-width:1050px){
  .about-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:44px}
  .desktop-nav{gap:12px}
  .desktop-nav a{font-size:12px}
}
@media(max-width:760px){
  .brand{gap:10px}
  .brand-emblem{width:44px;height:44px}
  .brand-name{padding-left:11px;font-size:16px}
  .brand-name small{font-size:7.5px;letter-spacing:.14em}
  .hero .eyebrow{display:none}
  .hero-content{padding-block:40px 52px}
  .hero-image{background-image:linear-gradient(180deg,rgba(16,20,18,.76) 0%,rgba(16,20,18,.52) 38%,rgba(16,20,18,.72) 75%,#101412 100%),url('/assets/aeroporto-por-do-sol.png')}
  .about-layout{grid-template-columns:1fr;gap:40px}
  .about-portrait{max-width:510px}
}
@media(max-width:600px){.hero-video-card{display:block;width:min(100%,290px);margin:0 auto 24px}.hero-video-context{display:none}.hero-copy{margin-bottom:24px}}
@media(max-width:520px){.hero-actions{align-items:flex-start}.hero-cta-stack{width:100%}.hero-cta-stack .button{width:100%}}
@media(max-width:600px){
  .about-copy h2{font-size:clamp(36px,10vw,45px)}
  .about-lead{font-size:16px}
  .about-portrait-frame{aspect-ratio:.9}
  .about-portrait figcaption{font-size:10px}
}

@media(prefers-reduced-motion:reduce){.button-primary,.header-cta,.floating-whatsapp,.button-outline{animation:none!important}.button-primary::after,.header-cta::after,.floating-whatsapp::after,.button-outline::after{display:none}}
