@font-face{font-family:DohwaSerifFull;src:url('../assets/fonts/dohwa/NotoSerifKR.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:DohwaSerif;src:url('../assets/fonts/dohwa/NotoSerifKR-korean-complete.woff2') format('woff2');font-weight:200 900;font-display:swap}
.dohwa-art{position:relative;width:100%;aspect-ratio:var(--art-w)/var(--art-h);margin:0;container-type:inline-size;background:#000;isolation:isolate}
.dohwa-art-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-top),#000 var(--fade-bottom),transparent 100%)}
.dohwa-caption{position:absolute;left:5%;right:5%;text-align:center;color:#f6ead9;text-shadow:0 2px 18px #000,0 0 6px #000;z-index:2;pointer-events:none}
.dohwa-caption h2{font-family:var(--dohwa-serif-family,DohwaSerif),serif;font-size:clamp(calc(25 * var(--dohwa-font-unit)),8.8cqw,calc(42 * var(--dohwa-font-unit)));font-weight:650;letter-spacing:-.065em;line-height:1.48;margin:0;text-wrap:balance;word-break:keep-all}
.dohwa-caption p{font-family:var(--dohwa-serif-family,DohwaSerif),'Pretendard Variable',serif;font-size:clamp(calc(11 * var(--dohwa-font-unit)),3cqw,calc(14 * var(--dohwa-font-unit)));font-weight:400;line-height:1.7;letter-spacing:.055em;color:#c7b39c;margin:14px 0 0;word-break:keep-all}
.dohwa-caption-name h2{font-size:clamp(calc(30 * var(--dohwa-font-unit)),10.8cqw,calc(48 * var(--dohwa-font-unit)))}
.dohwa-illustration-note{position:absolute;bottom:3%;left:8%;right:8%;margin:0;text-align:center;font-size:calc(11 * var(--dohwa-font-unit));line-height:1.6;color:#baafa2}
.dohwa-caption-dialogue h2{font-size:clamp(calc(20 * var(--dohwa-font-unit)),6.7cqw,calc(30 * var(--dohwa-font-unit)));letter-spacing:-.065em}
.dohwa-caption-emphasis h2{color:#f0c4aa;font-size:clamp(calc(25 * var(--dohwa-font-unit)),8cqw,calc(36 * var(--dohwa-font-unit)))}
.dohwa-caption-page{left:15%;right:9%}
.dohwa-caption-page h2{font-size:clamp(calc(26 * var(--dohwa-font-unit)),8cqw,calc(36 * var(--dohwa-font-unit)))}
.dohwa-v2 .media-layer[data-cut="5"]>.profile-copy{left:16%;right:10%;width:auto;top:45%;padding:0;color:#f6ead9;font-size:calc(14 * var(--dohwa-font-unit));line-height:1.7}
.dohwa-v2 .media-layer[data-cut="7"]>.board-overlay{inset:34% 9% auto;padding:0;align-items:flex-start}
.dohwa-v2 .media-layer[data-cut="7"] .saju-board{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px;background:#100a08e8;border:1px solid #9c753f66;border-radius:3px}
.dohwa-v2 .media-layer[data-cut="7"] .pillar-image{width:100%;height:auto;aspect-ratio:1}
.dohwa-v2 .media-layer[data-cut="7"] .pillar{min-width:0;font-size:calc(11 * var(--dohwa-font-unit))}
.dohwa-caption-right{left:50%;right:5%;text-align:left}
.dohwa-caption-right h2{font-size:clamp(calc(22 * var(--dohwa-font-unit)),6.8cqw,calc(32 * var(--dohwa-font-unit)))}
.dohwa-caption-right p{font-size:clamp(calc(10 * var(--dohwa-font-unit)),2.8cqw,calc(13 * var(--dohwa-font-unit)));letter-spacing:0}
.dohwa-caption-aside{left:6%;right:58%;text-align:left}
.dohwa-caption-aside h2{font-size:clamp(calc(21 * var(--dohwa-font-unit)),6.2cqw,calc(29 * var(--dohwa-font-unit)))}
.dohwa-caption-aside p{font-size:clamp(calc(10 * var(--dohwa-font-unit)),2.6cqw,calc(12 * var(--dohwa-font-unit)));letter-spacing:0}
.dohwa-v2 .media-layer[data-cut="2"]>.name-overlay{display:none}
@media(prefers-reduced-motion:reduce){.dohwa-v2 .intro-title-glyph{animation:none;opacity:1;transform:none}}
.dohwa-v2 .sticky-buy{width:min(calc(100% - 32px),360px);bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.dohwa-v2 .sticky-buy img{height:clamp(80px,23vw,100px);object-fit:cover;object-position:center}
.dohwa-v2 .sticky-buy.visible img{animation:dohwa-cta-pulse 3s ease-in-out infinite}
@keyframes dohwa-cta-pulse{0%,76%,100%{transform:scale(1);filter:brightness(1)}84%{transform:scale(1.035);filter:brightness(1.12)}92%{transform:scale(1);filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.dohwa-v2 .sticky-buy.visible img{animation:none}}
/* Real reading excerpts and variable prices are UI, not text over narrative art. */
.dohwa-result-sample,.dohwa-price-section{font-family:var(--dohwa-serif-family,DohwaSerif),serif;color:#f6ead9;padding:32px 20px;background:#080504}
.dohwa-result-sample header{text-align:center;margin-bottom:26px}
.dohwa-result-sample h2,.dohwa-price-section h2{font-size:calc(24 * var(--dohwa-font-unit));line-height:1.5;margin:0 0 8px;word-break:keep-all}
.dohwa-result-sample header>p[lang],.dohwa-price-section p[lang]{font-size:calc(13 * var(--dohwa-font-unit));line-height:1.8;color:#c8ac82;margin:0 0 20px}
.dohwa-sample-note,.dohwa-local-status{font-size:calc(13 * var(--dohwa-font-unit));line-height:1.8;color:#c6b9aa;word-break:keep-all}
.dohwa-sample-tabs{display:flex;gap:8px;margin-bottom:16px}
.dohwa-sample-tabs button{flex:1;min-width:0;padding:12px 7px;border:1px solid #6e4d37;border-radius:4px;background:#18100c;color:#ddc7aa;font:inherit;font-size:calc(12 * var(--dohwa-font-unit));line-height:1.6}
.dohwa-sample-tabs button[aria-pressed="true"]{background:#451c18;border-color:#c3985b;color:#fff1d5}
.dohwa-sample-tabs button:focus-visible,.dohwa-sample-page a:focus-visible{outline:2px solid #efc789;outline-offset:4px}
.dohwa-sample-page figure{margin:0;border:1px solid #6e4d3755;background:#100b08}
.dohwa-sample-page img{display:block;width:100%;height:auto;object-fit:contain;mask-image:linear-gradient(#000 90%,transparent)}
.dohwa-sample-page figcaption{padding:0 20px 24px}
.dohwa-sample-page h3{font-size:calc(18 * var(--dohwa-font-unit));line-height:1.65;word-break:keep-all;margin:0 0 18px}
.dohwa-sample-page blockquote{font-size:calc(15 * var(--dohwa-font-unit));line-height:2;margin:0 0 24px;word-break:keep-all}
.dohwa-sample-page a{color:#e8c698;font-size:calc(13 * var(--dohwa-font-unit));text-underline-offset:5px}
.dohwa-price-section{padding:24px 24px 42px;text-align:center;background:#000}
.dohwa-price-section .price-card{position:relative;inset:auto;transform:none;display:block;width:100%;height:auto;padding:24px 20px;color:#f6ead9;border:1px solid #76542f;border-radius:5px;background:linear-gradient(150deg,#21140d,#0b0806)}
.dohwa-price-section .price-original>div,.dohwa-price-section .price-total{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.dohwa-price-section .price-original{font-size:calc(13 * var(--dohwa-font-unit));line-height:2.2;color:#bba993}
.dohwa-price-section .price-rule{height:1px;background:#8b623c88;margin:16px 0}
.dohwa-price-section .price-total{font-size:calc(14 * var(--dohwa-font-unit))}
.dohwa-price-section .price-total span:last-child{font-size:calc(26 * var(--dohwa-font-unit));font-weight:700;color:#f8dec0;white-space:nowrap}
.dohwa-price-section .dohwa-local-status{margin:24px 0 0;font-size:calc(12 * var(--dohwa-font-unit))}
