/* =================================================================
   MindCheck — public stylesheet
   Identity: calm clinical. Deep teal + warm coral accent, used with
   restraint. Display face Fraunces (warmth/trust), body Inter (clarity).
   Signature: soft concentric "focus" rings in the hero.
   ================================================================= */
:root{
  --ink:        #14272e;
  --muted:      #5d7079;
  --bg:         #f5f8f8;
  --surface:    #ffffff;
  --line:       #e4ebec;

  --primary:    #136f7d;   /* deep teal */
  --primary-d:  #0d5460;
  --primary-soft:#e2f0f1;
  --accent:     #e07a55;   /* warm coral — used sparingly */
  --accent-soft:#fbe9e1;

  --low:    #2f9e6b;
  --low-bg: #e6f5ee;
  --mod:    #c9871a;
  --mod-bg: #fbf1dc;
  --elev:   #c1503a;
  --elev-bg:#fbe6e1;

  --radius: 16px;
  --shadow: 0 10px 30px -12px rgba(19,111,125,.18);
  --shadow-sm: 0 4px 14px -8px rgba(20,39,46,.25);
}

*{box-sizing:border-box}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.display-font{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;
  letter-spacing:-.01em;
  line-height:1.15;
  color:var(--ink);
}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-d)}
.text-muted-2{color:var(--muted)!important}

/* ---------- Nav ---------- */
.site-nav{
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.brand-text{font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;color:var(--ink)}
.site-nav .nav-link{color:var(--ink);font-weight:500;font-size:.96rem;padding:.4rem .8rem;border-radius:8px}
.site-nav .nav-link:hover{color:var(--primary);background:var(--primary-soft)}

/* ---------- Buttons ---------- */
.btn{border-radius:10px;font-weight:600;padding:.6rem 1.3rem}
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-d);border-color:var(--primary-d)}
.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-accent:hover{background:#cf6a47;border-color:#cf6a47;color:#fff}
.btn-lg{padding:.85rem 1.8rem;font-size:1.05rem}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:5.5rem 0 4.5rem}
.hero-rings{position:absolute;right:-120px;top:50%;transform:translateY(-50%);
  width:560px;height:560px;pointer-events:none;opacity:.5}
.hero-rings circle{fill:none;stroke:var(--primary);stroke-width:1.2}
.hero .eyebrow{display:inline-flex;align-items:center;gap:.5rem;
  background:var(--primary-soft);color:var(--primary-d);font-weight:600;
  font-size:.82rem;padding:.35rem .85rem;border-radius:999px;letter-spacing:.02em}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:1.1rem 0 1rem}
.hero .lead{font-size:1.18rem;color:var(--muted);max-width:33rem}
.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:1.6rem}

/* ---------- Generic surfaces ---------- */
.section{padding:4rem 0}
.card-soft{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:1.6rem;height:100%}
.icon-chip{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:var(--primary-soft);color:var(--primary-d);font-size:1.3rem;margin-bottom:1rem}
.eyebrow-2{color:var(--accent);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}

/* ---------- Consult-a-doctor callout (used at every stage) ---------- */
.consult{display:flex;gap:.85rem;align-items:flex-start;background:var(--accent-soft);
  border:1px solid #f2cdbd;border-left:4px solid var(--accent);
  border-radius:12px;padding:1rem 1.1rem;color:#7a3b27}
.consult i{color:var(--accent);font-size:1.3rem;line-height:1.4}
.consult strong{color:#a14d31}
.consult-sm{font-size:.92rem}

/* ---------- Screening form ---------- */
.q-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:1.3rem 1.4rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}
.q-card.unanswered-flag{border-color:var(--accent)}
.q-num{font-family:'Fraunces',serif;color:var(--primary);font-weight:600}
.q-domain{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.likert{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.9rem}
.likert label{border:1px solid var(--line);border-radius:10px;text-align:center;
  padding:.6rem .3rem;cursor:pointer;font-size:.85rem;font-weight:500;transition:.15s;background:#fff}
.likert input{position:absolute;opacity:0}
.likert label:hover{border-color:var(--primary)}
.likert input:checked + span{color:#fff}
.likert label:has(input:checked){background:var(--primary);border-color:var(--primary);color:#fff}
.progress-wrap{position:sticky;top:64px;z-index:5;background:var(--bg);padding:.75rem 0}
.progress{height:8px;border-radius:999px;background:var(--line)}
.progress-bar{background:var(--primary)}

/* ---------- Result ---------- */
.result-band{border-radius:var(--radius);padding:1.6rem 1.7rem;border:1px solid}
.risk-low{background:var(--low-bg);border-color:#bfe6d2}
.risk-low .result-label{color:var(--low)}
.risk-moderate{background:var(--mod-bg);border-color:#f0dcae}
.risk-moderate .result-label{color:var(--mod)}
.risk-elevated{background:var(--elev-bg);border-color:#f0c4ba}
.risk-elevated .result-label{color:var(--elev)}
.result-label{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600}
.domain-bar{height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.domain-bar span{display:block;height:100%;background:var(--primary)}

/* ---------- Blog ---------- */
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;height:100%;transition:.18s;box-shadow:var(--shadow-sm)}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.post-card .body{padding:1.3rem}
.post-card h3{font-size:1.18rem;margin-bottom:.5rem}
.post-meta{font-size:.8rem;color:var(--muted)}
.article{max-width:46rem}
.article h2{font-size:1.6rem;margin:2rem 0 .8rem}
.article h3{font-size:1.25rem;margin:1.6rem 0 .6rem}
.article p{margin-bottom:1.05rem}
.article ul{margin-bottom:1.1rem}

/* ---------- References ---------- */
.ref-item{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.ref-item:last-child{border-bottom:0}
.ref-item .logo{width:48px;height:48px;border-radius:10px;background:var(--primary-soft);
  color:var(--primary-d);display:grid;place-items:center;font-weight:700;flex:none}

/* ---------- Footer ---------- */
.site-footer{background:#0f2730;color:#cfe0e2;padding:3.5rem 0 1.5rem;margin-top:4rem}
.footer-brand{font-family:'Fraunces',serif;font-size:1.1rem;color:#fff}
.footer-muted{color:#9fb6ba;font-size:.92rem}
.footer-h{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.8rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links a{color:#cfe0e2;font-size:.93rem;display:block;padding:.2rem 0}
.footer-links a:hover{color:#fff}
.footer-disclaimer{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:1rem 1.1rem;margin:2rem 0 1.2rem;font-size:.86rem;color:#bdd2d5}
.footer-disclaimer i{color:var(--accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.2rem;font-size:.85rem;color:#8fa8ac}

/* ---------- Forms / auth ---------- */
.auth-wrap{max-width:430px;margin:0 auto}
.form-control,.form-select{border-radius:10px;border-color:var(--line);padding:.7rem .9rem}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(19,111,125,.15)}
.label-strong{font-weight:600;font-size:.92rem;margin-bottom:.35rem}

@media(max-width:991px){.hero-rings{display:none}.hero{padding:3.5rem 0 3rem}}
@media(max-width:575px){.likert{grid-template-columns:repeat(5,1fr);gap:.3rem}
  .likert label{padding:.5rem .15rem;font-size:.72rem}}

/* accessibility */
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* --- Brand logo sizing (overrides Bootstrap navbar constraints) --- */
.navbar-brand{padding-top:0;padding-bottom:0}
.brand-logo{height:52px !important;width:152px !important;display:block;object-fit:contain}
@media (max-width:575.98px){
  .brand-logo{height:44px !important;width:144px !important}
}
.brand-logo-sm{height:36px;width:136px;object-fit:contain}
