
    *{ box-sizing:border-box; }
    html, body{ height:100%; }
    body{
      margin:0;
      font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:#0b1220;
      background:transparent;
    }

    a{
      color: inherit;
      text-decoration: none;
      transition: opacity 220ms ease, color 220ms ease, border-color 220ms ease, background-color 220ms ease;
    }
    a:hover{ opacity: .82; }

    :root{

      --nav-solid-bg: rgba(219, 242, 255, 0.96);
      --nav-solid-border: rgba(16, 24, 40, 0.12);
      --nav-solid-text: rgba(0, 0, 0, 0.9);

      --nav-hero-text: rgba(255,255,255,.92);
      --nav-hero-border: rgba(255,255,255,.12);
      --nav-transition-ms: 420ms;
      --nav-transition-ease: cubic-bezier(0.22, 1, 0.36, 1);

      --hero-h: 75vh;
      --hero-min-h: 20vh;
      --hero-blur: 7px;
      --hero-blur-hover: 4px;
      --hero-scale: 1.04;
      --hero-scale-hover: 1.085;

      --hero-dim-top: 0.00;
      --hero-dim-bottom: 0.00;

      --hero-ease: cubic-bezier(0.22, 0, 0.36, 1);
      --hero-fade-ms: 1200ms;
      --hero-hover-ms: 1000ms;
      --hero-interval-ms: 5200ms;

      --padX: 28px;

      --grid-scale: 1.065;
      --grid-hover-ms: 420ms;

      --card-bg: rgb(245,245,245);
      --card-radius: 0px;

      --logo-w: 54px;
      --logo-h: 58px;
      --logo-gap: 18px;
    }

  .topbar{
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 50;
    background: transparent;
    border-bottom: 0px solid transparent;
    transition:
      background-color var(--nav-transition-ms) var(--nav-transition-ease),
      border-color     var(--nav-transition-ms) var(--nav-transition-ease),
      box-shadow       var(--nav-transition-ms) var(--nav-transition-ease);
  }

  .brand-float{
    position: absolute;
    left: var(--padX);
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    z-index: 60;
  }
  .brand-float img{
    width: var(--logo-w);
    height: var(--logo-h);
    object-fit: contain;
    display: block;
  }

  .topbar-inner{
    width: 100%;
    margin: 0;
    padding: 14px var(--padX);
    padding-left: calc(var(--padX) + var(--logo-w) + var(--logo-gap));
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    position: relative;
  }

  .nav{
    margin-left: auto;
    display: flex;
    align-items: center;
    min-width: 0;
    color: var(--nav-hero-text);
  }

  .nav .nav-links{
    display:flex;
    align-items:center;
    gap: clamp(10px, 1.6vw, 18px);
    font-size: clamp(11px, 1.05vw, 13px);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .nav a{
    padding: 8px clamp(4px, 0.7vw, 8px);
    font-weight: 500;
    color: inherit;
    opacity: .95;
    transition: opacity 220ms ease;
  }
  .nav a:hover{ opacity: .85; }

  .drop{
    position: relative;
    display: inline-flex;
    align-items: center;
  }

  .drop > button{
    appearance: none;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    font-weight: 500;
    color: inherit;

    padding: 14px clamp(4px, 0.7vw, 8px);
    cursor: pointer;
    display:flex;
    align-items:center;
    gap: 8px;

    letter-spacing: 0.06em;
    text-transform: uppercase;
    position: relative;
    z-index: 101;
  }

  .caret{
    width: 0; height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
    opacity: .75;
    transform: translateY(1px) rotate(0deg);
    transition: transform 220ms ease;
  }
  .drop:hover .caret,
  .drop:focus-within .caret{
    transform: translateY(1px) rotate(180deg);
  }

  .menu{
    position: absolute;
    left: -5px;
    right: 0px;
    top: calc(100% + 13px);
    min-width: 100%;
    width: 104%;
    background: rgba(16,24,40,.92);
    border: 0px solid rgba(255,255,255,.10);
    padding: 0px;
    z-index: 100;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 220ms ease, transform 220ms ease;
    text-align: center;
  }
  .drop:hover .menu,
  .drop:focus-within .menu{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .drop::after{
    content:"";
    position:absolute;
    left:0; right:0;
    top: 100%;
    height: 14px;
  }
  .menu a{
    display:block;
    padding: 15px 0px;
    color: rgba(255,255,255,.92);
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
    font-size: 12px;
    text-align:center;
    opacity: 1;
    transition: background-color 220ms ease, opacity 220ms ease;
  }
  .menu a:hover{ background: rgba(255,255,255,.08); opacity: .95; }

  .recruit{
    margin-left: clamp(4px, 0.8vw, 8px);
    padding: 12px 18px !important;
    border: 2px solid rgba(255, 255, 255, 0.95);
    background: transparent;
    color: rgba(255,255,255,.95) !important;
    font-weight: 600 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition:
      background-color 220ms ease,
      border-color 220ms ease,
      color 220ms ease,
      transform 220ms ease,
      opacity 220ms ease;
    opacity: 1;
  }
  .recruit:hover{ background-color: rgba(255,255,255,.10); opacity: .95; }
  .recruit:active{ transform: translateY(0px); }

  .topbar.is-solid{
    background: rgb(228, 244, 255);
    border-bottom: 0px solid var(--nav-solid-border);
    box-shadow: 0 6px 22px rgba(16,24,40,.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .topbar.is-solid .nav{ color: var(--nav-solid-text); }
  .topbar.is-solid .recruit{
    border-color: rgba(0,0,0,0.856);
    color: rgba(16,24,40,.92) !important;
    background: transparent;
  }
  .topbar.is-solid .recruit:hover{ background: rgba(16,24,40,.06); }

  @media (max-width: 1100px){
    :root{ --logo-w: 46px; --logo-h: 50px; --logo-gap: 14px; }
    .topbar-inner{
      padding: 12px var(--padX);
      padding-left: calc(var(--padX) + var(--logo-w) + var(--logo-gap));
    }
  }

  @media (max-width: 760px){
    :root{ --logo-w: 40px; --logo-h: 44px; --logo-gap: 12px; }
    .nav .nav-links{ font-size: 12px; letter-spacing: 0.05em; }
    .recruit{ padding: 10px 14px !important; }
  }

.nav-toggle{
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.22);
  background: transparent;
  border-radius: 10px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.topbar.is-solid .nav-toggle{
  border-color: rgba(16,24,40,.18);
}
.nav-toggle span{
  display: block;
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.92);
  transition: transform 220ms ease, opacity 220ms ease;
}
.topbar.is-solid .nav-toggle span{
  background: rgba(16,24,40,.88);
}

@media (max-width: 920px){
  .nav-toggle{ display: inline-flex; }

  .nav{
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: 12px var(--padX) 0;

    display: block;
    pointer-events: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 220ms ease, transform 220ms ease;

    max-height: calc(100vh - 74px);
    overflow: auto;
  }

  .topbar.nav-open .nav{
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
  }

  .nav .nav-links{
    width: min(520px, calc(100vw - (2 * var(--padX))));
    margin: 0 auto;
    background: rgba(16,24,40,.92);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 14px 30px rgba(16,24,40,.18);
    padding: 18px 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
    white-space: normal;
  }

  .nav a,
  .drop > button{
    width: 100%;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .recruit{
    width: 100%;
    justify-content: center;
    margin-left: 0 !important;
  }

  .topbar.nav-open .nav-toggle span:nth-child(1){
    transform: translateY(8px) rotate(45deg);
  }
  .topbar.nav-open .nav-toggle span:nth-child(2){
    opacity: 0;
  }
  .topbar.nav-open .nav-toggle span:nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
  }

  .drop{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .drop > button{
    gap: 10px;
  }

  .drop .menu{
    position: static;
    width: 100%;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;

    display: flex;
    flex-direction: column;
    gap: 12px;

    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease;
  }

  .drop:hover .menu,
  .drop:focus-within .menu{
    max-height: 260px;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .drop .menu a{
    background: rgba(255,255,255,.06);
    padding: 16px 18px;
    width: 100%;
    text-align: center;
    margin: 0;
  }

  .drop:hover .caret,
  .drop:focus-within .caret{
    transform: translateY(1px) rotate(180deg);
  }

  .drop::after{ display: none; }

  .topbar.nav-open .nav,
  .topbar.is-solid.nav-open .nav{
    color: rgba(255,255,255,.92);
  }

  .topbar.nav-open .nav a,
  .topbar.nav-open .drop > button,
  .topbar.is-solid.nav-open .nav a,
  .topbar.is-solid.nav-open .drop > button{
    color: rgba(255,255,255,.92);
  }

  .topbar.nav-open .recruit,
  .topbar.is-solid.nav-open .recruit{
    border-color: rgba(255,255,255,.95);
    color: rgba(255,255,255,.95) !important;
    background: transparent;
  }
  .topbar.nav-open .recruit:hover{
    background-color: rgba(255,255,255,.10);
  }

.topbar.nav-open:not(.is-solid) .nav-toggle span{
  background: rgba(255,255,255,.92);
}
}

  .hero{
    position: relative;
    height: var(--hero-h);
    min-height: var(--hero-min-h);
    overflow: hidden;
    padding-top: 70px;
    background: transparent;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    background-size: cover;
    background-position: center;
    transform: scale(var(--hero-scale));
    filter: blur(var(--hero-blur));
    opacity:1;
    transition:
      opacity var(--hero-fade-ms) var(--hero-ease),
      filter var(--hero-hover-ms) var(--hero-ease),
      transform var(--hero-hover-ms) var(--hero-ease);
    will-change: opacity, transform, filter;
  }
  .hero-bg.a{ opacity: 1; }
  .hero-bg.b{ opacity: 1; }

  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,var(--hero-dim-top)),
      rgba(0,0,0,var(--hero-dim-bottom))
    );
    z-index:2;
  }
  .hero:hover .hero-bg{
    filter: blur(var(--hero-blur-hover));
    transform: scale(var(--hero-scale-hover));
  }

  .hero-inner{
    position: relative;
    z-index: 3;
    height: 100%;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding: 0 var(--padX) 80px;
    text-align:center;
  }
  .hero h1{
    font-size: clamp(64px, 5.2vw, 86px);
    letter-spacing: -0.03em;
    color: rgba(255,255,255,.95);
    font-weight: 600;
    line-height: 1.05;
    max-width: 2000px;
    margin: 10px auto;
  }

  .hero-socials{
    position:absolute;
    left: var(--padX);
    right: var(--padX);
    bottom: 18px;
    z-index: 4;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap: 14px;
    color: rgba(255,255,255,.86);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .hero-socials .right{
    display:flex;
    gap: 16px;
    align-items:center;
    justify-content:flex-end;
  }
  .hero-socials a{
    color: rgba(255,255,255,.88);
    border-bottom: 1px solid rgba(255,255,255,.22);
    padding-bottom: 2px;
    transition: opacity 220ms ease, border-color 220ms ease;
  }
  .hero-socials a:hover{
    opacity: .88;
    border-bottom-color: rgba(255,255,255,.40);
  }

        .footer{
      padding: 64px var(--padX);
      background: #fff;
    }
    .footer-inner{
      max-width: 1800px;
      margin: 0 auto;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap: 24px;
    }
    .footer-left h4,
    .footer-right h4{
      margin: 0 0 18px;
      font-size: 20px;
      font-weight: 500;
      letter-spacing: -0.02em;
    }
    .footer-left .line{
      margin: 10px 0;
      color: rgba(16,24,40,.78);
      font-size: 14px;
      font-weight: 400;
    }
    .footer-left a{
      border-bottom: 1px solid rgba(16,24,40,.22);
      padding-bottom: 2px;
    }
    .footer-left a:hover{ border-color: rgba(16,24,40,.12); opacity: .82; }

    .footer-right{ text-align: right; }
    .footer-links{
      display:flex;
      flex-direction: column;
      gap: 10px;
      align-items:flex-end;
    }
    .footer-links a{
      color: rgba(16,24,40,.78);
      font-size: 14px;
      font-weight: 400;
      border-bottom: 1px solid rgba(16,24,40,.22);
      padding-bottom: 2px;
    }
    .footer-links a:hover{ border-color: rgba(16,24,40,.12); opacity: .82; }

    .footer-copy{
      max-width: 1800px;
      margin: 0px auto 0;
      padding: 0 var(--padX);
      text-align: center;
      color: rgba(16,24,40,.60);
      font-size: 12px;
      letter-spacing: .02em;
  }


:root { --hero-h: 250px; --hero-min-h: 250px; --hero-dim-top: .27; --hero-dim-bottom: .30; }
body { background: #fff; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex="-1"]:focus-visible { outline: 3px solid #1b648f; outline-offset: 4px; }
.nav-toggle { flex-direction: column; gap: 5px; }
.topbar.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.topbar.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.skip-link { position: fixed; top: -80px; left: 14px; z-index: 200; padding: 14px 20px; background: #fff; color: #0b1220; }
.skip-link:focus { top: 12px; }
.hero { max-height: 470px; background: #263943; }
.hero-bg.a { background-image: url('../horizontals/im1.jpg'); }
.hero-bg.b { opacity: 0; }
.hero-inner { padding-bottom: 58px; }
.hero h1 { font-size: clamp(38px, 5.2vw, 56px); }
.hero-socials { line-height: 1.6; }
.newsletter-section { padding: 36px var(--padX) 48px; }
.newsletter-layout { max-width: 620px; margin: 0 auto; }
.signup-panel p { font-size: 14px; line-height: 1.7; }
.signup-panel .small-copy { font-size: 13px; color: #43505e; }
.signup-panel p a { text-decoration: underline; text-underline-offset: 3px; }
.signup-panel { background: #f5f5f5; padding: clamp(22px, 3.5vw, 36px); min-width: 0; }
.signup-panel h3 { margin: 0 0 14px; font-size: 27px; font-weight: 500; line-height: 1.3; letter-spacing: -.02em; }
.signup-panel h4 { margin: 0 0 10px; font-size: 17px; font-weight: 600; }
.form-intro { margin: 0 0 24px; color: #43505e; font-size: 13px !important; }
.field { margin-bottom: 20px; }
.field label, legend { display: block; margin-bottom: 9px; color: #263340; font-weight: 600; font-size: 12px; letter-spacing: .065em; text-transform: uppercase; }
.optional { font-weight: 400; text-transform: none; letter-spacing: 0; }
input[type="text"], input[type="email"] { display: block; width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #aeb8c0; background: #fff; border-radius: 0; font: inherit; font-size: 16px; color: #0b1220; }
input[aria-invalid="true"] { border: 2px solid #a33427; }
.field-hint { margin: 8px 0 0; font-size: 12px !important; line-height: 1.6 !important; color: #52606b; }
fieldset { padding: 0; margin: 14px 0 0; border: 0; min-width: 0; }
legend { padding: 0; }
.interests-options { margin: 0 0 24px; }
.interests-options summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #263340; }
.interests-options summary:focus-visible { outline: 3px solid #1b648f; outline-offset: 4px; }
fieldset .field-hint { margin: 0 0 14px; }
.interest-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.interest { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 12px; background: #fff; border: 1px solid #c5ced4; font-size: 12px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.interest:has(input:checked) { border-color: #6c91a7; background: #e4f4ff; }
.interest input, .consent input { flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: #174e70; cursor: pointer; }
.consent { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; line-height: 1.7; cursor: pointer; }
.consent input { margin-top: 3px; }
.privacy-note { font-size: 11px !important; color: #52606b; margin: 14px 0 25px; }
.action-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 49px; padding: 14px 18px; border: 2px solid #0b1220; background: transparent; color: #0b1220; font-family: inherit; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.5; text-align: center; cursor: pointer; }
.action-button:hover { background: #e4f4ff; opacity: 1; }
.action-button[disabled] { cursor: wait; opacity: .6; }
.status { margin: 18px 0 0; font-size: 13px !important; }
.status:empty { margin: 0; }
.status.error { color: #8e261c; }
.status.success { color: #20563f; }
#manage-link-panel { margin: 26px 0; padding: 22px 0; border-top: 1px solid #c5ced4; border-bottom: 1px solid #c5ced4; }
#manage-link { font-size: 12px; margin: 14px 0 8px; }
.text-button { display: inline-block; font-family: inherit; font-size: 13px; color: #164f72; text-decoration: underline; text-underline-offset: 3px; border: 0; background: transparent; padding: 12px 0; cursor: pointer; }
#unsubscribe-email { overflow-wrap: anywhere; }
#unsubscribe-panel > .text-button { display: block; width: fit-content; margin-top: 16px; }
.bot-field, .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.footer { border-top: 1px solid #ebeff2; }
.footer-copy { margin-top: 45px; }

@media (max-width: 760px) {
  :root { --padX: 20px; }
  .hero { min-height: 220px; height: 220px; }
  .hero-inner { padding-bottom: 72px; }
  .hero-socials { display: block; font-size: 10px; }
  .hero-socials .right { justify-content: flex-start; margin-top: 8px; }
  .newsletter-section { padding-top: 24px; padding-bottom: 32px; }
  .interest-grid { grid-template-columns: 1fr 1fr; }
  .signup-panel { padding: 26px 22px; }
  .action-button { width: 100%; }
  .footer { padding-top: 42px; padding-bottom: 32px; }
  .footer-inner { flex-direction: column; gap: 32px; }
  .footer-right { text-align: left; }
  .footer-links { align-items: flex-start; }
}
@media (max-width: 390px) { .interest-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } .hero-bg, .hero:hover .hero-bg { transform: none; } }
