/* docsaura.com homepage in the DocsAura house style (2026-10-18).
 * The same world as the Agent documents (agent-worker/src/engines/document/house-style.js):
 * Inter Tight + Inter, one brand blue, brand-tinted soft shadows, liquid glass only where
 * something floats, ambient light instead of flat fills, photo-led example documents.
 * Loaded after the page's inline <style>; everything is scoped to body.home. No eyebrows. */

body.home {
  --brand: #141ec8;
  --brand-2: #6a3df0;
  --ground: #f4f6fd;
  --surface: #ffffff;
  --ink: #0b0e2b;
  --ink-soft: #464b6b;
  --ink-mute: #5d6283;
  --line: rgba(11, 14, 43, 0.09);
  --tint: #eceffd;
  --r-sm: 14px;
  --r: 22px;
  --r-lg: 32px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --sh-card:
    0 1px 2px -1px rgba(20, 30, 200, .08),
    0 8px 20px -10px rgba(20, 30, 200, .14),
    0 24px 48px -24px rgba(20, 30, 200, .16);
  --sh-float:
    0 12px 30px -12px rgba(20, 30, 200, .22),
    0 40px 80px -36px rgba(11, 14, 43, .30);
  --glass-bg: linear-gradient(160deg, rgba(255,255,255,.78), rgba(255,255,255,.48));
  --glass-edge: rgba(255, 255, 255, .9);

  /* tokens the inline styles and shared components read */
  --font-display: "Inter Tight", "Inter", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
  --font-serif-italic: "Inter Tight", "Inter", system-ui, sans-serif;
  --fg-1: var(--ink);
  --fg-2: var(--ink-soft);
  --fg-3: var(--ink-mute);
  --main-accent: var(--brand);
  --main-accent-light: #2b36e6;
  --main-accent-dark: #0d139a;
  --border-subtle: var(--line);
  --surface-sunken: var(--tint);

  font-family: var(--font-sans);
  background: var(--ground);
  color: var(--ink);
  letter-spacing: -0.006em;
  -webkit-font-smoothing: antialiased;
}
body.home ::selection { background: rgba(20, 30, 200, .16); color: var(--ink); }
body.home :focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 8px; }
body.home h1, body.home h2, body.home h3 { font-family: var(--font-display); color: var(--ink); text-wrap: balance; }

/* The italic serif accent was the loudest "generated" tell on the page. Emphasis is now a
   quieter second ink inside the same headline (WeBild's two-tone line, solid colour). */
body.home .serif,
body.home .examples h2 em,
body.home .final-cta h2 em { font-family: inherit; font-style: normal; font-weight: inherit; color: var(--brand); }

/* Section rhythm shared by every block */
body.home .section-header,
body.home .examples-header,
body.home .comparison-header { max-width: 760px; margin: 0 auto 48px; text-align: center; }
body.home .section-title,
body.home .examples h2,
body.home .showcase-title,
body.home .students-text h2,
body.home .related-articles > h2 {
  font-size: clamp(2rem, 3.6vw, 3.25rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.035em;
  margin: 0 0 16px;
}
body.home .section-subtitle,
body.home .examples-sub,
body.home .showcase-sub {
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 620px;
  margin: 0 auto;
}

/* Buttons */
body.home .btn { font-family: var(--font-display); border-radius: 999px; font-weight: 600; letter-spacing: -0.01em; transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .2s; }
body.home .btn-primary { background: var(--brand); box-shadow: 0 10px 26px -10px rgba(20, 30, 200, .6), 0 2px 6px -2px rgba(20, 30, 200, .4); }
body.home .btn-primary::before { display: none; }
body.home .btn-primary:hover { background: var(--main-accent-light); transform: translateY(-1px); box-shadow: 0 16px 34px -12px rgba(20, 30, 200, .65), 0 2px 6px -2px rgba(20, 30, 200, .4); }

/* ── Navigation: a floating glass bar ─────────────────────────────── */
body.home nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  margin: 0;
  padding: 14px clamp(16px, 3vw, 40px);
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 0;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  font-family: var(--font-sans);
  transition: background .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
/* Over the hero the nav has no surface at all; once the page scrolls it becomes the glass bar. */
body.home.nav-solid nav {
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: saturate(160%) blur(18px);
  backdrop-filter: saturate(160%) blur(18px);
  border-bottom-color: var(--line);
  box-shadow: 0 8px 28px -18px rgba(20, 30, 200, .3);
}
body.home nav .logo-img { height: 34px; }
body.home nav .nav-links { gap: 1.9rem; }
body.home nav .nav-links > a,
body.home nav .nav-item-text { font-size: .92rem; font-weight: 500; color: var(--ink-soft); }
body.home nav .nav-links > a:hover { color: var(--ink); }
body.home .lang-toggle { border-color: var(--line); border-radius: 999px; }
body.home .lang-toggle button.active { background: var(--brand); }

/* ── Hero ─────────────────────────────────────────────────────────── */
body.home .hero {
  margin: 0;
  min-height: min(940px, 100vh);
  padding: clamp(8rem, 17vh, 10.5rem) 2rem clamp(5rem, 12vh, 8rem);
  border-radius: 0;
  background-color: #ffffff;
  isolation: isolate;
}
/* Hero image (media/showcase/hero-coast.webp, generated): a calm sea bay on a summer morning, wildflowers
   in front. What DocsAura users want is the time back; the photo is where that time goes. The hazy sky is
   near-white at the top, so the transparent nav and the headline sit on clean light. */
body.home .hero-bg {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .55) 30%, rgba(255, 255, 255, .15) 55%, rgba(255, 255, 255, 0) 72%),
    url('/media/showcase/hero-coast.webp') center bottom / cover no-repeat,
    #f4f5f2;
  z-index: -1;
}
@media (max-width: 700px) {
  body.home .hero-bg {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .75) 45%, rgba(255, 255, 255, .2) 72%, rgba(255, 255, 255, 0) 88%),
      url('/media/showcase/hero-coast-mobile.webp') center bottom / cover no-repeat,
      #f4f5f2;
  }
}
body.home .hero-content { max-width: 940px; }
body.home .hero h1 {
  font-size: clamp(2.3rem, 4.6vw, 4.25rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
  margin: 0 auto 22px;
  color: var(--ink);
}
/* The one gradient on the page: the promise line (ink into brand, WeBild's two-tone). */
body.home .hero .aura-img-fill {
  background-image: linear-gradient(100deg, #0b0e2b 0%, #141ec8 55%, #6a3df0 100%);
  background-size: 100% 100%;
  padding-bottom: .08em;
}
body.home .hero-subtitle { font-size: clamp(1.05rem, 1.45vw, 1.25rem); color: var(--ink-soft); max-width: 560px; }

/* The start capsule: liquid glass, the only floating control in the hero */
body.home .hero-create-col { max-width: 600px; margin-top: clamp(28px, 4vh, 40px); }
body.home .hero-start {
  gap: 14px;
  padding: 18px 18px 16px;
  border: 1px solid var(--glass-edge);
  border-radius: 28px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  box-shadow: var(--sh-float), inset 0 1px 0 rgba(255, 255, 255, .95);
}
body.home .hero-start.drag-over { border-color: var(--brand); box-shadow: var(--sh-float), 0 0 0 4px rgba(20, 30, 200, .14); }
body.home .hero-start-btn {
  width: 100%;
  justify-content: center;
  min-height: 60px;
  padding: 16px 28px;
  border-radius: 18px;
  font-family: var(--font-display);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  background: linear-gradient(180deg, #2530e0 0%, var(--brand) 100%);
  box-shadow: 0 14px 30px -12px rgba(20, 30, 200, .7), inset 0 1px 0 rgba(255, 255, 255, .25);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
body.home .hero-start-btn:hover { transform: translateY(-1px); box-shadow: 0 20px 38px -14px rgba(20, 30, 200, .75), inset 0 1px 0 rgba(255, 255, 255, .25); }
body.home .hero-start-meta { font-size: .9rem; color: var(--ink-soft); gap: 6px 14px; }
body.home .hero-start-alt-link { color: var(--brand); font-weight: 600; }
body.home .hero-proof { display: flex; width: fit-content; margin: 22px auto 0; padding: 6px 16px 6px 6px; border-radius: 999px; background: rgba(255, 255, 255, .8); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 6px 20px -12px rgba(11, 14, 43, .35); }
body.home .hero-proof-text { color: var(--ink-soft); }
body.home .hero-proof-text strong { color: var(--ink); }
body.home .hero-proof-text .muted { color: var(--ink-mute); }
body.home .hero-proof-logo { box-shadow: 0 0 0 1px var(--line), 0 2px 6px -2px rgba(20, 30, 200, .2); }
body.home .hero-url-legal { color: var(--ink-soft); display: table; margin: 12px auto 0; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body.home .hero-url-legal a { color: var(--ink-soft); }

/* Before / after pages flanking the hero: a plain Word page on the left, the same text
   designed by DocsAura on the right (fictional examples from media/showcase). */
body.home .hero-doc {
  top: 40%;
  width: clamp(200px, 17vw, 300px);
  aspect-ratio: 794 / 1123;
  filter: none;
  border-radius: 10px;
  z-index: 1;
}
body.home .hero-doc img { border-radius: 10px; object-fit: cover; object-position: top; }
body.home .hero-doc.before {
  aspect-ratio: 704 / 940;
  left: clamp(20px, 2.6vw, 48px);
  transform: translateY(-50%) rotate(-6deg);
  box-shadow: 0 30px 60px -30px rgba(11, 14, 43, .35), 0 0 0 1px rgba(11, 14, 43, .08);
}
body.home .hero-doc.after {
  right: clamp(20px, 2.6vw, 48px);
  transform: translateY(-50%) rotate(5deg);
  box-shadow: 0 40px 80px -30px rgba(20, 30, 200, .45), 0 0 0 1px rgba(255, 255, 255, .6);
}
body.home .hero-doc-tag {
  position: absolute;
  z-index: 3;
  top: -14px;
  left: 18px;
  padding: 7px 14px;
  border-radius: 999px;
  font: 600 .8rem/1 var(--font-display);
  letter-spacing: -0.005em;
  color: var(--ink-soft);
  background: rgba(255, 255, 255, .86);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 16px -8px rgba(11, 14, 43, .3), 0 0 0 1px var(--line);
}
body.home .hero-doc-tag.is-after { left: auto; right: 18px; color: #fff; background: var(--brand); box-shadow: 0 8px 20px -8px rgba(20, 30, 200, .7); }

/* Founder note: a small glass bubble */
body.home .hero-chat {
  background: rgba(255, 255, 255, .74);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid var(--glass-edge);
  border-radius: 24px;
  box-shadow: var(--sh-card);
  max-width: 380px;
  padding: 14px 18px 12px;
}
body.home .hero-chat-bubble, body.home .hero-chat-bubble::before { background: rgba(236, 239, 253, .9); }
body.home .hero-chat-text { color: var(--ink); font-size: .9rem; }
body.home .hero-chat-who { color: var(--ink-mute); }

@media (max-width: 1180px) {
  body.home .hero-doc { width: clamp(170px, 16vw, 210px); }
  body.home .hero-content { max-width: 680px; }
}
@media (max-width: 900px) {
  body.home .hero { margin: 0; padding: 6.5rem 1rem 3.5rem; min-height: 0; border-radius: 0; }
  body.home .hero-flank { margin-top: 36px; gap: 0; }
  body.home .hero-doc { width: clamp(150px, 44vw, 210px); }
  body.home .hero-doc.before { transform: rotate(-5deg); margin-right: -14px; }
  body.home .hero-doc.after { transform: rotate(5deg); margin-left: -14px; z-index: 2; }
  body.home .hero-doc-tag { font-size: .72rem; padding: 6px 10px; }
  body.home .hero-chat { max-width: 100%; }
}

/* ── Logo strip + assistant note ──────────────────────────────────── */
body.home .trusted-strip { padding: 56px 24px 24px; background: transparent; }
body.home .trusted-strip-label { font-family: var(--font-display); font-size: 1.05rem; font-weight: 500; color: var(--ink-soft); letter-spacing: -0.01em; text-transform: none; margin-bottom: 22px; }
body.home .trusted-strip-label .serif { color: var(--ink); font-size: inherit; letter-spacing: inherit; }
body.home .trusted-logos { gap: 10px; }
body.home .trusted-logo {
  flex-direction: row;
  gap: 10px;
  opacity: 1;
  padding: 7px 16px 7px 7px;
  border-radius: 999px;
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--line);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
body.home .trusted-logo:hover { transform: translateY(-1px); box-shadow: var(--sh-card); }
body.home .trusted-logo-img { width: 34px; height: 34px; padding: 3px; border-radius: 50%; border: 0; box-shadow: 0 0 0 1px var(--line); }
body.home .trusted-logo-name { font-family: var(--font-display); font-weight: 600; color: var(--ink); font-size: .9rem; }
body.home .ai-handoff-note { color: var(--ink-mute); }
body.home .ai-handoff-note strong { color: var(--ink-soft); }
body.home .ai-handoff-note a { color: var(--brand); }

/* ── Showcase: example documents in every format ──────────────────── */
body.home .showcase { padding: clamp(72px, 10vw, 120px) 24px 40px; }
body.home .showcase-head { max-width: 780px; margin: 0 auto 36px; text-align: center; }
body.home .sc-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 28px; }
body.home .sc-filter button {
  appearance: none; border: 0; cursor: pointer;
  padding: 10px 18px; border-radius: 999px;
  font: 600 .92rem/1 var(--font-display); letter-spacing: -0.005em;
  color: var(--ink-soft); background: var(--surface);
  box-shadow: 0 0 0 1px var(--line);
  transition: background .2s, color .2s, box-shadow .3s var(--ease);
}
body.home .sc-filter button:hover { color: var(--ink); box-shadow: 0 0 0 1px rgba(11,14,43,.18); }
body.home .sc-filter button.is-on { color: #fff; background: var(--ink); box-shadow: 0 8px 20px -10px rgba(11, 14, 43, .6); }

body.home .sc-grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
body.home .sc-item { grid-column: span 4; margin: 0; min-width: 0; }
body.home .sc-item.sc-wide { grid-column: span 8; }
body.home .sc-grid.is-filtered .sc-item { grid-column: span 6; }
body.home .sc-item[hidden] { display: none; }

body.home .sc-stage {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(320px, 34vw, 470px);
  padding: clamp(22px, 3vw, 40px);
  border: 0;
  border-radius: var(--r-lg);
  cursor: zoom-in;
  overflow: hidden;
  /* each stage takes the light of its own document's brand colour */
  background:
    radial-gradient(70% 60% at 50% 115%, color-mix(in oklab, var(--sc-brand) 34%, transparent) 0%, transparent 70%),
    radial-gradient(60% 50% at 0% 0%, color-mix(in oklab, var(--sc-brand) 12%, transparent) 0%, transparent 70%),
    linear-gradient(180deg, #ffffff, color-mix(in oklab, var(--sc-brand) 7%, #f6f7fc));
  box-shadow: 0 0 0 1px var(--line);
  transition: box-shadow .4s var(--ease);
}
body.home .sc-stage:hover { box-shadow: 0 0 0 1px rgba(11,14,43,.14), var(--sh-card); }
body.home .sc-media { position: relative; display: block; width: 100%; height: 100%; }
body.home .sc-media img {
  position: absolute; inset: 0; margin: auto;
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  border-radius: 10px;
  box-shadow: 0 30px 60px -28px rgba(11, 14, 43, .45), 0 0 0 1px rgba(11, 14, 43, .06);
  transition: transform .6s var(--ease), opacity .7s var(--ease);
}
body.home .sc-stage:hover .sc-media img { transform: translateY(-4px) scale(1.012); }
/* decks: slides crossfade in place */
body.home .sc-item[data-kind="deck"] .sc-media img { opacity: 0; }
body.home .sc-item[data-kind="deck"] .sc-media img.is-on { opacity: 1; }
body.home .sc-dots { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; gap: 6px; padding: 6px 9px; border-radius: 999px; background: rgba(255,255,255,.7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 0 0 1px var(--line); }
body.home .sc-dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(11,14,43,.22); transition: background .3s, transform .3s var(--ease); }
body.home .sc-dots i.is-on { background: var(--ink); transform: scale(1.5); }
/* A4 with two pages: the second page fans out behind the cover */
body.home .sc-pages .sc-media img + img { transform: translate(14%, 4%) rotate(4deg); opacity: 1; z-index: -1; filter: none; }
body.home .sc-pages .sc-media img:first-child { transform: translateX(-8%) rotate(-2deg); }
body.home .sc-pages .sc-stage:hover .sc-media img + img { transform: translate(20%, 3%) rotate(6deg); }
body.home .sc-pages .sc-stage:hover .sc-media img:first-child { transform: translate(-11%, -4px) rotate(-3deg); }
body.home .sc-pages .sc-media { isolation: isolate; }
/* phones: two wallpapers side by side in phone-shaped frames */
body.home .sc-phones .sc-media { display: flex; justify-content: center; align-items: center; gap: 16px; }
body.home .sc-phones .sc-media img { position: static; height: 100%; max-height: 100%; width: auto; max-width: 48%; object-fit: contain; border-radius: 26px; box-shadow: 0 30px 60px -28px rgba(11,14,43,.5), 0 0 0 6px #0b0e2b; }
body.home .sc-phones .sc-media img + img { margin-top: 36px; height: 92%; }

body.home .sc-item figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 8px 0; flex-wrap: wrap; }
body.home .sc-item figcaption b { font: 600 1.02rem/1.3 var(--font-display); letter-spacing: -0.015em; color: var(--ink); }
body.home .sc-item .sc-meta { font-size: .9rem; color: var(--ink-mute); }

@media (max-width: 960px) {
  body.home .sc-item, body.home .sc-item.sc-wide, body.home .sc-grid.is-filtered .sc-item { grid-column: span 6; }
  body.home .sc-item.sc-wide { grid-column: span 12; }
}
@media (max-width: 640px) {
  body.home .showcase { padding-left: 14px; padding-right: 14px; }
  body.home .sc-grid { gap: 14px; }
  body.home .sc-item, body.home .sc-item.sc-wide, body.home .sc-grid.is-filtered .sc-item { grid-column: span 12; }
  body.home .sc-stage { height: auto; aspect-ratio: 4 / 3.4; border-radius: 24px; padding: 20px; }
  body.home .sc-item.sc-wide .sc-stage { aspect-ratio: 16 / 11; }
  body.home .sc-filter { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding: 2px 2px 6px; margin-inline: -14px; padding-inline: 14px; scrollbar-width: none; }
  body.home .sc-filter button { flex: none; }
}

/* Lightbox */
body.home .sc-lightbox {
  width: min(1180px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0; border: 0; border-radius: 28px;
  background: #eef0fa; color: var(--ink);
  box-shadow: 0 40px 120px -30px rgba(11,14,43,.6);
  overflow: hidden;
}
body.home .sc-lightbox::backdrop { background: rgba(11, 14, 43, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.home .sc-lightbox[open] { display: flex; flex-direction: column; animation: sc-rise .45s var(--ease); }
@keyframes sc-rise { from { transform: translateY(16px) scale(.985); opacity: 0; } to { transform: none; opacity: 1; } }
body.home .sc-lb-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 14px 14px 24px; background: rgba(255,255,255,.8); border-bottom: 1px solid var(--line); }
body.home .sc-lb-bar b { font: 600 1rem/1.3 var(--font-display); }
body.home .sc-lb-close { width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--tint); color: var(--ink); cursor: pointer; }
body.home .sc-lb-close:hover { background: #e0e4fb; }
body.home .sc-lb-pages { overflow-y: auto; padding: 28px; display: grid; gap: 24px; justify-items: center; }
body.home .sc-lb-pages img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 24px 50px -26px rgba(11,14,43,.4); }
body.home .sc-lb-pages.is-a4 img { max-width: 760px; }
body.home .sc-lb-pages.is-social img { max-width: 720px; }
body.home .sc-lb-pages.is-phone { grid-template-columns: repeat(auto-fit, minmax(220px, 300px)); justify-content: center; }
body.home .sc-lb-pages.is-phone img { border-radius: 28px; }
@media (prefers-reduced-motion: reduce) {
  body.home .sc-lightbox[open] { animation: none; }
  body.home .sc-media img { transition: none; }
}

/* ── Quote wall ───────────────────────────────────────────────────── */
body.home .quote-wall {
  margin: 0 12px;
  padding: clamp(72px, 9vw, 112px) 24px;
  border-radius: var(--r-lg);
  background:
    radial-gradient(50% 40% at 100% 0%, rgba(106, 61, 240, .10), transparent 70%),
    radial-gradient(50% 40% at 0% 100%, rgba(20, 30, 200, .10), transparent 70%),
    var(--surface);
  box-shadow: 0 0 0 1px var(--line);
}
body.home .quote-wall-grid { max-width: 1180px; gap: 18px; }
body.home .quote-card {
  border: 0;
  border-radius: 24px;
  padding: 28px 28px 24px;
  background: var(--ground);
  box-shadow: none;
  display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
}
body.home .quote-card:hover { transform: none; box-shadow: 0 0 0 1px var(--line); }
body.home .quote-card-mark { width: 26px; color: var(--brand); opacity: .9; }
body.home .quote-card-text { font-family: var(--font-display); font-size: 1.12rem; line-height: 1.45; font-weight: 500; letter-spacing: -0.012em; color: var(--ink); }
body.home .quote-card-author { border-top: 1px solid var(--line); padding-top: 16px; }
body.home .quote-card-who { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
body.home .quote-card-role { color: var(--ink-mute); }
body.home .quote-card-logo { border-radius: 12px; box-shadow: 0 0 0 1px var(--line); }

/* ── Client showcase: an editorial list, not a wall of icon cards ─── */
body.home .client-showcase { padding: clamp(72px, 9vw, 112px) 24px; background: transparent; }
body.home .client-showcase-grid { max-width: 1180px; gap: 18px; }
body.home .client-card {
  border: 0;
  border-radius: 24px;
  padding: 28px;
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--line);
  transition: box-shadow .4s var(--ease);
}
body.home .client-card::before { display: none; }
body.home .client-card:hover { transform: none; box-shadow: 0 0 0 1px rgba(11,14,43,.12), var(--sh-card); }
body.home .client-card-logo { border-radius: 12px; box-shadow: 0 0 0 1px var(--line); }
body.home .client-card-name { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
body.home .client-card-tag { color: var(--ink-mute); text-transform: none; letter-spacing: 0; font-size: .85rem; font-weight: 500; }
body.home .client-card-headline { font-family: var(--font-display); font-size: 1.32rem; line-height: 1.22; font-weight: 600; letter-spacing: -0.022em; color: var(--ink); }
body.home .client-card-headline .serif { color: var(--brand); }
body.home .client-card-body { color: var(--ink-soft); }
body.home .client-card-metric { background: var(--tint); color: var(--brand); border: 0; border-radius: 999px; font-family: var(--font-display); font-weight: 600; }

/* ── Comparison ───────────────────────────────────────────────────── */
body.home .comparison { padding: clamp(64px, 8vw, 104px) 24px; background: transparent; }
body.home .comparison-grid { gap: 18px; grid-template-columns: 1fr 1fr; max-width: 1000px; margin: 0 auto; }
body.home .comparison-vs { display: none; }
body.home .comparison-col { border: 0; border-radius: 28px; padding: 32px; }
body.home .comparison-col.before { background: var(--surface); box-shadow: 0 0 0 1px var(--line); }
body.home .comparison-col.after {
  color: #fff;
  background:
    radial-gradient(70% 60% at 100% 0%, rgba(106, 61, 240, .55), transparent 70%),
    radial-gradient(70% 70% at 0% 100%, rgba(56, 132, 255, .35), transparent 70%),
    linear-gradient(160deg, #1a24d6, #0d139a);
  box-shadow: 0 30px 60px -30px rgba(20, 30, 200, .6);
}
body.home .comparison-label { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; letter-spacing: -0.015em; text-transform: none; margin-bottom: 14px; }
body.home .comparison-col.before .comparison-label { color: var(--ink); }
body.home .comparison-col.after .comparison-label { color: #fff; }
body.home .comparison-item { font-size: 1rem; padding: 13px 0; border-color: var(--line); }
body.home .comparison-col.before .comparison-item { color: var(--ink-soft); }
body.home .comparison-col.after .comparison-item { color: #fff; border-color: rgba(255, 255, 255, .16); }
body.home .comparison-col.before .comparison-item svg { color: #b4b8cf; }
body.home .comparison-col.after .comparison-item svg { color: #c9d0ff; }
body.home .comparison-col.after .comparison-label svg { color: #c9d0ff; }
@media (max-width: 760px) { body.home .comparison-grid { grid-template-columns: 1fr; } }

/* ── Students ─────────────────────────────────────────────────────── */
body.home .students-section {
  margin: 0 12px;
  padding: clamp(72px, 9vw, 112px) 24px;
  border-radius: var(--r-lg);
  background:
    radial-gradient(55% 60% at 100% 100%, rgba(106, 61, 240, .16), transparent 70%),
    radial-gradient(50% 50% at 0% 0%, rgba(56, 132, 255, .14), transparent 70%),
    #f9f9ff;
  box-shadow: 0 0 0 1px var(--line);
  overflow: hidden;
}
body.home .students-bg { display: none; }
body.home .students-grid { align-items: center; gap: clamp(32px, 5vw, 72px); }
body.home .students-text h2 { text-align: left; }
body.home .students-lead { color: var(--ink-soft); font-size: 1.1rem; }
body.home .students-list li { color: var(--ink); }
body.home .students-list-check { background: var(--brand); color: #fff; box-shadow: none; }
body.home .students-visual { display: flex; flex-direction: row; padding: 0; max-width: none; justify-content: center; align-items: center; width: 100%; min-width: 0; min-height: 0; height: auto; justify-self: stretch; }
/* Before/after slider, the same one as /notes: the study sheet underneath, the notebook photo clipped on top. */
body.home .st-compare {
  position: relative; flex: 0 0 auto; width: min(100%, 440px); aspect-ratio: 1200 / 1762;
  border-radius: 14px; overflow: hidden; background: #fff; --pos: 50%;
  box-shadow: 0 40px 80px -36px rgba(20, 30, 200, .45), 0 0 0 1px var(--line);
  touch-action: pan-y; user-select: none;
}
body.home .st-compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; pointer-events: none; }
body.home .st-compare .st-b { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
body.home .st-compare .st-b img { object-position: center; }
body.home .st-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: #fff; box-shadow: 0 0 0 1px rgba(11,14,43,.15); transform: translateX(-1px); pointer-events: none; }
body.home .st-knob { position: absolute; top: 50%; left: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: #fff; color: var(--ink); display: grid; place-items: center; box-shadow: 0 6px 18px -4px rgba(11,14,43,.35); }
body.home .st-tag { position: absolute; top: 14px; padding: 6px 12px; border-radius: 999px; font: 600 .8rem/1 var(--font-display); color: #fff; background: rgba(11,14,43,.78); pointer-events: none; }
body.home .st-tag.t1 { left: 14px; }
body.home .st-tag.t2 { right: 14px; background: var(--brand); }
body.home .st-compare input[type=range] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
body.home .st-compare input[type=range]:focus-visible + .st-handle .st-knob { outline: 3px solid var(--brand); outline-offset: 2px; }

/* ── How it works: three plain columns ────────────────────────────── */
body.home .objection { padding: clamp(64px, 8vw, 96px) 24px; background: transparent; }
body.home .objection-inner { gap: 18px; max-width: 1100px; }
body.home .objection-item { text-align: left; padding: 28px; border-radius: 24px; background: var(--surface); box-shadow: 0 0 0 1px var(--line); }
body.home .objection-icon { margin: 0 0 18px; width: 44px; height: 44px; border-radius: 14px; background: var(--tint); color: var(--brand); box-shadow: none; }
body.home .objection-icon svg { stroke: var(--brand); }
body.home .objection-title { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; letter-spacing: -0.018em; color: var(--ink); }
body.home .objection-body { color: var(--ink-soft); }

/* ── CTA band: the dark brand panel ───────────────────────────────── */
body.home .cta { padding: 24px 12px clamp(64px, 8vw, 96px); background: transparent; }
body.home .cta-box {
  max-width: none;
  border-radius: var(--r-lg);
  padding: clamp(64px, 9vw, 112px) 24px;
  background:
    radial-gradient(60% 70% at 50% 120%, rgba(106, 61, 240, .65), transparent 70%),
    radial-gradient(40% 60% at 0% 0%, rgba(56, 132, 255, .35), transparent 70%),
    linear-gradient(180deg, #0b0e2b, #12188a);
  box-shadow: 0 40px 80px -40px rgba(20, 30, 200, .6);
}
body.home .cta-box::before, body.home .cta-box::after { display: none; }
body.home .cta-title { font-family: var(--font-display); font-weight: 600; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -0.035em; line-height: 1.05; color: #fff; max-width: 820px; margin-inline: auto; }
body.home .cta-subtitle { color: rgba(236, 240, 255, .82); max-width: 640px; margin-inline: auto; }
body.home .cta .btn-white { border-radius: 999px; font-family: var(--font-display); color: var(--ink); box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5); }

/* ── FAQ ──────────────────────────────────────────────────────────── */
body.home .faq-section { padding: clamp(48px, 7vw, 88px) 24px; background: transparent; }
body.home .faq-list { gap: 10px; max-width: 840px; }
body.home .faq-item { border: 0; border-radius: 20px; background: var(--surface); box-shadow: 0 0 0 1px var(--line); transition: box-shadow .3s var(--ease); }
body.home .faq-item[open] { box-shadow: 0 0 0 1px rgba(11,14,43,.12), var(--sh-card); }
body.home .faq-item summary { font-family: var(--font-display); font-weight: 600; font-size: 1.04rem; letter-spacing: -0.012em; color: var(--ink); }
body.home .faq-item summary:hover { color: var(--brand); }
body.home .faq-icon { background: var(--tint); color: var(--brand); border: 0; }
body.home .faq-item p { color: var(--ink-soft); }
body.home .faq-item p a { color: var(--brand); }

/* ── Articles ─────────────────────────────────────────────────────── */
body.home .related-articles { padding: clamp(40px, 6vw, 72px) 24px; max-width: 1180px; margin: 0 auto; }
body.home .related-articles > h2 { text-align: center; font-size: clamp(1.7rem, 2.6vw, 2.3rem); margin-bottom: 32px; }
body.home .related-grid { gap: 16px; }
body.home .related-card { border: 0; border-radius: 22px; background: var(--surface); box-shadow: 0 0 0 1px var(--line); padding: 24px; transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
body.home .related-card:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(11,14,43,.12), var(--sh-card); }
body.home .related-card .card-thumb { display: none; }
body.home .related-card h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; line-height: 1.3; letter-spacing: -0.014em; color: var(--ink); }
body.home .related-card p { color: var(--ink-soft); }

/* ── Final CTA: the hero's horizon again, closing the page ────────── */
body.home .final-cta {
  margin: 24px 12px 12px;
  padding: clamp(80px, 11vw, 140px) 24px clamp(72px, 9vw, 110px);
  border-radius: var(--r-lg);
  background:
    linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, .7) 50%, rgba(255, 255, 255, 0) 78%),
    url('/media/showcase/hero-coast.webp') center bottom / cover no-repeat,
    #f4f5f2;
}
body.home .final-cta h2 { font-weight: 600; font-size: clamp(2.1rem, 4.4vw, 3.9rem); letter-spacing: -0.04em; line-height: 1.04; }
body.home .final-cta h2 .aura-img-fill { background: none; color: var(--brand); -webkit-text-fill-color: var(--brand); }
body.home .final-cta-sub { color: var(--ink-soft); }
body.home .final-upload .upload-card {
  border: 1px solid var(--glass-edge);
  border-radius: 28px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  box-shadow: var(--sh-float), inset 0 1px 0 rgba(255, 255, 255, .95);
}
body.home .final-upload .upload-zone { border-radius: 20px; border-color: rgba(20, 30, 200, .22); background: rgba(255, 255, 255, .6); }
body.home .final-upload .upload-zone:hover { border-color: var(--brand); background: rgba(255, 255, 255, .85); }
body.home .final-upload .upload-icon { color: var(--brand); }
body.home .final-upload .upload-title { font-family: var(--font-display); color: var(--ink); }
body.home .final-upload .upload-hint { color: var(--ink-mute); }
body.home .final-upload .upload-types span { font-family: var(--font-sans); font-size: .78rem; color: var(--ink-soft); background: rgba(255,255,255,.8); border-color: var(--line); border-radius: 999px; }
body.home .final-upload .btn-generate {
  border-radius: 18px;
  font-family: var(--font-display);
  background: linear-gradient(180deg, #2530e0 0%, var(--brand) 100%);
  box-shadow: 0 14px 30px -12px rgba(20, 30, 200, .7), inset 0 1px 0 rgba(255, 255, 255, .25);
}
body.home .social-proof-text { color: var(--ink-soft); }
body.home .social-proof-text .muted { color: var(--ink-mute); }

/* Popups pick up the same type */
body.home .create-dialog, body.home .example-modal-dialog { font-family: var(--font-sans); border-radius: 28px; }
body.home .create-title { font-weight: 600; letter-spacing: -0.025em; }
body.home .create-trust, body.home .create-trust a { color: var(--ink-mute); }

@media (max-width: 640px) {
  body.home .hero h1 { font-size: clamp(1.9rem, 8.4vw, 2.3rem); letter-spacing: -0.035em; }
  body.home .cta-subtitle { font-size: 1rem; }
  body.home .cta .btn-white { padding-inline: 22px; font-size: .98rem; }
  body.home nav { padding: 10px 14px; }
  body.home .quote-wall, body.home .students-section { margin: 0 8px; padding-left: 16px; padding-right: 16px; border-radius: 26px; }
  body.home .cta { padding-left: 8px; padding-right: 8px; }
  body.home .final-cta { margin: 16px 8px 8px; border-radius: 26px; }
  body.home .comparison-col, body.home .objection-item, body.home .client-card, body.home .quote-card { padding: 22px; }
}
