@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap");

:root { --bg:#f4efe5; --surface:#fffaf0; --ink:#201b16; --muted:#756d63; --accent:#a8782a; --line:#d9cebc; --dark:#161310; --serif:"Italiana",serif; --sans:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); }
body.beef { --bg:#0d0d0c; --surface:#171613; --ink:#f8f1e3; --muted:#b7ad9d; --line:#383229; --accent:#d1a04b; --dark:#080807; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
.site-header { position:fixed; inset:0 0 auto; z-index:30; height:82px; display:flex; align-items:center; padding:0 max(24px,5vw); background:color-mix(in srgb,var(--dark) 88%,transparent); color:white; backdrop-filter:blur(14px); border-bottom:1px solid #ffffff18; }
.site-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:700; letter-spacing:.02em; }
.site-mark { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--accent); color:var(--accent); border-radius:50%; font-family:var(--serif); font-size:22px; }
.site-mark.has-logo { width:auto; height:40px; border:0; border-radius:0; background:none; padding:0; }
.site-mark.has-logo .brand-logo { height:40px; width:auto; display:block; object-fit:contain; }
.site-nav { margin-left:auto; display:flex; align-items:center; gap:24px; }
.site-nav a { text-decoration:none; font-size:13px; color:#eee6d9; }
.lang-switch { width:auto; padding:8px 10px; border:1px solid #ffffff33; border-radius:999px; background:transparent; color:white; }
.lang-switch option { color:#111; }
.menu-toggle { display:none; margin-left:12px; border:0; background:none; color:white; font-size:24px; }
.hero { min-height:92vh; padding:150px max(24px,8vw) 80px; display:grid; align-items:end; position:relative; overflow:hidden; background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 34%),linear-gradient(135deg,var(--dark),color-mix(in srgb,var(--dark) 80%,var(--accent))); color:white; }
.hero::after { content:""; position:absolute; width:min(56vw,760px); aspect-ratio:1; border:1px solid #ffffff18; border-radius:50%; right:-10%; top:12%; box-shadow:0 0 0 90px #ffffff08,0 0 0 180px #ffffff05; }
.hero-content { position:relative; z-index:2; max-width:850px; }
.eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:700; }
h1,h2 { font-family:var(--serif); font-weight:400; }
h1 { margin:14px 0 24px; font-size:clamp(58px,9vw,128px); line-height:.9; letter-spacing:-.035em; }
.hero-copy { max-width:650px; color:#e0d7ca; font-size:18px; line-height:1.75; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:0 22px; border:1px solid var(--accent); border-radius:999px; background:var(--accent); color:#17120b; text-decoration:none; font-weight:700; }
.button.ghost { background:transparent; color:white; }
section { padding:100px max(24px,8vw); }
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:48px; }
.section-head h2 { margin:8px 0 0; font-size:clamp(42px,6vw,76px); line-height:1; }
.section-head p { color:var(--muted); line-height:1.8; }
.location-grid,.concept-grid,.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.location-card,.concept-card,.menu-card,.legal-card { padding:30px; background:var(--surface); border:1px solid var(--line); border-radius:20px; }
.location-card h3,.concept-card h3 { margin:0 0 12px; font-size:25px; }
.location-card p,.concept-card p { color:var(--muted); line-height:1.65; }
.location-card.has-photo { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.location-photo { aspect-ratio:16/10; overflow:hidden; background:var(--line); }
.location-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s ease; }
.location-card.has-photo:hover .location-photo img { transform:scale(1.06); }
.location-body { padding:24px 26px; display:flex; flex-direction:column; }
.location-body .eyebrow { color:var(--accent); margin:0 0 4px; }
.location-desc { color:var(--muted); line-height:1.6; margin:0 0 4px; }
.location-meta { color:var(--muted); font-size:14px; margin:8px 0 0; line-height:1.7; }
.location-body .card-actions { margin-top:16px; display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.button.ghost.small { padding:9px 18px; font-size:13px; }
.card-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.text-link { color:var(--accent); font-weight:700; text-decoration:none; }
.menu-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.menu-filters button { border:1px solid var(--line); background:transparent; color:var(--ink); border-radius:999px; padding:9px 15px; }
.menu-filters button.active { background:var(--accent); color:#16120c; border-color:var(--accent); }
.menu-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.menu-card { display:grid; grid-template-columns:1fr auto; gap:10px; }
.menu-card h3 { margin:0; font-size:17px; }
.menu-card p { grid-column:1/-1; margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.menu-card strong { color:var(--accent); }
.allergens { font-size:10px; color:var(--muted); }
.reservation-shell,.career-shell { display:grid; grid-template-columns:.8fr 1.2fr; background:var(--surface); border:1px solid var(--line); border-radius:26px; overflow:hidden; }
.form-copy { padding:44px; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); }
.form-copy h2 { font-size:48px; margin:10px 0 18px; }
.site-form { padding:44px; display:grid; gap:15px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:grid; gap:7px; font-size:12px; font-weight:700; color:var(--muted); }
input,select,textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:12px; background:var(--bg); color:var(--ink); }
.consent { grid-template-columns:auto 1fr; align-items:start; font-weight:400; line-height:1.5; }
.consent input { width:auto; margin-top:3px; }
.honeypot { position:absolute!important; left:-10000px!important; }
.form-message { padding:12px; border-radius:10px; background:#267a4930; color:#5bc181; }
.form-message.error { background:#a13b3b30; color:#e77979; }
.hidden { display:none!important; }
.legal-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.legal-card h2 { font-size:38px; margin:0 0 20px; }
.legal-card p { color:var(--muted); line-height:1.7; }
.site-footer { padding:45px max(24px,8vw); background:var(--dark); color:#d9d0c2; display:flex; justify-content:space-between; gap:25px; flex-wrap:wrap; }
.site-footer a { color:#d9d0c2; margin-right:18px; font-size:12px; }
.cookie-banner { position:fixed; z-index:50; left:20px; right:20px; bottom:20px; max-width:760px; margin:auto; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 18px 80px #0006; }
.cookie-banner p { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.5; }
.cookie-actions { display:flex; gap:9px; }
.cookie-actions button { border:1px solid var(--line); border-radius:999px; padding:9px 15px; background:transparent; color:var(--ink); }
.cookie-actions .accept { background:var(--accent); border-color:var(--accent); color:#17120b; }
@media (max-width:820px) {
  .site-header { height:70px; }
  .menu-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:70px; left:0; right:0; padding:24px; background:var(--dark); flex-direction:column; align-items:flex-start; }
  .site-nav.open { display:flex; }
  .section-head,.reservation-shell,.career-shell,.legal-grid { grid-template-columns:1fr; }
  .location-grid,.concept-grid,.gallery-grid,.menu-list { grid-template-columns:1fr; }
  .form-copy,.site-form { padding:28px; }
  section { padding-top:72px; padding-bottom:72px; }
  .hero { min-height:86vh; padding-top:120px; }
}
@media (max-width:520px) { .form-grid { grid-template-columns:1fr; } h1 { font-size:58px; } }

/* --- Faz 2c: hero medya, galeri, animasyonlar --- */
.hero-media { position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-media img,.hero-media video { width:100%; height:100%; object-fit:cover; display:block; }
.hero.has-media::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(8,8,7,.50),rgba(8,8,7,.80)); }
.hero.has-media::after { opacity:.22; }
.hero.has-media .hero-content { position:relative; z-index:2; }
#gallery .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-item { margin:0; border-radius:18px; overflow:hidden; aspect-ratio:4/3; background:var(--surface); border:1px solid var(--line); }
.gallery-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.gallery-item:hover img { transform:scale(1.06); }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
.location-card,.concept-card { transition:transform .35s ease,box-shadow .35s ease; }
.location-card:hover,.concept-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(0,0,0,.18); }
.button { transition:transform .2s ease,filter .2s ease; }
.button:hover { transform:translateY(-2px); filter:brightness(1.06); }
@media (max-width:980px) { #gallery .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:820px) { #gallery .gallery-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; transition:none; } .gallery-item img { transition:none; } }

/* ===================================================================
   BEEF — Steakhouse yeniden tasarimi (TUMU body.beef kapsaminda;
   Emsal sitesi bu kurallardan ETKILENMEZ).
   Tasarim yonu: skills/frontend-design (ozne-temelli, cesaret tek yerde)
   + skills/ui-ux-pro-max ("premium dark + action red", erisilebilirlik
   tabani: focus halkasi, reduced-motion, 4.5:1 kontrast, 150-300ms).
   Palet: kömür zemin + kan kirmizisi (eylem) + altin (vurgu/fiyat).
   =================================================================== */
body.beef {
  --char:#0a0a09; --smoke:#16140f; --panel:#1c1813;
  --blood:#b0181d; --blood-2:#d6342b; --ember:#e0763a;
  --gold:var(--accent);
  --serif-beef:"Playfair Display",var(--serif);
  --cond-beef:"Oswald",var(--sans);
  --ease:cubic-bezier(.2,.7,.2,1);
  --r-sm:8px; --r-md:14px; --r-lg:22px;
  --shadow-1:0 12px 32px rgba(0,0,0,.5);
  --shadow-2:0 26px 64px rgba(0,0,0,.62);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  background:var(--char);
}
/* --- Tipografi: Oswald signage karakteri --- */
body.beef h1,body.beef h2,body.beef .section-head h2,body.beef .form-copy h2,body.beef .legal-card h2 { font-family:var(--serif-beef); }
body.beef .site-brand,body.beef .menu-filters button,body.beef .button,body.beef .eyebrow,body.beef .lang-flag { font-family:var(--cond-beef); }
body.beef h1 { font-weight:800; letter-spacing:-.008em; line-height:1.0; }
body.beef h2 { font-weight:700; letter-spacing:0; }
body.beef .eyebrow { color:var(--blood-2); letter-spacing:.3em; }
body.beef .site-brand { letter-spacing:.06em; text-transform:uppercase; font-weight:600; }
/* --- Header + scroll durumu --- */
body.beef .site-header { background:color-mix(in srgb,var(--char) 82%,transparent); border-bottom:1px solid #ffffff14; transition:height .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease); }
body.beef.scrolled .site-header { height:64px; background:color-mix(in srgb,var(--char) 95%,transparent); box-shadow:var(--shadow-1); }
body.beef .site-mark { border-color:var(--blood-2); color:var(--blood-2); background:radial-gradient(circle at 50% 25%,#ffffff14,transparent 70%); }
body.beef .site-nav a { position:relative; }
body.beef .site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:var(--blood-2); transition:right .3s var(--ease); }
body.beef .site-nav a:hover::after { right:0; }
/* --- Bayrakli dil secici (yalniz beef) --- */
body.beef .lang-switch { display:none; }
body.beef .lang-flags { display:flex; align-items:center; gap:6px; }
body.beef .lang-flag { display:inline-flex; align-items:center; gap:5px; border:1px solid #ffffff2b; background:#ffffff10; color:#eee6d9; border-radius:999px; padding:5px 10px; cursor:pointer; font-family:var(--serif-beef); font-size:12px; letter-spacing:.06em; transition:border-color .2s var(--ease),background .2s var(--ease); }
body.beef .lang-flag .flag { font-size:14px; line-height:1; }
body.beef .lang-flag:hover { border-color:var(--blood-2); }
body.beef .lang-flag.active { background:var(--blood); border-color:var(--blood); color:#fff; }
@media (max-width:820px) { body.beef .lang-flag .code { display:none; } body.beef .lang-flags { gap:4px; } }
/* --- Logo (header) --- */
body.beef .site-mark { width:auto; height:46px; border:none; background:none; border-radius:0; }
body.beef .site-mark.has-logo .brand-logo { height:46px; width:auto; display:block; filter:drop-shadow(0 2px 8px rgba(0,0,0,.5)); transition:height .35s var(--ease); }
body.beef.scrolled .site-mark.has-logo .brand-logo { height:38px; }
body.beef .site-brand { gap:14px; }
/* --- Giris animasyonu (logo intro, etle-ilgili ember temasi) --- */
.beef-intro { position:fixed; inset:0; z-index:200; display:grid; place-items:center; background:radial-gradient(circle at 50% 42%,#26130a 0%,#0a0a09 62%); transition:opacity .6s var(--ease,ease),transform .6s var(--ease,ease); }
.beef-intro.done { opacity:0; transform:translateY(-34px); pointer-events:none; }
.beef-intro::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 44%,rgba(224,118,58,.24),transparent 42%); animation:introEmber 2s ease-in-out infinite; }
.beef-intro-inner { position:relative; z-index:2; text-align:center; }
.beef-intro .intro-logo { width:min(48vw,280px); filter:drop-shadow(0 0 34px rgba(224,118,58,.55)); animation:introLogo 1.3s cubic-bezier(.2,.7,.2,1) both; }
.beef-intro .intro-logo-full { width:min(74vw,500px); filter:drop-shadow(0 0 44px rgba(224,118,58,.5)); }
.beef-intro .intro-word { margin-top:20px; font-family:"Oswald",sans-serif; font-weight:700; letter-spacing:.3em; font-size:clamp(20px,4.4vw,36px); color:#f4ead3; opacity:0; animation:introWord .8s ease .5s both; }
.beef-intro .intro-sub { margin-top:6px; font-family:"Oswald",sans-serif; letter-spacing:.42em; font-size:12px; color:#d1a04b; opacity:0; animation:introWord .8s ease .74s both; }
@keyframes introLogo { 0%{opacity:0;transform:scale(.62) translateY(16px)} 60%{opacity:1} 100%{opacity:1;transform:scale(1) translateY(0)} }
@keyframes introWord { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@keyframes introEmber { 0%,100%{opacity:.5} 50%{opacity:.95} }
@media (prefers-reduced-motion:reduce) { .beef-intro { display:none!important; } }
/* --- HERO + slider --- */
body.beef .hero { min-height:100vh; min-height:100dvh; padding-top:160px; }
body.beef .hero-media { z-index:0; }
body.beef .hero-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.07); transition:opacity 1.1s var(--ease); }
body.beef .hero-slide.is-active { opacity:1; transform:scale(1); transition:opacity 1.1s var(--ease),transform 7s linear; }
body.beef .hero.has-media::before { background:linear-gradient(180deg,rgba(8,8,7,.34),rgba(8,8,7,.84) 72%),radial-gradient(circle at 78% 16%,color-mix(in srgb,var(--ember) 42%,transparent),transparent 44%); }
body.beef .hero::after { display:none; }
body.beef .hero-content::before { content:""; display:block; width:60px; height:4px; background:var(--blood-2); margin-bottom:22px; }
body.beef .hero-copy { color:#e9ddca; }
/* hero oklari + noktalar */
body.beef .hero-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:54px; height:54px; display:grid; place-items:center; border:1px solid #ffffff3a; border-radius:50%; background:#0000004d; color:#fff; font-size:22px; cursor:pointer; transition:background .25s var(--ease),border-color .25s var(--ease); backdrop-filter:blur(4px); }
body.beef .hero-arrow:hover { background:var(--blood); border-color:var(--blood); }
body.beef .hero-arrow.prev { left:max(14px,3vw); } body.beef .hero-arrow.next { right:max(14px,3vw); }
body.beef .hero-dots { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:10px; }
body.beef .hero-dots button { width:10px; height:10px; padding:0; border-radius:50%; border:1px solid #ffffff66; background:transparent; cursor:pointer; transition:background .25s,transform .25s; }
body.beef .hero-dots button.active { background:var(--blood-2); border-color:var(--blood-2); transform:scale(1.2); }
/* hero giris stagger + scroll-cue */
@media (prefers-reduced-motion:no-preference) {
  body.beef .hero-content > * { opacity:0; transform:translateY(28px); }
  body.beef .hero.in .hero-content > * { opacity:1; transform:none; transition:opacity .8s var(--ease),transform .8s var(--ease); }
  body.beef .hero.in .hero-content > *:nth-child(1){transition-delay:.05s}
  body.beef .hero.in .hero-content > *:nth-child(2){transition-delay:.16s}
  body.beef .hero.in .hero-content > *:nth-child(3){transition-delay:.28s}
  body.beef .hero.in .hero-content > *:nth-child(4){transition-delay:.40s}
  body.beef .hero.in .hero-content > *:nth-child(5){transition-delay:.52s}
}
body.beef .scroll-cue { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:3; width:26px; height:44px; border:2px solid #ffffff66; border-radius:14px; display:block; }
body.beef .scroll-cue::after { content:""; position:absolute; left:50%; top:8px; width:4px; height:9px; border-radius:2px; background:#fff; transform:translateX(-50%); animation:cue 1.6s var(--ease) infinite; }
@keyframes cue { 0%{opacity:0;top:8px} 40%{opacity:1} 100%{opacity:0;top:24px} }
/* --- Butonlar --- */
body.beef .button { background:var(--blood); border-color:var(--blood); color:#fff; text-transform:uppercase; letter-spacing:.12em; font-weight:600; border-radius:var(--r-sm); }
body.beef .button:hover { background:var(--blood-2); filter:none; box-shadow:0 12px 32px color-mix(in srgb,var(--blood) 50%,transparent); }
body.beef .button.ghost { background:transparent; color:#fff; border-color:#ffffff4d; }
body.beef .button.ghost:hover { background:#ffffff14; border-color:#fff; box-shadow:none; }
body.beef .button.mini { min-height:38px; padding:0 16px; font-size:12px; }
/* --- Bolum basliklari + kirmizi alt cizgi --- */
body.beef section { padding:96px max(24px,8vw); }
body.beef .section-head h2 { display:inline-block; }
body.beef .section-head h2::after { content:""; display:block; width:78px; height:4px; margin-top:16px; background:var(--blood-2); }
body.beef .text-link { color:var(--gold); }
/* --- Lokasyon + concept kartlari --- */
body.beef .location-card,body.beef .concept-card,body.beef .legal-card { background:var(--smoke); border-color:#ffffff14; position:relative; overflow:hidden; }
body.beef .location-card::before,body.beef .concept-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--blood-2); }
body.beef .location-card:hover,body.beef .concept-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:color-mix(in srgb,var(--blood) 40%,transparent); }
/* --- MENU = urun kartlari (referans stili) --- */
body.beef #menu { position:relative; background:linear-gradient(180deg,var(--char),color-mix(in srgb,var(--blood) 8%,var(--char))); }
body.beef .menu-filters { position:sticky; top:64px; z-index:6; background:color-mix(in srgb,var(--char) 88%,transparent); backdrop-filter:blur(8px); padding:12px 0; margin:0 0 28px; }
body.beef .menu-filters button { text-transform:uppercase; letter-spacing:.08em; border-color:#ffffff24; color:#e8ddc9; cursor:pointer; }
body.beef .menu-filters button.active { background:var(--blood); border-color:var(--blood); color:#fff; }
body.beef .menu-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
body.beef .menu-card { display:flex; flex-direction:column; padding:0; gap:0; background:color-mix(in srgb,var(--blood) 12%,var(--panel)); border:1px solid color-mix(in srgb,var(--blood) 26%,var(--line)); border-radius:var(--r-md); overflow:hidden; transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease); }
body.beef .menu-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:var(--blood-2); }
body.beef .menu-thumb { width:100%; aspect-ratio:4/3; overflow:hidden; background:#000; }
body.beef .menu-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease); }
body.beef .menu-card:hover .menu-thumb img { transform:scale(1.06); }
body.beef .menu-body { display:flex; flex-direction:column; gap:8px; padding:20px 22px 22px; }
body.beef .menu-body h3 { font-family:var(--serif-beef); letter-spacing:0; font-size:22px; font-weight:700; }
body.beef .menu-body p { color:#c9bca8; font-size:13px; line-height:1.6; margin:0; }
body.beef .menu-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; padding-top:14px; border-top:1px solid #ffffff14; }
body.beef .menu-foot strong { color:var(--gold); font-size:20px; font-variant-numeric:tabular-nums; }
body.beef .menu-card .allergens { padding:0 22px 18px; color:#9a8e7c; }
/* --- Galeri mozaik --- */
body.beef #gallery .gallery-grid { grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; grid-auto-flow:dense; gap:14px; }
body.beef .gallery-item { aspect-ratio:auto; height:100%; cursor:pointer; border-color:#ffffff14; }
body.beef .gallery-item:nth-child(6n+1) { grid-column:span 2; grid-row:span 2; }
body.beef .gallery-item:nth-child(6n+4) { grid-row:span 2; }
/* --- Formlar (rezervasyon + kariyer) --- */
body.beef .reservation-shell,body.beef .career-shell { background:var(--smoke); border-color:#ffffff14; }
body.beef .form-copy { background:linear-gradient(160deg,color-mix(in srgb,var(--blood) 30%,var(--smoke)),var(--smoke)); }
body.beef .form-copy h2 { color:#fff; }
body.beef input,body.beef select,body.beef textarea { background:#100e0c; border-color:#ffffff1f; color:var(--ink); transition:border-color .2s var(--ease),box-shadow .2s var(--ease); }
body.beef input:focus,body.beef select:focus,body.beef textarea:focus { outline:none; border-color:var(--blood-2); box-shadow:0 0 0 3px color-mix(in srgb,var(--blood) 38%,transparent); }
body.beef .site-form label:focus-within > span { color:var(--blood-2); }
/* --- Iletisim + harita --- */
body.beef .findus .section-head p { color:var(--muted); line-height:1.9; }
body.beef .findus-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:8px; }
body.beef .findus-card { background:var(--smoke); border:1px solid #ffffff14; border-radius:var(--r-lg); overflow:hidden; display:grid; grid-template-rows:auto 1fr; }
body.beef .findus-card .findus-info { padding:24px 26px; }
body.beef .findus-card h3 { font-family:var(--serif-beef); font-size:26px; margin:0 0 12px; }
body.beef .findus-card p { color:var(--muted); line-height:1.9; margin:0 0 18px; }
body.beef .map-slot { position:relative; min-height:240px; overflow:hidden; border-top:1px solid #ffffff14; background:var(--smoke) var(--grain); display:grid; place-items:center; }
body.beef .map-slot iframe { width:100%; height:100%; min-height:240px; border:0; display:block; filter:grayscale(.25) contrast(1.05); }
@media (max-width:820px) { body.beef .findus-grid { grid-template-columns:1fr; } }
/* premium altin menu butonu */
body.beef .menu-foot .button { background:linear-gradient(135deg,#efc86a,#c8922f); border-color:#c8922f; color:#1c1206; box-shadow:0 6px 18px rgba(200,146,47,.28); }
body.beef .menu-foot .button:hover { filter:brightness(1.07); box-shadow:0 10px 26px rgba(200,146,47,.45); background:linear-gradient(135deg,#f3d488,#d29a34); }
/* header: gercek logo, marka metni gizli */
body.beef #brandName { display:inline; font-family:var(--serif-beef); font-weight:800; font-size:clamp(19px,2vw,25px); letter-spacing:.005em; text-transform:none; color:#f4ead3; text-shadow:0 2px 12px rgba(0,0,0,.65), 0 0 22px rgba(224,118,58,.3); }
body.beef .site-mark.has-logo { border-radius:9px; overflow:hidden; box-shadow:0 3px 14px rgba(0,0,0,.5); border:1px solid #ffffff14; }
body.beef .site-mark.has-logo .brand-logo { height:44px; }
body.beef.scrolled .site-mark.has-logo .brand-logo { height:36px; }
body.beef .map-slot .map-load { position:relative; z-index:2; }
body.beef .map-slot::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#0000,rgba(0,0,0,.4)); }
body.beef .site-footer { background:var(--char); border-top:3px solid var(--blood); }
/* --- Kutuphanesiz lightbox (beef'te JS ile olusturulur) --- */
.lightbox { position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(5,5,4,.93); }
.lightbox.open { display:flex; }
.lightbox img { max-width:92vw; max-height:88vh; border-radius:8px; box-shadow:0 30px 90px #000; }
.lightbox button { position:absolute; width:50px; height:50px; display:grid; place-items:center; border:1px solid #ffffff3a; border-radius:50%; background:#0000004d; color:#fff; font-size:22px; cursor:pointer; transition:background .25s; }
.lightbox button:hover { background:var(--blood,#b0181d); border-color:var(--blood,#b0181d); }
.lightbox .lb-close { top:20px; right:24px; } .lightbox .lb-prev { left:24px; top:50%; transform:translateY(-50%); } .lightbox .lb-next { right:24px; top:50%; transform:translateY(-50%); }
@media (prefers-reduced-motion:no-preference) { .lightbox { transition:opacity .25s var(--ease,ease); } }
/* --- Responsive (beef) --- */
@media (max-width:980px) {
  body.beef .menu-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.beef #gallery .gallery-grid { grid-template-columns:repeat(3,1fr); grid-auto-rows:160px; }
}
@media (max-width:820px) {
  body.beef .findus { grid-template-columns:1fr; }
  body.beef .menu-filters { top:56px; }
  body.beef #gallery .gallery-grid { grid-template-columns:repeat(2,1fr); }
  body.beef .hero-arrow { width:44px; height:44px; font-size:18px; }
}
@media (max-width:520px) {
  body.beef .menu-list { grid-template-columns:1fr; }
  body.beef #gallery .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:130px; }
  body.beef .gallery-item:nth-child(6n+1) { grid-column:span 2; }
}
@media (prefers-reduced-motion:reduce) {
  body.beef .hero-slide { transition:opacity .01ms; transform:none; }
  body.beef .scroll-cue::after { animation:none; }
  body.beef .menu-thumb img,body.beef .menu-card,body.beef .location-card,body.beef .concept-card { transition:none; }
}

/* ============================================================
   EMSAL — cesur, premium çok-restoranlı tema (body.emsal)
   ============================================================ */
body.emsal { --bg:#0d0b09; --surface:#17130e; --ink:#f4ecdd; --muted:#a99d88; --line:#2c2519; --accent:#caa14a; --dark:#080604; --display:"Playfair Display",Georgia,serif; font-family:"Jost",system-ui,-apple-system,sans-serif; }
body.emsal h1,body.emsal h2,body.emsal h3,body.emsal .section-head h2,body.emsal .form-copy h2,body.emsal .legal-card h2,body.emsal #brandName { font-family:var(--display); font-weight:600; letter-spacing:-.01em; }
body.emsal #brandName { font-size:21px; letter-spacing:.05em; }
body.emsal .site-header { background:color-mix(in srgb,var(--dark) 80%,transparent); border-bottom:1px solid #ffffff12; }
body.emsal .site-mark { border-color:var(--accent); color:var(--accent); font-family:var(--display); }
body.emsal .eyebrow { letter-spacing:3.5px; text-transform:uppercase; font-size:11.5px; font-weight:600; color:var(--accent); }
body.emsal .hero { min-height:min(92vh,860px); padding-bottom:7vh; }
body.emsal #heroTitle { font-size:clamp(54px,10vw,132px); line-height:.95; margin:.12em 0 .3em; }
body.emsal .hero-copy { font-size:19px; color:#e6dcca; max-width:600px; }
body.emsal .hero.has-media::before { background:linear-gradient(180deg,rgba(6,5,4,.42),rgba(6,5,4,.86)); }
body.emsal .button { background:var(--accent); color:#141007; font-weight:600; text-transform:uppercase; letter-spacing:.8px; font-size:12.5px; padding:16px 34px; border-radius:2px; border:1px solid var(--accent); transition:transform .25s ease,box-shadow .25s ease,background .25s; }
body.emsal .button:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(202,161,74,.28); }
body.emsal .button.ghost { background:transparent; color:var(--ink); border:1px solid #ffffff33; }
body.emsal .button.ghost:hover { border-color:var(--accent); color:var(--accent); box-shadow:none; }
body.emsal .button.ghost.small { padding:10px 20px; font-size:11.5px; }
body.emsal .section-head h2 { font-size:clamp(34px,5.2vw,62px); }
body.emsal section { padding-top:100px; }
body.emsal .location-card { background:var(--surface); border:1px solid var(--line); border-radius:4px; }
body.emsal .location-card.has-photo .location-photo { aspect-ratio:4/3; }
body.emsal .location-body h3 { font-size:28px; margin:2px 0 6px; }
body.emsal .location-card:hover { box-shadow:0 26px 60px rgba(0,0,0,.5); border-color:#3a3016; }
body.emsal .concept-card,body.emsal .legal-card,body.emsal .menu-card,body.emsal .findus-card { background:var(--surface); border:1px solid var(--line); border-radius:4px; }
body.emsal .site-form input,body.emsal .site-form select,body.emsal .site-form textarea { background:#0e0b08; border:1px solid var(--line); color:var(--ink); border-radius:2px; }
body.emsal .site-form input:focus,body.emsal .site-form select:focus,body.emsal .site-form textarea:focus { border-color:var(--accent); outline:none; }
body.emsal .site-footer { background:var(--dark); border-top:1px solid var(--line); }
body.emsal .site-footer b { font-family:var(--display); }
body.emsal .scroll-cue::before { border-color:var(--accent); }
.emsal-intro { position:fixed; inset:0; z-index:9999; background:radial-gradient(circle at 50% 38%,#1b160f,#0a0806 72%); display:grid; place-items:center; transition:opacity .9s ease,visibility .9s; }
.emsal-intro.done { opacity:0; visibility:hidden; }
.emsal-intro-inner { text-align:center; color:#f4ecdd; padding:24px; }
.emsal-intro-word { font-family:"Fraunces","Playfair Display",serif; font-weight:600; font-size:clamp(38px,8vw,88px); letter-spacing:.03em; opacity:0; transform:translateY(24px); animation:emsalIntroUp 1.1s .15s cubic-bezier(.2,.7,.2,1) forwards; }
.emsal-intro-logo { max-width:min(62vw,340px); height:auto; opacity:0; transform:translateY(24px) scale(.96); animation:emsalIntroUp 1.1s .15s cubic-bezier(.2,.7,.2,1) forwards; }
.emsal-intro-line { width:0; height:1px; background:#caa14a; margin:22px auto; animation:emsalIntroLine 1s .7s forwards; }
.emsal-intro-sub { letter-spacing:5px; text-transform:uppercase; font-size:12px; color:#caa14a; opacity:0; animation:emsalIntroUp 1s 1s forwards; }
@keyframes emsalIntroUp { to { opacity:1; transform:none; } }
@keyframes emsalIntroLine { to { width:130px; } }
body.emsal .site-mark.has-logo { border:0; width:auto; height:40px; background:none; }
body.emsal .site-mark.has-logo .brand-logo { height:40px; width:auto; display:block; }

/* Emsal — cila: ortalanmış hero, geniş ekranda ortalanmış içerik, rafine butonlar */
body.emsal .hero { text-align:center; justify-items:center; align-content:center; }
body.emsal .hero-content { margin:0 auto; }
body.emsal .hero .actions { justify-content:center; }
body.emsal .hero-copy { margin-left:auto; margin-right:auto; }
body.emsal .scroll-cue { left:50%; transform:translateX(-50%); }
body.emsal .section-head { grid-template-columns:1fr; justify-items:center; text-align:center; gap:14px; max-width:820px; margin:0 auto 48px; }
body.emsal .section-head p { max-width:640px; }
body.emsal .location-grid,body.emsal .concept-grid,body.emsal .gallery-grid,body.emsal .menu-list,body.emsal .findus-grid,body.emsal .legal-grid,body.emsal .reservation-shell,body.emsal .career-shell,body.emsal .menu-filters { max-width:1180px; margin-left:auto; margin-right:auto; }
body.emsal .site-footer { max-width:1180px; margin:0 auto; }
body.emsal .button { border-radius:3px; padding:15px 36px; font-weight:600; letter-spacing:1.2px; box-shadow:0 2px 0 rgba(0,0,0,.12); }
body.emsal .button:hover { background:#d8b25c; transform:translateY(-2px); box-shadow:0 16px 34px rgba(202,161,74,.30); }
body.emsal .button.ghost { border:1.5px solid var(--accent); color:var(--accent); background:transparent; box-shadow:none; }
body.emsal .button.ghost:hover { background:var(--accent); color:#141007; }
body.emsal .text-link { color:var(--accent); letter-spacing:.4px; }
.emsal-intro-word { font-family:"Playfair Display",Georgia,serif !important; }

/* Emsal — hero slider (foto + oklar + noktalar); beef'te body.beef'e özeldi, emsal için eklendi */
body.emsal .hero-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.06); transition:opacity 1.1s ease; }
body.emsal .hero-slide.is-active { opacity:1; transform:scale(1); transition:opacity 1.1s ease,transform 8s linear; }
body.emsal .hero-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:52px; height:52px; display:grid; place-items:center; border:1px solid #ffffff3a; border-radius:50%; background:#00000055; color:#fff; font-size:22px; cursor:pointer; transition:background .25s,border-color .25s; backdrop-filter:blur(4px); }
body.emsal .hero-arrow:hover { background:var(--accent); border-color:var(--accent); color:#141007; }
body.emsal .hero-arrow.prev { left:max(14px,3vw); }
body.emsal .hero-arrow.next { right:max(14px,3vw); }
body.emsal .hero-dots { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:10px; }
body.emsal .hero-dots button { width:10px; height:10px; padding:0; border-radius:50%; border:1px solid #ffffff66; background:transparent; cursor:pointer; transition:background .25s,transform .25s; }
body.emsal .hero-dots button.active { background:var(--accent); border-color:var(--accent); transform:scale(1.2); }
@media (max-width:820px) { body.emsal .hero-arrow { width:44px; height:44px; font-size:18px; } }
@media (prefers-reduced-motion:reduce) { body.emsal .hero-slide { transition:opacity .01ms; transform:none; } }

/* Emsal — findus/harita bölümü (beef'e özeldi, emsal için eklendi) */
body.emsal .findus-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:8px; }
body.emsal .findus-card { display:grid; grid-template-rows:auto auto; overflow:hidden; padding:0; }
body.emsal .findus-card .findus-info { padding:26px 28px; }
body.emsal .findus-card h3 { font-size:23px; margin:0 0 12px; }
body.emsal .findus-card p { color:var(--muted); line-height:1.9; margin:0 0 18px; }
body.emsal .findus .map-slot { min-height:230px; position:relative; background:#0e0b08; }
body.emsal .findus .map-slot iframe { width:100%; height:100%; min-height:230px; border:0; display:block; }
body.emsal .findus .map-slot .map-load { position:absolute; left:16px; bottom:16px; }
body.emsal .ig-link::before { content:"◎ "; opacity:.7; }
@media (max-width:820px){ body.emsal .findus-grid { grid-template-columns:1fr; } }

/* Emsal — modern editoryal restoran showcase (beef kart gridinden farklı) */
body.emsal .restaurant-showcase { display:flex; flex-direction:column; max-width:1280px; margin:0 auto; border-top:1px solid var(--line); }
body.emsal .rx-row { display:grid; grid-template-columns:1.02fr .98fr; align-items:stretch; border-bottom:1px solid var(--line); min-height:440px; }
body.emsal .rx-row:nth-child(even) .rx-media { order:2; }
body.emsal .rx-media { overflow:hidden; background:#0e0b08; min-height:420px; }
body.emsal .rx-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s ease; }
body.emsal .rx-row:hover .rx-media img { transform:scale(1.05); }
body.emsal .rx-body { padding:60px clamp(28px,4.5vw,72px); position:relative; display:flex; flex-direction:column; justify-content:center; }
body.emsal .rx-num { position:absolute; top:28px; right:clamp(28px,4.5vw,72px); font-family:var(--display); font-size:72px; line-height:1; color:#ffffff0f; font-weight:700; letter-spacing:-.02em; }
body.emsal .rx-body .eyebrow { margin:0 0 8px; }
body.emsal .rx-body h3 { font-size:clamp(30px,3.3vw,46px); line-height:1.04; margin:0 0 16px; }
body.emsal .rx-desc { color:#c9bfad; font-size:17px; line-height:1.7; margin:0 0 22px; max-width:460px; }
body.emsal .rx-meta { color:var(--muted); font-size:14.5px; line-height:1.85; margin:0 0 26px; }
body.emsal .rx-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
body.emsal .rx-row.reveal { opacity:0; transform:translateY(30px); transition:opacity .8s ease,transform .8s ease; }
body.emsal .rx-row.reveal.in { opacity:1; transform:none; }
@media (max-width:860px) {
  /* Mobilde her restoran ayri, cerceveli, arka planli bir KART — hangisi hangisi net olsun. */
  body.emsal .restaurant-showcase { gap:22px; border-top:none; padding:0 2px; }
  body.emsal .rx-row {
    grid-template-columns:1fr; min-height:0;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px; overflow:hidden;
  }
  body.emsal .rx-row:nth-child(even) .rx-media { order:0; }
  body.emsal .rx-media { min-height:0; height:200px; }
  body.emsal .rx-body { padding:22px 22px 26px; }
  /* Numara: silik degil, gorunur altin rozet; ismin hemen ustunde kimlik verir. */
  body.emsal .rx-num { position:static; display:block; font-size:19px; font-weight:700; letter-spacing:.02em; color:#c9a24b; margin:0 0 4px; }
  body.emsal .rx-body h3 { font-size:26px; margin:2px 0 12px; }
  body.emsal .rx-desc { font-size:15px; line-height:1.65; margin:0 0 16px; max-width:none; }
  body.emsal .rx-meta { margin:0 0 18px; }
  body.emsal .rx-actions { gap:14px; }
  body.emsal .rx-gallery { grid-template-columns:repeat(3,1fr); gap:.45rem; margin-top:1.1rem; }
}

/* Rezervasyon e-posta kodu adımı */
.rv-code p { margin:0 0 12px; }
.rv-code-row { display:flex; gap:10px; align-items:stretch; }
.rv-code-input { flex:1; font-size:22px; letter-spacing:8px; text-align:center; padding:12px; border-radius:8px; border:1px solid var(--line); background:var(--bg); color:var(--ink); }
.rv-code-row .button { white-space:nowrap; }
.rv-code-foot { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:8px; }
.rv-code-err { color:#e77979; font-size:13px; }
.rv-code-resend { background:none; border:0; color:var(--accent); font-size:13px; text-decoration:underline; cursor:pointer; padding:0; }
.rv-code-resend:disabled { opacity:.5; cursor:default; }
body.beef .rv-code-input, body.emsal .rv-code-input { background:#0e0b08; }

/* Restoran bazli galeri (her restoranin kendi fotograflari) */
.rx-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-top:1.4rem; }
.rx-gallery .gallery-item { margin:0; aspect-ratio:4/3; overflow:hidden; border-radius:12px; cursor:pointer; background:rgba(128,128,128,.12); }
.rx-gallery .gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block; }
.rx-gallery .gallery-item:hover img { transform:scale(1.07); }
@media (max-width:900px) { .rx-gallery { grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px) { .rx-gallery { grid-template-columns:repeat(2,1fr); gap:.4rem; } }
