/* DMM home page */
.h-home{--navy:#1e1b4b;--indigo:#4f46e5;--violet:#7c3aed;--gold:#d4a017;--gold2:#fbbf24;--paper:#f6f1e7;--paper2:#efe8d8;--ink:#1e1b2e;--mute:#5b5a6b;font-family:Inter,system-ui,sans-serif;color:var(--ink);overflow:hidden}
.h-home *{box-sizing:border-box}
.h-home h1,.h-home h2,.h-home h3{font-family:Fraunces,Georgia,serif;margin:0;font-weight:700;letter-spacing:-.01em}
.h-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.h-center{text-align:center}
.h-sec{padding:88px 0}
.h-paper2{background:var(--paper2)}
.h-sec h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin-bottom:16px;max-width:20ch}
.h-sec h2.h-center{margin-left:auto;margin-right:auto;max-width:none}
.h-copy{font-size:18px;line-height:1.7;color:var(--mute);max-width:62ch;margin:0 0 8px}
.h-copy.h-center{margin-left:auto;margin-right:auto}
.h-btn{display:inline-block;padding:14px 26px;border-radius:99px;font-weight:700;font-size:16px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.h-btn:focus-visible,.h-quiz button:focus-visible,.h-faq summary:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
.h-btn-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:var(--navy);box-shadow:0 10px 26px rgba(245,158,11,.35)}
.h-btn-gold:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(245,158,11,.45);color:var(--navy)}
.h-btn-ghost{color:#fff;border:2px solid rgba(255,255,255,.4)}
.h-btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}

/* Hero */
.h-hero{position:relative;color:#fff;background:radial-gradient(900px 500px at 85% 10%,rgba(124,58,237,.55),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(79,70,229,.5),transparent 60%),var(--navy);padding:70px 0 0}
.h-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 34px);-webkit-mask-image:linear-gradient(#000,transparent 85%);mask-image:linear-gradient(#000,transparent 85%);animation:h-ruled 14s linear infinite}
@keyframes h-ruled{to{background-position:0 34px}}
.h-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.h-tag{margin:0 0 18px;color:#c7d2fe;font-weight:600;font-size:15px}
.h-hero h1{font-size:clamp(34px,4.5vw,58px);line-height:1.05;color:#fff}
.h-line{display:block;opacity:0;transform:translateY(26px);animation:h-rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.h-line:nth-child(2){animation-delay:.18s}.h-line:nth-child(3){animation-delay:.36s;color:var(--gold2)}
@keyframes h-rise{to{opacity:1;transform:none}}
.h-lede{font-size:19px;line-height:1.65;color:#e0e7ff;max-width:54ch;margin:22px 0 28px;opacity:0;animation:h-rise .8s .6s forwards}
.h-actions{display:flex;flex-wrap:wrap;gap:14px;opacity:0;animation:h-rise .8s .75s forwards}
.h-fine{margin:18px 0 0;color:#a5b4fc;font-size:14px;opacity:0;animation:h-rise .8s .9s forwards}
.h-hero-art{display:flex;flex-direction:column;align-items:center;gap:36px;padding:20px 0 10px}
.h-book{perspective:1200px;animation:h-float 6s ease-in-out infinite}
@keyframes h-float{50%{transform:translateY(-14px)}}
.h-book-in{width:230px;height:316px;position:relative;transform-style:preserve-3d;transform:rotateY(-26deg) rotateX(4deg);animation:h-open 1.4s .2s cubic-bezier(.2,.7,.2,1) both}
@keyframes h-open{from{transform:rotateY(-110deg) rotateX(4deg);opacity:0}to{transform:rotateY(-26deg) rotateX(4deg);opacity:1}}
.h-book-in:before{content:"";position:absolute;left:-17px;top:3px;width:19px;height:310px;background:linear-gradient(90deg,#17143a,#2d2a74);transform:rotateY(-90deg);transform-origin:right}
.h-book-in:after{content:"";position:absolute;right:-7px;top:7px;width:9px;height:302px;background:repeating-linear-gradient(0deg,#fff 0 2px,#e8e4d8 2px 3px);border-radius:0 3px 3px 0}
.h-cover{position:absolute;inset:0;border-radius:4px 12px 12px 4px;padding:28px 24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(145deg,#4338ca,#7c3aed 60%,#a855f7);box-shadow:16px 22px 44px rgba(0,0,0,.45);overflow:hidden}
.h-cover:before{content:"";position:absolute;top:-50px;right:-50px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.14)}
.h-cover small{font-size:12px;color:#e0e7ff;margin-bottom:10px}
.h-cover b{font-family:Fraunces,Georgia,serif;font-size:29px;line-height:1.12;margin-bottom:12px}
.h-cover span{font-size:13px;color:#ddd6fe}
.h-cover i{position:absolute;top:0;right:26px;width:18px;height:62px;background:var(--gold);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}
.h-gates{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.h-gate{display:flex;align-items:center;gap:7px;padding:6px 12px 6px 6px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#c7d2fe;font-size:13px;font-weight:600;transition:background .4s,color .4s,border-color .4s}
.h-gate em{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px;background:rgba(255,255,255,.14);transition:background .4s,color .4s}
.h-gate.on{background:rgba(251,191,36,.16);border-color:var(--gold2);color:#fff}
.h-gate.on em{background:var(--gold2);color:var(--navy)}
.h-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid rgba(255,255,255,.16)}
.h-stats div{padding:26px 10px;text-align:center}
.h-stats b{display:block;font-family:Fraunces,Georgia,serif;font-size:clamp(30px,4vw,46px);color:var(--gold2)}
.h-stats span{color:#c7d2fe;font-size:15px}

/* Who */
.h-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.h-who{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.h-who li{padding:20px 0 20px 18px;border-bottom:1px solid rgba(30,27,46,.18);position:relative;transition:padding-left .25s}
.h-who li:before{content:"";position:absolute;left:0;top:26px;width:6px;height:6px;border-radius:50%;background:var(--indigo);transition:transform .25s}
.h-who li:hover{padding-left:28px}.h-who li:hover:before{transform:scale(1.8)}
.h-who h3{font-size:21px;margin-bottom:4px}
.h-who p{margin:0;color:var(--mute);line-height:1.6;max-width:56ch}

/* Outcomes */
.h-outs{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px;margin-top:44px}
.h-outs div{position:relative;padding-top:6px}
.h-outs svg{width:30px;height:30px;fill:none;stroke:var(--indigo);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px;stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .8s .2s}
.h-outs div.in svg,.no-js .h-outs svg{stroke-dashoffset:0}
.h-outs h3{font-size:21px;margin-bottom:6px}
.h-outs p{margin:0;color:var(--mute);line-height:1.6}

/* Model */
.h-dark{background:var(--navy);color:#fff;background-image:radial-gradient(700px 400px at 100% 0,rgba(124,58,237,.4),transparent 60%)}
.h-dark h2{color:#fff}
.h-onDark{color:#c7d2fe}
.h-model{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;margin-top:40px;align-items:start}
.h-steps{list-style:none;counter-reset:s;margin:0;padding:0}
.h-steps li{counter-increment:s;position:relative;padding:0 0 28px 62px;line-height:1.65;color:#dbe0ff;font-size:17px}
.h-steps li:before{content:counter(s);position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:var(--navy);font-weight:800;font-family:Fraunces,serif;font-size:20px;z-index:1}
.h-steps li:after{content:"";position:absolute;left:20px;top:44px;bottom:2px;width:2px;background:rgba(255,255,255,.22)}
.h-steps li:last-child:after{display:none}
.h-steps b{display:block;color:#fff;font-size:19px;margin-bottom:2px}
.h-quiz{background:var(--paper);color:var(--ink);border-radius:20px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.h-quiz-h{margin:0 0 14px;font-weight:700;color:var(--indigo);font-size:14px}
.h-quiz-q{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:700;margin:0 0 16px}
.h-quiz button{display:block;width:100%;text-align:left;margin:0 0 10px;padding:14px 16px;border:2px solid rgba(30,27,46,.16);border-radius:12px;background:#fffdf8;font:600 16px/1.4 Inter,sans-serif;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.h-quiz button:hover:not(:disabled){border-color:var(--indigo);transform:translateX(4px)}
.h-quiz button.ok{border-color:#059669;background:#d1fae5}
.h-quiz button.no{border-color:#dc2626;background:#fee2e2;animation:h-shake .4s}
@keyframes h-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.h-quiz-r{margin:6px 0 0;min-height:24px;font-weight:600}
.h-rule{margin:26px 0 0;padding:18px 22px;border-left:4px solid var(--gold2);background:rgba(255,255,255,.07);border-radius:0 12px 12px 0;color:#e0e7ff;line-height:1.6;max-width:78ch}
.h-rule b{color:var(--gold2)}

/* Roadmap */
.h-road{list-style:none;margin:56px auto 0;padding:0;max-width:860px;position:relative}
.h-road:before,.h-road:after{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:4px;border-radius:4px}
.h-road:before{background:rgba(30,27,46,.14)}
.h-road:after{background:linear-gradient(var(--indigo),var(--violet));transform-origin:top;transform:scaleY(var(--p,0))}
.h-phase{position:relative;display:grid;grid-template-columns:58px 1fr;gap:26px;padding-bottom:42px}
.h-phase:last-child{padding-bottom:0}
.h-node{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:4px solid rgba(30,27,46,.18);color:#9a97ad;font:800 22px Fraunces,serif;position:relative;z-index:1;transition:background .5s,color .5s,border-color .5s,transform .5s}
.h-phase.on .h-node{background:var(--indigo);border-color:var(--indigo);color:#fff;transform:scale(1.08)}
.h-phase-body{background:#fffdf8;border-radius:16px;padding:24px 26px;box-shadow:0 1px 0 rgba(30,27,46,.08),0 14px 34px rgba(30,27,75,.08)}
.h-phase-body h3{font-size:26px}
.h-phase-body h3 small{font:600 14px Inter,sans-serif;color:var(--violet);margin-left:8px}
.h-phase-body>p{margin:6px 0 14px;color:var(--mute);line-height:1.6}
.h-phase-body ul{list-style:none;margin:0 0 14px;padding:0}
.h-phase-body li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid rgba(30,27,46,.1);font-weight:600}
.h-phase-body li span{flex:none;width:84px;color:var(--indigo);font-size:13px}
.h-phase-body li em{margin-left:auto;font:500 13px Inter,sans-serif;color:var(--mute);white-space:nowrap}
.h-phase-body .h-gate-row{margin:0;padding:12px 14px;background:var(--paper);border-radius:10px;font-size:15px;color:var(--ink)}

/* Tools */
.h-tools{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:34px 0 0;padding:0}
.h-tools li{padding:11px 20px;border-radius:99px;background:#fffdf8;border:1px solid rgba(30,27,46,.14);font-weight:600;transition:transform .2s,border-color .2s}
.h-tools li:hover{transform:translateY(-3px) rotate(-1deg);border-color:var(--indigo)}

/* FAQ */
.h-faq{max-width:820px}
.h-faq details{border-top:1px solid rgba(30,27,46,.2);padding:4px 0}
.h-faq details:last-child{border-bottom:1px solid rgba(30,27,46,.2)}
.h-faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font:700 20px Fraunces,Georgia,serif;position:relative}
.h-faq summary::-webkit-details-marker{display:none}
.h-faq summary:after{content:"+";position:absolute;right:4px;top:12px;font:400 30px Inter,sans-serif;color:var(--indigo);transition:transform .25s}
.h-faq details[open] summary:after{transform:rotate(45deg)}
.h-faq p{margin:0 0 18px;color:var(--mute);line-height:1.7;max-width:64ch}

/* Final */
.h-final{background:linear-gradient(135deg,#312e81,#6d28d9);color:#fff;text-align:center;padding:70px 0}
.h-final h2{font-size:clamp(26px,3.6vw,38px);color:#fff;margin-bottom:22px}

/* Scroll reveal: only the sections that need it, once */
.h-js .h-phase-body,.h-js .h-who li,.h-js .h-outs div{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.h-js .h-phase-body.in,.h-js .h-who li.in,.h-js .h-outs div.in{opacity:1;transform:none}

@media(max-width:860px){
	.h-sec{padding:60px 0}
	.h-hero-grid,.h-split,.h-model{grid-template-columns:1fr;gap:34px}
	.h-hero-art{order:-1}
	.h-book-in{width:180px;height:248px}.h-book-in:before{height:242px}.h-book-in:after{height:236px}
	.h-cover b{font-size:23px}
	.h-stats{grid-template-columns:repeat(2,1fr)}
	.h-outs{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
	.h-outs{grid-template-columns:1fr}
	.h-phase{grid-template-columns:44px 1fr;gap:14px}
	.h-node{width:44px;height:44px;font-size:17px}.h-road:before,.h-road:after{left:20px}
	.h-phase-body{padding:18px}
	.h-phase-body li{flex-wrap:wrap}.h-phase-body li em{margin-left:96px;width:100%}
}
@media(prefers-reduced-motion:reduce){
	.h-home *,.h-home *:before,.h-home *:after{animation:none!important;transition:none!important}
	.h-line,.h-lede,.h-actions,.h-fine{opacity:1;transform:none}
	.h-js .h-phase-body,.h-js .h-who li,.h-js .h-outs div{opacity:1;transform:none}
	.h-outs svg{stroke-dashoffset:0}
}
