/* Dresden location landing page — scoped redesign, shared site header/footer remain intact. */
:root {
    --dd-ink: #25140e;
    --dd-clay: #8f1e1d;
    --dd-coral: #df5638;
    --dd-cream: #fbf5ed;
    --dd-sand: #eee2d1;
    --dd-night: #160c0a;
    --dd-line: rgba(37, 20, 14, .16);
    --dd-ease: cubic-bezier(.23, 1, .32, 1);
}

.dresden-page {
    background: var(--dd-cream);
    color: var(--dd-ink);
    font-family: "DM Sans", system-ui, sans-serif;
    overflow: hidden;
}

.dresden-page * { box-sizing: border-box; }
.dresden-page h1,
.dresden-page h2,
.dresden-page p,
.dresden-page figure,
.dresden-page dl,
.dresden-page dd { margin: 0; }
.dresden-page address { font-style: normal; }
.dresden-page a { text-decoration: none; }
.dresden-page a:focus-visible,
.site-footer a:focus-visible,
.site-header a:focus-visible,
.site-header button:focus-visible { outline: 3px solid var(--dd-coral); outline-offset: 4px; }

.site-header,
.site-footer { font-family: "DM Sans", system-ui, sans-serif; }

.dresden-hero {
    min-height: min(790px, calc(100svh - 100px));
    position: relative;
    isolation: isolate;
    display: grid;
    align-items: end;
    padding: clamp(6rem, 12vw, 11rem) 0 clamp(4rem, 8vw, 7rem);
    background: var(--dd-night);
    color: #fff8f0;
}

.dresden-hero__image,
.dresden-hero__shade,
.dresden-hero__grain { position: absolute; inset: 0; }
.dresden-hero__image {
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    filter: saturate(.88) contrast(1.08);
    z-index: -3;
}
.dresden-hero__shade {
    z-index: -2;
    background: linear-gradient(90deg, rgba(22, 12, 10, .9) 0%, rgba(22, 12, 10, .62) 44%, rgba(22, 12, 10, .26) 100%), linear-gradient(0deg, rgba(22, 12, 10, .58), transparent 44%);
}
.dresden-hero__grain {
    z-index: -1;
    opacity: .26;
    background-image: radial-gradient(rgba(255,255,255,.35) .55px, transparent .7px);
    background-size: 5px 5px;
    mix-blend-mode: soft-light;
    pointer-events: none;
}
.dresden-hero__content { position: relative; }
.dresden-kicker {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.4;
    color: #ffd1a8;
}
.dresden-kicker--ink { color: var(--dd-clay); }
.dresden-kicker--light { color: #ffc38e; }
.dresden-hero h1,
.dresden-intro h2,
.dresden-order h2,
.dresden-contact h2 {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: .9;
}
.dresden-hero h1 {
    max-width: 11ch;
    margin-top: 1rem;
    font-size: clamp(3.4rem, 7.1vw, 7.7rem);
}
.dresden-hero h1 em,
.dresden-intro h2 em,
.dresden-order h2 em,
.dresden-contact h2 em { color: #f0a267; }
.dresden-hero__intro {
    max-width: 43ch;
    margin-top: 1.65rem;
    color: rgba(255, 248, 240, .86);
    font-size: clamp(1rem, 1.55vw, 1.2rem);
    line-height: 1.58;
}
.dresden-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.2rem; }
.dresden-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    min-height: 3.3rem;
    padding: .75rem 1.25rem;
    border-radius: 99px;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .02em;
    transition: transform 180ms var(--dd-ease), background 180ms var(--dd-ease), color 180ms var(--dd-ease);
}
.dresden-button:hover { text-decoration: none; transform: translateY(-2px); }
.dresden-button:active { transform: scale(.97); }
.dresden-button--solid { background: #f7ad77; color: #2a130d; }
.dresden-button--solid:hover { background: #ffe0bf; }
.dresden-button--quiet { color: #fff8f0; border: 1px solid rgba(255,248,240,.46); }
.dresden-button--quiet:hover { background: rgba(255,248,240,.12); }
.dresden-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 2.25rem;
    color: rgba(255,248,240,.8);
    font-size: .77rem;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.dresden-scroll-cue {
    position: absolute;
    bottom: 1.8rem;
    right: max(1.5rem, calc((100vw - 1200px) / 2));
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: rgba(255,248,240,.77);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .16em;
}
.dresden-scroll-cue i { width: 2.5rem; height: 1px; background: currentColor; position: relative; }
.dresden-scroll-cue i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); }

.dresden-intro { padding: clamp(5.5rem, 11vw, 9rem) 0; }
.dresden-intro__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.dresden-intro h2,
.dresden-order h2,
.dresden-contact h2 { margin-top: .85rem; font-size: clamp(3rem, 5.8vw, 6.1rem); }
.dresden-intro h2 em,
.dresden-order h2 em { color: var(--dd-clay); }
.dresden-intro__copy { max-width: 37rem; padding-bottom: .35rem; }
.dresden-intro__copy p { font-size: clamp(1.08rem, 1.65vw, 1.35rem); line-height: 1.58; }
.dresden-text-link { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.8rem; padding-bottom: .25rem; border-bottom: 1px solid currentColor; color: var(--dd-clay); font-weight: 700; }
.dresden-text-link:hover { text-decoration: none; color: var(--dd-coral); }

.dresden-location-band { background: var(--dd-night); padding: clamp(1rem, 2vw, 1.75rem) 0; }
.dresden-location-band__grid { display: grid; grid-template-columns: 1fr 1.08fr 1fr; min-height: 28rem; }
.dresden-location-card { margin: 0; min-width: 0; }
.dresden-location-card--address,
.dresden-location-card--hours { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.8rem, 4vw, 4rem); }
.dresden-location-card--address { background: #e85f40; color: #2b110b; }
.dresden-location-card--hours { background: #f6eee4; color: var(--dd-ink); }
.dresden-card-label { font-size: .68rem; font-weight: 800; letter-spacing: .17em; }
.dresden-location-card h2 { max-width: 6ch; margin-top: 1.15rem; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.55rem, 4.4vw, 4.8rem); line-height: .88; letter-spacing: -.055em; }
.dresden-location-card address { margin-top: 1.7rem; font-weight: 700; font-size: 1.02rem; line-height: 1.55; }
.dresden-location-card__note { margin-top: auto; padding-top: 3rem; font-size: .76rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.dresden-location-card--image { overflow: hidden; background: #29110d; }
.dresden-location-card--image img { width: 100%; height: 100%; max-width: none; border-radius: 0; object-fit: cover; transform: scale(1.035); transition: transform 500ms var(--dd-ease); }
.dresden-location-card--image:hover img { transform: scale(1.08); }
.dresden-location-card--hours dl { margin-top: 1.7rem; }
.dresden-location-card--hours dl div { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(37,20,14,.18); }
.dresden-location-card--hours dt { font-weight: 600; }
.dresden-location-card--hours dd { font-weight: 700; text-align: right; }

.dresden-order { padding: clamp(5.5rem, 11vw, 9rem) 0; }
.dresden-order__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .62fr); gap: 2rem; align-items: end; }
.dresden-order__header > p { max-width: 29rem; padding-bottom: .3rem; font-size: 1rem; line-height: 1.58; color: rgba(37,20,14,.72); }
.dresden-order__options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 3.3rem; }
.dresden-order-option { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; gap: 1rem; min-height: 13rem; padding: 1.4rem; background: #fffdf9; border: 1px solid var(--dd-line); color: var(--dd-ink); transition: background 180ms var(--dd-ease), color 180ms var(--dd-ease), transform 180ms var(--dd-ease), border-color 180ms var(--dd-ease); }
.dresden-order-option:hover { text-decoration: none; transform: translateY(-4px); background: var(--dd-clay); border-color: var(--dd-clay); color: #fff7eb; }
.dresden-order-option:active { transform: scale(.98); }
.dresden-order-option__number { color: var(--dd-coral); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.dresden-order-option:hover .dresden-order-option__number { color: #ffbf89; }
.dresden-order-option strong { align-self: end; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.65rem); letter-spacing: -.045em; }
.dresden-order-option__arrow { align-self: end; font-size: 1.5rem; }

.dresden-contact { padding: 0 0 clamp(5.5rem, 10vw, 8rem); background: var(--dd-cream); }
.dresden-contact__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); min-height: 38rem; background: #35130f; color: #fff6e9; }
.dresden-contact__image { margin: 0; overflow: hidden; position: relative; isolation: isolate; background: #29110d; }
.dresden-contact__image::after { content: "SOFT OPENING"; position: absolute; left: clamp(1.2rem, 4vw, 3rem); bottom: clamp(1.2rem, 4vw, 3rem); z-index: 1; padding: .55rem .8rem; border: 1px solid rgba(255,248,240,.55); color: #fff8f0; background: rgba(41,17,13,.48); backdrop-filter: blur(8px); font-size: .65rem; font-weight: 800; letter-spacing: .16em; }
.dresden-contact__image img { width: 100%; height: 100%; max-width: none; border-radius: 0; object-fit: cover; object-position: 50% 55%; filter: saturate(.96) contrast(1.06) brightness(.9); transform: scale(1.02); transition: transform 500ms var(--dd-ease), filter 500ms var(--dd-ease); }
.dresden-contact__image:hover img { transform: scale(1.055); filter: saturate(1.02) contrast(1.07) brightness(.94); }
.dresden-contact__content { padding: clamp(2.2rem, 6vw, 5.5rem); display: flex; flex-direction: column; }
.dresden-contact h2 { color: #fff8f0; }
.dresden-contact__details { display: grid; gap: 0; margin-top: clamp(2rem, 5vw, 4rem); }
.dresden-contact__details div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(255,248,240,.24); }
.dresden-contact__details dt { color: #ffc38e; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dresden-contact__details dd { font-weight: 600; line-height: 1.45; }
.dresden-contact__details a { color: inherit; text-decoration: underline; text-underline-offset: .22em; }
.dresden-contact__details a:hover { color: #ffc38e; }
.dresden-local-social { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: auto; padding-top: 2.4rem; }
.dresden-local-social a { display: inline-flex; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid rgba(255,248,240,.48); color: #fff8f0; font-size: .85rem; font-weight: 700; }
.dresden-local-social a:hover { color: #ffc38e; text-decoration: none; }

.dresden-portal-link { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(62, 36, 3, .15); }
.dresden-portal-link a { color: var(--text-muted-dark); font-size: .88rem; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .dresden-hero { min-height: 43rem; }
    .dresden-intro__grid,
    .dresden-order__header { grid-template-columns: 1fr; }
    .dresden-intro__copy { max-width: 40rem; }
    .dresden-location-band__grid { grid-template-columns: 1fr 1fr; }
    .dresden-location-card--image { grid-row: span 2; }
    .dresden-location-card--address,
    .dresden-location-card--hours { min-height: 17rem; }
    .dresden-contact__grid { grid-template-columns: 1fr; }
    .dresden-contact__image { max-height: 26rem; }
}

@media (max-width: 640px) {
    .dresden-hero { min-height: 41rem; padding-top: 5rem; }
    .dresden-hero__shade { background: linear-gradient(0deg, rgba(22,12,10,.86) 0%, rgba(22,12,10,.52) 67%, rgba(22,12,10,.35) 100%); }
    .dresden-hero__image { object-position: 57% center; }
    .dresden-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
    .dresden-scroll-cue { display: none; }
    .dresden-hero__meta { font-size: .66rem; }
    .dresden-intro { padding: 5rem 0; }
    .dresden-location-band { padding: 0; }
    .dresden-location-band .container { width: 100%; }
    .dresden-location-band__grid { grid-template-columns: 1fr; }
    .dresden-location-card--image { grid-row: auto; min-height: 20rem; order: -1; }
    .dresden-location-card--address,
    .dresden-location-card--hours { min-height: 17rem; padding: 2rem; }
    .dresden-order__options { grid-template-columns: 1fr; margin-top: 2.25rem; }
    .dresden-order-option { min-height: 8rem; }
    .dresden-contact { padding-bottom: 4rem; }
    .dresden-contact__grid { margin-inline: -1rem; }
    .dresden-contact__image { min-height: 19rem; }
    .dresden-contact__image img { object-position: 50% 48%; }
    .dresden-contact__details div { grid-template-columns: 1fr; gap: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .dresden-page *, .dresden-page *::before, .dresden-page *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* HQ-channel disclosure: brand content, not a Dresden-local channel. */
.dresden-hq-youtube {
    margin: 1.3rem 0 0;
    color: rgba(255, 248, 240, .78);
    font-size: .82rem;
    line-height: 1.55;
}
.dresden-hq-youtube a { color: #ffc38e; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.dresden-hq-youtube a:hover { color: #fff8f0; }
