/* Public pages: front page, pricing, FAQ, privacy, terms. Colours come from theme.css. */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent)} a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--panel);padding:8px 12px;border-radius:8px;z-index:5}
.skip:focus{left:8px}
.shell{max-width:1120px;margin:0 auto;padding:0 24px}
/* header */
.site-top{display:flex;align-items:center;gap:22px;padding:20px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--text);text-decoration:none;white-space:nowrap}
.logo{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--acc-ink);display:grid;place-items:center;flex:none}
.site-nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.site-nav a{color:var(--muted);text-decoration:none;font-size:15px;white-space:nowrap}
.site-nav a:hover{color:var(--text)}
.site-nav a[aria-current=page]{color:var(--text);font-weight:600}
.site-nav .signin{color:var(--text);border:1px solid var(--line);padding:6px 14px;border-radius:8px;background:var(--panel)}
/* buttons and the invite form */
.btn-main{display:inline-block;background:var(--accent);color:var(--acc-ink);border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:650;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-main:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text))}
.btn-main:disabled{opacity:.6;cursor:default}
.invite{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;max-width:520px}
.invite input[type=email]{flex:1 1 240px;min-width:0;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit}
.invite textarea{flex-basis:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit;font-size:15px;resize:vertical;min-height:44px}
.invite .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.invite-note{color:var(--muted);font-size:14px;margin:10px 0 0}
.invite-msg{font-size:15px;margin:10px 0 0;min-height:1.4em}
.invite-msg.err{color:var(--red)}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding:56px 0 72px}
.hero h1{font-size:clamp(34px,5.2vw,58px);line-height:1.04;letter-spacing:-.035em;margin:0;font-weight:750;max-width:13ch}
.hero .sub{font-size:19px;color:var(--muted);margin:22px 0 0;max-width:46ch}
/* the example notifications */
.phone{justify-self:end;width:min(410px,100%);padding:22px 16px 26px;border-radius:30px;background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 22%,var(--panel)) 0%,var(--panel) 62%);border:1px solid var(--line);position:relative}
.phone-time{text-align:center;font-weight:650;font-size:44px;letter-spacing:-.02em;line-height:1;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.phone-date{text-align:center;color:var(--muted);font-size:14px;margin-bottom:18px}
.note{display:grid;grid-template-columns:34px 1fr;gap:4px 10px;padding:12px 14px;border-radius:18px;background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);backdrop-filter:blur(6px);margin-top:9px}
.note .ic{grid-row:1/3;width:34px;height:34px;border-radius:9px;background:var(--accent);color:var(--acc-ink);display:grid;place-items:center}
.note .hd{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--muted)}
.note .tt{font-weight:650;font-size:15px;line-height:1.3}
.note .bd{grid-column:2;font-size:14px;color:var(--muted);line-height:1.4}
.phone-cap{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font-size:13px;color:var(--muted)}
@media (prefers-reduced-motion: no-preference){
  .note{animation:arrive .5s cubic-bezier(.2,.8,.2,1) both}
  .note:nth-of-type(2){animation-delay:.9s} .note:nth-of-type(3){animation-delay:1.8s}
}
@keyframes arrive{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
/* sections */
.band{border-top:1px solid var(--line);padding:64px 0}
.band h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.025em;line-height:1.15;margin:0 0 10px;max-width:24ch}
.band .lead{color:var(--muted);font-size:18px;margin:0 0 34px;max-width:60ch}
.how{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.how li{counter-increment:step}
.how li::before{content:counter(step);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-weight:700;margin-bottom:14px}
.how h3,.gets h3{font-size:18px;margin:0 0 6px;letter-spacing:-.01em}
.how p,.gets p{margin:0;color:var(--muted)}
.gets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px}
.gets div{padding-left:16px;border-left:2px solid var(--accent)}
.sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.sources li{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.sources b{display:block;font-size:17px;margin-bottom:4px}
.sources span{color:var(--muted);font-size:15px}
.know{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.know h3{font-size:16px;margin:0 0 4px} .know p{margin:0;color:var(--muted);font-size:15px}
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
/* plain pages: pricing, FAQ, privacy, terms */
.doc{max-width:720px;padding:40px 0 72px}
.doc h1{font-size:clamp(32px,4.2vw,44px);letter-spacing:-.03em;line-height:1.1;margin:0 0 12px}
.doc .lead{font-size:19px;color:var(--muted);margin:0 0 30px}
.doc h2{font-size:21px;letter-spacing:-.015em;margin:38px 0 8px}
.doc h3{font-size:17px;margin:24px 0 6px}
.doc p,.doc li{max-width:68ch}
.doc ul{padding-left:22px} .doc li{margin:5px 0}
.doc .updated{color:var(--muted);font-size:14px}
.doc table{width:100%;border-collapse:collapse;margin:10px 0;font-size:15px}
.doc th,.doc td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line)}
.doc th{color:var(--muted);font-weight:600;font-size:14px}
.plan{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:26px 28px;margin:6px 0 10px}
.plan .price{font-size:44px;font-weight:750;letter-spacing:-.03em;line-height:1}
.plan .per{color:var(--muted);font-size:16px;margin:6px 0 18px}
.plan ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.plan li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:2px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;padding:15px 0;font-weight:600;font-size:17px}
.faq details[open] summary{color:var(--accent)}
.faq details p{margin:0 0 16px;color:var(--text)}
/* footer */
.site-foot{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:14px}
.site-foot .row{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center}
.site-foot a{color:var(--muted)} .site-foot a:hover{color:var(--text)}
.site-foot p{margin:14px 0 0;max-width:80ch}
@media (max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);gap:56px;padding:28px 0 64px}
  .phone{justify-self:start}
  .how,.sources,.know{grid-template-columns:minmax(0,1fr)}
  .gets{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .shell{padding:0 16px}
  .site-top{gap:12px}
  .site-nav{gap:12px} .site-nav .hide-sm{display:none} .site-nav a{font-size:14px}
  .site-nav .signin{padding:5px 10px}
  .brand{font-size:17px}
  .band{padding:48px 0}
  .hero .sub{font-size:17px}
}
