﻿:root {
  --ink: #15243c;
  --ink-2: #33455e;
  --muted: #526279;
  --line: #dce4ef;
  --paper: #f7f9fc;
  --soft: #edf3ff;
  --mint: #3159df;
  --mint-dark: #2547bd;
  --white: #fff;
  --shadow: 0 22px 65px rgba(29, 54, 114, .09);
}
html { scroll-behavior: smooth; }
body { background: #fff; color: var(--ink); font-family: 'Plus Jakarta Sans', sans-serif; letter-spacing: -.012em; }
h1, h2, h3 { color: var(--ink); letter-spacing: -.058em; line-height: 1.12; }
h1 { font-size: clamp(3rem, 5.5vw, 5.6rem); }
h2 { font-size: clamp(2.1rem, 3.5vw, 3.65rem); }
h3 { font-size: 1.2rem; }
p { color: var(--muted); }
.container { width: min(1200px, calc(100% - 48px)); }
.eyebrow { color: #3159df; font-weight: 800; letter-spacing: .15em; font-size: .7rem; }
.button { border-radius: 11px; min-height: 50px; padding: .85rem 1.35rem; font-size: .86rem; transition: background .2s ease, box-shadow .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(37, 71, 189, .16); }
.button-primary { background: #3159df; color: #fff; }
.button-primary:hover { background: #2449c7; }
.button-outline { border-color: #cbd8ee; background: #fff; color: #193867; }
.button-outline:hover { border-color: #3159df; }
.text-link { color: #2547bd; border-color: #8da9ef; }
.text-link:hover { color: #16368f; border-color: #16368f; }
.site-header { background: rgba(255, 255, 255, .95); border-bottom: 1px solid #e9eef6; box-shadow: 0 4px 18px rgba(27, 49, 100, .025); }
.nav-shell { min-height: 80px; }
.brand { color: #192944; letter-spacing: -.085em; }
.brand-logo { gap: .4rem; }
.brand-mark { position: relative; display: block; flex: 0 0 38px; width: 38px; height: 38px; overflow: hidden; }
.brand-mark img { position: absolute; top: 50%; left: 50%; display: block; width: 38px; height: 38px; max-width: none; transform: translate(-50%, -50%); }
.brand-accent { color: #3159df; }
.brand-symbol span { background: #182c4a; }
.brand-symbol span:nth-child(3) { background: #3159df; }
.site-nav > a:not(.button) { color: #50617a; }
.site-nav > a:not(.button):hover, .site-nav > a.active { color: #3159df; }
.menu-toggle span { background: #182c4a; }

/* Light editorial hero and product preview */
.hero-modern { background: radial-gradient(circle at 95% 5%, #e4edff 0, transparent 36%), linear-gradient(145deg, #f7f9ff 0%, #fff 63%, #f3f7ff 100%); color: var(--ink); border-bottom: 1px solid #e7edf8; }
.hero-modern .hero-grid { grid-template-columns: 1fr 1.03fr; gap: 1.5rem; min-height: 710px; }
.hero-modern .hero-copy { padding: 5.4rem 0; position: relative; z-index: 2; }
.hero-modern .hero-kicker { color: #3159df; font-size: .69rem; letter-spacing: .14em; }
.hero-modern .live-dot { background: #3159df; box-shadow: 0 0 0 5px rgba(49, 89, 223, .11); }
.hero-modern h1 { color: var(--ink); max-width: 760px; margin-bottom: 1.6rem; }
.hero-modern h1 em { color: #3159df; }
.hero-modern .hero-copy > p { color: #52647a; font-size: 1.08rem; max-width: 560px; }
.hero-modern .hero-actions { margin-top: 2.4rem; }
.hero-modern .text-link { color: #284bbd; border-color: #99aee8; }
.hero-modern .text-link:hover { color: #153588; border-color: #153588; }
.hero-modern .hero-proof { border-color: #dce5f5; margin-top: 3.2rem; padding-top: 1.5rem; gap: 1.6rem; }
.hero-modern .hero-proof > div { flex: 1; }
.hero-modern .hero-proof strong { color: #193255; font-size: .8rem; }
.hero-modern .hero-proof span { color: #62738a; line-height: 1.45; font-size: .69rem; }
.hero-modern .hero-visual { min-width: 0; min-height: 600px; display: flex; justify-content: center; align-items: center; }
.showcase-halo { position: absolute; width: 620px; height: 620px; border-radius: 50%; right: -90px; top: 25px; background: radial-gradient(circle, #dce8ff 0, #eff4ff 49%, transparent 70%); }
.showcase-window { position: relative; z-index: 2; display: grid; grid-template-columns: 112px minmax(0, 1fr); width: min(610px, 100%); min-height: 430px; background: #fff; border: 1px solid #dbe5f4; border-radius: 18px; overflow: hidden; box-shadow: 0 32px 80px rgba(37, 65, 130, .15); }
.showcase-sidebar { background: #f5f8fd; border-right: 1px solid #e4ebf5; padding: 22px 13px; }
.showcase-logo { font-size: 1.55rem; font-weight: 800; color: #192d56; line-height: 1; margin-bottom: 32px; }
.showcase-logo span { color: #3159df; }
.showcase-menu { display: flex; align-items: center; gap: 8px; padding: 10px 8px; margin: 3px 0; border-radius: 7px; font-size: .54rem; color: #52657d; font-weight: 700; }
.showcase-menu.selected { background: #e2eaff; color: #3159df; }
.showcase-menu i { display: block; width: 10px; height: 10px; border: 1.5px solid currentColor; border-radius: 3px; flex: none; }
.showcase-content { padding: 22px 25px; min-width: 0; }
.showcase-toolbar { display: flex; align-items: center; justify-content: space-between; font-size: .62rem; font-weight: 800; color: #465a75; }
.showcase-toolbar small { color: #8294ac; font-weight: 500; }
.showcase-toolbar b { width: 27px; height: 27px; display: grid; place-items: center; background: #e3ecff; color: #3159df; border-radius: 50%; font-size: .55rem; }
.showcase-heading { margin: 30px 0 20px; }
.showcase-heading strong, .showcase-heading span { display: block; }
.showcase-heading strong { font-size: 1.22rem; letter-spacing: -.05em; }
.showcase-heading span { font-size: .59rem; color: #6d8099; margin-top: 5px; }
.showcase-metrics { display: grid; grid-template-columns: 1.25fr .8fr; gap: 10px; }
.showcase-metrics > div { border: 1px solid #e4ebf4; border-radius: 10px; padding: 15px; }
.showcase-metrics small, .showcase-metrics strong, .showcase-metrics em { display: block; }
.showcase-metrics small { font-size: .55rem; color: #7588a0; }
.showcase-metrics strong { font-size: 1.15rem; letter-spacing: -.05em; margin: 8px 0 3px; white-space: nowrap; }
.showcase-metrics em { font-size: .52rem; color: #0b886d; font-style: normal; }
.showcase-chart { margin-top: 10px; border: 1px solid #e4ebf4; border-radius: 10px; padding: 15px; }
.showcase-chart > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: .59rem; }
.showcase-chart small { color: #7588a0; }
.showcase-bars { display: flex; align-items: end; gap: 13px; height: 115px; padding: 15px 6px 0; }
.showcase-bars i { flex: 1; background: #b7caff; border-radius: 4px 4px 0 0; }
.showcase-bars i:nth-child(4), .showcase-bars i:nth-child(6) { background: #3159df; }
.showcase-notice, .showcase-outlet { position: absolute; z-index: 3; display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid #e1e9f5; border-radius: 12px; box-shadow: 0 16px 36px rgba(32, 62, 123, .14); padding: 13px 16px; }
.showcase-notice { right: -8px; bottom: 63px; }
.showcase-outlet { left: -28px; top: 66px; }
.showcase-notice > span, .showcase-outlet > span { width: 30px; height: 30px; border-radius: 8px; background: #e3f7ee; color: #0b865f; display: grid; place-items: center; font-weight: 800; }
.showcase-outlet > span { background: #e9efff; color: #3159df; }
.showcase-notice strong, .showcase-outlet strong { display: block; font-size: .66rem; }
.showcase-notice small, .showcase-outlet small { display: block; color: #6d8099; font-size: .53rem; }
.showcase-toolbar small, .showcase-heading span, .showcase-metrics small, .showcase-chart small, .showcase-notice small, .showcase-outlet small { color: #52657d; }
.showcase-metrics em { color: #08664f; }

.trust-band { background: #fff; border-color: #e8edf5; }
.trust-band .container { padding: 1.8rem 0; }
.trust-band span { color: #52657d; }
.trust-band b { color: #415573; }
.section { padding: 7rem 0; }
.section-soft { background: #f7f9fc; }
.section-heading { margin-bottom: 3rem; }
.section-heading > p { max-width: 390px; }
.edition-grid { gap: 1.25rem; }
.edition-card { min-height: 535px; padding: 2.25rem; border-radius: 22px; border: 1px solid #e4eaf3; }
.fnb-card { background: #eaf6f2; }
.retail-card { background: #ecf1fd; }
.edition-illustration { margin: 1.5rem 0; }
.edition-card h3 { font-size: 1.95rem; }
.round-arrow { background: rgba(255,255,255,.7); border-color: rgba(44,66,94,.3); }
.card-link { color: #2547bd; border-color: #8da7e8; }
.benefit-grid { gap: 1rem; }
.benefit-card { min-height: 250px; padding: 1.65rem; border-radius: 17px; box-shadow: 0 8px 22px rgba(36,62,108,.035); }
.feature-number { color: #3159df; }
.icon-outline { color: #3159df; border-color: #cad8fd; background: #f0f4ff; }
.benefit-card h3 { font-size: 1.08rem; }
.capability-section { background: #fff; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.capability-card { background: #f7f9fc; border: 1px solid #dfe7f3; border-radius: 18px; padding: 2rem; }
.capability-index { color: #3159df; font-size: .7rem; font-weight: 800; letter-spacing: .13em; }
.capability-card h3 { max-width: 390px; margin: .8rem 0 1.3rem; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.capability-card ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.capability-card li { display: grid; grid-template-columns: minmax(140px, .75fr) minmax(0, 1.25fr); gap: 1rem; padding: .9rem 0; border-top: 1px solid #dfe7f3; }
.capability-card li strong { color: #213a62; font-size: .84rem; line-height: 1.5; }
.capability-card li span { color: #526279; font-size: .81rem; line-height: 1.6; }
.capability-note { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding-top: 1.5rem; }
.capability-note p { margin: 0; font-size: .9rem; }
.capability-note a { flex: none; min-height: 44px; font-size: .85rem; }
.workflow-list > div > span { color: #3159df; }
.plan-message { background: #172a4b; color: white; }
.plan-message .container { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 6rem; }
.plan-message .eyebrow { color: #b9cbff; }
.plan-message h2 { color: white; }
.plan-message h2 em { color: #91adff; font-style: normal; }
.plan-message p:not(.eyebrow) { max-width: 560px; color: #c0cce0; }
.plan-message .button { margin-top: 1rem; }
.plan-message-visual { border: 1px solid #6c83b0; background: #213b66; border-radius: 20px; padding: 22px; transform: rotate(3deg); box-shadow: 0 28px 50px rgba(0,0,0,.18); }
.plan-line { display: grid; grid-template-columns: 95px 1fr 100px; align-items: center; gap: 15px; padding: 17px 10px; color: #e5edff; border-bottom: 1px solid #47628e; font-size: .76rem; }
.plan-line:last-child { border-bottom: 0; }
.plan-line span, .plan-line b { white-space: nowrap; }
.plan-line i { height: 2px; background: #7598ed; }
.plan-line b { font-size: .69rem; color: #a7edcb; }
.cta-section { background: #fff; padding-top: 6rem; }
.cta-panel { background: #3159df; border-radius: 22px; }
.cta-panel:after { border-color: rgba(255,255,255,.28); }
.eyebrow-light { color: #d8e4ff !important; }
.cta-panel p { color: #e0e8ff; }
.button-white { color: #2147bd; }

/* Shared page shell */
.page-hero { background: radial-gradient(circle at 85% 5%, #e2eaff, transparent 38%), #f7f9ff; color: var(--ink); border-bottom: 1px solid #e5ebf6; padding: 5rem 0 5.3rem; }
.page-hero:after { border-color: rgba(49,89,223,.1); }
.breadcrumbs { color: #627794; margin-bottom: 3.5rem; }
.breadcrumbs a:hover { color: #3159df; }
.page-hero .eyebrow { color: #3159df; }
.page-hero h1 { color: var(--ink); max-width: 920px; font-size: clamp(3rem, 4.7vw, 5rem); }
.page-lead { color: #586b84; max-width: 740px; }
.button-outline-light { border-color: #b5c5e7; color: #2547bd; background: white; }
.button-outline-light:hover { background: #eef3ff; }
.feature-list article, .stat-visual, .demo-card, .form-card { border-color: #dfe7f3; border-radius: 17px; }
.feature-list article > span:first-child, .feature-plus, .status-pill { color: #3159df; }
.stat-mini-bars i { background: #c7d7ff; }
.stat-mini-bars i:nth-child(6) { background: #3159df; }
.demo-icon { background: #e6edff; color: #3159df; }
.contact-channel > span, .process-item > span, .legal-nav strong { color: #3159df; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #3159df; box-shadow: 0 0 0 3px rgba(49,89,223,.12); }
.field a, .form-note a, .faq-list a, .legal-content a, .deletion-copy a { color: #2547bd; }
.check-field input { accent-color: #3159df; }
.legal-meta, .legal-callout, .deletion-note { background: #eef3ff; color: #344f83; }
.legal-content section { border-color: #e3e9f3; }
.legal-content h2 { font-size: 1.42rem; }
.legal-content .button-primary, .legal-content .button-primary:hover { color: #fff; }
.stat-visual-top > span:first-child { color: #52657d; }
.faq-list summary:after { color: #3159df; }

/* Company profile */
.company-intro { scroll-margin-top: 80px; }
.company-intro-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.company-intro-copy h2 { max-width: 650px; }
.company-intro-copy > p:not(.eyebrow) { max-width: 600px; font-size: 1.02rem; line-height: 1.8; }
.company-intro-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2.2rem; }
.company-intro-links .text-link { min-height: 44px; }
.company-brand-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 500px; overflow: hidden; border-radius: 24px; background: radial-gradient(circle at 75% 30%, #4769b1 0, transparent 35%), linear-gradient(145deg, #1b3562, #112643); color: #fff; padding: 2rem; }
.company-brand-panel:after { position: absolute; inset: 12% -32% auto auto; width: 72%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ''; }
.company-panel-kicker { position: relative; z-index: 1; font-size: .7rem; font-weight: 800; letter-spacing: .16em; color: #d8e3ff; }
.company-brand-panel img { position: absolute; top: 47%; left: 50%; width: min(75%, 340px); height: auto; transform: translate(-50%, -50%); }
.company-panel-bottom { position: relative; z-index: 1; display: grid; gap: .35rem; }
.company-panel-bottom strong { font-size: 1.3rem; letter-spacing: -.04em; }
.company-panel-bottom span { font-size: .88rem; color: #d6e2fb; }
.company-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.company-principles article { min-height: 280px; padding: 1.7rem; border: 1px solid #dfe7f3; border-top: 3px solid #3159df; border-radius: 14px; background: #fff; }
.company-principles article > span, .company-solution-card > span { font-size: .68rem; font-weight: 800; letter-spacing: .12em; color: #3159df; }
.company-principles h3 { margin: 3rem 0 .7rem; font-size: 1.35rem; }
.company-principles p { max-width: 310px; margin: 0; font-size: .88rem; line-height: 1.7; }
.company-solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.company-solution-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 350px; padding: 2rem; border: 1px solid #dce8e4; border-radius: 18px; background: #eaf6f2; transition: transform .2s, border-color .2s; }
.company-solution-card:nth-child(2) { border-color: #dde6f8; background: #ecf1fd; }
.company-solution-card:hover { transform: translateY(-3px); border-color: #3159df; }
.company-solution-card h3 { margin: 3.3rem 0 .6rem; font-size: clamp(1.7rem, 2.5vw, 2.2rem); }
.company-solution-card p { max-width: 460px; margin-bottom: 1.6rem; font-size: .96rem; line-height: 1.7; }
.company-solution-card strong { margin-top: auto; color: #2547bd; font-size: .87rem; }
.company-contact-grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.company-contact-grid > div:first-child > p:not(.eyebrow) { max-width: 520px; }
.company-contact-grid .button { margin-top: 1rem; }
.company-contact-list { border-top: 1px solid #d5dfed; }
.company-contact-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem 0; border-bottom: 1px solid #d5dfed; }
.company-contact-list > div > span { color: #5a6c84; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.company-contact-list a { min-height: 44px; display: inline-flex; align-items: center; gap: .5rem; color: #2447b3; font-size: .92rem; font-weight: 800; text-align: right; }
.company-contact-list a:hover { color: #17368d; }
.company-founders { background: #fff; }
.company-founders-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.company-founders-intro h2 { max-width: 490px; }
.company-founders-intro > p:last-child { max-width: 520px; margin-bottom: 0; font-size: 1rem; line-height: 1.8; }
.founder-list { display: grid; gap: 1rem; }
.founder-card { display: flex; align-items: center; gap: 1.5rem; min-height: 176px; padding: 1.5rem; border: 1px solid #dce5f4; border-radius: 20px; background: linear-gradient(115deg, #f4f7ff, #fff 78%); }
.founder-card:nth-child(2) { background: linear-gradient(115deg, #f7f5ff, #fff 78%); }
.founder-monogram { display: grid; flex: 0 0 104px; width: 104px; height: 104px; place-items: center; border-radius: 19px; background: #e5ecff; color: #2e2678; }
.founder-card:nth-child(2) .founder-monogram { background: #ece8ff; }
.founder-monogram svg { width: 68px; height: 68px; }
.founder-card span { color: #3159df; font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.founder-card h3 { margin: .45rem 0 0; font-size: clamp(1.35rem, 2vw, 1.7rem); }

/* Price cards focus on the two actual differences */
.pricing-section { background: #fff; }
.pricing-intro { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.2rem; }
.pricing-intro h2 { max-width: 650px; margin: 0; }
.billing-control { background: #edf2fb; border: 1px solid #dce5f3; border-radius: 12px; padding: 5px; flex: none; margin: 0; }
.billing-control button { color: #526784; border-radius: 8px; }
.billing-control button.active { color: #2547bd; box-shadow: 0 2px 10px rgba(33,72,145,.08); }
.billing-control button span { margin-left: 4px; font-size: .65rem; font-weight: 600; }
.pricing-grid { gap: 1.1rem; }
.price-card { border-radius: 18px; padding: 2rem; border-color: #dfe6f2; box-shadow: 0 10px 28px rgba(25, 54, 105, .045); }
.price-card.featured { border: 2px solid #3159df; box-shadow: 0 22px 58px rgba(41, 77, 167, .13); }
.popular-label { background: #3159df; }
.plan-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.plan-eyebrow { color: #4969a7; font-size: .66rem; font-weight: 800; letter-spacing: .13em; }
.plan-head h3 { font-size: 1.6rem; margin: .45rem 0 0; }
.plan-index { font-size: 1.2rem; font-weight: 800; color: #647795; }
.plan-tagline { min-height: 64px; font-size: .86rem; margin: .9rem 0 0; }
.plan-price { padding: 1.5rem 0; margin: 1.2rem 0 1.1rem; border-top: 1px solid #e5ebf4; border-bottom: 1px solid #e5ebf4; min-height: 120px; }
.price-mode[hidden] { display: none !important; }
.price-prefix { display: block; color: #52657d; font-size: .7rem; }
.price-mode strong { display: inline-block; margin-top: .25rem; font-size: clamp(1.55rem, 2vw, 2rem); line-height: 1.25; white-space: nowrap; letter-spacing: -.065em; }
.price-mode strong small { font-size: .9rem; letter-spacing: 0; }
.price-mode .price-once { color: #3159df; }
.price-period { display: block; color: #647893; font-size: .72rem; margin-top: .15rem; }
.plan-differences > div { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #e6ebf4; font-size: .79rem; }
.plan-differences span { color: #65758b; }
.plan-differences strong { color: #233b64; text-align: right; }
.plan-all-features { display: flex; align-items: center; gap: .5rem; background: #edf3ff; color: #284caa; border-radius: 8px; padding: .75rem .85rem; margin: 1.3rem 0 1.5rem; font-size: .75rem; font-weight: 800; }
.plan-all-features span { display: grid; place-items: center; background: #3159df; color: white; width: 17px; height: 17px; border-radius: 50%; font-size: .6rem; }
.price-card .button { margin-top: auto; width: 100%; }
.price-disclaimer { max-width: 820px; color: #5a6d84; font-size: .8rem; line-height: 1.7; margin-top: 1.4rem; }
.price-disclaimer a { color: #2547bd; text-decoration: underline; text-underline-offset: 3px; }
.shared-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.shared-feature-grid article { display: flex; align-items: flex-start; gap: .85rem; background: #fff; border: 1px solid #dfe7f3; border-radius: 14px; padding: 1.3rem; min-height: 120px; }
.shared-check { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; color: #3159df; background: #e4ecff; font-weight: 800; font-size: .8rem; }
.shared-feature-grid h3 { margin: 0 0 .4rem; font-size: .91rem; }
.shared-feature-grid p { margin: 0; font-size: .78rem; line-height: 1.55; }
.pricing-faq .faq-list { max-width: 900px; }

/* Reviews and managed page content */
.managed-section { background: #f7f9fc; border-top: 1px solid #e3eaf4; }
.managed-section .container { max-width: 850px; }
.managed-section p:last-child { font-size: 1rem; line-height: 1.8; }
.review-section { background: #fff; }
.review-section.section-soft { background: #f7f9fc; }
.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.review-card { display: flex; flex-direction: column; min-height: 280px; padding: 1.8rem; border: 1px solid #dfe7f3; border-radius: 17px; background: #fff; }
.review-stars { display: inline-block; color: #a56208; font-size: 1.05rem; letter-spacing: .15em; }
.review-card blockquote { margin: 1.3rem 0 1.8rem; color: #263c5c; font-size: 1rem; line-height: 1.7; overflow-wrap: anywhere; }
.review-author { display: flex; flex-direction: column; gap: .15rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid #e6ebf3; font-size: .85rem; }
.review-author strong { color: #182f51; }
.review-author span { color: #526279; }
.review-empty { max-width: 620px; padding: 2rem; border: 1px dashed #b7c8df; border-radius: 16px; background: #fff; }
.review-empty h3 { margin-bottom: .5rem; }
.review-empty p { margin: 0; }
.review-section-link { margin-top: 1.8rem; }
.review-section-link .text-link { min-height: 44px; }
.review-form-section { scroll-margin-top: 80px; }
.review-form-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: clamp(2rem, 6vw, 6rem); }
.review-form-grid > div > p:last-child { max-width: 430px; }
.review-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2rem; font-size: .85rem; }
.review-pagination a { color: #2547bd; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.google-reviews-section { border-top: 1px solid #e2e9f3; }
.google-reviews-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 1.5rem; }
.google-maps-attribution { flex: none; width: 98px; height: 18px; margin: 10px; }
.google-reviews-summary { display: flex; align-items: center; flex-wrap: wrap; gap: .9rem 1.5rem; margin-bottom: 1.7rem; color: #50617b; }
.google-reviews-summary strong { color: #172d4e; font-size: 1.7rem; line-height: 1.2; white-space: nowrap; }
.google-reviews-summary strong span { color: #ad6b05; font-size: 1.2rem; }
.google-reviews-summary p { max-width: 700px; margin: 0; font-size: .85rem; line-height: 1.6; }
.google-review-card { min-height: 310px; }
.google-review-author { display: flex; align-items: center; gap: .7rem; min-height: 44px; }
.google-review-author img { flex: none; width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.google-review-author > div { display: flex; min-width: 0; flex-direction: column; gap: .2rem; }
.google-review-author-name { color: #1b3354; font-size: .83rem; font-weight: 800; overflow-wrap: anywhere; }
.google-review-author a:hover, .google-review-source:hover { text-decoration: underline; text-underline-offset: 3px; }
.google-review-author span { color: #61718a; font-size: .72rem; }
.google-review-card .review-stars { margin-top: 1.3rem; }
.google-review-card blockquote { margin: .8rem 0 1rem; }
.google-review-translation { margin-top: auto; color: #5f6f84; font-size: .72rem; }
.google-review-source { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; color: #2547bd; font-size: .8rem; font-weight: 800; }
.google-review-provider { margin: 1.2rem 0 0; color: #53647b; font-size: .75rem; }
.google-review-empty { max-width: none; border-style: solid; }
.review-form-section { background: #fff; }
.portal-alert { padding: 1rem 1.2rem; border: 1px solid #f1c7c7; border-radius: 10px; background: #fff3f3; color: #8f2525; font-size: .88rem; }

.site-footer { background: #142746; }
.brand-light { color: #fff; }
.brand-light .brand-accent { color: #9db3ff; }
.brand-light .brand-symbol span:nth-child(3) { background: #9db3ff; }
.footer-contact, .footer-main a:hover { color: #b9caff; }
.footer-main h2 { letter-spacing: .1em; }

@media (max-width: 1050px) {
  .hero-modern .hero-grid { gap: 0; }
  .showcase-window { grid-template-columns: 85px minmax(0,1fr); }
  .showcase-menu { font-size: .46rem; }
  .plan-message .container { gap: 3rem; }
}
@media (max-width: 1120px) {
  .site-header .menu-toggle { display: block; }
  .site-header .site-nav { display: none; position: absolute; top: 80px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 1rem 24px 1.5rem; border-bottom: 1px solid #dce4ef; background: #fff; box-shadow: var(--shadow); }
  .site-header .site-nav.open { display: flex; }
  .site-header .site-nav > a:not(.button) { padding: .7rem 0; }
  .site-header .nav-cta { margin: 1rem 0 0; }
  .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .review-form-grid { grid-template-columns: 1fr; }
  .company-intro-grid, .company-contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .company-brand-panel { min-height: 420px; }
  .company-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-principles article:last-child { grid-column: 1 / -1; }
  .capability-card li { grid-template-columns: 1fr; gap: .25rem; }
  .capability-note { align-items: flex-start; flex-direction: column; }
  .hero-modern .hero-grid { grid-template-columns: 1fr; }
  .hero-modern .hero-copy { padding: 5rem 0 1rem; }
  .hero-modern .hero-visual { min-height: 510px; }
  .showcase-halo { right: 0; top: -40px; }
  .showcase-window { width: min(620px, 92%); }
  .showcase-outlet { left: 1%; }
  .showcase-notice { right: 1%; }
  .plan-message .container { grid-template-columns: 1fr; }
  .plan-message-visual { max-width: 560px; }
  .pricing-intro { align-items: flex-start; flex-direction: column; }
  .pricing-grid { grid-template-columns: 1fr 1fr; }
  .pricing-grid .price-card:last-child { grid-column: 1 / -1; }
  .shared-feature-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px) {
  .site-header .site-nav { top: 68px; }
  .review-grid { grid-template-columns: 1fr; }
  .review-card { min-height: 0; }
  .company-brand-panel { min-height: 350px; padding: 1.5rem; }
  .company-brand-panel img { width: min(80%, 260px); }
  .company-principles, .company-solution-grid { grid-template-columns: 1fr; }
  .company-principles article { min-height: 0; }
  .company-principles article:last-child { grid-column: auto; }
  .company-principles h3 { margin-top: 2.2rem; }
  .company-solution-card { min-height: 310px; padding: 1.5rem; }
  .company-contact-list > div { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { padding: 1.5rem; }
  .container { width: min(100% - 32px, 1200px); }
  .section { padding: 4.7rem 0; }
  .hero-modern h1 { font-size: clamp(2.6rem, 10vw, 3.65rem); }
  .hero-modern .hero-copy { padding: 3.8rem 0 0; }
  .hero-modern .hero-copy > p { font-size: .98rem; }
  .hero-modern .hero-actions { gap: 1.1rem; }
  .hero-modern .hero-proof { gap: .7rem; flex-wrap: wrap; }
  .hero-modern .hero-proof > div { flex-basis: calc(50% - .4rem); }
  .hero-modern .hero-visual { min-height: 385px; }
  .showcase-halo { width: 400px; height: 400px; top: -20px; right: -50px; }
  .showcase-window { grid-template-columns: 40px minmax(0,1fr); width: 100%; min-height: 295px; border-radius: 11px; }
  .showcase-sidebar { padding: 14px 6px; }
  .showcase-logo { font-size: 1rem; margin-bottom: 20px; }
  .showcase-menu { font-size: 0; justify-content: center; padding: 8px 0; }
  .showcase-menu i { width: 11px; height: 11px; }
  .showcase-content { padding: 13px 12px; }
  .showcase-heading { margin: 18px 0 10px; }
  .showcase-heading strong { font-size: .83rem; }
  .showcase-heading span { font-size: .5rem; }
  .showcase-metrics { gap: 6px; }
  .showcase-metrics > div { padding: 8px; }
  .showcase-metrics small { font-size: .4rem; }
  .showcase-metrics strong { font-size: .7rem; }
  .showcase-metrics em { font-size: .36rem; }
  .showcase-chart { padding: 9px; margin-top: 6px; }
  .showcase-chart > div:first-child { font-size: .48rem; }
  .showcase-bars { height: 67px; gap: 7px; padding-top: 10px; }
  .showcase-notice, .showcase-outlet { padding: 8px; border-radius: 8px; }
  .showcase-notice { right: -5px; bottom: 21px; }
  .showcase-outlet { left: -4px; top: 20px; }
  .showcase-notice > span, .showcase-outlet > span { width: 20px; height: 20px; font-size: .6rem; }
  .showcase-notice strong, .showcase-outlet strong { font-size: .45rem; }
  .showcase-notice small, .showcase-outlet small { font-size: .37rem; }
  .trust-band .container { padding: 1.4rem 0; }
  .edition-card { min-height: 485px; padding: 1.8rem; }
  .plan-message .container { gap: 2rem; }
  .plan-message-visual { padding: 12px; transform: none; }
  .plan-line { grid-template-columns: 66px 1fr 75px; gap: 7px; padding: 14px 4px; font-size: .55rem; }
  .plan-line b { font-size: .53rem; }
  .page-hero { padding: 3.7rem 0 4rem; }
  .page-hero h1 { font-size: clamp(2.55rem, 10vw, 3.5rem); }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-grid .price-card:last-child { grid-column: auto; }
  .pricing-intro { gap: 1.4rem; }
  .billing-control { display: flex; width: 100%; }
  .billing-control button { flex: 1; padding: .7rem .5rem; }
  .billing-control button span { display: none; }
  .plan-tagline { min-height: 0; }
  .shared-feature-grid { grid-template-columns: 1fr; }
  .shared-feature-grid article { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .edition-card { transition: none; }
}

/* Shared vector icon and updated navigation */
.icon { display: inline-block; flex: none; vertical-align: -.16em; }
.button .icon, .text-link .icon, .footer-contact .icon { margin-left: .25rem; }
.review-stars { display: inline-flex; align-items: center; gap: .15rem; letter-spacing: 0; }
.review-stars .icon { width: 17px; height: 17px; }
.google-reviews-summary strong .icon { width: 20px; height: 20px; color: #ad6b05; }
.icon-outline .icon { width: 25px; height: 25px; }
.shared-check .icon { width: 18px; height: 18px; }
.site-header { box-shadow: 0 10px 28px rgba(25, 48, 98, .05); }
.site-header .nav-shell { min-height: 76px; gap: 1.4rem; }
.site-header .brand { flex: none; }
.site-header .site-nav { display: flex; align-items: center; justify-content: space-between; flex: 1; min-width: 0; gap: 1rem; }
.nav-links, .nav-actions { display: flex; align-items: center; }
.nav-links { gap: .13rem; margin: 0 auto; }
.nav-links a, .nav-login { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: .6rem .76rem; border-radius: 10px; color: #53647d; font-size: .8rem; font-weight: 750; white-space: nowrap; transition: color .18s, background .18s; }
.nav-links a:hover, .nav-links a.active, .nav-login:hover { background: #eef3ff; color: #2547bd; }
.nav-links a.active { font-weight: 800; }
.nav-actions { flex: none; gap: .5rem; }
.nav-login { color: #243a5c; }
.site-header .nav-cta { min-height: 43px; margin: 0; padding: .7rem 1rem; font-size: .78rem; white-space: nowrap; }
.site-header .nav-cta .icon { width: 16px; height: 16px; }
.site-header .menu-toggle { display: none; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid #d9e4f5; border-radius: 11px; background: #f7f9ff; color: #182c4a; cursor: pointer; }
.menu-toggle .icon { width: 22px; height: 22px; }
.menu-toggle .menu-close-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-open-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-close-icon { display: block; }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 3px solid #3159df; outline-offset: 3px; }

@media (max-width: 1180px) {
  .site-header .menu-toggle { display: grid; }
  .site-header .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - 76px); overflow-y: auto; padding: 1rem max(24px, calc((100vw - 1200px) / 2)) 1.35rem; border-bottom: 1px solid #dce4ef; background: #fff; box-shadow: 0 24px 35px rgba(24, 45, 86, .1); }
  .site-header .site-nav.open { display: flex; flex-direction: column; align-items: stretch; gap: .85rem; }
  .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; width: 100%; margin: 0; }
  .nav-links a { justify-content: flex-start; padding: .75rem .9rem; }
  .nav-actions { display: flex; justify-content: space-between; gap: .75rem; padding-top: .85rem; border-top: 1px solid #e8eef8; }
  .nav-login { flex: 1; justify-content: flex-start; }
  .site-header .nav-cta { min-height: 44px; }
}
@media (max-width: 820px) {
  .company-founders-layout { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 640px) {
  .site-header .nav-shell { min-height: 68px; }
  .site-header .site-nav { max-height: calc(100dvh - 68px); }
  .founder-card { min-height: 132px; padding: 1rem; gap: 1rem; }
  .founder-monogram { flex-basis: 76px; width: 76px; height: 76px; border-radius: 14px; }
  .founder-monogram svg { width: 54px; height: 54px; }
}
