/* Shared navigation. One base per component; responsive changes follow below. */
html.tn-menu-open{overflow:hidden!important}
body #nav.tn-nav{
 height:76px!important;padding:0!important;overflow:visible;z-index:1100;
 background:rgba(10,12,14,.64)!important;color:#f5f5f2!important;
 border:0;border-bottom:1px solid #ffffff1f!important;box-shadow:0 2px 16px #00000012;
 -webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;
}
body #nav.tn-nav::before{content:none!important;display:none!important}
body #nav.tn-nav .nav-inner{display:flex;align-items:center;width:100%;height:100%;max-width:2080px;margin-inline:auto;padding:0 clamp(24px,3vw,72px);gap:28px}
body #nav.tn-nav .nav-logo{width:clamp(156px,10vw,188px);flex:0 0 clamp(156px,10vw,188px);aspect-ratio:2166/726;margin:0}
body #nav.tn-nav .site-signature--light{display:block!important;visibility:visible!important;opacity:1!important}
body #nav.tn-nav .site-signature--dark{display:none!important}
body #nav.tn-nav .tn-desktop{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(18px,1.5vw,32px);min-width:0;list-style:none;margin:0;padding:0}
body #nav.tn-nav .tn-desktop>li{position:relative;list-style:none;margin:0;padding:0}
body #nav.tn-nav .tn-desktop>li::before{display:none}
.tn-group{position:relative}
.tn-group>summary{cursor:pointer;list-style:none}
.tn-group>summary::-webkit-details-marker{display:none}
body #nav.tn-nav .tn-desktop summary,body #nav.tn-nav .tn-direct{
 display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:12px 0;
 font:500 clamp(14px,.85vw,16px)/1.4 var(--font-sans,Arial,sans-serif);letter-spacing:-.015em;
 color:#eeeeeb;text-transform:none;text-shadow:none;white-space:nowrap;text-decoration:none;transition:color .18s ease;
}
body #nav.tn-nav .tn-desktop summary::after{content:'';width:4px;height:4px;flex:0 0 4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6}
body #nav.tn-nav .tn-desktop .tn-group[open]>summary::after{transform:rotate(225deg);margin-top:3px}
body #nav.tn-nav .tn-desktop summary:hover,body #nav.tn-nav .tn-group[open]>summary,body #nav.tn-nav .tn-direct:hover{color:#fff}
.tn-submenu{list-style:none;margin:0}
.tn-submenu>li{list-style:none;margin:0!important;padding:0!important}
.tn-submenu>li::before{display:none!important}
body #nav.tn-nav .tn-submenu{position:absolute;top:calc(100% + 16px);left:-18px;width:300px;padding:10px;background:rgba(16,18,20,.97);border:1px solid #ffffff20;border-radius:12px;box-shadow:0 16px 40px #0003}
body #nav.tn-nav .tn-submenu a{display:block;min-height:44px;padding:12px 14px;border-radius:7px;font:400 14px/1.5 var(--font-sans,Arial,sans-serif);color:#eeeeeb;letter-spacing:0;text-transform:none;text-shadow:none;white-space:normal;text-decoration:none;opacity:1;transform:none}
body #nav.tn-nav .tn-submenu a:hover,body #nav.tn-nav .tn-submenu a[aria-current=page]{background:#ffffff0d;color:#fff}
body #nav.tn-nav .nav-lang{margin-left:0;flex:0 0 auto;border:0;padding:0}
body #nav.tn-nav .lang-current{min-height:44px;height:44px;padding:0 4px!important;gap:8px;color:#eeeeeb!important;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;transform:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
body #nav.tn-nav .lang-code{color:#eeeeeb;font-size:11px;letter-spacing:.06em}
body #nav.tn-nav .lang-flag{width:15px;height:15px;flex-basis:15px}
body #nav.tn-nav .lang-menu{background:rgba(16,18,20,.97);border:1px solid #ffffff20;box-shadow:0 16px 40px #0003}
body #nav.tn-nav .lang-option{color:#eeeeeb;min-height:44px}
body #nav.tn-nav .lang-option:hover,body #nav.tn-nav .lang-option.is-active{background:#ffffff0d;color:#fff}
body #nav.tn-nav .nav-cta{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;height:auto;margin:0;padding:12px 20px!important;gap:16px;background:#f3f3ee!important;color:#171a1c!important;border:1px solid #f3f3ee!important;border-radius:999px;font:500 13px/1.4 var(--font-sans,Arial,sans-serif)!important;letter-spacing:0!important;text-transform:none!important;text-shadow:none;white-space:nowrap;text-align:center;transform:none!important;box-shadow:none;transition:background .18s ease,box-shadow .18s ease}
body #nav.tn-nav .nav-cta::before{display:none!important}
body #nav.tn-nav .nav-cta::after{content:'';position:static;display:block;flex:0 0 6px;width:6px;height:6px;margin:0;border-top:1px solid currentColor;border-right:1px solid currentColor;background:none;transform:rotate(45deg);opacity:.8}
body #nav.tn-nav .nav-cta:hover{background:#fff!important;box-shadow:0 3px 12px #0002}
body #nav.tn-nav .mobile-toggle{display:none!important;transform:none!important}
body #nav.tn-nav :is(a,button,summary):focus-visible{outline:2px solid #eee!important;outline-offset:4px}

/* Mobile dialog: opaque enough for contrast, matching the black header. */
body #mobileMenu.tn-mobile{
 --menu-ink:#f5f5f2;--menu-muted:#bbc0c3;
 box-sizing:border-box;position:fixed;inset:0;z-index:1200;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none!important;
 display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;align-items:stretch!important;
 padding:24px 28px max(20px,env(safe-area-inset-bottom))!important;overflow:hidden!important;
 background:#101214!important;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,12px,0)!important;
 transition:opacity .26s ease,transform .44s cubic-bezier(.2,.7,.2,1),visibility .26s;
}
body #mobileMenu.tn-mobile.active{background:linear-gradient(112deg,rgba(10,12,14,.98),rgba(10,12,14,.94)),url('../../images/hero-contact-drone-jour-768-perf.avif') 63% 50%/cover!important;opacity:1;visibility:visible;pointer-events:auto;transform:none!important}
body #mobileMenu.tn-mobile a{opacity:1!important;transform:none!important;text-transform:none!important;letter-spacing:0!important;transition:color .2s ease}
body #mobileMenu.tn-mobile a::after{display:none!important}
body #mobileMenu.tn-mobile .tn-mobile-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto;column-gap:20px;row-gap:14px;min-height:0;width:100%;max-width:620px;margin-inline:auto;padding:0;border:0}
body #mobileMenu.tn-mobile .mobile-menu-logo{display:block;grid-area:1/1;width:148px;max-width:100%;min-width:0;justify-self:start;align-self:center;margin:0;padding:0!important}
body #mobileMenu.tn-mobile .site-signature--mobile{display:block;width:100%!important;max-width:100%!important;height:auto;object-fit:contain}
body #mobileMenu.tn-mobile .mobile-menu-close{position:relative;top:auto;right:auto;grid-area:1/2;width:44px;height:44px;margin:0;align-self:center;border:1px solid #ffffff33!important;background:#ffffff04!important;box-shadow:none!important;transition:background .2s,border-color .2s}
body #mobileMenu.tn-mobile .mobile-menu-close:hover{background:#ffffff0c!important;border-color:#ffffff66!important}
body #mobileMenu.tn-mobile .mobile-menu-close span{width:17px!important;height:1px!important;background:#f5f5f2!important}
body #mobileMenu.tn-mobile .tn-mobile-languages{display:flex;align-items:center;grid-area:2/1/3/3;justify-self:start;gap:3px;padding:3px;border:1px solid #ffffff22;border-radius:30px;background:#ffffff03}
body #mobileMenu.tn-mobile .tn-mobile-languages a{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:32px;padding:6px 10px;font:500 10px/1 var(--font-sans,Arial,sans-serif)!important;letter-spacing:.07em!important;color:#d1d5d7;border:0;border-radius:20px}
body #mobileMenu.tn-mobile .tn-mobile-languages a[aria-current=page]{background:#f3f3ee;color:#171a1c}
body #mobileMenu.tn-mobile .tn-mobile-links{counter-reset:none;display:flex;flex-direction:column;justify-content:safe center;gap:2px;min-height:0;align-self:stretch;width:100%;max-width:620px;margin-inline:auto;padding:5px 3px 5px 0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
body #mobileMenu.tn-mobile .tn-group{flex:0 0 auto;margin:0;padding:0;border:0;border-radius:12px;transition:background .24s}
body #mobileMenu.tn-mobile .tn-group[open]{background:#ffffff05}
body #mobileMenu.tn-mobile summary,body #mobileMenu.tn-mobile .tn-direct{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;column-gap:12px;align-items:center;min-height:73px;padding:14px 0!important;margin:0;font:400 34px/1.05 var(--font-serif,Georgia,serif)!important;letter-spacing:-.035em!important;color:var(--menu-ink);text-transform:none}
body #mobileMenu.tn-mobile .tn-number{grid-column:1;align-self:center;font:400 9px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.08em;color:#b9bfc3;opacity:.9}
body #mobileMenu.tn-mobile .tn-label{grid-column:2;min-width:0;display:block}
body #mobileMenu.tn-mobile .tn-label-detail{display:block;font:400 10px/1.5 var(--font-sans,Arial,sans-serif);letter-spacing:.09em;text-transform:uppercase;color:var(--menu-muted);margin-top:7px}
body #mobileMenu.tn-mobile summary::after,body #mobileMenu.tn-mobile .tn-direct-arrow{grid-column:3;grid-row:1;content:'+';display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;border:1px solid #ffffff24;border-radius:50%;font:300 17px/1 Arial,sans-serif;color:#d9dddf;opacity:.9;transform:none;background:#ffffff03;transition:transform .25s,background .25s}
body #mobileMenu.tn-mobile .tn-group[open]>summary{color:#fff}
body #mobileMenu.tn-mobile .tn-group[open]>summary::after{transform:rotate(45deg);background:#ffffff0d}
body #mobileMenu.tn-mobile .tn-direct{flex:0 0 auto}
body #mobileMenu.tn-mobile .tn-direct-arrow{font-size:14px}
body #mobileMenu.tn-mobile .tn-submenu{position:static;width:auto;margin:0;padding:0 26px 12px 34px;background:none;box-shadow:none;border:0}
body #mobileMenu.tn-mobile .tn-submenu a{display:block;position:relative;min-height:44px;padding:12px 12px!important;border-radius:7px;font:400 14px/1.5 var(--font-sans,Arial,sans-serif)!important;color:#d3d7da;letter-spacing:0!important;white-space:normal}
body #mobileMenu.tn-mobile .tn-submenu a:hover,body #mobileMenu.tn-mobile .tn-submenu a[aria-current=page]{background:#ffffff0d;color:#fff}
body #mobileMenu.tn-mobile .mobile-menu-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px!important;row-gap:13px!important;width:100%;max-width:620px;margin:0 auto!important;padding:17px 0 0!important;min-height:0;border-top:1px solid #ffffff26;align-items:center;justify-content:stretch}
/* Availability CTA: warm ivory, generous serif lettering and a precise compact vector arrow. */
body #mobileMenu.tn-mobile .mobile-menu-cta{
 grid-area:1/1/2/3;box-sizing:border-box;display:flex!important;justify-content:space-between;align-items:center;
 gap:12px;width:100%!important;max-width:none!important;min-height:62px!important;height:auto;margin:0;
 padding:14px 20px 14px 22px!important;background:#eae4d9!important;border:0!important;
 color:#272822!important;border-radius:7px!important;font:500 22px/1.2 var(--font-serif,Georgia,serif)!important;
 box-shadow:inset 0 1px 0 #ffffff80,0 5px 18px #00000014!important;
 letter-spacing:-.015em!important;text-transform:none!important;
 text-shadow:none;text-align:left;white-space:normal;transform:none!important;text-decoration:none;
 transition:background-color .25s ease,box-shadow .25s ease;
}
body #mobileMenu.tn-mobile .mobile-menu-cta::before{display:none!important}
body #mobileMenu.tn-mobile .tn-cta-arrow{
 position:relative;display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;
 border:0;border-radius:0;background:none;color:#6f644f;font-size:0;transition:translate .25s ease;
}
body #mobileMenu.tn-mobile .tn-cta-arrow::before{
 content:'';position:static;display:block;width:16px;height:16px;background:currentColor;transform:none;
 -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M3%208h10M9%204l4%204-4%204%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M3%208h10M9%204l4%204-4%204%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
body #mobileMenu.tn-mobile .tn-cta-arrow::after{content:none;display:none}
/* Legacy home-menu hover rules must not turn the ivory button text white. */
body #mobileMenu.tn-mobile .mobile-menu-cta:is(:hover,:focus-visible,:active,:visited){color:#272822!important}
@media(hover:hover){
 body #mobileMenu.tn-mobile .mobile-menu-cta:hover{background:#f8f3e9!important;box-shadow:inset 0 1px 0 #fff,0 7px 22px #00000020!important}
 body #mobileMenu.tn-mobile .mobile-menu-cta:hover .tn-cta-arrow{translate:2px 0}
}
body #mobileMenu.tn-mobile .mobile-menu-cta:active{background:#ded5c6!important;box-shadow:inset 0 1px 4px #0000000d!important}
body #mobileMenu.tn-mobile .mobile-menu-social{grid-area:2/2;display:flex!important;align-items:center;justify-content:flex-end;gap:5px!important;min-height:44px;margin:0!important;padding:0!important}
body #mobileMenu.tn-mobile .mobile-menu-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;font-size:17px!important;padding:0!important;border:1px solid #ffffff22;border-radius:50%;background:#ffffff03}
body #mobileMenu.tn-mobile .mobile-menu-tagline{display:block;grid-area:2/1;max-width:190px;margin:0;padding:0;text-align:left;color:#bbc0c3;font:400 10px/1.7 var(--font-sans,Arial,sans-serif);text-transform:none;letter-spacing:0;text-wrap:balance}
body #mobileMenu.tn-mobile :is(a,button,summary):focus-visible{outline:2px solid #f3f3ee!important;outline-offset:4px}
body #mobileMenu.tn-mobile.active .tn-mobile-links>.tn-group,body #mobileMenu.tn-mobile.active .tn-mobile-links>.tn-direct{animation:tn-menu-entrance .5s both cubic-bezier(.2,.7,.2,1)}
body #mobileMenu.tn-mobile.active .tn-mobile-links>:nth-child(2){animation-delay:35ms}
body #mobileMenu.tn-mobile.active .tn-mobile-links>:nth-child(3){animation-delay:70ms}
body #mobileMenu.tn-mobile.active .tn-mobile-links>:nth-child(4){animation-delay:105ms}
body #mobileMenu.tn-mobile.active .tn-mobile-links>:nth-child(5){animation-delay:140ms}
@keyframes tn-menu-entrance{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1320px) and (max-width:1599px){
 body #nav.tn-nav .nav-inner{padding-inline:24px;gap:16px}
 body #nav.tn-nav .nav-logo{width:148px;flex-basis:148px}
 body #nav.tn-nav .tn-desktop{gap:16px}
 body #nav.tn-nav .lang-current{min-width:64px}
 body #nav.tn-nav .nav-cta{font-size:12px!important;padding-inline:16px!important;gap:12px}
 html[lang="es"] #nav.tn-nav .tn-desktop{gap:12px}
}
@media(max-width:1319px){
 body #nav.tn-nav{height:64px!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}
 body #nav.tn-nav .nav-inner{padding-inline:20px;gap:12px}
 body #nav.tn-nav .nav-logo{width:140px;flex-basis:140px}
 body #nav.tn-nav .tn-desktop,body #nav.tn-nav .nav-cta{display:none!important}
 body #nav.tn-nav .nav-lang{margin-left:auto}
 body #nav.tn-nav .mobile-toggle{display:flex!important;width:44px;height:44px;color:#eeeeeb!important;background:transparent!important;border:1px solid #ffffff40!important;box-shadow:none}
 body #nav.tn-nav .mobile-toggle span{background:#f5f5f2!important}
}
@media(max-width:370px){
 body #nav.tn-nav .nav-inner{padding-inline:14px;gap:8px}
 body #nav.tn-nav .nav-logo{width:128px;flex-basis:128px}
 body #mobileMenu.tn-mobile{padding-inline:20px!important;gap:13px}
 body #mobileMenu.tn-mobile .mobile-menu-logo{width:133px}
 body #mobileMenu.tn-mobile summary,body #mobileMenu.tn-mobile .tn-direct{font-size:29px!important;grid-template-columns:18px minmax(0,1fr) 26px;column-gap:9px;min-height:66px}
 body #mobileMenu.tn-mobile .tn-label-detail{font-size:10px;letter-spacing:.06em}
 body #mobileMenu.tn-mobile .mobile-menu-cta{padding-inline:17px!important;gap:10px;font-size:18px!important;letter-spacing:-.02em!important}
 body #mobileMenu.tn-mobile .mobile-menu-tagline{font-size:9px}
}
@media(max-height:680px){
 body #mobileMenu.tn-mobile{padding-block:14px!important;gap:10px}
 body #mobileMenu.tn-mobile .tn-mobile-header{row-gap:5px;grid-template-columns:minmax(0,1fr) auto 44px;column-gap:8px}
 body #mobileMenu.tn-mobile .mobile-menu-logo{width:126px;grid-area:1/1}
 body #mobileMenu.tn-mobile .tn-mobile-languages{grid-area:1/2;padding:2px;gap:0}
 body #mobileMenu.tn-mobile .tn-mobile-languages a{min-width:28px;padding:5px 7px;min-height:32px;font-size:9px!important}
 body #mobileMenu.tn-mobile .mobile-menu-close{grid-area:1/3}
 body #mobileMenu.tn-mobile summary,body #mobileMenu.tn-mobile .tn-direct{min-height:61px;font-size:29px!important;padding-block:11px!important}
 body #mobileMenu.tn-mobile .mobile-menu-footer{padding-top:11px!important;row-gap:8px!important}
 body #mobileMenu.tn-mobile .mobile-menu-cta{min-height:56px!important;padding-block:12px!important}
}
@media(prefers-reduced-transparency:reduce){body #nav.tn-nav{background:#101214!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
@media(prefers-reduced-motion:reduce){body #nav.tn-nav *,body #nav.tn-nav *::before,body #nav.tn-nav *::after,body #mobileMenu.tn-mobile,body #mobileMenu.tn-mobile *{animation:none!important;transition:none!important}}
