/* ===================================================================
   MULAN BEAUTY STUDIO — Premium Stylesheet
=================================================================== */
:root{
  --primary:#6A4F3D;
  --secondary:#4A3529;
  --accent:#D7C4A7;
  --gold-light:#E4D3B8;
  --cream:#F4EEE7;
  --beige:#E8DDD2;
  --taupe:#CDBEAF;
  --sand:#DDD0C3;
  --mocha:#8B6F58;
  --espresso:#33241C;
  --text-dark:#33241C;
  --text-light:#F4EEE7;
  --black:#1B120C;

  --bg:var(--cream);
  --surface:#ffffff;
  --border:rgba(51,36,28,.13);
  --shadow:0 30px 80px -24px rgba(27,18,12,.35);
  --shadow-soft:0 14px 34px -14px rgba(27,18,12,.28);

  --f-display:'Playfair Display', serif;
  --f-script:'Cormorant Garamond', serif;
  --f-eyebrow:'Cinzel', serif;
  --f-body:'Poppins', sans-serif;

  --radius:2px;
  --ease:cubic-bezier(.16,.84,.44,1);
  --gold-metal:linear-gradient(120deg,#C9A96E 0%,#F1E2C0 22%,#B6905A 45%,#F6E8CB 68%,#C9A96E 100%);
  --watermark:rgba(215,196,167,.08);
}
html.dark{--watermark:rgba(228,211,184,.05);}
html.dark{
  --bg:#1B120C;
  --surface:#241A14;
  --text-dark:#F4EEE7;
  --border:rgba(244,238,231,.13);
  --cream:#1B120C;
  --beige:#241A14;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--f-body);
  background:var(--bg);
  color:var(--text-dark);
  overflow-x:hidden;
  transition:background .5s var(--ease), color .5s var(--ease);
  -webkit-font-smoothing:antialiased;
  font-weight:300;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:var(--f-body);cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;}
.container{max-width:1280px;margin:0 auto;padding:0 32px;}
::selection{background:var(--espresso);color:var(--gold-light);}
:focus-visible{outline:2px solid var(--mocha);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ============ TYPE SYSTEM ============ */
.eyebrow{
  font-family:var(--f-eyebrow);
  font-size:11.5px;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:var(--mocha);
  display:inline-flex;
  align-items:center;
  gap:16px;
  font-weight:600;
}
.eyebrow::before{content:'';width:40px;height:1px;background:var(--mocha);display:inline-block;}
html.dark .eyebrow{color:var(--accent);}
.on-dark .eyebrow{color:var(--gold-light);}
.on-dark .eyebrow::before{background:var(--gold-light);}

h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.1;color:var(--espresso);letter-spacing:-.01em;}
html.dark h1, html.dark h2, html.dark h3, html.dark h4{color:var(--text-light);}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:var(--text-light);}
.section-title{font-size:clamp(34px,4.6vw,58px);margin-top:16px;font-weight:700;}
.section-title em{font-family:var(--f-script);font-style:italic;color:var(--primary);font-weight:500;}
html.dark .section-title em, .on-dark .section-title em{color:var(--gold-light);}
.section-sub{
  font-family:var(--f-body);
  font-weight:300;
  font-size:16px;
  color:var(--secondary);
  max-width:560px;
  margin-top:20px;
  line-height:1.8;
}
html.dark .section-sub, .on-dark .section-sub{color:var(--taupe);}
.section-head{text-align:center;margin:0 auto 70px;max-width:700px;position:relative;}
.section-head.left{margin:0 0 60px;text-align:left;}
.section-head::before{
  content:'M';font-family:var(--f-eyebrow);font-weight:700;
  font-size:clamp(160px,22vw,300px);line-height:1;
  color:var(--watermark);position:absolute;top:50%;left:50%;
  transform:translate(-50%,-46%);z-index:-1;pointer-events:none;
  user-select:none;white-space:nowrap;
}
.section-head.left::before{left:0;transform:translate(-6%,-46%);}
.on-dark.section-head::before{color:rgba(228,211,184,.05);}

section{position:relative;padding:130px 0;}
@media(max-width:768px){section{padding:88px 0;}}

/* ribbon divider */
.ribbon-divider{width:100%;height:70px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ribbon-divider svg{width:230px;height:40px;overflow:visible;}
.ribbon-path{fill:none;stroke:var(--primary);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400;}
html.dark .ribbon-path{stroke:var(--gold-light);}
.ribbon-path.drawn{stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--ease);}

/* ============ BUTTONS — bolder, advertising-forward ============ */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-eyebrow);font-size:12px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  padding:19px 38px;border-radius:1px;
  transition:all .4s var(--ease);position:relative;white-space:nowrap;
}
.btn-primary{background:var(--espresso);color:var(--text-light);box-shadow:0 10px 26px -12px rgba(27,18,12,.55);}
.btn-primary:hover{background:var(--black);transform:translateY(-3px);box-shadow:0 18px 36px -14px rgba(27,18,12,.6);}
.btn-gold{
  background:var(--gold-metal);background-size:220% 100%;background-position:0% 0%;
  color:var(--espresso);box-shadow:0 10px 26px -12px rgba(212,180,130,.5);
  transition:all .4s var(--ease), background-position .7s var(--ease);
}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 38px -14px rgba(212,180,130,.6);background-position:100% 0%;}
.btn-outline{border:1.5px solid var(--espresso);color:var(--espresso);}
html.dark .btn-outline, .on-dark .btn-outline{border-color:var(--gold-light);color:var(--gold-light);}
.btn-outline:hover{background:var(--espresso);color:var(--text-light);}
html.dark .btn-outline:hover, .on-dark .btn-outline:hover{background:var(--gold-light);color:var(--espresso);}
.btn-lg{padding:22px 46px;font-size:12.5px;}
.btn-sm{padding:13px 22px;font-size:10.5px;}

/* ============ PROMO BANNER ============ */
.promo-banner{
  background:var(--black);color:var(--text-light);text-align:center;
  font-family:var(--f-eyebrow);font-size:11px;font-weight:600;letter-spacing:.2em;
  padding:12px 44px 12px 20px;position:relative;z-index:1001;
}
.promo-banner span{opacity:.95;}
.promo-banner b{color:var(--gold-light);}
.promo-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-light);opacity:.7;line-height:1;}
.promo-close:hover{opacity:1;}
.promo-banner.hidden{display:none;}

/* ============ HEADER ============ */
header{position:sticky;top:0;z-index:1000;padding:28px 0;transition:all .5s var(--ease);background:transparent;}
header.scrolled{
  padding:16px 0;background:rgba(27,18,12,.92);
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 1px 0 rgba(244,238,231,.08);
}
header.solid{background:rgba(27,18,12,.96);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{font-family:var(--f-eyebrow);font-size:25px;letter-spacing:.3em;color:var(--espresso);font-weight:700;display:inline-flex;align-items:center;gap:12px;}
.logo::before{
  content:'';width:9px;height:9px;border-radius:50%;
  border:1px solid currentColor;box-shadow:0 0 0 3px transparent;
  background:var(--gold-metal);flex:none;
}
header.scrolled .logo, header.solid .logo{color:var(--text-light);}
.logo .dot{color:var(--primary);}
header.scrolled .logo .dot, header.solid .logo .dot{color:var(--gold-light);}
html.dark .logo{color:var(--text-light);}

.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-family:var(--f-eyebrow);font-weight:600;color:var(--espresso);position:relative;padding-bottom:4px;}
header.scrolled .nav-links a, header.solid .nav-links a{color:var(--text-light);}
html.dark .nav-links a{color:var(--text-light);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .4s var(--ease);}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}

.nav-right{display:flex;align-items:center;gap:16px;}
.lang-switch{position:relative;}
.lang-current{display:flex;align-items:center;gap:6px;font-size:12.5px;font-family:var(--f-eyebrow);font-weight:600;letter-spacing:.05em;color:var(--espresso);padding:9px 12px;border:1px solid var(--border);border-radius:1px;}
header.scrolled .lang-current, header.solid .lang-current{color:var(--text-light);border-color:rgba(244,238,231,.22);}
html.dark .lang-current{color:var(--text-light);}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:1px;box-shadow:var(--shadow);min-width:150px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .3s var(--ease);overflow:hidden;}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lang-menu button{width:100%;text-align:left;padding:12px 16px;font-size:13px;display:flex;gap:10px;color:var(--text-dark);}
.lang-menu button:hover{background:var(--beige);}

.mode-toggle{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--espresso);}
header.scrolled .mode-toggle, header.solid .mode-toggle{color:var(--text-light);border-color:rgba(244,238,231,.22);}
html.dark .mode-toggle{color:var(--text-light);}
.mode-toggle svg{width:16px;height:16px;}
.moon{display:none;}
html.dark .sun{display:none;}
html.dark .moon{display:block;}

.burger{display:none;width:26px;height:18px;position:relative;}
.burger span{position:absolute;left:0;width:100%;height:1px;background:var(--espresso);transition:all .35s var(--ease);}
header.scrolled .burger span, header.solid .burger span{background:var(--text-light);}
html.dark .burger span{background:var(--text-light);}
.burger span:nth-child(1){top:0;}
.burger span:nth-child(2){top:8px;}
.burger span:nth-child(3){top:16px;}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.mobile-nav{position:fixed;inset:0;background:var(--black);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateY(-100%);transition:transform .5s var(--ease);}
.mobile-nav.open{transform:translateY(0);}
.mobile-nav a{font-family:var(--f-display);font-size:27px;color:var(--text-light);font-weight:600;}

@media(max-width:920px){.nav-links{display:none;}.burger{display:block;}}

/* ============ HERO ============ */
.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;background:var(--black);}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 28%;transform:scale(1.12);}
.hero-overlay{position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(27,18,12,.25) 0%, rgba(27,18,12,.4) 45%, rgba(27,18,12,.94) 100%),
             linear-gradient(90deg, rgba(27,18,12,.65) 0%, rgba(27,18,12,.05) 60%),
             radial-gradient(120% 90% at 50% 50%, transparent 55%, rgba(15,10,7,.5) 100%);
}
.hero-content{position:relative;z-index:2;padding:0 32px 84px;max-width:1280px;margin:0 auto;width:100%;color:var(--text-light);}
.hero-eyebrow{font-family:var(--f-eyebrow);font-size:12px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-light);display:flex;align-items:center;gap:16px;margin-bottom:28px;opacity:0;}
.hero-eyebrow::before{content:'';width:46px;height:1px;background:var(--gold-light);}
.hero h1{font-size:clamp(48px,8.4vw,116px);color:var(--text-light);font-weight:700;overflow:hidden;letter-spacing:-.02em;}
.hero h1 .line-wrap{display:block;overflow:hidden;}
.hero h1 .line{display:inline-block;transform:translateY(110%);}
.hero-sub{font-family:var(--f-body);font-weight:300;font-size:clamp(16px,1.5vw,19px);color:var(--beige);max-width:520px;margin-top:28px;line-height:1.85;opacity:0;}
.hero-btns{display:flex;gap:18px;margin-top:44px;flex-wrap:wrap;opacity:0;}

.scroll-indicator{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-light);}
.scroll-indicator span{font-family:var(--f-eyebrow);font-size:10px;font-weight:600;letter-spacing:.32em;opacity:.85;}
.scroll-line{width:1px;height:50px;background:linear-gradient(var(--gold-light),transparent);position:relative;overflow:hidden;}
.scroll-line::after{content:'';position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--text-light);animation:scrollmove 1.8s infinite ease-in-out;}
@keyframes scrollmove{0%{top:-50%;}100%{top:100%;}}

/* ============ TRUST / STATS BAR (advertising credibility strip) ============ */
.trust-bar{background:var(--espresso);border-bottom:1px solid rgba(244,238,231,.08);}
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);}
@media(max-width:820px){.trust-inner{grid-template-columns:1fr 1fr;}}
.trust-item{padding:34px 20px;text-align:center;border-left:1px solid rgba(244,238,231,.09);}
.trust-item:first-child{border-left:none;}
@media(max-width:820px){.trust-item:nth-child(3){border-left:none;}}
.trust-num{font-family:var(--f-display);font-weight:700;font-size:clamp(24px,2.6vw,32px);color:var(--gold-light);}
.trust-label{font-family:var(--f-eyebrow);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-top:8px;}

/* ============ PAGE HEADER (for interior pages: About / Pricing) ============ */
.page-hero{
  position:relative;padding:200px 0 110px;background:var(--black);color:var(--text-light);overflow:hidden;
  background-size:cover;background-position:center;
}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,18,12,.72),rgba(27,18,12,.94));}
.page-hero .container{position:relative;z-index:1;}
.page-hero .eyebrow{color:var(--gold-light);}
.page-hero .eyebrow::before{background:var(--gold-light);}
.page-hero h1{color:var(--text-light);font-size:clamp(40px,6vw,76px);margin-top:18px;}
.page-hero h1 em{font-family:var(--f-script);font-style:italic;color:var(--gold-light);font-weight:500;}
.page-hero p{font-size:16px;color:var(--taupe);max-width:560px;margin-top:22px;line-height:1.9;}
.breadcrumb{display:flex;gap:10px;align-items:center;font-family:var(--f-eyebrow);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);margin-bottom:6px;}
.breadcrumb a{color:var(--taupe);}
.breadcrumb a:hover{color:var(--gold-light);}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(46px);transition:opacity 1s var(--ease), transform 1s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-stagger > *{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal-stagger.visible > *{opacity:1;transform:translateY(0);}
.reveal-stagger.visible > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.visible > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.visible > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.visible > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.visible > *:nth-child(5){transition-delay:.45s;}
.reveal-stagger.visible > *:nth-child(6){transition-delay:.55s;}
.reveal-stagger.visible > *:nth-child(7){transition-delay:.65s;}
.reveal-stagger.visible > *:nth-child(8){transition-delay:.75s;}
.reveal-stagger.visible > *:nth-child(9){transition-delay:.85s;}

/* ============ ABOUT (home teaser + full page shared bits) ============ */
.about{background:var(--beige);}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:48px;}}
.about-imgs{position:relative;height:540px;}
.about-imgs img{position:absolute;object-fit:cover;box-shadow:var(--shadow);}
.ai-1{width:72%;height:80%;top:0;left:0;}
.ai-2{width:52%;height:52%;bottom:0;right:0;border:10px solid var(--bg);}
@media(max-width:900px){.about-imgs{height:420px;}}
.about-text p{font-size:15.5px;line-height:2;color:var(--secondary);margin-top:22px;max-width:540px;font-weight:300;}
html.dark .about-text p{color:var(--taupe);}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin-top:36px;}
.about-values li{font-size:13.5px;display:flex;gap:10px;align-items:baseline;color:var(--espresso);font-family:var(--f-eyebrow);font-weight:600;letter-spacing:.03em;}
html.dark .about-values li{color:var(--text-light);}
.about-values li::before{content:'—';color:var(--primary);}

.counters{margin-top:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:56px 0;gap:20px;}
@media(max-width:768px){.counters{grid-template-columns:1fr 1fr;row-gap:40px;}}
.counter-item{text-align:center;}
.counter-num{font-family:var(--f-display);font-weight:700;font-size:clamp(38px,4.6vw,58px);color:var(--primary);}
html.dark .counter-num{color:var(--accent);}
.counter-label{font-family:var(--f-eyebrow);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);margin-top:10px;}
html.dark .counter-label{color:var(--taupe);}

/* values grid (full about page) */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border:1px solid var(--border);margin-top:60px;}
@media(max-width:860px){.values-grid{grid-template-columns:1fr 1fr;}}
.value-card{background:var(--surface);padding:44px 30px;}
.value-num{font-family:var(--f-eyebrow);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--primary);}
html.dark .value-num{color:var(--gold-light);}
.value-card h4{font-size:19px;margin-top:16px;}
.value-card p{font-size:13.5px;color:var(--secondary);margin-top:10px;line-height:1.8;}
html.dark .value-card p{color:var(--taupe);}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
@media(max-width:820px){.team-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.team-grid{grid-template-columns:1fr;}}
.team-card{text-align:center;}
.team-photo{aspect-ratio:4/5;overflow:hidden;position:relative;}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.team-card:hover .team-photo img{transform:scale(1.06);}
.team-card h4{margin-top:20px;font-size:19px;}
.team-role{font-family:var(--f-eyebrow);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-top:6px;}
html.dark .team-role{color:var(--gold-light);}

/* ============ SERVICES — dark advertising block ============ */
.services-section{background:var(--espresso);color:var(--text-light);}
.services-section .section-sub{color:var(--taupe);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(244,238,231,.1);border:1px solid rgba(244,238,231,.1);}
@media(max-width:900px){.services-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:var(--espresso);padding:50px 38px;position:relative;overflow:hidden;transition:background .5s var(--ease);}
.service-card::before{content:'';position:absolute;inset:0;background:var(--gold-metal);transform:translateY(100%);transition:transform .55s var(--ease);z-index:0;}
.service-card:hover::before{transform:translateY(0);}
.service-card > *{position:relative;z-index:1;}
.service-icon{width:42px;height:42px;color:var(--gold-light);margin-bottom:28px;transition:color .5s var(--ease);}
.service-card:hover .service-icon{color:var(--espresso);}
.service-card h3{font-size:22px;color:var(--text-light);transition:color .5s var(--ease);}
.service-card:hover h3{color:var(--espresso);}
.service-card p{font-size:14px;line-height:1.85;color:var(--taupe);margin-top:14px;transition:color .5s var(--ease);font-weight:300;}
.service-card:hover p{color:var(--secondary);}
.service-more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-family:var(--f-eyebrow);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);transition:color .5s var(--ease), gap .3s var(--ease);}
.service-card:hover .service-more{color:var(--espresso);gap:13px;}

/* ============ PRICING ============ */
.pricing{background:var(--bg);}
.price-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:58px;}
.pf-btn{padding:11px 24px;border:1px solid var(--border);border-radius:30px;font-family:var(--f-eyebrow);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);transition:all .35s var(--ease);}
html.dark .pf-btn{color:var(--taupe);}
.pf-btn:hover{border-color:var(--primary);}
.pf-btn.active{background:var(--espresso);color:var(--text-light);border-color:var(--espresso);}
.price-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;max-width:1000px;margin:0 auto;}
@media(max-width:760px){.price-list{grid-template-columns:1fr;}}
.price-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid var(--border);transition:padding-left .35s var(--ease);position:relative;}
.price-row::before{content:'';position:absolute;left:-16px;top:50%;transform:translateY(-50%) scale(0);width:6px;height:6px;border-radius:50%;background:var(--gold-metal);transition:transform .35s var(--ease);}
.price-row:hover{padding-left:10px;border-color:var(--primary);}
.price-row:hover::before{transform:translateY(-50%) scale(1);}
.price-row.hide{display:none;}
.price-name{font-family:var(--f-display);font-weight:600;font-size:18px;}
.price-meta{font-size:11.5px;color:var(--secondary);letter-spacing:.05em;margin-top:5px;font-family:var(--f-eyebrow);text-transform:uppercase;}
html.dark .price-meta{color:var(--taupe);}
.price-desc{font-size:13px;color:var(--secondary);margin-top:8px;line-height:1.7;font-weight:300;max-width:340px;font-family:var(--f-body);text-transform:none;letter-spacing:0;}
html.dark .price-desc{color:var(--taupe);}
.price-right{display:flex;align-items:center;gap:18px;}
.price-amount{font-family:var(--f-display);font-weight:700;font-size:21px;color:var(--primary);white-space:nowrap;}
html.dark .price-amount{color:var(--gold-light);}
.price-book{font-family:var(--f-eyebrow);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--espresso);color:var(--espresso);padding:10px 18px;white-space:nowrap;}
html.dark .price-book{border-color:var(--gold-light);color:var(--gold-light);}
.price-book:hover{background:var(--espresso);color:var(--text-light);}
html.dark .price-book:hover{background:var(--gold-light);color:var(--espresso);}

.pricing-note{max-width:1000px;margin:60px auto 0;padding:30px 34px;border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);font-size:13.5px;line-height:1.9;color:var(--secondary);}
html.dark .pricing-note{color:var(--taupe);}

/* packages / advertising promo cards on pricing page */
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);margin-bottom:80px;}
@media(max-width:860px){.package-grid{grid-template-columns:1fr;}}
.package-card{background:var(--surface);padding:54px 40px 44px;position:relative;overflow:hidden;transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
.package-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold-metal);opacity:0;transition:opacity .4s var(--ease);}
.package-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-soft);z-index:1;}
.package-card:hover::before{opacity:1;}
.package-card.featured{background:var(--espresso);color:var(--text-light);}
.package-card.featured::before{opacity:1;}
.package-badge{position:absolute;top:14px;right:0;background:var(--gold-metal);color:var(--espresso);font-family:var(--f-eyebrow);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;}
.package-card h3{font-size:22px;}
.package-price{font-family:var(--f-display);font-weight:700;font-size:44px;margin-top:18px;color:var(--primary);}
.package-card.featured .package-price{color:var(--gold-light);}
.package-price .pkg-amount::before{content:'$';}
.package-price .pkg-currency{font-family:var(--f-body);font-size:13px;font-weight:400;opacity:.7;}
.package-card ul{margin-top:24px;}
.package-card ul li{font-size:13.5px;padding:9px 0;border-top:1px solid var(--border);color:var(--secondary);}
.package-card.featured ul li{border-color:rgba(244,238,231,.14);color:var(--taupe);}
.package-card .btn{margin-top:28px;width:100%;justify-content:center;}

/* ============ GALLERY ============ */
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px;}
.gf-btn{padding:10px 22px;border:1px solid var(--border);font-family:var(--f-eyebrow);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);transition:all .35s var(--ease);}
html.dark .gf-btn{color:var(--taupe);}
.gf-btn.active,.gf-btn:hover{background:var(--espresso);color:var(--text-light);border-color:var(--espresso);}
.masonry{columns:3 240px;column-gap:14px;}
@media(max-width:640px){.masonry{columns:2 160px;}}
.masonry-item{break-inside:avoid;margin-bottom:14px;position:relative;overflow:hidden;cursor:pointer;transition:transform .3s var(--ease);}
.masonry-item img{transition:transform .7s var(--ease);width:100%;}
.masonry-item:hover img{transform:scale(1.08);}
.masonry-item .mi-tag{position:absolute;bottom:14px;left:14px;color:#fff;font-family:var(--f-eyebrow);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .4s var(--ease);background:rgba(27,18,12,.65);padding:7px 14px;backdrop-filter:blur(4px);}
.masonry-item:hover .mi-tag{opacity:1;}
.masonry-item::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,18,12,.6),transparent 55%);opacity:0;transition:opacity .4s var(--ease);}
.masonry-item:hover::after{opacity:1;}

.lightbox{position:fixed;inset:0;background:rgba(15,10,7,.96);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s var(--ease);}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:86vw;max-height:82vh;transform:scale(.92);transition:transform .4s var(--ease);}
.lightbox.open img{transform:scale(1);}
.lightbox-close{position:absolute;top:30px;right:36px;color:#fff;font-size:30px;font-weight:300;}

/* ============ WHY US ============ */
.why{background:var(--beige);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 40px;}
@media(max-width:860px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr;}}
.why-item{text-align:center;}
.why-icon{width:66px;height:66px;border-radius:50%;border:1.5px solid var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--primary);transition:all .4s var(--ease);}
.why-item:hover .why-icon{background:var(--primary);color:var(--text-light);transform:rotate(8deg) scale(1.05);}
.why-icon svg{width:26px;height:26px;}
.why-item h4{font-size:18px;}
.why-item p{font-size:13.5px;color:var(--secondary);margin-top:10px;line-height:1.85;font-weight:300;}
html.dark .why-item p{color:var(--taupe);}

/* ============ TESTIMONIALS ============ */
.testi-wrap{max-width:780px;margin:0 auto;position:relative;text-align:center;}
.testi-slide{display:none;}
.testi-slide.active{display:block;animation:fadein .8s var(--ease);}
@keyframes fadein{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.testi-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 24px;border:3px solid var(--gold-light);}
.testi-stars{color:var(--primary);letter-spacing:4px;font-size:15px;margin-bottom:20px;}
.testi-quote{margin-top:14px;}
html.dark .testi-stars{color:var(--accent);}
.testi-quote{font-family:var(--f-script);font-style:italic;font-weight:500;font-size:clamp(20px,2.5vw,28px);line-height:1.6;color:var(--espresso);position:relative;}
.testi-quote::before{
  content:'"';position:absolute;top:-46px;left:50%;transform:translateX(-50%);
  font-family:var(--f-display);font-style:normal;font-weight:700;font-size:80px;
  color:var(--gold-light);opacity:.7;line-height:1;
}
html.dark .testi-quote{color:var(--text-light);}
.testi-name{font-family:var(--f-eyebrow);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin-top:26px;}
html.dark .testi-name{color:var(--gold-light);}
.testi-nav{display:flex;justify-content:center;gap:12px;margin-top:42px;}
.testi-dot{width:8px;height:8px;border-radius:50%;background:var(--taupe);transition:all .35s var(--ease);}
.testi-dot.active{background:var(--primary);width:26px;border-radius:5px;}
html.dark .testi-dot.active{background:var(--gold-light);}

/* ============ FAQ ============ */
.faq-list{max-width:840px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:28px 4px;font-family:var(--f-display);font-weight:600;font-size:18px;text-align:left;gap:20px;}
.faq-q .plus{font-size:22px;font-weight:300;color:var(--primary);transition:transform .4s var(--ease);flex:none;}
html.dark .faq-q .plus{color:var(--gold-light);}
.faq-item.open .plus{transform:rotate(135deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq-a p{padding:0 4px 28px;font-size:14.5px;line-height:1.9;color:var(--secondary);max-width:660px;font-weight:300;}
html.dark .faq-a p{color:var(--taupe);}

/* ============ INSTAGRAM ============ */
.insta-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:44px;}
.insta-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
@media(max-width:760px){.insta-grid{grid-template-columns:repeat(3,1fr);}}
.insta-item{position:relative;aspect-ratio:1;overflow:hidden;}
.insta-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.insta-item:hover img{transform:scale(1.1);}
.insta-item::after{content:'♡';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;background:rgba(27,18,12,0);transition:background .35s var(--ease),opacity .35s;opacity:0;}
.insta-item:hover::after{background:rgba(27,18,12,.45);opacity:1;}

/* ============ CTA ============ */
.cta{position:relative;text-align:center;color:var(--text-light);background-size:cover;background-position:center;background-attachment:fixed;padding:160px 24px;}
.cta::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(27,18,12,.8),rgba(27,18,12,.9));}
.cta .container{position:relative;z-index:1;}
.cta h2{color:var(--text-light);}
.cta p{font-family:var(--f-script);font-style:italic;font-weight:500;font-size:21px;color:var(--beige);margin-top:22px;}
.cta .btn{margin-top:42px;}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:560px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:24px;position:relative;}
.field label{position:absolute;left:0;top:14px;font-size:14.5px;color:var(--secondary);transition:all .3s var(--ease);pointer-events:none;font-weight:300;}
.field input,.field select,.field textarea{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;padding:14px 0 10px;font-family:var(--f-body);font-size:14.5px;color:var(--text-dark);font-weight:300;}
.field textarea{resize:vertical;min-height:90px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);}
.field input:focus + label,.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,.field textarea:not(:placeholder-shown) + label,
.field.filled label{top:-12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-family:var(--f-eyebrow);font-weight:600;}
html.dark .field.filled label, html.dark .field input:focus + label{color:var(--gold-light);}
.field-error{font-size:11.5px;color:#a34a3a;margin-top:6px;min-height:14px;}
.form-note{font-size:11.5px;color:var(--secondary);margin-top:6px;display:flex;gap:8px;align-items:center;}
html.dark .form-note{color:var(--taupe);}

.contact-info{background:var(--espresso);color:var(--text-light);padding:54px;}
.contact-info h3{color:var(--text-light);font-size:24px;}
.ci-row{display:flex;gap:16px;margin-top:26px;align-items:flex-start;}
.ci-row svg{width:18px;height:18px;color:var(--gold-light);flex:none;margin-top:3px;}
.ci-row div{font-size:14px;line-height:1.75;color:var(--beige);font-weight:300;}
.map-frame{margin-top:36px;overflow:hidden;height:220px;border:1px solid rgba(244,238,231,.15);}
.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(1) sepia(.35) contrast(1.05);}

/* ============ NEWSLETTER STRIP ============ */
.newsletter-strip{background:linear-gradient(120deg,var(--accent),var(--gold-light));padding:64px 0;}
.ns-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.ns-inner h3{font-size:26px;color:var(--espresso);}
.ns-form{display:flex;gap:0;max-width:420px;width:100%;}
.ns-form input{flex:1;border:1px solid var(--espresso);border-right:none;padding:15px 18px;background:var(--cream);font-size:13.5px;}
.ns-form button{background:var(--espresso);color:var(--text-light);padding:0 28px;font-family:var(--f-eyebrow);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.ns-form button:hover{background:var(--black);}

/* ============ FOOTER ============ */
footer{background:var(--black);color:#F4EEE7;padding:96px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-logo{font-family:var(--f-eyebrow);font-size:24px;font-weight:700;letter-spacing:.3em;color:var(--text-light);}
.footer-tag{font-family:var(--f-script);font-style:italic;font-weight:500;color:var(--taupe);margin-top:18px;font-size:15px;max-width:280px;line-height:1.75;}
.footer-social{display:flex;gap:12px;margin-top:28px;}
.footer-social a{width:36px;height:36px;border:1px solid rgba(244,238,231,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .35s var(--ease);}
.footer-social a:hover{background:var(--gold-light);border-color:var(--gold-light);}
.footer-social a svg{width:15px;height:15px;color:var(--text-light);transition:color .35s;}
.footer-social a:hover svg{color:var(--espresso);}
footer h4{font-family:var(--f-eyebrow);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);margin-bottom:26px;}
footer ul li{margin-bottom:14px;}
footer ul li a{font-size:14px;color:var(--beige);opacity:.85;transition:opacity .3s;font-weight:300;}
footer ul li a:hover{opacity:1;color:var(--gold-light);}
.footer-bottom{margin-top:74px;padding-top:30px;border-top:1px solid rgba(244,238,231,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--taupe);}
.footer-bottom a{color:var(--taupe);}
.footer-bottom a:hover{color:var(--gold-light);}
.credit{color:var(--gold-light);}

/* ============ FLOATING BUTTONS ============ */
.float-btn{position:fixed;right:26px;z-index:900;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transition:all .35s var(--ease);}
.whatsapp-btn{bottom:26px;background:#3d5245;color:#fff;}
.whatsapp-btn:hover{transform:scale(1.08);}
.whatsapp-btn svg{width:24px;height:24px;}
.top-btn{bottom:92px;background:var(--espresso);color:var(--text-light);opacity:0;visibility:hidden;transform:translateY(10px);}
.top-btn.show{opacity:1;visibility:visible;transform:translateY(0);}
.top-btn svg{width:16px;height:16px;}

/* ============ COOKIE ============ */
.cookie-bar{position:fixed;left:24px;right:24px;bottom:24px;max-width:520px;z-index:1500;background:var(--surface);border:1px solid var(--border);padding:28px;box-shadow:var(--shadow);transform:translateY(140%);transition:transform .6s var(--ease);}
.cookie-bar.show{transform:translateY(0);}
.cookie-bar p{font-size:13px;line-height:1.75;color:var(--secondary);font-weight:300;}
.cookie-btns{display:flex;gap:12px;margin-top:18px;}
.cookie-btns button{font-family:var(--f-eyebrow);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:12px 20px;}
.cookie-accept{background:var(--espresso);color:var(--text-light);}
.cookie-decline{border:1px solid var(--border);color:var(--secondary);}

.va-hidden{opacity:0 !important;}