@font-face { font-family: "Shoulders"; src: url("/fonts/bigshoulders.woff2") format("woff2"); font-weight: 500 800; font-display: swap; }
:root { --bg: #111213; --bg-2: #1a1c1e; --ink: #f2f0ec; --ink-2: #a9aaa7; --line: #2c2e31; --orange: #ff6b1a; --cond: "Shoulders", "Arial Narrow", Impact, sans-serif; --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.6 var(--sans); }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--cond); font-weight: 800; text-transform: uppercase; line-height: .9; letter-spacing: .005em; margin: 0; }
.w { max-width: 1240px; margin: 0 auto; padding: 0 20px; }

.hero { position: relative; min-height: 94vh; display: flex; flex-direction: column; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #111213 3%, rgba(17,18,19,.72) 38%, rgba(17,18,19,.4) 72%, rgba(17,18,19,.88) 100%), linear-gradient(90deg, rgba(17,18,19,.6), rgba(17,18,19,0) 60%); }
.hero > * { position: relative; z-index: 1; }
.nav { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; padding-bottom: 20px; gap: 14px; }
.logo { font: 800 1.6rem/1 var(--cond); text-transform: uppercase; text-decoration: none; letter-spacing: .02em; }
.logo span { color: var(--orange); }
.right { display: flex; align-items: center; gap: 16px; }
.langs button { background: none; border: 0; color: var(--ink-2); font: 700 .85rem var(--sans); cursor: pointer; padding: 4px; }
.langs button[aria-pressed="true"] { color: var(--orange); }
.rdv { background: var(--orange); color: #111; text-decoration: none; font: 800 1.1rem/1 var(--cond); text-transform: uppercase; letter-spacing: .04em; padding: 14px 22px; }
.hero .copy { margin-top: auto; padding-bottom: 64px; }
.hero .tag { color: var(--orange); font: 700 1rem var(--cond); letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { font-size: clamp(3.2rem, 9.5vw, 8.4rem); margin: 10px 0 20px; max-width: 12ch; }
.hero .chips { display: flex; flex-wrap: wrap; gap: 10px; }
.hero .chips span { border: 1px solid rgba(242,240,236,.4); padding: 8px 14px; font-size: .95rem; }

.bar { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bar .w { display: grid; grid-template-columns: repeat(3, 1fr); }
.bar div { padding: 22px 0; }
.bar div + div { border-left: 1px solid var(--line); padding-left: 24px; }
.bar b { display: block; font: 800 1.9rem/1 var(--cond); text-transform: uppercase; }
.bar span { color: var(--ink-2); font-size: .95rem; }
@media (max-width: 700px) { .bar .w { grid-template-columns: 1fr; } .bar div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); } }

section { padding: 96px 0; }
section h2 { font-size: clamp(3rem, 9vw, 6.5rem); margin-bottom: 40px; }
section h2 em { font-style: normal; color: var(--orange); }
.prices { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; }
table { width: 100%; border-collapse: collapse; }
td { padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 1.05rem; }
td:last-child { text-align: right; font: 800 1.6rem/1 var(--cond); color: var(--orange); white-space: nowrap; }
td small { display: block; color: var(--ink-2); font-size: .88rem; }
.prices img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.note { color: var(--ink-2); font-size: .9rem; margin-top: 16px; }
@media (max-width: 820px) { .prices { grid-template-columns: 1fr; } }

.gallery { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
.gallery img { width: 100%; height: 100%; object-fit: cover; }
.gallery .tall { grid-row: span 2; aspect-ratio: auto; }
.gallery .tall img { aspect-ratio: 4/5; }
.gallery .sm img { aspect-ratio: 4/3; }
.gallery .txt { background: var(--bg-2); padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; }
.gallery .txt p { color: var(--ink-2); margin: 10px 0 0; }
.gallery .txt h3 { font-size: 2.2rem; }
@media (max-width: 760px) { .gallery { grid-template-columns: 1fr; } .gallery .tall { grid-row: auto; } }

.hours { background: var(--bg-2); }
.hours .w { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.hours dl { margin: 0; display: grid; grid-template-columns: auto 1fr; }
.hours dt, .hours dd { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); }
.hours dd { text-align: right; color: var(--ink-2); }
.hours .addr { font-size: 1.15rem; }
.hours .addr p { color: var(--ink-2); }
@media (max-width: 760px) { .hours .w { grid-template-columns: 1fr; } }

.end { text-align: center; }
.end h2 { margin: 0 auto 28px; }
footer { border-top: 1px solid var(--line); padding: 24px 0; font-size: .85rem; color: var(--ink-2); }
footer .w { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }

.hero > .w { width: 100%; }
.hero h1, .hero .tag, .logo { text-shadow: 0 2px 18px rgba(0,0,0,.5); }
