/* Approved website concept. Scoped to public pages; workspace styling is separate. */
.marketing {
  --ink:#242323; --blue:#820d2c; --wine:#820d2c; --soft-blue:#f4e5e5;
  --canvas:#fffcf8; --line:#e9e2d9; --muted:#716c67;
  background:var(--canvas); color:var(--ink);
}
.marketing .button { background:var(--wine); border-color:var(--wine); color:white; border-radius:12px; box-shadow:none; }
.marketing .button:hover { background:#660a24; border-color:#660a24; transform:none; }
.marketing .button.secondary { color:var(--wine); background:transparent; border-color:#d9ccca; }
.marketing .button.secondary:hover { background:#f4e5e5; }
.marketing a:focus-visible,.marketing summary:focus-visible { outline:3px solid #4a9690; outline-offset:5px; }
.marketing .site-header {
  position:relative; height:96px; min-height:96px; padding:18px max(32px,calc((100% - 1280px)/2));
  background:var(--canvas); border:0; backdrop-filter:none; -webkit-backdrop-filter:none; gap:32px;
}
.marketing .site-header .brand>img.brand-wordmark,.marketing .site-footer .brand>img.brand-wordmark { width:138px; height:auto; max-width:none; }
.marketing .site-header .desktop-navigation { margin:auto; gap:16px; }
.marketing .site-header nav a { font-size:14px; font-weight:600; padding:10px 12px; }
.marketing .header-actions { gap:24px; }
.marketing .header-actions .button { padding:12px 21px; font-size:14px; }
.marketing .header-actions .login-link { font-size:14px; color:var(--ink); }
.marketing .site-footer {
  display:block; width:100%; padding:0 max(32px,calc((100% - 1280px)/2)) 28px;
  margin-top:auto; background:var(--canvas); border:0;
}
.marketing .footer-main { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:28px 0; border-top:1px solid var(--line); }
.marketing .site-footer .footer-main nav { display:flex; flex-direction:row; align-items:center; gap:26px; flex-wrap:wrap; }
.marketing .site-footer a:not(.brand) { font-size:13px; color:var(--ink); }
.marketing .site-footer a:hover { color:var(--wine); }
.marketing .site-footer a.button { color:white; min-height:42px; padding:10px 18px; }
.marketing .footer-bottom { margin:0; padding:14px 0 0; border:0; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:12px; color:var(--muted); }
.marketing .footer-bottom address { font-style:normal; }
.marketing .footer-bottom address a { font-size:12px; color:var(--muted); }
.marketing .footer-bottom>div { display:flex; align-items:center; gap:20px; }
.footer-hosting { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.canada-outline { color:#cf2636; flex-shrink:0; }
.landing-width { width:calc(100% - 64px); max-width:1200px; margin-inline:auto; }
.landing-wide { width:calc(100% - 64px); max-width:1344px; margin-inline:auto; }
.site-home { padding-bottom:70px; }
.site-home :is(h1,h2,h3,p,ul,figure) { margin-block:0; }
.site-home h2 { font-size:clamp(28px,3vw,40px); font-weight:600; line-height:1.18; letter-spacing:-.045em; }
.landing-hero { padding:34px 0 34px; text-align:center; }
.landing-eyebrow { font-size:11px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; line-height:1.5; }
.marketing .landing-hero h1 { font-size:clamp(64px,7.2vw,100px); font-weight:600; line-height:.98; letter-spacing:-.06em; margin:22px 0 18px; }
.landing-hero h1 br { display:block!important; }
.landing-hero h1 em { color:var(--wine); font-style:normal; }
.landing-promise { font-size:clamp(24px,3vw,38px); font-weight:600; line-height:1.2; letter-spacing:-.045em; }
.landing-description { font-size:clamp(17px,1.65vw,22px); line-height:1.6; margin-top:10px!important; }
.landing-actions { display:flex; align-items:center; justify-content:center; gap:28px; margin:26px 0 20px; }
.marketing .landing-actions .button { min-height:56px; padding:15px 26px; font-size:17px; border-radius:11px; }
.landing-text-link { display:inline-flex; align-items:center; justify-content:center; gap:14px; font-size:16px; font-weight:650; color:var(--ink); min-height:44px; }
.landing-text-link span { color:var(--wine); font-size:22px; }
.landing-text-link:hover { color:var(--wine); }
.landing-trust { display:flex; align-items:center; justify-content:center; gap:22px; font-size:12px; color:#514b47; }
.landing-trust>span { display:inline-flex; align-items:center; gap:10px; }
.landing-trust>span+span { border-left:1px solid #c7bfb7; padding-left:22px; }
.landing-platforms { display:flex; align-items:center; justify-content:center; gap:30px; list-style:none; padding:0; margin-top:19px!important; }
.landing-platforms li { display:flex; align-items:center; gap:8px; font-size:13px; }
.landing-platforms svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
/* The product visual is real text and CSS rather than a scaled screenshot. */
.landing-product { background:#f4ede3; border-radius:28px; padding:28px 24px 13px; }
.product-stage { container-type:inline-size; }
.product-composition { width:100%; height:51cqw; position:relative; font-family:"Helvetica Neue",Arial,sans-serif; }
.preview-desktop { position:absolute; top:1%; left:14%; width:72%; height:95%; background:#fff; border:3px solid #d1cdc7; box-shadow:0 0 0 2px #e9e4dd,0 12px 22px #51443922; border-radius:20px; display:grid; grid-template-columns:18% 1fr; overflow:hidden; }
.preview-sidebar { background:#f4ede3; padding:1.7cqw 1cqw; font-size:.85cqw; }
.preview-sidebar>img { display:block; width:8.6cqw; height:auto; margin-bottom:2.2cqw; }
.preview-sidebar>div { display:flex; align-items:center; gap:.65cqw; padding:.85cqw .6cqw; margin-bottom:.25cqw; white-space:nowrap; }
.preview-sidebar .ui-icon { width:1.1cqw; height:1.1cqw; flex-shrink:0; }
.preview-selected { background:#efdfcd; border-radius:6px; font-weight:600; }
.preview-content { padding:1.8cqw 1.9cqw; min-width:0; }
.preview-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:2.6cqw; }
.preview-heading>strong { font-size:1.8cqw; letter-spacing:-.05em; }
.preview-heading>span { font-size:.9cqw; padding:.6cqw 1cqw; border:1px solid #e7e2dc; border-radius:20px; }
.preview-metrics { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:1cqw; margin-bottom:3cqw; }
.preview-metrics>div { display:flex; flex-direction:column; gap:.8cqw; }
.preview-metrics>div+div { padding-left:1.3cqw; border-left:1px solid #e9e2d9; }
.preview-metrics span { display:flex; align-items:center; gap:.55cqw; color:#777; font-size:.9cqw; }
.preview-metrics strong { font-size:2.1cqw; letter-spacing:-.06em; white-space:nowrap; }
.preview-metrics>div:first-child strong { font-size:2.55cqw; }
.dot { display:inline-block; width:.7cqw; height:.7cqw; border-radius:50%; flex-shrink:0; }
.dot.teal { background:#4ab0a7; }.dot.amber { background:#ffb332; }.dot.coral { background:#ff7b63; }.dot.mint { background:#9ad4cb; }.dot.beige { background:#d5c8b7; }.dot.gray { background:#e6e1da; }
.preview-charts { display:grid; grid-template-columns:1.1fr 1fr; gap:1.7cqw; margin-bottom:1.8cqw; }
.marketing .preview-content h3 { font:700 1.25cqw/1.3 "Helvetica Neue",Arial,sans-serif; letter-spacing:-.03em; margin:0 0 1.6cqw; }
.preview-work>div { display:grid; grid-template-columns:1fr auto; font-size:.85cqw; margin-bottom:1cqw; gap:.5cqw; }
.preview-work b { font-weight:500; }.work-bar { display:block; grid-column:1/-1; height:.7cqw; border-radius:4px; background:#ffb332; }
.work-bar-first { width:100%; }.work-bar-second { width:19.08%; background:#820d2c; }.work-bar-third { width:6.86%; background:#4ab0a7; }
.preview-categories { padding-left:1.5cqw; border-left:1px solid #e9e2d9; }
.preview-category-body { display:flex; align-items:center; gap:1cqw; }
.preview-donut { width:9cqw; aspect-ratio:1; border-radius:50%; background:conic-gradient(#4ab0a7 0 48%,#ffb332 48% 70%,#9ad4cb 70% 85%,#d5c8b7 85% 94%,#e6e1da 94% 100%); display:grid; place-items:center; flex-shrink:0; }
.preview-donut>span { display:flex; flex-direction:column; align-items:center; justify-content:center; width:62%; height:62%; background:#fff; border-radius:50%; font-size:1.6cqw; font-weight:600; }
.preview-donut small { font-size:.65cqw; font-weight:400; color:#777; }
.preview-categories ul { list-style:none; padding:0; flex:1; }
.preview-categories li { display:flex; align-items:center; gap:.4cqw; font-size:.7cqw; margin:.65cqw 0; }
.preview-categories b { margin-left:auto; font-weight:400; }
.preview-recent { background:#edf7f5; padding:1.2cqw; border-radius:12px; }
.marketing .preview-recent h3 { margin-bottom:1.2cqw; }
.preview-table-head,.preview-table-row { display:grid; grid-template-columns:1.35fr 1fr .8fr .7fr; align-items:center; gap:.8cqw; font-size:.7cqw; }
.preview-table-head { color:#6e817e; margin-bottom:.7cqw; padding:0 .5cqw; }
.preview-table-row { padding:.7cqw .5cqw; background:#fff; border-bottom:1px solid #f0f2ee; }
.preview-table-row:nth-child(3) { border-radius:7px 7px 0 0; }.preview-table-row:last-child { border-radius:0 0 7px 7px; border:0; }
.preview-table-row>span { display:flex; align-items:center; gap:.5cqw; white-space:nowrap; }.preview-table-row .ui-icon { width:1.05cqw; height:1.05cqw; }.preview-table-row>strong,.preview-table-head>span:last-child { text-align:right; white-space:nowrap; }
/* Receipts keep the financial story visible beside the workspace. */
.paper-stack { position:absolute; top:8%; bottom:0; left:0; width:16%; z-index:1; }
.sample-paper { background:#fffdfa; box-shadow:0 5px 10px #56483522; padding:1.5cqw 1cqw 2cqw; font:.7cqw/1.5 "SFMono-Regular",Consolas,monospace; text-align:center; color:#59564e; position:relative; }
.sample-paper:after { content:""; position:absolute; height:7px; bottom:-5px; left:0; right:0; background:linear-gradient(135deg,#fffdfa 25%,transparent 25%) -5px 0,linear-gradient(225deg,#fffdfa 25%,transparent 25%) -5px 0; background-size:10px 10px; }
.hotel-paper { transform:rotate(-8deg); }.cafe-paper { transform:rotate(5deg); margin-top:2cqw; }
.sample-paper>strong { display:block; font-size:1cqw; margin-bottom:.7cqw; }.sample-paper>span { display:block; font-size:.6cqw; }.sample-paper>span.paper-mark { font-size:1.7cqw; font-family:Georgia,serif; }.sample-paper hr { border:0; border-top:1px dashed #b7afa2; margin:1cqw 0; }.sample-paper>div { display:flex; justify-content:space-between; margin:.45cqw 0; font-size:.65cqw; }.sample-paper b { font-weight:500; }.sample-paper .paper-total { margin-top:1cqw; font-weight:700; }.sample-paper .paper-total b { font-weight:700; }
.preview-phone { position:absolute; z-index:2; top:9%; right:0; width:22%; height:91%; border:5px solid #242323; border-radius:33px; background:#fffcf8; box-shadow:0 0 0 2px #bdbab5,0 8px 20px #29252225; overflow:hidden; padding:.8cqw .65cqw; display:flex; flex-direction:column; }
.phone-status { display:flex; justify-content:space-between; align-items:center; padding:0 .4cqw; font-size:.6cqw; position:relative; height:1.6cqw; }.phone-island { background:#161616; border-radius:20px; width:38%; height:1.3cqw; }
.phone-nav { display:flex; align-items:center; justify-content:space-between; margin:.9cqw .2cqw; font-size:.8cqw; }.phone-nav>span { font-size:2cqw; line-height:1; }.phone-nav .ui-icon { width:1.1cqw; height:1.1cqw; }
.phone-paper { background:#f1e9dd; height:12cqw; overflow:hidden; padding:1.1cqw 3.1cqw; flex-shrink:0; }
.mini-receipt { padding:1.1cqw .7cqw; background:#fffefa; box-shadow:0 2px 6px #52473924; transform:rotate(-5deg); font:.5cqw/1.8 monospace; text-align:center; }.mini-receipt>b { display:block; font-size:.6cqw; }.mini-receipt>span { font-size:.4cqw; }.mini-receipt hr { margin:.8cqw 0; border:0; border-top:1px dashed #b6ada2; }.mini-receipt>div { display:flex; justify-content:space-between; }.mini-receipt b { font-weight:600; }
.phone-details { padding:1cqw .2cqw 0; display:flex; flex:1; flex-direction:column; min-height:0; }.phone-details>strong { font-size:1cqw; }.phone-details>small { font-size:.65cqw; color:#777; margin:.3cqw 0 .4cqw; }.phone-amount { font-size:1.8cqw; letter-spacing:-.05em; margin-bottom:.65cqw; }.phone-line { display:flex; align-items:center; gap:.55cqw; padding:.85cqw 0; border-bottom:1px solid #e9e2d9; font-size:.75cqw; }.phone-line>span { flex:1; }.phone-line b { font-weight:500; }.phone-line small { display:block; color:#820d2c; font-size:.6cqw; margin-top:.2cqw; }.preview-switch { width:2cqw; height:1.1cqw; border-radius:20px; background:#820d2c; position:relative; }.preview-switch:after { content:""; width:.85cqw; height:.85cqw; background:white; border-radius:50%; position:absolute; right:.12cqw; top:.12cqw; }.preview-switch.off { background:#d9d7d2; }.preview-switch.off:after { left:.12cqw; right:auto; }
.phone-allocation { display:flex; gap:1.6cqw; border-radius:7px; background:#edf7f5; padding:.6cqw; margin-top:.8cqw; font-size:.65cqw; }.phone-allocation b { display:block; font-size:.85cqw; margin-top:.2cqw; }.phone-save { display:block; flex-shrink:0; margin-top:.8cqw; padding:.8cqw .4cqw; text-align:center; font-size:.85cqw; font-weight:600; background:#820d2c; color:white; border-radius:8px; }.phone-home-bar { height:.3cqw; width:40%; border-radius:3px; background:#222; margin:.7cqw auto 0; flex-shrink:0; }
.landing-product figcaption { text-align:center; font-size:11px; color:#77716b; margin-top:16px; }
/* Three compact, illustrated steps. */
.landing-workflow { padding:64px 0 52px; text-align:center; }
.workflow-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:28px; }
.workflow-grid article { position:relative; }
.workflow-grid article+article:before { content:"→"; position:absolute; left:-28px; top:85px; font-size:27px; color:#b9ad9e; }
.workflow-art { width:220px; height:148px; max-width:100%; margin:auto; display:block; }
.marketing .workflow-grid h3 { font-size:23px; font-weight:600; color:var(--wine); letter-spacing:-.035em; margin:10px 0 9px; }
.workflow-grid p { font-size:16px; line-height:1.6; }
.landing-workflow>.landing-text-link { margin-top:20px; color:var(--wine); font-size:14px; }
.landing-audiences { text-align:center; padding:0 0 16px; }
.landing-audience-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:32px; }
.landing-audience-card { display:block; border:1px solid #e9e1d6; border-radius:14px; padding:10px; color:var(--ink); text-align:left; background:#fffcf8; transition:border-color .15s,box-shadow .15s; }
.landing-audience-card:hover { border-color:#b9848e; box-shadow:0 5px 15px #54253209; color:var(--ink); }
.audience-art { display:block; width:100%; aspect-ratio:1.5; background-image:url('/w/illustrations/expense-audiences.png'); background-size:200% 200%; border-radius:8px; background-repeat:no-repeat; }
.art-consultants { background-position:left top; }.art-salespeople { background-position:right top; }.art-founders { background-position:left bottom; }.art-companies { background-position:right bottom; }
.landing-audience-card>div { position:relative; padding:15px 8px 10px; }
.marketing .landing-audience-card h3 { font-size:21px; font-weight:600; line-height:1.3; color:var(--wine); margin:0 25px 5px 0; letter-spacing:-.03em; }
.landing-audience-card p { font-size:14px; line-height:1.5; }.audience-arrow { position:absolute; right:6px; top:14px; color:var(--wine); font-size:24px; }
@media(min-width:1600px) { .landing-hero { padding-top:45px; padding-bottom:40px; } }
@media(max-width:1100px) {
  .marketing .site-header { gap:20px; height:84px; min-height:84px; padding-inline:28px; }
  .marketing .site-header .desktop-navigation { display:none; }
  .marketing .site-header>.mobile-menu { display:block; margin-left:0; }
  .marketing .header-actions { margin-left:auto; }
  .marketing .site-header .mobile-menu nav { background:var(--canvas); }
  .marketing .site-footer .footer-main nav { gap:18px; }
  .marketing .footer-bottom { align-items:flex-start; }
  .marketing .footer-bottom>div { flex-wrap:wrap; justify-content:flex-end; }
  .landing-wide { width:calc(100% - 40px); }.landing-width { width:calc(100% - 48px); }
  .preview-desktop { border-radius:15px; }.preview-phone { border-radius:25px; border-width:4px; }
  .landing-audience-grid { gap:16px; }.landing-audience-card p { font-size:13px; }
}
@media(max-width:760px) {
  .marketing .site-header { height:76px; min-height:76px; padding:16px 22px; }
  .marketing .site-header .brand>img.brand-wordmark,.marketing .site-footer .brand>img.brand-wordmark { width:122px; }
  .marketing .site-header>.header-actions { display:none; }
  .marketing .site-header>.mobile-menu { margin-left:auto; }
  .marketing .site-header .mobile-menu summary { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; }
  .marketing .site-header .mobile-menu summary svg { width:22px; height:22px; }
  .marketing .site-header .mobile-menu nav { right:0; width:min(300px,calc(100vw - 44px)); padding:12px; box-shadow:0 12px 36px #36281d1c; border:1px solid var(--line); }
  .marketing .site-header .mobile-menu nav a { display:block; padding:13px 14px; border-radius:8px; }
  .marketing .site-footer { padding-inline:24px; padding-bottom:24px; }
  .marketing .footer-main { align-items:flex-start; flex-direction:column; gap:24px; }
  .marketing .site-footer .footer-main nav { width:100%; gap:18px 24px; }
  .marketing .footer-bottom { display:flex; flex-direction:column; gap:20px; padding-top:8px; }
  .marketing .footer-bottom>div { justify-content:flex-start; }
  .landing-hero { padding-top:30px; padding-bottom:34px; }
  .landing-eyebrow { font-size:9px; letter-spacing:.16em; }
  .marketing .landing-hero h1 { font-size:clamp(49px,10vw,72px); margin-top:20px; margin-bottom:20px; }
  .landing-promise { font-size:clamp(22px,4.8vw,30px); line-height:1.2; max-width:480px; margin-inline:auto!important; }
  .landing-description { font-size:16px; max-width:310px; margin-inline:auto!important; }
  .landing-actions { gap:18px; margin-top:24px; flex-wrap:wrap; }
  .marketing .landing-actions .button { font-size:16px; padding:14px 22px; min-height:52px; }
  .landing-text-link { font-size:14px; gap:10px; }
  .landing-trust { flex-wrap:wrap; gap:10px; font-size:11px; }
  .landing-trust>span+span { border:0; padding-left:0; }.landing-trust>span { justify-content:center; }
  .landing-platforms { gap:24px; margin-top:18px!important; }.landing-platforms li { font-size:12px; }
  .landing-product { width:calc(100% - 24px); padding:18px 12px 12px; border-radius:20px; }
  .product-composition { height:79cqw; }
  .paper-stack { display:none; }
  .preview-desktop { left:0; top:4%; width:94%; height:66%; border-width:2px; border-radius:13px; grid-template-columns:17% 1fr; }
  .preview-sidebar { padding:2cqw 1cqw; font-size:1.15cqw; }.preview-sidebar>img { width:12cqw; margin-bottom:3cqw; }.preview-sidebar>div { padding:1.4cqw .3cqw; gap:.7cqw; }.preview-sidebar .ui-icon { width:1.5cqw; height:1.5cqw; }
  .preview-content { padding:2.4cqw; }.preview-heading>strong { font-size:2.6cqw; }.preview-heading>span { font-size:1.2cqw; }
  .preview-metrics { margin-bottom:4cqw; gap:1.5cqw; }.preview-metrics span { font-size:1.2cqw; }.preview-metrics strong { font-size:2.7cqw; }.preview-metrics>div:first-child strong { font-size:3.2cqw; }
  .marketing .preview-content h3 { font-size:1.65cqw; }.preview-charts { gap:2.2cqw; margin-bottom:3cqw; }.preview-work>div { font-size:1.2cqw; margin-bottom:1.3cqw; gap:.8cqw; }.work-bar { height:1cqw; }
  .preview-donut { width:12cqw; }.preview-donut>span { font-size:2cqw; }.preview-donut small { font-size:.8cqw; }.preview-categories li { font-size:.95cqw; margin:.8cqw 0; }
  .preview-recent { padding:1.6cqw; }.preview-table-head,.preview-table-row { font-size:.95cqw; }.preview-table-row { padding:1.1cqw .5cqw; }.preview-table-row .ui-icon { width:1.3cqw; height:1.3cqw; }
  .preview-phone { top:18%; right:0; width:32%; height:82%; border-width:3px; border-radius:22px; padding:1.3cqw 1.2cqw; }
  .phone-status { font-size:1cqw; height:2.5cqw; }.phone-island { height:1.8cqw; }.phone-nav { font-size:1.2cqw; margin:1.5cqw .3cqw; }.phone-nav>span { font-size:3cqw; }.phone-nav .ui-icon { width:1.6cqw; height:1.6cqw; }
  .phone-paper { height:19cqw; padding:1.6cqw 3.5cqw; }.mini-receipt { font-size:.8cqw; padding:1.6cqw 1cqw; }.mini-receipt>b { font-size:.9cqw; }.mini-receipt>span { font-size:.6cqw; }
  .phone-details { padding:1.4cqw .3cqw 0; }.phone-details>strong { font-size:1.6cqw; }.phone-details>small { font-size:.95cqw; }.phone-amount { font-size:2.8cqw; margin-bottom:1.3cqw; }.phone-line { font-size:1.15cqw; padding:1.3cqw 0; }.phone-line small { font-size:.9cqw; }.preview-switch { width:3.2cqw; height:1.8cqw; }.preview-switch:after { width:1.5cqw; height:1.5cqw; top:.15cqw; right:.15cqw; }.preview-switch.off:after { left:.15cqw; }
  .phone-allocation { font-size:.95cqw; padding:.8cqw; margin-top:1.2cqw; gap:2.4cqw; }.phone-allocation b { font-size:1.3cqw; }.phone-save { font-size:1.25cqw; padding:1.1cqw .4cqw; border-radius:5px; }.phone-home-bar { height:.4cqw; margin:1cqw auto 0; }
  .landing-product figcaption { margin-top:12px; font-size:10px; }
  .landing-workflow { padding:48px 0 44px; }.site-home h2 { font-size:29px; max-width:500px; margin-inline:auto!important; }.workflow-grid { gap:18px; margin-top:24px; }.workflow-art { width:180px; height:auto; }.workflow-grid article+article:before { display:none; }.marketing .workflow-grid h3 { font-size:21px; }.workflow-grid p { font-size:14px; }
  .landing-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:25px; }.landing-audience-card { padding:8px; }.landing-audience-card>div { padding:10px 4px 7px; }.marketing .landing-audience-card h3 { font-size:19px; }.landing-audience-card p { font-size:13px; }.audience-arrow { right:2px; top:8px; font-size:20px; }.site-home { padding-bottom:40px; }
}
@media(max-width:480px) {
  .landing-width { width:calc(100% - 40px); }.landing-wide { width:calc(100% - 32px); }
  .landing-trust { flex-direction:column; }.landing-actions { gap:7px; flex-direction:column; }.landing-actions .button { width:auto; }
  .preview-phone { border-radius:17px; }.preview-desktop { border-radius:10px; }.preview-recent { border-radius:6px; }
  .workflow-grid { grid-template-columns:1fr; gap:24px; }.workflow-art { width:170px; height:116px; }.marketing .workflow-grid h3 { margin-top:4px; margin-bottom:6px; }.workflow-grid p { font-size:16px; }
  .landing-audience-grid { gap:12px; }.landing-audience-card>div { padding-inline:2px; }.marketing .landing-audience-card h3 { font-size:17px; margin-right:17px; }.landing-audience-card p { font-size:12px; }.audience-arrow { font-size:18px; right:0; top:7px; }
}
@media(prefers-reduced-motion:reduce) { .landing-audience-card { transition:none; } }

/* On a phone the mobile product takes the foreground, rather than shrinking
   a whole desktop screen into unreadable miniature text. */
@media(max-width:480px) {
 .product-composition { height:126cqw; }
 .preview-desktop { display:none; }
 .paper-stack { display:block; width:37%; top:12%; left:0; }
 .sample-paper { padding:4cqw 2cqw 4cqw; }
 .sample-paper>strong { font-size:2.2cqw; }.sample-paper>span { font-size:1.4cqw; }
 .sample-paper>span.paper-mark { font-size:4cqw; }.sample-paper hr { margin:2cqw 0; }
 .sample-paper>div { font-size:1.5cqw; margin:1.3cqw 0; }.sample-paper .paper-total { margin-top:2cqw; }
 .cafe-paper { margin-top:7cqw; }
 .preview-phone { top:0; right:1%; width:63%; height:100%; border-radius:26px; padding:2cqw 1.8cqw; }
 .phone-status { font-size:1.5cqw; height:3.5cqw; padding-inline:1.3cqw; }.phone-island { height:3cqw; }
 .phone-nav { font-size:2.5cqw; margin:2.2cqw 1cqw; }.phone-nav>span { font-size:5cqw; }.phone-nav .ui-icon { width:3cqw; height:3cqw; }
 .phone-paper { height:34cqw; padding:3cqw 9cqw; }.mini-receipt { font-size:1.35cqw; padding:2.6cqw 1.8cqw; }.mini-receipt>b { font-size:1.55cqw; }.mini-receipt>span { font-size:1cqw; }.mini-receipt hr { margin:2cqw 0; }
 .phone-details { padding:2.8cqw 1cqw 0; }.phone-details>strong { font-size:3cqw; }.phone-details>small { font-size:1.8cqw; margin:1cqw 0; }.phone-amount { font-size:5.1cqw; margin-bottom:2cqw; }
 .phone-line { font-size:2.2cqw; padding:2.7cqw 0; gap:1.4cqw; }.phone-line small { font-size:1.8cqw; margin-top:.7cqw; }.preview-switch { width:5.5cqw; height:3.2cqw; }.preview-switch:after { width:2.6cqw; height:2.6cqw; top:.3cqw; right:.3cqw; }.preview-switch.off:after { left:.3cqw; }
 .phone-allocation { font-size:1.8cqw; padding:1.7cqw; margin-top:2cqw; gap:5cqw; }.phone-allocation b { font-size:2.4cqw; margin-top:.6cqw; }
 .phone-save { font-size:2.4cqw; padding:2.3cqw 1cqw; margin-top:auto; border-radius:7px; }
 .phone-home-bar { height:.8cqw; margin:2cqw auto .4cqw; }
}

/* Secondary pages share the approved landing page's editorial illustration system. */
.marketing .story-page { padding-bottom:72px; }
.marketing .story-page :is(h1,h2,h3,p,ul,figure,dl) { margin:0; }
.marketing .story-page :is(h1,h2,h3) { font-weight:600; letter-spacing:-.045em; color:var(--ink); }
.marketing .story-page :is(h1,h2) br { display:block; }
.marketing .story-page h2 { font-size:clamp(30px,3.3vw,44px); line-height:1.15; }
.marketing .story-page h3 { font-size:23px; line-height:1.3; }
.marketing .story-page p { font-size:18px; line-height:1.65; color:var(--muted); }
.marketing .story-page p+p { margin-top:16px; }
.marketing .story-page .story-label { color:var(--wine); font-size:14px; font-weight:600; margin-bottom:18px; }
.marketing .story-hero { padding:46px 0 54px; text-align:center; }
.marketing .story-hero h1 { max-width:1040px; margin:0 auto 24px; font-size:clamp(48px,5.6vw,80px); line-height:1.04; }
.marketing .story-hero>p:not(.story-label) { max-width:690px; margin-inline:auto; font-size:21px; line-height:1.6; }
.marketing .story-hero .landing-actions { margin:28px 0 0; }
.marketing .story-page .button { min-height:52px; padding:14px 24px; font-size:16px; font-weight:600; }
.marketing .story-page .landing-text-link { color:var(--wine); }
.story-audiences { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.story-audience { display:block; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fffdfa; padding:12px; transition:border-color .15s; }
.story-audience:hover { border-color:#ba8994; }
.story-audience .audience-art { border-radius:12px; }
.story-audience>div { padding:24px 20px 22px; }
.marketing .story-audience h2 { font-size:30px; margin-bottom:12px; }
.marketing .story-audience p { font-size:18px; max-width:480px; }
.story-card-link { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--wine); font-weight:600; font-size:16px; margin-top:22px; }
.story-card-link>span { font-size:25px; font-weight:400; }
.story-section { padding-top:84px; }
.story-section-heading { text-align:center; margin-bottom:32px; }
.marketing .story-section-heading p { margin:18px auto 0; max-width:620px; }
.story-workflow { text-align:center; }
.marketing .story-workflow h3 { margin:18px 0 12px; color:var(--wine); font-size:23px; }
.marketing .story-workflow p { font-size:17px; }
.story-workflow .workflow-art { width:240px; height:160px; }
.story-note-band { margin-top:84px; background:#edf7f5; border-radius:24px; padding:32px 56px; display:grid; grid-template-columns:240px 1fr; align-items:center; gap:48px; }
.story-note-band .workflow-art { width:240px; height:180px; }
.marketing .story-note-band p { margin:18px 0; max-width:620px; }
.story-closing { text-align:center; padding-top:84px; }
.marketing .story-closing h2 { max-width:780px; margin-inline:auto; }
.marketing .story-closing p { margin:20px 0 0; }
.story-closing .button { display:inline-flex; margin-top:28px; }
.story-closing small { display:block; font-size:13px; color:var(--muted); margin-top:16px; }
.story-back-link { display:table; margin:24px auto 0; font-size:14px; color:var(--wine); }
.story-persona-stage { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:28px; border-radius:28px; background:#f4ede3; padding:34px; }
.persona-scene { min-width:0; }
.persona-scene .audience-art { aspect-ratio:1.5; }
.marketing .story-report { background:#fffdfa; border:1px solid #e9e1d6; border-radius:16px; padding:32px; min-width:0; }
.story-report figcaption { font-size:12px; color:var(--muted); margin-bottom:24px; }
.marketing .story-report h2 { font-size:24px; line-height:1.3; }
.story-report-total { display:block; font-size:52px; font-weight:600; letter-spacing:-.06em; line-height:1.25; margin:12px 0 26px; font-variant-numeric:tabular-nums; }
.story-report-total>span { font-size:.64em; }
.story-report-bars { display:grid; gap:20px; }
.story-report-bars>div { display:grid; grid-template-columns:1fr auto; gap:9px 12px; font-size:15px; }
.story-report-bars strong { font-weight:600; font-variant-numeric:tabular-nums; }
.story-report-bars svg { display:block; grid-column:1/-1; width:100%; height:8px; }
.bar-track { fill:#f1ede7; }.bar-tone-0 { fill:#ffb332; }.bar-tone-1 { fill:#820d2c; }.bar-tone-2 { fill:#4ab0a7; }
.story-format-list { display:flex; flex-wrap:wrap; gap:8px 18px; border-top:1px solid var(--line); margin-top:28px; padding-top:18px; color:#736d66; font-size:12px; }
.story-persona-details { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.marketing .story-persona-details p { margin-top:24px; }
.story-check-list { list-style:none; padding:0; display:grid; gap:22px; }
.story-check-list li { display:flex; align-items:baseline; gap:16px; font-size:18px; line-height:1.6; }
.story-check-list li>span { color:#367d74; font-weight:600; }
.story-journey { padding-bottom:0; }
.story-index { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 34px; border-block:1px solid var(--line); padding:12px 0; }
.story-index a { display:flex; align-items:center; min-height:44px; font-size:16px; font-weight:600; color:var(--wine); }
.story-feature { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; padding-top:80px; }
.story-feature-reverse>.story-feature-art { grid-column:2; grid-row:1; }
.story-feature-reverse>.story-feature-copy { grid-column:1; grid-row:1; }
.story-feature-art { min-width:0; border-radius:24px; padding:32px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:360px; }
.cream-art { background:#f4ede3; }.mint-art { background:#edf7f5; }
.story-feature-art>.workflow-art { width:330px; height:auto; }
.story-feature-art>.audience-art { width:calc(100% + 32px); max-width:none; }
.story-art-caption { text-align:center; margin-top:16px; }
.story-art-caption>strong { display:block; font-size:19px; font-weight:600; letter-spacing:-.03em; }
.story-art-caption>span { display:block; margin-top:8px; font-size:13px; color:var(--muted); }
.marketing .story-feature-copy h2 { margin-bottom:24px; }
.story-feature-copy .landing-text-link { margin-top:18px; }
.story-bullets { list-style:none; padding:0; margin-top:24px!important; display:grid; gap:14px; }
.story-bullets li { font-size:17px; line-height:1.6; padding-left:22px; position:relative; }
.story-bullets li:before { content:""; width:6px; height:6px; background:#4ab0a7; border-radius:50%; position:absolute; left:0; top:.65em; }
.story-export { margin-top:84px; padding:48px; border-radius:24px; background:#f4ede3; }
.story-export-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:center; }
.marketing .story-export-intro p { margin:22px 0 14px; max-width:650px; }
.story-export-intro>.workflow-art { width:300px; height:auto; }
.story-export-intro small { display:block; color:var(--muted); font-size:12px; margin-top:8px; }
.story-export-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 40px; padding-top:40px; margin-top:40px!important; border-top:1px solid #dacebd; }
.story-export-formats dt { font-size:22px; font-weight:600; color:var(--wine); }
.story-export-formats dd { margin:10px 0 0; font-size:16px; line-height:1.6; }
.story-practical { max-width:840px; margin:80px auto 0; }
.marketing .story-practical>h2 { margin-bottom:28px; text-align:center; }
.story-practical details { border-bottom:1px solid var(--line); padding:22px 0; }
.story-practical summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:18px; font-weight:600; cursor:pointer; }
.story-practical summary::-webkit-details-marker { display:none; }
.story-practical summary:after { content:"+"; font-size:25px; color:var(--wine); font-weight:400; }
.story-practical details[open]>summary:after { content:"−"; }
.marketing .story-practical details p { margin-top:18px; font-size:16px; }
.story-receipt-scene { text-align:center; padding:24px; }
.story-receipt-scene .workflow-art { width:300px; height:auto; margin-bottom:20px; }
.marketing .story-receipt-scene h2 { font-size:32px; }
.story-record-fields { margin-top:24px!important; }
.story-record-fields>div { display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); padding:14px 0; font-size:16px; }
.story-record-fields dt { color:var(--muted); }.story-record-fields dd { margin:0; font-weight:600; }
.story-record-fields>div:last-child { font-size:24px; padding-block:22px; color:var(--wine); }
.marketing .story-record-note { font-size:14px; margin-top:24px; }
/* Pricing cards contain prices; the single table carries every feature and limit. */
.marketing #main .story-pricing .pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.marketing #main .story-pricing .price-card { padding:32px; border:1px solid #e2d8cd; border-radius:20px; background:#fffdfa; display:flex; flex-direction:column; grid-row:auto; grid-template-rows:none; box-shadow:none; }
.marketing #main .story-pricing .price-card#professional { background:#f4ede3; }
.marketing #main .story-pricing .price-card#corporate { background:#edf7f5; border-color:#cfdeda; }
.marketing #main .story-pricing .price-card:before { display:none; }
.marketing #main .story-pricing .price-card h2 { font-size:27px; margin:0 0 26px; }
.marketing #main .story-pricing .price { color:var(--ink); font-size:58px; font-weight:600; letter-spacing:-.055em; line-height:1.2; margin-bottom:10px; display:block; }
.marketing #main .story-pricing .price span { display:block; margin:4px 0 0; font-size:15px; font-weight:400; color:var(--muted); }
.marketing #main .story-pricing .annual { font-size:14px; color:var(--muted); }
.marketing #main .story-pricing .plan-cost { padding:0; margin:0 0 30px; flex:1; min-height:0; }
.marketing #main .story-pricing .price-card>.button { width:100%; margin:0; }
.marketing #main .story-pricing .plan-comparison-note { text-align:center; max-width:800px; font-size:13px; }
.marketing .story-pricing .pricing-trial-link { display:inline-block; font-size:14px; color:var(--wine); font-weight:600; margin-top:22px; }
.marketing #main .story-pricing .plan-matrix { margin-top:80px; }
.marketing #main .story-pricing .plan-matrix-scroll { border:1px solid var(--line); border-radius:16px; background:#fffdfa; box-shadow:none; }
.marketing #main .story-pricing .plan-matrix th,.marketing #main .story-pricing .plan-matrix td { padding:18px 24px; font-size:15px; text-align:center; }
.marketing #main .story-pricing .plan-matrix th:first-child { text-align:left; width:40%; }
.marketing #main .story-pricing .plan-matrix thead th { background:#f4ede3; font-size:20px; font-weight:600; }
.marketing #main .story-pricing .plan-matrix .comparison-group th { background:#f7f3ed; color:var(--wine); font-size:14px; font-weight:600; padding-block:13px; text-align:left; }
.plan-check { display:inline-grid; place-items:center; width:26px; height:26px; background:#edf7f5; color:#326f66; border-radius:50%; font-size:17px; }
.marketing .comparison-scroll-hint { display:none; }
.story-trial { display:grid; grid-template-columns:260px 1fr; align-items:center; gap:40px; margin-top:72px; border-radius:24px; padding:40px 56px; background:#f4ede3; }
.story-trial-art .workflow-art { width:260px; height:auto; }
.marketing .story-trial p { margin:16px 0 24px; }
.story-trial small { display:block; margin-top:14px; font-size:13px; color:var(--muted); }
@media(max-width:1000px) {
 .story-feature { gap:36px; }.story-feature-art { padding:24px; min-height:320px; }
 .story-persona-stage { grid-template-columns:1fr 1fr; gap:12px; padding:24px; }.marketing .story-report { padding:24px; }
 .story-persona-details { gap:40px; }
 .marketing #main .story-pricing .pricing-grid { gap:16px; }.marketing #main .story-pricing .price-card { padding:24px; }
 .story-note-band { gap:28px; padding:28px 36px; grid-template-columns:200px 1fr; }
}
@media(max-width:760px) {
 .marketing .story-page { padding-bottom:48px; }
 .marketing .story-hero { padding:28px 0 36px; }
 .marketing .story-hero h1 { font-size:clamp(39px,9vw,60px); line-height:1.08; margin-bottom:20px; }
 .marketing .story-hero>p:not(.story-label) { font-size:18px; }
 .marketing .story-page p { font-size:17px; }
 .marketing .story-page .story-label { font-size:13px; }
 .story-audiences { gap:20px; }.story-audience { padding:8px; border-radius:16px; }
 .story-audience>div { padding:20px 12px 16px; }.marketing .story-audience h2 { font-size:25px; }
 .story-section { padding-top:56px; }.story-section-heading { margin-bottom:24px; }
 .story-note-band { margin-top:56px; padding:28px; grid-template-columns:1fr; gap:18px; text-align:center; }
 .story-note-band .workflow-art { width:200px; height:auto; }
 .story-closing { padding-top:56px; }
 .story-persona-stage { grid-template-columns:1fr; padding:18px; gap:14px; }
 .persona-scene { max-width:440px; width:100%; margin:auto; }.marketing .story-report { padding:24px; }
 .story-persona-details { grid-template-columns:1fr; gap:30px; }
 .story-check-list { gap:18px; }.story-check-list li { font-size:17px; }
 .story-feature { grid-template-columns:1fr; gap:28px; padding-top:56px; }
 .story-feature-reverse>.story-feature-art,.story-feature-reverse>.story-feature-copy { grid-column:auto; grid-row:auto; }
 .story-feature-art { min-height:0; padding:28px; }.story-feature-art>.workflow-art { width:260px; }
 .story-index { gap:4px 24px; }.story-index a { font-size:14px; }
 .story-export { margin-top:56px; padding:28px; }.story-export-intro { grid-template-columns:1fr; gap:24px; }
 .story-export-intro>.workflow-art { grid-row:1; width:220px; }.story-export-formats { grid-template-columns:1fr 1fr; gap:28px; padding-top:28px; margin-top:28px!important; }
 .story-practical { margin-top:56px; }.story-practical summary { font-size:17px; }.story-practical details { padding:20px 0; }
 .marketing #main .story-pricing .pricing-grid { grid-template-columns:1fr; gap:16px; }
 .marketing #main .story-pricing .price-card { padding:26px; display:grid; grid-template-columns:1fr 1.5fr; gap:20px 16px; align-items:start; }
 .marketing #main .story-pricing .price-card h2 { font-size:24px; margin:0; }
 .marketing #main .story-pricing .plan-cost { margin:0; text-align:right; }
 .marketing #main .story-pricing .price { font-size:44px; }
 .marketing #main .story-pricing .price-card>.button { grid-column:1/-1; }
 .marketing #main .story-pricing .plan-matrix { margin-top:56px; }
 .marketing #main .story-pricing .plan-matrix table { min-width:650px; }
 .marketing #main .story-pricing .plan-matrix th,.marketing #main .story-pricing .plan-matrix td { padding:15px; }
 .marketing .comparison-scroll-hint { display:block; font-size:13px; margin-bottom:12px; }
 .story-trial { margin-top:48px; grid-template-columns:1fr; text-align:center; gap:20px; padding:28px; }
 .story-trial-art .workflow-art { width:200px; }
}
@media(max-width:540px) {
 .story-audiences { grid-template-columns:1fr; }
 .story-export-formats { grid-template-columns:1fr; gap:24px; }
 .story-art-caption>strong { font-size:17px; }.story-art-caption>span { font-size:12px; }
 .story-workflow article+article:before { display:none; }
 .story-report-total { font-size:48px; }
 .marketing .story-page .landing-actions { flex-direction:column; gap:12px; }
 .marketing #main .story-pricing .price-card { padding:22px; grid-template-columns:1fr; gap:20px; }
 .marketing #main .story-pricing .plan-cost { text-align:left; }
 .marketing #main .story-pricing .price span { display:inline; margin-left:8px; font-size:13px; }
 .marketing #main .story-pricing .price { font-size:42px; }
 .story-receipt-scene { padding:12px; }.marketing .story-receipt-scene h2 { font-size:28px; }
}

.personal-art { display:block; width:100%; height:auto; max-height:310px; }
.landing-audience-card .personal-art { aspect-ratio:1.3; object-fit:contain; }
.story-audiences .personal-art { max-height:250px; }

/* Audience descriptions belong with the plan name at every breakpoint. */
.marketing #main .story-pricing .plan-intro { margin-bottom:24px; min-height:120px; }
.marketing #main .story-pricing .plan-intro h2 { margin:0 0 12px; }
.marketing #main .story-pricing .plan-intro p { font-size:15px; line-height:1.5; margin:0; }
@media(max-width:900px) { .marketing #main .story-pricing .plan-intro { margin:0; min-height:0; } }


/* Currency receipts share the site's line-art style; each total stays distinct. */
.currency-feature { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:64px; padding:24px 0 76px; }
.currency-feature-copy { min-width:0; }
.marketing .currency-feature-copy p { max-width:480px; margin:22px 0 0; color:var(--muted); font-size:18px; line-height:1.65; }
.currency-feature-copy .landing-text-link { margin-top:24px; color:var(--wine); }
.marketing .currency-illustration { min-width:0; width:100%; max-width:540px; margin:0 auto; }
.currency-illustration svg { display:block; width:100%; height:auto; font-family:var(--font-sans); }
.currency-illustration figcaption { text-align:center; color:var(--muted); font-size:12px; line-height:1.5; padding:0 12px; }
.story-page .currency-feature { padding-top:80px; padding-bottom:0; }
@media(max-width:760px) {
  .currency-feature { grid-template-columns:minmax(0,1fr); gap:24px; padding:12px 0 52px; }
  .currency-feature-copy { max-width:540px; margin-inline:auto; width:100%; }
  .marketing .currency-feature-copy p { font-size:17px; margin-top:18px; }
  .currency-feature-copy .landing-text-link { margin-top:20px; }
  .story-page .currency-feature { padding-top:52px; }
}
