.compare.ratio-4-3 {
  aspect-ratio: 4 / 3;
}

.brand-re {
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.swag {
  white-space: nowrap;
  font-weight: 800;
}

.word-turn {
  --turn-row: clamp(68px, 9vw, 128px);
  display: grid;
  min-height: min(76vh, 760px);
  place-items: center;
  overflow: hidden;
  padding: 90px 22px;
  background: #f2efea;
  border-bottom: 1px solid rgba(12, 12, 12, 0.14);
}

.word-turn-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 1120px);
}

.word-turn-mark {
  z-index: 2;
  display: grid;
  flex: 0 0 clamp(76px, 10vw, 132px);
  height: var(--turn-row);
  place-items: center;
  margin-right: clamp(18px, 3vw, 42px);
}

.word-turn-mark img {
  display: block;
  width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.word-turn-window {
  width: min(72vw, 790px);
  height: calc(var(--turn-row) * 3);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 28%, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 28%, #000 72%, transparent 100%);
}

.word-turn-track {
  transform: translateY(calc(var(--turn-row) * -1));
  will-change: transform;
}

.word-turn-track span {
  display: flex;
  align-items: center;
  height: var(--turn-row);
  color: #0c0c0c;
  font: 700 clamp(58px, 9vw, 132px)/1 "Inter", sans-serif;
  letter-spacing: -0.075em;
  white-space: nowrap;
}

@media (max-width: 650px) {
  .hero h1 {
    font-size: clamp(42px, 12.5vw, 52px);
    line-height: 0.88;
  }

  .hero-copy {
    padding-top: 54px;
  }

  .section-head h2,
  .process h2,
  .criterion h2,
  .price h2,
  .final-cta h2 {
    font-size: clamp(38px, 11.5vw, 48px);
    line-height: 0.92;
  }

  .case-meta h3 {
    font-size: clamp(38px, 10.5vw, 48px);
  }

  .word-turn { min-height: 520px; }
  .word-turn-mark { flex-basis: 62px; margin-right: 14px; }
  .word-turn-window { width: calc(100vw - 112px); }
  .word-turn-track span { font-size: clamp(42px, 12.5vw, 58px); letter-spacing: -0.065em; }
}

@media (prefers-reduced-motion: reduce) {
  .word-turn-track { transition: none !important; }
  .word-turn-tools { transition:none !important; }
}

/* Official brand assets */
.brand-official { gap: 11px; }
.brand-official .brand-mark { width: 34px; height: 34px; object-fit: contain; }
.brand-official .brand-wordmark { width: clamp(132px, 12vw, 190px); height: auto; }
.site-header .brand-official { transform: scale(1.06); transform-origin: left center; }

/* Product-first hero */
.hero-demo { display: grid; align-items: center; min-height: 720px; padding: 70px 0; }
.hero-demo-card { width: min(100%, 760px); margin: auto; padding: 12px; color: #f2efea; background: #181818; box-shadow: 0 36px 90px rgba(0,0,0,.48); transform: rotate(1.2deg); }
.hero-compare { width: 100%; }
.hero-demo-footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 14px 4px 2px; }
.hero-demo-footer>span { font: 500 9px/1.4 "DM Mono",monospace; letter-spacing: .08em; color: #aaa6a1; }
.hero-demo-footer .button { flex: 0 0 auto; }

/* Word turn: RE and verb behave as one word */
.word-turn { --turn-row:clamp(70px,8vw,112px); grid-template-rows:auto auto; align-content:center; gap:clamp(18px,3vw,34px); min-height:min(78vh,760px); padding-top:70px; padding-bottom:70px; }
.word-turn-copy { max-width:1050px; margin:0; text-align:center; font:500 clamp(26px,3.9vw,56px)/1.04 "Inter",sans-serif; letter-spacing:-.055em; }
.word-turn-inner { justify-content:flex-start; width:min(94vw,1120px); max-width:100%; }
.word-turn-mark { display:flex; flex:0 0 auto; height:var(--turn-row); align-items:flex-end; margin-right:2px; padding-bottom:6px; }
.word-turn-mark span { display:block; font:800 clamp(40px,6vw,82px)/.82 "Inter",sans-serif; letter-spacing:-.075em; }
.word-turn-window { width:min(82vw,950px); height:var(--turn-row); -webkit-mask-image:none; mask-image:none; }
.word-turn-track span { align-items:flex-end; height:var(--turn-row); padding-bottom:6px; font-size:clamp(40px,6vw,82px); font-weight:500; line-height:.82; letter-spacing:-.065em; }
.word-turn-tools { opacity:0; transform:translateY(18px); transition:opacity 700ms ease,transform 700ms ease; }
.word-turn.show-tools .word-turn-tools { opacity:1; transform:translateY(0); }
.word-turn-final-base,.word-turn-natural { display:inline; font:inherit; font-style:normal; }
.word-turn-natural { margin-left:.22em; opacity:0; transform:translateY(14px); transition:opacity 800ms ease,transform 800ms ease; white-space:nowrap; }
.word-turn.show-natural .word-turn-natural { opacity:1; transform:translateY(0); }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.criterion h2.criterion-statement { font-size:clamp(34px,3.8vw,60px); line-height:.98; letter-spacing:-.055em; }

/* Early-2000s editorial wink */
.manifesto-2000 { background-image: radial-gradient(rgba(12,12,12,.08) .7px, transparent .7px); background-size: 5px 5px; }
.era-window { border: 2px solid #0c0c0c; background: rgba(242,239,234,.94); box-shadow: 12px 12px 0 #0c0c0c; }
.era-bar,.era-status { display: flex; justify-content: space-between; gap: 18px; padding: 10px 13px; background: #0c0c0c; color: #f2efea; font: 500 9px/1.2 "DM Mono",monospace; letter-spacing: .07em; }
.era-window>p { margin: 0; padding: clamp(36px,5vw,74px); font-size: clamp(36px,5.2vw,82px); line-height: .95; letter-spacing: -.06em; font-weight: 650; }
.era-status { flex-wrap: wrap; background: transparent; color: #0c0c0c; border-top: 1px solid #0c0c0c; }
.manifesto-2000 .manifesto-tags { margin-top: 34px; }
.manifesto-2000 .manifesto-tags span:nth-child(3n+1) { background: #0c0c0c; color: #f2efea; }

.case-card { align-items:start; }
.scale-story,.compare-scale { display:none !important; }

/* One typographic voice: Inter for reading, DM Mono only for metadata */
h1,h2,h3,.hero-lead,.case-meta>p:not(:first-child),.criterion p,.price>div>p,.final-cta>p { font-family:"Inter",sans-serif; }
h1,h2,h3 { font-weight:700; }
.hero-lead,.case-meta>p:not(:first-child),.criterion p,.price>div>p,.final-cta>p { font-weight:400; }

/* Cases introduction uses the full editorial width */
.cases .section-head { display:block; max-width:none; }
.cases .section-head .eyebrow { grid-column:1/-1; }
.cases .section-head h2 { max-width:1200px; margin-bottom:0; font-size:clamp(58px,5.9vw,96px); }
.cases .section-head>p:last-child { grid-column:2; margin:0 0 8px; padding-top:24px; border-top:1px solid #0c0c0c; font-size:clamp(17px,1.6vw,24px); line-height:1.35; color:#0c0c0c; }
.cases .section-head>p:last-child strong { font-weight:750; }
.compare .tag { top:auto; bottom:14px; }

@media (max-width: 620px) {
  .compare .tag { bottom:9px; }
}

/* Honest launch offer */
.launch-offer { position: relative; overflow: hidden; }
.launch-offer::before { content:"LANZAMIENTO · LANZAMIENTO · LANZAMIENTO · LANZAMIENTO"; position:absolute; top:26px; left:-25px; width:110%; padding:9px 0; color:#0c0c0c; background:#d6ff73; font:700 10px/1 "DM Mono",monospace; letter-spacing:.18em; text-align:center; transform:rotate(-2deg); }
.launch-offer>div:first-child { padding-top: 52px; }
.launch-note { display:flex; gap:14px; margin-top:28px; padding:15px; border:1px solid #0c0c0c; font:500 10px/1.5 "DM Mono",monospace; }
.launch-note b { white-space:nowrap; }
.launch-grid { position:relative; padding:52px 24px 24px; border:2px solid #0c0c0c; background:#f2efea; box-shadow:12px 12px 0 #0c0c0c; }
.launch-badge { position:absolute; top:0; right:0; left:0; padding:13px; background:#0c0c0c; color:#d6ff73; font:700 10px/1 "DM Mono",monospace; letter-spacing:.1em; }
.launch-grid article { padding:20px 0; border-bottom:1px solid var(--line); }
.launch-grid article>span,.launch-grid article small { display:block; font:500 9px/1.4 "DM Mono",monospace; }
.launch-grid article>span { color:#6f6a65; letter-spacing:.08em; }
.launch-grid article h3 { margin:7px 0 4px; font-size:22px; letter-spacing:-.04em; }
.launch-grid article strong { display:block; font-size:28px; letter-spacing:-.04em; }
.launch-grid article small { margin-top:8px; color:#6f6a65; }
.launch-grid .featured { margin:0 -24px; padding:20px 24px; background:#d6ff73; }
.launch-grid .button { width:100%; margin-top:24px; }

/* Stronger closing signature */
.final-brand { display:flex; align-items:center; justify-content:center; gap:22px; margin:0 auto 54px; }
.final-brand img:first-child { width:96px; }
.final-brand img:last-child { width:min(58vw,520px); }
.final-cta>img { display:none; }

@media (max-width: 1000px) {
  .hero-demo { min-height: 600px; padding-top: 20px; }
  .cases .section-head { grid-template-columns:1fr; row-gap:28px; }
  .cases .section-head .eyebrow,.cases .section-head h2,.cases .section-head>p:last-child { grid-column:1; }
  .cases .section-head>p:last-child { max-width:620px; margin:0; }
}

@media (max-width: 650px) {
  .site-header .brand-official { transform:none; }
  .brand-official .brand-mark { width:26px; height:26px; }
  .brand-official .brand-wordmark { width:112px; }
  .hero-demo { min-height: 430px; padding:24px 0 50px; }
  .hero-demo-card { padding:7px; transform:none; }
  .hero-demo-footer { align-items:stretch; flex-direction:column; }
  .hero-demo-footer .button { width:100%; }
  .word-turn { --turn-row:78px; min-height:580px; gap:18px; padding:54px 10px; }
  .word-turn-copy { max-width:340px; font-size:clamp(25px,8vw,34px); line-height:1.06; }
  .word-turn-mark { margin-right:1px; padding-bottom:4px; }
  .word-turn-mark span { font-size:clamp(30px,8vw,38px); }
  .word-turn-inner { width:calc(100vw - 20px); }
  .word-turn-window { width:calc(100vw - 76px); }
  .word-turn-track span { padding-bottom:4px; font-size:clamp(30px,8vw,38px); }
  .word-turn-natural { margin-left:8px; padding-bottom:4px; font-size:clamp(30px,8vw,38px); }
  .criterion h2.criterion-statement { font-size:clamp(34px,9.5vw,43px); }
  .era-window { box-shadow:7px 7px 0 #0c0c0c; }
  .era-window>p { padding:34px 20px; font-size:38px; }
  .era-status { justify-content:flex-start; }
  .launch-note { align-items:flex-start; flex-direction:column; }
  .launch-grid { box-shadow:7px 7px 0 #0c0c0c; }
  .final-brand { gap:12px; }
  .final-brand img:first-child { width:58px; }
  .final-brand img:last-child { width:65vw; }
}
