/* ==========================================
   PEPPE UGC — Components
   Palette: GreenFusionDesigns
   ========================================== */

/* ── Reading Progress ────────────────────────────── */
.reading-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0;
  background: var(--gold); z-index: 1001;
  transition: width 0.1s linear;
}

/* ── Navigation ──────────────────────────────────── */
.site-header {
  position: fixed; top: 2px; left: 0; right: 0; z-index: 1000;
  padding: 1.4rem 0;
  transition: padding 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}
.site-header.scrolled {
  padding: 0.75rem 0;
  background: rgba(0,0,30,0.97);
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 30px rgba(0,0,0,0.25);
}
.nav-container {
  display: flex; align-items: center; justify-content: space-between;
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
}
.nav-logo {
  display: flex; align-items: center; gap: 0.6rem; z-index: 1001;
}
.logo-text {
  font-family: var(--font-display);
  font-size: 0.95rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--white); line-height: 1;
}
.logo-sub {
  font-family: var(--font-sans); font-size: 0.48rem;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); display: block;
}
.nav-menu {
  display: flex; align-items: center; gap: 2.5rem; list-style: none;
}
.nav-link {
  font-family: var(--font-sans); font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  position: relative; transition: color 0.3s;
  padding: 0.25rem 0;
}
.nav-link::after {
  content: ''; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.3s ease;
}
.nav-link:hover { color: var(--white); }
.nav-link:hover::after { width: 100%; }
.nav-link.nav-cta {
  background: var(--gold); color: var(--green-deep);
  padding: 0.6rem 1.4rem; font-weight: 700;
  border-radius: var(--radius-sm);
  letter-spacing: 0.12em;
}
.nav-link.nav-cta::after { display: none; }
.nav-link.nav-cta:hover { background: var(--gold-light); color: var(--green-deep); }
.nav-burger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 4px; z-index: 1001;
}
.nav-burger span {
  display: block; width: 22px; height: 1.5px;
  background: var(--white); border-radius: 1px;
  transition: var(--transition);
}
.nav-burger.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-burger.active span:nth-child(2) { opacity: 0; }
.nav-burger.active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
@media (max-width: 900px) {
  .nav-burger { display: flex; }
  .nav-menu {
    position: fixed; inset: 0; flex-direction: column; justify-content: center; gap: 2rem;
    background: var(--green-deep);
    transform: translateX(100%); transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
    padding: 2rem;
  }
  .nav-menu.open { transform: none; }
  .nav-link { font-size: 1.1rem; }
}

/* ── Hero ────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  background: var(--green-deep);
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding: 6rem 0 4rem;
}
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: url('../images/hero-bg.jpg');
  background-size: cover; background-position: center;
  transform: scale(1.1);
  opacity: 0.18;
  transition: transform 0.1s linear;
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    135deg,
    rgba(0,0,30,0.92) 0%,
    rgba(0,0,30,0.75) 50%,
    rgba(0,0,30,0.85) 100%
  );
}
.hero-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 5rem;
  position: relative; z-index: 2;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.4rem 1rem;
  border: 1px solid rgba(201,168,76,0.3);
  border-radius: 2px;
  font-family: var(--font-sans); font-size: 0.65rem; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.5rem;
}
.badge-dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--gold);
  animation: badgePulse 2.5s ease-in-out infinite;
}
@keyframes badgePulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.8)} }
.hero-name {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(3rem,7vw,5.5rem); line-height: 1.0;
  color: var(--white); margin-bottom: 0.5rem;
}
.name-accent { color: var(--gold); font-style: italic; }
.hero-title {
  font-family: var(--font-sans); font-size: 0.8rem; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(255,255,255,0.55); margin-bottom: 1.5rem;
}
.hero-tagline {
  font-family: var(--font-serif); font-size: clamp(1.2rem,2.5vw,1.6rem);
  font-weight: 300; font-style: italic;
  color: rgba(255,255,255,0.85); line-height: 1.5;
  margin-bottom: 2.5rem; max-width: 440px;
}
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 3rem; }
.hero-divider {
  width: 40px; height: 1px; background: rgba(201,168,76,0.4);
  margin-bottom: 1.5rem;
}
.hero-scroll-hint {
  display: flex; align-items: center; gap: 1rem;
  font-family: var(--font-sans); font-size: 0.62rem; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.35);
}
.scroll-line {
  width: 40px; height: 1px; background: rgba(255,255,255,0.15);
  position: relative; overflow: hidden;
}
.scroll-line::after {
  content: ''; position: absolute; left: -100%; top: 0;
  width: 100%; height: 100%; background: var(--gold);
  animation: scrollAnim 2s ease infinite;
}
@keyframes scrollAnim { to { left: 100%; } }

/* Hero visual */
.hero-visual { display: flex; justify-content: center; align-items: center; }
.hero-photo-frame { position: relative; width: min(400px,85vw); }
.hero-photo {
  width: 100%; height: 540px; object-fit: cover; object-position: top center;
  border-radius: 2px;
  filter: sepia(0.08) brightness(0.92) contrast(1.05);
  box-shadow: 0 40px 80px rgba(0,0,0,0.5);
}
.hero-video-frame {
  position: relative; width: min(340px,80vw);
  border-radius: 12px; overflow: visible;
}
.hero-video {
  width: 100%; height: 480px; object-fit: cover; border-radius: 12px;
  box-shadow: 0 30px 70px rgba(0,0,0,0.55);
  display: block;
}
.photo-border {
  position: absolute; inset: 12px -12px -12px 12px;
  border: 1px solid rgba(201,168,76,0.25); border-radius: 2px; z-index: -1;
}
.hero-badge-float {
  position: absolute;
  background: var(--green-glass);
  border: 1px solid rgba(201,168,76,0.2);
  backdrop-filter: blur(10px);
  border-radius: var(--radius-sm);
  padding: 0.8rem 1.1rem;
  display: flex; flex-direction: column; align-items: center;
}
.hero-badge-float--views { bottom: 80px; left: -30px; }
.hero-badge-float--brands { top: 80px; right: -30px; }
.badge-num {
  font-family: var(--font-display); font-size: 1.4rem; color: var(--gold);
  letter-spacing: 0.05em;
}
.badge-lbl {
  font-family: var(--font-sans); font-size: 0.62rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.55); margin-top: 2px;
}
@media (max-width: 900px) {
  .hero-container { grid-template-columns: 1fr; text-align: center; gap: 3rem; }
  .hero-visual { order: -1; }
  .hero-photo { height: 360px; }
  .hero-video { height: 300px; }
  .hero-video-frame { width: min(280px,85vw); }
  .hero-actions { justify-content: center; }
  .hero-scroll-hint { justify-content: center; }
  .hero-tagline { margin: 0 auto 2rem; }
  .hero-badge-float--views { bottom: 30px; left: 10px; }
  .hero-badge-float--brands { top: 30px; right: 10px; }
}

/* ── Stats Bar ───────────────────────────────────── */
.stats-bar {
  background: var(--green-primary);
  padding: 3rem 0;
  border-top: 1px solid rgba(201,168,76,0.12);
  border-bottom: 1px solid rgba(201,168,76,0.12);
}
.stats-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 1rem;
}
.stat-item { flex: 1; min-width: 160px; text-align: center; }
.stat-num {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2rem,4vw,2.8rem);
  color: var(--gold); letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
}
.stat-lbl {
  font-family: var(--font-sans); font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.stat-divider { width: 1px; height: 48px; background: rgba(201,168,76,0.2); }
@media (max-width: 600px) { .stat-divider { display: none; } }

/* ── About ───────────────────────────────────────── */
.about { padding: 8rem 0; background: var(--off-white); }
.about-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 6rem;
}
.about-photo-wrap { position: relative; }
.about-photo {
  width: 100%; max-width: 480px; height: 580px;
  object-fit: cover; object-position: top center;
  border-radius: 2px;
  box-shadow: var(--shadow-lg);
  filter: sepia(0.05) contrast(1.04);
}
.about-photo-deco {
  position: absolute; inset: 16px -16px -16px 16px;
  border: 1px solid rgba(201,168,76,0.35); border-radius: 2px; z-index: -1;
}
.about-content .section-title { color: var(--green-deep); }
.about-text { margin-bottom: 1.2rem; color: var(--gray-700); }
.about-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.5rem 0 2rem; }
@media (max-width: 900px) {
  .about-container { grid-template-columns: 1fr; gap: 3rem; }
  .about-photo { height: 380px; }
}

/* ── Services ────────────────────────────────────── */
.services { padding: 8rem 0; background: var(--green-deep); }
.services-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
}
.services-header { text-align: center; margin-bottom: 4rem; }
.services-header .section-title { color: var(--white); }
.services-header .section-sub { color: rgba(255,255,255,0.5); margin: 0 auto; }
.services-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5px;
}
.service-card {
  background: var(--green-primary);
  border: 1px solid rgba(201,168,76,0.08);
  overflow: hidden;
  transition: var(--transition);
}
.service-card:hover {
  background: var(--green-mid);
  border-color: rgba(201,168,76,0.2);
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.service-card-img {
  height: 200px; background-size: cover; background-position: center;
  position: relative; overflow: hidden;
}
.service-card-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
  filter: sepia(0.1) brightness(0.75);
}
.service-card:hover .service-card-img img { transform: scale(1.06); }
.service-card-body { padding: 1.75rem; }
.service-icon {
  width: 44px; height: 44px;
  border: 1px solid rgba(201,168,76,0.25);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); margin-bottom: 1rem;
}
.service-title {
  font-family: var(--font-serif); font-weight: 400;
  font-size: 1.4rem; color: var(--white);
  margin-bottom: 0.7rem;
}
.service-desc { font-size: 0.87rem; color: rgba(255,255,255,0.5); line-height: 1.7; }
@media (max-width: 1024px) { .services-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px)  { .services-grid { grid-template-columns: 1fr; } }

/* ── Portfolio ───────────────────────────────────── */
.portfolio { padding: 8rem 0; background: var(--off-white); }
.portfolio-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
}
.portfolio-header { text-align: center; margin-bottom: 4rem; }
.portfolio-header .section-title { color: var(--green-deep); }
.portfolio-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem;
}
.video-card {
  background: var(--white);
  border: 1px solid rgba(0,0,128,0.08);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}
.video-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-md);
  border-color: rgba(201,168,76,0.25);
}
.video-embed-wrap {
  position: relative; padding-top: 177.77%; overflow: hidden;
}
.video-embed-wrap iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: none;
}
.video-card-title {
  padding: 0.75rem 1rem;
  font-family: var(--font-sans); font-size: 0.75rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--gray-500);
  border-top: 1px solid rgba(0,0,128,0.06);
}
.portfolio-placeholder {
  grid-column: 1/-1; text-align: center; padding: 5rem 2rem;
  border: 1px dashed rgba(0,0,128,0.15);
  color: var(--gray-500);
}
.placeholder-icon { margin: 0 auto 1.5rem; color: var(--gold); }
.placeholder-icon svg { margin: 0 auto; }
.portfolio-placeholder p { margin-bottom: 2rem; max-width: 460px; margin-left: auto; margin-right: auto; }
@media (max-width: 900px) { .portfolio-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 580px) { .portfolio-grid { grid-template-columns: 1fr; } }

/* ── Instagram Reels Grid ────────────────────────── */
.ig-reels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.ig-reel-card { border-radius: var(--radius); overflow: hidden; }
.ig-reel-wrap {
  position: relative;
  padding-bottom: 177.78%; /* 9:16 */
  height: 0;
  overflow: hidden;
  background: var(--green-deep);
  border-radius: var(--radius);
}
.ig-reel-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}
@media (max-width: 900px) { .ig-reels-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .ig-reels-grid { grid-template-columns: 1fr; max-width: 380px; margin-left: auto; margin-right: auto; } }

/* ── Instagram ───────────────────────────────────── */
.instagram-section { padding: 8rem 0; background: var(--green-deep); }
.ig-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 5rem;
}
.ig-text .section-title { color: var(--white); }
.ig-text .section-sub { color: rgba(255,255,255,0.5); margin-bottom: 2rem; }
.ig-mockup { display: flex; justify-content: center; }
.ig-phone {
  width: 260px; background: var(--green-primary);
  border-radius: 30px; border: 1px solid rgba(201,168,76,0.15);
  padding: 14px 10px;
  box-shadow: 0 40px 80px rgba(0,0,0,0.4), 0 0 0 1px rgba(201,168,76,0.08);
}
.ig-phone::before {
  content: ''; display: block; width: 70px; height: 3px;
  background: rgba(255,255,255,0.1); border-radius: 2px;
  margin: 0 auto 12px;
}
.ig-phone-screen { background: #000010; border-radius: 22px; overflow: hidden; }
.ig-profile-header {
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.7rem 0.8rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.ig-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 1.5px solid var(--gold); }
.ig-profile-info strong { display: block; font-size: 0.76rem; font-weight: 600; color: var(--white); font-family: var(--font-sans); }
.ig-profile-info span  { font-size: 0.62rem; color: rgba(255,255,255,0.4); font-family: var(--font-sans); }
.ig-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5px; }
.ig-cell { aspect-ratio: 1; background-size: cover; background-position: center; filter: brightness(0.82) sepia(0.08); transition: filter 0.3s; }
.ig-cell:hover { filter: brightness(1); }
.ig-sub { margin-bottom: 2rem; }
@media (max-width: 900px) {
  .ig-container { grid-template-columns: 1fr; gap: 3rem; text-align: center; }
  .ig-text .section-sub, .ig-sub { margin: 0 auto 2rem; }
  .ig-mockup { justify-content: center; }
}

/* ── Contact ─────────────────────────────────────── */
.contact-section { padding: 8rem 0; background: var(--off-white); }
.contact-container {
  max-width: 860px; margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
}
.contact-header { text-align: center; margin-bottom: 3.5rem; }
.contact-header .section-title { color: var(--green-deep); }
.contact-header .section-sub { margin: 0 auto; }

.contact-cta-wrap { text-align: center; margin-bottom: 2rem; }
.btn-email-cta {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-size: 1rem; letter-spacing: 0.04em; text-transform: none;
  padding: 1rem 2.4rem;
}
.wa-cta { text-align: center; margin-top: 1.5rem; }
.btn-wa {
  display: inline-flex; align-items: center; gap: 0.6rem;
  padding: 0.85rem 2rem; background: #25D366; color: var(--white);
  font-family: var(--font-sans); font-weight: 600; font-size: 0.8rem;
  letter-spacing: 0.12em; text-transform: uppercase;
  border-radius: var(--radius-sm); border: none; cursor: none;
  transition: var(--transition);
  box-shadow: 0 4px 20px rgba(37,211,102,0.2);
}
.btn-wa:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(37,211,102,0.3); }
@media (max-width: 600px) { .btn-email-cta { font-size: 0.88rem; padding: 0.9rem 1.6rem; } }

/* ── Footer ──────────────────────────────────────── */
.site-footer { background: var(--green-deep); padding: 3rem 1.5rem; border-top: 1px solid rgba(201,168,76,0.1); }
.footer-inner {
  max-width: var(--container); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1.5rem;
}
.footer-brand { display: flex; flex-direction: column; gap: 0.3rem; }
.footer-logo {
  font-family: var(--font-display); font-size: 1.1rem;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold);
}
.footer-brand p { font-size: 0.75rem; color: rgba(255,255,255,0.35); letter-spacing: 0.1em; font-family: var(--font-sans); }
.footer-social { display: flex; gap: 0.75rem; }
.footer-social-link {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(201,168,76,0.2); color: rgba(255,255,255,0.4);
  transition: var(--transition); border-radius: var(--radius-sm);
}
.footer-social-link:hover { border-color: var(--gold); color: var(--gold); }
.footer-copy { font-size: 0.75rem; color: rgba(255,255,255,0.3); font-family: var(--font-sans); letter-spacing: 0.05em; }
.footer-copy a { color: var(--gold); }
.footer-copy a:hover { text-decoration: underline; }

/* ── Music Player (GFD style) ────────────────────── */
.music-player {
  position: fixed; bottom: 88px; right: 20px;
  z-index: 9990;
  display: flex; align-items: center; gap: 8px; flex-direction: row-reverse;
}
.music-btn {
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(0,0,30,0.92);
  border: 1px solid rgba(201,168,76,0.3);
  backdrop-filter: blur(12px);
  cursor: none; display: flex; align-items: center; justify-content: center;
  color: var(--gold);
  transition: border-color .3s, box-shadow .3s;
}
.music-btn:hover { border-color: var(--gold); box-shadow: var(--shadow-gold); }
.music-btn.playing { border-color: var(--gold); box-shadow: 0 0 20px rgba(201,168,76,0.2); }
.music-bars { display: none; align-items: flex-end; gap: 2.5px; height: 16px; }
.music-btn.playing .music-icon { display: none !important; }
.music-btn.playing .music-bars { display: flex; }
.music-bars span {
  display: block; width: 2.5px; background: var(--gold); border-radius: 2px;
  animation: musicBar 0.8s ease-in-out infinite;
}
.music-bars span:nth-child(1) { height:7px;  animation-delay:0s;    animation-duration:0.7s; }
.music-bars span:nth-child(2) { height:14px; animation-delay:0.15s; animation-duration:0.9s; }
.music-bars span:nth-child(3) { height:10px; animation-delay:0.3s;  animation-duration:0.75s;}
.music-bars span:nth-child(4) { height:5px;  animation-delay:0.1s;  animation-duration:0.85s;}
@keyframes musicBar { 0%,100%{transform:scaleY(1);opacity:1} 50%{transform:scaleY(.4);opacity:.7} }
.music-label {
  font-family: var(--font-sans); font-size: 0.62rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(201,168,76,0.6);
  opacity: 0; transform: translateX(6px);
  transition: opacity .3s, transform .3s; pointer-events: none; white-space: nowrap;
}
.music-player:hover .music-label { opacity: 1; transform: none; }
@media (max-width: 480px) { .music-player { bottom: 84px; right: 16px; } .music-label { display: none; } }

/* ── Page Hero ───────────────────────────────────── */
.page-hero {
  min-height: 50vh; display: flex; align-items: flex-end;
  position: relative; overflow: hidden;
  padding: 8rem 0 4rem;
}
.page-hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  transform: scale(1.06); opacity: 0.22;
  filter: grayscale(0.3);
}
.page-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,26,0.8) 0%, rgba(0,0,26,0.95) 100%);
}
.page-hero-content {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  position: relative; z-index: 2;
  text-align: center;
}
.page-hero-title {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(2.5rem,6vw,4.5rem); color: var(--white);
  line-height: 1.1; margin-bottom: 0.75rem;
}
.page-hero-sub {
  font-size: 1rem; color: rgba(255,255,255,0.5);
  letter-spacing: 0.05em; margin-bottom: 1.5rem;
}
.page-hero-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 1rem; }

/* ── Teaser Section (homepage) ───────────────────── */
.teaser-section { padding: 7rem 0; background: var(--off-white); }
.teaser-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5px;
}
.teaser-card {
  display: block; overflow: hidden;
  background: var(--white); border: 1px solid rgba(0,0,128,0.08);
  text-decoration: none; color: inherit;
  transition: var(--transition);
}
.teaser-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: rgba(0,0,128,0.18); }
.teaser-img {
  height: 240px; background-size: cover; background-position: center;
  filter: brightness(0.82) sepia(0.08);
  transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94), filter 0.4s;
}
.teaser-card:hover .teaser-img { transform: scale(1.04); filter: brightness(0.92); }
.teaser-body { padding: 1.75rem; }
.teaser-title {
  font-family: var(--font-serif); font-size: 1.35rem; font-weight: 400;
  color: var(--green-deep); margin: 0.5rem 0 1rem; line-height: 1.3;
}
.teaser-link {
  font-family: var(--font-sans); font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold);
  display: inline-flex; align-items: center; gap: 0.4rem;
}
.teaser-link span { transition: transform 0.3s; }
.teaser-card:hover .teaser-link span { transform: translateX(4px); }
@media (max-width: 900px) { .teaser-container { grid-template-columns: 1fr; } .teaser-img { height: 200px; } }

/* ── About CTAs ──────────────────────────────────── */
.about-ctas { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }

/* ── Hero Social links ───────────────────────────── */
.hero-social { display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; }
.hero-social-link {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(201,168,76,0.25); border-radius: 50%;
  color: rgba(255,255,255,0.5);
  transition: var(--transition);
}
.hero-social-link:hover { border-color: var(--gold); color: var(--gold); }

/* ── Nav YouTube link ────────────────────────────── */
.nav-link-yt {
  display: inline-flex; align-items: center; gap: 0.4rem;
  color: rgba(255,255,255,0.6) !important;
}
.nav-link-yt:hover { color: #FF0000 !important; }
.nav-link-yt::after { background: #FF0000 !important; }

/* ── Inner CTA Section ───────────────────────────── */
.inner-cta-section { padding: 6rem 0; background: var(--green-primary); }
.inner-cta-container {
  max-width: 700px; margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  text-align: center;
}
.inner-cta-title {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(1.8rem,3.5vw,2.8rem); color: var(--white);
  margin-bottom: 0.75rem;
}
.inner-cta-section p { color: rgba(255,255,255,0.55); margin-bottom: 2rem; }
.inner-cta-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ── Process Section ─────────────────────────────── */
.process-section { padding: 7rem 0; background: var(--green-deep); }
.process-container { max-width: var(--container); margin: 0 auto; padding: 0 clamp(1rem,5vw,4rem); }
.process-steps {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem;
  margin-top: 3rem;
}
.process-step { text-align: center; }
.process-num {
  font-family: var(--font-display); font-size: 2.5rem; color: rgba(201,168,76,0.2);
  display: block; margin-bottom: 1rem; letter-spacing: 0.1em;
}
.process-title {
  font-family: var(--font-serif); font-size: 1.2rem; color: var(--white);
  margin-bottom: 0.6rem; font-weight: 400;
}
.process-desc { font-size: 0.87rem; color: rgba(255,255,255,0.45); line-height: 1.7; }
@media (max-width: 900px) { .process-steps { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 500px) { .process-steps { grid-template-columns: 1fr; } }

/* ── Page content section ────────────────────────── */
.page-content-section { padding: 5rem 0; background: var(--white); }
.page-content-inner { max-width: 860px; margin: 0 auto; padding: 0 clamp(1rem,5vw,4rem); }
.wp-content-grid .wp-block-embed { margin-bottom: 1.5rem; }
.wp-content-grid .wp-block-embed__wrapper { position: relative; padding-top: 56.25%; }
.wp-content-grid .wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ── Admin hint ──────────────────────────────────── */
.admin-hint {
  background: #fffbea; border-top: 2px solid var(--gold);
  padding: 1.25rem 1.5rem;
}
.admin-hint-inner {
  max-width: var(--container); margin: 0 auto;
  display: flex; align-items: flex-start; gap: 1rem;
  color: #5a4000;
}
.admin-hint-inner svg { flex-shrink: 0; margin-top: 2px; }
.admin-hint-inner strong { display: block; font-size: 0.9rem; margin-bottom: 0.4rem; }
.admin-hint-inner p { font-size: 0.82rem; line-height: 1.6; margin-bottom: 0.25rem; color: #6b5200; }
.admin-hint-inner a { color: var(--green-primary); font-weight: 600; text-decoration: underline; }

/* ── Music Player in Header Nav ─────────────────── */
.nav-music { display: flex; align-items: center; }
.nav-music-btn {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid rgba(201,168,76,0.3);
  border-radius: 50px;
  background: transparent; color: var(--gold);
  font-family: var(--font-sans); font-size: 0.62rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  cursor: none; transition: var(--transition);
}
.nav-music-btn:hover { background: rgba(201,168,76,0.1); border-color: var(--gold); }
.nav-music-btn.playing { background: rgba(201,168,76,0.12); border-color: var(--gold); }
.nav-music-label { font-size: 0.75rem; }
.nav-music-bars {
  display: none; align-items: flex-end; gap: 2px; height: 12px;
}
.nav-music-btn.playing .nav-music-icon { display: none !important; }
.nav-music-btn.playing .nav-music-bars { display: flex; }
.nav-music-bars span {
  display: block; width: 2px; background: var(--gold); border-radius: 1px;
  animation: navMusicBar 0.7s ease-in-out infinite;
}
.nav-music-bars span:nth-child(1){height:5px; animation-delay:0s;}
.nav-music-bars span:nth-child(2){height:10px;animation-delay:.15s;}
.nav-music-bars span:nth-child(3){height:7px; animation-delay:.3s;}
@keyframes navMusicBar{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.35)}}
@media (max-width: 900px) { .nav-music { display: none; } }

/* ── Services Page — Cinematic Hero ─────────────── */
.srv-hero {
  min-height: 100vh; background: var(--green-deep);
  display: flex; align-items: center;
  position: relative; overflow: hidden; padding: 7rem 0 4rem;
}
.srv-hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 70% 60% at 80% 50%, rgba(0,0,128,0.25) 0%, transparent 65%),
              radial-gradient(ellipse 50% 80% at 10% 80%, rgba(201,168,76,0.06) 0%, transparent 60%);
}
.srv-hero-overlay { position: absolute; inset: 0; z-index: 0; }
.srv-hero-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 4rem;
  position: relative; z-index: 2;
}
.srv-hero-title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: clamp(2.2rem,5vw,4rem); color: var(--white);
  line-height: 1.15; margin-bottom: 1.2rem;
}
.srv-hero-title em { color: var(--gold); font-style: italic; }
.srv-hero-sub {
  font-size: 1rem; color: rgba(255,255,255,0.55);
  line-height: 1.75; margin-bottom: 2rem; max-width: 460px;
}
.srv-hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Character card (Pixar avatar) */
.srv-hero-character { display: flex; justify-content: center; align-items: center; }
.character-card {
  position: relative; width: min(320px, 80vw);
  transform: rotate(3deg);
  transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}
.character-card:hover { transform: rotate(0deg) scale(1.02); }
.character-glow {
  position: absolute; inset: -20px;
  background: radial-gradient(ellipse, rgba(201,168,76,0.2) 0%, transparent 65%);
  border-radius: 50%; z-index: 0; filter: blur(20px);
}
.character-img {
  width: 100%; border-radius: 16px; position: relative; z-index: 1;
  box-shadow: 0 40px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.15);
  filter: brightness(1.05) contrast(1.02);
}
.character-badge {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,26,0.85); border: 1px solid var(--gold);
  backdrop-filter: blur(10px); border-radius: 50px;
  padding: 0.4rem 1rem; z-index: 2;
  display: flex; align-items: center; gap: 0.4rem;
  font-family: var(--font-sans); font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold);
  white-space: nowrap;
}
.char-badge-icon { color: var(--gold); }
/* Floating tags around character */
.character-tag {
  position: absolute; z-index: 2;
  background: rgba(0,0,26,0.8); border: 1px solid rgba(201,168,76,0.2);
  backdrop-filter: blur(8px); border-radius: 50px;
  padding: 0.3rem 0.75rem;
  font-family: var(--font-sans); font-size: 0.65rem; font-weight: 700;
  color: rgba(255,255,255,0.8); white-space: nowrap;
  animation: floatTag 3s ease-in-out infinite;
}
.character-tag--1 { top: 20px;  right: -20px; animation-delay: 0s; }
.character-tag--2 { top: 45%;   left: -25px;  animation-delay: 0.8s; }
.character-tag--3 { bottom: 65px; right: -15px; animation-delay: 1.5s; }
@keyframes floatTag { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@media (max-width: 900px) {
  .srv-hero-container { grid-template-columns: 1fr; text-align: center; gap: 3rem; }
  .srv-hero-btns { justify-content: center; }
  .character-card { width: min(240px, 65vw); }
  .character-tag--1, .character-tag--2, .character-tag--3 { display: none; }
}

/* ── Pixar Intro Section ─────────────────────────── */
.pixar-intro { padding: 7rem 0; background: var(--off-white); }
.pixar-intro-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1.4fr;
  align-items: center; gap: 5rem;
}
.pixar-intro-avatar { position: relative; }
.pixar-avatar-img {
  width: min(300px, 85%); border-radius: 12px;
  box-shadow: var(--shadow-lg);
  filter: brightness(1.03) contrast(1.02);
}
.pixar-speech-bubble {
  position: absolute; top: -20px; right: -30px;
  background: var(--white); border: 1.5px solid var(--gold);
  border-radius: 16px 16px 16px 4px;
  padding: 1rem 1.2rem; max-width: 220px;
  font-family: var(--font-serif); font-size: 0.95rem;
  font-style: italic; color: var(--green-deep); line-height: 1.5;
  box-shadow: var(--shadow-md);
}
.pixar-speech-bubble em { color: var(--green-primary); font-style: italic; font-weight: 600; }
.pixar-speech-bubble::before {
  content: '"';
  position: absolute; top: -12px; left: 12px;
  font-family: var(--font-display); font-size: 2rem; color: var(--gold); line-height: 1;
}
.pixar-stats { display: flex; gap: 2rem; margin-top: 1.5rem; }
.pstat { display: flex; flex-direction: column; gap: 0.2rem; }
.pstat-num {
  font-family: var(--font-display); font-size: 1.6rem;
  color: var(--green-primary); letter-spacing: 0.05em;
}
.pstat-lbl {
  font-family: var(--font-sans); font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-500);
}
@media (max-width: 900px) {
  .pixar-intro-container { grid-template-columns: 1fr; gap: 3rem; text-align: center; }
  .pixar-speech-bubble { position: relative; top: auto; right: auto; margin: 1rem auto 0; }
  .pixar-stats { justify-content: center; }
}

/* ── Instagram Posts Section ─────────────────────── */
.ig-posts-section { padding: 7rem 0; background: var(--white); }
.ig-posts-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
}
.ig-posts-header { text-align: center; margin-bottom: 3rem; }
.ig-posts-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem;
}
.ig-post-card {
  background: var(--off-white); border: 1px solid rgba(0,0,128,0.08);
  border-radius: var(--radius-md); overflow: hidden;
  transition: var(--transition);
}
.ig-post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.ig-post-embed {
  position: relative; padding-top: 125%; /* 4:5 ratio */
  overflow: hidden;
}
.ig-post-embed iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: none;
}
@media (max-width: 900px) { .ig-posts-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .ig-posts-grid { grid-template-columns: 1fr; } }

/* ── Instagram Follow Block (no posts) ──────────── */
.ig-follow-block { max-width: 700px; margin: 0 auto; text-align: center; padding: 3rem; }
.ig-follow-inner {
  display: flex; align-items: center; gap: 3rem;
  background: var(--off-white); border: 1px solid rgba(0,0,128,0.08);
  border-radius: var(--radius-lg); padding: 2.5rem;
  text-align: left;
}
.ig-avatar-big {
  flex-shrink: 0; width: 100px; height: 100px; border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--gold);
  box-shadow: var(--shadow-gold);
}
.ig-avatar-big img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ig-follow-text h3 { font-family: var(--font-sans); font-size: 1.1rem; font-weight: 700; color: var(--green-deep); margin-bottom: 0.5rem; }
.ig-follow-text p { font-size: 0.9rem; color: var(--gray-500); margin-bottom: 1rem; line-height: 1.6; }
.ig-follow-stats { display: flex; gap: 1.5rem; margin-bottom: 1.2rem; }
.ig-follow-stats span { font-family: var(--font-display); font-size: 1.2rem; color: var(--green-primary); }
.ig-follow-stats small { font-family: var(--font-sans); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-500); display: block; }
.btn-ig {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
  color: var(--white); font-family: var(--font-sans); font-size: 0.78rem;
  font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  border-radius: 50px; cursor: none; transition: var(--transition);
  box-shadow: 0 4px 20px rgba(131,58,180,0.25);
}
.btn-ig:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(131,58,180,0.35); }
.ig-admin-hint {
  margin-top: 1.5rem; font-size: 0.8rem; color: var(--gray-500);
  font-style: italic; text-align: center;
}
@media (max-width: 600px) {
  .ig-follow-inner { flex-direction: column; text-align: center; }
  .ig-follow-stats { justify-content: center; }
}

/* ── CTA Pixar Mini ──────────────────────────────── */
.cta-pixar-mini {
  width: 80px; height: 80px; border-radius: 50%;
  object-fit: cover; object-position: top;
  border: 2px solid var(--gold);
  margin: 0 auto 1.5rem; display: block;
  box-shadow: var(--shadow-gold);
}

/* ── Inner page: header always dark ─────────────── */
.inner-page .site-header {
  background: rgba(0,0,26,0.97) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 30px rgba(0,0,0,0.25);
}
/* Music button always shown (also on mobile) */
@media (max-width: 900px) {
  .nav-music { display: flex !important; }
  .nav-music-label { display: none; }
  .nav-music-btn { width: 36px; height: 36px; padding: 0; justify-content: center; }
}

/* ── Services hero (srv-hero) ─────────────────────── */
.srv-hero {
  min-height: 100vh; background: var(--green-deep);
  display: flex; align-items: center;
  position: relative; overflow: hidden; padding: 7rem 0 4rem;
}
.srv-hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 70% 60% at 80% 50%, rgba(0,0,128,0.25) 0%, transparent 65%),
              radial-gradient(ellipse 50% 80% at 10% 80%, rgba(201,168,76,0.06) 0%, transparent 60%);
}
.srv-hero-overlay { position: absolute; inset: 0; z-index: 0; }
.srv-hero-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 4rem; position: relative; z-index: 2;
}
.srv-hero-title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: clamp(2.2rem,5vw,4rem); color: var(--white); line-height: 1.15; margin-bottom: 1.2rem;
}
.srv-hero-title em { color: var(--gold); font-style: italic; }
.srv-hero-sub { font-size: 1rem; color: rgba(255,255,255,0.55); line-height: 1.75; margin-bottom: 2rem; max-width: 460px; }
.srv-hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }
.srv-hero-character { display: flex; justify-content: center; align-items: center; }
.character-card {
  position: relative; width: min(320px,80vw);
  transform: rotate(3deg); transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}
.character-card:hover { transform: rotate(0deg) scale(1.02); }
.character-glow {
  position: absolute; inset: -20px;
  background: radial-gradient(ellipse, rgba(201,168,76,0.2) 0%, transparent 65%);
  border-radius: 50%; z-index: 0; filter: blur(20px);
}
.character-img {
  width: 100%; border-radius: 16px; position: relative; z-index: 1;
  box-shadow: 0 40px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.15);
}
.character-badge {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,26,0.85); border: 1px solid var(--gold);
  backdrop-filter: blur(10px); border-radius: 50px; padding: 0.4rem 1rem; z-index: 2;
  display: flex; align-items: center; gap: 0.4rem;
  font-family: var(--font-sans); font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); white-space: nowrap;
}
.character-tag {
  position: absolute; z-index: 2;
  background: rgba(0,0,26,0.8); border: 1px solid rgba(201,168,76,0.2);
  backdrop-filter: blur(8px); border-radius: 50px; padding: 0.3rem 0.75rem;
  font-family: var(--font-sans); font-size: 0.65rem; font-weight: 700;
  color: rgba(255,255,255,0.8); white-space: nowrap;
  animation: floatTag 3s ease-in-out infinite;
}
.character-tag--1 { top: 20px;   right: -20px; animation-delay: 0s; }
.character-tag--2 { top: 45%;    left: -25px;  animation-delay: 0.8s; }
.character-tag--3 { bottom: 65px;right: -15px; animation-delay: 1.5s; }
@keyframes floatTag { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@media (max-width: 900px) {
  .srv-hero-container { grid-template-columns:1fr; text-align:center; gap:3rem; }
  .srv-hero-btns { justify-content:center; }
  .character-card { width: min(240px,65vw); }
  .character-tag--1,.character-tag--2,.character-tag--3 { display:none; }
}

/* ── Pixar Intro ─────────────────────────────────── */
.pixar-intro { padding: 7rem 0; background: var(--off-white); }
.pixar-intro-container {
  max-width: var(--container); margin: 0 auto; padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1.4fr; align-items: center; gap: 5rem;
}
.pixar-intro-avatar { position: relative; }
.pixar-avatar-img { width: min(300px,85%); border-radius: 12px; box-shadow: var(--shadow-lg); }
.pixar-speech-bubble {
  position: absolute; top: -20px; right: -30px;
  background: var(--white); border: 1.5px solid var(--gold);
  border-radius: 16px 16px 16px 4px; padding: 1rem 1.2rem; max-width: 220px;
  font-family: var(--font-serif); font-size: 0.95rem; font-style: italic;
  color: var(--green-deep); line-height: 1.5; box-shadow: var(--shadow-md);
}
.pixar-speech-bubble em { color: var(--green-primary); font-style:italic; font-weight:600; }
.pixar-speech-bubble::before {
  content:'"'; position:absolute; top:-12px; left:12px;
  font-family:var(--font-display); font-size:2rem; color:var(--gold); line-height:1;
}
.pixar-stats { display:flex; gap:2rem; margin-top:1.5rem; }
.pstat { display:flex; flex-direction:column; gap:0.2rem; }
.pstat-num { font-family:var(--font-display); font-size:1.6rem; color:var(--green-primary); }
.pstat-lbl { font-family:var(--font-sans); font-size:0.7rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--gray-500); }
@media (max-width:900px) {
  .pixar-intro-container { grid-template-columns:1fr; gap:3rem; text-align:center; }
  .pixar-speech-bubble { position:relative; top:auto; right:auto; margin:1rem auto 0; }
  .pixar-stats { justify-content:center; }
}

/* ── Instagram Posts ─────────────────────────────── */
.ig-posts-section { padding: 7rem 0; background: var(--white); }
.ig-posts-container { max-width:var(--container); margin:0 auto; padding:0 clamp(1rem,5vw,4rem); }
.ig-posts-header { text-align:center; margin-bottom:3rem; }
.ig-posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.ig-post-card {
  background:var(--off-white); border:1px solid rgba(0,0,128,0.08);
  border-radius:var(--radius-md); overflow:hidden; transition:var(--transition);
}
.ig-post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ig-post-embed { position:relative; padding-top:125%; overflow:hidden; }
.ig-post-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:none; }
@media (max-width:900px) { .ig-posts-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px) { .ig-posts-grid { grid-template-columns:1fr; } }
.ig-follow-block { max-width:700px; margin:0 auto; text-align:center; padding:3rem; }
.ig-follow-inner {
  display:flex; align-items:center; gap:3rem;
  background:var(--off-white); border:1px solid rgba(0,0,128,0.08);
  border-radius:var(--radius-lg); padding:2.5rem; text-align:left;
}
.ig-avatar-big { flex-shrink:0; width:100px; height:100px; border-radius:50%; overflow:hidden; border:3px solid var(--gold); box-shadow:var(--shadow-gold); }
.ig-avatar-big img { width:100%; height:100%; object-fit:cover; object-position:top; }
.ig-follow-text h3 { font-family:var(--font-sans); font-size:1.1rem; font-weight:700; color:var(--green-deep); margin-bottom:0.5rem; }
.ig-follow-text p { font-size:0.9rem; color:var(--gray-500); margin-bottom:1rem; line-height:1.6; }
.ig-follow-stats { display:flex; gap:1.5rem; margin-bottom:1.2rem; }
.ig-follow-stats span { font-family:var(--font-display); font-size:1.2rem; color:var(--green-primary); }
.ig-follow-stats small { font-family:var(--font-sans); font-size:0.65rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--gray-500); display:block; }
.btn-ig {
  display:inline-flex; align-items:center; gap:0.5rem; padding:0.75rem 1.5rem;
  background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%);
  color:var(--white); font-family:var(--font-sans); font-size:0.78rem; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; cursor:none;
  transition:var(--transition); box-shadow:0 4px 20px rgba(131,58,180,0.25);
}
.btn-ig:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(131,58,180,0.35); }
.ig-admin-hint { margin-top:1.5rem; font-size:0.8rem; color:var(--gray-500); font-style:italic; text-align:center; }
@media (max-width:600px) { .ig-follow-inner { flex-direction:column; text-align:center; } .ig-follow-stats { justify-content:center; } }

/* ── CTA Pixar mini ──────────────────────────────── */
.cta-pixar-mini { width:80px; height:80px; border-radius:50%; object-fit:cover; object-position:top; border:2px solid var(--gold); margin:0 auto 1.5rem; display:block; box-shadow:var(--shadow-gold); }

/* ── Homepage Pixar Welcome ──────────────────────── */
.pixar-welcome {
  padding: 7rem 0;
  background: linear-gradient(135deg, var(--green-deep) 0%, #000033 50%, var(--green-deep) 100%);
  overflow: hidden; position: relative;
}
.pixar-welcome::before {
  content: ''; position: absolute; top: -50%; left: 50%; transform: translateX(-50%);
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.pixar-welcome-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5rem;
}
.pixar-welcome-video-wrap {
  position: relative; border-radius: 20px; overflow: hidden;
  box-shadow: 0 40px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.15);
}
.pixar-welcome-video-wrap video,
.pixar-welcome-video-wrap iframe {
  width: 100%; aspect-ratio: 16/9; display: block; border: none;
}
.pixar-welcome-img-wrap {
  position: relative; display: flex; justify-content: center;
}
.pixar-welcome-img {
  width: min(340px, 85vw); border-radius: 20px;
  box-shadow: 0 40px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.15);
  animation: welcomeFloat 4s ease-in-out infinite;
}
@keyframes welcomeFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.pixar-welcome-text { max-width: 500px; }
.pixar-welcome-title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: clamp(2rem,4vw,3.2rem); color: var(--white); line-height: 1.2; margin-bottom: 1.2rem;
}
.pixar-welcome-title em { color: var(--gold); font-style: italic; }
.pixar-welcome-sub { font-size: 1rem; color: rgba(255,255,255,0.55); line-height: 1.75; margin-bottom: 2rem; }
@media (max-width:900px) {
  .pixar-welcome-container { grid-template-columns:1fr; gap:3rem; text-align:center; }
}

/* ── Welcome Video Section ───────────────────────── */
.welcome-video-section {
  padding: 6rem 0;
  background: var(--green-deep);
  overflow: hidden;
}
.welcome-video-container {
  max-width: var(--container); margin: 0 auto;
  padding: 0 clamp(1rem,5vw,4rem);
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 5rem;
}
.welcome-video-title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: clamp(2rem,4vw,3.2rem); color: var(--white);
  line-height: 1.2; margin-bottom: 1rem;
}
.welcome-video-title em { color: var(--gold); font-style: italic; }
.welcome-video-sub {
  font-size: 1rem; color: rgba(255,255,255,0.55);
  line-height: 1.75; margin-bottom: 2rem;
}
.welcome-video-wrap video {
  display: block; width: 100%;
}
@media (max-width: 900px) {
  .welcome-video-container { grid-template-columns: 1fr; gap: 2.5rem; text-align: center; }
}
