.hangulat-page { background: var(--color-canvas); }
.hangulat-page .section { position: relative; }
.hangulat-page .eyebrow { margin: 0; }
.hangulat-page h2 { font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1.02; }
.hangulat-page .hangulat-text-link { display: inline-flex; width: fit-content; min-width: 0; color: var(--color-ivory); font-size: var(--text-utility); font-weight: 700; line-height: var(--leading-utility); text-decoration-color: var(--color-copper); text-decoration-thickness: 1px; text-underline-offset: .32em; }
.hangulat-page .hangulat-text-link:hover, .hangulat-page .hangulat-text-link:focus-visible { color: var(--color-ivory); text-decoration-color: var(--color-amber); }
.hangulat-page .hangulat-media { width: 100%; min-width: 0; margin: 0; overflow: hidden; border: var(--border-copper); background: var(--color-surface-deep); }
.hangulat-page .hangulat-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-fast); }
.hangulat-page .hangulat-media:hover { border-color: var(--color-amber); }
.hangulat-page .hangulat-media:hover img { transform: scale(1.04); }
.hangulat-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; gap: var(--space-5); min-height: 42.5rem; }
.hangulat-hero__copy { grid-column: 1 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.hangulat-hero__copy h1, .hangulat-hero__copy p { margin: 0; }
.hangulat-hero__copy h1 { max-width: 39rem; font-size: clamp(3.5rem, 7.4vw, 6.5rem); line-height: .92; }
.hangulat-hero__copy .lead { max-width: 38rem; }
.hangulat-hero__place { max-width: 26rem; padding-left: var(--space-4); border-left: var(--border-copper); color: var(--color-ash); font-size: var(--text-utility); line-height: var(--leading-utility); }
.hangulat-hero__actions { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.hangulat-hero__actions .button { min-height: 3rem; }
.hangulat-hero__media { grid-column: 3 / span 1; aspect-ratio: 4 / 3; }
.hangulat-hero__media img { object-position: center right; }
.hangulat-rhythm__heading { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); width: min(100%, 34rem); }
.hangulat-rhythm__heading h2 { margin: 0; }
.hangulat-rhythm__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.hangulat-rhythm__item { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-copper); }
.hangulat-rhythm__item > * { margin: 0; }
.hangulat-rhythm__item > span, .hangulat-wine__note > span, .hangulat-space__notes span, .hangulat-occasions__grid span { color: var(--color-amber); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; }
.hangulat-rhythm__item h3 { max-width: 20rem; }
.hangulat-rhythm__item p { max-width: 32rem; }
.hangulat-rhythm__item:hover { border-color: var(--color-amber); }
.hangulat-rhythm__item:hover h3, .hangulat-rhythm__item:hover > span { color: var(--color-ivory); }
.hangulat-food__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr); align-items: end; gap: var(--space-5); }
.hangulat-food__panel { grid-column: 1 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-copper); background: var(--color-surface); box-shadow: var(--shadow-panel); }
.hangulat-food__panel > * { margin: 0; }
.hangulat-food__panel h2, .hangulat-food__panel > p { max-width: 28rem; }
.hangulat-food__linkbox { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); width: 100%; max-width: 26rem; padding-top: var(--space-4); border-top: var(--border-copper); }
.hangulat-food__linkbox p { margin: 0; color: var(--color-ash); font-size: var(--text-utility); line-height: var(--leading-utility); }
.hangulat-food__media { grid-column: 3 / span 1; position: relative; aspect-ratio: 4 / 3; }
.hangulat-food__media::after { position: absolute; inset: 40% 0 0; content: ""; pointer-events: none; background: linear-gradient(transparent, rgba(17,20,22,.9)); }
.hangulat-food__caption { position: absolute; z-index: 1; right: var(--space-5); bottom: var(--space-5); width: min(100% - 3rem, 22rem); margin: 0; color: var(--color-ivory); font-size: var(--text-utility); line-height: var(--leading-utility); }
.hangulat-wine__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; }
.hangulat-wine__intro { grid-column: 1 / span 6; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.hangulat-wine__intro > * { margin: 0; }
.hangulat-wine__intro .lead { max-width: 33rem; }
.hangulat-wine__note { grid-column: 7 / span 3; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-copper); }
.hangulat-wine__note > * { margin: 0; }
.hangulat-wine__note p { max-width: 24rem; }
.hangulat-wine__card { grid-column: 10 / span 3; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: var(--border-copper); background: var(--color-surface); box-shadow: var(--shadow-small); text-decoration: none; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.hangulat-wine__card > * { margin: 0; }
.hangulat-wine__card p { max-width: 24rem; }
.hangulat-wine__card strong { margin-top: auto; font-size: var(--text-meta); letter-spacing: .08em; text-decoration: underline; text-underline-offset: .3em; }
.hangulat-wine__card:hover { border-color: var(--color-amber); transform: scale(1.02); }
.hangulat-space__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: start; gap: var(--space-5); }
.hangulat-space__copy { grid-column: 1 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.hangulat-space__copy > * { margin: 0; }
.hangulat-space__copy h2 { max-width: 30rem; }
.hangulat-space__media { grid-column: 3 / span 1; grid-row: 1 / span 2; aspect-ratio: 3 / 4; }
.hangulat-space__media img { object-position: center 35%; }
.hangulat-space__notes { grid-column: 1 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin-top: var(--space-6); }
.hangulat-space__notes article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); width: min(100%, 22rem); padding-top: var(--space-4); border-top: var(--border-copper); }
.hangulat-space__notes article > * { margin: 0; }
.hangulat-space__notes--offset { margin-left: clamp(0rem, 4vw, 4rem); }
.hangulat-space__notes em { color: var(--color-ivory); font-family: var(--font-heading); font-size: 1.3rem; font-style: normal; line-height: 1.15; }
.hangulat-felt__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.hangulat-felt__heading { grid-column: 1 / span 6; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.hangulat-felt__heading > * { margin: 0; }
.hangulat-felt__panel { grid-column: 1 / span 5; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-copper); background: var(--color-emerald); box-shadow: var(--shadow-panel); }
.hangulat-felt__panel > * { margin: 0; }
.hangulat-felt__panel p { color: var(--color-white); max-width: 30rem; }
.hangulat-text-link--light { padding-top: var(--space-4); border-top: 1px solid rgba(244,235,221,.55); }
.hangulat-felt__card { grid-column: span 3; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-height: 100%; padding: var(--space-5); border: var(--border-copper); background: var(--color-surface-deep); box-shadow: var(--shadow-small); text-decoration: none; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.hangulat-felt__card > * { margin: 0; }
.hangulat-felt__card p { max-width: 21rem; }
.hangulat-felt__card strong { margin-top: auto; font-size: var(--text-meta); letter-spacing: .08em; text-decoration: underline; text-underline-offset: .3em; }
.hangulat-felt__card--emerald { border-top: 3px solid var(--color-emerald); }
.hangulat-felt__card:hover { border-color: var(--color-amber); transform: scale(1.02); }
.hangulat-occasions__heading { width: min(100%, 29rem); }
.hangulat-occasions__heading h2 { margin: 0; }
.hangulat-occasions__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); border-top: var(--border-copper); }
.hangulat-occasions__grid article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); }
.hangulat-occasions__grid article > * { margin: 0; }
.hangulat-occasions__grid article p { max-width: 20rem; }
.hangulat-occasions__felt { border-top: 3px solid var(--color-emerald); }
.hangulat-gallery__intro { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); width: min(100%, 27rem); }
.hangulat-gallery__intro > * { margin: 0; }
.hangulat-gallery__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-5); align-items: start; margin-top: var(--space-6); }
.hangulat-gallery__tile { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); color: var(--color-white); text-decoration: none; }
.hangulat-gallery__tile--wide .hangulat-media { aspect-ratio: 4 / 3; }
.hangulat-gallery__tile:not(.hangulat-gallery__tile--wide) .hangulat-media { aspect-ratio: 3 / 4; }
.hangulat-gallery__tile > div { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.hangulat-gallery__tile > div > * { margin: 0; }
.hangulat-gallery__tile > div > p:not(.eyebrow) { color: var(--color-ash); font-size: var(--text-utility); line-height: var(--leading-utility); }
.hangulat-gallery__tile strong { font-size: var(--text-meta); letter-spacing: .08em; text-decoration: underline; text-underline-offset: .3em; }
.hangulat-gallery__cta { min-height: 2.75rem; align-items: center; margin-top: var(--space-5); }
.hangulat-summary__heading { width: min(100%, 28rem); }
.hangulat-summary__heading h2 { margin: 0; }
.hangulat-summary__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.hangulat-summary__grid article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-copper); }
.hangulat-summary__grid article > * { margin: 0; }
.hangulat-summary__grid h3 { max-width: 22rem; font-size: clamp(1.8rem, 2.6vw, 2.2rem); }
.hangulat-summary__grid p { max-width: 22rem; }
.hangulat-summary__felt { border-top: 3px solid var(--color-emerald) !important; }
.hangulat-closing__panel { display: flex; width: min(100%, 48rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; padding: var(--space-7); border: var(--border-copper); border-top: 3px solid var(--color-emerald); background: var(--color-surface); box-shadow: var(--shadow-panel); text-align: center; }
.hangulat-closing__panel > * { margin: 0; }
.hangulat-closing__panel .lead { max-width: 34rem; }
.hangulat-closing__actions { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-4); }
.hangulat-closing__actions > * { min-width: 0; min-height: 3rem; }

@media (max-width: 1080px) {
.hangulat-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); min-height: 0; }
.hangulat-hero__copy { grid-column: 1 / -1; }
.hangulat-hero__media { grid-column: 5 / -1; }
.hangulat-occasions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
.hangulat-food__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.hangulat-food__panel { grid-column: 1 / span 7; }
.hangulat-food__media { grid-column: 2 / span 10; margin-top: var(--space-5); }
.hangulat-space__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.hangulat-space__copy, .hangulat-space__notes { grid-column: 1 / span 6; }
.hangulat-space__media { grid-column: 8 / span 5; }
}
@media (max-width: 930px) {
.hangulat-felt__heading { grid-column: 1 / -1; }
.hangulat-felt__panel { grid-column: 1 / -1; }
.hangulat-felt__card { grid-column: span 6; }
}
@media (max-width: 900px) {
.hangulat-rhythm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hangulat-rhythm__item:first-child { grid-column: 1 / -1; width: calc((100% - var(--space-5)) / 2); }
.hangulat-wine__intro { grid-column: 1 / -1; }
.hangulat-wine__note { grid-column: 1 / span 6; }
.hangulat-wine__card { grid-column: 7 / span 6; }
.hangulat-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hangulat-gallery__tile:not(.hangulat-gallery__tile--wide) .hangulat-media { aspect-ratio: 4 / 5; }
.hangulat-summary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hangulat-summary__grid article:last-child { grid-column: 1 / span 1; }
}
@media (max-width: 820px) { .hangulat-closing__panel { width: min(100%, 60rem); } .hangulat-closing__actions { width: 100%; flex-direction: column; align-items: stretch; } .hangulat-closing__actions > * { width: 100%; } }
@media (max-width: 767px) {
.hangulat-page h2 { font-size: clamp(2.25rem, 10vw, 2.65rem); }
.hangulat-hero__grid, .hangulat-food__grid, .hangulat-space__grid, .hangulat-felt__grid, .hangulat-wine__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.hangulat-hero__copy, .hangulat-hero__media, .hangulat-food__panel, .hangulat-food__media, .hangulat-space__copy, .hangulat-space__media, .hangulat-space__notes, .hangulat-felt__heading, .hangulat-felt__panel, .hangulat-felt__card, .hangulat-wine__intro, .hangulat-wine__note, .hangulat-wine__card { grid-column: 1; }
.hangulat-hero__copy { gap: var(--space-4); }
.hangulat-hero__copy h1 { font-size: clamp(2.625rem, 13vw, 4rem); line-height: .98; }
.hangulat-hero__media { aspect-ratio: 4 / 5; }
.hangulat-hero__media img { object-position: center; }
.hangulat-hero__actions { align-items: stretch; }
.hangulat-hero__actions .button { width: 100%; min-height: 3rem; }
.hangulat-rhythm__grid, .hangulat-occasions__grid, .hangulat-gallery__grid, .hangulat-summary__grid { grid-template-columns: minmax(0, 1fr); }
.hangulat-rhythm__item:first-child { grid-column: 1; width: 100%; }
.hangulat-rhythm__item { gap: var(--space-3); }
.hangulat-food__panel, .hangulat-felt__panel { padding: var(--space-5); }
.hangulat-food__media { aspect-ratio: 4 / 5; }
.hangulat-food__caption { right: var(--space-4); bottom: var(--space-4); width: min(100% - 2rem, 22rem); }
.hangulat-wine__note, .hangulat-wine__card { width: 100%; }
.hangulat-space__media { grid-row: auto; aspect-ratio: 4 / 5; }
.hangulat-space__notes { gap: var(--space-4); margin-top: 0; }
.hangulat-space__notes article, .hangulat-space__notes--offset { width: 100%; margin-left: 0; }
.hangulat-felt__card { min-height: auto; }
.hangulat-occasions__grid { gap: var(--space-4); }
.hangulat-gallery__tile--wide .hangulat-media, .hangulat-gallery__tile:not(.hangulat-gallery__tile--wide) .hangulat-media { aspect-ratio: 4 / 5; }
.hangulat-gallery__cta { min-height: 2.75rem; }
.hangulat-summary__grid article:last-child { grid-column: 1; }
.hangulat-closing__panel { width: 100%; padding: var(--space-5); }
.hangulat-closing__actions { align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) { .hangulat-page .hangulat-media img, .hangulat-wine__card, .hangulat-felt__card { transition: none; } .hangulat-page .hangulat-media:hover img, .hangulat-wine__card:hover, .hangulat-felt__card:hover { transform: none; } }
ul { list-style: none !important; }