/* Actual poster artwork: title, fleet illustration and parchment map. */
.poster-hero { background: #063668; overflow: hidden; }
.poster-art { position: relative; width: min(100%, 1000px); aspect-ratio: 1200 / 1100; margin: 0 auto; overflow: hidden; }
.poster-art .poster-scene { display: block; width: 100%; height: auto; max-width: none; }
.poster-art h1.poster-heading { position: absolute; inset: 0 0 auto; margin: 0; padding: 0; width: 100%; font-size: inherit; line-height: 0; background: none; filter: none; }
.poster-heading img { display: block; width: 100%; height: auto; }
.poster-hero .hero-in { width: min(960px, 100% - 32px); padding: 40px 60px 56px; margin: -12px auto 0; background: #ffedc6; border: 1px solid #d29a46; border-radius: 8px; box-shadow: 0 15px 40px #00173366; color: #173f64; }
.poster-hero .hero-in::before { content: ""; position: absolute; inset: 0; background: url('./img/poster-map.png') center / cover; opacity: .22; pointer-events: none; }
.poster-hero .hero-in > * { position: relative; }
.poster-hero .hero-sub { max-width: 740px; margin: 0 auto; text-align: center; color: #173f64; text-shadow: none; }
.poster-hero .hero-sub b { color: #0759a6; }
.poster-hero .facts { max-width: none; }
.poster-hero .fact { background: #fff9eac9; border-color: #c39753; backdrop-filter: none; }
.poster-hero .fact i { color: #76501c; }
.poster-hero .dday { background: #fff9eac9; border-color: #c39753; }
.poster-hero .dday-num { color: #0759a6; }
.poster-hero .dday-lab, .poster-hero .hero-cta-note { color: #234667; text-shadow: none; }
.poster-hero .hero-cta { gap: 18px; }
.poster-hero .fleet-bar { margin-top: 28px; }
.poster-hero .hero-strip { position: relative; background: #fff0ce; border-top: 2px solid #dda44b; }
.poster-hero .hero-strip::before { content: ""; position: absolute; inset: 0; background: url('./img/poster-map.png') center / cover; opacity: .18; pointer-events: none; }
.poster-hero .strip-in { position: relative; }
.btn-apply, .nav a.nav-apply { background: linear-gradient(#fff0b8, #efb649 55%, #cc8b25); color: #352006; border: 1px solid #ffe3a0; box-shadow: 0 6px 20px #b7792433; }
.btn-apply:hover, .nav a.nav-apply:hover { background: linear-gradient(#fff4cf, #ffc967 55%, #dda039); color: #352006; }
.sec h2, .sec-head h2 { color: #f2c265; text-shadow: 0 2px 1px #442905; }
body:has(.hero-strip) .sec-head:not(.light) h2 { color: #805016; text-shadow: 0 1px #fff1c3; }
.apply-card { border: 1px solid #d2a151; }
.apply-card .bg { background-image: url('./img/poster-voyage.png'); }
@media (min-width: 1100px) {
 .poster-hero { background: radial-gradient(ellipse at 50% 25%, #156fb1, #031e46 75%); }
 .poster-art { box-shadow: 0 0 70px #00102c66; }
}
@media (max-width: 720px) {
 .poster-art { width: 100%; }
 .poster-hero .hero-in { width: calc(100% - 24px); padding: 24px 18px 28px; margin-top: 0; }
 .poster-hero .hero-sub { font-size: 17.5px; }
 .poster-hero .facts { margin-top: 20px; }
 .poster-hero .hero-cta { margin-top: 20px; }
 .poster-hero .dday { width: 100%; }
 .poster-hero .hero-cta-note { font-size: 15.5px; }
}

/* Parchment typography: warm ink and deliberate phrase boundaries. */
.poster-hero .hero-in, .poster-hero .hero-sub, .poster-hero .fact b { color: #493421; }
.poster-hero .hero-sub { max-width: 680px; line-height: 1.85; text-wrap: pretty; }
.poster-hero .hero-motto { color: #744315; font-size: 22.5px; font-weight: 800; line-height: 1.6; margin-bottom: 14px; text-wrap: balance; }
.hero-motto span, .keep-phrase { white-space: nowrap; }
.poster-hero .hero-story + .hero-story { margin-top: 8px; }
.poster-hero .fact { min-width: 0; }
.poster-hero .fact i { color: #755b3b; font-size: 14.5px; }
.poster-hero .fact b { line-height: 1.5; font-size: 18.5px; font-variant-numeric: tabular-nums; }
/* 번역문이 길어져도 칸을 넘지 않도록 줄바꿈을 허용합니다 */
.fact-main, .fact-detail { display: block; white-space: normal; word-break: keep-all; overflow-wrap: anywhere; }
.fact, .fact > div, .fact b { min-width: 0; }
.poster-hero .fact-detail { font-size: 15.5px; font-weight: 500; color: #685039; margin-top: 3px; }
.poster-hero .dday-num { color: #815020; }
.poster-hero .dday-lab, .poster-hero .hero-cta-note { color: #604931; }
.poster-hero .hero-cta { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 18px 24px; align-items: center; }
.poster-hero .hero-cta-note { display: block; font-size: 16px; line-height: 1.7; }
.note-line { display: block; font-size: 14.5px; font-weight: 600; }
.note-date { display: block; white-space: nowrap; font-weight: 700; }
.note-detail { display: block; font-size: 14.5px; text-wrap: balance; }
.poster-hero .strip-in { grid-template-columns: repeat(4,minmax(0,1fr)); }
.poster-hero .strip-in > .btn-apply { grid-column: 1 / -1; justify-self: center; }
@media (max-width: 1000px) {
 .poster-hero .hero-in { padding-left: 24px; padding-right: 24px; }
 .poster-hero .facts, .poster-hero .strip-in { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
 .poster-hero .hero-in { padding: 28px 16px; }
 .poster-hero .hero-sub { font-size: 16px; line-height: 1.85; }
 .poster-hero .hero-motto { font-size: 20px; margin-bottom: 16px; }
 .desktop-break { display: none; }
 .poster-hero .fact { padding: 12px 10px; }
 .poster-hero .fact b { font-size: 16px; }
 .poster-hero .fact-detail { font-size: 14.5px; }
 .poster-hero .hero-cta { grid-template-columns: 1fr; gap: 14px; }
 .poster-hero .hero-cta-note { text-align: center; }
 .poster-hero .hero-strip .fact { gap: 6px; padding: 8px 0; }
 .poster-hero .hero-strip .fact img { width: 24px; height: 24px; }
}
@media (max-width: 359px) {
 .poster-hero .facts, .poster-hero .strip-in { grid-template-columns: 1fr; }
}

/* Larger introduction text with comfortable line spacing. */
.poster-hero .hero-sub { font-size: 22.5px; line-height: 1.9; max-width: 760px; }
.poster-hero .hero-motto { font-size: 29px; line-height: 1.6; margin-bottom: 20px; }
.poster-hero .hero-story + .hero-story { margin-top: 16px; }
@media (max-width: 720px) {
 .poster-hero .hero-sub { font-size: 20px; line-height: 1.85; }
 .poster-hero .hero-motto { font-size: 24.5px; line-height: 1.6; }
 .hero-motto span { white-space: nowrap; }
}


/* Clear registration information over the decorative parchment. */
.poster-hero .hero-cta { align-items: stretch; gap: 18px; }
.poster-hero .hero-cta > .btn-apply { align-self: center; }
.poster-hero .hero-cta-note { background: #fffcf4; border: 1px solid #bc9052; border-left: 5px solid #966020; border-radius: 12px; padding: 17px 20px; color: #3d2918; text-shadow: none; box-shadow: 0 4px 14px #65421c12; }
.poster-hero .hero-cta-note .note-line { color: #69441e; font-size: 18.5px; font-weight: 700; line-height: 1.5; }
.poster-hero .hero-cta-note .note-date { color: #352312; font-size: clamp(20px, 2vw, 23.5px); font-weight: 800; line-height: 1.65; margin: 5px 0; }
.poster-hero .hero-cta-note .note-detail { color: #59432d; font-size: 17.5px; font-weight: 500; line-height: 1.65; }
.poster-hero .fact { background: #fffcf4; }
.poster-hero .fact i { font-size: 16px; font-weight: 700; color: #694c2c; }
.poster-hero .dday { background: #fffcf4; }
.poster-hero .dday-lab { font-size: 17.5px; color: #493421; line-height: 1.6; }
@media (max-width: 720px) {
 .poster-hero .hero-cta-note { padding: 16px 12px; text-align: left; }
 .poster-hero .hero-cta-note .note-date { font-size: 20px; white-space: normal; text-wrap: balance; }
 .poster-hero .hero-cta-note .note-detail { font-size: 16px; }
 .poster-hero .dday-lab { font-size: 16px; }
}

/* Selected option 5: parchment invitation and three fleet colors. */
.poster-hero .hero-in.invitation-five { padding: 44px 32px 40px; text-align: center; background: radial-gradient(ellipse at center,#fff8e4 20%,#f2dfaf 100%); border-radius: 4px 26px 4px 26px; box-shadow: inset 0 0 0 7px #f4e5c4,inset 0 0 0 8px #bda071,0 15px 40px #00173344; }
.poster-hero .invitation-five::before { opacity: .07; }
.invitation-five .invitation-eyebrow { color: #73522e; font-size: 17.5px; font-weight: 700; margin-bottom: 18px; }
.poster-hero .invitation-five .hero-motto { color:#744315; font-size:34px; margin:0 0 18px; text-wrap:balance; }
.poster-hero .invitation-five .facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-block:1px solid #b89b69; margin:32px 0 24px; padding:26px 0; }
.poster-hero .invitation-five .fact { border:0; border-radius:0; background:transparent; padding:12px 8px; }
.poster-hero .invitation-five .fact + .fact { border-left:1px solid #cfb88d; }
.poster-hero .invitation-five .fact i { font-size:18.5px; color:#725333; margin-bottom:10px; }
.poster-hero .invitation-five .fact b { font-size:clamp(27px,2.8vw,32px); font-weight:900; line-height:1.5; letter-spacing:-.045em; }
.poster-hero .invitation-five .fleet-sun b { color:#a64b08; }
.poster-hero .invitation-five .fleet-wave b { color:#125ca2; }
.poster-hero .invitation-five .fleet-storm b { color:#78429c; }
.poster-hero .invitation-five .fact-detail { font-size:19px; font-weight:600; color:inherit; margin-top:8px; letter-spacing:0; }
.poster-hero .invitation-five .dday { justify-self:center; justify-content:center; margin:0; padding:10px 18px; background:transparent; border:0; backdrop-filter:none; }
.poster-hero .invitation-five .dday-num { font-size:32px; }
.poster-hero .invitation-five .dday-lab { text-align:left; }
.poster-hero .invitation-five .hero-cta { display:flex; flex-direction:column; align-items:center; gap:20px; margin-top:20px; }
.poster-hero .invitation-five .hero-cta-note { order:0; background:transparent; border:0; box-shadow:none; padding:0; text-align:center; }
.poster-hero .invitation-five .hero-cta-note .note-date { font-size:28px; }
.poster-hero .invitation-five .hero-cta > .btn-apply { order:1; width:min(440px,100%); padding:18px 26px; font-size:22.5px; }
@media(max-width:720px) {
 .poster-hero .hero-in.invitation-five { padding:32px 22px; }
 .poster-hero .invitation-five .hero-motto { font-size:29px; }
 .invitation-five .invitation-eyebrow { font-size:15.5px; }
 .poster-hero .invitation-five .facts { grid-template-columns:1fr; margin:26px 0 18px; padding:8px 0; }
 .poster-hero .invitation-five .fact { padding:20px 4px; }
 .poster-hero .invitation-five .fact + .fact { border-left:0; border-top:1px solid #d8c7a3; }
 .poster-hero .invitation-five .fact b { font-size:30px; }
 .poster-hero .invitation-five .fact i { margin-bottom:5px; }
 .poster-hero .invitation-five .fact-detail { font-size:19px; margin-top:3px; }
 .poster-hero .invitation-five .hero-cta-note .note-date { font-size:23.5px; text-wrap:balance; }
 .poster-hero .invitation-five .hero-cta-note .note-line { font-size:17.5px; }
}
