@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500;700&family=Open+Sans:wght@400;600;700&display=swap');
:root{--teal:#01636f;--teal2:#1a727d;--mist:#cbdce0;--mist2:#e6eff1;--dark:#1f4145;--warm:#c9875f;--warm-cta:#9a5a35;--rust:#b0663d;--sand:#f6f1ea}
*{box-sizing:border-box}body{margin:0;font-family:'Open Sauce Sans','Open Sans',system-ui,sans-serif;color:#333;background:#fff;line-height:1.55}
h1,h2,h3{color:var(--dark);font-family:'Open Sauce Sans','Open Sans',sans-serif;line-height:1.2}
.kick,.btn,nav a{font-family:Quicksand,sans-serif;font-weight:700}
a{color:var(--teal)}
header.top{background:var(--dark);color:#fff;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
header.top .brand{font-family:Quicksand;font-weight:700;letter-spacing:.14em;color:#fff;text-decoration:none}
nav a{color:var(--mist);margin-left:16px;text-decoration:none;font-size:14px}
main{max-width:920px;margin:0 auto;padding:28px 20px 60px}
.hero{background:linear-gradient(135deg,var(--teal),var(--dark));color:#fff;padding:70px 22px 80px;text-align:center;position:relative;overflow:hidden}
.hero h1{color:#fff;font-size:clamp(32px,6vw,54px);margin:.2em 0}.hero p{max-width:640px;margin:0 auto 26px;font-size:18px;color:var(--mist2)}
.ribbon{display:inline-block;background:var(--warm-cta);color:#fff;font-family:Quicksand;font-weight:700;letter-spacing:.12em;padding:6px 14px;font-size:13px}
.btn{display:inline-block;background:var(--warm-cta);color:#fff;padding:13px 24px;border-radius:30px;text-decoration:none;border:0;font-size:16px;cursor:pointer}
.btn.alt{background:#fff;color:var(--teal);border:2px solid var(--teal)}.btn.teal{background:var(--teal)}
.btn:disabled{opacity:.4;cursor:default}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:24px 0}
.card{background:var(--mist2);border-radius:14px;padding:20px}.card h3{margin-top:0}
.kick{color:var(--teal2);letter-spacing:.12em;font-size:13px}
form label{display:block;margin:14px 0 4px;font-weight:600;color:var(--dark)}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;padding:11px;border:1px solid var(--mist);border-radius:8px;font:inherit}
.check{display:flex;gap:12px;align-items:flex-start;background:var(--mist2);padding:16px;border-radius:10px;margin:12px 0;font-weight:400}
.check input{margin-top:5px;transform:scale(1.4)}
.err{background:#f9ede6;border-left:4px solid var(--rust);padding:10px 14px;margin:12px 0}
.note{background:var(--sand);padding:12px 16px;border-radius:8px;font-size:14px}
.progress{position:sticky;top:0;background:#fff;padding:10px 0;z-index:5}
.bar{height:10px;background:var(--mist2);border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal);transition:width .3s}
.screen{display:none}.screen.on{display:block}
.q{margin:22px 0 28px}.q p{font-weight:600;color:var(--dark);margin:0 0 10px}
.scale{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}
.scale label{margin:0}.scale input{position:absolute;opacity:0}
.scale span{display:block;text-align:center;padding:11px 0;border:1px solid var(--mist);border-radius:8px;cursor:pointer;font-weight:700;color:var(--dark);font-family:Quicksand}
.scale input:checked+span{background:var(--teal);color:#fff;border-color:var(--teal)}
.scale input:focus-visible+span{outline:3px solid var(--warm)}
.anchors{display:flex;justify-content:space-between;font-size:15px;font-weight:700;font-family:Quicksand,sans-serif;color:var(--dark);margin-top:8px;letter-spacing:.02em}
.navbtns{display:flex;justify-content:space-between;margin-top:20px}
.tier{border-radius:16px;padding:22px 24px;margin:20px 0}.tier h2{margin:.1em 0 .4em}
.tier.t1{background:var(--mist2);border-left:8px solid var(--teal2)}
.tier.t2{background:var(--sand);border-left:8px solid var(--warm)}
.tier.t3{background:#f9ede6;border-left:8px solid var(--rust)}
.lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}
.lines div{background:#fff;border-radius:10px;padding:12px}.lines b{display:block;font-size:20px;color:var(--dark)}
.levels{display:flex;gap:8px;margin:10px 0 0}.levels span{flex:1;text-align:center;padding:6px;border-radius:6px;font-size:12px;background:#fff;color:#8a9a9d;font-family:Quicksand;font-weight:700}
.levels span.on{background:var(--dark);color:#fff}
.scores{display:grid;grid-template-columns:1fr 1fr;gap:14px}.scores .card b{font-size:34px;color:var(--dark)}
iframe.report{width:100%;height:80vh;border:1px solid var(--mist);border-radius:10px;margin-top:14px}
.stat{font-size:40px;font-weight:700;color:var(--dark)}
table.t{border-collapse:collapse;width:100%;font-size:14px}table.t td,table.t th{border-bottom:1px solid var(--mist);padding:6px;text-align:left}
code.inv{display:block;background:var(--dark);color:#fff;padding:12px;border-radius:8px;word-break:break-all;font-size:15px}
.test{background:#ffe9a8;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}
footer{background:var(--mist2);padding:24px;text-align:center;font-size:13px;color:#5d6f72}
@media(max-width:560px){.scale{grid-template-columns:repeat(6,1fr)}.scores{grid-template-columns:1fr}nav a{margin-left:10px}}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.opt{display:flex;flex-direction:column;background:var(--mist2);border:2px solid var(--mist);border-radius:16px;padding:20px;text-decoration:none;color:#333;transition:border-color .2s}
.opt:hover{border-color:var(--teal)}.opt h3{margin:.4em 0}.opt p{flex:1;margin:0 0 12px}
.opt .num{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:Quicksand}
.opt .go{font-family:Quicksand;font-weight:700;color:var(--teal)}
.opt.sug{border-color:var(--warm)}.opt em{display:block;margin-top:10px;font-size:13px;color:#8a5a3c}
.calm{background:#f3f7f8;border:1px solid var(--mist);border-radius:12px;padding:14px 18px;margin:18px 0;font-size:15px}.calm span{display:block;font-size:12px;color:#6b7c7f;margin-top:4px}
@media(max-width:720px){.opts{grid-template-columns:1fr}}
.rsec{border-top:1px solid var(--mist);padding-top:10px;margin-top:18px}.rsec h4{margin:12px 0 4px;color:var(--teal2)}
.refs{font-size:13px;color:#4c5c5f}.refs a{word-break:break-all}
.book{font-size:13px;color:#6b7c7f;font-style:italic}.bookbox{font-size:13px;color:#5d6f72;border:1px dashed var(--mist);border-radius:10px;padding:10px 14px;margin:14px 0}
.flag{font-size:13px;background:#fff7e6;border-left:3px solid var(--warm);padding:6px 10px}
.upsellcard{border:2px solid var(--teal,#01636f);margin:18px 0}.upsellcard ul{margin:6px 0 12px 18px}.fullcard{margin:18px 0}

/* Results page — PDF-aligned snapshot (gauges + glance) */
.results-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:8px}
.results-head h1{margin:0;flex:1 1 280px}
.results-head .pill{display:inline-block;background:var(--teal);color:#fff;font-family:Quicksand,sans-serif;font-weight:700;font-size:13px;padding:6px 14px;border-radius:20px}
.lead-snap{color:#3f4b4d;font-size:17px;max-width:720px;margin:0 0 18px}
.scores .card{border-top:4px solid var(--teal)}
.scores .ctitle{font-weight:700;color:var(--dark);font-size:16px;margin-bottom:4px}
.scores .score{font-size:42px;font-weight:700;color:var(--teal);line-height:1.05}
.scores .score small{font-size:16px;color:#7a8a8d;font-weight:500;margin-left:6px}
.scores .pill{display:inline-block;background:var(--teal);color:#fff;font-family:Quicksand,sans-serif;font-weight:700;font-size:12px;padding:4px 12px;border-radius:20px;margin:8px 0 12px}
.scores .pill.warm{background:var(--warm-cta)}
.scores .card p{font-size:14px;color:#3f4b4d;margin-top:8px}
.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 28px}
.glance .g{border-radius:12px;padding:16px 18px;font-size:14px}
.glance .g h5{font-family:Quicksand,sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px;margin:0 0 8px;color:var(--teal2)}
.glance .g.good{background:var(--mist2);border-left:4px solid var(--teal)}
.glance .g.grow{background:var(--sand);border-left:4px solid var(--warm)}
.glance .g.grow h5{color:var(--warm-cta)}
.glance .g.watch{background:#f9ede6;border-left:4px solid var(--rust)}
.glance .g.watch h5{color:var(--rust)}
.sec-snap{margin:28px 0 10px;font-size:20px;color:var(--dark)}
.actions-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0}
@media(max-width:720px){.glance{grid-template-columns:1fr}}

/* Path A clinical 0–3 scales + GP strip */
.scale.clinical{grid-template-columns:repeat(4,1fr)}
.calm-inline{background:#f3f7f8;border:1px solid var(--mist);border-radius:10px;padding:10px 14px;font-size:14px;margin:8px 0 14px}
.attrib{font-size:12px;color:#6b7c7f;margin-top:10px}
.clin-strip{margin:18px 0;border:1px solid var(--mist)}
.gp-severe{border:2px solid #b91c1c;background:#fef2f2;border-radius:10px;padding:12px 16px;margin:10px 0;font-size:15px}
@media(max-width:560px){.scale.clinical{grid-template-columns:repeat(4,1fr)}}

/* About / feedback / invite / social share */
.opt-tag{font-weight:400;color:#6b7c7f;font-size:13px}
.star-rate{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.star-rate .star{margin:0;font-weight:400}
.star-rate .star input{position:absolute;opacity:0}
.star-rate .star span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--mist);border-radius:10px;font-family:Quicksand,sans-serif;font-weight:700;cursor:pointer;background:#fff;color:var(--dark)}
.star-rate .star input:checked+span{background:var(--teal);color:#fff;border-color:var(--teal)}
.star-rate .star input:focus-visible+span{outline:3px solid var(--warm)}
.star-hint{font-size:13px;color:#6b7c7f;width:100%}
.invite-card,.share-card,.fb-nudge{margin:22px 0;border:1px solid var(--mist)}
.invite-lab{display:block;margin:12px 0 4px;font-weight:600;color:var(--dark);font-size:14px}
.invite-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.invite-row input{flex:1 1 220px;font-size:14px;background:#fff}
.invite-card textarea{width:100%;font:inherit;padding:11px;border:1px solid var(--mist);border-radius:8px;background:#fff;resize:vertical}
.share-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.share-btn{display:inline-block;padding:10px 18px;border-radius:30px;text-decoration:none;font-family:Quicksand,sans-serif;font-weight:700;font-size:14px;color:#fff}
.share-btn.fb{background:#1877f2}
.share-btn.li{background:#0a66c2}
.share-btn.x{background:#111}
.share-btn:hover{opacity:.92}

/* Landing photo hero (mock A) */
:root{
  --c-health:#0d9488;--c-happy:#0891b2;--c-spirit:#6366f1;--c-rel:#db2777;
  --c-char:#d97706;--c-mean:#01636f;
}
.btn.ghost{background:transparent;color:var(--teal);border:2px solid var(--teal)}
.photo-hero .btn.ghost{color:var(--dark);border-color:var(--dark)}
.photo-hero .btn.ghost:hover{background:rgba(31,65,69,.06)}
.photo-hero{
  position:relative;margin:0 24px 40px;border-radius:28px;overflow:hidden;
  min-height:540px;border:1px solid var(--mist);background:var(--mist2)
}
.photo-hero img.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.photo-hero .wash{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,0.94) 0%,rgba(255,255,255,0.84) 36%,rgba(255,255,255,0.35) 60%,rgba(255,255,255,0.08) 100%),
    linear-gradient(180deg,rgba(230,239,241,0.28) 0%,transparent 42%,rgba(1,99,111,0.22) 100%)
}
.photo-copy{position:relative;z-index:1;max-width:540px;padding:56px 48px 48px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal2);margin-bottom:14px;font-family:Quicksand,sans-serif
}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  padding:5px 10px 5px 7px;border-radius:999px;background:rgba(255,255,255,0.92);
  border:1px solid var(--mist);color:var(--dark);font-family:Quicksand,sans-serif
}
.chip i{width:8px;height:8px;border-radius:50%;display:block;flex-shrink:0}
.photo-copy h1{font-size:clamp(28px,4.5vw,42px);line-height:1.12;letter-spacing:-.02em;margin:0 0 14px;color:var(--dark)}
.lede{font-size:16px;color:#3f4b4d;margin:0 0 22px;max-width:36em}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

.moments{padding:8px 0 36px}
.moments-head{margin-bottom:22px}
.moments-head h2{font-size:26px;font-weight:700;margin:0;color:var(--dark)}
.moments-head p{color:#5d6f72;margin:8px 0 0;font-size:15px}
.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.moment{border:1px solid var(--mist);border-radius:14px;padding:26px 24px;position:relative;overflow:hidden;margin:0;background:var(--mist2)}
.moment .bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--teal);border-radius:0;overflow:visible}
.moment .kick{margin-top:6px}
.moment h3{font-size:20px;font-weight:700;margin-bottom:10px;color:var(--dark)}
.moment p{font-size:14.5px;color:#3f4b4d;margin:0}
.moment.tint-teal{background:linear-gradient(165deg,rgba(1,99,111,.10) 0%,var(--mist2) 70%)}
.moment.tint-warm{background:linear-gradient(165deg,rgba(201,135,95,.14) 0%,var(--mist2) 70%)}
.moment.tint-sand{background:linear-gradient(165deg,rgba(246,241,234,.9) 0%,var(--mist2) 70%)}

.cta-band{
  margin:0 0 24px;background:var(--sand);border:1px solid var(--mist);border-radius:16px;padding:36px 40px;
  display:grid;grid-template-columns:1.4fr auto;gap:24px;align-items:center
}
.cta-band h2{font-size:24px;font-weight:700;margin:0 0 8px;color:var(--dark)}
.cta-band p{color:#3f4b4d;font-size:15px;max-width:40em;margin:0}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:800px){
  .photo-hero{margin:0 12px 28px;min-height:480px}
  .photo-copy{padding:36px 28px 32px;max-width:100%}
  .moment-grid{grid-template-columns:1fr}
  .cta-band{grid-template-columns:1fr;padding:28px 24px}
}

/* Wider main on landing only (photo-hero present) */
body:has(.photo-hero) main{max-width:1120px}
