:root{
  --bg:#0e0e10;
  --ink:#f6f6f6;
  --muted:#b9b9c0;
  --wine:#6a1a22;
  --glass:rgba(255,255,255,.12);
  --glass-border:rgba(255,255,255,.25);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.45;
}

.container{max-width:1120px;margin:0 auto;padding:0 16px}
.vh-80{min-height:80vh;position:relative}

.hero-wrap{position:relative;overflow:hidden}
.hero-media,.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.75));
}
.hero-inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  min-height:80vh
}
.hero-title{
  font-family:"Playfair Display",serif;
  font-size: clamp(40px, 7vw, 84px);
  margin:0 0 8px;
}
.hero-sub{
  font-size: clamp(16px, 2.4vw, 22px);
  color:var(--muted);
  margin:0 0 20px;
}
.hero-cta .btn{margin-right:12px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;height:44px;padding:0 18px;border-radius:999px;
  font-weight:600;text-decoration:none;cursor:pointer;border:0
}
.glass-btn{
  background:var(--glass);
  border:1px solid var(--glass-border);
  backdrop-filter: blur(6px);
  color:#fff;
  transition:transform .15s ease, box-shadow .15s ease;
}
.glass-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
.glass-outline{
  background:transparent;
  border:1px solid var(--glass-border);
  color:#fff;
}
.tiny{height:36px;padding:0 12px;font-size:13px}

.section{padding:64px 0}
.sec-title{
  font-family:"Playfair Display",serif;
  font-size: clamp(24px, 3vw, 36px);
  margin:0 0 10px;
}
.muted{color:var(--muted)}

.grid-two{
  display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center
}
@media (max-width: 900px){ .grid-two{grid-template-columns:1fr;gap:24px} }

.ticks{margin:18px 0 0;padding:0;list-style:none}
.ticks li{margin:8px 0 0;padding-left:22px;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;color:#7ad27a}

.mockup-card{display:flex;justify-content:center}
.mockup-glass{
  width:min(500px,100%);aspect-ratio:16/10;overflow:hidden;border-radius:18px;
  border:1px solid var(--glass-border);background:rgba(255,255,255,.05);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.mockup-glass img{width:100%;height:100%;object-fit:cover;display:block}

.features .cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}
@media (max-width: 900px){ .features .cards{grid-template-columns:1fr} }
.card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);
  border-radius:16px;padding:20px;min-height:160px;
  transition:transform .16s ease, box-shadow .16s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.card-ico{font-size:26px;margin-bottom:8px}

.gallery .sec-head{margin-bottom:14px}
.masonry{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px
}
@media (max-width: 1200px){ .masonry{grid-template-columns:repeat(4,1fr)} }
@media (max-width: 700px){ .masonry{grid-template-columns:repeat(2,1fr)} }
.tile{
  display:block;position:relative;overflow:hidden;border-radius:10px;
  background:#1a1a1f;border:1px solid rgba(255,255,255,.08);
}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.tile:hover img{transform:scale(1.04)}
.placeholder{height:160px;background:linear-gradient(135deg,#1c1c21,#24242a)}

.cta-wrap{
  background: radial-gradient(1200px 500px at 50% 0%, rgba(106,26,34,.35), transparent 60%),
              linear-gradient(180deg,#111115,#0e0e10);
  padding:68px 0 90px;margin-top:40px;border-top:1px solid rgba(255,255,255,.06)
}
.cta-inner{text-align:center}
.cta-title{
  font-family:"Playfair Display",serif;
  font-size: clamp(24px, 4vw, 40px);
  margin:0 0 18px;
}

/* Fullscreen image modal */
.no-scroll{overflow:hidden}
.img-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.75);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:9999;
}
.img-modal[aria-hidden="false"]{opacity:1;pointer-events:auto}
.img-modal-img{
  max-width:92vw;max-height:82vh;border-radius:12px;border:1px solid rgba(255,255,255,.2);
  box-shadow:0 10px 40px rgba(0,0,0,.6)
}
.img-modal-close{
  position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;
  font-size:22px;cursor:pointer
}
.img-modal-actions{
  position:fixed;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:10px
}
.wine-thumb {
  width: 90px;
  height: 135px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wine-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
