/* Setso - the heritage section.
   Loaded only on /setso pages. The tokens come from qwahabedi.css; the three
   below are the Setso accent the design adds, and nothing else here invents a
   colour. */

:root{
  --earth:#8A5A2B; --sand:#F4EEE3; --dearth:#2A1E16;
  --earthink:#6B4423; --earthsoft:#E9DCC6;
}

/* The page-hero band in Setso's own colour. The tones live in qwahabedi.css;
   this one needs the earth token, which is defined above. */
.pagehero.t-earth{background:var(--earth)}

/* ---- hero ---- */
.setsohero{position:relative;overflow:hidden;background:#3A2A1E}
.setsohero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.setsohero .veil{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(42,30,22,.9) 0%,rgba(42,30,22,.7) 50%,rgba(42,30,22,.25) 100%)}
.setsohero .in{position:relative;padding-block:96px 80px;display:flex;flex-direction:column;gap:18px}
.setsohero .kicker{font-size:.81rem;font-weight:700;letter-spacing:.16em;color:var(--gold)}
.setsohero h1{font-family:var(--display);color:#fff;font-size:4rem;line-height:1.02;font-weight:800;max-width:13em;text-wrap:balance}
.setsohero p.lede{color:#F1E9DD;font-size:1.2rem;line-height:1.5;max-width:34em}
.setsosearch{display:flex;gap:10px;flex-wrap:wrap;max-width:620px;margin-top:6px}
.setsosearch input{flex:1 1 260px;min-width:0;height:56px;border-radius:14px;border:0;padding:0 20px;
  font:inherit;font-size:1.03rem;background:#fff;color:var(--ink)}
.setsosearch button{height:56px;padding:0 26px;border-radius:14px;border:0;background:var(--gold);
  color:var(--indigo);font:inherit;font-size:1.03rem;font-weight:700;cursor:pointer}

/* ---- how an entry gets here ---- */
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.trust li{display:flex;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:22px}
.trust .n{font-family:var(--display);flex:none;width:40px;height:40px;border-radius:50%;background:var(--earth);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.trust strong{font-size:1.05rem}
.trust p{margin-top:6px;color:#4A5563;line-height:1.5;font-size:.93rem}

/* ---- the stages of a life ---- */
.setsohead{margin-bottom:26px}
.setsohead h2{font-family:var(--display);font-size:2.4rem;font-weight:800}
.setsohead .st{font-size:.81rem;font-weight:700;letter-spacing:.16em;color:var(--earth);margin-top:6px}
.stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.stage{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;
  display:flex;flex-direction:column;gap:4px}
.stage .bar{height:6px;border-radius:3px;margin-bottom:14px;background:var(--gold)}
.stage .st{font-size:.79rem;font-weight:700;letter-spacing:.16em;color:var(--dgold)}
.stage h3{font-family:var(--display);font-size:1.6rem;font-weight:800;margin-bottom:8px}
.stage.teal .bar{background:var(--teal)} .stage.teal .st{color:var(--teal)}
.stage.indigo{border:2px solid var(--indigo)}
.stage.indigo .bar{background:var(--indigo)} .stage.indigo .st{color:var(--indigo)}
.stage.red .bar{background:var(--red)} .stage.red .st{color:#A8321F}

.entry{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--line);
  text-decoration:none;color:var(--ink)}
.entry strong{font-size:.95rem;line-height:1.35}
.entry.open:hover strong{text-decoration:underline}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;
  font-size:.75rem;font-weight:700;align-self:start}
.pill.planned{background:#EEF0F3;color:#4A5563}
.pill.recording{background:#FFF1D6;color:#7A4E00}
.pill.review{background:#E7E3F5;color:#473A86}
.pill.confirmed{background:#E1F1EA;color:#155C44}

/* ---- what is not written here ---- */
.notwritten{background:var(--dearth);color:#F1E9DD;border-radius:22px;padding:32px;
  display:flex;gap:24px;align-items:start;flex-wrap:wrap}
.notwritten h2{font-family:var(--display);font-size:1.7rem;font-weight:800;color:#fff}
.notwritten p{margin-top:10px;line-height:1.6;max-width:46em}
.notwritten .btn{border:2px solid var(--gold);color:var(--gold)}

/* ---- keepers ---- */
.keepband{background:var(--sand)}
.keepband .in{padding-block:68px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.keepers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.keeper{background:#fff;border-radius:18px;padding:18px;display:flex;gap:14px;align-items:center}
.keeper .face{font-family:var(--display);flex:none;width:56px;height:56px;border-radius:50%;
  background:var(--earthsoft);color:var(--earthink);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.2rem}
.keeper .who{min-width:0}
.keeper .who span{display:block;font-size:.86rem;color:#4A5563}
.keepnote{background:#fff;border:1px dashed var(--line);border-radius:16px;padding:20px;
  color:#4A5563;line-height:1.55;font-size:.93rem}

/* ---- the call to action ---- */
.setsocta{background:var(--indigo);color:#fff;border-radius:24px;padding:40px;display:flex;gap:32px;
  justify-content:space-between;align-items:center;flex-wrap:wrap}
.setsocta h2{font-family:var(--display);font-size:2.1rem;line-height:1.1;font-weight:800}
.setsocta p{margin-top:10px;color:#DDE2F2;font-size:1.03rem;line-height:1.5}
.setsocta .acts{display:flex;gap:12px;flex-wrap:wrap}
.setsocta .btn.gold{background:var(--gold);color:var(--indigo)}
.setsocta .btn.ghost{border:2px solid #fff;color:#fff}

/* ---- the help page ---- */
.helplayout{display:flex;flex-wrap:wrap;gap:44px;align-items:start}
.helptoc{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:4px;background:#fff;
  border:1px solid var(--line);border-radius:18px;padding:18px;position:sticky;top:16px}
.helptoc strong{font-size:.76rem;font-weight:700;letter-spacing:.14em;color:var(--earth);padding:0 8px 6px}
.helptoc a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-weight:600;
  color:var(--ink);padding:0 8px;border-radius:10px}
.helptoc a:hover{background:var(--sand)}
.helpmain{flex:999 1 620px;min-width:0;display:flex;flex-direction:column;gap:48px}
.helpsec{display:flex;flex-direction:column;gap:14px;scroll-margin-top:20px}
.helpsec h2{font-family:var(--display);font-size:1.7rem;font-weight:800;display:flex;gap:14px;align-items:center}
.helpsec .num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--earth);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}
.helplist{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:1.03rem;line-height:1.55}
.saybox{border-radius:18px;padding:22px;background:var(--sand);display:flex;flex-direction:column;gap:14px}
.saybox .lbl{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--earth)}
.saybox .st{font-size:1.1rem;font-weight:700;line-height:1.45}
.saybox .en{color:#4A5563;line-height:1.5}
.qs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qs li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:.97rem}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.flow li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.flow .lbl{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--earth);display:block;margin-bottom:6px}
.flow p{font-size:.9rem;line-height:1.5;color:#4A5563}
.notrecord{background:#FBEDEA;border:1px solid #EBC6BE;border-radius:18px;padding:22px}
.notrecord h2{font-family:var(--display);font-size:1.4rem;font-weight:800;color:#7A2718;margin-bottom:10px}
.notrecord ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;color:#7A2718;line-height:1.5}

/* ---- the send-a-recording form ---- */
.recform{max-width:620px;display:flex;flex-direction:column;gap:20px}
.recform .lbl{font-weight:700;font-size:.95rem}
.chosen{display:flex;gap:12px;align-items:center;background:#fff;border:1.5px solid var(--teal);
  border-radius:14px;padding:14px}
.chosen .ic{flex:none;width:44px;height:44px;border-radius:12px;background:#E1F1EA;display:flex;
  align-items:center;justify-content:center}
.chosen .meta{min-width:0;flex:1}
.chosen .meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chosen .meta span{font-size:.86rem;color:#4A5563;font-variant-numeric:tabular-nums}
.chk{display:flex;gap:12px;align-items:start;padding:14px;border-radius:12px;border:1.5px solid #D9D2BF;
  background:#fff;font-size:.93rem;line-height:1.45}
.chk input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--indigo)}
.chk.must{border-color:var(--indigo)}
.recnote{background:var(--sand);border-radius:12px;padding:14px 16px;font-size:.93rem;line-height:1.5}

/* ---- my recordings ---- */
.reclist{display:flex;flex-direction:column;gap:10px}
.recrow{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 17px;
  display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.recrow h3{font-size:.95rem;font-weight:700}
.recrow p{font-size:.8rem;color:var(--muted);margin-top:2px}

@media (max-width:1000px){
  .stages,.keepers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split,.trust,.flow{grid-template-columns:minmax(0,1fr)}
  .setsohero h1{font-size:3rem}
}
@media (max-width:640px){
  .stages,.keepers,.qs{grid-template-columns:minmax(0,1fr)}
  .setsohero h1{font-size:2.5rem}
  .setsohero .in{padding-block:64px 52px}
  .setsocta{padding:28px}
  .helptoc{position:static}
}
