:root{--navy:#132d3d;--ink:#111;--muted:#59656c;--paper:#fffdf8;--cream:#fff8e8;--red:#c83d29;--yellow:#ffc83d;--line:#d8d4ca;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}.shell{width:min(100% - 40px,900px);margin:0 auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0 18px;border-bottom:1px solid var(--line)}
.brand img{display:block;width:min(280px,43vw);height:auto}
.langnav{display:flex;border:1px solid var(--navy);border-radius:7px;overflow:hidden;box-shadow:2px 2px 0 var(--navy);flex:0 0 auto}
.langbtn{border:0;border-right:1px solid var(--navy);background:var(--cream);padding:8px 10px;color:var(--navy);font:750 12px/1 var(--sans);cursor:pointer}
.langbtn:last-child{border-right:0}.langbtn[aria-pressed="true"]{background:var(--yellow)}
.lang{display:none}.lang.active{display:block}
.hero{padding:54px 0 42px;border-bottom:1px solid var(--line)}
.eyebrow,.section-kicker{display:block;margin:0 0 8px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
h1{max-width:720px;margin:0;font-size:clamp(42px,7vw,70px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.lede{max-width:680px;margin:22px 0 0;color:var(--muted);font-size:18px;line-height:1.65;text-wrap:pretty}
.content{padding:44px 0;border-bottom:1px solid var(--line)}
h2{margin:0;font-size:clamp(28px,4vw,38px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.intro{max-width:680px;margin:10px 0 24px;color:var(--muted);text-wrap:pretty}
.rule-grid,.city-list{margin-top:24px}
.crew-scene{position:relative;overflow:hidden;border-radius:18px;margin:34px 0 0}
.crew-scene img{display:block;width:auto;pointer-events:none;user-select:none}
.crew-copy{position:relative;z-index:1}
.crew-copy small{display:block;margin-bottom:8px;color:#ffc83d;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.crew-copy h2{margin:0;color:inherit;font-size:clamp(23px,3.2vw,30px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance;word-break:keep-all}
.crew-copy p{margin:12px auto 0;max-width:42ch;color:#dbe6ee;font-size:15px;line-height:1.55;text-wrap:pretty;word-break:keep-all}
/* Curby renders 192px wide at 242px tall and starts 18px in, so his right edge
   lands at 210px. The original 185px gutter was narrower than the art itself
   and the heading collided with him between 700px and 850px. */
.crew-scene--guide{min-height:278px;padding:28px 195px 28px 230px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}
.crew-scene--guide .crew-curby{position:absolute;left:18px;bottom:-8px;height:242px}
.crew-scene--guide .crew-marty{position:absolute;right:28px;bottom:12px;height:205px}
@media(max-width:860px){
  .crew-scene--guide{min-height:360px;padding:34px 28px 165px;align-items:flex-start}
  .crew-scene--guide .crew-curby{left:22px;height:160px}
  .crew-scene--guide .crew-marty{right:28px;height:140px}
}
.rule-grid{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}
.rule{padding:22px 28px 22px 0}.rule:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.rule:nth-child(n+3){border-top:1px solid var(--line)}
.rule h3{margin:0 0 6px;font-size:18px;letter-spacing:-.015em}.rule p{margin:0;color:var(--muted);font-size:14px;text-wrap:pretty}
.city-filter{display:block;margin-top:22px}.city-filter span{display:block;margin-bottom:7px;color:var(--navy);font-size:12px;font-weight:850}.city-filter input{width:100%;min-height:46px;border:1.5px solid var(--navy);border-radius:10px;background:#fff;padding:10px 13px;color:var(--ink);font:700 16px/1.25 var(--sans);box-shadow:3px 3px 0 var(--yellow)}.city-filter input:focus-visible{outline:3px solid rgba(19,45,61,.22);outline-offset:2px}.city-count{min-height:20px;margin:12px 0 -10px;color:var(--muted);font-size:12px;font-weight:750}
.city-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.city-guide[hidden]{display:none}.city-guide,.coming{border:1.5px solid var(--navy);border-radius:12px;padding:22px;background:#fff;text-decoration:none}
.city-guide{box-shadow:4px 4px 0 var(--yellow)}.city-guide:hover .city-link{text-decoration:underline}
.city-guide small,.coming small{display:block;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.city-guide strong,.coming strong{display:block;margin-top:7px;font-size:23px;line-height:1.15}
.city-guide p,.coming p{margin:10px 0 0;color:var(--muted);font-size:14px;text-wrap:pretty}
.city-link{display:inline-block;margin-top:16px;color:var(--navy);font-weight:850;font-size:14px}.coming{border-color:var(--line);box-shadow:none;background:var(--cream)}
footer{padding:24px 0 calc(48px + env(safe-area-inset-bottom));color:var(--muted);font-size:12px}
.footlinks{display:flex;flex-wrap:wrap;gap:18px}.footlinks a{color:var(--navy);font-weight:750;text-decoration:none}.footlinks a:hover{text-decoration:underline}
[lang="ko"] h1,[lang="ko"] h2,[lang="ko"] h3,[lang="ko"] p,[lang="ko"] strong{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:700px){
  .shell{width:min(100% - 30px,900px)}.top{gap:10px}.brand img{width:min(180px,43vw)}.langbtn{padding:8px;font-size:11px}
  .hero{padding:40px 0 34px}.lede{font-size:16px}.content{padding:36px 0}.rule-grid,.city-list{grid-template-columns:1fr}
  .rule,.rule:nth-child(even){padding:18px 0;border-left:0}.rule:nth-child(n+2){border-top:1px solid var(--line)}
}
@media(max-width:390px){.brand img{width:min(150px,39vw)}.langbtn{padding:7px 6px;font-size:10.5px}}
