/*
Theme Name:   LogiStat Child
Template:     astra
Version:      1.0.0
Description:  LogiStat child theme — full redesign June 2026
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --ls-navy:        #0D1B2A;
  --ls-navy-mid:    #163248;
  --ls-navy-light:  #1E4976;
  --ls-gold:        #C9A84C;
  --ls-gold-light:  #E8C56A;
  --ls-gold-dark:   #A8893A;
  --ls-white:       #FFFFFF;
  --ls-off-white:   #F8F9FB;
  --ls-gray-100:    #EDF1F5;
  --ls-gray-200:    #D8E1EA;
  --ls-gray-400:    #8FA5B8;
  --ls-gray-600:    #4A6070;
  --ls-text:        #0D1B2A;
  --ls-text-mid:    #3D5166;
  --ls-text-light:  #6B7E8F;
  --ls-font-head:   'Plus Jakarta Sans', system-ui, sans-serif;
  --ls-font-body:   'Inter', system-ui, sans-serif;
  --ls-sp-1: 8px;  --ls-sp-2: 16px; --ls-sp-3: 24px;
  --ls-sp-4: 32px; --ls-sp-5: 48px; --ls-sp-6: 64px;
  --ls-sp-7: 80px; --ls-sp-8: 120px;
  --ls-max:        1200px;
  --ls-max-narrow: 760px;
  --ls-r-sm: 4px;  --ls-r-md: 8px;
  --ls-r-lg: 16px; --ls-r-xl: 24px; --ls-r-full: 9999px;
  --ls-shadow-sm:  0 2px 8px rgba(13,27,42,.08);
  --ls-shadow-md:  0 4px 24px rgba(13,27,42,.12);
  --ls-shadow-lg:  0 12px 48px rgba(13,27,42,.18);
  --ls-shadow-gold:0 4px 24px rgba(201,168,76,.3);
  --ls-ease:       cubic-bezier(.4,0,.2,1);
}

/* ============================================================
   BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--ls-font-body);
  color: var(--ls-text);
  background: var(--ls-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--ls-font-head);
  line-height: 1.15;
  color: var(--ls-navy);
  margin: 0 0 .5em;
}
h1 { font-size: clamp(2.25rem,5vw,3.75rem); font-weight: 800; }
h2 { font-size: clamp(1.75rem,3.5vw,2.625rem); font-weight: 700; }
h3 { font-size: clamp(1.2rem,2.5vw,1.625rem); font-weight: 700; }
h4 { font-size: 1.125rem; font-weight: 600; }

p  { color: var(--ls-text-mid); font-size: 1.0625rem; line-height: 1.75; margin: 0 0 1rem; }
a  { color: var(--ls-gold); text-decoration: none; transition: color .2s var(--ls-ease); }
a:hover { color: var(--ls-gold-dark); }
img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   ASTRA HEADER — full override
   ============================================================ */
#masthead,
.site-header {
  background: var(--ls-navy) !important;
  border-bottom: 1px solid rgba(201,168,76,.18) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  box-shadow: 0 2px 20px rgba(13,27,42,.35) !important;
}

.ast-primary-header-bar {
  max-width: var(--ls-max) !important;
  margin: 0 auto !important;
  padding: 0 var(--ls-sp-3) !important;
}

.site-branding img.custom-logo {
  height: 42px !important;
  width: auto !important;
  max-width: none !important;
}

/* Nav links */
#ast-desktop-header .main-header-menu > .menu-item > a,
.ast-nav-menu > li > a {
  font-family: var(--ls-font-head) !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  color: rgba(255,255,255,.8) !important;
  padding: 26px 14px !important;
  position: relative !important;
  transition: color .2s var(--ls-ease) !important;
}

#ast-desktop-header .main-header-menu > .menu-item > a::after,
.ast-nav-menu > li > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 16px !important;
  left: 14px !important; right: 14px !important;
  height: 2px !important;
  background: var(--ls-gold) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform .25s var(--ls-ease) !important;
}

#ast-desktop-header .main-header-menu > .menu-item > a:hover,
#ast-desktop-header .main-header-menu > .current-menu-item > a,
.ast-nav-menu > li > a:hover,
.ast-nav-menu > li.current-menu-item > a {
  color: var(--ls-gold) !important;
}

#ast-desktop-header .main-header-menu > .menu-item > a:hover::after,
#ast-desktop-header .main-header-menu > .current-menu-item > a::after,
.ast-nav-menu > li > a:hover::after,
.ast-nav-menu > li.current-menu-item > a::after {
  transform: scaleX(1) !important;
}

/* Mobile */
.ast-mobile-menu-trigger-minimal .menu-toggle,
.menu-toggle { color: var(--ls-white) !important; }

.main-header-bar-navigation,
.ast-main-nav-bar { background: var(--ls-navy) !important; }

/* ============================================================
   ASTRA FOOTER — hide default, we inject custom footer via HTML
   ============================================================ */
#colophon .ast-footer-copyright {
  background: rgba(0,0,0,.25) !important;
  color: rgba(255,255,255,.4) !important;
  font-size: .82rem !important;
  padding: var(--ls-sp-2) var(--ls-sp-3) !important;
  text-align: center !important;
}
#colophon { background: var(--ls-navy) !important; padding: 0 !important; }
.footer-adv-overlay-wrap, .ast-footer-overlay { display: none !important; }

/* ============================================================
   REMOVE DEFAULT PAGE CHROME
   ============================================================ */
.entry-header, .page .entry-header,
.ast-page-builder-template .entry-header { display: none !important; }

.entry-content, .ast-article-single,
.page .ast-article-single { padding: 0 !important; margin: 0 !important; }

.ast-page-builder-template .entry-content,
.ast-article-post { padding: 0 !important; max-width: 100% !important; }

.wp-block-html { margin: 0 !important; padding: 0 !important; }

/* Remove Spectra/UAGB default padding that fights our layout */
.uagb-is-root-container { padding: 0 !important; }

/* ============================================================
   BUTTON SYSTEM
   ============================================================ */
.ls-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  font-family: var(--ls-font-head);
  font-weight: 700;
  font-size: .9375rem;
  border-radius: var(--ls-r-full);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all .22s var(--ls-ease);
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1.2;
}

.ls-btn--gold {
  background: var(--ls-gold);
  color: var(--ls-navy) !important;
  border-color: var(--ls-gold);
  box-shadow: var(--ls-shadow-gold);
}
.ls-btn--gold:hover {
  background: var(--ls-gold-light);
  border-color: var(--ls-gold-light);
  transform: translateY(-2px);
  box-shadow: 0 6px 28px rgba(201,168,76,.4);
  color: var(--ls-navy) !important;
}

.ls-btn--outline-white {
  background: transparent;
  color: var(--ls-white) !important;
  border-color: rgba(255,255,255,.4);
}
.ls-btn--outline-white:hover {
  border-color: var(--ls-white);
  background: rgba(255,255,255,.08);
  color: var(--ls-white) !important;
}

.ls-btn--navy {
  background: var(--ls-navy);
  color: var(--ls-white) !important;
  border-color: var(--ls-navy);
}
.ls-btn--navy:hover {
  background: var(--ls-navy-mid);
  transform: translateY(-2px);
  color: var(--ls-white) !important;
}

.ls-btn--outline-navy {
  background: transparent;
  color: var(--ls-navy) !important;
  border-color: var(--ls-navy);
}
.ls-btn--outline-navy:hover {
  background: var(--ls-navy);
  color: var(--ls-white) !important;
}

/* ============================================================
   LAYOUT UTILITIES
   ============================================================ */
.ls-container { max-width: var(--ls-max); margin: 0 auto; padding: 0 var(--ls-sp-3); }
.ls-container--narrow { max-width: var(--ls-max-narrow); margin: 0 auto; padding: 0 var(--ls-sp-3); }
.ls-text-center { text-align: center; }

.ls-section         { padding: var(--ls-sp-8) 0; }
.ls-section--sm     { padding: var(--ls-sp-6) 0; }
.ls-section--xs     { padding: var(--ls-sp-5) 0; }
.ls-section--white  { background: var(--ls-white); }
.ls-section--light  { background: var(--ls-off-white); }
.ls-section--gray   { background: var(--ls-gray-100); }
.ls-section--navy   { background: var(--ls-navy); }
.ls-section--navy-mid { background: var(--ls-navy-mid); }

.ls-section-eyebrow {
  display: inline-block;
  font-family: var(--ls-font-head);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ls-gold);
  margin-bottom: var(--ls-sp-2);
}

.ls-section-title      { margin-bottom: var(--ls-sp-2); }
.ls-section-title--white { color: var(--ls-white) !important; }

.ls-section-lead {
  font-size: 1.125rem;
  color: var(--ls-text-mid);
  max-width: 600px;
  margin-bottom: var(--ls-sp-5);
}
.ls-section-lead--white { color: rgba(255,255,255,.72) !important; }
.ls-section-lead--center { margin-left: auto; margin-right: auto; }

.ls-section-head { margin-bottom: var(--ls-sp-6); }
.ls-section-head--center { text-align: center; }

/* ============================================================
   HERO
   ============================================================ */
.ls-hero {
  background: linear-gradient(140deg, var(--ls-navy) 0%, var(--ls-navy-mid) 55%, #1a3d6b 100%);
  padding: var(--ls-sp-8) 0 var(--ls-sp-7);
  position: relative;
  overflow: hidden;
  min-height: 90vh;
  display: flex;
  align-items: center;
}

.ls-hero::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -15%;
  width: 65vw;
  height: 140%;
  background: radial-gradient(ellipse, rgba(201,168,76,.07) 0%, transparent 70%);
  pointer-events: none;
}

.ls-hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--ls-gold), rgba(201,168,76,.2), transparent);
}

.ls-hero__inner {
  max-width: var(--ls-max);
  margin: 0 auto;
  padding: 0 var(--ls-sp-3);
  position: relative;
  z-index: 1;
}

.ls-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(201,168,76,.1);
  border: 1px solid rgba(201,168,76,.28);
  border-radius: var(--ls-r-full);
  padding: 6px 16px;
  font-family: var(--ls-font-head);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ls-gold);
  margin-bottom: var(--ls-sp-3);
}

.ls-hero__title {
  font-family: var(--ls-font-head);
  font-size: clamp(2.5rem,6vw,4.25rem);
  font-weight: 800;
  color: var(--ls-white);
  line-height: 1.08;
  margin-bottom: var(--ls-sp-3);
  max-width: 820px;
}

.ls-hero__title .ls-gold { color: var(--ls-gold); }

.ls-hero__desc {
  font-size: 1.175rem;
  color: rgba(255,255,255,.72);
  line-height: 1.72;
  max-width: 580px;
  margin-bottom: var(--ls-sp-5);
}

.ls-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ls-sp-2);
  align-items: center;
  margin-bottom: var(--ls-sp-6);
}

.ls-hero__divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,.1);
  margin-bottom: var(--ls-sp-4);
}

.ls-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ls-sp-5);
}

.ls-hero__stat strong {
  display: block;
  font-family: var(--ls-font-head);
  font-size: 2rem;
  font-weight: 800;
  color: var(--ls-gold);
  line-height: 1;
}
.ls-hero__stat span {
  font-size: .85rem;
  color: rgba(255,255,255,.55);
  display: block;
  margin-top: 4px;
}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.ls-page-hero {
  background: linear-gradient(140deg, var(--ls-navy), var(--ls-navy-mid));
  padding: var(--ls-sp-7) 0 var(--ls-sp-6);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ls-page-hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--ls-gold), transparent);
}
.ls-page-hero__inner { max-width: 720px; margin: 0 auto; padding: 0 var(--ls-sp-3); position: relative; z-index: 1; }
.ls-page-hero h1 { color: var(--ls-white) !important; margin-bottom: var(--ls-sp-2); }
.ls-page-hero p { color: rgba(255,255,255,.72) !important; font-size: 1.1rem; max-width: 560px; margin: 0 auto; }

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.ls-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--ls-sp-3); }
.ls-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--ls-sp-3); }
.ls-grid-auto { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: var(--ls-sp-3); }

.ls-card {
  background: var(--ls-white);
  border: 1px solid var(--ls-gray-200);
  border-radius: var(--ls-r-lg);
  padding: var(--ls-sp-4);
  position: relative;
  overflow: hidden;
  transition: all .25s var(--ls-ease);
}
.ls-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--ls-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--ls-ease);
}
.ls-card:hover {
  border-color: rgba(201,168,76,.35);
  box-shadow: var(--ls-shadow-md);
  transform: translateY(-4px);
}
.ls-card:hover::before { transform: scaleX(1); }

.ls-card__icon {
  width: 54px; height: 54px;
  background: rgba(201,168,76,.1);
  border-radius: var(--ls-r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  margin-bottom: var(--ls-sp-2);
}
.ls-card__title { font-family: var(--ls-font-head); font-size: 1.1rem; font-weight: 700; color: var(--ls-navy); margin-bottom: var(--ls-sp-1); }
.ls-card__desc  { font-size: .9375rem; color: var(--ls-text-mid); line-height: 1.65; margin-bottom: var(--ls-sp-2); }
.ls-card__link  { font-family: var(--ls-font-head); font-size: .875rem; font-weight: 600; color: var(--ls-gold); display: inline-flex; align-items: center; gap: 4px; }

/* ============================================================
   AUDIENCE CARDS (dark bg)
   ============================================================ */
.ls-audience-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: var(--ls-sp-2); }

.ls-audience-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ls-r-lg);
  padding: var(--ls-sp-3) var(--ls-sp-2);
  text-align: center;
  transition: all .22s var(--ls-ease);
}
.ls-audience-card:hover {
  background: rgba(201,168,76,.07);
  border-color: rgba(201,168,76,.28);
  transform: translateY(-3px);
}
.ls-audience-card__icon { font-size: 2.25rem; margin-bottom: var(--ls-sp-1); display: block; }
.ls-audience-card__title { font-family: var(--ls-font-head); font-size: 1rem; font-weight: 700; color: var(--ls-white); margin-bottom: 6px; }
.ls-audience-card__desc  { font-size: .85rem; color: rgba(255,255,255,.55); line-height: 1.55; margin: 0; }

/* ============================================================
   DIFFERENTIATORS
   ============================================================ */
.ls-diff-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: var(--ls-sp-3); }

.ls-diff-item { padding: var(--ls-sp-3); }
.ls-diff-item__num { font-family: var(--ls-font-head); font-size: 3.5rem; font-weight: 800; color: var(--ls-gray-100); line-height: 1; margin-bottom: 4px; }
.ls-diff-item__title { font-family: var(--ls-font-head); font-size: 1.1rem; font-weight: 700; color: var(--ls-navy); margin-bottom: 8px; }
.ls-diff-item__desc  { font-size: .9375rem; color: var(--ls-text-mid); line-height: 1.65; margin: 0; }

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.ls-steps { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: var(--ls-sp-2); }

.ls-step { text-align: center; padding: var(--ls-sp-3) var(--ls-sp-2); }
.ls-step__num {
  width: 56px; height: 56px;
  background: transparent;
  border: 2px solid var(--ls-gold);
  color: var(--ls-gold);
  font-family: var(--ls-font-head);
  font-size: 1.2rem; font-weight: 800;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--ls-sp-2);
}
.ls-step--dark .ls-step__num { border-color: var(--ls-gold); color: var(--ls-gold); }
.ls-step__title { font-family: var(--ls-font-head); font-size: 1rem; font-weight: 700; color: var(--ls-navy); margin-bottom: 8px; }
.ls-step--dark .ls-step__title { color: var(--ls-white) !important; }
.ls-step__desc  { font-size: .9rem; color: var(--ls-text-mid); line-height: 1.6; margin: 0; }
.ls-step--dark .ls-step__desc { color: rgba(255,255,255,.6) !important; }

/* ============================================================
   CTA BANNER
   ============================================================ */
.ls-cta-banner {
  background: linear-gradient(135deg, var(--ls-navy-mid), var(--ls-navy));
  padding: var(--ls-sp-7) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ls-cta-banner::before {
  content: '';
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 80vw; height: 300px;
  background: radial-gradient(ellipse, rgba(201,168,76,.05) 0%, transparent 65%);
  pointer-events: none;
}
.ls-cta-banner__inner { max-width: 680px; margin: 0 auto; padding: 0 var(--ls-sp-3); position: relative; z-index: 1; }
.ls-cta-banner h2 { color: var(--ls-white) !important; margin-bottom: var(--ls-sp-2); }
.ls-cta-banner p  { color: rgba(255,255,255,.68) !important; font-size: 1.1rem; margin-bottom: var(--ls-sp-4); }
.ls-cta-banner__actions { display: flex; flex-wrap: wrap; gap: var(--ls-sp-2); justify-content: center; }

/* ============================================================
   FOOTER
   ============================================================ */
.ls-footer-main {
  background: var(--ls-navy);
  border-top: 1px solid rgba(201,168,76,.15);
  padding: var(--ls-sp-7) 0 0;
}
.ls-footer-grid {
  max-width: var(--ls-max); margin: 0 auto; padding: 0 var(--ls-sp-3);
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.2fr;
  gap: var(--ls-sp-5);
  padding-bottom: var(--ls-sp-6);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.ls-footer-brand p { color: rgba(255,255,255,.55); font-size: .9rem; line-height: 1.7; margin-top: var(--ls-sp-2); max-width: 270px; }
.ls-footer-col-head { font-family: var(--ls-font-head); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ls-gold); margin-bottom: var(--ls-sp-2); display: block; }
.ls-footer-links { list-style: none; padding: 0; margin: 0; }
.ls-footer-links li { margin-bottom: 10px; }
.ls-footer-links a { color: rgba(255,255,255,.55); font-size: .9rem; transition: color .2s; }
.ls-footer-links a:hover { color: var(--ls-gold); }
.ls-footer-contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.ls-footer-contact-item a { color: rgba(255,255,255,.55); font-size: .9rem; }
.ls-footer-contact-item a:hover { color: var(--ls-gold); }
.ls-footer-contact-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }
.ls-footer-bottom { max-width: var(--ls-max); margin: 0 auto; padding: var(--ls-sp-2) var(--ls-sp-3); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--ls-sp-1); }
.ls-footer-copy { color: rgba(255,255,255,.35); font-size: .82rem; }

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ls-contact-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--ls-sp-6); align-items: start; }
.ls-contact-method {
  display: flex; align-items: flex-start; gap: var(--ls-sp-2);
  padding: var(--ls-sp-3); background: var(--ls-white);
  border: 1px solid var(--ls-gray-200); border-radius: var(--ls-r-lg);
  margin-bottom: var(--ls-sp-2); text-decoration: none !important;
  transition: all .22s var(--ls-ease);
}
.ls-contact-method:hover { border-color: var(--ls-gold); box-shadow: var(--ls-shadow-sm); transform: translateX(3px); }
.ls-contact-method__icon { width: 48px; height: 48px; flex-shrink: 0; background: rgba(201,168,76,.1); border-radius: var(--ls-r-md); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.ls-contact-method__label { font-family: var(--ls-font-head); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ls-text-light); margin-bottom: 3px; display: block; }
.ls-contact-method__value { font-family: var(--ls-font-head); font-size: 1.0625rem; font-weight: 600; color: var(--ls-navy); }

/* ============================================================
   MISSION / VISION
   ============================================================ */
.ls-mv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ls-sp-3); }
.ls-mv-card { padding: var(--ls-sp-4); border-radius: var(--ls-r-lg); }
.ls-mv-card--mission { background: var(--ls-navy); }
.ls-mv-card--vision  { background: var(--ls-gray-100); }
.ls-mv-card__label   { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ls-gold); margin-bottom: var(--ls-sp-1); }
.ls-mv-card__text    { font-size: 1.05rem; line-height: 1.7; margin: 0; }
.ls-mv-card--mission .ls-mv-card__text { color: rgba(255,255,255,.82) !important; }
.ls-mv-card--vision  .ls-mv-card__text { color: var(--ls-text-mid) !important; }

/* ============================================================
   CHECKLIST
   ============================================================ */
.ls-checklist { list-style: none; padding: 0; margin: 0; }
.ls-checklist li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 11px 0; border-bottom: 1px solid var(--ls-gray-100);
  font-size: .9375rem; color: var(--ls-text-mid);
}
.ls-checklist li:last-child { border-bottom: none; }
.ls-checklist li::before {
  content: '✓'; flex-shrink: 0;
  width: 22px; height: 22px;
  background: var(--ls-gold); color: var(--ls-navy);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 800; margin-top: 1px;
}

/* ============================================================
   TWO-COL LAYOUT
   ============================================================ */
.ls-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ls-sp-6); align-items: center; }
.ls-two-col--flip > *:first-child { order: 2; }
.ls-two-col--flip > *:last-child  { order: 1; }

.ls-two-col img {
  border-radius: var(--ls-r-xl);
  box-shadow: var(--ls-shadow-lg);
}

/* ============================================================
   BADGE / TAG
   ============================================================ */
.ls-badge {
  display: inline-block;
  background: rgba(201,168,76,.12);
  color: var(--ls-gold);
  font-family: var(--ls-font-head);
  font-size: .72rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 4px 12px; border-radius: var(--ls-r-full);
  border: 1px solid rgba(201,168,76,.25);
}

/* ============================================================
   FORMS (Contact Form 7)
   ============================================================ */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 1px solid var(--ls-gray-200) !important;
  border-radius: var(--ls-r-md) !important;
  font-family: var(--ls-font-body) !important;
  font-size: .9375rem !important;
  color: var(--ls-text) !important;
  background: var(--ls-white) !important;
  transition: border-color .2s !important;
  margin-bottom: var(--ls-sp-2) !important;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none !important;
  border-color: var(--ls-gold) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.15) !important;
}
.wpcf7-form input[type="submit"] {
  background: var(--ls-gold) !important;
  color: var(--ls-navy) !important;
  font-family: var(--ls-font-head) !important;
  font-weight: 700 !important;
  font-size: .9375rem !important;
  padding: 13px 32px !important;
  border: none !important;
  border-radius: var(--ls-r-full) !important;
  cursor: pointer !important;
  transition: all .22s var(--ls-ease) !important;
}
.wpcf7-form input[type="submit"]:hover {
  background: var(--ls-gold-light) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .ls-footer-grid { grid-template-columns: 1fr 1fr; }
  .ls-grid-3 { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 768px) {
  .ls-two-col { grid-template-columns: 1fr; gap: var(--ls-sp-4); }
  .ls-two-col--flip > *:first-child, .ls-two-col--flip > *:last-child { order: unset; }
  .ls-mv-grid { grid-template-columns: 1fr; }
  .ls-contact-grid { grid-template-columns: 1fr; }
  .ls-hero { min-height: 100svh; padding-top: var(--ls-sp-6); }
}

@media (max-width: 600px) {
  :root { --ls-sp-8: 72px; --ls-sp-7: 56px; }
  .ls-grid-3, .ls-grid-2 { grid-template-columns: 1fr; }
  .ls-hero__actions { flex-direction: column; }
  .ls-hero__actions .ls-btn { width: 100%; justify-content: center; }
  .ls-footer-grid { grid-template-columns: 1fr; }
  .ls-cta-banner__actions { flex-direction: column; align-items: center; }
}
