/* ═══════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════ */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:rgba(10,10,10,0);
  border-bottom:1px solid transparent;
  transition:background .35s ease, border-color .35s ease;
}
.site-header.scrolled {
  background:rgba(10,10,10,0.88);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom-color:var(--c-border);
}
.nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:70px; max-width:1200px; margin:0 auto; padding:0 24px;
}
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo__mark {
  width:36px; height:36px; border-radius:9px; flex-shrink:0;
}
.nav-logo__text { font-size:16px; font-weight:800; letter-spacing:-0.02em; }
.nav-logo__text span { color:var(--c-pink); }
.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a {
  font-size:14px; font-weight:600; color:var(--c-muted);
  transition:color .2s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:2px; background:var(--c-pink); border-radius:2px;
  transform:scaleX(0); transition:transform .25s ease;
}
.nav-links a:hover, .nav-links a.active { color:#fff; }
.nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }
.nav-right { display:flex; align-items:center; gap:12px; }
.nav-lang { display:flex; align-items:center; gap:2px; }
.nav-lang a {
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--c-faint); padding:4px 8px; border-radius:6px; transition:var(--t);
}
.nav-lang a:hover, .nav-lang a.active { color:var(--c-pink); background:var(--c-pink-dim); }
.nav-sep { color:var(--c-faint); font-size:11px; }
/* ── Nav toggle (mobile) ──────────────────────────────── */
.nav-toggle {
  display:none; align-items:center; justify-content:center;
  width:36px; height:36px; color:#fff; background:none; border:none; cursor:pointer;
}

/* ── Nav panel (mobile slide-down) ────────────────────── */
.nav-panel {
  position:fixed; top:70px; left:0; right:0;
  background:var(--c-card); border-bottom:1px solid var(--c-border);
  max-height:0; overflow:hidden; z-index:190;
  transition:max-height .35s cubic-bezier(.25,1,.5,1);
}
.nav-panel.open { max-height:calc(100vh - 70px); overflow-y:auto; }
.nav-panel__inner { padding:16px 24px; }
.nav-panel__links { display:flex; flex-direction:column; gap:2px; }
.nav-panel__links a {
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border-radius:8px;
  font-size:15px; font-weight:600; color:var(--c-muted);
  transition:var(--t);
}
.nav-panel__links a:hover { background:var(--c-pink-dim); color:var(--c-pink); }
.nav-panel__links a.active { color:var(--c-pink); background:var(--c-pink-dim); }
.nav-panel__group { margin-top:4px; }
.nav-panel__label {
  display:block; padding:6px 12px;
  font-size:11px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--c-pink);
}
.nav-panel__group ul { display:flex; flex-direction:column; gap:2px; margin-top:2px; }
.nav-panel__group ul a { padding-left:20px; font-size:14px; }
.nav-panel__actions { padding:12px 0 4px; }

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.hero {
  min-height:100svh; display:flex; align-items:center;
  position:relative; overflow:hidden; padding-top:110px;
  background:var(--c-bg);
}
.hero__glow {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 65% 55% at 85% 45%, rgba(255,20,147,.09) 0%, transparent 70%),
    radial-gradient(ellipse 45% 40% at 10% 70%, rgba(255,20,147,.05) 0%, transparent 65%),
    radial-gradient(ellipse 30% 30% at 50% 0%, rgba(255,20,147,.04) 0%, transparent 60%);
}
.hero__inner { position:relative; z-index:1; width:100%; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
.hero__pill {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:var(--c-pink); border:1px solid rgba(255,20,147,.25);
  border-radius:var(--r-full); padding:6px 16px; margin-bottom:24px; width:fit-content;
}
.hero__pill::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--c-pink); animation:glow 2s ease-in-out infinite; }
.hero__h1 { font-size:clamp(2.8rem,5.5vw,4.2rem); font-weight:900; letter-spacing:-.035em; line-height:1.0; margin-bottom:10px; }
.hero__h1 .line-en { display:block; color:#fff; }
.hero__h1 .line-es { display:block; color:var(--c-pink); }
.hero__sub { font-size:clamp(.9rem,1.5vw,1.05rem); color:var(--c-muted); max-width:480px; line-height:1.75; margin-bottom:36px; }
.hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:36px; }
.hero__badges { display:flex; flex-wrap:wrap; gap:10px; }
.hero__badge { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--c-muted); }
.hero__badge::before { content:'✓'; color:var(--c-pink); font-weight:700; font-size:13px; }

/* Floating visual right side */
.hero__visual { position:relative; height:480px; display:flex; align-items:center; justify-content:center; }
.hero__orbit {
  position:absolute; width:340px; height:340px; border-radius:50%;
  border:1px solid rgba(255,20,147,.12);
}
.hero__orbit--lg { width:440px; height:440px; border-color:rgba(255,20,147,.06); }
.hero__center-blob {
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,20,147,.18) 0%, rgba(255,20,147,.04) 60%, transparent 100%);
  position:absolute;
}
.hero__obj {
  position:absolute; display:flex; align-items:center; justify-content:center;
  background:var(--c-card); border:1px solid var(--c-border-lit);
  border-radius:var(--r-lg); padding:14px 18px;
  font-size:13px; font-weight:700; color:#fff; gap:8px;
  box-shadow:var(--shadow-card); white-space:nowrap;
}
.hero__obj .obj-icon { font-size:22px; }
.hero__obj--shirt  { top:10%;  left:5%;  }
.hero__obj--mug    { top:15%;  right:2%; }
.hero__obj--web    { bottom:22%; left:0%; }
.hero__obj--cap    { bottom:16%; right:5%; }
.hero__obj--logo   { top:50%;  left:50%; transform:translate(-50%,-50%); padding:18px 22px; border-color:rgba(255,20,147,.4); box-shadow:var(--shadow-pink); }
.hero__obj--logo .obj-icon { font-size:28px; }

/* ═══════════════════════════════════════════════════════════
   MARQUEE BAR
═══════════════════════════════════════════════════════════ */
.marquee-bar {
  background:var(--c-surface); border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border); padding:16px 0; overflow:hidden;
}
.marquee-track { display:flex; gap:0; width:max-content; }
.marquee-item {
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--c-muted); padding:0 40px; white-space:nowrap;
}
.marquee-item span { color:var(--c-pink); font-size:18px; }

/* ═══════════════════════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════════════════════ */
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.svc-card {
  background:var(--c-card); border:1px solid var(--c-border);
  border-radius:var(--r-lg); padding:32px 28px;
  transition:var(--t); position:relative; overflow:hidden; cursor:default;
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--c-pink),transparent);
  opacity:0; transition:opacity .35s;
}
.svc-card:hover { background:var(--c-card-hover); border-color:rgba(255,20,147,.3); transform:translateY(-4px); box-shadow:0 12px 40px rgba(255,20,147,.15); }
.svc-card:hover::before { opacity:1; }
.svc-card__img {
  width:calc(100% + 56px); margin:-32px -28px 20px; overflow:hidden;
  aspect-ratio:16/9; border-radius:var(--r-lg) var(--r-lg) 0 0;
}
.svc-card__img img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .4s ease;
}
.svc-card:hover .svc-card__img img { transform:scale(1.05); }
.svc-card__desc { font-size:14px; color:var(--c-muted); line-height:1.7; margin-bottom:18px; }
.svc-card__link { font-size:13px; font-weight:700; color:var(--c-pink); display:inline-flex; align-items:center; gap:5px; transition:gap .2s; }
.svc-card:hover .svc-card__link { gap:9px; }

/* ═══════════════════════════════════════════════════════════
   SPLIT SHOWCASE
═══════════════════════════════════════════════════════════ */
.split { display:grid; grid-template-columns:1fr 1fr; gap:3px; border-radius:var(--r-lg); overflow:hidden; }
.split-panel {
  background:var(--c-card); padding:56px 48px; position:relative;
  overflow:hidden;  transition:opacity .35s, transform .35s;
  min-height:360px; display:flex; flex-direction:column; justify-content:flex-end;
}
.split-panel::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 55%); z-index:1;
}
.split-panel__bg {
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(135deg,#0e0e0e 0%,#1a1a1a 100%);
  transition:var(--t-slow);
}
.split-panel--digital .split-panel__bg {
  background:linear-gradient(135deg,#0d0010 0%,#160020 100%);
}
.split-panel:hover .split-panel__bg { filter:brightness(1.3); }
.split-panel__content { position:relative; z-index:2; }
.split-panel__num { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--c-pink); margin-bottom:12px; }
.split-panel__title { font-size:clamp(1.5rem,2.5vw,2rem); font-weight:900; color:#fff; margin-bottom:8px; }
.split-panel__desc { font-size:14px; color:var(--c-muted); line-height:1.65; max-width:320px; margin-bottom:20px; }
.split-panel__arrow { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--c-pink); transition:gap .25s; }
.split-panel:hover .split-panel__arrow { gap:12px; }
.split:hover .split-panel:not(:hover) { opacity:.38; }
.split-panel__deco {
  position:absolute; top:20px; right:20px; z-index:2;
  font-size:56px; opacity:.15; transition:opacity .35s, transform .35s;
}
.split-panel:hover .split-panel__deco { opacity:.35; transform:scale(1.1) rotate(8deg); }

/* ═══════════════════════════════════════════════════════════
   STATS
═══════════════════════════════════════════════════════════ */
.stats-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:3px; border-radius:var(--r-lg); overflow:hidden; }
.stat-cell {
  background:var(--c-card); padding:32px 24px; text-align:center;
  border:1px solid var(--c-border); transition:var(--t);
}
.stat-cell:hover { background:var(--c-card-hover); border-color:rgba(255,20,147,.25); }
.stat-cell__num { font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.04em; color:#fff; line-height:1; margin-bottom:6px; }
.stat-cell__num .accent { color:var(--c-pink); }
.stat-cell__lbl { font-size:12px; font-weight:600; color:var(--c-muted); letter-spacing:.04em; }

/* ═══════════════════════════════════════════════════════════
   CTA BAND
═══════════════════════════════════════════════════════════ */
.cta-band {
  border-radius:var(--r-lg); padding:72px 48px; text-align:center;
  background:linear-gradient(135deg,#0c0005 0%,#0a0010 50%,#0c0005 100%);
  border:1px solid rgba(255,20,147,.2); position:relative; overflow:hidden;
}
.cta-band::before {
  content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:600px; height:400px; pointer-events:none;
  background:radial-gradient(ellipse,rgba(255,20,147,.12) 0%,transparent 70%);
}
.cta-band h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); color:#fff; margin-bottom:14px; position:relative; }
.cta-band p { font-size:17px; color:var(--c-muted); max-width:520px; margin:0 auto 32px; line-height:1.7; position:relative; }
.cta-band__actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; position:relative; }

/* ═══════════════════════════════════════════════════════════
   SECTION HEADER
═══════════════════════════════════════════════════════════ */
.sec-header { text-align:center; max-width:620px; margin:0 auto 56px; }
.sec-header h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); color:#fff; margin-bottom:14px; }
.sec-header p { font-size:16px; color:var(--c-muted); line-height:1.75; }

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.site-footer {
  background:var(--c-surface); border-top:1px solid var(--c-border);
  padding:72px 0 32px;
}
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px; }
.footer-brand__logo { font-size:18px; font-weight:800; letter-spacing:-.02em; margin-bottom:12px; }
.footer-brand__logo span { color:var(--c-pink); }
.footer-brand__tagline { font-size:13px; color:var(--c-muted); line-height:1.7; max-width:260px; margin-bottom:20px; }
.footer-brand__phone { display:inline-flex; align-items:center; gap:7px; font-size:16px; font-weight:800; color:var(--c-pink); margin-bottom:20px; display:block; }
.footer-brand__phone:hover { color:var(--c-pink-dark); }
.footer-socials { display:flex; gap:10px; flex-wrap:wrap; }
.social-btn {
  width:38px; height:38px; border-radius:10px;
  background:var(--c-card); border:1px solid var(--c-border);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; transition:var(--t); color:var(--c-muted);
}
.social-btn:hover { background:var(--c-pink-dim); border-color:rgba(255,20,147,.4); color:var(--c-pink); transform:translateY(-2px); }
.footer-col__title { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:20px; }
.footer-col ul { display:flex; flex-direction:column; gap:12px; }
.footer-col ul a { font-size:13px; color:var(--c-muted); transition:color .2s; }
.footer-col ul a:hover { color:#fff; }
.footer-bottom {
  border-top:1px solid var(--c-border); padding-top:24px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px;
}
.footer-bottom__copy { font-size:12px; color:var(--c-faint); }
.footer-bottom__links { display:flex; gap:20px; }
.footer-bottom__links a { font-size:12px; color:var(--c-faint); transition:color .2s; }
.footer-bottom__links a:hover { color:var(--c-muted); }

/* ═══════════════════════════════════════════════════════════
   FAB MÓVIL
═══════════════════════════════════════════════════════════ */
.fab-call {
  display:none; position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
  z-index:180; background:linear-gradient(135deg,var(--c-pink),#c01070);
  color:#fff; padding:14px 32px; border-radius:var(--r-full);
  font-size:15px; font-weight:800; box-shadow:0 8px 32px rgba(255,20,147,.45);
  align-items:center; gap:8px; white-space:nowrap;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:768px) {
  .nav-links, .nav-right .btn-primary { display:none; }
  .nav-toggle { display:flex; }
  .hero__inner { grid-template-columns:1fr; }
  .hero__visual { height:280px; }
  .hero__orbit { width:230px; height:230px; }
  .hero__orbit--lg { width:310px; height:310px; }
  .hero__obj { font-size:12px; padding:10px 14px; }
  .hero__obj .obj-icon { font-size:18px; }
  .split { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .cta-band { padding:48px 24px; }
  .fab-call { display:flex; }
}

/* ═══════════════════════════════════════════════════════════
   SERVICE GALLERY (single hero image per service)
═════════════════════════════════════════════════════════════ */
.svc-block {
  display:grid; grid-template-columns:1fr 1.15fr; gap:48px; align-items:center;
  padding:80px 0; border-bottom:1px solid var(--c-border); overflow:hidden;
}
.svc-block:last-child { border-bottom:none; }
.svc-block--reverse { grid-template-columns:1.15fr 1fr; }
.svc-block--reverse .svc-block__text { order:2; }
.svc-block--reverse .svc-block__gallery { order:1; }

.svc-block__icon {
  width:52px; height:52px; border-radius:14px;
  background:var(--c-pink-dim); border:1px solid rgba(255,20,147,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:24px; margin-bottom:20px;
}
.svc-block__title { font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:900; color:#fff; margin-bottom:14px; letter-spacing:-.02em; }
.svc-block__desc { font-size:15px; color:var(--c-muted); line-height:1.8; margin-bottom:24px; }
.svc-block__list { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.svc-block__list li { display:flex; align-items:center; gap:10px; font-size:14px; color:#ccc; }
.svc-block__list li::before { content:'✓'; color:var(--c-pink); font-weight:800; font-size:13px; flex-shrink:0; }

.svc-block__gallery {
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  height:420px;
}
.svc-block__gallery img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  border-radius:var(--r-lg); border:1px solid var(--c-border);
  transition:var(--t-slow); 
}
.svc-block__gallery img:hover { transform:scale(1.03); filter:brightness(1.1); border-color:rgba(255,20,147,.4); }
.svc-block__gallery .g-sub  { display:none; }

/* ═══════════════════════════════════════════════════════════
   FOOTER FAVICON MARK
═══════════════════════════════════════════════════════════ */
.footer-brand__head { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.footer-brand__mark {
  width:32px; height:32px; border-radius:9px; flex-shrink:0;
}

@media (max-width:900px) {
  .svc-block, .svc-block--reverse { grid-template-columns:1fr; }
  .svc-block--reverse .svc-block__text,
  .svc-block--reverse .svc-block__gallery { order:initial; }
  .svc-block__gallery { height:320px; }
}

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE / SERVICE HERO
═══════════════════════════════════════════════════════════ */
.hero--page {
  position:relative;
  padding:80px 0 48px;
  overflow:hidden;
}
.hero--page .hero__glow {
  position:absolute; top:50%; left:50%; width:600px; height:600px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(255,20,147,.12) 0%, transparent 70%);
  pointer-events:none;
}
.hero--page .hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
.hero--page .hero__copy { text-align:left; }
.hero--page .section-tag { margin-bottom:16px; }
.hero--page .hero__h1 {
  font-size:clamp(32px,5vw,48px);
  margin-bottom:16px;
}
.hero--page .hero__sub {
  font-size:clamp(15px,2vw,18px);
  color:var(--c-muted);
  max-width:500px;
  line-height:1.6;
}
.hero--page .hero__visual {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero--page .hero__visual img {
  width:100%;
  max-width:480px;
  border-radius:var(--r-lg);
  border:1px solid var(--c-border);
  box-shadow:0 16px 48px rgba(0,0,0,.4);
  object-fit:cover;
  aspect-ratio:4/3;
}

/* Without image (contact, faq, etc) — center text */
.hero--page:not(:has(.hero__visual)) .hero__inner { text-align:center; }
.hero--page:not(:has(.hero__visual)) .hero__copy { max-width:600px; margin:0 auto; }
.hero--page:not(:has(.hero__visual)) .hero__sub { margin:0 auto; }

@media (max-width:768px) {
  .hero--page .hero__inner { grid-template-columns:1fr; text-align:center; }
  .hero--page .hero__copy { max-width:100%; }
  .hero--page .hero__sub { margin:0 auto; }
  .hero--page .hero__visual { order:-1; margin-bottom:16px; }
  .hero--page .hero__visual img { max-width:100%; }
}

.contact-grid {
  display:grid;
  grid-template-columns:1fr 380px;
  gap:40px;
  align-items:start;
}

.contact-form,
.contact-info {
  background:var(--c-card);
  border:1px solid var(--c-border);
  border-radius:var(--r-lg);
  padding:32px;
}

.contact-form label {
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--c-muted);
  margin-bottom:6px;
  letter-spacing:.02em;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
  width:100%;
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--r);
  color:var(--c-white);
  padding:12px 16px;
  font-size:15px;
  transition:var(--t);
  outline:none;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color:var(--c-pink);
  box-shadow:0 0 0 3px var(--c-pink-dim);
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color:var(--c-faint);
}
.contact-form select {
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  padding-right:40px;
  
}
.contact-form textarea {
  resize:vertical;
  min-height:120px;
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.form-group {
  margin-bottom:16px;
}

.contact-form .btn-primary {
  margin-top:8px;
}

.contact-info {
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:28px;
}

.contact-info__card {
  padding:0;
}
.contact-info__card h3 {
  font-size:16px;
  font-weight:700;
  margin-bottom:10px;
  color:var(--c-white);
}

@media (max-width:900px) {
  .contact-grid {
    grid-template-columns:1fr;
  }
}
@media (max-width:600px) {
  .form-row {
    grid-template-columns:1fr;
  }
  .hero--page {
    padding:64px 0 32px;
  }
}

/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════════════════════════════ */
.about-content {
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
.about-content__text h2 {
  font-size:clamp(1.6rem,3vw,2.2rem);
  color:var(--c-white);
  margin-bottom:20px;
}
.about-content__text p {
  font-size:16px;
  color:var(--c-muted);
  line-height:1.75;
  margin-bottom:16px;
}
.about-content__text p:last-child {
  margin-bottom:0;
}

/* ═══════════════════════════════════════════════════════════
   GALLERY PAGE
═══════════════════════════════════════════════════════════ */
.gallery-filters {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin-bottom:24px;
}

.filter-btn {
  background:var(--c-card);
  border:1px solid var(--c-border);
  border-radius:var(--r-full);
  color:var(--c-muted);
  padding:8px 20px;
  font-size:13px;
  font-weight:600;
  
  transition:var(--t);
}
.filter-btn:hover {
  border-color:var(--c-pink);
  color:var(--c-pink);
  background:var(--c-pink-dim);
}
.filter-btn.active {
  background:var(--c-pink);
  border-color:var(--c-pink);
  color:var(--c-white);
}

.gallery-count {
  text-align:center;
  font-size:14px;
  color:var(--c-muted);
  margin-bottom:32px;
}

.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.gallery-grid img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:var(--r);
  
  transition:transform .4s ease;
}
.gallery-grid img:hover {
  transform:scale(1.02);
}

.gallery-item {
  position:relative;
  border-radius:var(--r);
  overflow:hidden;
  background:var(--c-card);
  border:1px solid var(--c-border);
  
}
.gallery-item img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}
.gallery-item:hover img {
  transform:scale(1.04);
}

.gallery-item__info {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:16px;
  background:linear-gradient(transparent, rgba(0,0,0,.85));
  opacity:0;
  transition:opacity .3s ease;
}
.gallery-item:hover .gallery-item__info {
  opacity:1;
}
.gallery-item__info h3 {
  font-size:14px;
  font-weight:700;
  margin-bottom:6px;
  color:var(--c-white);
}
.gallery-item__cta {
  font-size:13px;
  font-weight:600;
  color:var(--c-pink);
  transition:color .2s;
}
.gallery-item__cta:hover {
  color:var(--c-white);
}

@media (max-width:900px) {
  .gallery-grid {
    grid-template-columns:repeat(2, 1fr);
  }
}
@media (max-width:500px) {
  .gallery-grid { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════
   FAQ PAGE
═══════════════════════════════════════════════════════════ */
.faq-list {
  max-width:720px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.faq-item {
  background:var(--c-card);
  border:1px solid var(--c-border);
  border-radius:var(--r);
  overflow:hidden;
  transition:border-color .25s ease;
}
.faq-item:hover,
.faq-item--open {
  border-color:var(--c-border-lit);
}

.faq-trigger {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  font-size:15px;
  font-weight:600;
  color:var(--c-white);
  text-align:left;
  
  background:none;
  border:none;
  transition:color .2s;
}
.faq-trigger:hover {
  color:var(--c-pink);
}

.faq-chevron {
  flex-shrink:0;
  transition:transform .3s ease;
  color:var(--c-muted);
}
.faq-item--open .faq-chevron {
  transform:rotate(180deg);
  color:var(--c-pink);
}

.faq-body {
  height:0;
  overflow:hidden;
}
.faq-body-inner {
  padding:0 20px 18px;
  font-size:15px;
  color:var(--c-muted);
  line-height:1.7;
}

/* ═══════════════════════════════════════════════════════════
   BOOKING PAGE
═══════════════════════════════════════════════════════════ */
.booking-section {
  max-width:900px;
  margin:0 auto;
}

.calendar-wrapper {
  width:100%;
  height:680px;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--c-border);
  background:var(--c-card);
  margin-bottom:32px;
}
.calendar-wrapper iframe {
  width:100%;
  height:100%;
  border:none;
}

.booking-alternatives {
  text-align:center;
  padding:32px;
  background:var(--c-card);
  border:1px solid var(--c-border);
  border-radius:var(--r-lg);
}
.booking-alternatives p {
  font-size:16px;
  font-weight:600;
  color:var(--c-muted);
  margin-bottom:16px;
}
.booking-alternatives__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}

@media (max-width:600px) {
  .calendar-wrapper {
    height:480px;
  }
  .booking-alternatives__actions {
    flex-direction:column;
  }
}

/* ═══════════════════════════════════════════════════════════
   NAV DROPDOWN (Services)
═══════════════════════════════════════════════════════════ */
.nav-item-dropdown { position:relative; }
.nav-item-dropdown > a {
  display:inline-flex; align-items:center; gap:4px;
}
.nav-item-dropdown > a::after {
  content:''; display:inline-block; width:0; height:0;
  border-left:4px solid transparent; border-right:4px solid transparent;
  border-top:5px solid currentColor; margin-left:2px;
  transition:transform .2s;
}
.nav-item-dropdown:hover > a::after { transform:rotate(180deg); }

.nav-dropdown {
  position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%);
  background:var(--c-card); border:1px solid var(--c-border);
  border-radius:var(--r); padding:8px; min-width:220px;
  opacity:0; pointer-events:none; transform:translateX(-50%) translateY(6px);
  transition:opacity .2s, transform .2s;
  box-shadow:0 12px 40px rgba(0,0,0,.5);
  z-index:210;
}
.nav-item-dropdown:hover .nav-dropdown {
  opacity:1; pointer-events:all; transform:translateX(-50%) translateY(0);
}
.nav-dropdown a {
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:8px; font-size:13px; font-weight:600;
  color:var(--c-muted); transition:var(--t); white-space:nowrap;
}
.nav-dropdown a:hover {
  background:var(--c-pink-dim); color:var(--c-pink);
}
.nav-dropdown a .nav-dd-icon {
  font-size:16px; width:20px; text-align:center; flex-shrink:0;
}
.nav-dropdown .nav-dd-divider {
  height:1px; background:var(--c-border); margin:6px 0;
}

/* ═══════════════════════════════════════════════════════════
   SERVICE CARD (sub-pages)
═══════════════════════════════════════════════════════════ */
.service-card {
  background:var(--c-card); border:1px solid var(--c-border);
  border-radius:var(--r-lg); padding:32px 28px;
  transition:var(--t); position:relative; overflow:hidden; cursor:default;
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--c-pink),transparent);
  opacity:0; transition:opacity .35s;
}
.service-card:hover { background:var(--c-card-hover); border-color:rgba(255,20,147,.3); transform:translateY(-4px); box-shadow:0 12px 40px rgba(255,20,147,.15); }
.service-card:hover::before { opacity:1; }
.service-card__icon {
  width:52px; height:52px; border-radius:14px;
  background:var(--c-pink-dim); border:1px solid rgba(255,20,147,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:24px; margin-bottom:20px; transition:var(--t);
}
.service-card:hover .service-card__icon { background:rgba(255,20,147,.2); box-shadow:0 0 20px rgba(255,20,147,.25); }
.service-card__title { font-size:18px; font-weight:800; color:#fff; margin-bottom:10px; letter-spacing:-.01em; }
.service-card__desc { font-size:14px; color:var(--c-muted); line-height:1.7; margin-bottom:18px; }
.service-card__link { font-size:13px; font-weight:700; color:var(--c-pink); display:inline-flex; align-items:center; gap:5px; transition:gap .2s; }
.service-card:hover .service-card__link { gap:9px; }

/* ═══════════════════════════════════════════════════════════
   LEGAL CONTENT
════════════════════════════════════════════════════════════ */
.legal-content h2 {
  font-size:clamp(1.1rem,2vw,1.4rem); font-weight:800; color:#fff;
  margin:40px 0 16px; letter-spacing:-.01em;
  padding-bottom:12px; border-bottom:1px solid var(--c-border);
}
.legal-content h2:first-child { margin-top:0; }
.legal-content p {
  font-size:15px; color:var(--c-muted); line-height:1.8; margin-bottom:20px;
}
.legal-content ul {
  list-style:none; padding:0; margin:0 0 24px;
}
.legal-content ul li {
  position:relative; padding-left:20px; margin-bottom:10px;
  font-size:15px; color:var(--c-muted); line-height:1.7;
}
.legal-content ul li::before {
  content:''; position:absolute; left:0; top:9px;
  width:6px; height:6px; border-radius:50%;
  background:var(--c-pink);
}
.legal-content a {
  color:var(--c-pink); text-decoration:underline; text-underline-offset:2px;
  transition:color .2s;
}
.legal-content a:hover { color:#fff; }
.legal-content strong { color:#fff; font-weight:700; }

/* ═══════════════════════════════════════════════════════════
   404 PAGE
════════════════════════════════════════════════════════════ */
.error-page { text-align:center; }
.error-page .hero__copy { max-width:640px; margin:0 auto; }
.error-num {
  font-size:clamp(5rem,12vw,8rem); font-weight:900; color:var(--c-pink);
  line-height:1; margin-bottom:8px;
}
.error-page .services-grid { max-width:720px; margin:0 auto; }
.error-page .svc-card { text-decoration:none; text-align:left; }
.error-page .svc-card__img {
  width:calc(100% + 56px); margin:-32px -28px 20px; overflow:hidden;
  aspect-ratio:16/9; border-radius:var(--r-lg) var(--r-lg) 0 0;
}
.error-page .svc-card__img img {
  width:100%; height:100%; object-fit:cover; display:block;
}
