:root{
  --gold:#D6B35A;
  --gold-2:#f0cf7a;
  --nude:#f3e9e2;
  --rose:#ff5c9a;
  --crimson:#e3394f;
  --violet:#a78bfa;
  --ink:#0f1012;
  --muted:#6b6e76;
  --bg:#ffffff;
  --tint:#faf7f4;
  --radius:18px;
  --shadow:0 10px 30px rgba(15,16,18,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{font-size:100%}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:clamp(16px,1vw+14px,18px)}
.container{width:min(1120px,92vw);margin-inline:auto}
.center{text-align:center}
.subhead{color:var(--muted);margin-top:-.25rem}
.grid{display:grid;gap:2rem}
.grid-2{grid-template-columns:1.2fr .8fr}
@media (max-width: 900px){ .grid-2{grid-template-columns:1fr} }
.hl{position:relative;display:inline-block;padding-bottom:.25rem}
.hl:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--rose),var(--gold),var(--violet));opacity:.35}
.hl-sm{position:relative;display:inline-block;padding-bottom:.15rem}
.hl-sm:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--gold),var(--rose));opacity:.35}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.15rem;border-radius:999px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#111;font-weight:600;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .2s ease, opacity .2s ease, background .3s ease}
.btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,var(--gold),var(--rose))}
.btn:focus-visible{outline:2px dashed var(--ink);outline-offset:2px}
.btn--ghost{background:transparent;border:2px solid var(--gold);color:var(--ink)}
.btn--lg{padding:1rem 1.35rem;font-size:1.05rem}
.btn.full{width:100%}

/* Promo & Header */
.promo{background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.06)),linear-gradient(90deg,var(--crimson),var(--rose),var(--violet));color:#1b1b1f;padding:.55rem 1rem;text-align:center;font-size:.95rem}
.promo strong{color:#111;background:linear-gradient(90deg,var(--gold),var(--rose));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(120%) blur(10px);border-bottom:1px solid #eee}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0}
.brand{display:flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none}
.brand-logo{display:block;width:56px;height:56px;border-radius:12px}
.brand-name{font-weight:700;letter-spacing:.2px}
.nav ul{display:flex;gap:1rem;align-items:center;margin:0;padding:0;list-style:none}
.nav a{color:inherit;text-decoration:none;font-weight:500}
.nav .btn{padding:.6rem 1rem}
.nav .btn--ghost{border-width:1.5px}
.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:.25rem}
.nav-toggle .bar{display:block;width:24px;height:2px;background:#222;margin:5px 0;border-radius:2px}
@media (max-width:860px){ .header-contact{display:none} }
.header-contact{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}
.header-contact a{text-decoration:none;color:inherit}
@media (max-width:860px){
  .nav-toggle{display:block}
  .nav ul{position:absolute;right:1rem;top:72px;background:#fff;border:1px solid #eee;border-radius:14px;box-shadow:var(--shadow);padding:.5rem;flex-direction:column;align-items:stretch;min-width:240px;display:none}
  .nav ul.open{display:flex}
}

/* Footer contact */
.footer-contact{display:flex;flex-direction:column;gap:.2rem;margin-top:.5rem}
.footer-contact a{color:#eaeaea;text-decoration:none}

/* FAQ */
.faq{margin-top:1rem}
.faq-item{border:1px solid #eee;border-radius:var(--radius);padding:.8rem;background:#fff;margin-bottom:.6rem}
.faq-item summary{font-weight:600;cursor:pointer}

/* ================= Hero ================= */
.hero{
  position:relative;
  min-height:76vh;
  display:grid; place-items:center;
  text-align:center;
  color:#fff;
  overflow:hidden;
}

.hero-bg{
  position:absolute; inset:0; z-index:-1;
  background-image:
    linear-gradient(to bottom, rgba(0,0,0,.52) 0%, rgba(0,0,0,.44) 28%, rgba(0,0,0,.34) 100%),
    radial-gradient(1200px 520px at 70% -10%, rgba(214,179,90,.16), transparent 70%),
    radial-gradient(520px 320px at 12% 18%, rgba(255,92,154,.12), transparent 65%),
    radial-gradient(620px 360px at 90% 82%, rgba(167,139,250,.12), transparent 65%),
    var(--hero-img, none);
  background-size: 100% 100%, auto, auto, auto, cover;
  background-position: center, center, center, center, center;
  background-repeat: no-repeat;
  filter: saturate(110%) contrast(1.02);
}

/* Headline: Roman serif + slightly smaller */
.hero h1{
  font-family:"Cinzel", serif;
  font-weight:800;
  font-size:clamp(2rem,3.6vw,3rem);
  line-height:1.12;
  margin:0 0 .75rem;
  letter-spacing:.5px;
  text-shadow: 0 6px 24px rgba(0,0,0,.35), 0 1px 0 rgba(0,0,0,.25);
}

.hero .lead{
  color:#f2f3f5;
  text-shadow: 0 4px 18px rgba(0,0,0,.35);
}

.cta-wrap{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.trust-badges{display:flex;gap:.8rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}
.badge{background:#fff;border:1px solid #eee;border-radius:999px;padding:.45rem .8rem;font-weight:600;display:flex;align-items:center;gap:.35rem}
.badge--rose{border-color:rgba(255,92,154,.35)}
.badge--amber{border-color:rgba(214,179,90,.45)}
.badge--violet{border-color:rgba(167,139,250,.40)}
.hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.85);background:rgba(255,255,255,.08)}
.hero .btn--ghost:hover{background:rgba(255,255,255,.16)}
.hero .badge{color:#111}

/* BIG centered logo — transparent (no white card) */
.hero-logo{
  position:absolute;
  top:30px;
  left:50%;
  transform:translateX(-50%);
  width:200px; height:200px;          /* bigger logo */
  border-radius:0;                     /* let the PNG shape show */
  background:transparent;              /* remove white background */
  border:none;                         /* remove border */
  padding:0;                           /* remove inner margin */
  box-shadow:none;                     /* remove card shadow */
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.35)); /* subtle separation on dark */
  z-index:2;
  opacity:0; transform:translate(-50%, -6px);
  animation: heroLogoIn .7s ease .15s forwards;
}

@keyframes heroLogoIn { to { opacity:1; transform:translate(-50%, 0); } }

/* Extra top padding to clear larger logo */
.hero-inner{ padding:12.2rem 0 5rem; }

@media (max-width: 560px){
  .hero-logo{ width:128px; height:128px; top:26px; }
  .hero-inner{ padding-top:10.2rem; }
}


/* Sections & About */
.section{padding:4.5rem 0}
.section--tint{background:
  radial-gradient(420px 220px at 4% 20%, rgba(255,92,154,.08), transparent 70%),
  radial-gradient(620px 280px at 96% 88%, rgba(167,139,250,.07), transparent 70%),
  var(--tint);}
.about-media{position:relative}
.about-card{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #eee}
.about-card img{width:100%;height:100%;object-fit:cover;display:block}
.about-card.offset{position:absolute;right:-10%;bottom:-10%;width:60%;transform:rotate(2deg)}
@media (max-width:900px){ .about-card.offset{position:static;right:auto;bottom:auto;width:100%;transform:none;margin-top:1rem} }
.pill-list{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.2rem;padding:0;list-style:none}
.pill-list li{background:#fff;border:1px solid #eee;padding:.5rem .75rem;border-radius:999px}
.pill-list--colorful li:nth-child(3n+1){border-color:rgba(255,92,154,.35)}
.pill-list--colorful li:nth-child(3n+2){border-color:rgba(214,179,90,.35)}
.pill-list--colorful li:nth-child(3n+3){border-color:rgba(167,139,250,.35)}
.about-cta{display:flex;gap:.6rem;flex-wrap:wrap}

/* Pricing cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media (max-width: 980px){ .cards{grid-template-columns:1fr} }
.card{background:#fff;border:1px solid #eee;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem;display:flex;flex-direction:column;gap:1rem;position:relative}
.card--featured{border-width:2px;border-color:var(--gold)}
.card--accent-rose:before,.card--accent-amber:before,.card--accent-violet:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg, transparent 70%, rgba(255,92,154,.10) 100%);z-index:0}
.card--accent-amber:before{background:linear-gradient(180deg, transparent 70%, rgba(214,179,90,.14) 100%)}
.card--accent-violet:before{background:linear-gradient(180deg, transparent 70%, rgba(167,139,250,.12) 100%)}
.ribbon{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,var(--gold),var(--rose));color:#111;font-weight:800;padding:.3rem .6rem;border-radius:999px;font-size:.8rem;box-shadow:var(--shadow)}
.card-list{margin:0;padding-left:1.1rem}
.footnote{font-size:.9rem;color:var(--muted);margin:-.5rem 0 0}

/* ===== Portfolio Slider ===== */
.slider{position:relative}
.slider-viewport{overflow:hidden;border-radius:16px;border:1px solid #eee;box-shadow:var(--shadow)}
.slides{display:flex;transition:transform .5s ease}
.slide{flex:0 0 100%;padding:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;position:relative}
.slide-title{position:absolute;left:1rem;top:1rem;background:rgba(255,255,255,.9);padding:.3rem .6rem;border-radius:999px;border:1px solid #eee;font-weight:700}
.tile{border-radius:16px;overflow:hidden;cursor:pointer;position:relative}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .3s ease, filter .3s ease}
.tile:hover img{transform:scale(1.05);filter:contrast(1.03)}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.95);width:42px;height:42px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow);z-index:2}
.slider-btn.prev{left:-10px}
.slider-btn.next{right:-10px}
.slider-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.6rem}
.slider-dots button{width:10px;height:10px;border-radius:999px;border:0;background:#ddd;cursor:pointer}
.slider-dots button.active{background:linear-gradient(90deg,var(--gold),var(--rose))}

@media (max-width:900px){ .slide{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .slide{grid-template-columns:1fr} }

/* Testimonials, CTA, Contact, Newsletter, Footer */
.carousel{position:relative}
.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(420px,90vw);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 0 1.2rem}
.tcard{scroll-snap-align:start;background:#fff;border:1px solid #eee;border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}
.tcard .stars{background:linear-gradient(90deg,var(--rose),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:1px;margin-bottom:.4rem;font-weight:700}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.9);width:38px;height:38px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow)}
.carousel-btn.prev{left:-8px}.carousel-btn.next{right:-8px}
@media (max-width:980px){ .carousel-btn{display:none} }

.cta-banner{background:radial-gradient(540px 200px at 10% 10%, rgba(255,92,154,.10), transparent 60%),radial-gradient(560px 220px at 90% 80%, rgba(167,139,250,.10), transparent 60%),linear-gradient(90deg,var(--nude),#fff);padding:2.8rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.banner-inner{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}

.contact-list{list-style:none;padding:0;margin:1rem 0 1.25rem}
.offer-box{background:#fff;border:1px dashed var(--gold);border-radius:12px;padding:.8rem}
.form{background:#fff;border:1px solid #eee;border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}
.form-row{display:flex;flex-direction:column;margin-bottom:.8rem}
label{font-weight:600;margin-bottom:.25rem}
input,select,textarea{font:inherit;padding:.7rem .8rem;border:1px solid #ddd;border-radius:12px;background:#fff}
textarea{resize:vertical}
.hp{position:absolute;left:-9999px;opacity:0}
.form-note{color:var(--muted);font-size:.9rem}
.form-status{margin-top:.6rem;font-weight:600}

.newsletter .container{display:grid;gap:.8rem;justify-items:center;text-align:center}
.newsletter-form{display:flex;gap:.5rem;flex-wrap:wrap}
.newsletter-form input{min-width:260px}

.site-footer{background:radial-gradient(700px 280px at 20% -10%, rgba(255,92,154,.08), transparent 60%),radial-gradient(700px 280px at 100% 120%, rgba(167,139,250,.08), transparent 60%),#0f0f11;color:#eaeaea;margin-top:2rem}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;align-items:center;padding:1.2rem 0}
@media (max-width:900px){ .footer-inner{grid-template-columns:1fr} }
.site-footer nav a{color:#eaeaea;text-decoration:none;margin-right:1rem}
.f-brand{display:flex;align-items:center;gap:.8rem}
.f-brand .brand-mark{background:conic-gradient(from 0deg at 60% 40%, var(--gold), var(--rose), var(--gold-2));color:#111}
.social a{text-decoration:none;color:#fff;font-size:1.25rem;margin-right:.6rem}
.legal{border-top:1px solid #1e1e22;padding:.8rem 0;text-align:center;color:#b9bac1}

/* Reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.open{display:flex}
.lb-img{max-width:min(1100px,90vw);max-height:80vh;border-radius:14px;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.lb-caption{position:absolute;bottom:6vh;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.45);padding:.5rem .8rem;border-radius:999px}
.lb-close,.lb-prev,.lb-next{position:absolute;border:0;background:rgba(255,255,255,.9);width:42px;height:42px;border-radius:999px;display:grid;place-items:center;cursor:pointer}
.lb-close{top:5vh;right:5vw}.lb-prev{left:5vw}.lb-next{right:5vw}
