/* Brand tokens are independent of page composition. Status colors have their own namespace. */
:root,
:root[data-brand="modern-legacy"] {
  color-scheme: light;
  --navy: #172c46; --dark-panel: #233d5a; --accent: #4875ac;
  --brand: #d7323b; --brand-hover: #b1232d; --brand-on-dark: #ff737c;
  --canvas: #f5f6f5; --surface: #ffffff; --soft: #e9eef3;
  --text: #0f0a08; --text-muted: #55616c; --border: #cbd4de;
  --on-dark: #f5f6f5; --muted-dark: #c4cfdb; --line-dark: #51657a;
  --gold: #e4a72c; --radius: 8px; --mascot-size: 45px;
  --font-body: Arial, Helvetica, sans-serif;
  --font-heading: Arial, Helvetica, sans-serif;
  --status-waiting: #8d6016; --status-waiting-bg: #fff2d1;
  --status-progress: #245a8a; --status-progress-bg: #e6f0fa;
  --status-contact: #435970; --status-contact-bg: #e9edf3;
  --status-urgent: #aa142b; --status-urgent-bg: #ffe9ed;
  --status-ready: #236140; --status-ready-bg: #e5f3e8;
  --paper: var(--canvas); --ink: var(--text); --muted: var(--text-muted);
  --panel: var(--surface); --line: var(--border);
}
:root[data-brand="monti-classic"] {
  --navy: #0f0a08; --dark-panel: #252230; --accent: #221ee6;
  --brand: #d7323b; --brand-hover: #b1232d; --brand-on-dark: #ff737c;
  --canvas: #fbfbfb; --surface: #ffffff; --soft: #eeedfc;
  --text: #0f0a08; --text-muted: #606066; --border: #d3d1df;
  --on-dark: #fbfbfb; --muted-dark: #cecadb; --line-dark: #5c566a;
  --gold: #fbc115; --radius: 14px; --mascot-size: 60px;
  --font-heading: "Trebuchet MS", Arial, sans-serif;
}
:root[data-brand="service-utility"] {
  --navy: #1a1d21; --dark-panel: #2b333c; --accent: #35506e;
  --brand: #d43a3f; --brand-hover: #b22d31; --brand-on-dark: #ff7a7e;
  --canvas: #f3f4f2; --surface: #ffffff; --soft: #e6eaee;
  --text: #1a1d21; --text-muted: #52606d; --border: #c4cbd1;
  --on-dark: #f3f4f2; --muted-dark: #c8d0d7; --line-dark: #52606d;
  --gold: #c9972b; --radius: 2px; --mascot-size: 32px;
  --font-heading: Arial, Helvetica, sans-serif;
}
:root[data-brand="trusted-local"] {
  --navy: #243650; --dark-panel: #354b66; --accent: #6f89a8;
  --brand: #c93b44; --brand-hover: #a32a34; --brand-on-dark: #ff8a91;
  --canvas: #f2eee6; --surface: #fffdf9; --soft: #e7e4de;
  --text: #171515; --text-muted: #5d6166; --border: #cbc6bc;
  --on-dark: #fffdf9; --muted-dark: #d3dbe5; --line-dark: #6b7b8f;
  --gold: #c99b42; --radius: 12px; --mascot-size: 48px;
  --font-heading: Georgia, "Times New Roman", serif;
}
:root[data-brand="current-warm"] {
  --navy: #263a38; --dark-panel: #364d48; --accent: #657f77;
  --brand: #c72b36; --brand-hover: #a91e2a; --brand-on-dark: #ff838b;
  --canvas: #f7f5f0; --surface: #fffdf9; --soft: #e9ede7;
  --text: #232829; --text-muted: #535e5a; --border: #c9cbc4;
  --on-dark: #f7f8f4; --muted-dark: #cbd8d1; --line-dark: #677a74;
  --gold: #b47b29; --radius: 9px; --mascot-size: 43px;
}
:root[data-layout="counter"] {
  color-scheme: dark;
  --paper: var(--navy); --ink: var(--on-dark); --muted: var(--muted-dark);
  --panel: var(--dark-panel); --line: var(--line-dark);
}
body { font-family: var(--font-body); background: var(--paper); color: var(--ink); }
h1,h2,h3 { font-family: var(--font-heading); }
button,input,textarea,select { font-family: var(--font-body); }
.logo { display: inline-flex; align-items: center; gap: 10px; }
.logo .brand-word { color: inherit; display: inline-block; }
.logo .brand-luv,.footer-mark .brand-luv,.brand-your { color: var(--brand); }
.brand-monti { width: var(--mascot-size); height: var(--mascot-size); flex: 0 0 auto; object-fit: contain; }
.logo .trademark { color: inherit; }
.site-head .logo { font-family: Arial, Helvetica, sans-serif; }
.site-head .phone { background: var(--soft); color: var(--text); }
.head-kicker { color: var(--muted); }
.site-head .navlink[aria-current="page"] { color: var(--brand); }
.counter-head .logo { display: flex; flex-wrap: wrap; gap: 14px 6px; margin-top: 28px; }
.counter-head .brand-monti { width: calc(var(--mascot-size) * 1.5); height: calc(var(--mascot-size) * 1.5); background: var(--surface); padding: 6px; border-radius: 50%; }
.counter-head .brand-word { font-size: 25px; }
.counter-head .rail-bottom .phone { background: transparent; color: var(--on-dark); padding: 0; }
.counter-head .brand-luv,.counter-head .brand-your,.counter-head .navlink[aria-current="page"],
.concept-counter .counter-hero .brand-your,.concept-counter .counter-hero h1 span { color: var(--brand-on-dark); }
.site-footer .brand-luv { color: var(--brand-on-dark); }
.concept-start-here .site-footer .brand-luv { color: var(--brand); }
.brand-tagline { font-size: 15px; line-height: 1.5; font-weight: 750; margin-top: 20px; }
.brand-tagline .brand-your { color: var(--brand); }
.hero-copy em,.cover-copy h1 em { color: inherit; }
.hero-copy h1,.cover-copy h1 { text-wrap: balance; }
.start-title h1 span { color: var(--brand); }
.start-monti { padding: 20px; width: 100%; align-self: center; position: relative; }
.start-monti img { margin: auto; width: 230px; height: 230px; }
.start-monti small { display: block; line-height: 1.6; margin: 10px auto 0; }
.start-monti .brand-your { color: var(--brand); }
:root[data-brand="modern-legacy"] .start-monti { border-left: 1px solid var(--border); }
:root[data-brand="monti-classic"] .start-monti { border-radius: 50% 12px 50% 12px; background: linear-gradient(135deg,transparent 22%,var(--gold) 22%,var(--gold) 82%,transparent 82%); }
:root[data-brand="monti-classic"] .start-monti img { width: 270px; height: 270px; }
:root[data-brand="monti-classic"] .start-monti small { background: var(--surface); padding: 6px; border-radius: 4px; }
:root[data-brand="service-utility"] .start-monti { border: 1px solid var(--border); }
:root[data-brand="service-utility"] .start-monti img { width: 150px; height: 150px; }
:root[data-brand="trusted-local"] .start-monti { background: var(--surface); border-radius: 140px 140px 14px 14px; border: 1px solid var(--border); }
:root[data-brand="current-warm"] .start-monti img { width: 210px; height: 210px; }
.btn,.request-form input,.request-form select,.request-form textarea { border-radius: var(--radius); }
.btn { transition: background .18s, color .18s, transform .18s; min-height: 44px; }
.btn:hover { transform: translateY(-2px); }
.btn.red { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn.red:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.action-band .btn.red { background: var(--surface); color: var(--text); border-color: var(--surface); }
.action-band .btn.red:hover { background: var(--soft); }
.action-band { background: var(--navy); color: var(--on-dark); }
.action-band .eyebrow { color: var(--muted-dark); }
.request-form input,.request-form select,.request-form textarea { background: var(--surface); color: var(--text); border-color: var(--border); }
.form-result { background: var(--status-ready-bg); color: var(--status-ready); border-color: var(--status-ready); }
.concept-counter .counter-table,.concept-counter .contact-area,.concept-counter .simple-panel,.concept-counter .review-page {
  color-scheme: light; background: var(--canvas); color: var(--text);
  --paper: var(--canvas); --ink: var(--text); --muted: var(--text-muted);
  --panel: var(--surface); --line: var(--border);
}
.concept-counter .contact-remote { --panel: var(--dark-panel); }
.concept-counter .counter-quotes { --panel: var(--dark-panel); --line: var(--line-dark); }
.concept-counter .more-steps { color: var(--text); }
.concept-field-manual { background-color: var(--paper); }
.concept-field-manual .manual-index { background: var(--soft); }
.concept-field-manual .manual-cover img,.concept-field-manual .m-inner img { filter: none; }
:root[data-brand="current-warm"] .concept-field-manual { --font-heading: Georgia, serif; }
.concept-start-here .site-footer { color: var(--text); }
.concept-start-here .contact-remote { --panel: var(--soft); }
.choice-board,.service-tile,.start-proof>div { border-radius: var(--radius); }
.choice { transition: background .2s; }
.choice:hover { background: var(--soft); }
.route { scroll-margin-top: 20px; }
.route h1:focus { outline: none; }
.page-progress { position: fixed; inset: 0 auto auto 0; height: 3px; background: var(--brand); width: 0; z-index: 100; pointer-events: none; transition: width .12s linear; }
.skip-link { position: fixed; left: 12px; top: -70px; z-index: 999; background: var(--surface); color: var(--text); padding: 12px 18px; border: 2px solid var(--brand); }
.skip-link:focus { top: 12px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.has-js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
body.has-js .reveal.is-visible { opacity: 1; transform: none; }
.hero-photo img,.start-proof img { transition: transform .7s ease; }
.hero-photo:hover img,.start-proof>div:hover img { transform: scale(1.025); }
@media (max-width:1440px) { .head-kicker { display: none; } }
@media (max-width:1090px) { .counter-head .brand-monti { width: 34px; height: 34px; } .counter-head .logo { flex-wrap: nowrap; } }
@media (max-width:750px) {
  .brand-monti { width: 34px; height: 34px; }
  .logo { gap: 7px; }
  .counter-head .brand-word { font-size: 24px; }
  .start-monti { max-width: 190px; padding: 12px; margin: 18px 0 8px; }
  .start-monti img,:root[data-brand] .start-monti img { width: 132px; height: 132px; }
  .start-monti small { display: block; font-size: 9px; }
  .start-hero { gap: 0; }
  .brand-tagline { font-size: 14px; }
  .btn { white-space: normal; text-align: center; }
  .contact-details h3 { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms!important; transition-duration: .01ms!important; scroll-behavior: auto!important; }
  body.has-js .reveal { opacity:1; transform:none; }
}
:root[data-motion="off"] *, :root[data-motion="off"] *::before, :root[data-motion="off"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
:root[data-motion="off"] body.has-js .reveal { opacity:1; transform:none; }
