:root{--dvm-bg:#F6EFE6;--dvm-card:#FBF7F0;--dvm-line:#E4D9C3;--dvm-ink:#4a4330;--dvm-gold:#6C5C24;--dvm-gold2:#C4A22E;--dvm-soft:#8a7a45}
body.elementor-template-canvas,body{background:var(--dvm-bg)}
.dvm-page,.dvm-app{font-family:'Jost',Arial,sans-serif;color:var(--dvm-ink);line-height:1.6;font-size:16px}
.dvm-app *,.dvm-page *{box-sizing:border-box}
.dvm-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:var(--dvm-bg)}
.dvm-card{background:var(--dvm-card);border:1px solid var(--dvm-line);border-radius:16px;padding:28px;margin:0 0 20px}
.dvm-login,.dvm-thanks{max-width:480px;width:100%;text-align:center;padding:40px 32px}
.dvm-thanks{max-width:560px}
.dvm-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dvm-soft);margin:0 0 6px}
.dvm-h{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(28px,4vw,40px);line-height:1.15;color:var(--dvm-gold);margin:0 0 12px}
.dvm-sub{color:var(--dvm-ink);margin:0 0 20px}
.dvm-small{font-size:14px;color:var(--dvm-soft)}
.dvm-small a,.dvm-sub a{color:var(--dvm-gold)}
.dvm-alert{background:#f8e7df;border:1px solid #e4bfae;color:#8a3b1c;padding:10px 14px;border-radius:10px;font-size:14px}
.dvm-ok{background:#eef0da;border:1px solid #d3d8a8;color:#4f5a1c;padding:10px 14px;border-radius:10px;font-size:14px}
.dvm-btn,.dvm-login input[type=submit]{display:inline-block;cursor:pointer;border:0;border-radius:41px;padding:13px 28px;font:500 16px 'Jost',Arial,sans-serif;color:#fff!important;text-decoration:none;background:linear-gradient(204deg,#C4A22E 18%,#52471C 100%)}
.dvm-btn:hover,.dvm-login input[type=submit]:hover{filter:brightness(1.08)}
.dvm-btn-ghost{background:transparent;color:var(--dvm-gold)!important;border:1px solid var(--dvm-gold)}
.dvm-btn.is-on{background:#6C5C24}
.dvm-steps{text-align:left;margin:20px 0;padding-left:20px}
.dvm-steps li{margin:0 0 10px}
.dvm-login form{text-align:left;margin:18px 0}
.dvm-login label{display:block;font-size:14px;color:var(--dvm-soft);margin:12px 0 4px}
.dvm-login input[type=text],.dvm-login input[type=password],.dvm-form textarea,.dvm-reply textarea{width:100%;border:1px solid var(--dvm-line);background:#fff;border-radius:12px;padding:12px 14px;font:16px 'Jost',Arial,sans-serif;color:var(--dvm-ink)}
.dvm-login .login-remember label{display:flex;gap:8px;align-items:center}
.dvm-login .login-submit{text-align:center;margin-top:18px}
/* App */
.dvm-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;background:var(--dvm-card);border-bottom:1px solid var(--dvm-line);position:sticky;top:0;z-index:20}
.dvm-brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.dvm-brand span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dvm-soft)}
.dvm-brand b{font:italic 500 26px 'Cormorant Garamond',Georgia,serif;color:var(--dvm-gold)}
.dvm-top nav{display:flex;gap:20px}
.dvm-top nav a{color:var(--dvm-ink);text-decoration:none;font-size:15px}
.dvm-top nav a:hover{color:var(--dvm-gold)}
.dvm-wrap{display:grid;grid-template-columns:320px 1fr;gap:28px;max-width:1280px;margin:0 auto;padding:28px 24px 60px}
.dvm-side{align-self:start;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto}
.dvm-prog{background:var(--dvm-card);border:1px solid var(--dvm-line);border-radius:14px;padding:16px;margin-bottom:14px}
.dvm-prog-t{display:flex;justify-content:space-between;font-size:14px;color:var(--dvm-soft)}
.dvm-prog-t b{color:var(--dvm-gold)}
.dvm-bar{height:8px;background:#e9dfc9;border-radius:8px;margin:8px 0;overflow:hidden}
.dvm-bar i{display:block;height:100%;background:linear-gradient(90deg,#C4A22E,#6C5C24);border-radius:8px}
.dvm-mod{background:var(--dvm-card);border:1px solid var(--dvm-line);border-radius:14px;margin-bottom:10px;overflow:hidden}
.dvm-mod summary{cursor:pointer;padding:13px 16px;display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:500;color:var(--dvm-gold);list-style:none}
.dvm-mod summary::-webkit-details-marker{display:none}
.dvm-mod summary em{font-style:normal;font-size:12px;color:var(--dvm-soft);font-weight:400}
.dvm-mod.is-locked summary{opacity:.6;cursor:default}
.dvm-mod ul{list-style:none;margin:0;padding:0 8px 10px}
.dvm-mod li a{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;color:var(--dvm-ink);text-decoration:none;font-size:15px}
.dvm-mod li a:hover{background:#f1e8d6}
.dvm-mod li.is-cur a{background:#ecdfbd}
.dvm-mod li i{flex:0 0 16px;height:16px;margin-top:4px;border:1.5px solid var(--dvm-gold2);border-radius:50%}
.dvm-mod li.is-done i{background:var(--dvm-gold);border-color:var(--dvm-gold);box-shadow:inset 0 0 0 3px var(--dvm-card)}
.dvm-mod li.is-empty{padding:6px 12px;font-size:14px;color:var(--dvm-soft)}
.dvm-main{min-width:0}
.dvm-video{position:relative;aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;margin:0 0 16px}
.dvm-video iframe,.dvm-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.dvm-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
.dvm-desc{margin:0 0 22px}
.dvm-material h3{font:500 24px 'Cormorant Garamond',Georgia,serif;color:var(--dvm-gold);margin:0 0 10px}
.dvm-material audio{width:100%;margin:6px 0 14px}
.dvm-mt{margin:0;font-weight:500}
.dvm-pdf{display:inline-block;color:var(--dvm-gold);text-decoration:none;border:1px solid var(--dvm-line);background:#fff;border-radius:41px;padding:8px 18px}
.dvm-pdf:before{content:"PDF  ";font-size:11px;letter-spacing:.1em;color:var(--dvm-soft)}
.dvm-hero{padding:24px 0}
.dvm-form label{display:block;font-size:14px;color:var(--dvm-soft);margin-bottom:6px}
.dvm-form .dvm-btn{margin-top:14px}
.dvm-thread-h{font-size:13px;color:var(--dvm-soft);margin-bottom:10px}
.dvm-bub{padding:10px 14px;border-radius:12px;margin:0 0 8px;max-width:88%}
.dvm-bub small{display:block;font-size:12px;color:var(--dvm-soft)}
.dvm-bub.is-s{background:#fff;border:1px solid var(--dvm-line)}
.dvm-bub.is-p{background:#efe6c8;margin-left:auto}
.dvm-reply{display:flex;gap:10px;align-items:flex-end;margin-top:12px}
.dvm-reply textarea{flex:1}
@media(max-width:900px){.dvm-wrap{grid-template-columns:1fr;padding:18px 14px 50px}.dvm-side{position:static;max-height:none}.dvm-top{padding:12px 14px}.dvm-top nav{gap:12px}.dvm-brand b{font-size:22px}.dvm-bub{max-width:100%}.dvm-reply{flex-direction:column;align-items:stretch}}
