:root {
  --bg: #fcfaf8;
  --fg: oklch(0.25 0.005 80);
  --muted: oklch(0.46 0.01 80);
  --brand-blue: #3b84b9;
  --accent: #3b84b9;
  --accent-deep: #28658f;
  --accent-soft: #cfe3f1;
  --border: #e3e8eb;
  --surface: #fff;
  --highlight: #edf5fa;
  --hero-ink: oklch(0.99 0.005 80);
  --collab-surface: #24495f;
}
:root { --paper:var(--bg); --ink:var(--fg); --navy:var(--accent-deep); --pale:var(--highlight); --line:var(--border); --max:1304px; --header-height:88px; }
body { font:400 1.08rem/1.55 "Inter",sans-serif; padding-top:88px; }
h1,h2,h3 { font-family:"Montserrat",sans-serif; font-weight:600; }
.page-top { padding:3.25rem 32px 2rem; }
.page-top h1 { font-size:40px; color:var(--fg); line-height:1.1; }
.eyebrow { color:var(--brand-blue); font:700 .88rem/1.4 "Montserrat",sans-serif; letter-spacing:.08em; text-transform:uppercase; margin:0 0 1rem; }
.form-card { border-radius:8px; padding:1.75rem; }
.form-card h2 { font-size:1.35rem; color:var(--accent-deep); }
h3 { color:var(--accent-deep); }
.registration { max-width:none; }
.btn,.btn.light { border-radius:999px; background:var(--brand-blue); border-color:var(--brand-blue); color:#fff; font:600 .95rem/1.4 "Montserrat",sans-serif; padding:.75rem 1.25rem; }
.btn:hover,.btn.light:hover { background:var(--accent-deep); border-color:var(--accent-deep); }
.btn.secondary { color:var(--accent-deep); background:transparent; border-color:var(--accent-deep); }
.btn.secondary:hover { background:var(--highlight); }
.preview-note,.success,.resume-box,.optional-card { background:var(--highlight); border-color:var(--border); color:var(--muted); border-radius:8px; }
.choice:has(input:checked) { background:var(--highlight); border-color:var(--brand-blue); }
.question legend:has(+ .choices) { margin-bottom:1.25rem; }
.input,textarea,select { border-color:var(--border); border-radius:8px; }
input:focus,textarea:focus,select:focus { border-color:var(--brand-blue); }
input:not([type=checkbox]):not([type=radio]):focus-visible,
textarea:focus-visible,
select:focus-visible,
.country-trigger:focus-visible {
  outline:none;
  box-shadow:none;
  border-color:var(--brand-blue);
}
::selection { background:var(--accent-soft); color:var(--fg); }
.form-nav button.current { background:var(--highlight); border-left-color:var(--brand-blue); font-weight:600; }
.savebar { top:var(--header-height); background:var(--bg); }
progress {
  appearance:none;
  -webkit-appearance:none;
  height:4.5px;
  border:0;
  border-radius:999px;
  overflow:hidden;
  background:#e3e3e3;
}
progress::-webkit-progress-bar { background:#e3e3e3; border:0; border-radius:999px; }
progress::-webkit-progress-value { background:var(--brand-blue); border:0; }
progress::-moz-progress-bar { background:var(--brand-blue); border:0; }
.form-nav { top:calc(var(--header-height) + 85px); max-height:calc(100vh - var(--header-height) - 100px); }
html { scroll-padding-top:calc(var(--header-height) + 90px); }
.footer { background:var(--accent-deep); color:var(--hero-ink); padding:2rem 0; }
.footer a,.footer .small { color:inherit; }
.site-header { position:fixed; inset:0 0 auto; z-index:40; height:88px; padding:0 32px; display:flex; justify-content:space-between; align-items:center; gap:28px; color:var(--muted); background:rgb(255 255 255 / .94); border-bottom:1px solid var(--border); backdrop-filter:blur(20px) saturate(145%); transition:height .25s ease; }
.site-brand { font:600 clamp(.95rem,1.45vw,1.35rem)/1.3 "Montserrat",sans-serif; }
.site-header a { color:inherit; text-decoration:none; }
.site-nav { display:flex; align-items:center; gap:clamp(16px,2vw,36px); }
.site-nav a { font:600 .74rem/1.5 "Montserrat",sans-serif; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; padding:10px 0; }
.site-nav a:hover,.site-nav a[aria-current] { color:var(--accent-deep); text-decoration:underline; text-underline-offset:6px; }
.site-header.is-scrolled { height:60px; }
.site-header.is-scrolled .site-brand { font-size:clamp(.75rem,1.15vw,1rem); }
@media(max-width:1200px) { :root { --header-height:120px; } body { padding-top:120px; } .site-header { height:120px; flex-wrap:wrap; gap:0; padding:14px 24px 8px; } .site-brand { width:100%; font-size:1.1rem; } .site-nav { width:100%; justify-content:space-between; } .site-header.is-scrolled { height:88px; } }
@media(max-width:540px) { :root { --header-height:156px; } body { padding-top:156px; } .site-header { height:156px; padding:12px 16px 8px; } .site-brand { font-size:.85rem; } .site-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; } .site-header.is-scrolled { height:132px; } .page-top { padding:2.5rem 20px 1.5rem; } .form-card { padding:1.25rem; } }
@media(prefers-reduced-motion:reduce) { .site-header { transition:none; } }
@media print { body { padding-top:0; } .site-header { display:none; } }

#registration-error.service-notice { background: none; border: 0; border-radius: 0; padding: 0; margin-top: 2rem; font-size: .875rem; color: var(--muted); }
.language-switch { display:flex; flex:none; padding:3px; border-radius:999px; background:var(--surface); border:1px solid var(--border); }
.language-switch button { border:0; border-radius:999px; background:transparent; color:var(--accent-deep); padding:6px 12px; font:600 .8rem/1.4 "Montserrat",sans-serif; }
.language-switch button.is-on { background:var(--highlight); }
@media(min-width:1201px) { .site-nav { margin-left:auto; } }
@media(max-width:1200px) { .site-header { display:grid; grid-template-columns:1fr auto; gap:0 16px; } .site-brand { width:auto; } .language-switch { grid-row:1; grid-column:2; } .site-nav { grid-row:2; grid-column:1/-1; } }

.checkline input { margin-top: calc((1lh - 19px) / 2); }

/* Consistent select chevrons with room for the selected label. */
select, .country-trigger {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2.75rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2328658f' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.1rem 1.1rem;
}
@media (forced-colors: active) {
  select { appearance: auto; background-image: none; }
}
.country-picker { position:relative; font-weight:400; }
.country-native { position:absolute; width:1px; height:1px; min-height:0; padding:0; border:0; opacity:0; pointer-events:none; }
.country-trigger { width:100%; min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:10px 16px 10px 12px; background:var(--surface); color:var(--ink); border:1px solid var(--border); border-radius:8px; text-align:left; font:inherit; }
.country-trigger::after { content: none; }
.country-options { position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:30; max-height:260px; overflow:auto; overscroll-behavior:contain; padding:6px; background:var(--surface); color:var(--ink); border:1px solid var(--border); border-radius:8px; box-shadow:0 8px 24px rgb(35 63 99 / .12); }
.country-options [role=option] { padding:9px 12px; border-radius:4px; cursor:pointer; }
.country-options [role=option]:hover,.country-options .highlighted { background:var(--highlight); color:var(--accent-deep); }
.country-options [aria-selected=true] { font-weight:600; }

.country-picker .country-trigger { padding-right: 2.75rem; background-color: var(--surface); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2328658f' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1.1rem 1.1rem; }

/* AZFA artwork uses a transparent mask so its color follows the navigation. */
.site-brand { display:flex; align-items:center; gap:.65rem; }
.site-brand-logo { display:block; flex:none; width:76px; height:30px; background:currentColor; -webkit-mask:url('/assets/azfa-logo-mask.svg') center / contain no-repeat; mask:url('/assets/azfa-logo-mask.svg') center / contain no-repeat; }
.site-header.is-scrolled .site-brand-logo { width:62px; height:24px; }
@media(max-width:540px) { .site-brand-logo { width:58px; height:23px; } .site-header.is-scrolled .site-brand-logo { width:52px; height:21px; } }

.site-brand-logo + span { display:flex; align-items:center; gap:.65rem; }
.site-brand-logo + span::before { content:''; display:block; flex:none; width:1px; height:1.5em; background:currentColor; opacity:.35; }

/* Questionnaire action in the shared navigation. */
.site-header .site-nav a.nav-questionnaire {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.65rem 1.15rem .6rem; border-radius:999px; background:var(--brand-blue); color:#fff;
  text-decoration:none;
  justify-self:start;
}
.site-header .site-nav a.nav-questionnaire:hover { background:var(--accent-deep); color:#fff; text-decoration:none; }
.site-nav .nav-questionnaire svg { width:1em; height:1em; flex:none; }
