:root{
  --cream:#f5efe4;
  --cream-2:#ebe2d0;
  --paper:#fbf7ef;
  --ink:#1a1612;
  --ink-soft:#3a322a;
  --muted:#7a6f60;
  --line:#d9cfbb;
  --accent:#c2410c;
  --accent-soft:#e8762d;
  --gold:#a87b3e;
  /* Emerald — striking secondary accent, near-complement of burnt orange */
  --emerald:#0f6b58;
  --emerald-soft:#1a9077;
  --emerald-bright:#2bb89a;
  --emerald-deep:#0a4d3f;
  --emerald-tint:#e4efe9;
  --max:1240px;
}
*{margin:0;padding:0;box-sizing:border-box}
*::selection{background:var(--accent);color:var(--cream)}
html{
  scroll-behavior:smooth;
  scroll-padding-top:80px;
  overflow-x:clip;
  width:100%;
}
body{
  font-family:'Inter',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
  width:100%;
  max-width:100%;
  position:relative;
}
.serif{font-family:'Fraunces',serif}
.mono{font-family:'JetBrains Mono',monospace}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* User-friendly: keyboard focus styles */
a:focus-visible, button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:3px;
}
.nav-cta:focus-visible, .nav-burger:focus-visible{
  outline-offset:4px;
}

/* User-friendly: smooth tap on mobile (no 300ms delay, no callout) */
*{-webkit-tap-highlight-color:rgba(194,65,12,0.15);-webkit-touch-callout:none}
input, textarea, select, button, a{-webkit-tap-highlight-color:rgba(194,65,12,0.15)}

/* ============ NAV ============ */
.nav{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(245,239,228,0.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color 0.3s ease, background 0.3s ease;
}
.nav.scrolled{border-bottom-color:var(--line);background:rgba(245,239,228,0.96)}
.nav-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:18px 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
}
.nav-logo{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:500;
  letter-spacing:-0.01em;
}
.nav-logo b{color:var(--accent);font-style:italic;font-weight:500}
.nav-links{
  display:flex;
  gap:32px;
  list-style:none;
}
.nav-links a{
  font-size:13px;
  font-weight:500;
  color:var(--ink-soft);
  letter-spacing:0.02em;
  position:relative;
  padding:4px 0;
  transition:color 0.2s ease;
}
.nav-links a:hover{color:var(--accent)}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;bottom:-2px;
  height:1px;width:0;
  background:var(--accent);
  transition:width 0.25s ease;
}
.nav-links a:hover::after{width:100%}
.nav-cta{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  padding:9px 16px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--cream);
  border-radius:50px;
  transition:all 0.25s ease;
  font-weight:500;
}
.nav-cta:hover{background:var(--accent);border-color:var(--accent)}
.nav-burger{display:none;background:none;border:none;cursor:pointer;font-size:22px;color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}

/* ============ SECTION FRAMING ============ */
.section{
  max-width:var(--max);
  margin:0 auto;
  padding:120px 32px;
  position:relative;
}
.section-tight{padding:80px 32px}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:18px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:24px;
  height:1px;
  background:var(--accent);
  display:inline-block;
}

/* ============ HERO ============ */
.hero{
  min-height:calc(100vh - 70px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:60px 32px 90px;
  max-width:var(--max);
  margin:0 auto;
  position:relative;
}
.hero-top{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:60px;
  align-items:center;
  margin-bottom:50px;
}
.hero-left{position:relative;z-index:2}
.hero-right{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1200px;
  min-height:560px;
}
.hero-3d-canvas{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
  opacity:0.8;
}
.hero-photo-wrap{
  position:relative;
  width:100%;
  max-width:460px;
  transform-style:preserve-3d;
  transition:transform 0.4s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
/* Soft cream-tone backdrop circle behind the photo */
.hero-photo-wrap::before{
  content:"";
  position:absolute;
  bottom:6%;
  left:50%;
  transform:translateX(-50%);
  width:90%;
  aspect-ratio:1;
  background:radial-gradient(circle at 50% 55%, var(--cream-2) 0%, var(--cream-2) 55%, transparent 75%);
  border-radius:50%;
  z-index:0;
  pointer-events:none;
}
/* Warm orange glow accent */
.hero-photo-wrap::after{
  content:"";
  position:absolute;
  top:8%;
  right:-4%;
  width:160px;
  height:160px;
  background:radial-gradient(circle, rgba(194,65,12,0.22), transparent 65%);
  pointer-events:none;
  z-index:0;
  filter:blur(12px);
}
.hero-photo{
  position:relative;
  z-index:2;
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 30px 40px rgba(26,22,18,0.18)) drop-shadow(0 8px 12px rgba(26,22,18,0.08));
}
.hero-photo-badge{
  position:absolute;
  bottom:24px;
  left:0;
  background:var(--ink);
  color:var(--cream);
  padding:11px 18px;
  border-radius:50px;
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  z-index:3;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:9px;
  box-shadow:0 14px 30px -8px rgba(26,22,18,0.3);
  white-space:nowrap;
}
.hero-photo-badge .pulse{
  width:7px;height:7px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,0.25);
  animation:pulse 2s ease-in-out infinite;
}
.hero-photo-tag{
  position:absolute;
  top:6%;
  right:0;
  background:var(--cream);
  border:1.5px solid var(--accent);
  color:var(--accent);
  padding:9px 16px;
  border-radius:50px;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:15px;
  font-weight:500;
  z-index:3;
  white-space:nowrap;
  transform:rotate(3deg);
  box-shadow:0 8px 18px -6px rgba(194,65,12,0.18);
}
.hero::before{
  content:"";
  position:absolute;
  top:14%;
  left:-4%;
  width:240px;
  height:240px;
  background:radial-gradient(circle, rgba(168,123,62,0.06), transparent 70%);
  pointer-events:none;
}
.hero-eyebrow{
  font-family:'Inter',sans-serif;
  font-size:12px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:30px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:12px;
}
.hero-eyebrow .dot{
  width:8px;height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,0.18);
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(34,197,94,0.18)}
  50%{box-shadow:0 0 0 8px rgba(34,197,94,0.06)}
}
.hero h1{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:clamp(48px,7vw,108px);
  line-height:0.94;
  letter-spacing:-0.04em;
  margin-bottom:36px;
  position:relative;
  z-index:1;
}
.hero h1 .ital{font-style:italic;color:var(--accent);font-weight:400}
.hero h1 .light{font-weight:200}
.hero-sub{
  margin-bottom:0;
}
.hero-tagline{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:clamp(18px,1.9vw,24px);
  font-weight:400;
  line-height:1.4;
  color:var(--ink-soft);
  max-width:560px;
}
.hero-tagline::before{
  content:"— ";
  color:var(--accent);
  font-style:normal;
}
.hero-meta{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  text-align:right;
  line-height:2;
}
.hero-meta-inline{
  text-align:left;
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:6px 24px;
  line-height:1.6;
}
.hero-meta a{transition:color 0.2s ease}
.hero-meta a:hover{color:var(--accent)}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  border-top:1px solid var(--line);
  padding-top:28px;
}
.hero-stat .num{
  font-family:'Fraunces',serif;
  font-size:clamp(32px,4vw,46px);
  font-weight:500;
  line-height:1;
  letter-spacing:-0.025em;
  margin-bottom:8px;
}
.hero-stat .num em{color:var(--accent);font-style:italic;font-weight:400}
.hero-stat .lbl{
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.scroll-cue{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--muted);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  opacity:0.7;
  animation:bob 2.5s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.scroll-cue svg{width:14px;height:14px;stroke:var(--ink-soft)}

/* ============ ABOUT ============ */
.about-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:80px;
  align-items:flex-start;
}
.about-title{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5vw,68px);
  line-height:1.02;
  font-weight:300;
  letter-spacing:-0.025em;
  margin-bottom:36px;
}
.about-title em{color:var(--accent);font-style:italic;font-weight:400}
.about-body p{
  font-size:16.5px;
  line-height:1.8;
  color:var(--ink-soft);
  margin-bottom:20px;
}
.about-body p strong{color:var(--ink);font-weight:600}
.about-pull{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:24px;
  line-height:1.4;
  color:var(--ink);
  border-left:3px solid var(--accent);
  padding:6px 0 6px 24px;
  margin:30px 0;
  font-weight:400;
}
.about-side{
  background:var(--paper);
  padding:40px 36px;
  border-radius:4px;
  position:sticky;
  top:100px;
}
.about-side::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:48px;height:3px;
  background:var(--accent);
}
.side-block{
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.side-block:last-child{border-bottom:none}
.side-block:first-of-type{padding-top:0}
.side-label{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:10px;
  font-weight:500;
}
.side-content{
  font-family:'Fraunces',serif;
  font-size:18px;
  line-height:1.5;
  color:var(--ink);
  font-weight:500;
}
.side-content small{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:13px;
  color:var(--muted);
  font-weight:400;
  margin-top:4px;
  line-height:1.5;
}

/* ============ STATS BAR ============ */
.stats-bar{
  background:
    radial-gradient(ellipse at 20% 0%, rgba(43,184,154,0.18), transparent 55%),
    radial-gradient(ellipse at 90% 100%, rgba(232,118,45,0.12), transparent 50%),
    linear-gradient(160deg, var(--emerald) 0%, var(--emerald-deep) 100%);
  color:var(--cream);
  padding:64px 0;
  margin:80px 0;
  position:relative;
  overflow:hidden;
}
.stats-bar::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
  mask-image:radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%);
}
.stats-bar-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  position:relative;
  z-index:1;
}
.bar-stat{
  position:relative;
  padding-left:20px;
}
.bar-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:2px;
  background:linear-gradient(var(--emerald-bright), transparent);
  border-radius:2px;
}
.bar-stat .v{
  font-family:'Fraunces',serif;
  font-size:clamp(36px,4.5vw,56px);
  font-weight:400;
  line-height:1;
  letter-spacing:-0.025em;
  margin-bottom:10px;
}
.bar-stat .v em{color:var(--accent-soft);font-style:italic}
.bar-stat .l{
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(245,239,228,0.7);
  font-weight:500;
  line-height:1.5;
}

/* ============ SERVICES ============ */
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:50px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;
  gap:24px;
}
.section-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5vw,72px);
  font-weight:300;
  line-height:1;
  letter-spacing:-0.025em;
}
.section-head h2 em{color:var(--accent);font-style:italic;font-weight:400}
.section-head .num{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.28em;
  color:var(--muted);
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.service-card{
  background:var(--paper);
  padding:36px 32px;
  border:1px solid var(--line);
  border-radius:2px;
  transition:transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position:relative;
  overflow:hidden;
}
.service-card::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:0;height:2px;
  background:var(--accent);
  transition:width 0.4s ease;
}
.service-card:hover{
  transform:translateY(-4px);
  border-color:var(--accent);
  box-shadow:0 16px 40px -10px rgba(26,22,18,0.12);
}
.service-card:hover::before{width:100%}
.service-num{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.22em;
  color:var(--muted);
  margin-bottom:18px;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:500;
}
.service-num::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--line);
}
.service-card h3{
  font-family:'Fraunces',serif;
  font-size:28px;
  font-weight:500;
  line-height:1.15;
  margin-bottom:14px;
  letter-spacing:-0.015em;
}
.service-card h3 em{font-style:italic;color:var(--accent);font-weight:500}
.service-card p{
  font-size:14px;
  line-height:1.7;
  color:var(--ink-soft);
}
.service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:18px;
}
.service-tags span{
  font-family:'Inter',sans-serif;
  font-size:9.5px;
  padding:4px 9px;
  background:var(--cream-2);
  color:var(--ink-soft);
  letter-spacing:0.06em;
  border-radius:50px;
  font-weight:500;
}

/* ============ BRAND LINKS (Instagram CTAs) ============ */
.brand-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.brand-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:9px 16px 9px 12px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:50px;
  font-size:13px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.005em;
  transition:all 0.25s ease;
  white-space:nowrap;
}
.brand-link:hover{
  background:var(--ink);
  color:var(--cream);
  border-color:var(--ink);
  transform:translateY(-1px);
  box-shadow:0 10px 24px -8px rgba(26,22,18,0.22);
}

/* === CSS 3D PLATFORM ICONS === */
/* Shared base: 3D perspective container */
.brand-link .ig-icon,
.brand-icon,
.platform-3d{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transform-style:preserve-3d;
  transition:transform 0.4s cubic-bezier(.2,.8,.2,1);
  isolation:isolate;
}

/* Small inline icon (in the brand-link pills) */
.brand-link .ig-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  /* Multi-layer Instagram gradient — radial highlight + base + edge shadow */
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 35%),
    conic-gradient(from 215deg at 50% 50%, #f09433 0deg, #e6683c 60deg, #dc2743 130deg, #cc2366 210deg, #bc1888 290deg, #f09433 360deg);
  color:#fff;
  /* 3D depth: stacked shadows simulate edge thickness + drop */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    inset 0 -2px 4px rgba(120,20,80,0.4),
    0 2px 0 #8b1466,
    0 3px 0 #7a1158,
    0 6px 12px -2px rgba(220,39,67,0.45),
    0 10px 20px -6px rgba(188,24,136,0.25);
  transform:rotateX(8deg) rotateY(-6deg);
  animation:icon-float 6s ease-in-out infinite;
}
.brand-link .ig-icon::before{
  /* Glossy top highlight */
  content:"";
  position:absolute;
  top:2px; left:2px; right:2px;
  height:50%;
  border-radius:6px 6px 60% 60% / 6px 6px 100% 100%;
  background:linear-gradient(to bottom, rgba(255,255,255,0.35), rgba(255,255,255,0));
  pointer-events:none;
  z-index:1;
}
.brand-link .ig-icon svg{
  width:14px;
  height:14px;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,0.25));
}
.brand-link:hover .ig-icon{
  transform:rotateX(0deg) rotateY(8deg) scale(1.08);
  animation-play-state:paused;
}

.brand-link .handle{
  font-family:'Inter',sans-serif;
  font-size:11.5px;
  letter-spacing:0.02em;
  color:var(--muted);
}
.brand-link:hover .handle{color:rgba(245,239,228,0.7)}
.brand-link .label{font-family:'Fraunces',serif;font-style:italic;font-weight:500}

/* Standalone inline icon (next to title) */
.brand-icon{
  width:32px;
  height:32px;
  border-radius:9px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 35%),
    conic-gradient(from 215deg at 50% 50%, #f09433 0deg, #e6683c 60deg, #dc2743 130deg, #cc2366 210deg, #bc1888 290deg, #f09433 360deg);
  color:#fff;
  margin-left:14px;
  vertical-align:middle;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    inset 0 -2px 4px rgba(120,20,80,0.4),
    0 2px 0 #8b1466,
    0 3px 0 #7a1158,
    0 8px 16px -3px rgba(220,39,67,0.45),
    0 14px 24px -8px rgba(188,24,136,0.3);
  transform:rotateX(10deg) rotateY(-8deg);
  animation:icon-float 6s ease-in-out infinite;
}
.brand-icon::before{
  content:"";
  position:absolute;
  top:2px; left:2px; right:2px;
  height:50%;
  border-radius:7px 7px 60% 60% / 7px 7px 100% 100%;
  background:linear-gradient(to bottom, rgba(255,255,255,0.35), rgba(255,255,255,0));
  pointer-events:none;
  z-index:1;
}
.brand-icon svg{
  width:15px;
  height:15px;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,0.3));
}
.brand-icon:hover{
  transform:rotateX(0deg) rotateY(10deg) translateY(-3px) scale(1.08);
  animation-play-state:paused;
}

/* === FOUR PLATFORM 3D ICONS (Instagram, LinkedIn, YouTube, Facebook) === */
/* Each gets its own brand-correct gradient + matching depth shadows */
.platform-3d{
  width:48px;
  height:48px;
  border-radius:12px;
  color:#fff;
  animation:icon-float 6s ease-in-out infinite;
  transform:rotateX(10deg) rotateY(-8deg);
}
.platform-3d::before{
  /* Glossy top highlight (shared) */
  content:"";
  position:absolute;
  top:3px; left:3px; right:3px;
  height:48%;
  border-radius:9px 9px 60% 60% / 9px 9px 100% 100%;
  background:linear-gradient(to bottom, rgba(255,255,255,0.4), rgba(255,255,255,0));
  pointer-events:none;
  z-index:1;
}
.platform-3d svg{
  width:22px;
  height:22px;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,0.3));
}
.platform-3d:hover{
  transform:rotateX(0deg) rotateY(12deg) translateY(-4px) scale(1.06);
  animation-play-state:paused;
}

/* Instagram */
.platform-3d.instagram{
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 40%),
    conic-gradient(from 215deg at 50% 50%, #f09433 0deg, #e6683c 60deg, #dc2743 130deg, #cc2366 210deg, #bc1888 290deg, #f09433 360deg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    inset 0 -3px 6px rgba(120,20,80,0.45),
    0 3px 0 #8b1466,
    0 4px 0 #7a1158,
    0 10px 18px -3px rgba(220,39,67,0.45),
    0 18px 30px -8px rgba(188,24,136,0.3);
}

/* LinkedIn */
.platform-3d.linkedin{
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 40%),
    linear-gradient(160deg, #0a66c2 0%, #004182 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    inset 0 -3px 6px rgba(0,30,80,0.5),
    0 3px 0 #003a73,
    0 4px 0 #002e5c,
    0 10px 18px -3px rgba(10,102,194,0.45),
    0 18px 30px -8px rgba(0,65,130,0.3);
}

/* YouTube */
.platform-3d.youtube{
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 40%),
    linear-gradient(160deg, #ff0000 0%, #cc0000 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    inset 0 -3px 6px rgba(120,0,0,0.5),
    0 3px 0 #a00000,
    0 4px 0 #870000,
    0 10px 18px -3px rgba(255,0,0,0.45),
    0 18px 30px -8px rgba(204,0,0,0.3);
}

/* Facebook */
.platform-3d.facebook{
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 40%),
    linear-gradient(160deg, #1877f2 0%, #0d5dba 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    inset 0 -3px 6px rgba(0,40,100,0.5),
    0 3px 0 #0c54a8,
    0 4px 0 #0a4690,
    0 10px 18px -3px rgba(24,119,242,0.45),
    0 18px 30px -8px rgba(13,93,186,0.3);
}

/* === 4-PLATFORM SHOWCASE ROW (used in Kirti evidence) === */
.platform-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:48px;
  padding:42px 24px 50px;
  margin-bottom:36px;
  flex-wrap:wrap;
  border-top:1px dashed var(--line);
  border-bottom:1px dashed var(--line);
  perspective:800px;
}
.platform-row .platform-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:inherit;
  transition:transform 0.3s ease;
}
.platform-row .platform-item:hover{
  transform:translateY(-3px);
}
.platform-row .platform-name{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.platform-row .platform-item:hover .platform-name{color:var(--ink)}
@media (max-width:768px){
  .platform-row{gap:28px;padding:32px 16px 36px}
  .platform-3d{width:42px;height:42px}
  .platform-3d svg{width:18px;height:18px}
}

.platform-row .platform-item:nth-child(1) .platform-3d{animation-delay:0s}
.platform-row .platform-item:nth-child(2) .platform-3d{animation-delay:-1.5s}
.platform-row .platform-item:nth-child(3) .platform-3d{animation-delay:-3s}
.platform-row .platform-item:nth-child(4) .platform-3d{animation-delay:-4.5s}

@keyframes icon-float{
  0%, 100% { transform:rotateX(10deg) rotateY(-8deg) translateY(0); }
  50% { transform:rotateX(6deg) rotateY(8deg) translateY(-3px); }
}

/* Inside hm-label-card: stacked button */
.hm-label-card .brand-links{margin-top:14px}

/* ============ CASE STUDIES ============ */
.case{
  margin-bottom:120px;
  scroll-margin-top:100px;
}
.case-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:32px;
  align-items:flex-end;
  padding-bottom:30px;
  border-bottom:2px solid var(--ink);
  margin-bottom:50px;
  flex-wrap:wrap;
}
.case-tag{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--accent);
  background:var(--cream-2);
  padding:7px 14px;
  border-radius:50px;
  align-self:flex-start;
  font-weight:500;
}
.case-title{
  font-family:'Fraunces',serif;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.022em;
}
.case-title em{font-style:italic;color:var(--accent);font-weight:400}
.case-period{
  font-family:'Inter',sans-serif;
  font-size:11.5px;
  color:var(--muted);
  letter-spacing:0.13em;
  text-align:right;
  text-transform:uppercase;
  line-height:1.7;
}
.case-period b{display:block;color:var(--ink);font-size:13px;margin-bottom:4px;font-weight:600}

.case-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  margin-bottom:50px;
}
.case-col h4{
  font-family:'Inter',sans-serif;
  font-size:10.5px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:14px;
  font-weight:500;
}
.case-col p{
  font-size:15.5px;
  line-height:1.75;
  color:var(--ink-soft);
  margin-bottom:18px;
}
.case-col p strong{color:var(--ink);font-weight:600}
.case-col ul{list-style:none;padding:0}
.case-col ul li{
  font-size:14.5px;
  line-height:1.55;
  color:var(--ink-soft);
  padding:10px 0 10px 26px;
  position:relative;
  border-bottom:1px dashed var(--line);
}
.case-col ul li:last-child{border-bottom:none}
.case-col ul li::before{
  content:"→";
  position:absolute;
  left:0;
  top:10px;
  color:var(--accent);
  font-weight:bold;
}

.case-metrics{
  background:
    radial-gradient(ellipse at 0% 0%, rgba(43,184,154,0.16), transparent 55%),
    linear-gradient(150deg, var(--emerald) 0%, var(--emerald-deep) 100%);
  color:var(--cream);
  padding:42px 48px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:36px;
  border-radius:3px;
  position:relative;
  overflow:hidden;
}
.case-metric{
  position:relative;
  padding-left:18px;
}
.case-metric::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:2px;
  background:linear-gradient(var(--emerald-bright), transparent);
  border-radius:2px;
}
.case-metric .val{
  font-family:'Fraunces',serif;
  font-size:clamp(32px,3.4vw,46px);
  font-weight:400;
  line-height:1;
  letter-spacing:-0.022em;
  margin-bottom:10px;
}
.case-metric .val em{color:var(--accent-soft);font-style:italic;font-weight:400}
.case-metric .lbl{
  font-size:10.5px;
  color:rgba(245,239,228,0.7);
  letter-spacing:0.13em;
  line-height:1.5;
  font-weight:500;
}

/* ============ EVIDENCE GALLERIES ============ */
.evidence{
  margin-top:60px;
  padding-top:60px;
  border-top:1px solid var(--line);
}
.evidence-eyebrow{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:14px;
  font-weight:500;
}
.evidence h3{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,3.4vw,44px);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-0.02em;
  margin-bottom:14px;
}
.evidence h3 em{color:var(--accent);font-style:italic}
.evidence-period{
  font-size:13px;
  color:var(--muted);
  margin-bottom:36px;
  font-family:'Inter',sans-serif;
  letter-spacing:0.1em;
}

/* Painex evidence — mixed grid */
.painex-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:18px;
  margin-bottom:32px;
}
.shot{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:3px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}
.shot:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px -12px rgba(26,22,18,0.16);
}
.shot-frame{
  background:#0e0c0a;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}
.shot-frame img{
  max-width:100%;
  height:auto;
  border-radius:2px;
}
.shot-frame.tall{height:380px}
.shot-frame.tall img{max-height:352px;width:auto}
.shot-frame.wide{height:140px}
.shot-frame.wide img{max-height:112px;width:auto;max-width:100%}
.shot-cap{
  padding:20px 22px 22px 22px;
  flex:1;
}
.shot-cap-eyebrow{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
  font-weight:500;
}
.shot-cap h4{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:500;
  line-height:1.15;
  letter-spacing:-0.015em;
  margin-bottom:8px;
}
.shot-cap h4 em{font-style:italic;color:var(--accent);font-weight:500}
.shot-cap p{font-size:13px;line-height:1.6;color:var(--ink-soft)}

.painex-stack{display:flex;flex-direction:column;gap:18px}
.painex-stack .shot{flex:1}

/* Headache & Migraine row */
.hm-row{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:18px;
  margin-top:18px;
  padding-top:32px;
  border-top:1px dashed var(--line);
}
.hm-label-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 24px 0 0;
}
.hm-label-card .num{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.25em;
  color:var(--accent);
  margin-bottom:10px;
  font-weight:500;
}
.hm-label-card h4{
  font-family:'Fraunces',serif;
  font-size:26px;
  font-weight:500;
  line-height:1.1;
  margin-bottom:14px;
  letter-spacing:-0.015em;
}
.hm-label-card .meta{
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:var(--muted);
  letter-spacing:0.12em;
  text-transform:uppercase;
  line-height:1.7;
}
.hm-label-card .meta b{
  display:block;
  color:var(--ink);
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:15px;
  font-weight:500;
  margin-top:8px;
  text-transform:none;
  letter-spacing:0;
}
.hm-shots{display:grid;grid-template-columns:1fr 1.5fr;gap:18px}

/* Kirti evidence — quad layout */
.quad-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.quad-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:3px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}
.quad-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px -12px rgba(26,22,18,0.16);
}
.quad-tag{
  position:absolute;
  top:14px;
  left:16px;
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--accent);
  background:var(--paper);
  padding:5px 11px;
  z-index:2;
  font-weight:500;
  border:1px solid var(--line);
  border-radius:50px;
}
.quad-frame{
  background:#0e0c0a;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  height:300px;
}
.quad-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  border-radius:2px;
}
.quad-cap{
  padding:24px 26px;
  display:flex;
  gap:0;
  border-top:1px solid var(--line);
}
.quad-stat{
  flex:1;
  padding-right:20px;
  border-right:1px dashed var(--line);
}
.quad-stat:last-child{border-right:none;padding-left:20px;padding-right:0}
.quad-stat b{
  font-family:'Fraunces',serif;
  font-size:30px;
  font-weight:500;
  letter-spacing:-0.025em;
  display:block;
  line-height:1;
  margin-bottom:6px;
}
.quad-stat span{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.13em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.4;
  display:block;
}

/* ============ TOOLS / SKILLS ============ */
.tools-section{background:var(--paper)}
.tools-section .section{padding:120px 32px}
.tools-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
}
.tools-col h3{
  font-family:'Fraunces',serif;
  font-size:32px;
  font-weight:400;
  margin-bottom:24px;
  letter-spacing:-0.015em;
}
.tools-col h3 em{color:var(--accent);font-style:italic}
.tool-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.tool{
  border:1px solid var(--line);
  padding:18px 20px;
  background:var(--cream);
  display:flex;
  flex-direction:column;
  gap:5px;
  border-radius:3px;
  transition:border-color 0.25s ease;
}
.tool:hover{border-color:var(--accent)}
.tool .name{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:500;
  line-height:1.1;
}
.tool .lvl{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  color:var(--muted);
  letter-spacing:0.16em;
  text-transform:uppercase;
}
.tool .bar{
  height:3px;
  background:var(--cream-2);
  margin-top:8px;
  position:relative;
  overflow:hidden;
  border-radius:2px;
}
.tool .bar::after{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  background:var(--accent);
  width:var(--w,80%);
  transition:width 1.4s cubic-bezier(.2,.8,.2,1);
}
.skills-rows{display:flex;flex-direction:column;gap:18px}
.skill-row{
  display:grid;
  grid-template-columns:170px 1fr auto;
  gap:20px;
  align-items:center;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.skill-row:last-child{border-bottom:none}
.skill-row .nm{font-family:'Fraunces',serif;font-size:18px;font-weight:500}
.skill-row .track{
  height:6px;
  background:var(--cream-2);
  position:relative;
  border-radius:3px;
  overflow:hidden;
}
.skill-row .track::after{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  background:linear-gradient(90deg,var(--accent),var(--accent-soft));
  width:var(--w,85%);
  transition:width 1.4s cubic-bezier(.2,.8,.2,1);
}
.skill-row .pct{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--ink);
  font-weight:500;
}

.certs-strip{
  margin-top:50px;
  padding:32px 36px;
  background:var(--cream-2);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:36px;
  align-items:center;
  border-radius:3px;
}
.certs-strip h4{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:24px;
  font-weight:400;
  line-height:1.2;
}
.certs-strip h4 em{color:var(--accent);font-style:italic}
.certs-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.certs-list .c{
  border-left:2px solid var(--accent);
  padding-left:14px;
}
.certs-list .c b{display:block;font-weight:600;color:var(--ink);margin-bottom:4px;font-size:14px}
.certs-list .c span{color:var(--muted);font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.06em}

/* ============ TESTIMONIALS / PROOF ============ */
.proof-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:48px;
  margin-top:30px;
}
.proof-intro{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:22px;
  line-height:1.5;
  color:var(--ink-soft);
  max-width:720px;
  margin-bottom:48px;
}
.testimonial{
  background:var(--paper);
  border:1px solid var(--line);
  padding:42px 38px 30px 38px;
  position:relative;
  border-radius:3px;
  margin-bottom:24px;
}
.testimonial::before{
  content:"\201C";
  position:absolute;
  top:-26px;
  left:24px;
  font-family:'Fraunces',serif;
  font-size:96px;
  color:var(--accent);
  line-height:1;
  background:var(--cream);
  padding:0 12px;
  font-weight:400;
}
.testimonial p{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:19px;
  line-height:1.6;
  color:var(--ink);
  margin-bottom:24px;
  font-weight:400;
}
.who{
  display:flex;
  align-items:center;
  gap:16px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.who .av{
  width:44px;
  height:44px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-soft));
  color:var(--cream);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:17px;
}
.testimonial:nth-child(even) .who .av{
  background:linear-gradient(135deg,var(--emerald),var(--emerald-soft));
}
.who b{
  font-weight:600;
  font-size:14.5px;
  color:var(--ink);
  display:block;
  font-family:'Inter',sans-serif;
}
.who span{
  font-size:11px;
  color:var(--muted);
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.proof-stack{display:flex;flex-direction:column;gap:18px}
.proof-card{
  background:var(--paper);
  padding:24px 28px;
  border-left:3px solid var(--accent);
  border-radius:0 3px 3px 0;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.proof-card:hover{
  transform:translateX(4px);
  box-shadow:0 12px 24px -8px rgba(26,22,18,0.1);
}
/* Alternate accent — even cards go emerald for editorial rhythm */
.proof-card:nth-child(even){
  border-left-color:var(--emerald);
  background:var(--emerald-tint);
}
.proof-card:nth-child(even) .head{color:var(--emerald)}
.proof-card:nth-child(even) .big em{color:var(--emerald-soft)}
.proof-card .head{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:10px;
  font-weight:500;
}
.proof-card .big{
  font-family:'Fraunces',serif;
  font-size:38px;
  font-weight:400;
  line-height:1;
  letter-spacing:-0.022em;
  margin-bottom:8px;
}
.proof-card .big em{font-style:italic;color:var(--accent)}
.proof-card .desc{font-size:13px;color:var(--ink-soft);line-height:1.55}

/* ============ BLOG / INSIGHTS ============ */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.blog-card{
  display:flex;
  flex-direction:column;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:3px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:transform 0.35s cubic-bezier(.2,.8,.2,1), box-shadow 0.3s ease, border-color 0.3s ease;
}
.blog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px -14px rgba(26,22,18,0.18);
  border-color:var(--accent);
}
.blog-card-top{
  padding:26px 26px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.blog-tag{
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--accent);
}
.blog-card:nth-child(even) .blog-tag{color:var(--emerald-soft)}
.blog-date{
  font-size:11px;
  color:var(--muted);
  letter-spacing:0.04em;
}
.blog-card h3{
  font-family:'Fraunces',serif;
  font-size:23px;
  font-weight:500;
  line-height:1.22;
  letter-spacing:-0.015em;
  padding:16px 26px 0;
  color:var(--ink);
}
.blog-card p{
  font-size:14px;
  line-height:1.65;
  color:var(--ink-soft);
  padding:12px 26px 0;
}
.blog-card-foot{
  margin-top:auto;
  padding:20px 26px 24px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--accent);
  display:flex;
  align-items:center;
  gap:7px;
}
.blog-card:nth-child(even) .blog-card-foot{color:var(--emerald-soft)}
.blog-card-foot .arrow{transition:transform 0.25s ease}
.blog-card:hover .blog-card-foot .arrow{transform:translateX(4px)}
@media (max-width:1024px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .blog-grid{grid-template-columns:1fr;gap:18px}
  .blog-card h3{font-size:21px}
}

/* ============ FAQ (AEO / GEO) ============ */
.faq-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid var(--line);
  margin-top:10px;
}
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-q{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  padding:28px 48px 28px 0;
  font-family:'Fraunces',serif;
  font-size:clamp(20px,2.2vw,27px);
  font-weight:400;
  color:var(--ink);
  cursor:pointer;
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:20px;
  transition:color 0.2s ease;
  line-height:1.3;
}
.faq-q:hover{color:var(--accent)}
.faq-q .faq-num{
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:600;
  color:var(--accent);
  flex-shrink:0;
  padding-top:8px;
  letter-spacing:0.04em;
}
.faq-q .faq-toggle{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  flex-shrink:0;
}
.faq-q .faq-toggle::before,
.faq-q .faq-toggle::after{
  content:"";
  position:absolute;
  background:var(--accent);
  border-radius:2px;
  transition:transform 0.3s cubic-bezier(.4,0,.2,1), opacity 0.3s ease;
}
.faq-q .faq-toggle::before{
  top:50%;left:0;
  width:100%;height:2px;
  transform:translateY(-50%);
}
.faq-q .faq-toggle::after{
  left:50%;top:0;
  width:2px;height:100%;
  transform:translateX(-50%);
}
.faq-item.open .faq-toggle::after{
  transform:translateX(-50%) scaleY(0);
  opacity:0;
}
.faq-item.open .faq-q{color:var(--accent)}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s cubic-bezier(.4,0,.2,1);
}
.faq-a-inner{
  padding:0 48px 30px 52px;
  font-size:16px;
  line-height:1.75;
  color:var(--ink-soft);
}
.faq-item.open .faq-a{max-height:340px}
@media (max-width:768px){
  .faq-q{padding:22px 38px 22px 0;gap:12px}
  .faq-q .faq-num{font-size:11px}
  .faq-a-inner{padding:0 20px 24px 0;font-size:15px}
}

/* ============ CONTACT ============ */
.contact-section{
  background:
    radial-gradient(ellipse at 15% 10%, rgba(43,184,154,0.16), transparent 50%),
    linear-gradient(165deg, #0c1815 0%, var(--emerald-deep) 55%, #0c1815 100%);
  color:var(--cream);
  padding:120px 32px;
  position:relative;
  overflow:hidden;
}
.contact-section::before{
  content:"";
  position:absolute;
  top:-20%;
  right:-10%;
  width:520px;
  height:520px;
  background:radial-gradient(circle, rgba(232,118,45,0.18), transparent 62%);
  pointer-events:none;
}
.contact-section::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:52px 52px;
  pointer-events:none;
  mask-image:radial-gradient(ellipse at 70% 30%, #000 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 70% 30%, #000 20%, transparent 75%);
}
.contact-inner{
  max-width:var(--max);
  margin:0 auto;
  position:relative;
  z-index:1;
}
.contact-eyebrow{
  font-family:'Inter',sans-serif;
  font-size:12px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--accent-soft);
  margin-bottom:30px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:14px;
}
.contact-eyebrow .dot{
  width:8px;height:8px;border-radius:50%;background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,0.18);
  animation:pulse 2s ease-in-out infinite;
}
.contact-title{
  font-family:'Fraunces',serif;
  font-size:clamp(48px,7.5vw,120px);
  line-height:0.95;
  font-weight:300;
  letter-spacing:-0.04em;
  margin-bottom:36px;
  color:var(--cream);
}
.contact-title em{font-style:italic;color:var(--accent-soft);font-weight:400}
.contact-title .light{font-weight:200}
.contact-body{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:24px;
  color:rgba(245,239,228,0.78);
  max-width:780px;
  line-height:1.45;
  margin-bottom:60px;
  font-weight:400;
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  padding:36px 0;
  border-top:1px solid rgba(245,239,228,0.18);
  border-bottom:1px solid rgba(245,239,228,0.18);
  margin-bottom:36px;
}
.contact-item .lbl{
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:rgba(245,239,228,0.5);
  margin-bottom:10px;
  font-weight:500;
}
.contact-item .val{
  font-family:'Fraunces',serif;
  font-size:19px;
  font-weight:500;
  word-break:break-word;
  color:var(--cream);
}
.contact-item a:hover{color:var(--accent-soft)}
.contact-foot{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:24px;
}
.sig{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:clamp(28px,4vw,44px);
  font-weight:400;
  color:var(--cream);
  letter-spacing:-0.015em;
  white-space:nowrap;
}
.sig::before{content:"— "}
.foot-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:0.22em;
  color:rgba(245,239,228,0.45);
  text-transform:uppercase;
  text-align:right;
  line-height:1.9;
}

/* ============ 3D TILT INTERACTIONS ============ */
.tilt{
  transform-style:preserve-3d;
  transition:transform 0.4s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
/* Each tiltable surface should have perspective on its parent grid */
.services-grid, .quad-grid, .painex-grid, .hm-shots,
.case-metrics, .stats-bar-inner, .hero-stats{
  perspective:1500px;
}
/* Cards lift slightly with hover, baseline */
.service-card, .quad-card, .shot, .proof-card{
  transform-style:preserve-3d;
  will-change:transform;
}
/* Stat cards inside dark bars get subtle hover lift */
.bar-stat, .case-metric, .hero-stat{
  transform-style:preserve-3d;
  transition:transform 0.45s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}

/* Photo tag and badge should counter-rotate to stay readable in 3D */
.hero-photo-tag, .hero-photo-badge{
  transform-style:preserve-3d;
}

/* ============ PARALLAX DECORATIONS ============ */
.parallax-shape{
  position:absolute;
  pointer-events:none;
  z-index:0;
  will-change:transform;
}
.parallax-shape.s1{
  top:30%;
  left:-80px;
  width:140px;
  height:140px;
  border:1px solid var(--accent);
  opacity:0.18;
  border-radius:50%;
}
.parallax-shape.s2{
  bottom:8%;
  right:-60px;
  width:90px;
  height:90px;
  background:linear-gradient(135deg, var(--accent), var(--accent-soft));
  opacity:0.08;
  border-radius:14px;
  transform:rotate(15deg);
}
.parallax-shape.s3{
  top:60%;
  left:20%;
  width:8px;
  height:8px;
  background:var(--accent);
  border-radius:50%;
  opacity:0.4;
}

/* ============ COUNTER ANIMATION ============ */
.counter{display:inline-block;font-variant-numeric:tabular-nums}
.counter[data-counted="false"]{opacity:0.85}

/* ============ FLOATING ANIMATIONS ============ */
@keyframes float-slow{
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(2deg); }
}
@keyframes float-medium{
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(-3deg); }
}
.hero-photo-tag{
  animation:float-medium 5s ease-in-out infinite;
}
.hero-photo-badge{
  animation:float-slow 6s ease-in-out infinite;
}

/* ============ REVEAL ANIMATION ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.8s ease, transform 0.8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ============ TABLET (≤1024px) ============ */
@media (max-width:1024px){
  .section, .section-tight{padding:90px 28px}
  .tools-section .section{padding:90px 28px}
  .hero{padding:48px 28px 80px}
  .hero-top{gap:40px}
  .about-grid{gap:50px}
  .tools-grid{gap:48px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .case-body{gap:40px}
  .case-metrics{gap:24px;padding:34px 32px}
  .painex-grid{grid-template-columns:1fr 1fr;gap:18px}
  .painex-grid .shot:nth-child(3){grid-column:span 2}
  .quad-grid{gap:18px}
  .quad-frame{height:240px}
  .proof-grid{gap:32px}
  .stats-bar-inner{padding:0 28px;gap:32px}
}

/* ============ MOBILE (≤768px) ============ */
@media (max-width:768px){
  html{scroll-padding-top:64px}
  body{font-size:15px}

  /* Nav */
  .nav{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:var(--cream);
  }
  .nav.scrolled{background:var(--cream)}
  .nav-inner{padding:14px 20px}
  .nav-links{
    position:fixed;
    top:64px;
    left:0;right:0;bottom:0;
    background:var(--cream);
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    padding:40px 24px;
    gap:0;
    transform:translateX(100%);
    transition:transform 0.3s ease, visibility 0.3s;
    border-top:1px solid var(--line);
    visibility:hidden;
    will-change:transform;
  }
  .nav-links.open{transform:translateX(0);visibility:visible}
  .nav-links li{width:100%;border-bottom:1px solid var(--line)}
  .nav-links a{
    display:block;
    padding:18px 0;
    font-size:18px;
    font-family:'Fraunces',serif;
    font-weight:500;
  }
  .nav-links a::after{display:none}
  .nav-burger{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:1px solid var(--line);
    border-radius:50%;
    background:transparent;
    margin-left:12px;
    transition:background 0.25s ease;
  }
  .nav-burger:hover{background:var(--cream-2)}
  .nav-burger span{
    display:block;
    width:16px;
    height:1.5px;
    background:var(--ink);
    position:relative;
    transition:transform 0.25s ease, opacity 0.25s ease;
  }
  .nav-burger span::before, .nav-burger span::after{
    content:"";
    position:absolute;
    left:0;width:16px;height:1.5px;
    background:var(--ink);
    transition:transform 0.25s ease;
  }
  .nav-burger span::before{top:-5px}
  .nav-burger span::after{top:5px}
  .nav-burger.open span{background:transparent}
  .nav-burger.open span::before{top:0;transform:rotate(45deg)}
  .nav-burger.open span::after{top:0;transform:rotate(-45deg)}
  .nav-cta{padding:8px 14px;font-size:10px;letter-spacing:0.12em}
  .nav-logo{font-size:16px}

  /* Hero */
  .section, .section-tight, .tools-section .section{padding:64px 20px}
  .hero{padding:24px 20px 56px;min-height:auto}
  .hero::before, .hero::after{display:none}
  .hero-top{grid-template-columns:1fr;gap:32px;margin-bottom:32px;align-items:start}
  .hero-right{order:1;justify-content:center;width:100%;display:flex;min-height:auto;perspective:none}
  .hero-left{order:0}
  .hero-photo-wrap{
    max-width:240px;
    width:100%;
    min-height:0;
    aspect-ratio:auto;
    margin:0 auto;
  }
  .hero-photo-wrap::before{
    width:90%;
    bottom:6%;
    left:5%;
    transform:none;
  }
  .hero-photo-wrap::after{width:100px;height:100px;right:0%;top:6%;filter:blur(10px)}
  .hero-photo{position:relative;display:block}
  .hero-photo-tag{
    font-size:12px;
    padding:5px 11px;
    right:-4px;
    top:4%;
    transform:rotate(3deg);
  }
  .hero-photo-badge{
    font-size:8.5px;
    padding:6px 12px;
    left:0;
    bottom:4%;
  }
  /* Hero eyebrow: keep on one line, prevent wrap-stranding the dot */
  .hero-eyebrow{font-size:9.5px;margin-bottom:18px;line-height:1.5;flex-wrap:nowrap;align-items:center;letter-spacing:0.18em}
  .hero-eyebrow .dot{flex-shrink:0}
  .hero h1{font-size:clamp(38px,10vw,60px);margin-bottom:22px;line-height:1}
  .hero-tagline{font-size:16px;line-height:1.5}
  .hero-sub{margin-bottom:0}
  .hero-meta{font-size:10px;letter-spacing:0.1em;text-align:left}
  .hero-meta-inline{
    flex-direction:column;
    gap:6px;
    margin-top:18px;
  }
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:20px;padding-top:24px;margin-top:8px}
  .hero-stat .num{font-size:28px}
  .hero-stat .lbl{font-size:9px;letter-spacing:0.14em}
  .scroll-cue{display:none}

  /* About */
  .about-grid{grid-template-columns:1fr;gap:40px}
  .about-side{position:static;padding:30px 24px}
  .about-title{font-size:34px;margin-bottom:24px}
  .about-body p{font-size:15px}
  .about-pull{font-size:18px;padding-left:18px;margin:24px 0}
  .side-content{font-size:16px}
  .side-content small{font-size:12px}

  /* Stats bar */
  .stats-bar{padding:42px 0;margin:50px 0}
  .stats-bar-inner{grid-template-columns:repeat(2,1fr);gap:28px;padding:0 20px}
  .bar-stat .v{font-size:32px}
  .bar-stat .l{font-size:10px}

  /* Section heads */
  .section-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:36px;padding-bottom:18px}
  .section-head h2{font-size:36px}
  .section-head .num{font-size:11px;letter-spacing:0.2em}

  /* Services */
  .services-grid{grid-template-columns:1fr;gap:16px}
  .service-card{padding:28px 24px}
  .service-card h3{font-size:22px}
  .service-card p{font-size:13.5px}

  /* Case studies */
  .case{margin-bottom:80px}
  .case-head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border-bottom-width:1px;margin-bottom:30px;padding-bottom:22px}
  .case-tag{font-size:10px;padding:6px 12px}
  .case-title{font-size:30px;line-height:1.05}
  .case-period{text-align:left;font-size:10px}
  .case-period b{font-size:12px}

  /* Brand links — mobile */
  .brand-links{gap:8px;margin-top:14px;width:100%}
  .brand-link{padding:8px 14px 8px 10px;font-size:12.5px;flex:0 1 auto}
  .brand-link .ig-icon{width:22px;height:22px;border-radius:6px}
  .brand-link .ig-icon svg{width:11px;height:11px}
  .brand-link .handle{font-size:10.5px}
  .brand-icon{width:24px;height:24px;margin-left:8px}
  .brand-icon svg{width:13px;height:13px}
  .case-body{grid-template-columns:1fr;gap:32px;margin-bottom:30px}
  .case-col p{font-size:14px}
  .case-col h4{font-size:9.5px}
  .case-col ul li{font-size:13.5px;padding:9px 0 9px 22px}
  .case-metrics{grid-template-columns:repeat(2,1fr);gap:22px;padding:28px 22px}
  .case-metric .val{font-size:30px}
  .case-metric .lbl{font-size:9.5px}

  /* Evidence galleries */
  .evidence{margin-top:42px;padding-top:42px}
  .evidence h3{font-size:26px}
  .evidence-period{font-size:11px;margin-bottom:28px}
  .painex-grid{grid-template-columns:1fr;gap:16px}
  .painex-grid .shot:nth-child(3){grid-column:auto}
  .painex-stack{gap:16px}
  .shot-frame.tall{height:auto;padding:18px;max-height:400px}
  .shot-frame.tall img{max-height:360px;max-width:100%;height:auto;width:auto}
  .shot-frame.wide{height:auto;padding:14px}
  .shot-frame.wide img{max-height:none;max-width:100%;height:auto;width:auto}
  .shot-cap{padding:18px 20px}
  .shot-cap h4{font-size:19px}
  .shot-cap p{font-size:12.5px}

  /* H&M row */
  .hm-row{grid-template-columns:1fr;padding-top:28px;margin-top:24px;gap:22px}
  .hm-label-card{padding:0}
  .hm-label-card h4{font-size:22px}
  .hm-shots{grid-template-columns:1fr;gap:16px}

  /* Kirti quad */
  .quad-grid{grid-template-columns:1fr;gap:18px}
  .quad-frame{height:220px;padding:12px}
  .quad-tag{font-size:9px;padding:4px 10px;top:12px;left:14px}
  .quad-cap{padding:20px 22px}
  .quad-stat b{font-size:24px}
  .quad-stat span{font-size:9px}

  /* Tools */
  .tools-grid{grid-template-columns:1fr;gap:48px}
  .tools-col h3{font-size:24px;margin-bottom:18px}
  .tool-list{grid-template-columns:repeat(2,1fr);gap:10px}
  .tool{padding:14px 16px}
  .tool .name{font-size:15px}
  .tool .lvl{font-size:9px}
  .skill-row{grid-template-columns:1fr;gap:6px;padding-bottom:14px}
  .skill-row .nm{font-size:14.5px}
  .skill-row .pct{font-size:11px;justify-self:end;margin-top:-22px;align-self:flex-start}
  .skill-row .track{order:3}
  .certs-strip{grid-template-columns:1fr;gap:20px;padding:22px 20px;margin-top:36px}
  .certs-strip h4{font-size:19px}
  .certs-list{grid-template-columns:1fr;gap:12px}

  /* Proof */
  .proof-intro{font-size:17px;margin-bottom:32px;line-height:1.55}
  .proof-grid{grid-template-columns:1fr;gap:28px;margin-top:20px}
  .testimonial{padding:38px 22px 22px 22px;margin-bottom:18px}
  .testimonial p{font-size:15.5px;line-height:1.55}
  .testimonial::before{font-size:46px;top:-22px;left:14px;padding:0 10px;line-height:0.85}
  .who .av{width:38px;height:38px;font-size:15px}
  .who b{font-size:13px}
  .who span{font-size:10px}
  .proof-card{padding:20px 22px}
  .proof-card .big{font-size:28px}
  .proof-card .desc{font-size:12px}

  /* Contact */
  .contact-section{padding:72px 20px}
  .contact-title{font-size:48px;line-height:1}
  .contact-body{font-size:18px;margin-bottom:36px}
  .contact-grid{grid-template-columns:repeat(2,1fr);gap:22px;padding:24px 0;margin-bottom:28px}
  .contact-item .lbl{font-size:9px}
  .contact-item .val{font-size:14.5px}
  .contact-foot{flex-direction:column;align-items:flex-start;gap:18px}
  .foot-meta{text-align:left}
  .sig{font-size:30px}
}

/* ============ SMALL MOBILE (≤420px) ============ */
@media (max-width:420px){
  .nav-inner{padding:12px 16px}
  .nav-cta{padding:7px 11px;font-size:9px}
  .nav-logo{font-size:15px}
  .section, .section-tight, .tools-section .section{padding:54px 18px}
  .hero{padding:24px 18px 56px}
  .hero h1{font-size:clamp(34px,11.5vw,52px)}
  .hero-tagline{font-size:15.5px}
  .hero-photo-wrap{max-width:260px}
  .hero-photo-tag{font-size:12px;padding:6px 11px;right:0;top:4%}
  .hero-photo-badge{font-size:8.5px;padding:7px 12px}
  .hero-stats{grid-template-columns:1fr 1fr;gap:18px}
  .hero-stat .num{font-size:24px}
  .about-title{font-size:28px}
  .about-pull{font-size:16px}
  .section-head h2{font-size:30px}
  .service-card{padding:24px 20px}
  .service-card h3{font-size:20px}
  .case-title{font-size:24px}
  .case-metrics{grid-template-columns:1fr 1fr;gap:18px;padding:22px 18px}
  .case-metric .val{font-size:26px}
  .stats-bar{padding:34px 0;margin:42px 0}
  .stats-bar-inner{padding:0 18px;gap:22px}
  .bar-stat .v{font-size:26px}
  .tool-list{grid-template-columns:1fr}
  .testimonial{padding:28px 18px 20px 18px}
  .contact-title{font-size:38px}
  .contact-body{font-size:16px}
  .contact-grid{grid-template-columns:1fr;gap:20px}
  .sig{font-size:26px}
  .foot-meta{font-size:9px}
}

/* ============ TOUCH-FRIENDLY: prefer reduced motion ============ */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important}
  .scroll-cue, .hero-photo-tag, .hero-photo-badge{animation:none}
  .hero-3d-canvas{display:none}
  .parallax-shape{display:none}
}

/* Disable heavy 3D scene + tilt on mobile for performance */
@media (max-width:900px){
  .hero-3d-canvas{display:none}
  .parallax-shape.s1, .parallax-shape.s2{display:none}
  .tilt{transform:none !important}
  .hero-photo-wrap{transform:none !important}
}

/* ============ SUB-PAGE HEADER (split pages) ============ */
.breadcrumb{max-width:var(--max);margin:0 auto;padding:30px 32px 0;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);transition:color .2s ease}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{color:var(--line)}
@media (max-width:768px){.breadcrumb{padding:20px 20px 0}}

/* ============ HOMEPAGE SITE DIRECTORY (footer internal links) ============ */
.site-directory{margin:8px 0 4px;padding:44px 0 8px;border-top:1px solid rgba(245,239,228,0.18);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px}
.site-directory .col h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:14px;font-weight:500}
.site-directory .col a{display:block;font-size:14px;color:rgba(245,239,228,0.72);padding:6px 0;transition:color .2s ease,padding-left .2s ease}
.site-directory .col a:hover{color:var(--accent-soft);padding-left:5px}
@media (max-width:560px){.site-directory{gap:26px;padding-top:34px}}
.social-row{display:flex;gap:20px;flex-wrap:wrap;margin:4px 0 2px;padding:10px 0 4px}
.social-row a{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(245,239,228,0.6);transition:color .2s ease}
.social-row a:hover{color:var(--accent-soft)}

/* ============ RESULTS PAGE — balanced layout ============ */
.results-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0 64px;align-items:stretch}
.results-metrics .proof-card{height:100%}
.results-subhead{font-family:'Fraunces',serif;font-size:26px;font-weight:400;letter-spacing:-0.01em;color:var(--ink);margin:0 0 24px;display:flex;align-items:baseline;gap:14px}
.results-subhead em{font-style:italic;color:var(--accent)}
.results-subhead::after{content:"";flex:1;height:1px;background:var(--line)}
.results-quotes{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.results-quotes .testimonial{margin-bottom:0;height:100%}
@media (max-width:1024px){.results-metrics{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.results-quotes{grid-template-columns:1fr}}
@media (max-width:560px){.results-metrics{grid-template-columns:1fr;margin-bottom:48px}}

