
/* Floquy serves these open-licensed Latin WOFF2 files directly from Vercel.
   No browser request to Google Fonts or another font CDN. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-serif-display-latin.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-serif-display-italic-latin.woff2') format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500 700;font-display:swap;src:url('/assets/fonts/caveat-latin.woff2') format('woff2')}
:root{--cream:#fffef3;--ink:#1c2022;--deep:#123e35;--forest:#0a5947;--purple:#d9baff;--orchid:#925dd0;--coral:#ff9e7a;--lime:#e9edcd;--muted:#666e68;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.5 'DM Sans',sans-serif;overflow-x:hidden}button,input{font:inherit}a{text-decoration:none;color:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--orchid);outline-offset:4px}.wrap{max-width:1240px;margin:0 auto;padding:0 34px}
nav.top{position:fixed;z-index:20;top:19px;left:50%;transform:translateX(-50%);width:min(93%,850px);background:#fffdf7ec;border:1px solid #dfddd0;box-shadow:0 6px 30px #00000012;backdrop-filter:blur(18px);border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 16px;gap:18px}
.brand{font-size:19px;letter-spacing:-.07em;font-weight:800;display:flex;align-items:center;gap:7px}.mark{display:block;width:36px;height:36px;object-fit:contain;flex-shrink:0}.navlinks{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}.navlinks>a:not(.nav-cta):hover{color:var(--orchid)}.nav-cta{padding:10px 16px;background:var(--purple);border:1px solid #ca9bf3;border-radius:10px}.nav-cta:hover{background:#ceb0ff}
.hero{min-height:95svh;padding-top:170px;position:relative;display:flex;align-items:center;overflow:hidden}.hero:before{content:"";pointer-events:none;position:absolute;width:50vw;height:50vw;max-width:750px;max-height:750px;border-radius:50%;border:1px solid #e0e4cd;left:-36vw;top:-12vw;box-shadow:0 0 0 90px #e9edd230,0 0 0 175px #e9edd220}.hero .wrap{width:100%;position:relative}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.19em;font-size:10px;color:var(--forest)}h1,h2,h3,p{margin-top:0}.display{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.045em}h1.display{font-size:clamp(72px,10vw,152px);max-width:1100px;margin:20px 0}h1.display em,h2.display em{font-weight:400;color:var(--forest)}.hero-copy{max-width:425px;font-size:16px;color:#59615d;margin:0 0 23px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border-radius:10px;border:1px solid transparent;font-size:13px;font-weight:750;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--deep);color:var(--cream)}.secondary{background:#fffdf7;border-color:#d3d6c3}.button.disabled{cursor:default;opacity:.7}.button.disabled:hover{transform:none}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.script{font-family:'Caveat',cursive;font-weight:600;font-size:clamp(29px,3.8vw,47px);color:var(--orchid);transform:rotate(-4deg);display:inline-block}
.flowband{margin-top:105px;height:82px;background:var(--deep);color:#f9fbe4;transform:rotate(-3.5deg) scale(1.04);display:flex;align-items:center;gap:32px;white-space:nowrap;overflow:hidden;border-top:1px solid #064133;border-bottom:1px solid #064133}.flowband .marquee{display:flex;align-items:center;gap:60px;width:max-content;animation:drift 27s linear infinite}.flowband span{font:italic 31px 'DM Serif Display',serif}.flowband b{font-size:13px;color:var(--purple)}@keyframes drift{to{transform:translateX(-50%)}}
.section{padding:118px 0}.section-label{font-size:10px;color:var(--forest);font-weight:800;letter-spacing:.18em;text-transform:uppercase}.section h2.display{font-size:clamp(52px,6.3vw,92px);margin:18px 0 26px}.lead{font-size:17px;color:var(--muted);max-width:640px;line-height:1.75}.dark{background:var(--deep);color:var(--cream)}.dark .section-label{color:var(--purple)}.dark .lead{color:#c9dcd2}.dark h2 em{color:var(--purple)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.demo{background:var(--lime);border:1px solid #d7ddba;padding:27px;border-radius:25px;box-shadow:0 18px 45px #1a2e1710;min-height:290px;position:relative}.demo-head{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--forest);margin-bottom:22px}.demo p{font:22px/1.65 'DM Serif Display',Georgia,serif}.demo .after{color:var(--forest)}.demo .muted{color:#7f887b;text-decoration:line-through}.demo .cursor{display:inline-block;width:2px;height:20px;background:var(--orchid);animation:blink 1s steps(1) infinite;vertical-align:middle}@keyframes blink{50%{opacity:0}}.demo button{border:0;border-radius:8px;background:var(--deep);color:white;padding:9px 15px;font-weight:700;cursor:pointer}.demo button:hover{background:#256a57}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.step,.plan{border:1px solid #e1e4d5;background:#fffdf7;border-radius:22px;padding:27px}.step .num{color:var(--orchid);font:32px 'DM Serif Display',Georgia,serif}.step h3{font-size:20px;margin:17px 0 10px}.step p{font-size:14px;color:var(--muted)}.palette{height:170px;border-radius:18px;background:linear-gradient(130deg,#debcff 0%,#fff8e7 43%,#ffa47e 100%);overflow:hidden;display:grid;place-items:center}.palette .ripple{width:150px;height:150px;border-radius:50%;background:#0c5c4933;border:1px solid white;box-shadow:0 0 0 42px #ffffff50,0 0 0 92px #ffffff22;animation:pulse 3s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.15)}}
.chapter{padding:105px 0;border-top:1px solid #e8eadb}.chapter .split{gap:95px}.chapter:nth-child(even){background:#f6f6e9}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{border-radius:22px;padding:30px;background:#f4f5e4;min-height:215px}.feature-card:nth-child(2n){background:#f1e5fa}.feature-card:nth-child(3n){background:#ffece2}.feature-card h3{font-size:21px}.feature-card p{font-size:14px;color:#59605a}.feature-card .symbol{font-size:38px;margin-bottom:20px}
.quote-panel{position:relative;overflow:hidden;background:#d8e4d5;border-radius:25px;padding:43px;text-align:center}.quote-panel p{font:italic 34px/1.25 'DM Serif Display',Georgia,serif;max-width:630px;margin:0 auto 25px}.quote-panel small{font-size:11px;font-weight:750;letter-spacing:.1em}.curve{position:absolute;width:440px;height:200px;border:36px solid #0c685244;border-radius:50%;transform:rotate(-22deg);right:-240px;bottom:-75px}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px}.plan{min-height:430px;display:flex;flex-direction:column}.plan.featured{background:#f0e4ff;border:2px solid #b58def}.plan h3{font-size:21px}.plan .cost{font:44px 'DM Serif Display',Georgia,serif}.plan .cost small{font:11px 'DM Sans',sans-serif}.plan p,.plan li{font-size:13px;color:#555d57;line-height:1.6}.plan ul{padding:0;list-style:none;display:grid;gap:12px}.plan li:before{content:"✓";margin-right:8px;color:var(--forest)}.plan .button{margin-top:auto}.plan em{font-size:11px;font-style:normal;color:#656b60;margin-top:11px}.notice{background:#f3f4e5;border:1px solid #daddc9;border-radius:14px;padding:16px 20px;color:#555d57;font-size:13px}.faq details{border-bottom:1px solid #dddccf;padding:23px 0}.faq summary{cursor:pointer;font-size:18px;font-weight:750}.faq details p{color:var(--muted);padding-top:14px}.footer{background:#112e2a;color:#d2dbd1;padding:65px 0 35px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px}.footer a{display:block;margin:10px 0;font-size:13px}.footer .subtle{color:#a9bbae;font-size:12px;margin-top:26px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.float-orbit{animation:float 7s ease-in-out infinite}@keyframes float{50%{transform:translateY(-14px) rotate(3deg)}}
@media(max-width:960px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.split{gap:26px}.navlinks{gap:13px}.hero{min-height:740px}}@media(max-width:690px){.wrap{padding:0 19px}nav.top{top:10px;width:96%;gap:5px}.navlinks{gap:9px}.navlinks a:not(.nav-cta){display:none}.hero{padding-top:135px;min-height:670px}h1.display{font-size:65px}.section{padding:75px 0}.split,.steps,.features-grid,.pricing-grid,.footer-inner{grid-template-columns:1fr}.chapter{padding:65px 0}.chapter .split{gap:28px}.flowband{margin-top:35px}.demo{min-height:240px}.dark{padding:15px 0}.footer-inner{gap:20px}.plan{min-height:330px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Give the motion ribbon a place on the opening screen instead of hiding it below. */
@media(min-width:751px){.hero{min-height:calc(100svh - 98px);padding-top:140px;padding-bottom:70px}.flowband{margin-top:0;height:80px}}
@media(max-width:750px){.hero{min-height:calc(100svh - 75px);padding-bottom:15px}.flowband{margin-top:0;height:65px}.flowband span{font-size:24px}}
