/* Blog subset of /styles.css: only rules whose classes appear in public/blog, public/authors
   and public/about pages (or are toggled by app.js / blog.js / sticky-cta.js). Generated 2026-10-02.
   Regenerate rather than hand-editing if a post starts using a new /styles.css class. */
:root{--forest:#0B3027; --forest-ink:#071F1A; --ivory:#FBF9F5; --soft-white:#FFFFFF; --surface-cream:#F4F1EA; --sage:#8C9B8B; --champagne:#C9B99E; --charcoal:#293B35; --charcoal-70:#3F4F49; --warm-grey:#6F7772; --stone:#D9D7D0; --stone-2:#C7C4BA; --cream:var(--ivory); --cream-2:var(--surface-cream); --panel:var(--soft-white); --ink:var(--charcoal); --ink-70:var(--charcoal-70); --ink-50:var(--warm-grey); --line:var(--stone); --line-2:var(--stone-2); --dark:var(--forest); --dark-2:var(--forest-ink); --dark-line:rgba(255,255,255,.09); --grid-line:rgba(41,59,53,.05); --grid-line-dark:rgba(255,255,255,.05); --pink:var(--forest); --mag:var(--forest); --vio:var(--sage); --pur:var(--champagne); --grad:var(--forest); --grad-soft:rgba(140,155,139,.12); --grid:120px; --gutter:clamp(20px,5vw,48px); --sec-pad:clamp(110px,11vw,184px); --maxw:1240px; --btn-h:60px; --btn-pad:32px; --btn-r:8px; --r-lg:16px; --r-md:14px; --r-sm:10px; --shadow:0 20px 40px -30px rgba(7,31,26,.18); --shadow-sm:0 8px 20px -14px rgba(7,31,26,.16); --display:"General Sans",-apple-system,BlinkMacSystemFont,sans-serif; --body:"General Sans",-apple-system,BlinkMacSystemFont,sans-serif;}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;width:100%}
body{font-family:var(--body); background:var(--panel); color:var(--ink); line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; width:100%;}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.display{font-family:var(--display); font-weight:600; letter-spacing:-.03em; line-height:.97; font-size:clamp(44px,7.2vw,88px);}
.section-sub{font-size:clamp(15px,1.5vw,18px); line-height:1.65; color:var(--ink-70); max-width:54ch; margin-top:21px;}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase; color:var(--ink-50);}
.eyebrow.light{color:rgba(255,255,255,.55)}
.center{text-align:center;margin-left:auto;margin-right:auto}
.light{color:#fff}
.ink-grad{font-style:italic; font-weight:600; color:var(--forest);}
.dark .ink-grad,.footer .ink-grad{color:var(--champagne)}
.grid-bg{background-color:var(--cream); background-image:linear-gradient(var(--grid-line) 1px,transparent 1px), linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size:var(--grid) var(--grid); background-position:center top;}
.dark{background-color:var(--dark);color:#fff}
.dark .section-sub{color:rgba(255,255,255,.62)}
.btn{display:inline-flex;align-items:center;justify-content:center; height:var(--btn-h); padding:0 var(--btn-pad); border-radius:var(--btn-r); font-family:var(--body); font-size:15px;font-weight:600;letter-spacing:.005em; white-space:nowrap;cursor:pointer;border:1px solid transparent; transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s,color .25s,border-color .25s;}
.btn--grad{background:var(--forest);color:var(--soft-white);font-weight:600;border:none;box-shadow:var(--shadow-sm)}
.btn--grad:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:active{transform:translateY(0) scale(.98);transition-duration:.1s}
.btn--ghost{background:transparent;color:var(--forest);border-color:var(--stone)}
.btn--ghost:hover{background:var(--forest);color:var(--soft-white);border-color:var(--forest)}
.btn--lg{height:var(--btn-h);padding:0 38px}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800}
.brand__mark{width:34px;height:34px;flex:0 0 auto; background: radial-gradient(circle at 50% 50%,#fff 0 14%,transparent 15%) , var(--grad); -webkit-mask:url("assets/logo-mark.svg") center/contain no-repeat; mask:url("assets/logo-mark.svg") center/contain no-repeat; background:var(--grad);}
.footer .brand__mark,.dark .brand__mark{background:#fff}
.footer .brand__name .ink-grad,.dark .brand__name .ink-grad{color:#fff}
.brand__name{font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:-.03em}
.brand__name .ink-grad{font-style:normal}
.brand__name.light{color:#fff}
.hero{position:relative;padding:clamp(56px,8vw,104px) var(--gutter) 0;overflow:hidden}
.aura{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(60px)}
.aura--1{display:block;width:680px;height:680px;top:-240px;left:50%;transform:translateX(-50%);opacity:.12; background:radial-gradient(circle,rgba(140,155,139,.5),transparent 70%); animation:floaty 20s ease-in-out infinite}
.aura--2{display:block;width:620px;height:620px;bottom:-260px;left:50%;transform:translateX(-50%);opacity:.14; background:radial-gradient(circle,rgba(140,155,139,.5),transparent 72%)}
.hero__head{position:relative;z-index:2;text-align:center;max-width:880px;margin:0 auto; display:flex;flex-direction:column;align-items:center;gap:18px}
.hero__head .eyebrow{animation:rise .7s both}
.hero h1{animation:rise .7s .05s both}
.hero__sub{font-size:clamp(15px,1.6vw,18px);color:var(--ink-70);max-width:50ch;animation:rise .7s .12s both}
.hero__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:8px;animation:rise .7s .16s both}
.badge{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px; border:1px solid var(--line-2);background:var(--panel);font-size:12.5px;font-weight:600;color:var(--ink-70); box-shadow:0 4px 14px -12px rgba(10,10,12,.5)}
.badge svg{width:14px;height:14px;flex:0 0 auto;color:var(--mag)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--cream-2);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--grad);cursor:pointer;box-shadow:0 4px 12px -4px rgba(11,48,39,.7);border:3px solid #fff}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:#e0249a;cursor:pointer}
.cta{position:relative;padding:clamp(90px,12vw,150px) var(--gutter);text-align:center;overflow:hidden}
.cta *{position:relative;z-index:2}
.cta .aura{position:absolute;z-index:0}
.cta .display{font-size:clamp(40px,6.4vw,82px);margin:14px auto 0;max-width:14ch}
.cta .section-sub{margin:18px auto 0}
.cta .btn{margin-top:30px}
.cta__note{margin-top:16px;font-size:13px;color:rgba(255,255,255,.5)}
.footer{padding:clamp(48px,6vw,72px) var(--gutter) 40px;border-top:1px solid var(--dark-line)}
.footer__top{display:grid;grid-template-columns:2fr 1.3fr 1.1fr .9fr;gap:40px;align-items:start;max-width:1180px;margin:0 auto}
.footer__brandcol{max-width:34ch}
.footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer__tag{color:rgba(255,255,255,.55);font-size:14px;line-height:1.55}
.footer__col{display:flex;flex-direction:column;gap:11px}
.footer__h{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:4px}
.footer__col a{color:rgba(255,255,255,.72);font-size:14px;transition:color .2s;width:fit-content}
.footer__col a:hover{color:#fff}
.footer__ack{color:rgba(255,255,255,.55);font-size:13px;line-height:1.6;max-width:1180px; margin:36px auto 0;padding-top:22px;border-top:1px solid var(--dark-line)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap; max-width:1180px;margin:36px auto 0;padding-top:22px;border-top:1px solid var(--dark-line)}
.footer__ack + .footer__bottom{margin-top:18px;padding-top:0;border-top:0}
.footer__copy{color:rgba(255,255,255,.4);font-size:13px}
.footer__madein{color:rgba(255,255,255,.4);font-size:13px}
.footer__fine{color:rgba(255,255,255,.3);font-size:11.5px;line-height:1.65;max-width:1180px;margin:20px auto 0;text-align:left}
@media(max-width:760px){.footer__top{grid-template-columns:1fr 1fr;gap:30px}
.footer__brandcol{grid-column:1 / -1}
.footer__bottom{justify-content:flex-start}
}
@media(max-width:840px){.hero__head{text-align:left;align-items:flex-start;max-width:none}
}
@media(max-width:680px){.section-sub{margin-left:auto;margin-right:auto}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}
}
.has-js .reveal{opacity:0;transform:translateY(26px); transition:opacity .7s ease, transform .75s cubic-bezier(.2,.7,.3,1)}
.has-js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.has-js .reveal{opacity:1!important;transform:none!important;transition:none!important}
}
.vsl-tap{position:absolute;inset:0;z-index:2;border:0;cursor:pointer;background:transparent; display:grid;place-items:center;color:#fff;padding:0;}
.vsl-tap svg{opacity:0;width:64px;height:64px;padding:19px;border-radius:50%;background:var(--grad); box-shadow:0 14px 30px -10px rgba(11,48,39,.55);transition:opacity .2s ease;}
.vsl-smart{position:absolute;left:0;right:0;bottom:0;height:6px;z-index:3; background:rgba(255,255,255,.22);pointer-events:none;}
.vsl-smart__fill{height:100%;width:0%;background:var(--grad);transition:width .3s linear}
@keyframes floaty{0%,100%{transform:translateX(-50%) translateY(0)}
50%{transform:translateX(-50%) translateY(26px)}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:none}
}
