[data-tbc5]{color:#283a40;background:#f3f0e8;--tbc5-ink:#283a40;font-family:'DM Sans','Noto Sans KR',sans-serif;isolation:isolate}
[data-tbc5] *{box-sizing:border-box}[data-tbc5] :is(h2,h3,h4,p){margin:0}[data-tbc5] a{color:inherit}
[data-tbc5] .tbc5-intro,[data-tbc5] .tbc5-outro{text-align:center;padding:100px 24px}
[data-tbc5] h2{font-size:clamp(36px,5vw,70px);line-height:1.22;font-weight:600;letter-spacing:-.055em;margin:22px 0}
[data-tbc5] nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:32px auto 0}
[data-tbc5] nav a,[data-tbc5] .tbc5-outro a{padding:14px 20px;border:1px solid #7e8f8c;border-radius:30px;display:inline-block;min-height:48px}
[data-tbc5] .tbc5-travel{position:relative;scroll-margin-top:16px;background:#dfebe9}
[data-tbc5] .tbc5-frame{max-width:1500px;margin:auto;padding:60px 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:4vw;align-items:center}
[data-tbc5] .tbc5-copy{position:relative;z-index:3;min-width:0}[data-tbc5] .tbc5-kicker{font-size:12px;letter-spacing:.13em}
[data-tbc5] h3{font-size:clamp(28px,3.5vw,48px);line-height:1.3;letter-spacing:-.05em;font-weight:600;margin:16px 0 24px}
[data-tbc5] h4{font-size:clamp(20px,2vw,28px);line-height:1.4;margin:0 0 12px;font-weight:600}
[data-tbc5] .tbc5-caption{margin:24px 0}[data-tbc5] .tbc5-caption p{font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
[data-tbc5] .tbc5-stage{position:relative;min-height:420px;width:100%;isolation:isolate;display:grid;place-items:center}
[data-tbc5] .tbc5-actor{position:relative;width:min(280px,60%);z-index:2;transform-origin:center}
[data-tbc5] .tbc5-pose{width:100%;height:auto;object-fit:contain;display:block;margin:12px auto}
[data-tbc5] .tbc5-sky{position:absolute;inset:0;border-radius:44% 44% 12% 12%;background:linear-gradient(#a4c2d0,#e2e8df);z-index:-4}
[data-tbc5] .tbc5-ridge{position:absolute;bottom:20%;left:0;width:100%;height:45%;clip-path:polygon(0 90%,23% 14%,45% 65%,68% 0,100% 90%);background:#8ba9a3;z-index:-2}
[data-tbc5] .tbc5-back{bottom:30%;background:#b6c8c4;z-index:-3}
[data-tbc5] .tbc5-ground{position:absolute;bottom:8%;left:3%;right:3%;height:24%;border-radius:50%;background:#c7bda1;z-index:-1}
[data-tbc5] .tbc5-sun{position:absolute;width:62px;height:62px;top:15%;right:20%;border-radius:50%;background:#ffdaa3;z-index:-3}
[data-tbc5] .tbc5-art-note{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px;line-height:1.6;padding:6px;color:#455b59}
[data-tbc5] [data-kind=dust]{background:#f0e2d1}[data-tbc5] [data-kind=dust] .tbc5-sky{background:linear-gradient(#e7d6bf,#f4e8d8)}
[data-tbc5] [data-kind=dust] .tbc5-ridge{opacity:.25}[data-tbc5] [data-kind=dust] .tbc5-sun{display:none}
[data-tbc5] [data-kind=dusk]{background:#e7dfec}
[data-tbc5] .tbc5-dust{display:none;position:absolute;inset:12% 5% 10%;z-index:3;pointer-events:none}
[data-tbc5] .tbc5-dust i{position:absolute;width:13px;height:13px;background:#bc936b;border-radius:50%;left:50%;top:60%}
[data-tbc5] .tbc5-meter,[data-tbc5] .tbc5-hint{display:none}
[data-tbc5] :focus-visible{outline:3px solid #b06e37;outline-offset:5px}
/* Enhancement only after geometry/runtime setup. Base is readable without JS. */
[data-tbc5][data-enhanced=true] .tbc5-travel{height:260svh;min-height:1600px}
[data-tbc5][data-enhanced=true] .tbc5-frame{height:100svh;min-height:640px;position:sticky;top:0}
[data-tbc5][data-enhanced=true] .tbc5-stage{height:min(64svh,580px);min-height:360px}
[data-tbc5][data-enhanced=true] .tbc5-actor{width:min(260px,48%);aspect-ratio:1}
[data-tbc5][data-enhanced=true] .tbc5-pose{position:absolute;inset:0;margin:0;opacity:0}
[data-tbc5][data-enhanced=true] .tbc5-pose:first-child{opacity:1}
[data-tbc5][data-enhanced=true] .tbc5-captions{display:grid;min-height:160px}
[data-tbc5][data-enhanced=true] .tbc5-caption{grid-area:1/1;align-self:start;opacity:0;margin:0}
[data-tbc5][data-enhanced=true] .tbc5-caption:first-child{opacity:1}
[data-tbc5][data-enhanced=true] .tbc5-meter{display:block;height:3px;background:#283a4025;margin:24px 0 14px;max-width:280px}
[data-tbc5] .tbc5-meter i{display:block;height:100%;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left}
[data-tbc5][data-enhanced=true] .tbc5-hint{display:block;font-size:12px}
[data-tbc5][data-enhanced=true] [data-kind=dust] .tbc5-dust{display:block}
html:has([data-tbc5] :focus-within){scroll-behavior:auto!important}
@media(max-width:760px){[data-tbc5] .tbc5-frame{grid-template-columns:1fr;padding:28px 22px;gap:12px}[data-tbc5] h3{font-size:30px;margin:10px 0 14px}[data-tbc5] .tbc5-intro{padding:72px 22px}[data-tbc5] .tbc5-stage{min-height:330px}[data-tbc5][data-enhanced=true] .tbc5-frame{grid-template-rows:auto minmax(0,1fr);align-items:start;padding:26px 22px 24px}[data-tbc5][data-enhanced=true] .tbc5-stage{height:100%;min-height:240px;max-height:470px}[data-tbc5][data-enhanced=true] .tbc5-actor{width:min(210px,48%)}[data-tbc5][data-enhanced=true] .tbc5-captions{min-height:115px}[data-tbc5] h4{font-size:20px}[data-tbc5] .tbc5-caption p{font-size:15px}[data-tbc5][data-enhanced=true] .tbc5-meter{margin:14px 0 10px}[data-tbc5][data-enhanced=true] .tbc5-travel{height:260svh;min-height:1600px}}

/* v006: actual fixed controls define the same sticky viewport and anchor inset. */
[data-tbc5]{--tbc5-top:100px;--tbc5-bottom:84px}
[data-tbc5] .tbc5-travel{scroll-margin-top:var(--tbc5-top)}
[data-tbc5][data-enhanced=true] .tbc5-frame{top:var(--tbc5-top);height:calc(100svh - var(--tbc5-top) - var(--tbc5-bottom));min-height:0}
@media(max-width:760px){[data-tbc5][data-enhanced=true] .tbc5-stage{min-height:200px}}

/* v007: natural-flow copy must begin beside the first PNG, never vertically centered beside all three. Applies with JS off too. */
[data-tbc5]:not([data-enhanced=true]) .tbc5-frame{align-items:start}
@media(max-height:659px){[data-tbc5]:not([data-enhanced=true]) .tbc5-frame{padding-top:24px;padding-bottom:24px}}

/* v012 photographic environments. Keep the proven v007 fit and anchor fallback. */
[data-tbc5]{background:#f5f2ed;color:#293c40}
[data-tbc5] .tbc5-intro{max-width:1000px;margin:auto}
[data-tbc5] .tbc5-frame{grid-template-columns:.78fr 1.22fr;gap:4.5vw;padding-left:5vw;padding-right:5vw}
[data-tbc5] .tbc5-travel{background:#edece7}
[data-tbc5] [data-kind=dust]{background:#f4e9da}
[data-tbc5] [data-kind=dusk]{background:#e8e8ee}
[data-tbc5] h3{font-weight:650;letter-spacing:-.045em}
[data-tbc5] .tbc5-stage,[data-tbc5][data-enhanced=true] .tbc5-stage{min-height:360px;display:block;--actor-size:min(240px,45%,42svh)}
[data-tbc5] .tbc12-photo-window{position:absolute;inset:0 0 48px;border-radius:28px;overflow:hidden;background:#d7d1c8;isolation:isolate;box-shadow:0 20px 44px #293c4014}
[data-tbc5] .tbc12-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);transform-origin:50% 76%;z-index:0}
[data-tbc5] .tbc5-actor,[data-tbc5][data-enhanced=true] .tbc5-actor{position:absolute;width:var(--actor-size);height:auto;aspect-ratio:1;left:50%;margin-left:0;bottom:24%;transform:translateX(-50%);transform-origin:50% 100%;z-index:2}
[data-tbc5] .tbc5-pose,[data-tbc5][data-enhanced=true] .tbc5-pose{position:relative;display:block;inset:auto;width:100%;height:auto;margin:0;opacity:1;object-fit:contain;transform:translateY(calc(var(--blank-bottom) * 100%))}
[data-tbc5] .tbc12-contact-shadow{position:absolute;left:50%;bottom:calc(24% - 5px);width:calc(var(--actor-size) * .53);height:12px;margin-left:0;transform:translateX(-50%);border-radius:50%;background:#25211b66;filter:blur(5px);z-index:1;transform-origin:center}
[data-tbc5] .tbc5-art-note{bottom:0;font-size:12px;line-height:1.5;padding:5px 0;color:#46565e}
[data-tbc5]:not([data-enhanced=true]) .tbc5-stage{height:420px}
@media(max-width:760px){[data-tbc5] .tbc5-frame{grid-template-columns:1fr;gap:14px;padding:26px 22px 24px}[data-tbc5] .tbc5-stage,[data-tbc5][data-enhanced=true] .tbc5-stage{min-height:200px;--actor-size:min(178px,44%,32svh)}[data-tbc5]:not([data-enhanced=true]) .tbc5-stage{height:340px}[data-tbc5] .tbc12-photo-window{border-radius:20px;bottom:48px}[data-tbc5] .tbc5-art-note{font-size:12px}}
@media(max-height:659px){[data-tbc5]:not([data-enhanced=true]) .tbc5-frame{padding-top:24px;padding-bottom:24px}}

/* v012g: short viewport fallback uses the full text width, including JS-off and 200% text. */
@media(max-height:659px){[data-tbc5]:not([data-enhanced=true]) .tbc5-frame{grid-template-columns:1fr}}

/* Per-scene support plane; original canvas proportions and full pixels preserved. */
[data-tbc5] .tbc5-actor,[data-tbc5][data-enhanced=true] .tbc5-actor{bottom:var(--ground-bottom,24%)}
[data-tbc5] .tbc12-contact-shadow{bottom:calc(var(--ground-bottom,24%) - 5px)}

/* v015: auto caption row; image and original sticker share the same source-photo coordinate plane. */
[data-tbc5] .tbc5-stage,[data-tbc5][data-enhanced=true] .tbc5-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:8px;align-content:stretch}
[data-tbc5] .tbc12-photo-window{position:relative;inset:auto;width:100%;height:100%;min-height:0;container-type:size}
[data-tbc5] .tbc15-scene-plane{position:absolute;left:50%;top:50%;width:max(100cqw,150cqh);height:max(66.66666667cqw,100cqh);transform:translate(-50%,-50%) scale(1.04);transform-origin:50% 50%}
[data-tbc5] .tbc12-photo{inset:0;object-fit:fill;transform:none;transform-origin:50% 50%}
[data-tbc5] .tbc5-actor,[data-tbc5][data-enhanced=true] .tbc5-actor{width:calc(var(--actor-size) / 1.04)}
[data-tbc5] .tbc5-stage,[data-tbc5][data-enhanced=true] .tbc5-stage{--actor-size:min(240px,45cqw,42svh)}
[data-tbc5] .tbc5-art-note{position:relative;inset:auto;margin:0;min-width:0;padding:6px 10px;background:#f5f2ed;color:#293c40;border-radius:10px;overflow-wrap:anywhere}
[data-tbc5]:not([data-enhanced=true]) .tbc5-pose{transform:translateY(calc(var(--still-blank-bottom,var(--blank-bottom)) * 100%))}
[data-tbc5]:not([data-enhanced=true]) .tbc5-stage{height:auto;grid-template-rows:auto auto}
[data-tbc5]:not([data-enhanced=true]) .tbc12-photo-window{height:auto;aspect-ratio:3/2;min-height:372px}
@media(max-width:760px){[data-tbc5] .tbc5-stage,[data-tbc5][data-enhanced=true] .tbc5-stage{--actor-size:min(178px,44cqw,32svh)}[data-tbc5]:not([data-enhanced=true]) .tbc12-photo-window{min-height:292px}}

/* Append to the proven shared-photo-plane layout. No caption-production row. */
[data-tbc5] .tbc5-stage,[data-tbc5][data-enhanced=true] .tbc5-stage{grid-template-rows:minmax(0,1fr);gap:0}
[data-tbc5]:not([data-enhanced=true]) .tbc5-stage{grid-template-rows:auto;gap:0}

[data-tbc5] [data-support=air] .tbc12-contact-shadow{display:none}

/* Mobile hero CTA hit-testing: decorative arrival text is not interactive. */
@media(max-width:760px){#top.hero > .hero-arrival-copy,#top.hero > .hero-arrival-copy *{pointer-events:none}}
