:root {
    --carentis-teal:#0fa9a8;
    --carentis-navy:#062b52;
    --carentis-blue:#0b3d70;
    --ink:#17324d;
    --muted:#627386;
    --bg:#f4f8fb;
    --card:#ffffff;
    --border:#dce6ee;
    --shadow:0 14px 40px rgba(6,43,82,.10);
  }
  .carentis-care-home-finder, .carentis-care-home-finder * { box-sizing:border-box; }
  .carentis-care-home-finder {
    margin:0; background:var(--bg); color:var(--ink);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height:1.55;
  }
  .cf-wrap { max-width:900px; margin:30px auto; padding:0 16px; }
  .cf-card {
    background:var(--card); border:1px solid var(--border); border-radius:22px;
    box-shadow:var(--shadow); overflow:hidden;
  }
  .cf-header {
    padding:28px 30px 22px; background:linear-gradient(135deg,#ffffff 0%,#eefafa 100%);
    border-bottom:1px solid var(--border);
  }
  .cf-brand { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
  .cf-logo { width:52px; height:52px; object-fit:contain; border-radius:12px; }
  .cf-brand strong { color:var(--carentis-navy); font-size:20px; }
  .cf-brand span { display:block; color:var(--muted); font-size:13px; }
  h1 { margin:0 0 10px; font-size:clamp(28px,5vw,42px); line-height:1.1; color:var(--carentis-navy); }
  .cf-intro { max-width:720px; margin:0; color:#4e6478; font-size:17px; }
  .cf-body { padding:28px 30px 32px; }
  .cf-progress { margin-bottom:25px; }
  .cf-progress-row { display:flex; justify-content:space-between; font-size:13px; color:var(--muted); margin-bottom:8px; }
  .cf-progress-track { height:8px; background:#e7eef3; border-radius:99px; overflow:hidden; }
  .cf-progress-bar { height:100%; width:0; background:linear-gradient(90deg,var(--carentis-teal),var(--carentis-blue)); transition:width .25s ease; }
  .cf-question { font-size:25px; line-height:1.25; color:var(--carentis-navy); margin:0 0 9px; }
  .cf-help { margin:0 0 20px; color:var(--muted); font-size:15px; }
  .cf-options { display:grid; gap:11px; }
  .cf-option {
    width:100%; text-align:left; background:#fff; border:2px solid var(--border);
    border-radius:14px; padding:16px 17px; cursor:pointer; color:var(--ink);
    font:inherit; transition:.15s ease;
  }
  .cf-option:hover { border-color:#83cece; transform:translateY(-1px); }
  .cf-option.selected { border-color:var(--carentis-teal); background:#effbfb; box-shadow:0 0 0 3px rgba(15,169,168,.10); }
  .cf-option b { display:block; color:var(--carentis-navy); margin-bottom:2px; }
  .cf-option span { color:#607386; font-size:14px; }
  .cf-actions { display:flex; gap:10px; justify-content:space-between; margin-top:24px; }
  button.cf-btn {
    border:0; border-radius:12px; padding:13px 19px; font:inherit; font-weight:700; cursor:pointer;
  }
  .cf-back { background:#edf2f6; color:var(--carentis-navy); }
  .cf-next { background:var(--carentis-navy); color:#fff; margin-left:auto; }
  .cf-next:disabled { opacity:.45; cursor:not-allowed; }
  .cf-start { background:var(--carentis-navy); color:#fff; padding:15px 24px; }
  .cf-note { margin-top:18px; font-size:12px; color:#718191; }
  .cf-hidden { display:none !important; }
  .cf-result-head {
    padding:24px; border-radius:18px; background:linear-gradient(135deg,#062b52,#0b3d70); color:#fff; margin-bottom:22px;
  }
  .cf-result-kicker { text-transform:uppercase; letter-spacing:.08em; font-size:12px; opacity:.78; font-weight:800; }
  .cf-result-title { margin:5px 0 8px; font-size:30px; line-height:1.15; }
  .cf-result-summary { margin:0; opacity:.92; }
  .cf-section { margin:22px 0; }
  .cf-section h3 { margin:0 0 10px; color:var(--carentis-navy); font-size:19px; }
  .cf-list { margin:0; padding-left:20px; }
  .cf-list li { margin:7px 0; }
  .cf-alert {
    border-left:5px solid var(--carentis-teal); background:#effafa; padding:15px 17px;
    border-radius:10px; margin:18px 0;
  }
  .cf-warning {
    border-left:5px solid #d98a00; background:#fff8e8; padding:15px 17px;
    border-radius:10px; margin:18px 0;
  }
  .cf-profile {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
  }
  .cf-profile-item { border:1px solid var(--border); border-radius:12px; padding:12px 13px; background:#fbfdfe; }
  .cf-profile-item strong { display:block; color:var(--carentis-navy); font-size:14px; }
  .cf-profile-item span { font-size:13px; color:var(--muted); }
  .cf-result-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
  .cf-print { background:var(--carentis-teal); color:#fff; }
  .cf-restart { background:#edf2f6; color:var(--carentis-navy); }
  .cf-footer { padding:20px 30px 26px; border-top:1px solid var(--border); font-size:12px; color:#718191; }
  @media (max-width:640px) {
    .cf-header,.cf-body,.cf-footer { padding-left:18px; padding-right:18px; }
    .cf-profile { grid-template-columns:1fr; }
    .cf-question { font-size:22px; }
  }
  @media print {
    .carentis-care-home-finder { background:#fff; }
    .cf-wrap { max-width:none; margin:0; padding:0; }
    .cf-card { box-shadow:none; border:0; }
    .cf-header,.cf-footer,.cf-result-actions { display:none !important; }
    .cf-body { padding:0; }
  }