body.dmtq2-standalone { margin:0; background:#08090e; }
.dmtq2 { --gold:#e6bd73; --muted:#b9b6c3; background:radial-gradient(ellipse at 85% 35%,#2b17433d,transparent 55%),radial-gradient(ellipse at 5% 65%,#15284140,transparent 50%),#08090e; color:#f4f0e9; min-height:100vh; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; isolation:isolate; }
.dmtq2 *, .dmtq2 *::before, .dmtq2 *::after { box-sizing:border-box; }
.dmtq2 a { color:inherit; text-decoration:none; }
.dmtq2 a:focus-visible { outline:3px solid #dab6ff; outline-offset:6px; }
.dmtq2-skip { position:fixed; top:-100px; left:16px; z-index:10000; padding:12px 18px; background:#e6bd73; color:#08090e!important; }
.dmtq2-skip:focus { top:12px; }
.dmtq2-header { max-width:1280px; margin:0 auto; padding:24px 48px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e6bd7326; gap:20px; }
.dmtq2-wordmark { font-family:Georgia,serif; font-weight:bold; font-size:22px; letter-spacing:2px; color:var(--gold)!important; }
.dmtq2-wordmark span { font-family:Arial,sans-serif; font-size:12px; letter-spacing:3px; }
.dmtq2-header-link { font-size:14px; padding:8px 0; }
.dmtq2-header-link span { margin-left:12px; color:var(--gold); }
.dmtq2-main { max-width:1280px; margin:0 auto; padding:56px 48px 64px; }
.dmtq2-hero { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.dmtq2-story { padding:16px 0; }
.dmtq2 p, .dmtq2 h1, .dmtq2 figure, .dmtq2 dl, .dmtq2 dd { margin:0; }
.dmtq2 .dmtq2-eyebrow { text-transform:uppercase; letter-spacing:2px; color:var(--gold); font-size:11px; font-weight:700; margin-bottom:30px; }
.dmtq2-eyebrow span { padding:0 10px; color:#756954; }
.dmtq2 h1 { color:var(--gold); font-family:Georgia,'Times New Roman',serif; font-size:clamp(62px,7vw,100px); letter-spacing:-4px; line-height:.99; font-weight:400; text-shadow:0 0 48px #d8a44718; }
.dmtq2 h1 span { display:block; font-size:.70em; margin-top:12px; letter-spacing:-2px; }
.dmtq2 .dmtq2-premiere { margin-top:28px; font-size:12px; letter-spacing:5px; font-weight:700; color:var(--gold); }
.dmtq2 .dmtq2-tagline { max-width:450px; margin-top:24px; font-family:Georgia,serif; font-size:clamp(25px,2.7vw,33px); line-height:1.25; }
.dmtq2 .dmtq2-intro { margin-top:20px; max-width:460px; color:#d3ced7; font-size:16px; }
.dmtq2 .dmtq2-intro-followup { margin-top:14px; }
.dmtq2-details { margin-top:32px!important; padding:23px 0; border-top:1px solid #e6bd7330; border-bottom:1px solid #e6bd7330; display:grid; gap:18px; }
.dmtq2-details div { display:grid; grid-template-columns:100px 1fr; gap:12px; }
.dmtq2-details dt { font-size:11px; line-height:25px; text-transform:uppercase; letter-spacing:1.5px; color:var(--gold); font-weight:700; }
.dmtq2-details dd { font-size:15px; line-height:1.6; }
.dmtq2-details dd span { display:block; font-size:13px; color:var(--muted); }
.dmtq2 .dmtq2-button { margin-top:30px; padding:17px 24px; min-height:56px; background:linear-gradient(115deg,#f1d39a,#d8ae61); color:#19120a; border:1px solid #f5dba7; border-radius:3px; display:inline-flex; align-items:center; justify-content:space-between; gap:40px; font-size:15px; line-height:1.4; font-weight:700; box-shadow:0 8px 32px #d8ae6112; transition:background .2s,box-shadow .2s; }
.dmtq2 .dmtq2-button:hover { background:#f3d79f; box-shadow:0 8px 32px #d8ae6130; color:#19120a; }
.dmtq2 .dmtq2-note { margin-top:12px; font-size:12px; color:var(--muted); }
.dmtq2-poster img { width:100%; height:auto; display:block; border:1px solid #bd914b60; box-shadow:0 24px 90px #0009,0 0 60px #8146c014; border-radius:2px; }
.dmtq2-poster figcaption { text-align:center; color:var(--muted); font-size:10px; letter-spacing:1.8px; line-height:1.7; text-transform:uppercase; margin-top:18px; }
.dmtq2-footer { max-width:1184px; margin:0 auto; padding:26px 0; border-top:1px solid #e6bd7326; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:11px; letter-spacing:1px; }
.dmtq2-footer>span:first-child { color:var(--gold); letter-spacing:2px; }
.dmtq2-mobile-register { display:none; }
@media (max-width:1000px) { .dmtq2-hero { gap:36px; } .dmtq2-main { padding:40px 32px 48px; } .dmtq2-header { padding:20px 32px; } .dmtq2-footer { margin:0 32px; } }
@media (max-width:700px) { .dmtq2 { padding-bottom:94px; } .dmtq2-header { padding:18px 22px; } .dmtq2-main { padding:36px 22px 38px; } .dmtq2-hero { grid-template-columns:1fr; gap:38px; } .dmtq2-story { padding:0; } .dmtq2 h1 { font-size:76px; } .dmtq2 .dmtq2-eyebrow { font-size:10px; letter-spacing:1.2px; margin-bottom:24px; } .dmtq2 .dmtq2-tagline { font-size:29px; } .dmtq2-details div { grid-template-columns:88px 1fr; gap:8px; } .dmtq2 .dmtq2-button { width:100%; } .dmtq2-poster { max-width:460px; justify-self:center; } .dmtq2-footer { margin:0 22px; flex-direction:column; gap:7px; padding:22px 0; } .dmtq2-mobile-register { display:block; position:fixed; bottom:0; left:0; right:0; z-index:100; padding:12px 22px max(12px,env(safe-area-inset-bottom)); background:#08090ef5; border-top:1px solid #e6bd7340; } .dmtq2-mobile-register .dmtq2-button { margin:0; min-height:50px; padding:14px 20px; } }
@media (prefers-reduced-motion:reduce) { .dmtq2 .dmtq2-button { transition:none; } }

/* Official DMT Quest identity, preserved at its original proportions. */
.dmtq2-wordmark { display:inline-flex; flex-shrink:0; align-items:center; line-height:1; }
.dmtq2-logo { display:block; width:128px; height:auto; max-width:100%; }
@media (max-width:700px) { .dmtq2-logo { width:108px; } }


/* Merchandise links use the existing Shopify store for options and checkout. */
.dmtq2-nav { display:flex; align-items:center; gap:28px; }
.dmtq2-merch { margin-top:64px; padding-top:56px; border-top:1px solid #e6bd7330; scroll-margin-top:24px; }
.dmtq2-merch-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:32px; }
.dmtq2-merch-heading .dmtq2-eyebrow { margin-bottom:14px; }
.dmtq2-merch h2 { font:400 clamp(32px,4vw,46px)/1.2 Georgia,'Times New Roman',serif; color:#f4f0e9; margin:0; letter-spacing:-.5px; }
.dmtq2 .dmtq2-merch-intro { color:var(--muted); margin-top:12px; font-size:15px; }
.dmtq2 .dmtq2-store-link { color:var(--gold); display:inline-flex; align-items:center; gap:14px; border-bottom:1px solid #e6bd7370; padding:8px 0; font-size:14px; white-space:nowrap; }
.dmtq2-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.dmtq2-product { min-width:0; }
.dmtq2-product-image { display:block; background:#f1f1f1; overflow:hidden; border-radius:3px; }
.dmtq2-product-image img { display:block; width:100%; aspect-ratio:1; height:auto; object-fit:contain; transition:transform .2s ease; }
.dmtq2-product-image:hover img { transform:scale(1.03); }
.dmtq2-product-info { padding:18px 0 0; }
.dmtq2-product h3 { margin:0; font-size:15px; line-height:1.5; font-weight:500; color:#f4f0e9; }
.dmtq2 .dmtq2-product-price { color:var(--gold); font-size:15px; margin-top:7px; }
.dmtq2 .dmtq2-product-link { display:inline-flex; align-items:center; gap:18px; margin-top:14px; padding:8px 0; font-size:12px; color:#d3ced7; border-bottom:1px solid #ffffff35; }
.dmtq2 .dmtq2-product-link:hover,.dmtq2 .dmtq2-store-link:hover { color:#f4dba9; }
.dmtq2 .dmtq2-merch-note { margin-top:24px; font-size:12px; color:var(--muted); }
@media (max-width:1000px) { .dmtq2-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; } }
@media (max-width:700px) { .dmtq2-nav { gap:18px; } .dmtq2-header-link { font-size:12px; } .dmtq2-header-link span { margin-left:6px; } .dmtq2-merch { margin-top:44px; padding-top:38px; } .dmtq2-merch-heading { flex-direction:column; align-items:flex-start; gap:14px; } .dmtq2-product-grid { gap:28px 16px; } .dmtq2-product h3 { font-size:14px; } }
@media (max-width:420px) { .dmtq2-product-grid { grid-template-columns:1fr; } .dmtq2-nav { gap:12px; } }
@media (prefers-reduced-motion:reduce) { .dmtq2-product-image img { transition:none; } }

/* Responsive YouTube trailer, between the premiere and merchandise. */
.dmtq2-trailer { margin-top:64px; padding-top:56px; border-top:1px solid #e6bd7330; }
.dmtq2-trailer .dmtq2-eyebrow { margin-bottom:14px; }
.dmtq2-trailer h2 { font:400 clamp(32px,4vw,46px)/1.2 Georgia,'Times New Roman',serif; color:#f4f0e9; margin:0 0 28px; letter-spacing:-.5px; }
.dmtq2-video { position:relative; width:100%; aspect-ratio:16/9; background:#000; border:1px solid #e6bd7340; border-radius:3px; overflow:hidden; }
.dmtq2-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.dmtq2 .dmtq2-trailer-link { display:inline-flex; gap:12px; align-items:center; color:var(--gold); font-size:13px; padding:8px 0; margin-top:12px; }
.dmtq2 .dmtq2-trailer-link:hover { color:#f4dba9; }
@media (max-width:700px) { .dmtq2-trailer { margin-top:44px; padding-top:38px; } .dmtq2-trailer h2 { margin-bottom:22px; } }

/* Screening raffle: explanation above the medallion, followed by hoodies. */
.dmtq2-raffle { margin:0 0 48px; padding:0; border-top:0; }
.dmtq2-raffle-copy { max-width:820px; margin-bottom:26px; }
.dmtq2-raffle .dmtq2-eyebrow { margin-bottom:12px; }
.dmtq2-raffle h3 { margin:0 0 16px; font:400 clamp(26px,3vw,36px)/1.25 Georgia,'Times New Roman',serif; color:#f4f0e9; }
.dmtq2-raffle-copy>p:last-child { color:#d3ced7; font-size:16px; line-height:1.75; }
.dmtq2-medallion { max-width:980px; margin:0 auto!important; }
.dmtq2-medallion img { display:block; width:100%; height:auto; border-radius:3px; border:1px solid #e6bd7340; }
@media(max-width:700px) { .dmtq2-raffle { padding-top:0; margin-bottom:32px; } .dmtq2-raffle-copy>p:last-child { font-size:15px; } }

/* Film reference and footer contact buttons. */
.dmtq2 .dmtq2-film-link { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.dmtq2 .dmtq2-film-link:hover { color:#f4dba9; }
.dmtq2-footer { align-items:center; flex-wrap:wrap; }
.dmtq2-social { display:flex; flex-wrap:wrap; gap:10px; }
.dmtq2-social a { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 15px; border:1px solid #e6bd7340; border-radius:3px; color:var(--gold); font-size:12px; letter-spacing:.3px; transition:background .2s,border-color .2s; }
.dmtq2-social a:hover { background:#e6bd7312; border-color:var(--gold); }
@media(max-width:700px) { .dmtq2-footer { align-items:flex-start; gap:18px; } .dmtq2-social { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .dmtq2-social a { transition:none; } }

.dmtq2-social .dmtq2-social-icon { width:46px; padding:10px; }
.dmtq2-social svg { display:block; flex-shrink:0; }
