/* ===================================================================
   VOXO MEDIA — Design System (Vanilla CSS)
   =================================================================== */

/* --- RESET --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit;border:none;background:none}
button{cursor:pointer}
ul,ol{list-style:none}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}

/* --- CUSTOM PROPERTIES --------------------------------------------- */
:root{
  /* Fonts */
  --font-display:"Archivo Black","Arial Black",sans-serif;
  --font-sans:"Inter",system-ui,sans-serif;
  --font-hand:"Caveat",cursive;

  /* Radius */
  --radius:1rem;

  /* Semantic colors */
  --background:#faf9f6;
  --foreground:#111118;
  --card:#ffffff;
  --muted:#f0efec;
  --muted-fg:#71717a;
  --border:rgba(0,0,0,0.08);

  /* Brand palette */
  --pink:#e6246a;
  --orange:#d95f30;
  --purple:#8b2fc9;
  --blue:#3b72d9;
  --cyan:#34a8b0;
  --yellow:#c9a825;
  --ink:#111118;
  --cream:#f8f6f0;

  /* Gradients */
  --gradient-rainbow:linear-gradient(90deg,#ff2d87 0%,#ff5a3c 25%,#ffb13c 50%,#c742ff 75%,#2d8fff 100%);
  --gradient-pink:linear-gradient(135deg,#ff2d87 0%,#ff5fa8 100%);
  --gradient-sunset:linear-gradient(90deg,#ff2d87 0%,#ff5a3c 50%,#ffb13c 100%);
}

/* --- BASE ---------------------------------------------------------- */
html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  scroll-behavior:smooth;
}
body{
  background:var(--background);
  color:var(--foreground);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  letter-spacing:-0.02em;
  line-height:0.95;
}

/* --- TYPOGRAPHY ---------------------------------------------------- */
.font-display{font-family:var(--font-display)}
.font-hand{font-family:var(--font-hand)}
.font-serif{font-family:Georgia,"Times New Roman",serif;font-style:italic}

.text-gradient-rainbow{
  background:var(--gradient-rainbow);
  background-size:200% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:shimmer 6s ease-in-out infinite;
}
.text-gradient-sunset{
  background:var(--gradient-sunset);
  background-size:200% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:shimmer 4s ease-in-out infinite;
}

@keyframes shimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* --- LAYOUT UTILITIES ---------------------------------------------- */
.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}
.container-wide{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}

.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-1{flex:1}
.inline-flex{display:inline-flex}
.grid{display:grid}
.inline-block{display:inline-block}
.block{display:block}
.hidden{display:none}

.items-center{align-items:center}
.items-start{align-items:start}
.items-end{align-items:end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.place-items-center{display:grid;place-items:center}
.self-center{align-self:center}
.self-end{align-self:end}
.text-center{text-align:center}
.text-left{text-align:left}

.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}

.overflow-hidden{overflow:hidden}

.w-full{width:100%}
.h-full{height:100%}

/* --- SPACING HELPERS ----------------------------------------------- */
.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}
.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}
.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}
.gap-16{gap:4rem}

.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}
.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}

/* --- BUTTONS ------------------------------------------------------- */
.btn-pink{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.5rem;
  font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;
  background:var(--pink);
  border-radius:9999px;
  transition:all 0.25s ease;
}
.btn-pink:hover{
  transform:scale(1.03);
  box-shadow:0 4px 24px rgba(255,45,135,0.35);
}
.btn-pink svg{width:14px;height:14px}

.btn-outline{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.5rem;
  font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ink);
  border:2px solid var(--ink);
  border-radius:9999px;
  transition:all 0.25s ease;
}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline svg{width:14px;height:14px}

.btn-white{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.5rem;
  font-size:0.7rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--pink);
  background:#fff;
  border-radius:9999px;
  transition:all 0.25s ease;
}
.btn-white:hover{background:var(--ink);color:#fff}

.btn-ghost-white{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.75rem;
  font-size:0.7rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:#fff;
  border:2px solid #fff;
  border-radius:9999px;
  transition:all 0.25s ease;
}
.btn-ghost-white:hover{background:#fff;color:var(--pink)}

/* --- CHIP ---------------------------------------------------------- */
.chip{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;font-weight:600;
}

/* --- SCRIBBLE UNDERLINE -------------------------------------------- */
.scribble-underline{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12'><path d='M2 8 Q 50 1 100 7 T 198 6' stroke='%23ff2d87' stroke-width='4' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 0.5em;
  padding-bottom:0.15em;
}

/* --- ICON (sizing helper) ------------------------------------------ */
.icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.icon svg{width:100%;height:100%}
.icon-sm{width:12px;height:12px}
.icon-md{width:14px;height:14px}
.icon-base{width:16px;height:16px}
.icon-lg{width:20px;height:20px}
.icon-xl{width:22px;height:22px}
.icon-2xl{width:28px;height:28px}
.icon-3xl{width:40px;height:40px}

/* ===================================================================
   NAVIGATION
   =================================================================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background 0.3s,border-color 0.3s,backdrop-filter 0.3s;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(255,255,255,0.82);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom-color:rgba(0,0,0,0.05);
}
.nav-inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  height:80px;display:flex;align-items:center;justify-content:space-between;
}
.nav-logo img{height:128px;width:auto;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-link{
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;font-weight:600;
  color:rgba(17,17,24,0.8);position:relative;transition:color 0.2s;
}
.nav-link:hover,.nav-link.active{color:var(--pink)}
.nav-link.active::after{
  content:"";position:absolute;bottom:-6px;left:0;right:0;
  height:2px;background:var(--pink);border-radius:9999px;
}
.nav-cta{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.625rem 1.25rem;border-radius:9999px;
  border:2px solid var(--ink);
  font-size:11px;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
  transition:all 0.25s;
}
.nav-cta:hover{background:var(--ink);color:var(--background)}

/* Hamburger */
.nav-hamburger{
  display:none;width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(17,17,24,0.2);
  place-items:center;
}
.nav-hamburger svg{width:20px;height:20px}

/* Mobile overlay */
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:60;
  background:rgba(250,249,246,0.96);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  flex-direction:column;
  opacity:0;pointer-events:none;transition:opacity 0.25s;
}
.mobile-menu.open{opacity:1;pointer-events:auto;display:flex}
.mobile-menu .mobile-top{
  padding:0 1.5rem;height:80px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;
}
.mobile-menu .mobile-close{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(17,17,24,0.2);display:grid;place-items:center;
}
.mobile-menu .mobile-close svg{width:20px;height:20px}
.mobile-menu nav{
  flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 2.5rem;gap:0.5rem;
}
.mobile-menu .mobile-link{
  font-family:var(--font-display);font-size:2.2rem;text-transform:uppercase;
  letter-spacing:-0.02em;padding:0.5rem 0;display:block;
  opacity:0;transform:translateX(-30px);
  transition:opacity 0.3s,transform 0.3s;
}
.mobile-menu.open .mobile-link{opacity:1;transform:translateX(0)}
.mobile-menu.open .mobile-link:nth-child(1){transition-delay:0.05s}
.mobile-menu.open .mobile-link:nth-child(2){transition-delay:0.1s}
.mobile-menu.open .mobile-link:nth-child(3){transition-delay:0.15s}
.mobile-menu.open .mobile-link:nth-child(4){transition-delay:0.2s}
.mobile-menu.open .mobile-link:nth-child(5){transition-delay:0.25s}
.mobile-menu.open .mobile-link:nth-child(6){transition-delay:0.3s}
.mobile-menu .mobile-link.active{color:var(--pink)}
.mobile-menu .mobile-bottom{padding:0 2.5rem 2.5rem;flex-shrink:0}
.mobile-menu .mobile-cta{
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
  width:100%;padding:1rem 1.5rem;border-radius:9999px;
  font-size:11px;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
  color:#fff;background:var(--gradient-pink);
}

@media(max-width:767px){
  .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:grid}
}

/* ===================================================================
   HERO SECTIONS
   =================================================================== */
.hero{
  position:relative;overflow:hidden;
  background-size:cover;background-position:center;
  min-height:80vh;display:flex;align-items:center;
}
.hero-70{min-height:70vh}
.hero-50{min-height:50vh}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  transition:transform 0.1s linear;
}
.hero-content{position:relative;z-index:10;width:100%}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(3.5rem,9vw,8rem);
  line-height:0.85;letter-spacing:-0.04em;
}
.hero-title-md{font-size:clamp(3rem,7vw,6.5rem);line-height:0.88}
.hero-title-sm{font-size:clamp(3rem,7vw,6rem);line-height:0.88}
.hero-subtitle{margin-top:1.5rem;max-width:28rem;color:rgba(17,17,24,0.8);font-size:1rem;line-height:1.6}

/* --- PLAY BUTTON --------------------------------------------------- */
.play-btn{
  display:flex;align-items:center;gap:0.75rem;
  font-size:0.875rem;font-weight:600;
}
.play-btn .play-circle{
  width:48px;height:48px;border-radius:50%;
  border:2px solid var(--ink);display:grid;place-items:center;
  transition:transform 0.25s;
}
.play-btn .play-circle svg{width:16px;height:16px;fill:currentColor}
.play-btn:hover .play-circle{transform:scale(1.1)}
.play-btn-sm .play-circle{width:44px;height:44px}

/* --- HERO THUMBNAILS ----------------------------------------------- */
.hero-thumbs{display:flex;gap:0.75rem;margin-top:2.5rem}
.hero-thumbs img{
  width:80px;height:64px;object-fit:cover;border-radius:0.375rem;
  border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,0.1);
}

/* ===================================================================
   SECTION STYLES
   =================================================================== */
.section{padding:5rem 0}
.section-sm{padding:3.5rem 0}
.section-lg{padding:5rem 0}

/* BG variants */
.bg-background{background:var(--background)}
.bg-white{background:#fff}
.bg-ink{background:var(--ink);color:var(--cream)}
.bg-cream{background:var(--cream)}
.bg-pink-grad{background:var(--gradient-pink)}
.bg-sunset{background:var(--gradient-sunset)}
.bg-gradient-peach{background:linear-gradient(to bottom,#fde5d3,#f6d6dd)}
.bg-gradient-pink-light{background:linear-gradient(to bottom right,#fff5f9,#fde5d3)}
.bg-gradient-purple-light{background:linear-gradient(to bottom,var(--background),#faf5fb)}
.bg-gradient-dark{background:linear-gradient(to bottom right,#0a0a1f,#1a0a2e,#0f1a3c)}
.bg-gradient-pink-peach{background:linear-gradient(to bottom right,#fde5f1,#fbd1e8,#fde5d3)}
.bg-gradient-rainbow-light{background:linear-gradient(to bottom right,#fde5f1,#f0d8ff,#d6e8ff)}
.bg-culture{background:#fcfbf8}

/* ===================================================================
   SERVICE CARDS
   =================================================================== */
.service-card{
  background:#fff;border-radius:0.75rem;overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,0.06);
  transition:transform 0.35s ease;
}
.service-card:hover{transform:translateY(-6px)}
.service-card .card-img{
  aspect-ratio:1;overflow:hidden;
}
.service-card .card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.service-card:hover .card-img img{transform:scale(1.05)}
.service-card .card-body{padding:1rem;position:relative}
.service-card .card-title{
  font-size:11px;text-transform:uppercase;letter-spacing:0.05em;font-weight:700;line-height:1.3;
}
.service-card .card-text{margin-top:0.5rem;font-size:0.75rem;color:var(--muted-fg)}
.service-card .card-icon{
  position:absolute;bottom:0.75rem;right:0.75rem;color:var(--muted-fg);
}
.service-card .card-icon svg{width:14px;height:14px}

/* Service card grid */
.services-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;
}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(6,1fr)}}

/* ===================================================================
   STATS BAR
   =================================================================== */
.stats-bar{
  background:var(--ink);color:var(--cream);
  padding:2.5rem 0;
}
.stats-bar .stats-inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;
}
.stat-item{text-align:center}
.stat-value{
  font-family:var(--font-display);font-size:1.8rem;
}
.stat-label{
  font-size:10px;text-transform:uppercase;letter-spacing:0.2em;
  color:rgba(248,246,240,0.7);margin-top:0.25rem;
}
.stats-icons{display:flex;gap:0.75rem;opacity:0.6}
.stats-icons .stat-icon-circle{
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(248,246,240,0.3);
  display:grid;place-items:center;
}
.stats-icons svg{width:20px;height:20px}

@media(min-width:768px){.stat-value{font-size:2.25rem}}

/* ===================================================================
   FEATURED WORK CARDS
   =================================================================== */
.work-card{
  position:relative;overflow:hidden;border-radius:0.75rem;
  aspect-ratio:4/5;transition:transform 0.35s ease;
}
.work-card:hover{transform:translateY(-6px)}
.work-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.work-card:hover img{transform:scale(1.05)}
.work-card .work-overlay{
  position:absolute;inset:0;
  bottom:0;
  background:linear-gradient(to top,rgba(0,0,0,0.8) 0%,transparent 60%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:0.75rem;
  color:#fff;
}
.work-card .work-title{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;font-weight:700}
.work-card .work-tag{font-size:10px;color:rgba(255,255,255,0.7)}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.work-grid{grid-template-columns:repeat(4,1fr)}}

/* ===================================================================
   INDUSTRY CARDS (Work page)
   =================================================================== */
.industry-card{
  border-radius:1rem;background:#fff;border:1px solid var(--border);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform 0.35s ease;
}
.industry-card:hover{transform:translateY(-6px)}
.industry-card .ind-body{padding:1.25rem}
.industry-card .ind-num{font-family:var(--font-display);font-size:1.8rem}
.industry-card .ind-title{
  font-family:var(--font-display);font-size:1.15rem;
  text-transform:uppercase;line-height:1.1;margin-top:0.25rem;
}
.industry-card .ind-desc{margin-top:0.75rem;font-size:0.75rem;color:var(--muted-fg)}
.industry-card .ind-img{aspect-ratio:1}
.industry-card .ind-img img{width:100%;height:100%;object-fit:cover}
.industry-card .ind-brands{
  padding:0.75rem 1.25rem;font-size:11px;color:var(--muted-fg);
  border-top:1px solid var(--border);
}
.industry-card .ind-link{
  padding:0.75rem 1.25rem;font-size:10px;text-transform:uppercase;
  letter-spacing:0.2em;font-weight:700;color:var(--pink);
  display:inline-flex;align-items:center;gap:0.5rem;
  border-top:1px solid var(--border);
}
.industry-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.industry-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.industry-grid{grid-template-columns:repeat(4,1fr)}}

/* ===================================================================
   BRANDS MARQUEE
   =================================================================== */
.marquee-wrap{
  overflow:hidden;border-top:1px solid rgba(0,0,0,0.06);
  border-bottom:1px solid rgba(0,0,0,0.06);
  background:var(--background);padding:2rem 0;
}
.marquee-track{
  display:flex;width:max-content;gap:4rem;
  animation:marquee 30s linear infinite;
}
.marquee-track span{
  font-family:var(--font-display);font-size:1.5rem;
  letter-spacing:-0.02em;color:rgba(17,17,24,0.65);white-space:nowrap;
}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ===================================================================
   PILLAR CARDS (About page)
   =================================================================== */
.pillar-card{
  border-radius:0.75rem;border:1px solid var(--border);
  background:#fff;padding:1rem;display:flex;flex-direction:column;
  transition:transform 0.35s ease;
}
.pillar-card:hover{transform:translateY(-6px)}
.pillar-card .pillar-img{
  aspect-ratio:1;overflow:hidden;border-radius:0.375rem;margin-bottom:0.75rem;position:relative;
}
.pillar-card .pillar-img img{width:100%;height:100%;object-fit:cover}
.pillar-card .pillar-icon{
  position:absolute;top:0.5rem;left:0.5rem;
  background:#fff;border-radius:50%;padding:0.2rem;
}
.pillar-card .pillar-icon svg{width:20px;height:20px}
.pillar-card h3{font-family:var(--font-display);font-size:0.75rem;text-transform:uppercase}
.pillar-card p{font-size:0.75rem;color:var(--muted-fg);margin-top:0.5rem;flex:1}
.pillar-card .pillar-plus{align-self:flex-end;color:var(--muted-fg);margin-top:0.5rem}
.pillar-card .pillar-plus svg{width:14px;height:14px}
.pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.pillars-grid{grid-template-columns:repeat(5,1fr)}}

/* ===================================================================
   PROCESS STEPS (Services page)
   =================================================================== */
.process-step{position:relative;text-align:center}
.process-step .step-circle{
  width:64px;height:64px;margin:0 auto;border-radius:50%;
  border:2px solid var(--pink);display:grid;place-items:center;
  background:var(--ink);
  box-shadow:0 0 30px rgba(230,36,106,0.4);
}
.process-step .step-circle svg{width:22px;height:22px;color:var(--pink)}
.process-step .step-line{
  display:none;position:absolute;top:32px;left:60%;width:80%;height:1px;
  background:linear-gradient(to right,var(--pink),var(--purple));
}
.process-step .step-num{
  font-family:var(--font-display);color:var(--pink);margin-top:1rem;
}
.process-step .step-title{
  font-family:var(--font-display);text-transform:uppercase;margin-top:0.25rem;
}
.process-step .step-desc{
  font-size:0.75rem;color:rgba(255,255,255,0.7);margin-top:0.5rem;
  max-width:180px;margin-left:auto;margin-right:auto;
}
.process-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(min-width:768px){
  .process-grid{grid-template-columns:repeat(5,1fr)}
  .process-step .step-line{display:block}
}

/* ===================================================================
   INDUSTRY ICONS (Services page)
   =================================================================== */
.ind-icon-card{text-align:center}
.ind-icon-circle{
  width:56px;height:56px;margin:0 auto;border-radius:50%;
  background:rgba(255,255,255,0.6);border:1px solid rgba(17,17,24,0.1);
  display:grid;place-items:center;margin-bottom:0.75rem;
  color:var(--pink);box-shadow:0 1px 3px rgba(0,0,0,0.06);
  transition:transform 0.25s;
}
.ind-icon-circle:hover{transform:scale(1.1)}
.ind-icon-circle svg{width:22px;height:22px;stroke-width:1.5}
.ind-icon-card .ind-label{font-family:var(--font-display);font-size:0.7rem;text-transform:uppercase;line-height:1.2}
.ind-icon-card .ind-sub{font-size:10px;color:var(--muted-fg);margin-top:0.25rem}
.ind-icons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(min-width:768px){.ind-icons-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.ind-icons-grid{grid-template-columns:repeat(8,1fr)}}

/* ===================================================================
   CREW CARDS (Culture page)
   =================================================================== */
.crew-card{
  position:relative;border-radius:1.5rem;padding:1.5rem;
  height:340px;display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.05);transition:transform 0.35s ease;
}
.crew-card:hover{transform:translateY(-4px)}
.crew-card .crew-text{position:relative;z-index:10;max-width:60%}
.crew-card .crew-name{
  font-family:var(--font-display);font-size:1.5rem;
  line-height:0.9;text-transform:uppercase;letter-spacing:-0.02em;
}
.crew-card .crew-name span{display:block}
.crew-card .crew-role{
  font-size:9px;text-transform:uppercase;letter-spacing:0.08em;
  font-weight:700;margin-top:0.5rem;opacity:0.7;
}
.crew-card .crew-big{
  font-family:var(--font-hand);font-size:1.25rem;
  color:var(--pink);margin-top:1rem;line-height:1.2;
}
.crew-card .crew-photo{
  position:absolute;bottom:0;right:0;width:55%;height:95%;z-index:0;
  transform-origin:bottom;transition:transform 0.5s ease;
}
.crew-card:hover .crew-photo{transform:scale(1.05)}
.crew-card .crew-photo img{
  width:100%;height:100%;object-fit:cover;object-position:top;
  filter:contrast(1.05);
  mask-image:linear-gradient(to top,black 85%,transparent 100%);
  -webkit-mask-image:linear-gradient(to top,black 85%,transparent 100%);
}
.crew-card .crew-tags{
  position:relative;z-index:10;margin-top:auto;padding-top:1rem;
  display:flex;flex-wrap:wrap;gap:0.375rem;
}
.crew-tag{
  padding:0.2rem 0.5rem;border-radius:9999px;
  background:rgba(255,255,255,0.6);backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,0.4);
  font-size:8px;font-weight:700;text-transform:uppercase;
  color:rgba(0,0,0,0.7);box-shadow:0 1px 2px rgba(0,0,0,0.06);
}
.crew-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.crew-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.crew-grid{grid-template-columns:repeat(4,1fr)}}

/* Category tags */
.cat-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.75rem;margin-bottom:3rem}
.cat-tag{
  padding:0.5rem 1rem;border-radius:0.75rem;border:1px solid;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.06);
  display:flex;flex-direction:column;align-items:flex-start;
}
.cat-tag .cat-label{font-family:var(--font-display);font-size:0.7rem;letter-spacing:0.05em}
.cat-tag .cat-sub{font-size:9px;color:var(--muted-fg);margin-top:2px}

/* ===================================================================
   FROOTI SECTION
   =================================================================== */
.frooti-card{
  border-radius:1.5rem;background:#dbeefb;padding:2rem 3rem;
  border:1px solid #b8ddf5;box-shadow:0 1px 3px rgba(0,0,0,0.06);
  display:grid;gap:2rem;align-items:center;
  position:relative;overflow:hidden;
}
@media(min-width:768px){.frooti-card{grid-template-columns:1fr auto}}
.frooti-card .frooti-main{display:flex;flex-direction:column;align-items:center;gap:2rem;z-index:10}
@media(min-width:768px){.frooti-card .frooti-main{flex-direction:row;align-items:flex-start}}
.frooti-card .frooti-img{
  width:12rem;height:12rem;object-fit:cover;border-radius:50%;
  box-shadow:0 4px 16px rgba(0,0,0,0.12);border:4px solid #fff;
}
@media(min-width:768px){.frooti-card .frooti-img{width:14rem;height:14rem}}
.frooti-card .frooti-note{
  background:rgba(254,249,195,0.8);padding:1.5rem;border-radius:0.5rem;
  transform:rotate(2deg);box-shadow:0 1px 3px rgba(0,0,0,0.06);
  border:1px solid #fde68a;max-width:20rem;z-index:10;
  align-self:center;
}
@media(min-width:768px){.frooti-card .frooti-note{justify-self:end}}
.frooti-tags{margin-top:1rem;display:flex;flex-wrap:wrap;gap:0.5rem}
.frooti-tag{
  padding:0.25rem 0.75rem;border-radius:9999px;background:#fff;
  color:#92400e;border:1px solid #fde68a;font-size:10px;font-weight:500;
}

/* ===================================================================
   POLAROIDS
   =================================================================== */
.polaroid{
  background:#fff;padding:0.75rem;border-radius:0.25rem;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.04);
  transition:transform 0.3s ease;
}
.polaroid:hover{transform:scale(1.05)}
.polaroid.tilt-right{transform:rotate(2deg)}
.polaroid.tilt-left{transform:rotate(-1deg)}
.polaroid .polaroid-img{aspect-ratio:4/3;background:#f0efec;border-radius:2px;margin-bottom:0.75rem}
.polaroid .polaroid-label{font-family:var(--font-hand);font-size:1.15rem;text-align:center;color:#666}
.polaroids-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(min-width:768px){.polaroids-grid{grid-template-columns:repeat(4,1fr)}}

/* ===================================================================
   INSIGHTS CARDS
   =================================================================== */
.insight-card{
  border-radius:1rem;border:1px solid var(--border);
  background:#fff;overflow:hidden;display:flex;flex-direction:column;
  transition:transform 0.35s ease,box-shadow 0.35s ease;
}
.insight-card:hover{transform:translateY(-6px);box-shadow:0 8px 32px rgba(0,0,0,0.08)}
.insight-card .insight-img{aspect-ratio:4/3;overflow:hidden}
.insight-card .insight-img img{
  width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;
}
.insight-card:hover .insight-img img{transform:scale(1.05)}
.insight-card .insight-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.insight-card .insight-meta{
  display:flex;align-items:center;justify-content:space-between;
  font-size:10px;text-transform:uppercase;letter-spacing:0.08em;
}
.insight-card .insight-title{
  font-family:var(--font-display);font-size:1.15rem;
  margin-top:1rem;line-height:1.2;flex:1;
}
.insight-card .insight-footer{
  margin-top:1.25rem;display:flex;align-items:center;justify-content:space-between;
}
.insight-card .insight-date{font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted-fg)}
.insights-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.insights-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.insights-grid{grid-template-columns:repeat(3,1fr)}}

/* Featured insight */
.featured-insight{
  display:grid;border-radius:1.5rem;border:1px solid var(--border);
  background:#fff;overflow:hidden;transition:box-shadow 0.3s;
}
.featured-insight:hover{box-shadow:0 12px 40px rgba(0,0,0,0.08)}
@media(min-width:1024px){.featured-insight{grid-template-columns:1fr 1fr}}
.featured-insight .fi-img{overflow:hidden}
.featured-insight .fi-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.featured-insight:hover .fi-img img{transform:scale(1.05)}
.featured-insight .fi-body{padding:2rem 2rem}
@media(min-width:1024px){.featured-insight .fi-body{padding:3rem}}

/* Report cards */
.report-card{
  border-radius:1rem;background:#fff;border:1px solid var(--border);
  padding:1.5rem;display:flex;flex-direction:column;
  transition:transform 0.35s;
}
.report-card:hover{transform:translateY(-6px)}
.report-card h3{font-family:var(--font-display);font-size:1.15rem;text-transform:uppercase;line-height:1.2}
.report-card p{margin-top:0.75rem;font-size:0.75rem;color:var(--muted-fg);flex:1}
.report-card .report-link{
  margin-top:1.5rem;font-size:10px;text-transform:uppercase;letter-spacing:0.2em;
  font-weight:700;color:var(--pink);display:inline-flex;align-items:center;gap:0.5rem;
}
.reports-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.reports-grid{grid-template-columns:repeat(3,1fr)}}

/* Category filter buttons */
.cat-filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:2rem}
.cat-filter{
  padding:0.5rem 1rem;border-radius:9999px;border:1px solid var(--border);
  font-size:11px;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
  color:rgba(17,17,24,0.7);transition:all 0.2s;
}
.cat-filter:hover{border-color:var(--ink)}
.cat-filter.active{background:var(--ink);color:var(--background);border-color:var(--ink)}

/* ===================================================================
   CONTACT FORM
   =================================================================== */
.contact-form{
  border-radius:1.5rem;background:var(--gradient-pink);
  color:#fff;padding:2rem;
  box-shadow:0 12px 40px rgba(255,45,135,0.2);
}
.contact-form .form-label{
  font-size:10px;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
}
.contact-form .form-input{
  width:100%;background:transparent;border:none;
  border-bottom:1px solid rgba(255,255,255,0.4);
  padding:0.5rem 0;outline:none;color:#fff;
  font-size:0.875rem;margin-top:0.25rem;
}
.contact-form .form-input::placeholder{color:rgba(255,255,255,0.6)}
.contact-form .form-input:focus{border-bottom-color:#fff}
.contact-form textarea.form-input{
  border:1px solid rgba(255,255,255,0.3);border-radius:0.75rem;
  padding:0.75rem;margin-top:0.5rem;resize:vertical;
  background:rgba(255,255,255,0.1);
}
.contact-form textarea.form-input:focus{border-color:#fff}
.form-grid{display:grid;gap:1rem}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}
.form-tag{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.375rem 0.75rem;border-radius:9999px;
  background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);
  font-size:0.75rem;cursor:pointer;transition:background 0.2s;
}
.form-tag:hover{background:rgba(255,255,255,0.25)}
.form-tag input{accent-color:#fff}
.form-submit{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  padding:1rem 1.5rem;background:#fff;color:var(--pink);border-radius:9999px;
  font-size:0.7rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
  transition:all 0.25s;
}
.form-submit:hover{background:var(--ink);color:#fff}

/* Office cards */
.office-card{
  border-radius:1rem;overflow:hidden;border:1px solid var(--border);background:#fff;
  transition:transform 0.35s;
}
.office-card:hover{transform:translateY(-6px)}
.office-card .office-img{aspect-ratio:4/3;overflow:hidden}
.office-card .office-img img{width:100%;height:100%;object-fit:cover}
.office-card .office-body{padding:1.25rem}
.office-card .office-city{font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase}
.office-card .office-addr{font-size:0.75rem;color:var(--muted-fg);margin-top:0.5rem}
.office-card .office-link{
  margin-top:1rem;display:inline-flex;align-items:center;gap:0.25rem;
  font-size:10px;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;color:var(--pink);
}
.offices-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.offices-grid{grid-template-columns:repeat(3,1fr)}}

/* FAQ */
.faq-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border);padding:1.5rem 0}
.faq-item:last-child{border-bottom:none}
.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.faq-item summary h3{font-family:var(--font-display);font-size:1.1rem;text-transform:uppercase}
.faq-item .faq-toggle{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  border:1px solid var(--ink);display:grid;place-items:center;
  font-size:1.15rem;transition:transform 0.3s;
}
.faq-item[open] .faq-toggle{transform:rotate(45deg)}
.faq-item .faq-answer{
  margin-top:1rem;font-size:0.875rem;color:rgba(17,17,24,0.8);max-width:40rem;
}

/* ===================================================================
   CONTACT INFO
   =================================================================== */
.contact-info-item{display:flex;align-items:center;gap:0.75rem}
.contact-info-icon{
  width:36px;height:36px;border-radius:50%;
  background:rgba(230,36,106,0.1);color:var(--pink);
  display:grid;place-items:center;flex-shrink:0;
}
.contact-info-icon svg{width:14px;height:14px}

/* Social icons */
.social-icon{
  width:44px;height:44px;border-radius:50%;
  border:2px solid var(--ink);display:grid;place-items:center;
  transition:all 0.25s;
}
.social-icon:hover{background:var(--ink);color:var(--background)}
.social-icon svg{width:16px;height:16px}

/* ===================================================================
   NEWSLETTER (Insights page)
   =================================================================== */
.newsletter-form{
  display:flex;flex-direction:column;gap:0.75rem;max-width:28rem;margin:0 auto;
}
@media(min-width:640px){.newsletter-form{flex-direction:row}}
.newsletter-input{
  flex:1;padding:0.75rem 1rem;border-radius:9999px;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);
  outline:none;color:#fff;font-size:0.875rem;
}
.newsletter-input::placeholder{color:rgba(255,255,255,0.4)}
.newsletter-input:focus{border-color:var(--pink)}
.newsletter-btn{
  padding:0.75rem 1.5rem;background:var(--pink);border-radius:9999px;
  font-size:11px;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;color:#fff;
}

/* ===================================================================
   FOOTER
   =================================================================== */
.site-footer{border-top:1px solid rgba(0,0,0,0.06);background:var(--background)}
.footer-top{
  max-width:1280px;margin:0 auto;padding:3.5rem 1.5rem;
  display:grid;gap:2.5rem;
}
@media(min-width:1024px){.footer-top{grid-template-columns:1fr 1fr}}

.footer-cta{
  position:relative;overflow:hidden;border-radius:1.5rem;
  padding:2.5rem;background:var(--gradient-pink);color:#fff;
}
.footer-cta h3{font-family:var(--font-display);font-size:2rem;line-height:0.95}
@media(min-width:768px){.footer-cta h3{font-size:2.8rem}}
.footer-cta p{margin-top:1rem;color:rgba(255,255,255,0.9);max-width:20rem}
.footer-cta .footer-blob{
  position:absolute;right:-2.5rem;bottom:-2.5rem;
  width:16rem;height:16rem;border-radius:50%;
  background:rgba(255,255,255,0.1);filter:blur(48px);
}
.footer-right{display:grid;gap:2rem}
@media(min-width:640px){.footer-right{grid-template-columns:1fr 1fr}}

.footer-email-form{display:flex;align-items:center;gap:0.5rem;border-bottom:2px solid var(--ink);padding-bottom:0.5rem}
.footer-email-input{flex:1;background:transparent;outline:none;font-size:0.875rem;padding:0.5rem 0}
.footer-email-btn{
  padding:0.5rem;border-radius:50%;background:var(--ink);color:var(--background);
}
.footer-email-btn svg{width:14px;height:14px}
.footer-consent{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--muted-fg);margin-top:1rem}

.footer-social-list{display:flex;flex-direction:column;gap:0.5rem}
.footer-social-item{
  display:flex;align-items:center;justify-content:space-between;gap:0.75rem;
  padding:0.25rem 0;border-bottom:1px solid var(--border);font-size:0.875rem;
}
.footer-social-item .fsi-left{display:flex;align-items:center;gap:0.75rem}
.footer-social-item svg:last-child{opacity:0.5;transition:opacity 0.2s}
.footer-social-item:hover svg:last-child{opacity:1}

.footer-bottom{
  border-top:1px solid rgba(0,0,0,0.06);
}
.footer-bottom-inner{
  max-width:1280px;margin:0 auto;padding:1.5rem;
  display:flex;flex-direction:column;align-items:center;gap:1rem;
  font-size:0.75rem;color:var(--muted-fg);
}
@media(min-width:768px){.footer-bottom-inner{flex-direction:row;justify-content:space-between}}
.footer-bottom-left{display:flex;align-items:center;gap:1rem}
.footer-bottom-right{display:flex;gap:1.5rem}
.footer-bottom-right a:hover{color:var(--ink)}
.footer-tagline{font-family:var(--font-hand);font-size:1rem;color:var(--ink)}

/* ===================================================================
   SCROLL REVEAL ANIMATION
   =================================================================== */
.reveal{
  opacity:0;transform:translateY(40px);
  transition:opacity 0.6s cubic-bezier(0.25,0.1,0.25,1),transform 0.6s cubic-bezier(0.25,0.1,0.25,1);
}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.6s cubic-bezier(0.25,0.1,0.25,1),transform 0.6s cubic-bezier(0.25,0.1,0.25,1)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.6s cubic-bezier(0.25,0.1,0.25,1),transform 0.6s cubic-bezier(0.25,0.1,0.25,1)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{
  opacity:1;transform:translate(0,0);
}

/* Staggered children */
.reveal-stagger>*{
  opacity:0;transform:translateY(30px);
  transition:opacity 0.5s ease,transform 0.5s ease;
}
.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}
.reveal-stagger.visible>*:nth-child(1){transition-delay:0s}
.reveal-stagger.visible>*:nth-child(2){transition-delay:0.08s}
.reveal-stagger.visible>*:nth-child(3){transition-delay:0.16s}
.reveal-stagger.visible>*:nth-child(4){transition-delay:0.24s}
.reveal-stagger.visible>*:nth-child(5){transition-delay:0.32s}
.reveal-stagger.visible>*:nth-child(6){transition-delay:0.4s}
.reveal-stagger.visible>*:nth-child(7){transition-delay:0.48s}
.reveal-stagger.visible>*:nth-child(8){transition-delay:0.56s}

/* ===================================================================
   CUSTOM CURSOR
   =================================================================== */
.custom-cursor{
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  width:16px;height:16px;border-radius:50%;background:#fff;
  mix-blend-mode:difference;
  transition:width 0.25s,height 0.25s;
  transform:translate(-50%,-50%);
}
.custom-cursor.hover{width:48px;height:48px}
.has-custom-cursor,.has-custom-cursor *{cursor:none!important}

/* ===================================================================
   VIDEO MODAL
   =================================================================== */
.video-modal{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(12px);padding:1rem;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.video-modal.open{opacity:1;pointer-events:auto}
.video-modal .modal-inner{
  position:relative;width:100%;max-width:56rem;aspect-ratio:16/9;
  background:#000;border-radius:1rem;overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.1);
  transform:scale(0.9) translateY(20px);transition:transform 0.3s;
}
.video-modal.open .modal-inner{transform:scale(1) translateY(0)}
.video-modal .modal-close{
  position:absolute;top:1rem;right:1rem;z-index:10;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.1);color:#fff;
  display:grid;place-items:center;transition:background 0.2s;
}
.video-modal .modal-close:hover{background:rgba(255,255,255,0.2)}
.video-modal .modal-close svg{width:20px;height:20px}
.video-modal .modal-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.5);font-family:var(--font-display);
  text-transform:uppercase;letter-spacing:0.1em;
}

/* ===================================================================
   SKIP TO CONTENT
   =================================================================== */
.skip-to-content{
  position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-100%);
  z-index:9999;padding:0.75rem 1.5rem;
  background:var(--pink);color:#fff;border-radius:0 0 0.75rem 0.75rem;
  font-size:0.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;
  transition:transform 0.2s;
}
.skip-to-content:focus{transform:translateX(-50%) translateY(0)}

/* Focus visible */
:focus-visible{
  outline:2px solid var(--pink);outline-offset:2px;border-radius:4px;
}

/* ===================================================================
   MISC HELPERS
   =================================================================== */
.text-pink{color:var(--pink)}
.text-orange{color:var(--orange)}
.text-purple{color:var(--purple)}
.text-blue{color:var(--blue)}
.text-cyan{color:var(--cyan)}
.text-yellow{color:var(--yellow)}
.text-muted{color:var(--muted-fg)}
.text-white{color:#fff}
.text-white-70{color:rgba(255,255,255,0.7)}
.text-white-90{color:rgba(255,255,255,0.9)}

.max-w-md{max-width:28rem}
.max-w-sm{max-width:24rem}
.max-w-xs{max-width:20rem}
.max-w-2xl{max-width:42rem}
.max-w-xl{max-width:36rem}

.border-t{border-top:1px solid var(--border)}
.border-b{border-bottom:1px solid var(--border)}
.divide-y>*+*{border-top:1px solid var(--border)}

.rounded-full{border-radius:9999px}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-md{border-radius:0.375rem}

.shadow-sm{box-shadow:0 1px 3px rgba(0,0,0,0.06)}
.shadow-lg{box-shadow:0 8px 24px rgba(0,0,0,0.1)}
.shadow-2xl{box-shadow:0 12px 40px rgba(0,0,0,0.15)}

.uppercase{text-transform:uppercase}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}

/* About page - mini cards */
.mini-card{
  border:1px solid var(--border);border-radius:0.375rem;
  padding:0.75rem;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.06);
}
.mini-card .mini-dots{display:flex;gap:0.25rem;margin-bottom:0.5rem}
.mini-card .mini-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.mini-card p{font-family:var(--font-display);font-size:0.875rem}

/* Sticky note (about manifesto) */
.sticky-note{
  position:absolute;bottom:-1rem;right:0;
  background:var(--pink);color:#fff;padding:0.5rem 1rem;
  font-family:var(--font-hand);font-size:1.5rem;
  transform:rotate(-4deg);
}

/* About grid */
.manifesto-images{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;position:relative}
.manifesto-images img{
  width:100%;aspect-ratio:1;object-fit:cover;border-radius:0.375rem;
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.manifesto-images img:nth-child(odd){transform:rotate(3deg)}
.manifesto-images img:nth-child(even){transform:rotate(-4deg)}

/* ===================================================================
   TWO-COLUMN LAYOUTS
   =================================================================== */
.two-col{display:grid;gap:2.5rem}
@media(min-width:1024px){.two-col{grid-template-columns:1fr 1fr}}
.two-col-sidebar{display:grid;gap:2.5rem}
@media(min-width:1024px){.two-col-sidebar{grid-template-columns:260px 1fr}}
.two-col-content{display:grid;gap:2.5rem}
@media(min-width:1024px){.two-col-content{grid-template-columns:1fr 2fr}}

/* ===================================================================
   BELIEFS (Work page)
   =================================================================== */
.belief-item svg{width:20px;height:20px;color:var(--pink);margin-bottom:0.5rem}
.belief-item h3{font-family:var(--font-display);font-size:1rem;text-transform:uppercase}
.belief-item p{font-size:0.75rem;color:var(--muted-fg);margin-top:0.5rem}
.beliefs-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.beliefs-grid{grid-template-columns:repeat(3,1fr)}}

/* Featured work (work page) */
.feat-work-card{
  display:block;border-radius:0.75rem;overflow:hidden;
  background:#fff;border:1px solid var(--border);
  transition:transform 0.35s;
}
.feat-work-card:hover{transform:translateY(-6px)}
.feat-work-card .fw-img{aspect-ratio:4/3;overflow:hidden}
.feat-work-card .fw-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.feat-work-card:hover .fw-img img{transform:scale(1.05)}
.feat-work-card .fw-body{padding:0.75rem}
.feat-work-card .fw-title{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;font-weight:700}
.feat-work-card .fw-sub{font-size:10px;color:var(--muted-fg)}
.feat-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.feat-work-grid{grid-template-columns:repeat(4,1fr)}}

/* Services detail card */
.svc-detail-card{
  border-radius:1rem;overflow:hidden;border:1px solid var(--border);
  background:#fff;display:flex;flex-direction:column;
  transition:transform 0.35s;
}
.svc-detail-card:hover{transform:translateY(-6px)}
.svc-detail-card .svc-img{aspect-ratio:1;position:relative;overflow:hidden}
.svc-detail-card .svc-img img{width:100%;height:100%;object-fit:cover}
.svc-detail-card .svc-num{
  position:absolute;top:0.75rem;left:0.75rem;
  font-family:var(--font-display);font-size:1.5rem;
}
.svc-detail-card .svc-body{padding:1rem;flex:1;display:flex;flex-direction:column}
.svc-detail-card .svc-title{font-family:var(--font-display);font-size:1rem;text-transform:uppercase}
.svc-detail-card .svc-desc{margin-top:0.5rem;font-size:0.75rem;color:var(--muted-fg);flex:1}
.svc-detail-card .svc-link{
  margin-top:0.75rem;font-size:10px;text-transform:uppercase;letter-spacing:0.2em;
  font-weight:700;display:inline-flex;align-items:center;gap:0.25rem;
}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(6,1fr)}}

/* ===================================================================
   PSSST CALLOUT (contact page)
   =================================================================== */
.pssst-box{
  margin-top:2.5rem;padding:1.25rem;border-radius:1rem;
  background:#fff5f9;border:1px solid rgba(230,36,106,0.2);
}
.pssst-box .pssst-title{font-family:var(--font-hand);font-size:1.5rem;color:var(--pink)}
.pssst-box p{font-size:0.875rem;margin-top:0.25rem}
.pssst-box a{font-weight:700;text-decoration:underline}

/* ===================================================================
   RESPONSIVE SECTIONS
   =================================================================== */
@media(max-width:767px){
  .hero{min-height:auto;padding-top:7rem;padding-bottom:3rem}
  .hero-70,.hero-50{min-height:auto}
  .hero-title{font-size:clamp(2.5rem,12vw,4rem)}
  .hero-title-md,.hero-title-sm{font-size:clamp(2.2rem,10vw,3.5rem)}
  .stat-value{font-size:1.5rem}
  .footer-cta h3{font-size:1.8rem}
  .crew-card{height:300px}
  .crew-card .crew-name{font-size:1.2rem}
}
