/* www.gangnam-dopamine.com — coral surface, navy type. One family: system-ui, sans-serif. */
:root {
  --co: #ff8f7a;
  --co-hi: #ffb3a3;
  --co-pp: #ffe3da;
  --co-dp: #ffd1c5;
  --nv: #121b44;
  --nv-2: #1d2a5f;
  --nv-3: #0c1330;
  --nv-soft: #2f3a68;
  --r-s: 10px;
  --r-m: 16px;
  --r-l: 22px;
  --pos-pano: 70% 35%;
  --pos-band: 50% 50%;
  --pos-sofa: 50% 50%;
}
* { box-sizing: border-box; }
html { font-family: system-ui, sans-serif; font-size: 100%; -webkit-text-size-adjust: 100%; scroll-padding-top: 64px; }
body { margin: 0; background: var(--co); color: var(--nv); font-size: 17px; line-height: 1.7; }
html:lang(ko) body { word-break: keep-all; overflow-wrap: break-word; }
html:lang(ja) body, html:lang(zh-Hans) body { word-break: normal; overflow-wrap: anywhere; text-spacing-trim: space-all; }
html:lang(ja) body { line-break: strict; }
html:lang(en) body { overflow-wrap: break-word; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; letter-spacing: -0.01em; }
p { margin: 0; font-size: 17px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
figure { margin: 0; }
.nw { white-space: nowrap; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--nv); outline-offset: 3px; border-radius: 6px; }
.dc-dark :focus-visible, .dc-foot :focus-visible { outline-color: var(--co-hi); }

.dc-skip { position: absolute; left: 16px; top: -80px; z-index: 50; background: var(--nv); color: var(--co-pp); padding: 12px 20px; border-radius: var(--r-s); text-decoration: none; font-weight: 700; }
.dc-skip:focus { top: 12px; }

.dc-wrap { width: 100%; max-width: 1360px; margin: 0 auto; padding-inline: clamp(20px, 5vw, 80px); }
@media (min-width: 700px) { .dc-wrap { padding-inline: clamp(24px, 5vw, 80px); } }

/* header */
.dc-head { background: var(--co); }
.dc-head-row { display: flex; align-items: center; gap: 16px; min-height: 68px; }
.dc-logo { display: inline-flex; align-items: baseline; gap: 8px; text-decoration: none; font-weight: 800; line-height: 1; margin-right: auto; }
.dc-logo-en { font-size: 20px; letter-spacing: 0.04em; }
.dc-logo-ko { font-size: 18px; }
.dc-langs { display: flex; gap: 4px; }
.dc-langs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 16px; }
.dc-langs a[aria-current="true"] { background: var(--nv); color: var(--co-pp); }
.dc-langd { position: relative; display: none; }
.dc-langd summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 999px; background: var(--co-dp); font-weight: 700; font-size: 16px; cursor: pointer; }
.dc-langd summary::-webkit-details-marker { display: none; }
.dc-langd summary svg { transition: transform .2s; }
.dc-langd[open] summary svg { transform: rotate(180deg); }
.dc-langd ul { position: absolute; right: 0; top: calc(100% + 8px); z-index: 40; min-width: 160px; padding: 8px; background: var(--co-pp); border-radius: var(--r-m); box-shadow: 0 12px 32px rgba(12, 19, 48, .28); }
.dc-langd a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: var(--r-s); text-decoration: none; font-weight: 600; }
.dc-langd a[aria-current="true"] { background: var(--nv); color: var(--co-pp); }
.dc-call-top { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--nv); color: var(--co-pp); text-decoration: none; font-weight: 700; font-size: 16px; }
@media (max-width: 700px) {
  .dc-langs { display: none; }
  .dc-langd { display: block; }
  .dc-logo-en { display: none; }
  .dc-logo-ko { font-size: 22px; }
  .dc-call-top { padding: 0 14px; }
}
@media (max-width: 360px) { .dc-call-top span { display: none; } .dc-call-top { width: 44px; padding: 0; justify-content: center; } }

/* contents bar */
.dc-toc { position: sticky; top: 0; z-index: 30; background: var(--nv); color: var(--co-pp); }
.dc-toc ul { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; padding-block: 6px; }
.dc-toc ul::-webkit-scrollbar { display: none; }
.dc-toc a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; text-decoration: none; white-space: nowrap; font-size: 16px; font-weight: 600; }
.dc-toc a[aria-current="true"] { background: var(--co); color: var(--nv); }
.dc-toc a:focus-visible { outline-color: var(--co-hi); outline-offset: -3px; }

/* opening screen */
.dc-open { padding-block: 16px 72px; }
.dc-pano { position: relative; margin-bottom: 32px; }
.dc-pano img { width: 100%; height: clamp(120px, 27vh, 380px); object-fit: cover; object-position: var(--pos-pano); border-radius: var(--r-l); background: var(--nv); }
.dc-pano-tag { position: absolute; right: 14px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(12, 19, 48, .72); color: var(--co-pp); font-size: 14px; }
.dc-open-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.dc-open-copy { display: flex; flex-direction: column; }
.dc-kicker { margin: 0 0 10px; font-size: 14px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nv-soft); }
.dc-h1 { font-size: clamp(2.1rem, 4.8vw, 4.4rem); font-weight: 850; line-height: 1.06; letter-spacing: -0.025em; }
.dc-lead { margin-top: 18px; max-width: 40em; font-size: clamp(17px, 1.35vw, 19px); }
.dc-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.dc-btn { font: inherit; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; background: var(--nv); color: var(--co-pp); text-decoration: none; font-weight: 750; font-size: 17px; border: 0; cursor: pointer; }
.dc-btn:hover { background: var(--nv-2); }
.dc-dark .dc-btn { background: var(--co); color: var(--nv); }
.dc-dark .dc-btn:hover { background: var(--co-hi); }
.dc-go { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.dc-tags { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 22px; font-weight: 600; color: var(--nv-soft); }
.dc-tags li { font-size: 16px; }
.dc-ico { flex: none; }
@media (max-width: 700px) {
  .dc-open-grid { grid-template-columns: 1fr; }
  .dc-open-copy .dc-acts { order: 2; margin-top: 18px; }
  .dc-open-copy .dc-lead { order: 3; }
  .dc-open-copy .dc-tags { order: 4; }
}

/* week board (opening screen) */
.dc-week { background: var(--co-dp); border-radius: var(--r-l); padding: 24px; }
.dc-week-h { font-size: 18px; font-weight: 800; }
.dc-week ol { display: grid; gap: 8px; margin-top: 14px; }
.dc-week li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 12px 16px; border-radius: var(--r-m); }
.dc-week li.is-today { background: var(--nv); color: var(--co-pp); }
.dc-week-d { font-weight: 800; font-size: 16px; }
.dc-week-tag { margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--co); color: var(--nv); font-size: 14px; font-weight: 700; }
.dc-week-t { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 2px 18px; font-variant-numeric: tabular-nums; font-size: 16px; }
.dc-week-t b { font-weight: 700; margin-right: 6px; }
.dc-week-note { margin-top: 12px; font-size: 16px; color: var(--nv-soft); }

/* sections */
.dc-sec { padding-block: clamp(64px, 9vw, 120px); }
.dc-sec--paper { background: var(--co-pp); }
.dc-sec--coral { background: var(--co); }
.dc-dark { background: var(--nv); color: var(--co-pp); }
.dc-sh { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 12px 48px; align-items: end; margin-bottom: clamp(32px, 4vw, 56px); }
.dc-sh .dc-kicker { grid-column: 1 / -1; margin: 0; }
.dc-h2 { font-size: clamp(1.75rem, 3.4vw, 2.9rem); font-weight: 850; letter-spacing: -0.02em; }
.dc-sh-sub { color: var(--nv-soft); max-width: 36em; }
.dc-dark .dc-kicker, .dc-dark .dc-sh-sub { color: var(--co-hi); }
@media (max-width: 860px) { .dc-sh { grid-template-columns: 1fr; } }
.dc-h3 { font-size: 1.3rem; font-weight: 800; margin: 48px 0 18px; }
.dc-note { margin-top: 14px; color: var(--nv-soft); font-size: 16px; }
.dc-dark .dc-note { color: var(--co-hi); }

/* facts */
.dc-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; margin: 0; }
.dc-facts div { min-width: 0; }
.dc-facts dt { font-size: 15px; font-weight: 700; color: var(--nv-soft); }
.dc-facts dd { margin: 4px 0 0; font-size: 19px; font-weight: 650; line-height: 1.5; }
@media (max-width: 1000px) { .dc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .dc-facts { grid-template-columns: 1fr; gap: 20px; } }
.dc-tx { font-weight: 700; text-underline-offset: 4px; }

/* hours */
.dc-hrs { width: 100%; border-collapse: separate; border-spacing: 0 6px; font-variant-numeric: tabular-nums; }
.dc-hrs caption { text-align: left; font-weight: 700; padding-bottom: 8px; color: var(--nv-soft); font-size: 16px; }
.dc-hrs th, .dc-hrs td { text-align: left; padding: 14px 16px; vertical-align: middle; font-size: 17px; }
.dc-hrs thead th { padding-block: 4px; font-size: 15px; color: var(--nv-soft); font-weight: 700; }
.dc-hrs tbody tr { background: rgba(255, 227, 218, .55); }
.dc-hrs tbody th { border-radius: var(--r-m) 0 0 var(--r-m); font-weight: 800; white-space: nowrap; }
.dc-hrs tbody td:last-child { border-radius: 0 var(--r-m) var(--r-m) 0; width: 46%; }
.dc-hrs tbody tr.is-today { background: var(--nv); color: var(--co-pp); }
.dc-hrs .dc-off { color: var(--nv-soft); }
.dc-hrs tr.is-today .dc-off { color: var(--co-hi); }
.dc-line { position: relative; height: 30px; border-radius: 8px; background: rgba(18, 27, 68, .1); }
.dc-hrs tr.is-today .dc-line { background: rgba(255, 227, 218, .16); }
.dc-line i { position: absolute; height: 13px; border-radius: 6px; }
.dc-line .s1 { top: 2px; background: var(--nv); }
.dc-line .s2 { bottom: 2px; background: #b8432e; }
.dc-hrs tr.is-today .dc-line .s1 { background: var(--co-pp); }
.dc-hrs tr.is-today .dc-line .s2 { background: var(--co); }
.dc-axis { display: flex; justify-content: space-between; font-size: 14px; color: var(--nv-soft); font-weight: 600; }
.dc-legend { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; font-size: 16px; font-weight: 600; }
.dc-legend span { display: inline-flex; align-items: center; gap: 8px; }
.dc-legend i { display: inline-block; width: 26px; height: 12px; border-radius: 6px; }
.dc-legend .s1 { background: var(--nv); }
.dc-legend .s2 { background: #b8432e; }
.dc-hours-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px; margin-top: 36px; }
.dc-hours-notes p { max-width: 38em; }
@media (max-width: 860px) {
  .dc-hrs thead { display: none; }
  .dc-hrs, .dc-hrs tbody, .dc-hrs caption { display: block; }
  .dc-hrs tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: var(--r-m); margin-bottom: 8px; padding: 6px 4px; }
  .dc-hrs tbody th { grid-column: 1 / -1; border-radius: 0; padding-bottom: 2px; white-space: normal; }
  .dc-hrs tbody td { padding-block: 4px; }
  .dc-hrs tbody td:last-child { grid-column: 1 / -1; width: auto; border-radius: 0; padding-bottom: 12px; }
  .dc-hrs td[data-l]::before { content: attr(data-l) " "; font-weight: 700; }
  .dc-hours-notes { grid-template-columns: 1fr; }
}

/* price */
.dc-units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.dc-units li { display: flex; flex-direction: column; gap: 4px; }
.dc-units-l { font-weight: 700; color: var(--nv-soft); font-size: 16px; }
.dc-units-v { font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight: 850; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.dc-units-s { font-size: 16px; }
@media (max-width: 1000px) { .dc-units { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .dc-units { grid-template-columns: 1fr; } }
.dc-set { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; counter-reset: s; }
.dc-set li { counter-increment: s; background: var(--co); border-radius: var(--r-m); padding: 20px; font-weight: 700; font-size: 17px; line-height: 1.45; }
.dc-set li::before { content: counter(s); display: block; font-size: 2rem; font-weight: 850; line-height: 1; margin-bottom: 10px; }
@media (max-width: 1000px) { .dc-set { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .dc-set { grid-template-columns: 1fr; gap: 8px; }
  .dc-set li { display: flex; align-items: center; gap: 16px; padding: 14px 20px; }
  .dc-set li::before { margin: 0; font-size: 1.5rem; }
}
.dc-calc { margin-top: 56px; background: var(--co); border-radius: var(--r-l); padding: clamp(24px, 4vw, 48px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px 56px; }
@media (max-width: 860px) { .dc-calc { grid-template-columns: 1fr; } }
.dc-calc .dc-h3 { margin-top: 0; margin-bottom: 8px; }
.dc-field { display: grid; gap: 8px; margin-top: 22px; }
.dc-field-l { font-weight: 700; font-size: 16px; }
.dc-field select { width: 100%; min-height: 50px; padding: 0 14px; font: inherit; font-size: 17px; color: var(--nv); background: var(--co-pp); border: 2px solid var(--nv); border-radius: var(--r-s); }
.dc-seg, .dc-step { justify-self: start; }
.dc-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(18, 27, 68, .12); }
.dc-seg button { min-height: 44px; min-width: 96px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--nv); font: inherit; font-weight: 700; cursor: pointer; }
.dc-seg button[aria-pressed="true"] { background: var(--nv); color: var(--co-pp); }
.dc-step { display: inline-flex; align-items: center; gap: 14px; }
.dc-step button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--nv); color: var(--co-pp); font: inherit; font-size: 22px; font-weight: 700; cursor: pointer; }
.dc-step button:disabled { opacity: .35; cursor: default; }
.dc-step output { min-width: 3ch; text-align: center; font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dc-chk { display: flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 18px; font-weight: 700; cursor: pointer; }
.dc-chk input { width: 22px; height: 22px; accent-color: var(--nv); }
.dc-sum { margin: 0; display: grid; gap: 10px; align-content: start; font-variant-numeric: tabular-nums; }
.dc-sum div { display: flex; justify-content: space-between; gap: 16px; font-size: 18px; }
.dc-sum dt { font-weight: 600; }
.dc-sum dd { margin: 0; font-weight: 750; }
.dc-sum .dc-sum-t { margin-top: 10px; padding-top: 16px; font-size: clamp(1.5rem, 3vw, 2.3rem); font-weight: 850; }
.dc-sum .dc-sum-t dd { font-weight: 850; }

/* menu */
.dc-menu-top { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.dc-wh { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.dc-mt { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.dc-mt caption { text-align: left; font-weight: 700; color: var(--co-hi); padding-bottom: 8px; font-size: 16px; }
.dc-mt th, .dc-mt td { padding: 9px 10px; text-align: left; font-size: 16px; line-height: 1.4; }
.dc-mt thead th { color: var(--co-hi); font-size: 15px; }
.dc-mt td.n, .dc-mt th.n { text-align: right; white-space: nowrap; }
.dc-mt tbody tr:nth-child(odd) { background: rgba(255, 227, 218, .07); }
.dc-mt tbody th { font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 400px) { .dc-mt th, .dc-mt td { padding: 9px 6px; } }
.dc-mt .ko { display: block; font-size: 14px; color: var(--co-hi); font-weight: 500; }
.dc-sofa { position: sticky; top: 72px; }
.dc-sofa img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: var(--pos-sofa); border-radius: 50% 50% var(--r-l) var(--r-l); }
.dc-sofa figcaption { margin-top: 10px; font-size: 15px; color: var(--co-hi); }
.dc-food { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 28px; }
.dc-food h4 { font-size: 1.1rem; font-weight: 800; margin-bottom: 10px; color: var(--co); }
@media (max-width: 1100px) { .dc-food { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dc-menu-top { grid-template-columns: 1fr; } .dc-sofa { position: static; max-width: 420px; } }
@media (max-width: 700px) { .dc-wh, .dc-food { grid-template-columns: 1fr; } }

/* space */
.dc-band img { width: 100%; height: clamp(220px, 36vw, 560px); object-fit: cover; object-position: var(--pos-band); }
.dc-band figcaption { padding-top: 10px; font-size: 15px; }
.dc-space { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px 64px; margin-top: 40px; }
.dc-space .dc-prose p + p { margin-top: 14px; }
.dc-points { margin: 0; display: grid; gap: 18px; }
.dc-points dt { font-size: 15px; font-weight: 700; color: var(--nv-soft); }
.dc-points dd { margin: 2px 0 0; font-size: 1.35rem; font-weight: 800; }
@media (max-width: 860px) { .dc-space { grid-template-columns: 1fr; } }

/* guide */
.dc-guide { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 32px; }
.dc-guide b { display: block; font-size: 1.1rem; font-weight: 800; margin-bottom: 6px; }
.dc-guide p { font-size: 17px; }
@media (max-width: 1100px) { .dc-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .dc-guide { grid-template-columns: 1fr; gap: 24px; } }

/* booking */
.dc-res { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px 72px; }
.dc-steps { display: grid; gap: 28px; counter-reset: st; }
.dc-steps li { counter-increment: st; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 4px 16px; }
.dc-steps li::before { content: counter(st); grid-row: span 2; font-size: 2.6rem; font-weight: 850; line-height: 1; }
.dc-steps h3 { font-size: 1.15rem; font-weight: 800; }
.dc-big { display: block; font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 850; font-variant-numeric: tabular-nums; text-decoration: none; letter-spacing: -0.01em; margin: 6px 0 18px; }
.dc-res-l { font-weight: 700; color: var(--nv-soft); font-size: 16px; }
.dc-check { display: grid; gap: 8px; margin-top: 10px; }
.dc-check li { position: relative; padding-left: 28px; font-size: 17px; }
.dc-check li::before { content: ""; position: absolute; left: 2px; top: 0.55em; width: 12px; height: 12px; border-radius: 50%; background: var(--nv); }
@media (max-width: 860px) { .dc-res { grid-template-columns: 1fr; } }

/* about */
.dc-prose { max-width: 46em; }
.dc-prose p + p { margin-top: 18px; }
.dc-about .dc-prose p { font-size: 18px; line-height: 1.85; }

/* faq */
.dc-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; align-items: start; }
.dc-q { background: var(--co-dp); border-radius: var(--r-m); padding: 0 24px; }
.dc-q summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 60px; padding-block: 14px; font-weight: 750; cursor: pointer; }
.dc-q summary::-webkit-details-marker { display: none; }
.dc-q summary::after { content: "+"; flex: none; font-size: 24px; font-weight: 600; line-height: 1; }
.dc-q[open] summary::after { content: "−"; }
.dc-q-a { padding-bottom: 20px; }
@media (max-width: 860px) { .dc-faq { grid-template-columns: 1fr; } }

/* location */
.dc-loc { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px 72px; }
.dc-addr-l { font-weight: 700; color: var(--co-hi); font-size: 16px; }
.dc-addr-v { font-size: clamp(1.45rem, 3.6vw, 2.8rem); font-weight: 850; line-height: 1.25; margin-top: 6px; }
.dc-copy { min-height: 52px; padding: 0 8px; border: 0; background: transparent; color: var(--co-pp); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.dc-ways { display: grid; gap: 22px; }
.dc-ways b { display: block; font-weight: 800; color: var(--co); }
@media (max-width: 860px) { .dc-loc { grid-template-columns: 1fr; } }

/* sister sites */
.dc-sites { background: var(--co-pp); padding-block: 48px; }
.dc-sites h2 { font-size: 1.2rem; font-weight: 800; margin-bottom: 14px; }
.dc-sites ul { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.dc-sites a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 700; text-underline-offset: 4px; }

/* footer */
.dc-foot { background: var(--nv-3); color: var(--co-pp); padding-block: 56px 72px; }
.dc-foot-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px 48px; }
.dc-foot p { font-size: 16px; }
.dc-foot-name { font-size: 1.2rem; font-weight: 800; margin-bottom: 6px; }
.dc-foot nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.dc-foot nav a { display: inline-flex; min-height: 40px; align-items: center; text-decoration: none; font-size: 16px; }
.dc-foot nav a:hover { text-decoration: underline; }
.dc-fine { margin-top: 28px; color: var(--co-hi); }
@media (max-width: 860px) { .dc-foot-grid { grid-template-columns: 1fr; } }
.dc-prov { margin-top: 32px; font-family: system-ui, sans-serif; font-size: 16px; color: var(--co-hi); }
.dc-prov-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 6px; }
.dc-prov-links a { display: inline-flex; min-height: 44px; align-items: center; text-underline-offset: 4px; color: var(--co-pp); }
.dc-prov details { margin-top: 6px; }
.dc-prov summary { cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; color: var(--co-pp); }
.dc-prov dl { margin: 8px 0 0; display: grid; gap: 10px; }
.dc-prov dt { font-weight: 700; }
.dc-prov dd { margin: 2px 0 0; overflow-wrap: anywhere; word-break: break-all; }
.dc-prov ul { list-style: disc; padding-left: 20px; }

/* 404 */
.dc-nf { min-height: 100vh; display: grid; align-content: center; gap: 20px; }
.dc-nf-sign { font-size: clamp(3rem, 12vw, 7rem); font-weight: 900; line-height: 1; letter-spacing: -0.03em; }
.dc-nf-h1 { font-size: clamp(1.6rem, 4vw, 2.6rem); font-weight: 850; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
