:root { --blue:#191e50; --grey:#444552; --bg:#f5f5f5; --px:4rem; --py:3rem; --header:112px; --radius:150px; font-family:'Nunito Sans','Segoe UI',Arial,sans-serif; color:var(--blue); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-size:20px; line-height:1.6; font-weight:300; }
h1,h2,h3,p { margin:0 0 1rem; }
h1 { font-size:32px; font-weight:500; line-height:1.4; }
h2 { font-size:30px; font-weight:500; line-height:1.25; }
h3 { font-size:26px; font-weight:500; line-height:1.5; }
p { font-weight:300; }
a { color:inherit; text-decoration:none; }
a:hover { color:#4060e8; }
button { font:inherit; color:inherit; cursor:pointer; }
:focus-visible { outline:3px solid #00bcb4; outline-offset:3px; }
.skip-link { position:fixed; z-index:50; top:-100px; left:1rem; padding:.5rem 1rem; background:white; }
.skip-link:focus { top:1rem; }
.site__header { height:var(--header); background:#fff; position:sticky; top:0; z-index:1000; transition:height .25s ease, background-color .25s ease, box-shadow .25s ease; }
.site__header.is-compact { height:var(--header-compact, 76px); background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:0 2px 14px rgba(25,30,80,.08); }
.header__inner { height:100%; display:flex; align-items:center; padding:0 var(--px); gap:2rem; }
.header-logo { display:flex; align-items:center; margin-right:auto; }
.header-brand { display:flex; align-items:center; gap:1rem; margin-right:auto; }
.header-brand .header-logo { margin-right:0; }
.header-brand .header-logo + .header-logo { border-left:1px solid #c7c9d1; padding-left:1rem; }
.header-logo img { display:block; max-width:235px; max-height:65px; object-fit:contain; transition:max-height .25s ease; }
.site__header.is-compact .header-logo img { max-height:48px; }
.header-navigation { display:flex; align-items:center; gap:40px; font-size:18px; }
.languages { position:relative; }
.language-button { background:none; border:0; padding:10px; }
.language-button::after { content:""; display:inline-block; width:16px; height:16px; margin-left:.75rem; background:url("./assets/button-arrow-btm-dark-blue.svg") center / contain no-repeat; vertical-align:middle; }
.language-list { display:none; position:absolute; top:100%; right:0; background:#fff; box-shadow:0 5px 20px #191e5020; min-width:105px; padding:10px; }
.languages:hover .language-list,.languages:focus-within .language-list,.language-button[aria-expanded="true"] + .language-list { display:grid; gap:6px; }
.menu-toggle,.site-menu { display:none !important; }
.section__inner { max-width:1728px; margin:0 auto; padding-left:var(--px); padding-right:var(--px); }
.section__page_banner { position:relative; overflow:hidden; }
.section__page_banner:not(.section__page_banner--home) { background-color:#fff; }
.section__page_banner .section__inner { position:relative; }
.section__breadcrumb { display:none; }
.breadcrumb__list { display:flex; align-items:center; gap:9px; padding:0; margin:0; list-style:none; font-size:14px; line-height:1; }
.breadcrumb__current { color:#797985; }
.banner__row { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--px); padding-right:var(--px); padding-bottom:0; }
.section__page_banner:has(.section__info) { padding-top:20px; padding-bottom:83px; }
.banner__row:has(.section__info) { gap:16px; padding-right:var(--px); }
.banner__row .section__info { width:37.5%; }
.banner__row .section__cover_image { width:60%; }
.section__info { width:40%; margin-top:2rem; }
.section__info__secondary { width:55%; margin-top:2rem; }
.section__info__inner { max-width:650px; }
.section__info__secondary .section__info__inner { max-width:100%; }
.page__title { margin:0 0 1.8rem; }
.page__desc { color:var(--grey); }
.page__desc p { font-size:22px; line-height:1.6; }
.page__desc a,.section__body a { color:#0000ff; text-decoration:underline; }
.section__cover_image { width:60%; aspect-ratio:2.7; position:relative; overflow:hidden; border-bottom-left-radius:var(--radius); }
.section__cover_image__secondary { width:45%; aspect-ratio:473/266; position:relative; overflow:hidden; border-bottom-left-radius:120px; flex-shrink:0; }
.section__cover_image img,.section__cover_image__secondary img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.item__blended_bg { position:absolute; inset:0; background:linear-gradient(270deg,#000d3a,#4060e8); mix-blend-mode:soft-light; pointer-events:none; }
.section__bg_grey { background:var(--bg); }
.section__explore_grid .section__inner { padding-top:var(--py); padding-bottom:var(--py); margin-top:var(--py); }
.section__title { margin-bottom:2rem; }
.explore_more_grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--px); }
.item__inner { display:flex; flex-direction:column; gap:1.5rem; }
.item__thumb { overflow:hidden; }
.item__thumb__container { display:block; aspect-ratio:345/290; position:relative; overflow:hidden; }
.item__thumb__container img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.item__inner:hover .item__thumb__container img { transform:scale(1.05); }
.item__inner:hover .item__thumb__container .item__blended_bg { opacity:0; }
.item__info h3 { line-height:1.2; margin:0 0 .5rem; }
.item__excerpt { color:var(--grey); line-height:1.3; margin:0; }
.section__flexible_content .section__inner { padding-top:calc(var(--py) + 30px); padding-bottom:var(--py); margin-top:var(--py); }
.section__body { background:#fff; padding:2rem 2.67rem; }
.section__body + .section__body { margin-top:1.5rem; }
.section__body p:last-child { margin-bottom:0; }
.section__body ul { margin:0; padding-left:2.5rem; }
.section__body li { margin-bottom:.3rem; }
.section__body strong { font-weight:700; }
.access-map { margin-top:8px; }
.access-map iframe { width:100%; height:500px; min-height:300px; border:0; }
.access-hours { margin:0 0 1rem; }
.access-weather-table-wrap { overflow-x:auto; }
.access-weather-table { width:100%; border-collapse:collapse; }
.access-weather-table th,.access-weather-table td { border:1px solid currentColor; padding:.5rem .75rem; text-align:left; vertical-align:top; }
.access-weather-table p,.access-weather-table ul { margin:0; }
.access-weather-table ul { padding-left:1.5rem; }
.technical-platform-table-wrap { overflow-x:auto; margin-top:1rem; }
.technical-platform-table { width:100%; border-collapse:collapse; }
.technical-platform-table th,.technical-platform-table td { border:1px solid #bbb; padding:.65rem .75rem; text-align:left; vertical-align:top; }
.technical-platform-table thead { background:#f5f6fa; }
.technical-platform-table tbody th { width:32%; font-weight:600; }
.catalogue-group h2 { margin:0 0 1.5rem; }
.catalogue-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.catalogue-table td { padding:8px; vertical-align:middle; }
.catalogue-icon { width:120px; }
.catalogue-icon img { width:91px; height:91px; object-fit:contain; }
.catalogue-count { width:200px; text-align:center; }
.catalogue-count p { margin:0; }
.catalogue-description { padding-left:40px !important; }
.catalogue-description h3 { margin:0; }
.catalogue-group hr { border:0; border-top:1px solid #bbb; margin:8px 0; }
.section__contact_cta { background:var(--bg); border-top-left-radius:40px; }
.section__contact_cta .section__inner { display:flex; justify-content:center; align-items:center; gap:2rem; padding-top:2rem; padding-bottom:2rem; margin-top:calc(var(--py) * 2); margin-bottom:0; }
.section__contact_cta h3 { margin:0; }
.section__contact_cta .button { min-width:162px; min-height:32px; padding:4px 20px; border:0; border-radius:20px; background:linear-gradient(90deg,#00d2c5,#4060e8); position:relative; overflow:hidden; justify-content:space-between; font-size:16px; }
.section__contact_cta .button::before { content:""; position:absolute; inset:2px; border-radius:18px; background:var(--bg); z-index:1; }
.section__contact_cta .button span { position:relative; z-index:2; background:linear-gradient(90deg,#00d2c5,#209ad6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.section__contact_cta .button::after { content:"→"; width:12px; height:20px; display:inline-flex; align-items:center; justify-content:center; margin:0 -5px 0 1rem; color:#209ad6; font-size:16px; line-height:1; position:relative; z-index:2; }
.section__contact_cta .button--reverse::after { order:-1; margin:0 1rem 0 -5px; transform:scaleX(-1); }
.section__contact_cta .button:hover::before { background:linear-gradient(90deg,#00d2c5,#4060e8); }
.section__contact_cta .button:hover span,.section__contact_cta .button:hover::after { color:#fff; -webkit-text-fill-color:#fff; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:8px 26px; border:1px solid #666976; border-radius:100px; font-size:18px; color:var(--blue); white-space:normal; text-align:center; }
.button:hover { background:linear-gradient(90deg,#00d2c5,#4060e8); color:white; border-color:transparent; }
.site__footer { background:var(--blue); color:white; }
.footer__inner { max-width:1728px; margin:auto; padding:42px var(--px) 25px; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer-logo img { width:235px; max-width:100%; }
.footer-navigation { display:flex; gap:1.5rem; }
.site__footer small { display:block; width:100%; border-top:1px solid #ffffff55; padding-top:20px; font-size:14px; }
.site__footer a:hover { color:#00d2c5; }
@media(max-width:992px) { :root { --px:3rem; --py:2.5rem; --header:102px; --radius:110px; } .banner__row,.banner__row:has(.section__info) { flex-direction:column-reverse; gap:2rem; padding-left:0; padding-right:0; } .section__info,.section__info__secondary,.banner__row .section__info { width:auto; margin:0; padding:0 var(--px) 2rem; } .section__cover_image,.section__cover_image__secondary,.banner__row .section__cover_image { width:100%; } .explore_more_grid { gap:2rem; } .page__desc p { font-size:20px; } }
@media(max-width:768px) { :root { --px:2.5rem; --py:2rem; } .explore_more_grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .header-logo img { max-width:180px; } .header-navigation { gap:12px; } }
@media(max-width:576px) { :root { --px:1.2rem; --py:1.2rem; --radius:80px; --header:86px; } body { font-size:16px; } .header-logo img { max-width:155px; } .header-navigation { font-size:14px; } .header-navigation>a { display:none; } .header__inner { gap:4px; } .breadcrumb__list { display:none; } .section__breadcrumb { display:none; } .explore_more_grid { grid-template-columns:1fr; } .section__body { padding:1.5rem; } .technical-platform-table { min-width:540px; } .catalogue-icon { width:70px; } .catalogue-icon img { width:55px; height:55px; } .catalogue-count { width:90px; font-size:13px; } .catalogue-description { padding-left:4px !important; } .catalogue-description h3 { font-size:16px; } .page__desc p { font-size:17px; } h1 { font-size:26px; } h2 { font-size:25px; } h3 { font-size:21px; } .section__contact_cta .section__inner { flex-direction:column; gap:.75rem; text-align:center; } }