/* Built by tools/css/build.py from css/src/ for page type "ecosystem.signal". Do not edit: edit the source files. */
@layer tokens,board;
/* ── base/elements.css ── */
@layer board{

/* The scrollbar's track is always reserved, so pages with and without a scrollbar centre the same and
   locking scroll (the open drawer) doesn't shift the page; the same as roamstays.com. */
html{scrollbar-gutter:stable}
body{margin:0;background:var(--roam-ref-palette-cream);color:var(--roam-ref-palette-forest);font-family:var(--roam-ref-typeface-body);font-size:var(--roam-sys-type-body);line-height:var(--roam-ref-leading-snug);-webkit-font-smoothing:antialiased}
a{color:var(--roam-ref-palette-teal-670);text-underline-offset:4px}
a:hover{color:var(--roam-ref-palette-forest)}
::selection{background:var(--roam-ref-palette-gold);color:var(--roam-ref-palette-forest)}
:focus-visible{outline:2px solid var(--roam-ref-palette-gold);outline-offset:3px}
label{display:block;font-size:var(--roam-sys-type-label);font-weight:var(--roam-ref-weight-semibold);margin-bottom:var(--roam-ref-spacing-6);color:var(--roam-ref-palette-forest-720)}
input,select{width:100%;box-sizing:border-box;min-height:var(--roam-sys-control-height);border:1px solid var(--roam-ref-palette-sand-190);border-radius:var(--roam-sys-shape-inset);padding:0 var(--roam-ref-spacing-16);font:inherit;font-size:var(--roam-sys-type-body);background:var(--roam-ref-palette-white);color:var(--roam-ref-palette-forest)}
input::placeholder{color:var(--roam-ref-palette-stone-560)}
details{border-bottom:1px solid var(--roam-ref-palette-sand-150)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--roam-ref-spacing-20);padding:var(--roam-ref-spacing-24) 0;font-size:var(--roam-sys-type-small);font-weight:var(--roam-ref-weight-semibold)}
summary::-webkit-details-marker{display:none}
summary .pm{width:32px;height:32px;border-radius:50%;background:var(--roam-ref-palette-sand-90);display:grid;place-items:center;flex:none;transition:transform var(--roam-ref-duration-slow)}
details[open] summary .pm{transform:rotate(45deg);background:var(--roam-ref-palette-gold)}
details p{margin:0 0 var(--roam-sys-flow-separated);color:var(--roam-ref-palette-forest-720);max-width:68ch}
table{border-collapse:separate;border-spacing:0;width:100%}
th,td{padding:var(--roam-ref-spacing-18) var(--roam-ref-spacing-20);text-align:left;border-bottom:1px solid var(--roam-ref-palette-sand-150)}

}
/* ── components/drawing.css ── */
@layer board{

/* The sprite: the symbol library at the top of every page (v3/parts/sprite.php), drawn nowhere itself. */
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* SVG fill */
.fill-brand-preferred{fill:var(--roam-ref-palette-brand-preferred)}
.fill-brand-premier{fill:var(--roam-ref-palette-brand-premier)}
.fill-brand-superhost{fill:var(--roam-ref-palette-brand-superhost)}
.fill-brand-superhost-star{fill:var(--roam-ref-palette-brand-superhost-star)}
.fill-clay-470{fill:var(--roam-ref-palette-clay-470)}
.fill-cream{fill:var(--roam-ref-palette-cream)}
.fill-forest{fill:var(--roam-ref-palette-forest)}
.fill-forest-720{fill:var(--roam-ref-palette-forest-720)}
.fill-forest-900{fill:var(--roam-ref-palette-forest-900)}
.fill-forest-light{fill:var(--roam-ref-palette-forest-light)}
.fill-forest-soft{fill:var(--roam-ref-palette-forest-soft)}
.fill-gold{fill:var(--roam-ref-palette-gold)}
.fill-gold-201{fill:var(--roam-ref-palette-gold-201)}
.fill-gold-270{fill:var(--roam-ref-palette-gold-270)}
.fill-gold-30{fill:var(--roam-ref-palette-gold-30)}
.fill-gold-640{fill:var(--roam-ref-palette-gold-640)}
.fill-gold-a18{fill:var(--roam-ref-palette-gold-a18)}
.fill-gold-a30{fill:var(--roam-ref-palette-gold-a30)}
.fill-gold-active{fill:var(--roam-ref-palette-gold-active)}
.fill-olive-210{fill:var(--roam-ref-palette-olive-210)}
.fill-olive-250{fill:var(--roam-ref-palette-olive-250)}
.fill-olive-700{fill:var(--roam-ref-palette-olive-700)}
.fill-sage{fill:var(--roam-ref-palette-sage)}
.fill-sand-110{fill:var(--roam-ref-palette-sand-110)}
.fill-sand-150{fill:var(--roam-ref-palette-sand-150)}
.fill-sand-190{fill:var(--roam-ref-palette-sand-190)}
.fill-sand-200{fill:var(--roam-ref-palette-sand-200)}
.fill-sand-220{fill:var(--roam-ref-palette-sand-220)}
.fill-sand-250{fill:var(--roam-ref-palette-sand-250)}
.fill-sand-70{fill:var(--roam-ref-palette-sand-70)}
.fill-sand-80{fill:var(--roam-ref-palette-sand-80)}
.fill-sand-90{fill:var(--roam-ref-palette-sand-90)}
.fill-stone-610{fill:var(--roam-ref-palette-stone-610)}
.fill-taupe-560{fill:var(--roam-ref-palette-taupe-560)}
.fill-teal{fill:var(--roam-ref-palette-teal)}
.fill-teal-160{fill:var(--roam-ref-palette-teal-160)}
.fill-teal-290{fill:var(--roam-ref-palette-teal-290)}
.fill-teal-670{fill:var(--roam-ref-palette-teal-670)}
.fill-teal-80{fill:var(--roam-ref-palette-teal-80)}
.fill-teal-a14{fill:var(--roam-ref-palette-teal-a14)}
.fill-teal-a20{fill:var(--roam-ref-palette-teal-a20)}
.fill-teal-a25{fill:var(--roam-ref-palette-teal-a25)}
.fill-white{fill:var(--roam-ref-palette-white)}

/* SVG stroke */
.stroke-brand-superhost-ink{stroke:var(--roam-ref-palette-brand-superhost-ink)}
.stroke-cream{stroke:var(--roam-ref-palette-cream)}
.stroke-forest{stroke:var(--roam-ref-palette-forest)}
.stroke-forest-soft{stroke:var(--roam-ref-palette-forest-soft)}
.stroke-gold{stroke:var(--roam-ref-palette-gold)}
.stroke-gold-270{stroke:var(--roam-ref-palette-gold-270)}
.stroke-gold-640{stroke:var(--roam-ref-palette-gold-640)}
.stroke-gold-active{stroke:var(--roam-ref-palette-gold-active)}
.stroke-olive-250{stroke:var(--roam-ref-palette-olive-250)}
.stroke-olive-440{stroke:var(--roam-ref-palette-olive-440)}
.stroke-sage{stroke:var(--roam-ref-palette-sage)}
.stroke-sage-400{stroke:var(--roam-ref-palette-sage-400)}
.stroke-sand-150{stroke:var(--roam-ref-palette-sand-150)}
.stroke-sand-190{stroke:var(--roam-ref-palette-sand-190)}
.stroke-sand-192{stroke:var(--roam-ref-palette-sand-192)}
.stroke-sand-220{stroke:var(--roam-ref-palette-sand-220)}
.stroke-sand-310{stroke:var(--roam-ref-palette-sand-310)}
.stroke-sand-400{stroke:var(--roam-ref-palette-sand-400)}
.stroke-sand-430{stroke:var(--roam-ref-palette-sand-430)}
.stroke-sand-431{stroke:var(--roam-ref-palette-sand-431)}
.stroke-sand-90{stroke:var(--roam-ref-palette-sand-90)}
.stroke-taupe-440{stroke:var(--roam-ref-palette-taupe-440)}
.stroke-teal{stroke:var(--roam-ref-palette-teal)}
.stroke-teal-290{stroke:var(--roam-ref-palette-teal-290)}
.stroke-teal-470{stroke:var(--roam-ref-palette-teal-470)}
.stroke-teal-670{stroke:var(--roam-ref-palette-teal-670)}
.stroke-white{stroke:var(--roam-ref-palette-white)}

/* Gradient stops */
.stop-forest-soft{stop-color:var(--roam-ref-palette-forest-soft)}
.stop-gold{stop-color:var(--roam-ref-palette-gold)}
.stop-gold-370{stop-color:var(--roam-ref-palette-gold-370)}
.stop-sage{stop-color:var(--roam-ref-palette-sage)}
.stop-teal{stop-color:var(--roam-ref-palette-teal)}

/* Mark fills */
.bg-forest-soft{background:var(--roam-ref-palette-forest-soft)}
.bg-gold{background:var(--roam-ref-palette-gold)}
.bg-gold-60{background:var(--roam-ref-palette-gold-60)}
.bg-olive-440{background:var(--roam-ref-palette-olive-440)}
.bg-sage{background:var(--roam-ref-palette-sage)}
.bg-sand-430{background:var(--roam-ref-palette-sand-430)}
.bg-sand-431{background:var(--roam-ref-palette-sand-431)}
.bg-sand-80{background:var(--roam-ref-palette-sand-80)}
.bg-teal{background:var(--roam-ref-palette-teal)}
.bg-teal-470{background:var(--roam-ref-palette-teal-470)}
.bg-teal-80{background:var(--roam-ref-palette-teal-80)}

/* Mark text */
.ink-gold-640{color:var(--roam-ref-palette-gold-640)}
.ink-olive-700{color:var(--roam-ref-palette-olive-700)}
.ink-teal-670{color:var(--roam-ref-palette-teal-670)}

}
/* ── components/text.css ── */
@layer board{

.num{font-variant-numeric:tabular-nums}
.d{font-family:var(--roam-ref-typeface-display);letter-spacing:var(--roam-ref-tracking-display)}

}
/* ── components/wrap.css ── */
@layer board{

.wrap{box-sizing:border-box;max-width:calc(var(--roam-sys-layout-column) + 2 * var(--roam-sys-space-page-x));margin:0 auto;padding:0 var(--roam-sys-space-page-x)}

}
/* ── components/button.css ── */
@layer board{

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--roam-ref-spacing-10);min-height:52px;padding:0 var(--roam-ref-spacing-28);border:0 solid var(--roam-ref-palette-forest);border-radius:var(--roam-sys-shape-full);background:var(--roam-ref-palette-forest);font:inherit;font-size:var(--roam-sys-type-body);font-weight:var(--roam-ref-weight-semibold);text-decoration:none;color:var(--roam-ref-palette-cream);cursor:pointer;transition:background-color var(--roam-ref-duration-base),border-color var(--roam-ref-duration-base),color var(--roam-ref-duration-base)}
.btn:is(:hover,:focus-visible){background:var(--roam-ref-palette-forest-light);color:var(--roam-ref-palette-cream)}
.btn-gold{border-color:transparent;background:var(--roam-ref-palette-gold);color:var(--roam-ref-palette-forest)}
.btn-gold:is(:hover,:focus-visible){background:var(--roam-ref-palette-gold-370);color:var(--roam-ref-palette-forest)}
.btn-light{border:1px solid var(--roam-ref-palette-sand-150);background:var(--roam-ref-palette-white);color:var(--roam-ref-palette-forest)}
.btn-light:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-gold);background:var(--roam-ref-palette-gold-60);color:var(--roam-ref-palette-forest)}
/* More fills, from the v1 set: teal, sage, cream (on forest) and danger (a destructive action). */
.btn-teal{border-color:transparent;background:var(--roam-ref-palette-teal);color:var(--roam-ref-palette-forest)}
.btn-teal:is(:hover,:focus-visible){background:var(--roam-ref-palette-teal-active);color:var(--roam-ref-palette-forest)}
.btn-sage{border-color:transparent;background:var(--roam-ref-palette-sage);color:var(--roam-ref-palette-forest)}
.btn-sage:is(:hover,:focus-visible){background:var(--roam-ref-palette-sage-active);color:var(--roam-ref-palette-forest)}
.btn-cream{border-color:transparent;background:var(--roam-ref-palette-cream);color:var(--roam-ref-palette-forest)}
.btn-cream:is(:hover,:focus-visible){background:var(--roam-ref-palette-cream-active);color:var(--roam-ref-palette-forest)}
.btn-danger{border-color:transparent;background:var(--roam-ref-palette-error);color:var(--roam-ref-palette-cream)}
.btn-danger:is(:hover,:focus-visible){background:var(--roam-ref-palette-error-active);color:var(--roam-ref-palette-cream)}

.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:var(--roam-ref-spacing-10);min-height:52px;padding:0 var(--roam-ref-spacing-24);border:1.5px solid var(--roam-ref-palette-forest);border-radius:var(--roam-sys-shape-full);background:transparent;font:inherit;font-weight:var(--roam-ref-weight-semibold);text-decoration:none;color:var(--roam-ref-palette-forest);transition:background-color var(--roam-ref-duration-base),border-color var(--roam-ref-duration-base),color var(--roam-ref-duration-base)}
.btn-line:is(:hover,:focus-visible){background:var(--roam-ref-palette-forest);color:var(--roam-ref-palette-cream)}

/* More outlines: gold, teal and cream sit on forest; danger on a light surface. The hover fills with the colour. */
.btn-line-gold{border-color:var(--roam-ref-palette-gold);color:var(--roam-ref-palette-gold)}
.btn-line-gold:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-gold);background:var(--roam-ref-palette-gold);color:var(--roam-ref-palette-forest)}
.btn-line-teal{border-color:var(--roam-ref-palette-teal);color:var(--roam-ref-palette-teal)}
.btn-line-teal:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-teal);background:var(--roam-ref-palette-teal);color:var(--roam-ref-palette-forest)}
.btn-line-cream{border-color:var(--roam-ref-palette-cream-a40);color:var(--roam-ref-palette-cream)}
.btn-line-cream:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-cream);background:var(--roam-ref-palette-cream);color:var(--roam-ref-palette-forest)}
.btn-line-danger{border-color:var(--roam-ref-palette-error-a40);color:var(--roam-ref-palette-error)}
.btn-line-danger:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-error);background:var(--roam-ref-palette-error);color:var(--roam-ref-palette-cream)}

/* After .btn-line, so it sizes both kinds. The icon keeps its size when a narrow column squeezes the label. */
.btn-md{box-sizing:border-box;min-height:48px;padding:0 var(--roam-ref-spacing-24);border-width:1.5px;font-size:var(--roam-sys-type-body-sm)}
.btn-md > svg{flex:none}

/* The small size (32px), after .btn-line so it sizes both kinds. */
.btn-sm{gap:var(--roam-ref-spacing-8);min-height:32px;padding:0 var(--roam-ref-spacing-12);font-size:var(--roam-sys-type-label)}
/* The smallest size (28px), for dense rows; after .btn-md so it wins on equal specificity. */
.btn-xs{gap:var(--roam-ref-spacing-4);min-height:28px;padding:0 var(--roam-ref-spacing-12);font-size:var(--roam-sys-type-caption)}
/* Layout helpers: full width, a row of buttons, a label that must not wrap. */
.btn-block{box-sizing:border-box;width:100%}
.btn-nowrap{white-space:nowrap}
.btn-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--roam-ref-spacing-8)}
/* States. Disabled: dimmed and inert. Busy (aria-busy="true"): a spinner after the label, inert while it works;
   the spin takes its time from the duration scale, so reduced motion stills it. */
:is(.btn,.btn-line):is(:disabled,[aria-disabled="true"],[aria-busy="true"]){cursor:not-allowed;pointer-events:none}
:is(.btn,.btn-line):is(:disabled,[aria-disabled="true"]){opacity:var(--roam-ref-opacity-40)}
:is(.btn,.btn-line)[aria-busy="true"]::after{content:"";flex:none;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--roam-sys-shape-full);animation:btn-spin var(--roam-ref-duration-longer) linear infinite}
@keyframes btn-spin{to{transform:rotate(360deg)}}

}
/* ── components/eco-product.css ── */
@layer board{
.ep{font-family:var(--roam-ref-typeface-body);color:var(--roam-ref-palette-forest);background:var(--roam-ref-palette-cream)}
.ep-teal{--ep-acc:var(--roam-ref-palette-teal);--ep-ink:var(--roam-ref-palette-teal-670);--ep-tint:var(--roam-ref-palette-teal-a14);--ep-mark:var(--roam-ref-palette-teal);--ep-ring:var(--roam-ref-palette-teal-a40)}
.ep-sage{--ep-acc:var(--roam-ref-palette-sage);--ep-ink:var(--roam-ref-palette-olive-700);--ep-tint:var(--roam-ref-palette-sage-a18);--ep-mark:var(--roam-ref-palette-sage);--ep-ring:var(--roam-ref-palette-sage-a40)}
.ep-gold{--ep-acc:var(--roam-ref-palette-gold);--ep-ink:var(--roam-ref-palette-gold-640);--ep-tint:var(--roam-ref-palette-gold-a18);--ep-mark:var(--roam-ref-palette-gold);--ep-ring:var(--roam-ref-palette-gold-a40)}
.ep-cream{--ep-acc:var(--roam-ref-palette-sand-400);--ep-ink:var(--roam-ref-palette-sand-720);--ep-tint:var(--roam-ref-palette-sand-400-a18);--ep-mark:var(--roam-ref-palette-cream);--ep-ring:var(--roam-ref-palette-cream-a8)}
/* The hero drawing's accent shapes. */
.ep-accent{fill:var(--ep-acc)}

/* Hero: a warm wash with the tone's tint, closed by the brand rule. */
.ep-hero{position:relative;padding:var(--roam-ref-spacing-40) 0 var(--roam-ref-spacing-56);background:radial-gradient(55% 70% at 100% 0%,var(--roam-ref-palette-gold-a16),transparent 70%),radial-gradient(45% 60% at 0% 100%,var(--ep-tint),transparent 70%),var(--roam-ref-palette-cream)}
.ep-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--roam-ref-gradient-brand)}
.ep-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--roam-sys-space-split);align-items:center}
.ep-back{grid-column:1 / -1;margin-bottom:var(--roam-sys-flow-coupled)}
.ep-back a{display:inline-flex;align-items:center;height:20px;font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-bold);letter-spacing:var(--roam-ref-tracking-lg);text-transform:uppercase;text-decoration:none;color:var(--roam-ref-palette-teal-670)}
.ep-head{display:flex;align-items:center;gap:var(--roam-ref-spacing-16)}
.ep-icon{box-sizing:border-box;display:grid;flex:none;place-content:center;width:64px;height:64px;border:1px solid var(--ep-ring);border-radius:var(--roam-sys-shape-xl);background:var(--roam-ref-palette-forest);color:var(--ep-mark)}
.ep-icon svg{width:30px;height:30px;stroke:currentColor}
.ep-cat{margin:0;font-size:var(--roam-sys-type-label);font-weight:var(--roam-ref-weight-bold);letter-spacing:var(--roam-ref-tracking-lg);text-transform:uppercase;color:var(--ep-ink)}
.ep-name{margin:var(--roam-sys-flow-coupled) 0 0;font-family:var(--roam-ref-typeface-display);font-size:var(--roam-sys-type-hero);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-tight);letter-spacing:var(--roam-ref-tracking-display);color:var(--roam-ref-palette-forest)}
.ep-tag{display:inline-flex;align-items:center;height:30px;margin:var(--roam-ref-spacing-16) 0 0;padding:0 var(--roam-ref-spacing-14);border-radius:var(--roam-sys-shape-full);background:var(--ep-tint);font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-bold);letter-spacing:var(--roam-ref-tracking-sm);text-transform:uppercase;color:var(--ep-ink)}
/* Products not yet live: a small outlined status beside the tagline. */
.ep-status{padding:var(--roam-ref-spacing-2) var(--roam-ref-spacing-10);border:1px solid var(--roam-ref-palette-sage-a15);border-radius:var(--roam-sys-shape-full);font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-semibold);letter-spacing:var(--roam-ref-tracking-md);text-transform:uppercase;white-space:nowrap;color:var(--roam-ref-palette-sage)}
.ep-line{margin:var(--roam-sys-flow-separated) 0 0;font-family:var(--roam-ref-typeface-display);font-size:var(--roam-sys-type-section);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-tight);letter-spacing:var(--roam-ref-tracking-display);text-wrap:balance;color:var(--roam-ref-palette-forest)}
/* The headline's highlighter stroke in the tone's tint. */
.ep-line em{font-style:normal;background:linear-gradient(transparent 68%,var(--ep-tint) 68%)}
.ep-intro{max-width:54ch;margin:var(--roam-sys-flow-related) 0 0;font-size:var(--roam-sys-type-lead);line-height:var(--roam-ref-leading-snug);color:var(--roam-ref-palette-forest-720)}
.ep-proof{display:inline-flex;margin-top:var(--roam-ref-spacing-28);padding:var(--roam-sys-space-pad) var(--roam-sys-space-pad-lg);border:1px solid var(--roam-ref-palette-sand-150);border-radius:var(--roam-sys-shape-card);background:var(--roam-ref-palette-white);box-shadow:var(--roam-ref-shadow-3)}
.ep-proof-text{display:flex;align-items:center;gap:var(--roam-ref-spacing-12);margin:0;font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-snug);color:var(--roam-ref-palette-forest-720)}
.ep-proof-text::before{content:"";flex:none;width:10px;height:10px;border-radius:var(--roam-sys-shape-full);background:var(--ep-acc);box-shadow:0 0 0 5px var(--ep-tint)}

/* The product window: a framed app window with a title bar, a chart and a "by ROAM" chip. */
.ep-vis{position:relative;padding:var(--roam-ref-spacing-40) var(--roam-ref-spacing-32);border-radius:var(--roam-sys-shape-container);background:radial-gradient(70% 60% at 85% 10%,var(--roam-ref-palette-gold-a24),transparent 70%),radial-gradient(60% 60% at 0% 100%,var(--ep-tint),transparent 70%),linear-gradient(150deg,var(--roam-ref-palette-gold-60) 0%,var(--roam-ref-palette-gold-130) 100%);box-shadow:0 1px 0 var(--roam-ref-palette-white-a70) inset,var(--roam-ref-shadow-5)}
.ep-vis::before{content:"";position:absolute;inset:var(--roam-ref-spacing-12);border:1px solid var(--roam-ref-palette-white-a70);border-radius:var(--roam-sys-shape-card);pointer-events:none}
.ep-win{position:relative;overflow:hidden;border-radius:var(--roam-sys-shape-xl);background:var(--roam-ref-palette-white);box-shadow:var(--roam-ref-shadow-5)}
.ep-bar{box-sizing:border-box;display:flex;align-items:center;gap:var(--roam-ref-spacing-6);height:44px;padding:0 var(--roam-ref-spacing-16);border-bottom:1px solid var(--roam-ref-palette-sand-90);background:var(--roam-ref-palette-cream)}
.ep-bar i{width:9px;height:9px;border-radius:var(--roam-sys-shape-full);background:var(--roam-ref-palette-sand-150)}
.ep-bar b{display:flex;align-items:center;gap:var(--roam-ref-spacing-8);margin-left:var(--roam-ref-spacing-10);font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-bold);color:var(--roam-ref-palette-forest)}
.ep-bar svg,.ep-chip svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ep-bar svg{width:16px;height:16px;color:var(--ep-ink)}
.ep-screen{padding:var(--roam-ref-spacing-20)}
.ep-screen svg{display:block;width:100%;height:auto}
.ep-chip{position:absolute;right:var(--roam-ref-spacing-8);bottom:var(--roam-ref-spacing-12);display:flex;align-items:center;gap:var(--roam-ref-spacing-10);padding:var(--roam-ref-spacing-12) var(--roam-ref-spacing-16);border-radius:var(--roam-sys-shape-inset);background:var(--roam-ref-palette-forest);font-size:var(--roam-sys-type-label);font-weight:var(--roam-ref-weight-bold);color:var(--roam-ref-palette-cream);box-shadow:var(--roam-ref-shadow-5)}
.ep-chip svg{width:18px;height:18px;color:var(--ep-acc)}

/* Sections: an eyebrow and a title with a short brand rule under it. */
.ep-sec{padding:var(--roam-sys-space-section-y) 0;border-top:1px solid var(--roam-ref-palette-sand-150)}
.ep-caps{background:var(--roam-ref-palette-white)}
.ep-eyebrow{margin:0;font-size:var(--roam-sys-type-label);font-weight:var(--roam-ref-weight-bold);letter-spacing:var(--roam-ref-tracking-lg);text-transform:uppercase;color:var(--roam-ref-palette-gold-640)}
.ep-title{margin:var(--roam-sys-flow-coupled) 0 0;font-family:var(--roam-ref-typeface-display);font-size:var(--roam-sys-type-subsection);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-tight);letter-spacing:var(--roam-ref-tracking-display);color:var(--roam-ref-palette-forest)}
.ep-title::after{content:"";display:block;width:48px;height:3px;margin-top:var(--roam-ref-spacing-20);border-radius:var(--roam-sys-shape-xs);background:var(--roam-ref-gradient-brand)}

/* Capabilities: numbered cards, the number tile spanning the card's rows. */
.ep-feats{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--roam-sys-space-gap);margin-top:var(--roam-sys-flow-major)}
.ep-feat{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--roam-ref-spacing-8) var(--roam-ref-spacing-16);padding:var(--roam-sys-space-pad-lg);border:1px solid var(--roam-ref-palette-sand-150);border-radius:var(--roam-sys-shape-card);background:linear-gradient(180deg,var(--roam-ref-palette-white),var(--roam-ref-palette-cream));transition:transform var(--roam-ref-duration-base),box-shadow var(--roam-ref-duration-base)}
.ep-feat:hover{transform:translateY(-3px);box-shadow:var(--roam-ref-shadow-4)}
.ep-feat-num{display:grid;grid-row:1 / span 3;place-items:center;width:44px;height:44px;margin-bottom:var(--roam-sys-flow-coupled);border-radius:var(--roam-sys-shape-inset);background:var(--ep-tint);font-family:var(--roam-ref-typeface-display);font-size:var(--roam-sys-type-small);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-none);color:var(--ep-ink)}
.ep-feat-title{grid-column:2;margin:0;font-family:var(--roam-ref-typeface-display);font-size:var(--roam-sys-type-card);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-heading);letter-spacing:var(--roam-ref-tracking-display);color:var(--roam-ref-palette-forest)}
.ep-feat-rule{grid-column:2;width:32px;height:2px;margin:var(--roam-sys-flow-tight) 0;border:0;border-radius:var(--roam-sys-shape-xs);background:var(--ep-acc)}
.ep-feat-body{grid-column:2;margin:0;line-height:var(--roam-ref-leading-snug);color:var(--roam-ref-palette-forest-720)}

/* Built for: a person mark over each audience. */
.ep-users{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--roam-sys-space-gap);margin-top:var(--roam-sys-flow-major)}
.ep-user{display:flex;flex-direction:column;align-items:center;gap:var(--roam-sys-flow-related);padding:var(--roam-sys-space-pad-lg);border:1px solid var(--roam-ref-palette-sand-150);border-radius:var(--roam-sys-shape-card);background:var(--roam-ref-palette-white)}
.ep-user::before{content:"";flex:none;width:48px;height:48px;border-radius:var(--roam-sys-shape-inset);background:var(--ep-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2B27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") center/22px no-repeat}
.ep-user p{margin:0;font-size:var(--roam-sys-type-lead);font-weight:var(--roam-ref-weight-semibold);line-height:var(--roam-ref-leading-cozy)}

/* Closing band: forest with warm and teal glows, the brand rule on top. */
.ep-cta{padding-bottom:var(--roam-sys-space-section-y)}
.ep-cta-band{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--roam-sys-space-gap);padding:var(--roam-sys-flow-major) var(--roam-ref-spacing-24);border-radius:var(--roam-sys-shape-feature);background:radial-gradient(60% 90% at 100% 0%,var(--roam-ref-palette-gold-a30),transparent 70%),radial-gradient(50% 80% at 0% 100%,var(--roam-ref-palette-teal-a24),transparent 70%),linear-gradient(135deg,var(--roam-ref-palette-forest) 0%,var(--roam-ref-palette-forest-820) 55%,var(--roam-ref-palette-forest-light) 100%)}
.ep-cta-band::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--roam-ref-gradient-brand)}
.ep-cta-title{margin:0;font-family:var(--roam-ref-typeface-display);font-size:var(--roam-sys-type-card);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-heading);letter-spacing:var(--roam-ref-tracking-display);color:var(--roam-ref-palette-cream)}
.ep-cta-body{margin:var(--roam-sys-flow-coupled) 0 0;font-size:var(--roam-sys-type-lead);line-height:var(--roam-ref-leading-body);color:var(--roam-ref-palette-forest-190)}
.ep-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--roam-ref-spacing-12)}
/* The outlined button on the dark band. */
.ep-cta-line{border-color:var(--roam-ref-palette-cream-a40);color:var(--roam-ref-palette-cream)}
.ep-cta-line:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-cream);background:transparent;color:var(--roam-ref-palette-cream)}

@media (min-width:768px){
  .ep-hero{padding:var(--roam-ref-spacing-56) 0 var(--roam-ref-spacing-96)}
  .ep-chip{right:-12px;bottom:var(--roam-ref-spacing-28)}
    .ep-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ep-feat{grid-template-columns:56px minmax(0,1fr);column-gap:var(--roam-ref-spacing-20);}
  .ep-feat-num{width:56px;height:56px;border-radius:var(--roam-sys-shape-xl);}
    .ep-cta-band{padding:var(--roam-sys-space-section-y) var(--roam-ref-spacing-48)}
}
@media (min-width:1024px){
  .ep-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .ep-users{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ep-cta-band{flex-direction:row;align-items:center}
}

}
/* ── components/grid.css ── */
@layer board{

.g{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--roam-sys-space-gap)}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}

@media (min-width:768px){
.g-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-md-2>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - var(--roam-sys-space-gap) / 2)}
}

@media (min-width:1024px){
.g-lg-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-lg-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-lg-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.g-md-2>:last-child:nth-child(odd){grid-column:auto;justify-self:auto;width:auto}
}

}
/* ── components/header.css ── */
@layer board{




body{overflow-x:clip}


/* Platform status pills after a stat row (/guarantee/): the major flow step, as the old badge row had. */


}
/* ── components/site-header.css ── */
@layer board{

/* ── Guarantee bar ───────────────────────────────────────────────────────────────────────────────────────── */
.v3-bar{display:block;box-sizing:border-box;height:36px;padding:9px 0;background:var(--roam-ref-palette-gold);font-size:var(--roam-sys-type-body-sm);font-weight:var(--roam-ref-weight-medium);line-height:18px;text-decoration:none;color:var(--roam-ref-palette-forest)}
.v3-bar:has(.v3-bar-link:hover){background:var(--roam-ref-palette-gold-370)}
/* One line at every width; the close button sits over the row's right end. */
.v3-bar-row{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--roam-ref-spacing-8);font-size:var(--roam-sys-type-caption);white-space:nowrap}
.v3-bar-link{display:inline-flex;align-items:center;gap:var(--roam-ref-spacing-8);margin-right:var(--roam-ref-spacing-24);text-decoration:none;color:inherit}
.v3-bar-ic{display:none;flex:none;place-items:center;box-sizing:border-box;width:18px;height:18px;border:1.5px solid var(--roam-ref-palette-forest-a50);border-radius:50%;font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-bold);line-height:var(--roam-ref-leading-none);color:var(--roam-ref-palette-forest)}
/* The guarantee's qualifier and terms link, from 768px. */
.v3-bar-more{display:none}
.v3-bar-more a{text-decoration:underline;text-underline-offset:var(--roam-ref-spacing-3);color:inherit}
.v3-bar-x{position:absolute;top:50%;right:calc(var(--roam-sys-space-page-x) - var(--roam-ref-spacing-12));width:44px;height:44px;padding:0;border:0;background:transparent;font:inherit;color:inherit;opacity:var(--roam-ref-opacity-70);cursor:pointer;transform:translateY(-50%);transition:opacity var(--roam-ref-duration-fast) ease}
.v3-bar-x:is(:hover,:focus-visible){opacity:1}
/* The two-bar X. */
.roam-x{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--roam-ref-spacing-6)}
.roam-x__bar{width:20px;height:2px;border-radius:var(--roam-sys-shape-xs);background:currentColor}
.roam-x__bar:first-child{transform:rotate(45deg) translateY(4px)}
.roam-x__bar:last-child{transform:rotate(-45deg) translateY(-4px)}

/* ── Header row ──────────────────────────────────────────────────────────────────────────────────────────── */
.v3-hdr{position:sticky;top:0;z-index:var(--roam-ref-z-dropdown);border-bottom:1px solid var(--roam-ref-palette-cream-a6);background:linear-gradient(145deg,var(--roam-ref-palette-forest) 0%,var(--roam-ref-palette-forest-light) 100%)}
.v3-hdr-row{display:flex;align-items:center;height:64px}
.v3-hdr-logo{display:flex;align-items:center}
.v3-hdr-logo-img{display:block;width:auto;height:24px}

/* The menus (from 1024px). */
.v3-nav{display:none}
.v3-nav-item{position:relative;display:flex;align-items:center;min-height:72px}
.v3-nav-top{display:inline-flex;align-items:center;gap:var(--roam-ref-spacing-6);font-size:var(--roam-sys-type-body);font-weight:var(--roam-ref-weight-medium);white-space:nowrap;text-decoration:none;color:var(--roam-ref-palette-cream-a86)}
.v3-nav-top:hover,.v3-nav-item.is-open .v3-nav-top{color:var(--roam-ref-palette-cream)}
.v3-nav-top svg{transition:transform var(--roam-ref-duration-base)}
.v3-nav-item.is-open .v3-nav-top svg{transform:rotate(180deg)}
.v3-menu{position:absolute;top:100%;left:50%;z-index:var(--roam-ref-z-nav);min-width:260px;padding:var(--roam-sys-space-pad-sm);border:1px solid var(--roam-ref-palette-sand-150);border-radius:var(--roam-sys-shape-xl);background:var(--roam-ref-palette-white);box-shadow:var(--roam-ref-shadow-4),var(--roam-ref-shadow-1);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity var(--roam-ref-duration-fast),transform var(--roam-ref-duration-fast),visibility var(--roam-ref-duration-fast)}
.v3-nav-item.is-open .v3-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.v3-menu-wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--roam-ref-spacing-4) var(--roam-ref-spacing-12);min-width:520px}
.v3-menu ul{margin:0;padding:0;list-style:none}
.v3-menu a{display:block;padding:var(--roam-ref-spacing-10) var(--roam-ref-spacing-14);border-radius:var(--roam-sys-shape-lg);font-size:var(--roam-sys-type-body);font-weight:var(--roam-ref-weight-medium);line-height:var(--roam-ref-leading-cozy);white-space:nowrap;text-decoration:none;color:var(--roam-ref-palette-forest)}
.v3-menu a:is(:hover,:focus-visible){background:var(--roam-ref-palette-sand-90);color:var(--roam-ref-palette-forest)}
.v3-menu a[aria-current="page"]{background:var(--roam-ref-palette-gold-60);color:var(--roam-ref-palette-gold-640)}
.v3-menu-group{padding-left:var(--roam-ref-spacing-12);border-left:1px solid var(--roam-ref-palette-sand-90)}
.v3-menu-label{margin:var(--roam-sys-flow-tight) var(--roam-ref-spacing-14);font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-bold);letter-spacing:var(--roam-ref-tracking-sm);text-transform:uppercase;color:var(--roam-ref-palette-stone-610)}

/* The phone number (from 1280px) and the call to action. */
.v3-hdr-phone{display:none;font-size:var(--roam-sys-type-body);font-weight:var(--roam-ref-weight-semibold);white-space:nowrap;text-decoration:none;color:var(--roam-ref-palette-cream)}
.v3-hdr-phone:is(:hover,:focus-visible){text-decoration:underline;color:var(--roam-ref-palette-cream)}
.v3-hdr-cta{height:32px;min-height:32px;margin-left:auto;padding:0 var(--roam-ref-spacing-18);font-size:var(--roam-sys-type-body-sm);letter-spacing:var(--roam-ref-tracking-sm);line-height:var(--roam-ref-leading-none);white-space:nowrap}
.v3-hdr-cta-long{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0)}
.v3-hdr-cta-short{display:inline}

/* The burger: two bars that turn into an X while the drawer is open. */
.v3-burger{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 -10px 0 -8px;padding:0;border:0;background:transparent;cursor:pointer}
.v3-burger-box{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:var(--roam-ref-spacing-6);width:28px;height:28px}
.v3-burger-l,.v3-burger-s{display:block;border-radius:var(--roam-sys-shape-xs);background:var(--roam-ref-palette-cream);transition:transform var(--roam-ref-duration-base)}
.v3-burger-l{width:20px;height:2px}
.v3-burger-s{width:14px;height:1px}
.v3-drawer-open .v3-burger-l{transform:rotate(45deg) translateY(4px)}
.v3-drawer-open .v3-burger-s{width:20px;transform:rotate(-45deg) translateY(-4px)}

/* ── Drawer (under 1024px): a panel floating under the header row ───────────────────────────────────────── */
html.v3-drawer-open{overflow:hidden}
.v3-drawer{position:absolute;top:calc(100% + var(--roam-ref-spacing-8));right:var(--roam-ref-spacing-8);left:var(--roam-ref-spacing-8);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--roam-ref-palette-sand-150);border-radius:var(--roam-sys-shape-xl);background:var(--roam-ref-palette-cream);box-shadow:var(--roam-ref-shadow-5)}
.v3-drawer .wrap{padding-top:var(--roam-ref-spacing-8);padding-bottom:var(--roam-ref-spacing-24)}
.v3-drawer-group{border-bottom:1px solid var(--roam-ref-palette-sand-150)}
.v3-drawer-group summary{padding:var(--roam-ref-spacing-16) 0;font-size:var(--roam-sys-type-small);font-weight:var(--roam-ref-weight-semibold);color:var(--roam-ref-palette-forest)}
.v3-drawer-group summary svg{flex:none;color:var(--roam-ref-palette-gold-640);transition:transform var(--roam-ref-duration-base)}
.v3-drawer-group[open] summary svg{transform:rotate(180deg)}
.v3-drawer-group ul{margin:0 0 var(--roam-sys-flow-close);padding:0;list-style:none}
.v3-drawer-group a{display:flex;align-items:center;min-height:44px;padding:0 var(--roam-ref-spacing-12);border-radius:var(--roam-sys-shape-lg);font-size:var(--roam-sys-type-body);text-decoration:none;color:var(--roam-ref-palette-forest-720)}
.v3-drawer-group a:hover{background:var(--roam-ref-palette-sand-90);color:var(--roam-ref-palette-forest)}
.v3-drawer .v3-menu-label{margin:var(--roam-sys-flow-tight) var(--roam-ref-spacing-12)}
.v3-drawer-foot{display:flex;flex-direction:column;align-items:stretch;gap:var(--roam-ref-spacing-14);padding-top:var(--roam-ref-spacing-20);text-align:center}
.v3-drawer-foot a.num{font-weight:var(--roam-ref-weight-semibold);text-decoration:none;color:var(--roam-ref-palette-forest)}

@media (min-width:480px){
.v3-bar-ic{display:inline-grid}
.v3-hdr-cta-long{position:static;overflow:visible;width:auto;height:auto;clip:auto}
.v3-hdr-cta-short{display:none}
}

@media (min-width:768px){
.v3-bar-row{gap:var(--roam-ref-spacing-10);font-size:inherit;white-space:normal}
.v3-bar-link{gap:var(--roam-ref-spacing-10);margin-right:0}
.v3-bar-more{display:inline}
.v3-hdr-row{gap:var(--roam-ref-spacing-36);height:72px}
.v3-hdr-logo-img{height:32px}
.v3-hdr-cta{height:auto;min-height:40px;line-height:inherit}
.v3-burger{margin-left:var(--roam-ref-spacing-8)}
}

@media (min-width:1024px){
.v3-hdr-row{gap:0}
.v3-nav{display:flex;flex:1;justify-content:space-evenly}
.v3-burger,.v3-drawer{display:none}
html.v3-drawer-open{overflow:visible}
}

@media (min-width:1280px){
.v3-hdr-phone{display:inline}
.v3-hdr-cta{margin-left:var(--roam-ref-spacing-36);padding:0 var(--roam-ref-spacing-20);font-size:var(--roam-sys-type-label);letter-spacing:var(--roam-ref-tracking-xs)}
}

}
/* ── components/footer.css ── */
@layer board{

.v3-footer{padding:var(--roam-sys-space-section-y) 0 var(--roam-sys-flow-major);overflow:hidden;background:linear-gradient(180deg,var(--roam-ref-palette-cream) 0%,var(--roam-ref-palette-sand-90) 100%);box-shadow:inset 0 12px 24px -12px var(--roam-ref-palette-forest-a12);color:var(--roam-ref-palette-forest)}

/* ── Brand and contact ───────────────────────────────────────────────────────────────────────────────────── */
.footer-top{display:flex;flex-direction:column;justify-content:space-between;gap:var(--roam-sys-space-split);padding-bottom:var(--roam-sys-space-section-y);border-bottom:1px solid var(--roam-ref-palette-sand-190)}
.footer-brand{max-width:440px}
.footer-logo{display:inline-block}
.footer-logo-img{display:block;width:auto;height:40px}
.footer-about{margin:var(--roam-sys-flow-related) 0 0;line-height:var(--roam-ref-leading-snug);color:var(--roam-ref-palette-forest-720)}
.footer-social{display:flex;gap:var(--roam-ref-spacing-10);margin-top:var(--roam-sys-flow-separated)}
.footer-social-link{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--roam-ref-palette-sand-190);border-radius:50%;color:var(--roam-ref-palette-forest)}
.footer-social-link:is(:hover,:focus-visible){border-color:var(--roam-ref-palette-forest);color:var(--roam-ref-palette-forest)}
/* Column headings carry a short gold rule under them. */
.footer-heading{margin:0 0 var(--roam-sys-flow-related);padding-bottom:var(--roam-ref-spacing-10);background:linear-gradient(90deg,var(--roam-ref-palette-gold) 0 28px,transparent 28px) bottom left/100% 2px no-repeat;font-size:var(--roam-sys-type-caption);font-weight:var(--roam-ref-weight-bold);letter-spacing:var(--roam-ref-tracking-sm);text-transform:uppercase;color:var(--roam-ref-palette-forest)}
.footer-heading-link{text-decoration:none;color:inherit}
.footer-contact{display:flex;flex-wrap:wrap;gap:var(--roam-ref-spacing-8);max-width:420px}
.footer-contact-link{display:inline-flex;align-items:center;height:36px;padding:0 var(--roam-ref-spacing-14);border:1px solid var(--roam-ref-palette-sand-150);border-radius:var(--roam-sys-shape-full);background:var(--roam-ref-palette-white);font-size:var(--roam-sys-type-body-sm);font-weight:var(--roam-ref-weight-medium);text-decoration:none;color:var(--roam-ref-palette-forest)}
.footer-cta{min-height:44px;margin-top:var(--roam-ref-spacing-18);font-size:var(--roam-sys-type-body-sm)}

/* ── Link columns ────────────────────────────────────────────────────────────────────────────────────────── */
.footer-cols{gap:var(--roam-sys-space-gap);padding:var(--roam-sys-space-section-y) 0}
.footer-col{min-width:0}
.footer-links{display:flex;flex-direction:column;gap:var(--roam-ref-spacing-10);margin:0;padding:0;list-style:none}
.footer-link{font-size:var(--roam-sys-type-body-sm);line-height:var(--roam-ref-leading-cozy);text-decoration:none;color:var(--roam-ref-palette-forest-720)}
:is(.footer-heading-link,.footer-contact-link,.footer-link):is(:hover,:focus-visible){text-decoration:underline;color:var(--roam-ref-palette-forest)}

.footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--roam-ref-spacing-16);padding-top:var(--roam-sys-flow-separated);border-top:1px solid var(--roam-ref-palette-sand-150);font-size:var(--roam-sys-type-label);color:var(--roam-ref-palette-stone-610)}

@media (min-width:768px){
.footer-cols{row-gap:var(--roam-sys-space-split)}
}

@media (min-width:1024px){
.footer-top{flex-direction:row}
}

}
