/*
Theme Name: Red Mesa Theme_v1.0
Theme URI: https://redmesahomeauto.com
Author: Red Mesa Home Services & Automotive Recovery
Description: Gutenberg-editable Red Mesa theme for property, automotive, appliance, electronics, website, and 3D printing services in Sierra County, New Mexico.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary — for Red Mesa Home Services & Automotive Recovery use only.
Text Domain: red-mesa
*/

:root {
  --bg: #10100f;
  --surface: #191917;
  --surface-raised: #22211e;
  --surface-alt: #171715;
  --surface-warm: #251a13;
  --ink: #f6f0e8;
  --ink-soft: #bdb5aa;
  --ink-muted: #88827a;
  --rust: #f05a1a;
  --orange: #f05a1a;
  --orange-deep: #c93c0d;
  --gold: #ffb020;
  --steel: #9aa1a5;
  --green: #96aa3c;
	--turquoise: #96aa3c;
	--turquoise-dark: #6f7f29;
  --line: rgba(255,255,255,.11);
  --line-bright: rgba(240,90,26,.42);
  --shadow: 0 24px 70px rgba(0,0,0,.42);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); }
.app {
  min-height: 100vh;
  overflow: hidden;
  background:
	linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
	linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px),
    radial-gradient(circle at 88% 7%, rgba(240,90,26,.12), transparent 24rem),
    radial-gradient(circle at 8% 34%, rgba(255,176,32,.055), transparent 28rem),
    var(--bg);
	background-size: 48px 48px, 48px 48px, auto, auto, auto;
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  line-height: 1.6;
}
h1, h2, h3, h4 {
  margin: 0 0 12px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  line-height: .98;
  letter-spacing: .015em;
}
h1 { font-size: clamp(3.5rem, 7.4vw, 6.8rem); text-transform: uppercase; }
h2 { font-size: clamp(2.4rem, 4.2vw, 4rem); text-transform: uppercase; }
h3 { font-size: 1.55rem; }
h4 { font-size: 1.22rem; }
p { margin: 0 0 12px; color: var(--ink-soft); }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
a:focus-visible,
button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.mono { font-family: 'IBM Plex Mono', monospace; }
.eyebrow {
  margin-bottom: 16px;
  color: var(--gold);
  font-family: 'IBM Plex Mono', monospace;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.eyebrow::before { content: ''; display: inline-block; width: 28px; height: 2px; margin: 0 10px 3px 0; background: var(--orange); }

/* Buttons */
.btn,
.redmesa-page-content .wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  gap: 8px;
  padding: 12px 21px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.03rem;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover,
.redmesa-page-content .wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.btn:focus-visible,
.redmesa-page-content .wp-block-button .wp-block-button__link:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.btn--primary,
.redmesa-page-content .redmesa-button-primary .wp-block-button__link {
  color: #fff;
  background: linear-gradient(135deg, var(--orange), var(--orange-deep));
  box-shadow: 0 12px 30px rgba(240,90,26,.26), inset 0 1px rgba(255,255,255,.22);
}
.btn--primary:hover,
.redmesa-page-content .redmesa-button-primary .wp-block-button__link:hover { box-shadow: 0 16px 38px rgba(240,90,26,.34), inset 0 1px rgba(255,255,255,.22); }
.btn--secondary,
.redmesa-page-content .redmesa-button-secondary .wp-block-button__link {
  color: var(--ink);
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.19);
  box-shadow: inset 0 1px rgba(255,255,255,.07);
}
.btn--secondary:hover,
.redmesa-page-content .redmesa-button-secondary .wp-block-button__link:hover { background: rgba(255,255,255,.095); border-color: var(--gold); }
.btn--sm { min-height: 40px; padding: 9px 15px; font-size: .91rem; }

/* Utility bar and navigation */
.utilityBar { position: relative; z-index: 50; background: #090908; border-bottom: 1px solid rgba(255,176,32,.24); }
.utilityBar__inner { max-width: 1240px; min-height: 34px; margin: 0 auto; padding: 7px 26px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--ink-muted); font: 500 .68rem/1.35 'IBM Plex Mono', monospace; letter-spacing: .035em; text-transform: uppercase; }
.utilityBar__inner span,
.utilityBar__inner a { display: inline-flex; align-items: center; gap: 7px; }
.utilityBar__inner a { color: var(--ink); }
.nav { position: sticky; top: 0; z-index: 40; background: rgba(16,16,15,.9); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.nav__inner { max-width: 1240px; min-height: 78px; margin: 0 auto; padding: 9px 26px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.nav__logo { display: flex; align-items: center; min-width: 190px; padding: 0; background: none; border: 0; }
.nav__logo picture { display: block; line-height: 0; }
.nav__logoImg { display: block; width: auto; max-width: 250px; height: var(--redmesa-header-logo-height, 64px); object-fit: contain; filter: drop-shadow(0 4px 8px rgba(0,0,0,.45)); }
.nav__links { display: flex; align-items: center; gap: 3px; margin: 0; padding: 0; list-style: none; }
.nav__links li { margin: 0; }
.nav__link,
.nav__links a { position: relative; display: block; padding: 10px 9px; border-radius: 8px; color: var(--ink-soft); font-size: .82rem; font-weight: 600; white-space: nowrap; transition: color .18s ease, background .18s ease; }
.nav__link:hover,
.nav__links a:hover { color: var(--ink); background: rgba(255,255,255,.06); }
.nav__link.is-active,
.nav__links .current-menu-item > a,
.nav__links .current_page_item > a { color: var(--gold); }
.nav__link.is-active::after,
.nav__links .current-menu-item > a::after,
.nav__links .current_page_item > a::after { content: ''; position: absolute; left: 9px; right: 9px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--orange); }
.nav__actions { display: flex; align-items: center; gap: 10px; }
.nav__callLabel { display: none; }
.nav__burger { display: none; padding: 8px; color: var(--ink); background: none; border: 0; }
.nav__mobile { display: none; }

/* Hero */
.hero { position: relative; isolation: isolate; max-width: 1240px; min-height: 650px; margin: 0 auto; padding: 72px 26px 78px; display: grid; grid-template-columns: 1.04fr .96fr; gap: 44px; align-items: center; }
.hero::before { content: ''; position: absolute; z-index: -1; width: 560px; height: 560px; right: -90px; top: 25px; border-radius: 50%; background: radial-gradient(circle, rgba(240,90,26,.22), rgba(255,176,32,.06) 45%, transparent 70%); filter: blur(3px); }
.hero__text { position: relative; z-index: 2; }
.hero__text h1 { max-width: 760px; text-shadow: 0 10px 34px rgba(0,0,0,.4); }
.hero__accent { color: var(--orange); background: linear-gradient(180deg, #ff8b28, var(--orange)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero__sub { max-width: 59ch; margin: 20px 0 22px; color: #d3cbc1; font-size: 1.08rem; line-height: 1.72; }
.heroPills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.heroPill { margin: 0; padding: 7px 10px; color: #d9d3ca; background: rgba(255,255,255,.055); border: 1px solid var(--line); border-radius: 999px; font: 600 .64rem/1 'IBM Plex Mono', monospace; letter-spacing: .08em; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 7px; }
.hero__actions > * { margin: 0 !important; }
.hero__chatLink { margin: 0; color: var(--gold); font-weight: 700; font-size: .87rem; }
.hero__chatLink a { color: var(--gold); }
.hero__availability { margin: 17px 0 0; color: var(--ink-muted); font-size: .69rem; letter-spacing: .03em; text-transform: uppercase; }
.hero__visual { position: relative; display: flex; align-items: center; justify-content: center; }
.hero__visual::before { content: ''; position: absolute; z-index: -1; width: 82%; aspect-ratio: 1; border: 1px solid rgba(255,176,32,.18); border-radius: 50%; box-shadow: 0 0 0 22px rgba(240,90,26,.025), 0 0 70px rgba(240,90,26,.12); animation: redmesa-ambient-pulse 7s ease-in-out infinite; }
.hero__visual::after { content: ''; position: absolute; z-index: -1; width: 78%; height: 28px; bottom: 4%; border-radius: 50%; background: rgba(0,0,0,.75); filter: blur(18px); }
.redmesa-site-logo { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
.redmesa-site-logo picture { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 100%; }
.hero__logoImg { display: block; width: min(100%, var(--redmesa-hero-logo-width, 430px)); max-height: 580px; object-fit: contain; filter: drop-shadow(0 24px 38px rgba(0,0,0,.55)) drop-shadow(0 0 26px rgba(240,90,26,.12)); transition: transform .3s ease; }
.heroAsset--originalBadge .hero__logoImg { width: min(90%, 390px); }
.hero__visual:hover .hero__logoImg { transform: translateY(-5px) rotate(.4deg); }

@keyframes redmesa-ambient-pulse {
  0%, 100% { opacity: .55; transform: scale(.97); }
  50% { opacity: 1; transform: scale(1.025); }
}

.mesa-divider { display: block; width: 100%; height: 62px; }
.mesa-block-divider { display: block; width: 100%; max-width: none !important; height: 64px !important; margin: 0 !important; background: linear-gradient(to bottom, transparent 0 52%, var(--surface-alt) 52% 100%); clip-path: polygon(0 58%, 7% 58%, 12% 30%, 17% 58%, 27% 58%, 33% 4%, 39% 58%, 52% 58%, 57% 37%, 63% 58%, 75% 58%, 82% 15%, 88% 58%, 100% 58%, 100% 100%, 0 100%); border-bottom: 2px solid rgba(240,90,26,.2); }

/* Shared Gutenberg section shells */
.redmesa-page-content > * { margin-block: 0; }
.redmesa-page-content .wp-block-columns { margin-bottom: 0; }
.redmesa-page-content .wp-block-group { box-sizing: border-box; }
.section { max-width: 1240px; margin: 0 auto; padding: 92px 26px; }
.section--narrow { max-width: 850px; }
.section--alt { max-width: none; background: linear-gradient(180deg, var(--surface-alt), #131311); border-block: 1px solid var(--line); }
.section--alt > * { max-width: 1188px; margin-inline: auto; }
.section__lede { max-width: 66ch; margin: 0 0 34px; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.75; }
.section h2 { margin-bottom: 18px; }

/* Trust cards */
.trustSection { position: relative; padding-top: 72px; }
.trustStrip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 30px; }
.trustCard { position: relative; min-height: 210px; padding: 25px; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: inset 0 1px rgba(255,255,255,.06); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.trustCard::after { content: ''; position: absolute; right: -30px; bottom: -40px; width: 110px; height: 110px; border-radius: 50%; background: rgba(240,90,26,.08); }
.trustCard:hover { transform: translateY(-5px); border-color: var(--line-bright); background: linear-gradient(145deg, rgba(240,90,26,.11), rgba(255,255,255,.03)); }
.trustCard h3 { margin: 14px 0 7px; font-size: 1.35rem; text-transform: uppercase; }
.trustCard p { margin: 0; font-size: .87rem; line-height: 1.65; }
.redmesa-block-icon { margin-bottom: 9px; line-height: 0; }
.trustCard .redmesa-block-icon { width: 42px; height: 42px; margin: 0; display: grid; place-items: center; color: var(--orange); background: rgba(240,90,26,.12); border: 1px solid rgba(240,90,26,.28); border-radius: 11px; }

/* Ticket/card motif */
.ticket { position: relative; padding: 24px; background: linear-gradient(150deg, var(--surface-raised), #171715); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.055); }
.redmesa-page-content .ticket::before,
.redmesa-page-content .ticket::after { content: ''; position: absolute; width: 16px; height: 16px; top: 50%; border-radius: 50%; background: var(--bg); transform: translateY(-50%); }
.redmesa-page-content .ticket::before { left: -9px; }
.redmesa-page-content .ticket::after { right: -9px; }
.section--alt .ticket::before,
.section--alt .ticket::after { background: var(--surface-alt); }

/* Services */
.serviceGrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 28px; }
.serviceGrid--wide { grid-template-columns: repeat(2, 1fr); gap: 20px; }
.serviceCard { min-width: 0; border-top: 3px solid var(--orange); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.serviceCard:nth-child(2) { border-top-color: var(--gold); }
.serviceCard:nth-child(3) { border-top-color: var(--green); }
.serviceCard:nth-child(4) { border-top-color: var(--steel); }
.serviceCard:nth-child(5) { border-top-color: #d56b36; }
.serviceCard:hover { z-index: 2; transform: translateY(-7px); border-color: rgba(240,90,26,.55); box-shadow: 0 24px 56px rgba(0,0,0,.35); }
.serviceCard h3 { margin: 13px 0 3px; font-size: 1.32rem; line-height: 1.06; text-transform: uppercase; }
.ticket__tagline { margin-bottom: 14px; color: var(--gold); font: 500 .65rem/1.4 'IBM Plex Mono', monospace; letter-spacing: .035em; text-transform: uppercase; }
.serviceCard ul { margin: 0 0 16px; padding-left: 18px; color: var(--ink-soft); font-size: .82rem; }
.serviceCard li { margin-bottom: 4px; }
.ticket__more { margin: 0; font-size: .78rem; font-weight: 700; }
.ticket__more a { color: var(--gold); }
.serviceCard__fullList { margin: 15px 0 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 8px; color: var(--ink-soft); list-style: none; }
.serviceCard__fullList li { display: flex; align-items: flex-start; gap: 9px; margin: 0; }
.serviceCard__fullList li::before { content: '✓'; flex: 0 0 auto; color: var(--orange); font-weight: 800; }

/* Process */
.stepGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
.stepCard { position: relative; min-height: 230px; padding: 30px; overflow: hidden; background: #1c1b19; border: 1px solid var(--line); border-radius: var(--radius); }
.stepCard::after { content: ''; position: absolute; top: 0; left: 0; width: 58px; height: 3px; background: linear-gradient(90deg, var(--orange), var(--gold)); }
.stepCard__num { display: block; margin-bottom: 38px; color: var(--orange); font-size: 2.1rem; font-weight: 600; letter-spacing: -.05em; }
.stepCard h4 { font-size: 1.55rem; text-transform: uppercase; }
.stepCard p:last-child { margin: 0; font-size: .94rem; line-height: 1.68; }

/* Pricing preview */
.pricingPreview { display: grid; grid-template-columns: .86fr 1.14fr; gap: 50px; align-items: center; }
.pricingPreview__intro .redmesa-buttons { margin-top: 22px; }
.priceMiniGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.priceMiniCard { min-height: 190px; padding: 24px 18px; display: flex; flex-direction: column; justify-content: center; text-align: center; background: linear-gradient(160deg, rgba(240,90,26,.15), rgba(255,255,255,.035)); border: 1px solid rgba(240,90,26,.27); border-radius: var(--radius); }
.priceMiniCard:nth-child(2) { transform: translateY(-14px); border-color: rgba(255,176,32,.38); }
.priceMiniCard__label { margin: 0 0 15px; color: var(--ink-muted); font-size: .63rem; letter-spacing: .1em; }
.priceMiniCard__price { margin: 0 0 9px; color: var(--gold); font-size: 2.8rem; text-transform: uppercase; }
.priceMiniCard__note { margin: 0; font-size: .78rem; }

/* CTAs */
.ctaBand { position: relative; max-width: 1188px; margin: 18px auto 90px; padding: 56px 30px; overflow: hidden; text-align: center; background: linear-gradient(125deg, #27170f, #191816 55%, #22201b); border: 1px solid rgba(240,90,26,.34); border-radius: 24px; box-shadow: var(--shadow); }
.ctaBand::before { content: ''; position: absolute; width: 270px; height: 270px; left: -100px; top: -130px; border-radius: 50%; background: rgba(240,90,26,.17); filter: blur(3px); }
.ctaBand h2 { position: relative; margin-bottom: 15px; }
.ctaBand__copy { position: relative; max-width: 56ch; margin: 0 auto 23px; }
.ctaBand .eyebrow { position: relative; }
.ctaBand .hero__actions { position: relative; justify-content: center; }
.ctaBand--tight { margin: 40px 0 0; padding: 38px 25px; border-radius: var(--radius); }
.ctaBand--tight h3 { margin-bottom: 18px; font-size: 1.9rem; text-transform: uppercase; }

/* About, contact, rates */
.aboutGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.aboutTicket h3 { margin-top: 8px; text-transform: uppercase; }
.aboutTicket ul { margin-top: 12px; }
.contactGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.contactGrid .aboutTicket { min-height: 260px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.contactGrid .redmesa-buttons { margin-top: auto; padding-top: 10px; }
.contactBig { display: inline-block; margin: 6px 0; color: var(--gold); font-family: 'Barlow Condensed', sans-serif; font-size: 1.85rem; font-weight: 800; }
.callbackPanel { scroll-margin-top: 120px; margin-top: 34px; padding: 34px; background: linear-gradient(145deg, rgba(240,90,26,.12), rgba(255,255,255,.035)); border: 1px solid rgba(240,90,26,.34); border-radius: var(--radius); box-shadow: 0 18px 46px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.055); }
.callbackPanel h2 { margin-bottom: 14px; }
.callbackPanel .section__lede { margin-bottom: 20px; }
.callbackPanel .redmesa-integration { margin-top: 18px; }
.ratesTicket { padding: 8px 24px; }
.rateRow { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0; border-bottom: 1px dashed rgba(255,255,255,.15); }
.rateRow:last-child { border-bottom: 0; }
.rateRow p { margin: 0; }
.rateRow strong,
.rateRow__value { color: var(--gold); font-family: 'Barlow Condensed', sans-serif; font-size: 1.2rem; }

/* Forms and integrations */
.bookForm { margin-top: 24px; display: flex; flex-direction: column; gap: 16px; }
.bookForm__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label { display: flex; flex-direction: column; gap: 6px; color: var(--ink); font-size: .84rem; font-weight: 600; }
.input,
.wpcf7-form input[type='text'],
.wpcf7-form input[type='tel'],
.wpcf7-form input[type='email'],
.wpcf7-form select,
.wpcf7-form textarea { width: 100%; padding: 12px 13px; color: var(--ink); background: #11110f; border: 1px solid rgba(255,255,255,.17); border-radius: 9px; font: .95rem 'Inter', sans-serif; }
.input:focus,
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 3px rgba(240,90,26,.12); }
.wpcf7-form input[type='submit'] { width: 100%; padding: 13px 20px; color: #fff; background: linear-gradient(135deg, var(--orange), var(--orange-deep)); border: 0; border-radius: 10px; font: 800 1rem 'Barlow Condensed', sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.wpcf7-form p { margin-bottom: 14px; }
.wpcf7-not-valid-tip,
.modal__err { color: #ff8560; font-size: .82rem; }
.wpcf7-response-output { padding: 11px 14px !important; border-radius: 9px; font-size: .88rem; }
.pluginSlot,
.redmesa-integration { margin-top: 22px; }
.pluginSlot a { color: var(--gold); font-weight: 700; }
.pluginSlot__admin { margin-top: 15px; padding: 11px 13px; color: #f9e7bd; background: rgba(255,176,32,.1); border: 1px solid rgba(255,176,32,.26); border-radius: 9px; font-size: .82rem; }
.pluginSlot__notice { margin-top: 18px; padding: 14px 16px; color: var(--ink-soft); background: rgba(240,90,26,.08); border-left: 3px solid var(--orange); border-radius: 0 9px 9px 0; font-size: .88rem; }
.policyTicket { margin-top: 16px; }
.policyTicket h3 { margin-bottom: 8px; color: var(--gold); text-transform: uppercase; }
.policyTicket p { margin: 0; }

/* Gutenberg layout details */
.redmesa-page-content .redmesa-buttons { margin: 0; }
.redmesa-page-content .hero__actions > *,
.redmesa-page-content .serviceGrid > *,
.redmesa-page-content .trustStrip > *,
.redmesa-page-content .stepGrid > *,
.redmesa-page-content .aboutGrid > *,
.redmesa-page-content .contactGrid > *,
.redmesa-page-content .priceMiniGrid > * { margin-block: 0; }

@supports (content-visibility: auto) {
  .redmesa-page-content > .section,
  .redmesa-page-content > .ctaBand {
    content-visibility: auto;
    contain-intrinsic-size: auto 760px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Footer */
.footer { margin-top: 30px; background: #090908; border-top: 1px solid rgba(240,90,26,.18); }
.footer__col picture { display: block; line-height: 0; }
.footer__logoImg { display: block; width: auto; max-width: 340px; height: var(--redmesa-footer-logo-height, 105px); margin-bottom: 16px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.55)); }
.footer__inner { max-width: 1240px; margin: 0 auto; padding: 24px 26px 42px; display: grid; grid-template-columns: 1.45fr 1fr 1fr .8fr; gap: 35px; }
.footer__col h4 { margin-bottom: 13px; color: var(--gold); font: 700 .68rem 'IBM Plex Mono', monospace; letter-spacing: .11em; text-transform: uppercase; }
.footer__tag { margin-bottom: 5px; font-size: .82rem; }
.footer__link { display: flex; align-items: center; gap: 7px; padding: 5px 0; color: var(--ink-soft); font-size: .84rem; transition: color .18s ease; }
.footer__link:hover { color: var(--orange); }
.footer__bottom { max-width: 1240px; margin: 0 auto; padding: 18px 26px 26px; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--ink-muted); border-top: 1px solid var(--line); font-size: .75rem; }

/* Responsive */
@media (max-width: 1080px) {
  .nav__links { display: none; }
  .nav__burger { display: block; }
  .nav__mobile[hidden] { display: none; }
  .nav__mobile { display: flex; flex-direction: column; padding: 8px 26px 18px; background: #11110f; border-top: 1px solid var(--line); }
  .nav__mobileLink { display: block; padding: 11px 7px; color: var(--ink-soft); border-radius: 7px; font-size: .94rem; }
  .nav__mobileLink.is-active { color: var(--gold); font-weight: 700; }
  .nav__mobileList { margin: 0; padding: 0; list-style: none; }
  .nav__mobileList li { margin: 0; }
  .nav__mobileList a { display: block; padding: 11px 7px; color: var(--ink-soft); font-size: .94rem; }
  .nav__mobileList .current-menu-item > a,
  .nav__mobileList .current_page_item > a { color: var(--gold); font-weight: 700; }
  .serviceGrid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .utilityBar__inner span:first-child { display: none; }
  .utilityBar__inner { justify-content: center; }
  .hero { min-height: auto; padding-top: 48px; grid-template-columns: 1fr; text-align: center; }
  .hero::before { right: 50%; top: -30px; transform: translateX(50%); }
  .hero__visual { order: -1; max-width: 340px; margin-inline: auto; }
  .hero__sub { margin-inline: auto; }
  .heroPills,
  .hero__actions { justify-content: center; }
  .trustStrip { grid-template-columns: repeat(2, 1fr); }
  .pricingPreview { grid-template-columns: 1fr; }
  .priceMiniGrid { max-width: 660px; }
  .contactGrid { grid-template-columns: 1fr; }
  .contactGrid .aboutTicket { min-height: 0; }
  .footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .section { padding: 70px 20px; }
  .nav__inner { min-height: 68px; padding-inline: 18px; }
  .nav__logoImg { max-width: 190px; height: min(var(--redmesa-header-logo-height, 64px), 52px); }
  .nav__call { min-height: 40px; padding: 9px 12px; }
  .nav__callNumber { display: none; }
  .nav__callLabel { display: inline; }
  .hero { padding: 38px 20px 62px; }
  .hero__visual { max-width: 285px; }
  .serviceGrid,
  .serviceGrid--wide { grid-template-columns: 1fr; }
  .stepGrid { grid-template-columns: 1fr; }
  .aboutGrid { grid-template-columns: 1fr; }
  .priceMiniGrid { grid-template-columns: 1fr; }
  .priceMiniCard { min-height: 150px; }
  .priceMiniCard:nth-child(2) { transform: none; }
  .ctaBand { margin: 10px 16px 70px; padding: 44px 20px; }
  .footer__inner { grid-template-columns: 1fr; }
  .footer__bottom { align-items: flex-start; flex-direction: column; }
  .bookForm__row { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  h1 { font-size: clamp(3.1rem, 17vw, 4.5rem); }
  h2 { font-size: clamp(2.25rem, 12vw, 3.3rem); }
  .utilityBar__inner { padding-inline: 12px; text-align: center; }
  .trustStrip { grid-template-columns: 1fr; }
  .heroPills { display: none; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .redmesa-buttons,
  .hero__actions .wp-block-button,
  .hero__actions .wp-block-button__link { width: 100%; }
  .hero__chatLink { padding-top: 5px; }
  .footer__logoImg { max-width: 100%; height: auto; }
}
@media (max-width: 390px) {
  .nav__inner { gap: 8px; padding-inline: 12px; }
  .nav__logo { min-width: 0; }
  .nav__logoImg { max-width: 145px; }
}
