/* Dedicated total-station theme: no M3 or P3 selectors. */
body.theme-ts {--paper:#f7f5ed;--surface:#fffefa;--soft:#e7ece3;--ink:#244b3e;--muted:#50645a;--accent:#3b6653;--accent-contrast:#fff;--line:#cbd5c9;--deep:#244b3e;--deep-text:#f7f5ed;}
.theme-ts .demo-banner {background:#3b6653;color:#f7f5ed}
.theme-ts .site-header {background:rgba(246,244,236,.97);border-color:#cbd5c9}
.theme-ts .brand b {font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-size:15px;letter-spacing:.05em}
.theme-ts .brand small {display:none}
.theme-ts .header-contact,.theme-ts .button.primary {background:#3b6653;color:#fff}
.theme-ts .button.primary:hover {background:#244b3e}
.theme-ts .eyebrow {color:#3b6653;letter-spacing:.1em}
.theme-ts .page-hero,.theme-ts .pricing-hero,.theme-ts .contact-hero {background:#e7ece3;color:#244b3e}
.theme-ts .section-heading h2,.theme-ts .page-hero h1,.theme-ts .pricing-hero h1,.theme-ts .contact-hero h1 {font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;letter-spacing:.02em}
.theme-ts .cta-band,.theme-ts .site-footer {background:#244b3e;color:#f7f5ed}
.theme-ts .cta-band .eyebrow {color:#d6c394}
.theme-ts .site-footer .footer-bottom {border-color:#6d8c79}
.theme-ts .tone-section,.theme-ts .work-section {background:#e7ece3}
.theme-ts .home-hero:before {display:none}
.theme-ts :focus-visible {outline-color:#927b4e}
.theme-ts .header-inner {min-height:76px}
@media(max-width:600px){.theme-ts .brand b{font-size:12px}.theme-ts .header-inner{min-height:62px}}

/* Unified palette for the 3D site's information pages. */
.theme-ts .home-hero,.theme-ts .issues-section,.theme-ts .approach-section,.theme-ts .home-faq {background:#f7f5ed}
.theme-ts .flow-preview,.theme-ts .photo-section {background:#fffefa}
.theme-ts .trust-preview,.theme-ts .case-section {background:#e7ece3}
.theme-ts .fees-preview {background:#3b6653}
.theme-ts .fees-preview .eyebrow,.theme-ts .fees-preview-visual>span:nth-of-type(odd) {color:#e5d4ae}
.theme-ts .fees-preview .button.primary {background:#f7f5ed;color:#244b3e}
.theme-ts .fees-preview .button.primary:hover {background:#e7ece3}
.theme-ts .fees-preview-visual,.theme-ts .fees-preview-visual i {border-color:#a5b9a9}
.theme-ts .trust-portrait,.theme-ts .profile-placeholder {background:#e7ece3;border-color:#cbd5c9}
.theme-ts .issue-grid>a,.theme-ts .work-card,.theme-ts .scenario-grid article,.theme-ts .estimator-v4 {background:#fffefa;border-color:#cbd5c9}
.theme-ts .comparison-grid article {border-top-color:#c9b17f}
.theme-ts .est-money {border-left-color:#c9b17f}
.theme-ts .est-boundary-note {background:#e7ece3;color:#3b6653}
.theme-ts .home-hero-photo img {box-shadow:16px 16px 0 #d5e0d3}
.theme-ts .mobile-menu a {color:#244b3e}
@media(max-width:650px) {
  .theme-ts .brand b {font-size:13px;line-height:1.4}
  .theme-ts .mobile-menu {grid-template-columns:1fr 1fr;gap:0 18px;padding:10px 21px 18px;overscroll-behavior:contain}
  .theme-ts .mobile-menu a {font-size:14px;line-height:1.5;min-height:48px;padding:12px 0}
  .theme-ts .mobile-menu a span {width:28px}
  .theme-ts .est-service-name,.theme-ts .est-option span {font-size:13px;line-height:1.45}
  .theme-ts .work-card p,.theme-ts .page-hero .lead {font-size:14px;line-height:1.8}
  .theme-ts .section {padding-block:64px}
}

/* TS palette: warm paper and restrained green throughout the information pages. */
.theme-ts .site-header {background:rgba(247,245,237,.98)}
.theme-ts .page-hero,.theme-ts .pricing-hero,.theme-ts .contact-hero {background:#e7ece3}
.theme-ts .page-hero-copy h1,.theme-ts .pricing-hero h1,.theme-ts .contact-hero h1 {color:#244b3e}
.theme-ts .section-heading h2::after {content:"";display:block;width:45px;height:2px;background:#c9b17f;margin-top:19px}
.theme-ts .button.primary,.theme-ts .header-contact {background:#244b3e;color:#fff}
.theme-ts .button.primary:hover,.theme-ts .header-contact:hover {background:#3b6653;color:#fff}
.theme-ts .desktop-nav a:hover,.theme-ts .desktop-nav a.active {border-color:#c9b17f}
.theme-ts .eyebrow {color:#315e4e}
.theme-ts .cta-band .eyebrow {color:#e7d5ad}
.theme-ts .footer-main p {color:#e0ebe1}
.theme-ts .footer-main .footer-muted,.theme-ts .footer-bottom {color:#c7d7ca}
.theme-ts .anchor-nav {background:#f7f5ed}
.theme-ts .anchor-nav a:hover {color:#244b3e}
.theme-ts .est-category button[aria-pressed=true],.theme-ts .est-option[aria-pressed=true] {background:#244b3e;color:#fff}
.theme-ts .est-service-card.is-active {background:#e7ece3;border-color:#3b6653;box-shadow:inset 0 0 0 1px #3b6653}
.theme-ts .est-money strong {color:#244b3e}
.theme-ts .fine-print,.theme-ts .section-lead,.theme-ts .lead {color:#405b4d}
.theme-ts :focus-visible {outline:3px solid #a08043;outline-offset:4px}
@media(max-width:650px){
  .theme-ts .site-header .brand b {font-size:13px}
  .theme-ts .mobile-menu a {font-size:14px}
  .theme-ts .mobile-actions a:first-child {background:#244b3e}
  .theme-ts .page-hero .lead,.theme-ts .section-lead {font-size:15px}
  .theme-ts .section {padding-block:58px}
}
.theme-ts .ts-3d-link {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 4px;color:#244b3e;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:underline;text-decoration-color:#c9b17f;text-underline-offset:5px}
.theme-ts .ts-3d-link:hover {color:#3b6653;text-decoration-color:#3b6653}
@media(max-width:650px){
  .theme-ts .header-inner {gap:6px}
  .theme-ts .header-actions {gap:3px}
  .theme-ts .ts-3d-link {font-size:11px;padding-inline:2px}
}
@media(max-width:390px){
  .theme-ts .header-inner.wrap {width:calc(100% - 28px)}
  .theme-ts .site-header .brand b {font-size:11px;letter-spacing:0}
  .theme-ts .ts-3d-link {font-size:10px}
}
