/* Palaces: a wall of admission tickets that read Seoul's clock. */
.palace-hero{padding:56px 0 36px;border-bottom:1px solid var(--line)}
.palace-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 48px;align-items:end}
.palace-hero .breadcrumbs,.palace-hero .eyebrow{grid-column:1/-1}
.palace-title{font-family:var(--display);font-weight:400;font-size:clamp(64px,9.4vw,150px);line-height:.88;letter-spacing:-.01em;margin:0}
.palace-title em{font-family:var(--body);font-style:normal;text-transform:none;color:var(--orange);letter-spacing:0}
.palace-hero .lede{grid-column:1/-1;max-width:56ch}
.palace-clock{border:2px solid var(--ink);background:var(--paper);padding:16px 22px 14px;min-width:200px;text-align:right}
.clock-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.clock-time{font-family:var(--display);font-size:72px;line-height:1;margin:6px 0 0;font-variant-numeric:tabular-nums}
.clock-day{font-family:'richmond-display',Georgia,serif;font-size:20px;margin:2px 0 0}

.palace-wall{padding:48px 0 72px;background:var(--sand)}
.palace-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.palace-ticket{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) 128px;min-height:196px;background:var(--paper);color:var(--ink);box-shadow:0 1px 0 rgba(25,24,23,.12)}
/* Perforation between the ticket and its stub, with half-circle notches top and bottom. */
.palace-ticket::before,.palace-ticket::after{content:'';position:absolute;right:116px;width:24px;height:24px;border-radius:50%;background:var(--sand)}
.palace-ticket::before{top:-12px}.palace-ticket::after{bottom:-12px}
.ticket-photo{display:block;overflow:hidden}
.ticket-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ticket-body{padding:20px 22px 18px;min-width:0}
.ticket-no{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.ticket-body h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.65vw,26px);line-height:1.02;text-transform:uppercase;margin:10px 0 2px;overflow-wrap:normal}
.palace-name{font-size:clamp(40px,6.4vw,96px);overflow-wrap:normal;word-break:normal}
.palace-name span{white-space:nowrap}
.ticket-body h3 a{color:inherit;text-decoration:none}
.ticket-body h3 a:hover{color:#a93618}
.ticket-ko{font-size:15px;margin:0;color:var(--muted)}
.ticket-status{display:inline-flex;align-items:center;gap:9px;margin:16px 0 0;padding:7px 12px;border:1.5px solid var(--ink);font-size:13px;font-weight:600;letter-spacing:.02em;min-height:36px}
.ticket-dot{width:9px;height:9px;border-radius:50%;background:var(--line);flex:0 0 9px}
.ticket-status[data-state=open]{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.ticket-status[data-state=open] .ticket-dot{background:var(--ink)}
.ticket-status[data-state=closing] .ticket-dot,.ticket-status[data-state=soon] .ticket-dot{background:var(--orange)}
.ticket-status[data-state=closed]{color:var(--muted);border-color:var(--line)}
.ticket-today{font-size:13px;line-height:1.6;color:#575149;margin:9px 0 0}
.ticket-stub{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:16px 14px 16px 20px;border-left:2px dashed var(--line);text-align:left}
.stub-label{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ticket-stub strong{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.05;margin-bottom:8px}
.ticket-stub .stub-price{font-size:19px}
.stub-hanbok{font-size:11px;line-height:1.35;font-weight:600;color:#a93618}
.palace-rule{margin-top:26px}

.palace-two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.palace-ceremony,.palace-hanbok,.palace-closing{padding:84px 0;border-bottom:1px solid var(--line)}
.palace-hanbok{background:var(--paper)}
.ceremony-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.ceremony-list li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:4px 20px;padding:18px 0;border-bottom:1px solid var(--line)}
.ceremony-list strong{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.05;grid-row:1/3;white-space:nowrap}
.ceremony-list span{font-weight:600}
.ceremony-list small{font-size:13px;color:var(--muted)}
.closing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:30px}
.closing-grid>div{border-top:2px solid var(--ink);padding-top:18px}
.closing-grid h3{font-family:var(--display);font-weight:400;font-size:30px;text-transform:uppercase;margin:0 0 10px}
.closing-grid ul{margin:0 0 12px;padding-left:18px;line-height:1.9}

.palace-detail-head{padding-top:44px;padding-bottom:26px}
.palace-detail-head .page-title{margin-bottom:6px}
.palace-detail-photo{margin-top:6px;margin-bottom:40px}
.palace-detail-photo img{width:100%;height:auto;max-height:640px;object-fit:cover;display:block}
.palace-detail-photo figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.hours-table{border-collapse:collapse;width:100%;max-width:440px;margin:6px 0 18px}
.hours-table th,.hours-table td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.hours-table th{font-weight:600;width:55%}
.palace-next{display:flex;flex-wrap:wrap;gap:12px 26px;padding-top:28px;padding-bottom:64px;border-top:1px solid var(--line);margin-top:40px}
.palace-next a{min-height:44px;display:inline-flex;align-items:center}

@media(max-width:1100px){.palace-ticket-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .palace-hero .wrap{grid-template-columns:1fr}
  .palace-clock{text-align:left;min-width:0}
  .palace-ticket{grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:170px auto}
  .ticket-photo{grid-column:1/-1}
  .ticket-body{padding:18px 16px 18px 20px}
  .ticket-body h3{font-size:19px}
  .palace-name{font-size:clamp(28px,7.8vw,40px)}
  .palace-ticket::before{top:158px}.palace-ticket::after{bottom:-12px}
  .palace-ticket::before,.palace-ticket::after{right:88px}
  .palace-two,.closing-grid{grid-template-columns:1fr;gap:26px}
  .ceremony-list li{grid-template-columns:1fr}
  .ceremony-list strong{grid-row:auto}
}
