/* Shared refinements for the approved Alpha prototype. */
:root { --radius-lg: 12px; --radius-md: 10px; }
.official-logo { display:block; width:205px; height:auto; padding:9px 12px; border-radius:6px; background:#fff; }
.skip-link { position:absolute; top:-80px; left:16px; z-index:100; padding:12px 20px; background:#f6b83d; color:#0a1b2c; }
.skip-link:focus { top:12px; }
.section { padding-block:72px; }
h2 { font-size:clamp(1.9rem,3.2vw,2.8rem); line-height:1.12; letter-spacing:-.04em; }
.reveal { opacity:1; transform:none; transition:none; }
.hero, .hero-inner { min-height:650px; }
.hero-inner { padding-block:150px 60px; }
.hero-image { animation:none; object-position:center 48%; }
.hero-lede { max-width:540px; font-size:1.12rem; }
.hero-detail { margin-top:24px; }
.hero::before { background:linear-gradient(90deg,rgba(7,23,38,.96),rgba(7,23,38,.82) 42%,rgba(7,23,38,.15)); }
.hero-content { max-width:620px; }
.button,.header-call { border-radius:8px; }
.service-card,.card,.media-panel { border-radius:12px; }

/* Final shared layout pass: center the Services CTA and keep the footer identical sitewide. */
body.alpha-towing-site .cta-inner { grid-template-columns: minmax(0, 1fr) !important; }
body.alpha-towing-site .site-footer .footer-inner { display:grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items:start !important; gap:32px !important; }
body.alpha-towing-site .site-footer .footer-bottom { grid-column:1 / -1 !important; display:flex !important; justify-content:space-between !important; align-items:flex-start !important; gap:24px !important; margin-top:0 !important; }
@media(max-width:760px) { body.alpha-towing-site .site-footer .footer-inner { grid-template-columns:1fr !important; gap:24px !important; } body.alpha-towing-site .site-footer .footer-bottom { grid-column:auto !important; flex-direction:column !important; gap:10px !important; } }
.section-head { gap:8px; margin-bottom:32px; }
.ticker-toggle { align-self:center; flex:0 0 auto; min-height:44px; margin-left:12px; border:1px solid #638095; border-radius:6px; background:#0b3853; color:#fff; padding:8px 12px; cursor:pointer; }
.service-strip.is-paused .news-track,.service-strip:focus-within .news-track { animation-play-state:paused; }
.fleet-photo { margin:0; }
.fleet-photo img { width:100%; border-radius:12px; aspect-ratio:4/3; object-fit:cover; }
.fleet-photo figcaption { padding-top:12px; color:#c8d5df; font-size:.8rem; }
.trust .eyebrow { color:#c8efff; }
.trust-grid { grid-template-columns:1fr 1fr; gap:48px; }
.trust-grid > *, .local-grid > *, .split > *, .contact-grid > * { min-width:0; }
.fleet-photo img { max-width:100%; height:auto; }
.trust .button { margin-top:10px; }
.map-frame { width:100%; height:360px; border:1px solid #bccacb; border-radius:12px; background:#e6ece7; }
.map-note { color:#526472; font-size:.82rem; margin-top:12px; }
.map-note a { text-decoration:underline; }
.final-cta { background:#0b2b43; }
.final-cta::before { display:none; }
.final-cta .button strong { font-size:clamp(1.4rem,3vw,2rem); }
.footer-bottom { color:#b7c4cd; }
.mobile-menu { display:none; }
.card { display:flex; flex-direction:column; }
.card-body { display:flex; flex:1; flex-direction:column; }
.card-body .text-link { margin-top:auto; }
.contact-card a.value { overflow-wrap:anywhere; }
.cta { background:#0b2b43; }
.cta-inner { display:grid; justify-items:center; text-align:center; }
.intro-grid { gap:32px; }
.page-hero::after { display:none; }
.page-hero { background:#0b2b43; padding-block:60px; }
.page-hero h1 { font-size:clamp(2.1rem,4.5vw,3.6rem); }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:860px) {
 .trust-grid { grid-template-columns:1fr; gap:28px; }
 .mobile-menu { display:block; position:relative; margin-left:auto; margin-right:12px; background:transparent; border:0; color:white; }
 .mobile-menu summary { padding:12px; list-style:none; cursor:pointer; font-size:.85rem; }
 .mobile-menu summary::after { display:none; }
 .mobile-menu nav { position:absolute; right:0; top:48px; width:210px; padding:12px; border:1px solid #476078; border-radius:8px; background:#0a1b2c; box-shadow:0 12px 30px #0004; }
 .mobile-menu nav a { display:block; padding:12px; }
}
@media(max-width:570px) {
 .official-logo { width:150px; padding:8px; }
 .section { padding-block:48px; }
 .hero,.hero-inner { min-height:610px; }
 .hero-inner { padding-block:125px 42px; }
 .hero-image { object-position:60% center; }
 .hero::before { background:linear-gradient(90deg,rgba(7,23,38,.93),rgba(7,23,38,.62)); }
 h1 { font-size:2.8rem; } h2 { font-size:2rem; }
 .hero-lede { font-size:1rem; }
 .hero-detail { font-size:.8rem; }
 .news-label { display:none; }
 .news-window { flex:1; }
 .header-call { font-size:.72rem; padding:10px; }
 .brand { gap:6px; }
 .brand-copy strong { font-size:.8rem; }
 .brand-copy span { font-size:.5rem; }
 .mobile-menu { margin-right:4px; }
 .mobile-menu summary { padding:12px 8px; }
 .mobile-call { border-radius:8px; bottom:max(12px,env(safe-area-inset-bottom)); }
 .footer-inner { padding-bottom:100px; }
 .map-frame { height:320px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .ticker-toggle { display:none; } }


/* Shared contrast pass: keep text readable on every production page and section. */
body.alpha-towing-site { color:#0a1b2c !important; background:#fffdf8 !important; }
body.alpha-towing-site h1,
body.alpha-towing-site h2,
body.alpha-towing-site h3,
body.alpha-towing-site h4 { color:#0a1b2c !important; }
body.alpha-towing-site p,
body.alpha-towing-site li { color:#30495b !important; }
body.alpha-towing-site .site-header,
body.alpha-towing-site .site-header h1,
body.alpha-towing-site .site-header h2,
body.alpha-towing-site .site-header h3,
body.alpha-towing-site .site-header p,
body.alpha-towing-site .site-header a { color:#fff !important; }
body.alpha-towing-site .hero h1,
body.alpha-towing-site .hero p,
body.alpha-towing-site .hero .hero-lede,
body.alpha-towing-site .hero .hero-detail,
body.alpha-towing-site .hero .hero-detail span,
body.alpha-towing-site .page-hero h1,
body.alpha-towing-site .page-hero p,
body.alpha-towing-site .page-hero .lede,
body.alpha-towing-site .page-hero .crumbs,
body.alpha-towing-site .page-hero .crumbs a { color:#fff !important; }
body.alpha-towing-site .clarity,
body.alpha-towing-site .trust,
body.alpha-towing-site .final-cta,
body.alpha-towing-site .site-footer,
body.alpha-towing-site .cta { color:#fff !important; }
body.alpha-towing-site .clarity h2,
body.alpha-towing-site .clarity p,
body.alpha-towing-site .trust h2,
body.alpha-towing-site .trust h3,
body.alpha-towing-site .trust p,
body.alpha-towing-site .final-cta h2,
body.alpha-towing-site .final-cta p,
body.alpha-towing-site .cta h2,
body.alpha-towing-site .cta p,
body.alpha-towing-site .site-footer p,
body.alpha-towing-site .site-footer a,
body.alpha-towing-site .site-footer span,
body.alpha-towing-site .site-footer strong { color:#f3f8fb !important; }
body.alpha-towing-site .official-logo { background:transparent !important; padding:0 !important; }
body.alpha-towing-site .section.blue h1,
body.alpha-towing-site .section.blue h2,
body.alpha-towing-site .section.blue h3,
body.alpha-towing-site .section.blue p { color:#0a1b2c !important; }
body.alpha-towing-site .button-primary { color:#0a1b2c !important; }
body.alpha-towing-site .button-dark { color:#fff !important; }


/* Header logo: transparent artwork with light details for the dark header. */
body.alpha-towing-site .official-logo { filter:brightness(0) invert(1); }


/* Services CTA refinement: centered on every viewport. */
.cta-inner > div { max-width:720px; margin-inline:auto; text-align:center; justify-self:center; }
.cta-inner .button { justify-self:center; }

/* Exact blue-and-white prototype logo uploaded to site media. */
body.alpha-towing-site .official-logo { filter:none; content:url("https://alphatowingservices.com/wp-content/uploads/2026/09/alpha-official-logo-header.png"); }

/* Use the exact uploaded blue-and-white logo in the shared brand link. */
body.alpha-towing-site .brand .official-logo { display:none !important; }
body.alpha-towing-site .brand::before { content:""; display:block; width:205px; height:57px; background:url("https://alphatowingservices.com/wp-content/uploads/2026/09/alpha-official-logo-header.png") center/contain no-repeat; }
@media(max-width:570px) { body.alpha-towing-site .brand::before { width:150px; height:42px; } }

/* Keep the homepage hero copy vertically balanced over the wide image. */
.hero-inner { align-items: center !important; padding-block: 120px !important; }
@media(max-width:860px) { .hero-inner { align-items: center !important; padding-block: 120px 96px !important; } }
@media(max-width:570px) { .hero-inner { align-items: center !important; padding-block: 112px 88px !important; } }
/* Keep the homepage hero copy vertically balanced over the wide image. */.hero-inner { align-items: center !important; padding-block: 120px !important; }@media(max-width:860px) { .hero-inner { align-items: center !important; padding-block: 120px 96px !important; } }@media(max-width:570px) { .hero-inner { align-items: center !important; padding-block: 112px 88px !important; } }


/* Services page layout correction: centered intro and final call-to-action. */
body.alpha-towing-site .services-intro { display:block; max-width:760px; margin:0 auto 38px; text-align:center; }
body.alpha-towing-site .services-intro > div { text-align:center; }
body.alpha-towing-site .services-intro .eyebrow { justify-content:center; }
body.alpha-towing-site .services-intro .intro-copy { max-width:680px; margin:0 auto; }
body.alpha-towing-site .cta-inner { display:grid !important; justify-items:center !important; align-items:center !important; text-align:center !important; gap:18px !important; }
body.alpha-towing-site .cta-inner > div { width:min(720px,100%); margin-inline:auto !important; text-align:center !important; }
body.alpha-towing-site .cta-inner .eyebrow { justify-content:center; }
body.alpha-towing-site .cta-inner .button { justify-self:center !important; margin-inline:auto !important; }
@media(max-width:850px) { body.alpha-towing-site .cta-inner { gap:8px !important; } }

/* True CTA centering: center the grid track inside the full-width wrap. */
body.alpha-towing-site .cta-inner { grid-template-columns: minmax(0, 1fr) !important; }

.map-note a { text-decoration:underline; }
.final-cta { background:#0b2b43; }
.final-cta::before { display:none; }
.final-cta .button strong { font-size:clamp(1.4rem,3vw,2rem); }
.footer-bottom { color:#b7c4cd; }
.mobile-menu { display:none; }
.card { display:flex; flex-direction:column; }
.card-body { display:flex; flex:1; flex-direction:column; }
.card-body .text-link { margin-top:auto; }
.contact-card a.value { overflow-wrap:anywhere; }
.cta { background:#0b2b43; }
.cta-inner { display:grid; justify-items:center; text-align:center; }
.intro-grid { gap:32px; }
.page-hero::after { display:none; }
.page-hero { background:#0b2b43; padding-block:60px; }
.page-hero h1 { font-size:clamp(2.1rem,4.5vw,3.6rem); }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:860px) {
 .trust-grid { grid-template-columns:1fr; gap:28px; }
 .mobile-menu { display:block; position:relative; margin-left:auto; margin-right:12px; background:transparent; border:0; color:white; }
 .mobile-menu summary { padding:12px; list-style:none; cursor:pointer; font-size:.85rem; }
 .mobile-menu summary::after { display:none; }
 .mobile-menu nav { position:absolute; right:0; top:48px; width:210px; padding:12px; border:1px solid #476078; border-radius:8px; background:#0a1b2c; box-shadow:0 12px 30px #0004; }
 .mobile-menu nav a { display:block; padding:12px; }
}
@media(max-width:570px) {
 .official-logo { width:150px; padding:8px; }
 .section { padding-block:48px; }
 .hero,.hero-inner { min-height:610px; }
 .hero-inner { padding-block:125px 42px; }
 .hero-image { object-position:60% center; }
 .hero::before { background:linear-gradient(90deg,rgba(7,23,38,.93),rgba(7,23,38,.62)); }
 h1 { font-size:2.8rem; } h2 { font-size:2rem; }
 .hero-lede { font-size:1rem; }
 .hero-detail { font-size:.8rem; }
 .news-label { display:none; }
 .news-window { flex:1; }
 .header-call { font-size:.72rem; padding:10px; }
 .brand { gap:6px; }
 .brand-copy strong { font-size:.8rem; }
 .brand-copy span { font-size:.5rem; }
 .mobile-menu { margin-right:4px; }
 .mobile-menu summary { padding:12px 8px; }
 .mobile-call { border-radius:8px; bottom:max(12px,env(safe-area-inset-bottom)); }
 .footer-inner { padding-bottom:100px; }
 .map-frame { height:320px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .ticker-toggle { display:none; } }


/* Shared contrast pass: keep text readable on every production page and section. */
body.alpha-towing-site { color:#0a1b2c !important; background:#fffdf8 !important; }
body.alpha-towing-site h1,
body.alpha-towing-site h2,
body.alpha-towing-site h3,
body.alpha-towing-site h4 { color:#0a1b2c !important; }
body.alpha-towing-site p,
body.alpha-towing-site li { color:#30495b !important; }
body.alpha-towing-site .site-header,
body.alpha-towing-site .site-header h1,
body.alpha-towing-site .site-header h2,
body.alpha-towing-site .site-header h3,
body.alpha-towing-site .site-header p,
body.alpha-towing-site .site-header a { color:#fff !important; }
body.alpha-towing-site .hero h1,
body.alpha-towing-site .hero p,
body.alpha-towing-site .hero .hero-lede,
body.alpha-towing-site .hero .hero-detail,
body.alpha-towing-site .hero .hero-detail span,
body.alpha-towing-site .page-hero h1,
body.alpha-towing-site .page-hero p,
body.alpha-towing-site .page-hero .lede,
body.alpha-towing-site .page-hero .crumbs,
body.alpha-towing-site .page-hero .crumbs a { color:#fff !important; }
body.alpha-towing-site .clarity,
body.alpha-towing-site .trust,
body.alpha-towing-site .final-cta,
body.alpha-towing-site .site-footer,
body.alpha-towing-site .cta { color:#fff !important; }
body.alpha-towing-site .clarity h2,
body.alpha-towing-site .clarity p,
body.alpha-towing-site .trust h2,
body.alpha-towing-site .trust h3,
body.alpha-towing-site .trust p,
body.alpha-towing-site .final-cta h2,
body.alpha-towing-site .final-cta p,
body.alpha-towing-site .cta h2,
body.alpha-towing-site .cta p,
body.alpha-towing-site .site-footer p,
body.alpha-towing-site .site-footer a,
body.alpha-towing-site .site-footer span,
body.alpha-towing-site .site-footer strong { color:#f3f8fb !important; }
body.alpha-towing-site .official-logo { background:transparent !important; padding:0 !important; }
body.alpha-towing-site .section.blue h1,
body.alpha-towing-site .section.blue h2,
body.alpha-towing-site .section.blue h3,
body.alpha-towing-site .section.blue p { color:#0a1b2c !important; }
body.alpha-towing-site .button-primary { color:#0a1b2c !important; }
body.alpha-towing-site .button-dark { color:#fff !important; }


/* Header logo: transparent artwork with light details for the dark header. */
body.alpha-towing-site .official-logo { filter:brightness(0) invert(1); }


/* Services CTA refinement: centered on every viewport. */
.cta-inner > div { max-width:720px; margin-inline:auto; text-align:center; justify-self:center; }
.cta-inner .button { justify-self:center; }

/* Exact blue-and-white prototype logo uploaded to site media. */
body.alpha-towing-site .official-logo { filter:none; content:url("https://alphatowingservices.com/wp-content/uploads/2026/09/alpha-official-logo-header.png"); }

/* Use the exact uploaded blue-and-white logo in the shared brand link. */
body.alpha-towing-site .brand .official-logo { display:none !important; }
body.alpha-towing-site .brand::before { content:""; display:block; width:205px; height:57px; background:url("https://alphatowingservices.com/wp-content/uploads/2026/09/alpha-official-logo-header.png") center/contain no-repeat; }
@media(max-width:570px) { body.alpha-towing-site .brand::before { width:150px; height:42px; } }

/* Keep the homepage hero copy vertically balanced over the wide image. */
.hero-inner { align-items: center !important; padding-block: 120px !important; }
@media(max-width:860px) { .hero-inner { align-items: center !important; padding-block: 120px 96px !important; } }
@media(max-width:570px) { .hero-inner { align-items: center !important; padding-block: 112px 88px !important; } }
/* Keep the homepage hero copy vertically balanced over the wide image. */.hero-inner { align-items: center !important; padding-block: 120px !important; }@media(max-width:860px) { .hero-inner { align-items: center !important; padding-block: 120px 96px !important; } }@media(max-width:570px) { .hero-inner { align-items: center !important; padding-block: 112px 88px !important; } }


/* Services page layout correction: centered intro and final call-to-action. */
body.alpha-towing-site .services-intro { display:block; max-width:760px; margin:0 auto 38px; text-align:center; }
body.alpha-towing-site .services-intro > div { text-align:center; }
body.alpha-towing-site .services-intro .eyebrow { justify-content:center; }
body.alpha-towing-site .services-intro .intro-copy { max-width:680px; margin:0 auto; }
body.alpha-towing-site .cta-inner { display:grid !important; justify-items:center !important; align-items:center !important; text-align:center !important; gap:18px !important; }
body.alpha-towing-site .cta-inner > div { width:min(720px,100%); margin-inline:auto !important; text-align:center !important; }
body.alpha-towing-site .cta-inner .eyebrow { justify-content:center; }
body.alpha-towing-site .cta-inner .button { justify-self:center !important; margin-inline:auto !important; }
@media(max-width:850px) { body.alpha-towing-site .cta-inner { gap:8px !important; } }

/* Contact page: keep the message form balanced, clear and easy to complete. */
body.alpha-towing-site .contact-form-section { background:#fffdf8; }
body.alpha-towing-site .contact-form-card { width:min(860px,100%); margin:0 auto; padding:clamp(28px,5vw,56px); background:#fff; border:1px solid #d9e1e6; border-radius:12px; box-shadow:0 14px 34px rgba(16,43,61,.08); }
body.alpha-towing-site .contact-form-card h2 { max-width:700px; margin:10px auto 14px; text-align:center; }
body.alpha-towing-site .contact-form-card .eyebrow { display:block; text-align:center; }
body.alpha-towing-site .contact-form-card .intro-copy { max-width:650px; margin:0 auto; text-align:center; color:#557080; }
body.alpha-towing-site .contact-form-card .wpforms-container { width:100%; max-width:none; margin:30px auto 0 !important; }
body.alpha-towing-site .contact-form-card .wpforms-field { width:100% !important; max-width:none !important; float:none !important; clear:both !important; }
body.alpha-towing-site .contact-form-card .wpforms-field input, body.alpha-towing-site .contact-form-card .wpforms-field textarea, body.alpha-towing-site .contact-form-card .wpforms-field select { display:block; width:100% !important; max-width:none !important; min-height:56px; box-sizing:border-box; }
body.alpha-towing-site .contact-form-card .wpforms-field textarea { min-height:150px; }
body.alpha-towing-site .contact-form-card .wpforms-submit-container { margin-top:8px; }
body.alpha-towing-site .contact-form-card .wpforms-submit { min-height:54px; padding:0 28px; }
@media(max-width:570px) { body.alpha-towing-site .contact-form-card { padding:26px 20px; } body.alpha-towing-site .contact-form-card h2 { font-size:2rem; } }


/* WPForms field reset: the phone field must use the same full width as every other field. */
body.alpha-towing-site .contact-form-card #wpforms-form-807 .wpforms-field-medium, body.alpha-towing-site .contact-form-card #wpforms-form-807 .wpforms-field-small { width:100% !important; max-width:none !important; }


/* Contact form submit state: keep the WPForms spinner compact instead of inheriting full image dimensions. */
body.alpha-towing-site .contact-form-card #wpforms-form-807 .wpforms-submit-spinner { width:18px !important; height:18px !important; max-width:18px !important; max-height:18px !important; margin-inline-start:8px; vertical-align:-4px; object-fit:contain; }


/* Footer refinement: make the address, call action and top control easier to scan. */
body.alpha-towing-site .site-footer .footer-brand { display:flex; flex-direction:column; gap:7px; }
body.alpha-towing-site .site-footer .footer-tagline { color:#c8d5df; }
body.alpha-towing-site .site-footer .footer-address { display:grid; gap:2px; margin:9px 0 0; padding:10px 0 0 14px; border-left:3px solid #f5b335; color:#f3f8fb; font-style:normal; line-height:1.45; }
body.alpha-towing-site .site-footer .footer-address-label { color:#f5c45c; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
body.alpha-towing-site .site-footer .footer-links { align-items:center; gap:10px 18px; }
body.alpha-towing-site .site-footer .footer-phone { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border:1px solid #f5b335; border-radius:7px; color:#fff !important; font-weight:700; white-space:nowrap; }
body.alpha-towing-site .site-footer .footer-phone span:first-child { color:#f5c45c !important; }
body.alpha-towing-site .site-footer .footer-top-link { display:inline-flex; align-items:center; justify-content:center; width:42px; min-width:42px; height:42px; min-height:42px; border:1px solid #6c8495; border-radius:7px; color:#fff !important; font-size:1.35rem; line-height:1; }
body.alpha-towing-site .site-footer .footer-top-link:hover, body.alpha-towing-site .site-footer .footer-phone:hover { background:#123d59; border-color:#f5c45c; }
body.alpha-towing-site .site-footer .footer-bottom { margin-top:30px !important; padding-top:20px; border-top:1px solid rgba(180,201,214,.22); }
@media(max-width:860px) { body.alpha-towing-site .site-footer .footer-links { justify-content:flex-start; } }
@media(max-width:570px) { body.alpha-towing-site .site-footer .footer-links { gap:10px 12px; } body.alpha-towing-site .site-footer .footer-phone { width:100%; justify-content:center; } body.alpha-towing-site .site-footer .footer-bottom { margin-top:22px !important; } }


/* Footer spacing refinement: keep the address block comfortable without dead space. */
body.alpha-towing-site .site-footer .footer-inner { gap:18px !important; padding-block:24px !important; }
body.alpha-towing-site .site-footer .footer-bottom { margin-top:12px !important; padding-top:14px !important; }
@media(max-width:760px) {
  body.alpha-towing-site .site-footer .footer-inner { gap:18px !important; padding-block:24px !important; }
  body.alpha-towing-site .site-footer .footer-bottom { margin-top:10px !important; padding-top:14px !important; }
}
