:root{
  --bg-outer:#FBEAD0;   /* from logo text panel */
  --bg-inner:#FBE9CF;   /* from halo area */
  --ink:#2e2e2e;
  --accent:#5a3e2b;
  --panel:#fffaf0;
  --border:#5a3e2b;
}

*{box-sizing:border-box}
html,body{height:100%}
html{background:var(--bg-outer)}
body{margin:0;color:var(--ink);font-family:Georgia,serif;overflow-x:hidden}

/* top hero */
.hero{max-width:980px;margin:28px auto 10px;padding:0 16px;text-align:center;position:relative}
.logo-wrap{position:relative;width:260px;height:260px;margin:0 auto 8px}
.logo-wrap::before{
  content:"";position:absolute;inset:-42px;border-radius:48%;
  background:radial-gradient(circle at 50% 50%,
    rgba(250,230,206,.95) 0%,
    rgba(250,230,206,.65) 35%,
    rgba(251,234,208,.15) 72%,
    rgba(251,234,208,0) 100%);
  filter:blur(10px);pointer-events:none;z-index:0
}
.logo{position:relative;width:100%;height:100%;object-fit:contain;display:block;filter:blur(10px);opacity:.2;transition:filter .35s,opacity .35s;z-index:1}
.logo.is-ready{filter:none;opacity:1}
h1{letter-spacing:2px;font-size:2.4rem;margin:6px 0 8px}
.tagline{font-style:italic;margin:0 0 8px}

/* cards */
.card{max-width:980px;margin:16px auto;padding:20px 18px;background:var(--panel);border:1px solid var(--border);border-radius:12px}
.section-title{text-align:center;margin:0 0 12px}


/* treatments — one line, full width, checkbox on the far right */
.treatments{ margin:6px 0 14px }
.treatments label{
  display:grid;                         /* grid > predictable columns */
  grid-template-columns: 1fr auto;      /* text takes all space, checkbox on right */
  align-items:center;
  gap:12px;
  padding:10px 8px;
  border-bottom:1px dashed #bda88f55;
  cursor:pointer;
}
.treatments label:last-child{ border-bottom:0 }
.treatments label span{
  min-width:0;                          /* allow natural wrapping */
  white-space:normal;                   /* no ellipsis/truncation */
  line-height:1.35;
}
.treatments label input[type="checkbox"]{
  width:18px; height:18px;              /* nice big hit target */
}

/* treatments row layout */
.treatments .trow{
  display:flex; align-items:center; gap:16px;
  padding:10px 8px; border-bottom:1px dashed #e2caa8;
}
.treatments .t-title{ font-weight:700; min-width:240px; }
.treatments .t-desc{ flex:1; }
.treatments input[type="checkbox"]{ margin-left:8px; width:18px; height:18px; }


/* form */
form{max-width:880px;margin:0 auto}
.row{display:flex;gap:14px;flex-wrap:wrap}
.field{flex:1 1 280px;min-width:260px}
label{display:block;margin:8px 0}
input,select,textarea{
  width:100%;padding:10px 12px;border-radius:8px;border:1px solid #bda88f;background:#fffef8;
  font-family:Georgia,serif;font-size:16px
}
textarea{resize:vertical}

/* actions */
.actions{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:12px}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 18px;border-radius:10px;text-decoration:none;border:0;cursor:pointer;font-weight:600}
.btn.small{padding:8px 12px;border-radius:8px;font-size:14px}
.footer-card{text-align:center}
.footlinks a{color:var(--accent)}

/* canvas above everything but click-through */
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:9998;pointer-events:none}

/* modal + toast (for privacy/consent reuse) */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.modal__dialog{background:#fffaf0;border:1px solid var(--border);border-radius:12px;max-width:880px;width:100%;padding:16px 16px 12px;position:relative}
.modal__close{position:absolute;right:12px;top:10px;cursor:pointer;font-size:22px;line-height:1}
.qgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.qgrid .full{grid-column:1/-1}
.cons-group-title{font-weight:700;margin:10px 0 4px}
.signature{border:1px dashed #bda88f;border-radius:10px;height:160px;background:#fffef8;margin:8px 0 10px;padding:8px}
.sig-actions{display:flex;gap:8px;justify-content:flex-start}
#toast{font-size:15px}

/* responsive */
@media (max-width:640px){
  .logo-wrap{width:220px;height:220px}
  .qgrid{grid-template-columns:1fr}
}
