/* Kalvis Labs house style (kalvislabs.com), shared by the public pages: landing, privacy, support.
   Fonts are self-hosted OFL: Big Shoulders Display (display) and Chivo (text). */
@font-face{font-family:"Kalvis Display";src:url(/fonts/display-900.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Kalvis Text";src:url(/fonts/text-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Kalvis Text";src:url(/fonts/text-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --black:#000;--white:#fff;--straw-light:#F4DF8E;--straw:#E8B13A;--brown:#A7642C;--purple:#6E2C7E;--blue:#1D3E9E;--blue-light:#6AA3D6;
  --line:3px solid var(--black);--shadow:6px 6px 0 var(--black);
  --display:"Kalvis Display","Arial Narrow",Impact,sans-serif;
  --text:"Kalvis Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --pad:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--black);font:400 1.125rem/1.55 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:900;line-height:.95}
p{margin:0}
::selection{background:var(--straw)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--pad)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:var(--line);background:var(--white);color:var(--black);font:700 1.0625rem/1.2 var(--text);text-decoration:none;box-shadow:var(--shadow);cursor:pointer;transition:transform .08s,box-shadow .08s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--black)}
.btn:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--black)}
.btn-dark{background:var(--black);color:var(--white)}
.btn-sm{padding:9px 14px;font-size:1rem;box-shadow:4px 4px 0 var(--black)}

.top{border-bottom:var(--line)}
.top-in{display:flex;align-items:center;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;font:900 1.875rem/1 var(--display);text-decoration:none}
.brand svg{width:34px;height:34px;border:var(--line)}
.brand small{font:700 .95rem/1 var(--text)}
.top-in .btn-sm{margin-left:auto}

.hero{background:var(--straw);border-bottom:var(--line)}
.hero-in{display:grid;gap:48px;padding-block:56px 72px}
.hero h1{font-size:clamp(3.2rem,1.9rem + 5.6vw,7rem);line-height:.88;text-wrap:balance}
.lede{max-width:38ch;margin-top:28px;font-size:1.25rem}
.actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:36px}
@media (min-width:960px){.hero-in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:64px;padding-block:96px 104px}}

/* Static picture of the product-page picker */
.picker{margin:0;background:var(--white);border:var(--line);box-shadow:10px 10px 0 var(--black)}
.picker-head{padding:14px 18px;border-bottom:var(--line);font:900 2rem/1 var(--display)}
.tier{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:var(--line)}
.tier:last-child{border-bottom:0}
.tier b{font:900 1.9rem/1 var(--display);min-width:2.2ch}
.tier span{flex:1}
.tier s{opacity:.6;margin-right:6px;font-size:1rem}
.tier.on{background:var(--straw-light)}
.tag{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--black);color:var(--white);font-size:.85rem;font-weight:700}
.picker+figcaption{margin-top:22px;font-size:1rem}

.stripe{display:flex;height:18px;border-bottom:var(--line)}
.stripe span{flex:1}

.section{padding-block:72px}
.section h2{margin-bottom:40px;font-size:clamp(2.75rem,1.7rem + 4.2vw,5.5rem)}
@media (min-width:960px){.section{padding-block:112px}}
.catalog{margin:0;padding:0;list-style:none;border-top:var(--line)}
.catalog li{display:grid;gap:12px;padding-block:28px;border-bottom:var(--line)}
.catalog h3{font-size:clamp(2.1rem,1.5rem + 2.2vw,3.5rem)}
.catalog p{max-width:52ch}
@media (min-width:820px){.catalog li{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:baseline;padding-block:36px}}

.plans-sec{background:var(--straw-light);border-block:var(--line)}
.plans{display:grid;margin:0;padding:0;list-style:none;background:var(--white);border:var(--line)}
.plans li{padding:28px 24px 32px;border-top:var(--line)}
.plans li:first-child{border-top:0}
.plans h3{font-size:2.4rem}
.price{margin:12px 0;font:900 3rem/1 var(--display)}
.price small{font:400 1rem var(--text)}
.note{max-width:62ch;margin-top:32px}
@media (min-width:920px){.plans{grid-template-columns:repeat(4,minmax(0,1fr))}.plans li{border-top:0;border-left:var(--line)}.plans li:first-child{border-left:0}}

.contact{background:var(--blue);color:var(--white)}
.contact p{max-width:40ch;font-size:1.25rem}
.mail{padding:18px 24px;font:900 clamp(1.9rem,1.2rem + 3vw,3.5rem)/1 var(--display);overflow-wrap:anywhere}
.contact :focus-visible{outline-color:var(--white)}

.foot{background:var(--black);color:var(--white);font-size:1rem}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding-block:28px}

/* Privacy / support text pages */
.doc{max-width:720px;padding-block:56px 80px}
.doc h1{font-size:clamp(3rem,2rem + 4vw,5rem);margin-bottom:28px}
.doc h2{font-size:2.2rem;margin:40px 0 12px}
.doc p,.doc ul{margin:0 0 16px}
.doc li{margin-bottom:6px}

@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}
@media (max-width:520px){.brand small{display:none}}
.plans .small{margin-top:10px;font-size:.95rem}
