/* Inner Circle application — sits on top of Bootstrap 5.
   Look matches the existing page: deep navy card, soft gold, Playfair + Source Sans. */
:root{
  --ic-page:#5d6570; --ic-card:#162033; --ic-field:#222c40; --ic-line:#3b465c;
  --ic-text:#f4f1ea; --ic-muted:#a9b1c0; --ic-gold:#cdaa5f; --ic-gold-hi:#dcbd78; --ic-danger:#f0a3a3;
}
body{background:var(--ic-page);color:var(--ic-text);font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.55}
.ic-title{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(1.75rem,4.5vw,2.5rem);color:#fff;margin-bottom:.35rem}
.ic-subtitle{color:#e6e2d8}
.ic-card{max-width:640px;background:var(--ic-card);border-radius:22px;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 24px 60px rgba(8,13,24,.45)}
.ic-progress{height:3px;background:var(--ic-line);border-radius:3px;margin-bottom:1.5rem;overflow:hidden}
.ic-progress-bar{height:100%;width:20%;background:var(--ic-gold);transition:width .35s ease}
.ic-step{color:var(--ic-gold);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:.85rem;margin-bottom:1.25rem}
.ic-pane h2{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(1.5rem,4vw,2rem);color:#fff;margin-bottom:.5rem}
.ic-pane h2:focus{outline:none}
.ic-lead{color:var(--ic-muted);margin-bottom:1.75rem}
.ic-pane label,.ic-pane legend{font-weight:600;font-size:1.0625rem;color:var(--ic-text);margin-bottom:.35rem;float:none}
.ic-hint{color:var(--ic-muted);font-size:.95rem;margin-bottom:.6rem}
.form-text.ic-hint{margin:.35rem 0 0}
.ic-card .form-control{background:var(--ic-field);border:1.5px solid var(--ic-line);color:var(--ic-text);border-radius:10px;padding:.85rem 1rem}
.ic-card .form-control::placeholder{color:#8891a3}
.ic-card .form-control:focus{background:var(--ic-field);color:var(--ic-text);border-color:var(--ic-gold);box-shadow:0 0 0 .2rem rgba(205,170,95,.25)}
.ic-card .form-control.is-bad{border-color:var(--ic-danger)}
.ic-consent{font-size:.92rem;color:var(--ic-muted)}
.ic-consent .form-check-label{font-weight:400;font-size:.92rem;color:var(--ic-muted)}
.ic-consent{padding-left:2.1em}.ic-consent .form-check-input{margin-left:-2.1em;background-color:var(--ic-field);border:1.5px solid var(--ic-line);width:1.25em;height:1.25em;margin-top:.15em}
.ic-consent .form-check-input:checked{background-color:var(--ic-gold);border-color:var(--ic-gold)}
.ic-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* choice rows (checkboxes + radios) */
.ic-choice{display:flex;gap:.75rem;align-items:flex-start;background:var(--ic-field);border:1.5px solid var(--ic-line);border-radius:10px;padding:.8rem 1rem;margin-bottom:.5rem;cursor:pointer;font-weight:400!important}
.ic-choice input{margin-top:.3rem;accent-color:var(--ic-gold);flex:none;width:1.05rem;height:1.05rem}
.ic-choice:has(input:checked){border-color:var(--ic-gold);background:#2a3347}
.ic-choice:focus-within{box-shadow:0 0 0 .2rem rgba(205,170,95,.25)}

/* 1–10 scale */
.ic-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem;margin-top:.75rem}
.ic-scale label{margin:0}
.ic-scale input{position:absolute;opacity:0}
.ic-scale span{display:block;text-align:center;padding:.65rem 0;background:var(--ic-field);border:1.5px solid var(--ic-line);border-radius:8px;cursor:pointer;font-weight:600}
.ic-scale input:checked+span{background:var(--ic-gold);border-color:var(--ic-gold);color:#1a2233}
.ic-scale input:focus-visible+span{box-shadow:0 0 0 .2rem rgba(205,170,95,.35)}
.ic-scale-labels{display:flex;justify-content:space-between;gap:.5rem;color:var(--ic-muted);font-size:.85rem;margin-top:.45rem}
.ic-scale-labels span:nth-child(2){text-align:center}.ic-scale-labels span:last-child{text-align:right}
@media (max-width:420px){.ic-scale{grid-template-columns:repeat(5,1fr)}}

.ic-btn{background:var(--ic-gold);border:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:1rem 1.5rem;border-radius:10px;box-shadow:0 8px 24px rgba(205,170,95,.28)}
.ic-btn:hover,.ic-btn:focus-visible{background:var(--ic-gold-hi);color:#fff}
.ic-btn:disabled{opacity:.6}
.ic-link{background:none;border:0;padding:0;color:var(--ic-muted);text-decoration:underline;font-size:.98rem}
.ic-link:hover{color:var(--ic-text)}
.ic-legal,.ic-legal a{color:var(--ic-muted);font-size:.95rem}
.ic-error{display:none;color:var(--ic-danger);font-size:.95rem;margin-top:.4rem}
.ic-error.show{display:block}
.ic-error-block{margin-bottom:1rem}
.ic-sign{font-family:"Playfair Display",Georgia,serif;font-style:italic;color:var(--ic-gold);font-size:1.25rem}
.ic-foot{color:#d7dae0;font-size:.85rem}
@media (prefers-reduced-motion:reduce){.ic-progress-bar{transition:none}}

.ic-calendar{background:#fff;border-radius:10px;overflow:hidden;min-height:420px}
