:root { --ink:#18251f; --muted:#6e7a72; --paper:#f7f8f2; --white:#fff; --lime:#d8f56a; --green:#2c5945; --line:#dfe5d8; --serif:Georgia,'Times New Roman',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.section-shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:28px 0; }
.brand { display:inline-flex; align-items:center; gap:9px; color:var(--ink); font-size:20px; font-weight:800; letter-spacing:-.04em; }
.brand-mark { display:grid; place-items:center; width:27px; height:27px; border-radius:9px; color:var(--green); background:var(--lime); font-size:15px; }
.brand-logo { display:block; width:132px; height:auto; max-height:34px; object-fit:contain; object-position:left center; }
.header-link { color:var(--muted); font-size:14px; }
.hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:690px; padding:65px 0 100px; gap:70px; }
.eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 20px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#f08c5d; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { letter-spacing:-.065em; line-height:.98; }
h1 { margin-bottom:28px; font-size:clamp(52px,7vw,94px); }
h2 { margin-bottom:22px; font-size:clamp(42px,5vw,68px); }
h1 em,h2 em { color:var(--green); font-family:var(--serif); font-weight:400; }
.hero-lead { max-width:470px; margin-bottom:32px; color:var(--muted); font-size:20px; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:51px; padding:0 20px; border:1px solid transparent; border-radius:12px; font-size:14px; font-weight:800; transition:transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 24px #23382820; }
.button-primary { color:var(--ink); background:var(--lime); }
.button-secondary { color:var(--ink); background:transparent; border-color:#cbd5c6; }
.button-disabled { cursor:not-allowed; opacity:.5; }
.button-disabled:hover { transform:none; box-shadow:none; }
.microcopy { margin:15px 0 0; color:#8a948d; font-size:12px; }
.hero-visual { position:relative; min-height:500px; display:grid; place-items:center; }
.orbit { position:absolute; border:1px solid #d7e2cc; border-radius:50%; transform:rotate(-22deg); }
.orbit-one { width:430px; height:280px; }
.orbit-two { width:360px; height:470px; transform:rotate(27deg); }
.phone { position:relative; z-index:1; width:250px; height:500px; padding:24px 17px 18px; border:7px solid #25372d; border-radius:37px; background:#fbfcf8; box-shadow:18px 22px 0 #dce7d0,0 30px 60px #25372d2b; overflow:hidden; }
.phone:before { content:''; position:absolute; top:7px; left:50%; width:70px; height:15px; border-radius:0 0 12px 12px; background:#25372d; transform:translateX(-50%); }
.phone-top { display:flex; justify-content:space-between; margin-top:8px; font-size:11px; font-weight:800; }.tiny-status { color:#78a65e; font-size:9px; }.phone-date { margin:5px 0 22px; color:#87948b; font-size:9px; }
.meal-card { display:grid; grid-template-columns:27px 1fr auto; align-items:center; gap:7px; padding:13px 10px; margin:9px 0; border-radius:13px; background:#f1f4ea; font-size:10px; }.meal-card strong { font-size:9px; }.meal-icon { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:#e0efb4; color:#66814c; }.active-meal { border:1px solid #cce68b; background:#f5fbdc; }
.voice-bubble { margin:27px 4px 0; padding:12px; border-radius:13px 13px 13px 3px; color:#536058; background:#edf4dc; font-size:9px; line-height:1.35; }.pulse { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#f08c5d; }.mic-button { display:grid; place-items:center; width:57px; height:57px; margin:16px auto 0; border-radius:50%; color:#fff; background:#315b46; box-shadow:0 0 0 9px #e9f1d5; font-size:12px; }.phone-bottom { display:flex; justify-content:space-between; margin-top:20px; padding-top:12px; border-top:1px solid #e5eadf; color:#87948b; font-size:9px; }
.floating-note { position:absolute; z-index:2; display:flex; align-items:center; gap:7px; padding:10px 12px; border:1px solid #e3ead7; border-radius:12px; background:#fff; box-shadow:0 10px 25px #2d4e3517; font-size:11px; font-weight:700; }.floating-note span { color:#78a65e; }.note-speech { top:105px; left:0; transform:rotate(-5deg); }.note-ai { right:0; bottom:82px; transform:rotate(4deg); }
.section-light { background:#eef3e8; width:100%; padding:110px max(20px,calc((100% - 1160px)/2)); }.section-heading { max-width:600px; }.section-heading.centered { margin:0 auto 58px; text-align:center; }.section-heading.centered .eyebrow { justify-content:center; }.section-heading > p:last-child { color:var(--muted); }.demo-flow { display:grid; grid-template-columns:1fr 55px 1.25fr 55px 1fr; align-items:center; max-width:1000px; margin:0 auto; }.flow-step { position:relative; min-height:205px; padding:25px; border:1px solid #dce6d5; border-radius:18px; background:#f9fbf6; }.flow-result { background:#fff; box-shadow:0 14px 30px #43654612; }.step-number,.card-number { color:#a5af9f; font-size:11px; font-weight:800; letter-spacing:.08em; }.step-icon { display:block; margin:21px 0 12px; color:#6e9d52; font-size:25px; }.flow-step strong { font-size:17px; }.flow-step p { margin:7px 0 0; color:var(--muted); font-size:13px; }.flow-arrow { color:#9dac91; font-size:28px; text-align:center; }.mini-result { display:grid; gap:5px; margin-top:12px; padding:9px; border-radius:9px; background:#f0f5e8; color:#647068; font-size:10px; }.mini-result span { display:flex; justify-content:space-between; }.mini-result b { color:var(--ink); }
.benefits { padding:120px 0; }.benefits .section-heading { margin-bottom:50px; }.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.benefit-card { min-height:235px; padding:29px; border-radius:20px; background:#fff; }.benefit-card.card-accent { color:#fff; background:var(--green); }.benefit-card.card-accent .card-number,.benefit-card.card-accent p { color:#c5d5bf; }.benefit-card h3 { margin:43px 0 12px; font-size:23px; letter-spacing:-.04em; }.benefit-card p { margin:0; color:var(--muted); font-size:14px; }.benefit-card.card-accent p { color:#d9e3d4; }
.section-dark { width:100%; display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; padding:115px max(20px,calc((100% - 1160px)/2)); color:#fff; background:var(--green); }.eyebrow-light { color:var(--lime); }.how-copy > p:last-child { max-width:380px; color:#cad9c7; }.how-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }.how-list li { display:flex; gap:25px; padding:25px 0; border-bottom:1px solid #ffffff26; }.how-list li:first-child { padding-top:0; }.how-list li > span { color:var(--lime); font:20px var(--serif); }.how-list strong { font-size:18px; }.how-list p { margin:5px 0 0; color:#b9cbb8; font-size:14px; }
.audience { padding:120px 0 105px; }.audience-list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }.audience-list span { padding:15px 20px; border:1px solid #d3ddcc; border-radius:100px; color:#536259; font-size:14px; }
.testing { padding-bottom:120px; }.testing-card { display:grid; grid-template-columns:1.2fr .8fr; gap:50px; padding:55px; border-radius:25px; background:var(--lime); }.testing-card h2 { font-size:clamp(36px,4vw,55px); }.testing-card > div > p:last-child { max-width:520px; margin:0; color:#55634d; }.testing-points { display:grid; align-content:center; gap:14px; color:#40513b; font-size:14px; font-weight:700; }
.final-cta { width:100%; padding:120px max(20px,calc((100% - 1160px)/2)); color:#fff; background:#1d3429; }.final-cta-inner { text-align:center; }.final-cta h2 { margin-bottom:34px; }.centered-row { justify-content:center; }.button-light { color:var(--ink); background:var(--lime); }.button-outline-light { color:#fff; border-color:#78907b; }.site-footer { display:flex; align-items:center; justify-content:space-between; padding:30px 0; color:#87948b; font-size:12px; }.site-footer .brand { color:var(--ink); font-size:16px; }.site-footer .brand-mark { width:23px; height:23px; }
@media (max-width:800px) { .hero { grid-template-columns:1fr; min-height:0; padding:65px 0 90px; gap:45px; }.hero-visual { min-height:480px; }.demo-flow { grid-template-columns:1fr; gap:15px; }.flow-arrow { transform:rotate(90deg); }.flow-step { min-height:0; }.benefit-grid,.section-dark,.testing-card { grid-template-columns:1fr; }.section-dark { gap:50px; }.testing-card { gap:35px; padding:35px 28px; }.site-footer { flex-wrap:wrap; gap:15px; }.site-footer > span:last-child { width:100%; }.header-link { display:none; } }
@media (max-width:480px) { .section-shell { width:calc(100% - 32px); }.section-light,.section-dark,.final-cta { padding-left:16px; padding-right:16px; }.site-header { width:calc(100% - 32px); padding:20px 0; }.hero { padding-top:45px; }.cta-row .button { width:100%; }.hero-visual { min-height:430px; transform:scale(.88); margin:-20px -20px; }.phone-hero { width:235px; }.orbit-one { width:350px; }.orbit-two { height:400px; }.note-speech { left:-5px; }.note-ai { right:-5px; }.benefits,.audience { padding-top:85px; padding-bottom:85px; }.section-light,.section-dark,.final-cta { padding-top:85px; padding-bottom:85px; } }

/* TellMeFood Material 3 visual language and landing interactions. */
:root { --paper:#f9faf7; --ink:#1f2921; --muted:#667269; --lime:#e6f1e2; --green:#4b7f52; --green-dark:#315d38; --line:#dfe8dd; }
.material-symbols-rounded { font-family:'Material Symbols Rounded'; font-weight:normal; font-style:normal; font-size:20px; line-height:1; letter-spacing:normal; text-transform:none; display:inline-block; white-space:nowrap; word-wrap:normal; direction:ltr; -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; font-feature-settings:'liga'; }
.header-link { padding:0; border:0; color:var(--muted); background:transparent; font:inherit; font-size:14px; cursor:pointer; }
.button-primary { color:#fff; background:var(--green); }
.meal-icon { background:#e4f0e1; color:var(--green); }
.mic-button { background:var(--green); }
.floating-note span { color:var(--green); }
.step-icon { margin:21px 0 12px; color:var(--green); font-size:25px; }
.step-shot { display:flex; align-items:center; justify-content:center; gap:7px; min-height:74px; margin-top:15px; border:1px dashed #b5cbb4; border-radius:10px; color:#759078; background:#f1f6ef; text-align:center; }
.step-shot { width:100%; height:145px; min-height:0; border:0; object-fit:cover; object-position:top center; }
.step-shot small { max-width:110px; font-size:10px; line-height:1.25; }
.step-shot .material-symbols-rounded { font-size:23px; }
.testing-points > span { display:flex; align-items:center; gap:9px; }
.testing-points .material-symbols-rounded { font-size:19px; color:var(--green); }
.testing-cta { margin-top:28px; }
.button-download { color:#fff; background:#e86f3d; box-shadow:0 10px 22px #a9411e30; }
.button-download:hover { background:#d95e2e; box-shadow:0 14px 27px #a9411e42; }
.button-download-alt { background:var(--green); box-shadow:0 10px 22px #315d3830; }
.button-download-alt:hover { background:#254d2c; }
.testing-cta .button { min-height:56px; }
.site-footer { gap:18px; }
.site-footer .brand-logo { width:112px; max-height:30px; }
.footer-links { display:flex; align-items:center; gap:18px; }
.footer-links a { color:var(--muted); }
.stub-link { border-bottom:1px dotted currentColor; }
.modal-backdrop[hidden] { display:none; }
.modal-backdrop { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:20px; background:#17261dcc; }
.contact-modal { position:relative; width:min(100%,510px); max-height:calc(100vh - 40px); overflow:auto; padding:42px; border-radius:22px; background:var(--paper); box-shadow:0 25px 80px #15251d55; }
.contact-modal h2 { margin-bottom:25px; font-size:clamp(36px,6vw,54px); }
.modal-close { position:absolute; top:17px; right:17px; display:grid; place-items:center; width:37px; height:37px; padding:0; border:0; border-radius:50%; color:var(--muted); background:#e9efe6; cursor:pointer; }
.contact-modal form { display:grid; gap:16px; }
.contact-modal label { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:700; }
.contact-modal input,.contact-modal textarea { width:100%; padding:13px 14px; border:1px solid #ccd9ca; border-radius:10px; outline:none; color:var(--ink); background:#fff; font:inherit; font-size:14px; resize:vertical; }
.contact-modal input:focus,.contact-modal textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px #4b7f5220; }
.form-status { min-height:20px; margin:0; color:var(--green); font-size:13px; }
.form-submit { width:100%; }
.submit-loader { display:none; width:20px; height:20px; border:2px solid #ffffff66; border-top-color:#fff; border-radius:50%; animation:spin 1s linear infinite; }
.form-submit.is-loading .submit-label { display:none; }
.form-submit.is-loading .submit-loader { display:inline-block; }
@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:800px) { .site-footer { flex-wrap:wrap; }.site-footer > span:nth-child(2) { width:100%; }.footer-links { flex-wrap:wrap; gap:12px; } }
@media (max-width:480px) { .contact-modal { padding:35px 24px 25px; } }

/* High-conversion download buttons. */
.hero .button,
.testing-cta .button { font-family:'Manrope',Arial,Helvetica,sans-serif; font-weight:800; letter-spacing:-.025em; text-shadow:0 1px 1px #18392340; }
.platform-icon { width:24px; height:24px; flex:0 0 24px; fill:currentColor; }
.hero .button-primary,
.testing-cta .button-download { background:linear-gradient(135deg,#5cbb6c 0%,#4aa45a 52%,#398e4a 100%); border-color:#3e994f; box-shadow:inset 0 1px #ffffff42,0 10px 22px #3d8c4b38,0 2px 2px #1b4b2530; }
.hero .button-primary:hover,
.testing-cta .button-download:hover { background:linear-gradient(135deg,#69c878 0%,#50ae60 52%,#3d9650 100%); box-shadow:inset 0 1px #ffffff50,0 15px 30px #3d8c4b50,0 2px 2px #1b4b2540; }
.hero .button-secondary { background:linear-gradient(135deg,#ffffff 0%,#f7faf7 55%,#e9f0e9 100%); box-shadow:inset 0 1px #fff,0 8px 18px #49665012,0 2px 2px #52615a18; text-shadow:0 1px 1px #ffffff; }
.hero .button-secondary:hover { background:linear-gradient(135deg,#fff 0%,#f0f6f0 100%); }
.testing-cta .button-download-alt { background:linear-gradient(135deg,#5fba6d 0%,#4b9d58 55%,#347d40 100%); }
.testing-cta .button-download-alt:hover { background:linear-gradient(135deg,#6ac879 0%,#54aa61 55%,#3b8948 100%); }

/* Full-height product screenshots inside device frames. */
.demo-flow { grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr); align-items:start; max-width:1120px; }
.flow-step { min-height:0; padding:25px 24px 24px; }
.step-title { display:flex; align-items:center; gap:7px; }
.step-title .step-icon { display:inline-block; margin:0; font-size:24px; }
.step-title strong { font-size:16px; }
.flow-step > p { min-height:42px; }
.phone-frame { position:relative; margin-top:15px; padding:8px; border:7px solid #24352a; border-radius:25px; background:#24352a; box-shadow:0 12px 22px #315d3824; }
.phone-frame::before { content:''; position:absolute; z-index:2; top:-7px; left:50%; width:68px; height:15px; border-radius:0 0 11px 11px; background:#24352a; transform:translateX(-50%); }
.step-shot { display:block; width:100%; height:auto; min-height:0; margin:0; border:0; border-radius:14px; object-fit:contain; background:#f9faf7; }
.flow-result { background:#fff; }
.flow-result .phone-frame { box-shadow:0 15px 28px #315d382b; }
@media (max-width:800px) { .demo-flow { grid-template-columns:1fr; gap:22px; max-width:520px; }.flow-arrow { transform:rotate(90deg); }.flow-step { padding:25px 24px 28px; }.flow-step > p { min-height:0; }.phone-frame { max-width:330px; margin-left:auto; margin-right:auto; } }

/* Hero composition: product artwork on the right, as in the campaign key visual. */
.hero { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:28px; min-height:720px; padding-top:55px; }
.hero-copy { position:relative; z-index:2; }
.hero h1 { max-width:560px; margin-bottom:31px; font-size:clamp(62px,5.7vw,102px); }
.hero h1 em { color:var(--green); }
.hero-lead { max-width:560px; font-size:21px; line-height:1.55; }
.hero-visual { position:relative; display:flex; align-items:center; justify-content:center; min-height:0; }
.hero-image { display:block; width:min(100%,650px); height:auto; margin:0 -28px 0 0; filter:drop-shadow(0 24px 35px #4b7f5220); }
.hero .button-primary { background:var(--green); box-shadow:0 10px 22px #4b7f5230; }
.hero .button-primary:hover { background:#3d7045; box-shadow:0 15px 28px #4b7f5240; }
.hero .button-secondary { background:#fff; border-color:#cdd8cf; color:#64706a; }
@media (max-width:800px) { .hero { grid-template-columns:1fr; min-height:0; gap:40px; padding-top:45px; }.hero h1 { font-size:clamp(58px,14vw,86px); }.hero-image { width:min(100%,570px); margin:0 auto; }.hero-visual { min-height:0; } }
@media (max-width:480px) { .hero h1 { font-size:clamp(52px,15vw,72px); }.hero-image { width:calc(100% + 20px); max-width:none; margin-left:-10px; } }

/* Hero follows the supplied campaign reference: wide canvas, pill label,
   three-line editorial headline and a large product composition. */
.hero,
.site-header { width:min(1340px,calc(100% - 64px)); }
.site-header { position:relative; z-index:10; padding-top:34px; padding-bottom:28px; }
.site-header .header-link { position:relative; z-index:11; }
.site-header .brand-logo { width:184px; max-height:48px; }
.hero { grid-template-columns:650px minmax(0,1fr); align-items:start; gap:30px; min-height:760px; padding-top:61px; padding-bottom:80px; overflow:visible; }
.hero-copy { padding-top:0; }
.hero .eyebrow { display:inline-flex; margin-bottom:22px; padding:12px 24px; border-radius:999px; background:#eef6eb; font-size:13px; letter-spacing:.14em; }
.hero h1 { max-width:600px; margin-bottom:28px; color:#0b2035; font-size:clamp(88px,6.7vw,112px); line-height:.98; letter-spacing:-.075em; }
.hero h1 em { color:#4a8958; font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.08em; }
.hero-lead { max-width:560px; margin-bottom:34px; color:#6c7884; font-size:21px; line-height:1.58; }
.hero .cta-row { gap:21px; }
.hero .button { min-height:72px; padding:0 16px; border-radius:15px; font-size:15px; white-space:nowrap; }
.hero .button-primary { width:305px; min-width:0; color:#fff; background:#4ca45b; box-shadow:0 12px 25px #4b7f5230; }
.hero .button-primary:hover { background:#3c914d; box-shadow:0 16px 30px #4b7f5245; }
.hero .button-secondary { width:302px; min-width:0; color:#6d7780; background:#fff; border:1px solid #ccd6d0; }
.hero .button .material-symbols-rounded { font-size:26px; }
.hero .microcopy { margin-top:25px; color:#89929a; font-size:16px; }
.hero-visual { align-self:start; min-width:0; margin-top:-130px; }
.hero-image { width:780px; max-width:none; margin:0 auto; transform:translateX(-8px); filter:drop-shadow(0 28px 38px #4b7f5220); }
@media (max-width:1100px) { .hero,.site-header { width:min(100% - 48px,940px); }.hero { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:25px; }.hero h1 { font-size:clamp(64px,7.3vw,82px); }.hero .button { min-width:0; padding:0 18px; font-size:15px; }.hero .button-primary,.hero .button-secondary { min-width:0; }.hero-image { margin-right:-15px; } }
@media (max-width:800px) { .hero,.site-header { width:calc(100% - 32px); }.site-header { padding-top:20px; padding-bottom:20px; }.site-header .brand-logo { width:145px; max-height:40px; }.hero { grid-template-columns:1fr; min-height:0; gap:38px; padding-top:45px; }.hero h1 { font-size:clamp(58px,14vw,86px); }.hero-visual { margin-top:-10px; }.hero-image { width:min(100%,570px); margin:0 auto; } }

/* Premium product flow section, based on the supplied reference composition. */
.demo-premium { position:relative; width:100%; overflow:hidden; padding:112px 0 44px; background:#eef5e9; }
.demo-premium .demo-inner { position:relative; z-index:1; }
.demo-heading { max-width:900px; margin:0 auto 42px; text-align:center; }
.demo-heading .eyebrow { display:flex; align-items:center; justify-content:center; gap:13px; margin:0 0 17px; color:#3d7350; font:800 12px/1 Manrope,Arial,sans-serif; letter-spacing:.18em; }
.eyebrow-line { width:26px; height:2px; background:#d9e7d7; }
.demo-heading h2 { margin:0 0 22px; color:#12231e; font-size:clamp(52px,5.1vw,78px); line-height:.99; letter-spacing:-.065em; }
.demo-heading h2 em { color:#4b8053; font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.055em; }
.demo-heading > p:last-child { margin:0; color:#5d665f; font-size:18px; line-height:1.35; }
.premium-flow { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr) 50px minmax(0,1fr); gap:0; align-items:center; max-width:1120px; margin:0 auto; }
.premium-card { min-width:0; padding:20px 24px 24px; border:1px solid #dae6d8; border-radius:23px; background:rgba(255,255,255,.78); box-shadow:0 14px 30px #4b7f5210; }
.premium-step-heading { display:flex; align-items:center; gap:14px; min-height:68px; }
.premium-step-heading .step-number { display:grid; place-items:center; flex:0 0 60px; width:60px; height:60px; border-radius:50%; color:#3f7748; background:#e4f1e1; font:800 34px/1 Manrope,Arial,sans-serif; }
.premium-title { color:#12221d; font:800 24px/1.1 Manrope,Arial,sans-serif; letter-spacing:-.04em; }
.premium-title .step-icon { margin:0 5px 0 0; color:#4d8859; font-size:24px; vertical-align:-4px; }
.premium-step-heading p { margin:4px 0 0; color:#667169; font-size:14px; line-height:1.25; }
.premium-card .phone-frame { margin-top:18px; padding:8px; border-width:7px; border-radius:28px; }
.premium-card .step-shot { border-radius:16px; }
.premium-arrow { display:grid; place-items:center; color:#5b8b62; }
.premium-arrow .material-symbols-rounded { font-size:37px; font-weight:300; }
.hand-note { position:absolute; z-index:3; color:#52745a; font-family:'Segoe Print','Bradley Hand',cursive; font-size:17px; line-height:1.25; }
.note-left { top:153px; left:18px; transform:rotate(-8deg); }
.note-left .material-symbols-rounded { display:block; margin:4px 0 0 105px; font-size:28px; }
.note-right { top:158px; right:17px; transform:rotate(7deg); }
.speech-badge,.saved-badge { position:absolute; z-index:4; display:flex; align-items:center; gap:12px; color:#26372e; background:#fff; box-shadow:0 12px 24px #315d3820; }
.speech-badge { top:430px; left:max(-30px,calc(50% - 670px)); padding:14px 25px 14px 14px; border-radius:35px 35px 35px 8px; font-size:14px; line-height:1.2; transform:rotate(7deg); }
.speech-badge .material-symbols-rounded { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#fff; background:#4b8a56; font-size:24px; }
.saved-badge {     top: 755px;
    right: max(-51px, calc(50% - 724px)); padding:13px 22px 13px 10px; border-radius:35px; font-size:14px; line-height:1.35; transform:rotate(-7deg); }
.saved-badge strong { color:#397547; font-size:17px; }
.saved-check { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:#5aa15b; font-size:20px; }
.bottom-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:950px; margin:25px auto 0; }
.bottom-benefits span { display:flex; align-items:center; justify-content:center; gap:12px; color:#46544b; font-size:15px; }
.bottom-benefits i { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#4b8053; background:#e1efdf; font-size:21px; font-style:normal; }
.decor-blob-top { position:absolute; top:-130px; right:-90px; width:520px; height:285px; border-radius:50%; background:#e6f0e3; opacity:.72; transform:rotate(22deg); }
.decor-leaf { position:absolute; z-index:0; width:160px; height:300px; border-radius:100% 0 100% 0; opacity:.22; filter:blur(1px); background:linear-gradient(145deg,#82ae6c,#dcebcf 55%,transparent 56%); }
.decor-leaf-left { bottom:-100px; left:-80px; transform:rotate(31deg); }
.decor-leaf-right { right:-78px; bottom:-95px; transform:rotate(-39deg) scaleX(-1); }
@media (max-width:1200px) { .hand-note,.speech-badge,.saved-badge { display:none; }.premium-flow { max-width:calc(100% - 40px); } }
@media (max-width:800px) {
  .demo-premium { padding:76px 0 35px; }
  .demo-heading { margin-bottom:32px; padding:0 16px; }
  .demo-heading h2 { font-size:clamp(49px,13vw,70px); }
  .demo-heading > p:last-child { font-size:16px; }
  .premium-flow { grid-template-columns:1fr; gap:20px; max-width:520px; }
  .premium-card { padding:19px 20px 22px; }
  .premium-arrow { transform:rotate(90deg); }
  .premium-card .phone-frame { max-width:330px; margin-right:auto; margin-left:auto; }
  .bottom-benefits { grid-template-columns:1fr; gap:12px; margin-top:22px; }
  .bottom-benefits span { justify-content:flex-start; max-width:260px; margin:0 auto; }
}
@media (max-width:480px) { .demo-heading h2 { letter-spacing:-.07em; }.demo-heading .eyebrow { font-size:10px; letter-spacing:.12em; }.eyebrow-line { width:18px; }.decor-leaf { opacity:.1; } }

/* Audience and open-testing finale, styled as one campaign section. */
.audience { position:relative; width:100%; max-width:none; overflow:hidden; padding:78px max(20px,calc((100% - 1160px)/2)) 30px; background:#fbfcf8; font-family:Manrope,Arial,sans-serif; }
.audience .section-heading { position:relative; z-index:1; max-width:800px; margin:0 auto 42px; text-align:center; }
.audience .section-heading .eyebrow { justify-content:center; gap:13px; }
.audience .section-heading .eyebrow::before,.audience .section-heading .eyebrow::after { content:''; width:60px; height:2px; background:#dbe6d8; }
.audience .section-heading h2 { margin-bottom:0; font-size:clamp(49px,5vw,76px); }
.audience .section-heading h2 em { color:#4b8053; }
.audience-list { position:relative; z-index:1; gap:14px; }
.audience-list span { display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border:1px solid #dce8d8; border-radius:999px; color:#293d31; background:#fff; box-shadow:0 8px 18px #315d3810; font-size:14px; font-weight:700; }
.audience-list span::before { color:#4b8053; font-family:'Material Symbols Rounded'; font-size:24px; }
.audience-list span:nth-child(1)::before { content:'nutrition'; }
.audience-list span:nth-child(2)::before { content:'restaurant'; }
.audience-list span:nth-child(3)::before { content:'fitness_center'; }
.audience-list span:nth-child(4)::before { content:'track_changes'; }
.testing { position:relative; width:100%; max-width:none; overflow:hidden; padding:0 max(20px,calc((100% - 1160px)/2)) 78px; background:#fbfcf8; font-family:Manrope,Arial,sans-serif; }
.testing-card { position:relative; z-index:1; grid-template-columns:1.4fr .6fr; gap:40px; padding:30px 48px; border:1px solid #fff; border-radius:28px; background:#f5faee; box-shadow:0 15px 34px #315d3814; }
.testing-card > div:first-child { padding:0 0 0 64px; }
.testing-card > div:first-child::before { content:''; position:absolute; left:0; bottom:0; width:190px; height:100%; opacity:.5; border-radius:28px 0 0 28px; background:radial-gradient(ellipse at 25% 65%,#d2e7bd 0 27%,transparent 28%),radial-gradient(ellipse at 0 100%,#b3d39a 0 15%,transparent 16%); }
.testing-card .eyebrow { margin-bottom:16px; }
.testing-card h2 { margin-bottom:11px; font-size:clamp(38px,3.6vw,55px); line-height:.98; }
.testing-card h2 em { color:#4b8053; }
.testing-card > div > p:last-child { color:#3f5146; font-size:16px; line-height:1.4; }
.testing-points { position:relative; gap:17px; padding-left:40px; border-left:1px solid #dce8d8; color:#20372b; font-size:16px; }
.testing-points > span { gap:16px; }
.testing-points > span > .material-symbols-rounded { display:grid; place-items:center; flex:0 0 43px; width:43px; height:43px; border-radius:50%; color:#4b8053; background:#e8f1e4; font-size:22px; }
.testing-cta { flex-wrap:nowrap; gap:18px; }
.testing-cta .button { min-width:0; width:275px; border-radius:14px; white-space:nowrap; }
.testing-cta .button-download { color:#fff; background:linear-gradient(135deg,#f38a50,#ed6e3e); border-color:#ef7a47; box-shadow:0 11px 22px #c65a3238; }
.testing-cta .button-download:hover { background:linear-gradient(135deg,#fa9861,#e76637); }
.testing-cta .button-download-alt { color:#416d4a; background:#e1eddc; border-color:#d4e3cf; box-shadow:none; }
.testing-cta .button-download-alt:hover { color:#315d38; background:#d8e8d3; }
.audience::before,.testing::after { content:''; position:absolute; pointer-events:none; border-radius:50%; background:#eef5e9; }
.audience::before { top:-100px; left:-80px; width:420px; height:360px; transform:rotate(-22deg); }
.testing::after { right:-100px; bottom:-150px; width:460px; height:380px; }
@media (max-width:800px) {
  .audience { padding:80px 16px 30px; }
  .audience .section-heading { margin-bottom:30px; }
  .audience .section-heading .eyebrow::before,.audience .section-heading .eyebrow::after { width:20px; }
  .audience .section-heading h2 { font-size:clamp(43px,12vw,65px); }
  .audience-list { display:grid; grid-template-columns:1fr 1fr; max-width:520px; margin:auto; }
  .audience-list span { justify-content:center; padding:12px 13px; font-size:12px; text-align:center; }
  .testing { padding:0 16px 80px; }
  .testing-card { grid-template-columns:1fr; gap:30px; padding:32px 25px; }
  .testing-card > div:first-child { padding-left:0; }
  .testing-card > div:first-child::before { display:none; }
  .testing-points { padding:25px 0 0; border-top:1px solid #dce8d8; border-left:0; }
  .testing-cta { flex-wrap:wrap; }
  .testing-cta .button { width:100%; min-width:0; }
}
@media (max-width:480px) { .audience-list { grid-template-columns:1fr; }.testing-card h2 { font-size:42px; } }

/* Public legal documents. */
.legal-page { min-height:100vh; background:#f7faf4; font-family:Manrope,Arial,sans-serif; }
.legal-header { display:flex; align-items:center; justify-content:space-between; width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:28px 0; }
.legal-header .brand-logo { width:145px; max-height:38px; }
.legal-back { color:var(--green-dark); font-size:14px; font-weight:700; }
.legal-main { padding:55px 20px 90px; }
.legal-document { width:min(800px,100%); margin:0 auto; padding:58px 72px 70px; border:1px solid #e1eadc; border-radius:28px; background:#fff; box-shadow:0 20px 55px #315d3810; }
.legal-document .eyebrow { margin-bottom:20px; }
.legal-document h1 { margin-bottom:25px; color:var(--ink); font:800 clamp(43px,6vw,70px)/.98 Manrope,Arial,sans-serif; letter-spacing:-.07em; }
.legal-document h1 em { color:var(--green); font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.05em; }
.legal-lead { margin-bottom:10px; color:#536259; font-size:18px; line-height:1.5; }
.legal-updated { margin-bottom:44px; color:#7b897e; font-size:12px; }
.legal-document h2 { margin:38px 0 12px; color:var(--ink); font:800 22px/1.2 Manrope,Arial,sans-serif; letter-spacing:-.04em; }
.legal-document p,.legal-document li { color:#536259; font-size:15px; line-height:1.65; }
.legal-document p { margin-bottom:14px; }
.legal-document ul { margin:0 0 16px; padding-left:23px; }
.legal-document a { color:var(--green-dark); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-footer { display:flex; align-items:center; justify-content:center; gap:28px; padding:25px 20px 34px; color:#718075; font-size:12px; }
.legal-footer a:first-child { color:var(--ink); font-weight:800; }
.legal-footer a { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:800px) { .legal-header { width:calc(100% - 32px); padding:20px 0; }.legal-main { padding:25px 16px 55px; }.legal-document { padding:35px 24px 42px; border-radius:20px; }.legal-document h1 { font-size:clamp(40px,12vw,60px); }.legal-document h2 { font-size:20px; }.legal-document p,.legal-document li { font-size:14px; }.legal-footer { flex-wrap:wrap; gap:12px 20px; text-align:center; } }

.seo-copy { padding:34px 0 78px; }
.seo-copy h2 { max-width:620px; margin-bottom:24px; font-size:clamp(34px,4vw,52px); }
.seo-copy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.seo-copy-grid p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
.faq { padding:86px 0 105px; }
.faq .section-heading { margin-bottom:38px; }
.faq-list { max-width:850px; margin:0 auto; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; color:var(--ink); cursor:pointer; font:700 17px/1.3 Manrope,Arial,sans-serif; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'add'; color:var(--green); font-family:'Material Symbols Rounded'; font-size:24px; }
.faq-list details[open] summary::after { content:'remove'; }
.faq-list details p { max-width:700px; margin:0 50px 20px 0; color:var(--muted); font-size:14px; line-height:1.55; }
@media (max-width:800px) { .seo-copy { padding:20px 0 58px; }.seo-copy-grid { grid-template-columns:1fr; gap:16px; }.faq { padding:62px 16px 78px; }.faq-list summary { font-size:15px; }.faq-list details p { margin-right:0; } }

/* Adjusted for the replacement hero artwork. */
.hero h1 { font-size:clamp(62px,4.7vw,78px); }
.hero-image { width:601px; }
@media (max-width:1100px) { .hero h1 { font-size:clamp(45px,5.1vw,57px); } .hero-image { width:min(100%,440px); } }
@media (max-width:800px) { .hero h1 { font-size:clamp(41px,10vw,60px); } .hero-image { width:min(100%,440px); } }
@media (max-width:480px) { .hero h1 { font-size:clamp(36px,10.5vw,50px); } .hero-image { width:min(100%,440px); } }
