/* The landing page: the console's palette and face (lcars-ui/index.html's
   :root), laid out for a phone first (iPhone Safari, 393px) and widened at
   720px and 1080px. No framework, no web font but Antonio (OFL, fonts/). */
@font-face{font-family:'Antonio';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/fonts/antonio-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Antonio';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/fonts/antonio-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#000; --panel:#0d0d10; --panel2:#15151b; --line:#2a2a34;
  --orange:#f90; --amber:#fc6; --purple:#c9c; --blue:#9cf; --red:#c66; --green:#9c6;
  --salmon:#f96; --sky:#79f; --gold:#fc3;
  --txt:#e8e6e3; --dim:#9895a3;
  --sans:"Helvetica Neue",Arial,system-ui,sans-serif;
  --disp:"Antonio","Oswald","Helvetica Neue Condensed","Arial Narrow",var(--sans);
  --pad:18px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.55 var(--sans);
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
a{color:var(--blue)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,.badge,.btn,.go,.demo-link,.state,.tag,.f>span{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-weight:500}
main{max-width:1080px;margin:0 auto}
section{padding:28px var(--pad)}

/* the header bar: an elbow, the badge, pills */
.bar{display:flex;align-items:stretch;gap:6px;height:44px;padding:8px var(--pad) 0;max-width:1080px;margin:0 auto}
.elbow{width:56px;background:var(--orange);border-radius:22px 0 0 0;position:relative}
.elbow::after{content:"";position:absolute;right:0;bottom:0;width:22px;height:14px;background:var(--bg);border-top-left-radius:12px}
.badge{display:flex;align-items:center;padding:0 10px;color:var(--orange);font-size:24px;line-height:1}
.pill{flex:1;border-radius:0;background:var(--purple);height:22px;align-self:flex-start}
.pill.p1{background:var(--amber);flex:2}
.pill.p2{background:var(--purple);flex:1}
.pill.link{flex:0 0 auto;display:flex;align-items:center;padding:0 14px;border-radius:0 11px 11px 0;background:var(--salmon);color:#000;text-decoration:none;font-family:var(--disp);text-transform:uppercase;font-size:14px;letter-spacing:.06em}
.pill.link:active{filter:brightness(1.3)}

/* above the fold: the line, the lede, the form */
.hero{padding-top:18px}
h1{font-size:40px;line-height:1.02;margin:6px 0 12px;color:var(--orange)}
.lede{margin:0 0 18px;color:var(--txt)}
.lede b{color:var(--amber);font-weight:600}

.signup{display:grid;gap:12px;background:var(--panel);border-left:10px solid var(--orange);border-radius:0 18px 18px 0;padding:16px}
.f{display:grid;gap:4px}
.f>span{font-size:14px;color:var(--amber)}
.f i{font-style:normal;color:var(--dim);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13px}
/* 16px or more: iOS zooms into a smaller field on focus */
input[type=email],input[type=text]{width:100%;font:16px var(--sans);color:var(--txt);background:#000;border:1px solid var(--line);border-radius:10px;padding:12px;outline:none;-webkit-appearance:none;appearance:none}
input[type=email]:focus,input[type=text]:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,153,0,.25)}
.signup.bad-email input[type=email]{border-color:var(--red)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--dim);cursor:pointer}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--orange);flex:0 0 auto}
.signup.bad-consent .consent{color:var(--red)}
.go{min-height:50px;border:0;border-radius:25px;background:var(--orange);color:#000;font-size:20px;cursor:pointer;touch-action:manipulation;transition:filter .1s,transform .06s}
.go:active{transform:scale(.98);filter:brightness(1.2)}
.go[disabled]{cursor:progress}
.signup.sending .go{background:var(--amber);animation:pulse 1s ease-in-out infinite}
.signup.done .go{background:var(--green)}
@keyframes pulse{50%{filter:brightness(.75)}}
@media (prefers-reduced-motion:reduce){.signup.sending .go{animation:none}html{scroll-behavior:auto}}
.status{margin:0;min-height:1.4em;font-size:15px;color:var(--dim)}
.status.ok{color:var(--green)}
.status.err{color:var(--salmon)}

.demo-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:16px;padding:14px 18px;background:var(--purple);color:#000;border-radius:24px;text-decoration:none;font-size:22px}
.demo-link span{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:14px}
.demo-link:active{filter:brightness(1.2)}

h2{font-size:26px;margin:0 0 14px;color:var(--amber);display:flex;align-items:center;gap:10px}
.tag{display:inline-block;background:var(--blue);color:#000;font-size:14px;padding:2px 10px;border-radius:10px 0 0 10px}

.player{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--panel)}
.player img{display:block;width:100%;height:auto}
.player video{display:block;width:100%;height:auto;background:#000}
.player figcaption{padding:10px 14px;font-size:16px;color:var(--dim)}
/* the whole figure is the tap (the poster has its own lines burned in, so
   ours sits under it): a big play mark in the middle of the picture */
.play{position:absolute;inset:0;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.play-i{position:absolute;left:50%;top:calc(50% - 22px);display:grid;place-items:center;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--orange);color:#000;font-size:28px;padding-left:5px;box-shadow:0 2px 18px rgba(0,0,0,.6);transition:transform .08s}
.play:hover .play-i,.play:focus-visible .play-i{background:var(--amber)}
.play:active .play-i{transform:scale(.88)}

.row{display:grid;gap:14px;margin:0 0 30px}
.row h3{font-size:22px;margin:0 0 6px;color:var(--orange)}
.row p{margin:0;color:var(--txt)}
.shots{display:flex;gap:10px}
.shots img{border-radius:12px;border:1px solid var(--line)}
.shots.phone img{width:calc(50% - 5px)}
.shots.wide img{width:100%}
.shots video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;border:1px solid var(--line);background:#000}

.cards{display:grid;gap:14px}
.card{background:var(--panel);border-radius:18px;padding:18px;border-top:8px solid var(--orange)}
.card.hosted{border-top-color:var(--purple)}
.card h3{margin:0;font-size:26px;color:var(--orange)}
.card.hosted h3{color:var(--purple)}
.card .state{margin:2px 0 8px;color:var(--amber);font-size:16px}
.card p{margin:0 0 14px}
.btn{display:inline-block;padding:10px 18px;border-radius:20px;background:var(--orange);color:#000;text-decoration:none;font-size:17px}
.card.hosted .btn{background:var(--purple)}
.btn:active{filter:brightness(1.2)}

.privacy{color:var(--dim);font-size:14px}
.privacy h2{font-size:20px}
.privacy p{margin:0}
footer{max-width:1080px;margin:0 auto;padding:10px var(--pad) 40px;color:var(--dim);font-size:13px}
footer .pill{display:block;height:10px;background:var(--orange);border-radius:5px;margin-bottom:12px}
footer p{margin:4px 0}

/* a tablet or wider: the rows side by side */
@media (min-width:720px){
  :root{--pad:32px}
  h1{font-size:60px;max-width:14ch}
  .hero{display:grid;grid-template-columns:1fr 1fr;gap:10px 36px;align-items:start}
  .hero h1,.hero .lede{grid-column:1}
  .hero .signup{grid-column:2;grid-row:1 / span 3}
  .hero .demo-link{grid-column:1;align-self:start}
  .row{grid-template-columns:1.2fr 1fr;align-items:center;gap:28px}
  .row:nth-child(odd) .shots{order:2}
  .shots.phone{max-width:460px}
  .player{max-width:860px}
  .cards{grid-template-columns:1fr 1fr}
  .again .signup{max-width:560px}
}
@media (min-width:1080px){
  h1{font-size:72px}
}
