/* ═══════════════════════════════════════════════════════
   NAILS BY AUXILIA — Global Stylesheet
   Converted from React/CSS Modules to plain CSS
   ═══════════════════════════════════════════════════════ */

/* ─── Google Fonts ──────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap');

/* ─── Design Tokens ─────────────────────────────────────── */
:root {
  --color-black:        #000000;
  --color-dark:         #0c0204;
  --color-dark-2:       #130408;
  --color-dark-3:       #1c060c;
  --color-dark-4:       #260810;
  --color-red:          #38040e;
  --color-red-deep:     #220208;
  --color-red-muted:    #2e0309;
  --color-red-light:    #5c0a17;
  --color-red-glow:     rgba(196,96,122,0.12);
  --color-white:        #f8f4f4;
  --color-white-pure:   #ffffff;
  --color-text:         #e8dede;
  --color-text-muted:   #9a8585;
  --color-text-faint:   #5a4545;
  --color-border:       rgba(255,255,255,0.07);
  --color-border-warm:  rgba(196,96,122,0.25);
  --color-accent:       #c4607a;
  --color-accent-dim:   #8a3a4a;
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Jost', system-ui, sans-serif;
  --space-xs:   0.5rem;
  --space-sm:   1rem;
  --space-md:   1.5rem;
  --space-lg:   2.5rem;
  --space-xl:   4rem;
  --space-2xl:  6rem;
  --space-3xl:  9rem;
  --transition-fast:    150ms ease;
  --transition-base:    300ms ease;
  --transition-slow:    500ms ease;
  --transition-luxury:  600ms cubic-bezier(0.25,0.46,0.45,0.94);
  --shadow-sm:  0 2px 8px rgba(0,0,0,0.5);
  --shadow-md:  0 8px 24px rgba(0,0,0,0.6);
  --shadow-lg:  0 20px 60px rgba(0,0,0,0.7);
  --shadow-red: 0 8px 32px rgba(196,96,122,0.25);
  --radius-sm:  0px;
  --radius-md:  0px;
  --radius-lg:  0px;
  --max-width:  1200px;
  --nav-height: 80px;
}

/* ─── Reset ─────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; overflow-x:hidden; }
body {
  font-family:var(--font-body); font-weight:300; font-size:1rem;
  line-height:1.7; color:var(--color-text); background-color:var(--color-dark);
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6 { font-family:var(--font-heading); font-weight:400; line-height:1.15; color:var(--color-white); letter-spacing:0.01em; }
p { line-height:1.75; color:var(--color-text); }
a { color:inherit; text-decoration:none; transition:color var(--transition-base); }
img { max-width:100%; height:auto; display:block; object-fit:cover; }
ul,ol { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:var(--font-body); }
input,textarea,select { font-family:var(--font-body); }

/* ─── Utilities ─────────────────────────────────────────── */
.container { width:100%; max-width:var(--max-width); margin:0 auto; padding:0 var(--space-lg); }
.section { padding:var(--space-3xl) 0; }
.section--sm { padding:var(--space-2xl) 0; }
.section-label {
  display:inline-block; font-family:var(--font-body); font-size:0.7rem;
  font-weight:500; letter-spacing:0.25em; text-transform:uppercase;
  color:var(--color-accent); margin-bottom:var(--space-sm);
}
.section-heading { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:300; color:var(--color-white); margin-bottom:var(--space-md); line-height:1.1; }
.section-heading em { font-style:italic; color:var(--color-accent); }
.section-subheading { font-size:1rem; font-weight:300; color:var(--color-text-muted); max-width:520px; line-height:1.8; }
.divider { width:48px; height:1px; background:var(--color-accent); margin:var(--space-md) 0; }
.divider--center { margin:var(--space-md) auto; }
.section-header-wrap { margin-bottom:var(--space-2xl); text-align:center; }

/* ─── Buttons ───────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.85rem 2.2rem; font-family:var(--font-body); font-size:0.75rem;
  font-weight:500; letter-spacing:0.18em; text-transform:uppercase;
  border-radius:var(--radius-sm); transition:all var(--transition-luxury);
  position:relative; overflow:hidden;
}
.btn--primary { background:var(--color-red); color:var(--color-white-pure); border:1px solid var(--color-red); }
.btn--primary:hover { background:var(--color-red-light); border-color:var(--color-red-light); transform:translateY(-1px); box-shadow:var(--shadow-red); }
.btn--secondary { background:transparent; color:var(--color-white); border:1px solid var(--color-border); }
.btn--secondary:hover { border-color:var(--color-accent); color:var(--color-accent); transform:translateY(-1px); }

/* ─── Animations ────────────────────────────────────────── */
@keyframes fadeInUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes slowZoom { from{transform:scale(1.08)} to{transform:scale(1.03)} }
@keyframes footerFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes pulse { 0%,100%{opacity:0.3;transform:scaleY(0.8)} 50%{opacity:1;transform:scaleY(1)} }

.animate-fade-in-up { animation:fadeInUp 0.7s var(--transition-luxury) both; }
.animate-fade-in    { animation:fadeIn 0.6s ease both; }
.stagger-1{animation-delay:0.1s} .stagger-2{animation-delay:0.2s}
.stagger-3{animation-delay:0.3s} .stagger-4{animation-delay:0.4s}
.stagger-5{animation-delay:0.5s} .stagger-6{animation-delay:0.6s}

/* InView animation — applied by JS */
.in-view-target { opacity:0; transform:translateY(24px); transition:opacity 0.7s var(--transition-luxury), transform 0.7s var(--transition-luxury); }
.in-view-target.is-visible { opacity:1; transform:translateY(0); }
.in-view-target .stagger-1,.in-view-target.stagger-1 { transition-delay:0.1s }
.in-view-target .stagger-2,.in-view-target.stagger-2 { transition-delay:0.2s }
.in-view-target .stagger-3,.in-view-target.stagger-3 { transition-delay:0.3s }
.in-view-target .stagger-4,.in-view-target.stagger-4 { transition-delay:0.4s }
.in-view-target .stagger-5,.in-view-target.stagger-5 { transition-delay:0.5s }
.in-view-target .stagger-6,.in-view-target.stagger-6 { transition-delay:0.6s }

/* Scrollbar */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--color-dark); }
::-webkit-scrollbar-thumb { background:var(--color-dark-4); border-radius:0; }
::-webkit-scrollbar-thumb:hover { background:var(--color-red); }
::selection { background:var(--color-red); color:var(--color-white-pure); }

/* ═══════════════════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════════════════ */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--nav-height); background:transparent;
  border-bottom:1px solid transparent;
  transition:background 400ms ease, border-color 400ms ease, backdrop-filter 400ms ease;
}
.navbar.scrolled {
  background:rgba(12,2,4,0.97); backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px); border-bottom-color:rgba(255,255,255,0.08);
}
.navbar__inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.navbar__left { display:flex; align-items:center; gap:0.75rem; flex-shrink:0; }
.navbar__logo { display:flex; flex-direction:column; line-height:1; text-decoration:none; gap:2px; }
.navbar__logo-text { font-family:var(--font-heading); font-size:1.3rem; font-weight:400; color:var(--color-white); letter-spacing:0.03em; transition:color 300ms ease; white-space:nowrap; }
.navbar__logo-sub  { font-family:var(--font-body); font-size:0.52rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--color-accent); }
.navbar__logo:hover .navbar__logo-text { color:var(--color-accent); }

/* Hamburger */
.navbar__hamburger { display:none; align-items:center; justify-content:center; width:32px; height:32px; background:none; border:none; cursor:pointer; color:var(--color-white); flex-shrink:0; padding:0; }
.ham-bar { transform-origin:center; }
.ham-bar-1 { transition:transform 300ms cubic-bezier(0.5,0.85,0.25,1.1); transform:translateY(-7px); }
.ham-bar-2 { transition:transform 300ms cubic-bezier(0.5,0.85,0.25,1.8); }
.ham-bar-3 { transition:transform 300ms cubic-bezier(0.5,0.85,0.25,1.1); transform:translateY(7px); }
.navbar__hamburger.open .ham-bar-1 { transform:translateY(0) rotate(315deg); }
.navbar__hamburger.open .ham-bar-2 { transform:rotate(45deg); }
.navbar__hamburger.open .ham-bar-3 { transform:translateY(0) rotate(135deg); }

/* Desktop Nav */
.navbar__desktop-nav { flex:1; display:flex; justify-content:center; }
.navbar__nav-list { display:flex; align-items:center; gap:0; }
.navbar__nav-item { position:relative; }
.navbar__nav-link {
  display:inline-flex; align-items:center; gap:4px; height:36px; padding:0 0.85rem;
  font-family:var(--font-body); font-size:0.72rem; font-weight:500; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--color-text-muted); text-decoration:none;
  transition:color 200ms ease, background 200ms ease; white-space:nowrap; border-radius:0;
}
.navbar__nav-link:hover { color:var(--color-white); background:rgba(255,255,255,0.05); }
.navbar__nav-link--active { color:var(--color-white); }
.navbar__chevron { transition:transform 250ms ease; flex-shrink:0; opacity:0.5; }
.navbar__chevron.open { transform:rotate(180deg); opacity:1; }

/* Dropdown */
.navbar__dropdown {
  position:absolute; top:calc(100% + 8px); left:50%;
  transform:translateX(-50%); width:300px;
  background:rgba(12,2,4,0.98); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.08); padding:4px;
  opacity:0; pointer-events:none;
  box-shadow:0 16px 48px rgba(0,0,0,0.7); z-index:200;
}
.navbar__dropdown.open { opacity:1; pointer-events:all; }
.navbar__dropdown-list { display:flex; flex-direction:column; gap:1px; }
.navbar__dropdown-item { display:flex; flex-direction:column; gap:3px; padding:10px 14px; text-decoration:none; transition:background 150ms ease; }
.navbar__dropdown-item:hover { background:rgba(196,96,122,0.1); }
.navbar__dropdown-item--active { background:rgba(196,96,122,0.08); }
.navbar__dropdown-label { font-family:var(--font-body); font-size:0.82rem; font-weight:500; color:var(--color-white); letter-spacing:0.03em; line-height:1; }
.navbar__dropdown-desc { font-family:var(--font-body); font-size:0.72rem; font-weight:300; color:var(--color-text-muted); line-height:1.4; }

/* Products dropdown */
.navbar__dropdown--products { width:320px; }
.navbar__products-header { display:flex; align-items:center; justify-content:space-between; padding:8px 14px 6px; }
.navbar__products-title { font-family:var(--font-body); font-size:0.62rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-text-faint); }
.navbar__products-view-all { font-family:var(--font-body); font-size:0.7rem; font-weight:400; color:var(--color-accent); text-decoration:none; transition:opacity 150ms ease; }
.navbar__products-view-all:hover { opacity:0.75; }
.navbar__dropdown-separator { height:1px; background:rgba(255,255,255,0.07); margin:0 8px 4px; }
.navbar__product-item { display:flex; align-items:center; gap:12px; padding:8px 14px; text-decoration:none; transition:background 150ms ease; }
.navbar__product-item:hover { background:rgba(196,96,122,0.1); }
.navbar__product-thumb { width:44px; height:44px; overflow:hidden; flex-shrink:0; background:var(--color-dark-3); }
.navbar__product-thumb-img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94); }
.navbar__product-item:hover .navbar__product-thumb-img { transform:scale(1.08); }
.navbar__product-info { display:flex; flex-direction:column; gap:3px; min-width:0; }
.navbar__product-name { font-family:var(--font-body); font-size:0.82rem; font-weight:500; color:var(--color-white); letter-spacing:0.02em; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.navbar__product-tag { font-family:var(--font-body); font-size:0.58rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-accent); }

/* CTA */
.navbar__cta { flex-shrink:0; font-size:0.65rem !important; padding:0.6rem 1.3rem !important; white-space:nowrap; }

/* Mobile Menu */
.navbar__mobile-menu {
  position:absolute; top:var(--nav-height); left:0; right:0;
  background:rgba(12,2,4,0.98); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.08); padding:0.5rem 0; z-index:999;
  opacity:0; pointer-events:none; transform:translateY(-6px);
  transition:opacity 250ms ease, transform 250ms ease;
}
.navbar__mobile-menu.open { opacity:1; pointer-events:all; transform:translateY(0); }
.mobile-group-label { display:block; font-family:var(--font-body); font-size:0.65rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-text-faint); padding:0.6rem 1.5rem 0.3rem; }
.mobile-group-list { list-style:none; margin:0; padding:0; }
.mobile-group { padding-bottom:0.25rem; }
.mobile-link { display:flex; align-items:center; height:40px; padding:0 1.5rem; font-family:var(--font-body); font-size:0.88rem; font-weight:400; color:var(--color-text-muted); text-decoration:none; transition:background 150ms ease, color 150ms ease; }
.mobile-link:hover { background:rgba(255,255,255,0.04); color:var(--color-white); }
.mobile-link--active { color:var(--color-white); background:rgba(196,96,122,0.08); }
.mobile-separator { height:1px; background:rgba(255,255,255,0.07); margin:0.4rem 0; }
.mobile-product-link { display:flex; align-items:center; gap:10px; height:52px; padding:0 1.5rem; text-decoration:none; transition:background 150ms ease; }
.mobile-product-link:hover { background:rgba(255,255,255,0.04); }
.mobile-product-thumb { width:36px; height:36px; overflow:hidden; flex-shrink:0; background:var(--color-dark-3); }
.mobile-product-thumb-img { width:100%; height:100%; object-fit:cover; display:block; }
.mobile-product-name { font-family:var(--font-body); font-size:0.85rem; font-weight:400; color:var(--color-text-muted); flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mobile-product-tag { font-family:var(--font-body); font-size:0.58rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--color-accent); flex-shrink:0; }
.mobile-cta { padding:0.75rem 1.5rem 1rem; }

/* ─── Responsive Navbar ─────────────────────────────────── */
@media (min-width:961px) { .navbar__hamburger{display:none !important} .navbar__mobile-menu{display:none !important} }
@media (max-width:960px) { .navbar__desktop-nav{display:none} .navbar__cta{display:none} .navbar__hamburger{display:flex} }
@media (max-width:360px) { .navbar__logo-text{font-size:1.1rem} .navbar__logo-sub{font-size:0.45rem;letter-spacing:0.2em} }

/* ═══════════════════════════════════════════════════════
   MAIN CONTENT WRAPPER
   ═══════════════════════════════════════════════════════ */
#main-content { flex:1; padding-top:var(--nav-height); }
body { display:flex; flex-direction:column; min-height:100vh; }

/* ═══════════════════════════════════════════════════════
   SCROLL OPENER (Home)
   ═══════════════════════════════════════════════════════ */
.opener {
  position:relative; width:100%; height:100svh;
  margin-top:calc(-1 * var(--nav-height)); overflow:hidden;
  display:flex; align-items:center; justify-content:center; background:var(--color-black);
}
.opener picture { position:absolute; inset:0; width:100%; height:100%; }
.opener__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; transform:scale(1.03); animation:slowZoom 12s ease-out both; }
.opener__overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.40) 50%, rgba(10,10,10,0.70) 100%); }
.opener__content { position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--space-md); padding-top:var(--nav-height); animation:fadeInUp 1s ease 0.3s both; }
.opener__eyebrow { font-family:var(--font-body); font-size:0.68rem; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; color:var(--color-accent); }
.opener__heading { display:flex; align-items:center; gap:0.6em; font-family:var(--font-heading); font-size:clamp(3.5rem,10vw,9rem); font-weight:300; font-style:italic; color:var(--color-white); line-height:1; letter-spacing:-0.02em; -webkit-text-stroke:1px rgba(255,255,255,0.12); }
.opener__word { display:inline-block; }
.opener__divider { font-size:0.5em; font-style:normal; color:var(--color-accent); opacity:0.8; align-self:center; margin-top:0.1em; }
.opener__tagline { font-family:var(--font-body); font-size:clamp(0.75rem,1.5vw,0.9rem); font-weight:300; color:rgba(200,191,181,0.7); letter-spacing:0.12em; }
.opener__scroll { position:absolute; bottom:var(--space-lg); left:50%; transform:translateX(-50%); z-index:1; display:flex; flex-direction:column; align-items:center; gap:0.5rem; opacity:0; animation:fadeIn 1s ease 1.4s both; }
.opener__scroll-line { display:block; width:1px; height:40px; background:linear-gradient(to bottom,transparent,var(--color-white)); animation:pulse 2s ease-in-out infinite; }
.opener__scroll-text { font-family:var(--font-body); font-size:0.58rem; font-weight:500; letter-spacing:0.25em; text-transform:uppercase; color:var(--color-text-muted); }
@media (max-width:480px) { .opener__heading{flex-direction:column;gap:0.2em} .opener__divider{font-size:0.6em} }

/* ═══════════════════════════════════════════════════════
   HOME: BRAND INTRO
   ═══════════════════════════════════════════════════════ */
.intro { background:var(--color-dark); }
.intro__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.intro__text { display:flex; flex-direction:column; }
.intro__heading { text-align:left; margin-bottom:0; }
.intro__heading em { font-style:italic; color:var(--color-accent); }
.intro__paragraph { font-size:0.95rem; font-weight:300; color:var(--color-text-muted); line-height:1.85; margin-top:var(--space-sm); }
.intro__image-wrap { position:relative; overflow:visible; }
.intro__image-wrap video { width:100%; aspect-ratio:4/5; object-fit:cover; display:block; position:relative; z-index:1; }
.intro__image-frame { position:absolute; inset:-12px; border:1px solid var(--color-border-warm); z-index:0; pointer-events:none; }

/* ═══════════════════════════════════════════════════════
   HOME: SERVICES PREVIEW
   ═══════════════════════════════════════════════════════ */
.services-preview { background:var(--color-dark-2); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md); margin-bottom:var(--space-xl); }
.section-cta { display:flex; justify-content:center; margin-top:var(--space-lg); }

/* Service Card */
.service-card { position:relative; background:var(--color-dark-2); border:1px solid var(--color-border); border-radius:0; display:flex; flex-direction:column; overflow:hidden; transition:transform var(--transition-luxury), border-color var(--transition-luxury), box-shadow var(--transition-luxury); }
.service-card:hover { transform:translateY(-6px); border-color:var(--color-border-warm); box-shadow:var(--shadow-red); }
.service-card--featured { border-color:var(--color-red-muted); background:linear-gradient(180deg,var(--color-dark-2) 0%,rgba(56,4,14,0.14) 100%); }
.service-card--featured:hover { border-color:var(--color-accent-dim); }
.service-card__badge { position:absolute; top:var(--space-sm); right:var(--space-sm); z-index:2; font-family:var(--font-body); font-size:0.6rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-white-pure); background:var(--color-red); border-radius:0; padding:0.25rem 0.7rem; }
.service-card__image-wrap { width:100%; aspect-ratio:3/2; overflow:hidden; flex-shrink:0; }
.service-card__image { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.service-card:hover .service-card__image { transform:scale(1.06); }
.service-card__body { padding:var(--space-md); display:flex; flex-direction:column; gap:var(--space-sm); flex:1; }
.service-card__name { font-family:var(--font-heading); font-size:1.4rem; font-weight:400; color:var(--color-white); letter-spacing:0.02em; line-height:1.2; }
.service-card__desc { font-size:0.88rem; font-weight:300; color:var(--color-text-muted); line-height:1.7; flex:1; }
.service-card__meta { display:flex; align-items:center; justify-content:space-between; padding-top:var(--space-sm); border-top:1px solid var(--color-border); margin-top:auto; }
.service-card__price { font-family:var(--font-heading); font-size:1.2rem; font-weight:500; color:var(--color-accent); letter-spacing:0.02em; }
.service-card__duration { font-size:0.75rem; font-weight:400; letter-spacing:0.1em; color:var(--color-text-faint); text-transform:uppercase; }

/* ═══════════════════════════════════════════════════════
   HOME: STUDIO GALLERY STRIP
   ═══════════════════════════════════════════════════════ */
.studio { background:var(--color-black); padding:var(--space-3xl) 0 var(--space-2xl); }
.studio__header { text-align:center; margin-bottom:var(--space-xl); padding:0 var(--space-lg); }
.studio__heading { font-family:var(--font-heading); font-size:clamp(2.2rem,4vw,3.5rem); font-weight:300; color:var(--color-white); line-height:1.1; margin-top:var(--space-sm); }
.studio__heading em { font-style:italic; color:var(--color-accent); }
.studio__strip { display:flex; gap:2px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; }
.studio__strip::-webkit-scrollbar { display:none; }
.studio__item { flex:0 0 auto; width:28vw; height:38vw; max-height:520px; overflow:hidden; scroll-snap-align:start; }
.studio__img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.studio__item:hover .studio__img { transform:scale(1.04); }
.studio__cta { display:flex; justify-content:center; margin-top:var(--space-xl); padding:0 var(--space-lg); }

/* ═══════════════════════════════════════════════════════
   HOME: PRODUCTS PREVIEW
   ═══════════════════════════════════════════════════════ */
.products-preview { background:var(--color-dark); }
.products-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,420px)); gap:var(--space-md); margin-bottom:var(--space-xl); justify-content:center; }
.products-grid > * { max-width:420px; width:100%; }

/* Product Card */
.product-card { display:flex; flex-direction:column; background:var(--color-dark-2); border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; transition:transform var(--transition-luxury), box-shadow var(--transition-luxury), border-color var(--transition-luxury); }
.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--color-border-warm); }
.product-card__image-wrap { position:relative; aspect-ratio:4/5; overflow:hidden; }
.product-card__image { width:100%; height:100%; object-fit:cover; transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.product-card:hover .product-card__image { transform:scale(1.06); }
.product-card__overlay { position:absolute; inset:0; background:rgba(10,10,10,0.55); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--transition-luxury); }
.product-card:hover .product-card__overlay { opacity:1; }
.product-card__overlay-text { font-family:var(--font-body); font-size:0.7rem; font-weight:500; letter-spacing:0.25em; text-transform:uppercase; color:var(--color-white-pure); border:1px solid rgba(255,255,255,0.5); padding:0.6rem 1.6rem; transition:all var(--transition-base); }
.product-card:hover .product-card__overlay-text { border-color:var(--color-accent); color:var(--color-accent); }
.product-card__tag { position:absolute; top:var(--space-sm); left:var(--space-sm); font-family:var(--font-body); font-size:0.6rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-white-pure); background:var(--color-red); padding:0.2rem 0.7rem; }
.product-card__info { padding:var(--space-md); display:flex; flex-direction:column; gap:0.4rem; }
.product-card__category { font-family:var(--font-body); font-size:0.65rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-accent); }
.product-card__name { font-family:var(--font-heading); font-size:1.3rem; font-weight:400; color:var(--color-white); letter-spacing:0.02em; line-height:1.2; }
.product-card__desc { font-size:0.85rem; font-weight:300; color:var(--color-text-muted); line-height:1.65; }

/* ═══════════════════════════════════════════════════════
   HOME: TESTIMONIALS
   ═══════════════════════════════════════════════════════ */
.testimonials { background:var(--color-dark-2); }
.testimonials__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md); }
.testimonial-card { background:var(--color-dark); border:1px solid var(--color-border); padding:var(--space-lg); display:flex; flex-direction:column; gap:var(--space-sm); transition:transform var(--transition-luxury), border-color var(--transition-luxury); }
.testimonial-card:hover { transform:translateY(-4px); border-color:var(--color-border-warm); }
.testimonial-card__quote-icon { font-family:var(--font-heading); font-size:4rem; line-height:0.8; color:var(--color-accent); opacity:0.6; display:block; }
.testimonial-card__text { font-family:var(--font-heading); font-size:1.05rem; font-weight:300; font-style:italic; color:var(--color-text); line-height:1.75; flex:1; }
.testimonial-card__author { display:flex; flex-direction:column; gap:0.2rem; padding-top:var(--space-sm); border-top:1px solid var(--color-border); }
.testimonial-card__name { font-family:var(--font-body); font-size:0.85rem; font-weight:500; color:var(--color-white); letter-spacing:0.05em; }
.testimonial-card__title { font-size:0.72rem; font-weight:300; color:var(--color-text-faint); letter-spacing:0.1em; text-transform:uppercase; }

/* ═══════════════════════════════════════════════════════
   CTA BANNER (shared)
   ═══════════════════════════════════════════════════════ */
.cta-banner { background:var(--color-black); padding:var(--space-3xl) 0; position:relative; overflow:hidden; text-align:center; }
.cta-banner::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:800px; height:400px; background:radial-gradient(ellipse, rgba(196,96,122,0.10) 0%, transparent 70%); pointer-events:none; }
.cta-banner__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:var(--space-md); }
.cta-banner__heading { font-size:clamp(2.5rem,5vw,4.5rem); font-weight:300; color:var(--color-white); line-height:1.1; }
.cta-banner__heading em { font-style:italic; color:var(--color-accent); }
.cta-banner__text { font-size:1rem; font-weight:300; color:var(--color-text-muted); max-width:400px; line-height:1.8; }
.cta-btns { display:flex; gap:var(--space-sm); flex-wrap:wrap; justify-content:center; }

/* ═══════════════════════════════════════════════════════
   PAGE HERO (shared — About, Services, etc.)
   ═══════════════════════════════════════════════════════ */
.page-hero { position:relative; min-height:55vh; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-top:calc(-1 * var(--nav-height)); padding-top:var(--nav-height); }
.page-hero--services { min-height:65vh; }
.page-hero__bg { position:absolute; inset:0; z-index:0; }
.page-hero__bg-img { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.page-hero__overlay { position:absolute; inset:0; background:linear-gradient(160deg, rgba(10,10,10,0.82) 0%, rgba(10,10,10,0.65) 50%, rgba(10,10,10,0.88) 100%); }
.page-hero__content { position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--space-md); padding:var(--space-2xl) 0; }
.page-hero__heading { font-size:clamp(2.5rem,5.5vw,5rem); font-weight:300; color:var(--color-white); line-height:1.08; letter-spacing:-0.01em; }
.page-hero__heading em { font-style:italic; color:var(--color-accent); }
.page-hero__sub { font-size:1rem; font-weight:300; color:rgba(200,191,181,0.8); max-width:420px; line-height:1.8; }

/* ═══════════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════════ */
.about-story { background:var(--color-dark); }
.about-story__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.about-story__text { display:flex; flex-direction:column; }
.about-story__heading { text-align:left; margin-bottom:0; }
.about-story__heading em { font-style:italic; color:var(--color-accent); }
.about-story__paragraph { font-size:0.95rem; font-weight:300; color:var(--color-text-muted); line-height:1.85; margin-top:var(--space-sm); }
.about-story__image-wrap { position:relative; }
.about-story__image { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--radius-md); position:relative; z-index:1; }
.about-story__image-frame { position:absolute; inset:-12px; border:1px solid var(--color-border-warm); border-radius:var(--radius-md); z-index:0; pointer-events:none; }

/* Team */
.about-team-row { display:flex; gap:var(--space-sm); margin-top:var(--space-lg); }
.about-team-card { flex:1; background:var(--color-dark-2); border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:border-color var(--transition-luxury), transform var(--transition-luxury); }
.about-team-card:hover { border-color:var(--color-border-warm); transform:translateY(-4px); }
.about-team-image-wrap { width:100%; aspect-ratio:1/1; overflow:hidden; }
.about-team-image { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.about-team-card:hover .about-team-image { transform:scale(1.05); }
.about-team-info { padding:var(--space-md); display:flex; flex-direction:column; gap:0.3rem; }
.about-team-role { font-family:var(--font-body); font-size:0.62rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-accent); }
.about-team-name { font-family:var(--font-heading); font-size:1.2rem; font-weight:400; color:var(--color-white); }

/* Achievements */
.about-achievements { background:var(--color-dark-2); }
.about-achievements__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.about-achievements__image-wrap { position:relative; }
.about-achievements__image { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--radius-md); position:relative; z-index:1; }
.about-achievements__image-frame { position:absolute; inset:-12px; border:1px solid var(--color-border-warm); border-radius:var(--radius-md); z-index:0; pointer-events:none; }
.about-achievements__badge { position:absolute; bottom:var(--space-md); right:var(--space-md); z-index:2; background:var(--color-red); border-radius:var(--radius-md); padding:var(--space-md) var(--space-lg); display:flex; flex-direction:column; align-items:center; gap:2px; box-shadow:var(--shadow-lg); }
.about-achievements__badge-number { font-family:var(--font-heading); font-size:2.5rem; font-weight:400; color:var(--color-white-pure); line-height:1; }
.about-achievements__badge-label { font-family:var(--font-body); font-size:0.6rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.8); }
.about-achievements__content { display:flex; flex-direction:column; }
.about-achievements__heading { text-align:left; margin-bottom:0; }
.about-achievements__heading em { font-style:italic; color:var(--color-accent); }
.about-achievements__desc { font-size:0.95rem; font-weight:300; color:var(--color-text-muted); line-height:1.85; margin-top:var(--space-sm); margin-bottom:var(--space-lg); }
.about-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md); }
.about-stat-item { background:var(--color-dark); border:1px solid var(--color-border); border-radius:var(--radius-md); padding:var(--space-md); display:flex; flex-direction:column; gap:0.3rem; transition:border-color var(--transition-luxury), transform var(--transition-luxury); }
.about-stat-item:hover { border-color:var(--color-border-warm); transform:translateY(-3px); }
.about-stat-number { font-family:var(--font-heading); font-size:2.2rem; font-weight:300; color:var(--color-accent); line-height:1; }
.about-stat-label { font-family:var(--font-body); font-size:0.72rem; font-weight:400; letter-spacing:0.08em; color:var(--color-text-muted); }

/* Portrait */
.about-portrait { position:relative; min-height:55vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.about-portrait__image-wrap { position:absolute; inset:0; }
.about-portrait__image { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.about-portrait__overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.55) 50%, rgba(10,10,10,0.75) 100%); }
.about-portrait__content { position:relative; z-index:1; text-align:center; padding:var(--space-2xl) 0; }
.about-portrait__quote { display:flex; flex-direction:column; align-items:center; gap:var(--space-sm); }
.about-portrait__quote-mark { font-family:var(--font-heading); font-size:6rem; line-height:0.6; color:var(--color-accent); opacity:0.7; display:block; }
.about-portrait__quote-text { font-family:var(--font-heading); font-size:clamp(1.4rem,3vw,2.2rem); font-weight:300; font-style:italic; color:var(--color-white); line-height:1.5; max-width:680px; }
.about-portrait__quote-author { font-family:var(--font-body); font-size:0.75rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-accent); margin-top:var(--space-sm); }

/* Promise */
.about-promise { background:var(--color-dark); }
.about-promise__content { text-align:center; display:flex; flex-direction:column; align-items:center; max-width:680px; margin:0 auto; }
.about-promise__heading { text-align:center; margin-bottom:0; }
.about-promise__heading em { font-style:italic; color:var(--color-accent); }
.about-promise__text { font-size:1rem; font-weight:300; color:var(--color-text-muted); line-height:1.85; margin-top:var(--space-md); text-align:center; }
.about-promise__ctas { display:flex; gap:var(--space-sm); flex-wrap:wrap; justify-content:center; margin-top:var(--space-lg); }

/* ═══════════════════════════════════════════════════════
   SERVICES PAGE
   ═══════════════════════════════════════════════════════ */
/* Category Tabs */
.category-tabs { display:flex; gap:0.5rem; margin-top:var(--space-sm); background:rgba(10,10,10,0.5); border:1px solid var(--color-border); padding:4px; backdrop-filter:blur(8px); }
.category-tab { font-family:var(--font-body); font-size:0.68rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-text-muted); padding:0.5rem 1.2rem; transition:all var(--transition-base); text-decoration:none; }
.category-tab:hover { color:var(--color-white); }
.category-tab--active { background:var(--color-red); color:var(--color-white-pure) !important; }

/* Service Grid (full page) */
.svc-grid-section { background:var(--color-dark-2); }
.svc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md); margin-bottom:var(--space-lg); }
.svc-card { position:relative; overflow:hidden; cursor:default; transition:transform var(--transition-luxury), box-shadow var(--transition-luxury); }
.svc-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.svc-card__image-wrap { position:relative; aspect-ratio:3/4; overflow:hidden; }
.svc-card__image { width:100%; height:100%; object-fit:cover; transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.svc-card:hover .svc-card__image { transform:scale(1.07); }
.svc-card__overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,10,0.88) 0%, rgba(10,10,10,0.3) 50%, transparent 100%); }
.svc-card__tag { position:absolute; top:var(--space-sm); left:var(--space-sm); font-family:var(--font-body); font-size:0.58rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-white-pure); background:var(--color-red); padding:0.2rem 0.65rem; }
.svc-card__info { position:absolute; bottom:0; left:0; right:0; padding:var(--space-md); display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-sm); transition:transform var(--transition-luxury); }
.svc-card:hover .svc-card__info { transform:translateY(-3px); }
.svc-card__name { font-family:var(--font-heading); font-size:1.2rem; font-weight:400; color:var(--color-white); line-height:1.2; letter-spacing:0.02em; }
.svc-card__price { font-family:var(--font-heading); font-size:1.3rem; font-weight:500; color:var(--color-accent); white-space:nowrap; flex-shrink:0; }
.svc-pricing-note { text-align:center; font-size:0.78rem; font-weight:300; color:var(--color-text-faint); font-style:italic; letter-spacing:0.03em; }

/* ═══════════════════════════════════════════════════════
   PRODUCTS PAGE
   ═══════════════════════════════════════════════════════ */
.products-featured { background:var(--color-dark); }
.products-featured__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.products-featured__image-wrap { position:relative; }
.products-featured__image { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--radius-md); position:relative; z-index:1; }
.products-featured__image-frame { position:absolute; inset:-14px; border:1px solid var(--color-border-warm); border-radius:var(--radius-md); z-index:0; pointer-events:none; }
.products-featured__badge { position:absolute; top:var(--space-sm); right:var(--space-sm); z-index:2; font-family:var(--font-body); font-size:0.6rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--color-white-pure); background:var(--color-red); padding:0.3rem 0.9rem; }
.products-featured__info { display:flex; flex-direction:column; gap:var(--space-sm); }
.products-featured__name { font-family:var(--font-heading); font-size:clamp(2rem,3.5vw,3rem); font-weight:300; color:var(--color-white); line-height:1.1; letter-spacing:0.01em; }
.products-featured__desc { font-size:0.95rem; font-weight:300; color:var(--color-text-muted); line-height:1.85; }
.products-featured__detail { font-size:0.75rem; font-weight:400; letter-spacing:0.12em; color:var(--color-text-faint); text-transform:uppercase; padding:var(--space-sm) 0; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.products-featured__cta { margin-top:var(--space-sm); align-self:flex-start; }
.products-collection { background:var(--color-dark-2); }
.products-collection__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md); }

/* ═══════════════════════════════════════════════════════
   GALLERY PAGE
   ═══════════════════════════════════════════════════════ */
.gallery-page { background:var(--color-black); padding-top:0 !important; }
.gallery-hero { position:relative; height:60vh; width:100%; background:var(--color-black); display:grid; place-content:center; overflow:hidden; margin-top:calc(-1 * var(--nav-height)); padding-top:var(--nav-height); }
.gallery-section { background:var(--color-black); }
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; width:100%; }
.gallery-item { width:100%; margin:0; overflow:hidden; }
.gallery-image { width:100%; height:280px; object-fit:cover; object-position:center; display:block; transition:transform 0.3s ease; }
.gallery-item:hover .gallery-image { transform:scale(1.02); }
.gallery-cta-banner { background:var(--color-dark); }
.gallery-cta-content { padding:var(--space-3xl) var(--space-lg); display:flex; flex-direction:column; align-items:center; gap:var(--space-md); text-align:center; }
.gallery-cta-heading { font-family:var(--font-heading); font-size:clamp(2.5rem,5vw,4.5rem); font-weight:300; color:var(--color-white); line-height:1.1; margin:0; }
.gallery-cta-heading em { font-style:italic; color:var(--color-accent); }

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════════ */
.contact-section { background:var(--color-dark); }
.contact-cards-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-md); max-width:760px; margin:0 auto; }
.contact-card { background:var(--color-dark-2); border:1px solid var(--color-border); padding:var(--space-xl); display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--space-sm); transition:transform var(--transition-luxury), border-color var(--transition-luxury), box-shadow var(--transition-luxury); }
.contact-card:hover { transform:translateY(-5px); border-color:var(--color-border-warm); box-shadow:var(--shadow-md); }
.contact-card--primary { border-color:var(--color-accent-dim); background:linear-gradient(135deg, var(--color-dark-2) 0%, rgba(196,96,122,0.10) 100%); }
.contact-card--primary:hover { border-color:var(--color-accent); box-shadow:var(--shadow-red); }
.contact-card__icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; background:rgba(196,96,122,0.1); border:1px solid rgba(196,96,122,0.2); color:var(--color-accent); margin-bottom:var(--space-xs); flex-shrink:0; }
.contact-card__label { font-family:var(--font-body); font-size:0.62rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--color-accent); }
.contact-card__headline { font-family:var(--font-heading); font-size:1.5rem; font-weight:400; color:var(--color-white); line-height:1.2; }
.contact-card__lines { display:flex; flex-direction:column; gap:0.3rem; }
.contact-card__line { font-size:0.95rem; font-weight:300; color:var(--color-text-muted); line-height:1.6; display:block; }
.contact-card__cta { margin-top:var(--space-sm); }

/* Map */
.contact-map-section { background:var(--color-dark-2); padding-top:0; }
.contact-map-wrap { display:flex; flex-direction:column; gap:var(--space-lg); }
.contact-map-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-md); padding-top:var(--space-2xl); }
.contact-map-heading { font-family:var(--font-heading); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:300; color:var(--color-white); line-height:1.15; }
.contact-map-frame { width:100%; height:480px; overflow:hidden; border:1px solid var(--color-border); filter:grayscale(20%) contrast(1.05) brightness(0.9); transition:filter var(--transition-luxury); }
.contact-map-frame:hover { filter:grayscale(0%) contrast(1) brightness(1); }

/* WhatsApp CTA */
.contact-cta-banner { background:var(--color-black); padding:var(--space-3xl) 0; position:relative; overflow:hidden; text-align:center; }
.contact-cta-banner::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:800px; height:500px; background:radial-gradient(ellipse, rgba(196,96,122,0.10) 0%, transparent 70%); pointer-events:none; }
.contact-cta-content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:var(--space-md); }
.contact-cta-heading { font-size:clamp(2.5rem,5vw,4.5rem); font-weight:300; color:var(--color-white); line-height:1.1; }
.contact-cta-heading em { font-style:italic; color:var(--color-accent); }
.contact-cta-text { font-size:1rem; font-weight:300; color:var(--color-text-muted); max-width:380px; line-height:1.8; }
.contact-phone-display { display:flex; align-items:center; gap:var(--space-sm); background:var(--color-dark-2); border:1px solid var(--color-border-warm); padding:var(--space-md) var(--space-xl); margin:var(--space-sm) 0; }
.contact-phone-icon { display:flex; align-items:center; color:var(--color-accent); flex-shrink:0; }
.contact-phone-number { font-family:var(--font-heading); font-size:clamp(1.5rem,3vw,2.2rem); font-weight:300; color:var(--color-white); letter-spacing:0.05em; text-decoration:none; transition:color var(--transition-base); }
.contact-phone-number:hover { color:var(--color-accent); }
.contact-wa-btn { padding:1rem 2.8rem !important; font-size:0.8rem !important; }
.contact-location-note { font-size:0.82rem; font-weight:300; color:var(--color-text-faint); letter-spacing:0.05em; margin-top:var(--space-xs); }

/* ═══════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════ */
.footer { background:var(--color-black); position:relative; margin-top:auto; }

/* Testimonial Slider */
.footer__testimonial-section { background:var(--color-dark-2); padding:var(--space-2xl) 0; position:relative; overflow:hidden; text-align:center; }
.footer__testimonial-section::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:300px; background:radial-gradient(ellipse, rgba(196,96,122,0.07) 0%, transparent 70%); pointer-events:none; }
.footer__testimonial-label { display:block; font-family:var(--font-body); font-size:0.65rem; font-weight:600; letter-spacing:0.25em; text-transform:uppercase; color:var(--color-accent); margin-bottom:var(--space-md); }
.footer__slider-wrap { position:relative; max-width:680px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:var(--space-md); z-index:1; }
.footer__quote-mark { font-family:var(--font-heading); font-size:5rem; line-height:0.6; color:var(--color-accent); opacity:0.5; display:block; user-select:none; }
.footer__slider-content { display:flex; flex-direction:column; align-items:center; gap:var(--space-sm); animation:footerFadeIn 0.5s ease both; min-height:100px; }
.footer__slider-quote { font-family:var(--font-heading); font-size:clamp(1rem,2vw,1.25rem); font-weight:300; font-style:italic; color:var(--color-text); line-height:1.7; text-align:center; }
.footer__slider-author { font-family:var(--font-body); font-size:0.72rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-accent); }
.footer__slider-controls { display:flex; align-items:center; gap:var(--space-md); margin-top:var(--space-sm); }
.footer__slider-btn { background:none; border:1px solid var(--color-border); color:var(--color-text-muted); width:32px; height:32px; display:flex; align-items:center; justify-content:center; font-size:0.9rem; cursor:pointer; transition:all var(--transition-base); }
.footer__slider-btn:hover { border-color:var(--color-accent); color:var(--color-accent); }
.footer__slider-dots { display:flex; gap:6px; align-items:center; }
.footer__slider-dot { width:6px; height:6px; background:var(--color-dark-4); border:none; cursor:pointer; transition:all var(--transition-base); padding:0; }
.footer__slider-dot.active { background:var(--color-red); transform:scale(1.3); }

/* Top Border */
.footer__top-border { height:1px; background:linear-gradient(90deg, transparent 0%, var(--color-red-muted) 30%, var(--color-accent) 50%, var(--color-red-muted) 70%, transparent 100%); }

/* Footer Grid */
.footer__inner { display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:var(--space-2xl); padding-top:var(--space-2xl); padding-bottom:var(--space-2xl); }
.footer__logo { display:inline-flex; flex-direction:column; line-height:1; text-decoration:none; margin-bottom:var(--space-md); }
.footer__logo-text { font-family:var(--font-heading); font-size:1.5rem; font-weight:400; color:var(--color-white); letter-spacing:0.03em; transition:color var(--transition-base); }
.footer__logo-sub { font-family:var(--font-body); font-size:0.55rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--color-accent); margin-top:2px; }
.footer__logo:hover .footer__logo-text { color:var(--color-accent); }
.footer__tagline { font-size:0.88rem; font-weight:300; color:var(--color-text-muted); line-height:1.8; font-style:italic; }
.footer__col-heading { font-family:var(--font-body); font-size:0.62rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-text-faint); margin-bottom:var(--space-md); }
.footer__nav-list { display:flex; flex-direction:column; gap:0.6rem; }
.footer__nav-link { font-size:0.88rem; font-weight:300; color:var(--color-text-muted); transition:color var(--transition-base); position:relative; display:inline-block; }
.footer__nav-link::after { content:''; position:absolute; bottom:-1px; left:0; width:0; height:1px; background:var(--color-red); transition:width var(--transition-luxury); }
.footer__nav-link:hover { color:var(--color-white); }
.footer__nav-link:hover::after { width:100%; }
.footer__address { font-style:normal; display:flex; flex-direction:column; gap:0.4rem; margin-bottom:var(--space-md); }
.footer__address p { font-size:0.88rem; font-weight:300; color:var(--color-text-muted); }
.footer__contact-link { font-size:0.88rem; font-weight:300; color:var(--color-text-muted); transition:color var(--transition-base); display:block; text-decoration:none; }
.footer__contact-link:hover { color:var(--color-accent); }
.footer__bottom-bar { border-top:1px solid var(--color-border); padding:var(--space-md) 0; }
.footer__bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); }
.footer__copyright,.footer__legal { font-size:0.75rem; font-weight:300; color:var(--color-text-faint); letter-spacing:0.05em; }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════ */
@media (max-width:768px) {
  .container { padding:0 var(--space-md); }
  .section { padding:var(--space-2xl) 0; }
}
@media (max-width:480px) {
  :root { --space-lg:1.75rem; --space-xl:2.5rem; --space-2xl:4rem; --space-3xl:5rem; }
  .container { padding:0 var(--space-sm); }
}

/* Intro grid */
@media (max-width:768px) {
  .intro__grid { grid-template-columns:1fr; gap:var(--space-lg); }
  .intro__image-wrap { order:-1; overflow:hidden; }
  .intro__image-wrap video { aspect-ratio:4/3; }
  .intro__image-frame { display:none; }
  .studio__item { width:60vw; height:72vw; max-height:420px; }
  .services-grid,.testimonials__grid { grid-template-columns:1fr; }
}
@media (max-width:1024px) {
  .services-grid,.testimonials__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px) {
  .studio__item { width:80vw; height:96vw; max-height:360px; }
  .testimonial-card { padding:var(--space-md); }
}

/* Services grid */
@media (max-width:1100px) { .svc-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px) { .svc-grid { grid-template-columns:repeat(2,1fr); } .category-tabs { flex-wrap:wrap; justify-content:center; } .page-hero__heading { font-size:clamp(2.2rem,8vw,3.5rem); } }
@media (max-width:480px) { .svc-grid { grid-template-columns:repeat(2,1fr); gap:var(--space-sm); } }

/* About */
@media (max-width:1024px) { .about-achievements__grid { grid-template-columns:1fr; gap:var(--space-xl); } .about-achievements__image-wrap { order:-1; } }
@media (max-width:768px) { .about-story__grid { grid-template-columns:1fr; gap:var(--space-xl); } .about-story__image-frame,.about-achievements__image-frame { display:none; } .about-team-row { flex-direction:column; } .about-promise__ctas { flex-direction:column; align-items:center; } }

/* Products */
@media (max-width:768px) { .products-featured__grid { grid-template-columns:1fr; gap:var(--space-xl); } .products-featured__image-wrap { order:-1; } .products-featured__image-frame { display:none; } .products-featured__cta { align-self:center; } .products-collection__grid { grid-template-columns:1fr; } }
@media (max-width:1024px) { .products-collection__grid { grid-template-columns:repeat(2,1fr); } }

/* Gallery */
@media (max-width:768px) { .gallery-grid { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; } .gallery-image { height:200px; } }

/* Contact */
@media (max-width:900px) { .contact-cards-grid { grid-template-columns:1fr; max-width:480px; margin:0 auto; } .contact-map-header { flex-direction:column; align-items:flex-start; } .contact-map-frame { height:340px; } }
@media (max-width:480px) { .contact-phone-display { flex-direction:column; gap:var(--space-xs); padding:var(--space-md); } .contact-map-frame { height:260px; } }

/* Footer */
@media (max-width:900px) { .footer__inner { grid-template-columns:1fr 1fr; gap:var(--space-xl); } .footer__brand-col { grid-column:1/-1; } }
@media (max-width:600px) { .footer__inner { grid-template-columns:1fr; gap:var(--space-lg); } .footer__bottom-inner { flex-direction:column; text-align:center; gap:0.25rem; } .footer__slider-quote { font-size:0.95rem; } .footer__quote-mark { font-size:3.5rem; } .footer__testimonial-section { padding:var(--space-xl) 0; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}
