.calaix-page {
  --color-background: #080808;
  --color-surface: #101010;
  --color-surface-elevated: #151515;
  --color-text-primary: #f2f0e9;
  --color-text-secondary: #a5a59d;
  --color-orange: #ff6400;
  --color-yellow: #ffd928;
  --color-positive: #a9e34b;
  --color-border: #292929;
  --font-mono: 'IBM Plex Mono', Consolas, monospace;
  --font-note: 'Beth Ellen', cursive;
  --landing-max: 1240px;
  background: var(--color-background);
  color: var(--color-text-primary);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
.calaix-page main { overflow: hidden; }
.calaix-page button, .calaix-page input, .calaix-page textarea { font: inherit; border-radius: 0; }
.calaix-page button { min-height: 44px; cursor: pointer; }
.calaix-page h1, .calaix-page h2, .calaix-page h3 { font-family: var(--font-mono); font-weight: 600; }
.calaix-page .header { font-family: var(--body); }
.landing-scroll-progress { position: fixed; z-index: 60; inset: 0 0 auto; width: 100%; height: 3px; background: var(--color-yellow); transform: scaleX(0); transform-origin: left; will-change: transform; }
@supports (animation-timeline: scroll()) {
  .landing-scroll-progress { animation: landing-progress linear both; animation-timeline: scroll(root block); }
  @keyframes landing-progress { to { transform: scaleX(1); } }
}
.landing-hero { width: min(calc(100% - 48px),var(--landing-max)); min-height: 100svh; min-height: 100dvh; margin: 0 auto; padding: clamp(124px,15vh,156px) 0 108px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(350px,.75fr); align-items: center; gap: clamp(42px,7vw,92px); }
.landing-hero .hero-copy { padding: 0; }
.hero-status { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 7px 10px 7px 8px; border: 1px solid #353530; color: var(--color-text-primary); font-size: .75rem; font-weight: 600; }
.hero-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--color-positive); box-shadow: 0 0 0 4px rgb(169 227 75 / .12); }
.landing-hero .hero-copy h1 { max-width: 790px; margin: 25px 0 28px; font-size: clamp(3.2rem,7vw,5.8rem); font-weight: 600; line-height: 1.01; letter-spacing: -.04em; }
.landing-hero .hero-copy h1 em { display: inline; color: var(--color-yellow); font-style: normal; }
.hero-intro { max-width: 57ch; color: var(--color-text-secondary); font-size: 1rem; font-weight: 500; line-height: 1.75; }
.landing-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.landing-primary, .landing-secondary { min-height: 50px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 0; font-size: .84rem; font-weight: 700; }
.landing-primary { border: 1px solid var(--color-orange); background: var(--color-orange); color: #080808; }
.landing-secondary { border: 1px solid var(--color-border); color: var(--color-text-primary); }
.landing-primary:hover { background: #ff7a22; }
.landing-primary:active, .landing-secondary:active { transform: translateY(1px); }
.privacy-line { display: flex; gap: 8px; align-items: center; margin-top: 22px; color: var(--color-text-secondary); font-size: .68rem; line-height: 1.5; }
.product-stage { position: relative; padding: 20px 0 0 34px; }
.stage-note { position: absolute; z-index: 2; top: -44px; left: calc(50% + 17px); width: max-content; max-width: calc(100% - 24px); color: var(--color-yellow); font: 1rem/1.5 var(--font-note); text-align: center; transform: translateX(-50%) rotate(2deg); animation: note-float 3.6s ease-in-out infinite alternate; }
@keyframes note-float { to { transform: translateX(-50%) translateY(-6px) rotate(1deg); } }
.landing-demo-panel { width: 100%; border: 1px solid var(--color-border); background: #080808; }
.compact-demo { transform: rotate(1.2deg); box-shadow: 18px 18px 0 #151515; }
.demo-app-header { min-height: 51px; padding: 0 15px; display: flex; align-items: center; border-bottom: 1px solid var(--color-border); color: var(--color-orange); font-weight: 600; }
.demo-app-header small { margin-left: 10px; padding: 3px 5px; border: 1px solid var(--color-yellow); color: var(--color-yellow); font-size: .52rem; }
.demo-app-header button { width: auto; min-width: 58px; margin-left: auto; padding-inline: 7px; border: 0; background: transparent; color: var(--color-text-secondary); font-size: .58rem; }
.demo-month { display: grid; grid-template-columns: minmax(68px,auto) 1fr minmax(68px,auto); min-height: 55px; align-items: center; text-align: center; border-bottom: 1px solid var(--color-border); }
.demo-month button { padding-inline: 8px; border: 0; background: transparent; color: var(--color-text-secondary); font-size: .56rem; }
.demo-month strong { font-size: .78rem; }
.demo-available { padding: 22px 18px; border-bottom: 1px solid var(--color-border); }
.demo-available > div { display: flex; justify-content: space-between; color: var(--color-text-secondary); font-size: .62rem; }
.demo-available > div strong { color: var(--color-positive); }
.demo-available small { display: block; margin-top: 26px; color: var(--color-text-secondary); font-size: .6rem; }
.demo-money { display: block; min-height: 1.2em; margin-top: 5px; color: var(--color-yellow); font-size: clamp(2rem,5vw,3rem); line-height: 1.1; letter-spacing: -.04em; transition: opacity .18s ease, transform .18s ease; }
.demo-available p { margin: 9px 0 0; color: var(--color-text-secondary); font-size: .65rem; }
.demo-metrics { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--color-border); }
.demo-metrics span { padding: 12px 10px; color: var(--color-text-secondary); font-size: .58rem; }
.demo-metrics span + span { border-left: 1px solid var(--color-border); }
.demo-metrics strong { display: block; margin-top: 5px; color: var(--color-text-primary); font-size: .7rem; }
.demo-chart { position: relative; height: 108px; padding: 18px; display: flex; align-items: flex-end; gap: 8px; border-bottom: 1px solid var(--color-border); overflow: hidden; }
.demo-chart span { flex: 1; background: #30302c; }
.demo-chart span:nth-child(n+5) { background: var(--color-orange); }
.demo-chart i { position: absolute; left: 18px; right: 18px; top: 47%; border-top: 1px dashed var(--color-yellow); }
.demo-goal { padding: 15px 18px 18px; font-size: .65rem; }
.demo-goal span { display: flex; justify-content: space-between; gap: 12px; }
.demo-goal strong { color: var(--color-orange); }
.demo-goal progress { width: 100%; height: 3px; margin-top: 10px; accent-color: var(--color-orange); }
.signal-tape { overflow: hidden; border-block: 1px solid var(--color-orange); color: var(--color-orange); background: #0c0c0c; font-size: .72rem; font-weight: 600; white-space: nowrap; }
.signal-tape-track { display: flex; width: max-content; animation: signal-travel 24s linear infinite; }
.signal-tape-track span { flex: none; padding: 12px 3rem 12px 0; }
@keyframes signal-travel { to { transform: translateX(-50%); } }
.landing-manifesto { padding: clamp(70px,10vw,130px) max(24px,calc((100vw - var(--landing-max))/2 + 24px)); border-block: 1px solid var(--color-border); background: var(--color-orange); color: #080808; }
.landing-manifesto p, .landing-manifesto strong { max-width: 1100px; display: block; margin: 0; font-size: clamp(2rem,4.5vw,4.4rem); line-height: 1.08; letter-spacing: -.035em; }
.landing-manifesto p { color: rgb(8 8 8 / .55); }
.calaix-page .capabilities { width: min(100%,var(--landing-max)); margin: 0 auto; padding: clamp(90px,12vw,160px) 24px; background: none; backdrop-filter: none; }
.section-lead { display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: end; margin-bottom: 65px; }
.section-lead h2, .demo-copy h2, .local-first h2, .contact-section h2 { margin: 0; font-size: clamp(2.25rem,5vw,4.6rem); line-height: 1.04; letter-spacing: -.04em; }
.section-lead p, .demo-copy > p, .local-first p, .contact-section > div > p { margin: 0; max-width: 55ch; color: var(--color-text-secondary); line-height: 1.65; }
.capability-ledger { border-top: 1px solid var(--color-border); }
.capability-ledger article { display: grid; grid-template-columns: 55px minmax(190px,.65fr) minmax(280px,1fr); gap: 20px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--color-border); transition: background .2s ease-out; }
.capability-ledger article:hover { background: #0d0d0d; }
.capability-ledger article > * { transition: transform .2s ease-out; }
.capability-ledger article:hover > * { transform: translateX(10px); }
.capability-index { width: 28px; height: 28px; display: grid; place-items: center; background: var(--color-surface-elevated); color: var(--color-yellow); font-size: .6rem; transform: rotate(-3deg); }
.capability-ledger h3 { margin: 2px 0 0; font-size: 1.1rem; }
.capability-ledger p { margin: 0; max-width: 66ch; color: var(--color-text-secondary); font-size: .86rem; line-height: 1.6; }
.technical-strip { display: flex; flex-wrap: wrap; margin-top: 30px; border: 1px solid var(--color-border); }
.technical-strip span { flex: 1 1 220px; min-height: 58px; padding: 0 16px; display: flex; align-items: center; color: var(--color-text-secondary); font-size: .68rem; }
.technical-strip span + span { border-left: 1px solid var(--color-border); }
.terminal-showcase { padding: clamp(90px,12vw,160px) max(24px,calc((100vw - var(--landing-max))/2 + 24px)); display: grid; grid-template-columns: .65fr 1fr; gap: clamp(55px,9vw,130px); align-items: center; background: var(--color-orange); color: #080808; }
.terminal-symbol { display: block; margin-bottom: 20px; font-size: 2rem; font-weight: 600; }
.terminal-path { display: inline-block; margin: 0; padding: 6px 8px; background: #080808; color: var(--color-orange); font-size: .67rem; }
.terminal-intro h2 { margin: 14px 0 0; font-size: clamp(2.4rem,5vw,4.8rem); line-height: 1.02; letter-spacing: -.04em; }
.terminal-intro > p:last-child { margin-top: 25px; color: rgb(8 8 8 / .68); font-size: .88rem; font-weight: 600; line-height: 1.7; }
.landing-terminal { border: 2px solid #080808; background: #080808; color: var(--color-text-primary); box-shadow: 12px 12px 0 rgb(8 8 8 / .25); }
.terminal-chrome { min-height: 50px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #2b2b2b; color: var(--color-orange); font-size: .76rem; font-weight: 600; }
.terminal-chrome small { color: var(--color-yellow); font-size: .55rem; }
.terminal-history { min-height: 280px; max-height: 330px; padding: 18px; overflow: auto; }
.terminal-history div + div { margin-top: 18px; padding-top: 15px; border-top: 1px solid #202020; }
.terminal-history strong { display: block; margin-bottom: 7px; color: var(--color-orange); font-size: .73rem; }
.terminal-history p { margin: 3px 0; color: var(--color-text-secondary); font-size: .7rem; line-height: 1.55; white-space: pre-wrap; }
.terminal-presets { display: flex; gap: 6px; padding: 9px 12px; overflow-x: auto; border-top: 1px solid #202020; }
.terminal-presets button { min-height: 44px; padding: 0 10px; border: 1px solid #303030; background: #101010; color: var(--color-text-secondary); font-size: .62rem; }
.terminal-presets button:hover { border-color: var(--color-orange); color: var(--color-orange); }
.terminal-command { display: grid; grid-template-columns: auto 1fr auto; align-items: center; border-top: 1px solid var(--color-orange); }
.terminal-command span { padding-left: 13px; color: var(--color-orange); }
.terminal-command input { width: 100%; min-width: 0; padding: 0 10px; border: 0; background: transparent; color: var(--color-text-primary); }
.terminal-command button { height: 48px; padding: 0 15px; border: 0; border-left: 1px solid var(--color-orange); background: var(--color-orange); color: #080808; font-size: .67rem; font-weight: 600; }
.demo-section { padding: clamp(80px,11vw,150px) max(24px,calc((100vw - var(--landing-max))/2 + 24px)); display: grid; grid-template-columns: minmax(0,.85fr) minmax(400px,.75fr); gap: clamp(50px,9vw,130px); align-items: center; background: var(--color-surface); border-block: 1px solid var(--color-border); }
.demo-copy > p { margin-top: 24px; }
.scenario-control { display: flex; flex-wrap: wrap; margin-top: 34px; }
.scenario-control button { padding: 0 13px; border: 1px solid var(--color-border); background: transparent; color: var(--color-text-secondary); font-size: .72rem; }
.scenario-control button + button { border-left: 0; }
.scenario-control button.active { border-color: var(--color-orange); background: var(--color-orange); color: #080808; }
.expense-control { display: block; margin-top: 32px; color: var(--color-text-secondary); font-size: .77rem; }
.expense-control span { display: flex; justify-content: space-between; gap: 15px; }
.expense-control output { color: var(--color-yellow); font-size: 1.35rem; font-weight: 600; line-height: 1; }
.expense-control input { width: 100%; height: 30px; min-height: 30px; padding: 0; margin-top: 10px; accent-color: var(--color-orange); }
.range-bounds { display: flex; justify-content: space-between; margin-top: 2px; color: #85857e; font-size: .6rem; }
.reset-demo { margin-top: 12px; padding: 0; border: 0; background: transparent; color: var(--color-text-secondary); font-size: .7rem; }
.analytics-playground { width: min(100%,var(--landing-max)); margin: 0 auto; padding: clamp(90px,12vw,160px) 24px; }
.analytics-heading { display: grid; grid-template-columns: 1.15fr .65fr; gap: 60px; align-items: end; margin-bottom: 52px; }
.analytics-heading h2 { margin: 0; font-size: clamp(2.4rem,5vw,4.8rem); line-height: 1.02; letter-spacing: -.04em; }
.analytics-heading > p { margin: 0; color: var(--color-text-secondary); font-size: .88rem; line-height: 1.7; }
.app-chart-showcase { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 18px; align-items: stretch; }
.analytics-chart { min-width: 0; overflow: hidden; padding: 18px 16px 12px; border: 1px solid var(--color-border); background: var(--color-surface); }
.chart-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.chart-heading h3, .chart-heading p { margin: 0; }
.chart-heading h3 { font-size: 1rem; letter-spacing: 0; }
.chart-heading p, .chart-summary { margin-top: 4px; color: var(--color-text-secondary); font-size: .7rem; line-height: 1.45; }
.chart-heading > strong { color: var(--color-yellow); font-size: 1.2rem; }
.chart-select-label { display: grid; gap: 3px; color: var(--color-text-secondary); font-size: .55rem; }
.chart-select-label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.chart-heading select { width: auto; max-width: 190px; min-height: 44px; padding: 6px 8px; border: 1px solid var(--color-border); background: #080808; color: var(--color-text-primary); font: .72rem var(--font-mono); }
.chart-canvas { position: relative; height: 320px; max-width: 100%; min-width: 0; overflow: hidden; }
.compact-chart { height: 250px; }
.chart-canvas svg { display: block; width: 100%; height: 100%; }
.chart-grid-line { stroke: #292929; stroke-width: 1; stroke-dasharray: 2 6; vector-effect: non-scaling-stroke; }
.chart-axis-label { fill: #8c8c84; font: 10px var(--font-mono); }
.chart-series { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.chart-series.dashed { stroke-dasharray: 6 5; }
.chart-point { fill: transparent; stroke: transparent; stroke-width: 12; cursor: crosshair; }
.chart-point:hover, .chart-point:focus { fill: var(--point-color); stroke: rgb(255 255 255 / .18); }
.chart-tooltip { position: absolute; z-index: 2; min-width: 118px; padding: 8px 10px; border: 1px solid var(--color-orange); background: #080808; color: var(--color-text-primary); font-size: .62rem; line-height: 1.55; pointer-events: none; transform: translate(-50%,-110%); }
.chart-tooltip[hidden] { display: none; }
.chart-legend { min-height: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; color: var(--color-text-secondary); font-size: .58rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.chart-legend i { width: 18px; height: 2px; display: inline-block; }
.legend-dashed { height: 0 !important; border-top: 2px dashed var(--legend-color); background: none !important; }
.pace-chart { display: flex; flex-direction: column; }
.pace-chart .chart-canvas { margin-top: auto; }
.local-first { width: min(100%,900px); margin: 0 auto; padding: clamp(100px,14vw,180px) 24px; text-align: center; }
.local-first p { margin: 30px auto; }
.local-first a { display: inline-flex; min-height: 44px; align-items: center; color: var(--color-orange); font-size: .75rem; }
.contact-section { min-height: 100svh; min-height: 100dvh; padding: clamp(54px,8vh,92px) max(24px,calc((100vw - var(--landing-max))/2 + 24px)) 120px; display: grid; grid-template-columns: 1fr .8fr; gap: clamp(50px,9vw,130px); align-items: center; background: var(--color-yellow); color: #080808; }
.contact-section .contact-note { margin-bottom: 26px; color: rgb(8 8 8 / .64); font-size: .72rem; }
.contact-section > div > p:last-child { margin-top: 28px; color: rgb(8 8 8 / .7); }
.calaix-contact-form { display: grid; gap: 16px; }
.calaix-contact-form label { display: grid; gap: 8px; color: rgb(8 8 8 / .76); font-size: .75rem; font-weight: 600; }
.calaix-contact-form input, .calaix-contact-form textarea { width: 100%; padding: 13px 12px; border: 1px solid rgb(8 8 8 / .4); background: transparent; color: #080808; resize: vertical; }
.calaix-contact-form input::placeholder, .calaix-contact-form textarea::placeholder { color: rgb(8 8 8 / .64); }
.calaix-contact-form .landing-primary { width: 100%; background: #080808; border-color: #080808; color: var(--color-text-primary); }
.form-help { margin: -4px 0 0; color: rgb(8 8 8 / .67); font-size: .65rem; line-height: 1.5; }
.calaix-page .landing-footer { position: relative; z-index: 1; width: min(100%,var(--landing-max)); min-height: 190px; margin: 0 auto; padding: 30px 24px 95px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 24px; border: 0; background: #080808; backdrop-filter: none; }
.landing-logo { display: inline-flex; align-items: baseline; gap: 10px; color: var(--color-orange); font-size: 1.15rem; font-weight: 600; }
.landing-logo small { color: var(--color-text-secondary); font-size: .63rem; font-weight: 500; }
.landing-footer p { margin: 0; color: var(--color-text-secondary); font-size: .75rem; }
.landing-footer > a { display: inline-flex; min-height: 44px; align-items: center; color: var(--color-orange); font-size: .7rem; }

@media (pointer: coarse) {
  .expense-control input { height: 44px; min-height: 44px; }
}
@media (hover: none) {
  .capability-ledger article:hover > * { transform: none; }
}

@media (max-width: 850px) {
  .landing-hero, .demo-section, .contact-section { grid-template-columns: 1fr; }
  .landing-hero { padding-top: 70px; }
  .product-stage { width: min(100%,520px); margin: 20px auto 0; padding-left: 0; }
  .stage-note { left: 50%; }
  .section-lead, .analytics-heading, .terminal-showcase { grid-template-columns: 1fr; gap: 22px; }
  .app-chart-showcase { grid-template-columns: 1fr; }
  .capability-ledger article { grid-template-columns: 40px 1fr; }
  .capability-ledger article p { grid-column: 2; }
  .terminal-presets button { min-height: 44px; }
  .terminal-command input { min-height: 44px; }
  .expense-control input { height: 44px; min-height: 44px; }
  .local-first a, .landing-footer > a { min-height: 44px; align-items: center; }
  .calaix-contact-form input { min-height: 44px; }
}
@media (min-width: 851px) and (max-height: 800px) {
  .landing-hero { padding-top: 112px; padding-bottom: 92px; gap: clamp(32px,5vw,70px); }
  .landing-hero .hero-copy h1 { margin-block: 18px 20px; font-size: clamp(3rem,5.6vw,4.9rem); }
  .landing-hero .hero-intro { font-size: .9rem; line-height: 1.6; }
  .landing-hero .hero-actions { margin-top: 23px; }
  .landing-hero .privacy-line { margin-top: 14px; }
  .product-stage { padding-top: 0; }
  .compact-demo .demo-app-header { min-height: 43px; }
  .compact-demo .demo-month { min-height: 44px; }
  .compact-demo .demo-available { padding: 14px 16px; }
  .compact-demo .demo-available small { margin-top: 13px; }
  .compact-demo .demo-money { font-size: 2.15rem; }
  .compact-demo .demo-metrics span { padding-block: 9px; }
  .compact-demo .demo-chart { height: 66px; padding-block: 12px; }
  .compact-demo .demo-goal { padding-block: 11px 13px; }
  .contact-section { padding-top: 34px; padding-bottom: 102px; }
}
@media (max-width: 600px) {
  .landing-hero { width: calc(100% - 36px); padding-inline: 0; }
  .calaix-page .capabilities, .analytics-playground { padding-inline: 18px; }
  .landing-hero { padding-top: 116px; padding-bottom: 88px; gap: 48px; }
  .landing-hero .hero-copy h1 { margin-block: 22px 24px; font-size: clamp(2.8rem,13.2vw,3.55rem); line-height: 1.03; }
  .landing-hero .hero-intro { font-size: .94rem; line-height: 1.65; }
  .landing-hero .hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 28px; }
  .landing-primary,.landing-secondary { width: 100%; min-height: 50px; font-size: .86rem; }
  .privacy-line { align-items: flex-start; font-size: .75rem; }
  .product-stage { margin-top: 4px; }
  .stage-note { top: -38px; font-size: .9rem; }
  .compact-demo { box-shadow: 9px 9px 0 #151515; }
  .capability-ledger article { grid-template-columns: 34px 1fr; gap: 14px; }
  .capability-ledger article h3, .capability-ledger article p { grid-column: 2; }
  .capability-ledger article { padding-block: 26px; }
  .capability-ledger h3 { font-size: 1.05rem; line-height: 1.35; }
  .capability-ledger p { font-size: .82rem; }
  .technical-strip { display: block; }
  .technical-strip span + span { border-left: 0; border-top: 1px solid var(--color-border); }
  .landing-manifesto,.calaix-page .capabilities,.terminal-showcase,.demo-section,.analytics-playground,.local-first,.contact-section { padding-block: 82px; }
  .section-lead { margin-bottom: 44px; }
  .section-lead h2,.demo-copy h2,.local-first h2,.contact-section h2,.terminal-intro h2,.analytics-heading h2 { font-size: clamp(2.15rem,10vw,3rem); line-height: 1.07; }
  .section-lead p,.demo-copy > p,.local-first p,.contact-section > div > p,.terminal-intro > p:last-child,.analytics-heading > p { font-size: .88rem; }
  .demo-section, .terminal-showcase, .contact-section { padding-inline: 18px; }
  .landing-terminal { min-width: 0; }
  .terminal-history { min-height: 240px; padding: 15px; }
  .scenario-control { display: grid; grid-template-columns: 1fr; }
  .scenario-control button + button { border-left: 1px solid var(--color-border); border-top: 0; }
  .chart-heading { align-items: stretch; flex-direction: column; }
  .chart-heading select { width: 100%; max-width: none; font-size: 16px; }
  .chart-canvas { height: 250px; }
  .compact-chart { height: 210px; }
  .landing-terminal { box-shadow: 6px 6px 0 rgb(8 8 8 / .25); }
  .contact-section { min-height: auto; gap: 42px; padding-bottom: max(104px,calc(env(safe-area-inset-bottom) + 90px)); }
  .calaix-contact-form input,.calaix-contact-form textarea { min-height: 48px; font-size: 16px; }
  .calaix-page .landing-footer { grid-template-columns: 1fr auto; min-height: 0; padding: 28px 18px max(94px,calc(env(safe-area-inset-bottom) + 82px)); }
  .landing-footer p { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 360px) {
  .local-first h2 { font-size: 2rem; overflow-wrap: anywhere; }
}
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .landing-hero { width: auto; min-height: auto; margin-left: max(24px,env(safe-area-inset-left)); margin-right: max(24px,env(safe-area-inset-right)); padding-top: 104px; }
  .calaix-page .capabilities,.analytics-playground,.local-first,.calaix-page .landing-footer { padding-left: max(24px,env(safe-area-inset-left)); padding-right: max(24px,env(safe-area-inset-right)); }
  .terminal-showcase,.demo-section,.contact-section { padding-left: max(24px,env(safe-area-inset-left)); padding-right: max(24px,env(safe-area-inset-right)); }
  .landing-hero .hero-copy h1 { margin-block: 22px 20px; font-size: clamp(3rem,9vw,3.35rem); }
  .landing-hero .hero-intro { font-size: .82rem; line-height: 1.6; }
  .landing-hero .hero-actions { margin-top: 22px; }
}
@media (min-width: 1800px) {
  .calaix-page { --landing-max: 1540px; }
  .landing-hero { grid-template-columns: minmax(0,1.1fr) minmax(430px,.72fr); gap: clamp(80px,7vw,140px); }
  .product-stage { width: min(100%,600px); justify-self: end; }
  .section-lead,.analytics-heading { grid-template-columns: 1.25fr .75fr; }
  .terminal-showcase,.demo-section,.contact-section { gap: clamp(80px,8vw,150px); }
}
@media (prefers-reduced-motion: reduce) {
  .signal-tape-track, .stage-note, .landing-scroll-progress { animation: none; }
}
