/* Deadly Dutch High world hub */
.ddh-hero{position:relative;min-height:650px;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}.ddh-hero-bg{position:absolute;inset:0;background:url('../images/stories/ddh-card-bg.webp') center/cover no-repeat;filter:saturate(.72) contrast(1.08);transform:scale(1.05);z-index:-3}.ddh-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,7,10,.98) 0%,rgba(6,7,10,.9) 42%,rgba(6,7,10,.48) 72%,rgba(6,7,10,.82) 100%),linear-gradient(180deg,rgba(7,8,11,.18),#08080c 100%);z-index:-2}.ddh-hero::after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,#08080c);z-index:-1}.ddh-hero-inner{min-height:650px;padding-top:76px;padding-bottom:76px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:64px;align-items:center}.ddh-hero-copy{max-width:780px}.ddh-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,7vw,7.3rem);line-height:.88;font-weight:500;letter-spacing:-.055em;margin:0;max-width:760px}.ddh-lede{max-width:690px;color:#ddd5da;font-size:clamp(1rem,1.35vw,1.17rem);line-height:1.7;margin:24px 0}.ddh-actions{display:flex;gap:12px;flex-wrap:wrap}.ddh-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.ddh-tags span{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(8,8,12,.42);font-size:.72rem;color:#d8cfd4}.ddh-book-panel{display:grid;grid-template-columns:168px 1fr;gap:22px;align-items:end;background:linear-gradient(145deg,rgba(14,12,17,.9),rgba(9,9,13,.72));border:1px solid rgba(255,255,255,.13);border-radius:26px;padding:22px;box-shadow:0 34px 85px rgba(0,0,0,.46);backdrop-filter:blur(8px)}.ddh-book-cover img{width:100%;border-radius:16px;box-shadow:0 22px 48px rgba(0,0,0,.45)}.ddh-book-panel h2{font-family:Georgia,serif;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:500;line-height:1.02;margin:0 0 12px}.ddh-book-panel p{color:#cfc5cb}.ddh-book-panel .panel-kicker{margin-bottom:12px}
.ddh-intro{padding-top:86px;padding-bottom:86px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:56px;align-items:center}.ddh-intro h2,.ddh-history h2,.ddh-characters h2,.ddh-paths h2,.ddh-preview h2,.ddh-play h2,.ddh-closing h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;line-height:1.02}.ddh-intro h2{font-size:clamp(2.3rem,4vw,4rem);margin:0 0 20px}.ddh-intro-copy>p:not(.eyebrow){color:var(--muted);font-size:1.02rem;line-height:1.75}.ddh-rule-card{position:relative;padding:30px;border-radius:24px;border:1px solid rgba(195,53,76,.28);background:radial-gradient(circle at 90% 10%,rgba(170,39,61,.16),transparent 35%),rgba(255,255,255,.025)}.ddh-rule-card blockquote{font-family:Georgia,serif;font-size:clamp(1.65rem,2.8vw,2.6rem);line-height:1.16;margin:0 0 18px;color:#f2e8ec}.ddh-rule-card span{color:#bfb4ba}.ddh-rule-card::after{content:"";position:absolute;right:22px;bottom:22px;width:8px;height:8px;border-radius:50%;background:#d74a63;box-shadow:0 0 24px #d74a63}
.ddh-history{padding:86px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}.ddh-history .section-heading,.ddh-characters .section-heading,.ddh-paths .section-heading,.ddh-play .section-heading{max-width:800px;margin-bottom:32px}.ddh-history h2,.ddh-characters h2,.ddh-paths h2,.ddh-play h2{font-size:clamp(2.25rem,4vw,4rem);margin:0 0 14px}.ddh-history .section-heading>p:not(.eyebrow),.ddh-characters .section-heading>p:not(.eyebrow){color:var(--muted);line-height:1.7}.ddh-history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ddh-history-card{position:relative;min-height:260px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.01));overflow:hidden}.ddh-history-card::before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:linear-gradient(#b9324b,transparent)}.ddh-history-no{display:block;color:#d75c72;font-size:.72rem;letter-spacing:.18em;margin-bottom:46px}.ddh-history-card h3{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 12px}.ddh-history-card p{color:var(--muted);line-height:1.65}
.ddh-characters{padding-top:88px;padding-bottom:88px}.ddh-character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ddh-character-card{display:grid;grid-template-columns:80px 1fr;gap:18px;min-height:255px;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 22px 62px rgba(0,0,0,.14)}.ddh-character-sigil{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;font-family:Georgia,serif;font-size:2rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.035)}.ddh-character-card.nor .ddh-character-sigil{box-shadow:inset 0 0 30px rgba(67,142,103,.2)}.ddh-character-card.kim .ddh-character-sigil{box-shadow:inset 0 0 30px rgba(130,99,168,.22)}.ddh-character-card.ema .ddh-character-sigil{box-shadow:inset 0 0 30px rgba(185,44,67,.22)}.ddh-character-role{font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:#cbbdc4}.ddh-character-card h3{font-family:Georgia,serif;font-size:1.9rem;margin:7px 0 10px}.ddh-character-card p{color:var(--muted);line-height:1.6}.ddh-character-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ddh-character-meta span{font-size:.7rem;border:1px solid var(--line);padding:5px 8px;border-radius:999px;color:#ddd3d8}
.ddh-paths{padding:86px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 18% 0%,rgba(96,50,118,.09),transparent 28%)}.ddh-path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ddh-path{position:relative;display:flex;flex-direction:column;min-height:250px;padding:24px;border:1px solid var(--line);border-radius:22px;text-decoration:none;background:rgba(255,255,255,.022);transition:.22s ease}.ddh-path:hover{transform:translateY(-4px);border-color:rgba(215,76,99,.36);background:rgba(255,255,255,.035)}.ddh-path>span{font-size:.68rem;letter-spacing:.18em;color:#d56779}.ddh-path strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:500;margin:28px 0 12px}.ddh-path p{color:var(--muted);line-height:1.6;margin:0}.ddh-path i{font-style:normal;margin-top:auto;font-size:1.35rem;color:#d55c70}
.ddh-preview{padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:46px;align-items:center}.ddh-preview h2{font-size:clamp(2.2rem,4vw,4rem);margin:0 0 16px}.ddh-preview-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7}.ddh-preview-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.ddh-video-card{overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#050509;box-shadow:0 26px 72px rgba(0,0,0,.35)}.ddh-video-card video{display:block;width:100%;aspect-ratio:16/9;background:#050509;object-fit:cover}
.ddh-play{padding-top:86px;padding-bottom:86px;border-top:1px solid var(--line)}.ddh-play-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ddh-play-card{padding:28px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}.ddh-status{display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid rgba(209,70,93,.32);font-size:.68rem;letter-spacing:.16em;color:#e07c8e}.ddh-play-card h3{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:18px 0 12px}.ddh-play-card p{color:var(--muted);line-height:1.7}.ddh-closing{margin-top:12px;margin-bottom:84px;padding-top:36px;padding-bottom:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:28px}.ddh-closing h2{font-size:clamp(2rem,3.4vw,3.4rem);max-width:840px;margin:0}
@media(max-width:1050px){.ddh-hero-inner,.ddh-intro,.ddh-preview{grid-template-columns:1fr}.ddh-book-panel{max-width:700px}.ddh-history-grid,.ddh-path-grid{grid-template-columns:1fr 1fr}.ddh-character-grid{grid-template-columns:1fr}.ddh-character-card{min-height:auto}}
@media(max-width:700px){.ddh-hero{min-height:auto}.ddh-hero-inner{min-height:auto;padding-top:58px;padding-bottom:64px;gap:38px}.ddh-hero h1{font-size:clamp(3.1rem,18vw,5rem)}.ddh-book-panel{grid-template-columns:120px 1fr}.ddh-history-grid,.ddh-path-grid,.ddh-play-grid{grid-template-columns:1fr}.ddh-character-card{grid-template-columns:62px 1fr;padding:20px}.ddh-character-sigil{width:58px;height:58px;border-radius:18px}.ddh-closing{align-items:flex-start;flex-direction:column}.ddh-intro,.ddh-history,.ddh-characters,.ddh-paths,.ddh-preview,.ddh-play{padding-top:66px;padding-bottom:66px}}
@media(max-width:480px){.ddh-book-panel{grid-template-columns:1fr}.ddh-book-cover{max-width:180px}.ddh-character-card{grid-template-columns:1fr}.ddh-path{min-height:220px}}
@media(prefers-reduced-motion:reduce){.ddh-path{transition:none}.ddh-path:hover{transform:none}}

/* =========================================================
   DDH v0.1.1 — hero balance + book-cover aspect-ratio fix
   ========================================================= */
.ddh-hero{min-height:520px}
.ddh-hero-inner{
  min-height:520px;
  padding-top:54px;
  padding-bottom:54px;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:44px;
}
.ddh-hero-copy{max-width:680px}
.ddh-lede{margin:18px 0 20px;max-width:650px}
.ddh-tags{margin-top:18px}

.ddh-book-panel{
  grid-template-columns:145px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:20px;
  border-radius:22px;
  max-width:520px;
  justify-self:end;
}
.ddh-book-cover{
  width:145px;
  align-self:start;
}
.ddh-book-cover img{
  display:block;
  width:145px;
  max-width:100%;
  height:auto!important;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:12px;
}
.ddh-book-panel .panel-kicker{margin-bottom:8px}
.ddh-book-panel>div:last-child>p:not(.panel-kicker){margin:8px 0 12px;line-height:1.55}

@media(max-width:1050px){
  .ddh-hero-inner{grid-template-columns:1fr;min-height:auto}
  .ddh-book-panel{justify-self:start;max-width:620px}
}
@media(max-width:700px){
  .ddh-hero-inner{padding-top:46px;padding-bottom:50px}
  .ddh-book-panel{grid-template-columns:110px minmax(0,1fr);gap:16px;padding:16px}
  .ddh-book-cover,.ddh-book-cover img{width:110px}
}
@media(max-width:480px){
  .ddh-book-panel{grid-template-columns:96px minmax(0,1fr)}
  .ddh-book-cover,.ddh-book-cover img{width:96px}
}
