/* Additional styling for editable core blocks, without changing saved article markup. */
.dgn-block-content > .wp-block-group { margin-block: 0; }
.dgn-block-content .hero-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; }
.dgn-block-content .hero-media img { display: block; width: 100%; height: auto; }
.dgn-block-content .hero-media { margin: 0; }
.dgn-block-content .wp-block-heading { overflow-wrap: break-word; }
.dgn-block-content .book-grid .wp-block-group, .managed-page .book-grid .wp-block-group { min-width: 0; }
.dgn-block-content .book-art img, .managed-page .book-art img { max-width: 100%; }
.dgn-block-content .section { padding-inline: 0; }
.dgn-block-content .wp-block-image figcaption { color: #56616b; font-size: .85rem; }
.dgn-block-content .book-info .book-actions { line-height: 1.8; }
@media (max-width: 780px) { .dgn-block-content .hero-layout { grid-template-columns: 1fr; } }

.dgn-block-content .hero { padding-inline: clamp(18px,3vw,40px); }
.dgn-block-content .hero .wp-block-image figcaption { color: #aab2b8; }

/* Inline dimensions from the native editor take precedence. */
.dgn-block-content .wp-block-image.is-resized img{width:revert;height:revert;max-width:100%}
.dgn-block-content .wp-block-image img[style]{max-width:100%}
.dgn-block-content .wp-block-image.is-resized img,.managed-page .wp-block-image.is-resized img{max-height:none}
.dgn-block-content .wp-block-image.book-art.is-resized,.managed-page .wp-block-image.book-art.is-resized{aspect-ratio:auto}
.dgn-block-content .alignwide{max-width:var(--wp--style--global--wide-size,1320px);margin-inline:auto}
.dgn-block-content .alignfull{max-width:none}
.dgn-block-content .wp-block-column{min-width:0}
.dgn-block-content .hero-layout.wp-block-columns,.dgn-block-content .book-grid.wp-block-columns{display:flex;flex-wrap:nowrap;gap:clamp(20px,3vw,42px)}
.dgn-block-content .wp-block-column{flex-grow:1;flex-shrink:1}
@media(max-width:780px){.dgn-block-content .hero-layout.wp-block-columns,.dgn-block-content .book-grid.wp-block-columns{flex-wrap:wrap}.dgn-block-content .wp-block-column{flex-basis:100%!important}.dgn-block-content .hero-layout>.wp-block-column:last-child{order:-1}}
.dgn-external-link{border:1px solid #c6d3da;background:#edf3f6;padding:24px;margin-block:24px}
.shop-status{max-width:76ch}.shop-status button{cursor:pointer}.shop-status [data-shop-reset]{margin-top:20px}
.dgn-motion-scene{position:relative;isolation:isolate;overflow:hidden}
.dgn-motion-scene .hero-layout{position:relative;z-index:2}
.dgn-motion-scene .hero-copy{position:relative;z-index:3}
.dgn-motion-scene .hero-media{position:relative;z-index:1}
.dgn-motion-scene .hero-media img{animation:none!important;transform:none!important}
.dgn-motion-art{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
/* Cinematic light and atmosphere: no video, canvas, image zoom or external requests. */
.dgn-motion-scene{background:#090e12;border-top:1px solid #73877044;border-bottom:1px solid #73877044}
.dgn-motion-scene.hero::after{display:none}
.dgn-motion-scene .hero-layout{padding-block:48px 76px}
.dgn-motion-scene .hero-copy{padding-block:20px}
.dgn-motion-scene .hero-media{overflow:hidden;border:1px solid #9bac9340;border-radius:2px;box-shadow:0 24px 64px #0005}
.dgn-motion-scene .hero-media::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#08111a10 50%,#070d13a8),linear-gradient(90deg,#0a12143d,transparent 55%)}
.dgn-motion-scene .hero-media::after{content:"";position:absolute;inset:-25% -70%;z-index:3;pointer-events:none;background:linear-gradient(112deg,transparent 41%,#d9ebd20a 45%,#e4efcf38 49%,#f4ffed16 54%,transparent 60%);transform:translateX(-28%);opacity:0;mix-blend-mode:screen}
.dgn-motion-scene .hero-media figcaption{position:absolute;bottom:12px;left:18px;right:18px;z-index:4;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.dgn-motion-scene .hero-copy h1{letter-spacing:-.045em}
.dgn-title-line{display:block}
.dgn-title-line:nth-child(2){color:#b1c39d}
.dgn-cinema-haze{position:absolute;inset:50% -15% -28%;background:radial-gradient(ellipse at 25% 80%,#8da79e24,transparent 56%),radial-gradient(ellipse at 70% 65%,#b4c6ab17,transparent 48%);transform:translateX(-8%);opacity:.45}
.dgn-cinema-haze.haze-two{inset:65% -25% -15%;background:radial-gradient(ellipse at 65% 80%,#c5dcc323,transparent 58%);transform:translateX(5%)}
.dgn-cinema-rule{position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#bfd5aa,transparent);transform:scaleX(.2);transform-origin:left;opacity:.4}
.dgn-cinema-caption{position:absolute;left:32px;bottom:28px;font-size:10px;letter-spacing:.2em;color:#bac9b4;line-height:1.4;max-width:55%}
.dgn-motion-control{position:absolute;right:22px;bottom:20px;z-index:5;background:#111820e8;color:#e8f3fa;border:1px solid #7b96a5;padding:9px 13px;font:inherit;font-size:12px;cursor:pointer}
.dgn-motion-control:focus-visible{outline:3px solid #fff;outline-offset:3px}
.dgn-motion-control:disabled{cursor:default;opacity:.8}
.dgn-motion-ready .hero-media::after{animation:dgn-cinema-light 12s ease-in-out infinite}
.dgn-motion-ready .haze-one{animation:dgn-cinema-haze 16s ease-in-out infinite alternate}
.dgn-motion-ready .haze-two{animation:dgn-cinema-haze 21s ease-in-out infinite alternate-reverse}
.dgn-motion-ready .dgn-cinema-rule{animation:dgn-cinema-rule 1.6s ease-out both}
.dgn-motion-ready .dgn-title-line{animation:dgn-cinema-title 900ms cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--line-delay,0ms)}
.dgn-motion-paused *, .dgn-motion-paused .hero-media::after{animation-play-state:paused!important}
@keyframes dgn-cinema-title{from{opacity:.15;transform:translateY(18px);clip-path:inset(0 0 90% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes dgn-cinema-light{0%,8%{transform:translateX(-28%);opacity:0}22%{opacity:.65}58%{opacity:.45}74%,100%{transform:translateX(28%);opacity:0}}
@keyframes dgn-cinema-haze{from{transform:translateX(-7%);opacity:.35}to{transform:translateX(7%);opacity:.8}}
@keyframes dgn-cinema-rule{from{transform:scaleX(.05);opacity:0}to{transform:scaleX(1);opacity:.6}}
.dgn-hero-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(prefers-reduced-motion:reduce){.dgn-motion-art{display:none}.dgn-motion-scene *,.dgn-motion-scene .hero-media::after{animation:none!important;transition:none!important}.dgn-motion-scene .hero-media::after{opacity:0}.dgn-title-line{opacity:1;transform:none;clip-path:none}}
@media(max-width:800px){.dgn-motion-scene .hero-layout{padding-block:24px 76px}.dgn-motion-scene .hero-copy{padding-block:0}.dgn-cinema-caption{left:18px;bottom:27px;font-size:8px;letter-spacing:.12em;max-width:45%}.dgn-motion-control{bottom:18px;right:12px}.dgn-motion-scene .hero-media{max-width:480px;margin-inline:auto}.dgn-motion-scene .hero-media figcaption{font-size:9px}}

/* Comfortable measure for the longer editorial drafts. */
.dgn-editorial-text{max-width:800px;margin:3rem auto;line-height:1.8}.dgn-editorial-text h2{margin-top:2.25rem}.dgn-editorial-text h1{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2}

/* Shared full-width canvas for every editable page, including existing drafts.
   Percentage/grid sizing avoids the horizontal scrollbar caused by 100vw. */
.dgn-block-page{width:100%;max-width:none;padding-inline:0}
.dgn-block-content{display:grid;grid-template-columns:minmax(var(--space),1fr) minmax(0,calc(var(--max) - 2 * var(--space))) minmax(var(--space),1fr)}
.dgn-block-content > *{grid-column:2;min-width:0}
.dgn-block-content > :is(.hero,.editorial,.community,.bottom-cta,.page-intro,.alignfull){grid-column:1 / -1;width:100%;max-width:none;margin-inline:0}
.dgn-block-content > :is(.hero,.editorial,.community,.bottom-cta,.page-intro){padding-inline:max(var(--space),calc((100% - var(--max)) / 2 + var(--space)))}
.dgn-block-content > .dgn-editorial-text{width:100%;max-width:800px;justify-self:center}
.dgn-block-content > .alignwide{grid-column:1 / -1;width:calc(100% - 2 * var(--space));justify-self:center}
.dgn-block-content .dgn-cinema-caption{left:max(var(--space),calc((100% - var(--max)) / 2 + var(--space)))}
.dgn-block-content .dgn-motion-control{right:max(var(--space),calc((100% - var(--max)) / 2 + var(--space)))}
