/* Shared visual language for the public site. Functional styles stay in the base sheet. */
:root {
  --bg:#fff; --paper:#fff; --surface:#f7f8f6; --ink:#172c28;
  --muted:#5e6c65; --line:#dfe5e1; --soft:#eef2ed;
  --accent:#244d43; --accent-2:#526b60; --accent-3:#eef2ed;
  --accent-4:#456359; --accent-soft:#f3f6f2; --shadow:none;
}
body {background:#fff; font-weight:400; line-height:1.8;}
h1,h2,h3 {letter-spacing:.015em; font-weight:650;}
h1 {font-size:clamp(1.9rem,3.4vw,3rem); line-height:1.5;}
h2 {font-size:1.6rem; line-height:1.55;}
a {text-underline-offset:4px;}
button,input,select,textarea {font:inherit;}
.wrap {max-width:1240px; padding:28px 40px 0;}
.site-header {background:#fff; border-bottom:1px solid var(--line);}
.site-header-inner {max-width:1240px; min-height:84px; padding:16px 40px; gap:32px;}
.brand {gap:12px;}
.brand-mark {width:34px; height:34px; border-radius:2px; background:var(--accent);}
.brand-copy strong {font-size:1.25rem; letter-spacing:.08em;}
.brand-copy small {font-size:.65rem; font-weight:400; margin-top:4px; letter-spacing:.06em;}
.nav-links {gap:32px; font-size:.84rem;}
.nav-links a {font-weight:500; border-bottom-width:1px;}
.header-cta {padding:10px 18px; font-size:.85rem; font-weight:600; border-radius:3px; background:var(--accent); border-color:var(--accent);}
.cta {background:var(--accent); border:1px solid var(--accent); border-radius:3px; font-weight:600; padding:12px 22px; min-height:50px; box-shadow:none;}
.cta:hover,.header-cta:hover {background:#16382f; border-color:#16382f;}
.cta-sub {background:#fff; color:var(--ink); border-color:var(--line);}
.cta-sub:hover {background:var(--surface); color:var(--ink); border-color:#9caea3;}
.eyebrow,.section-kicker,.home-kicker {color:var(--muted); font-size:.76rem; font-weight:500; letter-spacing:.08em;}
.panel {padding:52px 0;}
.hero {padding:44px 0; border-top:0; background:none;}
.hero:before {display:none;}
.hero .muted {max-width:740px;}
.chip {background:transparent; border:0; border-left:1px solid var(--line); border-radius:0; padding:0 13px; color:var(--muted); font-weight:500; font-size:.8rem;}
.stats {gap:12px; margin-top:24px;}
.card,.quick-card,.route-panel,.friendly-panel,.sample-spotlight,.mini-cta {box-shadow:none; border-radius:3px; background:#fff;}
.card {border:0; border-top:1px solid var(--line); padding:24px 0;}
.quick-card {border:0; border-top:1px solid var(--line); padding:24px 0;}
.quick-card:hover {box-shadow:none; background:var(--surface); transform:none;}
.quick-grid,.list {gap:24px 32px;}
.quick-card strong {font-size:1.15rem;}
.quick-card small,.card .subtle {line-height:1.8;}
.friendly-panel,.mini-cta,.route-panel {border:1px solid var(--line); padding:28px; background:var(--surface);}
.note-box {background:var(--surface); border:0; border-left:2px solid #a8b6ac; border-radius:0; color:var(--muted); box-shadow:none; padding:14px 18px;}
.cta-panel {background:var(--accent); border-radius:3px; padding:32px;}
.cta-panel .cta {color:var(--accent); background:#fff; border-color:#fff;}
.cta-panel .cta:hover {background:#eff3ef;}
.cta-panel .cta-sub {background:transparent; color:#fff; border-color:#91a59c;}
.business-trust-summary {background:var(--surface); border:0; border-radius:0; box-shadow:none;}
.business-trust-items {grid-template-columns:repeat(3,minmax(0,1fr));}
.actual-slide img,.slide-preview {box-shadow:none; border:1px solid var(--line); border-radius:3px;}
.table-wrap {border-radius:2px; border-color:var(--line);}
.comparison th {font-weight:600; background:#f3f5f2;}
.table-wrap .comparison th:first-child {background:#f3f5f2;}
.comparison th,.comparison td {border-color:var(--line); padding:13px 15px;}
.table-wrap .comparison tr:nth-child(even) td:first-child {background:#f7f8f6;}

/* Home: a clear introduction and one continuous comparison surface. */
.page-home .wrap {padding-top:0;}
.home-hero {width:100%; min-height:0; margin:0; display:block; overflow:visible; color:var(--ink); background:none;}
.home-hero:before {display:none;}
.home-hero-inner {width:100%; padding:64px 0 52px; display:grid; grid-template-columns:1fr 1.02fr; align-items:center; gap:54px;}
.home-hero-copy {max-width:none;}
.home-kicker {margin-bottom:24px;}
.home-hero h1 {font-size:clamp(2.25rem,3.65vw,3.3rem); line-height:1.5; color:var(--ink); margin:0 0 24px; font-weight:650; letter-spacing:.015em;}
.home-lead {color:var(--muted); font-size:.97rem; line-height:1.95; margin-bottom:32px; max-width:none;}
.home-actions {gap:16px 24px;}
.home-actions .cta {padding:14px 24px; min-height:54px; color:#fff; background:var(--accent);}
.home-actions .cta:hover {color:#fff; background:#16382f;}
.home-sample-link {color:var(--ink); font-size:.87rem; font-weight:500; text-decoration:none;}
.home-sample-link:hover {color:var(--accent); text-decoration:underline;}
.home-sample-link span {margin-left:8px;}
.home-hero-note {margin-top:20px; color:var(--muted); font-size:.73rem; gap:5px 16px;}
.home-hero-note li+li:before {background:#a2b0a7;}
.home-supported-regions {color:var(--muted); font-size:.7rem; margin-top:16px; line-height:1.85;}
.home-supported-regions strong {color:var(--ink); font-weight:500; display:block; margin-bottom:3px;}
.home-hero-visual {min-width:0; margin:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center;}
.home-hero-visual picture {display:block; flex:1; min-height:410px; max-height:510px; overflow:hidden; border-radius:2px;}
.home-hero-visual img {display:block; width:100%; height:100%; min-height:410px; max-height:510px; object-fit:cover; object-position:65% 50%;}
.home-hero-visual figcaption {display:flex; justify-content:flex-end; gap:12px; font-size:.62rem; color:var(--muted); margin-top:12px;}
.home-hero-visual figcaption a {color:var(--muted); white-space:nowrap;}
.home-section {padding:66px 0; border-color:var(--line);}
.home-section-intro {max-width:740px; margin-bottom:30px;}
.home-section-intro h2 {font-size:1.9rem; line-height:1.5; margin-bottom:12px;}
.home-section-intro p:last-child {font-size:.92rem;}
.home-money-section {padding-top:48px; border-top:1px solid var(--line);}
.money-model-label {font-size:.8rem; gap:8px 16px; margin-bottom:20px;}
.money-model-label strong {background:none; padding:0; color:var(--ink); font-size:.8rem; font-weight:600;}
.money-grid {gap:0; border-top:1px solid #879b8d; border-bottom:1px solid var(--line); background:var(--surface);}
.money-card,.money-card-sale {padding:26px 22px; border:0; border-right:1px solid var(--line); border-radius:0; background:transparent;}
.money-card:last-child {border-right:0;}
.money-card-sale {background:#edf2ed;}
.money-card-heading {margin-bottom:24px;}
.money-card-heading h3 {font-weight:600; font-size:1.12rem;}
.money-card-heading>span {font-size:.74rem; margin-top:4px;}
.money-result-label {font-size:.72rem;}
.money-result {font-family:Arial,var(--font-sans); font-weight:500; font-size:2rem; letter-spacing:-.03em; color:var(--ink); margin-bottom:23px; white-space:nowrap;}
.money-negative {color:#a54835;}
.money-result small {font-family:var(--font-sans); font-size:.68rem; letter-spacing:0; font-weight:400;}
.money-details {gap:16px;}
.money-details dt {font-size:.73rem;}
.money-details dd {font-weight:500; font-size:1rem;}
.money-assumption {font-size:.7rem;}
.money-note {font-size:.76rem; line-height:1.8; max-width:1000px;}
.money-model-details {font-size:.8rem; padding:10px 0;}
.money-model-details summary {font-weight:500;}
.money-actions {margin-top:24px; font-size:.84rem;}
.money-actions .cta {background:#fff; color:var(--accent); border-color:#9bad9f;}
.money-actions .cta:hover {background:var(--surface);}
.home-steps {padding:28px 0;}
.home-step-number {color:#86978b; font-size:.75rem; font-weight:400;}
.home-step-list li {grid-template-columns:24px 1fr; gap:12px;}
.home-step-list strong {font-size:.9rem; font-weight:600;}
.home-step-list small {font-size:.75rem; line-height:1.65; margin-top:4px;}
.home-section-surface {background:transparent;}
.home-section-surface:before {display:none;}
.home-output-layout {grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr); align-items:center; gap:56px;}
.home-output-window {border:1px solid var(--line); border-radius:3px; box-shadow:none;}
.home-output-toolbar {min-height:48px; padding:10px 14px; background:var(--surface);}
.home-file-icon {width:26px; height:30px; border-radius:2px; background:transparent; color:var(--muted); border:1px solid #b9c5bd; font-size:.73rem;}
.home-output-enlarge {box-shadow:none; border-radius:2px; font-size:.68rem; padding:6px 9px;}
.home-output-thumbnails {gap:7px; background:#fff; padding:10px;}
.home-output-thumbnails button {border-radius:1px; padding:0; border:1px solid var(--line);}
.home-output-thumbnails img {height:auto; aspect-ratio:16/9; object-fit:contain;}
.home-output-thumbnails span {font-size:.65rem; font-weight:400;}
.home-output-points {gap:0;}
.home-output-point {padding:18px 0; border-left:0; border-bottom:1px solid var(--line); background:none;}
.home-output-point strong {font-size:1rem; font-weight:600;}
.home-output-point span {font-size:.82rem; margin-top:7px;}
.home-output-link {margin-top:22px; font-weight:500; font-size:.86rem;}
.home-scope-grid {border:0; background:none; gap:32px;}
.home-scope-item {padding:20px 0; border-top:1px solid var(--line);}
.home-scope-item+.home-scope-item {border-left:0;}
.home-scope-item strong {font-size:1.12rem; font-weight:600;}
.home-scope-item span {font-size:.9rem; margin-top:9px;}
.home-scope-note {font-size:.8rem;}
.home-scope-note a {margin-left:6px;}
.home-business {display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:44px 0; border-bottom:1px solid var(--line);}
.home-business h2 {font-size:1.45rem; margin-bottom:8px;}
.home-business p {font-size:.88rem; color:var(--muted); margin:0; max-width:670px;}
.home-business .section-kicker {font-size:.74rem; margin-bottom:12px;}
.home-business>a {color:var(--ink); font-size:.9rem; white-space:nowrap;}
.home-resource-links {padding:26px 0; gap:20px; font-size:.78rem;}
.home-faq {max-width:820px; margin:0 auto; padding:50px 0 72px; border:0;}
.home-faq h2 {font-size:1.6rem; margin-bottom:24px;}
.home-faq details {border:0; border-bottom:1px solid var(--line); background:none; border-radius:0; box-shadow:none;}
.home-faq summary {font-size:.9rem; font-weight:500; padding:18px 0;}
.home-faq details p {font-size:.86rem;}

/* Forms keep the first input close to the heading. */
.contact-start {max-width:720px; padding:12px 0 48px; border:0;}
.contact-intro {margin:22px 0 32px;}
.contact-intro h1 {font-size:2rem; font-weight:600; margin-bottom:12px;}
.contact-intro .muted {font-size:.88rem;}
.contact-start form {border:0; border-top:1px solid var(--line); padding:30px 0 0; border-radius:0; background:#fff;}
.contact-start .form-grid {gap:24px;}
.form-field label {font-size:.88rem; font-weight:600;}
.form-field input,.form-field select,.form-field textarea {border:1px solid #b8c6bc; border-radius:3px; background:#fff; box-shadow:none; padding:12px 13px; font-size:1rem;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus {border-color:var(--accent); outline:2px solid #e0e9e2; outline-offset:1px;}
.required-mark {font-size:.67rem; font-weight:400; color:#925448;}
.form-region-help {font-size:.74rem; color:var(--muted); line-height:1.85;}
.form-region-help strong {font-weight:500; color:var(--ink);}
.form-help {font-size:.76rem; line-height:1.8;}
.area-unit-toggle {border-radius:3px; border-color:#b8c6bc;}
.area-unit-toggle label {border-radius:2px;}
.contact-start form>details {border-top:1px solid var(--line); padding:16px 0 0;}
.contact-start summary {font-weight:500; font-size:.85rem;}
.compact-info {background:var(--surface); border:0; border-radius:2px; box-shadow:none;}
.checkline {font-size:.85rem; align-items:flex-start;}
.form-note {background:none; border:0; padding:18px 0; color:var(--muted); font-size:.75rem;}
.form-actions .muted {font-size:.76rem;}
.submit-status {background:#fff; border:1px solid var(--line); border-radius:4px; box-shadow:none;}
.submit-status h2 {font-size:1.35rem;}
.submit-status p {font-size:.86rem;}
.submit-wait-note {background:var(--surface); color:var(--muted); border-color:var(--line);}

.site-footer {background:var(--surface); color:var(--ink); margin-top:20px; padding:40px 0 24px; gap:22px;}
.site-footer:before {background:var(--surface);}
.footer-brand strong {color:var(--ink); font-weight:600; letter-spacing:.08em; font-size:1.2rem;}
.footer-brand span,.footer-meta,.footer-copy {color:var(--muted);}
.footer-links {gap:12px 24px; font-size:.78rem;}
.footer-links a {color:var(--ink); font-weight:400;}
.footer-meta {font-size:.72rem; line-height:1.8;}
.footer-copy {font-size:.65rem; border-color:var(--line); margin-top:0;}

@media(max-width:1000px) {
  .home-hero-inner {gap:32px;}
  .home-hero h1 {font-size:2.35rem;}
  .home-hero-visual figcaption span {display:none;}
  .home-hero-visual figcaption {justify-content:flex-end;}
  .money-card {padding:24px 15px;}
  .money-result {font-size:1.75rem;}
  .home-output-layout {gap:30px;}
}
@media(max-width:760px) {
  .wrap {padding:20px 24px 0;}
  .site-header-inner {padding:14px 24px; min-height:72px; gap:20px;}
  .brand-copy small {display:none;}
  .nav-links {gap:18px; font-size:.76rem;}
  .nav-market {display:none;}
  .header-cta {padding:9px 12px; font-size:.8rem;}
  .home-hero-inner {padding:40px 0; gap:28px;}
  .home-hero h1 {font-size:1.95rem;}
  .home-lead {font-size:.85rem;}
  .home-hero-visual picture,.home-hero-visual img {min-height:360px;}
  .money-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .money-card {padding:25px 20px;}
  .money-card:nth-child(2n) {border-right:0;}
  .money-card:nth-child(-n+2) {border-bottom:1px solid var(--line);}
  .money-result {font-size:2rem;}
  .home-step-list {grid-template-columns:1fr;}
  .home-step-list li,.home-step-list li:first-child,.home-step-list li:last-child {padding:12px 0; border-right:0;}
  .home-output-layout {grid-template-columns:1fr;}
  .home-output-points {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;}
  .home-output-point strong {font-size:.9rem;}
  .home-output-point span {font-size:.78rem;}
  .home-scope-grid {gap:24px;}
  .business-trust-items {grid-template-columns:1fr;}
  .home-resource-links {display:flex; flex-wrap:wrap;}
  .site-footer {grid-template-columns:1fr;}
  .footer-copy {grid-column:1;}
}
@media(max-width:640px) {
  .wrap {padding:18px 20px 0;}
  .site-header-inner {padding:12px 16px; min-height:64px; gap:14px;}
  .brand {gap:8px;}
  .brand-mark {width:27px; height:27px; font-size:.92rem;}
  .brand-copy strong {font-size:1.05rem;}
  .nav-links {gap:13px;}
  .nav-links a[href="/business/"] {display:none;}
  .header-cta {font-size:.76rem; padding:8px 11px;}
  .header-cta:after {margin-left:5px;}
  .home-hero-inner {grid-template-columns:1fr; padding:34px 0 28px; gap:26px;}
  .home-kicker {font-size:.7rem; margin-bottom:15px;}
  .home-hero h1 {font-size:clamp(1.85rem,7.8vw,2.5rem); line-height:1.5; margin-bottom:17px;}
  .home-lead {font-size:.89rem; line-height:1.9; margin-bottom:24px;}
  .desktop-break {display:none;}
  .home-actions {display:flex; flex-direction:row; align-items:center; gap:18px;}
  .home-actions .cta {width:auto; padding:12px 19px; min-height:48px; font-size:.86rem;}
  .home-sample-link {width:auto; display:inline; font-size:.79rem;}
  .home-hero-note {margin-top:16px; font-size:.7rem;}
  .home-supported-regions {font-size:.67rem; margin-top:13px;}
  .home-supported-regions strong {display:inline; margin-right:5px;}
  .home-hero-visual picture,.home-hero-visual img {height:208px; min-height:0; max-height:none;}
  .home-hero-visual img {object-position:50% 57%;}
  .home-hero-visual figcaption {margin-top:7px; font-size:.57rem;}
  .home-section {padding:40px 0;}
  .home-money-section {padding-top:34px;}
  .home-section-intro {margin-bottom:22px;}
  .home-section-intro h2 {font-size:1.5rem; margin-bottom:10px;}
  .home-section-intro p:last-child {font-size:.84rem;}
  .section-kicker {font-size:.7rem; margin-bottom:10px;}
  .money-model-label {font-size:.74rem; line-height:1.8; gap:4px 12px;}
  .money-card {padding:22px 12px;}
  .money-card-heading h3 {font-size:1rem;}
  .money-card-heading {margin-bottom:21px;}
  .money-card-heading>span {font-size:.72rem;}
  .money-result-label {font-size:.72rem; min-height:36px;}
  .money-result {font-size:1.85rem; margin-bottom:20px;}
  .money-result small {font-size:.6rem; margin-left:3px;}
  .money-details dt {font-size:.73rem;}
  .money-details dd {font-size:.91rem;}
  .money-details small {font-size:.62rem;}
  .money-assumption {font-size:.72rem;}
  .money-note {font-size:.72rem;}
  .money-actions {gap:16px;}
  .money-actions .cta {font-size:.84rem;}
  .home-steps {padding:17px 0;}
  .home-step-list li {min-height:64px;}
  .home-output-layout {gap:20px;}
  .home-output-toolbar {min-height:46px;}
  .home-output-thumbnails {display:flex; overflow-x:auto; gap:8px; padding:9px; scroll-snap-type:x proximity;}
  .home-output-thumbnails button {flex:0 0 104px; scroll-snap-align:start;}
  .home-output-thumbnails span {font-size:.65rem; padding:5px 3px;}
  .home-output-points {grid-template-columns:1fr; gap:0;}
  .home-output-point {padding:14px 0; display:grid; grid-template-columns:115px 1fr; gap:16px; align-items:baseline;}
  .home-output-point span {margin-top:0; font-size:.78rem;}
  .home-output-point strong {font-size:.86rem;}
  .home-scope-grid {grid-template-columns:1fr; gap:0;}
  .home-scope-item {display:grid; grid-template-columns:95px 1fr; gap:18px; padding:20px 0;}
  .home-scope-item strong {font-size:1rem;}
  .home-scope-item span {font-size:.82rem; margin-top:0;}
  .home-scope-note {font-size:.75rem;}
  .home-business {grid-template-columns:1fr; padding:30px 0; gap:18px;}
  .home-business h2 {font-size:1.3rem;}
  .home-business p {font-size:.82rem;}
  .home-business>a {font-size:.84rem;}
  .home-resource-links {gap:12px 20px; padding:24px 0; font-size:.75rem;}
  .home-faq {padding:30px 0 42px;}
  .home-faq h2 {font-size:1.4rem; margin-bottom:14px;}
  .home-faq summary {font-size:.85rem; line-height:1.7;}
  .panel {padding:32px 0;}
  .hero {padding:24px 0 32px; margin-bottom:0;}
  .hero h1 {font-size:1.8rem;}
  .cta-panel,.mini-cta,.route-panel,.friendly-panel {padding:22px 18px;}
  .contact-start {padding:0 0 24px;}
  .contact-intro {margin:17px 0 23px;}
  .contact-intro h1 {font-size:1.7rem; margin-bottom:8px;}
  .contact-intro .eyebrow {font-size:.71rem;}
  .contact-intro .muted {font-size:.84rem; line-height:1.8;}
  .contact-start form {padding:22px 0 0;}
  .contact-start .form-grid {gap:22px;}
  .form-region-help {font-size:.72rem; margin:6px 0 9px;}
  .contact-start .form-actions .cta {min-height:50px;}
  .form-note {font-size:.72rem;}
  .site-footer {padding:30px 0 20px; margin-bottom:0; gap:18px;}
  .footer-links {gap:10px 20px; font-size:.74rem;}
  .footer-meta {font-size:.68rem;}
}
@media(max-width:360px) {
  .site-header-inner {gap:9px; padding:12px;}
  .nav-links {font-size:.7rem;}
  .home-actions {gap:12px;}
  .home-actions .cta {padding:12px 14px; font-size:.82rem;}
  .home-sample-link {font-size:.74rem;}
  .money-card {padding:20px 9px;}
  .money-result {font-size:1.52rem;}
  .home-output-point {grid-template-columns:105px 1fr; gap:12px;}
}
