@font-face{font-family:Bricolage;src:url(assets/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"DM Sans";src:url(assets/dm-sans.woff2) format("woff2");font-weight:100 1000;font-display:swap}
@font-face{font-family:Caveat;src:url(assets/caveat.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root {
  --ink:#23251f; --paper:#fffbf2; --white:#fffef9; --mint:#a8e8bd;
  --pink:#ffaec4; --yellow:#ffdc71; --line:1.7px solid var(--ink);
  --display:Bricolage,"Arial Rounded MT Bold",Arial,sans-serif;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:24px }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased }
h1,h2,h3,p { margin:0 }
a { color:inherit; text-decoration:none }
button { color:inherit; font:inherit; cursor:pointer }
a,button,summary { -webkit-tap-highlight-color:transparent }
:focus-visible { outline:3px solid #73448c; outline-offset:5px }
.wrap { width:min(1192px,89.3%); margin-inline:auto }
.icon { width:23px; height:23px; flex-shrink:0; display:inline-block; vertical-align:middle }
.skip { position:absolute; z-index:10; inset:8px auto auto 8px; transform:translateY(-160%); padding:10px 16px; background:white; border:var(--line) }
.skip:focus { transform:none }
.header { position:relative; z-index:3; border-bottom:1.3px solid var(--ink) }
.head-row { min-height:83px; display:flex; align-items:center; gap:43px }
.brand { display:inline-flex; align-items:center; gap:8px; font:800 30px/.98 var(--display); letter-spacing:-1.85px; white-space:nowrap }
.brand-mark { width:44px; height:43px }
#navigation { margin-left:auto; display:flex; align-items:center; gap:35px; font-size:14px; font-weight:600 }
#navigation a:hover,.back:hover,.demo-link:hover { text-decoration:underline; text-underline-offset:5px }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:var(--line); border-radius:9px; font-weight:750; line-height:1.1; transition:transform .15s,box-shadow .15s; white-space:nowrap }
.btn:hover { transform:translate(-1px,-2px); box-shadow:4px 5px 0 var(--ink) }
.btn:active { transform:translate(2px,2px); box-shadow:none }
.nav-cta { padding:11px 15px; background:var(--yellow); box-shadow:2.5px 2.5px 0 var(--ink); font-size:14px }
.short-label {display:none}
.nav-cta .icon:first-child { display:none }
.btn .arrow { width:16px; height:16px }
.menu-toggle { display:none }
.hero { overflow:hidden }
.hero-grid { display:grid; grid-template-columns:1.04fr 1fr; align-items:center; gap:22px; padding-block:42px 44px }
.hero-copy { padding-block:19px }
.eyebrow-pill { display:inline-flex; align-items:center; gap:9px; padding:6px 12px; background:#e1f2da; border:1.3px solid var(--ink); border-radius:20px; font:700 10.5px/1.2 "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:1.3px }
.eyebrow-pill span { width:7px; height:7px; border-radius:50%; background:#328344 }
h1,h2,h3,.step-top>span,.ribbon-inner,.chat-header strong,.reminder-sticker b { font-family:var(--display) }
h1 { position:relative; font-size:clamp(74px,7.8vw,112px); letter-spacing:-.06em; line-height:.94; font-weight:800; margin:24px 0 24px }
.underlined { position:relative; z-index:0; white-space:nowrap }
.underlined:after { content:""; position:absolute; z-index:-1; left:0; right:-.015em; bottom:.045em; height:.14em; background:var(--pink); border-radius:64% 30% 55% 33%; transform:rotate(-2deg) }
.lede { max-width:470px; text-wrap:pretty; color:#41423a; font-size:clamp(17px,1.4vw,20px); line-height:1.51; letter-spacing:-.02em }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:28px }
.primary { min-height:54px; background:var(--mint); padding:12px 20px; font-size:16px; box-shadow:3px 4px 0 var(--ink) }
.primary .arrow { display:none }
.primary .icon { width:24px; height:24px }
.demo-link { display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:15px }
.demo-link .icon { width:20px; height:20px }
.hero-art { position:relative; isolation:isolate; width:100%; aspect-ratio:1.16; max-height:478px; align-self:center }
.sun-disc { position:absolute; z-index:-2; left:10%; top:10%; width:75%; height:79%; background:#ffe5a1; border-radius:48% 52% 55% 46% / 40% 49% 53% 60%; transform:rotate(-13deg) }
.half-dots { position:absolute; z-index:-1; width:65%; height:54%; top:37%; left:21%; border-radius:50%; background-image:radial-gradient(#8a6b3c 0.9px,transparent 1px); background-size:6px 6px; opacity:.34; mask-image:linear-gradient(150deg,transparent 38%,black 82%); transform:rotate(-9deg) }
.hero-momo { width:78%; height:auto; position:absolute; left:15%; top:5.8%; transform:rotate(3deg); object-fit:contain }
.hello { position:absolute; z-index:2; top:.2%; right:1.5%; font:650 clamp(24px,2.35vw,35px)/1 Caveat,cursive; transform:rotate(8deg); white-space:nowrap }
.hello svg { display:block; margin-left:15px; width:65px; height:46px; transform:scaleX(-1) rotate(-3deg); fill:none; stroke:var(--ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round }
.star-one { position:absolute; width:40px; height:40px; left:5%; top:21%; transform:rotate(13deg); fill:var(--pink); stroke:var(--ink); stroke-width:1.5; stroke-linejoin:round }
.reminder-sticker { position:absolute; left:1.2%; bottom:6.5%; display:flex; align-items:center; gap:10px; padding:10px 13px 10px 10px; background:var(--white); border:var(--line); border-radius:12px; box-shadow:3px 4px 0 var(--ink); transform:rotate(-7deg) }
.bell-tile { width:38px; height:38px; display:grid; place-items:center; border:1.4px solid var(--ink); border-radius:9px; background:#ffc2d0 }
.bell-tile .icon { width:23px; height:23px; transform:rotate(-7deg) }
.reminder-sticker b,.reminder-sticker small { display:block }
.reminder-sticker b { font-size:21px; line-height:1.05; letter-spacing:-.8px }
.reminder-sticker small { font-size:8px; font-weight:750; letter-spacing:1.2px; margin-bottom:4px }
.reminder-sticker i { align-self:flex-end; color:#ad4167; font:700 24px/1 Caveat,cursive }
.feature-ribbon { border-block:var(--line); background:#ffe292 }
.ribbon-inner { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:64px }
.ribbon-inner span { display:flex; align-items:center; gap:clamp(13px,1.75vw,26px); font-size:clamp(16px,1.65vw,23px); letter-spacing:-.05em; font-weight:750; white-space:nowrap }
.ribbon-inner svg { width:26px; height:26px }
.section { padding:82px 0 88px }
.section-label { display:flex; align-items:center; gap:9px; margin-bottom:15px; font-size:11px; font-weight:750; letter-spacing:1.8px; line-height:1.3 }
.section-label span { width:23px; height:2px; background:var(--ink) }
h2 { font-weight:800; font-size:clamp(40px,4.2vw,60px); letter-spacing:-.052em; line-height:1.02 }
h2 em { font-style:normal }
.how { background:var(--white) }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px }
.step { background:#ffe2ea; border:var(--line); border-radius:15px; padding:24px 25px 27px; box-shadow:3px 3px 0 var(--ink) }
.step-2 { background:#e1eddb }
.step-3 { background:#eee6fa }
.step-top { display:flex; align-items:flex-start; justify-content:space-between; margin:0 0 22px }
.step-icon { width:46px; height:46px; display:grid; place-items:center; border:var(--line); border-radius:13px; background:var(--white); transform:rotate(-6deg) }
.step-icon .icon { width:26px; height:26px }
.step-top>span { font-size:12px; font-weight:700; border:1px solid var(--ink); padding:2px 8px; border-radius:18px }
h3 { font-size:27px; font-weight:780; letter-spacing:-.055em; line-height:1.15; margin-bottom:8px }
.step p,.demo-intro>p,.faq-list p { color:#46473f; line-height:1.6 }
.demo { border-block:var(--line); background:#f3edef }
.demo-grid,.faq-grid { display:grid; grid-template-columns:.9fr 1fr; gap:clamp(40px,8vw,125px); align-items:center }
.demo-intro>p { max-width:330px; margin:18px 0 24px }
.scenario-list { display:grid; gap:8px; max-width:335px }
.scenario-list button { display:flex; align-items:center; text-align:left; gap:12px; border:1.5px solid transparent; border-radius:8px; background:transparent; padding:11px 13px; font-size:15px; font-weight:650 }
.scenario-list button[aria-pressed="true"] { background:var(--white); border-color:var(--ink); box-shadow:2px 2px 0 var(--ink) }
.scenario-list button:hover { background:#fffbf2aa }
.scenario-list button .icon { height:20px; width:20px }
.scenario-arrow { margin-left:auto; opacity:0 }
[aria-pressed="true"] .scenario-arrow { opacity:1 }
.chat-panel { background:var(--white); border:var(--line); border-radius:20px; box-shadow:5px 6px 0 var(--ink); overflow:hidden }
.chat-header { padding:15px 20px; display:flex; align-items:center; gap:11px; border-bottom:var(--line); background:var(--mint) }
.chat-avatar { display:grid; place-items:center; width:43px; height:43px; padding:3px; background:var(--paper); border:1.5px solid var(--ink); border-radius:50% }
.chat-header strong,.chat-header small{display:block}
.chat-header strong{font-size:21px;line-height:1.05;letter-spacing:-.8px}
.chat-header small{font-size:12px;line-height:1.6}
.chat-service{margin-left:auto}
.chat-body { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:26px 24px; min-height:275px; background-color:#fbf7ec; background-image:radial-gradient(#e3ddcc .8px,transparent .8px); background-size:12px 12px }
.bubble { border:1.3px solid var(--ink); border-radius:13px 13px 13px 3px; background:var(--white); padding:10px 13px; font-size:15px; line-height:1.4; max-width:86%; box-shadow:1px 1px #23251f25 }
.bubble b { display:block; font-size:12px; margin-bottom:2px }
.bubble.outgoing { align-self:flex-end; background:#d7f0d3; border-radius:13px 13px 3px 13px }
.time-divider { font-size:11px; font-weight:700; background:#efeade; border-radius:16px; padding:3px 9px; align-self:center }
.chat-controls { min-height:62px; padding:12px 20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; border-top:1px solid #c4c1b6 }
.chat-controls button { border:1.3px solid var(--ink); border-radius:20px; background:white; font-size:13px; font-weight:650; padding:6px 13px }
.chat-controls button:hover { background:#ffe6ef }
.faq-grid { align-items:start }
.faq-list { border-top:var(--line) }
details { border-bottom:1px solid #87877a }
summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding:20px 0; font-weight:700; list-style:none }
summary::-webkit-details-marker { display:none }
summary .icon { transition:transform .2s; width:18px; height:18px }
details[open] summary .icon { transform:rotate(45deg) }
.faq-list p { padding:0 19px 21px 0; font-size:15px }
.closing { background:#ffe2a3; padding:52px 0; border-block:var(--line) }
.closing-row,.foot-row { display:flex; align-items:center; justify-content:space-between; gap:18px }
.closing h2 { font-size:clamp(32px,3.4vw,46px) }
.closing p { margin-top:8px; font-size:18px }
.foot-row { padding-block:25px; font-size:13px }
.foot-row .brand { font-size:23px; letter-spacing:-1.4px }
.foot-row .brand-mark { width:35px; height:35px }
.back { font-weight:650 }
@media(min-width:1500px) { .hero-grid { padding-block:52px } }
@media(max-width:960px) {
  .head-row {gap:28px;min-height:73px}
  #navigation {gap:24px}
  .hero-grid {gap:5px;padding-block:38px}
  h1 {font-size:clamp(66px,8.8vw,84px)}
  .hero-actions {gap:18px}
  .primary {padding:12px 15px;font-size:15px}
  .hero-art {aspect-ratio:1.03}
  .hero-momo {width:88%;left:11%;top:10%}
  .hello {right:0}
  .reminder-sticker {bottom:3%}
  .section {padding:65px 0}
  .step {padding:19px}
  .step-grid {gap:14px}
  .demo-grid,.faq-grid {gap:46px}
}
@media(max-width:720px) {
  .wrap {width:89%}
  .head-row {min-height:67px;gap:14px}
  .brand {font-size:25px;gap:5px;letter-spacing:-1.65px}
  .brand-mark {width:35px;height:35px}
  .nav-cta {margin-left:auto;font-size:12.5px;padding:9px 10px;gap:5px}
  .nav-cta .arrow {width:13px;height:13px}
  .nav-cta .wide-label {display:none}
  .nav-cta .short-label,.nav-cta .icon:first-child {display:inline-block}
  .nav-cta .icon:first-child {width:16px;height:16px}
  .menu-toggle {display:grid;place-items:center;border:0;padding:5px;background:transparent}
  #navigation {display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 5.5%;border-block:var(--line);font-size:15px;justify-content:space-between}
  #navigation.open {display:flex}
  .hero-grid {grid-template-columns:1fr;gap:0;padding-block:36px 19px}
  .hero-copy {padding-block:0}
  h1 {font-size:clamp(54px,14.5vw,85px);margin:18px 0 15px}
  .hero-actions {margin-top:21px;gap:16px}
  .hero-actions .primary {padding:12px 14px;font-size:14px;gap:7px}
  .hero-actions .demo-link {font-size:13px;gap:5px;white-space:nowrap}
  .lede {max-width:390px}
  .hero-art {width:min(100%,410px);aspect-ratio:1.47;justify-self:center;margin-top:20px;max-height:none}
  .hero-momo {width:70%;left:21%;top:-1%}
  .sun-disc {width:67%;height:90%;left:15%;top:5%}
  .hello {right:1%;top:0;font-size:25px}
  .hello svg {width:44px;height:31px}
  .star-one {left:9%;top:30%;width:29px;height:29px}
  .reminder-sticker {left:3%;bottom:4%;padding:7px 9px;gap:7px}
  .reminder-sticker b {font-size:17px}
  .bell-tile {width:31px;height:31px}
  .reminder-sticker small {font-size:7px}
  .ribbon-inner {display:grid;grid-template-columns:1fr 1fr;gap:9px 8px;padding-block:12px}
  .ribbon-inner span {font-size:16px;gap:10px}
  .ribbon-inner svg {width:17px;height:17px}
  .section {padding:48px 0 52px}
  .section-label {margin-bottom:12px;font-size:10px}
  .step-grid {grid-template-columns:1fr;margin-top:24px}
  .step {position:relative;padding:21px 45px 20px 78px}
  .step-top {margin:0}
  .step-icon {position:absolute;left:18px;top:22px;width:42px;height:42px}
  .step-top>span {position:absolute;top:18px;right:13px;font-size:10px;padding:1px 6px}
  h3 {font-size:24px}
  .step p {font-size:15px}
  .demo-grid,.faq-grid {grid-template-columns:1fr;gap:25px}
  .demo-intro h2 br,.faq-grid h2 br {display:none}
  .demo-intro h2 em:before,.faq-grid h2 em:before {content:" "}
  .demo-intro>p {margin:14px 0 18px}
  .scenario-list {max-width:none}
  .chat-body {padding:22px 17px;min-height:252px}
  .closing {padding:37px 0}
  .closing-row {align-items:flex-start;flex-direction:column;gap:20px}
  .foot-row {flex-wrap:wrap;gap:12px 18px}
  .foot-row>span {order:3;flex-basis:100%;font-size:12px}
}
@media(max-width:370px) {
  .wrap {width:91%}
  .head-row {gap:6px}
  .head-row .nav-cta .arrow {display:none}
  .ribbon-inner span {font-size:13px;gap:6px}
  .ribbon-inner svg {width:13px;height:13px}
  .hero-actions .primary {font-size:13px;gap:6px}
  .hero-actions .demo-link {font-size:12px;gap:4px;white-space:nowrap}
  .brand{font-size:20px}
  .nav-cta{font-size:12px;padding:8px}
  .hero-actions{gap:13px}
  .demo-link{font-size:14px}
  .primary{padding:12px}
  .hero-art {margin-top:24px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*:before,*:after {transition:none!important;animation:none!important}
}
