/* ═══════════════════════════════════════════════════════════
   UTILITIES & SHARED VISUAL PRIMITIVES
   ═══════════════════════════════════════════════════════════ */

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.desktop-only{display:flex}
.mobile-only{display:none}
.section{padding:100px 0}

/* ── GRADIENT TEXT ───────────────────────────────────────── */
.gradient-text{
  background:linear-gradient(91deg,rgb(130,130,130) 0%,rgb(255,255,255) 52%,rgb(150,150,150) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.gradient-text--accent{
  background:linear-gradient(91deg,rgb(180,40,50) 0%,rgb(230,90,90) 50%,rgb(60,15,20) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── DIAMOND SHAPES ─────────────────────────────────────── */
.diamond-xs{
  display:inline-block;width:8px;height:8px;
  background:var(--color-text);transform:rotate(45deg);
  flex-shrink:0;
}
.diamond-sm{
  display:inline-block;width:10px;height:10px;
  background:var(--color-text);transform:rotate(45deg);
  margin-right:8px;flex-shrink:0;
}
.accordion--accent .diamond-xs,
.advisory-page .section .diamond-xs,
.btn--accent .diamond-sm{
  background:var(--accent);
}
.advisory-page .footer .diamond-xs,
.advisory-page .navbar .diamond-sm{background:var(--color-text)}

/* ── SCROLL REVEAL — soft fade-up, no bounce, no glare ───── */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.fade-in.visible {
  opacity: 1;
  transform: none;
}

/* Staggered children — add .stagger to a revealed grid/list */
.stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.stagger.visible > * {
  opacity: 1;
  transform: none;
}
.stagger.visible > *:nth-child(1) { transition-delay: 0.05s }
.stagger.visible > *:nth-child(2) { transition-delay: 0.15s }
.stagger.visible > *:nth-child(3) { transition-delay: 0.25s }
.stagger.visible > *:nth-child(4) { transition-delay: 0.35s }
.stagger.visible > *:nth-child(5) { transition-delay: 0.45s }
.stagger.visible > *:nth-child(6) { transition-delay: 0.55s }
.stagger.visible > *:nth-child(n+7) { transition-delay: 0.65s }

/* ── SECTION HEADERS ────────────────────────────────────── */
.section-header{margin-bottom:48px}
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--color-text-muted);margin-bottom:16px;
}
.section-title{
  font-family:var(--font-heading);font-weight:400;
  font-size:clamp(36px,5vw,60px);line-height:1.1;letter-spacing:-.005em;
  color:var(--color-text);
}
.section-title--sm{
  font-family:var(--font-heading);font-weight:400;
  font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-.005em;
  color:var(--color-text);
}
.section-sub{
  font-size:16px;color:var(--color-text-secondary);margin-bottom:8px;
}

/* ── PORTRAIT FRAMING — consistent eye level with headroom across all cards ── */
img[src*="hristo-kehayov"] {
  object-position: 60% 0% !important;
}
img[src*="tiger-portrait"] {
  object-position: 50% 0% !important;
}
