/* CONGUSTO — Rosa-inspired editorial restaurant theme */
:root{
  --ink:#111114;--black:#09090b;--paper:#fffefa;--muted:#6f6a64;--gold:#b9a06a;
  --gold-light:#d7c79e;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--script:"Italianno",cursive;
  --content:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--black);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip-link{position:fixed;top:-100px;left:16px;background:#fff;padding:10px;z-index:9999}
.skip-link:focus{top:12px}
.topbar{height:74px;position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,6vw,90px);color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.58),transparent)}
.wordmark{display:flex;align-items:center;gap:8px;line-height:1;color:white}
.logo{height:40px;width:auto;display:block}
.wordmark-small{font-size:8px;letter-spacing:.28em;font-weight:600;text-align:center}
.navigation{display:flex;align-items:center;gap:clamp(16px,2.8vw,38px)}
.navigation a,.lang-toggle{font-size:9px;letter-spacing:.2em;color:#fff;font-weight:600;transition:color .2s}
.navigation a:hover,.lang-toggle:hover{color:var(--gold-light)}
.lang-toggle{border:1px solid rgba(255,255,255,.45);background:transparent;padding:7px 9px;cursor:pointer}
.nav-toggle{display:none;background:transparent;border:0;padding:10px}
.nav-toggle span{display:block;width:24px;height:1px;background:#fff;margin:6px}
.hero{height:min(800px,100svh);min-height:620px;position:relative;display:grid;place-items:center;overflow:hidden;background:#151518;color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(.82)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.35)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 62%,rgba(0,0,0,.3))}
.hero-center{position:relative;text-align:center;padding:90px 24px 20px;max-width:850px}
.script{font-family:var(--script);font-weight:400;color:var(--gold-light);font-size:clamp(38px,5.2vw,66px);line-height:.9}
.hero-center h1{font:600 clamp(48px,9.5vw,110px)/.9 var(--serif);letter-spacing:.18em;margin:12px 0 15px;text-shadow:0 2px 24px #0008}
.hero-rule{display:block;width:76px;height:1px;background:var(--gold-light);margin:0 auto 15px}
.hero-center p{font-size:10px;letter-spacing:.38em;margin:0;color:#fff}
.hero-link{display:inline-block;margin-top:34px;font-size:9px;letter-spacing:.22em;border-bottom:1px solid var(--gold-light);padding-bottom:9px;color:#fff}
.hero-side-note{position:absolute;right:26px;bottom:28px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.25em;color:rgba(255,255,255,.7)}
.split-panel{max-width:var(--content);margin:0 auto;background:var(--paper);display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.story-panel{padding:48px clamp(34px,7.4vw,95px);gap:clamp(30px,6vw,74px);align-items:center}
.panel-copy{text-align:center;max-width:440px;margin:0 auto}
.section-script{font-size:clamp(39px,4vw,55px);color:var(--gold)}
.panel-copy h2{font:600 clamp(24px,3vw,35px)/.97 var(--serif);letter-spacing:.22em;margin:7px 0 23px;color:#171719}
.panel-copy p{font:400 11px/1.9 var(--sans);color:#6e6a65;max-width:385px;margin:0 auto 20px}
.text-link{display:inline-block;border:0;background:none;padding:5px 0 7px;border-bottom:1px solid var(--gold);font-size:8px;letter-spacing:.22em;font-weight:700;color:#87744b;cursor:pointer}
.text-link span{font-size:12px;margin-left:9px}
.panel-media{height:270px;overflow:hidden}
.panel-media img{width:100%;height:100%;object-fit:cover}
.story-media{height:270px}
.image-banner{height:370px;position:relative;display:grid;place-items:center;overflow:hidden;background:#171719;color:#fff}
.image-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.recipes-banner>img{object-position:center 48%;filter:brightness(.55) saturate(.8)}
.image-banner-shade{position:absolute;inset:0;background:rgba(0,0,0,.3)}
.banner-title{position:relative;text-align:center;padding:20px}
.banner-title .script{font-size:clamp(42px,5vw,62px)}
.banner-title h2{font:600 clamp(25px,4vw,39px)/1 var(--serif);letter-spacing:.28em;margin:8px 0 0}
.menu-panel{padding:42px clamp(32px,6vw,75px);gap:clamp(32px,5vw,70px);align-items:center;min-height:430px}
.menu-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:145px 145px;gap:10px;width:100%;max-width:430px}
.collage-photo{padding:0;border:0;overflow:hidden;background:#e8e4dc;cursor:zoom-in}
.collage-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.collage-photo:hover img{transform:scale(1.06)}
.menu-copy h2{margin-bottom:18px}
.menu-copy p{max-width:385px}
.menu-categories{display:flex;justify-content:center;align-items:center;gap:11px;flex-wrap:wrap;margin:21px auto 19px;font-size:8px;font-weight:700;letter-spacing:.15em;color:#56514a}
.menu-categories i{width:3px;height:3px;background:var(--gold);border-radius:50%}
.blend-banner{height:360px}
.blend-banner>img{object-position:center 48%;filter:brightness(.55) saturate(.65)}
.delight-panel{padding:46px clamp(32px,7vw,92px);gap:clamp(30px,6vw,68px);align-items:center;min-height:370px}
.delight-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:260px;width:100%}
.delight-gallery img{width:100%;height:100%;object-fit:cover}
.contact-footer{background:#101014;color:#f1eee8;padding:58px clamp(26px,7vw,100px) 20px}
.footer-top{max-width:var(--content);margin:0 auto 48px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:42px}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.footer-logo{height:54px;width:auto;display:block;margin-bottom:4px}
.footer-brand-sub,.footer-city{font-size:8px;letter-spacing:.22em;color:#c2b89f}
.footer-city{margin-top:13px;color:#8e8980}
.footer-column{display:flex;flex-direction:column;gap:11px;font-size:10px;color:#c4c0b8}
.footer-column h3{font-size:8px;letter-spacing:.22em;color:var(--gold-light);margin:3px 0 7px}
.footer-column a:hover{color:var(--gold-light)}
.footer-note p{font-size:10px;line-height:1.8;color:#aaa49a;margin:0;max-width:220px}
.footer-bottom{max-width:var(--content);margin:auto;padding-top:15px;border-top:1px solid #333137;display:flex;justify-content:space-between;gap:18px;color:#8b8781;font-size:8px;letter-spacing:.13em}
.menu-modal{position:fixed;inset:0;display:none;z-index:100;background:rgba(0,0,0,.72);padding:20px;place-items:center}
.menu-modal.open{display:grid}
.modal-backdrop{position:absolute;inset:0}
.modal-card{position:relative;z-index:1;background:var(--paper);width:min(590px,100%);padding:55px 38px 45px;text-align:center}
.modal-close,.lightbox-close{position:absolute;top:12px;right:18px;border:0;background:transparent;font-size:30px;color:#272321;cursor:pointer}
.modal-card h2{font:600 34px var(--serif);letter-spacing:.25em;margin:7px 0 20px}
.modal-card p{font-size:12px;line-height:1.8;color:var(--muted);max-width:440px;margin:0 auto}
.modal-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0}
.modal-categories span{border:1px solid #e7e1d6;padding:14px 6px;font-size:9px;letter-spacing:.16em}
.lightbox{display:none;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.94);place-items:center;padding:5vw}
.lightbox.open{display:grid}
.lightbox img{max-width:min(1000px,90vw);max-height:85vh;object-fit:contain}
.lightbox-close{color:#fff;top:20px;right:28px;font-size:40px}
body.modal-open{overflow:hidden}
@media(max-width:760px){
  .topbar{height:68px;padding:0 22px}
  .logo{height:32px}
  .nav-toggle{display:block;z-index:2}
  .navigation{display:none;position:absolute;top:68px;left:0;right:0;background:rgba(10,10,12,.97);padding:25px 24px 30px;flex-direction:column;align-items:flex-start;gap:22px}
  .navigation.open{display:flex}
  .navigation a{font-size:10px}
  .hero{min-height:620px;height:88svh}
  .hero-center{padding-top:70px}
  .hero-center h1{font-size:clamp(44px,13vw,76px);letter-spacing:.11em}
  .hero-center p{font-size:8px;letter-spacing:.22em}
  .hero-side-note{right:15px;bottom:18px;font-size:7px}
  .split-panel{grid-template-columns:1fr}
  .story-panel,.menu-panel,.delight-panel{padding:48px 26px;gap:30px}
  .story-panel .panel-copy{order:0}
  .story-media{height:260px}
  .image-banner{height:290px}
  .menu-collage{max-width:100%;grid-template-rows:125px 125px}
  .menu-panel .menu-copy{order:-1}
  .delight-gallery{height:220px}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px 22px}
  .footer-brand{grid-column:1/-1;align-items:center;text-align:center}
  .footer-bottom{flex-wrap:wrap;justify-content:center;text-align:center}
}
@media(max-width:420px){
  .hero{min-height:570px}
  .hero-center h1{font-size:42px}
  .story-panel,.menu-panel,.delight-panel{padding:42px 22px}
  .menu-collage{grid-template-rows:110px 110px;gap:7px}
  .modal-card{padding:50px 22px 30px}
  .modal-categories{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
