﻿/* ============================================================
   VELVET — Restaurant Luxury Styles (Premium Tier)
   Theme: Slate dark (#2d1018) / copper (#c41e3a) / cool silver
   ============================================================ */

body { font-family:'Cormorant Garamond','Georgia',serif;background:#2d1018;color:#e8d4d8;cursor:none; }
h1,h2,h3 { font-family:'Cormorant Garamond',serif; }
p,li,label,input,textarea,select,button { font-family:'Inter','Helvetica Neue',sans-serif; }

/* Custom Cursor */
.cursor-dot { width:8px;height:8px;background:#c41e3a;position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:opacity 0.3s; }
.cursor-ring { width:36px;height:36px;border:1.5px solid rgba(196,30,58,0.5);position:fixed;border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width 0.25s,height 0.25s,border-color 0.25s; }
.cursor-ring.hover { width:54px;height:54px;border-color:#c41e3a; }

/* Loader */
.page-loader { position:fixed;inset:0;background:#2d1018;z-index:9997;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:opacity 0.8s,visibility 0.8s; }
.page-loader.done { opacity:0;visibility:hidden; }
.loader-logo { font-size:2.5rem;color:#c41e3a;font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:6px; }
.loader-bar { width:200px;height:1px;background:rgba(196,30,58,0.15);position:relative;overflow:hidden; }
.loader-bar::after { content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,#c41e3a,transparent);animation:loaderSlide 1.2s ease forwards; }
@keyframes loaderSlide { to{left:100%} }

/* Nav */
.site-nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 0;transition:all 0.5s ease; }
.site-nav.scrolled { background:rgba(40,14,22,0.96);backdrop-filter:blur(16px);box-shadow:0 1px 40px rgba(196,30,58,0.08);padding:1rem 0; }
.nav-logo { font-size:1.8rem;color:#c41e3a;letter-spacing:8px;font-family:'Cormorant Garamond',serif;font-weight:700;text-transform:uppercase; }
.nav-links { display:flex;gap:3rem;list-style:none; }
.nav-links a { font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;color:rgba(232,212,216,0.55);position:relative;transition:color 0.4s; }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:0;height:1px;background:#c41e3a;transition:width 0.4s; }
.nav-links a:hover,.nav-links a.active { color:#c41e3a; }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.nav-cta { border:1px solid rgba(196,30,58,0.4);color:#c41e3a;padding:0.55rem 1.4rem;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;font-family:'Inter',sans-serif;transition:all 0.4s; }
.nav-cta:hover { background:rgba(196,30,58,0.08); }
.hamburger { background:none;border:none;cursor:none;display:flex;flex-direction:column;gap:5px;padding:4px; }
.hamburger span { width:24px;height:1px;background:#c41e3a;display:block;transition:all 0.3s; }
.mobile-nav { list-style:none;max-height:0;overflow:hidden;background:rgba(40,14,22,0.98);transition:max-height 0.4s ease; }
.mobile-nav.open { max-height:300px;padding:1rem 0; }
.mobile-nav li a { display:block;padding:1rem 1.5rem;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;color:rgba(232,212,216,0.6);border-bottom:1px solid rgba(196,30,58,0.07); }
.mobile-nav li a:hover { color:#c41e3a; }

/* Hero */
.hero-section { position:relative;min-height:100vh;background:#2d1018;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center; }
.hero-overlay { position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(30,8,15,0.2) 0%,rgba(45,16,24,0.75) 70%);z-index:1; }
.hero-content { position:relative;z-index:2;padding-top:80px; }
.hero-eyebrow { font-size:0.65rem;letter-spacing:5px;text-transform:uppercase;color:rgba(196,30,58,0.7);margin-bottom:2rem;display:block; }
.hero-title { font-size:clamp(3.5rem,9vw,8rem);color:#fff;line-height:0.95;font-weight:400;margin-bottom:1.5rem;letter-spacing:-1px; }
.hero-title em { font-style:italic;color:#c41e3a; }
.hero-tagline { font-size:0.8rem;letter-spacing:3px;text-transform:uppercase;color:rgba(232,212,216,0.45);margin-bottom:3rem; }
.hero-cta { display:flex;gap:1.5rem;align-items:center;justify-content:center;flex-wrap:wrap; }
.btn-velvet-primary { background:transparent;border:1px solid #c41e3a;color:#c41e3a;padding:1rem 2.5rem;font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;font-family:'Inter',sans-serif;transition:all 0.4s;cursor:none; }
.btn-velvet-primary:hover { background:rgba(196,30,58,0.1);letter-spacing:4px; }
.btn-velvet-secondary { background:transparent;border:1px solid rgba(232,212,216,0.2);color:rgba(232,212,216,0.6);padding:1rem 2.5rem;font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;font-family:'Inter',sans-serif;transition:all 0.4s;cursor:none; }
.btn-velvet-secondary:hover { border-color:rgba(232,212,216,0.5);color:rgba(232,212,216,0.9); }
.scroll-hint { position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:rgba(196,30,58,0.4);display:flex;flex-direction:column;align-items:center;gap:0.5rem; }
.scroll-hint::after { content:'';display:block;width:1px;height:40px;background:linear-gradient(to bottom,rgba(196,30,58,0.4),transparent);animation:scrollPulse 1.5s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:0.4;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.2)} }

/* Stats */
.stats-bar { border-top:1px solid rgba(196,30,58,0.1);border-bottom:1px solid rgba(196,30,58,0.1);padding:3rem 0;background:#2d1018; }
.stats-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;text-align:center; }
.stat-item {} 
.stat-num { display:block;font-size:2.5rem;color:#c41e3a;font-family:'Cormorant Garamond',serif;font-weight:700; }
.stat-label { font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;color:rgba(232,212,216,0.4); }

/* Section */
.section-label { font-size:0.6rem;letter-spacing:4px;text-transform:uppercase;color:rgba(196,30,58,0.6);font-family:'Inter',sans-serif;font-weight:500;margin-bottom:1rem;display:block; }
.section-title { font-size:clamp(2.2rem,4.5vw,4rem);color:#fff;line-height:1.1;margin-bottom:1.5rem;font-weight:400; }
.section-body { color:rgba(232,212,216,0.55);line-height:1.9;margin-bottom:1rem;max-width:520px;font-size:0.9rem;font-family:'Inter',sans-serif; }
.section-header { text-align:center;margin-bottom:4rem; }
.section-cta { text-align:center;margin-top:3.5rem; }

/* Dish Cards */
.dishes-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem; }
.dish-card { border:1px solid rgba(196,30,58,0.08);background:rgba(255,255,255,0.02);padding:2rem;position:relative;transition:border-color 0.4s,transform 0.4s; }
.dish-card::before { content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#c41e3a,transparent);opacity:0;transition:opacity 0.4s; }
.dish-card:hover { border-color:rgba(196,30,58,0.2);transform:translateY(-4px); }
.dish-card:hover::before { opacity:1; }
.dish-emoji { font-size:2rem;margin-bottom:1rem;display:block; }
.dish-cat { font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:rgba(196,30,58,0.5);margin-bottom:0.5rem;font-family:'Inter',sans-serif; }
.dish-name { font-size:1.4rem;color:#e8d4d8;margin-bottom:0.6rem;font-weight:400; }
.dish-desc { font-size:0.82rem;color:rgba(232,212,216,0.45);line-height:1.7;font-family:'Inter',sans-serif; }
.dish-price { font-size:1.1rem;color:#c41e3a;margin-top:1rem; }

/* Gallery */
.gallery-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.gallery-item { aspect-ratio:4/3;border:1px solid rgba(196,30,58,0.08);display:flex;align-items:center;justify-content:center;font-size:4rem;overflow:hidden;cursor:none;transition:border-color 0.4s; }
.gallery-item:hover { border-color:rgba(196,30,58,0.3); }

/* Pricing */
.pricing-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem; }
.pricing-card { border:1px solid rgba(196,30,58,0.1);padding:3rem 2.5rem;text-align:center;position:relative;transition:border-color 0.4s; }
.pricing-card.featured { border-color:rgba(196,30,58,0.35); }
.pricing-card:hover { border-color:rgba(196,30,58,0.3); }
.pricing-tier { font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;color:rgba(196,30,58,0.6);font-family:'Inter',sans-serif; }
.pricing-price { font-size:3rem;color:#c41e3a;font-family:'Cormorant Garamond',serif;margin:1rem 0 0.25rem; }
.pricing-period { font-size:0.75rem;color:rgba(232,212,216,0.3);font-family:'Inter',sans-serif; }
.pricing-desc { font-size:0.82rem;color:rgba(232,212,216,0.5);line-height:1.6;margin:1rem 0;font-family:'Inter',sans-serif; }
.pricing-features { list-style:none;margin:1.5rem 0;display:flex;flex-direction:column;gap:0.6rem; }
.pricing-features li { font-size:0.82rem;color:rgba(232,212,216,0.6);font-family:'Inter',sans-serif; }

/* Testimonials */
.testimonials-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem; }
.t-card { border-left:1px solid rgba(196,30,58,0.2);padding:2rem;transition:border-color 0.4s; }
.t-card:hover { border-color:rgba(196,30,58,0.5); }
.t-card p { font-size:1rem;line-height:1.9;color:rgba(232,212,216,0.65);margin:1rem 0;font-style:italic; }
.reviewer { font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;color:rgba(196,30,58,0.5);font-family:'Inter',sans-serif; }
.stars { color:#c41e3a;font-size:0.85rem;letter-spacing:2px; }

/* CTA */
.cta-banner { padding:7rem 0;text-align:center;border-top:1px solid rgba(196,30,58,0.08); }
.cta-banner h2 { font-size:clamp(2rem,4.5vw,4rem);color:#fff;margin-bottom:1rem;font-weight:400; }
.cta-banner p { color:rgba(232,212,216,0.45);margin-bottom:3rem;font-size:0.85rem;letter-spacing:1px;font-family:'Inter',sans-serif; }

/* Footer */
.site-footer { background:#200c12;color:rgba(232,212,216,0.4);padding:5rem 0 2rem;border-top:1px solid rgba(196,30,58,0.06); }
.footer-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:3rem;margin-bottom:4rem; }
.footer-grid h4 { color:rgba(196,30,58,0.7);font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;font-family:'Inter',sans-serif;font-weight:500;margin-bottom:1.25rem; }
.footer-grid ul { list-style:none; }
.footer-grid ul li,.footer-grid p { font-size:0.8rem;line-height:2.2;font-family:'Inter',sans-serif; }
.footer-grid ul li a { color:rgba(232,212,216,0.35);transition:color 0.3s; }
.footer-grid ul li a:hover { color:#c41e3a; }
.footer-bottom { border-top:1px solid rgba(196,30,58,0.06);padding-top:1.5rem;text-align:center;font-size:0.75rem;opacity:0.3;font-family:'Inter',sans-serif; }

@media(max-width:640px) { .hero-title{font-size:3.2rem;letter-spacing:0} .hero-cta{flex-direction:column;align-items:stretch} .gallery-grid{grid-template-columns:1fr 1fr} }

/* Animations */
.fade-in {
    opacity: 0;
    animation: fadeIn 1s forwards;
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* Scroll Animations */
.scroll-animation {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.scroll-animation.visible {
    opacity: 1;
    transform: translateY(0);
}