.crf-shell{
  --navy:#021735; --navy-deep:#050b1a; --blue-1:#123B7A; --blue-2:#17B6D4; --blue-biz:#5B7FDE;
  --teal:#0A8F8F; --dark:#075F62; --gold:#D9A53A; --gold-deep:#B9852C;
  max-width:960px;margin:40px auto;color:#33434A;
  background:#fff;border:1px solid rgba(2,23,53,.10);border-radius:24px;
  box-shadow:0 30px 70px rgba(2,23,53,.14);overflow:hidden;
  font-family:'Inter',sans-serif;
}
.crf-shell *{box-sizing:border-box}
.crf-shell [hidden]{display:none!important}

/* ---- HERO ---- */
.crf-hero{
  background:
    radial-gradient(ellipse at 20% -10%, rgba(23,182,212,0.35), transparent 55%),
    radial-gradient(ellipse at 90% 0%, rgba(217,165,58,0.18), transparent 45%),
    linear-gradient(160deg, var(--navy-deep), var(--navy) 65%);
  padding:40px 44px 34px; text-align:center; color:#fff;
}
.crf-logo{display:block;margin:0 auto 18px;height:auto;max-width:220px;}
.crf-hero .crf-eyebrow{color:var(--gold);}
.crf-hero h2{margin:0 0 12px;color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,4vw,40px);line-height:1.15;}
.crf-hero p{margin:0 auto;max-width:520px;color:rgba(255,255,255,.82);line-height:1.7;}

.crf-eyebrow{display:inline-block;margin-bottom:14px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-deep);}

/* ---- BODY ---- */
.crf-intro,.crf-quiz,.crf-results{padding:38px 44px 44px;}
.crf-shell p{line-height:1.7}
.crf-consent-note{font-size:12.5px;color:#7c8794;margin-top:4px;}
.crf-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 30px}
.crf-facts span{padding:16px;background:#F7FAFA;border-left:4px solid var(--gold);border-radius:10px;font-size:13.5px;}
.crf-facts strong{display:block;color:var(--dark);font-family:'Fraunces',serif;font-size:15px;}

.crf-audience{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 26px}
.crf-aud-card{display:flex;flex-direction:column;gap:5px;padding:22px 18px;text-align:left;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:.2s cubic-bezier(.2,.8,.2,1);font:inherit;}
.crf-aud-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(2,23,53,.16);}
.crf-aud-card strong{font-family:'Fraunces',serif;font-size:17px;font-weight:600;}
.crf-aud-card span{font-size:13px;}

/* Each audience carries its own solid brand color — background tint and
   border by default, a full solid fill on hover — rather than a shared
   generic gradient overlay. Colors match the admin analytics dashboard
   exactly, so the audience identity is consistent across the plugin. */
.crf-aud-card[data-audience-btn="individual"]{background:#E9F5F5;border-color:rgba(10,143,143,.30);}
.crf-aud-card[data-audience-btn="individual"] strong{color:var(--dark);}
.crf-aud-card[data-audience-btn="individual"] span{color:#4b7877;}
.crf-aud-card[data-audience-btn="individual"]:hover{background:var(--teal);border-color:var(--teal);}
.crf-aud-card[data-audience-btn="individual"]:hover strong{color:#fff;}
.crf-aud-card[data-audience-btn="individual"]:hover span{color:rgba(255,255,255,.88);}

.crf-aud-card[data-audience-btn="ngo"]{background:#FBF2DE;border-color:rgba(217,165,58,.35);}
.crf-aud-card[data-audience-btn="ngo"] strong{color:var(--gold-deep);}
.crf-aud-card[data-audience-btn="ngo"] span{color:#8a713f;}
.crf-aud-card[data-audience-btn="ngo"]:hover{background:var(--gold);border-color:var(--gold);}
.crf-aud-card[data-audience-btn="ngo"]:hover strong{color:var(--navy);}
.crf-aud-card[data-audience-btn="ngo"]:hover span{color:rgba(2,23,53,.75);}

.crf-aud-card[data-audience-btn="business"]{background:#EBEFFB;border-color:rgba(91,127,222,.35);}
.crf-aud-card[data-audience-btn="business"] strong{color:#3d5bb8;}
.crf-aud-card[data-audience-btn="business"] span{color:#5c6c95;}
.crf-aud-card[data-audience-btn="business"]:hover{background:var(--blue-biz);border-color:var(--blue-biz);}
.crf-aud-card[data-audience-btn="business"]:hover strong{color:#fff;}
.crf-aud-card[data-audience-btn="business"]:hover span{color:rgba(255,255,255,.88);}

.crf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border:2px solid transparent;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none!important;cursor:pointer;transition:.2s;font-family:'Inter',sans-serif;}
.crf-btn:hover{transform:translateY(-2px)}
.crf-primary{color:#fff;background:linear-gradient(135deg,var(--teal),var(--dark));border-color:var(--dark)}
.crf-primary:hover{color:var(--navy);background:var(--gold);border-color:var(--gold)}
.crf-secondary{color:var(--navy);background:#fff;border-color:rgba(2,23,53,.22)}
.crf-secondary:hover{color:#fff;background:var(--navy)}
.crf-dark{color:var(--gold)!important;background:var(--navy);border-color:var(--navy)}
.crf-gold{color:var(--navy)!important;background:linear-gradient(135deg,#EFC873,var(--gold));border-color:var(--gold)}

.crf-progress>div{display:flex;justify-content:space-between;color:var(--dark);font-weight:700;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.03em;}
.crf-progress{margin-bottom:30px}
.crf-progress-track{display:block;height:9px;margin-top:8px;background:#e5efef;border-radius:99px;overflow:hidden}
.crf-progress-track i{display:block;height:100%;background:var(--teal);border-radius:99px;transition:width .35s ease;position:relative;}
.crf-progress-track i::after{content:'';position:absolute;top:0;right:0;bottom:0;width:6px;background:var(--gold);border-radius:0 99px 99px 0;}

.crf-shell fieldset{margin:0;padding:0;border:0}
.crf-shell legend{width:100%;margin-bottom:8px;color:var(--navy);font-family:'Fraunces',serif;font-size:clamp(23px,3.6vw,30px);font-weight:600;line-height:1.3}
.crf-help{color:#7c8794;font-size:13px;}
.crf-option{display:flex;gap:12px;margin-bottom:11px;padding:16px 18px;background:#fff;border:1.5px solid rgba(2,23,53,.12);border-radius:12px;cursor:pointer;transition:.16s}
.crf-option:hover{border-color:rgba(10,143,143,.55);transform:translateY(-1px)}
.crf-option:has(input:checked){background:linear-gradient(135deg,#EAF7F6,#fff);border-color:var(--teal)}
.crf-option input{width:20px;height:20px;accent-color:var(--teal);flex:0 0 auto;margin-top:1px;}
.crf-option span{color:var(--dark);font-weight:600;font-size:15px;}
.crf-error{padding:12px 15px;color:#7A2B00;background:#FFF3E8;border-left:4px solid var(--gold);border-radius:8px;font-size:13.5px;}
.crf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}

.crf-main-result{margin-top:6px;padding:34px;color:#fff;background:linear-gradient(150deg,var(--navy-deep),var(--navy) 70%);border-radius:18px;position:relative;overflow:hidden;}
.crf-main-result::after{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(217,165,58,.25),transparent 70%);}
.crf-main-result span,.crf-support>span{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1.4px;position:relative;z-index:1;}
.crf-main-result h3{margin:8px 0 14px;color:#fff;font-family:'Fraunces',serif;font-size:clamp(26px,3.6vw,36px);position:relative;z-index:1;}
.crf-main-result p{color:rgba(255,255,255,.88);position:relative;z-index:1;}
.crf-main-result .crf-btn{position:relative;z-index:1;margin-top:6px;}
.crf-support{margin-top:24px}
.crf-support>div{margin-top:8px;padding:24px;background:#F7FAFA;border-left:5px solid var(--gold);border-radius:13px}
.crf-support h3{margin:0 0 10px;color:var(--dark);font-family:'Fraunces',serif;font-size:20px;}
.crf-support a{color:var(--dark);font-weight:700;text-decoration:none}

.crf-team-picks{margin-top:24px;}
.crf-team-picks>span{color:var(--gold-deep);font-size:12px;font-weight:800;letter-spacing:1.4px;display:block;margin-bottom:10px;}
.crf-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.crf-team-card{
  display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:13px;
  background:#fff;border:1.5px solid rgba(2,23,53,.10);text-decoration:none!important;
  transition:.18s cubic-bezier(.2,.8,.2,1);
}
.crf-team-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 12px 24px rgba(2,23,53,.10);}
.crf-team-card strong{color:var(--navy);font-family:'Fraunces',serif;font-size:15px;font-weight:600;}
.crf-team-card span{color:#6b7480;font-size:12.5px;line-height:1.5;}
@media(max-width:700px){.crf-team-grid{grid-template-columns:1fr;}}
.crf-result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.crf-note{margin-top:26px;padding-top:18px;color:#7c8794;border-top:1px solid rgba(2,23,53,.10);font-size:12.5px}

@media(max-width:700px){
  .crf-shell{margin:0;border-radius:0;}
  .crf-hero{padding:32px 26px 28px;}
  .crf-intro,.crf-quiz,.crf-results{padding:28px 22px 32px;}
  .crf-facts{grid-template-columns:1fr}
  .crf-audience{grid-template-columns:1fr}
  .crf-nav{flex-direction:column-reverse}
  .crf-nav .crf-btn,.crf-result-actions .crf-btn,.crf-intro>.crf-btn{width:100%}
}
