.msdo,
.msdo *{box-sizing:border-box}
.msdo{--ink:#07101f;--ink2:#0b1730;--gold:#f2c469;--gold2:#ffe5a6;--muted:#aeb9cf;--line:rgba(242,196,105,.32);max-width:1180px;margin:0 auto;color:#f9f3e7;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#070d1e,#050a16 70%,#030711);border:1px solid rgba(242,196,105,.18);border-radius:30px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.48)}
.msdo button{font:inherit}
.msdo-hero{position:relative;min-height:430px;display:grid;place-items:center;padding:70px 24px;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(83,63,165,.32),transparent 27%),radial-gradient(circle at 22% 72%,rgba(24,73,125,.25),transparent 30%),linear-gradient(155deg,#091329,#080d1d 58%,#030711)}
.msdo-hero:before,.msdo-hero:after{content:"";position:absolute;border:1px solid rgba(242,196,105,.18);border-radius:50%;inset:auto}
.msdo-hero:before{width:420px;height:420px;top:-260px;left:50%;transform:translateX(-50%);box-shadow:0 0 90px rgba(242,196,105,.12)}
.msdo-hero:after{width:640px;height:640px;bottom:-520px;left:50%;transform:translateX(-50%)}
.msdo-stars,.msdo-stars:before,.msdo-stars:after{position:absolute;inset:0;content:"";background-image:radial-gradient(circle,#fff 0 1px,transparent 1.6px);background-size:74px 74px;opacity:.35}
.msdo-stars:before{background-size:113px 113px;transform:translate(31px,19px);opacity:.42}
.msdo-stars:after{background-size:167px 167px;transform:translate(13px,52px);opacity:.28}
.msdo-hero-inner{position:relative;z-index:2;text-align:center;max-width:770px}
.msdo-kicker,.msdo-step,.msdo-eyebrow{display:block;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.msdo-hero h1{margin:18px 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,76px);line-height:1.02;font-weight:500;color:var(--gold2);text-shadow:0 0 30px rgba(242,196,105,.18)}
.msdo-hero p{margin:0;color:#c8d1e4;font-size:19px}
.msdo-start,.msdo-back{margin-top:30px;padding:15px 25px;border:1px solid rgba(242,196,105,.58);border-radius:999px;background:linear-gradient(135deg,rgba(242,196,105,.18),rgba(242,196,105,.06));color:var(--gold2);cursor:pointer;transition:.25s ease;box-shadow:0 12px 35px rgba(0,0,0,.25)}
.msdo-start:hover,.msdo-back:hover{transform:translateY(-2px);border-color:var(--gold);background:rgba(242,196,105,.2)}
.msdo-start span{margin-left:9px}
.msdo-browser{padding:52px clamp(18px,5vw,64px) 62px;background:radial-gradient(circle at 50% 0,rgba(30,58,112,.16),transparent 32%)}
.msdo-letter-panel{text-align:center}
.msdo-letter-panel h2,.msdo-section-head h2,.msdo-result h2{font-family:Georgia,"Times New Roman",serif;color:var(--gold2);font-weight:500}
.msdo-letter-panel h2{font-size:clamp(32px,4vw,48px);margin:10px 0 10px}
.msdo-help{margin:0 auto 28px;color:var(--muted);font-size:16px}.msdo-help strong{color:var(--gold)}
.msdo-alphabet{display:grid;grid-template-columns:repeat(13,minmax(42px,1fr));gap:10px;max-width:1040px;margin:0 auto}
.msdo-alphabet button{aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(17,34,66,.95),rgba(6,14,30,.98));color:#e8d7af;font-family:Georgia,"Times New Roman",serif;font-size:20px;cursor:pointer;transition:.22s ease;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.msdo-alphabet button:hover,.msdo-alphabet button.is-active{transform:translateY(-3px);color:#07101f;background:linear-gradient(145deg,var(--gold2),var(--gold));border-color:var(--gold);box-shadow:0 10px 26px rgba(242,196,105,.18)}
.msdo-alphabet button.is-empty{opacity:.22;cursor:not-allowed;filter:saturate(.3)}
.msdo-symbol-section{margin-top:58px;padding-top:42px;border-top:1px solid rgba(242,196,105,.16);opacity:0;transform:translateY(12px);transition:.3s ease}
.msdo-symbol-section.is-visible{opacity:1;transform:none}
.msdo-section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:25px}
.msdo-section-head h2{font-size:clamp(26px,3vw,39px);margin:8px 0 0}.msdo-section-head h2 span{color:var(--gold)}
.msdo-change-letter{border:1px solid var(--line);background:transparent;color:var(--gold2);border-radius:999px;padding:10px 17px;cursor:pointer}
.msdo-symbol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.msdo-symbol-card{position:relative;display:flex;align-items:center;gap:16px;min-height:104px;padding:17px 48px 17px 17px;text-align:left;border:1px solid rgba(242,196,105,.25);border-radius:20px;background:linear-gradient(145deg,rgba(13,29,57,.96),rgba(5,13,28,.98));color:#fff;cursor:pointer;overflow:hidden;transition:.24s ease;box-shadow:0 15px 38px rgba(0,0,0,.2)}
.msdo-symbol-card:after{content:"";position:absolute;width:100px;height:100px;right:-45px;top:-55px;border-radius:50%;border:1px solid rgba(242,196,105,.14)}
.msdo-symbol-card:hover{transform:translateY(-4px);border-color:rgba(242,196,105,.62);box-shadow:0 20px 45px rgba(0,0,0,.34)}
.msdo-mini-orbit{flex:0 0 66px;width:66px;height:66px;border:1px solid rgba(242,196,105,.48);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(242,196,105,.17),transparent 62%)}
.msdo-mini-orbit:before,.msdo-mini-orbit:after{content:"";position:absolute;border:1px solid rgba(242,196,105,.22);border-radius:50%}.msdo-mini-orbit:before{inset:7px}.msdo-mini-orbit:after{inset:14px}
.msdo-mini-orbit i{position:relative;z-index:1;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-style:normal;color:var(--gold2)}
.msdo-card-copy{min-width:0;display:block}.msdo-card-copy strong{display:block;color:var(--gold2);font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:500;margin-bottom:5px}.msdo-card-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.45}
.msdo-card-arrow{position:absolute;right:17px;color:var(--gold);font-size:20px}
.msdo-result{position:relative;margin:0 clamp(18px,5vw,64px) 48px;padding:54px clamp(22px,5vw,68px);border:1px solid rgba(242,196,105,.3);border-radius:28px;background:radial-gradient(circle at 10% 0,rgba(82,61,157,.22),transparent 28%),linear-gradient(145deg,#0d1933,#050b18);opacity:0;transform:translateY(15px);transition:.25s ease;box-shadow:0 25px 70px rgba(0,0,0,.38)}
.msdo-result.is-open{opacity:1;transform:none}.msdo-close{position:absolute;right:18px;top:15px;border:0;background:transparent;color:#c9d1e2;font-size:34px;cursor:pointer}.msdo-close:hover{color:var(--gold)}
.msdo-result-orbit{width:122px;height:122px;margin:0 auto 25px;border:1px solid rgba(242,196,105,.48);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(242,196,105,.2),transparent 65%);box-shadow:0 0 45px rgba(242,196,105,.08)}
.msdo-result-orbit:before,.msdo-result-orbit:after{content:"";position:absolute;border:1px solid rgba(242,196,105,.23);border-radius:50%}.msdo-result-orbit:before{inset:13px}.msdo-result-orbit:after{inset:27px}.msdo-result-orbit span{font-family:Georgia,"Times New Roman",serif;font-size:48px;color:var(--gold2)}
.msdo-result-copy{max-width:850px;margin:0 auto;text-align:center}.msdo-result h2{font-size:clamp(38px,5vw,60px);margin:10px 0 8px}.msdo-result-short{margin:0;color:#c4cee0;font-size:17px}.msdo-divider{display:flex;align-items:center;justify-content:center;gap:13px;margin:26px auto}.msdo-divider i{width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.msdo-divider i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}.msdo-divider b{color:var(--gold);font-weight:400}
.msdo-meaning{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.75;color:#f1eadc}
.msdo-insight{display:flex;gap:17px;text-align:left;margin:30px 0;padding:22px;border:1px solid rgba(242,196,105,.25);border-radius:18px;background:rgba(242,196,105,.06)}.msdo-insight>span{color:var(--gold);font-size:24px}.msdo-insight h3,.msdo-two-col h3,.msdo-related h3{margin:0 0 7px;color:var(--gold2);font-family:Georgia,"Times New Roman",serif;font-size:20px}.msdo-insight p,.msdo-two-col p{margin:0;color:#c8d1e3;line-height:1.65}
.msdo-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.msdo-two-col section{padding:21px;border:1px solid rgba(242,196,105,.16);border-radius:18px;background:rgba(5,12,26,.58)}
.msdo-related{margin-top:28px}.msdo-related>div{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.msdo-related button{border:1px solid var(--line);border-radius:999px;background:transparent;color:#e6d8b8;padding:9px 14px;cursor:pointer}.msdo-related button:hover{border-color:var(--gold);color:var(--gold)}
.msdo-disclaimer{margin:0;padding:0 22px 28px;text-align:center;color:#77839b;font-size:12px}
[hidden]{display:none!important}
@media(max-width:900px){.msdo-alphabet{grid-template-columns:repeat(9,1fr)}.msdo-symbol-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.msdo{border-radius:18px}.msdo-hero{min-height:360px;padding:55px 18px}.msdo-hero p{font-size:16px}.msdo-browser{padding:38px 14px 48px}.msdo-alphabet{grid-template-columns:repeat(6,1fr);gap:8px}.msdo-alphabet button{border-radius:11px;font-size:18px}.msdo-section-head{align-items:flex-start;flex-direction:column}.msdo-symbol-grid{grid-template-columns:1fr}.msdo-symbol-card{min-height:92px}.msdo-result{margin:0 12px 32px;padding:45px 18px 34px}.msdo-two-col{grid-template-columns:1fr}.msdo-result-orbit{width:100px;height:100px}.msdo-result-orbit span{font-size:40px}}

/* ===== Approved sleeping-woman hero (v2.3) ===== */
.msdo{max-width:1220px;margin-top:0}
.msdo-hero{
  min-height:0;
  aspect-ratio:1536/558;
  padding:0;
  display:block;
  background:url("../images/dreaming-woman-hero.webp") center center/100% 100% no-repeat;
}
.msdo-hero:before,.msdo-hero:after,.msdo-stars,.msdo-hero-inner{display:none!important}
.msdo-browser{padding:28px clamp(18px,5vw,64px) 44px}
.msdo-letter-panel{padding-top:8px}
.msdo-disclaimer{display:none!important}
@media(max-width:620px){
  .msdo-hero{aspect-ratio:1536/558;background-size:cover;background-position:center top}
  .msdo-browser{padding:22px 10px 36px}
}
