/* 이 페이지에서만 쓰는 모양(엔진이 이 페이지에서만 공용 뒤에 붙임). 여러 페이지가 쓰는 모양은 공용 common/base.css (2026-11-09 공용 + 페이지별) */
.dd-hero, .dd-sec { min-height: 100vh; min-height: 100svh; scroll-snap-align: start; scroll-snap-stop: always; }
.dd-sec > .wrap { width: 100%; }
.dd-hero { --hero-ink: #231d17; position: relative; height: 100vh; height: 100svh; overflow: hidden; background: #e9dccb; color: var(--hero-ink); word-break: keep-all; }
.dd-hero-photo, .dd-hero-item, .dd-hero-bg { position: absolute; inset: 0; }
.dd-hero-due { margin: 8px 0 0; font-size: 18px; white-space: nowrap; font-weight: 800; color: var(--brand); }
.dd-hero-date { margin: 0; font-size: clamp(36px, 5.4vh, 48px); font-weight: 800; line-height: 1.2; letter-spacing: -.03em; }
.dd-hero-wait .dd-load { gap: 4px; }
.dd-hero-menu { width: 100%; margin-top: clamp(24px, 4vh, 36px); }
.dd-hero-menu li::before { content: counter(m, decimal-leading-zero); font-size: 17px; font-weight: 800; color: var(--brand); font-variant-numeric: tabular-nums; }
.dd-sec.dd-gal { position: relative; height: 100vh; height: 100svh; justify-content: flex-start; padding: 0 0 32px; }
.dd-sec.dd-gal::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 2; height: calc(var(--dd-hd) + 48px); background: linear-gradient(to bottom, rgba(24, 16, 9, .42), rgba(24, 16, 9, 0)); pointer-events: none; }
.dd-sec.dd-gal .dd-gal-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dd-sec.dd-gal .dd-gal-item:nth-child(n) { display: block; aspect-ratio: auto; clip-path: inset(2px); }
.dd-sec.dd-gal .dd-gal-all:hover { background: var(--brand); color: #fff; }
.dd-sec.dd-gal .dd-gal-cap { left: 22px; right: 22px; bottom: 20px; gap: 4px; }
.dd-sec.dd-gal .dd-gal-date { font-size: 14px; }
.dd-sec.dd-gal .dd-gal-name { font-size: 21px; }
.dd-sec.dd-gal .dd-gal-new { left: 16px; top: calc(var(--dd-hd) + 8px); z-index: 3; padding: 6px 12px; border-radius: 99px; background: rgba(24, 16, 9, .55); font-size: 14px; }
.dd-sec.dd-gal .is-low .dd-gal-cap { bottom: 100px; }
.dd-sec.dd-gal .dd-gal-all.is-low { padding-bottom: 80px; }
@media (max-width: 1023px){
.dd-sec.dd-gal { padding: 0 0 calc(30px + env(safe-area-inset-bottom)); }
.dd-sec.dd-gal .dd-gal-all { gap: 6px; font-size: 16px; }
.dd-sec.dd-gal .dd-gal-cap { left: 14px; right: 14px; bottom: 12px; gap: 2px; }
.dd-sec.dd-gal .dd-gal-date { font-size: 11.5px; }
.dd-sec.dd-gal .dd-gal-name { font-size: 15px; }
.dd-sec.dd-gal .dd-gal-new { left: 10px; top: calc(var(--dd-hd) + 6px); padding: 5px 10px; font-size: 11.5px; }
.dd-sec.dd-gal .is-low .dd-gal-cap { bottom: 80px; }
.dd-sec.dd-gal .dd-gal-all.is-low { padding-bottom: 68px; }
}
@media (min-width: 768px) and (max-width: 1023px){
.dd-sec.dd-gal .dd-gal-grid { --c: 3; }
}
.dd-rev { padding-bottom: 0; background: var(--brand); color: var(--ink); }
.dd-rev .dd-eb { color: var(--ink); }
.dd-rev { padding-top: calc(var(--dd-hd) + var(--s1)); }
.dd-rev-avg { font-family: var(--font-logo); font-weight: 900; font-size: 110px; line-height: 1; }
.dd-stars { color: var(--brand); font-size: var(--t5); letter-spacing: 2px; }
.dd-rev .dd-stars { color: #fff; }
.dd-rev-count { margin: var(--s0) 0 var(--s2); font-size: var(--t1); color: var(--ink-2); }
.dd-rev .dd-rev-count { color: var(--ink); }
.dd-bars i::before { content: ""; display: block; height: 100%; width: var(--w, 0%); background: var(--ink); }
.dd-quote { position: relative; transition: opacity var(--t-slow) var(--ease); }
.dd-quote.is-fade { opacity: 0; }
.dd-quote-who { grid-column: 2; font-size: 17px; text-align: center; }
@media (min-width: 1024px){
.dd-rev { height: 100vh; height: 100svh; justify-content: flex-start; }
.dd-rev-avg { font-size: min(110px, 10vh); }
.dd-quote-text { font-size: min(clamp(22px, 2.3vw, 32px), 3.2vh); -webkit-line-clamp: 3; }
}
@media (max-width: 1023px){
.dd-rev { height: 100vh; height: 100svh; justify-content: flex-start; padding-top: calc(var(--dd-hd) + 4px); }
.dd-rev-top > div:first-child > :not(.dd-bars) { grid-column: 1; }
.dd-bars { grid-column: 2; grid-row: 1 / span 3; gap: 3px; font-size: 11px; }
.dd-rev-avg { font-size: min(60px, 7.6vh); }
.dd-rev .dd-stars { font-size: 14px; letter-spacing: 1px; }
.dd-rev-count { margin: 2px 0 0; font-size: 12px; }
.dd-quote-text { margin: 2px 8px 0; font-size: min(17px, 2.3vh); line-height: 1.5; -webkit-line-clamp: 3; }
.dd-quote-foot { margin-top: min(12px, 1.5vh); }
.dd-quote-who { font-size: 13px; }
}
@media (max-width: 767px){
.dd-hero-bg { transform-origin: 50% 30%; }
.dd-hero-text { inset: 0; width: auto; max-width: none; padding: calc(var(--hd-bar) + 8px) 24px 104px; justify-content: center; }
.dd-hero-due { font-size: 15px; }
.dd-hero-date { font-size: 30px; }
.dd-hero-due { margin-top: 6px; }
.dd-hero-wait { margin-bottom: 12px; padding: 7px 13px; font-size: 13px; }
.dd-hero-menu { margin-top: 26px; }
.dd-hero-menu ol { gap: 12px; }
.dd-hero-menu li::before { font-size: 14px; }
}
@media (min-width: 1024px) and (max-height: 839px){
.dd-rev .dd-flow { justify-content: center; }
}
@media (max-width: 1023px) and (max-height: 700px){
.dd-rev .dd-quote-text { -webkit-line-clamp: 2; }
}
@media (max-width: 1023px) and (max-height: 872px){
.dd-rev .dd-flow { justify-content: center; }
.dd-rev .dd-flow-row { max-height: 340px; }
}
