/* Public landing styles are scoped so account and enrollment pages keep their layout. */
.landing { --landing-wash: var(--public-module-wash); --blue: var(--public-brand); --blue-deep: var(--public-brand-deep); overflow: clip; }
.landing figure { margin: 0; }
.landing .editorial { font-family: var(--font-display); letter-spacing: normal; }
.landing-section { padding-block: 104px; }
.landing .button { min-height: 52px; border-radius: 10px; padding: 13px 25px; transition: background .2s, box-shadow .2s; }
.landing .button:not(.button-secondary) { box-shadow: 0 5px 14px #2563eb20; }
.landing-hero {
    position: relative;
    isolation: isolate;
    padding-block-start: var(--public-space-3xl);
    background: linear-gradient(180deg, var(--surface), var(--public-hero-wash) 70%, var(--surface));
}
.hero-glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background: radial-gradient(ellipse at 20% 24%, color-mix(in srgb, var(--public-cyan) 14%, transparent), transparent 48%);
}
.hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--public-space-3xl);
    padding-block: var(--public-space-xl) var(--public-space-3xl);
}
.hero-intro { min-inline-size: 0; text-align: start; position: relative; }
.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: var(--public-space-sm);
    border: 1px solid var(--public-hero-line);
    border-radius: var(--public-radius-pill);
    padding: var(--public-space-xs) var(--public-space-md);
    background: var(--surface);
    color: var(--public-hero-text);
    font-size: 12px;
}
.hero-kicker > span, .status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); flex: none; }
.hero-intro h1 {
    font: var(--public-display-weight) clamp(40px, 4.2vw, 60px)/var(--public-display-leading) var(--font-display);
    color: var(--navy);
    margin-block: var(--public-space-xl);
    letter-spacing: normal;
}
.hero-intro h1 span { color: var(--public-hero-accent); }
.hero-description { max-inline-size: 560px; margin: 0; font-size: 17px; line-height: 2; color: var(--public-hero-text); }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--public-space-md); margin-block-start: var(--public-space-2xl); }
.hero-trial-note { font-size: 12px; color: var(--public-hero-text); margin-block-start: var(--public-space-md); }
.hero-assurances { display: flex; flex-wrap: wrap; gap: var(--public-space-md) var(--public-space-xl); list-style: none; margin-block: var(--public-space-xl) 0; padding: 0; color: var(--public-hero-text); font-size: 12px; }
.hero-assurances li { display: inline-flex; align-items: center; gap: var(--public-space-sm); }
.hero-assurances .icon { inline-size: 16px; block-size: 16px; color: var(--public-hero-accent); }
.hero-illustration { position: relative; min-inline-size: 0; }
.hero-illustration::before { content: ''; position: absolute; inset: 12% 3% 6%; z-index: -1; border-radius: 50%; background: radial-gradient(ellipse, color-mix(in srgb, var(--public-cyan-soft) 65%, transparent), transparent 72%); }
.branded-illustration { position: relative; direction: ltr; }
.branded-illustration .illustration-art { display: block; inline-size: 100%; block-size: auto; }
.branded-illustration .illustration-engraving { position: absolute; block-size: auto; pointer-events: none; transform: translate(-50%, -50%) skewX(-20deg) rotate(-1deg); }
.illustration-hero .illustration-engraving { inset-inline-start: 92.6%; inset-block-start: 57%; inline-size: 2.5%; }
.illustration-ai .illustration-engraving { inset-inline-start: 68.3%; inset-block-start: 63%; inline-size: 4.5%; transform: translate(-50%, -50%) skewX(-20deg) rotate(-3deg); }
.illustration-reports .illustration-engraving { inset-inline-start: 68.4%; inset-block-start: 45.2%; inline-size: 4%; transform: translate(-50%, -50%) skewX(-18deg) rotate(-1.5deg); }
.hero-illustration figcaption { display: flex; align-items: center; justify-content: center; gap: var(--public-space-sm); margin-block-start: var(--public-space-lg); font-size: 12px; color: var(--public-hero-text); }
.hero-illustration figcaption > span { inline-size: 24px; block-size: 2px; background: var(--public-hero-accent); }
.hero-product { position: relative; max-width: 1120px; margin-top: var(--public-space-2xl); padding: 12px; border: 1px solid #e5ecf9; border-radius: 23px; background: #e8eef970; box-shadow: 0 28px 60px -28px #24447535; }
.product-annotation { position: absolute; inset-inline-end: 32px; top: -19px; display: flex; align-items: center; gap: 8px; color: #325787; background: #fff; padding: 8px 15px; border: 1px solid #e0e8f6; border-radius: 100px; box-shadow: 0 6px 20px #2649820a; font-size: 12px; z-index: 1; }
.product-annotation .icon { width: 16px; height: 16px; }
.product-frame { border: 1px solid #dee5f0; border-radius: 13px; overflow: hidden; background: #fff; box-shadow: 0 5px 12px #17325405; }
.product-frame-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 18px; background: #fafcff; border-bottom: 1px solid #e6ecf5; color: #61728c; font-size: 12px; }
.product-frame-bar > span:first-child { display: inline-flex; align-items: center; gap: 9px; }
.frame-dots { display: flex; gap: 5px; }
.frame-dots i { display: block; width: 6px; height: 6px; background: #c8d5e8; border-radius: 50%; }
.screen-zoom { display: block; width: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; background: #f5f7fa; cursor: zoom-in; position: relative; overflow: hidden; }
.screen-zoom:focus-visible { outline-offset: -4px; outline-width: 3px; z-index: 1; }
.screen-zoom picture, .screen-zoom img { display: block; width: 100%; }
.screen-zoom img { height: auto; }
.product-frame .screen-zoom { aspect-ratio: var(--preview-ratio); }
.product-frame .screen-zoom picture { height: 100%; }
.product-frame .screen-zoom img { height: 100%; object-fit: contain; }
@media (max-width: 600px) { .product-frame .screen-zoom { aspect-ratio: var(--preview-mobile-ratio); } }
.zoom-hint { display: inline-flex; align-items: center; gap: 7px; position: absolute; bottom: 15px; inset-inline-end: 15px; padding: 6px 11px; border: 1px solid #d8e3f2; background: #fffffff2; box-shadow: 0 2px 14px #0d1b380c; border-radius: 7px; color: #3b526f; font: 500 11px/1.7 var(--font-body); }
.zoom-hint .icon { width: 14px; height: 14px; }
.product-frame figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-top: 1px solid #e6ecf5; color: #4d617e; font-size: 12px; }
.product-frame figcaption small { color: #718096; font-size: 10px; }
.value-strip { max-width: 1000px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 33px; margin-top: 24px; border-bottom: 1px solid var(--line); }
.value-strip > div { display: flex; justify-content: center; gap: 14px; align-items: center; border-inline-end: 1px solid var(--line); }
.value-strip > div:last-child { border: 0; }
.value-strip .icon { width: 26px; height: 26px; color: #54759d; }
.value-strip strong { display: block; font-size: 14px; font-weight: 500; }
.value-strip small { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.tax-story { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 64px; }
.tax-story h2 { font-size: clamp(38px, 3.6vw, 52px); line-height: 1.6; margin-block: 14px 23px; letter-spacing: normal; }
.tax-story h2 span { color: var(--blue); }
.tax-visual { background: linear-gradient(145deg, #e4eef6, #eff8f2); border-color: #d8e6e4; }
.fatoora-integration { padding: 34px; margin-top: 45px; border: 1px solid #dde6e7; border-radius: 17px; background: #fafcfc; }
.fatoora-intro { display: grid; grid-template-columns: 150px 1fr; gap: 35px; align-items: center; }
.fatoora-intro > img { width: 150px; }
.fatoora-intro h3 { font-size: 24px; margin-block: 8px 10px; }
.fatoora-intro p:not(.eyebrow) { color: var(--muted); font-size: 14px; max-width: 790px; }
.fatoora-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; gap: 28px; padding: 27px 0 0; margin: 27px 0 0; border-top: 1px solid #e1e9ea; }
.fatoora-steps li { display: flex; align-items: flex-start; gap: 13px; }
.fatoora-steps li > span { display: grid; place-items: center; flex: none; width: 29px; height: 29px; color: #5c7c83; background: #edf3f3; border-radius: 50%; font-size: 11px; }
.fatoora-steps h4 { margin: 0 0 6px; font-size: 14px; font-weight: 500; }
.fatoora-steps p { color: var(--muted); font-size: 12px; }
.landing-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 40px; }
.landing-section-heading h2, .centered-heading h2 { font-size: clamp(36px, 3.6vw, 52px); line-height: 1.5; margin-top: 12px; }
.landing-section-heading > p { color: var(--muted); max-width: 400px; font-size: 15px; padding-bottom: 6px; }
.programs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--public-space-xl); }
.program-card { min-inline-size: 0; display: flex; flex-direction: column; align-items: flex-start; padding: var(--public-space-2xl); border: 1px solid var(--public-panel-line); border-radius: var(--public-radius-card); background: var(--public-card-surface); box-shadow: var(--public-shadow-card); }
.program-icon { display: inline-flex; padding: var(--public-space-md); margin-block-end: var(--public-space-xl); border-radius: var(--public-radius-control); color: var(--public-hero-accent); background: var(--public-panel-soft); }
.program-icon .icon { inline-size: 28px; block-size: 28px; }
.program-card h3 { color: var(--public-panel-ink); font-size: 20px; line-height: 1.65; }
.program-card > p { color: var(--public-panel-text); font-size: 14px; line-height: 1.95; margin-block-start: var(--public-space-md); }
.program-card ul { padding-inline-start: var(--public-space-lg); margin-block: var(--public-space-xl); color: var(--public-panel-text); font-size: 13px; line-height: 2; }
.program-card li::marker { color: var(--public-hero-accent); }
.program-card .text-link { margin-block-start: auto; padding-block-start: var(--public-space-sm); font-size: 13px; line-height: 1.8; }
.program-card .text-link .icon, .programs-note .icon { inline-size: 17px; block-size: 17px; }
.program-card-ai { background: var(--public-panel-soft); border-color: var(--public-hero-line); }
.program-card-ai .program-icon { background: var(--public-card-surface); }
.programs-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--public-space-sm); margin-block-start: var(--public-space-xl); color: var(--public-panel-text); font-size: 13px; }
.programs-note a { display: inline-flex; align-items: center; gap: var(--public-space-sm); }
.connected-journey { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--public-space-2xl); align-items: center; margin-block-start: var(--public-space-3xl); padding: var(--public-space-2xl); border-radius: var(--public-radius-card); background: var(--public-navy); color: var(--public-on-navy); }
.connected-journey .eyebrow { color: var(--public-cyan-soft); font-size: 12px; }
.connected-journey h3 { margin-block: var(--public-space-sm); font-size: 23px; }
.connected-journey p:not(.eyebrow) { color: var(--public-on-navy-muted); font-size: 13px; line-height: 1.9; }
.connected-journey ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--public-space-lg); padding: 0; margin: 0; list-style: none; }
.connected-journey li { min-inline-size: 0; display: flex; flex-direction: column; align-items: center; gap: var(--public-space-md); text-align: center; font-size: 13px; }
.connected-journey li .icon { box-sizing: content-box; padding: var(--public-space-lg); border: 1px solid var(--public-on-navy-muted); border-radius: var(--public-radius-control); color: var(--public-cyan-soft); }
.industry-section { background: var(--public-section-wash); border-block: 1px solid var(--public-panel-line); }
.industry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--public-space-xl); align-items: start; }
.industry-card { position: relative; min-inline-size: 0; padding: var(--public-space-2xl); border-radius: var(--public-radius-card); background: var(--public-card-surface); border: 1px solid var(--public-panel-line); }
.industry-card > .icon { box-sizing: content-box; inline-size: 30px; block-size: 30px; padding: var(--public-space-md); background: var(--public-panel-soft); color: var(--public-hero-accent); border-radius: var(--public-radius-control); margin-block-end: var(--public-space-xl); }
.industry-number { position: absolute; inset-inline-end: var(--public-space-2xl); inset-block-start: var(--public-space-2xl); color: var(--public-panel-text); font-size: 12px; }
.industry-card h3 { font-size: 21px; color: var(--public-panel-ink); }
.industry-card > p { margin-block-start: var(--public-space-md); color: var(--public-panel-text); font-size: 14px; line-height: 1.95; }
.industry-card > ul { display: flex; flex-wrap: wrap; gap: var(--public-space-sm); list-style: none; padding: 0; margin-block: var(--public-space-xl); }
.industry-card > ul li { padding: var(--public-space-xs) var(--public-space-sm); color: var(--public-panel-text); border-radius: var(--public-radius-control); background: var(--public-section-wash); font-size: 11px; }
.industry-card details { border-block-start: 1px solid var(--public-panel-line); padding-block-start: var(--public-space-lg); }
.industry-card summary { display: flex; align-items: center; justify-content: space-between; gap: var(--public-space-sm); cursor: pointer; color: var(--public-panel-ink); font-weight: 500; font-size: 14px; list-style: none; }
.industry-card summary::-webkit-details-marker { display: none; }
.industry-card summary .icon { inline-size: 18px; block-size: 18px; }
.industry-card details[open] summary .icon { transform: rotate(45deg); }
.industry-card details p { margin-block-start: var(--public-space-lg); color: var(--public-panel-text); font-size: 13px; line-height: 1.95; }
.industry-card details .text-link { margin-block-start: var(--public-space-md); font-size: 13px; }
.industry-next { display: flex; justify-content: space-between; align-items: center; gap: var(--public-space-xl); margin-block-start: var(--public-space-2xl); color: var(--public-panel-text); font-size: 14px; }
.industry-next .button { flex: none; }
.inventory-visual { background: var(--public-section-wash); border-color: var(--public-panel-line); }
@media (max-width: 1050px) {
    .programs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .industry-grid { grid-template-columns: 1fr; }
    .industry-card { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--public-space-xl); }
    .industry-card > .icon { grid-row: 1 / 4; margin: 0; }
    .industry-card h3, .industry-card > p, .industry-card > ul, .industry-card details { grid-column: 2; }
    .industry-card h3 { padding-inline-end: var(--public-space-2xl); }
    .connected-journey { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .programs-grid { grid-template-columns: 1fr; gap: var(--public-space-lg); }
    .program-card { padding: var(--public-space-xl); }
    .program-card h3 { font-size: 20px; }
    .programs-note { justify-content: start; }
    .connected-journey { padding: var(--public-space-xl); }
    .connected-journey h3 { font-size: 22px; }
    .connected-journey ol { gap: var(--public-space-sm); }
    .connected-journey li { font-size: 11px; }
    .connected-journey li .icon { padding: var(--public-space-md); }
    .industry-card { display: block; padding: var(--public-space-xl); }
    .industry-card > .icon { margin-block-end: var(--public-space-lg); }
    .industry-next { flex-direction: column; align-items: flex-start; }
    .industry-card h3 { padding: 0; }
    .industry-number { inset-inline-end: var(--public-space-xl); inset-block-start: var(--public-space-xl); }
}
.capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.capability-grid article { min-width: 0; position: relative; border: 1px solid #e4eaf2; border-radius: 15px; padding: 29px; background: #fff; }
.capability-icon { display: inline-flex; padding: 10px; border-radius: 10px; color: var(--blue); background: #f0f5ff; margin-bottom: 22px; }
.capability-number { position: absolute; top: 34px; inset-inline-end: 27px; color: #687e9b; font-size: 11px; font-family: var(--font-body); }
.capability-grid h3 { font-size: 18px; margin-bottom: 10px; }
.capability-grid p { color: var(--muted); font-size: 14px; line-height: 1.95; }
.capability-grid .text-link { margin-top: 18px; font-size: 12px; }
.capability-grid .text-link .icon { width: 16px; height: 16px; }
.workflow-section { background: var(--landing-wash); padding-block: 96px 110px; border-block: 1px solid #edf1f7; }
.centered-heading { text-align: center; margin-bottom: 46px; }
.centered-heading .eyebrow { justify-content: center; }
.centered-heading > p:last-child { color: var(--muted); margin-top: 16px; font-size: 15px; }
.workflow-story { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 68px; align-items: center; margin-top: 76px; }
.workflow-copy { min-width: 0; max-width: 390px; }
.story-index { color: #637d9e; font-size: 12px; display: flex; align-items: center; gap: 13px; }
.story-index span { font-size: 11px; border: 1px solid #d3dfef; border-radius: 50%; width: 29px; height: 29px; display: grid; place-items: center; }
.workflow-copy h3 { font-size: clamp(36px, 3.5vw, 49px); margin: 18px 0; line-height: 1.5; }
.workflow-copy > p:not(.story-index) { font-size: 15px; color: #64758c; line-height: 1.95; }
.story-points { list-style: none; margin: 23px 0; padding: 0; color: #415574; font-size: 13px; }
.story-points li { display: flex; align-items: center; gap: 10px; margin-top: 9px; }
.story-points .icon { color: #487daa; width: 16px; height: 16px; }
.workflow-copy .text-link { font-size: 13px; }
.story-visual { min-width: 0; padding: 19px; border-radius: 21px; border: 1px solid #dce6f6; background: linear-gradient(145deg, #e3ebfa, #edf2fa); }
.hr-visual { background: linear-gradient(145deg, #e6eafa, #edf3ff); }
.story-reversed { grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr); }
.story-reversed .workflow-copy { grid-column: 2; grid-row: 1; }
.story-reversed .story-visual { grid-column: 1; grid-row: 1; }
.product-showcase { max-width: 1120px; }
.product-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-block: 28px; }
.product-tabs button { display: inline-flex; align-items: center; gap: 9px; font-weight: 500; font-size: 13px; padding: 11px 22px; min-height: 46px; border: 1px solid #e0e7f2; border-radius: 9px; background: #fff; color: #5c6f89; }
.product-tabs button[aria-selected='true'] { color: var(--blue); background: #edf3ff; border-color: #c6d7fb; }
.product-tabs button:hover { border-color: #a8bfe5; }
.product-tabs .icon { width: 19px; height: 19px; }
.showcase-panel[hidden] { display: none; }
.showcase-panel .product-frame { box-shadow: 0 20px 60px -26px #233c682a; }
.showcase-fallback { text-align: center; margin-top: 15px; }
.pos-discovery { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 64px; padding-block: 90px; }
.pos-discovery h2 { font-size: clamp(36px, 3.6vw, 50px); margin-block: 12px 20px; }
.pos-discovery p:not(.eyebrow) { color: var(--muted); font-size: 15px; margin-bottom: 22px; }
.pos-discovery-image { display: block; padding: 13px; border: 1px solid #dce6f5; border-radius: 17px; background: #eef3fc; box-shadow: 0 15px 40px -25px #24447535; }
.pos-discovery-image img { display: block; width: 100%; border-radius: 8px; }
.pos-discovery-image small { display: block; margin-top: 10px; color: #637795; font-size: 11px; }
/* The illustration leads; real reports remain one action away. */
.reports-section { padding-block: var(--public-space-3xl); background: var(--public-module-wash); }
.reports-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: var(--public-space-3xl); }
.reports-heading { min-inline-size: 0; }
.reports-heading h2 { font-size: clamp(34px, 3.5vw, 48px); line-height: 1.5; margin-block: var(--public-space-xl); }
.reports-heading > p:not(.eyebrow) { max-inline-size: 480px; color: var(--public-hero-text); font-size: 15px; line-height: 2; }
.reports-illustration { min-inline-size: 0; padding: var(--public-space-xl); border-radius: var(--public-radius-card); background: var(--public-illustration-canvas); }
.reports-illustration figcaption { color: var(--public-navy); font-size: 12px; text-align: center; padding-block-start: var(--public-space-lg); }
.report-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--public-space-md); margin-block-start: var(--public-space-2xl); }
.report-option { min-inline-size: 0; display: flex; align-items: center; gap: var(--public-space-md); padding: var(--public-space-xl) var(--public-space-lg); border: 1px solid var(--public-module-line); border-radius: var(--public-radius-control); background: var(--surface); color: var(--ink); text-align: start; font: inherit; transition: border-color .2s; }
.report-option:hover { border-color: var(--public-hero-accent); }
.report-option > .icon { inline-size: 24px; block-size: 24px; color: var(--public-hero-accent); }
.report-option > span { min-inline-size: 0; }
.report-option strong { display: block; font-size: 14px; font-weight: 600; }
.report-option small { display: block; margin-block-start: var(--public-space-xs); color: var(--public-hero-text); font-size: 11px; }
.report-option .report-option-open { inline-size: 14px; block-size: 14px; margin-inline-start: auto; }
.reports-footnote { margin-block-start: var(--public-space-lg); color: var(--public-hero-text); font-size: 11px; text-align: center; }
@media (max-width: 1000px) { .report-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 800px) { .reports-intro { grid-template-columns: 1fr; gap: var(--public-space-2xl); } .reports-illustration { max-inline-size: 620px; margin-inline: auto; } }
@media (max-width: 600px) { .report-options { grid-template-columns: 1fr; } .reports-illustration { padding: var(--public-space-lg); } .reports-illustration figcaption { font-size: 11px; } }
.pos-landing .hero-product { margin-bottom: 12px; }
.deployment-band { background: #f5f8fd; border-block: 1px solid #edf1f7; }
.landing-deployment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
.landing-deployment-card { position: relative; padding: 37px; background: #fff; border: 1px solid #dce6f5; border-radius: 17px; }
.deployment-symbol { display: flex; align-items: center; justify-content: center; width: 63px; height: 63px; color: #4473bb; background: #edf3ff; border-radius: 17px; margin-bottom: 25px; }
.deployment-symbol .icon { width: 32px; height: 32px; }
.deployment-label { font-size: 12px; font-weight: 500; color: #406ea9; }
.landing-deployment-card h3 { font-size: 23px; margin-block: 8px 13px; }
.landing-deployment-card > p:not(.deployment-label) { font-size: 15px; color: var(--muted); max-width: 430px; }
.landing-deployment-card ul { list-style: none; padding: 22px 0; margin: 0; display: flex; flex-wrap: wrap; gap: 9px 24px; font-size: 12px; color: #586c87; }
.landing-deployment-card li { display: flex; align-items: center; gap: 8px; }
.landing-deployment-card li .icon { width: 15px; height: 15px; }
.landing-deployment-card .button { font-size: 14px; }
.local-card .deployment-symbol { color: #557889; background: #f0f5f7; }
.landing-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.landing-faq h2 { font-size: 47px; margin-block: 12px 19px; }
.landing-faq > div > p:last-child { font-size: 15px; color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 76px; font-size: 15px; font-weight: 500; padding-block: 20px; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list .icon { width: 19px; height: 19px; color: #7085a2; transition: transform .2s; }
.faq-list details[open] .icon { transform: rotate(45deg); }
.faq-list details > p { padding-bottom: 24px; font-size: 14px; color: var(--muted); line-height: 1.95; }
.landing-cta { text-align: center; padding-block: 83px; background: radial-gradient(ellipse at 50% 65%, #e8efffaa, transparent 65%), #f7f9fd; border-top: 1px solid #edf1f7; }
.landing-cta .eyebrow { justify-content: center; }
.landing-cta h2 { font-size: clamp(43px, 4.7vw, 67px); margin-block: 13px 23px; line-height: 1.5; }
.landing-cta h2 span { color: var(--blue); }
.landing-cta p:not(.eyebrow) { color: var(--muted); font-size: 15px; margin-bottom: 27px; }
.landing-cta small { display: block; font-size: 12px; color: var(--muted); margin-top: 15px; }
.product-dialog { width: min(1500px, calc(100vw - 36px)); max-width: none; max-height: calc(100svh - 36px); padding: 0; border: 1px solid #dce5f5; border-radius: 14px; box-shadow: 0 30px 100px #06122755; color: var(--ink); background: #fff; }
.product-dialog::backdrop { background: #081731b8; backdrop-filter: blur(6px); }
.dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; }
.dialog-header h2 { font: 500 16px/1.7 var(--font-body); }
.dialog-close { display: grid; place-items: center; border: 1px solid #dce5f2; border-radius: 8px; padding: 10px; min-width: 44px; min-height: 44px; background: #f6f8fc; color: #4c6487; }
.product-dialog > p { padding: 0 20px 14px; font-size: 12px; color: var(--muted); }
.dialog-image-scroll { max-height: calc(100svh - 160px); overflow: auto; background: #f4f7fb; border-top: 1px solid var(--line); }
.dialog-image-scroll img { display: block; width: 1440px; min-width: 0; max-width: none; height: auto; }
.product-dialog-open { overflow: hidden; }
@media (max-width: 1100px) {
    .landing-section { padding-block: 78px; }
    .workflow-story { gap: 35px; }
    .tax-story { gap: 35px; }
    .story-visual { padding: 12px; }
}
@media (max-width: 800px) {
    .landing-hero { padding-top: 46px; }
    .hero-layout { grid-template-columns: 1fr; gap: var(--public-space-2xl); padding-block-start: var(--public-space-sm); }
    .hero-intro { text-align: center; }
    .hero-intro h1 { font-size: clamp(42px, 7vw, 60px); }
    .hero-description { margin-inline: auto; }
    .hero-actions, .hero-assurances { justify-content: center; }
    .hero-illustration { inline-size: min(100%, 560px); margin-inline: auto; }
    .hero-description { font-size: 16px; max-width: 560px; }
    .hero-product { margin-top: 47px; padding: 8px; border-radius: 17px; }
    .landing-section-heading { gap: 22px; align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
    .landing-section-heading h2 br { display: none; }
    .workflow-section { padding-block: 70px; }
    .workflow-story, .story-reversed { grid-template-columns: 1fr; gap: 30px; margin-top: 56px; }
    .workflow-copy { max-width: 560px; }
    .tax-story { grid-template-columns: 1fr; gap: 30px; }
    .fatoora-integration { padding: 26px; }
    .fatoora-intro { grid-template-columns: 120px 1fr; gap: 25px; }
    .fatoora-intro > img { width: 120px; }
    .fatoora-steps { gap: 20px; }
    .workflow-copy h3 br { display: none; }
    .story-reversed .workflow-copy, .story-reversed .story-visual { grid-column: auto; grid-row: auto; }
    .story-visual { padding: 15px; }
    .landing-faq { grid-template-columns: 1fr; gap: 30px; }
    .pos-discovery { grid-template-columns: 1fr; gap: 30px; padding-block: 65px; }
    .landing-deployment-card { padding: 27px; }
    .landing-deployment-card h3 { font-size: 20px; }
    .value-strip > div { gap: 9px; }
    .value-strip strong { font-size: 12px; }
    .value-strip small { font-size: 10px; }
}
@media (max-width: 600px) {
    .landing-section { padding-block: 57px; }
    .tax-story h2 { font-size: 39px; }
    .tax-story .eyebrow { font-size: 12px; }
    .fatoora-integration { padding: 24px; margin-top: 30px; }
    .fatoora-intro { grid-template-columns: 1fr; gap: 22px; }
    .fatoora-intro h3 { font-size: 22px; }
    .fatoora-intro .eyebrow { font-size: 12px; }
    .fatoora-intro p:not(.eyebrow) { font-size: 13px; }
    .fatoora-steps { grid-template-columns: 1fr; gap: 22px; }
    .landing-hero { padding-top: 35px; }
    .hero-intro h1 { font-size: clamp(36px, 10.5vw, 52px); margin-block: var(--public-space-xl); line-height: 1.5; }
    .hero-kicker { font-size: 11px; }
    .hero-description { font-size: 15px; line-height: 1.95; }
    .hero-actions { gap: 10px; margin-top: 23px; }
    .landing .hero-actions .button { min-height: 49px; font-size: 13px; padding: 12px 16px; gap: 8px; }
    .hero-trial-note { font-size: 12px; }
    .hero-assurances { column-gap: var(--public-space-lg); font-size: 11px; }
    .hero-product { margin-top: 42px; width: calc(100% - 28px); padding: 6px; }
    .product-annotation { font-size: 10px; padding: 6px 12px; inset-inline-end: 15px; top: -16px; }
    .product-frame-bar { min-height: 37px; padding: 9px 12px; font-size: 10px; }
    .product-frame figcaption { flex-direction: column; align-items: flex-start; gap: 3px; padding: 10px 12px; font-size: 11px; }
    .product-frame figcaption small { font-size: 9px; }
    .zoom-hint { font-size: 10px; bottom: 10px; inset-inline-end: 10px; padding: 5px 8px; }
    .value-strip { margin-top: 16px; padding-block: 25px; grid-template-columns: 1fr; gap: 18px; }
    .value-strip > div { justify-content: flex-start; border: 0; gap: 15px; }
    .value-strip strong { font-size: 13px; }
    .value-strip small { font-size: 11px; }
    .value-strip .icon { width: 23px; height: 23px; }
    .landing-section-heading h2, .centered-heading h2 { font-size: 36px; }
    .landing-section-heading h2 br { display: inline; }
    .landing-section-heading > p, .centered-heading > p:last-child { font-size: 14px; }
    .workflow-section { padding-block: 54px; }
    .centered-heading { margin-bottom: 30px; }
    .workflow-story { margin-top: 42px; gap: 25px; }
    .workflow-story + .workflow-story { margin-top: 55px; padding-top: 42px; border-top: 1px solid #dee6f2; }
    .workflow-copy h3 { font-size: 37px; }
    .workflow-copy > p:not(.story-index) { font-size: 14px; }
    .story-visual { padding: 9px; border-radius: 17px; }
    .landing-deployment-grid { grid-template-columns: 1fr; gap: 16px; }
    .landing-deployment-card { padding: 27px; }
    .landing-deployment-card > p:not(.deployment-label) { font-size: 14px; }
    .landing-deployment-card h3 { font-size: 22px; }
    .product-tabs { gap: 8px; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: 5px 4px 10px; margin-inline: -4px; scrollbar-width: thin; }
    .product-tabs button { flex: none; }
    .product-tabs button { padding: 10px 13px; font-size: 12px; gap: 7px; }
    .product-tabs .icon { width: 17px; height: 17px; }
    .landing-faq h2 { font-size: 36px; }
    .pos-discovery { padding-block: 52px; }
    .faq-list summary { font-size: 14px; min-height: 68px; }
    .landing-cta { padding-block: 57px; }
    .landing-cta h2 { font-size: 45px; }
    .landing-cta p:not(.eyebrow) { font-size: 14px; }
    .dialog-header { gap: 10px; padding: 10px 12px; }
    .dialog-header h2 { font-size: 13px; }
    .product-dialog { width: calc(100vw - 18px); max-height: calc(100svh - 18px); }
    .product-dialog > p { padding-inline: 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .landing *, .landing *::before, .landing *::after { transition: none !important; animation: none !important; } }

/* Illustration-led AI story, paired with a real product preview below. */
.ai-section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: var(--public-space-3xl); }
.ai-copy { min-inline-size: 0; }
.ai-kicker { display: inline-flex; align-items: center; gap: var(--public-space-sm); padding: var(--public-space-xs) var(--public-space-md); border: 1px solid var(--public-hero-line); border-radius: var(--public-radius-pill); color: var(--public-hero-accent); background: var(--public-hero-wash); font-size: 13px; font-weight: 600; }
.ai-kicker .icon { inline-size: 18px; block-size: 18px; }
.ai-copy h2 { font: var(--public-display-weight) clamp(34px, 3.8vw, 52px)/var(--public-display-leading) var(--font-display); color: var(--navy); margin-block: var(--public-space-xl); }
.ai-copy h2 span { color: var(--public-hero-accent); }
.ai-description { color: var(--public-hero-text); font-size: 15px; line-height: 2; }
.ai-steps { display: grid; list-style: none; padding: 0; margin-block: var(--public-space-xl); gap: var(--public-space-lg); }
.ai-steps li { display: flex; align-items: flex-start; gap: var(--public-space-md); }
.ai-steps li > span { display: grid; place-items: center; flex: none; inline-size: 32px; block-size: 32px; border-radius: 50%; background: var(--public-hero-wash); color: var(--public-hero-accent); font-size: 11px; }
.ai-steps h3 { font-size: 14px; }
.ai-steps p { color: var(--public-hero-text); font-size: 12px; }
.ai-illustration { min-inline-size: 0; padding: var(--public-space-xl); border-radius: var(--public-radius-card); background: var(--public-illustration-canvas); }
.ai-illustration figcaption { display: flex; justify-content: center; align-items: center; gap: var(--public-space-sm); padding-block-start: var(--public-space-lg); color: var(--public-navy); font-size: 12px; text-align: center; }
.ai-illustration figcaption .icon { inline-size: 16px; block-size: 16px; }
.dashboard-section { padding-block: var(--public-space-3xl) var(--public-space-xl); background: linear-gradient(var(--public-module-wash), var(--surface)); }
.dashboard-section .hero-product { margin-block-start: var(--public-space-3xl); }
@media (max-width: 800px) {
    .ai-section { grid-template-columns: 1fr; gap: var(--public-space-2xl); }
    .ai-copy { max-inline-size: 620px; }
    .ai-illustration { max-inline-size: 620px; margin-inline: auto; }
}
@media (max-width: 600px) {
    .ai-section { padding-block-start: var(--public-space-xl); }
    .ai-illustration { padding: var(--public-space-lg); }
    .ai-illustration figcaption { font-size: 11px; }
}

/* Shared capability cards are also used by the points-of-sale page. */
@media (max-width: 1100px) { .capability-grid article { padding: 24px; } }
@media (max-width: 800px) { .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 600px) { .capability-grid { grid-template-columns: 1fr; gap: 12px; } .capability-grid article { padding: 24px; } .capability-icon { margin-bottom: 16px; } }
