/* Brand coherence pass: palette roles, editorial rhythm and accessible states.
 * Original DreamGuild identity; retains approved hero motion and foil artwork. */
:root{--dg-content:1200px;--dg-radius:20px;--dg-reading:62ch}
/* Licensed LS Graphics illustrations. Provenance: docs/hero-artwork-manifest.json.
 * Decorative, static, unique per page; never obstruct controls or readable copy. */
body .e-con.dg-art-hero{position:relative;isolation:isolate;overflow:hidden}
body .dg-art-hero>.e-con-inner{position:static}
body .dg-art-hero .dg-hero-artwork{position:absolute!important;top:0;right:0;width:52%!important;height:100%;max-width:none!important;margin:0!important;pointer-events:none;z-index:-1;opacity:.78;mask-image:linear-gradient(to left,#000 0%,#000 24%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 25%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to left,#000 0%,#000 24%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 25%,transparent 100%);-webkit-mask-composite:source-in}
body .dg-hero-artwork .elementor-widget-container{height:100%}
body .dg-hero-artwork img{display:block;width:100%;height:100%;object-fit:cover;object-position:right top;border-radius:0;box-shadow:none}
body.dg-forge .dg-hero-artwork.dg-art-glow-cascade{mix-blend-mode:screen;opacity:.86}
@media(max-width:767px){body .dg-art-hero .dg-hero-artwork{width:65%!important;height:190px;opacity:.24}body.dg-forge .dg-art-hero .dg-hero-artwork{opacity:.24}}
@media(forced-colors:active){body .dg-art-hero .dg-hero-artwork{display:none}}
/* Leadership portraits retain their native detail; no synthetic enlargement. */
body .e-con.dg-leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding:0}
body .e-con.dg-leader-card{padding:32px 0;border-top:1px solid #c5b3e3;gap:20px;align-items:flex-start;min-width:0}
body .dg-leader-portrait img{display:block;width:200px;height:200px;aspect-ratio:1;object-fit:cover;border-radius:20px}
body .dg-leader-role{font-size:17px;max-width:32ch;color:#594a68}
body .dg-leader-placeholder{display:grid;place-items:center;width:200px;height:200px;border-radius:20px;background:#eae3f1;color:#5c068b;font:600 48px/1 Outfit,sans-serif}
@media(max-width:700px){body .e-con.dg-leadership-grid{grid-template-columns:1fr;gap:24px}body .e-con.dg-leader-card{padding:24px 0}}
body{line-height:1.6}
body .elementor :is(h1,h2,h3){letter-spacing:-.025em;overflow-wrap:break-word}
body .elementor h1{line-height:1.08}
body .elementor h2{line-height:1.16}
body .elementor h3{line-height:1.25;letter-spacing:-.015em}
body .elementor .elementor-widget-heading{max-width:100%}
body .elementor .elementor-widget-heading h2{max-width:25ch}
body .elementor .elementor-widget-text-editor{max-width:var(--dg-reading)}
body .elementor .elementor-widget-text-editor p{max-width:var(--dg-reading)}
body .elementor .dg-lede{max-width:52ch!important}
body .e-con.dg-section{padding-block:clamp(56px,6.5vw,96px)}
body .e-con:is(.dg-offer-card,.dg-benefit-card,.dg-industry-card){border-radius:var(--dg-radius);gap:16px}
body .dg-offer-card :is(h2,h3){max-width:26ch}
body .dg-eyebrow{letter-spacing:.09em;line-height:1.6}

/* DreamGuild owns violet. FORGE owns Lantern actions. Light-on-dark navigation
 * is deliberately separate from both content palettes. */
body:not(.dg-forge) .elementor .elementor-widget-button:not(.dg-text-link):not(.dg-secondary) .elementor-button,
body:not(.dg-forge) :is(.dg-button,button[type=submit]){background:var(--royal)!important;color:var(--paper)!important;border:1px solid var(--moon);box-shadow:none}
body:not(.dg-forge) .elementor .elementor-widget-button:not(.dg-text-link):not(.dg-secondary) .elementor-button:hover,
body:not(.dg-forge) :is(.dg-button,button[type=submit]):hover{background:var(--realm)!important;color:var(--paper)!important}
body:not(.dg-forge) :is(.dg-nav .dg-nav-cta,.dg-footer-cta){background:var(--paper)!important;color:var(--realm)!important;border:1px solid var(--paper)}
body:not(.dg-forge) :is(.dg-nav .dg-nav-cta,.dg-footer-cta):hover{background:var(--moon)!important;color:var(--realm)!important}
body .dg-text-link .elementor-button{text-decoration:none!important;text-decoration-thickness:2px!important;text-underline-offset:2px!important;text-decoration-skip-ink:auto;box-shadow:none!important}
body .dg-text-link .elementor-button:is(:hover,:focus-visible){text-decoration:underline!important;text-decoration-thickness:2px!important}
body .dg-footer{background:var(--realm)}
body.dg-forge .dg-footer{background:#171020}
body .dg-footer-invitation{background:transparent;box-shadow:none;border-radius:0;border:0;border-bottom:1px solid #c5b3e360;padding:16px 0 48px}
body .dg-footer .dg-footer-invitation{background:transparent!important;backdrop-filter:none;border-bottom:1px solid #c5b3e360!important}
/* Company templates previously overrode approved H02 with Royal on Deep Realm. */
body .dg-approved-surface.dg-live-h02 .dg-accent,
body .dg-approved-surface.dg-live-h02 .dg-accent span{color:var(--wish)!important;-webkit-text-fill-color:var(--wish)!important}
body .dg-footer-legal,body .dg-footer-legal a,body .dg-footer-bottom{font-size:12px;line-height:1.6}
body .dg-footer li a{text-decoration:none}
body .dg-footer li a:is(:hover,:focus-visible){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}

/* Give primary browsing a different rhythm from product/benefit cards. */
@media(min-width:1100px){.dg-page-forge .dg-discovery-entry .dg-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.dg-page-forge .dg-discovery-entry .dg-route-card{background:#261b35;border-color:#695a7e}
.dg-page-forge .dg-discovery-entry .dg-route-card h3{font-size:24px}
.dg-page-forge .dg-discovery-entry .dg-route-card p{font-size:17px}
.dg-page-forge .dg-pillar-index .dg-offer-grid{grid-template-columns:1fr;gap:0;counter-reset:pillar}
.dg-page-forge .dg-pillar-index .dg-offer-card{counter-increment:pillar;border:0;border-top:1px solid #695a7e;border-radius:0;padding:28px 0;display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1.5fr) minmax(180px,1fr);align-items:center;gap:24px;background:transparent}
.dg-page-forge .dg-pillar-index .dg-offer-card>.dg-eyebrow{display:none}
.dg-page-forge .dg-pillar-index .dg-offer-card h3{font-size:24px}
.dg-page-forge .dg-pillar-index .dg-offer-card p{margin:0;font-size:17px}
.dg-page-forge .dg-pillar-index .dg-offer-card .elementor-widget-button{margin:0}
.dg-page-forge .dg-glass-demo{background:var(--realm)!important}
.dg-page-forge .dg-glass-demo .dg-glass-light{background:#fffaf4!important;backdrop-filter:none;box-shadow:none}
.dg-page-forge .dg-glass-demo .dg-glass-dark{background:#20152e!important;backdrop-filter:none;box-shadow:none}

/* Restore a legible brand colorway for the large decorative submark. */
body.home .e-con.dg-lilac:has(.dg-lettermark){background:var(--royal)!important;color:var(--paper)!important}
body.home .dg-lilac:has(.dg-lettermark) :is(h2,p,.elementor-button){color:var(--paper)!important}
body.home .dg-lilac:has(.dg-lettermark) .dg-lettermark{opacity:1}
/* Supplied transparent submark: retain geometry, clear space and flat brand color. */
body.home .dg-foundation-section .dg-foundation-mark{padding:clamp(24px,4vw,56px);width:100%}
body.home .dg-foundation-section .dg-foundation-mark img{display:block;width:100%;max-width:320px;height:auto!important;aspect-ratio:auto!important;object-fit:contain;border-radius:0!important;background:transparent;filter:none;opacity:1;box-shadow:none;margin-inline:auto}
/* Editorial photography uses a consistent crop, separate from readable card copy. */
.dg-page-studio .dg-studio-photo-card{overflow:hidden}
.dg-page-studio .dg-studio-photograph{width:100%;margin-bottom:12px}
.dg-page-studio .dg-studio-photograph img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.dg-page-studio .dg-studio-photograph figcaption{font-size:12px;line-height:1.5;color:var(--realm);text-align:left;margin-top:12px}
/* Editorial photographs are assigned to one page; provenance is internal. */
.dg-page-forge .dg-forge-pattern img{display:block;width:112px!important;height:112px!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important}
@media(max-width:800px){.dg-page-forge .dg-forge-pattern img{width:88px!important;height:88px!important}}
.e-con.dg-editorial-photo-section{padding-top:0;padding-bottom:56px}
.dg-editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:24px}
.dg-page-games .e-con.dg-hero-home{background-image:linear-gradient(125deg,#2d1a47,#313daf)!important}
@media(max-width:767px){.dg-editorial-photo img{aspect-ratio:3/2;border-radius:16px}.e-con.dg-editorial-photo-section{padding-bottom:32px}}
body .dg-collectible{box-shadow:none!important;background:var(--paper)!important;border-radius:22px!important}
body .dg-collectible::before{display:none}
body .dg-collectible:is(:hover,:focus-within){transform:translateY(-2px)}

/* Robust reflow and text-spacing: never clip long service names or controls. */
body :is(.dg-offer-card,.dg-finder-card,.dg-benefit-card,.dg-editorial-card){min-width:0;overflow-wrap:break-word}
body :is(input,select,textarea){max-width:100%}
@media(max-width:700px){
 body.dg-landing-header.dg-page-forge .dg-hero-forge{padding-top:calc(var(--dg-expanded-header-height,178px) + 40px)!important}
 body .e-con.dg-section{padding-inline:24px}
 body .elementor .dg-hero h1{font-size:clamp(36px,8.5vw,48px);max-width:100%}
 body .elementor h2{font-size:32px}
 body .elementor h3{font-size:24px}
 .dg-page-forge .dg-pillar-index .dg-offer-card{grid-template-columns:1fr;gap:12px}
 body .dg-footer-invitation{padding:0 0 32px}
 body .dg-footer-invitation h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){body .dg-collectible{transition:none;transform:none!important}}

/* Design refinement: hierarchy belongs to content, materials to context.
 * DreamGuild palette and Outfit remain authoritative. See Site Notation. */
:root{--dg-space-section:clamp(56px,6vw,88px);--dg-space-card:clamp(24px,3vw,32px)}
body .e-con.dg-section:not(.dg-hero){padding-block:var(--dg-space-section)}
body .elementor :is(h1,h2,h3){text-wrap:balance}
body .elementor .dg-lede{font-weight:400;line-height:1.6;max-width:48ch!important}
body .elementor .dg-lede p{margin-block:0}
body .elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
body .e-con:is(.dg-offer-card,.dg-benefit-card,.dg-industry-card){padding:var(--dg-space-card);gap:16px}
body .e-con.dg-actions{gap:12px 24px}
body .dg-text-link .elementor-button{padding-inline:0;min-height:44px;line-height:1.5;text-align:left}
body .dg-text-link .elementor-button::after{font-size:20px;margin-left:10px}
body .dg-text-link .elementor-button-text{overflow-wrap:break-word}
body .dg-finder-card h3{font-size:clamp(22px,2vw,26px);line-height:1.25}
body .dg-finder-card{border-radius:20px;gap:16px}
body .dg-prose{max-width:68ch}
body .dg-prose :is(p,li){line-height:1.65}
body .dg-prose h2{margin-top:2em;max-width:25ch}

/* Content cards retain a quiet material edge, with a nearly opaque reading bed.
 * The approved liquid hero and holographic artwork keep their distinct roles. */
body :is(.dg-glass-light,.dg-live-g01){background:#fffaf4f5!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #fff,0 8px 24px #21133412}
body :is(.dg-glass-dark,.dg-live-g02){background:#211334f5!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff24,0 8px 24px #10072018}
body .dg-page-path-inner{gap:16px}
body .dg-depth-label{font-size:12px}
body .dg-depth li{font-size:11px}
body .dg-docked-breadcrumb a:focus-visible{outline-offset:-3px}

@media(max-width:1000px){
 .dg-page-forge .dg-pillar-index .dg-offer-card{grid-template-columns:1fr;gap:12px}
 body .dg-page-path-inner{padding-inline:24px}
}
@media(max-width:700px){
 body .elementor .dg-hero .dg-lede{font-size:18px;line-height:1.6}
 body .elementor h2{font-size:clamp(28px,7.5vw,32px)}
 body .elementor h3{font-size:clamp(22px,6vw,24px)}
 body .e-con.dg-section:not(.dg-hero){padding-block:56px}
 body .e-con:is(.dg-offer-card,.dg-benefit-card,.dg-industry-card){padding:24px}
 body .dg-page-path-inner{gap:0;min-height:90px;padding-bottom:8px}
 body .dg-header.is-compact .dg-page-path-inner{min-height:84px}
 body .dg-depth{gap:8px;align-items:center}
 body .dg-depth-label{min-width:0;flex:0 0 100px;line-height:1.4}
 body .dg-depth ol{min-width:0}
 body .dg-depth li{min-width:0;overflow-wrap:break-word}
 body .dg-page-path-inner:not(:has(.dg-depth)){min-height:48px}
 body .dg-discovery-links.e-con{flex-direction:column;align-items:flex-start;gap:8px}
 body .dg-finder-controls :is(input,select),body .dg-form :is(input,select,textarea),body .woocommerce form .form-row :is(input,select,textarea){font-size:16px}
 body .dg-footer-top{gap:32px 24px}
}
@media(max-width:380px){
 body .e-con.dg-section{padding-inline:20px}
 body .dg-page-path-inner{padding-inline:20px}
 body .dg-footer-top{grid-template-columns:1fr}
}
/* Keep preference controls functional without glass or animated depth. */
.dg-reduced-motion body .dg-collectible:is(:hover,:focus-within){transform:none!important}
@media(prefers-reduced-transparency:reduce){
 body :is(.dg-glass-light,.dg-live-g01,.dg-path-card.e-con){background:#fffaf4!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 body :is(.dg-glass-dark,.dg-live-g02){background:#211334!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 body .dg-fluid-lens{backdrop-filter:none;-webkit-backdrop-filter:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 body :is(.dg-glass-light,.dg-live-g01){background:#fffaf4!important}
 body :is(.dg-glass-dark,.dg-live-g02){background:#211334!important}
}
@media(forced-colors:active){
 body .dg-approved-surface.dg-live-h02 .dg-accent,
 body .dg-approved-surface.dg-live-h02 .dg-accent span{color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}
 body :is(.dg-glass-light,.dg-live-g01,.dg-glass-dark,.dg-live-g02,.dg-path-card.e-con){background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
 body .dg-depth li.is-reached{border-color:Highlight!important}
 body .dg-depth li[aria-current=step]{color:CanvasText!important}
 body .dg-page-controls .dg-access-icon{forced-color-adjust:none;background:ButtonText}
}

/* Mobile launch refinement: shared targets, dynamic viewport, stable glass compositing. */
html{color-scheme:light;background:#1a102b}
body{min-height:100dvh}
body .dg-header.is-scrolled,body .dg-header.is-compact,body .dg-header.is-menu-open{background:rgba(26,16,43,.94)!important;border-bottom-color:#c5b3e333;box-shadow:0 5px 24px #10072026;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.dg-landing-header .dg-header:not(.is-scrolled):not(.is-compact):not(.is-menu-open){background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.dg-header .dg-menu{width:48px;height:48px;min-width:48px;min-height:48px;padding:0;align-items:center;justify-content:center;border-radius:50%}
.dg-header .dg-menu .dg-icon{font-size:29.664px;line-height:1;font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 24}
@media(max-width:1000px){.dg-header .dg-menu{display:flex}}
body .dg-page-controls :is(.dg-access-wrap,.dg-top-wrap){width:48px;height:48px}
body .dg-page-controls :is(.dg-access-toggle,.dg-back-top){box-sizing:border-box;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;flex:none}
body .dg-page-controls :is(.dg-access-icon,.dg-back-top .dg-icon){width:29.664px;height:29.664px;font-size:29.664px;line-height:1;display:block}
body .dg-story-intro :is(h1,.elementor-heading-title,p){text-align:center!important;margin-inline:auto}
.dg-scroll-story.is-enhanced:not(.is-static) .dg-story-stage{height:calc(100dvh - var(--header))}
/* Positive stacking keeps video/poster surfaces visible in WebKit. */
.dg-film video{z-index:0}.dg-film::before{z-index:1;pointer-events:none}.dg-film-copy{position:relative;z-index:2}.dg-film [data-dg-video-toggle]{z-index:3}
@media(max-width:800px){
 body .dg-scroll-story.is-static .dg-story-stage{padding-bottom:48px!important;overflow:hidden;isolation:isolate}
 body .dg-scroll-story.is-static .dg-story-intro.e-con{box-sizing:border-box;min-height:100dvh;width:100%;max-width:none;justify-content:center;align-items:center;margin:0;padding:calc(var(--dg-nav-expanded,72px) + env(safe-area-inset-top) + 24px) 24px 140px!important;gap:24px}
 body .dg-story-intro h1{font-size:clamp(40px,10.5vw,76px);line-height:1.04;letter-spacing:-.045em}
 body .dg-story-intro .dg-eyebrow{font-size:11px;letter-spacing:.1em}
 body .dg-story-intro .dg-story-lede{font-size:16px;line-height:1.55}
 body .dg-scroll-story.is-static .dg-story-stage>.dg-story-docks.e-con{position:absolute;top:calc(100dvh - 120px);left:0;transform:translateY(-50%);margin:0;width:100%;opacity:1}
 body .dg-story-docks .dg-story-dock .elementor-button{height:160px;min-height:160px;font-size:15px!important}
 /* Avoid a moving backdrop-filter sampling the browser's top viewport edge. */
 body .dg-fluid-lens{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 0 28px #c5b3e316;background:linear-gradient(135deg,#c5b3e314,transparent 55%,#2ad2c912);animation:dg-mobile-liquid 28s ease-in-out infinite alternate;will-change:transform}
 body .dg-fluid-scene{contain:paint;isolation:isolate}
 body .dg-fluid-scene i{filter:none;min-width:0;min-height:0;width:150%;height:110%;opacity:.45;animation-name:dg-mobile-liquid}
 body .dg-fluid-scene i:nth-child(2){opacity:.32}body .dg-fluid-scene i:nth-child(3){opacity:.22}
}
@keyframes dg-mobile-liquid{from{transform:translate3d(0,0,0) rotate(-8deg)}to{transform:translate3d(-4%,5%,0) rotate(6deg)}}
@media(prefers-reduced-motion:reduce){body .dg-fluid-scene *{animation:none!important}}
@media(prefers-reduced-transparency:reduce){body .dg-header.is-scrolled,body .dg-header.is-compact{background:#1a102b!important;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){body .dg-header{background:Canvas!important;backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Keep the tab labels above the fixed controls; preserve visible color in abstract films. */
@media(max-width:800px){body .dg-scroll-story.is-static .dg-story-stage>.dg-story-docks.e-con{top:calc(100dvh - 160px)}}
.dg-film video{filter:brightness(1.2)}
.dg-film::before{background:linear-gradient(0deg,#160d25ed,#160d2566 65%,#160d2526)}
/* The narrow layout must be correct before the enhancement script runs. */
@media(max-width:800px){body .dg-scroll-story:not(.is-enhanced) .dg-story-intro.e-con{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:100dvh;box-sizing:border-box;justify-content:center;margin:0;padding:calc(var(--dg-nav-expanded,72px) + env(safe-area-inset-top) + 24px) 24px 140px!important;gap:24px}}
/* Separate the footer invitation eyebrow from its top divider at every breakpoint. */
body .dg-footer .dg-footer-invitation{padding-top:32px}
/* Breadcrumb-only pages must not inherit the two-row offering-depth height. */
@media(max-width:700px){body .dg-header .dg-page-path-inner:not(:has(.dg-depth)),body .dg-header.is-compact .dg-page-path-inner:not(:has(.dg-depth)){box-sizing:border-box;min-height:48px;padding-block:2px;justify-content:center}}
/* Unframed 18px navigation glyph; retain an accessible 48px touch area. */
body .dg-header .dg-menu,body .dg-header .dg-menu:hover,body .dg-header .dg-menu:active{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;padding:0}
body .dg-header .dg-menu .dg-icon{width:18px;height:18px;font-size:18px;line-height:1}
body .dg-header .dg-menu:focus-visible{outline:2px solid var(--paper,#fffaf4);outline-offset:2px}

/* Section-owned playback control; Back to top begins after the hero. */
body .dg-page-controls .dg-top-wrap[hidden]{display:none!important}
body .dg-story-stage>.dg-motion{position:absolute;z-index:8;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;background:#211f26;color:#fffaf4;border:1px solid #fffaf44d;box-shadow:0 0 16px -3px #f4da40;cursor:pointer}
body .dg-story-stage>.dg-motion .dg-icon{width:29.664px;height:29.664px;font-size:29.664px;line-height:1}
body .dg-story-stage>.dg-motion:hover{background:#f4da40;color:#2d1a47}
body .dg-story-stage>.dg-motion:focus-visible{outline:3px solid #f4da40;outline-offset:4px}
body .dg-story-stage>.dg-motion:disabled{opacity:.55;cursor:default}
@media(max-width:800px){body .dg-story-stage>.dg-motion{top:calc(100dvh - 48px - max(16px,env(safe-area-inset-bottom)));bottom:auto}}
