/* Brand purple read from the original SVG. Lighter text accent preserves readability on black. Source assets remain untouched. */
:root{color-scheme:dark;--black:#000;--surface:#0c0812;--white:#f6f4f8;--muted:#b5afc1;--brand:#8f00ff;--accent:#bc7aff;--line:#332a40;--gutter:clamp(1.25rem,5vw,6rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.5;-webkit-text-size-adjust:100%}
img{display:block;max-width:100%;height:auto;object-fit:contain}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{color:inherit}
button:not(:disabled),a{touch-action:manipulation}
button:disabled,input:disabled{cursor:not-allowed}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
button{border:0;background:none}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.05}
h1{font-size:clamp(3.5rem,9vw,9rem)}
h2{font-size:clamp(3rem,6vw,6.5rem)}
.eyebrow{font-size:.8125rem;letter-spacing:.15em;text-transform:uppercase}
.muted{color:var(--muted)}
.text-link{display:inline-flex;gap:1.75rem;align-items:center;min-height:44px;font-size:.875rem}
.text-link:hover{color:var(--accent)}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:10;padding:1rem;background:var(--white);color:var(--black);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.intro{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:7rem var(--gutter)}
.intro__logo{width:min(65vw,760px)}
.intro__logo img{width:100%}
.intro__bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(2rem,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:1rem}
/* The canvas and original SVG share the same measured coordinates. */
.intro{isolation:isolate;overflow:hidden;background:#000;height:100vh;height:100svh;padding-block:0;grid-template-rows:minmax(0,1fr)}
.intro__particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
.intro__logo{position:relative;z-index:1}
.intro-motion .intro__logo{opacity:0}
.intro__bottom{z-index:2}
.intro__bottom>.eyebrow{color:#bab1c6;font-size:.6875rem;letter-spacing:.23em}
.intro__bottom .text-link{gap:1.1rem;padding:.35rem 0 .35rem 1rem;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:#eee8f5;transition:color .2s ease-out,text-shadow .2s ease-out}
.intro__bottom .text-link::before{content:"";width:1.7rem;height:1px;background:linear-gradient(90deg,transparent,currentColor);color:#c58aff80;transition:color .2s ease-out,box-shadow .2s ease-out}
.intro__bottom .text-link:hover,.intro__bottom .text-link:focus-visible{color:#f7f2ff;text-shadow:0 0 4px #8f00ff66}
.intro__bottom .text-link:hover::before,.intro__bottom .text-link:focus-visible::before{color:#bc7aff;box-shadow:0 0 3px #8f00ff55}
.intro__bottom .text-link span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #c58aff30;border-radius:50%;color:#e7d4fb;font-size:1rem;letter-spacing:0;box-shadow:0 0 18px #8f00ff12;transition:border-color .2s ease-out,box-shadow .2s ease-out,color .2s ease-out}
.intro__bottom .text-link:hover span,.intro__bottom .text-link:focus-visible span{color:#f3edff;border-color:#bc7aff;box-shadow:0 0 0 1px #8f00ff99,0 0 3px #8f00ff73,0 0 8px #673cff40}
@media(max-width:380px){.intro__bottom .text-link{gap:.65rem}.intro__bottom .text-link::before{width:1rem}.intro__bottom>.eyebrow{max-width:9rem}}
@media(prefers-reduced-motion:reduce){.intro__particles{display:none}.intro-motion .intro__logo{opacity:1}}
.album{min-height:100vh;min-height:100svh;padding:3rem var(--gutter);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;border-top:1px solid var(--line)}
.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:1.75rem}
.section-heading>.eyebrow{color:var(--accent)}
.album__art{width:min(100%,82svh,900px)}
.album__art img{width:100%;object-fit:contain}
.album__continue{color:var(--muted);font-size:.8125rem;letter-spacing:.1em}
.section-pad{padding:clamp(5rem,11vw,11rem) var(--gutter)}
.music,.price{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2.5rem,6vw,7rem);border-top:1px solid var(--line)}
.music{background:var(--black);align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.music__art{width:100%;max-width:720px;justify-self:center}
.music__art img{width:100%}
.player__availability{margin-bottom:1.75rem;font-size:.875rem}
.player{min-width:0}
.player__current h3{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:400;margin-top:1rem;overflow-wrap:anywhere}
.player__current .eyebrow{color:var(--muted)}
.transport{display:flex;gap:1.5rem;align-items:center;margin:2rem 0}
.icon-button{width:48px;height:48px;font-size:1.5rem;border:1px solid var(--line);border-radius:50%;cursor:pointer}
.icon-button:hover:not(:disabled){border-color:var(--accent)}
.play-button{height:64px;width:64px;border:1px solid var(--brand);border-radius:50%;color:#c9a6ff;opacity:1;background:#10091c}
.timeline{display:flex;gap:1rem;align-items:center;font-size:.8125rem;color:var(--muted)}
input[type=range]{min-width:0;accent-color:var(--accent);height:24px}
.timeline input{flex:1;width:100%}
.player__meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.8125rem;margin:1rem 0 2.5rem}
.volume{display:flex;gap:.75rem;align-items:center;color:var(--muted)}
.volume input{width:70px}
.track-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.track-list li{border-bottom:1px solid var(--line)}
.track-list button{width:100%;display:grid;grid-template-columns:2rem 1fr;gap:1rem;text-align:left;align-items:center;padding:1.35rem .75rem;cursor:pointer;transition:background .2s,color .2s}
.track-list button[aria-current=true]{color:#d8b5ff;background:#170b29;box-shadow:inset 2px 0 #a855ff}
.track-list button:hover:not(:disabled){background:#10091c}
.track-index{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}
.price{align-items:center}
.price__panel{width:100%;max-width:470px;justify-self:end}
.price__input{display:flex;align-items:baseline;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,7vw,6rem);line-height:1.2;margin:1.5rem 0 1rem;border-bottom:1px solid var(--line)}
.price__input>span{color:var(--accent)}
.price__input input{width:100%;min-width:0;padding:.25rem .5rem;color:#bc7aff;text-shadow:0 0 15px #8f00ff22;background:none;border:0;border-radius:0;appearance:textfield;-moz-appearance:textfield}
.price__input input::-webkit-inner-spin-button,.price__input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.purchase-button{width:100%;min-height:56px;margin:2rem 0 1rem;padding:1rem;border:1px solid #674386;background:#150c21;color:#c9bfd6}
.price__note{font-size:.875rem}
footer{border-top:1px solid var(--line);padding:3rem var(--gutter) max(3rem,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.8125rem}
.footer__logo{width:150px}.footer__badge{width:84px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.intro__logo{width:85vw}.intro__bottom{align-items:flex-end}.intro__bottom .eyebrow{max-width:12rem}.music,.price{grid-template-columns:1fr}.album{padding-top:3rem;padding-bottom:3rem}.album__art{max-width:560px}.price__panel{justify-self:start;max-width:none}.player__meta{flex-wrap:wrap}footer{flex-wrap:wrap;gap:2rem}footer>.muted{order:3;flex-basis:100%}.footer__badge{width:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* One order email beneath the always-visible price controls. */
.player-nav{display:flex;justify-content:center;align-items:center;gap:clamp(.75rem,2vw,1.5rem);margin-top:1.5rem;font-size:.875rem}
.player-nav a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:#ded6ea;white-space:nowrap;transition:color .2s ease-out,text-shadow .2s ease-out}
.player-nav a:hover,.player-nav a:focus-visible{color:#f3edff;text-shadow:0 0 3px #8f00ff80,0 0 7px #673cff40}
.player-nav a:focus-visible{outline:2px solid #bc7aff;outline-offset:4px}
.player-nav__separator{color:#857a96}
.order-form{min-width:0}
.order-form__email{margin-top:2rem}
.order-form__email>label{display:block;font-size:1rem}
.order-form input[type=email]{display:block;width:100%;min-width:0;min-height:52px;margin:.5rem 0 1rem;padding:.8rem;background:var(--surface);color:var(--white);border:1px solid var(--line);border-radius:0;font-size:1rem}
.order-form .consent{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;min-height:44px;font-size:.875rem;line-height:1.6;cursor:pointer}
.consent input{flex:0 0 20px;width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--brand)}
.form-note{font-size:.875rem;margin-top:1rem}
.footer__branding{width:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.footer__join{min-height:44px;padding:0;font-size:.8125rem;color:var(--accent)}
@media(max-width:760px){.footer__branding{flex-wrap:wrap}.footer__branding>.muted{order:3;flex-basis:100%}}

/* Restrained electric-violet hierarchy; no layout or behavior changes. */
.text-link{transition:color .22s ease}
.player__current .eyebrow,.price .eyebrow{color:var(--accent)}
.icon-button{background:#0b0711;border-color:#4c3b61;transition:border-color .22s ease,box-shadow .22s ease}
.icon-button:hover:not(:disabled){box-shadow:0 0 8px #8f00ff35}
.icon-button:disabled{color:#aaa0ba}
.play-button{border-color:#8252b2}
.track-list button{transition:background .22s ease,color .22s ease,box-shadow .22s ease}
.track-list button[aria-current=true] .track-index{color:#bc7aff;text-shadow:0 0 6px #8f00ff60}
.timeline input:disabled,.volume input:disabled{opacity:.8}
.price__input{border-color:#674386;transition:border-color .22s ease,box-shadow .22s ease}
.price__input:focus-within{border-color:#bc7aff;box-shadow:0 1px #8f00ff}
.order-form input[type=email]{border-color:#59416f;transition:border-color .22s ease,box-shadow .22s ease}
.order-form input[type=email]:focus-visible{border-color:#bc7aff;box-shadow:0 0 12px #8f00ff18}
.order-form .consent{color:#d2c9de}
.consent input{accent-color:#9d24ff}
.footer__join{color:#ad6aff;text-shadow:0 0 5px #8f00ff35;transition:color .22s ease,text-shadow .22s ease;cursor:default}
.footer__join:hover,.footer__join:focus-visible{color:#d8b5ff;text-shadow:0 0 2px #9d24ff,0 0 8px #8f00ff90,0 0 16px #8f00ff30}
.section-heading>.eyebrow,.price .eyebrow,.dmt__toolbar .eyebrow,.dmt__readout .eyebrow{color:#c49aff}

/* Keep the price invitation on one continuous line at both layouts. */
#price-title{white-space:nowrap;font-size:clamp(2rem,5vw,6.5rem);font-kerning:normal;text-rendering:optimizeLegibility;font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0;letter-spacing:.01em}
@media(max-width:760px){#price-title{font-size:clamp(2rem,12vw,5rem)}}

/* Social destinations share the DMT light character, without affecting its styles. */
.social-symbols{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.social-links{display:grid;grid-template-columns:repeat(8,44px);gap:12px;justify-content:center}
.social-links a{display:grid;place-items:center;width:44px;height:44px;color:#d0c8df;border:1px solid #673cff38;border-radius:50%;background:transparent;transition:color .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out}
.social-links svg{display:block;width:20px;height:20px;fill:currentColor;shape-rendering:geometricPrecision;pointer-events:none}
.social-links a:hover,.social-links a:focus-visible{color:#f3edff;border-color:#bc7aff;box-shadow:0 0 0 1px #8f00ff,0 0 4px #8f00ffb3,0 0 10px #673cff66}
.social-links a:focus-visible{outline:none}
.social-links--landing{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:calc(max(2rem,env(safe-area-inset-bottom)) + 64px)}
.site-footer{flex-wrap:wrap}
.social-links--footer{margin-inline:auto;padding-top:1rem}
@media(max-width:600px){.social-links{grid-template-columns:repeat(4,44px);gap:8px 18px}}
@media(prefers-reduced-motion:reduce){.social-links a,.social-links svg{transition:none}}
@media(forced-colors:active){.social-links a:focus-visible{outline:2px solid Highlight;outline-offset:3px}}
