@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@300;400;500;600&family=Dancing+Script:wght@700&display=swap');

:root {
  --wine: #6B2737;
  --gold: #D4AF37;
  --light-gold: #f4e4bc;
  --dark: #222;
  --light: #fafafa;
  --gray: #f8f8f8;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Montserrat', sans-serif; color:var(--dark); line-height:1.7; font-size:17px; background:#fff; }
h1,h2,h3,h4 { font-family: 'Playfair Display', serif; color:var(--wine); }
a { text-decoration:none; color:inherit; }

/* ───── HEADER & NAV ───── */
header {
  position:fixed; top:0; width:100%; background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px); z-index:1000; box-shadow:0 4px 20px rgba(0,0,0,0.08);
}
nav {
  max-width:1400px; margin:0 auto; padding:1.2rem 5%;
  display:flex; justify-content:space-between; align-items:center;
}

/* CALLIGRAPHY LOGO */
.logo {
  font-size: 3rem; font-weight:700; display:flex; align-items:baseline; gap:0; transition:all .4s;
}
.logo .pour { font-family:'Dancing Script',cursive; color:var(--gold); font-size:3.8rem; letter-spacing:-1px; }
.logo .moore { font-family:'Playfair Display',serif; color:var(--wine); font-size:3.4rem; margin-left:-8px; }
.logo:hover .pour { transform:translateY(-4px); }
.logo:hover .moore { color:var(--gold); text-shadow:0 0 20px rgba(212,175,55,0.6); }

/* NAV LINKS WITH ICONS */
.nav-links { display:flex; gap:3rem; list-style:none; }
.nav-links a {
  font-family:'Playfair Display',serif; font-weight:600; font-size:1.15rem;
  display:flex; align-items:center; gap:8px; transition:all .3s;
}
.nav-links a:hover { color:var(--gold); transform:translateY(-2px); }
.nav-links a i { color:var(--wine); transition:color .3s; }
.nav-links a:hover i { color:var(--gold); }

.hamburger { display:none; font-size:2rem; cursor:pointer; color:var(--wine); }

/* ───── HERO (HOME ONLY) ───── */
.hero {
  position:relative; overflow:hidden;
  height:75vh; min-height:550px;
  background:center/cover no-repeat;
  display:flex; align-items:center; justify-content:center; text-align:center; color:white;
}
.hero::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,0.45); z-index:1; }
.vignette {
  position:absolute; inset:0;
  background:radial-gradient(ellipse at center, transparent 40%, rgba(255,255,255,0.85) 100%);
  pointer-events:none; z-index:2;
}
.hero-content { position:relative; z-index:3; }

/* HERO TITLE — SAME CALLIGRAPHY AS LOGO */
.hero-title {
  font-size:9rem; margin:0; line-height:1;
}
.hero-title .pour {
  font-family:'Dancing Script',cursive; color:var(--gold); font-size:11rem; letter-spacing:-2px;
}
.hero-title .moore {
  font-family:'Playfair Display',serif; color:white; font-size:9.5rem;
  margin-left:-12px; text-shadow:6px 6px 20px rgba(0,0,0,0.7);
}
.hero-subtitle {
  font-family:'Playfair Display',serif; font-size:1.9rem; letter-spacing:1px; margin:1.5rem 0 2.5rem; opacity:0.95;
}

/* BUTTONS */
.btn {
  background:var(--gold); color:var(--wine); padding:1rem 3rem; border-radius:50px;
  font-weight:600; letter-spacing:1px; transition:all .4s; display:inline-block;
}
.btn:hover { background:var(--wine); color:white; transform:scale(1.05); }
.btn-large {
  padding:1.4rem 4rem; font-size:1.5rem; border:3px solid white;
  display:inline-flex; align-items:center; gap:12px;
}
.btn-large:hover { background:white; color:var(--wine); transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,0.2); }

/* ───── INTRO SECTION ───── */
.intro-section { padding:120px 5%; background:white; text-align:center; }
.intro-text { font-size:1.5rem; max-width:900px; margin:2rem auto; color:#444; }
.icon-features {
  display:flex; justify-content:center; gap:4rem; margin-top:4rem; flex-wrap:wrap;
  font-size:1.3rem; color:var(--wine);
}
.icon-features div { display:flex; align-items:center; gap:12px; }
.icon-features i { font-size:2.2rem; color:var(--gold); }

/* ───── GENERAL SECTIONS ───── */
section { padding:120px 5%; max-width:1400px; margin:0 auto; }
.section-title { text-align:center; font-size:3.2rem; margin-bottom:4rem; position:relative; }
.section-title::after { content:''; width:80px; height:4px; background:var(--gold); position:absolute; bottom:-15px; left:50%; transform:translateX(-50%); }

/* INNER PAGE TITLE (About, Services, etc.) */
.page-title {
  padding:160px 5% 100px; text-align:center; color:white; margin-bottom:3rem;
  background:linear-gradient(rgba(107,39,55,0.85), rgba(107,39,55,0.7)), url('images/hero.jpg') center/cover no-repeat;
  background-attachment:fixed;
}
.page-title h1 { font-size:5rem; text-shadow:0 3px 10px rgba(0,0,0,0.4); }
.page-title p { font-size:1.7rem; max-width:800px; margin:0 auto 0; opacity:0.95; }

/* GRIDS & CARDS */
.about-grid, .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:3rem; }
.card { background:white; border-radius:16px; overflow:hidden; box-shadow:0 15px 40px rgba(0,0,0,0.1); transition:.4s; text-align:center; }
.card:hover { transform:translateY(-20px); box-shadow:0 25px 50px rgba(0,0,0,0.2); }
.card img { height:240px; object-fit:cover; }
.card-body { padding:2.5rem; }
.price { font-size:3.5rem; color:var(--gold); font-weight:700; margin:1rem 0; }
.card li { display:flex; align-items:center; gap:12px; margin:1rem 0; }
.card li i { color:var(--gold); font-size:1.3rem; }

.gallery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.gallery img:hover { transform:scale(1.03); transition:.4s; }
.about-img img, .gallery img { width:100%; border-radius:12px; box-shadow:0 20px 40px rgba(0,0,0,0.15); }

footer { background:var(--wine); color:white; text-align:center; padding:4rem 5%; font-size:1.1rem; }

/* ───── MOBILE ───── */
@media (max-width:768px) {
  .hamburger { display:block; }
  .nav-links {
    position:fixed; top:78px; left:0; width:100%; background:white;
    flex-direction:column; padding:2rem; gap:2rem; box-shadow:0 10px 30px rgba(0,0,0,0.1);
    transform:translateY(-150%); opacity:0; transition:.4s;
  }
  .nav-links.active { transform:translateY(0); opacity:1; }
  .nav-links a { justify-content:center; font-size:1.3rem; }

  .hero-title { font-size:5.5rem; }
  .hero-title .pour { font-size:6.8rem; }
  .hero-title .moore { font-size:5.9rem; margin-left:-8px; }
  .hero-subtitle { font-size:1.4rem; }
  .btn-large { padding:1.2rem 3rem; font-size:1.3rem; }

  .about-grid, .contact-grid { grid-template-columns:1fr; }
  .icon-features { flex-direction:column; gap:2rem; }
  .page-title { background-attachment:scroll; padding:120px 5% 80px; }
  .page-title h1 { font-size:3.5rem; }

  .logo { font-size:2.5rem; }
  .logo .pour { font-size:3.2rem; }
  .logo .moore { font-size:2.9rem; margin-left:-6px; }
}