/* Errand Code storefront: shared styles for / and the product pages.
   Same visual system as the v3 add-on landing (/sheets keeps its own inline copy). */
@font-face{font-family:"Archivo";src:url(/fonts/archivo-var.woff2) format("woff2-variations"),url(/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --paper:#F7F6F1; --paper-2:#EFEDE6; --paper-3:#E6E4DC; --card:#FCFBF8;
  --ink:#1F2420; --ink-2:#2A302B; --muted:#5B625C;
  --moss:#4A6B3A; --moss-deep:#3C5830; --moss-tint:#E6ECDF; --moss-light:#B9CFA8; --moss-pale:#D3DFC8;
  --rule:rgba(31,36,32,.10); --rule-2:rgba(31,36,32,.16);
  --sans:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"Plex Mono",ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1232px; --gut:24px; --r-xl:36px; --r-lg:28px; --r-md:18px;
  --shadow:0 1px 2px rgba(31,36,32,.05),0 24px 48px -24px rgba(31,36,32,.22);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:inherit}
img,svg{display:block}
code{font-family:var(--mono);font-size:.92em}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:8px 16px;z-index:100;border-radius:0 0 12px 0}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.fn{color:var(--moss);font-weight:500}
.str{color:#7A5A2E}

/* ---------- Type ---------- */
h1,h2,h3{margin:0;font-weight:540;letter-spacing:-.035em;line-height:1.04}
h2.title{font-size:clamp(34px,4.6vw,56px)}
h3{font-size:21px;letter-spacing:-.02em;line-height:1.25}
.label{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.label::after{content:"";flex:1;height:1px;background:var(--rule-2)}
.center{text-align:center}
.center .label{justify-content:center}
.center .label::before{content:"";width:48px;height:1px;background:var(--rule-2)}
.center .label::after{flex:none;width:48px}
.intro{margin:20px 0 0;font-size:19px;color:var(--muted);max-width:52ch}
.center .intro{margin-left:auto;margin-right:auto}
.prose{font-size:19px;line-height:1.6;max-width:62ch}
.prose p{margin:0 0 18px}
.prose p:last-child{margin-bottom:0}

/* ---------- Buttons: pills ---------- */
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:560;font-size:16px;text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.btn svg{width:16px;height:16px;flex:none}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:#000}
.btn-paper{background:var(--paper);color:var(--ink)}
.btn-paper:hover{background:#fff}
.btn-moss{background:var(--moss);color:var(--card)}
.btn-moss:hover{background:var(--moss-deep)}
.btn-line{border-color:var(--rule-2);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--ink)}
.btn-sm{height:40px;padding:0 18px;font-size:15px}
.link-quiet{font-size:15px;color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:560;text-decoration:none}
.link-arrow svg{width:15px;height:15px;transition:transform .2s}
.link-arrow:hover span{text-decoration:underline;text-underline-offset:4px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,246,241,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:640;font-size:18px;letter-spacing:-.02em}
.brand svg{width:30px;height:30px}
.nav-right{display:flex;align-items:center;gap:8px}
.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav ul a{display:block;padding:8px 14px;text-decoration:none;color:var(--muted);font-size:15px;border-radius:999px}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--ink);background:var(--paper-2)}

/* ---------- Hero: big moss card ---------- */
.hero{padding:4px 0 0}
.hero-card{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;min-height:560px;padding:72px 0 72px 64px;border-radius:var(--r-xl);background:var(--moss);color:var(--paper);overflow:hidden;isolation:isolate}
.hero-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 70% at 88% 18%,rgba(185,207,168,.30),transparent 70%),radial-gradient(50% 60% at 0% 100%,rgba(31,36,32,.28),transparent 70%)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.chip{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin:0 0 28px;padding:6px 14px 6px 8px;border-radius:999px;background:rgba(247,246,241,.12);border:1px solid rgba(247,246,241,.22);font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--moss-light);box-shadow:0 0 0 4px rgba(185,207,168,.22)}
.hero h1{font-size:clamp(42px,5.2vw,70px);max-width:14ch}
.hero h1.long{font-size:clamp(38px,4.4vw,58px);max-width:16ch}
.lead{margin:26px 0 0;font-size:clamp(18px,1.55vw,21px);line-height:1.5;max-width:36ch;color:rgba(247,246,241,.88)}
.hero .actions{margin-top:36px;gap:22px}
.hero .link-quiet{color:rgba(247,246,241,.9)}
.hero-note{margin:22px 0 0;font-family:var(--mono);font-size:13px;color:rgba(247,246,241,.8)}

/* Hero visual: paper window hanging off the right and bottom edges */
.hero-visual{position:relative;min-width:0;display:flex;align-items:flex-end;margin-bottom:-72px;padding-top:24px}
.window{position:relative;width:100%;margin:0;background:var(--card);color:var(--ink);border-radius:22px 0 0 0;box-shadow:0 40px 80px -30px rgba(10,14,10,.55),0 0 0 1px rgba(31,36,32,.08);overflow:hidden}
.window-top{display:flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-bottom:1px solid var(--rule);background:var(--paper-2)}
.window-top i{width:10px;height:10px;border-radius:50%;background:var(--paper-3)}
.window-top span{margin-left:10px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.window-body{padding:10px 28px 34px}
.window-foot{margin:0;padding:16px 28px;border-top:1px solid var(--rule);background:var(--moss-tint);font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}

/* Window content: example prompts */
.prompts{list-style:none;margin:0;padding:0;counter-reset:p}
.prompts li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:18px 0;border-bottom:1px solid var(--rule);font-size:clamp(17px,1.5vw,20px);line-height:1.38;letter-spacing:-.01em}
.prompts li:last-child{border-bottom:0}
.prompts li::before{counter-increment:p;content:counter(p,decimal-leading-zero);padding-top:4px;font-family:var(--mono);font-size:12px;color:var(--moss)}

/* Window content: catalog index (home) */
.index{list-style:none;margin:0;padding:0}
.index li{border-bottom:1px solid var(--rule)}
.index li:last-child{border-bottom:0}
.index a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 0;text-decoration:none}
.index a:hover strong{text-decoration:underline;text-underline-offset:4px}
.index strong{display:block;font-weight:560;font-size:19px;letter-spacing:-.015em}
.index small{display:block;margin-top:2px;font-size:14.5px;color:var(--muted)}
.index .n{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap}
.icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper)}
.icon svg{width:20px;height:20px}
.icon.moss{background:var(--moss);color:var(--paper)}
.icon.pale{background:var(--moss-tint);color:var(--moss)}

/* Window content: a dataset header (fields only, no invented rows) */
.cols{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.cols li{padding:7px 12px;border-radius:10px;background:var(--paper-2);border:1px solid var(--rule);font-family:var(--mono);font-size:13.5px}
.cols li.k{background:var(--moss-tint);border-color:rgba(74,107,58,.25)}
.mini-h{margin:22px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Window content: hero live example on product pages (player in site.js, rhythm of /sheets).
   Frames overlap in one grid cell, so the window keeps the height of the tallest frame. */
.demo-bar{display:flex;align-items:stretch;min-height:64px;border-bottom:1px solid var(--rule)}
.demo-ref{flex:none;display:grid;place-items:center;width:78px;border-right:1px solid var(--rule);font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.demo-input{flex:1;min-width:0;display:grid;align-self:center;padding:12px 18px;font-size:clamp(14.5px,1.3vw,17.5px);line-height:1.45;overflow-wrap:break-word}
.demo-input>span{grid-area:1/1;min-width:0}
.demo-input .ghost{visibility:hidden}
.caret{display:inline-block;width:2px;height:1.1em;margin-left:2px;background:var(--moss);vertical-align:-.15em}
.demo-wrap{padding:20px 24px 18px}
.demo-stage{display:grid}
.demo-out{grid-area:1/1;min-width:0}
.demo-out.is-off,.demo.typing .demo-out{visibility:hidden}
.demo-call{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.demo-call code{padding:5px 10px;border-radius:8px;background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);font-size:13px}
.demo-call code.tool{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.demo-cell{position:relative;margin-top:14px;padding:16px 20px;border-radius:12px;background:var(--moss-tint);box-shadow:inset 0 0 0 2px var(--moss)}
.demo-cell::after{content:"";position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;border-radius:3px;background:var(--moss);border:2px solid var(--card)}
.demo-cell small{display:block;font-family:var(--mono);font-size:12.5px;color:var(--moss-deep)}
.demo-cell b{display:block;margin-top:4px;font-size:clamp(21px,2.2vw,30px);font-weight:600;font-stretch:90%;letter-spacing:-.015em;line-height:1.1}
.demo-out .cols{margin-top:12px}
.demo-out .mini-h{margin-top:16px}
.demo-out>.mini-h:first-child{margin-top:0}
.mini-h code{text-transform:none;letter-spacing:0;font-size:13px;color:var(--moss)}
.demo-out .cols li.alt{background:transparent;border-style:dashed}
.demo-note{margin:14px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}
.demo-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.demo-pause{display:none;flex:none;white-space:nowrap;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--rule-2);border-radius:999px;background:transparent;font:inherit;color:var(--ink);cursor:pointer}
.demo-pause:hover{border-color:var(--ink)}
.js .demo-pause{display:inline-flex}
.demo-pause svg{width:10px;height:10px}
.demo-more{padding:0 24px 8px;border-top:1px solid var(--rule)}
.demo-more .prompts li{padding:12px 0;font-size:15.5px}
.demo-more .mini-h{margin-top:16px}
.demo-more .cols{margin:12px 0 18px}

/* Code blocks (JSON input, connect snippets) */
.code{margin:0;padding:20px 22px;border-radius:var(--r-md);background:var(--paper-2);border:1px solid var(--rule);font-family:var(--mono);font-size:13.5px;line-height:1.6;overflow-x:auto;white-space:pre;tab-size:2}
.window .code{margin-top:18px;background:var(--paper);font-size:15px}
.k{color:var(--moss)}
.v{color:#7A5A2E}

/* Facts row under the hero */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:40px 0 8px;list-style:none}
.facts li{padding:4px 28px;border-left:1px solid var(--rule-2)}
.facts li:first-child{padding-left:0;border-left:0}
.facts b{display:block;font-weight:540;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;line-height:1.15}
.facts b.m{font-family:var(--mono);font-weight:500;letter-spacing:-.04em;color:var(--moss)}
.facts span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}

/* ---------- Sections ---------- */
.sec{padding:120px 0 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:end}
.sec-head .intro{margin:0;justify-self:end}
.panel{padding:88px 0;border-radius:var(--r-xl);background:var(--paper-2)}
.panel>.wrap{max-width:1136px}

/* Product groups on the home page */
.group{margin-top:72px}
.group:first-of-type{margin-top:56px}
.group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--rule-2)}
.group-head h3{font-size:26px;letter-spacing:-.025em}
.group-head p{margin:0;font-family:var(--mono);font-size:13px;color:var(--muted)}
.cards{display:grid;gap:24px;margin:0;padding:0;list-style:none}
.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}

.pcard{position:relative;display:flex;flex-direction:column;min-width:0;padding:36px;border-radius:var(--r-xl);background:var(--card);border:1px solid var(--rule)}
.pcard.dark{background:var(--ink);color:var(--paper);border-color:var(--ink);background-image:radial-gradient(70% 60% at 100% 0%,rgba(74,107,58,.40),transparent 70%)}
.pcard.moss{background:var(--moss);color:var(--paper);border-color:var(--moss);background-image:radial-gradient(60% 70% at 95% 10%,rgba(185,207,168,.30),transparent 70%)}
.pcard-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pcard .tag{flex:none;padding:5px 12px;border-radius:999px;background:var(--moss-tint);color:var(--moss-deep);font-family:var(--mono);font-size:12px}
.pcard.dark .tag,.pcard.moss .tag{background:rgba(247,246,241,.12);color:var(--paper);border:1px solid rgba(247,246,241,.2)}
.pcard.dark .icon{background:var(--moss-light);color:var(--ink)}
.pcard.moss .icon{background:var(--paper);color:var(--moss)}
.pcard h4{margin:28px 0 0;font-weight:560;font-size:clamp(23px,2vw,28px);letter-spacing:-.03em;line-height:1.12}
.pcard h4 small{display:block;margin-top:6px;font-family:var(--mono);font-weight:400;font-size:13px;letter-spacing:0;color:var(--muted)}
.pcard.dark h4 small,.pcard.moss h4 small{color:rgba(247,246,241,.66)}
.pcard p.what{margin:14px 0 0;font-size:16.5px;color:var(--muted)}
.pcard.dark p.what,.pcard.moss p.what{color:rgba(247,246,241,.8)}
.price{display:block;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:13.5px;line-height:1.5}
.price b{display:block;margin-bottom:2px;font-family:var(--sans);font-weight:540;font-size:22px;letter-spacing:-.02em}
.pcard.dark .price,.pcard.moss .price{border-color:rgba(247,246,241,.16)}
.pcard .go{margin-top:28px}
.pcard .go .btn{width:100%}
.pcard .spacer{flex:1}

/* Wide Sheets card on the home page: copy + formula example */
.pcard.wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding:48px}
.pcard.wide>div{display:flex;flex-direction:column;min-width:0}
.example{border-radius:var(--r-md);overflow:hidden;border:1px solid rgba(247,246,241,.2);background:var(--card);color:var(--ink);align-self:center;width:100%}
.example .in{padding:16px 20px;font-family:var(--mono);font-size:15px;overflow-wrap:anywhere;background:var(--paper)}
.example .out{display:flex;gap:12px;align-items:center;padding:16px 20px;font-weight:620;font-stretch:92%;font-size:20px;line-height:1.2;background:var(--moss-tint)}
.example .out svg{flex:none;width:16px;height:16px;color:var(--moss)}
.example .in+.in{border-top:1px solid var(--rule)}

/* ---------- Product page blocks ---------- */
.what-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.tools{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.tool{position:relative;padding:26px 28px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--rule)}
.tool code{display:inline-block;font-weight:500;font-size:16px;color:var(--moss)}
.tool p{margin:8px 0 0;color:var(--muted);font-size:16px}
.tool.all{background:var(--moss-tint);border-color:rgba(74,107,58,.2)}
.ro{margin:20px 0 0;font-size:15px;color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:56px 0 0;padding:0;list-style:none}
.steps.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps.c5{grid-template-columns:repeat(6,minmax(0,1fr))}
.steps.c5 .step{grid-column:span 2}
.steps.c5 .step:nth-child(4){grid-column:2/span 2}
.step{position:relative;min-width:0;padding:32px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--rule)}
.step-num{position:absolute;top:18px;right:28px;font-weight:300;font-size:64px;line-height:1;letter-spacing:-.04em;color:var(--moss-pale)}
.step h3{margin-top:28px;max-width:16ch}
.step p{margin:10px 0 0;color:var(--muted);font-size:16px}
.step .icon{width:44px;height:44px}

.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:56px}
.pair.stack{grid-template-columns:minmax(0,1fr);max-width:900px;margin-left:auto;margin-right:auto}
.pair>.box{min-width:0;padding:40px;border-radius:var(--r-xl);background:var(--card);border:1px solid var(--rule)}
.pair>.box.dark{background:var(--ink);color:var(--paper);border-color:var(--ink);background-image:radial-gradient(70% 60% at 100% 0%,rgba(74,107,58,.38),transparent 70%)}
.box h3{font-size:24px}
.box .sub{margin:8px 0 22px;color:var(--muted);font-size:15.5px}
.box.dark .sub{color:rgba(247,246,241,.7)}
.box.dark .code{background:var(--ink-2);border-color:rgba(247,246,241,.12);color:rgba(247,246,241,.9)}
.box.dark .k{color:var(--moss-light)}
.box.dark .v{color:#D8B98A}
.note{margin:28px 0 0;font-size:15.5px;color:var(--muted)}
.center.note{text-align:center}

.inputs{margin:0;padding:0}
.inputs div{display:grid;grid-template-columns:minmax(0,22ch) minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.inputs div:last-child{border-bottom:0}
.inputs dt{font-family:var(--mono);font-size:15px;color:var(--moss)}
.inputs dd{margin:0;color:var(--ink-2);font-size:16.5px}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;margin:56px auto 0;padding:0;list-style:none}
.plans.c3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px}
.plans.c3 .plan{padding:32px}
.plan{display:flex;flex-direction:column;padding:40px;border-radius:var(--r-xl);background:var(--card);border:1px solid var(--rule)}
.plan.pro{background:var(--ink);color:var(--paper);border-color:var(--ink);background-image:radial-gradient(70% 60% at 100% 0%,rgba(74,107,58,.42),transparent 70%)}
.plan h3{font-size:24px}
.plan-sub{margin:6px 0 0;color:var(--muted);font-size:15px}
.plan.pro .plan-sub{color:rgba(247,246,241,.7)}
.amount{margin:32px 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.amount strong{font-size:clamp(48px,5vw,64px);font-weight:520;letter-spacing:-.045em;line-height:1}
.amount span{color:var(--muted);font-family:var(--mono);font-size:14px}
.plan.pro .amount span{color:rgba(247,246,241,.66)}
.plan ul{list-style:none;margin:28px 0 36px;padding:28px 0 0;display:grid;gap:12px;font-size:16px;border-top:1px solid var(--rule)}
.plan.pro ul{border-color:rgba(247,246,241,.14)}
.plan li{display:flex;gap:12px;align-items:flex-start}
.plan li::before,.checks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--moss) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5.5 9.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23F7F6F1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.plan.pro li::before{background-color:rgba(185,207,168,.26)}
.plan .btn{margin-top:auto;width:100%}

/* Pay-per-event pricing (Apify) */
.ppe{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;margin-top:56px}
.ppe>div{min-width:0;padding:44px;border-radius:var(--r-xl)}
.ppe .main{background:var(--ink);color:var(--paper);background-image:radial-gradient(70% 60% at 100% 0%,rgba(74,107,58,.42),transparent 70%);display:flex;flex-direction:column}
.ppe .main .amount span{color:rgba(247,246,241,.7)}
.ppe .main p{margin:18px 0 0;color:rgba(247,246,241,.78)}
.ppe .main .btn{margin-top:36px;align-self:flex-start}
.ppe .side{background:var(--card);border:1px solid var(--rule)}
.ppe .side h3{font-size:22px}
.ppe dl{margin:18px 0 0}
.ppe dl div{padding:16px 0;border-bottom:1px solid var(--rule)}
.ppe dl div:last-child{border-bottom:0}
.ppe dt{font-weight:560}
.ppe dd{margin:4px 0 0;font-family:var(--mono);font-size:14px;color:var(--muted)}

/* Good to know */
.limits{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:start}
.checks{list-style:none;margin:0;padding:0}
.checks li{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--rule);font-size:17px}
.checks li:first-child{padding-top:0}
.checks li:last-child{border-bottom:0;padding-bottom:0}
.checks.info li::before{background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='5.6' r='1.1' fill='%234A6B3A'/%3E%3Cpath d='M9 8.4v4.6' stroke='%234A6B3A' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:inset 0 0 0 1.5px var(--moss)}

/* More from Errand Code */
.more{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:40px 0 0;padding:0;list-style:none}
.more a{display:flex;flex-direction:column;height:100%;min-height:170px;padding:24px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--rule);text-decoration:none;transition:border-color .2s,transform .2s}
.more a:hover{border-color:var(--moss)}
.more small{font-family:var(--mono);font-size:12px;color:var(--muted)}
.more strong{display:block;margin-top:10px;font-weight:560;font-size:18px;letter-spacing:-.015em;line-height:1.2}
.more span{margin-top:auto;padding-top:16px;font-size:14.5px;color:var(--moss);font-weight:560}

/* Closing CTA */
.closing{padding:120px 0}
.cta{position:relative;max-width:960px;margin:0 auto;padding:80px 48px;border-radius:var(--r-xl);background:var(--moss);color:var(--paper);text-align:center;overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 90% 10%,rgba(185,207,168,.32),transparent 70%)}
.cta h2{font-size:clamp(34px,4.6vw,54px);max-width:18ch;margin:0 auto}
.cta p{margin:20px auto 0;font-family:var(--mono);font-size:15px;color:rgba(247,246,241,.84)}
.cta .actions{justify-content:center;margin-top:34px}
.cta .cta-label{margin:0 0 18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,246,241,.7)}
.cta p a{color:var(--paper);text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.cta .lede{max-width:46ch;line-height:1.6}

/* ---------- Footer: ink ---------- */
.site-footer{background:var(--ink);color:rgba(247,246,241,.72);padding:72px 0 40px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.3fr) minmax(0,1fr);gap:40px}
.site-footer .brand{color:var(--paper)}
.footer-blurb{margin:16px 0 0;max-width:34ch}
.site-footer h4{margin:0 0 14px;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,246,241,.5)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a{text-decoration:none}
.site-footer a:hover,.site-footer a[aria-current]{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid rgba(247,246,241,.12);font-size:14px}
.footer-bottom p{margin:0}

/* Motion: only when the user has not asked for reduced motion and JS is running */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
  .js .reveal.in{opacity:1;transform:none}
  .js .hero-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--n,0) * 80ms)}
  .js .window{animation:slide 1.1s .25s cubic-bezier(.2,.7,.2,1) both}
  .btn:hover,.more a:hover{transform:translateY(-1px)}
  .link-arrow:hover svg{transform:translateX(3px)}
  .js .caret{animation:blink 1.05s steps(1) infinite}
  .js .demo.landed .land{animation:demo-land .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
  @keyframes blink{50%{opacity:0}}
  @keyframes demo-land{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  @keyframes slide{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .more{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px){
  .hero-card{grid-template-columns:minmax(0,1fr);padding:56px 0 0 40px;gap:48px;min-height:0}
  .hero-copy{padding-right:40px}
  .hero-visual{margin-bottom:0}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}
  .facts li:nth-child(3){padding-left:0;border-left:0}
  .cards.c3{grid-template-columns:minmax(0,1fr)}
  .pcard.wide{grid-template-columns:minmax(0,1fr);gap:32px}
  .what-grid,.limits{grid-template-columns:minmax(0,1fr);gap:36px}
  .sec-head{grid-template-columns:minmax(0,1fr)}
  .sec-head .intro{justify-self:start}
  .steps.c5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps.c5 .step,.steps.c5 .step:nth-child(4){grid-column:auto}
  .ppe{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:899px){
  .sec{padding-top:88px}
  .closing{padding:88px 0}
  .panel{padding:64px 0}
  .steps,.steps.c4,.steps.c5{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:40px}
  .cards.c2,.pair,.plans,.plans.c3{grid-template-columns:minmax(0,1fr)}
  .more{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  :root{--gut:16px;--r-xl:28px;--r-lg:22px}
  body{font-size:16px}
  .nav{height:64px}
  .nav .nav-cta{display:none}
  .nav ul a{padding:8px 12px}
  .hero-card{padding:44px 0 0 24px;gap:36px}
  .hero-copy{padding-right:24px}
  .hero h1{font-size:40px}
  .hero h1.long{font-size:34px}
  .chip{margin-bottom:22px}
  .hero .actions{flex-direction:column;align-items:stretch;gap:16px}
  .hero .actions .btn{width:100%}
  .hero .actions .link-quiet{text-align:center}
  .window-body{padding:4px 20px 24px}
  .window-foot{padding:14px 20px}
  .prompts li{grid-template-columns:28px minmax(0,1fr);font-size:16.5px;padding:14px 0}
  .demo-ref{width:58px;font-size:10.5px;letter-spacing:.06em}
  .demo-input{padding:10px 14px;font-size:14px}
  .demo-wrap{padding:16px 18px 16px}
  .demo-more{padding:0 18px 6px}
  .demo-more .prompts li{font-size:14.5px}
  .demo-meta>span[aria-hidden]{display:none}
  .demo-meta{justify-content:flex-end}
  .demo-call code{font-size:12px;overflow-wrap:anywhere}
  .index a{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:16px 0}
  .index .icon{width:40px;height:40px}
  .index .n{display:none}
  .index strong{font-size:17px}
  .facts{padding-top:32px}
  .facts li{padding:0 16px}
  .facts li:nth-child(odd){padding-left:0;border-left:0}
  .group-head h3{font-size:22px}
  .pcard,.pcard.wide{padding:28px 22px}
  .example .out{font-size:17px}
  .example .in{padding:14px 16px;font-size:13px;overflow-wrap:normal;word-break:normal}
  .example .out{padding:14px 16px}
  .tool{padding:22px}
  .step{padding:28px 24px}
  .pair>.box{padding:28px 20px}
  .code{padding:16px;font-size:12.5px}
  .inputs div{grid-template-columns:minmax(0,1fr);gap:4px}
  .plan{padding:30px 24px}
  .ppe>div{padding:30px 24px}
  .ppe .main .btn{align-self:stretch}
  .more{grid-template-columns:minmax(0,1fr)}
  .more a{min-height:0}
  .cta{padding:56px 22px}
  .cta .btn{width:100%}
  .footer-grid{gap:32px}
}
