:root{
  --navy:#07182d;
  --navy2:#031020;
  --gold:#d6b46a;
  --cream:#f7f1e7;
  --text:#09203a;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',Arial,sans-serif;background:var(--cream);color:var(--text);line-height:1.7}
img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,var(--navy),var(--navy2));border-bottom:2px solid var(--gold)}
.navbar{max-width:1200px;margin:auto;min-height:100px;padding:10px 24px;display:grid;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;gap:28px;text-align:center}
.navbar a{color:var(--white);text-decoration:none;font-size:19px;font-weight:700;letter-spacing:2px}
.navbar a:hover{color:var(--gold)}
.nav-logo img{width:115px;margin:auto;background:transparent;border-radius:0;padding:0;box-shadow:none}
.hero{min-height:72vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);background:url('pizza.jpg') center/cover no-repeat;border-bottom:2px solid var(--gold)}
.hero-shade{position:absolute;inset:0;background:rgba(0,0,0,.48)}
.hero-content{position:relative;z-index:2;padding:40px 20px;max-width:900px}
.eyebrow{color:var(--gold);letter-spacing:4px;font-size:13px;font-weight:700;margin-bottom:12px}
h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700}
.hero h1{font-size:70px;line-height:1.05;text-shadow:0 6px 25px rgba(0,0,0,.6)}
.tagline{font-size:22px;margin:18px 0 30px;text-shadow:0 3px 15px rgba(0,0,0,.7)}
.gold-btn{display:inline-block;background:var(--gold);color:#07182d;text-decoration:none;padding:16px 42px;font-weight:700;letter-spacing:2px;box-shadow:0 12px 25px rgba(0,0,0,.25)}
.gold-btn:hover{filter:brightness(1.08)}
.section-light{background:var(--cream)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1180px;margin:auto;padding:90px 30px}
.intro-image img{border-radius:6px;box-shadow:0 20px 45px rgba(0,0,0,.18);width:100%;height:380px;object-fit:cover}
.ornament{color:var(--gold);letter-spacing:8px;font-size:20px;margin-bottom:12px}.intro-text h2{font-size:50px;line-height:1.15;margin-bottom:24px}.intro-text p{font-size:16px;margin-bottom:16px}
.reservation{background:linear-gradient(135deg,var(--navy),var(--navy2));color:var(--white);display:grid;grid-template-columns:1fr 1.25fr;gap:60px;padding:90px max(30px,8vw);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
.reservation h2{font-size:48px;color:var(--gold);margin-bottom:24px}.reservation .note{font-size:13px;color:#e6dfd0;margin-top:16px}.reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:0;padding:14px 15px;font-family:'Montserrat',Arial,sans-serif;background:#fff;color:#111}.reservation-form textarea{grid-column:1/3;resize:vertical}.reservation-form button{grid-column:1/3;border:0;background:var(--gold);color:#07182d;padding:16px;font-weight:800;letter-spacing:1.5px;cursor:pointer}.reservation-form button:hover{filter:brightness(1.08)}
.contact{padding:76px 30px;text-align:center}.contact h2{font-size:44px;margin-bottom:35px}.contact-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.contact h3{color:#b89147;margin-bottom:12px;font-size:18px}.contact p{font-size:14px}
.footer{background:var(--navy2);color:#fff;text-align:center;padding:32px 20px}.footer img{width:90px;margin:0 auto 15px}.footer p{font-size:13px;color:#ddd}
@media(max-width:900px){.navbar{grid-template-columns:repeat(2,1fr);gap:14px}.nav-logo{grid-column:1/3;grid-row:1}.navbar a{font-size:15px}.hero h1{font-size:45px}.tagline{font-size:17px}.intro,.reservation{grid-template-columns:1fr;padding:64px 22px}.intro-image img{height:300px}.reservation-form{grid-template-columns:1fr}.reservation-form textarea,.reservation-form button{grid-column:1}.contact-grid{grid-template-columns:1fr}.intro-text h2,.reservation h2{font-size:38px}}
.floating-social{
position:fixed;
right:25px;
bottom:25px;
display:flex;
flex-direction:column;
gap:14px;
z-index:9999;
}

.floating-social a{
width:55px;
height:55px;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
text-decoration:none;
font-size:24px;
color:#fff;
box-shadow:0 8px 20px rgba(0,0,0,.25);
transition:.3s;
}

.floating-social a:hover{
transform:translateY(-4px) scale(1.08);
}

.floating-social a:nth-child(1){
background:#b8944f;
}

.floating-social a:nth-child(2){
background:#06C755;
}

.floating-social a:nth-child(3){
background:#E4405F;
}

.floating-social a:nth-child(4){
background:#1877F2;
}
.contact-bar{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:9999;
  display:flex;
  gap:8px;
  background:rgba(8,25,45,.94);
  padding:10px;
  border-radius:999px;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}

.contact-bar a{
  color:white;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.contact-bar a:last-child{
  background:#d6b46a;
  color:#08192d;
}

@media(max-width:600px){
  .contact-bar{
    width:94%;
    justify-content:space-between;
  }

  .contact-bar a{
    font-size:12px;
    padding:9px 10px;
  }
}
.floating-icons{
    position:fixed;
    right:20px;
    bottom:25px;
    z-index:9999;

    display:flex;
    flex-direction:column;
    gap:12px;
}

.floating-icons a{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;

    text-decoration:none;
    color:#d6b46a;

    background:#08192d;
    border:2px solid #d6b46a;

    font-size:22px;

    box-shadow:0 8px 20px rgba(0,0,0,.25);
    transition:.3s;
}

.floating-icons a:hover{
    transform:translateY(-3px);
    background:#d6b46a;
    color:#08192d;
}

/* Mobile */
@media (max-width:768px){

.floating-icons{
    right:16px;
    bottom:20px;
    gap:10px;
}

.floating-icons a{
    width:48px;
    height:48px;
    font-size:20px;
}

}
.gold-btn {
    display: inline-block;
    background: #c9a34a;
    color: #fff;
    padding: 16px 42px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    letter-spacing: 1px;
    transition: 0.3s;
}

.gold-btn:hover {
    background: #b58d32;
    transform: translateY(-2px);
}
.reservation-info{
    width:100%;
    max-width:720px;
    margin:0 auto;
    text-align:center;
}

.reservation-info h2{
    margin-bottom:20px;
}

.reservation-info p{
    margin:8px auto;
}

.reservation-info .gold-btn{
    margin-top:30px;
}
