#eu-needs-finder { font-family:Arial,sans-serif; color:#0b2537; font-size:18px; line-height:1.6; width:100%; }
#eu-needs-finder [hidden] { display:none !important; }
#eu-needs-finder form, #eu-nf-result { background:#fff; padding:36px; border:1px solid #e2ded4; border-radius:8px; box-shadow:0 12px 36px rgba(11,37,55,.05); }
#eu-needs-finder p { margin:0 0 24px; }
#eu-needs-finder .eu-nf-note { color:#51606b; font-size:16px; }
#eu-needs-finder fieldset { border:0; padding:0; margin:0 0 30px; min-width:0; }
#eu-needs-finder legend { font-weight:700; font-size:20px; padding:0; margin-bottom:16px; width:100%; text-wrap:balance; }
#eu-needs-finder .eu-nf-number { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; margin-right:10px; border-radius:50%; background:#f6f5ef; color:#bb3b16; font-size:16px; }
#eu-needs-finder .eu-nf-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#eu-needs-finder .eu-nf-option { display:flex; align-items:center; gap:12px; min-height:58px; padding:14px 16px; border:1px solid #d9dedf; border-radius:4px; cursor:pointer; color:#0b2537; font-size:17px; line-height:1.45; }
#eu-needs-finder .eu-nf-option:has(input:checked) { border-color:#bb3b16; background:#fcf4ef; }
#eu-needs-finder .eu-nf-option:focus-within { outline:2px solid #0b2537; outline-offset:3px; }
#eu-needs-finder input { appearance:auto; width:19px; height:19px; margin:0; accent-color:#bb3b16; flex-shrink:0; }
#eu-needs-finder .eu-nf-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; border:0; border-radius:3px; background:#bb3b16; color:white; font:700 16px/1.5 Arial,sans-serif; text-decoration:none; cursor:pointer; max-width:100%; }
#eu-needs-finder .eu-nf-button:hover { background:#9f3112; }
#eu-needs-finder a:focus-visible, #eu-needs-finder button:focus-visible { outline:2px solid #0b2537; outline-offset:4px; }
#eu-needs-finder h2 { font:400 34px/1.2 Georgia,serif; text-wrap:balance; margin:0 0 20px; }
#eu-needs-finder h3 { font:700 18px/1.5 Arial,sans-serif; margin:0 0 12px; }
#eu-needs-finder .eu-nf-eyebrow { font-weight:700; font-size:16px; color:#bb3b16; margin-bottom:18px; }
#eu-needs-finder .eu-nf-summary { background:#f6f5ef; padding:20px; margin:24px 0; border-radius:4px; }
#eu-needs-finder ul { padding-left:22px; margin:0; }
#eu-needs-finder li + li { margin-top:8px; }
#eu-needs-finder .eu-nf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-bottom:16px; }
#eu-needs-finder .eu-nf-secondary { color:#bb3b16; text-decoration:underline; text-underline-offset:3px; font-size:16px; font-weight:700; }
#eu-needs-finder .eu-nf-handoff { font-size:16px; color:#51606b; }
#eu-needs-finder .eu-nf-utilities { display:flex; flex-wrap:wrap; gap:12px 24px; }
#eu-needs-finder .eu-nf-utilities button { background:none; padding:8px 0; border:0; color:#0b2537; font:700 16px/1.5 Arial,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
#eu-needs-finder #eu-nf-copy-status { margin:12px 0 0; font-size:16px; color:#51606b; }
@media(max-width:767px){
 #eu-needs-finder form,#eu-nf-result { padding:24px 20px; }
 #eu-needs-finder .eu-nf-options { grid-template-columns:minmax(0,1fr); }
 #eu-needs-finder legend { font-size:18px; }
 #eu-needs-finder h2 { font-size:30px; }
 #eu-needs-finder .eu-nf-actions { flex-direction:column; align-items:stretch; }
 #eu-needs-finder .eu-nf-secondary { text-align:center; padding:8px 0; }
 #eu-needs-finder .eu-nf-option { font-size:16px; }
}

#eu-nf-result { scroll-margin-top:140px; }
@media(max-width:767px){ #eu-needs-finder h2 { font-size:28px; } }

/* Shared tactile treatment with the contact form. */
#eu-needs-finder form,#eu-nf-result {
  padding:32px;
  border-color:#e4e5dc;
  border-radius:16px;
  box-shadow:0 2px 4px rgba(11,37,55,.025),0 16px 44px rgba(11,37,55,.07);
}
#eu-needs-finder .eu-nf-option {
  min-height:52px;
  padding:12px 14px;
  border-color:#dbe0df;
  border-radius:9px;
  background:#f8f9f6;
  box-shadow:inset 0 1px 2px rgba(11,37,55,.04),0 1px 0 rgba(255,255,255,.9);
  font-size:16px;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#eu-needs-finder .eu-nf-option:hover {
  border-color:#a8b5b9;
  background:#ffffff;
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(11,37,55,.05);
}
#eu-needs-finder .eu-nf-option:active { transform:translateY(1px); }
#eu-needs-finder .eu-nf-option:has(input:checked) {
  border-color:#bb3b16;
  background:#fcf4ef;
  box-shadow:inset 0 0 0 1px rgba(187,59,22,.14),0 2px 5px rgba(187,59,22,.05);
}
#eu-needs-finder .eu-nf-option:focus-within {
  outline:2px solid #bb3b16;
  outline-offset:3px;
}
#eu-needs-finder input[type="radio"] {
  appearance:none;
  padding:0;
  min-width:20px;
  max-width:20px;
  box-sizing:border-box;
  width:20px;
  height:20px;
  border:1.5px solid #93a3aa;
  border-radius:50%;
  background:#ffffff;
  box-shadow:inset 0 1px 2px rgba(11,37,55,.06);
}
#eu-needs-finder input[type="radio"]:checked {
  border-color:#bb3b16;
  background:radial-gradient(circle,#bb3b16 0 5px,#ffffff 5.5px);
}
#eu-needs-finder .eu-nf-number {
  background:#fcf4ef;
  box-shadow:inset 0 1px 2px rgba(187,59,22,.05);
  border:1px solid #f0dfd4;
}
#eu-needs-finder .eu-nf-button {
  min-height:54px;
  padding:15px 26px;
  border:1px solid #a93312;
  border-radius:9px;
  background:#bb3b16;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 0 #942c0f,0 6px 14px rgba(187,59,22,.14);
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}
#eu-nf-form > .eu-nf-button { width:100%; }
#eu-needs-finder .eu-nf-button:hover {
  background:#a93312;
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 4px 0 #942c0f,0 8px 18px rgba(187,59,22,.18);
}
#eu-needs-finder .eu-nf-button:active {
  transform:translateY(2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 0 #942c0f;
}
#eu-needs-finder .eu-nf-summary {
  border:1px solid #e7e8e1;
  border-radius:9px;
  background:#f8f9f6;
  box-shadow:inset 0 1px 2px rgba(11,37,55,.025);
}
#eu-needs-finder .eu-nf-utilities { gap:12px; }
#eu-needs-finder .eu-nf-utilities button {
  min-height:44px;
  padding:10px 16px;
  border:1px solid #dbe0df;
  border-radius:9px;
  background:#f8f9f6;
  text-decoration:none;
  font-weight:600;
  transition:background-color .18s ease,border-color .18s ease;
}
#eu-needs-finder .eu-nf-utilities button:hover { background:#ffffff; border-color:#a8b5b9; }
@media(max-width:767px) {
  #eu-needs-finder form,#eu-nf-result { padding:24px 20px; border-radius:12px; }
  #eu-needs-finder .eu-nf-utilities { flex-direction:column; align-items:stretch; }
}
@media(prefers-reduced-motion:reduce) {
  #eu-needs-finder .eu-nf-option,#eu-needs-finder .eu-nf-button,#eu-needs-finder .eu-nf-utilities button { transition:none; }
  #eu-needs-finder .eu-nf-option:hover,#eu-needs-finder .eu-nf-option:active,#eu-needs-finder .eu-nf-button:hover,#eu-needs-finder .eu-nf-button:active { transform:none; }
}
@media(forced-colors:active) {
  #eu-needs-finder input[type="radio"] { appearance:auto; }
  #eu-needs-finder .eu-nf-option:has(input:checked) { border-color:Highlight; }
}

/* Mobile answer text wrapping. */
@media(max-width:767px) {
 #eu-needs-finder .eu-nf-option > span { min-width:0; text-wrap:pretty; }
 #eu-needs-finder .eu-nf-button, #eu-needs-finder .eu-nf-secondary, #eu-needs-finder .eu-nf-utilities button { text-wrap:balance; }
 #eu-needs-finder .eu-nf-summary li { text-wrap:pretty; }
}

@media(max-width:767px) {
 #eu-needs-finder p, #eu-needs-finder li, #eu-needs-finder .eu-nf-option > span { hyphens:none; }
}
