@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('manrope-greek-v2.woff2') format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('manrope-latin.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}
:root{--ink:#18233b;--blue:#2563eb;--blue-dark:#173b84;--pale:#edf4ff;--line:#dbe5f4;--muted:#65728b}*{box-sizing:border-box}body{margin:0;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 50% 18%,#fff 0,#f5f8fd 50%,#e9eff8 100%)}.landing{min-height:100vh;display:grid;place-items:center;padding:28px}.landing-card{width:min(100%,620px);padding:54px;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:30px;text-align:center;box-shadow:0 24px 70px rgba(29,54,104,.13)}.brand-mark{width:126px;height:126px;margin:0 auto;display:grid;place-items:center;border-radius:31px;background:linear-gradient(145deg,#3978f4,#174aa9);color:#fff;font-size:66px;font-weight:850;box-shadow:0 18px 38px rgba(37,99,235,.23)}.landing-brand p{margin:28px 0 6px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.15em}.landing-brand h1{margin:0;font-size:clamp(42px,8vw,66px);letter-spacing:-.035em}.landing-brand span{display:block;margin-top:8px;color:var(--muted);font-size:14px}.landing nav{display:grid;gap:13px;margin-top:38px}.landing nav a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:15px 22px;border-radius:13px;font-size:15px;font-weight:850;letter-spacing:.03em;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.landing nav a:hover{transform:translateY(-2px)}.primary-link{background:linear-gradient(135deg,#3978f4,#174aa9);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.2)}.secondary-link{border:1px solid #cfdced;background:#fff;color:var(--blue-dark)}.secondary-link:hover{box-shadow:0 9px 22px rgba(29,54,104,.09)}footer{margin-top:30px;color:#8a96aa;font-size:11px}@media(max-width:600px){.landing{padding:18px}.landing-card{padding:38px 22px;border-radius:24px}.brand-mark{width:104px;height:104px;border-radius:27px;font-size:56px}.landing-brand p{margin-top:23px}.landing nav{margin-top:31px}}
:root {
  --ink: #34495e;
  --pink: #ef6f57;
  --blue: #35aa9f;
  --blue-dark: #344f63;
  --pale: #eef8f6;
  --line: #d7ebe8;
  --muted: #66747f;
}

body {
  background: #f8fbfa;
  min-height: 100vh;
  min-height: 100svh;
}

.global-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 5px 18px;
  border-top: 1px solid var(--line);
  background: #fff;
  color: #71808a;
  font-size: 10px;
}

.landing + .global-footer {
  margin-top: -38px;
  position: relative;
}

.landing {
  min-height: 100vh;
  min-height: 100svh;
  background:
    radial-gradient(circle at 14% 12%, rgba(53, 170, 159, .16), transparent 34%),
    radial-gradient(circle at 88% 88%, rgba(255, 171, 15, .15), transparent 36%);
}

.landing-logo {
  display: block;
  width: min(100%, 430px);
  height: auto;
  margin: 0 auto 26px;
}

.primary-link,
.primary {
  background: linear-gradient(135deg, #35aa9f, #238e85);
}

.secondary-link {
  border-color: #ffd17a;
  color: #344f63;
}

.landing-brand p,
.eyebrow,
legend small,
.steps span.active,
.contact a {
  color: #ef6f57;
}

.steps span.active,
.notice {
  border-color: #ef6f57;
}

.brand img.brand-logo,
.brand-logo {
  width: 290px;
  height: auto;
  max-height: 66px;
  object-fit: contain;
  object-position: left center;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.nesti-credit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-left: 7px;
  vertical-align: middle;
  color: #8d979e;
  font-size: 9px;
  opacity: .58;
}

.nesti-crop {
  position: relative;
  display: inline-block;
  width: 74px;
  height: 23px;
  overflow: hidden;
}

.nesti-crop img {
  position: absolute;
  width: 210px;
  max-width: none;
  height: auto;
  left: -118px;
  top: -31px;
}

.site-header + .shell {
  min-height: calc(100vh - 142px);
  min-height: calc(100svh - 142px);
}

@media (min-width: 801px) {
  body {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .site-header {
    flex: 0 0 68px;
    height: 68px;
  }

  .site-header + .shell {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    margin: 16px auto;
    gap: 48px;
    overflow: hidden;
  }

  .intro {
    top: 16px;
  }

  .intro h1 {
    margin: 8px 0;
    font-size: clamp(38px, 4.3vw, 55px);
  }

  .intro > p:not(.eyebrow) {
    margin: 8px 0;
    font-size: 15px;
    line-height: 1.48;
  }

  .contact {
    margin-top: 12px;
    padding: 11px 14px;
  }

  .contact span {
    margin: 3px 0 5px;
  }

  .steps {
    margin-top: 14px;
    gap: 3px;
  }

  .steps span {
    padding: 5px 11px;
    font-size: 13px;
  }

  .card {
    align-self: center;
    max-height: 100%;
    padding: 22px 28px;
    overflow: auto;
  }

  .form-intro {
    margin-bottom: 13px;
    padding-bottom: 11px;
    line-height: 1.4;
  }

  legend {
    margin-bottom: 13px;
    font-size: 23px;
  }

  legend small {
    margin-bottom: 4px;
  }

  .grid {
    gap: 7px 15px;
  }

  label {
    gap: 5px;
    margin-bottom: 7px;
    font-size: 12px;
  }

  input,
  select,
  textarea {
    padding: 9px 11px;
  }

  h3 {
    margin: 12px 0 8px;
  }

  .actions,
  fieldset > .primary {
    margin-top: 9px;
  }

  .policy {
    margin: 7px 0;
    padding: 10px 13px;
  }

  .policy h3 {
    margin-bottom: 5px;
  }

  .policy p,
  .policy ul {
    margin: 4px 0;
    font-size: 11px;
    line-height: 1.38;
  }

  .consent {
    margin-bottom: 6px;
    padding: 9px 11px;
    font-size: 11px;
  }

  body > footer {
    flex: 0 0 32px;
    padding: 4px;
    font-size: 10px;
  }
}

@media (max-width: 600px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .site-header {
    width: 100%;
    padding-inline: 14px;
  }

  .site-header + .shell,
  .shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 20px 0;
    padding-inline: 14px;
    grid-template-columns: minmax(0, 1fr);
  }

  .intro,
  .card,
  fieldset,
  .grid,
  label {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  input,
  select,
  textarea {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }

  .card {
    padding: 20px;
  }

  .steps {
    max-width: 100%;
  }

  .landing-logo { width: min(100%, 330px); }
  .brand img.brand-logo,
  .brand-logo { width: 220px; max-height: 54px; }
  .nesti-credit { display: flex; margin: 7px 0 0; }
}

/* Step three may grow with the regulations and must remain fully accessible. */
fieldset[data-step="3"]:not([hidden]){max-height:none;overflow:visible;padding-right:0}
.nesti-credit{text-decoration:none;color:inherit}
@media(max-height:800px){body{overflow:auto!important}.shell{min-height:auto!important}.card{max-height:none!important}fieldset[data-step="3"]:not([hidden]){max-height:none}}
.shell,.card{max-height:none!important;overflow:visible!important}.secondary-link{display:flex!important;align-items:center;justify-content:center;background:#2aa89c!important;border-color:#2aa89c!important;color:#fff!important;box-shadow:0 10px 24px rgba(42,168,156,.22);font-size:15px!important}.secondary-link:hover,.secondary-link:focus-visible{background:#208d84!important;transform:translateY(-2px);box-shadow:0 14px 28px rgba(42,168,156,.3)}
.success-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:28px}.success-actions .button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;margin:0;padding:16px 24px;text-decoration:none}.success-actions .home-link{background:#fff;color:#208d84;border:2px solid #2aa89c}.success-actions .home-link:hover,.success-actions .home-link:focus-visible{background:#eaf8f6;color:#176f68;transform:translateY(-2px)}
@media(max-width:600px){.success-actions{align-items:stretch;flex-direction:column;gap:12px}.success-actions .button{width:100%;min-width:0}}
@media(min-width:801px){body{display:block;overflow:auto!important}.site-header+.shell{min-height:calc(100svh - 100px);margin:24px auto 50px;overflow:visible!important}.intro{position:sticky;top:20px}.card{align-self:start}}
