@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@900&family=Pinyon+Script&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

@font-face{
  font-family:'Extenda 30 Deca';
  src:url('fonts/Extenda-30-Deca.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face{
  font-family:'Extenda 50 Mega';
  src:url('fonts/Extenda-50-Mega.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap
}

/* ─── RESET + ROOT ───────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --pink:#F7B6D2;
  --pink-light:#FFD1E5;
  --pink-dark:#D94186;
  --pink-pale:#FFF3F8;
  --pink-soft:#FFE2EF;
  --black:#171515;
  --black-light:#211D20;
  --white:#FFF8F4;
  --white-dim:rgba(255,248,244,.74);
  --gray:rgba(255,248,244,.48);
  --bg:#171515;
  --section-bg:#FFF8F4;
  --surface:#FFFFFF;
  --text:#171215;
  --text-dim:#624653;
  --text-muted:#8D687A;
  --border:rgba(247,182,210,.18);
  --accent:#D94186;
  --ease:cubic-bezier(0.33,1,0.68,1);
  --t1:0.2s;--t2:0.4s;--t3:0.65s
}

/* ─── GLOBAL ─────────────────────────────────────────────────────────── */
::selection{background:var(--pink);color:#fff}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--pink);border-radius:0}
::-webkit-scrollbar-thumb:hover{background:var(--pink-dark)}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);background:var(--bg);color:var(--text);
  line-height:1.7;overflow-x:hidden;
  animation:pageReveal .35s ease both
}
@keyframes pageReveal{from{opacity:0}to{opacity:1}}
a{color:var(--pink);text-decoration:none;transition:color var(--t1) var(--ease)}
a:hover{color:var(--pink-light)}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4,h5,h6{margin:0}

/* ─── TYPOGRAPHY — DISPLAY ────────────────────────────────────────────── */
/*
  Logo          → Unbounded 900 — brand stamp, geometric authority
  Hero h1       → Extenda 30 Deca — condensed fashion display, matches homepage hero
  Section h2    → Extenda 30 Deca — consistent fashion editorial typography
  Script accent → Pinyon Script — elegant script for hero sub-accents
  <strong> in h → pink color — signature beauty editorial detail
  Body/labels   → Inter — clean, legible
*/
.hero h1,
.page-hero h1{
  font-family:var(--font-display);
  font-style:normal;
  line-height:1.0;
  letter-spacing:.023em;
  text-transform:uppercase
}
.section-header h2,
.about-content h2,
.service-content h2,
.cta-banner h2{
  font-family:var(--font-section);
  font-style:normal;
  line-height:1.08;
  letter-spacing:.06em
}
/* Script accent — use <span class="script-accent"> in hero for the "Стратегически" feel */
.script-accent{
  font-family:'Pinyon Script',cursive;
  font-size:1.35em;
  font-weight:400;
  color:var(--pink);
  display:block;
  line-height:1.1;
  letter-spacing:1px
}
/* Pink emphasis in headings */
.hero h1 strong,
.section-header h2 strong,
.about-content h2 strong,
.page-hero h1 strong,
.service-content h2 strong,
.cta-banner h2 strong{
  color:var(--pink)
}
/* Heading emphasis — само цвят, без bold (Extenda няма bold variant) */
.section-header h2 strong,
.about-content h2 strong,
.service-content h2 strong,
.cta-banner h2 strong{
  font-style:normal
}

/* ─── REVEAL ANIMATIONS ──────────────────────────────────────────────── */
.reveal{
  opacity:0;transform:translateY(26px);
  transition:opacity var(--t3) var(--ease),transform var(--t3) var(--ease)
}
.reveal.visible{opacity:1;transform:translateY(0)}
.services-grid  .reveal:nth-child(2){transition-delay:.07s}
.services-grid  .reveal:nth-child(3){transition-delay:.14s}
.services-grid  .reveal:nth-child(4){transition-delay:.21s}
.services-grid  .reveal:nth-child(5){transition-delay:.28s}
.services-grid  .reveal:nth-child(6){transition-delay:.35s}
.why-grid       .reveal:nth-child(2){transition-delay:.08s}
.why-grid       .reveal:nth-child(3){transition-delay:.16s}
.why-grid       .reveal:nth-child(4){transition-delay:.24s}
.gallery-grid   .reveal:nth-child(2){transition-delay:.05s}
.gallery-grid   .reveal:nth-child(3){transition-delay:.10s}
.gallery-grid   .reveal:nth-child(4){transition-delay:.15s}
.gallery-grid   .reveal:nth-child(5){transition-delay:.05s}
.gallery-grid   .reveal:nth-child(6){transition-delay:.10s}
.gallery-grid   .reveal:nth-child(7){transition-delay:.15s}
.gallery-grid   .reveal:nth-child(8){transition-delay:.05s}
.gallery-grid   .reveal:nth-child(9){transition-delay:.10s}
.gallery-grid   .reveal:nth-child(10){transition-delay:.15s}
.gallery-grid   .reveal:nth-child(11){transition-delay:.05s}
.gallery-grid   .reveal:nth-child(12){transition-delay:.10s}
.gallery-grid   .reveal:nth-child(13){transition-delay:.15s}
.gallery-grid   .reveal:nth-child(14){transition-delay:.05s}
.gallery-grid   .reveal:nth-child(15){transition-delay:.10s}
.gallery-grid   .reveal:nth-child(16){transition-delay:.15s}
.other-services-grid .reveal:nth-child(2){transition-delay:.06s}
.other-services-grid .reveal:nth-child(3){transition-delay:.12s}
.other-services-grid .reveal:nth-child(4){transition-delay:.18s}
.other-services-grid .reveal:nth-child(5){transition-delay:.24s}
.other-services-grid .reveal:nth-child(6){transition-delay:.30s}

/* ─── HEADER ─────────────────────────────────────────────────────────── */
header{
  background:rgba(250,250,250,.88);
  position:fixed;top:0;left:0;right:0;z-index:1000;
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid rgba(232,25,110,.12);
  transition:background var(--t2) var(--ease),box-shadow var(--t2) var(--ease),border-color var(--t2) var(--ease)
}
header.scrolled{
  background:rgba(255,255,255,.98);
  border-bottom-color:rgba(232,25,110,.15);
  box-shadow:0 4px 32px rgba(232,25,110,.08)
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 20px;max-width:1200px;margin:0 auto;
  transition:padding var(--t2) var(--ease)
}
header.scrolled .header-inner{padding:10px 20px}

/* Logo — stays Unbounded (brand stamp) */
.logo{
  font-family:'Unbounded',sans-serif;font-weight:900;font-size:1.1rem;
  letter-spacing:6px;color:var(--text);text-transform:uppercase;
  transition:opacity var(--t1) var(--ease)
}
.logo:hover{color:var(--text);opacity:.75}
.logo span{color:var(--pink)}

/* Nav links */
nav{display:flex;gap:2px;align-items:center}
nav a{
  color:var(--text-dim);font-size:.8rem;padding:8px 12px;
  letter-spacing:.9px;font-weight:500;text-transform:uppercase;
  transition:color var(--t1) var(--ease),background var(--t1) var(--ease);
  position:relative
}
nav a::after{
  content:'';position:absolute;bottom:3px;left:12px;right:12px;height:1px;
  background:var(--pink);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t2) var(--ease)
}
nav a:hover{color:var(--pink);background:rgba(232,25,110,.06)}
nav a:hover::after,
nav a.active-page::after{transform:scaleX(1)}
nav a.active-page{color:var(--pink)}

/* ─── BUTTONS (shared system, shimmer on ::before) ────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 32px;font-size:.83rem;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;font-family:var(--font-ui);
  border:none;border-radius:2px;cursor:pointer;text-decoration:none;
  position:relative;overflow:hidden;
  transition:box-shadow var(--t2) var(--ease),background var(--t1) var(--ease)
}
/* Shimmer sweep — ::before so nav a::after (underline) doesn't conflict */
.btn::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  transition:left .55s var(--ease);pointer-events:none
}
.btn:hover::before{left:100%}
.btn-primary{background:var(--pink);color:#171215}
.btn-primary:hover{
  background:var(--pink-light);color:#171215
}
.btn-primary:active{background:var(--pink)}
.btn-outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.18)}
.btn-outline:hover{border-color:var(--pink);color:var(--pink)}
.btn-sm{font-size:.76rem;padding:10px 22px}

/* Nav CTA — inherits .btn .btn-primary, overrides nav-specific sizing */
.nav-cta{margin-left:6px;padding:9px 18px!important;font-size:.78rem!important}
/* Suppress nav underline ::after on this element (btn::before handles animation) */
nav .nav-cta::after{display:none!important}

.hamburger{
  display:none;flex-direction:column;gap:5px;cursor:pointer;
  padding:8px;background:none;border:none;z-index:1001
}
.hamburger span{
  width:24px;height:2px;background:var(--white);display:block;
  transition:all var(--t2) var(--ease);transform-origin:center
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:998;
  pointer-events:none;opacity:0;transition:opacity var(--t2) var(--ease)
}
.nav-backdrop.active{opacity:1;pointer-events:auto}
@media(min-width:769px){.nav-backdrop{display:none!important}}

/* ─── HERO — dark split layout (image left, text right) ──────────────── */
.hero{
  min-height:100vh;display:flex;align-items:stretch;
  position:relative;padding:0;
  background:var(--black);overflow:hidden
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 50%,rgba(232,25,110,.07) 0%,transparent 60%);
  pointer-events:none;z-index:1
}
/* Noise texture overlay for depth */
.hero::after{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:1;opacity:.35
}
.hero-glow{display:none}

/* Split halves */
.hero-image-col{
  flex:0 0 50%;position:relative;overflow:hidden;
  min-height:100vh
}
.hero-image-col img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  filter:brightness(.75) contrast(1.05);
  display:block
}
/* Gradient fade on right edge of image */
.hero-image-col::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,8,18,0) 55%,rgba(14,8,18,.9) 100%);
  pointer-events:none
}
.hero-text-col{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:100px 64px 80px 48px;position:relative;z-index:2
}
@keyframes gridDrift{0%{background-position:0 0}100%{background-position:60px 60px}}
@keyframes heroFloat{
  0%,100%{transform:translate(0,0) scale(1)}
  35%{transform:translate(-45px,38px) scale(1.06)}
  70%{transform:translate(28px,-22px) scale(.94)}
}
@keyframes glowPulse{
  0%,100%{opacity:.5;transform:translateX(-50%) scaleX(1)}
  50%{opacity:.95;transform:translateX(-50%) scaleX(1.14)}
}

.hero-content{
  position:relative;z-index:2;max-width:860px;
  animation:fadeUp .95s var(--ease) both
}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}

.hero-badge{display:none} /* replaced by script-accent */

.hero-script{
  font-family:'Pinyon Script',cursive;
  font-size:clamp(2.4rem,4.5vw,4rem);
  font-weight:400;
  color:#fff;
  display:block;
  line-height:1.1;
  margin-bottom:-10px;
  animation:fadeUp .95s .08s var(--ease) both;
  text-shadow:0 2px 20px rgba(232,25,110,.3)
}
.hero h1{
  font-size:clamp(4rem,8vw,7.5rem);font-weight:400;line-height:.95;
  letter-spacing:3px;text-transform:uppercase;
  color:var(--pink);
  margin-bottom:28px;
  animation:fadeUp .95s .18s var(--ease) both
}
.hero h1 strong{
  color:#fff;font-style:normal;display:block
}
.hero p{
  font-size:.95rem;color:rgba(255,255,255,.65);max-width:440px;
  margin:0 0 36px;line-height:1.85;font-weight:300;
  animation:fadeUp .95s .26s var(--ease) both
}
.hero-buttons{
  display:flex;gap:14px;flex-wrap:wrap;
  animation:fadeUp .95s .34s var(--ease) both
}
/* Override btn-primary for hero — pink fill with dark text, wide */
.hero .btn-primary{
  background:var(--pink);color:#171215;
  padding:16px 48px;font-size:.8rem;letter-spacing:3px;
  border-radius:0
}
.hero .btn-outline{
  border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.8);
  border-radius:0
}
.hero-stats{
  display:flex;gap:40px;
  margin-top:52px;padding-top:36px;
  border-top:1px solid rgba(232,25,110,.18);
  animation:fadeUp .95s .44s var(--ease) both
}
.hero-stat{text-align:left}
.hero-stat .number{
  font-size:2.8rem;font-weight:700;color:var(--pink);display:block;
  font-family:var(--font-display);letter-spacing:.023em;line-height:1
}
.hero-stat .label{
  font-size:.6rem;color:rgba(255,255,255,.45);letter-spacing:2.5px;
  text-transform:uppercase;margin-top:6px;font-weight:500
}

/* ─── SECTION COMMON ─────────────────────────────────────────────────── */
section{padding:100px 0}
.section-header{text-align:center;margin-bottom:60px}
.section-tag{
  display:inline-block;font-size:.63rem;letter-spacing:4px;
  text-transform:uppercase;color:var(--pink);margin-bottom:14px;font-weight:600
}
.section-header h2{font-size:clamp(1.9rem,4.5vw,3.2rem);color:var(--text)}
.section-header p{color:var(--text-dim);margin:16px auto 0;font-size:.92rem;font-weight:300}
.alt-bg{background:var(--section-bg)}
/* Dark service sections — stays dark like the "SERVICES LIST" block in reference */
.dark-section{background:var(--black);color:#fff}
.dark-section .section-header h2{color:#fff}
.dark-section .section-tag{color:var(--pink-light)}
.dark-section .section-header p{color:rgba(255,255,255,.6)}

/* ─── SERVICES GRID ──────────────────────────────────────────────────── */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2px}
.service-card{
  background:var(--surface);overflow:hidden;
  border:1px solid rgba(232,25,110,.1);
  transition:box-shadow var(--t2) var(--ease),border-color var(--t2) var(--ease);
  text-decoration:none;color:inherit;display:block;position:relative
}
.service-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--pink),var(--pink-light));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t2) var(--ease)
}
.service-card:hover{box-shadow:0 12px 40px rgba(232,25,110,.16);z-index:2;color:inherit;border-color:rgba(232,25,110,.3)}
.service-card:hover::after{transform:scaleX(1)}
.service-card img{
  width:100%;height:220px;object-fit:cover;
  transition:transform .75s var(--ease),filter var(--t2) var(--ease);
  filter:brightness(.9) saturate(.85)
}
.service-card:hover img{transform:scale(1.07);filter:brightness(1) saturate(1.1)}
.service-card-body{padding:26px 28px 28px;background:var(--surface)}
.service-card h3{
  font-family:var(--font-section);font-weight:400;font-style:normal;
  font-size:1.4rem;margin-bottom:10px;color:var(--text);letter-spacing:.06em;
  transition:color var(--t1) var(--ease)
}
.service-card:hover h3{color:var(--pink)}
.service-card p{font-size:.85rem;color:var(--text-dim);line-height:1.75;margin-bottom:16px;font-weight:300}
.service-tag{
  display:inline-block;padding:4px 10px;
  background:var(--pink-pale);color:var(--pink);
  font-size:.59rem;margin-right:5px;margin-bottom:5px;
  letter-spacing:.5px;font-weight:600;text-transform:uppercase;
  transition:background var(--t1) var(--ease)
}
.service-card:hover .service-tag{background:var(--pink-soft)}

/* ─── ABOUT ──────────────────────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-image{overflow:hidden;position:relative}
.about-image img{
  width:100%;height:720px;object-fit:cover;object-position:center top;filter:brightness(.97);
  transition:transform .85s var(--ease),filter var(--t3) var(--ease)
}
.about-image:hover img{transform:scale(1.04);filter:brightness(1)}
.about-image::after{content:'';position:absolute;inset:0;border:2px solid rgba(232,25,110,.2);pointer-events:none}
.about-image-badge{
  position:absolute;bottom:24px;right:24px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border:1px solid rgba(232,25,110,.3);
  padding:12px 20px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted)
}
.about-image-badge .number{font-size:2rem;color:var(--pink);font-family:var(--font-display);letter-spacing:.023em;line-height:1;position:relative;top:-6px}
.award-badge{
  position:absolute;bottom:20px;left:20px;right:20px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border:1px solid rgba(232,25,110,.3);
  padding:12px 16px;
  font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);
  line-height:1.6
}
.award-badge i{color:var(--pink);margin-right:6px}
.award-badge span{font-size:.62rem;color:var(--text-muted);letter-spacing:1px}
.about-content h2{font-size:2.2rem;font-weight:700;margin-bottom:20px;color:var(--text)}
.about-content p{color:var(--text-dim);margin-bottom:16px;font-size:.92rem;font-weight:300}
.about-features{list-style:none;margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.about-features li{
  display:flex;align-items:center;gap:9px;font-size:.83rem;
  color:var(--text);font-weight:500;padding:9px 12px;
  background:var(--pink-pale);border-left:2px solid rgba(232,25,110,.3);
  transition:background var(--t1) var(--ease),border-color var(--t1) var(--ease)
}
.about-features li:hover{background:var(--pink-soft);border-left-color:var(--pink)}
.about-features li::before{
  content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;
  color:var(--pink);font-size:.54rem;flex-shrink:0
}

/* ─── WHY CARDS ──────────────────────────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px}
.why-card{
  background:var(--surface);padding:40px 32px;position:relative;overflow:hidden;
  border:1px solid rgba(232,25,110,.1);
  transition:box-shadow var(--t2) var(--ease),border-color var(--t2) var(--ease),background var(--t1) var(--ease)
}
.why-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--pink),var(--pink-light));
  transform:scaleX(0);transform-origin:left;transition:transform var(--t2) var(--ease)
}
.why-card:hover{background:var(--pink-pale);box-shadow:0 10px 36px rgba(232,25,110,.13);border-color:rgba(232,25,110,.25)}
.why-card:hover::before{transform:scaleX(1)}
.why-icon{
  font-size:1.5rem;margin-bottom:20px;display:block;color:var(--pink);
  transition:opacity var(--t2) var(--ease)
}
.why-card:hover .why-icon{opacity:.85}
.why-card h3{
  font-family:var(--font-section);font-weight:400;
  font-size:1.3rem;margin-bottom:10px;color:var(--text);letter-spacing:.06em
}
.why-card p{font-size:.86rem;color:var(--text-dim);line-height:1.75;font-weight:300}

/* ─── GALLERY ────────────────────────────────────────────────────────── */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px}
.gallery-item{overflow:hidden;position:relative;aspect-ratio:1/1;cursor:pointer;display:block}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .75s var(--ease),filter var(--t2) var(--ease);
  filter:brightness(.75) saturate(.85)
}
.gallery-item:hover img{transform:scale(1.07);filter:brightness(1) saturate(1.05)}
.gallery-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.28);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity var(--t2) var(--ease)
}
.gallery-overlay i{color:#fff;font-size:1.4rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.gallery-item:hover .gallery-overlay{opacity:1}

/* ─── CONTACT ────────────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-info{display:flex;flex-direction:column;gap:10px}
.contact-item{
  display:flex;align-items:flex-start;gap:16px;padding:20px 22px;
  background:var(--black-light);border-left:2px solid rgba(232,25,110,.18);
  transition:background var(--t2) var(--ease),border-color var(--t2) var(--ease)
}
.contact-item:hover{background:#1C0A14;border-left-color:var(--pink)}
.contact-icon{
  font-size:.95rem;flex-shrink:0;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:var(--pink);background:rgba(232,25,110,.07);
  transition:background var(--t1) var(--ease)
}
.contact-item:hover .contact-icon{background:rgba(232,25,110,.22)}
.contact-item h3{
  font-family:'Unbounded',sans-serif;font-weight:700;
  font-size:.65rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--white)
}
.contact-item p{font-size:.88rem;color:var(--white-dim);font-weight:300;line-height:1.65}
.contact-item a{color:var(--pink);font-weight:600;transition:color var(--t1)}
.contact-item a:hover{color:var(--pink-light)}
.map-container{overflow:hidden;min-height:400px;position:relative}
.map-container::after{content:'';position:absolute;inset:0;border:1px solid rgba(232,25,110,.14);pointer-events:none}
.map-container iframe{
  width:100%;height:100%;min-height:400px;border:0;
  filter:grayscale(.5) brightness(.65) contrast(1.15) hue-rotate(200deg);
  transition:filter var(--t3) var(--ease)
}
.map-container:hover iframe{filter:grayscale(.25) brightness(.78) contrast(1.05) hue-rotate(200deg)}

/* ─── CTA BANNER ─────────────────────────────────────────────────────── */
.cta-banner{
  background:linear-gradient(135deg,rgba(232,25,110,.09),rgba(196,0,63,.04));
  border:1px solid rgba(232,25,110,.2);
  padding:80px 40px;text-align:center;margin:0 auto;max-width:900px;
  position:relative;overflow:hidden
}
.cta-banner::before{
  content:'';position:absolute;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,25,110,.07) 0%,transparent 70%);
  top:-220px;right:-150px;pointer-events:none;
  animation:heroFloat 11s ease-in-out infinite
}
.cta-banner h2{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:14px}
.cta-banner p{color:var(--white-dim);margin-bottom:32px;font-size:.92rem;font-weight:300}

/* ─── BREADCRUMBS ────────────────────────────────────────────────────── */
.breadcrumbs{padding:88px 0 0;font-size:.75rem}
.breadcrumbs ol{list-style:none;display:flex;gap:8px;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}
.breadcrumbs li{color:var(--gray)}
.breadcrumbs li+li::before{content:'›';margin-right:8px;color:#555}
.breadcrumbs a{color:var(--gray);transition:color var(--t1)}
.breadcrumbs a:hover{color:var(--pink)}

/* ─── SERVICE PAGE HERO ──────────────────────────────────────────────── */
.page-hero{padding:44px 0 64px;text-align:center}
.page-hero h1{
  font-size:clamp(2rem,5.5vw,3.8rem);font-weight:500;line-height:1.1;
  margin-bottom:16px
}
.page-hero p{color:var(--white-dim);max-width:650px;margin:0 auto 32px;font-size:.95rem;line-height:1.85;font-weight:300}

/* ─── SERVICE PAGE CONTENT ───────────────────────────────────────────── */
.service-content{padding:64px 0}
.service-content h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:16px;line-height:1.2}
.service-content p{color:var(--white-dim);margin-bottom:16px;font-size:.92rem;line-height:1.85;font-weight:300}
.service-content ul{list-style:none;margin:20px 0 30px}
.service-content ul li{
  display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--white);
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.04);font-weight:400;
  transition:color var(--t1) var(--ease)
}
.service-content ul li:hover{color:var(--pink-light)}
.service-content ul li::before{
  content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;
  color:var(--pink);font-size:.62rem;flex-shrink:0;margin-top:4px
}
.service-two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.service-two-col img{
  width:100%;height:400px;object-fit:cover;filter:brightness(.85);
  transition:filter var(--t3) var(--ease),transform .75s var(--ease)
}
.service-two-col img:hover{filter:brightness(.95)}

/* ─── OTHER SERVICES ─────────────────────────────────────────────────── */
.other-services{padding:80px 0}
.other-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px}
.other-service-link{
  display:block;padding:22px 16px;background:var(--black-light);
  border-bottom:2px solid transparent;text-align:center;color:var(--white-dim);
  font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;text-decoration:none;
  transition:color var(--t2) var(--ease),background var(--t2) var(--ease),border-color var(--t2) var(--ease)
}
.other-service-link:hover{border-bottom-color:var(--pink);color:var(--pink);background:#1C0A14}

/* ─── SOCIAL LINKS ───────────────────────────────────────────────────── */
.social-links{display:flex;gap:10px;margin-top:16px}
.social-links a{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;
  background:rgba(232,25,110,.06);border:1px solid rgba(232,25,110,.2);
  color:var(--pink);font-size:.9rem;text-decoration:none;
  transition:all var(--t2) var(--ease)
}
.social-links a:hover{
  background:var(--pink);color:#fff;border-color:var(--pink)
}

/* ─── FOOTER ─────────────────────────────────────────────────────────── */
footer{background:var(--black-light);border-top:1px solid rgba(232,25,110,.1);padding:64px 0 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:44px}
.footer-brand .logo{font-size:1rem;display:inline-block;margin-bottom:12px}
.footer-brand p{color:var(--gray);font-size:.82rem;max-width:300px;line-height:1.75;font-weight:300}
.footer-col h4{
  font-family:'Unbounded',sans-serif;font-weight:700;
  font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--white);margin-bottom:18px
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:11px}
.footer-col a{
  color:var(--gray);font-size:.83rem;font-weight:300;
  display:inline-block;
  transition:color var(--t1) var(--ease)
}
.footer-col a:hover{color:var(--pink)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.04);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px
}
.footer-bottom p{color:var(--gray);font-size:.75rem;font-weight:300}
.footer-legal{font-size:.7rem;color:#444}

/* QUICK SERVICES STRIP */
.quick-strip{background:var(--black-light);border-top:1px solid rgba(232,25,110,.1);border-bottom:1px solid rgba(232,25,110,.1)}
.quick-strip-inner{display:grid;grid-template-columns:repeat(7,1fr);max-width:1200px;margin:0 auto}
.quick-strip-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;color:var(--white-dim);text-decoration:none;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;font-family:'Unbounded',sans-serif;border-right:1px solid rgba(232,25,110,.07);transition:color .3s var(--ease),background .3s var(--ease)}
.quick-strip-item:last-child{border-right:none}
.quick-strip-icon{display:flex;align-items:center;justify-content:center;color:var(--pink);transition:transform .3s}
.quick-strip-icon img{width:1.4rem;height:1.4rem;display:block;object-fit:contain}
.quick-strip-item:hover{color:var(--pink);background:rgba(232,25,110,.05)}
.quick-strip-item:hover .quick-strip-icon{opacity:.8}

/* PROCESS STEPS */
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;margin-top:50px}
.process-step{background:var(--black-light);padding:36px 28px;position:relative;transition:background .3s}
.process-step:hover{background:#1C0A14}
.process-num{font-family:var(--font-display);font-style:normal;font-size:3.5rem;color:rgba(232,25,110,.15);line-height:1;margin-bottom:14px;display:block;transition:color .3s;letter-spacing:.023em}
.process-step:hover .process-num{color:rgba(232,25,110,.3)}
.process-step h3{font-family:var(--font-ui);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--white);margin-bottom:10px}
.process-step p{font-size:.85rem;color:var(--white-dim);line-height:1.7;font-weight:300}

/* FAQ ACCORDION */
.faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:2px}
.faq-item{background:var(--black-light);overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;cursor:pointer;gap:16px;list-style:none;transition:background .2s}
.faq-q:hover{background:#1C0A14}
.faq-q h3{font-weight:600;color:var(--white);line-height:1.4;margin:0}
.faq-q .faq-icon{color:var(--pink);font-size:.8rem;flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{padding:0 28px 20px;font-size:.88rem;color:var(--white-dim);line-height:1.8;font-weight:300}

/* PRICE SECTION */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;margin-top:0}
.price-card{background:var(--black-light);padding:28px 24px;border-bottom:2px solid transparent;transition:all .3s}
.price-card:hover{background:#1C0A14;border-bottom-color:var(--pink)}
.price-card h3{font-family:var(--font-ui);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--white);margin-bottom:12px}
.price-from{font-family:var(--font-display);font-style:normal;font-size:1.6rem;color:var(--pink);display:block;line-height:1;letter-spacing:.023em}
.price-label{font-size:.7rem;color:var(--gray);font-weight:400;margin-top:4px;display:block}
.price-note{font-size:.78rem;color:var(--white-dim);margin-top:10px;font-weight:300;line-height:1.6}

/* HERO IMAGE SLOT */
.hero-image-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.2s}
.hero-image-bg.loaded{opacity:.42}
.hero-image-bg::after{content:'';position:absolute;inset:0;background:rgba(14,14,14,.58)}

/* ─── MOBILE ─────────────────────────────────────────────────────────── */
@media(max-width:768px){
  .hamburger{display:flex}
  nav{
    position:fixed;top:0;right:-100%;width:280px;height:100vh;
    background:var(--black-light);flex-direction:column;
    padding:80px 28px 32px;gap:2px;z-index:999;
    border-left:1px solid rgba(232,25,110,.12);
    transition:right var(--t2) var(--ease)
  }
  nav.active{right:0;box-shadow:-24px 0 64px rgba(0,0,0,.7)}
  nav a{
    padding:14px 0;font-size:.9rem;letter-spacing:.4px;
    border-bottom:1px solid rgba(255,255,255,.04)
  }
  nav a::after{display:none}
  .nav-cta{
    text-align:center;margin-top:16px;margin-left:0!important;
    border-bottom:none!important;
    padding:12px 20px!important;font-size:.82rem!important;
    display:flex!important;justify-content:center
  }
  .hero h1{font-size:2.2rem;letter-spacing:-.3px}
  .hero-stats{flex-direction:column;gap:22px}
  .hero-stat .number{font-size:2.2rem}
  .about-grid,.service-two-col{grid-template-columns:1fr;gap:28px}
  .about-image{order:-1}
  .about-image img,.service-two-col img{height:260px}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center}
  .services-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .cta-banner{padding:44px 24px}
  section{padding:60px 0}
  .page-hero{padding:28px 0 40px}
  .service-content{padding:40px 0}
  .other-services{padding:50px 0}
  .quick-strip-inner{grid-template-columns:repeat(4,1fr);overflow-x:auto}
  .quick-strip-item{padding:16px 8px;font-size:.55rem}
}
@media(max-width:480px){
  .gallery-grid{grid-template-columns:1fr}
  .about-features{grid-template-columns:1fr}
  .other-services-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:1.9rem}
  .quick-strip-inner{grid-template-columns:repeat(4,1fr)}
  .process-steps{grid-template-columns:1fr 1fr}
}

/* ─── HOMEPAGE TEMPLATE REFRESH ─────────────────────────────────────── */
body.home-template{
  --pink:#F7B6D2;
  --pink-light:#FFD1E5;
  --pink-dark:#D94186;
  --pink-pale:#FFF3F8;
  --pink-soft:#FFE2EF;
  --black:#171515;
  --black-light:#211D20;
  --white:#FFF8F4;
  --white-dim:rgba(255,248,244,.74);
  --gray:rgba(255,248,244,.48);
  --bg:#FFF8F4;
  --section-bg:#FFF8F4;
  --surface:#FFFFFF;
  --text:#171215;
  --text-dim:#624653;
  --text-muted:#8D687A;
  --border:rgba(23,18,21,.16);
  --accent:#D94186;
  background:var(--bg);
  color:var(--text)
}

.home-template header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  transform:none;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  z-index:1000
}
.home-template header.scrolled{
  position:fixed;
  top:0;
  background:#171515;
  box-shadow:0 10px 34px rgba(0,0,0,.24)
}
.home-template .header-inner,
.home-template header.scrolled .header-inner{
  max-width:1280px;
  min-height:96px;
  padding:0 40px;
  justify-content:flex-start;
  gap:54px
}
.home-template .logo{color:#fff}
.home-template nav{
  flex:1;
  justify-content:space-between;
  gap:16px
}
.home-template nav a{color:rgba(255,248,244,.76)}
.home-template nav a:hover,
.home-template nav a.active-page{color:var(--pink)}
.home-template .hamburger span{background:#fff}
.home-template .nav-cta{
  margin-left:4px;
  min-width:auto;
  color:#171215
}
.home-template .nav-cta:hover{color:#171215}

.home-template .home-hero{
  width:100%;
  height:100vh;
  min-height:100vh;
  margin:0;
  padding-top:96px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.28) 0%,rgba(23,21,21,.72) 48%,rgba(23,21,21,.96) 100%),
    linear-gradient(0deg,rgba(23,21,21,.76),rgba(23,21,21,.12) 45%,rgba(23,21,21,.58) 100%),
    url('/images/hero-salon.webp') center/cover no-repeat,
    var(--black)
}
.home-template .home-hero::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.2),transparent 34%,rgba(0,0,0,.28)),
    radial-gradient(circle at 38% 42%,rgba(247,182,210,.08),transparent 32%)
}
.home-template .home-hero::after{
  opacity:.2
}
.home-template .hero-image-col{
  flex:0 0 50%;
  min-height:calc(100vh - 96px);
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:18px 0 0 max(24px,calc((100vw - 1280px) / 2 + 28px));
  background:transparent
}
.home-template .hero-image-col > img{
  width:min(590px,92%);
  height:min(720px,calc(100vh - 110px));
  object-fit:cover;
  object-position:center top;
  filter:brightness(.9) contrast(1.04) saturate(.94);
  box-shadow:none;
  position:relative;
  z-index:3
}
.home-template .hero-image-col::after{
  background:linear-gradient(90deg,rgba(23,21,21,0) 62%,rgba(23,21,21,.42) 100%)
}
.home-template .hero-text-col{
  padding:58px max(32px,calc((100vw - 1280px) / 2 + 32px)) 70px 24px;
  justify-content:center;
  align-items:flex-start
}
.home-template .hero-content{
  max-width:640px
}
.home-template .hero-script{
  color:#fff;
  font-size:clamp(3rem,4.6vw,4.8rem);
  text-shadow:0 2px 18px rgba(0,0,0,.38);
  position:relative;
  z-index:3
}
.home-template .hero h1{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(3.1rem,5.05vw,5.25rem);
  color:#fff;
  letter-spacing:.023em;
  line-height:1.08;
  margin-bottom:24px;
  max-width:650px;
  text-transform:uppercase;
  text-shadow:0 8px 32px rgba(0,0,0,.34)
}
.home-template .hero h1 span,
.home-template .hero h1 strong{
  color:var(--pink);
  font-style:normal
}
.home-template .hero p{
  max-width:540px;
  color:rgba(255,248,244,.72)
}
.home-template .hero .btn-primary{
  width:292px;
  justify-content:center;
  background:var(--pink);
  color:#171215;
  border:1px solid rgba(255,248,244,.74);
  padding:12px 36px;
  font-size:.78rem;
  letter-spacing:1.6px
}
.home-template .hero .btn-primary:hover{
  background:var(--pink-light);
  color:#171215
}
.home-template .hero .btn-outline{
  min-width:142px;
  justify-content:center
}
.home-template .hero-stats{border-top-color:rgba(247,182,210,.24)}
.home-template .hero-stat .number{color:var(--pink)}

.home-template .home-manifesto{
  background:
    linear-gradient(180deg,rgba(247,182,210,.16),rgba(247,182,210,.04) 180px),
    #fbf7f4;
  padding:76px 0 84px;
  position:relative
}
.home-template .home-manifesto::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 24%,rgba(247,182,210,.16),transparent 28%),
    linear-gradient(90deg,rgba(247,182,210,.06),transparent 32%,transparent 68%,rgba(247,182,210,.06)),
    linear-gradient(180deg,rgba(255,255,255,.6),transparent 36%);
  pointer-events:none
}
.manifesto-card{
  position:relative;
  z-index:1;
  max-width:none;
  margin:0;
  border:0;
  background:transparent;
  padding:0;
  overflow:visible
}
.manifesto-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,470px);
  gap:28px;
  align-items:start
}
.manifesto-copy{
  padding:16px 0 0;
  max-width:640px
}
.manifesto-script{
  display:block;
  font-family:'Pinyon Script',cursive;
  font-size:clamp(3rem,5vw,4.8rem);
  line-height:1;
  color:#231d20;
  text-shadow:none;
  margin-bottom:4px
}
.manifesto-copy .section-tag{
  color:#6d4d5d
}
.manifesto-copy h2{
  font-size:clamp(2.7rem,5vw,5rem);
  line-height:.94;
  letter-spacing:.023em;
  color:#171215;
  margin-bottom:20px;
  max-width:22ch
}
.manifesto-copy h2 span{
  color:var(--pink)
}
.manifesto-copy > p{
  max-width:520px;
  color:rgba(23,18,21,.78);
  font-size:1rem;
  line-height:1.9;
  margin-bottom:26px
}
.manifesto-note{
  max-width:500px;
  padding:18px 20px;
  border-left:2px solid rgba(247,182,210,.44);
  background:rgba(247,182,210,.12);
  margin-bottom:28px
}
.manifesto-note strong{
  display:block;
  font-family:var(--font-ui);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#171215;
  margin-bottom:8px
}
.manifesto-note p{
  color:rgba(23,18,21,.72);
  font-size:.92rem;
  line-height:1.8
}
.manifesto-team-panel{
  background:
    linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,248,244,.78)),
    rgba(255,255,255,.92);
  border:1px solid rgba(247,182,210,.3);
  padding:22px 20px 20px;
  box-shadow:0 20px 44px rgba(49,28,40,.1);
  justify-self:start;
  width:100%
}
.manifesto-panel-title{
  text-align: center;
  font-family:var(--font-section);
  font-size:clamp(1.35rem,2.1vw,1.85rem);
  line-height:1;
  letter-spacing:.06em;
  color:#171215;
  text-transform:uppercase;
  margin-bottom:18px
}
.manifesto-team{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  align-items:start;
  max-width:none;
  margin:0
}
.manifesto-member{
  display:block;
  padding:20px 0 22px;
  border-top:1px solid rgba(23,18,21,.09);
  text-align:center
}
.manifesto-member:first-child{
  padding-top:10px;
  border-top:0
}
.manifesto-member-photo{
  width:132px;
  aspect-ratio:1/1;
  margin:0 auto 10px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid rgba(247,182,210,.34);
  background:#efe7eb
}
.manifesto-member-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top
}
.manifesto-member-tag{
  display:inline-block;
  padding:5px 12px;
  margin-bottom:12px;
  background:var(--pink);
  border:0;
  color:#171215;
  font-size:.6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700
}
.manifesto-member h3{
  font-family:var(--font-section);
  font-size:1.35rem;
  font-weight:400;
  letter-spacing:.06em;
  margin-bottom:10px;
  color:#171215;
  text-align:center
}
.manifesto-member p{
  max-width:32ch;
  margin:0 auto;
  font-size:.88rem;
  line-height:1.65;
  color:rgba(23,18,21,.72);
  text-align:center
}
.manifesto-actions{
  display:flex;
  gap:12px;
  justify-content:flex-start;
  flex-wrap:wrap
}
.manifesto-actions .btn{
  min-width:190px;
  justify-content:center
}
.manifesto-actions .btn-outline{
  color:#171215;
  border-color:rgba(23,18,21,.22);
  background:rgba(255,255,255,.5)
}
.manifesto-actions .btn-outline:hover{
  color:#171215;
  background:var(--pink);
  border-color:var(--pink)
}

.home-template .home-services{
  position:relative;
  padding:92px 0 104px;
  background:#171515
}
.home-template .home-services .section-tag{
  color:var(--pink-light)
}
.home-template .home-services .section-header h2{
  color:#fff
}
.home-template .home-services .section-header p{
  color:rgba(255,248,244,.68)
}
.home-template .home-services .services-grid{
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.home-template .home-services .service-card{
  background:#211D20;
  border:1px solid rgba(247,182,210,.28);
  color:#fff
}
.home-template .home-services .service-card-body{
  background:#211D20
}
.home-template .home-services .service-card h3{
  color:#fff;
  font-size:1.15rem
}
.home-template .home-services .service-card p{
  color:rgba(255,248,244,.67)
}
.home-template .home-services .service-tag{
  background:var(--pink);
  color:#171215
}
.home-template .home-services .service-card img{
  height:245px;
  filter:brightness(.78) saturate(.82)
}
.home-template .home-vision{
  background:#171515;
  padding:84px 0
}
.home-template .home-vision .section-tag{
  color:var(--pink-light)
}
.home-template .home-vision .section-header h2{
  color:#fff
}
.home-template .home-vision .section-header p{
  color:rgba(255,248,244,.68)
}
.home-template .home-vision .process-step{
  background:#FFF8F4;
  border:1px solid rgba(23,18,21,.18)
}
.home-template .home-vision .process-step:hover{
  background:var(--pink-pale)
}
.home-template .home-vision .process-step h3{color:#171215}
.home-template .home-vision .process-step p{color:#553A46}
.home-template .home-vision .process-num{color:rgba(23,18,21,.18)}

.home-template .home-extra-services{
  background:#171515
}
.home-template .home-extra-services .section-tag{
  color:var(--pink-light)
}
.home-template .home-extra-services .section-header h2,
.home-template .home-extra-services .section-header p{
  color:#fff
}
.home-template .alt-bg{
  background:var(--section-bg)
}
.home-template #за-нас{
  background:#171515;
  color:#fff
}
.home-template #за-нас .section-tag{
  color:var(--pink-light)
}
.home-template #за-нас .about-content h2{
  color:#fff
}
.home-template #за-нас .about-content p{
  color:rgba(255,248,244,.74)
}
.home-template #за-нас .about-features li{
  background:rgba(255,248,244,.06);
  border-left-color:var(--pink);
  color:#fff
}
.home-template #за-нас .about-image-badge{
  background:rgba(23,21,21,.78);
  border-color:rgba(247,182,210,.34);
  color:rgba(255,248,244,.78)
}
.home-template .home-gallery{
  background:#FFF8F4;
  color:#171215
}
.home-template .home-gallery .section-tag{
  color:var(--pink-dark)
}
.home-template .home-gallery .section-header h2{
  color:#171215
}
.home-template .home-gallery .section-header p{
  color:#624653
}
.home-template .home-testimonials{
  background:var(--pink);
  color:#171215
}
.home-template .home-testimonials .section-tag{
  color:#4B303B
}
.home-template .home-testimonials .section-header h2,
.home-template .home-testimonials .section-header p{
  color:#171215
}
.home-template .home-testimonials .why-card{
  background:#171515;
  border-color:rgba(255,248,244,.22);
  color:#fff
}
.home-template .home-testimonials .why-card p{
  color:rgba(255,248,244,.78)!important
}
.home-template .home-testimonials .why-card:hover{
  background:#211D20
}
.home-template .home-contact-band{
  background:#171515;
  color:#fff
}
.home-template .home-contact-band .section-tag{
  color:var(--pink-light)
}
.home-template .home-contact-band .section-header h2{
  color:#fff
}
.home-template .home-contact-band .section-header p{
  color:rgba(255,248,244,.68)
}
.home-template .cta-banner{
  background:#171515;
  border-color:rgba(247,182,210,.34)
}
.home-template .home-cta-band{
  background:var(--pink)
}
.home-template .cta-banner h2{color:#fff}
.home-template .cta-banner p{color:rgba(255,248,244,.68)}

@media(max-width:980px){
  .home-template header{
    top:0;
    width:100%;
    transform:none
  }
  .home-template .header-inner,
  .home-template header.scrolled .header-inner{
    min-height:72px;
    padding:0 20px;
    justify-content:space-between;
    gap:18px
  }
  .home-template nav{
    justify-content:flex-start
  }
  .home-template .home-hero{
    flex-direction:column;
    height:100vh;
    min-height:100vh;
    width:100%;
    margin:0;
    padding-top:72px;
    overflow:hidden
  }
  .home-template .hero-image-col{
    flex:0 0 52%;
    min-height:0;
    padding-top:28px
  }
  .home-template .hero-image-col::after{
    background:linear-gradient(180deg,rgba(23,21,21,0) 52%,rgba(23,21,21,.96) 100%)
  }
  .home-template .hero-image-col > img{
    height:min(540px,calc(52vh - 24px));
    width:min(420px,88%)
  }
  .home-template .hero-text-col{
    flex:1;
    padding:20px 22px 28px;
    text-align:center;
    align-items:center
  }
  .home-template .hero p,
  .home-template .hero-content{
    margin-left:auto;
    margin-right:auto
  }
  .home-template .hero-buttons,
  .home-template .hero-stats{
    justify-content:center
  }
  .home-template .hero-stat{text-align:center}
  .manifesto-layout{
    grid-template-columns:1fr;
    gap:26px
  }
  .manifesto-copy h2{
    max-width:11ch
  }
  .manifesto-team-panel{
    max-width:560px
  }
  .home-template .home-services .services-grid{
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:640px){
  .home-template .header-inner,
  .home-template header.scrolled .header-inner{
    min-height:66px;
    padding:0 16px
  }
  .home-template .hero h1{
    font-size:clamp(2.85rem,13.5vw,4.25rem)
  }
  .home-template .hero-script{
    font-size:2.55rem;
    margin-left:0
  }
  .home-template .hero-buttons .btn{
    width:100%
  }
  .home-template .hero-stats{
    flex-direction:row;
    gap:14px
  }
  .home-template .hero-stat .label{
    font-size:.52rem;
    letter-spacing:1px
  }
  .home-template .home-manifesto{
    padding:44px 0 48px
  }
  .manifesto-copy{
    max-width:none
  }
  .manifesto-script{
    font-size:2.7rem
  }
  .manifesto-copy h2{
    font-size:clamp(2.45rem,13vw,4.1rem);
    max-width:none
  }
  .manifesto-copy > p,
  .manifesto-note p,
  .manifesto-member p{
    font-size:.9rem
  }
  .manifesto-note{
    padding:16px 16px 16px 18px
  }
  .manifesto-team-panel{
    padding:22px 18px
  }
  .manifesto-team{
    gap:18px
  }
  .manifesto-member-photo{
    width:108px
  }
  .manifesto-member-tag{
    padding:4px 8px;
    font-size:.6rem
  }
  .manifesto-actions .btn{
    width:100%
  }
  .home-template .home-services .services-grid{
    grid-template-columns:1fr
  }
  .home-template .process-steps{
    grid-template-columns:1fr
  }
}

/* ─── SITE-WIDE BEAUTY SYSTEM ───────────────────────────────────────── */
body:not(.home-template){
  background:var(--black);
  color:var(--white)
}
body:not(.home-template) header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none
}
body:not(.home-template) header.scrolled{
  position:fixed;
  background:#171515;
  border-bottom:1px solid rgba(247,182,210,.16);
  box-shadow:0 10px 34px rgba(0,0,0,.24)
}
body:not(.home-template) .header-inner,
body:not(.home-template) header.scrolled .header-inner{
  max-width:1280px;
  min-height:96px;
  padding:0 40px;
  justify-content:flex-start;
  gap:54px
}
body:not(.home-template) .logo,
body:not(.home-template) .logo:hover{
  color:#fff
}
body:not(.home-template) header nav{
  flex:1;
  justify-content:space-between;
  gap:16px
}
body:not(.home-template) header nav a{
  color:rgba(255,248,244,.78)
}
body:not(.home-template) header nav a:hover,
body:not(.home-template) header nav a.active-page{
  color:var(--pink);
  background:transparent
}

body:not(.home-template) .breadcrumbs{
  position:absolute;
  top:136px;
  left:0;
  right:0;
  z-index:3;
  padding:0;
  background:transparent;
  display:block
}
body:not(.home-template) .breadcrumbs ol{
  max-width:none;
  padding-left:max(24px,calc((100vw - 1280px) / 2 + 40px));
  padding-right:max(24px,calc((100vw - 1280px) / 2 + 40px));
  margin:0;
  display:flex;
  justify-content:flex-start;
  gap:10px
}
body:not(.home-template) .breadcrumbs li,
body:not(.home-template) .breadcrumbs a{
  color:rgba(255,248,244,.56)
}
body:not(.home-template) .breadcrumbs a:hover{
  color:var(--pink)
}

body:not(.home-template) .page-hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  text-align:left;
  padding:172px 0 86px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.2) 0%,rgba(23,21,21,.76) 48%,rgba(23,21,21,.98) 100%),
    linear-gradient(0deg,rgba(23,21,21,.82),rgba(23,21,21,.16) 44%,rgba(23,21,21,.58) 100%),
    url('/images/hero-salon.webp') center/cover no-repeat,
    var(--black)
}
body:not(.home-template) .page-hero .container{
  position:relative;
  z-index:2;
  max-width:none;
  margin:0;
  padding-left:max(24px,calc((100vw - 1280px) / 2 + 40px));
  padding-right:max(24px,calc((100vw - 1280px) / 2 + 40px))
}
body:not(.home-template) .page-hero h1{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:clamp(2.9rem,5.9vw,5.8rem);
  line-height:1.08;
  letter-spacing:.023em;
  color:#fff;
  max-width:1080px;
  margin:0 0 22px;
  text-shadow:0 8px 32px rgba(0,0,0,.34)
}
body:not(.home-template) .page-hero h1::before{
  content:'Bijue Beauty';
  display:block;
  font-family:'Pinyon Script',cursive;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  font-size:clamp(2.55rem,4.2vw,4.25rem);
  line-height:1;
  color:#fff;
  margin:0 0 5px;
  text-shadow:0 2px 18px rgba(0,0,0,.38)
}
body:not(.home-template) .page-hero h1 strong{
  color:var(--pink);
  font-style:normal
}
body:not(.home-template) .page-hero p{
  max-width:720px;
  color:rgba(255,248,244,.78);
  margin:0;
  font-size:1rem;
  line-height:1.85
}

body:not(.home-template) section{
  background:var(--black)
}
body:not(.home-template) .alt-bg{
  background:#FFF8F4;
  color:var(--text)
}
body:not(.home-template) .section-header h2,
body:not(.home-template) .about-content h2,
body:not(.home-template) .service-content h2{
  color:inherit
}
body:not(.home-template) .service-content{
  color:var(--white)
}
body:not(.home-template) .service-content.alt-bg{
  color:var(--text)
}
body:not(.home-template) .service-content h2{
  font-size:clamp(2.1rem,4vw,3.6rem);
  line-height:1.05
}
body:not(.home-template) .service-content p{
  color:rgba(255,248,244,.72)
}
body:not(.home-template) .service-content.alt-bg p{
  color:var(--text-dim)
}
body:not(.home-template) .service-content ul li{
  color:rgba(255,248,244,.88);
  border-bottom-color:rgba(255,248,244,.08)
}
body:not(.home-template) .service-content.alt-bg ul li{
  color:var(--text);
  border-bottom-color:rgba(23,18,21,.08)
}
body:not(.home-template) .service-two-col{
  gap:64px
}
body:not(.home-template) .service-two-col img{
  border:1px solid rgba(247,182,210,.28);
  box-shadow:0 28px 64px rgba(0,0,0,.22);
  filter:brightness(.86) saturate(.9)
}
body:not(.home-template) .alt-bg .service-two-col img{
  box-shadow:0 28px 64px rgba(23,18,21,.14)
}

body:not(.home-template) .price-card,
body:not(.home-template) .faq-item,
body:not(.home-template) .other-service-link,
body:not(.home-template) .contact-item{
  background:#211D20;
  border:1px solid rgba(247,182,210,.16)
}
body:not(.home-template) .price-card:hover,
body:not(.home-template) .faq-q:hover,
body:not(.home-template) .other-service-link:hover,
body:not(.home-template) .contact-item:hover{
  background:#2A2328
}
body:not(.home-template) .price-from{
  font-family:var(--font-display);
  font-style:normal;
  font-size:2.2rem;
  letter-spacing:.023em
}
body:not(.home-template) .cta-banner{
  background:
    linear-gradient(135deg,rgba(247,182,210,.13),rgba(217,65,134,.06)),
    #171515;
  border-color:rgba(247,182,210,.3);
  color:#fff
}
body:not(.home-template) .cta-banner h2{
  color:#fff
}
body:not(.home-template) .cta-banner p{
  color:rgba(255,248,244,.74)
}
body:not(.home-template) footer{
  background:#171515
}

@media(max-width:980px){
  body:not(.home-template) .header-inner,
  body:not(.home-template) header.scrolled .header-inner{
    min-height:72px;
    padding:0 20px;
    justify-content:space-between;
    gap:18px
  }
  body:not(.home-template) header nav{
    justify-content:flex-start
  }
  body:not(.home-template) .breadcrumbs{
    top:96px
  }
  body:not(.home-template) .breadcrumbs ol{
    padding:0 20px
  }
  body:not(.home-template) .page-hero{
    min-height:440px;
    padding:142px 0 58px
  }
  body:not(.home-template) .page-hero .container{
    padding:0 20px
  }
  body:not(.home-template) .page-hero h1{
    font-size:clamp(2.45rem,9vw,4rem)
  }
  body:not(.home-template) .service-two-col{
    gap:32px
  }
}

@media(max-width:640px){
  body:not(.home-template) .header-inner,
  body:not(.home-template) header.scrolled .header-inner{
    min-height:66px;
    padding:0 16px
  }
  body:not(.home-template) .breadcrumbs{
    top:88px
  }
  body:not(.home-template) .breadcrumbs ol{
    padding:0 16px
  }
  body:not(.home-template) .page-hero{
    min-height:420px;
    padding:132px 0 48px
  }
  body:not(.home-template) .page-hero .container{
    padding:0 16px
  }
  body:not(.home-template) .page-hero h1{
    font-size:clamp(2.05rem,11vw,3.15rem);
  }
  body:not(.home-template) .page-hero h1::before{
    font-size:2.45rem;
    margin-bottom:5px;
  }
}

/* ─── EDITORIAL SECTION TYPOGRAPHY ──────────────────────────────────── */
.section-tag,
.other-service-link{
  font-family:var(--font-ui);
  letter-spacing:0;
}

.section-header{
  margin-left:auto;
  margin-right:auto;
}
.section-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.72rem;
  font-weight:700;
  color:var(--pink-dark);
  margin-bottom:14px;
}
.dark-section .section-tag,
body:not(.home-template) section:not(.alt-bg) .section-tag{
  color:var(--pink);
}
.section-header h2,
.about-content h2,
.service-content h2,
.cta-banner h2{
  text-transform:uppercase;
  line-height:1.08;
}
.section-header h2{
  font-size:clamp(2.35rem,4.8vw,4.4rem);
}
.section-header p{
  font-size:1rem;
  line-height:1.8;
}
.section-header::after{
  content:'';
  display:block;
  width:150px;
  height:2px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,var(--pink),transparent);
}

.about-grid{
  position:relative;
  border:2px solid rgba(247,182,210,.5);
  border-radius:8px;
  padding:34px;
  background:
    linear-gradient(180deg,rgba(247,182,210,.08),rgba(255,248,244,.02)),
    rgba(255,248,244,.03);
}
.alt-bg .about-grid,
.home-template #за-нас .about-grid{
  border-color:rgba(23,18,21,.78);
  background:
    linear-gradient(180deg,rgba(247,182,210,.22),rgba(255,248,244,.5)),
    #FFF8F4;
}
.about-content h2{
  font-size:clamp(2rem,4vw,3.45rem);
}
.about-content p,
.service-content p,
.why-card p,
.service-card p,
.faq-a p,
.cta-banner p{
  font-size:.98rem;
  line-height:1.82;
}
.about-features li,
.service-tag,
.price-label{
  font-family:var(--font-ui);
  letter-spacing:0;
}

.why-card,
.service-card,
.price-card,
.faq-item,
.contact-item{
  border-radius:0;
}
.why-card h3,
.service-card h3{
  font-weight:400;
  text-transform:uppercase;
  font-size:clamp(1.7rem,2.4vw,2.2rem);
  line-height:1.1;
}
.price-card h3,
.faq-q h3{
  font-weight:400;
  text-transform:uppercase;
}
.price-from{
  font-family:var(--font-display);
  font-style:normal;
  font-weight:400;
}
.other-service-link{
  font-weight:700;
}

body:not(.home-template) .section-header h2,
body:not(.home-template) .service-content h2,
body:not(.home-template) .cta-banner h2{
  font-size:clamp(2.2rem,4.2vw,4rem);
}
body:not(.home-template) .service-content h2 strong,
body:not(.home-template) .section-header h2 strong,
.section-header h2 strong,
.about-content h2 strong,
.service-content h2 strong,
.cta-banner h2 strong{
  color:var(--pink);
  font-style:normal;
}

@media(max-width:768px){
  .about-grid{
    padding:22px;
  }
  .section-header h2,
  body:not(.home-template) .section-header h2,
  body:not(.home-template) .service-content h2,
  body:not(.home-template) .cta-banner h2{
    font-size:clamp(1.9rem,9vw,3rem);
  }
}

/* ─── HERO-LED DESIGN SYSTEM OVERRIDES ──────────────────────────────── */
:root{
  --font-brand:'Unbounded',sans-serif;
  --font-display:'Extenda 30 Deca',sans-serif;
  --font-section:'Extenda 50 Mega',sans-serif;
  --font-ui:'DM Sans',sans-serif;
  --font-script:'Pinyon Script',cursive;
  --font-body:'DM Sans',sans-serif;
  --font-h1:var(--font-display);
  --font-h2:var(--font-display);
  --font-h3:var(--font-ui);
  --font-h4:var(--font-ui);
  --font-h5:var(--font-ui);
  --font-h6:var(--font-ui);
}

body{
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:0;
}

.logo{
  font-family:var(--font-brand);
}

.hero-script,
body:not(.home-template) .page-hero h1::before,
.script-accent{
  font-family:var(--font-script);
}

h1{
  font-family:var(--font-h1);
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.023em;
}
h2{
  font-family:var(--font-h2);
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.023em;
  font-weight: 500;
}
h3{
  font-family:var(--font-h3);
  font-style:normal;
  font-weight:700;
  text-transform:uppercase;
}
h4{
  font-family:var(--font-h4);
  font-style:normal;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
h5{
  font-family:var(--font-h5);
  font-style:normal;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
h6{
  font-family:var(--font-h6);
  font-style:normal;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.section-header h2,
.about-content h2,
.service-content h2,
.cta-banner h2{
  font-family:var(--font-h2);
}

.hero h1,
.page-hero h1,
.price-from,
.process-num,
.hero-stat .number,
.about-image-badge .number{
  font-family:var(--font-display);
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.023em;
}
.service-card h3,
.why-card h3,
.process-step h3,
.price-card h3,
.faq-q h3,
.manifesto-member h3,
.manifesto-panel-title{
  font-family:var(--font-h3);
  font-style:normal;
  font-weight:700;
  text-transform:uppercase;
}

/* UI елементи — DM Sans: бутони, nav, labels */
.section-tag,
nav a,
.btn,
.quick-strip-item,
.other-service-link,
.about-features li,
.service-tag,
.price-label,
.contact-item h3,
.footer-col h4{
  font-family:var(--font-ui);
}

.hero h1,
.page-hero h1{
  line-height:1.08;
}

.section-header h2,
.about-content h2,
.service-content h2,
.cta-banner h2{
  line-height:1.04;
  color:inherit;
}

.section-header h2 strong,
.about-content h2 strong,
.service-content h2 strong,
.cta-banner h2 strong,
.page-hero h1 strong,
.hero h1 span,
.hero h1 strong{
  color:var(--pink);
  font-style:normal;
}

.section-tag{
  position:relative;
  padding-left:42px;
  color:var(--pink);
  font-size:.78rem;
  font-weight:700;
  text-align:left;
}

.section-tag::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  width:30px;
  height:2px;
  background:var(--pink);
  transform:translateY(-50%);
}

.section-header{
  text-align:left;
  margin:0 0 52px;
}

.section-header p{
  margin:18px 0 0;
}

.section-header::after{
  margin:22px 0 0;
  width:190px;
  background:linear-gradient(90deg,var(--pink),transparent);
}

.dark-section .section-header,
body:not(.home-template) section:not(.alt-bg) .section-header{
  color:#fff;
}

.dark-section .section-header p,
body:not(.home-template) section:not(.alt-bg) .section-header p{
  color:rgba(255,248,244,.68);
}

.service-card,
.why-card,
.process-step,
.price-card,
.faq-item,
.contact-item,
.other-service-link{
  box-shadow:none;
}

.service-card,
.why-card{
  background:#211D20;
  border:1px solid rgba(247,182,210,.2);
  color:#fff;
}

.service-card-body{
  background:#211D20;
}

.service-card h3,
.why-card h3{
  color:#fff;
  letter-spacing:.06em;
}
.price-card h3,
.process-step h3{
  color:#fff;
}

.service-card p,
.why-card p,
.process-step p,
.price-note,
.faq-a p{
  color:rgba(255,248,244,.7);
}

.service-card:hover,
.why-card:hover,
.price-card:hover,
.faq-q:hover,
.contact-item:hover,
.other-service-link:hover{
  background:#2A2328;
}

.home-template .alt-bg .why-card,
.home-template #за-нас .about-grid,
.home-template .home-vision .process-step,
body:not(.home-template) .alt-bg .price-card{
  background:#FFF8F4;
  color:var(--text);
  border-color:rgba(23,18,21,.22);
}

.home-template .alt-bg .why-card h3,
.home-template .home-vision .process-step h3,
body:not(.home-template) .alt-bg .price-card h3{
  color:var(--text);
}

.home-template .alt-bg .why-card p,
.home-template .home-vision .process-step p,
body:not(.home-template) .alt-bg .price-note{
  color:var(--text-dim);
}

.home-template .alt-bg .why-card:hover,
.home-template .home-vision .process-step:hover,
body:not(.home-template) .alt-bg .price-card:hover{
  background:var(--pink-pale);
}

.about-grid{
  border-radius:0;
  gap:48px;
}

.about-image::after,
.map-container::after{
  border-color:rgba(247,182,210,.38);
}

.about-content h2{
  margin-bottom:24px;
}

.about-features li{
  background:rgba(247,182,210,.14);
  border-left-color:var(--pink);
  color:inherit;
}

.home-template #за-нас{
  background:#171515;
}

.home-template #галерия{
  background:#FFF8F4;
  color:#171215;
}

.home-template #галерия .section-header p{
  color:#624653;
}

.gallery-grid,
.services-grid,
.why-grid,
.process-steps,
.price-grid,
.other-services-grid{
  gap:12px;
}

.gallery-item{
  border:1px solid rgba(247,182,210,.18);
}

.cta-banner{
  max-width:none;
  border-radius:0;
  text-align:left;
  padding:72px max(28px,6vw);
}

.cta-banner h2{
  max-width:760px;
}

.cta-banner p{
  max-width:600px;
}

.contact-item,
.faq-item,
.price-card,
.other-service-link{
  border-color:rgba(247,182,210,.18);
}

.quick-strip-item{
  letter-spacing:.04em;
}

@media(max-width:980px){
  .section-header{
    margin-bottom:40px;
  }
  .home-template .home-services .services-grid{
    gap:12px;
  }
}

@media(max-width:640px){
  .section-header{
    text-align:left;
  }
  .section-tag{
    padding-left:34px;
  }
  .section-tag::before{
    width:24px;
  }
  .cta-banner{
    padding:44px 24px;
  }
}

.home-template .hero h1,
body:not(.home-template) .page-hero h1,
body:not(.home-template) .price-from{
  font-family:var(--font-display);
}

.home-template .hero h1,
body:not(.home-template) .page-hero h1{
  text-transform:none;
  letter-spacing:.023em;
  line-height:.98;
}

.home-template .hero h1{
  font-size:clamp(4.2rem,6vw,7.2rem);
  max-width:1080px;
  letter-spacing:.023em;
}

.home-template .hero-image-col{
  flex-basis:48%;
}

.home-template .hero-text-col{
  padding-left:0;
  padding-right:max(24px,calc((100vw - 1280px) / 2 + 18px));
}

.home-template .hero-content{
  max-width:1040px;
}

body:not(.home-template) .page-hero h1{
  font-size:clamp(3.1rem,6.4vw,6.35rem);
  max-width:1120px;
}

/* Extenda няма bold variant — забраняваме faux-bold навсякъде в headings */
h1 strong, h1 b, h1 span,
h2 strong, h2 b,
h3 strong, h3 b{
  font-weight:400;
  font-style:normal;
}
