
@font-face {
  font-family: 'AB Contact Geist';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(/redesign/9b6f5ff45b27.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'AB Contact Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/redesign/5f3d6ad60f29.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'AB Contact Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/redesign/5f3d6ad60f29.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'AB Contact Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/redesign/6ee678c33f38.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'AB Contact Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/redesign/60c06664b5a9.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* =========================================================
   ALLIANCE BUILDER — gedeelde basis (identiek op alle subpagina's)
   Zelfde designsysteem als de homepage: paper / ink / slate / sky,
   Geist + Instrument Serif + Geist Mono.
   ========================================================= */
#alliance-contact {
  --paper: #F5F4F0;
  --paper-2: #ECEBE5;
  --white: #FFFFFF;
  --ink: #0D0E0F;
  --ink-2: #17191B;
  --ink-3: #222528;
  --muted: #5E6468;
  --muted-dark: rgba(245, 244, 240, .64);
  --faint-dark: rgba(245, 244, 240, .4);
  --line: rgba(13, 14, 15, .1);
  --line-dark: rgba(245, 244, 240, .13);
  --slate: #42697C;
  --sky: #B2D5E5;
  --sky-2: #D9EBF3;
  --glow: #8EC5DF;
  --error: #B4413A;

  --sans: "AB Contact Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "AB Contact Instrument Serif", Georgia, "Times New Roman", serif;
  --mono: "AB Contact Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --container: 1340px;
  --gutter: clamp(16px, 4vw, 48px);
  --radius: 26px;
  --section: clamp(96px, 12vw, 170px);
}

#alliance-contact *, #alliance-contact *::before, #alliance-contact *::after { box-sizing: border-box; }
html:has(#alliance-contact) { -webkit-text-size-adjust: 100%; overflow-x: clip; }
html:has(#alliance-contact).lenis, html:has(#alliance-contact).lenis body { height: auto; }
html:has(#alliance-contact).lenis.lenis-smooth { scroll-behavior: auto !important; }
html:has(#alliance-contact).lenis.lenis-stopped { overflow: hidden; }
#alliance-contact {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--sans); font-size: 17px; line-height: 1.55;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
body:has(#alliance-contact)::after { /* film grain */
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 200; opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
#alliance-contact img { display: block; max-width: 100%; }
#alliance-contact a { color: inherit; text-decoration: none; }
#alliance-contact button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
#alliance-contact h1, #alliance-contact h2, #alliance-contact h3, #alliance-contact p, #alliance-contact figure, #alliance-contact blockquote, #alliance-contact dl, #alliance-contact dd { margin: 0; }
#alliance-contact ul, #alliance-contact ol { margin: 0; padding: 0; list-style: none; }
#alliance-contact svg { display: block; }
#alliance-contact ::selection { background: var(--sky); color: var(--ink); }
#alliance-contact :focus-visible { outline: 2px solid var(--slate); outline-offset: 3px; border-radius: 6px; }
#alliance-contact .ct-container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
#alliance-contact .ct-mono { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
#alliance-contact .ct-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#alliance-contact .ct-skip { position: fixed; left: 16px; top: -60px; z-index: 300; background: var(--ink); color: var(--paper); padding: 10px 16px; border-radius: 10px; }
#alliance-contact .ct-skip:focus { top: 16px; }
#alliance-contact .ct-placeholder { outline: 1.5px dashed rgba(66, 105, 124, .45); outline-offset: 4px; border-radius: 6px; }

/* ---------- Typografie ---------- */
#alliance-contact .ct-label {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--mono); font-size: 11.5px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
}
#alliance-contact .ct-label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--slate); box-shadow: 0 0 0 4px rgba(66, 105, 124, .14); }
#alliance-contact .ct-on-dark .ct-label { color: var(--muted-dark); }
#alliance-contact .ct-on-dark .ct-label::before { background: var(--sky); box-shadow: 0 0 0 4px rgba(178, 213, 229, .14); }

#alliance-contact .ct-display {
  font-size: clamp(50px, 8vw, 128px); line-height: .93; letter-spacing: -.055em; font-weight: 500;
  text-wrap: balance;
}
#alliance-contact .ct-h2 { font-size: clamp(38px, 5.2vw, 80px); line-height: .98; letter-spacing: -.045em; font-weight: 500; text-wrap: balance; }
#alliance-contact .ct-display em, #alliance-contact .ct-h2 em, #alliance-contact .ct-h3 em {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  letter-spacing: -.02em; color: var(--slate); font-size: 1.08em; line-height: .9;
}
#alliance-contact .ct-on-dark .ct-display em, #alliance-contact .ct-on-dark .ct-h2 em { color: var(--sky); }
#alliance-contact .ct-lead { font-size: clamp(17px, 1.45vw, 20px); line-height: 1.55; color: var(--muted); max-width: 560px; }
#alliance-contact .ct-on-dark .ct-lead { color: var(--muted-dark); }
#alliance-contact .ct-split-line { padding-bottom: .07em; margin-bottom: -.07em; }

#alliance-contact .ct-sec { padding-top: var(--section); }
#alliance-contact .ct-sec-head { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px 64px; align-items: end; margin-bottom: clamp(44px, 6vw, 80px); }
#alliance-contact .ct-sec-head .ct-label { grid-column: 1 / -1; }
#alliance-contact .ct-sec-head__lead { color: var(--muted); font-size: 18px; max-width: 420px; justify-self: end; }

/* ---------- Knoppen & links ---------- */
#alliance-contact .ct-btn {
  --h: 58px;
  position: relative; isolation: isolate;
  display: inline-flex; align-items: center; gap: 16px;
  height: var(--h); padding: 0 8px 0 26px; border-radius: 999px;
  font-weight: 500; font-size: 16px; letter-spacing: -.01em; white-space: nowrap;
  transition: transform .5s var(--ease), background-color .3s, color .3s, box-shadow .4s var(--ease), border-color .3s;
}
#alliance-contact .ct-btn--sm { --h: 46px; padding-left: 20px; font-size: 15px; gap: 12px; }
#alliance-contact .ct-btn--lg { --h: 66px; font-size: 17.5px; padding-left: 30px; }
#alliance-contact .ct-btn__label { display: inline-block; overflow: hidden; height: 1.3em; line-height: 1.3em; }
#alliance-contact .ct-btn__label > span { display: block; transition: transform .6s var(--ease); }
#alliance-contact .ct-btn__label > span::after { content: attr(data-text); display: block; }
#alliance-contact .ct-btn__icon {
  width: calc(var(--h) - 16px); height: calc(var(--h) - 16px); border-radius: 50%;
  display: grid; place-items: center; flex-shrink: 0; transition: transform .6s var(--ease), background-color .3s, color .3s;
}
#alliance-contact .ct-ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#alliance-contact .ct-btn--dark { background: var(--ink); color: var(--paper); }
#alliance-contact .ct-btn--dark .ct-btn__icon { background: var(--sky); color: var(--ink); }
#alliance-contact .ct-btn--sky { background: var(--sky); color: var(--ink); }
#alliance-contact .ct-btn--sky .ct-btn__icon { background: var(--ink); color: var(--sky); }
#alliance-contact .ct-btn--line { border: 1px solid var(--line); color: var(--ink); background: rgba(255, 255, 255, .5); }
#alliance-contact .ct-btn--line .ct-btn__icon { background: var(--ink); color: var(--paper); }
#alliance-contact .ct-btn--line-dark { border: 1px solid var(--line-dark); color: var(--paper); }
#alliance-contact .ct-btn--line-dark .ct-btn__icon { background: var(--paper); color: var(--ink); }
@media (hover: hover) {
  #alliance-contact .ct-btn:hover .ct-btn__label > span { transform: translateY(-50%); }
  #alliance-contact .ct-btn:hover .ct-btn__icon { transform: rotate(45deg); }
  #alliance-contact .ct-btn--sky:hover { box-shadow: 0 18px 50px -12px rgba(142, 197, 223, .7); }
  #alliance-contact .ct-btn--dark:hover { box-shadow: 0 18px 50px -14px rgba(13, 14, 15, .5); }
  #alliance-contact .ct-btn--line:hover { border-color: var(--ink); background: var(--white); }
  #alliance-contact .ct-btn--line-dark:hover { border-color: var(--paper); }
}
#alliance-contact .ct-magnetic { will-change: transform; }

#alliance-contact .ct-link-u { position: relative; display: inline-flex; align-items: center; gap: 8px; font-weight: 500; padding-bottom: 4px; }
#alliance-contact .ct-link-u::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: currentColor; transform-origin: right; transition: transform .6s var(--ease); }
#alliance-contact .ct-link-u .ct-ico { width: 16px; height: 16px; transition: transform .5s var(--ease); }
@media (hover: hover) {
  #alliance-contact .ct-link-u:hover::after { transform: scaleX(0); transform-origin: left; animation: ct-line-in .6s var(--ease) .25s forwards; }
  #alliance-contact .ct-link-u:hover .ct-ico { transform: translate(2px, -2px); }
}
@keyframes ct-line-in { from { transform: scaleX(0); transform-origin: left; } to { transform: scaleX(1); transform-origin: left; } }

/* ---------- Pagina-overgang ---------- */
#alliance-contact .ct-curtain { display: none; }
#alliance-contact.ct-js .ct-curtain {
  display: grid; place-items: center;
  position: fixed; inset: 0; z-index: 160; background: var(--ink); color: var(--paper);
  clip-path: inset(0 0 0 0);
  pointer-events: none;
}
#alliance-contact.ct-js .ct-curtain.ct-is-out { clip-path: inset(0 0 100% 0); transition: clip-path 1s var(--ease-io); }
#alliance-contact .ct-curtain__inner { display: grid; justify-items: center; gap: 18px; }
#alliance-contact .ct-curtain__title { font-family: var(--serif); font-style: italic; font-size: clamp(44px, 7vw, 96px); line-height: 1; letter-spacing: -.02em; color: var(--sky); }
#alliance-contact .ct-curtain .ct-brand__mark { height: 40px; }

/* ---------- Cursor ---------- */
#alliance-contact .ct-cursor { position: fixed; inset: 0; pointer-events: none; z-index: 180; display: none; }
#alliance-contact.ct-has-cursor .ct-cursor { display: block; }
#alliance-contact .ct-cursor__ring { position: absolute; left: 0; top: 0; width: 0; height: 0; opacity: 0; transition: opacity .3s; }
#alliance-contact .ct-cursor.ct-is-visible .ct-cursor__ring { opacity: 1; }
#alliance-contact .ct-cursor__circle { position: absolute; left: -18px; top: -18px; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid rgba(66, 105, 124, .55); transition: transform .5s var(--ease), background-color .3s, border-color .3s; }
#alliance-contact .ct-cursor.ct-is-hover .ct-cursor__circle { transform: scale(.45); background: var(--slate); border-color: transparent; }
#alliance-contact .ct-cursor.ct-has-label .ct-cursor__circle { transform: scale(2.7); background: var(--ink); border-color: transparent; }
#alliance-contact .ct-cursor__label { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%) scale(.6); font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--sky); opacity: 0; white-space: nowrap; transition: opacity .25s, transform .5s var(--ease); }
#alliance-contact .ct-cursor.ct-has-label .ct-cursor__label { opacity: 1; transform: translate(-50%, -50%) scale(1); }

/* ---------- Brand ---------- */
#alliance-contact .ct-brand { display: inline-flex; align-items: center; gap: 10px; }
#alliance-contact .ct-brand__mark { height: 34px; width: auto; }
#alliance-contact .ct-brand__name { display: grid; font-weight: 900; font-size: 12.5px; letter-spacing: .16em; line-height: 1; }
#alliance-contact .ct-brand__name span { letter-spacing: .272em; }
#alliance-contact .ct-brand--light { color: var(--paper); }

/* ---------- Nav ---------- */
#alliance-contact .ct-nav {
  position: fixed; z-index: 100; top: 14px; left: var(--gutter); right: var(--gutter);
  max-width: calc(var(--container) - 2 * var(--gutter) + 24px); margin-inline: auto;
  height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 0 9px 0 22px; border-radius: 999px;
  background: rgba(245, 244, 240, .74);
  backdrop-filter: blur(18px) saturate(1.5); -webkit-backdrop-filter: blur(18px) saturate(1.5);
  border: 1px solid rgba(13, 14, 15, .07);
  box-shadow: 0 10px 40px -20px rgba(13, 14, 15, .25);
  transition: transform .7s var(--ease);
}
#alliance-contact .ct-nav.ct-is-hidden { transform: translateY(-130%); }
#alliance-contact .ct-nav__links { position: relative; display: flex; align-items: center; gap: 2px; }
#alliance-contact .ct-nav__links > a, #alliance-contact .ct-nav__dd-btn {
  position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 15px; font-size: 15px; font-weight: 500; border-radius: 999px; transition: color .3s;
}
#alliance-contact .ct-nav__links > a[aria-current="page"] { color: var(--slate); }
#alliance-contact .ct-nav__links > a[aria-current="page"]::after { content: ""; position: absolute; left: 50%; bottom: 3px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--slate); }
#alliance-contact .ct-nav__pill { position: absolute; left: 0; top: 0; height: 100%; width: 0; border-radius: 999px; background: rgba(13, 14, 15, .06); opacity: 0; transition: transform .45s var(--ease), width .45s var(--ease), opacity .3s; }
#alliance-contact .ct-nav__dd { position: relative; }
#alliance-contact .ct-nav__dd-btn .ct-ico { width: 13px; height: 13px; stroke-width: 2.2; transition: transform .4s var(--ease); }
#alliance-contact .ct-nav__dd.ct-is-open .ct-nav__dd-btn .ct-ico { transform: rotate(180deg); }
#alliance-contact .ct-nav__panel {
  position: absolute; top: calc(100% + 16px); left: -14px; width: 330px; padding: 8px;
  border-radius: 22px; background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--line); box-shadow: 0 30px 70px -25px rgba(13, 14, 15, .35);
  opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.98); transform-origin: 30px 0;
  transition: opacity .3s var(--ease), transform .45s var(--ease), visibility 0s .45s;
}
#alliance-contact .ct-nav__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -18px; height: 18px; }
#alliance-contact .ct-nav__dd.ct-is-open .ct-nav__panel { opacity: 1; visibility: visible; transform: none; transition: opacity .3s var(--ease), transform .45s var(--ease); }
#alliance-contact .ct-nav__panel a { display: flex; align-items: center; gap: 14px; padding: 11px 12px; border-radius: 14px; font-size: 15px; font-weight: 500; transition: background-color .25s; }
#alliance-contact .ct-nav__panel a .ct-mono { color: var(--muted); width: 22px; }
#alliance-contact .ct-nav__panel a .ct-ico { margin-left: auto; width: 15px; height: 15px; opacity: 0; transform: translate(-4px, 4px); transition: opacity .3s, transform .4s var(--ease); }
#alliance-contact .ct-nav__panel a:hover, #alliance-contact .ct-nav__panel a:focus-visible { background: var(--paper); }
#alliance-contact .ct-nav__panel a:hover .ct-ico, #alliance-contact .ct-nav__panel a:focus-visible .ct-ico { opacity: 1; transform: none; }
#alliance-contact .ct-nav__panel-all { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 6px; }
#alliance-contact .ct-nav__right { display: flex; align-items: center; gap: 18px; }
#alliance-contact .ct-nav__status { display: inline-flex; align-items: center; gap: 9px; font-size: 13.5px; color: var(--muted); white-space: nowrap; }
#alliance-contact .ct-pulse { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #3FB27F; flex-shrink: 0; }
#alliance-contact .ct-pulse::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #3FB27F; animation: ct-ping 2s var(--ease) infinite; }
@keyframes ct-ping { 0% { transform: scale(1); opacity: .7; } 80%, 100% { transform: scale(3); opacity: 0; } }
#alliance-contact .ct-nav__burger { display: none; width: 46px; height: 46px; border-radius: 50%; background: var(--ink); position: relative; }
#alliance-contact .ct-nav__burger span { position: absolute; left: 14px; right: 14px; height: 1.6px; background: var(--paper); transition: transform .5s var(--ease); }
#alliance-contact .ct-nav__burger span:first-child { top: 19px; }
#alliance-contact .ct-nav__burger span:last-child { top: 26px; }
#alliance-contact.ct-menu-open .ct-nav__burger span:first-child { transform: translateY(3.5px) rotate(45deg); }
#alliance-contact.ct-menu-open .ct-nav__burger span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

#alliance-contact .ct-menu {
  position: fixed; inset: 0; z-index: 90; background: var(--ink); color: var(--paper);
  padding: 110px var(--gutter) 36px; display: flex; flex-direction: column; gap: 32px; overflow-y: auto;
  clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .8s var(--ease-io), visibility 0s .8s;
}
#alliance-contact.ct-menu-open .ct-menu { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .8s var(--ease-io); }
#alliance-contact .ct-menu__links { display: grid; gap: 4px; }
#alliance-contact .ct-menu__links a { display: flex; align-items: baseline; gap: 16px; font-size: clamp(38px, 10vw, 60px); letter-spacing: -.04em; font-weight: 500; line-height: 1.12; }
#alliance-contact .ct-menu__links a[aria-current="page"] { color: var(--sky); }
#alliance-contact .ct-menu__links .ct-mono { color: var(--sky); }
#alliance-contact .ct-menu__sub { display: grid; gap: 10px; color: var(--muted-dark); }
#alliance-contact .ct-menu__foot { display: grid; gap: 8px; color: var(--muted-dark); margin-top: auto; }

/* ---------- Pagina-hero (donker paneel, zoals live subpagina's) ---------- */
#alliance-contact .ct-phero {
  position: relative; isolation: isolate; overflow: hidden;
  background: var(--ink); color: var(--paper);
  border-radius: 0 0 clamp(28px, 4vw, 52px) clamp(28px, 4vw, 52px);
  padding: clamp(130px, 15vw, 190px) 0 clamp(60px, 8vw, 100px);
}
#alliance-contact .ct-phero__dots { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%;
  -webkit-mask-image: radial-gradient(110% 90% at 70% 30%, #000 25%, transparent 80%); mask-image: radial-gradient(110% 90% at 70% 30%, #000 25%, transparent 80%); }
#alliance-contact .ct-phero__glow { position: absolute; z-index: -2; width: 1000px; height: 1000px; right: -320px; top: -420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(66, 105, 124, .7), rgba(66, 105, 124, 0) 62%); animation: ct-drift 16s ease-in-out infinite alternate; pointer-events: none; }
@keyframes ct-drift { to { transform: translate(-140px, 90px) scale(1.12); } }
#alliance-contact .ct-crumbs { display: flex; gap: 10px; color: var(--faint-dark); }
#alliance-contact .ct-crumbs a { transition: color .3s; }
#alliance-contact .ct-crumbs a:hover { color: var(--paper); }
#alliance-contact .ct-crumbs [aria-current] { color: var(--sky); }
#alliance-contact .ct-phero .ct-display { margin-top: 26px; }
#alliance-contact .ct-phero .ct-lead { margin-top: 28px; }

/* ---------- CTA ---------- */
#alliance-contact .ct-cta { padding: var(--section) 0; }
#alliance-contact .ct-cta__panel {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(36px, 7vw, 110px) clamp(24px, 6vw, 96px);
  border-radius: 40px; background: var(--sky);
  display: grid; justify-items: center; text-align: center;
}
#alliance-contact .ct-cta__panel .ct-label { color: rgba(13, 14, 15, .6); }
#alliance-contact .ct-cta__panel .ct-label::before { background: var(--ink); box-shadow: 0 0 0 4px rgba(13, 14, 15, .1); }
#alliance-contact .ct-cta__blobs { position: absolute; inset: 0; z-index: -1; filter: blur(50px); }
#alliance-contact .ct-cta__blobs i { position: absolute; border-radius: 50%; }
#alliance-contact .ct-cta__blobs i:nth-child(1) { width: 520px; height: 520px; left: -140px; top: -160px; background: #E7F3F8; animation: ct-blob1 14s ease-in-out infinite alternate; }
#alliance-contact .ct-cta__blobs i:nth-child(2) { width: 460px; height: 460px; right: -120px; bottom: -200px; background: #7FB3CC; animation: ct-blob2 12s ease-in-out infinite alternate; }
#alliance-contact .ct-cta__blobs i:nth-child(3) { width: 300px; height: 300px; left: 45%; top: 40%; background: #F5F4F0; opacity: .6; animation: ct-blob1 10s ease-in-out infinite alternate-reverse; }
@keyframes ct-blob1 { to { transform: translate(140px, 90px) scale(1.15); } }
@keyframes ct-blob2 { to { transform: translate(-160px, -60px) scale(.9); } }
#alliance-contact .ct-cta__title { margin-top: 26px; font-size: clamp(42px, 7vw, 118px); line-height: .94; letter-spacing: -.055em; font-weight: 500; max-width: 1100px; text-wrap: balance; }
#alliance-contact .ct-cta__title em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.02em; }
#alliance-contact .ct-cta__lead { margin-top: 24px; max-width: 540px; font-size: 18.5px; color: rgba(13, 14, 15, .7); }
#alliance-contact .ct-cta__actions { margin-top: 38px; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }

/* ---------- Footer ---------- */
#alliance-contact .ct-footer { background: var(--ink); color: var(--paper); padding: 90px 0 28px; overflow: hidden; }
#alliance-contact .ct-footer__top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }
#alliance-contact .ct-footer__brand .ct-brand__mark { height: 46px; }
#alliance-contact .ct-footer__brand .ct-brand__name { font-size: 16px; }
#alliance-contact .ct-footer__brand p { margin-top: 20px; color: var(--muted-dark); max-width: 300px; font-size: 15.5px; }
#alliance-contact .ct-footer__col { display: grid; align-content: start; gap: 10px; font-size: 15.5px; }
#alliance-contact .ct-footer__col .ct-mono { color: var(--sky); margin-bottom: 8px; }
#alliance-contact .ct-footer__col a, #alliance-contact .ct-footer__col span:not(.ct-mono) { color: rgba(245, 244, 240, .82); width: fit-content; transition: color .3s, transform .4s var(--ease); }
#alliance-contact .ct-footer__col a:hover { color: var(--paper); transform: translateX(4px); }
#alliance-contact .ct-footer__col .ct-placeholder { color: var(--faint-dark); outline-color: rgba(178, 213, 229, .35); }
#alliance-contact .ct-footer__mark { margin-top: 80px; line-height: .8; white-space: nowrap; overflow: hidden; padding-bottom: .04em; }
#alliance-contact .ct-footer__mark-text { display: inline-block; font-weight: 500; letter-spacing: -.065em; font-size: 15vw; color: var(--paper); }
#alliance-contact .ct-footer__mark-text .ct-ch { display: inline-block; }
#alliance-contact .ct-footer__mark-text .ct-ch:nth-child(n+10) { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.02em; color: var(--sky); }
#alliance-contact .ct-footer__bottom { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line-dark); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--muted-dark); }
#alliance-contact .ct-footer__bottom a:hover { color: var(--paper); }

/* ---------- Gedeelde responsive ---------- */
@media (max-width: 1180px) { #alliance-contact .ct-nav__status { display: none; } }
@media (max-width: 960px) {
  #alliance-contact .ct-nav__links, #alliance-contact .ct-nav .ct-btn--sm { display: none; }
  #alliance-contact .ct-nav__burger { display: block; }
  #alliance-contact .ct-sec-head { grid-template-columns: 1fr; }
  #alliance-contact .ct-sec-head__lead { justify-self: start; }
  #alliance-contact .ct-footer__top { grid-template-columns: 1fr 1fr; }
  #alliance-contact .ct-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  #alliance-contact { font-size: 16px; }
  #alliance-contact .ct-nav { height: 58px; top: 10px; padding-left: 16px; padding-right: 6px; }
  #alliance-contact .ct-nav .ct-brand__mark { height: 28px; }
  #alliance-contact .ct-nav .ct-brand__name { font-size: 11px; }
  #alliance-contact .ct-cta__panel { border-radius: 28px; text-align: left; justify-items: start; }
  #alliance-contact .ct-cta__actions { justify-content: flex-start; width: 100%; }
  #alliance-contact .ct-cta__actions .ct-btn { width: 100%; justify-content: space-between; }
  #alliance-contact .ct-footer__top { grid-template-columns: 1fr; }
  #alliance-contact .ct-footer__bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  #alliance-contact *, #alliance-contact *::before, #alliance-contact *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}


/* =========================================================
   CONTACT — pagina-specifiek
   ========================================================= */
#alliance-contact .ct-ctop { position: relative; isolation: isolate; padding: clamp(130px, 15vw, 190px) 0 0; }
#alliance-contact .ct-ctop__bg { position: absolute; left: 0; right: 0; top: 0; height: var(--bgh, 78%); z-index: -1; overflow: hidden; background: var(--ink); border-radius: 0 0 clamp(28px, 4vw, 52px) clamp(28px, 4vw, 52px); }
#alliance-contact .ct-ctop__grid { display: grid; grid-template-columns: 1fr minmax(0, 600px); gap: clamp(36px, 6vw, 96px); align-items: start; }
#alliance-contact .ct-ctop__intro { color: var(--paper); padding-bottom: 40px; }
#alliance-contact .ct-ctop__intro .ct-display { font-size: clamp(46px, 6.6vw, 108px); margin-top: 26px; }
#alliance-contact .ct-ctop__intro .ct-lead { margin-top: 28px; }

#alliance-contact .ct-cinfo { margin-top: 44px; border-top: 1px solid var(--line-dark); max-width: 620px; }
#alliance-contact .ct-cinfo__row { display: grid; grid-template-columns: 120px 1fr auto; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line-dark); }
#alliance-contact .ct-cinfo__row dt { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--faint-dark); }
#alliance-contact .ct-cinfo__row dd { font-size: clamp(18px, 1.6vw, 22px); letter-spacing: -.015em; }
#alliance-contact .ct-cinfo__big { background: linear-gradient(var(--sky), var(--sky)) 0 100% / 0 1.5px no-repeat; padding-bottom: 2px; transition: background-size .6s var(--ease), color .3s; }
#alliance-contact .ct-cinfo__big:hover { background-size: 100% 1.5px; color: var(--sky); }
#alliance-contact .ct-cinfo__muted { color: var(--faint-dark); }
#alliance-contact .ct-clock { font-variant-numeric: tabular-nums; }
#alliance-contact .ct-copy { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-dark); font-size: 13px; color: var(--muted-dark); transition: border-color .3s, color .3s, background-color .3s; }
#alliance-contact .ct-copy:hover { border-color: var(--sky); color: var(--paper); }
#alliance-contact .ct-avail { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; font-size: 14px; color: var(--muted-dark); }

/* formulier-kaart met bewegende rand */
@property --ct-ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
#alliance-contact .ct-fcard { position: relative; border-radius: clamp(24px, 2.6vw, 34px); padding: clamp(22px, 3vw, 40px); background: var(--white); box-shadow: 0 0 0 1px var(--line), 0 50px 100px -40px rgba(13, 14, 15, .45); }
#alliance-contact .ct-fcard::before {
  content: ""; position: absolute; inset: -1.5px; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--ct-ang), transparent 0 55%, rgba(178, 213, 229, 0) 60%, var(--sky) 74%, var(--slate) 84%, transparent 95%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: ct-rot 7s linear infinite;
}
@keyframes ct-rot { to { --ct-ang: 360deg; } }
#alliance-contact .ct-fhead { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
#alliance-contact .ct-fhead h2 { font-size: clamp(28px, 2.5vw, 36px); letter-spacing: -.035em; font-weight: 500; line-height: 1; }
#alliance-contact .ct-fhead h2 em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--slate); letter-spacing: -.01em; }
#alliance-contact .ct-fhead .ct-mono { color: var(--muted); white-space: nowrap; }
#alliance-contact .ct-fprog { display: flex; align-items: center; gap: 12px; margin: 18px 0 26px; }
#alliance-contact .ct-fprog__bar { flex: 1; height: 5px; border-radius: 99px; background: var(--paper-2); overflow: hidden; }
#alliance-contact .ct-fprog__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--slate), var(--glow)); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
#alliance-contact .ct-fprog__txt { font-size: 13px; color: var(--muted); min-width: 120px; text-align: right; }
#alliance-contact .ct-fprog__txt b { color: var(--ink); font-weight: 600; }

#alliance-contact fieldset { border: 0; margin: 0 0 22px; padding: 0; min-width: 0; }
#alliance-contact legend { padding: 0; margin-bottom: 12px; font-size: 14.5px; font-weight: 500; }
#alliance-contact legend small { color: var(--muted); font-weight: 400; }
#alliance-contact .ct-req { color: var(--slate); }
#alliance-contact .ct-opts { display: flex; flex-wrap: wrap; gap: 8px; }
#alliance-contact .ct-opt { position: relative; }
#alliance-contact .ct-opt input { position: absolute; opacity: 0; pointer-events: none; }
#alliance-contact .ct-opt span { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--paper); font-size: 14px; font-weight: 500; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s, transform .4s var(--ease); }
#alliance-contact .ct-opt span::before { content: "+"; font-family: var(--mono); color: var(--muted); transition: color .3s; }
#alliance-contact .ct-opt:hover span { border-color: rgba(66, 105, 124, .5); transform: translateY(-1px); }
#alliance-contact .ct-opt input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--paper); }
#alliance-contact .ct-opt input:checked + span::before { content: "✓"; color: var(--sky); }
#alliance-contact .ct-opt input:focus-visible + span { outline: 2px solid var(--slate); outline-offset: 3px; }

#alliance-contact .ct-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#alliance-contact .ct-field { position: relative; }
#alliance-contact .ct-field.ct-full { grid-column: 1 / -1; }
#alliance-contact .ct-field input, #alliance-contact .ct-field textarea {
  width: 100%; font: inherit; font-size: 16px; color: var(--ink);
  background: var(--paper); border: 1px solid var(--line); border-radius: 16px;
  padding: 27px 18px 10px; outline: 0; resize: vertical;
  transition: border-color .3s, background-color .3s, box-shadow .3s;
}
#alliance-contact .ct-field textarea { min-height: 150px; line-height: 1.5; }
#alliance-contact .ct-field label { position: absolute; left: 19px; top: 18px; font-size: 15.5px; color: var(--muted); pointer-events: none; transform-origin: 0 0; transition: transform .35s var(--ease), color .3s; }
#alliance-contact .ct-field input:focus, #alliance-contact .ct-field textarea:focus { border-color: var(--slate); background: var(--white); box-shadow: 0 0 0 4px rgba(178, 213, 229, .45); }
#alliance-contact .ct-field input:focus + label, #alliance-contact .ct-field input:not(:placeholder-shown) + label, #alliance-contact .ct-field textarea:focus + label, #alliance-contact .ct-field textarea:not(:placeholder-shown) + label { transform: translateY(-10px) scale(.76); color: var(--slate); }
#alliance-contact .ct-field .ct-count { position: absolute; right: 16px; bottom: 12px; font-family: var(--mono); font-size: 11px; color: var(--muted); }
#alliance-contact .ct-err-msg { display: block; font-size: 12.5px; color: var(--error); margin-top: 6px; padding-left: 4px; }
#alliance-contact .ct-err-msg:empty { display: none; }
#alliance-contact .ct-field.ct-err input, #alliance-contact .ct-field.ct-err textarea { border-color: rgba(180, 65, 58, .6); background: #FBF3F2; }
#alliance-contact fieldset.ct-err .ct-opt span { border-color: rgba(180, 65, 58, .5); }
#alliance-contact .ct-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

#alliance-contact .ct-ffoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; }
#alliance-contact .ct-ffoot p { font-size: 13px; color: var(--muted); max-width: 290px; }
#alliance-contact .ct-ffoot p a { text-decoration: underline; text-underline-offset: 3px; }
#alliance-contact .ct-submit { min-width: 230px; justify-content: space-between; }
#alliance-contact .ct-submit .ct-spin { display: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(13, 14, 15, .2); border-top-color: var(--ink); animation: ct-sp .8s linear infinite; }
@keyframes ct-sp { to { transform: rotate(360deg); } }
#alliance-contact .ct-submit.ct-is-loading .ct-ico { display: none; }
#alliance-contact .ct-submit.ct-is-loading .ct-spin { display: inline-block; }
#alliance-contact .ct-submit[disabled] { cursor: progress; }
#alliance-contact .ct-ferror { display: none; margin-top: 16px; padding: 14px 16px; border-radius: 14px; background: #FBF3F2; border: 1px solid rgba(180, 65, 58, .3); font-size: 14px; color: var(--error); }
#alliance-contact .ct-ferror a { text-decoration: underline; }

/* succes */
#alliance-contact .ct-success { display: none; text-align: center; padding: clamp(30px, 6vw, 70px) 10px; }
#alliance-contact .ct-fcard.ct-is-sent form { display: none; }
#alliance-contact .ct-fcard.ct-is-sent .ct-success { display: block; animation: ct-pop .8s var(--ease); }
@keyframes ct-pop { from { opacity: 0; transform: translateY(20px) scale(.98); } }
#alliance-contact .ct-success svg { width: 96px; height: 96px; margin: 0 auto 26px; }
#alliance-contact .ct-success circle { fill: none; stroke: var(--slate); stroke-width: 1.5; stroke-dasharray: 290; stroke-dashoffset: 290; animation: ct-dr 1s .1s var(--ease) forwards; }
#alliance-contact .ct-success path { fill: none; stroke: var(--slate); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60; stroke-dashoffset: 60; animation: ct-dr .6s .8s var(--ease) forwards; }
@keyframes ct-dr { to { stroke-dashoffset: 0; } }
#alliance-contact .ct-success h3 { font-size: clamp(32px, 3.4vw, 48px); letter-spacing: -.04em; line-height: 1; font-weight: 500; }
#alliance-contact .ct-success h3 em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--slate); }
#alliance-contact .ct-success p { color: var(--muted); max-width: 380px; margin: 16px auto 28px; }

/* toast */
#alliance-contact .ct-toast { position: fixed; left: 50%; bottom: 28px; z-index: 260; transform: translate(-50%, calc(100% + 60px)); visibility: hidden; padding: 12px 20px; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: 14px; font-weight: 500; transition: transform .6s var(--ease), visibility 0s .6s; }
#alliance-contact .ct-toast.ct-is-on { transform: translate(-50%, 0); visibility: visible; transition: transform .6s var(--ease); }

/* stappen */
#alliance-contact .ct-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 24px); padding-top: 46px; }
#alliance-contact .ct-steps__line { position: absolute; left: 0; right: 0; top: 0; height: 2px; border-radius: 2px; background: var(--line); }
#alliance-contact .ct-steps__line i { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, var(--slate), var(--glow)); transform-origin: 0 0; transform: scaleX(var(--p, 0)); }
#alliance-contact .ct-step { position: relative; padding: 28px; border-radius: 24px; background: var(--white); border: 1px solid var(--line); transition: border-color .5s, box-shadow .5s; }
#alliance-contact .ct-step::before { content: ""; position: absolute; top: -53px; left: 28px; width: 14px; height: 14px; border-radius: 50%; background: var(--paper); border: 2px solid var(--line); transition: background-color .5s var(--ease), border-color .5s, box-shadow .5s; }
#alliance-contact .ct-step.ct-is-on::before { background: var(--slate); border-color: var(--slate); box-shadow: 0 0 0 6px rgba(178, 213, 229, .5); }
#alliance-contact .ct-step.ct-is-on { border-color: rgba(66, 105, 124, .3); box-shadow: 0 30px 60px -40px rgba(13, 14, 15, .3); }
#alliance-contact .ct-step .ct-mono { color: var(--slate); }
#alliance-contact .ct-step h3 { font-size: clamp(26px, 2.4vw, 36px); letter-spacing: -.035em; font-weight: 500; margin: 16px 0 12px; line-height: 1.05; }
#alliance-contact .ct-step h3 em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--slate); }
#alliance-contact .ct-step p { color: var(--muted); max-width: 340px; }

/* FAQ */
#alliance-contact .ct-faq-list { border-top: 1px solid var(--line); }
#alliance-contact .ct-qa { border-bottom: 1px solid var(--line); }
#alliance-contact .ct-qa__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 0; text-align: left; font-size: clamp(19px, 1.7vw, 24px); font-weight: 500; letter-spacing: -.025em; }
#alliance-contact .ct-qa__q span { transition: color .3s; }
#alliance-contact .ct-qa__q:hover span { color: var(--slate); }
#alliance-contact .ct-qa__plus { position: relative; width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--line); transition: background-color .4s, transform .6s var(--ease), border-color .4s; }
#alliance-contact .ct-qa__plus::before, #alliance-contact .ct-qa__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.6px; margin: -.8px 0 0 -7px; background: currentColor; transition: transform .5s var(--ease); }
#alliance-contact .ct-qa__plus::after { transform: rotate(90deg); }
#alliance-contact .ct-qa.ct-is-open .ct-qa__plus { background: var(--ink); color: var(--sky); border-color: var(--ink); transform: rotate(180deg); }
#alliance-contact .ct-qa.ct-is-open .ct-qa__plus::after { transform: rotate(0); }
#alliance-contact .ct-qa__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease); }
#alliance-contact .ct-qa.ct-is-open .ct-qa__a { grid-template-rows: 1fr; }
#alliance-contact .ct-qa__a > div { overflow: hidden; }
#alliance-contact .ct-qa__a p { padding: 0 60px 28px 0; color: var(--muted); font-size: 17px; max-width: 720px; }

/* grote mail-link */
#alliance-contact .ct-mailbig { padding: var(--section) 0; text-align: center; display: grid; justify-items: center; }
#alliance-contact .ct-mail-link {
  display: inline-block; margin-top: 26px;
  font-family: var(--serif); font-style: italic; font-size: clamp(38px, 8.4vw, 140px); line-height: 1.05; letter-spacing: -.02em;
  color: transparent; -webkit-text-stroke: 1px rgba(13, 14, 15, .45);
  background: linear-gradient(90deg, var(--slate), var(--ink)) 0 0 / 0% 100% no-repeat; -webkit-background-clip: text; background-clip: text;
  transition: background-size 1s var(--ease);
}
#alliance-contact .ct-mail-link:hover, #alliance-contact .ct-mail-link:focus-visible { background-size: 100% 100%; }
#alliance-contact .ct-mailbig p { color: var(--muted); margin-top: 18px; font-size: 14px; }

@media (max-width: 960px) {
  #alliance-contact .ct-ctop__grid { grid-template-columns: 1fr; }
  #alliance-contact .ct-steps { grid-template-columns: 1fr; padding-top: 0; padding-left: 34px; }
  #alliance-contact .ct-steps__line { left: 6px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  #alliance-contact .ct-steps__line i { transform: scaleY(var(--p, 0)); }
  #alliance-contact .ct-step::before { top: 32px; left: -35px; }
}
@media (max-width: 560px) {
  #alliance-contact .ct-fields { grid-template-columns: 1fr; }
  #alliance-contact .ct-cinfo__row { grid-template-columns: 1fr auto; gap: 6px 12px; }
  #alliance-contact .ct-cinfo__row dt { grid-column: 1 / -1; }
  #alliance-contact .ct-fprog__txt { min-width: 0; }
  #alliance-contact .ct-submit { width: 100%; }
  #alliance-contact .ct-qa__a p { padding-right: 0; }
}

/* Local isolation and accessibility: no selector applies without this page. */
body:has(#alliance-contact) > header.nav,
body:has(#alliance-contact) > .menu,
body:has(#alliance-contact) > footer.footer { display: none !important; }
body:has(#alliance-contact.ct-menu-open) { overflow: hidden; }
#alliance-contact { width: 100%; min-width: 0; }
#alliance-contact [hidden] { display: none !important; }
#alliance-contact .ct-ctop__intro, #alliance-contact .ct-fcard, #alliance-contact .ct-field, #alliance-contact .ct-cinfo__row > * { min-width: 0; }
#alliance-contact .ct-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#alliance-contact .ct-field textarea { padding-bottom: 30px; display: block; }
#alliance-contact .ct-field:has(textarea) { display: grid; grid-template-columns: 1fr; }
#alliance-contact .ct-field textarea, #alliance-contact .ct-field .ct-count { grid-area: 1 / 1; }
#alliance-contact .ct-field .ct-count { position: relative; align-self: end; justify-self: end; right: auto; bottom: auto; margin: 0 16px 12px 0; pointer-events: none; }
#alliance-contact .ct-field:has(textarea) .ct-err-msg { grid-area: 2 / 1; }
#alliance-contact .ct-opt { max-width: 100%; }
#alliance-contact .ct-opt span { max-width: 100%; }
#alliance-contact .ct-btn { max-width: 100%; }
#alliance-contact .ct-success .ct-btn { font-size: clamp(12px, 3.4vw, 17px); gap: 10px; padding-left: 18px; }
#alliance-contact .ct-ferror a { overflow-wrap: anywhere; }
#alliance-contact .ct-toast { width: max-content; max-width: calc(100vw - 32px); text-align: center; }
#alliance-contact .ct-nav__panel a { min-width: 0; }
#alliance-contact .ct-nav__panel a .ct-mono, #alliance-contact .ct-nav__panel a .ct-ico { flex-shrink: 0; }
#alliance-contact .ct-menu__links, #alliance-contact .ct-menu__sub, #alliance-contact .ct-menu__foot { flex-shrink: 0; }
#alliance-contact .ct-menu { overscroll-behavior: contain; }
#alliance-contact .ct-footer__mark-text .ct-ch { transition: none; }
#alliance-contact.ct-tab-hidden *, #alliance-contact.ct-tab-hidden *::before { animation-play-state: paused !important; }
#alliance-contact:not(.ct-form-ready) .ct-qa__a { grid-template-rows: 1fr; }
#alliance-contact:not(.ct-form-ready) .ct-steps__line i { --p: 1; }
@media (min-width: 961px) { #alliance-contact .ct-menu { display: none; } }
@media (min-width: 961px) and (max-width: 1180px) {
 #alliance-contact .ct-ctop__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 36px; }
 #alliance-contact .ct-cinfo__row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
 #alliance-contact .ct-cinfo__row dt { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
 #alliance-contact .ct-ctop__intro .ct-display { font-size: clamp(42px, 10.7vw, 64px); }
 #alliance-contact .ct-mailbig { padding-inline: var(--gutter); }
 #alliance-contact .ct-mail-link { font-size: clamp(28px, 8.1vw, 56px); white-space: nowrap; }
}
@media (max-width: 560px) {
 #alliance-contact .ct-fields { grid-template-columns: minmax(0, 1fr); }
 #alliance-contact .ct-fhead { flex-wrap: wrap; gap: 10px 16px; }
 #alliance-contact .ct-fhead h2 { font-size: clamp(28px, 7.1vw, 36px); }
 #alliance-contact .ct-copy { min-height: 44px; padding-inline: 12px; }
 #alliance-contact .ct-cinfo__row dd { font-size: clamp(16px, 4.3vw, 20px); }
 #alliance-contact .ct-cinfo__row { gap: 6px 8px; }
 #alliance-contact .ct-opt span { min-height: 44px; height: auto; padding: 10px 13px; line-height: 1.3; }
 #alliance-contact .ct-submit { min-width: 0; --h: 58px; font-size: 15px; padding-left: 18px; gap: 12px; }
 #alliance-contact .ct-step { padding: 24px; }
 #alliance-contact .ct-qa__q { gap: 16px; }
}
@media (hover: none), (pointer: coarse) {
 #alliance-contact .ct-cursor { display: none !important; }
 #alliance-contact .ct-mail-link { background-size: 100% 100%; -webkit-text-stroke: 0; }
}
@media (prefers-reduced-motion: reduce) {
 #alliance-contact .ct-curtain { display: none; }
 #alliance-contact [data-split], #alliance-contact [data-reveal], #alliance-contact [data-reveal-group] { opacity: 1 !important; visibility: visible !important; transform: none !important; }
 #alliance-contact .ct-success circle, #alliance-contact .ct-success path { stroke-dashoffset: 0; }
}

@media (max-width: 360px) {
 #alliance-contact .ct-success { padding-inline: 0; }
 #alliance-contact .ct-success .ct-btn { --h: 52px; font-size: 12px; gap: 6px; padding-left: 12px; }
}

/* Temporary, explicitly disclosed publication without form delivery. */
#alliance-contact .ct-delivery-notice { margin-top: 20px; padding: 14px 16px; border-radius: 14px; background: var(--sky-2); font-size: 14px; color: var(--ink); line-height: 1.5; }
#alliance-contact .ct-delivery-notice a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
#alliance-contact form[data-delivery="unavailable"] .ct-submit { cursor: not-allowed; opacity: .55; transform: none !important; }
