/* Sign In Kiosk Pro — brand stylesheet. Warm, contemporary, not corporate. */
:root{
  --teal:#14b8a6; --teal-deep:#0d9488; --coral:#ff7a59; --amber:#ffb545;
  --ink:#16283b; --muted:#5b6b7c; --paper:#fffdf9; --card:#fff; --wash:#f0faf8;
  --radius:22px; --shadow:0 10px 40px rgba(22,40,59,.10);
  --tint:var(--wash); /* audience pages override per page */
}
*{box-sizing:border-box;margin:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);
     background:var(--paper);line-height:1.6;font-size:17px}
img,svg{max-width:100%;display:block}
a{color:var(--teal-deep)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* nav */
nav{position:sticky;top:0;background:rgba(255,253,249,.92);backdrop-filter:blur(8px);z-index:10;
    border-bottom:1px solid rgba(22,40,59,.06)}
nav .wrap{display:flex;align-items:center;gap:28px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--ink);text-decoration:none}
.logo svg{width:28px;height:28px}
nav ul{display:flex;gap:22px;list-style:none;margin-left:auto;align-items:center}
nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}
nav a:hover{color:var(--teal-deep)}
nav a.cta{background:var(--teal);color:#fff;padding:9px 18px;border-radius:999px;font-weight:700}
@media(max-width:760px){nav ul{gap:14px}nav ul li.hide-sm{display:none}}

/* buttons + badges */
.btn{display:inline-block;background:linear-gradient(90deg,var(--teal-deep),var(--teal));color:#fff;
     font-weight:700;padding:14px 28px;border-radius:999px;text-decoration:none;border:0;font-size:17px;cursor:pointer}
.btn.ghost{background:none;color:var(--teal-deep);box-shadow:inset 0 0 0 2px var(--teal)}
.pill{display:inline-block;background:var(--amber);color:var(--ink);font-weight:700;font-size:13px;
      padding:5px 14px;border-radius:999px;letter-spacing:.02em}
/* Official-style "Download on the App Store" badge (inline SVG, self-contained) */
.appstore-badge{display:inline-block;line-height:0;transition:opacity .15s ease}
.appstore-badge:hover{opacity:.82}
.appstore-badge svg{display:block;height:52px;width:auto}

/* hero */
.hero{padding:72px 0 56px;background:
      radial-gradient(600px 380px at 85% 0%,var(--tint),transparent),
      radial-gradient(500px 320px at 0% 100%,var(--wash),transparent)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.12;font-weight:800;letter-spacing:-.02em}
.hero p.lede{font-size:20px;color:var(--muted);margin:18px 0 28px}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero{padding:48px 0}}

/* iPad device frame (CSS-drawn) */
.device{background:#111826;border-radius:34px;padding:16px;box-shadow:var(--shadow);max-width:460px;margin:0 auto}
.device img{border-radius:20px}

/* Hero: crossfades dark/light iPad and iPhone shots. The bezels are baked into
   the images, so the stage just stacks them and fades. Its aspect-ratio matches
   the iPad shot and reserves the height, so nothing shifts as the shapes change. */
/* width:100% is load-bearing — every .shot is absolutely positioned, so without
   it the auto margins would shrink this to zero-width. */
.hero-switch{position:relative;width:100%;max-width:460px;margin:0 auto;aspect-ratio:1000/1319}
.hero-switch .shot{position:absolute;inset:0;margin:auto;width:auto;height:100%;
  opacity:0;transition:opacity .8s ease-in-out;
  filter:drop-shadow(0 18px 40px rgba(22,40,59,.28))}
.hero-switch .shot.phone{height:80%}
.hero-switch .shot.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){
  .hero-switch .shot{transition:none}
}

/* sections + cards */
section{padding:56px 0}
section.alt{background:var(--wash)}
h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;letter-spacing:-.01em;margin-bottom:10px}
.sub{color:var(--muted);font-size:18px;max-width:640px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.card{background:var(--card);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card h3{font-size:19px;margin:14px 0 6px}
.card p{color:var(--muted);font-size:15.5px}
.card .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--tint)}
@media(max-width:860px){.cards{grid-template-columns:1fr}}

/* audience strip */
.aud{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.aud a{background:var(--card);border-radius:var(--radius);padding:22px;text-decoration:none;color:var(--ink);
       box-shadow:var(--shadow);text-align:center;font-weight:700;transition:transform .15s}
.aud a:hover{transform:translateY(-3px)}
.aud svg{width:64px;height:64px;margin:0 auto 10px}
@media(max-width:860px){.aud{grid-template-columns:repeat(2,1fr)}}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:24px;justify-content:center;margin-top:34px}
.plan{background:var(--card);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);text-align:center}
.plan.hot{outline:3px solid var(--teal)}
.plan .price{font-size:44px;font-weight:800;margin:8px 0 2px}
.plan .per{color:var(--muted)}
.plan ul{list-style:none;margin:20px 0;color:var(--muted);font-size:15.5px}
.plan li{padding:5px 0}
@media(max-width:760px){.plans{grid-template-columns:1fr}}

/* banner + footer */
.banner{background:linear-gradient(90deg,var(--teal-deep),var(--teal));color:#fff;border-radius:var(--radius);
        padding:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.banner h2{color:#fff;margin:0}
.banner .btn{background:#fff;color:var(--teal-deep)}
footer{padding:44px 0 60px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px 34px;align-items:center}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--teal-deep)}

/* prose (support/terms/privacy) */
.prose{max-width:760px;margin:0 auto;padding:56px 24px}
.prose h1{font-size:36px;font-weight:800;margin-bottom:6px}
.prose h2{font-size:22px;margin:34px 0 8px}
.prose p,.prose li{color:#33475c;font-size:16px}
.prose ul{padding-left:22px;margin:10px 0}
.prose .updated{color:var(--muted);font-size:14px;margin-bottom:26px}
