.elementor-kit-7{--e-global-color-primary:#1B4D3E;--e-global-color-secondary:#163D30;--e-global-color-text:#111111;--e-global-color-accent:#B8922E;--e-global-color-1b54d7f:#D4AF6A;--e-global-color-4bfa7c4:#8B6914;--e-global-color-badaa78:#FFFFFF;--e-global-color-d473192:#F5F0E8;--e-global-color-c9bd297:#FFFFFF00;--e-global-color-50df0e7:#D4AF6A4D;--e-global-color-715712b:#0D2B22;--e-global-color-d405e12:#081C16;--e-global-typography-primary-font-family:"Bebas Neue";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Raleway";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-letter-spacing:1.5px;--e-global-typography-text-font-family:"Raleway";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:500;--e-global-typography-c9b95f0-font-family:"Raleway";--e-global-typography-c9b95f0-font-weight:600;--e-global-typography-c9b95f0-text-transform:uppercase;--e-global-typography-c9b95f0-letter-spacing:1px;--e-global-typography-cfd3b9f-font-family:"Raleway";--e-global-typography-cfd3b9f-font-weight:500;--e-global-typography-cfd3b9f-text-transform:uppercase;--e-global-typography-cfd3b9f-letter-spacing:2px;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{font-family:"Bebas Neue", Sans-serif;font-size:100px;font-weight:600;letter-spacing:1px;}.elementor-kit-7 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h3{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h4{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h5{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h6{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1600px){.elementor-kit-7 h2{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h3{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h4{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h5{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h6{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(max-width:1024px){.elementor-kit-7 h2{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h3{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h4{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h5{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h6{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7 h2{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h3{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h4{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h5{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-7 h6{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════════
   TERA LAW APC — GLOBAL CUSTOM CSS
   Last updated: 2026-04-25
   
   STRUCTURE:
   1.  Font Imports
   2.  Reusable Utility Classes (gradient, kicker, headings, subhead)
   3.  Reusable Buttons (primary, outline)
   4.  Reusable Card
   5.  Mobile Header Tightening
   6.  Header Phone Link
   7.  Desktop Nav — Submenu Dropdowns
   8.  Mobile Hamburger Button
   9.  Mobile Drawer — Overlay, Container, Groups, Links, Contact
   10. Body Scroll Lock
   11. Gradient Divider Component
   12. Fee Notice Banner
   13. How It Works — Step Squares & Connecting Line
   14. Footer — Outer Container
   15. Footer — CTA Band
   16. Footer — Main Grid Brand Column
   17. Footer — Column Headings
   18. Footer — Nav Menu
   19. Footer — Contact Items (HTML widget version)
   20. Footer — Social Icons (HTML widget version)
   21. Footer — Disclaimer Block
   22. Footer — Bottom Bar (Copyright + Legal Nav)
   23. Footer — Mobile Responsive
   ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════
   1. FONT IMPORTS
   ═══════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:wght@400;500&family=Raleway:wght@300;400;500;600;700&display=swap');


/* ═══════════════════════════════════════════════════════════════════
   2. REUSABLE UTILITY CLASSES
   ═══════════════════════════════════════════════════════════════════ */

/* Warm gold gradient on text */
.tera-gold-gradient,
.tera-gold-gradient .elementor-heading-title,
.tera-gold-gradient .elementor-widget-container > * {
  background: linear-gradient(135deg, #F0D080 0%, #D4AF6A 50%, #B8922E 100%);
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: inline-block !important;
}

/* Section kicker (small mono uppercase label above H2s) */
.tera-kicker,
.tera-kicker .elementor-heading-title {
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  display: block;
  margin-bottom: 16px;
}

/* H2 section heading (Bebas Neue, white, large) */
.tera-section-heading,
.tera-section-heading .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 56px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.01em !important;
  color: #FFFFFF !important;
  margin-bottom: 16px !important;
}

@media (max-width: 900px) {
  .tera-section-heading,
  .tera-section-heading .elementor-heading-title {
    font-size: 40px !important;
  }
}

/* Section subhead text under H2 */
.tera-section-subhead,
.tera-section-subhead .elementor-widget-container,
.tera-section-subhead p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #F5F0E8 !important;
  max-width: 640px;
  margin: 0 auto !important;
}


/* ═══════════════════════════════════════════════════════════════════
   3. REUSABLE BUTTONS
   For Elementor Button widgets, applies to the inner button only
   ═══════════════════════════════════════════════════════════════════ */

/* Reset wrapper — don't double-style */
.tera-btn-primary,
.tera-btn-outline {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* PRIMARY GOLD-FILLED BUTTON */
.tera-btn-primary .elementor-button,
.tera-btn-primary .elementor-button:link,
.tera-btn-primary .elementor-button:visited,
a.tera-btn-primary,
a.tera-btn-primary:link,
a.tera-btn-primary:visited {
  display: inline-block !important;
  padding: 16px 32px !important;
  background: #B8922E !important;
  color: #FFFFFF !important;
  border: 1px solid #B8922E !important;
  border-radius: 2px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 250ms cubic-bezier(0.25, 0.1, 0.25, 1.0) !important;
  cursor: pointer;
  white-space: nowrap;
}

.tera-btn-primary .elementor-button:hover,
.tera-btn-primary .elementor-button:focus,
a.tera-btn-primary:hover,
a.tera-btn-primary:focus {
  background: #F0D080 !important;
  border-color: #F0D080 !important;
  color: #163D30 !important;
  transform: translateY(-1px);
}

/* SECONDARY OUTLINED BUTTON */
.tera-btn-outline .elementor-button,
.tera-btn-outline .elementor-button:link,
.tera-btn-outline .elementor-button:visited,
a.tera-btn-outline,
a.tera-btn-outline:link,
a.tera-btn-outline:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 32px !important;
  background: transparent !important;
  color: #D4AF6A !important;
  border: 1px solid rgba(212, 175, 106, 0.5) !important;
  border-radius: 2px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 250ms cubic-bezier(0.25, 0.1, 0.25, 1.0) !important;
  cursor: pointer;
  white-space: nowrap;
}

.tera-btn-outline .elementor-button:hover,
.tera-btn-outline .elementor-button:focus,
a.tera-btn-outline:hover,
a.tera-btn-outline:focus {
  border-color: #D4AF6A !important;
  background: rgba(212, 175, 106, 0.06) !important;
  color: #F0D080 !important;
  transform: translateY(-1px);
}

.tera-btn-outline svg,
.tera-btn-outline .elementor-button svg {
  flex-shrink: 0;
}

.tera-btn-outline .elementor-button-icon svg {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
/* Center the icon + text inside the outline button on all screen sizes */
.tera-btn-outline,
.tera-btn-outline .elementor-button,
a.tera-btn-outline {
  justify-content: center !important;
}

/* Mobile — explicitly center text when button goes full-width */
@media (max-width: 768px) {
  .tera-btn-outline,
  .tera-btn-outline .elementor-button,
  a.tera-btn-outline {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   4. REUSABLE CARD
   ═══════════════════════════════════════════════════════════════════ */
.tera-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 106, 0.3);
  border-radius: 2px;
  background: rgba(22, 61, 48, 0.3);
  transition: all 350ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
}

.tera-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.8) 50%,
    transparent 100%
  );
  z-index: 2;
  pointer-events: none;
}

.tera-card:hover {
  border-color: rgba(212, 175, 106, 0.7);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.tera-card:hover::before {
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(240, 208, 128, 1) 50%,
    transparent 100%
  );
}


/* ═══════════════════════════════════════════════════════════════════
   5. MOBILE HEADER TIGHTENING
   Apply class "tera-main-header" to your header section
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .tera-main-header {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  
  .tera-brand img,
  .tera-brand svg {
    max-height: 40px;
    width: auto;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   6. HEADER PHONE LINK
   ═══════════════════════════════════════════════════════════════════ */
.tera-header-phone,
.tera-header-phone:link,
.tera-header-phone:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #D4AF6A !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 200ms ease;
}

.tera-header-phone:hover,
.tera-header-phone:focus {
  color: #F0D080 !important;
  text-decoration: none !important;
}

.tera-header-phone svg {
  flex-shrink: 0;
  color: #D4AF6A !important;
  stroke: #D4AF6A !important;
  transition: color 200ms ease, stroke 200ms ease;
}

.tera-header-phone:hover svg {
  color: #F0D080 !important;
  stroke: #F0D080 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   7. DESKTOP NAV — SUBMENU DROPDOWNS
   Apply class "tera-main-nav" to Nav Menu widget
   ═══════════════════════════════════════════════════════════════════ */
.tera-main-nav .sub-menu,
.tera-main-nav .elementor-nav-menu--dropdown {
  position: relative !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.4);
}

.tera-main-nav .sub-menu::before,
.tera-main-nav .elementor-nav-menu--dropdown::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.8) 50%,
    transparent 100%
  );
  z-index: 1;
}

.tera-main-nav .sub-menu .menu-item a {
  border-left: 2px solid transparent;
  transition: all 200ms ease;
}

.tera-main-nav .sub-menu .menu-item a:hover {
  background: rgba(212, 175, 106, 0.06);
  border-left-color: #D4AF6A;
  padding-left: 20px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   8. MOBILE HAMBURGER BUTTON
   ═══════════════════════════════════════════════════════════════════ */
.tera-hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: transparent !important;
  border: 1px solid rgba(212, 175, 106, 0.4) !important;
  border-radius: 2px;
  cursor: pointer;
  padding: 0;
  position: relative;
  z-index: 1001;
  transition: border-color 200ms ease, background 200ms ease;
  outline: none;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
}

.tera-hamburger:hover,
.tera-hamburger:focus,
.tera-hamburger:active,
.tera-hamburger.active {
  border-color: #D4AF6A !important;
  background: rgba(212, 175, 106, 0.06) !important;
  outline: none;
  box-shadow: none !important;
}

.tera-hamburger:focus-visible {
  outline: 2px solid #D4AF6A;
  outline-offset: 2px;
}

.tera-hamburger span {
  display: block;
  width: 18px;
  height: 1.5px;
  background: #D4AF6A !important;
  transition: all 250ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
}

.tera-hamburger.active span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
  background: #D4AF6A !important;
}

.tera-hamburger.active span:nth-child(2) {
  opacity: 0;
}

.tera-hamburger.active span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
  background: #D4AF6A !important;
}


/* ═══════════════════════════════════════════════════════════════════
   9. MOBILE DRAWER
   ═══════════════════════════════════════════════════════════════════ */

/* Backdrop overlay */
.tera-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: all 300ms ease;
  z-index: 998;
}

.tera-drawer-overlay.open {
  opacity: 1;
  visibility: visible;
}

/* Drawer container */
.tera-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 400px;
  height: 100vh;
  height: 100dvh;
  background: #163D30;
  border-left: 1px solid rgba(212, 175, 106, 0.2);
  padding: 88px 32px 32px;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
  z-index: 999;
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.4);
}

.tera-drawer.open {
  transform: translateX(0);
}

.tera-drawer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.8) 50%,
    transparent 100%
  );
  z-index: 1;
}

/* Groups */
.tera-drawer-group {
  margin-bottom: 32px;
}

.tera-drawer-label {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(212, 175, 106, 0.15);
}

/* Top-level link */
.tera-drawer-link {
  display: block;
  padding: 14px 0;
  font-family: 'Raleway', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #F5F0E8;
  text-decoration: none;
  transition: color 200ms ease;
}

.tera-drawer-link:hover {
  color: #D4AF6A;
}

/* Sublink */
.tera-drawer-sublink {
  display: block;
  padding: 10px 0 10px 16px;
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #F5F0E8;
  opacity: 0.85;
  text-decoration: none;
  border-left: 1px solid rgba(212, 175, 106, 0.2);
  transition: all 200ms ease;
}

.tera-drawer-sublink:hover {
  opacity: 1;
  color: #D4AF6A;
  border-left-color: #D4AF6A;
  padding-left: 20px;
}

/* Drawer contact block */
.tera-drawer-contact {
  padding-top: 24px;
  border-top: 1px solid rgba(212, 175, 106, 0.2);
  margin-top: 16px;
}

.tera-drawer-phone {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  color: #D4AF6A;
  font-family: 'Raleway', sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: color 200ms ease;
}

.tera-drawer-phone:hover {
  color: #F0D080;
}

.tera-drawer-cta {
  display: block;
  width: 100%;
  padding: 16px 24px;
  background: #B8922E;
  color: #FFFFFF;
  border: 1px solid #B8922E;
  border-radius: 2px;
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  margin-top: 16px;
  transition: all 250ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
}

.tera-drawer-cta:hover {
  background: #F0D080;
  border-color: #F0D080;
  color: #163D30;
  transform: translateY(-1px);
}


/* ═══════════════════════════════════════════════════════════════════
   10. BODY SCROLL LOCK
   ═══════════════════════════════════════════════════════════════════ */
body.tera-drawer-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}


/* ═══════════════════════════════════════════════════════════════════
   11. GRADIENT DIVIDER COMPONENT
   ═══════════════════════════════════════════════════════════════════ */
.tera-gradient-divider {
  width: 40px;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.7) 50%,
    transparent 100%
  );
  margin: 0 auto;
}


/* ═══════════════════════════════════════════════════════════════════
   12. FEE NOTICE BANNER
   ═══════════════════════════════════════════════════════════════════ */
.tera-fee-notice {
  max-width: 920px;
  margin: 0 auto 80px;
  padding: 16px 32px;
  border: 1px solid rgba(212, 175, 106, 0.5);
  background: rgba(22, 61, 48, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 14px;
  color: #D4AF6A;
  letter-spacing: 0.02em;
}

.tera-fee-notice .fee-notice-icon {
  flex-shrink: 0;
  color: #D4AF6A;
}

@media (max-width: 768px) {
  .tera-fee-notice {
    font-size: 12px;
    padding: 14px 20px;
    flex-wrap: wrap;
    text-align: center;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   13. HOW IT WORKS — STEP SQUARES & CONNECTING LINE
   ═══════════════════════════════════════════════════════════════════ */
.how-steps-row {
  position: relative;
}

.how-steps-row::before {
  content: '';
  position: absolute;
  top: 52px;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(212, 175, 106, 0) 0%,
    rgba(212, 175, 106, 0.5) 10%,
    rgba(212, 175, 106, 0.5) 90%,
    rgba(212, 175, 106, 0) 100%
  );
  z-index: 0;
  pointer-events: none;
}

@media (max-width: 900px) {
  .how-steps-row::before {
    display: none;
  }
}

.step-square {
  width: 104px;
  height: 104px;
  background: #163D30;
  border: 1px solid rgba(212, 175, 106, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 32px;
  transition: all 350ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
}

.step-square:hover {
  border-color: #D4AF6A;
  background: #1B4D3E;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.step-square .step-icon {
  width: 40px;
  height: 40px;
  color: #D4AF6A;
}

.step-number {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 32px;
  height: 32px;
  background: #B8922E;
  border: 1px solid #D4AF6A;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 13px;
  font-weight: 500;
  color: #163D30;
  z-index: 3;
}

@media (max-width: 560px) {
  .step-square {
    width: 88px;
    height: 88px;
  }
  .step-square .step-icon {
    width: 32px;
    height: 32px;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   14. FOOTER — OUTER CONTAINER
   Apply class "tera-footer" to the outermost footer Section
   ═══════════════════════════════════════════════════════════════════ */
.tera-footer {
  background: #081C16 !important;
  border-top: 1px solid rgba(212, 175, 106, 0.2);
  position: relative;
  overflow: hidden;
}

.tera-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
  z-index: 1;
  pointer-events: none;
}


/* ═══════════════════════════════════════════════════════════════════
   15. FOOTER — CTA BAND
   Apply class "tera-footer-cta-band" to the CTA Inner Section
   ═══════════════════════════════════════════════════════════════════ */
.tera-footer-cta-band {
  border-bottom: 1px solid rgba(212, 175, 106, 0.15);
  padding-bottom: 56px !important;
  margin-bottom: 56px !important;
}

/* CTA Kicker — apply class "tera-footer-cta-kicker" */
.tera-footer-cta-kicker {
  margin: 0 !important;
}

.tera-footer-cta-kicker .elementor-heading-title {
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* CTA Heading — apply class "tera-footer-cta-heading" */
.tera-footer-cta-heading {
  margin: 0 0 0 0 !important;
}

.tera-footer-cta-heading .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 60px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.01em !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}


/* ═══════════════════════════════════════════════════════════════════
   16. FOOTER — BRAND COLUMN
   ═══════════════════════════════════════════════════════════════════ */

/* Brand description text — apply class "tera-footer-brand-description" */
.tera-footer-brand-description,
.tera-footer-brand-description .elementor-widget-container,
.tera-footer-brand-description p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #F5F0E8 !important;
  max-width: 280px;
  margin: 0 0 0 0 !important;
}

/* Brand tagline mono — apply class "tera-footer-tagline" */
.tera-footer-tagline {
  margin: 0 !important;
}

.tera-footer-tagline .elementor-heading-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  opacity: 0.8;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}


/* ═══════════════════════════════════════════════════════════════════
   17. FOOTER — COLUMN HEADINGS
   Apply class "tera-footer-col-heading" to Heading widgets
   ═══════════════════════════════════════════════════════════════════ */
.tera-footer-col-heading {
  margin: 0 0 24px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(212, 175, 106, 0.15);
}

.tera-footer-col-heading .elementor-heading-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  opacity: 0.7;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   18. FOOTER — NAV MENU
   Apply class "tera-footer-nav" to Nav Menu widget
   ═══════════════════════════════════════════════════════════════════ */
.tera-footer-nav .elementor-nav-menu,
.tera-footer-nav nav .elementor-nav-menu,
.tera-footer-nav ul.elementor-nav-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.tera-footer-nav .elementor-nav-menu li,
.tera-footer-nav .elementor-nav-menu .menu-item {
  width: auto !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tera-footer-nav .elementor-nav-menu li a,
.tera-footer-nav .elementor-nav-menu li a.elementor-item,
.tera-footer-nav .elementor-nav-menu .menu-item a,
.tera-footer-nav .elementor-nav-menu a.elementor-item:link,
.tera-footer-nav .elementor-nav-menu a.elementor-item:visited {
  display: inline-block !important;
  padding: 6px 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #F5F0E8 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  fill: currentColor !important;
  position: relative !important;
  transition: all 200ms ease !important;
}

.tera-footer-nav .elementor-nav-menu li a::before,
.tera-footer-nav .elementor-nav-menu li a.elementor-item::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 0 !important;
  height: 1px !important;
  background: #D4AF6A !important;
  transition: width 200ms ease !important;
  pointer-events: none !important;
}

.tera-footer-nav .elementor-nav-menu li a:hover,
.tera-footer-nav .elementor-nav-menu li a.elementor-item:hover,
.tera-footer-nav .elementor-nav-menu li a.elementor-item:focus,
.tera-footer-nav .elementor-nav-menu li a.elementor-item-active,
.tera-footer-nav .elementor-nav-menu li.current-menu-item a {
  color: #D4AF6A !important;
  padding-left: 16px !important;
  background: transparent !important;
}

.tera-footer-nav .elementor-nav-menu li a:hover::before,
.tera-footer-nav .elementor-nav-menu li a.elementor-item:hover::before {
  width: 12px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   19. FOOTER — CONTACT ITEMS (HTML widget version)
   ═══════════════════════════════════════════════════════════════════ */
.tera-footer-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #F5F0E8 !important;
  text-decoration: none !important;
  transition: color 200ms ease !important;
}

.tera-footer-contact-item:last-of-type {
  margin-bottom: 0 !important;
}

a.tera-footer-contact-item:hover {
  color: #D4AF6A !important;
}

.tera-footer-contact-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: #D4AF6A;
  margin-top: 3px;
  transition: color 200ms ease;
}

a.tera-footer-contact-item:hover .tera-footer-contact-icon {
  color: #F0D080;
}

.tera-footer-contact-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tera-footer-contact-text strong {
  display: block;
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  transition: color 200ms ease;
}

a.tera-footer-contact-item:hover .tera-footer-contact-text strong {
  color: #D4AF6A;
}

.tera-footer-contact-text small {
  display: block;
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: #888888;
  letter-spacing: 0.04em;
  margin-top: 2px;
}


/* ═══════════════════════════════════════════════════════════════════
   20. FOOTER — SOCIAL ICONS (HTML widget version)
   ═══════════════════════════════════════════════════════════════════ */
.tera-footer-social {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(212, 175, 106, 0.1);
  flex-wrap: wrap;
}

.tera-footer-social-link,
.tera-footer-social-link:link,
.tera-footer-social-link:visited {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(212, 175, 106, 0.3);
  border-radius: 2px;
  color: #D4AF6A;
  background: transparent;
  text-decoration: none;
  transition: all 200ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
}

.tera-footer-social-link:hover,
.tera-footer-social-link:focus {
  border-color: #D4AF6A;
  background: rgba(212, 175, 106, 0.06);
  color: #F0D080;
  transform: translateY(-2px);
}

.tera-footer-social-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════════════
   21. FOOTER — DISCLAIMER BLOCK
   ═══════════════════════════════════════════════════════════════════ */

/* Disclaimer block wrapper — apply class "tera-footer-disclaimer-block" */
.tera-footer-disclaimer-block {
  padding: 32px 0 !important;
  margin-bottom: 32px !important;
  border-top: 1px solid rgba(212, 175, 106, 0.15);
  border-bottom: 1px solid rgba(212, 175, 106, 0.15);
}

/* Disclaimer label — apply class "tera-footer-disclaimer-label" */
.tera-footer-disclaimer-label {
  margin: 0 0 12px 0 !important;
}

.tera-footer-disclaimer-label .elementor-heading-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  opacity: 0.7;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Disclaimer text — apply class "tera-footer-disclaimer-text" */
.tera-footer-disclaimer-text,
.tera-footer-disclaimer-text .elementor-widget-container,
.tera-footer-disclaimer-text .elementor-widget-container p,
.tera-footer-disclaimer-text p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  color: #888888 !important;
  max-width: 920px;
  margin: 0 !important;
}

.tera-footer-disclaimer-text strong,
.tera-footer-disclaimer-text .elementor-widget-container strong {
  color: #F5F0E8 !important;
  font-weight: 600 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   22. FOOTER — BOTTOM BAR (Copyright + Legal Nav)
   ═══════════════════════════════════════════════════════════════════ */

/* Bottom bar wrapper — apply class "tera-footer-bottom-bar" */
.tera-footer-bottom-bar {
  /* No specific styling — Elementor's row settings handle layout */
}

/* Copyright text — apply class "tera-footer-copyright" */
.tera-footer-copyright,
.tera-footer-copyright .elementor-widget-container,
.tera-footer-copyright p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  color: #888888 !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
}

.tera-footer-copyright strong,
.tera-footer-copyright .elementor-widget-container strong {
  color: #D4AF6A !important;
  font-weight: 500 !important;
}

/* Website credit link in copyright (overrides Elementor's global link color) */
.tera-footer-copyright a,
.tera-footer-copyright a:link,
.tera-footer-copyright a:visited,
.tera-footer-copyright .elementor-widget-container a,
.tera-footer-copyright p a,
p.tera-footer-copyright a {
  color: #888888 !important;
  text-decoration: none !important;
  transition: color 200ms ease !important;
  font-weight: 400 !important;
  border-bottom: 1px dotted rgba(212, 175, 106, 0.3) !important;
  padding-bottom: 1px;
  background: transparent !important;
}

.tera-footer-copyright a:hover,
.tera-footer-copyright a:focus,
.tera-footer-copyright .elementor-widget-container a:hover,
.tera-footer-copyright p a:hover,
p.tera-footer-copyright a:hover {
  color: #D4AF6A !important;
  border-bottom-color: #D4AF6A !important;
  background: transparent !important;
}
/* ════════════════════════════════════════════
   LEGAL LINKS NAV
   Apply class "tera-footer-legal-nav" to Nav Menu widget
   ════════════════════════════════════════════ */

/* Container — horizontal layout */
.tera-footer-legal-nav .elementor-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.tera-footer-legal-nav .elementor-nav-menu li,
.tera-footer-legal-nav .elementor-nav-menu .menu-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

/* All link states — normal, visited, active, current page */
.tera-footer-legal-nav .elementor-nav-menu a,
.tera-footer-legal-nav .elementor-nav-menu a.elementor-item,
.tera-footer-legal-nav .elementor-nav-menu a:link,
.tera-footer-legal-nav .elementor-nav-menu a:visited,
.tera-footer-legal-nav .elementor-nav-menu a.elementor-item-active,
.tera-footer-legal-nav .elementor-nav-menu li.current-menu-item a,
.tera-footer-legal-nav .elementor-nav-menu li.current_page_item a {
  font-family: 'Raleway', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #888888 !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
  background: transparent !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  transition: color 200ms ease !important;
}

/* Hover state */
.tera-footer-legal-nav .elementor-nav-menu a:hover,
.tera-footer-legal-nav .elementor-nav-menu a.elementor-item:hover,
.tera-footer-legal-nav .elementor-nav-menu a.elementor-item-active:hover,
.tera-footer-legal-nav .elementor-nav-menu li.current-menu-item a:hover,
.tera-footer-legal-nav .elementor-nav-menu li.current_page_item a:hover {
  color: #D4AF6A !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
}

/* Remove any pointer/underline indicators Elementor might add */
.tera-footer-legal-nav .elementor-item::before,
.tera-footer-legal-nav .elementor-item::after,
.tera-footer-legal-nav .elementor-item-active::before,
.tera-footer-legal-nav .elementor-item-active::after {
  display: none !important;
  content: none !important;
}


/* ═══════════════════════════════════════════════════════════════════
   23. FOOTER — MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

/* Tablet (under 1024px) */
@media (max-width: 1024px) {
  .tera-footer {
    padding-top: 64px !important;
    padding-bottom: 24px !important;
  }

  .tera-footer-cta-heading .elementor-heading-title {
    font-size: 36px !important;
  }

  .tera-footer-main-grid > .elementor-container {
    flex-wrap: wrap !important;
  }
  
  .tera-footer-main-grid > .elementor-container > .elementor-column {
    width: 50% !important;
  }
  
  .tera-footer-main-grid > .elementor-container > .elementor-column:first-child {
    width: 100% !important;
    margin-bottom: 16px;
  }
}

/* Mobile (under 768px) */
@media (max-width: 768px) {
  .tera-footer {
    padding-top: 48px !important;
    padding-bottom: 24px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .tera-footer-cta-band > .elementor-container {
    flex-direction: column !important;
  }
  
  .tera-footer-cta-band > .elementor-container > .elementor-column {
    width: 100% !important;
  }

  .tera-footer-cta-heading .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }

  .tera-btn-primary,
  .tera-btn-outline {
    width: 100% !important;
  }
  
  .tera-btn-primary .elementor-button,
  .tera-btn-outline .elementor-button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .tera-footer-main-grid > .elementor-container {
    flex-direction: column !important;
  }
  
  .tera-footer-main-grid > .elementor-container > .elementor-column {
    width: 100% !important;
  }

  .tera-footer-bottom-bar > .elementor-container {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  
  .tera-footer-bottom-bar > .elementor-container > .elementor-column {
    width: 100% !important;
  }

  .tera-footer-brand-description,
  .tera-footer-brand-description p {
    max-width: 100% !important;
  }

  .tera-footer-legal-nav .elementor-nav-menu {
    justify-content: flex-start !important;
  }

  .tera-footer-social {
    margin-top: 16px;
    padding-top: 16px;
  }

  .tera-footer-disclaimer-block {
    padding: 24px 0 !important;
    margin-bottom: 24px !important;
  }
}

/* Small Mobile (under 480px) */
@media (max-width: 480px) {
  .tera-footer-cta-heading .elementor-heading-title {
    font-size: 24px !important;
  }

  .tera-footer-disclaimer-text,
  .tera-footer-disclaimer-text p {
    font-size: 11px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   24. MANUFACTURERS DUAL CAROUSEL
   ═══════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════
   VIEWPORT
   ════════════════════════════════════════════ */
.tera-carousel-viewport,
.elementor-section.tera-carousel-viewport,
.e-con.tera-carousel-viewport,
section.tera-carousel-viewport {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Edge fades — pseudo-elements that match section background */
.tera-carousel-viewport::before,
.tera-carousel-viewport::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8%;
  z-index: 5;
  pointer-events: none;
}

.tera-carousel-viewport::before {
  left: 0;
  background: linear-gradient(
    to right,
    #1B4D3E 0%,
    rgba(27, 77, 62, 0) 100%
  );
}

.tera-carousel-viewport::after {
  right: 0;
  background: linear-gradient(
    to left,
    #1B4D3E 0%,
    rgba(27, 77, 62, 0) 100%
  );
}

/* Force inner Elementor container to fill viewport */
.tera-carousel-viewport > .elementor-container,
.tera-carousel-viewport > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}

/* ════════════════════════════════════════════
   TRACK
   ════════════════════════════════════════════ */
.tera-carousel-track,
.elementor-element.tera-carousel-track,
.e-con.tera-carousel-track,
.elementor-column.tera-carousel-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: none !important;
  min-width: max-content !important;
  gap: 24px !important;
  padding: 16px 12px !important;
  align-items: center !important;
}

.tera-carousel-track > .elementor-widget-wrap,
.tera-carousel-track > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: none !important;
  gap: 24px !important;
}

/* Card children — fixed width, scale-only transition (no shadow) */
.tera-carousel-track > *,
.tera-carousel-track .elementor-widget-wrap > * {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  transition: transform 100ms ease-out !important;
}

/* ════════════════════════════════════════════
   ANIMATIONS — JavaScript will set these distances
   ════════════════════════════════════════════ */
.tera-carousel-track-left {
  animation: teraScrollLeft 40s linear infinite !important;
}

.tera-carousel-track-right {
  animation: teraScrollRight 40s linear infinite !important;
}

@keyframes teraScrollLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

@keyframes teraScrollRight {
  0% { transform: translateX(-33.333%); }
  100% { transform: translateX(0); }
}

/* Pause on hover */
.tera-carousel-viewport:hover .tera-carousel-track {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  .tera-carousel-track-left,
  .tera-carousel-track-right {
    animation: none !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .tera-carousel-track > *,
  .tera-carousel-track .elementor-widget-wrap > * {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   25. ABOUT SECTION
   ═══════════════════════════════════════════════════════════════════ */

/* Outer section — apply class "tera-about-section" */
.tera-about-section {
  background: #1B4D3E !important;
}

/* ════════════════════════════════════════════
   PHOTO BLOCK
   ════════════════════════════════════════════ */
.tera-about-photo-wrapper {
  position: relative;
  width: 100%;
}

.tera-about-photo {
  position: relative;
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, #163D30 0%, #0D2B22 100%);
  border: 1px solid rgba(212, 175, 106, 0.4);
  overflow: hidden;
  z-index: 2;
}

.tera-about-photo::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.8) 50%,
    transparent 100%
  );
  z-index: 3;
}

.tera-about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Decorative offset frame behind photo */
.tera-about-photo-wrapper::after {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  right: -24px;
  bottom: -24px;
  border: 1px solid rgba(212, 175, 106, 0.15);
  z-index: 1;
  pointer-events: none;
}

/* Credential badge over the photo */
.tera-about-credential {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  padding: 16px 20px;
  background: rgba(8, 28, 22, 0.85);
  border: 1px solid rgba(212, 175, 106, 0.3);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 4;
}

.tera-about-credential-label {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
  margin-bottom: 4px;
}

.tera-about-credential-value {
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0.04em;
}

/* ════════════════════════════════════════════
   CONTENT — KICKER, HEADING, BODY TEXT
   ════════════════════════════════════════════ */

/* Kicker — apply class "tera-about-kicker" to a Heading widget (set HTML tag to "p" or "span") */
.tera-about-kicker {
  margin: 0 0 16px 0 !important;
}

.tera-about-kicker .elementor-heading-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Heading — apply class "tera-about-heading" to a Heading widget (h2 tag) */
.tera-about-heading {
  margin: 0 0 24px 0 !important;
}

.tera-about-heading .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 48px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.01em !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Lead paragraph — apply class "tera-about-lead" to a Text Editor widget */
.tera-about-lead,
.tera-about-lead p,
.tera-about-lead .elementor-widget-container,
.tera-about-lead .elementor-widget-container p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #F5F0E8 !important;
  margin: 0 0 20px 0 !important;
}

.tera-about-lead strong,
.tera-about-lead .elementor-widget-container strong {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* Supporting body paragraph — apply class "tera-about-body" to a Text Editor widget */
.tera-about-body,
.tera-about-body p,
.tera-about-body .elementor-widget-container,
.tera-about-body .elementor-widget-container p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #F5F0E8 !important;
  opacity: 0.9 !important;
  margin: 0 0 32px 0 !important;
}

/* ════════════════════════════════════════════
   DIFFERENTIATORS GRID
   Apply class "tera-about-diff-grid" to the Inner Container holding 4 HTML widgets
   ════════════════════════════════════════════ */

.tera-about-diff-grid {
  margin-bottom: 40px !important;
}

.tera-about-diff {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.tera-about-diff-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(212, 175, 106, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF6A;
}

.tera-about-diff-icon svg {
  color: #D4AF6A;
}

.tera-about-diff-text {
  flex: 1;
}

.tera-about-diff-title {
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.tera-about-diff-desc {
  font-family: 'Raleway', sans-serif;
  font-size: 12px;
  color: #F5F0E8;
  opacity: 0.7;
  line-height: 1.5;
}

/* ════════════════════════════════════════════
   MOBILE RESPONSIVE
   ════════════════════════════════════════════ */

@media (max-width: 900px) {
  .tera-about-section {
    padding: 64px 24px !important;
  }

  /* Stack two columns vertically */
  .tera-about-section > .elementor-container,
  .tera-about-section .e-con-inner {
    flex-direction: column !important;
    gap: 48px !important;
  }

  .tera-about-section > .elementor-container > .elementor-column,
  .tera-about-section .e-con-inner > * {
    width: 100% !important;
  }

  .tera-about-photo-wrapper {
    max-width: 380px;
    margin: 0 auto;
  }

  .tera-about-photo-wrapper::after {
    top: 16px;
    left: 16px;
    right: -16px;
    bottom: -16px;
  }

  .tera-about-heading .elementor-heading-title {
    font-size: 36px !important;
  }
}

@media (max-width: 600px) {
  .tera-about-diff-grid > .elementor-container,
  .tera-about-diff-grid .e-con-inner {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
  }
}

@media (max-width: 480px) {
  .tera-about-heading .elementor-heading-title {
    font-size: 28px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   26. ABOUT PAGE
   ═══════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════
   PAGE HERO
   ════════════════════════════════════════════ */
.tera-about-hero {
  background: linear-gradient(135deg, #163D30 0%, #0D2B22 100%) !important;
  border-bottom: 1px solid rgba(212, 175, 106, 0.2);
  position: relative;
  overflow: hidden;
}

.tera-about-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
  z-index: 1;
}

.tera-about-hero-breadcrumb {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
  margin-bottom: 24px;
  text-align: center;
}

.tera-about-hero-breadcrumb span {
  margin: 0 8px;
  opacity: 0.4;
}

.tera-about-hero h1,
.tera-about-hero-h1 .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 84px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  color: #FFFFFF !important;
  margin: 0 0 24px 0 !important;
}

.tera-about-hero-subhead,
.tera-about-hero-subhead p,
.tera-about-hero-subhead .elementor-widget-container p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #F5F0E8 !important;
  max-width: 720px;
  margin: 0 auto !important;
  opacity: 0.9 !important;
}

/* ════════════════════════════════════════════
   ATTORNEY SPOTLIGHT
   ════════════════════════════════════════════ */
.tera-spotlight-photo-wrapper {
  position: relative;
  width: 100%;
}

.tera-spotlight-photo {
  position: relative;
  aspect-ratio: 3/4;
  background: linear-gradient(135deg, #163D30 0%, #0D2B22 100%);
  border: 1px solid rgba(212, 175, 106, 0.4);
  overflow: hidden;
  z-index: 2;
}

.tera-spotlight-photo::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.8) 50%,
    transparent 100%
  );
  z-index: 3;
}

.tera-spotlight-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tera-spotlight-photo-wrapper::after {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  right: -24px;
  bottom: -24px;
  border: 1px solid rgba(212, 175, 106, 0.15);
  z-index: 1;
  pointer-events: none;
}

/* Info card under photo */
.tera-spotlight-info {
  margin-top: 40px;
  padding: 24px;
  background: rgba(8, 28, 22, 0.5);
  border: 1px solid rgba(212, 175, 106, 0.2);
  position: relative;
  z-index: 2;
}

.tera-spotlight-info-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin-bottom: 4px;
}

.tera-spotlight-info-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  margin-bottom: 20px;
}

.tera-spotlight-info-credentials {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid rgba(212, 175, 106, 0.15);
}

.tera-spotlight-credential-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.tera-spotlight-credential-icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  color: #D4AF6A;
  margin-top: 3px;
}

.tera-spotlight-credential-text strong {
  display: block;
  color: #FFFFFF;
  font-weight: 600;
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  margin-bottom: 2px;
}

.tera-spotlight-credential-text span {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  color: #888888;
  opacity: 0.85;
}

/* Bio content typography */
.tera-spotlight-kicker,
.tera-spotlight-kicker .elementor-heading-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  margin: 0 0 16px 0 !important;
}

.tera-spotlight-heading,
.tera-spotlight-heading .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 40px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.01em !important;
  color: #FFFFFF !important;
  margin: 0 0 24px 0 !important;
}

.tera-spotlight-paragraph,
.tera-spotlight-paragraph p,
.tera-spotlight-paragraph .elementor-widget-container p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #F5F0E8 !important;
  margin: 0 0 16px 0 !important;
}

.tera-spotlight-paragraph strong,
.tera-spotlight-paragraph .elementor-widget-container strong {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* Pull quote */
.tera-spotlight-quote {
  position: relative;
  padding: 32px 40px;
  border-left: 2px solid #D4AF6A;
  background: rgba(22, 61, 48, 0.4);
}

.tera-spotlight-quote-text {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.tera-spotlight-quote-attribution {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.8;
}

/* ════════════════════════════════════════════
   PHILOSOPHY CARDS
   ════════════════════════════════════════════ */
.tera-philosophy-card {
  position: relative;
  padding: 40px 32px;
  background: rgba(27, 77, 62, 0.5);
  border: 1px solid rgba(212, 175, 106, 0.2);
  transition: all 350ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
  height: 100%;
}

.tera-philosophy-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
}

.tera-philosophy-card:hover {
  border-color: rgba(212, 175, 106, 0.5);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.tera-philosophy-icon {
  width: 56px;
  height: 56px;
  border: 1px solid rgba(212, 175, 106, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  color: #D4AF6A;
}

.tera-philosophy-icon svg {
  color: #D4AF6A;
}

.tera-philosophy-card-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin-bottom: 12px;
}

.tera-philosophy-card-text {
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #F5F0E8;
}

/* ════════════════════════════════════════════
   PROFESSIONAL JOURNEY (TIMELINE)
   ════════════════════════════════════════════ */
.tera-journey-list {
  position: relative;
  padding-left: 48px;
  max-width: 800px;
  margin: 0 auto;
}

.tera-journey-list::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(
    to bottom,
    rgba(212, 175, 106, 0.6) 0%,
    rgba(212, 175, 106, 0.2) 100%
  );
}

.tera-journey-item {
  position: relative;
  padding-bottom: 40px;
}

.tera-journey-item:last-child {
  padding-bottom: 0;
}

.tera-journey-item::before {
  content: '';
  position: absolute;
  left: -45px;
  top: 6px;
  width: 16px;
  height: 16px;
  background: #1B4D3E;
  border: 1px solid #D4AF6A;
  border-radius: 50%;
  z-index: 1;
}

.tera-journey-item::after {
  content: '';
  position: absolute;
  left: -41px;
  top: 10px;
  width: 8px;
  height: 8px;
  background: #D4AF6A;
  border-radius: 50%;
  z-index: 2;
}

.tera-journey-year {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.8;
  margin-bottom: 8px;
}

.tera-journey-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin-bottom: 8px;
}

.tera-journey-description {
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #F5F0E8;
  opacity: 0.9;
}

/* ════════════════════════════════════════════
   MEMBERSHIPS
   ════════════════════════════════════════════ */
.tera-membership-item {
  padding: 24px 20px;
  background: rgba(27, 77, 62, 0.4);
  border: 1px solid rgba(212, 175, 106, 0.2);
  text-align: center;
  transition: all 250ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
}

.tera-membership-item:hover {
  border-color: rgba(212, 175, 106, 0.5);
  transform: translateY(-2px);
}

.tera-membership-name {
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #FFFFFF;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.tera-membership-detail {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
}

/* ════════════════════════════════════════════
   MOBILE RESPONSIVE
   ════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .tera-about-hero h1,
  .tera-about-hero-h1 .elementor-heading-title {
    font-size: 64px !important;
  }

  .tera-spotlight-photo-wrapper {
    max-width: 380px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .tera-about-hero h1,
  .tera-about-hero-h1 .elementor-heading-title {
    font-size: 48px !important;
  }

  .tera-about-hero-subhead,
  .tera-about-hero-subhead p {
    font-size: 16px !important;
  }

  .tera-spotlight-heading,
  .tera-spotlight-heading .elementor-heading-title {
    font-size: 32px !important;
  }

  .tera-spotlight-quote {
    padding: 24px 28px;
  }

  .tera-spotlight-quote-text {
    font-size: 22px;
  }

  .tera-journey-list {
    padding-left: 32px;
  }

  .tera-journey-item::before {
    left: -29px;
  }

  .tera-journey-item::after {
    left: -25px;
  }
}

@media (max-width: 480px) {
  .tera-about-hero h1,
  .tera-about-hero-h1 .elementor-heading-title {
    font-size: 38px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   27. PRACTICE AREA PAGES (LEMON LAW + PERSONAL INJURY)
   Reusable across both pages — content changes, structure stays
   ═══════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════
   PAGE HERO
   ════════════════════════════════════════════ */
.tera-page-hero {
  background: linear-gradient(135deg, #163D30 0%, #0D2B22 100%) !important;
  border-bottom: 1px solid rgba(212, 175, 106, 0.2);
  position: relative;
  overflow: hidden;
}

.tera-page-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
  z-index: 1;
}

/* Subtle diagonal pattern */
.tera-page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0,
    transparent 80px,
    rgba(212, 175, 106, 0.02) 80px,
    rgba(212, 175, 106, 0.02) 81px
  );
  pointer-events: none;
  z-index: 0;
}

.tera-page-hero-breadcrumb {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
}

.tera-page-hero-breadcrumb span {
  margin: 0 10px;
  opacity: 0.4;
}

/* Hero kicker */
.tera-page-hero-kicker .elementor-heading-title {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6A !important;
  margin: 0 !important;
}

.tera-page-hero-kicker {
  margin: 0 0 16px 0 !important;
}

/* Hero H1 */
.tera-page-hero-h1 .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 84px !important;
  font-weight: 500 !important;
  line-height: 0.95 !important;
  letter-spacing: 0.01em !important;
  color: #FFFFFF !important;
  margin: 0 !important;
}

.tera-page-hero-h1 {
  margin: 0 0 24px 0 !important;
}

/* Hero subhead */
.tera-page-hero-subhead .elementor-widget-container,
.tera-page-hero-subhead p {
  font-family: 'Raleway', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #F5F0E8 !important;
  opacity: 0.92 !important;
  margin: 0 0 32px 0 !important;
  max-width: 540px;
}

/* Hero stats card */
.tera-page-hero-stats {
  background: rgba(8, 28, 22, 0.5);
  border: 1px solid rgba(212, 175, 106, 0.3);
  padding: 32px;
  position: relative;
}

.tera-page-hero-stats::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.8) 50%,
    transparent 100%
  );
}

.tera-page-hero-stats-label {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
  margin-bottom: 24px;
}

.tera-page-hero-stat {
  padding: 16px 0;
  border-bottom: 1px solid rgba(212, 175, 106, 0.15);
}

.tera-page-hero-stat:last-child {
  border-bottom: none;
}

.tera-page-hero-stat-value {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 36px;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  margin-bottom: 4px;
}

.tera-page-hero-stat-label {
  font-family: 'Raleway', sans-serif;
  font-size: 12px;
  color: #F5F0E8;
  opacity: 0.8;
  letter-spacing: 0.04em;
}

/* ════════════════════════════════════════════
   CASE TYPE CARDS
   ════════════════════════════════════════════ */
.tera-case-card {
  position: relative;
  padding: 36px 32px;
  background: rgba(27, 77, 62, 0.5);
  border: 1px solid rgba(212, 175, 106, 0.2);
  transition: all 350ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
  height: 100%;
}

.tera-case-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
}

.tera-case-card:hover {
  border-color: rgba(212, 175, 106, 0.5);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.tera-case-icon {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(212, 175, 106, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  color: #D4AF6A;
}

.tera-case-card-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 24px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin-bottom: 12px;
}

.tera-case-card-text {
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #F5F0E8;
  margin-bottom: 16px;
  opacity: 0.9;
}

.tera-case-card-list {
  list-style: none;
  padding: 0;
  margin-top: 16px;
  border-top: 1px solid rgba(212, 175, 106, 0.15);
  padding-top: 16px;
}

.tera-case-card-list li {
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  color: #F5F0E8;
  padding: 6px 0 6px 20px;
  position: relative;
  opacity: 0.85;
}

.tera-case-card-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 8px;
  height: 1px;
  background: #D4AF6A;
}

/* ════════════════════════════════════════════
   LAW EXPLAINER CARDS
   ════════════════════════════════════════════ */
.tera-law-card {
  position: relative;
  padding: 40px;
  background: rgba(8, 28, 22, 0.4);
  border: 1px solid rgba(212, 175, 106, 0.25);
  height: 100%;
}

.tera-law-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
}

.tera-law-card-label {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.7;
  margin-bottom: 12px;
}

.tera-law-card-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  margin-bottom: 16px;
  line-height: 1.1;
}

.tera-law-card-text {
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #F5F0E8;
}

.tera-law-card-text strong {
  color: #FFFFFF;
  font-weight: 600;
}

/* ════════════════════════════════════════════
   RECOVERY OPTIONS (3-COLUMN ROW)
   ════════════════════════════════════════════ */
.tera-recovery-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid rgba(212, 175, 106, 0.25);
  background: rgba(8, 28, 22, 0.3);
}

.tera-recovery-option {
  padding: 40px 32px;
  border-right: 1px solid rgba(212, 175, 106, 0.15);
  position: relative;
  transition: background 250ms ease;
}

.tera-recovery-option:last-child {
  border-right: none;
}

.tera-recovery-option:hover {
  background: rgba(212, 175, 106, 0.04);
}

.tera-recovery-number {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 56px;
  line-height: 1;
  color: #D4AF6A;
  opacity: 0.4;
  margin-bottom: 16px;
}

.tera-recovery-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin-bottom: 12px;
}

.tera-recovery-text {
  font-family: 'Raleway', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #F5F0E8;
  margin-bottom: 16px;
}

.tera-recovery-detail {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.8;
}

/* ════════════════════════════════════════════
   RESULT CARDS (CASE OUTCOMES)
   ════════════════════════════════════════════ */
.tera-result-card {
  position: relative;
  padding: 32px 28px;
  background: rgba(22, 61, 48, 0.4);
  border: 1px solid rgba(212, 175, 106, 0.25);
  transition: all 350ms cubic-bezier(0.25, 0.1, 0.25, 1.0);
  height: 100%;
}

.tera-result-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(212, 175, 106, 0.6) 50%,
    transparent 100%
  );
}

.tera-result-card:hover {
  border-color: rgba(212, 175, 106, 0.5);
  transform: translateY(-3px);
}

.tera-result-vehicle {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF6A;
  opacity: 0.8;
  margin-bottom: 12px;
}

.tera-result-amount {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 44px;
  line-height: 1;
  letter-spacing: 0.01em;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #F0D080 0%, #D4AF6A 50%, #B8922E 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
}

.tera-result-type {
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}

.tera-result-description {
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #F5F0E8;
  opacity: 0.85;
}

.tera-results-disclaimer {
  text-align: center;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #888888;
  opacity: 0.7;
  margin-top: 24px;
}

/* ════════════════════════════════════════════
   PROCESS STEPS (4-COLUMN)
   ════════════════════════════════════════════ */
.tera-process-steps {
  position: relative;
}

.tera-process-steps::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(212, 175, 106, 0) 0%,
    rgba(212, 175, 106, 0.4) 10%,
    rgba(212, 175, 106, 0.4) 90%,
    rgba(212, 175, 106, 0) 100%
  );
  z-index: 0;
  pointer-events: none;
}

.tera-process-step {
  position: relative;
  z-index: 1;
  text-align: center;
}

.tera-process-step-number {
  width: 64px;
  height: 64px;
  margin: 0 auto 24px;
  background: #163D30;
  border: 1px solid #D4AF6A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  color: #D4AF6A;
  letter-spacing: 0.04em;
}

.tera-process-step-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin-bottom: 12px;
}

.tera-process-step-text {
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #F5F0E8;
  opacity: 0.85;
}

/* ════════════════════════════════════════════
   MOBILE RESPONSIVE
   ════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .tera-page-hero-h1 .elementor-heading-title {
    font-size: 64px !important;
  }

  .tera-recovery-options {
    grid-template-columns: 1fr 1fr !important;
  }

  .tera-recovery-option {
    border-right: none;
    border-bottom: 1px solid rgba(212, 175, 106, 0.15);
  }

  .tera-recovery-option:nth-last-child(-n+2) {
    border-bottom: none;
  }

  .tera-process-steps::before {
    display: none;
  }
}

@media (max-width: 768px) {
  .tera-page-hero-h1 .elementor-heading-title {
    font-size: 48px !important;
  }

  .tera-recovery-options {
    grid-template-columns: 1fr !important;
  }

  .tera-recovery-option {
    border-bottom: 1px solid rgba(212, 175, 106, 0.15);
  }

  .tera-recovery-option:last-child {
    border-bottom: none;
  }
}

@media (max-width: 480px) {
  .tera-page-hero-h1 .elementor-heading-title {
    font-size: 38px !important;
  }
}
/* ════════════════════════════════════════════
   FAQ ACCORDION STYLING
   Apply class "tera-faq-section" to the Section containing the accordion
   Covers Accordion widget, Toggle widget, and FAQ widget variants
   ════════════════════════════════════════════ */

/* Accordion item wrapper — multiple Elementor variants */
.tera-faq-section .elementor-accordion-item,
.tera-faq-section .elementor-toggle-item,
.tera-faq-section .e-n-accordion-item,
.tera-faq-section details {
  background: rgba(22, 61, 48, 0.5) !important;
  border: 1px solid rgba(212, 175, 106, 0.2) !important;
  border-radius: 0 !important;
  margin-bottom: 16px !important;
  overflow: hidden;
}

/* Question/Tab title */
.tera-faq-section .elementor-tab-title,
.tera-faq-section .elementor-accordion-title,
.tera-faq-section .e-n-accordion-item-title,
.tera-faq-section summary,
.tera-faq-section .elementor-toggle-title {
  padding: 24px 28px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  letter-spacing: 0.02em !important;
  cursor: pointer;
  transition: color 200ms ease;
}

.tera-faq-section .elementor-tab-title:hover,
.tera-faq-section .elementor-accordion-title:hover,
.tera-faq-section .e-n-accordion-item-title:hover,
.tera-faq-section summary:hover {
  color: #D4AF6A !important;
}

/* Active state — when expanded */
.tera-faq-section .elementor-tab-title.elementor-active,
.tera-faq-section .elementor-accordion-title.elementor-active,
.tera-faq-section details[open] summary {
  color: #D4AF6A !important;
  border-bottom: 1px solid rgba(212, 175, 106, 0.15) !important;
}

/* Accordion icon (the +/- or arrow) */
.tera-faq-section .elementor-accordion-icon,
.tera-faq-section .elementor-tab-title .fa,
.tera-faq-section .elementor-tab-title svg,
.tera-faq-section .e-n-accordion-item-title-icon,
.tera-faq-section summary svg {
  color: #D4AF6A !important;
  fill: #D4AF6A !important;
  stroke: #D4AF6A !important;
}

.tera-faq-section .elementor-accordion-icon-closed,
.tera-faq-section .elementor-accordion-icon-opened {
  color: #D4AF6A !important;
}

/* Answer/Tab content */
.tera-faq-section .elementor-tab-content,
.tera-faq-section .elementor-accordion-content,
.tera-faq-section .e-n-accordion-item-content,
.tera-faq-section .elementor-toggle-content,
.tera-faq-section details > div {
  padding: 20px 28px 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #F5F0E8 !important;
  opacity: 0.9 !important;
  background: transparent !important;
  border: none !important;
}

/* Bold text in answers */
.tera-faq-section .elementor-tab-content strong,
.tera-faq-section .elementor-accordion-content strong,
.tera-faq-section .e-n-accordion-item-content strong,
.tera-faq-section .elementor-toggle-content strong,
.tera-faq-section details > div strong {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* Override default border-bottom on accordion title that some versions add */
.tera-faq-section .elementor-tab-title,
.tera-faq-section .elementor-accordion-title {
  border-bottom: 0 !important;
}

/* Override Elementor's container/content border */
.tera-faq-section .elementor-tab-content {
  border-top: 1px solid rgba(212, 175, 106, 0.15) !important;
}
/* ════════════════════════════════════════════
   LAW CARD TITLE
   Works for HTML widget AND Elementor Heading widget
   ════════════════════════════════════════════ */
.tera-law-card-title,
.tera-law-card-title .elementor-heading-title,
h3.tera-law-card-title,
.elementor-widget-heading.tera-law-card-title .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  color: #FFFFFF !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

/* ════════════════════════════════════════════
   RECOVERY OPTION TITLE
   Works for HTML widget AND Elementor Heading widget
   ════════════════════════════════════════════ */
.tera-recovery-title,
.tera-recovery-title .elementor-heading-title,
h3.tera-recovery-title,
.elementor-widget-heading.tera-recovery-title .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  color: #FFFFFF !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}/* End custom CSS */