/* Project Pawly site: shared parts for every inner page.
   Neutral by design: once Zane picks a homepage concept, re-skin by changing the tokens here.
   Rules: weights max 600, one-weight one-color headlines, sentence-case labels, no ®. */
:root{
  --cream:#FEFAF5; --paper:#FFFFFF; --ink:#211A18; --ink-2:#5B4F4A; --line:#E9E0D8;
  --accent:#CF2F63; --accent-ink:#B4234F; --accent-soft:#FBE7EE;
  --night:#1B1513; --night-ink:#F6EFEA; --night-2:#B9ADA6;
  --display:"Fraunces","Iowan Old Style",Georgia,serif; --display-set:"SOFT" 100;
  --body:"Figtree",-apple-system,"Segoe UI",system-ui,sans-serif;
  --r:16px; --r-sm:12px; --max:1180px; --gutter:clamp(16px,4vw,40px);
  --s1:clamp(2.6rem,6.2vw,5.2rem); --s2:clamp(2rem,4.2vw,3.4rem); --s3:clamp(1.45rem,2.4vw,2rem);
  color-scheme:light;
}
:root[data-font="dm"]{ --display:"DM Serif Display",Georgia,serif; --display-set:normal }
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.read{max-width:64ch}
h1,h2,h3,.display{font-family:var(--display);font-variation-settings:var(--display-set);font-weight:400;letter-spacing:-.012em;text-wrap:balance;margin:0;color:inherit}
h1{font-size:var(--s1);line-height:1.02} h2{font-size:var(--s2);line-height:1.06} h3{font-size:var(--s3);line-height:1.15}
p{margin:0} .lead{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink-2)}
.eyebrow{font-size:.9rem;font-weight:600;color:var(--accent-ink)}
.muted{color:var(--ink-2)} .small{font-size:.875rem}
.stack{display:grid;gap:16px} .stack-lg{display:grid;gap:28px}
/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--cream) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.nav .logo{display:block;width:96px;color:var(--ink)} .nav .logo svg,.nav .logo img{width:100%;height:auto;display:block}
.nav ul{display:flex;gap:22px;list-style:none;margin:0 0 0 auto;padding:0;font-size:.95rem;font-weight:500}
.nav ul a{text-decoration:none;opacity:.85} .nav ul a:hover,.nav ul a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px}
.nav .menu{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit;font-size:.9rem;color:var(--ink)}
@media (max-width:900px){ .nav ul{display:none} .nav .menu{display:block} .nav.open ul{display:grid;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:16px var(--gutter) 24px;gap:14px;border-bottom:1px solid var(--line)} .nav .btn{display:none} }
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;font:600 .95rem/1 var(--body);text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--accent);color:#fff} .btn-primary:hover{background:var(--accent-ink)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-ghost{border-color:currentColor;background:transparent;color:inherit}
/* sections */
.section{padding-block:clamp(64px,9vw,120px)}
.section-tight{padding-block:clamp(40px,6vw,72px)}
.band-night{background:var(--night);color:var(--night-ink)} .band-night .muted,.band-night .lead{color:var(--night-2)} .band-night .eyebrow{color:#F38BAA}
.band-paper{background:var(--paper)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
@media (min-width:560px) and (max-width:900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* cards and media */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start}
.media{border-radius:var(--r);overflow:hidden;background:var(--line)} .media img,.media video{width:100%;height:100%;object-fit:cover}
.ratio-32{aspect-ratio:3/2} .ratio-45{aspect-ratio:4/5} .ratio-169{aspect-ratio:16/9}
.door{position:relative;display:grid;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;min-height:420px;align-content:end}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.door::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,12,.78),rgba(20,14,12,0) 60%)}
.door .txt{position:relative;z-index:1;padding:24px;display:grid;gap:6px}
.door:hover img{transform:scale(1.03)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:.8125rem;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);width:fit-content}
.chip-dev::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.stat b{display:block;font-family:var(--display);font-variation-settings:var(--display-set);font-weight:400;font-size:clamp(2.4rem,4.5vw,3.6rem);line-height:1;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:10px;font-size:.95rem}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
sup.fn a{text-decoration:none;color:var(--accent-ink);font-size:.7em}
.footnotes{font-size:.8125rem;color:var(--ink-2);display:grid;gap:4px}
/* faq */
.faq details{border-top:1px solid var(--line);padding-block:18px} .faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-weight:400;font-size:1.4rem;line-height:1} .faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--ink-2)}
/* forms */
.form{display:grid;gap:12px;max-width:520px}
.form label{font-size:.875rem;font-weight:600}
.form input,.form select,.form textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--paper);font:inherit;color:var(--ink)}
.form .ok{display:none;padding:14px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}
.form.sent .ok{display:block}
/* placeholder slot (founder photos, quotes, anything not real yet) */
.placeholder{display:grid;place-items:center;text-align:center;border:1.5px dashed #CDBFB6;border-radius:var(--r);background:repeating-linear-gradient(135deg,#F7F0EA 0 12px,#FBF6F1 12px 24px);color:var(--ink-2);font-size:.875rem;padding:20px;min-height:220px}
/* video with pause control */
.vid{position:relative} .vid .pause{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font:600 .8rem var(--body);cursor:pointer}
/* footer */
.footer{background:var(--cream);border-top:1px solid var(--line);padding-block:56px 32px}
.footer .cols{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:28px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.95rem} .footer a{text-decoration:none} .footer a:hover{text-decoration:underline}
.footer .big{margin-top:56px;color:var(--ink)} .footer .big svg,.footer .big img{width:100%;height:auto}
@media (max-width:900px){.footer .cols{grid-template-columns:1fr 1fr}}
/* font toggle (Zane: show both headline faces) */
.fonttoggle{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(0,0,0,.12);font:600 .75rem var(--body)}
.fonttoggle button{border:0;background:none;padding:7px 11px;border-radius:999px;cursor:pointer;color:var(--ink);font:inherit}
.fonttoggle button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.allversions{position:fixed;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;padding:11px 16px;border-radius:999px;background:var(--ink);color:var(--cream);font:600 .8125rem/1 var(--body);text-decoration:none;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.allversions:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* footer column headings are labels, not section headlines */
.footer h2{font-family:var(--body);font-variation-settings:normal;font-size:.85rem;font-weight:600;letter-spacing:0;color:var(--ink-2);margin:0 0 12px}
.footer .legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:32px 0 0;font-size:.85rem;color:var(--ink-2)}

/* compare switches stay out of the way on phones */
@media (max-width:760px){ .fonttoggle{display:none} }
/* presentation mode: open notes for Jake show only with ?notes=1 */
html:not([data-notes]) .confirm, html:not([data-notes]) .chip-confirm, html:not([data-notes]) .notes-only{display:none!important}

/* ---- Inner pages (business, verticals, research, founders, guides, legal), 2026-10-16 ----
   Added for the inner-page polish pass. New names only, so index and technology are unaffected. */
:root{--sec-y:clamp(72px,9vw,128px);--sec-y-sm:clamp(56px,6.5vw,96px);--app-line:#ECE6E3;--app-ground:linear-gradient(180deg,#FFEFF3,#F7F4F2 70%)}
/* public text that stands in for a working note: hidden in notes mode, where the note itself shows */
html[data-notes] .public-only{display:none!important}
.tbc{color:var(--ink-2)}
/* a crop of a real app screen (native 804px capture), shown as one slice of the screen */
.appcrop{margin:0;display:grid;gap:12px;align-content:start}
.appcrop-k{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.8125rem;font-weight:600;color:var(--ink-2)}
.appcrop-shot{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--app-line);background:#F7F4F2;box-shadow:0 24px 44px -26px rgba(80,30,40,.32),0 2px 6px rgba(33,26,24,.05)}
.appcrop-shot img{width:100%;height:auto}
.appcrop figcaption{font-size:.875rem;line-height:1.5;color:var(--ink-2);max-width:42ch}
.chip-coming{background:#EFE9E3;color:var(--ink-2)}
/* founder initials stand in for portraits until real photos exist */
.initials{flex:none;display:grid;place-items:center;width:var(--ini,64px);height:var(--ini,64px);border-radius:50%;font-family:var(--display);font-variation-settings:var(--display-set);font-weight:400;font-size:calc(var(--ini,64px) * .44);line-height:1;letter-spacing:-.01em;background:var(--accent-soft);color:var(--accent-ink)}

/* ---- Footer sign-off (2026-10-16): replaces the giant wordmark. Built by site.js. ---- */
/* without JS, the old wordmark stays, small and left-aligned */
.footer .big{display:flex;justify-content:flex-start}
.footer .big svg,.footer .big img{width:123px;height:auto}
.signoff{position:relative;margin:clamp(48px,6vw,72px) 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px clamp(32px,5vw,72px);align-items:center;padding:clamp(28px,4vw,52px) clamp(22px,4.4vw,60px);border-radius:28px;border:1px solid #F0D7DE;background:linear-gradient(120deg,#FCE3EB 0%,#FDEEEF 42%,var(--cream) 100%);color:var(--ink)}
.signoff-has-pup{margin-top:clamp(104px,10vw,132px)}
.signoff-pup{--pup:clamp(104px,9vw,128px);position:absolute;right:clamp(28px,9vw,140px);top:calc(var(--pup) * -.7);width:var(--pup);height:var(--pup);pointer-events:none;filter:drop-shadow(0 8px 10px rgba(130,60,60,.14))}
.footer .signoff h2{margin:0;font-family:var(--display);font-variation-settings:var(--display-set);font-weight:400;font-size:clamp(1.9rem,1.2rem + 2.3vw,3.1rem);line-height:1.06;letter-spacing:-.015em;color:inherit;text-wrap:balance;max-width:18ch}
.signoff-txt p{margin-top:12px;color:var(--ink-2);max-width:48ch;font-size:1.02rem}
.signoff-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.signoff-link{font-weight:600;text-decoration:none;color:var(--accent-ink);white-space:nowrap}
.signoff-link:hover{text-decoration:underline;text-underline-offset:5px}
.signoff-tech{background-color:var(--ink);background-image:radial-gradient(circle,rgba(246,239,234,.09) 1px,transparent 1.3px);background-size:20px 20px;border-color:#3A302C;color:var(--cream)}
.signoff-tech .signoff-txt p{color:#CFC3BC}
.signoff-tech .signoff-link{color:#F7A9C0}
.signoff-tech :focus-visible{outline-color:#F38BAA}
.footbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.footbar-mark{display:block;color:var(--ink);flex:none}
.footbar-mark svg,.footbar-mark img{display:block;width:84px;height:auto}
.footer .footbar .legal,.footer .footbar .fcopy{margin:0}
@media (max-width:760px){
  .signoff{grid-template-columns:1fr;border-radius:22px}
  .signoff-pup{right:20px}
  .footbar{flex-direction:column;align-items:flex-start}
}
@media (max-width:420px){.signoff-act .btn{width:100%}}
