/*
Theme Name: Mid Cities HVAC
Theme URI: https://midcitieshvacpro.com
Author: Mid Cities HVAC
Description: Lightweight, conversion-focused HVAC theme for the Texas Mid-Cities. Mobile-first, Core Web Vitals friendly, native SEO meta fields, published price tables, Service and Location page templates.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: mchvac
*/


/* --------------------------------------------------------------------------
   BASE / RESET / TYPOGRAPHY
   -------------------------------------------------------------------------- */

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html {
  scroll-behavior:smooth;
}

body {
  font-family:'DM Sans',-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--paper);
  color:var(--text);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}

img {
  max-width:100%;
  display:block;
}

.mc-scard .mc-scard-img img {
  width:100%;
  height:180px;
  object-fit:cover;
  transition:.45s;
}

.mc-scard:hover .mc-scard-img img {
  transform:scale(1.07);
}

.mc-story-img {
  position:relative;
}

.mc-story-img img {
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  width:100%;
  height:460px;
  object-fit:cover;
}

.mc-story-img .mc-story-badge {
  position:absolute;
  bottom:-24px;
  right:-24px;
  background:var(--brand);
  color:#fff;
  border-radius:14px;
  padding:1.2rem 1.5rem;
  text-align:center;
  box-shadow:var(--shadow-lg);
}

.mc-story-img .mc-story-badge .n {
  font-size:2.2rem;
  font-weight:800;
  font-family:'Manrope',sans-serif;
  line-height:1;
}

.mc-story-img .mc-story-badge .l {
  font-size:.82rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.mc-job img {
  height:190px;
  width:100%;
  object-fit:cover;
  transition:.4s;
}

.mc-job:hover img {
  transform:scale(1.07);
}

.mc-place-img {
  height:150px;
  overflow:hidden;
  background:#17150f;
}

.mc-place-img img {
  width:100%;
  height:150px;
  object-fit:cover;
  transition:.45s;
}

.mc-place-card:hover .mc-place-img img {
  transform:scale(1.07);
}

.mc-place-body {
  padding:1.4rem 1.5rem 1.6rem;
}

.mc-page-body {
  max-width:820px;
  margin:0 auto;
}

.mc-page-body h2 {
  font-size:1.75rem;
  margin:2.2rem 0 .6rem;
}

.mc-page-body h3 {
  font-size:1.22rem;
  margin:1.5rem 0 .45rem;
}

.mc-page-body p {
  margin-bottom:1rem;
  color:#2A333F;
}

.mc-page-body ul {
  margin:0 0 1.2rem 1.2rem;
}

.mc-page-body li {
  margin-bottom:.5rem;
}

.mc-scard .mc-scard-img, .mc-place-img, .mc-job .mc-iw {
  position:relative;
  background:linear-gradient(135deg,#17150f,#2c2820);
}

.mc-scard .mc-scard-img::before, .mc-place-img::before {
  content:"";
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:44px;
  opacity:.28;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.mc-w3.mc-org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M4 4h16v11H4zM2 17h20v2H2zM7 7h4v2H7zm0 4h4v2H7zm6-4h4v2h-4zm0 4h4v2h-4z'/%3E%3C/svg%3E");
  z-index:0;
}

.mc-scard .mc-scard-img img, .mc-place-img img, .mc-job .mc-iw img {
  position:relative;
  z-index:1;
}

.mc-page-body>*:first-child, .mc-copy>*:first-child {
  margin-top:0;
}

/* --------------------------------------------------------------------------
   LAYOUT PRIMITIVES
   -------------------------------------------------------------------------- */

.mc-shell {
  max-width:1240px;
  margin:0 auto;
  padding:0 2rem;
}

.eyebrow {
  color:var(--brand);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:.6rem;
  display:block;
}

.mc-band {
  padding:5rem 0;
}

.mc-band-head {
  text-align:center;
  margin-bottom:2.5rem;
}

.mc-band-head h2 {
  font-size:2.4rem;
  margin-bottom:.3em;
}

.mc-rule {
  width:56px;
  height:4px;
  background:var(--brand);
  border-radius:2px;
  margin:.8rem auto 0;
}

.mc-rule.left {
  margin:.8rem 0 0;
}

.mc-subcopy {
  font-size:1.13rem;
  color:var(--muted);
  max-width:64ch;
  margin:.8rem auto 0;
}

.mc-reach-page .mc-subcopy {
  color:#C3D0E0;
  margin-left:0;
}

.mc-reach-solo .mc-subcopy {
  color:#C3D0E0;
  margin:0 auto 1.6rem;
}


.mc-band.mc-ivory, .mc-ivory {
  background:var(--ivory);
}

.mc-rule {
  background:var(--brand);
}

/* --------------------------------------------------------------------------
   BUTTONS
   -------------------------------------------------------------------------- */


.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  font-weight:700;
  font-size:1.02rem;
  padding:.95em 1.7em;
  border-radius:var(--radius);
  transition:.2s;
  cursor:pointer;
  min-height:52px;
}

.btn-orange {
  background:var(--brand);
  color:#fff;
  box-shadow:0 4px 14px rgba(241,90,27,.32);
}

.btn-orange:hover {
  background:var(--brand-dark);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(241,90,27,.42);
}

.btn-ghost {
  background:rgba(255,255,255,.97);
  color:var(--ink);
  border:2px solid #fff;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}

.btn-ghost:hover {
  background:var(--ink);
  color:#fff;
  border-color:#fff;
  transform:translateY(-2px);
}

.btn-ink {
  background:var(--ink);
  color:#fff;
}

.btn-ink:hover {
  background:var(--ink-2);
  transform:translateY(-2px);
}

.mc-hero-form .btn {
  width:100%;
  min-height:48px;
  font-size:.98rem;
}

.mc-answer .mc-btns {
  display:flex;
  gap:.9rem;
  justify-content:center;
  flex-wrap:wrap;
}

.btn-outline-ink {
  background:#fff;
  color:var(--ink);
  border:2px solid var(--ink);
}

.btn-outline-ink:hover {
  background:var(--ink);
  color:#fff;
  transform:translateY(-2px);
}

.mc-form .btn-orange {
  width:100%;
}

.mc-ribbon .btn {
  background:#fff;
  color:var(--brand);
}

.mc-ribbon .btn:hover {
  background:var(--ink);
  color:#fff;
}

.mc-bar-btn {
  display:inline-flex;
  align-items:center;
  gap:.5em;
  background:var(--brand);
  color:#fff;
  font-weight:800;
  font-size:1.05rem;
  padding:.75em 1.6em;
  border-radius:8px;
  white-space:nowrap;
  transition:.2s;
  box-shadow:0 5px 16px rgba(242,106,33,.4);
}

.mc-bar-btn:hover {
  background:var(--brand-dark);
  color:#fff;
  transform:translateY(-2px);
}

.mc-hero-form button.btn, .mc-hero-form .btn {
  width:100%;
  border:0;
  cursor:pointer;
  font-family:inherit;
}

.mc-midcta .btn {
  white-space:nowrap;
}

/* --------------------------------------------------------------------------
   HEADER & NAVIGATION
   -------------------------------------------------------------------------- */

.mc-top {
  position:sticky;
  top:0;
  z-index:99;
  background:#fff;
  box-shadow:0 2px 14px rgba(11,37,69,.08);
}

.mc-top-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.6rem 0;
}

.mc-brand {
  display:flex;
  align-items:center;
  gap:.6rem;
  font-weight:800;
  font-size:1.15rem;
  color:var(--ink);
  font-family:'Manrope',sans-serif;
}

.mc-brand .mc-brand-ico {
  width:40px;
  height:40px;
  background:var(--ink);
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mc-brand .mc-brand-ico svg {
  width:23px;
  height:23px;
  fill:none;
  stroke:var(--brand);
  color:var(--brand);
}

.mc-brand span {
  color:var(--brand);
}

.mc-menu ul {
  list-style:none;
  display:flex;
  gap:1.4rem;
  align-items:center;
}

.mc-menu a {
  font-weight:600;
  font-size:.95rem;
  color:var(--text);
  transition:.18s;
  position:relative;
}

.mc-menu a:hover {
  color:var(--brand);
}

.mc-sub {
  position:absolute;
  top:150%;
  left:0;
  background:#fff;
  border-radius:10px;
  box-shadow:var(--shadow-lg);
  padding:.5rem;
  min-width:230px;
  opacity:0;
  visibility:hidden;
  transition:.18s;
  list-style:none;
}

.mc-has-sub:hover .mc-sub {
  opacity:1;
  visibility:visible;
  top:135%;
}

.mc-sub li a {
  display:block;
  padding:.6em .9em;
  border-radius:6px;
  font-size:.9rem;
}

.mc-sub li a:hover {
  background:var(--ivory);
  color:var(--brand);
  padding-left:1.2em;
}

.mc-top-act {
  display:flex;
  align-items:center;
  gap:1.1rem;
}

.mc-top-tel {
  display:flex;
  align-items:center;
  gap:.5em;
  font-weight:800;
  color:var(--ink);
  font-size:1.05rem;
}

.mc-top-tel .mc-tel-ico {
  width:38px;
  height:38px;
  background:#fdeee6;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mc-top-tel .mc-tel-ico svg {
  width:18px;
  height:18px;
  fill:var(--brand);
}

.mc-burger {
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:0;
  cursor:pointer;
  padding:.5rem;
}

.mc-burger span {
  width:24px;
  height:2.5px;
  background:var(--ink);
  border-radius:2px;
  transition:.2s;
}

.mc-subhero {
  position:relative;
  background:#17150f center 40%/cover;
  color:#fff;
  overflow:hidden;
}

.mc-subhero::before {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(9,28,54,.82);
}

.mc-subhero h1 {
  color:#fff;
  font-size:2.4rem;
  line-height:1.15;
  margin-bottom:.4em;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}

.mc-subhero .mc-hero-sub {
  font-size:1.02rem;
  color:#E4EBF3;
  margin-bottom:1rem;
  max-width:56ch;
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}

.mc-menu ul {
  list-style:none;
  display:flex;
  gap:1.4rem;
  align-items:center;
  margin:0;
  padding:0;
}

.mc-menu .sub-menu {
  position:absolute;
  top:150%;
  left:0;
  background:#fff;
  border-radius:10px;
  box-shadow:var(--shadow-lg);
  padding:.5rem;
  min-width:230px;
  opacity:0;
  visibility:hidden;
  transition:.18s;
  list-style:none;
  z-index:10;
}

.mc-menu li {
  position:relative;
}

.mc-menu li:hover>.sub-menu {
  opacity:1;
  visibility:visible;
  top:135%;
}

.mc-menu .sub-menu li a {
  display:block;
  padding:.6em .9em;
  border-radius:6px;
  font-size:.9rem;
}

.mc-menu .sub-menu li a:hover {
  background:var(--ivory);
  color:var(--brand);
  padding-left:1.2em;
}

.mc-top {
  background:var(--paper);
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */


.mc-hero {
  position:relative;
  min-height:380px;
  display:flex;
  align-items:flex-start;
  color:#fff;
  background:#17150f center 40%/cover;
}

.mc-hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(9,28,54,.80);
}

.mc-hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(9,28,54,.18) 0%,transparent 30%,transparent 72%,rgba(9,28,54,.30) 100%);
}

.mc-hero-row {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1fr 360px;
  gap:2.2rem;
  align-items:start;
  padding:1.1rem 0 1.6rem;
}

.mc-hero-form {
  background:#fff;
  border-radius:12px;
  padding:1.5rem;
  box-shadow:0 22px 55px rgba(0,0,0,.4);
}

.mc-hero-form h3 {
  font-size:1.15rem;
  margin-bottom:.15rem;
}

.mc-hero-form .mc-fp {
  font-size:.84rem;
  color:var(--muted);
  margin-bottom:.9rem;
}

.mc-hero-form input, .mc-hero-form select, .mc-hero-form textarea {
  width:100%;
  padding:.7em .85em;
  margin-bottom:.5rem;
  border:1.5px solid var(--border);
  border-radius:7px;
  font-size:.92rem;
  font-family:inherit;
  color:var(--text);
  background:#fff;
  resize:vertical;
}

.mc-hero-form input:focus, .mc-hero-form select:focus, .mc-hero-form textarea:focus {
  outline:none;
  border-color:var(--brand);
}

.mc-hero h1 {
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
  font-size:2.55rem;
  line-height:1.14;
  margin-bottom:.4em;
}

.mc-hero h1 .acc {
  color:var(--brand);
}

.mc-hero .mc-hero-sub {
  font-size:1.04rem;
  color:#E4EBF3;
  text-shadow:0 1px 10px rgba(0,0,0,.4);
  margin-bottom:1.1rem;
  max-width:54ch;
}

.mc-quote-band .mc-hero-form {
  box-shadow:0 10px 30px rgba(11,37,69,.12);
  border:1px solid var(--border);
}

.mc-hero-form, .mc-form, .mc-quote, .mc-step, .mc-figure {
  border-radius:var(--radius);
}

/* --------------------------------------------------------------------------
   CONTENT MODULES  (rates table, figures, steps, cards, quotes, ribbon)
   -------------------------------------------------------------------------- */

.mc-grid3 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
}

.mc-story {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3.5rem;
  align-items:center;
}

.mc-figures {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
  text-align:center;
}

.mc-figure .n {
  font-size:3rem;
  font-weight:800;
  color:var(--brand);
  font-family:'Manrope',sans-serif;
  line-height:1;
}

.mc-figure .l {
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#B8C6D8;
  margin-top:.5rem;
}

.mc-step {
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:2.2rem 1.7rem 1.8rem;
  text-align:center;
  transition:.25s;
  position:relative;
}

.mc-step:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}

.mc-step .mc-step-n {
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin:-3.4rem auto 1rem;
  background:var(--brand);
  color:#fff;
  border-radius:50%;
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:1.5rem;
  border:5px solid #fff;
  box-shadow:var(--shadow);
  transition:.25s;
}

.mc-step:hover .mc-step-n {
  background:var(--ink);
}

.mc-step h3 {
  font-size:1.15rem;
  margin-bottom:.5rem;
}

.mc-step p {
  color:var(--muted);
  font-size:.96rem;
}

.mc-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
}


.mc-rates {
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.mc-rates table {
  width:100%;
  border-collapse:collapse;
}

.mc-rates thead th {
  background:var(--ink);
  color:#fff;
  text-align:left;
  padding:1rem 1.3rem;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-family:'Manrope',sans-serif;
}

.mc-rates td {
  padding:1rem 1.3rem;
  border-bottom:1px solid var(--border);
  font-size:.96rem;
}

.mc-rates tbody tr:nth-child(even) {
  background:var(--ivory);
}

.mc-rates tbody tr:hover {
  background:#FDF1EA;
}

.mc-rates td:first-child {
  font-weight:700;
  color:var(--ink);
}

.mc-rates td:nth-child(2) {
  font-weight:800;
  color:var(--brand);
  white-space:nowrap;
}

.mc-rates td:last-child {
  color:var(--muted);
}


.mc-places {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}

.mc-quotes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
}

.mc-quote {
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:2rem;
  position:relative;
  transition:.25s;
}

.mc-quote:hover {
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
}

.mc-quote .mc-quote-glyph {
  position:absolute;
  top:1.2rem;
  right:1.5rem;
  font-size:3.5rem;
  color:var(--ivory);
  font-family:Georgia,serif;
  line-height:1;
}

.mc-quote .mc-stars {
  color:var(--amber);
  font-size:1.05rem;
  margin-bottom:.8rem;
  letter-spacing:1px;
}

.mc-quote p {
  font-style:italic;
  font-size:1rem;
  margin-bottom:1.2rem;
  position:relative;
  z-index:1;
}

.mc-quote .mc-who {
  display:flex;
  align-items:center;
  gap:.8rem;
}

.mc-quote .av {
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
}

.mc-quote .mc-quote-av {
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--ink);
  color:#fff;
  font-weight:800;
  font-family:'Manrope',sans-serif;
  font-size:1.15rem;
  flex-shrink:0;
}

.mc-quote .mc-who b {
  color:var(--ink);
  font-size:.96rem;
  display:block;
}

.mc-quote .mc-who span {
  color:var(--muted);
  font-size:.85rem;
}


.mc-ribbon {
  background:var(--brand);
  color:#fff;
  text-align:center;
  padding:3rem 0;
}

.mc-ribbon h2 {
  color:#fff;
  font-size:2rem;
  margin-bottom:.4rem;
}

.mc-ribbon p {
  font-size:1.1rem;
  margin-bottom:1.4rem;
  opacity:.95;
}

.mc-quote-band .mc-story {
  align-items:start;
}

.mc-rates thead th {
  background:var(--ink);
}

.mc-quote .mc-quote-glyph {
  color:var(--ivory);
}

/* --------------------------------------------------------------------------
   FORMS, CONTACT & STICKY CALL BAR
   -------------------------------------------------------------------------- */

.mc-reach-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center;
}

.mc-reach-page .mc-tel-xl {
  font-size:2rem;
  font-weight:800;
  color:var(--brand);
  font-family:'Manrope',sans-serif;
  margin:1rem 0;
  display:flex;
  align-items:center;
  gap:.5em;
}

.mc-reach-page .mc-tel-xl svg {
  width:32px;
  height:32px;
  fill:var(--brand);
}

.mc-form {
  background:#fff;
  border-radius:var(--radius);
  padding:2rem;
  box-shadow:var(--shadow-lg);
}

.mc-form h3 {
  margin-bottom:1rem;
}

.mc-form input, .mc-form select, .mc-form textarea {
  width:100%;
  padding:.85em .9em;
  margin-bottom:.75rem;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-size:.96rem;
  font-family:inherit;
}

.mc-form input:focus, .mc-form select:focus, .mc-form textarea:focus {
  outline:none;
  border-color:var(--brand);
}

.mc-reach-solo {
  max-width:820px;
  margin:0 auto;
  text-align:center;
}

.mc-reach-solo .mc-tel-xl {
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-size:2.4rem;
  font-weight:800;
  color:var(--brand);
  font-family:'Manrope',sans-serif;
  margin-bottom:1.8rem;
  transition:.2s;
}

.mc-reach-solo .mc-tel-xl:hover {
  color:#fff;
  transform:translateY(-2px);
}

.mc-reach-solo .mc-tel-xl svg {
  width:36px;
  height:36px;
  fill:currentColor;
}

.mc-stickybar {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:var(--ink);
  z-index:1000;
  box-shadow:0 -6px 24px rgba(0,0,0,.28);
  transform:translateY(110%);
  transition:transform .3s ease;
  border-top:3px solid var(--brand);
}

.mc-stickybar.show {
  transform:none;
}

.mc-stickybar.hide {
  transform:translateY(110%)!important;
}

.mc-search {
  display:flex;
  gap:.5rem;
  max-width:520px;
}

.mc-search input {
  flex:1;
  padding:.75em .9em;
  border:1.5px solid var(--border);
  border-radius:7px;
  font-family:inherit;
}

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */


.mc-foot {
  background:var(--ink);
  color:#A9B7C9;
  padding:3.5rem 0 1.5rem;
}

.mc-foot-grid {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:2.5rem;
}

.mc-foot h4 {
  color:#fff;
  font-size:1.05rem;
  margin-bottom:1.1rem;
}

.mc-foot a {
  color:#A9B7C9;
  display:block;
  margin-bottom:.55rem;
  font-size:.93rem;
  transition:.18s;
}

.mc-foot a:hover {
  color:var(--brand);
  padding-left:4px;
}

.mc-foot .mc-foot-brand {
  font-weight:800;
  font-size:1.2rem;
  color:#fff;
  margin-bottom:.6rem;
  font-family:'Manrope',sans-serif;
}

.mc-foot .mc-foot-brand span {
  color:var(--brand);
}

.mc-foot p {
  font-size:.92rem;
  margin-bottom:.55rem;
}

/* --------------------------------------------------------------------------
   UTILITIES & EDITOR STYLES
   -------------------------------------------------------------------------- */

:root {
  --brand:#f15a1b;
  --brand-dark:#d9430c;
  --brand-bright:#ff7a47;
  --amber:#f7a600;
  --ink:#17150f;
  --ink-2:#221f18;
  --paper:#fffdf8;
  --ivory:#f3efe5;
  --white:#ffffff;
  --text:#17150f;
  --muted:#706c62;
  --border:#dcd6c9;
  --green:#5e735a;
  --radius:6px;
  --radius-lg:10px;
  --shadow:0 6px 20px rgba(23,21,15,.06);
  --shadow-lg:0 14px 36px rgba(23,21,15,.12);
  }

.skip-link {
  position:absolute;
  left:-9999px;
  top:0;
  background:var(--brand);
  color:#fff;
  padding:.7em 1.2em;
  z-index:9999;
  font-weight:700;
  border-radius:0 0 8px 0;
}

.skip-link:focus {
  left:0;
}

a {
  text-decoration:none;
  color:inherit;
}

h1, h2, h3, h4 {
  font-family:'Manrope',-apple-system,Segoe UI,sans-serif;
  color:var(--ink);
  line-height:1.14;
  font-weight:800;
  letter-spacing:-.022em;
}

.mc-ivory {
  background:var(--ivory);
}

/* reveal */
.js .mc-fade {
  opacity:0;
  transform:translateY(26px);
  transition:opacity .6s ease,transform .6s ease;
}

.js .mc-fade.in {
  opacity:1;
  transform:none;
}

.mc-has-sub {
  position:relative;
}

.mc-has-sub>a::after {
  content:" ▾";
  font-size:.7em;
  color:var(--muted);
}

.mc-hero-note {
  position:absolute;
  right:2rem;
  bottom:1rem;
  z-index:3;
  font-size:.7rem;
  color:rgba(255,255,255,.35);
  letter-spacing:.05em;
}


.mc-hero-copy {
  max-width:600px;
}

.mc-hero-cta {
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}

.mc-trust {
  display:flex;
  align-items:center;
  gap:1.5rem;
  flex-wrap:wrap;
  font-size:.95rem;
  color:#D6DFEA;
}

.mc-trust .mc-stars {
  color:var(--amber);
  font-size:1.1rem;
  letter-spacing:1px;
}

.mc-trust .b {
  display:flex;
  align-items:center;
  gap:.4em;
  font-weight:600;
}

.mc-trust .b svg {
  width:18px;
  height:18px;
  fill:var(--brand);
}

.mc-trustbar {
  background:#fff;
  border-bottom:1px solid var(--border);
  padding:1.1rem 0;
}

.mc-trustbar-row {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}

.mc-trustbar-item {
  display:flex;
  align-items:center;
  gap:.7em;
  font-weight:700;
  color:var(--ink);
  font-size:.97rem;
}

.mc-trustbar-item .mc-ic {
  width:44px;
  height:44px;
  background:var(--ivory);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.mc-trustbar-item .mc-ic svg {
  width:22px;
  height:22px;
  fill:var(--brand);
}

.mc-scard {
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:.25s;
  text-align:center;
  overflow:hidden;
  position:relative;
}

.mc-scard:hover {
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
}

.mc-scard .mc-scard-img {
  height:180px;
  background:linear-gradient(135deg,#17150f,#221f18);
  overflow:hidden;
  position:relative;
}

.mc-scard .mc-scard-img {
  position:relative;
  background:#17150f;
}

.mc-scard .mc-scard-body {
  padding:1.6rem 1.6rem 2rem;
}

.mc-scard .mc-badge {
  width:64px;
  height:64px;
  background:var(--brand);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:-52px auto 1rem;
  transition:.25s;
  position:relative;
  z-index:2;
  border:4px solid #fff;
  box-shadow:var(--shadow);
}

.mc-scard:hover .mc-badge {
  background:var(--ink);
}

.mc-scard .mc-badge svg {
  width:30px;
  height:30px;
  fill:#fff;
  transition:.25s;
}

.mc-scard:hover .mc-badge svg {
  fill:var(--brand);
}

.mc-scard h3 {
  font-size:1.2rem;
  margin-bottom:.5rem;
}

.mc-scard p {
  color:var(--muted);
  font-size:.95rem;
  margin-bottom:1rem;
  text-align:left;
}

.mc-scard .mc-more {
  color:var(--brand);
  font-weight:700;
  font-size:.93rem;
}

.mc-scard .mc-more:hover {
  text-decoration:underline;
}

.mc-story-tile {
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  width:100%;
  height:420px;
  background:linear-gradient(135deg,#17150f,#2c2820);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
}

.mc-story-tile svg {
  width:76px;
  height:76px;
  fill:rgba(255,255,255,.9);
}

.mc-story-tile span {
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  font-weight:700;
}

.mc-checks {
  margin:1.4rem 0;
}

.mc-checks li {
  list-style:none;
  display:flex;
  gap:.7em;
  align-items:flex-start;
  font-size:1.05rem;
  margin-bottom:.8rem;
  font-weight:600;
  color:var(--text);
}

.mc-checks svg {
  width:24px;
  height:24px;
  fill:var(--brand);
  flex-shrink:0;
}

.mc-figures-band {
  background:var(--ink);
  color:#fff;
}

.mc-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
  position:relative;
}


.mc-answer {
  background:linear-gradient(120deg,#f3efe5,#f3efe5);
  border-radius:var(--radius);
  padding:2.6rem;
  text-align:center;
  box-shadow:var(--shadow);
}

.mc-answer h2 {
  font-size:1.7rem;
  margin-bottom:.6rem;
}

.mc-answer p {
  font-size:1.08rem;
  color:var(--text);
  max-width:72ch;
  margin:0 auto 1rem;
}

.mc-answer .mc-answer-note {
  font-size:.88rem;
  color:var(--muted);
  margin-bottom:1.4rem;
}

.mc-job {
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.25s;
}

.mc-job:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}

.mc-job .mc-iw {
  height:190px;
  overflow:hidden;
  background:#17150f;
}

.mc-job .mc-iw .mc-tile-ico {
  width:58px;
  height:58px;
  fill:rgba(255,255,255,.9);
  transition:.35s;
}

.mc-job:hover .mc-iw .mc-tile-ico {
  transform:scale(1.1);
  fill:var(--brand);
}

.mc-job .mc-iw .mc-tile-lbl {
  position:absolute;
  bottom:.7rem;
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  font-weight:700;
}

.mc-job .b {
  padding:1.4rem;
}

.mc-job .mc-more {
  color:var(--brand);
  font-weight:700;
  font-size:.9rem;
  display:inline-block;
  margin-top:.6rem;
}

.mc-job .mc-more:hover {
  text-decoration:underline;
}

.mc-job .mc-loc {
  display:inline-flex;
  align-items:center;
  gap:.35em;
  color:var(--brand);
  font-weight:800;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.mc-job h4 {
  font-size:1.12rem;
  margin:.35rem 0;
}

.mc-job p {
  font-size:.94rem;
  color:var(--muted);
}

.mc-probs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
}

.mc-prob {
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.4rem 1.5rem;
  border-left:3px solid var(--brand);
  transition:.22s;
}

.mc-prob:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
}

.mc-prob h4 {
  font-size:1.04rem;
  margin-bottom:.35rem;
  color:var(--ink);
}

.mc-prob p {
  font-size:.93rem;
  color:var(--muted);
}

.mc-rates-note {
  padding:1.1rem 1.3rem;
  font-size:.88rem;
  color:var(--muted);
  background:var(--ivory);
}

.mc-place-card {
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:.25s;
  position:relative;
  overflow:hidden;
}

.mc-place-card::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--ink),var(--brand));
  opacity:0;
  transition:.25s;
}

.mc-place-card:hover::after {
  opacity:1;
}

.mc-place-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}

.mc-place-card h3 {
  font-size:1.18rem;
  margin-bottom:.4rem;
  display:flex;
  align-items:center;
  gap:.4em;
}

.mc-place-card h3 svg {
  width:20px;
  height:20px;
  fill:var(--brand);
}

.mc-place-card p {
  font-size:.95rem;
  color:var(--muted);
  margin-bottom:.6rem;
}

.mc-place-card a {
  color:var(--brand);
  font-weight:700;
  font-size:.9rem;
}

.mc-band-actions {
  display:flex;
  gap:.9rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:2.4rem;
}

.mc-faq {
  max-width:840px;
  margin:0 auto;
}

.mc-faq details {
  background:#fff;
  border-radius:10px;
  box-shadow:var(--shadow);
  margin-bottom:.8rem;
  overflow:hidden;
}

.mc-faq summary {
  padding:1.2rem 1.4rem;
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:1.05rem;
}

.mc-faq summary::-webkit-details-marker {
  display:none;
}

.mc-faq summary::after {
  content:"+";
  color:var(--brand);
  font-size:1.5rem;
  font-weight:400;
}

.mc-faq details[open] summary::after {
  content:"−";
}

.mc-faq .a {
  padding:0 1.4rem 1.3rem;
  color:var(--muted);
}

.mc-copy {
  max-width:840px;
  margin:0 auto;
  font-size:1.07rem;
}

.mc-copy h2 {
  font-size:1.8rem;
  margin:2rem 0 .6rem;
}

.mc-copy h3 {
  font-size:1.3rem;
  margin:1.6rem 0 .5rem;
}

.mc-copy p {
  margin-bottom:1rem;
  color:#2A333F;
}

.mc-reach-page {
  background:var(--ink);
  color:#fff;
}

.mc-reach-page h2 {
  color:#fff;
  font-size:2.3rem;
}

.mc-reach-page .mc-hours {
  color:#C3D0E0;
}

.mc-cinfo {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
  margin-bottom:2rem;
  text-align:left;
}

.mc-cinfo-item {
  background:rgba(255,255,255,.06);
  border-radius:10px;
  padding:1.1rem 1.3rem;
  border-left:3px solid var(--brand);
}

.mc-cinfo-item strong {
  display:block;
  color:#fff;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:.3rem;
}

.mc-cinfo-item span {
  color:#C3D0E0;
  font-size:.93rem;
}

.mc-bar-row {
  max-width:1240px;
  margin:0 auto;
  padding:.8rem 2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}

.mc-bar-msg {
  display:flex;
  align-items:center;
  gap:1rem;
  min-width:0;
}

.mc-bar-pill {
  background:var(--brand);
  color:#fff;
  font-weight:800;
  font-size:.68rem;
  letter-spacing:.1em;
  padding:.4em .8em;
  border-radius:5px;
  white-space:nowrap;
}

.mc-bar-txt strong {
  display:block;
  color:#fff;
  font-size:.98rem;
  font-weight:700;
  line-height:1.3;
}

.mc-bar-txt span {
  color:#9FB1C6;
  font-size:.85rem;
}

.mc-bar-close {
  background:none;
  border:0;
  color:#7C8DA3;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  padding:.2rem .4rem;
  transition:.2s;
}

.mc-bar-close:hover {
  color:#fff;
}

.mc-foot-bottom {
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:2.5rem;
  padding-top:1.4rem;
  text-align:center;
  font-size:.85rem;
  color:#8494A8;
}

.mc-subhero-row {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:2.2rem;
  align-items:start;
  padding:1.5rem 0 2.1rem;
}


.mc-crumbs {
  font-size:.84rem;
  color:#B9C7D9;
  margin-bottom:.7rem;
}

.mc-crumbs a {
  color:#B9C7D9;
}

.mc-crumbs a:hover {
  color:var(--brand);
}

.mc-crumbs span {
  color:#fff;
}

.mc-case {
  background:var(--ivory);
  border-left:4px solid var(--brand);
  border-radius:0 10px 10px 0;
  padding:1.4rem 1.6rem;
  margin:1.6rem 0;
}

.mc-case h3 {
  margin-top:0;
  font-size:1.1rem;
}

.mc-ilinks {
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:1.4rem 1.6rem;
  margin:1.8rem 0;
}

.mc-ilinks p {
  margin-bottom:.6rem;
}

.mc-ilinks a {
  color:var(--brand);
  font-weight:700;
}

.mc-ilinks a:hover {
  text-decoration:underline;
}

.mc-mapcap {
  font-size:.88rem;
  color:var(--muted);
  text-align:center;
  margin-top:.8rem;
  font-style:italic;
}

.mc-badges {
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin-top:1rem;
}

.mc-badge-txt {
  background:var(--ivory);
  border:1px solid var(--border);
  border-radius:999px;
  padding:.4em 1em;
  font-size:.86rem;
  font-weight:700;
  color:var(--ink);
}

.mc-rel-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
  margin-top:1.6rem;
}


.mc-rel {
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:1.2rem 1.3rem;
  transition:.22s;
}

.mc-rel:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:var(--brand);
}

.mc-rel h4 {
  font-size:1rem;
  color:var(--ink);
  margin-bottom:.25rem;
}

.mc-rel span {
  font-size:.88rem;
  color:var(--brand);
  font-weight:700;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.mc-hp {
  position:absolute;
  left:-9999px;
}

.mc-form-ok {
  background:#E6F5EC;
  border:1px solid #9AD5B4;
  color:#0F6B3F;
  padding:.7em .9em;
  border-radius:7px;
  font-size:.9rem;
  margin-bottom:.7rem;
}

.mc-form-err {
  background:#FDEBE7;
  border:1px solid #F0A995;
  color:#9B3218;
  padding:.7em .9em;
  border-radius:7px;
  font-size:.9rem;
  margin-bottom:.7rem;
}

.menu-item-has-children>a::after {
  content:" ▾";
  font-size:.7em;
  color:var(--muted);
}


.mc-job .b h4 a {
  color:var(--ink);
}

.mc-job .b h4 a:hover {
  color:var(--brand);
}

.mc-pagination, .mc-menu-links {
  display:flex;
  gap:.5rem;
  justify-content:center;
  flex-wrap:wrap;
}

.page-numbers {
  background:#fff;
  border:1px solid var(--border);
  border-radius:7px;
  padding:.55em .95em;
  font-weight:700;
  color:var(--ink);
}

.page-numbers.current, .page-numbers:hover {
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}

.mc-callout {
  background:#F3F7FC;
  border:1px solid #DCE7F3;
  border-left:4px solid var(--brand);
  border-radius:10px;
  padding:1.1rem 1.3rem;
  margin:1.7rem 0;
  color:#26333f;
}

.mc-callout .mc-lab {
  display:inline-block;
  font-size:.71rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--brand);
  margin-bottom:.35rem;
}

.mc-callout p {
  margin:0 0 .5rem;
}

.mc-callout p:last-child {
  margin:0;
}

.mc-callout strong {
  color:#17150f;
}

.mc-tip {
  position:relative;
  background:#F0F9F2;
  border:1px solid #CDE9D3;
  border-left:4px solid #2E9E52;
  border-radius:10px;
  padding:1.1rem 1.3rem 1.1rem 3.1rem;
  margin:1.7rem 0;
  color:#22402c;
}

.mc-tip::before {
  content:"\1F4A1";
  position:absolute;
  left:1rem;
  top:.95rem;
  font-size:1.15rem;
}

.mc-tip .mc-lab {
  display:inline-block;
  font-size:.71rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#1c6b38;
  margin-bottom:.3rem;
}

.mc-tip p {
  margin:0;
}

.mc-tip strong {
  color:#1c6b38;
}

.mc-midcta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.3rem;
  flex-wrap:wrap;
  background:linear-gradient(120deg,#17150f,#143f74);
  color:#fff;
  border-radius:14px;
  padding:1.4rem 1.7rem;
  margin:2.1rem 0;
  box-shadow:0 14px 34px rgba(11,37,69,.26);
}

.mc-midcta .mc-midcta-txt {
  flex:1 1 300px;
}

.mc-midcta .mc-midcta-txt strong {
  display:block;
  font-size:1.2rem;
  line-height:1.25;
  margin-bottom:.2rem;
  color:#fff;
}

.mc-midcta .mc-midcta-txt span {
  color:#C9D6E8;
  font-size:.95rem;
}


/* Quote form: preferred-contact radios + light-background variant */
.mc-pref {
  border:0;
  padding:0;
  margin:0 0 .5rem;
  display:flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap;
}

.mc-pref-lbl {
  font-size:.9rem;
  font-weight:700;
  color:var(--text);
}

.mc-pref label {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.92rem;
  color:var(--text);
  cursor:pointer;
}

.mc-pref input[type=radio] {
  width:auto;
  margin:0;
  accent-color:var(--brand);
}

/* In-hero trust badges (above the fold, dark bg) */
.mc-hero-badges {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem .55rem;
  margin:1rem 0 0;
  padding:0;
}

.mc-hero-badges li {
  display:flex;
  align-items:center;
  gap:.4em;
  font-size:.82rem;
  font-weight:600;
  color:#EAF1F8;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  padding:.34em .72em;
  border-radius:999px;
  white-space:nowrap;
}

.mc-hero-badges li::before {
  content:"\2713";
  color:var(--brand);
  font-weight:800;
  font-size:.9em;
}

.quickfacts {
  width:100%;
  border-collapse:collapse;
  margin:1.5rem 0;
  font-size:.95rem;
}

.quickfacts th, .quickfacts td {
  padding:.7rem .9rem;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top;
}

.quickfacts th {
  width:38%;
  font-family:'Manrope',sans-serif;
  font-weight:700;
  color:var(--ink);
  background:var(--ivory);
}

.quickfacts caption {
  caption-side:top;
  text-align:left;
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:1.15rem;
  color:var(--ink);
  padding-bottom:.5rem;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion:reduce) {
  .js .mc-fade {
    opacity:1;
    transform:none;
    transition:none;
  }
}

@media(max-width:1024px) {
  .mc-menu {
    position:fixed;
    inset:0 0 0 auto;
    width:min(86vw,360px);
    background:var(--paper);
    box-shadow:-14px 0 40px rgba(23,21,15,.22);
    padding:5rem 0 2rem;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    transform:translateX(100%);
    transition:transform .28s ease;
    display:block;
    z-index:1200;
    visibility:hidden;
  }
  .mc-menu.open {
    transform:none;
    visibility:visible;
  }
  .mc-menu ul {
    flex-direction:column;
    gap:0;
    align-items:stretch;
  }
  .mc-menu>ul>li {
    border-bottom:1px solid var(--border);
  }
  .mc-menu>ul>li>a {
    display:block;
    padding:.9em 2rem;
  }
  .mc-sub {
    position:static;
    opacity:1;
    visibility:visible;
    box-shadow:none;
    border:0;
    padding:0 0 .5rem 1rem;
    display:none;
  }
  .mc-has-sub:hover .mc-sub {
    display:block;
    top:auto;
  }
  .mc-burger {
    display:flex;
  }
  .mc-top-tel {
    display:none;
  }
}


@media(max-width:860px) {
  .mc-hero-row, .mc-story, .mc-reach-row, .mc-two {
    grid-template-columns:1fr!important;
  }
  .mc-grid3, .mc-cards, .mc-quotes, .mc-places, .mc-figures, .mc-foot-grid {
    grid-template-columns:1fr!important;
  }
  .mc-hero h1 {
    font-size:2.1rem;
  }
  .btn {
    width:100%;
  }
  .mc-band-actions .btn {
    width:auto;
  }
  body {
    padding-bottom:60px;
  }
}


@media(max-width:640px) {
  .mc-figures, .mc-grid3 {
    grid-template-columns:1fr!important;
  }
  .mc-shell {
    padding:0 1.1rem;
  }
}

@media(max-width:900px) {
  .mc-hero-row {
    grid-template-columns:1fr;
  }
}

@media(max-width:860px) {
  .mc-steps {
    grid-template-columns:1fr;
    gap:3rem;
  }
}

@media(max-width:860px) {
  .mc-probs {
    grid-template-columns:1fr;
  }
}

@media(max-width:760px) {
  .mc-rates thead {
    display:none;
  }
  .mc-rates tr {
    display:block;
    border-bottom:2px solid var(--border);
    padding:.6rem 0;
  }
  .mc-rates td {
    display:block;
    border:0;
    padding:.35rem 1.3rem;
  }
  .mc-rates td:nth-child(2) {
    font-size:1.1rem;
  }
}

@media(max-width:760px) {
  .mc-cinfo {
    grid-template-columns:1fr;
  }
  .mc-reach-solo .mc-tel-xl {
    font-size:1.7rem;
  }
}

@media(max-width:860px) {
  .mc-bar-row {
    padding:0;
    gap:0;
  }
  .mc-bar-msg {
    display:flex;
    align-items:center;
    gap:.55rem;
    min-width:0;
  }
  .mc-bar-close {
    display:none;
  }
  .mc-bar-btn {
    width:100%;
    justify-content:center;
    border-radius:0;
    padding:1em;
    box-shadow:none;
    font-size:1.05rem;
  }
  body {
    padding-bottom:58px;
  }
}

@media(max-width:900px) {
  .mc-subhero-row {
    grid-template-columns:1fr;
  }
}

@media(max-width:860px) {
  .mc-rel-grid {
    grid-template-columns:1fr;
  }
}

@media(max-width:1024px) {
  .mc-menu .sub-menu {
    position:static;
    opacity:1;
    visibility:visible;
    box-shadow:none;
    padding:0 0 .5rem 1rem;
    display:none;
  }
  /* Touch devices have no hover: submenus open via a class the JS toggles. */
    .mc-menu li:hover>.sub-menu {
    display:none;
  }
  .mc-menu li.open>.sub-menu {
    display:block;
    top:auto;
  }
  .mc-menu .menu-item-has-children>a::after {
    display:inline-block;
    transition:transform .2s;
  }
  .mc-menu li.open>a::after {
    transform:rotate(180deg);
  }
  .mc-menu .sub-menu li a {
    padding:.7em 2rem;
    font-size:.95rem;
  }
}

@media(max-width:560px) {
  .mc-midcta {
    flex-direction:column;
    align-items:stretch;
    text-align:center;
  }
  .mc-midcta .btn {
    width:100%;
  }
}

@media(max-width:600px) {
  .mc-hero-badges {
    gap:.4rem;
  }
  .mc-hero-badges li {
    font-size:.75rem;
    padding:.3em .6em;
  }
}


/* --------------------------------------------------------------------------
   MOBILE OVERFLOW GUARDS
   -------------------------------------------------------------------------- */
html,body {
  overflow-x:hidden;
  max-width:100%;
}
.mc-rates table {
  min-width:560px;
}
@media (max-width:700px) {
  .mc-rates {
    border-radius:var(--radius);
  }
  .mc-rates::after {
    content:"Swipe the table sideways to see all three columns \2192";
    display:block;
    position:sticky;
    left:0;
    padding:.55rem .9rem;
    font-size:.8rem;
    color:var(--muted);
    background:var(--ivory);
    border-top:1px solid var(--border);
  }
  .mc-rates td,
  .mc-rates thead th {
    white-space:nowrap;
  }
  .mc-rates td:last-child {
    white-space:normal;
    min-width:230px;
  }
  .mc-stickybar {
    font-size:.95rem;
  }
  img, table, iframe, pre {
    max-width:100%;
  }
}


/* --------------------------------------------------------------------------
   MOBILE MENU — panel, backdrop, animated burger, body scroll lock
   -------------------------------------------------------------------------- */
@media (max-width:1024px) {
  .mc-scrim {
    position:fixed;
    inset:0;
    background:rgba(23,21,15,.5);
    opacity:0;
    visibility:hidden;
    transition:opacity .28s ease;
    z-index:1150;
  }
  .mc-scrim.show {
    opacity:1;
    visibility:visible;
  }
  body.mc-locked {
    overflow:hidden;
  }
  .mc-burger {
    position:relative;
    z-index:1300;
  }
  .mc-burger span {
    transition:transform .25s ease, opacity .2s ease;
  }
  .mc-burger.open span:nth-child(1) {
    transform:translateY(7.5px) rotate(45deg);
  }
  .mc-burger.open span:nth-child(2) {
    opacity:0;
  }
  .mc-burger.open span:nth-child(3) {
    transform:translateY(-7.5px) rotate(-45deg);
  }
  .mc-menu-close {
    position:absolute;
    top:1.1rem;
    right:1.15rem;
    width:40px;
    height:40px;
    border:0;
    border-radius:var(--radius);
    background:var(--ivory);
    color:var(--ink);
    font-size:1.4rem;
    line-height:1;
    cursor:pointer;
  }
}
@media (min-width:1025px) {
  .mc-scrim, .mc-menu-close { display:none; }
}


/* --------------------------------------------------------------------------
   HEADER PHONE — visible hover affordance (desktop)
   -------------------------------------------------------------------------- */
.mc-top-tel {
  padding:.35rem .55rem;
  border-radius:var(--radius);
  transition:color .2s ease, background .2s ease, transform .2s ease;
}
.mc-top-tel:hover,
.mc-top-tel:focus-visible {
  color:var(--brand);
  background:#fdeee6;
  transform:translateY(-1px);
}
.mc-top-tel:hover .mc-tel-ico {
  background:var(--brand);
}
.mc-top-tel:hover .mc-tel-ico svg {
  fill:#fff;
}
.mc-top-tel .mc-tel-ico,
.mc-top-tel .mc-tel-ico svg {
  transition:background .2s ease, fill .2s ease;
}

/* --------------------------------------------------------------------------
   STICKY CALL BAR — mobile now carries the same message as desktop
   -------------------------------------------------------------------------- */
@media (max-width:860px) {
  .mc-bar-row {
    display:flex;
    align-items:center;
    gap:.6rem;
    padding:.5rem .8rem;
  }
  .mc-bar-pill {
    display:none;
  }
  .mc-bar-txt {
    min-width:0;
  }
  .mc-bar-txt strong {
    display:block;
    font-size:.8rem;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mc-bar-txt span {
    display:block;
    font-size:.7rem;
    line-height:1.25;
    opacity:.82;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mc-bar-btn {
    flex:0 0 auto;
    margin-left:auto;
    white-space:nowrap;
    font-size:.95rem;
    padding:.6em 1em;
  }
}
@media (max-width:400px) {
  .mc-bar-txt span { display:none; }
  .mc-bar-btn { font-size:.9rem; padding:.55em .85em; }
}

/* --------------------------------------------------------------------------
   SUBTLE LIFT ON INTERACTIVE ELEMENTS
   Small translate + shadow. Disabled for reduced-motion and on touch.
   -------------------------------------------------------------------------- */
@media (hover:hover) and (pointer:fine) {
  .mc-scard,
  .mc-place-card,
  .mc-quote,
  .mc-story-tile,
  .mc-figure,
  .mc-step,
  .mc-job,
  .mc-prob,
  .mc-rel-grid > a,
  .mc-cards > article,
  .mc-grid3 > div {
    transition:transform .22s ease, box-shadow .22s ease;
    will-change:transform;
  }
  .mc-scard:hover,
  .mc-place-card:hover,
  .mc-quote:hover,
  .mc-story-tile:hover,
  .mc-figure:hover,
  .mc-step:hover,
  .mc-job:hover,
  .mc-prob:hover,
  .mc-rel-grid > a:hover,
  .mc-cards > article:hover,
  .mc-grid3 > div:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg);
  }
  .btn {
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .btn:hover {
    transform:translateY(-2px);
  }
  .btn:active {
    transform:translateY(0);
  }
  .mc-rates tbody tr {
    transition:background .18s ease;
  }
}
@media (prefers-reduced-motion:reduce) {
  * {
    transition:none !important;
    animation:none !important;
  }
  .mc-scard:hover, .mc-place-card:hover, .mc-quote:hover,
  .mc-story-tile:hover, .mc-figure:hover, .mc-step:hover,
  .btn:hover {
    transform:none !important;
  }
}

/* --------------------------------------------------------------------------
   MOBILE SUBMENU — dedicated toggle so parent links always navigate
   -------------------------------------------------------------------------- */
@media (max-width:1024px) {
  .mc-menu .menu-item-has-children > a {
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .mc-menu .menu-item-has-children > a::after {
    content:none;
  }
  .mc-subtoggle {
    position:absolute;
    right:0;
    top:0;
    width:58px;
    height:48px;
    border:0;
    background:none;
    color:var(--muted);
    font-size:1.5rem;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .2s ease, color .2s ease;
  }
  .mc-menu > ul > li {
    position:relative;
  }
  .mc-menu li.open > .mc-subtoggle {
    transform:rotate(180deg);
    color:var(--brand);
  }
  .mc-menu .sub-menu {
    display:none;
  }
  .mc-menu li.open > .sub-menu {
    display:block;
  }
}
