
/* De Bellos V20: brand lockups, centered navigation, support strip and photographic cards */
:root{--brand-primary:#123B8F;--brand-secondary:#2563C7;--brand-navy:#0B1E42;--brand-pale:#F7FAFF;--brand-line:#E4EAF3}
/* True three-column header: nav remains centered independent of the CTA width */
.site-header .nav-wrap{display:grid!important;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);gap:24px;align-items:center;height:82px}
.site-header .debellos-lockup{grid-column:1;display:inline-flex;align-items:center;gap:12px;min-width:0;width:max-content;max-width:100%;text-decoration:none}
.site-header .brand-icon-img,.site-header .brand img.brand-icon-img{display:block!important;width:clamp(56px,4.7vw,76px)!important;height:clamp(56px,4.7vw,76px)!important;max-height:none!important;max-width:none!important;object-fit:contain;flex:0 0 auto}
.brand-wordmark{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.08}
.brand-wordmark strong{font:800 clamp(21px,1.55vw,29px)/1.04 'Manrope',sans-serif;color:#0B1E42;letter-spacing:-.055em;white-space:nowrap}
.brand-wordmark small{font:800 clamp(9px,.7vw,11px)/1.25 'DM Sans',sans-serif;color:#D9233F;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;margin-top:4px}
.site-header .site-nav{grid-column:2;display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,30px);position:static;box-shadow:none}
.site-header .site-nav a:not(.nav-cta){font-size:14px!important;font-weight:500!important;white-space:nowrap}
.site-header .site-nav a.active:not(.nav-cta),.site-header .site-nav a[aria-current="page"]:not(.nav-cta){font-weight:800!important;color:#123B8F!important}
.site-header .header-contact-cta{grid-column:3;justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#123B8F!important;color:white!important;border-radius:999px;font:700 14px 'DM Sans',sans-serif;white-space:nowrap;text-decoration:none;padding:14px 22px;box-shadow:0 10px 22px rgba(18,59,143,.12)}
.site-header .header-contact-cta:hover{background:#0c2f70!important}
.site-header .site-nav .mobile-menu-cta{display:none}
/* Refine hero with stable image proportions at normal and zoomed-out desktop widths. */
body[data-page="index"] .airport-hero-inner{max-width:1750px;grid-template-columns:minmax(0,50%) minmax(0,50%)}
body[data-page="index"] .airport-hero-visual{height:auto!important;min-height:600px;display:flex;align-items:center;justify-content:flex-end;overflow:visible}
body[data-page="index"] .airport-visual-first{width:min(960px,110%)!important;max-width:none!important;height:auto;object-fit:contain;filter:none}
body[data-page="index"] .airport-hero-copy{max-width:none}
body[data-page="index"] .airport-hero-copy h1{font-size:clamp(44px,4.1vw,70px);max-width:700px;line-height:1.07}
body[data-page="index"] .airport-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,505px);gap:12px}
body[data-page="index"] .airport-hero-actions .airport-btn{box-sizing:border-box;width:100%;min-width:0;height:56px;min-height:56px;padding:12px 12px;gap:8px;font-size:14px;border-radius:14px;text-align:center}
body[data-page="index"] .airport-hero-actions .airport-btn span{font-size:20px}
/* Precisely the slim, connected pale-blue support strip—no three pill cards */
body[data-page="index"] .airport-hero-highlights{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;width:min(100%,570px);max-width:100%;gap:0!important;border:0;border-radius:0;background:linear-gradient(180deg,#eaf4ff,#d8edff);box-shadow:none;margin:26px 0 0;padding:5px 3px 5px 0;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 75%,93% 100%,0 100%)}
body[data-page="index"] .airport-hero-highlights::after{display:none!important}
body[data-page="index"] .airport-support-card{flex:1 1 33.33%!important;max-width:none!important;min-width:0;min-height:40px;padding:7px 10px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;gap:6px;justify-content:center}
body[data-page="index"] .airport-support-card + .airport-support-card{border-left:1px solid #a8c7ec!important}
body[data-page="index"] .support-icon{width:21px;height:21px;flex:0 0 21px;background:transparent;color:#1258bf}
body[data-page="index"] .support-icon svg{width:19px;height:19px}
body[data-page="index"] .support-copy{white-space:nowrap}
body[data-page="index"] .support-copy strong{font:700 clamp(10px,.85vw,12px)/1.25 'DM Sans',sans-serif;color:#0b1e42}
body[data-page="index"] .support-copy small{display:none!important}
/* Make photo-led services definitive and consistent (all local). */
.service-media{overflow:hidden}
.service-media img{width:100%;height:100%;object-fit:cover;display:block}
/* Why De Bellos: subtle auto-slider with accessible manual buttons. */
.why-photo.why-carousel{position:relative;isolation:isolate;overflow:hidden;background:#dce9f5}
.why-carousel-viewport{position:absolute;inset:0;overflow:hidden}
.why-photo.why-carousel .why-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease;pointer-events:none}
.why-photo.why-carousel .why-slide.is-active{opacity:1;z-index:1}
.why-photo.why-carousel::after{z-index:1;pointer-events:none}
.why-photo.why-carousel figcaption{z-index:2;right:115px;bottom:28px}
.why-carousel-controls{position:absolute;right:16px;bottom:20px;z-index:3;display:flex;align-items:center;gap:8px}
.why-carousel-controls .why-arrow{appearance:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.92);color:#123B8F;cursor:pointer;font-size:17px}
.why-carousel-controls .why-arrow:hover{background:#fff}
.why-carousel-dots{display:flex;align-items:center;gap:5px}
.why-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.45);cursor:pointer}
.why-carousel-dots button[aria-current="true"]{width:19px;background:#fff}
.why-carousel-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* CTA: ocean photo is the full frame; text floats on water with NO extra tinted card. */
.cta-coastline{background:linear-gradient(90deg,rgba(0,29,61,.19) 0%,rgba(4,25,48,.02) 62%),url('images/coastline-cta.webp') center/cover no-repeat!important;min-height:370px}
.cta-coastline .cta-copy{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important;width:min(45%,460px)!important}
.cta-coastline .cta-copy .eyebrow{display:none!important}
.cta-coastline .cta-copy h2{font-size:clamp(29px,2.9vw,42px);color:white;line-height:1.16;text-shadow:0 2px 15px rgba(0,0,0,.5)}
.cta-coastline .cta-copy h2 em{color:white!important}
.cta-coastline .cta-copy p{font-size:14px;color:#fff;line-height:1.72;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.cta-enquiry-panel{background:rgba(255,255,255,.97)!important}
/* Footer: icon-only artwork, wordmark is real text, crisp at any zoom. */
.site-footer .debellos-footer-lockup{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:flex-start;gap:12px;max-width:100%}
.site-footer img.footer-symbol,.site-footer .footer-logo img.footer-symbol{width:clamp(60px,5vw,82px)!important;height:clamp(60px,5vw,82px)!important;max-height:none!important;max-width:none!important;object-fit:contain!important;filter:none!important}
.footer-wordmark{display:flex;flex-direction:column;gap:4px;min-width:0}
.footer-wordmark strong{font:800 clamp(24px,1.9vw,32px)/1.02 'Manrope',sans-serif;color:#fff;letter-spacing:-.045em;white-space:nowrap}
.footer-wordmark small{font:700 clamp(10px,.82vw,12px)/1.28 'DM Sans',sans-serif;color:#e3edfa;letter-spacing:.02em;white-space:nowrap}
@media(min-width:1600px){.site-header .nav-wrap{max-width:1440px}.site-header .brand-icon-img,.site-header .brand img.brand-icon-img{width:76px!important;height:76px!important}.brand-wordmark strong{font-size:28px}body[data-page="index"] .airport-hero-inner{min-height:710px}body[data-page="index"] .airport-hero-copy h1{font-size:clamp(62px,3.7vw,75px)}}
@media(max-width:1100px){.site-header .nav-wrap{grid-template-columns:minmax(205px,1fr) auto minmax(148px,1fr);gap:15px}.site-header .site-nav{gap:15px}.site-header .header-contact-cta{padding:12px 16px}.brand-wordmark strong{font-size:21px}body[data-page="index"] .airport-hero-copy h1{font-size:clamp(40px,4.15vw,53px)}body[data-page="index"] .airport-hero-visual{min-height:530px}body[data-page="index"] .airport-hero-highlights{width:min(100%,520px)}}
@media(max-width:960px){
 .site-header .nav-wrap,body[data-page="index"] .nav-wrap{display:grid!important;grid-template-columns:1fr auto;height:72px!important;gap:10px}
 .site-header .menu-toggle{display:block;grid-column:2;justify-self:end}
 .site-header .debellos-lockup{grid-column:1}
 .site-header .site-nav{position:absolute;top:72px;left:14px;right:14px;z-index:1005;display:none;flex-direction:column;align-items:stretch;gap:2px;padding:14px;background:#fff;border:1px solid #E4EAF3;border-radius:18px;box-shadow:0 20px 50px rgba(11,30,66,.15)}
 .site-header .site-nav.open{display:flex!important}
 .site-header .site-nav a:not(.nav-cta){padding:12px 14px}
 .site-header .header-contact-cta{display:none}
 .site-header .site-nav .mobile-menu-cta{display:inline-flex;justify-content:center;margin-top:8px}
 .site-header .brand-icon-img,.site-header .brand img.brand-icon-img{width:56px!important;height:56px!important}
 .brand-wordmark strong{font-size:22px}.brand-wordmark small{font-size:9px}
 body[data-page="index"] .airport-hero-inner{grid-template-columns:1fr;display:flex;flex-direction:column;min-height:0}
 body[data-page="index"] .airport-hero-copy{width:100%!important;max-width:700px;padding:40px 24px 0!important;margin:0 auto}
 body[data-page="index"] .airport-hero-copy h1{font-size:clamp(38px,5.8vw,58px)}
 body[data-page="index"] .airport-hero-visual{width:100%!important;min-height:0;height:auto!important;max-width:710px;margin:15px auto 0}
 body[data-page="index"] .airport-visual-first{width:100%!important;max-width:100%!important}
 .cta-coastline .cta-copy{width:min(49%,420px)!important}
}
@media(max-width:700px){
 .brand-wordmark strong{font-size:20px}.brand-wordmark small{font-size:9px}
 .site-header .brand-icon-img,.site-header .brand img.brand-icon-img{width:50px!important;height:50px!important}
 body[data-page="index"] .airport-hero-copy{padding:30px 20px 0!important}
 body[data-page="index"] .airport-hero-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:100%}
 body[data-page="index"] .airport-hero-actions .airport-btn{font-size:12px;white-space:normal;min-height:53px;height:auto}
 body[data-page="index"] .airport-hero-highlights{max-width:100%;width:100%;margin-top:21px}
 body[data-page="index"] .airport-support-card{padding:8px 4px;gap:4px;min-height:38px}
 body[data-page="index"] .support-icon{width:17px;height:17px;flex-basis:17px}
 body[data-page="index"] .support-icon svg{width:15px;height:15px}
 body[data-page="index"] .support-copy strong{font-size:clamp(8px,2.45vw,11px)}
 .cta-coastline{flex-direction:column!important;align-items:stretch!important;gap:26px;background-position:25% center!important;padding:30px!important}
 .cta-coastline .cta-copy{width:100%!important;max-width:500px}
 .cta-coastline .cta-copy h2{max-width:430px;font-size:clamp(29px,7vw,38px)}
 .cta-enquiry-panel{width:100%!important;max-width:530px!important}
 .why-photo.why-carousel figcaption{left:17px;right:94px;font-size:13px;bottom:25px}
}
@media(max-width:390px){body[data-page="index"] .airport-hero-actions .airport-btn{font-size:11px;padding:8px 5px}body[data-page="index"] .airport-hero-highlights{max-width:100%}body[data-page="index"] .support-copy strong{font-size:8.5px}.brand-wordmark strong{font-size:18px}.site-header .brand-icon-img,.site-header .brand img.brand-icon-img{width:45px!important;height:45px!important}}
@media(prefers-reduced-motion:reduce){.why-photo.why-carousel .why-slide{transition:none}}

/* Correct the intrinsic width collapse caused by all carousel images being absolutely positioned. */
.why-visual > .why-photo.why-carousel{width:100%!important;min-width:0!important;max-width:100%!important;min-height:420px;box-sizing:border-box}
