/* OpalSketch public pages (index.html and the pages it links to): tokens, header, buttons, sections, cards, questions and
   footer. Loaded before a page's own styles and before landing-glass.css, which restyles the surfaces. */
/* the landing page is always white, whatever the device dark setting */
:root{--ink:#1f2429;--mut:#5b6962;--bg:#f6f7f6;--surface:#fff;--line:#e6e3e5;--green:#c93b6a;--green2:#b8305c;--forest:#8a1f49;--mist:#fff0f4;--mint:#ffb3c9;--r:18px;color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Geist,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}
.w{max-width:1140px;margin:0 auto;padding-inline:20px}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .w{display:flex;align-items:center;gap:20px;height:64px}
.nav .logo img{height:36px;width:auto}
.nav .logo .d{display:none}

.links{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:14.5px;font-weight:500}
.links a,.nav .quick{color:var(--mut);text-decoration:none;white-space:nowrap}.links a:hover,.nav .quick:hover,.links a[aria-current="page"]{color:var(--ink)}
.links a[aria-current="page"]{text-decoration:underline 2px var(--mint);text-underline-offset:7px}
.links .acct{display:flex;align-items:center;gap:18px;padding-left:20px;border-left:1px solid var(--line)}
.links .mo,.nav .quick,.nav .menu{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;background:var(--green);color:#fff;font-weight:600;font-size:15px;line-height:1;text-decoration:none;border:1px solid var(--green);transition:transform .1s,background .15s}
.btn:hover{background:var(--green2)}.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--mist)}
.nav .btn{min-height:40px;padding:0 18px;font-size:14px;white-space:nowrap}
.nav .quick{font-size:14.5px;font-weight:500}
.nav .menu{flex:none;align-items:center;justify-content:center;width:42px;height:40px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer}
.nav .menu svg{width:20px;height:20px}.nav .menu .x,.nav.open .menu .o{display:none}.nav.open .menu .x{display:block}
/* the invite-only beta bar at the top of the header (landing.js, while VeyraPlans.BETA is on): charcoal, the pink badge, the request link */
.beta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;padding:7px 16px;background:#2b3137;color:#fff;font-size:13.5px;line-height:1.35;text-align:center}
.beta b{padding:2px 8px;border-radius:999px;background:#f7769c;color:#2b3137;font-size:11.5px;letter-spacing:.08em}
.beta a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}.beta a:hover{color:#ffd0dd}
.beta .bm{color:#c9cdd1}
@media(max-width:560px){.beta{font-size:13px}.beta .bm{display:none}}
/* narrow screens: the links fold into a menu under the bar; Pricing, and Sign in where it fits, stay on the bar */
@media(max-width:1100px){
  .nav .w{gap:14px}.nav .quick{display:inline}.nav .q-price{margin-left:auto}.nav .menu{display:inline-flex}
  .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:4px 20px 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 50px -30px rgba(31,36,41,.4);font-size:16px;max-height:calc(100vh - 65px);overflow-y:auto}
  .nav.open .links{display:flex}
  .nav.has-beta .links{max-height:calc(100vh - 100px)}
  .links>a{padding:13px 2px;border-bottom:1px solid var(--line);color:var(--ink)}
  .links .mo{display:block}
  .links a[aria-current="page"]{color:var(--green);text-decoration:none}
  .links .acct{gap:10px;padding:16px 0 0;border:0}
  .links .acct a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-weight:600}
}
@media(min-width:561px) and (max-width:1100px){.links{left:auto;right:20px;top:calc(100% + 8px);width:340px;padding:6px 18px 18px;border:1px solid var(--line);border-radius:18px}}
@media(max-width:760px){.nav .btn{padding:0 14px;font-size:13px}}
@media(max-width:560px){.nav .w{gap:8px}.nav .q-sign{display:none}.nav .menu{width:40px}.nav .btn{padding:0 12px}}
@media(max-width:380px){.nav .q-price{display:none}.nav .menu{margin-left:auto}}
/* hero */
.hero{padding:56px 0 24px;text-align:center}
.kick{display:inline-block;max-width:100%;padding:7px 14px;line-height:1.35;border-radius:18px;background:var(--mist);color:var(--green);font-weight:600;font-size:13px;line-height:1;letter-spacing:.02em}
h1{font-size:clamp(38px,7vw,72px);line-height:1.04;letter-spacing:-.04em;margin:18px auto 0;max-width:16ch;text-wrap:balance}
h1 span,h1 em{display:inline-block}h1 em{font-style:normal;color:var(--green)}
.sub{font-size:clamp(17px,2.2vw,20px);color:var(--mut);max-width:60ch;margin:18px auto 0}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.shot{margin-top:44px;border-radius:20px;border:1px solid var(--line);background:var(--surface);box-shadow:0 40px 80px -40px rgba(10,40,28,.45);overflow:hidden}
.shot img{width:100%}
.bar{display:flex;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
.bar i{width:11px;height:11px;border-radius:50%;background:var(--line)}
/* sections */
section{padding:84px 0 0}
h2{font-size:clamp(28px,4.4vw,44px);line-height:1.1;letter-spacing:-.035em;margin:0 0 12px;text-wrap:balance}
.lead{color:var(--mut);max-width:62ch;margin:0;font-size:18px}
.steps{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:34px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.step b{display:block;font-size:22px;letter-spacing:-.02em;margin-bottom:6px}
.step p{margin:0;color:var(--mut)}
.feat{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin-top:34px}
.f{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.f svg{width:28px;height:28px;color:var(--green);margin-bottom:12px}
.f h3{margin:0 0 6px;font-size:18px;letter-spacing:-.015em}.f p{margin:0;color:var(--mut);font-size:15.5px}
.split{display:grid;gap:36px;align-items:center;grid-template-columns:1fr}
@media(min-width:900px){.split{grid-template-columns:1fr 1.15fr}.split.rev{grid-template-columns:1.15fr 1fr}.split.rev>:first-child{order:2}}
.split>*{min-width:0}.split ul{padding-left:20px;color:var(--mut);margin:18px 0 0}.split li{margin:6px 0}
.deep{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));margin-top:34px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.deep div{padding:22px 24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-width:0}
.deep b{display:block;font-size:16.5px;letter-spacing:-.01em;margin-bottom:4px}.deep p{margin:0;color:var(--mut);font-size:15px}
.fl-h{margin:48px 0 0;font-size:22px;letter-spacing:-.02em}
.fl{display:grid;gap:22px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin-top:18px}
.fl div{min-width:0}.fl b{display:block;font-size:15px;letter-spacing:.01em;margin-bottom:8px;color:var(--ink)}
.fl ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.fl li{position:relative;padding-left:22px;color:var(--mut);font-size:14.5px;line-height:1.45}
.fl li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:7px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
.fl-more{margin:26px 0 0;font-weight:600}
.deep .n{display:block;font-size:30px;font-weight:700;letter-spacing:-.04em;color:var(--green);line-height:1.1;margin-bottom:4px;font-variant-numeric:tabular-nums}
.chk{list-style:none;padding:0!important}.chk li{position:relative;padding-left:28px}.chk li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23c93b6a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.snip{margin-top:22px;background:#1f2429;color:#e9ecef;border-radius:14px;padding:16px 18px;font:13.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto;white-space:pre}
.snip b{color:#ffb3c9;font-weight:500}
.mini{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
.pill2{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink)}
/* audience + faq + footer */
.aud{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:30px}
.aud div{border-top:2px solid var(--green);padding-top:14px}.aud b{display:block;font-size:18px}.aud p{margin:4px 0 0;color:var(--mut);font-size:15.5px}
details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-top:12px}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";color:var(--green);font-size:22px;line-height:1}details[open] summary::after{content:"\2212"}
details p{margin:10px 0 0;color:var(--mut)}
.final{margin-top:84px;background:var(--forest);color:#fff;border-radius:28px;padding:clamp(32px,6vw,64px);text-align:center}
.final h2{color:#fff;margin-inline:auto;max-width:18ch}.final p{color:#ffd6e1;margin:0 auto;max-width:52ch}
.final .btn{background:#fff;color:var(--forest);border-color:#fff}.final .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
footer{padding:48px 0 64px;color:var(--mut);font-size:14px}
footer .w{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
footer a{color:var(--mut)}
footer .sp{flex:1}
footer .fnav{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px 22px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--line)}
footer .fnav a{color:var(--ink);font-weight:500;text-decoration:none}footer .fnav a:hover{color:var(--green)}
section{scroll-margin-top:72px}
.soon{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--mist);color:var(--green2);font-weight:600;font-size:11px;line-height:1.4;vertical-align:middle}
.fine{color:var(--mut);font-size:14px;margin:14px 0 0}
@media(max-width:600px){section{padding-top:64px}.hero{padding-top:36px}.shot{border-radius:14px;margin-top:32px}.cta .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
button,input,select,textarea{font-family:inherit}
/* the pages behind the landing page: features, how it works, client portal, your data */
.hero.page h1{font-size:clamp(34px,5.6vw,58px);max-width:20ch}
.toc{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.toc a{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.75);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none}
.toc a:hover{border-color:var(--mint);color:var(--green)}
.pl{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--mut);font-weight:600;font-size:11px;line-height:1.4;letter-spacing:0;vertical-align:middle;white-space:nowrap}
.pl:empty{display:none}
.f h3 .soon,.f h3 .pl{position:relative;top:-1px}
.f h3:has(>.pl,>.soon){display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.f h3:has(>.pl,>.soon)>span{margin:0;top:0}
.feat.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.feat.four{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.note{margin-top:26px;padding:16px 20px;border-radius:16px;background:var(--mist);border:1px solid rgba(247,118,156,.25);color:var(--ink);font-size:15.5px}
.note p{margin:0}.note p+p{margin-top:6px}
.band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;margin-top:34px;padding:26px 28px;border-radius:var(--r);background:rgba(255,255,255,.75);border:1px solid var(--line)}
.band h3{margin:0 0 4px;font-size:21px;letter-spacing:-.02em}.band p{margin:0;color:var(--mut);max-width:60ch}
.band .cta{margin:0}
.more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:600;text-decoration:none}.more::after{content:"\2192"}.more:hover{text-decoration:underline}
.pair{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:34px}
.pair .shot{margin:0}
.cap{margin:10px 2px 0;color:var(--mut);font-size:14px}
.guide{list-style:none;counter-reset:g;padding:0;margin:30px 0 0;display:grid;gap:14px}
.guide>li{counter-increment:g;position:relative;padding:24px 24px 22px 80px}
.guide>li::before{content:counter(g);position:absolute;left:24px;top:22px;width:38px;height:38px;border-radius:50%;background:var(--mist);color:var(--green);font-weight:700;font-size:17px;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.guide h3{margin:0 0 6px;font-size:19px;letter-spacing:-.015em}
.guide p{margin:0;color:var(--mut)}.guide p+p{margin-top:8px}
.where{display:block;margin-top:10px;font-size:14px;color:var(--ink)}
@media(min-width:900px){.stick{position:sticky;top:96px}}
@media(max-width:600px){.guide>li{padding:70px 20px 20px}.guide>li::before{left:20px;top:20px}.band{padding:22px 20px}footer .sp{flex-basis:100%;height:0}}
