/* Final presentation layer. Keep shared spacing and typography consistent. */
:root{--bg:#181c20;--surface:#22272c;--ink:#f4f1ea;--muted:#bcc0c3;--line:#3a4045;--red:#ed5147;--red-soft:transparent}
body{font-size:1.0625rem;-webkit-font-smoothing:antialiased}
header{background:rgba(20,24,28,.97);border-bottom:1px solid var(--line)}
.wrap{max-width:76rem;padding-inline:clamp(22px,5vw,64px)}
.nav{padding-block:1rem;gap:1rem}
.brand{font-size:1.25rem;letter-spacing:.015em}
.tabs a{letter-spacing:.08em;color:#c5c6c6;font-size:.95rem}
.tabs a[aria-current=page]{background:#30363b;border-radius:3px;box-shadow:inset 0 -2px var(--red)}
.hero{background:#101214;border-bottom:1px solid var(--line);padding:1.5rem 1rem}
.hero img{width:min(100%,620px);margin:auto}
.hero-text{padding-block:clamp(2.5rem,6vw,5rem);align-items:flex-end}
h1{font-size:clamp(2.65rem,6vw,4.7rem);letter-spacing:-.045em;line-height:1.06}
h2{text-shadow:none;letter-spacing:-.035em;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.12;max-width:22ch;margin:.8rem 0 1.2rem}
h3{line-height:1.25}
p{line-height:1.75}
.eyebrow,.next .when{color:#f48279;letter-spacing:.16em;font-size:.85rem}
.lede{font-size:1.12rem;line-height:1.7;max-width:46rem}
.btn{background:#cf3931;border-color:#cf3931;border-radius:3px;box-shadow:none;letter-spacing:.08em;line-height:1.2;transition:background .15s}
.btn:hover{background:#b72d26;border-color:#b72d26}
.btn.ghost{background:transparent;border-color:#767b80}.btn.ghost:hover{background:#30363b}
.text-link{color:var(--ink);text-underline-offset:6px;text-decoration-thickness:1px}
.next{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:1.5rem 0}
.next .who{font-size:1.35rem;letter-spacing:-.02em}
main section{padding-block:clamp(3rem,6vw,5rem)}
.home-photos{padding-top:0}.home-photos h2{max-width:none}
.photo-grid{gap:1.5rem}.photo-card{border:0;background:transparent;border-radius:4px}
.photo-card figcaption{padding:.7rem 0 0;line-height:1.5;color:var(--muted)}
.photo-card button{border-radius:4px;overflow:hidden}
.inside-grid img{aspect-ratio:3/2;object-fit:cover;object-position:center 65%}
.inside-grid .photo-card:first-child img{aspect-ratio:16/9;object-position:center 72%}
.people-grid{display:block;columns:3;column-gap:1.5rem}
.people-grid .photo-card{break-inside:avoid;margin-bottom:1.75rem}
.food-grid{gap:1rem}.food-grid figcaption{font-size:.85rem}.food-grid img{border-radius:4px}
.menu-category h3{font:600 1.6rem/1.2 var(--label);letter-spacing:.04em;border-bottom:1px solid var(--line)}
.menu .name{font:600 1.22rem/1.35 var(--body);text-transform:none;letter-spacing:0}
.menu .dots{border-bottom:1px dotted #596168}.menu .price{color:#f5988e;font-weight:600}
.menu li{border-bottom:1px solid var(--line);padding-block:1.25rem}.menu .desc{line-height:1.65;font-size:1rem}
.about-intro{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2.5rem}
.about-intro .lede{margin-bottom:0}.about-note{font-size:1.2rem;color:var(--muted);border-left:2px solid var(--red);padding-left:1.5rem}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.about-story figure{margin:0}.about-story img{display:block;width:100%;height:auto;border-radius:4px}
.about-story figcaption{font-size:.9rem;color:var(--muted);margin-top:.7rem}
#aboutText p{margin:0 0 1.25rem;color:var(--muted)}#aboutText p:first-child{color:var(--ink);font-size:1.16rem}
.about-details{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.about-details h3{font-size:1.3rem;font-weight:600;margin:.8rem 0}.about-details p{color:var(--muted);font-size:1rem}
.about-visit{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--surface);padding:2rem;margin-top:3.5rem;border-radius:4px}
.about-visit h3{font-size:1.7rem;margin:.6rem 0}.about-visit p{margin:0;color:var(--muted)}
.music-photo{display:block;width:100%;max-height:480px;object-fit:cover;object-position:center 65%;border-radius:4px;margin-bottom:2rem}
.music-note{border-top:1px solid var(--line);padding-top:1rem}.music-note h3{font-size:1.5rem}.music-note p{color:var(--muted)}
.info dt{color:#f48279}.info dd{font-size:1.05rem}.copy{margin-top:.5rem}
footer{border-top:1px solid var(--line);background:#13171a}footer .wrap{padding-block:2.25rem;align-items:center}
@media(max-width:1000px){.nav{justify-content:center}.people-grid{columns:2}.about-story{gap:2rem}}
@media(max-width:700px){.nav{display:block;padding-block:.9rem}.nav>.brand{display:block;margin-bottom:.8rem}.tabs{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:.15rem;padding-bottom:3px}.tabs a{flex-shrink:0;padding:.65rem .7rem;font-size:.92rem;min-height:44px}.hero{padding:1rem}.hero img{max-width:420px}.hero-text{display:block}.hero-text .ctas{margin-top:1.75rem}.about-note{display:none}.about-story{grid-template-columns:1fr}.about-details{grid-template-columns:1fr;gap:1.75rem}.about-details>div{max-width:38rem}.about-visit{flex-direction:column;align-items:flex-start;padding:1.5rem}.about-intro{margin-bottom:1.75rem}.people-grid{columns:2}.next{gap:1rem}.home-details .grid2{gap:2.5rem}}
@media(max-width:480px){.people-grid{columns:1}.ctas{gap:.6rem}.ctas .btn{font-size:.9rem;padding:.85rem .8rem}.hero-text p{font-size:1.05rem}.inside-grid .photo-card:first-child img{aspect-ratio:4/3}.photo-grid{gap:1.25rem}.food-grid{gap:.9rem}.about-visit h3{font-size:1.5rem}}
