/* Shared application shell: every module uses the same calm light palette. */
:root {
  font-family: "Segoe UI", Inter, system-ui, sans-serif;
  color: #18333a;
  background: #f4f7f7;
  font-size: 16px;
  line-height: 1.45;
}
[hidden] { display: none !important; }
body {
  color: #18333a;
  background: linear-gradient(180deg, #e7f1f1 0, #f4f7f7 250px);
  font-size: 1rem;
}
main { max-width: 1240px; padding: 34px 28px; }
.hero {
  margin: 0 0 18px;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid #d6e1e3;
  border-radius: 14px;
  box-shadow: 0 8px 24px #24495012;
}
.eyebrow { color: #0e6974; }
h1, .hero h1 { margin: .2rem 0; font-size: 2rem; line-height: 1.15; color: #13313a; }
h2 { font-size: 1.45rem; line-height: 1.25; color: #13313a; }
h3 { font-size: 1.15rem; line-height: 1.3; color: #18333a; }
.hero p { max-width: 720px; margin-bottom: 0; color: #527078; }
.card {
  margin-top: 18px;
  border: 1px solid #d6e1e3;
  border-radius: 14px;
  box-shadow: 0 8px 24px #24495012;
}
.public-pricing { padding: 24px 28px; }
.public-pricing-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.public-pricing-heading h2 { margin: 0 0 6px; }
.public-pricing-heading p { margin: 0; }
.public-pricing-heading .link-button { flex: 0 0 auto; }
.public-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.public-pricing-item { padding: 16px; background: #f1f6f7; border: 1px solid #d6e1e3; border-radius: 10px; }
.public-pricing-item h3 { margin: 0 0 5px; }
.public-pricing-item strong { display: block; color: #0e6974; font-size: 1.12rem; }
.public-pricing-item p { margin: 6px 0 0; color: #527078; font-size: .94rem; }
.public-pricing-note { margin: 16px 0 0; color: #527078; font-size: .9rem; }
@media (max-width: 760px) { .public-pricing-heading { display: block; } .public-pricing-heading .link-button { margin-top: 14px; } .public-pricing-grid { grid-template-columns: 1fr; } }
.app-main, .cash-flow-main { max-width: 1440px; }
button, .link-button { min-height: 42px; }

/* Month visibility controls imitate grouped columns in a spreadsheet. */
.summary-switch {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-width: 230px !important;
  padding-bottom: 10px;
  font-weight: 650;
}
.summary-switch input { width: auto; margin: 0; padding: 0; accent-color: #0e6974; }
.summary-month-picker { position: relative; align-self: end; }
.summary-month-picker > summary {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #b7c6ca;
  border-radius: 8px;
  background: #fff;
  color: #18333a;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.summary-month-picker > summary::-webkit-details-marker { display: none; }
.summary-month-picker[open] > summary { border-color: #0e6974; box-shadow: 0 0 0 2px #0e697426; }
.summary-month-picker > div {
  position: absolute;
  z-index: 20;
  top: 48px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 4px;
  width: 300px;
  padding: 12px 12px 64px;
  background: #fff;
  border: 1px solid #c5d4d7;
  border-radius: 10px;
  box-shadow: 0 12px 32px #173b4233;
}
.summary-month-picker label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 7px;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
}
.summary-month-picker label:hover { background: #eef5f5; }
.summary-month-picker input { width: auto; margin: 0; padding: 0; accent-color: #0e6974; }
.summary-month-picker button {
  position: absolute;
  z-index: 21;
  top: 270px;
  left: 12px;
  width: 276px;
  margin: 0;
}
.summary-month-picker[open] { margin-bottom: 54px; }
#summary-table { width: max-content; min-width: 100%; }
#summary-table th:not(:first-child), #summary-table td:not(:first-child) { min-width: 122px; }
.summary-month-heading { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.summary-hide-month {
  min-height: 0;
  margin: 0;
  padding: 1px 5px;
  border-radius: 4px;
  background: #ffffff2b;
  color: #fff;
  font-size: 1rem;
  line-height: 1.2;
}
.summary-hide-month:hover { background: #fff; color: #344a50; }

.currency-transfer-section {
  margin-top: 18px;
  padding: 20px;
  background: #fff;
  border: 1px solid #d6e1e3;
  border-radius: 12px;
}
.currency-transfer-section .eyebrow { margin: 0 0 4px; }
.currency-transfer-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 14px;
  margin-top: 14px;
}
.currency-transfer-form .full-width { grid-column: 1 / -1; }
.currency-transfer-form button { width: max-content; }
.currency-transfer-calculation {
  margin-top: 14px;
  padding: 14px 16px;
  background: #e8f4f1;
  border: 1px solid #b8dbd1;
  border-radius: 9px;
  color: #31525a;
  line-height: 1.5;
}
.currency-transfer-calculation strong { color: #13313a; }
.currency-transfer-badge {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e8f4f1;
  color: #176a48;
  font-size: .78rem;
  font-weight: 750;
}
.cash-flow-article-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.cash-flow-article-group {
  padding: 14px 15px;
  border: 1px solid #d5e1e3;
  border-top: 5px solid #e98614;
  border-radius: 10px;
  background: #fff;
}
.cash-flow-article-group-investing { border-top-color: #7a6eb0; }
.cash-flow-article-group-financing { border-top-color: #4b89a0; }
.cash-flow-article-group-technical { border-top-color: #839499; }
.cash-flow-article-group h3 { margin: 0 0 9px; }
.cash-flow-article-group ul { min-height: 0; margin: 0; padding-left: 18px; }
.cash-flow-article-group li { margin: 5px 0; }
.cash-flow-article-group small {
  display: inline-block;
  margin-left: 7px;
  padding: 1px 6px;
  border-radius: 999px;
  background: #edf4f4;
  color: #527078;
}
.cash-flow-panel {
  margin-top: 14px;
  overflow: visible;
  background: #fff;
  border: 1px solid #d6e1e3;
  border-radius: 12px;
}
.cash-flow-panel > summary {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 18px;
  color: #13313a;
  font-weight: 750;
  cursor: pointer;
}
.cash-flow-panel > summary::marker { color: #0e6974; }
.cash-flow-panel > :not(summary) { padding: 0 18px 18px; }
.cash-flow-panel .cash-flow-toolbar { margin: 0; }
.cash-flow-panel .cash-flow-guidance, .cash-flow-panel .cash-flow-entry, .cash-flow-panel .cash-flow-account-section, .cash-flow-panel .cash-flow-summary { margin: 0; }
.cash-form-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cash-form-actions button { margin: 0; }
.cash-row-actions { position: relative; width: 42px; min-width: 42px; padding: 5px !important; text-align: center; vertical-align: top; }
.cash-row-menu { position: relative; display: inline-block; }
.cash-row-menu > summary { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 6px; color: #31525a; font-size: 1.35rem; font-weight: 800; line-height: 1; cursor: pointer; list-style: none; }
.cash-row-menu > summary::-webkit-details-marker { display: none; }
.cash-row-menu > summary:hover, .cash-row-menu[open] > summary { background: #e8f4f1; color: #0e6974; }
.cash-row-menu-list { position: absolute; z-index: 10; top: 34px; left: 0; display: grid; min-width: 168px; padding: 6px; background: #fff; border: 1px solid #c5d4d7; border-radius: 8px; box-shadow: 0 10px 26px #173b4233; }
.cash-row-menu-list button { min-height: 34px; margin: 0; padding: 6px 9px; border: 0; border-radius: 5px; background: transparent; color: #18333a; text-align: left; font-size: .86rem; }
.cash-row-menu-list button:hover { background: #eef5f5; }
.cash-row-menu-list .delete-cash-transaction { color: #a43a3a; }
.cash-status-ready, .cash-status-pending { font-weight: 750; white-space: nowrap; }
.cash-status-ready { color: #176a48; }
.cash-status-pending { color: #a76a00; }
.cash-inline-classifier > td { padding: 0 !important; background: #f7fbfa; }
.cash-inline-classifier-form { display: grid; grid-template-columns: minmax(140px, auto) minmax(170px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr) auto auto minmax(180px, 1fr); gap: 10px; align-items: end; padding: 12px; border-top: 2px solid #f1bc60; }
.cash-inline-classifier-form strong, .cash-inline-classifier-form > span { align-self: center; }
.cash-inline-classifier-form > span { color: #527078; font-size: .84rem; }
.cash-inline-classifier-form label { margin: 0; font-size: .82rem; font-weight: 700; }
.cash-inline-classifier-form select { min-width: 150px; margin-top: 4px; }
.cash-inline-direct { grid-column: 2 / -1; }
.cash-inline-classifier-form button { min-height: 36px; margin: 0; }
.module-principle {
  margin: 18px 0;
  padding: 18px 20px;
  border: 1px solid #b8dbd1;
  border-radius: 12px;
  background: #e8f4f1;
}
.module-principle h2 { margin: 0 0 6px; }
.module-principle p { margin: 0; max-width: 1000px; }
.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.module-card {
  display: flex;
  flex-direction: column;
  min-height: 205px;
  padding: 20px;
  border: 1px solid #d5e1e3;
  border-top: 5px solid #0e6974;
  border-radius: 12px;
  background: #fff;
  color: #18333a;
  text-decoration: none;
  box-shadow: 0 8px 24px #2449500d;
}
.module-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px #2449501c; }
.module-card.is-optional { border-top-color: #9ba9ac; }
.module-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.module-card h2 { margin: 0; font-size: 1.25rem; }
.module-card p { flex: 1; color: #527078; }
.module-status { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #e9f1f2; color: #527078; font-size: .75rem; font-weight: 750; white-space: nowrap; }
.module-status.working { background: #daf1e7; color: #176a48; }
.report-module-main { max-width: 1500px; }
.report-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 18px; padding: 16px; background: #fff; border: 1px solid #d6e1e3; border-radius: 12px; }
.report-toolbar label { margin: 0; }
.report-toolbar button, .report-toolbar .link-button { margin: 0; }
.opening-form-card, .report-module-section { margin-top: 18px; padding: 20px; background: #fff; border: 1px solid #d6e1e3; border-radius: 12px; }
.ar-ap-opening-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.ar-ap-opening-form .full-width { grid-column: 1 / -1; }
.ar-ap-opening-form button { width: max-content; }
.opening-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.opening-chip { display: flex; align-items: center; gap: 8px; padding: 7px 8px 7px 12px; border-radius: 999px; background: #eef4f5; }
.opening-chip .delete-reference { margin: 0; }
.module-table-wrap { overflow: auto; border: 1px solid #d5e1e3; border-radius: 9px; }
.module-table-wrap table { width: 100%; min-width: 880px; border-collapse: collapse; }
.module-table-wrap th, .module-table-wrap td { padding: 10px 12px; border-bottom: 1px solid #dce5e6; text-align: right; }
.module-table-wrap th:first-child, .module-table-wrap th:nth-child(2) { text-align: left; }
.module-table-wrap thead th { background: #e6eff1; color: #264a52; }
.module-table-wrap tbody th { font-weight: 600; }
.report-total { font-size: 1.15rem; color: #0e6974; }
.negative-balance { color: #a13737; font-weight: 750; }
@media (max-width: 760px) {
  main { padding: 24px 14px; }
  .hero { padding: 20px; }
  .hero h1, h1 { font-size: 1.65rem; }
  .summary-month-picker > div { position: fixed; top: auto; right: 14px; bottom: 76px; left: 14px; width: auto; }
  .summary-month-picker button { position: fixed; top: auto; right: 26px; bottom: 20px; left: 26px; width: auto; }
  .summary-month-picker[open] { margin-bottom: 0; }
  .currency-transfer-form { grid-template-columns: 1fr; }
  .cash-flow-article-groups { grid-template-columns: 1fr; }
  .module-grid, .ar-ap-opening-form { grid-template-columns: 1fr; }
}
@media (min-width: 761px) and (max-width: 1080px) {
  .cash-flow-article-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.billing-main { max-width: 1180px; }
.billing-main .app-header { align-items: center; }
.billing-notice { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; padding: 15px 18px; background: #e8f4f1; border: 1px solid #b8dbd1; border-radius: 12px; color: #31525a; }
.billing-account { margin-top: 18px; padding: 20px 22px; background: #fff; border: 1px solid #d6e1e3; border-radius: 14px; box-shadow: 0 8px 24px #24495012; }
.billing-account h2 { margin: 0 0 8px; }
.billing-account h3 { margin: 14px 0 6px; color: #0e6974; }
.billing-notice strong { color: #155348; white-space: nowrap; }
.billing-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.billing-plan { display: flex; flex-direction: column; padding: 22px; background: #fff; border: 1px solid #d6e1e3; border-radius: 14px; box-shadow: 0 8px 24px #24495012; }
.billing-plan-featured { border-color: #0e6974; box-shadow: 0 0 0 2px #0e697426, 0 8px 24px #24495012; }
.billing-plan h2 { margin: 0 0 4px; }
.billing-plan-badge { align-self: flex-start; margin-bottom: 12px; padding: 4px 9px; border-radius: 999px; background: #d8efe9; color: #155348; font-size: .8rem; font-weight: 750; }
.billing-price { margin: 8px 0 2px; color: #0e6974; font-size: 1.18rem; }
.billing-price strong { font-size: 1.8rem; color: #13313a; }
.billing-plan ul { min-height: 128px; margin: 16px 0; padding-left: 20px; color: #31525a; }
.billing-plan li { margin: 7px 0; }
.billing-plan-action { width: 100%; margin-top: auto; background: #0e6974; color: #fff; text-align: center; }
.billing-plan-action:hover { background: #075b64; }
.billing-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.billing-details > div { padding: 20px; background: #fff; border: 1px solid #d6e1e3; border-radius: 12px; }
.billing-details h2 { margin-top: 0; }
.billing-details li { margin: 8px 0; }
.billing-footer { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 18px; padding: 4px; color: #527078; }
.billing-footer a { color: #0e6974; font-weight: 650; }
.pilot-security-panel { border-color: #d9b56d; background: #fffaf0; }
.pilot-security-panel h2 { color: #654f29; }
.pilot-security-panel .pilot-form { margin-top: 16px; }
@media (max-width: 850px) { .billing-plans, .billing-details { grid-template-columns: 1fr; } .billing-plan ul { min-height: 0; } }
@media (max-width: 600px) { .billing-notice { display: block; } .billing-notice span { display: block; margin-top: 4px; } .billing-main .app-header { align-items: flex-start; flex-wrap: wrap; } }

.reviewer-login { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid #d6e1e3; }
.reviewer-login summary { cursor: pointer; color: #123a4a; font-weight: 700; }
.reviewer-login form { margin-top: 1rem; }

.workspace-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.workspace-brand-row img { width: min(280px, 70vw); height: auto; }
.workspace-brand-row .link-button { flex: 0 0 auto; }
.billing-header-actions { display: flex; gap: 10px; }
.billing-header-actions .link-button { margin: 0; }
.legal-consent { display: flex; grid-template-columns: none; align-items: flex-start; gap: 9px; margin-top: 14px; color: #527078; font-size: .88rem; font-weight: 500; line-height: 1.4; }
.legal-consent input { flex: 0 0 auto; width: auto; margin: 3px 0 0; padding: 0; accent-color: #0e6974; }
.legal-consent a { color: #0e6974; font-weight: 700; }
.legal-main { max-width: 980px; }
.legal-document { margin-top: 22px; padding: clamp(22px, 4vw, 42px); border: 1px solid #d6e1e3; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px #24495012; line-height: 1.65; }
.legal-document > p:first-child { margin-top: 0; }
.legal-document h2 { margin: 34px 0 10px; padding-top: 4px; font-size: 1.35rem; }
.legal-document h2:first-child { margin-top: 0; }
.legal-document li { margin: 7px 0; }
.legal-document a, .legal-footer a { color: #0e6974; font-weight: 700; }
.legal-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin: 26px 0; padding: 18px; border-radius: 10px; background: #eef6f5; }
.legal-index a { color: #31525a; text-decoration: none; }
.legal-data-list { margin: 0; }
.legal-data-list > div { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); gap: 20px; padding: 15px 0; border-bottom: 1px solid #e0e8e9; }
.legal-data-list dt { color: #527078; }
.legal-data-list dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.legal-note { padding: 14px 16px; border-left: 4px solid #0e6974; border-radius: 6px; background: #eef6f5; color: #31525a; }
.legal-review-note { margin-top: 32px; padding: 16px 18px; border: 1px solid #d9b56d; border-radius: 10px; background: #fff9eb; color: #654f29; }
.legal-footer { display: flex; flex-wrap: wrap; gap: 16px; margin: 20px 0; padding: 4px; }

.marketing-page { min-height: 100vh; color: #18333a; background: #f7faf9; }
.public-site-header { position: sticky; z-index: 40; top: 0; width: 100%; border-bottom: 1px solid #d6e1e3; background: #f7faf9f2; backdrop-filter: blur(14px); }
.public-site-header[hidden], .public-site-footer[hidden] { display: none; }
.public-site-header-inner { display: flex; align-items: center; gap: 24px; max-width: 1320px; margin: 0 auto; padding: 13px 28px; }
.public-site-brand { display: block; flex: 0 0 205px; line-height: 0; }
.public-site-brand img { width: 100%; height: auto; }
.public-site-nav { display: flex; align-items: center; justify-content: center; gap: 4px; margin-left: auto; }
.public-site-nav a { padding: 9px 10px; border-radius: 8px; color: #31525a; text-decoration: none; font-weight: 700; white-space: nowrap; }
.public-site-nav a:hover { color: #0e6974; background: #e8f4f1; }
.public-site-login { flex: 0 0 auto; padding: 10px 18px; border-radius: 8px; color: #fff; background: #0e6974; text-decoration: none; font-weight: 800; }
.public-site-login:hover { background: #075b64; }
.public-site-footer { width: 100%; margin-top: 36px; padding: 46px max(28px, calc((100vw - 1264px) / 2)) 24px; border-top: 1px solid #d6e1e3; color: #527078; background: #edf4f3; }
.public-site-footer-grid { display: grid; grid-template-columns: 1.35fr .8fr 1fr 1.15fr; gap: 42px; }
.public-site-footer-brand img { width: 205px; max-width: 100%; }
.public-site-footer-brand p { max-width: 310px; line-height: 1.55; }
.public-site-footer nav, .public-site-footer-contacts { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
.public-site-footer strong { margin-bottom: 4px; color: #18333a; }
.public-site-footer a { color: #31525a; text-decoration: none; }
.public-site-footer a:hover { color: #0e6974; text-decoration: underline; }
.public-site-footer-bottom { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 34px; padding-top: 20px; border-top: 1px solid #cbdadb; font-size: .84rem; }
.public-site-footer-bottom span:last-child { margin-left: auto; }
.marketing-section[id] { scroll-margin-top: 92px; }
.marketing-header { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1320px; margin: 0 auto; padding: 14px 28px; border-bottom: 1px solid #d6e1e3; background: #f7faf9ee; backdrop-filter: blur(14px); }
.marketing-brand { display: block; width: 220px; line-height: 0; }
.marketing-brand img { width: 100%; height: auto; }
.marketing-nav { display: flex; align-items: center; gap: 6px; }
.marketing-nav a { padding: 9px 11px; border-radius: 8px; color: #31525a; text-decoration: none; font-weight: 700; }
.marketing-nav a:hover { color: #0e6974; background: #e8f4f1; }
.marketing-nav .marketing-login { margin-left: 8px; padding: 10px 18px; color: #fff; background: #0e6974; }
.marketing-nav .marketing-login:hover { color: #fff; background: #075b64; }
.marketing-main { max-width: 1320px; padding: 46px 28px 70px; }
.marketing-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: 48px; align-items: center; min-height: 560px; padding: 50px 0 70px; }
.marketing-hero h1 { max-width: 760px; margin: 12px 0 20px; font-size: clamp(3.2rem, 6vw, 6rem); line-height: .98; letter-spacing: -.055em; }
.marketing-lead { max-width: 720px; margin: 0; color: #527078; font-size: 1.25rem; line-height: 1.6; }
.marketing-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.marketing-actions .link-button { background: #0e6974; color: #fff; }
.marketing-actions .secondary { color: #13313a; background: #d9e6e8; }
.marketing-caption { margin: 14px 0 0; color: #6b8186; font-size: .9rem; }
.marketing-report-preview { padding: 26px; border: 1px solid #bdd4d5; border-radius: 24px; background: linear-gradient(155deg, #fff, #e7f3f0); box-shadow: 0 26px 70px #193f461f; }
.marketing-report-preview > div { display: grid; grid-template-columns: 72px 124px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid #cddedf; }
.marketing-report-preview > div span { color: #527078; font-size: .88rem; }
.marketing-report-preview > div strong { color: #0e6974; font-size: 1.3rem; }
.marketing-report-preview > div small { color: #31525a; }
.marketing-report-preview > p:last-child { margin: 22px 0 0; color: #31525a; line-height: 1.55; }
.marketing-section { padding: 76px 0; border-top: 1px solid #d6e1e3; }
.marketing-section-heading { max-width: 820px; }
.marketing-section-heading h2 { margin: 8px 0 12px; font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.03em; }
.marketing-section-heading > p:last-child { color: #527078; font-size: 1.08rem; line-height: 1.65; }
.marketing-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.marketing-feature-grid article { min-height: 230px; padding: 24px; border: 1px solid #d6e1e3; border-radius: 16px; background: #fff; }
.marketing-feature-grid article > strong { color: #0e6974; font-size: .8rem; letter-spacing: .12em; }
.marketing-feature-grid h3 { margin: 34px 0 10px; font-size: 1.25rem; }
.marketing-feature-grid p { margin: 0; color: #527078; line-height: 1.55; }
.marketing-process { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(460px, 1.2fr); gap: 60px; }
.marketing-process ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.marketing-process li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 0 0 28px; }
.marketing-process li > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; color: #fff; background: #0e6974; font-weight: 800; }
.marketing-process li:not(:last-child) > span::after { content: ""; width: 1px; height: 68px; margin-top: 8px; background: #b8d7d2; }
.marketing-process h3 { margin: 5px 0 6px; }
.marketing-process li p { margin: 0; color: #527078; line-height: 1.55; }
.marketing-principle { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.1fr); gap: 60px; margin: 28px 0; padding: 42px; border-radius: 24px; color: #edf4f7; background: #102a33; }
.marketing-principle h2 { margin: 8px 0 0; color: #fff; font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
.marketing-principle > p { margin: 0; color: #c2d4d7; font-size: 1.08rem; line-height: 1.75; }
.marketing-safety { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; }
.marketing-safety-note { padding: 24px; border: 1px solid #d9b56d; border-radius: 14px; background: #fff9eb; }
.marketing-safety-note strong { color: #6e5019; }
.marketing-safety-note p { color: #654f29; line-height: 1.55; }
.marketing-safety-note a { color: #0e6974; font-weight: 750; text-decoration: none; }
.marketing-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 18px; padding: 42px; border-radius: 22px; background: #d8efe9; }
.marketing-cta h2 { margin: 6px 0; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.marketing-cta p { margin-bottom: 0; color: #31525a; }
.marketing-cta .marketing-actions { flex: 0 0 auto; margin: 0; }
.marketing-footer { display: flex; justify-content: space-between; gap: 24px; max-width: 1320px; margin: 0 auto; padding: 30px 28px 44px; border-top: 1px solid #d6e1e3; color: #527078; font-size: .9rem; }
.marketing-footer div { display: flex; flex-wrap: wrap; gap: 18px; }
.marketing-footer a { color: #0e6974; font-weight: 700; text-decoration: none; }
@media (max-width: 900px) {
  .public-site-header-inner { flex-wrap: wrap; gap: 10px 18px; }
  .public-site-brand { flex-basis: 185px; }
  .public-site-nav { order: 3; width: 100%; justify-content: flex-start; margin-left: 0; overflow-x: auto; scrollbar-width: none; }
  .public-site-nav::-webkit-scrollbar { display: none; }
  .public-site-login { margin-left: auto; }
  .public-site-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketing-nav { width: 100%; flex-wrap: wrap; overflow: visible; }
  .marketing-nav .marketing-login { margin-left: 0; }
  .marketing-hero, .marketing-process, .marketing-principle, .marketing-safety { grid-template-columns: 1fr; }
  .marketing-hero { min-height: 0; padding-top: 30px; }
  .marketing-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketing-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  .workspace-brand-row { align-items: flex-start; flex-direction: column; }
  .billing-header-actions { flex-wrap: wrap; }
  .public-site-header-inner { padding-right: 16px; padding-left: 16px; }
  .public-site-brand { flex-basis: 165px; }
  .public-site-nav { gap: 2px; }
  .public-site-nav a { padding: 7px 8px; font-size: .88rem; }
  .public-site-nav .public-nav-secondary { display: none; }
  .public-site-login { padding: 9px 14px; }
  .public-site-footer { padding: 36px 16px 22px; }
  .public-site-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .public-site-footer-bottom { display: grid; }
  .public-site-footer-bottom span:last-child { margin-left: 0; }
  .marketing-header, .marketing-main, .marketing-footer { padding-right: 16px; padding-left: 16px; }
  .marketing-brand { width: 190px; }
  .marketing-nav { gap: 4px; }
  .marketing-nav a { white-space: nowrap; }
  .marketing-hero h1 { font-size: 3rem; }
  .marketing-report-preview > div { grid-template-columns: 60px 110px minmax(0, 1fr); }
  .marketing-section { padding: 52px 0; }
  .marketing-feature-grid { grid-template-columns: 1fr; }
  .marketing-feature-grid article { min-height: 0; }
  .marketing-principle, .marketing-cta { padding: 28px 22px; }
  .marketing-footer { flex-direction: column; }
  .legal-index { grid-template-columns: 1fr; }
  .legal-data-list > div { grid-template-columns: 1fr; gap: 3px; }
}
