@layer reset, base, components, utilities;
@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:7rem}
  body,h1,h2,h3,p,ul,ol,figure{margin:0}
  img{display:block;max-width:100%}
  button,input,textarea,select{font:inherit}
}
@layer base {
  :root{--ink:#0c2230;--navy:#0a1d29;--navy-2:#102d3f;--blue:#1769d2;--sky:#dbeaff;--lime:#dff25e;--paper:#f5f8f9;--white:#fff;--muted:#5a6d78;--line:#d8e1e5;--shadow:0 22px 60px rgb(10 29 41 / .14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);font-synthesis:none;text-rendering:optimizeLegibility}
  body{min-width:320px;background:var(--white)}
  a{color:inherit}
  p{color:var(--muted);font-size:1rem;line-height:1.75}
  h1,h2,h3{font-weight:720;line-height:1.04;letter-spacing:-.052em;text-wrap:balance}
  h1{font-size:clamp(3.25rem,7vw,6.5rem)}
  h2{font-size:clamp(2.15rem,4.3vw,4rem)}
  h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
  :focus-visible{outline:3px solid #2382eb;outline-offset:4px}
  ::selection{background:var(--lime);color:var(--navy)}
}
@layer components {
  .shell{width:min(1220px,calc(100% - 3rem));margin-inline:auto}
  .skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;transform:translateY(-150%);padding:.85rem 1rem;background:var(--white);border-radius:.4rem;box-shadow:var(--shadow)}
  .skip-link:focus{transform:none}
  .utility{background:var(--navy);color:#cdd9df;font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
  .utility .shell{min-height:2.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .utility-route{display:flex;align-items:center;gap:.75rem}.utility-route b{color:var(--lime)}
  .site-header{position:sticky;z-index:100;top:0;background:rgb(255 255 255 / .94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
  .header-inner{min-height:5.35rem;display:flex;align-items:center;gap:1.4rem}
  .brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;font-weight:780;letter-spacing:-.035em;white-space:nowrap}
  .brand-mark{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.75rem;background:var(--lime);color:var(--navy);font-size:.73rem;letter-spacing:.03em;box-shadow:inset 0 0 0 1px rgb(10 29 41 / .1)}
  .desktop-nav{display:flex;align-items:center;gap:1.65rem;margin-left:auto}
  .desktop-nav a{position:relative;padding:.8rem 0;text-decoration:none;color:#314957;font-size:.88rem;font-weight:650}
  .desktop-nav a::after{content:"";position:absolute;right:0;bottom:.35rem;left:0;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s ease}
  .desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
  .language-link{padding:.65rem .7rem;border:1px solid var(--line);border-radius:.55rem;text-decoration:none;font-size:.78rem;font-weight:800}
  .menu-toggle{display:none;width:2.8rem;height:2.8rem;border:1px solid var(--line);border-radius:.6rem;background:var(--white);cursor:pointer}
  .button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.2rem;padding:.85rem 1.2rem;border:0;border-radius:.55rem;background:var(--lime);color:var(--navy);text-decoration:none;font-size:.93rem;font-weight:780;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
  .button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgb(10 29 41 / .16)}
  .button-dark{background:var(--navy);color:var(--white)}
  .button-blue{background:var(--blue);color:var(--white)}
  .button-ghost{border:1px solid var(--line);background:transparent;color:var(--ink)}
  .text-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink);font-size:.93rem;font-weight:750;text-underline-offset:.35rem}
  .eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
  .eyebrow::before{content:"";width:.48rem;height:.48rem;border-radius:50%;background:currentColor}
  .actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
  .actions-spaced{margin-top:1.5rem}
  .hero{padding:clamp(3.7rem,7vw,7rem) 0 5.8rem;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(28rem,1.08fr);align-items:center;gap:clamp(2.5rem,6vw,6.5rem)}
  .hero-copy h1{margin:1.35rem 0 1.6rem}.hero-copy h1 em{color:var(--blue);font-style:normal}.hero-copy>p{max-width:37rem;font-size:1.09rem}.hero-copy .actions{margin-top:2rem}.microcopy{margin-top:1rem;color:#71828c;font-size:.78rem;font-weight:600}
  .hero-media{position:relative;min-height:37rem}
  .hero-media>img{width:100%;height:100%;min-height:37rem;object-fit:cover;border-radius:1.2rem;box-shadow:var(--shadow)}
  .image-note{position:absolute;top:1rem;right:1rem;padding:.45rem .6rem;border-radius:.35rem;background:rgb(10 29 41 / .78);color:#fff;font-size:.69rem;backdrop-filter:blur(8px)}
  .flight-card{position:absolute;right:-1.25rem;bottom:-2.25rem;left:2rem;padding:1.45rem 1.55rem;border:1px solid var(--line);border-radius:.9rem;background:rgb(255 255 255 / .96);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
  .flight-card-top{display:flex;justify-content:space-between;color:#70818a;font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
  .route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:1rem}.route strong{display:block;font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.05em}.route small{color:var(--muted)}.route-arrow{color:var(--blue);font-size:1.8rem}
  .trust-strip{border-block:1px solid var(--line);background:#fafcfc}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{display:flex;gap:.75rem;align-items:center;min-height:5.3rem;padding:1rem 1.25rem;border-right:1px solid var(--line);font-size:.86rem;font-weight:700}.trust-item:first-child{border-left:1px solid var(--line)}.trust-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.55rem;background:var(--sky);color:var(--blue)}
  .section{padding:clamp(4.5rem,8vw,8rem) 0}.section-soft{background:var(--paper)}.section-dark{background:var(--navy);color:var(--white)}.section-dark p{color:#bdcbd2}.section-dark .eyebrow{color:var(--lime)}
  .section-head{max-width:48rem;margin-bottom:2.7rem}.section-head h2{margin:1rem 0 1.1rem}.section-head p{max-width:42rem}
  .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.35rem}.card{position:relative;padding:clamp(1.7rem,3vw,2.6rem);border:1px solid var(--line);border-radius:1rem;background:var(--white);overflow:hidden}.card::before{content:"";position:absolute;top:0;left:0;width:4.5rem;height:.25rem;background:var(--blue)}.card-kicker{display:inline-block;margin-bottom:2.3rem;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.13em}.card h3{margin-bottom:1rem}.card p{max-width:36rem}.card .text-link{margin-top:.5rem}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}.split h2{margin:1rem 0 1.25rem}
  .areas{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}.area{display:flex;gap:.7rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid rgb(255 255 255 / .18);font-weight:700}.area::before{content:"•";color:var(--lime)}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.step{padding-top:1.6rem;border-top:1px solid var(--line)}.step-number{display:block;margin-bottom:2rem;color:var(--blue);font-size:.8rem;font-weight:850}.step h3{margin-bottom:.85rem}
  .page-hero{padding:3rem 0 clamp(4.5rem,8vw,7rem);background:linear-gradient(180deg,#fff 0%,#f6f9fa 100%)}.breadcrumbs{display:flex;gap:.65rem;align-items:center;margin-bottom:3.8rem;color:#6d7f89;font-size:.8rem}.breadcrumbs a{text-decoration:none}.page-hero h1{max-width:62rem;margin:1rem 0 1.3rem;font-size:clamp(2.9rem,6vw,5.4rem)}.page-hero p{max-width:47rem;font-size:1.08rem}.page-hero .actions{margin-top:2rem}
  .editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem 4.5rem}.editorial{padding-top:1.4rem;border-top:1px solid var(--line)}.editorial h2{margin-bottom:1rem;font-size:1.65rem}
  .faq{max-width:54rem}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem 0;list-style:none;cursor:pointer;font-weight:750;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary span:last-child{color:var(--blue);font-size:1.4rem;transition:transform .18s ease}.faq details[open] summary span:last-child{transform:rotate(45deg)}.faq details p{padding:0 2rem 1.35rem 0}
  .booking-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:2rem;align-items:start}.booking-form{padding:clamp(1.5rem,3vw,2.7rem);border:1px solid var(--line);border-radius:1rem;background:var(--white);box-shadow:0 15px 50px rgb(10 29 41 / .08)}.booking-form h2{margin-bottom:.85rem;font-size:2.1rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;margin-top:2rem}.form-field{display:flex;flex-direction:column;gap:.48rem;color:#334c5a;font-size:.85rem;font-weight:700}.form-field.full{grid-column:1/-1}.form-field input,.form-field textarea{width:100%;min-height:3rem;padding:.78rem .85rem;border:1px solid #aebdc5;border-radius:.48rem;background:#fff;color:var(--ink);font-size:1rem}.form-field textarea{resize:vertical}.consent{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0;color:#526773;font-size:.84rem;line-height:1.55}.consent input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--blue)}.form-status{display:none;margin-top:1rem;padding:1rem;border-left:4px solid var(--blue);background:#ecf4ff;color:var(--ink);line-height:1.55}.form-status.show{display:block}.form-status.error{border-color:#a62c2c;background:#fff0f0}.honeypot{display:none!important}.booking-aside{padding:2rem;border-radius:1rem;background:var(--navy);color:#fff}.booking-aside .eyebrow{color:var(--lime)}.booking-aside h2{margin:1rem 0}.booking-aside p{color:#bdcbd2}.booking-phone{display:block;margin:1.7rem 0;color:var(--lime);font-size:1.65rem;font-weight:800;text-decoration:none}.aside-rule{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid rgb(255 255 255 / .18)}
  .identity{display:grid;gap:.65rem;font-style:normal}.identity a{text-underline-offset:.3rem}.contact-panel{padding:2rem;border-radius:1rem;background:var(--paper)}
  .cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:6rem;padding:clamp(2rem,5vw,3.6rem);border-radius:1rem;background:var(--lime)}.cta h2{max-width:44rem;margin-bottom:.8rem}.cta p{color:#42543b}.cta .button{flex-shrink:0}
  footer{padding:4.5rem 0 2rem;background:#eaf0f2;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:3.5rem}.footer-copy{max-width:24rem;margin:1.2rem 0}.footer-phone{display:inline-block;font-size:1.5rem;font-weight:800;text-decoration:none}.footer-nav{display:grid;gap:.75rem;align-content:start}.footer-nav a{width:max-content;text-decoration:none;font-size:.9rem}.footer-meta{display:flex;align-items:center;gap:1.5rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);color:#677984;font-size:.75rem}.footer-meta a{margin-left:auto}.mobile-actions{display:none}
  .error-page{min-height:70vh;display:grid;place-items:center;text-align:center}.error-page h1{margin:1rem 0}.error-page p{max-width:35rem}.error-page .actions{justify-content:center;margin-top:2rem}
}
@layer utilities {.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:960px){.desktop-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;margin:0;padding:1rem 1.5rem 1.5rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgb(10 29 41 / .1)}.desktop-nav.open{display:grid}.desktop-nav a{padding:.7rem 0}.menu-toggle{display:block;margin-left:auto}.language-link{margin-left:0}.header-call{display:none}.hero-grid{grid-template-columns:1fr}.hero-media{min-height:31rem}.hero-media>img{min-height:31rem}.flight-card{right:1rem}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(odd){border-left:1px solid var(--line)}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.split,.booking-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.mobile-actions{position:fixed;right:0;bottom:0;left:0;z-index:120;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom));background:rgb(255 255 255 / .96);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:3rem;border-radius:.5rem;text-decoration:none;font-size:.9rem;font-weight:800;background:var(--navy);color:#fff}.mobile-actions a:first-child{background:var(--lime);color:var(--navy)}body{padding-bottom:calc(4.2rem + env(safe-area-inset-bottom))}}
@media(max-width:640px){.shell{width:min(100% - 2rem,1220px)}.utility .shell span:last-child{display:none}.header-inner{min-height:4.65rem;gap:.65rem}.brand{font-size:.98rem}.brand-mark{width:2.35rem;height:2.35rem}.hero{padding-top:3.5rem}.hero-copy h1{font-size:3.7rem}.hero-media,.hero-media>img{min-height:24rem}.hero-media>img{object-position:54% center}.flight-card{right:.7rem;bottom:-2rem;left:.7rem;padding:1.1rem}.route strong{font-size:1.5rem}.trust-grid,.cards,.steps,.editorial-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.trust-item,.trust-item:first-child,.trust-item:nth-child(odd){border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.areas{gap:0 .8rem}.section{padding:4.3rem 0}.page-hero{padding-bottom:4.3rem}.breadcrumbs{margin-bottom:2.5rem}.cta{align-items:flex-start;flex-direction:column;margin-bottom:4rem}.footer-grid>div:first-child{grid-column:auto}.footer-meta{align-items:flex-start;flex-direction:column;gap:.8rem}.footer-meta a{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.desktop-nav a::after,.faq summary span:last-child{transition:none}}
