@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap");

/* Borna, the Audience marketing display face, copied from the Audience Design System */
@font-face{ font-family:"Borna"; src:url("fonts/Borna-Regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Borna"; src:url("fonts/Borna-Medium.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }

:root{
  --aud-coral:#fd6131;
  --aud-coral-soft:#ffaa91;
  --aud-purple:#e8d7ff;
  --aud-blue:#85dff6;
  --aud-green:#edf488;
  --aud-black:#140d09;
  --aud-tan:#f4efe3;
  --aud-white:#ffffff;

  --chart-1:#d4b4fe;
  --chart-3:#fd6131;
  --chart-4:#85dff6;

  --background:var(--aud-tan);
  --foreground:var(--aud-black);
  --card:#ffffff;
  --muted-foreground:#71717a;
  --border:rgba(20,13,9,0.10);
  --hairline:rgba(20,13,9,0.06);
  --input:#e4e4e7;
  --track:rgba(20,13,9,0.07);
  --ring:var(--aud-black);
  --hero-grad:linear-gradient(135deg,#FBE4DC 0%,#F4EFE3 60%);
  --tint:rgba(20,13,9,0.04);

  --shadow-xs:0 1px 2px rgba(20,13,9,0.05);
  --shadow-sm:0 1px 3px rgba(20,13,9,0.08), 0 1px 2px -1px rgba(20,13,9,0.06);
  --shadow-card:0 8px 24px -8px rgba(20,13,9,0.16);
  --shadow-xl:0 24px 48px -12px rgba(20,13,9,0.18);

  --radius:0.375rem;
  --radius-lg:0.5rem;
  --radius-xl:0.75rem;
  --radius-2xl:1rem;
  --radius-3xl:1.5rem;
  --radius-pill:999px;

  --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;

  --text-2xs:0.6875rem; --text-xs:0.75rem; --text-sm:0.875rem; --text-md:1rem;
  --text-lg:1.125rem; --text-xl:1.25rem; --text-2xl:1.5rem; --text-3xl:1.875rem;
  --leading-none:1; --leading-tight:1.1; --leading-snug:1.2; --leading-normal:1.4;
  --tracking-tight:-0.02em; --tracking-widest:0.12em;
  --weight-medium:500; --weight-semibold:600; --weight-bold:700;

  --font-sans:'Figtree', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-heading:'Borna', 'Figtree', ui-sans-serif, system-ui, sans-serif;
  color-scheme:light;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --background:var(--aud-black);
    --foreground:var(--aud-white);
    --card:#1E1611;
    --muted-foreground:#B5ADA6;
    --border:rgba(255,255,255,0.12);
    --hairline:rgba(255,255,255,0.08);
    --input:rgba(255,255,255,0.18);
    --track:rgba(255,255,255,0.09);
    --ring:var(--aud-white);
    --hero-grad:linear-gradient(135deg,#3A2018 0%,#1A110C 60%);
    --tint:rgba(255,255,255,0.05);
    --shadow-card:0 8px 24px -8px rgba(0,0,0,0.6);
    --shadow-xl:0 24px 48px -12px rgba(0,0,0,0.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --background:var(--aud-black);
  --foreground:var(--aud-white);
  --card:#1E1611;
  --muted-foreground:#B5ADA6;
  --border:rgba(255,255,255,0.12);
  --hairline:rgba(255,255,255,0.08);
  --input:rgba(255,255,255,0.18);
  --track:rgba(255,255,255,0.09);
  --ring:var(--aud-white);
  --hero-grad:linear-gradient(135deg,#3A2018 0%,#1A110C 60%);
  --tint:rgba(255,255,255,0.05);
  --shadow-card:0 8px 24px -8px rgba(0,0,0,0.6);
  --shadow-xl:0 24px 48px -12px rgba(0,0,0,0.7);
  color-scheme:dark;
}

*,*::before,*::after{ box-sizing:border-box; }
body{
  background:var(--background);
  color:var(--foreground);
  font-family:var(--font-sans);
  font-size:var(--text-md);
  line-height:var(--leading-normal);
  padding-inline:var(--space-5);
  padding-block:0 var(--space-12);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{ background:var(--aud-coral); color:#fff; }
.wrap{ max-width:880px; margin:0 auto; padding-block-start:var(--space-6); }

h1,h2,h3{ font-family:var(--font-heading); font-weight:var(--weight-medium); letter-spacing:var(--tracking-tight); text-wrap:balance; margin:0; }
.num{ font-variant-numeric:tabular-nums; }

.topwrap{ margin-inline:calc(50% - 50vw); padding-inline:var(--space-5); }
.topwrap.hero-on{ background:var(--hero-grad); }
.topwrap-in{ max-width:880px; margin-inline:auto; padding-block-start:var(--space-6); }

.nav{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-6); }
.wordmark{ height:28px; width:auto; display:block; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .wordmark{ filter:brightness(0) invert(1); }
}
:root[data-theme="dark"] .wordmark{ filter:brightness(0) invert(1); }

.btn{ font-family:var(--font-sans); font-size:var(--text-sm); font-weight:var(--weight-semibold);
  border:none; border-radius:var(--radius-pill); padding:13px 26px; cursor:pointer;
  transition:filter .15s ease, transform .15s ease, background .15s ease; }
.btn:active{ transform:scale(0.97); }
.btn-coral{ background:var(--aud-coral); color:var(--aud-black); }
.btn-coral:hover{ filter:brightness(1.07); }
.btn-quiet{ background:transparent; color:var(--foreground); border:1.5px solid var(--border); }
.btn-quiet:hover{ background:var(--tint); }
.btn-sm{ padding:10px 20px; }
.btn-link{ background:none; border:none; padding:0; font-family:var(--font-sans); font-size:var(--text-sm);
  font-weight:var(--weight-semibold); color:var(--muted-foreground); cursor:pointer; text-decoration:underline; }
.btn-link:hover{ color:var(--foreground); }
.actions{ display:flex; align-items:center; gap:var(--space-5); flex-wrap:wrap; margin-top:var(--space-6); }
:focus-visible{ outline:3px solid var(--ring); outline-offset:2px; }

.hero{ padding-block:var(--space-4) var(--space-10); }
.hero-in{ max-width:880px; margin-inline:auto; }
.badge{ display:inline-block; background:var(--aud-purple); color:var(--aud-black);
  border-radius:var(--radius-pill); padding:5px 14px; font-size:var(--text-xs);
  font-weight:var(--weight-semibold); margin-bottom:var(--space-5); }
.hero h1{ font-size:clamp(2.25rem,7vw,3.75rem); line-height:var(--leading-tight); }
.mark{ background:var(--aud-coral); color:var(--aud-black); padding:0 12px; border-radius:var(--radius-lg);
  -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.hero .lede{ font-size:var(--text-lg); max-width:46ch; margin:var(--space-5) 0 0; }
.hero .fineprint{ font-size:var(--text-xs); color:var(--muted-foreground); margin:var(--space-4) 0 0; }

.fields{ display:flex; gap:var(--space-4); flex-wrap:wrap; margin-top:var(--space-6); }
.field{ flex:1 1 200px; display:flex; flex-direction:column; gap:var(--space-2); }
label{ font-size:var(--text-sm); font-weight:var(--weight-semibold); }
input[type=text],input[type=url],input[type=email],input[type=number]{
  font-family:var(--font-sans); font-size:var(--text-md); width:100%;
  padding:11px 13px; border-radius:var(--radius-lg);
  border:1px solid var(--input); background:var(--card); color:var(--foreground);
}
input::placeholder{ color:var(--muted-foreground); }
input[aria-invalid="true"]{ border-color:var(--aud-coral); }
.helper{ font-size:var(--text-xs); color:var(--muted-foreground); }
.error{ font-size:var(--text-sm); font-weight:var(--weight-medium); color:var(--aud-coral); margin-top:var(--space-3); }
.big-input{ font-size:var(--text-3xl) !important; font-family:var(--font-heading) !important;
  font-variant-numeric:tabular-nums; padding:var(--space-4) var(--space-5) !important; }

.card{ background:var(--card); border:1px solid var(--hairline); border-radius:var(--radius-2xl);
  padding:var(--space-6); box-shadow:var(--shadow-card); }
.card + .card{ margin-top:var(--space-4); }
.head{ margin-bottom:var(--space-5); }
.head h2{ font-size:var(--text-3xl); }
.head p{ color:var(--muted-foreground); margin:var(--space-2) 0 0; max-width:58ch; }
.overline{ font-size:var(--text-2xs); font-weight:var(--weight-semibold); letter-spacing:var(--tracking-widest);
  text-transform:uppercase; color:var(--muted-foreground); }
.card-title{ font-family:var(--font-sans); font-size:var(--text-xl); font-weight:var(--weight-semibold);
  letter-spacing:0; margin:0 0 var(--space-4); }

.brow{ display:grid; grid-template-columns:1fr 104px; gap:var(--space-4); align-items:center;
  padding:var(--space-4) 0; border-bottom:1px solid var(--hairline); }
.brow:first-child{ padding-top:0; }
.brow .who{ font-size:var(--text-sm); font-weight:var(--weight-semibold); }
.brow .who small{ display:block; font-weight:var(--weight-regular); font-size:var(--text-xs);
  color:var(--muted-foreground); margin-top:3px; }
.tally{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-4);
  margin-top:var(--space-4); padding-top:var(--space-4); border-top:1px solid var(--border); }
.tally .k{ font-size:var(--text-sm); font-weight:var(--weight-semibold); }
.tally .v{ font-family:var(--font-heading); font-weight:var(--weight-medium); font-size:var(--text-2xl);
  font-variant-numeric:tabular-nums; }

.figure{ font-family:var(--font-heading); font-weight:var(--weight-medium);
  font-size:clamp(2.5rem,9vw,4rem); line-height:var(--leading-none);
  letter-spacing:var(--tracking-tight); display:inline-block; margin-top:var(--space-3); }
.sub{ color:var(--muted-foreground); margin:var(--space-4) 0 0; font-size:var(--text-md); }
.stack{ height:34px; border-radius:var(--radius); background:var(--track); display:flex; overflow:hidden; margin-bottom:var(--space-5); }
.stack span{ height:100%; display:block; }
.s-promos{ background:var(--chart-3); }
.s-leads{ background:var(--chart-4); }
.s-profiles{ background:var(--chart-1); }
.comp{ display:grid; grid-template-columns:14px 1fr auto; gap:var(--space-3); align-items:baseline;
  padding:var(--space-3) 0; border-bottom:1px solid var(--hairline); }
.comp:last-of-type{ border-bottom:none; }
.comp i{ width:11px; height:11px; border-radius:3px; display:block; align-self:center; }
.comp .what{ font-size:var(--text-sm); font-weight:var(--weight-semibold); }
.comp .what small{ display:block; font-weight:var(--weight-regular); font-size:var(--text-xs);
  color:var(--muted-foreground); margin-top:2px; }
.comp .amt{ font-size:var(--text-md); font-weight:var(--weight-semibold); font-variant-numeric:tabular-nums; }

/* growth / positioning card */
.growth .comp{ grid-template-columns:14px 1fr; }
.growth .comp i{ align-self:start; margin-top:6px; }
.growth .comp .what small{ margin-top:4px; line-height:var(--leading-normal); }

.tablewrap{ overflow-x:auto; }
table{ width:100%; border-collapse:collapse; font-size:var(--text-sm); }
th,td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--hairline); white-space:nowrap; }
th{ font-size:var(--text-2xs); font-weight:var(--weight-semibold); letter-spacing:var(--tracking-widest);
  text-transform:uppercase; color:var(--muted-foreground); }
td.r,th.r{ text-align:right; font-variant-numeric:tabular-nums; }
tbody tr:last-child td{ border-bottom:none; }

.inputs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--space-5); margin-top:var(--space-4); }

details{ margin-top:var(--space-5); border-top:1px solid var(--hairline); padding-top:var(--space-4); }
summary{ cursor:pointer; font-size:var(--text-sm); font-weight:var(--weight-semibold); }
details p{ font-size:var(--text-sm); color:var(--muted-foreground); margin:var(--space-3) 0 0; }
details ul{ margin:var(--space-3) 0 0; padding-left:var(--space-5); font-size:var(--text-sm); color:var(--muted-foreground); }
details li + li{ margin-top:var(--space-2); }

.note{ background:var(--tint); border-radius:var(--radius-xl); padding:var(--space-4) var(--space-5);
  font-size:var(--text-xs); color:var(--muted-foreground); margin-top:var(--space-4); }

.cta{ background:var(--aud-black); color:var(--aud-white); border-radius:var(--radius-2xl);
  padding:var(--space-8); margin-top:var(--space-4); }
.cta h3{ font-size:var(--text-3xl); color:var(--aud-white); }
.cta p{ color:#C9C1B9; margin:var(--space-3) 0 0; max-width:50ch; }

.step{ animation:rise .3s ease both; }
@keyframes rise{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .step{ animation:none; } .btn{ transition:none; } }
@media (max-width: 520px){
  .hero{ padding-block:var(--space-3) var(--space-6); }
  .cta{ padding:var(--space-6) var(--space-5); }
}
[hidden]{ display:none !important; }
