:root{
  --navy:#0B1220;
  --blue:#2563EB;
  --cyan:#38BDF8;
  --white:#F8FAFC;
  --graphite:#1F2937;
  --muted:#F1F5F9;
  --line:#D8E1EB;
  --danger:#B42318;
  --max:820px;
}
*{box-sizing:border-box}
html{background:var(--white)}
body{
  margin:0;
  min-height:100vh;
  background:linear-gradient(180deg,#eef4fb 0,#f8fafc 34%,#f8fafc 100%);
  color:var(--navy);
  font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
.wrap{width:min(calc(100% - 32px),var(--max));margin:auto}
.site-header{background:rgba(248,250,252,.96);border-bottom:1px solid var(--line)}
.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;width:190px}
.brand img{display:block;width:100%;height:auto}
.service-label{font-size:.92rem;color:var(--graphite);font-weight:700}
.survey-shell{padding:52px 0 72px;min-height:calc(100vh - 142px)}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:clamp(24px,5vw,44px);
  box-shadow:0 18px 48px rgba(11,18,32,.07);
}
.hidden{display:none!important}
.eyebrow{margin:0 0 12px;color:var(--blue);font-size:.76rem;font-weight:850;letter-spacing:.15em}
h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}
.lead{font-size:1.1rem;color:var(--graphite);margin:0 0 12px}
.meta{font-size:.92rem;color:#5D6B7D;margin:0 0 34px}
.question{border:0;border-top:1px solid var(--line);margin:0;padding:30px 0}
.question:first-child{border-top:0}
.question legend,.question>label:first-child{display:block;font-weight:800;font-size:1.06rem;margin-bottom:8px}
.required{color:var(--danger);margin-left:4px}
.help{margin:0 0 13px;color:#5D6B7D;font-size:.92rem}
.choice-list{display:grid;gap:10px;margin-top:13px}
.choice{
  display:flex;
  gap:11px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 14px;
  background:#fff;
}
.choice:hover{border-color:#AEBBCC}
.choice input{margin-top:.25rem}
input[type="text"],textarea,select{
  width:100%;
  border:1px solid #AEBBCC;
  border-radius:9px;
  padding:12px 13px;
  font:inherit;
  color:var(--navy);
  background:#fff;
}
textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus,select:focus,button:focus-visible{
  outline:3px solid rgba(37,99,235,.18);
  outline-offset:2px;
  border-color:var(--blue);
}
.scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:8px;margin-top:12px}
.scale label{display:grid;place-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;padding:10px 6px;font-weight:750}
.scale-notes{display:flex;justify-content:space-between;gap:20px;color:#5D6B7D;font-size:.84rem;margin-top:8px}
.privacy-box{background:var(--muted);border-radius:12px;padding:18px;margin:18px 0 24px;color:var(--graphite);font-size:.92rem}
.privacy-box p{margin:0}
.button{
  appearance:none;
  border:0;
  border-radius:9px;
  background:var(--blue);
  color:#fff;
  font:inherit;
  font-weight:800;
  padding:13px 20px;
  cursor:pointer;
}
.button:disabled{opacity:.6;cursor:wait}
.error{min-height:1.5em;color:var(--danger);font-weight:700}
footer{border-top:1px solid var(--line);background:var(--navy);color:#D7E2ED}
.footer-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.88rem}
footer a{color:#fff}
@media(max-width:600px){
  .wrap{width:min(calc(100% - 22px),var(--max))}
  .header-inner{min-height:64px}
  .brand{width:154px}
  .service-label{font-size:.8rem}
  .survey-shell{padding:24px 0 48px}
  .card{border-radius:14px;padding:22px 18px}
  .question{padding:24px 0}
  .footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding:18px 0}
}
