:root{
  --marble:#f8f5f0;
  --ink:#1a1714;
  --copper:#a9713c;
  --crimson:#8f1d24;
  --rose:#c9a08a;
  --muted:#6b625a;
  --line:#e4ddd2;
  --men:#3d4a5c;      /* Merlin's door — slate steel */
  --women:#9c5a6b;    /* Lirael's door — dusty rose */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--marble);color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.72;font-size:18px;
  -webkit-text-size-adjust:100%;
}
.wrap{max-width:740px;margin:0 auto;padding:0 22px}
.wrap-wide{max-width:1000px;margin:0 auto;padding:0 22px}
a{color:var(--crimson)}
img{max-width:100%;height:auto}

/* ================= NAV ================= */
.navwrap{
  position:sticky;top:0;z-index:60;
  background:rgba(248,245,240,.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.navinner{
  max-width:1000px;margin:0 auto;padding:10px 22px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.brand{
  font-size:1rem;text-decoration:none;color:var(--ink);
  white-space:nowrap;letter-spacing:-.01em;
}
.brand .bxc{color:var(--crimson);margin-right:5px}
.mainnav{display:flex;gap:16px;flex-wrap:wrap;flex:1}
.mainnav a{
  font-family:system-ui,sans-serif;font-size:.82rem;
  text-decoration:none;color:var(--muted);
  padding:3px 0;border-bottom:1px solid transparent;
  white-space:nowrap;
}
.mainnav a:hover{color:var(--ink)}
.mainnav a.on{color:var(--crimson);border-bottom-color:var(--crimson)}
.donate{
  font-family:system-ui,sans-serif;font-size:.74rem;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--crimson);color:#fff;text-decoration:none;
  padding:8px 16px;border-radius:3px;white-space:nowrap;
}
.donate:hover{background:#74161c}

/* ================= HERO ================= */
header.hero{
  padding:60px 0 42px;text-align:center;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(ellipse at 50% 0%,rgba(169,113,60,.13),transparent 65%),
    radial-gradient(ellipse at 50% 100%,rgba(143,29,36,.06),transparent 60%);
}
.cross{font-size:26px;color:var(--crimson);letter-spacing:.4em;display:block;margin-bottom:18px}
.cross.small{font-size:18px;margin-bottom:14px}
h1{font-size:2.3rem;line-height:1.18;margin:0 0 16px;font-weight:normal;letter-spacing:-.01em}
.tag{color:var(--muted);font-style:italic;font-size:1.08rem;max-width:560px;margin:0 auto}
.badges{margin-top:26px;display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.badge{
  font-family:system-ui,sans-serif;font-size:.7rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--copper);
  border:1px solid var(--line);border-radius:99px;padding:7px 15px;background:#fff;
}

/* ================= SECTIONS ================= */
section{padding:46px 0;border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:none}
h2{font-size:1.5rem;font-weight:normal;margin:0 0 20px}
h3{font-size:1.08rem;font-weight:normal;margin:0 0 10px;color:var(--crimson)}
p{margin:0 0 16px}
.sub{color:var(--muted);font-size:.95rem;font-family:system-ui,sans-serif;margin-bottom:20px}
.note{
  font-family:system-ui,sans-serif;font-size:.72rem;color:var(--copper);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;
}

/* ================= TWO DOORS ================= */
.doors{background:#fff}
.door-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.door{
  display:block;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:6px;
  padding:30px 26px;background:var(--marble);
  transition:transform .2s, box-shadow .2s;
  border-top:4px solid var(--copper);
}
.door:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(26,23,20,.13)}
.door.men{border-top-color:var(--men)}
.door.women{border-top-color:var(--women)}
.door .lbl{
  font-family:system-ui,sans-serif;font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:12px;display:block;
}
.door.men .lbl{color:var(--men)}
.door.women .lbl{color:var(--women)}
.door h3{font-size:1.3rem;margin-bottom:10px;color:var(--ink)}
.door p{font-size:.95rem;color:#3b3630;margin-bottom:16px;font-family:system-ui,sans-serif;line-height:1.62}
.door .go{
  font-family:system-ui,sans-serif;font-size:.8rem;
  letter-spacing:.08em;text-transform:uppercase;
}
.door.men .go{color:var(--men)}
.door.women .go{color:var(--women)}

/* ================= DIAGNOSTIC ("Perhaps you're here…") ================= */
.diag{list-style:none;padding:0;margin:0}
.diag li{
  position:relative;padding-left:30px;margin-bottom:14px;
  font-size:.97rem;font-family:system-ui,sans-serif;color:#3b3630;line-height:1.62;
}
.diag li::before{content:"▽";position:absolute;left:0;top:0;color:var(--rose);font-size:.9rem}

/* ================= PILLARS ================= */
.pillars{display:grid;gap:13px}
.pillar{
  background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--copper);border-radius:4px;padding:18px 20px;
}
.pillar h3{font-size:1.02rem;margin-bottom:6px}
.pillar p{margin:0;font-size:.93rem;color:#3b3630;font-family:system-ui,sans-serif;line-height:1.6}

/* ================= TESTS ================= */
ol.tests{list-style:none;counter-reset:t;padding:0;margin:0}
ol.tests li{counter-increment:t;position:relative;padding:0 0 20px 52px}
ol.tests li::before{
  content:counter(t);position:absolute;left:0;top:2px;
  width:33px;height:33px;border-radius:50%;
  background:var(--crimson);color:#fff;
  font-family:system-ui,sans-serif;font-size:.92rem;
  display:flex;align-items:center;justify-content:center;
}
ol.tests strong{display:block;font-size:1rem}
ol.tests span{font-size:.92rem;color:var(--muted);font-family:system-ui,sans-serif;line-height:1.6}

/* ================= PRICE ================= */
section.free{background:#fff;text-align:center}
.price{font-size:6.5rem;line-height:.95;margin:0 0 10px;color:var(--crimson);font-weight:normal;letter-spacing:-.04em}
.freecat{list-style:none;padding:0;margin:24px auto 0;max-width:560px;text-align:left}
.freecat li{
  position:relative;padding-left:26px;margin-bottom:12px;
  font-size:.94rem;font-family:system-ui,sans-serif;color:#3b3630;line-height:1.6;
}
.freecat li::before{content:"✠";position:absolute;left:0;top:0;color:var(--rose);font-size:.85rem}

/* ================= CTA / BUTTONS ================= */
.btn{
  display:inline-block;margin-top:12px;padding:14px 32px;
  background:var(--crimson);color:#fff;text-decoration:none;border-radius:3px;
  font-family:system-ui,sans-serif;font-size:.83rem;
  letter-spacing:.1em;text-transform:uppercase;transition:background .18s;
}
.btn:hover{background:#74161c}
.btn-ghost{background:transparent;color:var(--crimson);border:1px solid var(--crimson)}
.btn-ghost:hover{background:var(--crimson);color:#fff}
.btn-men{background:var(--men)}
.btn-men:hover{background:#2c3644}
.btn-women{background:var(--women)}
.btn-women:hover{background:#7d4553}

.cta{text-align:center;padding:58px 0 64px;background:radial-gradient(ellipse at 50% 50%,rgba(169,113,60,.10),transparent 70%)}
.cta p{max-width:520px;margin-left:auto;margin-right:auto}
.byline{margin-top:30px;font-size:.82rem;color:var(--muted);font-family:system-ui,sans-serif;letter-spacing:.04em}

/* ================= DONATE ================= */
.give-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}
.give-box{
  background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px;
}
.give-box h3{font-size:1.05rem;margin-bottom:10px}
.give-box p{font-size:.94rem;font-family:system-ui,sans-serif;color:#3b3630;margin:0}
.gate-law{
  background:#fff;border-left:3px solid var(--crimson);
  border-radius:4px;padding:22px 24px;margin-top:22px;
}
.gate-law p{margin:0;font-size:1rem}

/* ================= JOURNAL ================= */
.log-entry{
  background:#fff;border:1px solid var(--line);border-radius:5px;
  padding:20px 22px;margin-bottom:14px;
}
.log-date{
  font-family:system-ui,sans-serif;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--copper);margin-bottom:8px;
}
.log-entry h3{margin-bottom:10px}
.log-entry p{font-size:.94rem;font-family:system-ui,sans-serif;color:#3b3630;margin-bottom:10px}
.grade{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.g{
  font-family:system-ui,sans-serif;font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;padding:5px 11px;border-radius:99px;border:1px solid;
}
.g-pass{color:#2f6b45;border-color:#bcd9c6;background:#f0f8f3}
.g-fail{color:#8f1d24;border-color:#e8c3c6;background:#fdf2f2}
.g-inc{color:#8a6d2f;border-color:#e3d5b0;background:#fdf9ef}

/* ================= FOOTER ================= */
footer{
  padding:34px 0 54px;text-align:center;color:var(--muted);
  font-family:system-ui,sans-serif;font-size:.82rem;line-height:1.9;
  border-top:1px solid var(--line);
}
footer p{margin:0}
.ftag{margin-top:14px !important}
.ftag a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.ftag a:hover{color:var(--crimson)}

/* ================= LANGUAGE BAR (sub-pages) ================= */
.langbar{border-bottom:1px solid var(--line);background:#fff}
.langbar .wrap{display:flex;align-items:center;gap:12px;padding:9px 22px}
.langlabel{
  font-family:system-ui,sans-serif;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--copper);white-space:nowrap;
}
#langselect{
  flex:1;max-width:280px;font-family:system-ui,sans-serif;font-size:.86rem;
  padding:7px 10px;border:1px solid var(--line);border-radius:3px;
  background:#fff;color:var(--ink);cursor:pointer;
}

/* ================= RTL ================= */
html[dir="rtl"] .pillar{border-left:1px solid var(--line);border-right:3px solid var(--copper)}
html[dir="rtl"] ol.tests li{padding:0 52px 20px 0}
html[dir="rtl"] ol.tests li::before{left:auto;right:0}
html[dir="rtl"] .freecat{text-align:right}
html[dir="rtl"] .freecat li{padding-left:0;padding-right:26px}
html[dir="rtl"] .freecat li::before{left:auto;right:0}
html[dir="rtl"] .diag li{padding-left:0;padding-right:30px}
html[dir="rtl"] .diag li::before{left:auto;right:0}
html[dir="rtl"] .gate-law{border-left:none;border-right:3px solid var(--crimson)}
html[dir="rtl"] .langbar .wrap{flex-direction:row-reverse}

/* ================= MOBILE ================= */
@media(max-width:760px){
  .door-grid,.give-grid{grid-template-columns:1fr}
  .navinner{gap:12px}
  .mainnav{gap:13px;order:3;width:100%}
  .donate{margin-left:auto}
}
@media(max-width:620px){
  h1{font-size:1.68rem}
  body{font-size:17px}
  header.hero{padding:42px 0 32px}
  section{padding:36px 0}
  .price{font-size:5rem}
  h2{font-size:1.3rem}
  #langselect{max-width:none}
}
