@font-face {
  font-family: Manrope;
  src: url('/fonts/manrope-regular.ttf') format('truetype');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url('/fonts/manrope-extrabold.ttf') format('truetype');
  font-weight: 800 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --paper: #f8f7f4;
  --ink: #171719;
  --muted: #555450;
  --line: #d9d8df;
  --acid: #ef6d4b;
  --blue: #4238c7;
  --blue-text: #3c32b2;
  --white: #fffdfa;
  --radius: 3px;
  --signal: #ef6d4b;
  --violet: #6957d7;
}
html { background: var(--paper); }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: Manrope, Arial, Helvetica, sans-serif;
  line-height: 1.55;
}
.site-shell { overflow: clip; }
.site-header {
  position: relative;
  z-index: 10;
  height: 76px;
  padding: 0 clamp(20px,4.4vw,74px);
  border: 0;
  border-bottom: 1px solid #3d3d40;
  background: #171719;
  color: #fffdfa;
}
.wordmark { font-size: 25px; letter-spacing: -.095em; font-weight: 800; }
.wordmark span { color: var(--signal); }
.header-cta,.button {
  min-height: 46px;
  padding: 10px 25px;
  border-radius: 99px;
  background: var(--signal);
  color: #171719;
  box-shadow: none;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.header-cta:hover,.button:hover {
  background: #ff896b;
  color: #171719;
  box-shadow: none;
  transform: translateY(-2px);
}
button:focus-visible,a:focus-visible { outline: 3px solid #e77856; outline-offset: 4px; }
body { --hero-bg:#fffdfa; --hero-fg:#171719; --hero-surface:transparent; --hero-border:transparent; }
.hero,.home-hero,.inner-hero {
  display: block;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0 clamp(20px,4.4vw,74px) clamp(62px,6vw,100px);
  background: var(--hero-bg);
  color: var(--hero-fg);
}
.hero-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 25px 0 16px;
  border-bottom: 1px solid color-mix(in srgb,var(--hero-fg) 42%,transparent);
}
.hero-topline .eyebrow,
.hero-edition,
.hero-visual-bar {
  margin: 0;
  color: inherit;
  font-family: "Courier 10 Pitch", "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
}
.hero-edition { opacity: .66; text-align: right; }
.hero-copy {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(270px,.48fr);
  gap: 28px 60px;
  max-width: none;
  padding: clamp(45px,6vw,100px) 0 55px;
}
.hero h1 {
  grid-column: 1 / -1;
  max-width: 1300px;
  margin: 0;
  font-size: clamp(60px,7.3vw,118px);
  font-weight: 800;
  line-height: .99;
  letter-spacing: -.078em;
  text-wrap: balance;
}
.home-hero h1 { font-size: clamp(68px,8.6vw,138px); max-width: 1200px; }
.inner-hero .hero-copy { padding-top: clamp(40px,4.7vw,74px); padding-bottom: 42px; }
.inner-hero h1 { font-size: clamp(58px,6.4vw,94px); }
.hero-intro {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.hero-intro p {
  margin: 0;
  max-width: 570px;
  color: inherit;
  font-size: clamp(17px,1.65vw,22px);
  line-height: 1.6;
  letter-spacing: -.02em;
}
.hero-visual,.inner-hero .hero-visual {
  min-height: 0;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--hero-border);
  border-radius: 2px;
  background: var(--hero-surface);
}
.hero-visual-bar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 18px;
  border-bottom: 1px solid color-mix(in srgb,var(--hero-fg) 28%,transparent);
  color: var(--hero-fg);
}
.hero-visual-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 390px;
  padding: clamp(24px,5vw,74px);
}
.hero-visual-inner > * { width: min(100%,1040px); }
.home-hero .hero-visual-inner { min-height: 520px; }
.home-hero .hero-visual-inner > * { width: min(100%,1120px); }
.stage {
  height: 480px;
  padding: 19px;
  border-radius: 3px;
  background: #141518;
  box-shadow: 22px 24px 0 #211c2b2c;
  transform: none;
}
.stage-prompt { background: #23242a; border-color: #55545e; border-radius: 2px; }
.stage-result { background: #f5f2ed; border-radius: 2px; }
.stage-result-label { color: var(--blue-text); }
.stage-result li { border-color: #c5c0b8; border-radius: 1px; }
.process-band {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 0;
  padding: 0 clamp(20px,4.4vw,74px);
  background: #f0eef9;
  color: #413a71;
}
.process-band span {
  padding: 26px 8px 25px 0;
  border-right: 1px solid #d9d5eb;
  font-family: "Courier 10 Pitch","Liberation Mono",monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
.process-band span:last-child { border: 0; }
.section,.split-section,.dark-section,.pair-section {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 62px 18px;
  align-items: start;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: clamp(84px,8vw,136px) clamp(20px,4.4vw,74px);
  border-top: 1px solid #c6bfb6;
  background: var(--paper);
  color: var(--ink);
}
.section:nth-of-type(4n+1) { background: #faf9fc; }
.section.split-section { background: #f5f4f9; }
.section.dark-section { background: #f0eef9; color: #171719; border-color: #d9d5eb; }
.section.home-data-section { background: #edf0ff; color: #171719; border-color: #d8ddf1; }
.section.feature-section { background: #fbf7f3; }
.section-copy {
  display: grid;
  grid-template-columns: 130px minmax(0,1fr) minmax(250px,.54fr);
  gap: 22px clamp(20px,2.7vw,50px);
  grid-column: 1 / -1;
  align-items: start;
  max-width: none;
}
.section .eyebrow {
  margin: 9px 0 0;
  color: #a43b22;
  font-family: "Courier 10 Pitch","Liberation Mono",monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: normal;
}
.section h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(43px,5.3vw,80px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.075em;
  text-wrap: balance;
}
.section-copy>p,
.dark-section .section-copy>p,
.home-data-section .section-copy>p {
  max-width: 390px;
  margin: 6px 0 0;
  color: inherit;
  font-size: clamp(16px,1.45vw,19px);
  line-height: 1.7;
  opacity: .78;
}
.section-copy>p a,.text-link {
  color: #3928ae;
  font-weight: 800;
  text-decoration-thickness: 1px;
}
.dark-section .section-copy>p a,.home-data-section .section-copy>p a { color: #3c32b2; }
.section.dark-section .eyebrow,.section.home-data-section .eyebrow { color: #a43b22; }
.section > div:last-child {
  grid-column: 3 / 13;
  justify-self: end;
  width: 100%;
  max-width: 1100px;
  min-width: 0;
}
.section:nth-of-type(even) > div:last-child { grid-column: 1 / 11; justify-self: start; }
.section > .note-card,
.section > .type-board,
.section > .prompt-board,
.section > .scenario-list,
.section > .problem-solution { max-width: 900px; }
.section > .sequence-board,
.section > .design-rules,
.section > .structure-middle,
.section > .edit-stack { max-width: 1100px; }
.slide {
  border: 1px solid #dad5cb;
  border-radius: 2px;
  background: #fffdfa;
  box-shadow: 9px 11px 0 #17171913;
}
.slide-top,.slide-bottom {
  color: #77736f;
  font-family: "Courier 10 Pitch","Liberation Mono",monospace;
}
.slide .slide-title { font-weight: 800; }
.slide-big-number { color: var(--signal); }
.split-photo { background: linear-gradient(132deg,#ffa98e 0%,#ef6d4b 47%,#6d62d7 100%); }
.chart-bars i { background: var(--signal); }
.chart-bars i:nth-child(2),.chart-bars i:nth-child(4) { background: #7667df; }
.donut { background: conic-gradient(var(--signal) 0 58%,#7667df 58% 85%,#e2b8a8 85% 100%); }
.line-chart { color: var(--signal); }
.timeline-visual>div { border-color: var(--signal); }
.timeline-visual b { color: var(--signal); }
.slide-pair .slide:nth-child(1) { transform: rotate(-2deg); }
.slide-pair .slide:nth-child(2) { transform: rotate(2deg); margin-top: 20px; }
.prompt-board {
  border: 1px solid #cac4bb;
  border-radius: 2px;
  background: #fffdfa;
  box-shadow: 14px 16px 0 #17171916;
}
.prompt-label,.ai-prompt span,.ai-output span { color: var(--blue-text); }
.prompt-chips span,.template-tags span { border-radius: 2px; }
.sequence-board>div,.edit-stack div { background: #fffdfa; border-color: #d7d3e5; color: #171719; }
.sequence-board b,.edit-stack b { color: #4c41be; }
.type-sample,.type-board,.note-card {
  border-radius: 2px;
  background: #eeeafd;
  color: #171719;
}
.note-card { background: #fff0e9; }
.type-sample strong { font-family: Manrope,Arial,sans-serif; font-weight: 800; }
.scenario-list { border-color: #99928a; }
.scenario-list>div { border-color: #b5ada3; }
.scenario-list b { color: var(--blue-text); }
.scenario-list span { color: inherit; opacity: .62; }
.dark-section .scenario-list { border-color: #d7d3e5; }
.dark-section .scenario-list>div { border-color: #d7d3e5; }
.file-card,.export-file {
  border-radius: 2px;
  border-color: #bdb7ad;
  background: #fffdfa;
}
.file-card:first-child,.export-file:first-child { background: #fff0e9; border-color: #ead7ce; }
.ai-prompt,.ai-output { border-radius: 2px; }
.ai-prompt { background: #eeeafd; color: #171719; border: 1px solid #d8d2ec; }
.company-stat,.proposal-note { background: #fff0e9; color: #171719; }
.faq {
  display: block;
  max-width: none;
  padding: clamp(84px,8vw,136px) clamp(20px,4.4vw,74px);
  background: #faf9fc;
  border-top: 1px solid #c6bfb6;
}
.faq-intro { margin-bottom: 58px; }
.faq .eyebrow {
  color: #a43b22;
  font-family: "Courier 10 Pitch","Liberation Mono",monospace;
  font-size: 11px;
}
.faq h2 { max-width: 1100px; font-size: clamp(54px,7.5vw,112px); line-height: .98; letter-spacing: -.08em; }
.faq-list { max-width: 1000px; margin-left: auto; }
.faq-item { border-color: #aaa299; }
.faq-item button { min-height: 68px; font-size: clamp(18px,1.8vw,24px); font-weight: 800; }
.faq-symbol { color: #a43b22; }
.final-cta {
  position: relative;
  display: block;
  max-width: none;
  min-height: 0;
  height: auto;
  max-height: none;
  padding: clamp(70px,6vw,94px) clamp(20px,4.4vw,74px);
  overflow: hidden;
  background: #f0eef9;
  color: #171719;
}
.final-cta > div:first-child { position: relative; z-index: 2; max-width: 1040px; }
.final-cta .eyebrow { color: #171719; font-family: "Courier 10 Pitch","Liberation Mono",monospace; }
.final-cta h2 { font-size: clamp(76px,11vw,158px); line-height: .88; letter-spacing: -.1em; margin: 14px 0 28px; }
.final-cta p { max-width: 450px; font-size: 20px; line-height: 1.5; }
.final-cta .button { background: #ef6d4b; color: #171719; margin-top: 18px; }
.final-cta .button:hover { background: #ff896b; color: #171719; }
.final-art { position: absolute; right: 6%; bottom: -12%; height: 340px; width: 340px; transform: rotate(10deg); }
.final-sheet { background: #fffdfa; color: #171719; box-shadow: 18px 18px 0 #d9d4ee; }
footer {
  display: grid;
  grid-template-columns: minmax(280px,1fr) minmax(360px,.7fr);
  gap: 56px;
  padding: clamp(70px,8vw,130px) clamp(20px,4.4vw,74px) 36px;
  background: #f8f7fb;
  color: #171719;
}
.footer-brand .wordmark { font-size: 43px; }
.footer-brand p { max-width: 490px; color: #575761; font-size: 15px; }
footer nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 26px; }
footer nav[data-footer-nav] a { color: #282632; font-size: 16px; font-weight: 700; }
footer nav[data-footer-nav] a:hover { color: #3c32b2; }
.footer-end { border-color: #d9d8df; color: #666470; }
.structure-middle div,.design-rules div {
  background: #fffdfa;
  color: #171719;
  border: 1px solid #d7d3e5;
}
.structure-middle b,.design-rules b { color: #4c41be; }
.creation-steps { background: #eeeafd; color: #4036a4; border: 1px solid #d8d2ec; }
.structure-hero div { background: #fffdfa; color: #171719; border: 1px solid #d7d3e5; }
.structure-hero div:nth-child(2n) { background: #eeeafd; color: #171719; }
.structure-hero div:nth-child(5) { background: #fff0e9; color: #171719; border-color: #ead7ce; }
.file-detail { background: #fff0e9; color: #171719; border: 1px solid #ead7ce; }
.file-detail.ppt { background: #eeeafd; color: #171719; border-color: #d8d2ec; }
.problem-solution div:last-child { background: #fff0e9; border-color: #ead7ce; }
@media(max-width:1000px) {
  .hero h1 { font-size: clamp(58px,8vw,88px); }
  .home-hero h1 { font-size: clamp(60px,9vw,100px); }
  .section-copy { grid-template-columns: 110px minmax(0,1fr); }
  .section-copy>p { grid-column: 2; max-width: 670px; }
  .section h2 { font-size: clamp(42px,6vw,66px); }
}
@media(max-width:767px) {
  .site-header { height: 66px; padding: 0 20px; }
  .wordmark { font-size: 23px; }
  .header-cta { min-height: 42px; padding: 9px 16px; font-size: 13px; }
  .hero,.home-hero,.inner-hero { padding: 0 18px 55px; }
  .hero-topline { padding: 18px 0 13px; }
  .hero-topline .eyebrow,.hero-edition { font-size: 9px; }
  .hero-edition { max-width: 120px; }
  .hero-copy,.inner-hero .hero-copy { display: block; padding: 42px 0 34px; }
  .hero h1,.home-hero h1 { max-width: none; font-size: clamp(40px,10.6vw,66px); line-height: .98; margin: 0 0 28px; }
  .hero-intro { display: block; }
  .hero-intro p { font-size: 16px; line-height: 1.55; margin-bottom: 22px; }
  .hero-visual-bar { padding: 9px 11px; font-size: 8px; }
  .hero-visual-inner,.home-hero .hero-visual-inner { min-height: 0; padding: 18px 10px 26px; }
  .home-hero .stage { height: 275px; padding: 10px; box-shadow: 9px 10px 0 #211c2b28; }
  .process-band { grid-template-columns: repeat(3,1fr); padding: 0 18px; }
  .process-band span { padding: 17px 8px 17px 0; font-size: 9px; }
  .section,.split-section,.dark-section,.pair-section {
    display: block;
    padding: 75px 18px 82px;
  }
  .section-copy { display: block; }
  .section .eyebrow { margin: 0 0 20px; font-size: 10px; }
  .section h2 { max-width: none; font-size: clamp(38px,8.4vw,58px); margin: 0 0 22px; }
  .section-copy>p,.dark-section .section-copy>p,.home-data-section .section-copy>p {
    max-width: none;
    font-size: 16px;
    line-height: 1.68;
    margin: 0;
  }
  .section > div:last-child,.section:nth-of-type(even) > div:last-child,
  .section:nth-of-type(odd) > div:last-child {
    width: 100%;
    max-width: 100%;
    margin: 38px 0 0;
    min-width: 0;
  }
  .slide-pair .slide:nth-child(1),.slide-pair .slide:nth-child(2) { transform: none; margin-top: 0; }
  .faq { padding: 75px 18px; }
  .faq-intro { margin-bottom: 34px; }
  .faq h2 { font-size: clamp(50px,9vw,70px); }
  .faq-item button { min-height: 62px; font-size: 17px; }
  .final-cta { padding: 75px 18px 100px; }
  .final-cta h2 { font-size: clamp(70px,16vw,112px); margin-bottom: 24px; }
  .final-cta p { max-width: 270px; font-size: 16px; }
  .final-art { right: -40px; bottom: -45px; width: 180px; height: 180px; }
  .final-sheet { width: 160px; height: 160px; }
  footer { display: block; padding: 72px 18px 30px; }
  .footer-brand .wordmark { font-size: 36px; }
  footer nav { margin: 45px 0; gap: 18px 15px; }
}
@media(max-width:430px) {
  .hero h1,.home-hero h1 { font-size: clamp(38px,10.5vw,48px); }
  .hero-visual-inner,.home-hero .hero-visual-inner { padding: 12px 8px 20px; }
  .home-hero .stage { height: 275px; }
  .section h2 { font-size: 38px; }
  .final-cta h2 { font-size: 69px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* Light, open hero with independent animated presentation layers. */
.site-header { background:#fffdfa; color:#171719; border-bottom:1px solid #e1ddd7; }
.site-header .header-cta { background:#ef6d4b; color:#171719; }
.site-header .header-cta:hover { background:#ff896b; color:#171719; }
.hero-topline { border-bottom-color:#d7d2cb; }
.hero-topline .eyebrow,.hero-edition { color:#373431; }
.home-hero .hero-copy {
  display:block;
  padding:clamp(42px,4.8vw,72px) 0 28px;
  text-align:center;
  animation:hero-rise .65s ease-out both;
}
.home-hero h1 {
  max-width:1060px;
  margin:0 auto;
  font-size:clamp(52px,5.9vw,86px);
  line-height:1.04;
  letter-spacing:-.066em;
}
.hero-ai { color:#4b43c3; }
.home-hero .hero-intro {
  display:flex;
  align-items:center;
  gap:20px;
  max-width:670px;
  margin:22px auto 0;
}
.home-hero .hero-intro p { max-width:670px; font-size:clamp(17px,1.5vw,20px); line-height:1.55; }
.hero-float.hero-visual {
  position:relative;
  display:block;
  width:min(100%,1380px);
  height:540px;
  min-height:0;
  margin:0 auto;
  overflow:visible;
  border:0;
  background:transparent;
  color:#171719;
}
.float-orbit {
  position:absolute;
  top:2px;
  left:50%;
  width:480px;
  height:480px;
  transform:translateX(-50%);
  border:1px solid #d6d1ef;
  border-radius:50%;
}
.float-orbit::before,.float-orbit::after {
  content:'';
  position:absolute;
  border-radius:50%;
  background:#4b43c3;
}
.float-orbit::before { width:12px; height:12px; left:6%; top:22%; }
.float-orbit::after { width:7px; height:7px; right:7%; bottom:20%; background:#ef6d4b; }
.float-label,.float-caption {
  position:absolute;
  z-index:4;
  font-family:"Courier 10 Pitch","Liberation Mono",monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
  line-height:1.5;
  color:#57534e;
}
.float-label { top:10px; left:1%; display:flex; gap:14px; }
.float-label span { color:#a43b22; }
.float-caption { right:1%; bottom:12px; text-align:right; }
.float-prompt,.float-outline,.float-sheet {
  position:absolute;
  z-index:2;
  border:1px solid #d3cec7;
  background:#fffdfa;
  box-shadow:0 22px 55px #17171920;
}
.float-prompt {
  z-index:3;
  top:138px;
  left:2%;
  display:flex;
  flex-direction:column;
  width:268px;
  min-height:204px;
  padding:22px;
  border-left:5px solid #4b43c3;
  animation:prompt-float 5.5s ease-in-out infinite;
}
.float-prompt span,.float-outline span,.float-prompt small,.float-outline small,
.float-sheet-top,.float-sheet-bottom,.float-sheet-body small {
  font-family:"Courier 10 Pitch","Liberation Mono",monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.055em;
}
.float-prompt span,.float-outline span { color:#3d35a5; }
.float-prompt strong {
  display:block;
  margin:20px 0;
  font-size:22px;
  line-height:1.22;
  letter-spacing:-.045em;
}
.float-prompt small { margin-top:auto; padding-top:13px; border-top:1px solid #d8d2ca; color:#5c5752; }
.float-sheet {
  z-index:2;
  top:52px;
  left:50%;
  display:flex;
  flex-direction:column;
  width:min(67%,780px);
  height:425px;
  padding:26px 32px 22px;
  animation:sheet-float 6.5s ease-in-out infinite;
}
.float-sheet-top,.float-sheet-bottom { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.float-sheet-top b { font-family:Manrope,Arial,sans-serif; font-size:20px; font-weight:800; letter-spacing:-.09em; }
.float-sheet-top span,.float-sheet-bottom { color:#6b6660; }
.float-sheet-body { display:flex; flex-direction:column; flex:1; min-height:0; padding:36px 0 20px; }
.float-sheet-body small { color:#3d35a5; }
.float-sheet-body strong { display:block; margin:14px 0 auto; font-size:clamp(38px,4.1vw,60px); font-weight:800; line-height:1.03; letter-spacing:-.07em; }
.float-sheet-body em { color:#4b43c3; font-style:normal; }
.float-graphic { display:flex; align-items:flex-end; gap:9px; width:60%; height:78px; }
.float-graphic i { display:block; flex:1; height:38%; background:#e3dff7; transform-origin:bottom; animation:bar-breathe 3.8s ease-in-out infinite; }
.float-graphic i:nth-child(2) { height:55%; background:#b4aceb; animation-delay:.2s; }
.float-graphic i:nth-child(3) { height:73%; background:#7c70d9; animation-delay:.4s; }
.float-graphic i:nth-child(4) { height:100%; background:#4b43c3; animation-delay:.6s; }
.float-sheet-bottom { padding-top:13px; border-top:1px solid #d8d2ca; }
.float-outline {
  z-index:3;
  right:2%;
  bottom:63px;
  width:238px;
  min-height:245px;
  padding:20px;
  animation:outline-float 6s ease-in-out infinite;
}
.float-outline ol { list-style:none; padding:0; margin:17px 0 13px; counter-reset:stage; }
.float-outline li { counter-increment:stage; padding:10px 0; border-bottom:1px solid #d8d2ca; font-size:16px; font-weight:700; }
.float-outline li::before { content:'0' counter(stage); margin-right:12px; font-family:"Courier 10 Pitch","Liberation Mono",monospace; font-size:10px; color:#a43b22; }
.float-outline small { color:#635e59; }
.inner-hero .hero-visual { border:0; background:transparent; }
.inner-hero .hero-visual-bar { display:none; }
.inner-hero .hero-visual-inner { padding:16px 0 0; }
@keyframes hero-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes sheet-float { 0%,100% { transform:translateX(-50%) translateY(0) rotate(-3deg); } 50% { transform:translateX(-50%) translateY(-9px) rotate(-2deg); } }
@keyframes prompt-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(7px) rotate(-3deg); } }
@keyframes outline-float { 0%,100% { transform:translateY(0) rotate(5deg); } 50% { transform:translateY(-8px) rotate(3deg); } }
@keyframes bar-breathe { 0%,100% { transform:scaleY(.88); } 50% { transform:scaleY(1); } }
@media(max-width:900px) {
  .hero-float.hero-visual { height:500px; }
  .float-sheet { width:72%; height:390px; }
  .float-prompt { top:100px; left:0; width:220px; min-height:180px; padding:17px; }
  .float-prompt strong { font-size:18px; }
  .float-outline { right:0; bottom:35px; width:205px; min-height:205px; padding:16px; }
  .float-outline li { font-size:14px; padding:7px 0; }
}
@media(max-width:640px) {
  .home-hero .hero-copy { padding:38px 0 30px; }
  .home-hero h1 { font-size:clamp(37px,9.5vw,55px); line-height:1.05; letter-spacing:-.06em; }
  .home-hero .hero-intro { max-width:450px; margin:18px auto 0; gap:18px; }
  .home-hero .hero-intro p { font-size:15px; line-height:1.5; }
  .hero-float.hero-visual { display:flex; flex-direction:column; gap:17px; height:auto; padding:0 7px 15px; }
  .float-orbit { display:none; }
  .float-label,.float-caption { position:static; }
  .float-label { order:0; font-size:9px; }
  .float-prompt,.float-sheet,.float-outline { position:relative; top:auto; left:auto; right:auto; bottom:auto; width:auto; min-height:0; height:auto; box-shadow:0 14px 35px #17171917; }
  .float-prompt { order:1; align-self:flex-start; width:81%; padding:17px; }
  .float-prompt strong { margin:14px 0; font-size:18px; }
  .float-sheet { order:2; align-self:center; width:96%; min-height:300px; padding:18px; }
  .float-sheet-top b { font-size:16px; }
  .float-sheet-top span,.float-sheet-bottom { font-size:8px; }
  .float-sheet-body { padding:24px 0 15px; }
  .float-sheet-body strong { font-size:clamp(31px,8vw,43px); }
  .float-graphic { width:75%; height:60px; }
  .float-outline { order:3; align-self:flex-end; width:76%; padding:17px; }
  .float-outline li { font-size:15px; }
  .float-caption { order:4; align-self:flex-end; font-size:9px; }
  .inner-hero .hero-visual-inner { padding:10px 0 0; }
  .inner-hero .hero-visual-inner > * { width:100%; }
  @keyframes sheet-float { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-5px) rotate(-1deg); } }
  @keyframes prompt-float { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(4px) rotate(-2deg); } }
  @keyframes outline-float { 0%,100% { transform:translateY(0) rotate(3deg); } 50% { transform:translateY(-4px) rotate(2deg); } }
}
@media(max-width:360px) {
  .home-hero h1 { font-size:32px; }
  .float-sheet-body strong { font-size:30px; }
  .float-prompt { width:88%; }
  .float-outline { width:83%; }
}
@media(prefers-reduced-motion:reduce) {
  .home-hero .hero-copy,.float-sheet,.float-prompt,.float-outline,.float-graphic i { animation:none!important; }
  .float-sheet { transform:translateX(-50%) rotate(-3deg); }
  .float-prompt { transform:rotate(-5deg); }
  .float-outline { transform:rotate(5deg); }
}
@media(max-width:640px) and (prefers-reduced-motion:reduce) {
  .float-sheet { transform:rotate(-2deg); }
  .float-prompt { transform:rotate(-3deg); }
  .float-outline { transform:rotate(3deg); }
}

/* Keep the same clear headline-to-explanation relationship on inner pages. */
.inner-hero .hero-copy {
  display: block;
  padding: clamp(42px,5vw,70px) 0 40px;
  text-align: center;
}
.inner-hero h1 {
  max-width: 1080px;
  margin: 0 auto;
  font-size: clamp(50px,5.6vw,78px);
  line-height: 1.05;
  letter-spacing: -.065em;
}
.inner-hero .hero-intro {
  display: flex;
  align-items: center;
  gap: 21px;
  max-width: 680px;
  margin: 24px auto 0;
}
.inner-hero .hero-intro p { max-width: 680px; font-size: clamp(17px,1.5vw,20px); line-height: 1.55; }
.inner-hero .hero-visual-inner { min-height: 330px; }
@media(max-width:640px) {
  .inner-hero .hero-copy { padding: 38px 0 30px; }
  .inner-hero h1 { font-size: clamp(35px,9.1vw,50px); }
  .inner-hero .hero-intro { margin: 18px auto 0; gap: 18px; }
  .inner-hero .hero-intro p { font-size: 15px; line-height: 1.5; }
  .inner-hero .hero-visual-inner { min-height: 0; }
}
@media(max-width:360px) { .inner-hero h1 { font-size: 33px; } }

/* Homepage: an open editorial path from a sentence to a slide story. */
.section.home-idea-section {
  display: block;
  padding: clamp(82px,8vw,132px) clamp(20px,4.4vw,74px) clamp(100px,9vw,150px);
  overflow: hidden;
  background: #fffdfa;
  border-top: 0;
}
.home-idea-section .home-idea-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 1030px;
  margin: 0 auto;
  text-align: center;
}
.home-idea-section .home-idea-heading .eyebrow {
  margin: 0 0 29px;
  color: #584cbd;
  font-size: 12px;
  letter-spacing: .12em;
}
.home-idea-section .home-idea-heading h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(57px,7.2vw,118px);
  line-height: .98;
  letter-spacing: -.082em;
}
.home-idea-section .home-idea-heading h2 em { color: #4c41be; font-style: normal; }
.home-idea-section .home-idea-heading > p {
  max-width: 700px;
  margin: 32px 0 0;
  color: #55545c;
  font-size: clamp(17px,1.45vw,20px);
  line-height: 1.62;
  opacity: 1;
}
.section.home-idea-section > .home-idea-flow,
.section.home-idea-section:nth-of-type(even) > .home-idea-flow,
.section.home-idea-section:nth-of-type(odd) > .home-idea-flow {
  display: block;
  width: 100%;
  max-width: 1280px;
  margin: clamp(68px,7vw,110px) auto 0;
  justify-self: auto;
}
.home-idea-overline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid #242329;
  padding-top: 16px;
  color: #55545c;
  font: 700 12px/1.4 "Courier 10 Pitch","Liberation Mono",monospace;
  letter-spacing: .07em;
}
.home-idea-prompt {
  max-width: 1120px;
  margin: 43px 0 45px;
  font-size: clamp(30px,3.45vw,58px);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: -.055em;
}
.home-idea-cursor {
  display: inline-block;
  width: .09em;
  height: .92em;
  margin: 0 0 -.12em .14em;
  background: #ef6d4b;
  animation: idea-cursor 1.15s step-end infinite;
}
.home-idea-context {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  padding-bottom: 34px;
  color: #696870;
  font-size: 14px;
  line-height: 1.5;
}
.home-idea-context span { white-space: nowrap; }
.home-idea-context span + span::before { content: "/"; margin-right: 28px; color: #b6b1ad; }
.home-idea-track { height: 2px; background: #dedbe9; }
.home-idea-track span {
  display: block;
  width: 100%;
  height: 100%;
  background: #5146c1;
  transform-origin: left;
  animation: idea-track 1.8s .2s both ease-out;
}
.home-idea-outcome {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-bottom: 1px solid #dedbe9;
}
.home-idea-outcome article {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 32px 30px 33px 0;
  animation: idea-appear .7s both ease-out;
}
.home-idea-outcome article + article { border-left: 1px solid #dedbe9; padding-left: 30px; }
.home-idea-outcome article:nth-child(2) { animation-delay: .16s; }
.home-idea-outcome article:nth-child(3) { animation-delay: .32s; }
.home-idea-outcome article > span {
  color: #5146c1;
  font: 700 12px/1.4 "Courier 10 Pitch","Liberation Mono",monospace;
  letter-spacing: .06em;
}
.home-idea-outcome strong {
  max-width: 340px;
  margin: auto 0 23px;
  font-size: clamp(24px,2.2vw,34px);
  line-height: 1.17;
  letter-spacing: -.05em;
}
.home-idea-outcome small { color: #77747c; font-size: 14px; }
@keyframes idea-cursor { 50% { opacity: 0; } }
@keyframes idea-track { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes idea-appear { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:767px) {
  .section.home-idea-section { padding: 76px 20px 94px; }
  .home-idea-section .home-idea-heading .eyebrow { margin-bottom: 23px; }
  .home-idea-section .home-idea-heading h2 { font-size: clamp(48px,10vw,78px); }
  .home-idea-section .home-idea-heading > p { margin-top: 25px; font-size: 16px; }
  .section.home-idea-section > .home-idea-flow,
  .section.home-idea-section:nth-of-type(even) > .home-idea-flow,
  .section.home-idea-section:nth-of-type(odd) > .home-idea-flow { margin: 58px auto 0; }
  .home-idea-overline { font-size: 11px; }
  .home-idea-prompt { margin: 31px 0 32px; font-size: clamp(29px,5.5vw,42px); }
  .home-idea-context { gap: 7px 18px; font-size: 13px; padding-bottom: 30px; }
  .home-idea-context span + span::before { margin-right: 18px; }
  .home-idea-outcome { display: block; }
  .home-idea-outcome article { min-height: 0; padding: 25px 0 27px; }
  .home-idea-outcome article + article { border-left: 0; border-top: 1px solid #dedbe9; padding-left: 0; }
  .home-idea-outcome strong { max-width: none; margin: 20px 0 12px; font-size: 28px; }
}
@media(max-width:430px) {
  .home-idea-section .home-idea-heading h2 { font-size: clamp(43px,10.6vw,50px); }
  .home-idea-overline span:last-child { max-width: 132px; text-align: right; }
  .home-idea-prompt { font-size: 28px; }
  .home-idea-context { display: block; }
  .home-idea-context span { display: block; margin: 3px 0; }
  .home-idea-context span + span::before { display: none; }
}
@media(max-width:360px) {
  .home-idea-section .home-idea-heading h2 { font-size: 36px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-idea-cursor,.home-idea-track span,.home-idea-outcome article { animation: none!important; }
}

/* Homepage logic: one uninterrupted editorial route instead of a card grid. */
.section.home-logic-section {
  display: block;
  padding: clamp(90px,8vw,140px) clamp(20px,4.4vw,74px) clamp(100px,9vw,150px);
  background: #f6f7fd;
  border-top: 1px solid #e3e3ed;
}
.home-logic-section .section-copy {
  display: block;
  max-width: 1100px;
}
.home-logic-section .section-copy .eyebrow {
  display: block;
  margin: 0 0 26px;
  color: #4c41be;
  font-size: 12px;
  letter-spacing: .12em;
}
.home-logic-section .section-copy h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(59px,7vw,108px);
  line-height: 1.03;
  letter-spacing: -.08em;
}
.home-logic-section .section-copy h2 em { color: #4c41be; font-style: normal; }
.home-logic-section .section-copy > p {
  max-width: 760px;
  margin: 34px 0 0;
  font-size: clamp(17px,1.5vw,20px);
  line-height: 1.65;
  opacity: .8;
}
.home-logic-section .logic-route {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  max-width: 1400px;
  margin: clamp(70px,7vw,112px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid #6c63c7;
}
.home-logic-section .logic-route li {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 230px;
  padding: 29px clamp(12px,2.2vw,35px) 4px 0;
}
.home-logic-section .logic-route li + li { padding-left: clamp(12px,2.2vw,35px); }
.home-logic-section .logic-route li::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 0;
  width: 13px;
  height: 13px;
  border: 2px solid #4c41be;
  border-radius: 50%;
  background: #f6f7fd;
}
.home-logic-section .logic-route li + li::before { left: clamp(12px,2.2vw,35px); }
.home-logic-section .logic-route li > span {
  color: #4c41be;
  font: 700 13px/1.3 "Courier 10 Pitch","Liberation Mono",monospace;
  letter-spacing: .08em;
}
.home-logic-section .logic-route strong {
  display: block;
  margin: auto 0 13px;
  font-size: clamp(22px,2vw,31px);
  line-height: 1.15;
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}
.home-logic-section .logic-route small { min-height: 3em; color: #676775; font-size: 14px; line-height: 1.5; }
@media(max-width:767px) {
  .section.home-logic-section { padding: 78px 20px 96px; }
  .home-logic-section .section-copy .eyebrow { margin-bottom: 22px; }
  .home-logic-section .section-copy h2 { font-size: clamp(43px,9vw,68px); }
  .home-logic-section .section-copy > p { margin-top: 25px; font-size: 16px; }
  .home-logic-section .logic-route {
    display: block;
    margin: 62px 0 0 7px;
    border-top: 0;
    border-left: 2px solid #6c63c7;
  }
  .home-logic-section .logic-route li,
  .home-logic-section .logic-route li + li {
    min-height: 0;
    padding: 0 0 34px 29px;
    border-left: 0;
  }
  .home-logic-section .logic-route li:last-child { padding-bottom: 0; }
  .home-logic-section .logic-route li::before,
  .home-logic-section .logic-route li + li::before { top: 1px; left: -8px; }
  .home-logic-section .logic-route strong { margin: 9px 0 5px; font-size: 27px; }
  .home-logic-section .logic-route small { min-height: 0; }
}
@media(max-width:360px) {
  .home-logic-section .section-copy h2 { font-size: 39px; }
}

/* Smart Slides: one large slide study fills the section instead of two small cards. */
.section.home-smart-section {
  display: block;
  padding: clamp(86px,8vw,132px) clamp(20px,4.4vw,74px) clamp(92px,8vw,136px);
  background: #faf9fc;
}
.home-smart-section .section-copy {
  display: grid;
  grid-template-columns: 130px minmax(0,1fr) minmax(270px,.42fr);
  gap: 24px clamp(20px,2.7vw,50px);
  max-width: none;
  margin-bottom: clamp(54px,6vw,94px);
}
.home-smart-section .section-copy h2 { max-width: 1000px; font-size: clamp(54px,5.4vw,86px); }
.home-smart-section .section-copy h2 em { color: #4c41be; font-style: normal; }
.home-smart-section .section-copy > p { max-width: 370px; }
.section.home-smart-section > .smart-composition {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  border: 1px solid #ccc8d7;
  background: #fffdfa;
}
.smart-composition-top,.smart-composition-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 24px;
  font: 700 11px/1.4 "Courier 10 Pitch","Liberation Mono",monospace;
  letter-spacing: .08em;
}
.smart-composition-top { border-bottom: 1px solid #d9d5e5; color: #5d5867; }
.smart-composition-body { display: grid; grid-template-columns: 43% 57%; min-height: 520px; }
.smart-composition-graphic {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px,3vw,50px);
  background: #edeafa;
  color: #4238b4;
}
.smart-composition-graphic > span,.smart-composition-message > span,.smart-composition-graphic small {
  font: 700 11px/1.4 "Courier 10 Pitch","Liberation Mono",monospace;
  letter-spacing: .09em;
}
.smart-composition-graphic > strong {
  margin: auto 0 12px;
  font-size: clamp(142px,19vw,350px);
  font-weight: 800;
  letter-spacing: -.13em;
  line-height: .8;
}
.smart-composition-graphic > strong span { font-size: .27em; letter-spacing: -.08em; }
.smart-composition-bars { display: flex; gap: 8px; align-items: end; height: 80px; padding: 0 2px; }
.smart-composition-bars i { flex: 1; height: 46%; background: #a9a0e2; transform-origin: bottom; animation: smart-bar 2.6s ease-in-out infinite alternate; }
.smart-composition-bars i:nth-child(2) { height: 65%; background: #8376d4; animation-delay: .2s; }
.smart-composition-bars i:nth-child(3) { height: 80%; background: #ef6d4b; animation-delay: .4s; }
.smart-composition-bars i:nth-child(4) { height: 100%; background: #4c41be; animation-delay: .6s; }
.smart-composition-graphic small { margin-top: 20px; }
.smart-composition-message {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(28px,3.6vw,62px);
}
.smart-composition-message > span { color: #a43b22; }
.smart-composition-message > strong {
  display: block;
  margin: auto 0 26px;
  font-size: clamp(46px,5.3vw,91px);
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: 1.02;
}
.smart-composition-message > p { max-width: 590px; margin: 0 0 35px; font-size: clamp(16px,1.5vw,20px); line-height: 1.6; }
.smart-composition-points { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-top: 21px; border-top: 1px solid #d4d0d9; }
.smart-composition-points span { font-size: 13px; white-space: nowrap; }
.smart-composition-points b { margin-right: 7px; color: #4c41be; font: 700 11px/1.4 "Courier 10 Pitch","Liberation Mono",monospace; }
.smart-composition-bottom { justify-content: flex-start; gap: 0; padding: 0; border-top: 1px solid #d9d5e5; color: #4c41be; }
.smart-composition-bottom span { flex: 1; padding: 18px 24px; }
.smart-composition-bottom span + span { border-left: 1px solid #d9d5e5; }
@keyframes smart-bar { from { transform: scaleY(.78); } to { transform: scaleY(1); } }
@media(max-width:1100px) {
  .home-smart-section .section-copy { grid-template-columns: 110px minmax(0,1fr); }
  .home-smart-section .section-copy > p { grid-column: 2; max-width: 700px; margin-top: 0; }
  .smart-composition-body { min-height: 430px; }
  .smart-composition-message > strong { font-size: clamp(44px,6vw,70px); }
}
@media(max-width:767px) {
  .section.home-smart-section { padding: 78px 20px 96px; }
  .home-smart-section .section-copy { display: block; margin-bottom: 48px; }
  .home-smart-section .section-copy .eyebrow { margin-bottom: 24px; }
  .home-smart-section .section-copy h2 { font-size: clamp(42px,9.2vw,68px); }
  .home-smart-section .section-copy > p { margin-top: 25px; font-size: 16px; }
  .smart-composition-top,.smart-composition-bottom { font-size: 9px; }
  .smart-composition-top { padding: 12px 15px; }
  .smart-composition-top span:last-child { max-width: 115px; text-align: right; }
  .smart-composition-body { display: block; }
  .smart-composition-graphic { min-height: 320px; padding: 24px; }
  .smart-composition-graphic > strong { font-size: clamp(130px,40vw,210px); }
  .smart-composition-bars { height: 48px; }
  .smart-composition-message { padding: 26px 24px 32px; }
  .smart-composition-message > strong { margin: 54px 0 20px; font-size: clamp(36px,9vw,58px); }
  .smart-composition-message > p { margin-bottom: 28px; font-size: 15px; }
  .smart-composition-points { display: grid; gap: 10px; }
  .smart-composition-bottom { display: block; }
  .smart-composition-bottom span { display: block; padding: 12px 24px; }
  .smart-composition-bottom span + span { border-left: 0; border-top: 1px solid #d9d5e5; }
}
@media(max-width:360px) {
  .home-smart-section .section-copy h2 { font-size: 40px; }
  .smart-composition-graphic { min-height: 280px; }
  .smart-composition-message { padding: 24px 19px 28px; }
  .smart-composition-message > strong { font-size: 34px; }
}
@media(prefers-reduced-motion:reduce) {
  .smart-composition-bars i { animation: none!important; }
}
