:root {
    color-scheme: light;
    --brand-navy: #0a2a5e;
    --brand-coral: #ff6b6b;
    --brand-cream: #fdf9f3;
    --background: #fdfbf8;
    --foreground: #071123;
    --card: #ffffff;
    --border: #dadee5;
    --input: #dadee5;
    --ring: #ff6f69;
    --muted: #eef2f9;
    --muted-foreground: #5d646f;
    --primary: #14295f;
    --accent: #ff6f69;
    --destructive: #e60016;
    --radius: 0.75rem;
  }
  * , ::before, ::after { border-color: var(--border); }
  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
  body {
    margin: 0;
    min-height: 100vh;
    background-color: var(--background);
    color: var(--foreground);
    font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  /* motion — mirrors the framer-motion behaviour on the original site */
  @keyframes i4l-spin { to { transform: rotate(360deg); } }
  @keyframes i4l-rise {
    0%   { transform: translateY(0);      opacity: 0; }
    10%  { opacity: 0.5; }
    90%  { opacity: 0.5; }
    100% { transform: translateY(-130px); opacity: 0; }
  }
  .i4l-drum { transform-origin: 50% 50%; transform-box: fill-box; animation: i4l-spin linear infinite; }
  .i4l-bubble { transform-origin: 50% 50%; transform-box: fill-box; animation: i4l-rise linear infinite; }
  .reveal { opacity: 1; }
  .i4l-anim .reveal { opacity: 0; transform: translateY(24px); }
  .i4l-anim .reveal.in { opacity: 1; transform: none; transition: opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
  @media (prefers-reduced-motion: reduce) {
    .i4l-drum, .i4l-bubble { animation: none; }
    .i4l-anim .reveal { opacity: 1; transform: none; }
    html { scroll-behavior: auto; }
  }
  /* products dropdown (hover/focus driven, as on the original) */
  .i4l-menu { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
  .i4l-menu-wrap:hover .i4l-menu, .i4l-menu-wrap:focus-within .i4l-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .i4l-menu-wrap:hover .i4l-chev, .i4l-menu-wrap:focus-within .i4l-chev { transform: rotate(180deg); }
  .i4l-chev { transition: transform .2s ease; display: inline-block; }

/* ---- application funnel ---- */
.field { display: flex; flex-direction: column; gap: 0.375rem; }
.field > label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 500; line-height: 1; user-select: none; }
.field .req { color: var(--destructive); }
.control {
  height: 2rem; width: 100%; min-width: 0;
  border-radius: 0.75rem; border: 1px solid var(--input);
  background: transparent; padding: 0.25rem 0.625rem;
  font: inherit; font-size: 1rem; color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
  outline: none;
}
select.control { height: 2rem; padding-right: 1.75rem; appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235d646f' stroke-width='2' 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 0.5rem center; }
textarea.control { height: auto; min-height: 4rem; padding: 0.5rem 0.625rem; resize: vertical; }
.control::placeholder { color: var(--muted-foreground); }
.control:focus-visible { border-color: var(--ring); box-shadow: 0 0 0 3px rgb(255 111 105 / 0.5); }
.control[aria-invalid="true"] { border-color: var(--destructive); box-shadow: 0 0 0 3px rgb(230 0 22 / 0.2); }
@media (min-width: 768px) { .control { font-size: 0.875rem; } }
.field-error { font-size: 0.8125rem; color: var(--destructive); }
.checkline { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; line-height: 1.4; }
.checkline input[type="checkbox"] { width: 1rem; height: 1rem; margin-top: 0.125rem; accent-color: var(--brand-coral); flex: none; }
.step { animation: i4l-step .22s cubic-bezier(.16,1,.3,1) both; }
@keyframes i4l-step { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .step { animation: none; } }
.spin { animation: i4l-spin 1s linear infinite; }

/* Header logo — pop-out hover effect */
.partner-logo-wrap{display:inline-flex;align-items:center;position:relative;z-index:1}
.partner-logo-wrap:hover{z-index:50}
.partner-logo{width:auto;object-fit:contain;transform-origin:left center;transition:transform .28s cubic-bezier(.34,1.56,.64,1),filter .28s ease;filter:drop-shadow(0 2px 4px rgba(10,42,94,0.15));cursor:pointer;position:relative}
.partner-logo:hover{transform:scale(1.18) translateY(-2px);filter:drop-shadow(0 14px 22px rgba(10,42,94,0.35))}
