/* ============ TOKENS ============ */
:root{
  --black:#0b0906;
  --black-2:#151009;
  --black-3:#1c1610;
  --maroon:#5c1023;
  --maroon-2:#7a1830;
  --gold:#cda256;
  --gold-light:#e8c988;
  --ivory:#f3ead9;
  --muted:#b9a98c;
  --font-display:'Cormorant Garamond', serif;
  --font-eyebrow:'Cinzel', serif;
  --font-body:'Jost', sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--ivory);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

::selection{background:var(--gold); color:var(--black);}

::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--black);}
::-webkit-scrollbar-thumb{background:var(--maroon-2); border-radius:4px;}

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ============ TYPE HELPERS ============ */
.eyebrow{
  font-family:var(--font-eyebrow);
  font-size:0.75rem;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.9rem;
}
.eyebrow.center{text-align:center;}
h1,h2,h3{font-family:var(--font-display); font-weight:600; color:var(--ivory);}
h1{font-size:clamp(2.6rem,6vw,4.6rem); line-height:1.05;}
h2{font-size:clamp(2rem,4vw,3rem); line-height:1.1;}
h1 em, h2 em, h3 em{font-style:italic; color:var(--gold-light); font-weight:500;}
.section-title{margin-bottom:0.6rem;}
.section-title.center{text-align:center;}
.section-sub{color:var(--muted); font-size:1.02rem; max-width:600px; margin:0 auto 3rem;}
.section-sub.center{text-align:center;}
.center{text-align:center;}

section{padding:6.5rem 6vw;}
@media(max-width:768px){section{padding:4.5rem 6vw;}}

/* ============ BUTTONS ============ */
.btn{
  display:inline-block;
  padding:0.95rem 2.1rem;
  font-family:var(--font-eyebrow);
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border-radius:2px;
  border:1px solid transparent;
  cursor:pointer;
  transition:all .3s ease;
  text-align:center;
}
.btn-gold{background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:var(--black); font-weight:600;}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 10px 30px rgba(205,162,86,0.35);}
.btn-ghost{border-color:rgba(243,234,217,0.4); color:var(--ivory);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold);}
.btn-outline{border-color:var(--gold); color:var(--gold);}
.btn-outline:hover{background:var(--gold); color:var(--black);}
.btn.full{width:100%; margin-top:0.5rem;}

/* ============ PRELOAD LINE ============ */
.cone-progress{
  position:fixed; top:0; left:0; height:2px; width:0%;
  background:linear-gradient(90deg, var(--maroon-2), var(--gold));
  z-index:9999; transition:width .15s ease;
}

/* ============ NAV ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:900;
  background:rgba(11,9,6,0.55);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(205,162,86,0.15);
  transition:background .3s ease, padding .3s ease;
}
.nav.scrolled{background:rgba(11,9,6,0.92);}
.nav-inner{
  max-width:1400px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:0.7rem 6vw;
}
.brand{display:flex; align-items:center; gap:0.7rem;}
.brand-logo{width:44px; height:44px; border-radius:50%; object-fit:cover; border:1px solid var(--gold);}
.brand-text{display:flex; flex-direction:column; line-height:1;}
.brand-text em{font-family:var(--font-display); font-style:italic; font-size:1.5rem; color:var(--gold-light);}
.brand-text small{font-family:var(--font-eyebrow); font-size:0.55rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--muted);}
.nav-links{display:flex; align-items:center; gap:1.9rem;}
.nav-links a{font-size:0.82rem; letter-spacing:0.03em; color:var(--ivory); position:relative; padding:0.3rem 0;}
.nav-links a:not(.nav-cta)::after{
  content:''; position:absolute; bottom:0; left:0; width:0%; height:1px; background:var(--gold); transition:width .3s ease;
}
.nav-links a:not(.nav-cta):hover::after{width:100%;}
.nav-cta{
  border:1px solid var(--gold); padding:0.5rem 1.2rem; color:var(--gold) !important;
  font-family:var(--font-eyebrow); font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase;
  transition:all .3s ease;
}
.nav-cta:hover{background:var(--gold); color:var(--black) !important;}
.nav-actions{display:flex; align-items:center; gap:0.6rem;}
.icon-btn{
  width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(205,162,86,0.4); color:var(--gold); font-size:1rem;
}
.icon-btn.wa{background:rgba(205,162,86,0.08);}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;}
.burger span{width:22px; height:2px; background:var(--gold); display:block;}

@media(max-width:980px){
  .nav-links{
    position:fixed; top:0; right:-100%; width:78%; max-width:340px; height:100vh;
    background:var(--black-2); flex-direction:column; align-items:flex-start;
    padding:6rem 2rem 2rem; gap:1.6rem; transition:right .35s ease;
    border-left:1px solid rgba(205,162,86,0.2);
  }
  .nav-links.open{right:0;}
  .burger{display:flex;}
}

/* ============ HERO ============ */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-media img{width:100%; height:100%; object-fit:cover; object-position:top;}
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(11,9,6,0.75) 0%, rgba(11,9,6,0.55) 40%, rgba(11,9,6,0.92) 100%),
    linear-gradient(100deg, rgba(92,16,35,0.55), rgba(11,9,6,0.35));
}
.hero-paisley{
  position:absolute; right:4vw; top:50%; transform:translateY(-50%);
  width:min(38vw,420px); opacity:0.5; z-index:1; pointer-events:none;
}
.hero-paisley path{
  stroke-dasharray:900; stroke-dashoffset:900;
  animation:draw 3.2s ease forwards 0.4s;
}
@keyframes draw{to{stroke-dashoffset:0;}}

.hero-content{position:relative; z-index:2; max-width:760px; padding:0 6vw; text-align:left;}
.hero-sub{color:var(--muted); font-size:1.15rem; max-width:560px; margin:1.2rem 0 1.6rem;}
.hero-badges{display:flex; flex-wrap:wrap; gap:0.7rem 1.4rem; margin-bottom:2.2rem;}
.hero-badges span{font-family:var(--font-eyebrow); font-size:0.68rem; letter-spacing:0.1em; color:var(--gold-light); text-transform:uppercase;}
.hero-cta{display:flex; gap:1rem; flex-wrap:wrap;}
.scroll-cue{display:inline-block; margin-top:2.6rem; font-size:0.8rem; color:var(--muted); letter-spacing:0.05em;}

/* ============ STATS ============ */
.stats{background:var(--maroon); padding:0;}
.stats-inner{
  max-width:1300px; margin:0 auto; padding:2.6rem 6vw;
  display:flex; flex-wrap:wrap; justify-content:space-around; gap:1.6rem 1rem; text-align:center;
}
.stat strong{display:block; font-family:var(--font-display); font-size:2.2rem; color:var(--gold-light);}
.stat span{font-family:var(--font-eyebrow); font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--ivory); opacity:0.85;}

/* ============ ABOUT ============ */
.about-grid{
  max-width:1300px; margin:0 auto; display:grid; grid-template-columns:0.9fr 1.1fr; gap:4.5rem; align-items:center;
}
.about-media{position:relative;}
.about-media img{border-radius:4px; width:100%; aspect-ratio:4/5; object-fit:cover; box-shadow:0 30px 60px rgba(0,0,0,0.5);}
.about-media-tag{
  position:absolute; bottom:-1.2rem; left:-1.2rem; background:var(--black-2); border:1px solid var(--gold);
  padding:0.8rem 1.2rem; font-family:var(--font-eyebrow); font-size:0.65rem; letter-spacing:0.1em; color:var(--gold-light);
  max-width:220px;
}
.about-copy p{color:var(--muted); margin-bottom:1rem;}
.about-list{margin:1.4rem 0 1.8rem;}
.about-list li{color:var(--ivory); margin-bottom:0.55rem; font-size:0.98rem;}
@media(max-width:900px){
  .about-grid{grid-template-columns:1fr; gap:3rem;}
  .about-media-tag{position:static; margin-top:1rem; display:inline-block;}
}

/* ============ OFFER BANNER ============ */
.offer{
  background:linear-gradient(120deg, var(--black-3), var(--maroon) 140%);
  border-top:1px solid rgba(205,162,86,0.25); border-bottom:1px solid rgba(205,162,86,0.25);
  text-align:center;
}
.offer-inner{max-width:700px; margin:0 auto;}
.offer-tag{font-family:var(--font-eyebrow); font-size:0.7rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem;}
.offer h2{margin-bottom:1rem;}
.offer p{color:var(--muted); margin-bottom:1.8rem;}

/* ============ SERVICES ============ */
.service-grid{
  max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;
}
.service-card{
  background:var(--black-2); border:1px solid rgba(205,162,86,0.12); border-radius:6px; overflow:hidden;
  transition:transform .35s ease, border-color .35s ease;
}
.service-card:hover{transform:translateY(-6px); border-color:rgba(205,162,86,0.5);}
.service-img{height:220px; overflow:hidden;}
.service-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.service-card:hover .service-img img{transform:scale(1.08);}
.service-card h3{padding:1.2rem 1.4rem 0.4rem; font-size:1.4rem;}
.service-card p{padding:0 1.4rem 1.6rem; color:var(--muted); font-size:0.92rem;}
@media(max-width:900px){.service-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr;}}

/* ============ PORTFOLIO / GALLERY ============ */
.filters{display:flex; justify-content:center; gap:0.8rem; flex-wrap:wrap; margin-bottom:2.6rem;}
.filter-btn{
  background:none; border:1px solid rgba(205,162,86,0.35); color:var(--muted);
  padding:0.55rem 1.3rem; font-family:var(--font-eyebrow); font-size:0.68rem; letter-spacing:0.1em;
  text-transform:uppercase; cursor:pointer; border-radius:20px; transition:all .3s ease;
}
.filter-btn.active, .filter-btn:hover{background:var(--gold); border-color:var(--gold); color:var(--black);}

.gallery{
  max-width:1400px; margin:0 auto;
  column-count:4; column-gap:1rem;
}
.gitem{break-inside:avoid; margin-bottom:1rem; border-radius:6px; overflow:hidden; cursor:pointer; position:relative;}
.gitem img{width:100%; display:block; transition:transform .5s ease, filter .5s ease;}
.gitem::after{content:'✦ View'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(11,9,6,0.55); color:var(--gold-light); font-family:var(--font-eyebrow); letter-spacing:0.15em;
  font-size:0.7rem; text-transform:uppercase; opacity:0; transition:opacity .35s ease;}
.gitem:hover::after{opacity:1;}
.gitem:hover img{transform:scale(1.06);}
.gitem.hide{display:none;}
@media(max-width:1100px){.gallery{column-count:3;}}
@media(max-width:700px){.gallery{column-count:2;}}

/* ============ LIGHTBOX ============ */
.lightbox{
  position:fixed; inset:0; background:rgba(6,5,3,0.96); z-index:2000;
  display:none; align-items:center; justify-content:center; padding:4vh 4vw;
}
.lightbox.open{display:flex;}
.lightbox img{max-height:90vh; max-width:88vw; border-radius:4px; box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.lb-close, .lb-prev, .lb-next{
  position:absolute; background:none; border:1px solid var(--gold); color:var(--gold);
  width:46px; height:46px; border-radius:50%; font-size:1.3rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all .3s ease;
}
.lb-close:hover, .lb-prev:hover, .lb-next:hover{background:var(--gold); color:var(--black);}
.lb-close{top:2rem; right:2rem;}
.lb-prev{left:2rem; top:50%; transform:translateY(-50%);}
.lb-next{right:2rem; top:50%; transform:translateY(-50%);}
@media(max-width:700px){.lb-prev,.lb-next{width:38px; height:38px;} .lb-prev{left:0.6rem;} .lb-next{right:0.6rem;} .lb-close{top:1rem; right:1rem;}}

/* ============ REELS ============ */
.reels{background:var(--black-2);}
.reel-row{
  max-width:1500px; margin:0 auto; display:flex; gap:1.2rem; overflow-x:auto; padding-bottom:1rem;
  scroll-snap-type:x proximity;
}
.reel-row::-webkit-scrollbar{height:6px;}
.reel-card{
  position:relative; flex:0 0 auto; width:200px; aspect-ratio:9/16; border-radius:10px; overflow:hidden;
  background:var(--black); border:1px solid rgba(205,162,86,0.2); scroll-snap-align:start;
  box-shadow:0 20px 40px rgba(0,0,0,0.35);
}
.reel-card video{width:100%; height:100%; object-fit:cover; display:block; background:var(--black);}
.reel-play{
  position:absolute; inset:0; margin:auto; width:52px; height:52px; border-radius:50%;
  background:rgba(11,9,6,0.55); border:1px solid var(--gold); color:var(--gold-light);
  font-size:1.1rem; display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:opacity .3s ease, transform .3s ease;
}
.reel-card:hover .reel-play{transform:scale(1.08);}
.reel-card.playing .reel-play{opacity:0;}
.reel-card:not(.playing)::after{
  content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.35));
  pointer-events:none;
}
@media(max-width:600px){.reel-card{width:150px;}}

/* ============ WHY ============ */
.why{background:var(--black-2);}
.why-grid{max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;}
.why-card{
  background:var(--black); border:1px solid rgba(205,162,86,0.15); border-radius:10px;
  overflow:hidden; transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.why-card:hover{border-color:var(--gold); transform:translateY(-6px); box-shadow:0 24px 46px rgba(0,0,0,0.45);}
.why-img{width:100%; aspect-ratio:3/2; overflow:hidden;}
.why-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.why-card:hover .why-img img{transform:scale(1.06);}
.why-copy{padding:1.5rem 1.6rem 1.8rem;}
.why-copy h3{font-size:1.2rem; margin-bottom:0.5rem; color:var(--gold-light);}
.why-copy p{color:var(--muted); font-size:0.9rem;}
@media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr;}}

/* ============ FOLLOW / SOCIAL SHOWCASE ============ */
.follow-grid{
  max-width:1300px; margin:0 auto; display:grid;
  grid-template-columns:repeat(6,1fr); gap:1rem;
}
.follow-item{border-radius:8px; overflow:hidden; aspect-ratio:4/5; position:relative; border:1px solid rgba(205,162,86,0.15);}
.follow-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.follow-item:hover img{transform:scale(1.08);}
.follow-cta{display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; margin-top:2.4rem;}
.social-pill{
  display:inline-flex; align-items:center; gap:0.6rem; padding:0.7rem 1.5rem; border-radius:30px;
  border:1px solid rgba(205,162,86,0.35); color:var(--ivory); font-family:var(--font-eyebrow);
  font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; transition:all .25s ease;
}
.social-pill svg{flex-shrink:0;}
.social-pill.ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); border-color:transparent;}
.social-pill.fb:hover{background:#1877F2; border-color:transparent;}
.social-pill.yt:hover{background:#FF0000; border-color:transparent;}
@media(max-width:900px){.follow-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.follow-grid{grid-template-columns:repeat(2,1fr); gap:0.6rem;}}

/* ============ ARTIST ============ */
.artist-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:0.8fr 1.2fr; gap:4rem; align-items:center;}
.artist-media img{border-radius:6px; width:100%; object-fit:cover; aspect-ratio:1/1; box-shadow:0 30px 60px rgba(0,0,0,0.5);}
.tag-line{font-family:var(--font-eyebrow); font-size:0.75rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem;}
.artist-copy p{color:var(--muted); margin-bottom:1rem;}
.artist-contact p{color:var(--ivory); font-size:0.92rem; margin-bottom:0.4rem;}
.artist-contact a{color:var(--gold-light);}
.social-row{display:flex; gap:0.7rem; margin-top:1.2rem;}
.social-icon{
  width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(205,162,86,0.35); color:var(--gold); transition:all .25s ease;
}
.social-icon.ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color:#fff; border-color:transparent;}
.social-icon.fb:hover{background:#1877F2; color:#fff; border-color:transparent;}
.social-icon.yt:hover{background:#FF0000; color:#fff; border-color:transparent;}
@media(max-width:900px){.artist-grid{grid-template-columns:1fr; gap:2.5rem;} .artist-media img{aspect-ratio:16/10;}}

/* ============ TESTIMONIALS ============ */
.review-grid{max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;}
.review-card{background:var(--black-2); border:1px solid rgba(205,162,86,0.15); padding:2.2rem; border-radius:6px;}
.stars{color:var(--gold); letter-spacing:0.2em; margin-bottom:1rem;}
.review-card p{color:var(--ivory); font-style:italic; margin-bottom:1.4rem; font-size:0.98rem;}
.reviewer{display:flex; align-items:center; gap:0.8rem;}
.avatar{
  width:38px; height:38px; border-radius:50%; background:var(--maroon); color:var(--gold-light);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-eyebrow); font-size:0.9rem;
}
.reviewer strong{display:block; font-size:0.92rem;}
.reviewer small{color:var(--muted); font-size:0.78rem;}
@media(max-width:900px){.review-grid{grid-template-columns:1fr;}}

/* ============ AREAS ============ */
.city-chips{max-width:1000px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center; gap:0.7rem;}
.city-chips span{
  border:1px solid rgba(205,162,86,0.35); padding:0.55rem 1.3rem; border-radius:20px; font-size:0.85rem; color:var(--ivory);
}
.city-chips span:last-child{border-color:var(--gold); color:var(--gold-light);}

/* ============ CARE ============ */
.care{background:var(--black-2);}
.care-grid{max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;}
.care-card{padding:1.6rem 0; border-top:1px solid rgba(205,162,86,0.2);}
.care-card span{font-family:var(--font-display); font-size:1.6rem; color:var(--gold); display:block; margin-bottom:0.5rem;}
.care-card h3{font-size:1.25rem; margin-bottom:0.4rem;}
.care-card p{color:var(--muted); font-size:0.9rem;}
@media(max-width:900px){.care-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.care-grid{grid-template-columns:1fr;}}

/* ============ PRICING ============ */
.price-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;}
.price-card{
  background:var(--black-2); border:1px solid rgba(205,162,86,0.15); border-radius:8px; padding:2.4rem 2rem; text-align:center;
}
.price-card.featured{border-color:var(--gold); transform:scale(1.04); box-shadow:0 20px 50px rgba(205,162,86,0.12);}
.ptag{font-family:var(--font-eyebrow); font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:0.8rem;}
.price-card h3{font-size:1.4rem; margin-bottom:0.8rem;}
.price{font-family:var(--font-display); font-size:2.1rem; color:var(--gold-light); margin-bottom:1.2rem;}
.price small{font-size:0.9rem; color:var(--muted); font-family:var(--font-body);}
.price-card ul{margin-bottom:1.6rem; text-align:left;}
.price-card ul li{color:var(--muted); font-size:0.9rem; padding-left:1.2rem; position:relative; margin-bottom:0.5rem;}
.price-card ul li::before{content:'✦'; position:absolute; left:0; color:var(--gold);}
.price-note{color:var(--muted); margin-top:2.4rem; font-size:0.9rem;}
@media(max-width:900px){.price-grid{grid-template-columns:1fr;} .price-card.featured{transform:none;}}

/* ============ FAQ ============ */
.accordion{max-width:800px; margin:0 auto;}
.acc-item{border-bottom:1px solid rgba(205,162,86,0.2);}
.acc-head{
  width:100%; text-align:left; background:none; border:none; color:var(--ivory); cursor:pointer;
  font-family:var(--font-display); font-size:1.15rem; padding:1.4rem 0; display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.acc-head span{color:var(--gold); font-size:1.3rem; transition:transform .3s ease;}
.acc-item.open .acc-head span{transform:rotate(45deg);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.acc-body p{color:var(--muted); padding-bottom:1.4rem; font-size:0.94rem;}

/* ============ CONTACT ============ */
.contact-grid{max-width:1300px; margin:0 auto 3rem; display:grid; grid-template-columns:1.3fr 0.9fr; gap:3rem;}
.book-form{background:var(--black-2); border:1px solid rgba(205,162,86,0.15); border-radius:8px; padding:2.4rem;}
.fgrid{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;}
.field{margin-bottom:1.2rem;}
.field label{display:block; font-size:0.78rem; letter-spacing:0.05em; color:var(--muted); margin-bottom:0.4rem; text-transform:uppercase; font-family:var(--font-eyebrow);}
.field input, .field select, .field textarea{
  width:100%; background:var(--black); border:1px solid rgba(205,162,86,0.25); color:var(--ivory);
  padding:0.75rem 0.9rem; border-radius:4px; font-family:var(--font-body); font-size:0.95rem;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold);}
.form-note{text-align:center; color:var(--muted); font-size:0.82rem; margin-top:0.9rem;}
.contact-info{display:flex; flex-direction:column; gap:1.2rem;}
.info-card{display:flex; gap:1rem; align-items:flex-start; background:var(--black-2); border:1px solid rgba(205,162,86,0.15); padding:1.3rem; border-radius:6px;}
.info-card span{font-size:1.4rem;}
.info-card strong{display:block; margin-bottom:0.3rem; font-size:0.95rem;}
.info-card p{color:var(--muted); font-size:0.88rem;}
.info-card a{color:var(--gold-light);}
.map{max-width:1300px; margin:0 auto; border-radius:8px; overflow:hidden; border:1px solid rgba(205,162,86,0.2); filter:grayscale(0.15) contrast(1.05);}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;} .fgrid{grid-template-columns:1fr;}}

/* ============ FOOTER ============ */
.footer{background:var(--black-2); padding:4.5rem 6vw 1.5rem; border-top:1px solid rgba(205,162,86,0.15);}
.footer-grid{max-width:1300px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.5rem;}
.footer-logo{width:50px; margin-bottom:1rem; border-radius:50%; border:1px solid var(--gold);}
.footer-grid p{color:var(--muted); font-size:0.88rem; margin-bottom:0.4rem;}
.footer-grid h4{font-family:var(--font-eyebrow); font-size:0.75rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem;}
.footer-grid a{display:block; color:var(--muted); font-size:0.88rem; margin-bottom:0.6rem; transition:color .2s ease;}
.footer-grid a:hover{color:var(--gold-light);}
.footer .social-row{margin-top:1rem;}
.footer .social-row .social-icon{width:34px; height:34px; margin:0 0.5rem 0 0;}
.footer-bottom{max-width:1300px; margin:3rem auto 0; padding-top:1.5rem; border-top:1px solid rgba(205,162,86,0.1); text-align:center;}
.footer-bottom p{color:var(--muted); font-size:0.8rem;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; gap:2rem;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ============ FLOATERS ============ */
.floaters{position:fixed; right:1.4rem; bottom:1.4rem; z-index:800; display:flex; flex-direction:column; gap:0.7rem; align-items:center;}
.float-btn{
  width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 8px 20px rgba(0,0,0,0.4); transition:transform .25s ease, box-shadow .25s ease;
}
.float-btn:hover{transform:scale(1.12); box-shadow:0 10px 26px rgba(0,0,0,0.55);}
.float-btn.wa{background:#25D366; width:58px; height:58px; position:relative;}
.float-btn.wa::before{
  content:''; position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:wa-pulse 2.2s infinite; z-index:-1;
}
@keyframes wa-pulse{
  0%{transform:scale(1); opacity:0.7;}
  100%{transform:scale(1.7); opacity:0;}
}
.float-btn.call{background:var(--maroon-2);}
.float-btn.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.float-btn.fb{background:#1877F2;}
.float-btn.yt{background:#FF0000;}
@media(max-width:600px){
  .floaters{right:1rem; bottom:1rem; gap:0.55rem;}
  .float-btn{width:44px; height:44px;}
  .float-btn svg{width:19px; height:19px;}
  .float-btn.wa{width:52px; height:52px;}
  .float-btn.wa svg{width:23px; height:23px;}
}

/* ============ REVEAL ANIMATION ============ */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
