*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #faf9f7;
  --white: #ffffff;
  --ink: #1a1a1a;
  --ink-2: #4a4a4a;
  --ink-3: #9a9a9a;
  --border: #ebebeb;
  --border-soft: #f2f1ef;
  --accent: #7c5cbf;
  --accent-light: #f0ecf9;
  --accent-mid: rgba(124,92,191,0.18);
  --coral: #e8724a;
  --coral-light: #fdf0eb;
  --sage: #5a8a70;
  --sage-light: #edf5f0;
  --gold: #c9991a;
  --gold-light: #fdf6e3;
  --surface: #f5f4f1;
  --shadow: 0 2px 16px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.09);
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ── AVAILABILITY BANNER ── */
.avail-banner {
  background: var(--accent);
  color: #fff;
  text-align: center;
  padding: 11px 24px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
.avail-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.55); animation:blink 2.4s ease-in-out infinite; flex-shrink:0; }
@keyframes blink { 0%,100%{opacity:.5} 50%{opacity:1} }
.avail-banner a { color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* ── NAV ── */
nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(250,249,247,0.93);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  padding: 0 48px; height: 68px;
  display: flex; align-items: center; justify-content: space-between;
}
.nav-logo { font-family:'Fraunces',serif; font-size:20px; font-weight:400; font-style:italic; color:var(--ink); text-decoration:none; letter-spacing:-0.01em; }
.nav-logo strong { font-style:normal; font-weight:600; }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { font-size:13px; font-weight:500; color:var(--ink-2); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:var(--accent); }
.nav-cta { font-size:13px; font-weight:600; color:#fff; background:var(--accent); padding:10px 22px; border-radius:100px; text-decoration:none; transition:all .2s; }
.nav-cta:hover { background:var(--ink); }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.nav-hamburger span { display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; }
.mobile-nav { display:none; position:fixed; inset:0; background:var(--white); z-index:200; flex-direction:column; align-items:center; justify-content:center; gap:24px; }
.mobile-nav.open { display:flex; }
.mobile-nav a { font-family:'Fraunces',serif; font-size:28px; font-weight:300; font-style:italic; color:var(--ink); text-decoration:none; transition:color .2s; }
.mobile-nav a:hover { color:var(--accent); }
.mobile-nav-close { position:absolute; top:20px; right:24px; font-size:28px; cursor:pointer; color:var(--ink-3); background:none; border:none; line-height:1; }
.mobile-nav .nav-cta { font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-style:normal; margin-top:8px; }

/* ── HERO ── */
#hero {
  padding: 72px 48px 64px;
  max-width: 1160px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
}
.hero-tag { display:inline-flex; align-items:center; gap:8px; background:var(--accent-light); color:var(--accent); font-size:12px; font-weight:600; letter-spacing:.04em; padding:6px 14px; border-radius:100px; margin-bottom:24px; }
.hero-tag-dot { width:5px; height:5px; border-radius:50%; background:var(--accent); }
.hero-h1 { font-family:'Fraunces',serif; font-size:clamp(42px,5vw,66px); font-weight:300; line-height:1.07; color:var(--ink); letter-spacing:-0.02em; margin-bottom:22px; }
.hero-h1 em { font-style:italic; color:var(--accent); }
.hero-sub { font-size:16px; color:var(--ink-2); line-height:1.75; margin-bottom:32px; max-width:440px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.btn-primary { background:var(--accent); color:#fff; font-size:14px; font-weight:600; padding:13px 26px; border-radius:100px; text-decoration:none; transition:all .2s; display:inline-block; }
.btn-primary:hover { background:var(--ink); }
.btn-secondary { background:var(--white); color:var(--ink); font-size:14px; font-weight:500; padding:13px 26px; border-radius:100px; text-decoration:none; border:1.5px solid var(--border); transition:all .2s; display:inline-block; }
.btn-secondary:hover { border-color:var(--accent); color:var(--accent); }

.hero-right { display:flex; flex-direction:column; gap:16px; }
.hero-photo-card { border-radius:20px; overflow:hidden; position:relative; aspect-ratio:4/5; max-height:420px; background:var(--accent-light); }
.hero-photo-card img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }

.hero-stat-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.hero-stat-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:18px; box-shadow:var(--shadow); }
.hero-stat-num { font-family:'Fraunces',serif; font-size:30px; font-weight:400; color:var(--accent); line-height:1; margin-bottom:5px; letter-spacing:-0.02em; }
.hero-stat-label { font-size:12px; color:var(--ink-3); line-height:1.4; }

.client-strip { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:16px 22px; box-shadow:var(--shadow); }
.client-strip-label { font-size:10px; font-weight:700; color:var(--ink-3); letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; }
.client-logos { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.client-name { font-size:13px; font-weight:700; color:var(--ink-2); opacity:.45; transition:opacity .2s; }
.client-name:hover { opacity:1; }

/* ── SECTION BASE ── */
section { padding: 88px 0; }
.container { max-width:1160px; margin:0 auto; padding:0 48px; }
.section-tag { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.section-tag::before { content:''; display:block; width:14px; height:2px; background:var(--accent); border-radius:2px; }
.section-h2 { font-family:'Fraunces',serif; font-size:clamp(32px,4vw,50px); font-weight:300; line-height:1.1; color:var(--ink); letter-spacing:-0.02em; margin-bottom:14px; }
.section-h2 em { font-style:italic; color:var(--accent); }
.section-intro { font-size:15px; color:var(--ink-2); line-height:1.75; max-width:520px; }

/* ── MEET ANVI VIDEO STRIP ── */
#meet-anvi {
  background: var(--white);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 72px 0;
}
.meet-anvi-inner {
  max-width: 1160px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}
.meet-anvi-text {}
.meet-anvi-video { border-radius: 20px; overflow: hidden; position: relative; aspect-ratio: 16/9; background: #000; box-shadow: var(--shadow-lg); }
.meet-anvi-video iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }

/* ── SPEAKING ── */
#speaking { background: var(--ink); padding: 80px 0; }
.speaking-inner { max-width:1160px; margin:0 auto; padding:0 48px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.speaking-tag { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-light); margin-bottom:14px; opacity:.8; }
.speaking-h2 { font-family:'Fraunces',serif; font-size:clamp(28px,3.5vw,44px); font-weight:300; font-style:italic; line-height:1.1; color:#fff; letter-spacing:-0.02em; margin-bottom:20px; }
.speaking-desc { font-size:14px; color:rgba(255,255,255,.6); line-height:1.75; margin-bottom:28px; max-width:400px; }
.video-card { border-radius:16px; overflow:hidden; position:relative; background:#000; aspect-ratio:16/9; box-shadow:var(--shadow-lg); }
.video-card iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; display:block; }
.video-label { font-size:12px; color:rgba(255,255,255,.35); margin-top:10px; text-align:center; }

/* photo in speaking */
.speaking-award-photo { border-radius:16px; overflow:hidden; margin-bottom:20px; }
.speaking-award-photo img { width:100%; display:block; object-fit:cover; border-radius:16px; max-height:280px; object-position:center top; }

.awards-strip { margin-top:28px; display:flex; flex-direction:column; gap:0; }
.award-item { display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.award-item:first-child { border-top:1px solid rgba(255,255,255,.08); }
.award-icon { font-size:15px; padding-top:1px; }
.award-title { font-size:13px; font-weight:600; color:rgba(255,255,255,.85); margin-bottom:3px; line-height:1.4; }
.award-org { font-size:11px; color:rgba(255,255,255,.35); letter-spacing:.04em; }
.sessions-grid { display:flex; flex-direction:column; gap:0; margin-top:28px; }
.session-item { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); display:grid; grid-template-columns:120px 1fr; gap:16px; align-items:start; }
.session-item:first-child { border-top:1px solid rgba(255,255,255,.08); }
.session-conf { display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-light); background:rgba(124,92,191,0.25); border:1px solid rgba(124,92,191,0.4); padding:5px 10px; border-radius:6px; white-space:nowrap; width:100%; text-align:center; }
.session-title { font-size:13px; font-weight:600; color:rgba(255,255,255,.85); margin-bottom:4px; line-height:1.4; }
.session-desc { font-size:12px; color:rgba(255,255,255,.4); line-height:1.6; }

/* ── SERVICES ── */
#services { background:var(--bg); }
.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:48px; }
.service-card { background:var(--white); border:1px solid var(--border); border-radius:20px; padding:34px 30px; transition:all .25s; cursor:default; position:relative; overflow:hidden; }
.service-card:hover { border-color:var(--accent); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.service-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:20px; }
.icon-violet { background:var(--accent-light); }
.icon-coral { background:var(--coral-light); }
.icon-sage { background:var(--sage-light); }
.icon-gold { background:var(--gold-light); }
.service-num { position:absolute; top:26px; right:28px; font-family:'Fraunces',serif; font-size:13px; font-weight:300; color:var(--border); letter-spacing:.04em; transition:color .25s; }
.service-card:hover .service-num { color:var(--accent-mid); }
.service-title { font-family:'Fraunces',serif; font-size:21px; font-weight:400; color:var(--ink); margin-bottom:10px; line-height:1.25; letter-spacing:-0.01em; }
.service-desc { font-size:13px; color:var(--ink-2); line-height:1.7; margin-bottom:18px; }
.service-tags { display:flex; flex-wrap:wrap; gap:6px; }
.service-tags span { font-size:11px; font-weight:500; color:var(--ink-3); background:var(--surface); border-radius:100px; padding:4px 12px; transition:all .2s; }
.service-card:hover .service-tags span { background:var(--accent-light); color:var(--accent); }

/* ── OFFER ── */
#offer { background:var(--white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.offer-inner { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.offer-badge { display:inline-flex; align-items:center; gap:8px; background:var(--coral-light); color:var(--coral); font-size:12px; font-weight:600; padding:6px 14px; border-radius:100px; margin-bottom:18px; }
.offer-h2 { font-family:'Fraunces',serif; font-size:clamp(28px,3.5vw,44px); font-weight:300; line-height:1.1; color:var(--ink); letter-spacing:-0.02em; margin-bottom:14px; }
.offer-h2 em { font-style:italic; color:var(--accent); }
.offer-desc { font-size:15px; color:var(--ink-2); line-height:1.75; margin-bottom:22px; }
.offer-list { list-style:none; margin-bottom:28px; display:flex; flex-direction:column; gap:9px; }
.offer-list li { font-size:14px; color:var(--ink-2); padding-left:22px; position:relative; line-height:1.5; }
.offer-list li::before { content:'✓'; position:absolute; left:0; color:var(--accent); font-weight:700; font-size:13px; }
.offer-card { background:var(--bg); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); }
.offer-card-header { padding:18px 26px; border-bottom:1px solid var(--border); font-size:11px; font-weight:700; color:var(--ink-3); letter-spacing:.08em; text-transform:uppercase; display:flex; align-items:center; justify-content:space-between; }
.offer-card-header span { background:var(--sage-light); color:var(--sage); font-size:11px; font-weight:600; padding:4px 12px; border-radius:100px; letter-spacing:.02em; text-transform:none; }
.offer-steps { padding:4px 0; }
.offer-step { display:flex; gap:14px; padding:16px 26px; border-bottom:1px solid var(--border-soft); align-items:flex-start; transition:background .15s; }
.offer-step:last-child { border-bottom:none; }
.offer-step:hover { background:var(--white); }
.step-num { font-family:'Fraunces',serif; font-size:19px; font-weight:400; color:var(--accent); min-width:22px; line-height:1.2; flex-shrink:0; }
.step-title { font-size:13px; font-weight:600; color:var(--ink); margin-bottom:3px; }
.step-desc { font-size:12px; color:var(--ink-3); line-height:1.5; }

/* ── USE CASES ── */
#usecases { background:var(--bg); border-top:1px solid var(--border); }
.usecases-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; flex-wrap:wrap; gap:20px; }
.usecases-link { font-size:13px; font-weight:600; color:var(--accent); text-decoration:none; display:inline-flex; align-items:center; gap:4px; transition:gap .2s; }
.usecases-link:hover { gap:8px; }
.usecases-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.usecase-card.hidden { display:none; }
.usecase-card.hidden.visible { display:flex; }
.usecases-toggle { display:flex; align-items:center; justify-content:center; margin-top:28px; }
.btn-toggle { display:inline-flex; align-items:center; gap:8px; background:var(--white); color:var(--accent); font-size:13px; font-weight:600; padding:12px 28px; border-radius:100px; border:1.5px solid var(--accent); cursor:pointer; transition:all .2s; font-family:'Plus Jakarta Sans',sans-serif; }
.btn-toggle:hover { background:var(--accent); color:#fff; }
.btn-toggle svg { transition:transform .3s; }
.btn-toggle.open svg { transform:rotate(180deg); }
.usecase-card { background:var(--white); border:1px solid var(--border); border-radius:20px; overflow:hidden; transition:all .25s; text-decoration:none; display:flex; flex-direction:column; }
.usecase-card:hover { border-color:var(--accent); box-shadow:var(--shadow-lg); transform:translateY(-2px); }


.usecase-body { padding:22px 22px 24px; flex:1; display:flex; flex-direction:column; }
.usecase-tag { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.usecase-title { font-family:'Fraunces',serif; font-size:17px; font-weight:400; color:var(--ink); line-height:1.3; margin-bottom:8px; letter-spacing:-0.01em; }
.usecase-desc { font-size:12px; color:var(--ink-3); line-height:1.6; flex:1; }
.usecase-footer { margin-top:14px; font-size:12px; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:4px; }

/* ── ABOUT ── */
#about { background:var(--white); border-top:1px solid var(--border); }
.about-inner { display:grid; grid-template-columns:200px 1fr; gap:48px; align-items:start; }

/* Two-photo layout */
.about-photo-single { display:block; }
.about-photo-main { border-radius:20px; overflow:hidden; aspect-ratio:3/4; }
.about-photo-main img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.about-photo-secondary { border-radius:20px; overflow:hidden; aspect-ratio:3/4; }
.about-photo-secondary img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

.about-stat-pill { margin-top:14px; background:var(--white); border:1px solid var(--border); border-radius:14px; padding:14px 18px; box-shadow:var(--shadow); display:inline-flex; flex-direction:column; align-items:center; min-width:110px; }
.about-stat-pill-num { font-family:'Fraunces',serif; font-size:26px; font-weight:400; color:var(--accent); line-height:1; margin-bottom:3px; }
.about-stat-pill-label { font-size:11px; color:var(--ink-3); text-align:center; line-height:1.3; }
.platform-wrap { margin-top:22px; }
.platform-label { font-size:10px; font-weight:700; color:var(--ink-3); letter-spacing:.08em; text-transform:uppercase; margin-bottom:9px; }
.platform-chips { display:flex; flex-wrap:wrap; gap:7px; }
.platform-chip { font-size:12px; font-weight:500; color:var(--ink-2); background:var(--bg); border:1px solid var(--border); border-radius:100px; padding:5px 13px; transition:all .2s; }
.platform-chip:hover { background:var(--accent-light); color:var(--accent); border-color:var(--accent-mid); }

.about-name { font-family:'Fraunces',serif; font-size:28px; font-weight:400; color:var(--ink); letter-spacing:-0.02em; margin-bottom:3px; }
.about-role { font-size:13px; color:var(--ink-3); font-weight:500; margin-bottom:22px; }
.about-bio { font-size:15px; color:var(--ink-2); line-height:1.8; margin-bottom:16px; }
.about-bio strong { color:var(--ink); font-weight:600; }
.pullquote { font-family:'Fraunces',serif; font-size:18px; font-style:italic; font-weight:300; color:var(--accent); border-left:3px solid var(--accent-mid); padding-left:18px; margin:24px 0; line-height:1.55; }
.creds-list { border-top:1px solid var(--border); margin-top:4px; }
.cred-item { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--border); }
.cred-title { font-size:13px; font-weight:600; color:var(--ink); }
.cred-badge { font-size:11px; font-weight:500; color:var(--ink-3); background:var(--surface); padding:3px 10px; border-radius:100px; white-space:nowrap; }

/* ── ENGAGE ── */
#engage { background:var(--bg); border-top:1px solid var(--border); }
.engage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:48px; }
.insights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.engage-card { background:var(--white); border:1px solid var(--border); border-radius:20px; padding:30px 26px; display:flex; flex-direction:column; transition:all .25s; }
.engage-card:hover { border-color:var(--accent); box-shadow:var(--shadow-lg); transform:translateY(-2px); background:var(--white); }
.engage-pill { display:inline-flex; font-size:11px; font-weight:600; color:var(--coral); background:var(--coral-light); padding:4px 12px; border-radius:100px; margin-bottom:14px; align-self:flex-start; }
.engage-title { font-family:'Fraunces',serif; font-size:21px; font-weight:400; color:var(--ink); margin-bottom:10px; line-height:1.25; letter-spacing:-0.01em; }
.engage-desc { font-size:13px; color:var(--ink-2); line-height:1.7; flex:1; margin-bottom:20px; }
.engage-link { font-size:13px; font-weight:600; color:var(--accent); text-decoration:none; display:inline-flex; align-items:center; gap:4px; align-self:flex-start; transition:gap .2s; }
.engage-link:hover { gap:8px; }
.scarcity-bar { margin-top:24px; background:var(--accent-light); border:1px solid var(--accent-mid); border-radius:16px; padding:18px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.scarcity-left { display:flex; align-items:center; gap:10px; }
.scarcity-dot { width:8px; height:8px; border-radius:50%; background:#3dbb6e; flex-shrink:0; box-shadow:0 0 0 3px rgba(61,187,110,.2); animation:pulse-g 2.2s ease-in-out infinite; }
@keyframes pulse-g { 0%,100%{box-shadow:0 0 0 3px rgba(61,187,110,.2)} 50%{box-shadow:0 0 0 6px rgba(61,187,110,.08)} }
.scarcity-copy { font-size:14px; color:var(--ink-2); }
.scarcity-copy strong { color:var(--ink); }
.scarcity-cta { font-size:13px; font-weight:600; color:#fff; background:var(--accent); padding:10px 22px; border-radius:100px; text-decoration:none; transition:all .2s; white-space:nowrap; }
.scarcity-cta:hover { background:var(--ink); }

/* ── CONTACT ── */
#contact { background:var(--white); border-top:1px solid var(--border); }
.contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.contact-detail { margin-top:32px; border-top:1px solid var(--border); }
.contact-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); }
.contact-row-label { font-size:11px; font-weight:700; color:var(--ink-3); letter-spacing:.07em; text-transform:uppercase; flex-shrink:0; }
.contact-row-value { font-size:14px; color:var(--ink-2); text-decoration:none; text-align:right; transition:color .2s; }
.contact-row-value:hover { color:var(--accent); }
.calendly-btn { margin-top:22px; display:flex; align-items:center; gap:12px; background:var(--accent); padding:16px 22px; border-radius:16px; text-decoration:none; transition:all .2s; }
.calendly-btn:hover { background:var(--ink); }
.calendly-icon { width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.calendly-icon svg { width:18px; height:18px; }
.calendly-text { flex:1; }
.calendly-label { font-size:11px; font-weight:500; color:rgba(255,255,255,.55); margin-bottom:2px; }
.calendly-title { font-size:14px; font-weight:600; color:#fff; }
.calendly-arrow { color:rgba(255,255,255,.4); font-size:18px; }
.contact-form { background:var(--bg); border:1px solid var(--border); border-radius:20px; padding:32px 28px; box-shadow:var(--shadow); }
.form-group { margin-bottom:14px; }
.form-group label { display:block; font-size:12px; font-weight:600; color:var(--ink-2); margin-bottom:6px; }
.form-group input,.form-group textarea,.form-group select { width:100%; border:1.5px solid var(--border); background:var(--white); font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; color:var(--ink); padding:11px 15px; outline:none; transition:border-color .2s,background .2s; appearance:none; border-radius:12px; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:var(--accent); background:var(--white); }
.form-group input::placeholder,.form-group textarea::placeholder { color:var(--ink-3); }
.form-group textarea { height:100px; resize:none; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.btn-submit { background:var(--accent); color:#fff; border:none; font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:600; padding:13px 28px; border-radius:100px; cursor:pointer; transition:background .2s; width:100%; margin-top:4px; }
.btn-submit:hover { background:var(--ink); }

/* ── FOOTER ── */
footer { background:var(--ink); padding:32px 48px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer-logo { font-family:'Fraunces',serif; font-size:18px; font-weight:300; font-style:italic; color:rgba(255,255,255,.5); text-decoration:none; }
.footer-logo strong { font-style:normal; font-weight:600; }
.footer-links { display:flex; gap:22px; list-style:none; flex-wrap:wrap; }
.footer-links a { font-size:12px; font-weight:500; color:rgba(255,255,255,.3); text-decoration:none; transition:color .2s; }
.footer-links a:hover { color:rgba(255,255,255,.8); }
.footer-copy { font-size:12px; color:rgba(255,255,255,.22); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
.hero-tag{animation:fadeUp .5s ease both}
.hero-h1{animation:fadeUp .5s .08s ease both}
.hero-sub{animation:fadeUp .5s .16s ease both}
.hero-actions{animation:fadeUp .5s .24s ease both}
.hero-right{animation:fadeUp .55s .1s ease both}

/* ── RESPONSIVE ── */
@media(max-width:980px){
  nav{padding:0 24px}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  #hero{grid-template-columns:1fr;padding:48px 24px;gap:36px}
  .hero-sub{max-width:100%}
  .hero-photo-card{aspect-ratio:4/3;max-height:300px}
  .meet-anvi-inner,.speaking-inner,.offer-inner,.about-inner,.contact-inner{grid-template-columns:1fr;gap:36px}
  .about-photos{grid-template-columns:1fr 1fr}
  .services-grid,.usecases-grid,.engage-grid,.insights-grid{grid-template-columns:1fr}
  .container{padding:0 24px}
  section{padding:60px 0}
  #speaking,.#meet-anvi{padding:56px 0}
  .speaking-inner,.meet-anvi-inner{padding:0 24px}
  footer{flex-direction:column;text-align:center;padding:24px;gap:14px}
  .footer-links{justify-content:center}
  .scarcity-bar{flex-direction:column;align-items:flex-start}
  .usecases-header{flex-direction:column;align-items:flex-start}
  .usecases-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero-h1{font-size:38px}
  .hero-actions{flex-direction:column}
  .btn-primary,.btn-secondary{width:100%;text-align:center}
  .hero-stat-cards{grid-template-columns:1fr 1fr;gap:8px}
  .hero-stat-num{font-size:26px}
  .form-row{grid-template-columns:1fr}
  .about-photos{grid-template-columns:1fr}
}




/* Insight cards */
.insight-card { background:var(--bg); border:1px solid var(--border); border-radius:20px; text-decoration:none; display:flex; flex-direction:column; transition:all .25s; overflow:hidden; }
.insight-card:hover { border-color:var(--accent); box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.insight-card-inner { padding:26px 26px 22px; display:flex; flex-direction:column; flex:1; }
.insight-cat { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.insight-title { font-family:'Fraunces',serif; font-size:18px; font-weight:400; color:var(--ink); line-height:1.3; margin-bottom:10px; letter-spacing:-0.01em; }
.insight-excerpt { font-size:13px; color:var(--ink-3); line-height:1.65; flex:1; margin-bottom:16px; }
.insight-meta { font-size:11px; color:var(--ink-3); display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.insight-dot { width:3px; height:3px; border-radius:50%; background:var(--ink-3); }
.insight-read { font-size:12px; font-weight:600; color:var(--accent); }
.insight-card:hover .insight-read { text-decoration:underline; }


/* ── PROBLEMS ── */
#problems { background:var(--bg); border-top:1px solid var(--border); }
.problems-head { max-width:640px; margin-bottom:48px; }
.problems-head .section-intro { max-width:600px; }
.problems-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.problem-card { background:var(--white); border:1px solid var(--border); border-radius:20px; padding:26px 22px 22px; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:all .25s; position:relative; }
.problem-card:hover { border-color:var(--accent); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.problem-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.problem-icon { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; }
.problem-icon svg { width:19px; height:19px; }
.pi-violet { background:var(--accent-light); color:var(--accent); }
.pi-coral { background:var(--coral-light); color:var(--coral); }
.pi-sage { background:var(--sage-light); color:var(--sage); }
.pi-gold { background:var(--gold-light); color:var(--gold); }
.problem-num { font-family:'Fraunces',serif; font-size:13px; font-weight:300; color:var(--ink-3); letter-spacing:.04em; transition:color .25s; }
.problem-card:hover .problem-num { color:var(--accent); }
.problem-quote { font-family:'Fraunces',serif; font-size:19px; font-weight:400; font-style:italic; line-height:1.3; color:var(--ink); letter-spacing:-0.01em; margin-bottom:20px; }
.problem-label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:5px; }
.problem-offer { font-size:13px; font-weight:600; color:var(--accent); line-height:1.4; margin-bottom:16px; }
.problem-walk { font-size:12.5px; color:var(--ink-2); line-height:1.65; flex:1; padding-top:14px; border-top:1px solid var(--border-soft); }
.problem-walk .problem-label { margin-bottom:6px; }
.problem-footer { margin-top:16px; font-size:12px; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:4px; transition:gap .2s; }
.problem-card:hover .problem-footer { gap:8px; }
.problems-bar { margin-top:24px; background:var(--accent-light); border:1px solid var(--accent-mid); border-radius:16px; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.problems-bar-copy { font-family:'Fraunces',serif; font-size:20px; font-weight:300; font-style:italic; color:var(--ink); line-height:1.3; letter-spacing:-0.01em; }
.problems-bar-copy span { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-style:normal; font-size:13px; color:var(--ink-2); margin-top:6px; letter-spacing:0; }
@media(max-width:1100px){ .problems-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:620px){ .problems-grid{grid-template-columns:1fr} .problems-bar{flex-direction:column;align-items:flex-start} .problem-quote{font-size:20px} }


/* ── SERVICES (compact strip) ── */
#services { background:var(--white); border-top:1px solid var(--border); padding:64px 0; }
.svc-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap; margin-bottom:36px; }
.svc-head .section-h2 { font-size:clamp(26px,3vw,38px); margin-bottom:0; }
.svc-head .section-intro { max-width:380px; font-size:14px; }
.svc-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.svc-col { border-top:2px solid var(--accent-mid); padding-top:18px; transition:border-color .25s; }
.svc-col:hover { border-top-color:var(--accent); }
.svc-num { font-family:'Fraunces',serif; font-size:13px; font-weight:300; color:var(--ink-3); letter-spacing:.04em; margin-bottom:8px; }
.svc-title { font-family:'Fraunces',serif; font-size:19px; font-weight:400; color:var(--ink); line-height:1.25; letter-spacing:-0.01em; margin-bottom:8px; }
.svc-desc { font-size:13px; color:var(--ink-2); line-height:1.65; margin-bottom:14px; }
.svc-col .service-tags span { background:var(--surface); }
@media(max-width:980px){ .svc-strip{grid-template-columns:repeat(2,1fr)} #services{padding:48px 0} }
@media(max-width:620px){ .svc-strip{grid-template-columns:1fr} }



/* ── PROOF ── */
#proof { background:var(--bg); border-top:1px solid var(--border); }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:44px; }
.proof-card { background:var(--white); border:1px solid var(--border); border-radius:20px; padding:32px 28px; transition:all .25s; }
.proof-card:hover { border-color:var(--accent); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.proof-num { font-family:'Fraunces',serif; font-size:clamp(34px,4vw,46px); font-weight:300; color:var(--accent); line-height:1; letter-spacing:-0.02em; margin-bottom:12px; }
.proof-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:12px; }
.proof-text { font-size:14px; color:var(--ink-2); line-height:1.7; }
@media(max-width:980px){ .proof-grid{grid-template-columns:1fr} }
.about-video { border-radius:20px; overflow:hidden; position:relative; aspect-ratio:16/9; background:#000; box-shadow:var(--shadow-lg); margin:28px 0; }
.about-video iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }

/* ── SERVICES PAGE ── */
.prob-row { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:40px 0; border-top:1px solid var(--border); scroll-margin-top:90px; }
.prob-quote { font-family:'Fraunces',serif; font-size:clamp(24px,2.6vw,32px); font-weight:400; font-style:italic; line-height:1.25; letter-spacing:-0.01em; margin:10px 0 14px; }
.prob-hear { font-size:15px; color:var(--ink-2); line-height:1.7; max-width:440px; }
.prob-offer .problem-offer { font-size:16px; margin-bottom:22px; }
.prob-walk { font-size:14px; color:var(--ink-2); line-height:1.7; margin:6px 0 18px; }
.cta-band { background:var(--bg); padding:48px 0 80px; }
.section-intro, .problems-head .section-intro { max-width:820px; }
.problems-head { max-width:none; }
@media(max-width:820px){ .prob-row{grid-template-columns:1fr; gap:20px} }
