
body { position: relative; overflow-x: hidden; }
main { position: relative; z-index: 1; }
.page-glow { position: absolute; left: 0; right: 0; top: 0; bottom: 0; background-image: var(--glow-page); background-size: 100% var(--glow-h); background-repeat: no-repeat; pointer-events: none; z-index: 0; }
.site-head { z-index: 20; }
.only-phone { display: none; }
.section { padding-top: var(--s-128); }
.label-rule { margin-bottom: var(--s-40); padding-bottom: var(--s-16); border-bottom: var(--hairline) solid var(--line);
  font: var(--w-regular) var(--t-13)/var(--lh-ui) var(--font-mono); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--text-2); }
.mono-note { margin-top: var(--s-16); font: var(--w-regular) var(--t-13)/var(--lh-ui) var(--font-mono); color: var(--text-3); }
.hero-center { padding-top: var(--s-96); text-align: center; }
.hero-center .display { max-width: calc(var(--container) * 0.83); margin-inline: auto; }
.hero-center .lead { max-width: var(--text-measure); margin: var(--s-28) auto 0; }
.hero-center .btns { justify-content: center; margin-top: var(--s-36); }
.phone-note { margin-top: var(--s-16); font-size: var(--t-13); color: var(--text-3); text-align: center; }
.hero-card { padding-top: var(--s-64); }
.tilt-stage { position: relative; }
.tilt-stage .glow { position: absolute; left: 10%; right: 10%; top: var(--s-120); height: calc(var(--s-120) * 3); background: var(--glow-card);
  filter: var(--glow-blur); pointer-events: none; }
.fcard.tilt { position: relative; transform: perspective(var(--tilt-depth)) rotateX(var(--tilt)); transform-origin: 50% 0; }
.hero-card .frame-ms { display: none; }
@keyframes frame-in { from { opacity: 0; transform: translateY(var(--frame-rise)); } to { opacity: 1; transform: none; } }
@keyframes curve-in { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes point-in { from { opacity: 0; } to { opacity: 1; } }
.hero-card .frame-fig { animation: frame-in var(--t-frame) var(--ease-out) both; animation-delay: calc(var(--i) * var(--t-frame-gap)); }
.hero-card .curve-draw { animation: curve-in var(--t-curve) var(--ease-out) both; animation-delay: calc(2 * var(--t-frame-gap) + var(--t-frame)); }
.hero-card .curve .pt, .hero-card .curve .cv { animation: point-in var(--t-frame) var(--ease-out) both;
  animation-delay: calc(2 * var(--t-frame-gap) + var(--t-frame) + var(--t-curve)); }
.sources { padding-top: var(--s-96); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--s-12); }
.sources .src-label { margin-right: var(--s-8); font-size: var(--t-14); color: var(--text-3); }
.values { padding-top: var(--s-128); row-gap: var(--s-16); }
.values .value { grid-column: span 4; }
.walk .step + .step { padding-top: var(--s-96); }
.wl-card, .ft-card { border-radius: var(--r-12); overflow: hidden; }
.ft-card .thead, .ft-card .f-row { grid-template-columns: var(--col-status) minmax(0, 1fr) var(--col-visits) var(--thumb); }
.step-card { padding: var(--s-24); }
.report-card .mono-label { display: block; margin-bottom: var(--s-16); }
.report-card .btns { justify-content: flex-end; margin-top: var(--s-20); }
.teaser { text-align: center; }
.teaser .h2 { max-width: calc(var(--container) * 0.66); margin-inline: auto; }
.teaser .lead { margin-top: var(--s-16); }
.teaser .btns { justify-content: center; margin-top: var(--s-32); }
.hero-left { padding-top: var(--s-120); }
.hero-left .lead { max-width: var(--text-measure); margin-top: var(--s-32); }
.hero-left .btns { margin-top: var(--s-40); }
.c-span-9 { grid-column: span 9; }
.c-span-10 { grid-column: span 10; }
.c-span-7 { grid-column: span 7; }
.c-span-5 { grid-column: span 5; }
.c-span-6 { grid-column: span 6; }
.c-span-4 { grid-column: span 4; }
.c-span-8 { grid-column: span 8; }
.c-8-5 { grid-column: 8 / span 5; }
.split { align-items: center; }
.split .h2 { margin-bottom: var(--s-16); }
.demo-box { position: relative; height: var(--demo-box-h); border-radius: var(--r-16); overflow: hidden; display: block; background: var(--ct-bg); }
.demo-still { position: absolute; inset: 0; opacity: 0.4; pointer-events: none; }
.demo-box .btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.next3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hairline); padding: 0; overflow: hidden; border-radius: var(--r-16); }
.next3 li { padding: var(--s-32); background: var(--grad-card); }
.next3 .h3 { margin-bottom: var(--s-12); }
.next3-wrap { background: var(--line-card); }
.vision-fig { align-items: end; }
.vision-fig .frame { height: var(--frame-h-vision); }
.vision-fig .frames { --n: 2; }
.vision-fig .says { font-size: var(--t-lead); line-height: var(--lh-lead); }
.founders { padding-top: var(--s-72); row-gap: var(--gutter); }   
.team-close { margin-top: var(--s-48); max-width: calc(var(--container) * 0.83); }
.contact-row { margin-top: var(--s-40); display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-20); }
.contact-row .mono { font-size: var(--t-15); color: var(--text-2); }
.page-contact .site-foot { margin-top: calc(var(--s-128) + var(--s-32)); }
.page-contact .hero-left .lead { max-width: calc(var(--text-measure) * 0.75); }
.credits-head { padding-top: var(--s-96); }
.credits-head .lead-16 { max-width: var(--text-measure); margin: var(--s-16) 0 var(--s-48); }
.notfound { padding-block: var(--s-128); }
.notfound .btns { margin-top: var(--s-32); }
@media (max-width: 1023px) {
  .c-span-9, .c-span-10, .c-span-7, .c-span-5, .c-span-6, .c-span-4, .c-span-8, .c-8-5 { grid-column: 1 / -1; }
  .values .value { grid-column: 1 / -1; }
  .fcard.tilt { transform: none; }
  .split > * + *, .vision-fig > * + *, .contact-grid > * + * { margin-top: var(--s-40); }
  .next3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  .only-phone { display: block; }
  .btns .only-phone { display: inline-flex; }
  .only-wide { display: none !important; }
  .section { padding-top: var(--s-72); }
  .hero-center { padding-top: var(--s-56); text-align: left; }
  .hero-center .eyebrow { margin-bottom: var(--s-16); font-size: var(--t-12); }
  .hero-center .lead { margin-top: var(--s-20); }
  .hero-center .btns { flex-direction: column; margin-top: var(--s-32); }
  .hero-center .btns .btn { width: 100%; }
  .hero-card { padding-top: var(--s-56); }
  .hero-card .fcard { padding: var(--s-16); }
  .hero-card .fcard-head { flex-direction: column; align-items: flex-start; gap: var(--s-4); margin-bottom: var(--s-14); }
  .hero-card .fcard-title { font-size: var(--t-16); gap: var(--s-10); }
  .hero-card .fcard-meta { font-size: var(--t-12); }
  .hero-card .frame-ms { display: block; }
  .fcard { padding: var(--s-16); }
  .fcard .frame { height: auto; aspect-ratio: 1 / 1; }
  .curve .cv { font-size: var(--t-12); }
  .curve .cv.last { transform: translateX(calc(-100% - 2 * var(--s-16))); }
  .curve .cv:not(.last) { top: calc(var(--y) + var(--s-8)); }
  .curve .seg-pct { top: calc(var(--y) - var(--s-28)); }
  .tilt-stage .glow { display: none; }
  .sources { padding-top: var(--s-56); justify-content: flex-start; gap: var(--s-8); }
  .sources .src-label { width: 100%; }
  .values { padding-top: var(--s-72); row-gap: 0; }
  .values.card-list { display: block; border-radius: var(--r-16); overflow: hidden; background: var(--grad-card); border: var(--hairline) solid var(--line-card); box-shadow: var(--shadow-card); }
  .values .value { padding: var(--s-24); background: none; border: 0; box-shadow: none; border-radius: 0; border-bottom: var(--hairline) solid var(--line); }
  .values .value:last-child { border-bottom: 0; }
  .values .value .icon-tile { margin-bottom: var(--s-16); }
  .values .value .h3 { margin-bottom: var(--s-8); }
  .walk .step + .step { padding-top: var(--s-72); }
  .step-copy { margin-bottom: var(--s-24); }
  .step-copy .num { margin-bottom: var(--s-8); }
  .step-copy .h2 { margin-bottom: var(--s-12); }
  .ft-card .thead { display: none; }
  .ft-card .f-row { grid-template-columns: minmax(0, 1fr) var(--thumb); grid-template-areas: "tag thumb" "name thumb" "visits thumb"; row-gap: var(--s-4); }
  .ft-card .f-row > :nth-child(1) { grid-area: tag; }
  .ft-card .f-row > :nth-child(2) { grid-area: name; }
  .ft-card .f-row > :nth-child(3) { grid-area: visits; }
  .ft-card .f-row > :nth-child(4) { grid-area: thumb; }
  .step-card { padding: var(--s-16); }
  .hero-left { padding-top: var(--s-56); }
  .hero-left .lead { margin-top: var(--s-20); }
  .hero-left .btns { margin-top: var(--s-32); }
  .hero-left .btns .btn { flex: 1 1 auto; }
  .teaser { text-align: left; }
  .teaser .btns { justify-content: flex-start; }
  .vision-fig .frames { --n: 1; }
  .founders { padding-top: var(--s-48); row-gap: var(--s-16); }
  .team-close { margin-top: var(--s-32); }
  .credits-head { padding-top: var(--s-56); }
  .page-contact .site-foot { margin-top: var(--s-96); }
  .next3 li { padding: var(--s-24); }
}
