/* ═══════════════════════════════════════════════════════════════════
   LOCALI BUILDERS - Main Stylesheet
   Light + Green luxury design system
   ═══════════════════════════════════════════════════════════════════ */

/* ── CSS Custom Properties ─────────────────────────────────────── */
:root {
    /* Colors - these are overridden by plugin inline styles */
    --green-deep: #1A3C2A;
    --green-primary: #2D5E3F;
    --green-accent: #3A7D52;
    --green-light: #4A9B66;
    --bg-primary: #FAFAF7;
    --bg-secondary: #F4F1EC;
    --bg-dark-section: #1A3C2A;
    --bg-card: #FFFFFF;
    --text-primary: #1A1A1A;
    --text-secondary: #4A4A4A;
    --text-light: #7A7A7A;
    --text-on-green: #FFFFFF;
    --accent-warm: #C8A96E;
    --accent-copper: #B87333;
    --border-light: #E5E2DC;
    --footer-bg: #1A3C2A;
    --btn-color: #2D5E3F;
    --btn-hover: #3A7D52;

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;

    /* Sizing */
    --wrapper: 1240px;
    --wrapper-wide: 1400px;
    --wrapper-narrow: 800px;
    --gap: 24px;
    --radius: 0;
    --radius-lg: 0;
    --radius-xl: 0;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 20px rgba(26,60,42,0.08);
    --shadow-lg: 0 8px 30px rgba(26,60,42,0.12);
    --shadow-card: 0 2px 12px rgba(0,0,0,0.06);

    /* Accent */
    --lc-accent: #C8A96E;
    --lc-accent-light: #d4bb8a;
    --lc-accent-muted: rgba(200, 169, 110, 0.15);
    --lc-section-gap: 120px;

    /* Transitions */
    --ease: cubic-bezier(0.4, 0, 0.2, 1);
    --speed: 0.3s;
    --speed-fast: 0.15s;
    --speed-slow: 0.5s;
}

/* ── Reset & Base ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-primary);
    background: var(--bg-primary);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--green-primary); text-decoration: none; transition: color var(--speed) var(--ease); }
a:hover { color: var(--green-accent); }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 500; line-height: 1.15; color: var(--text-primary); }
h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, textarea, select {
    font-family: var(--font-body);
    font-size: 15px;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 12px 16px;
    width: 100%;
    transition: border-color var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
    background: var(--bg-card);
    color: var(--text-primary);
}
input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--green-primary);
    box-shadow: 0 0 0 3px rgba(45,94,63,0.12);
}

/* ── Utilities ─────────────────────────────────────────────────── */
.lc-wrapper { max-width: var(--wrapper); margin: 0 auto; padding: 0 20px; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute; height: 1px; width: 1px; overflow: hidden; }
.lc-skip-link { position: absolute; top: -100px; left: 10px; z-index: 10000; padding: 10px 20px; background: var(--green-primary); color: #fff; border-radius: var(--radius); }
.lc-skip-link:focus { top: 10px; }

/* ── Buttons ───────────────────────────────────────────────────── */
.lc-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 32px; border-radius: var(--radius);
    font-family: var(--font-body); font-weight: 600; font-size: 13px;
    letter-spacing: 2px; text-transform: uppercase;
    transition: all var(--speed) var(--ease);
    white-space: nowrap; text-align: center; justify-content: center;
}
.lc-btn--primary { background: var(--btn-color); color: #fff; }
.lc-btn--primary:hover { background: var(--btn-hover); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow-md); }
.lc-btn--outline { border: 2px solid var(--green-primary); color: var(--green-primary); background: transparent; }
.lc-btn--outline:hover { background: var(--green-primary); color: #fff; }
.lc-btn--outline-light { border: 2px solid rgba(255,255,255,0.6); color: #fff; background: transparent; }
.lc-btn--outline-light:hover { background: rgba(255,255,255,0.15); color: #fff; border-color: #fff; }
.lc-btn--light { background: #fff; color: var(--green-deep); }
.lc-btn--light:hover { background: #f0f0f0; color: var(--green-deep); transform: translateY(-1px); }
.lc-btn--lg { padding: 16px 36px; font-size: 15px; }
.lc-btn--sm { padding: 10px 20px; font-size: 13px; }
.lc-btn--block { display: flex; width: 100%; }

.lc-link-arrow {
    display: inline-flex; align-items: center; gap: 6px;
    font-weight: 600; font-size: 14px; text-transform: uppercase;
    letter-spacing: 0.02em; color: var(--green-primary);
}
.lc-link-arrow i { transition: transform var(--speed) var(--ease); }
.lc-link-arrow:hover i { transform: translateX(4px); }
.lc-link-arrow:hover { color: var(--green-accent); }

/* ── Section Labels ────────────────────────────────────────────── */
.lc-label {
    display: block; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 4px;
    color: var(--lc-accent, #C8A96E); margin-bottom: 16px;
}
.lc-label--light { color: var(--lc-accent-light, #d4bb8a); }

/* ── Heading Emphasis ─────────────────────────────────────────── */
h1 em, h2 em { font-style: italic; color: var(--lc-accent, #C8A96E); }

/* ── Sections ──────────────────────────────────────────────────── */
.lc-section { padding: var(--lc-section-gap, 120px) 0; }
.lc-section--cream { background: var(--bg-secondary); }
.lc-section--green { background: var(--bg-dark-section); color: var(--text-on-green); }
.lc-section__header { text-align: center; max-width: 700px; margin: 0 auto 48px; }
.lc-section__header--tight { margin-bottom: 28px; }
.lc-section__header h2 { margin-bottom: 12px; }
.lc-section__header p { color: var(--text-secondary); font-size: 17px; line-height: 1.7; }
.lc-section__header--left { text-align: left; max-width: none; }
.lc-section__more { text-align: center; margin-top: 40px; }

/* ── Announcement Bar ──────────────────────────────────────────── */
.lc-announce {
    background: var(--green-deep); color: #fff; padding: 10px 0;
    font-size: 14px; text-align: center; position: relative;
}
.lc-announce a { color: #fff; text-decoration: underline; }
.lc-announce__close { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: #fff; font-size: 20px; }

/* ── Header ────────────────────────────────────────────────────── */
.lc-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    padding: 16px 0; transition: background 0.4s ease, box-shadow 0.4s ease, padding var(--speed) var(--ease);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-light);
}
.lc-header--transparent { background: transparent; border-bottom-color: transparent; }
.lc-header--transparent .lc-header__phone span,
.lc-header--transparent .lc-nav__list > li > a { color: rgba(255,255,255,0.85); }
.lc-header--transparent .lc-header__phone i { color: #fff; }
.lc-header--transparent .lc-nav__list > li > a:hover,
.lc-header--transparent .lc-nav__list > li.current-menu-item > a { color: #fff; }
.lc-header.lc-header--scrolled {
    background: rgba(255,255,255,0.98); padding: 10px 0;
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 2px 20px rgba(0,0,0,0.04); border-bottom-color: rgba(0,0,0,0.06);
}
.lc-header.lc-header--scrolled .lc-header__phone span,
.lc-header.lc-header--scrolled .lc-nav__list > li > a { color: var(--text-primary); }
.lc-header.lc-header--scrolled .lc-header__phone i { color: var(--lc-accent); }
.lc-header__inner { display: flex; align-items: center; gap: 24px; }
.lc-header__brand { flex-shrink: 0; }
.lc-header__logo { height: 45px; width: auto; transition: opacity 0.3s ease; }

/* Single-logo fallback: invert on transparent header */
.lc-header--transparent .lc-header__logo { filter: brightness(0) invert(1); }
.lc-header.lc-header--scrolled .lc-header__logo { filter: none; }

/* Dual-logo swap: light on transparent, dark on scrolled */
.lc-header__logo--light { display: block; filter: none !important; }
.lc-header__logo--dark { display: none; }
.lc-header.lc-header--scrolled .lc-header__logo--light { display: none; }
.lc-header.lc-header--scrolled .lc-header__logo--dark { display: block; }

/* Non-transparent pages (inner pages): show dark logo, hide light */
.lc-header:not(.lc-header--transparent) .lc-header__logo--light { display: none; }
.lc-header:not(.lc-header--transparent) .lc-header__logo--dark { display: block; }

/* Nav */
.lc-nav { flex: 1; display: flex; justify-content: center; }
.lc-nav__list { display: flex; gap: 32px; align-items: center; }
.lc-nav__list > li > a {
    font-size: 12px; font-weight: 500; color: var(--text-primary);
    padding: 8px 12px; position: relative; letter-spacing: 1.5px;
    text-transform: uppercase; white-space: nowrap;
    transition: color 0.3s ease;
}
.lc-nav__list > li > a::after {
    content: ''; position: absolute; bottom: 2px; left: 12px; right: 12px;
    height: 2px; background: var(--lc-accent);
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.3s ease;
}
.lc-nav__list > li > a:hover::after,
.lc-nav__list > li.current-menu-item > a::after { transform: scaleX(1); }

/* Header actions */
.lc-header__actions { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.lc-header__phone { display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13px; white-space: nowrap; }
.lc-header__phone i { color: var(--lc-accent); }
.lc-header__phone span { color: var(--text-primary); }
.lc-header__phone:hover { color: var(--lc-accent); }
.lc-header--transparent .lc-header__phone { color: var(--lc-accent-light); }
.lc-header--scrolled .lc-header__phone { color: var(--lc-accent); }

/* Hamburger */
.lc-hamburger {
    display: none; width: 32px; height: 24px;
    flex-direction: column; justify-content: space-between;
    padding: 0; background: none;
}
.lc-hamburger span {
    display: block; height: 2px; background: var(--text-primary);
    border-radius: 2px; transition: all var(--speed) var(--ease);
}
.lc-header--transparent .lc-hamburger span { background: #fff; }
.lc-header.lc-header--scrolled .lc-hamburger span { background: var(--text-primary); }

/* ── Mega Menu ─────────────────────────────────────────────────── */
.lc-mega {
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--bg-card); border-top: 2px solid var(--lc-accent);
    box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden;
    transform: translateY(-10px); transition: all var(--speed) var(--ease);
    z-index: 999;
}
.lc-nav__list > li:hover .lc-mega,
.lc-nav__list > .lc-nav-services:hover ~ .lc-mega,
.lc-header:has(.lc-nav__list > li[data-has-mega]:hover) .lc-mega {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.lc-mega__inner { max-width: var(--wrapper); margin: 0 auto; padding: 30px 20px; display: grid; grid-template-columns: 280px 1fr; gap: 30px; }
.lc-mega__cta { border-right: 1px solid var(--border-light); padding-right: 30px; }
.lc-mega__cta h3 { font-size: 1.3rem; margin-bottom: 8px; }
.lc-mega__cta p { color: var(--text-secondary); font-size: 14px; margin-bottom: 16px; }
.lc-mega__phone { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-weight: 600; font-size: 15px; color: var(--green-primary); }
.lc-mega__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.lc-mega__item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; border-radius: var(--radius);
    font-size: 14px; font-weight: 500; color: var(--text-primary);
    transition: background var(--speed-fast) var(--ease);
}
.lc-mega__item:hover { background: var(--bg-secondary); color: var(--green-primary); }
.lc-mega__item i { color: var(--green-primary); width: 20px; text-align: center; font-size: 15px; }

/* ── Mobile Nav ────────────────────────────────────────────────── */
.lc-mobile-nav {
    position: fixed; top: 0; right: -320px; width: 320px; height: 100vh;
    background: var(--bg-card); z-index: 2000; display: flex;
    flex-direction: column; transition: right var(--speed) var(--ease);
    box-shadow: -4px 0 20px rgba(0,0,0,0.1);
}
.lc-mobile-nav.lc-mobile-nav--open { right: 0; }
.lc-mobile-nav__overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.5);
    z-index: 1999; opacity: 0; visibility: hidden;
    transition: all var(--speed) var(--ease);
}
.lc-mobile-nav__overlay.lc-mobile-nav__overlay--visible { opacity: 1; visibility: visible; }
.lc-mobile-nav__header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border-light); }
.lc-mobile-nav__close { font-size: 28px; color: var(--text-primary); }
.lc-mobile-nav__body { flex: 1; overflow-y: auto; padding: 20px; }
.lc-mobile-nav__list { display: none; }
.lc-mobile-nav__body a { display: block; padding: 12px 0; font-size: 16px; font-weight: 500; color: var(--text-primary); border-bottom: 1px solid var(--border-light); }
.lc-mobile-nav__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 12px 0; font-size: 16px; font-weight: 500; color: var(--text-primary); border-bottom: 1px solid var(--border-light); }
.lc-mobile-nav__toggle i { transition: transform var(--speed) var(--ease); }
.lc-mobile-nav__toggle.lc-mobile-nav__toggle--open i { transform: rotate(180deg); }
.lc-mobile-nav__submenu { display: none; padding-left: 16px; }
.lc-mobile-nav__submenu.lc-mobile-nav__submenu--open { display: block; }
.lc-mobile-nav__submenu a { font-size: 14px; color: var(--text-secondary); }
.lc-mobile-nav__footer { padding: 20px; border-top: 1px solid var(--border-light); display: flex; flex-direction: column; gap: 10px; }

/* ── Breadcrumbs ───────────────────────────────────────────────── */
.lc-breadcrumbs { padding: 100px 0 0; font-size: 14px; color: var(--text-light); }
.lc-breadcrumbs a { color: var(--green-primary); }
.lc-breadcrumbs span { margin: 0 6px; color: var(--text-light); }

/* ── Hero ──────────────────────────────────────────────────────── */
.lc-hero {
    position: relative; min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; padding: 120px 0 80px;
}
.lc-hero__bg {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, var(--green-deep), #0d1f15);
    background-size: cover; background-position: center;
}
.lc-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,60,42,0.85), rgba(26,60,42,0.4));
}
.lc-hero__content { position: relative; z-index: 2; text-align: center; max-width: 800px; }
.lc-hero__title { color: #fff; margin-bottom: 20px; font-size: clamp(2.2rem, 5.5vw, 3.8rem); }
.lc-hero__subtitle { color: rgba(255,255,255,0.85); font-size: 18px; margin-bottom: 32px; max-width: 650px; margin-left: auto; margin-right: auto; }
.lc-hero__ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.lc-hero__trust { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; }
.lc-trust-item { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.8); font-size: 14px; font-weight: 500; }
.lc-trust-item i { color: var(--green-light); font-size: 16px; }
.lc-hero__phone {
    position: absolute; bottom: 30px; right: 30px; z-index: 2;
}
.lc-hero__phone a { color: rgba(255,255,255,0.7); font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.lc-hero__phone a:hover { color: #fff; }

/* Page Hero */
.lc-page-hero { padding: 130px 0 50px; background: var(--bg-secondary); text-align: center; }
.lc-page-hero--sm { padding: 120px 0 40px; }
.lc-page-hero--about { background-size: cover; background-position: center; position: relative; }
.lc-page-hero--about::before { content: ''; position: absolute; inset: 0; background: rgba(26,60,42,0.8); }
.lc-page-hero--about * { position: relative; z-index: 1; }
.lc-page-hero--about h1, .lc-page-hero--about .lc-page-hero__sub { color: #fff; }
.lc-page-hero__sub { color: var(--text-secondary); font-size: 18px; max-width: 600px; margin: 12px auto 0; }

/* Service Hero */
.lc-svc-hero { position: relative; padding: 140px 0 80px; overflow: hidden; }
.lc-svc-hero__bg { position: absolute; inset: 0; background: linear-gradient(135deg, var(--green-deep), #162e20); background-size: cover; background-position: center; }
.lc-svc-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(26,60,42,0.9), rgba(26,60,42,0.7)); }
.lc-svc-hero__content { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: start; }
.lc-svc-hero__text h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.8rem); margin-bottom: 16px; }
.lc-svc-hero__sub { color: rgba(255,255,255,0.8); font-size: 17px; margin-bottom: 32px; line-height: 1.7; }
.lc-svc-hero__trust { display: flex; gap: 12px; flex-wrap: wrap; }
.lc-svc-hero__trust span {
    color: #fff; font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.1); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    padding: 8px 16px; border: 1px solid rgba(255,255,255,0.15);
}
.lc-svc-hero__trust i { color: var(--lc-accent); font-size: 14px; }
.lc-svc-hero__form { background: var(--bg-card); border-radius: var(--radius-lg); padding: 28px; }
.lc-svc-hero__form h3 { font-size: 1.3rem; margin-bottom: 16px; text-align: center; }

/* ── Service Cards ─────────────────────────────────────────────── */
.lc-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.lc-service-card {
    display: flex; flex-direction: column; align-items: flex-start;
    padding: 28px; background: var(--bg-card); border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card); transition: all var(--speed) var(--ease);
    border-bottom: 3px solid transparent; color: var(--text-primary);
}
.lc-service-card:hover {
    transform: translateY(-4px); box-shadow: var(--shadow-lg);
    border-bottom-color: var(--green-primary); color: var(--text-primary);
}
.lc-service-card__icon {
    width: 52px; height: 52px; border-radius: 50%;
    background: #F5F0E8; display: flex;
    align-items: center; justify-content: center;
    margin-bottom: 16px; transition: background var(--speed) var(--ease);
}
.lc-service-card__icon i { color: var(--green-primary); font-size: 20px; }
.lc-service-card:hover .lc-service-card__icon { background: var(--green-primary); }
.lc-service-card:hover .lc-service-card__icon i { color: #fff; }
.lc-service-card__title { font-size: 1.1rem; margin-bottom: 8px; }
.lc-service-card__desc { color: var(--text-secondary); font-size: 14px; flex: 1; margin-bottom: 12px; }
.lc-service-card__arrow { color: var(--green-primary); font-size: 14px; opacity: 0; transform: translateX(-8px); transition: all var(--speed) var(--ease); }
.lc-service-card:hover .lc-service-card__arrow { opacity: 1; transform: translateX(0); }

/* Services page grid */
.lc-services-page-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); }
.lc-service-page-card {
    display: grid; grid-template-columns: 240px 1fr; background: var(--bg-card);
    border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card);
    transition: all var(--speed) var(--ease); color: var(--text-primary);
}
.lc-service-page-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); color: var(--text-primary); }
.lc-service-page-card img { width: 100%; height: 100%; object-fit: cover; }
.lc-service-page-card__body { padding: 24px; display: flex; flex-direction: column; }
.lc-service-page-card__body h3 { margin-bottom: 8px; }
.lc-service-page-card__body p { color: var(--text-secondary); font-size: 14px; flex: 1; margin-bottom: 12px; }

/* Included Features Grid — redesigned with icons, titles, descriptions */
.lc-included-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lc-included-card {
    display: flex; flex-direction: column; gap: 0;
    padding: 28px 24px; background: var(--bg-card); border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    border-top: 3px solid var(--lc-accent);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lc-included-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.1);
}
.lc-included-card__icon {
    width: 48px; height: 48px; border-radius: 12px;
    background: rgba(200, 169, 110, 0.12);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px; flex-shrink: 0;
}
.lc-included-card__icon i { color: var(--lc-accent); font-size: 20px; }
.lc-included-card__title { font-weight: 700; font-size: 16px; color: var(--green-deep); margin-bottom: 8px; }
.lc-included-card__desc { font-size: 14px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
/* Legacy fallback (simple check+text) */
.lc-included-card--simple {
    flex-direction: row; align-items: flex-start; gap: 12px; border-top: none;
}
.lc-included-card--simple i { color: var(--green-primary); font-size: 18px; margin-top: 2px; flex-shrink: 0; }
.lc-included-card--simple span { font-weight: 500; font-size: 15px; }

/* ── Split Layout ──────────────────────────────────────────────── */
.lc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.lc-split--reverse { direction: rtl; }
.lc-split--reverse > * { direction: ltr; }
.lc-split__content h2 { margin-bottom: 16px; }
.lc-split__content p { color: var(--text-secondary); margin-bottom: 16px; }
.lc-split__media img { border-radius: var(--radius-lg); width: 100%; }

/* Features */
.lc-features { margin: 24px 0; }
.lc-feature { display: flex; gap: 16px; margin-bottom: 24px; }
.lc-feature__icon {
    width: 48px; height: 48px; border-radius: 50%;
    background: rgba(45,94,63,0.1); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
}
.lc-feature__icon i { color: var(--green-primary); font-size: 18px; }
.lc-feature__body h3 { font-size: 1.05rem; margin-bottom: 4px; }
.lc-feature__body p { color: var(--text-secondary); font-size: 14px; margin: 0; }

/* ── Stats ─────────────────────────────────────────────────────── */
.lc-stats { background: var(--bg-dark-section); padding: 60px 0; }
.lc-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); text-align: center; }
.lc-stats__number { display: block; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3rem); color: #fff; }
.lc-stats__label { display: block; color: rgba(255,255,255,0.7); font-size: 14px; margin-top: 4px; text-transform: uppercase; letter-spacing: 0.05em; }

/* ── Projects ──────────────────────────────────────────────────── */
.lc-projects-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.lc-project-card { border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-card); box-shadow: var(--shadow-card); }
.lc-project-card__link { display: block; position: relative; overflow: hidden; aspect-ratio: 4/3; }
.lc-project-card__link img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--speed-slow) var(--ease); }
.lc-project-card__link:hover img { transform: scale(1.05); }
.lc-project-card__overlay {
    position: absolute; inset: 0; background: rgba(26,60,42,0.6);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity var(--speed) var(--ease);
}
.lc-project-card__link:hover .lc-project-card__overlay { opacity: 1; }
.lc-project-card__info { padding: 16px 20px; }
.lc-project-card__cat { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--green-primary); }
.lc-project-card__info h3 { font-size: 1.05rem; margin-top: 4px; }
.lc-project-card__info h3 a { color: var(--text-primary); }

.lc-project-meta { display: flex; gap: 24px; justify-content: center; margin-top: 12px; color: var(--text-secondary); font-size: 14px; }
.lc-project-meta i { color: var(--green-primary); margin-right: 6px; }
.lc-project-featured { margin-bottom: 40px; border-radius: var(--radius-lg); overflow: hidden; }
.lc-project-featured img { width: 100%; }

/* Filter bar */
.lc-filter-bar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 32px; }
.lc-filter-btn {
    padding: 8px 20px; border: 1px solid var(--border-light);
    border-radius: 100px; font-size: 14px; font-weight: 500;
    color: var(--text-secondary); transition: all var(--speed-fast) var(--ease);
    background: var(--bg-card);
}
.lc-filter-btn:hover, .lc-filter-btn--active { background: var(--green-primary); color: #fff; border-color: var(--green-primary); }

/* ── Process Steps ─────────────────────────────────────────────── */
.lc-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; counter-reset: process; }
.lc-process__step { text-align: center; }
.lc-process__num {
    width: 60px; height: 60px; border-radius: 50%;
    background: rgba(45,94,63,0.1); color: var(--green-primary);
    font-family: var(--font-heading); font-size: 1.5rem;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
}
.lc-process__body h3 { font-size: 1.1rem; margin-bottom: 8px; }
.lc-process__body p { color: var(--text-secondary); font-size: 14px; }

/* ── Testimonials ──────────────────────────────────────────────── */
.lc-testimonials { position: relative; overflow: hidden; }
.lc-testimonials__track { display: flex; transition: transform var(--speed-slow) var(--ease); }
.lc-testimonial {
    flex: 0 0 100%; padding: 0 20px;
    display: none;
}
.lc-testimonial--active { display: block; }
.lc-testimonial__quote { color: var(--green-primary); font-size: 32px; margin-bottom: 12px; }
.lc-testimonial__text { font-size: 18px; line-height: 1.8; color: var(--text-primary); font-style: italic; margin-bottom: 20px; max-width: 700px; margin-left: auto; margin-right: auto; text-align: center; }
.lc-testimonial__stars { text-align: center; margin-bottom: 16px; }
.lc-testimonial__stars i { color: #f0b429; font-size: 16px; }
.lc-testimonial__author { text-align: center; }
.lc-testimonial__author strong { display: block; font-size: 16px; }
.lc-testimonial__author span { display: block; color: var(--text-light); font-size: 14px; }
.lc-testimonial__project { font-weight: 600; color: var(--green-primary) !important; }

.lc-testimonials__nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; }
.lc-testimonials__prev, .lc-testimonials__next {
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid var(--border-light); display: flex;
    align-items: center; justify-content: center;
    color: var(--text-secondary); transition: all var(--speed-fast) var(--ease);
}
.lc-testimonials__prev:hover, .lc-testimonials__next:hover { background: var(--green-primary); color: #fff; border-color: var(--green-primary); }
.lc-testimonials__dots { display: flex; gap: 8px; }
.lc-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border-light); transition: background var(--speed-fast) var(--ease); }
.lc-dot--active { background: var(--green-primary); }

/* ── Service Areas ─────────────────────────────────────────────── */
.lc-map { margin-bottom: 24px; border-radius: var(--radius-lg); overflow: hidden; }
.lc-map iframe { width: 100%; height: 400px; border: 0; }
.lc-area-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.lc-area-tag {
    padding: 6px 16px; background: var(--bg-card);
    border: 1px solid var(--border-light); border-radius: 100px;
    font-size: 14px; color: var(--text-secondary);
}
.lc-area-tags--sm .lc-area-tag { padding: 4px 12px; font-size: 13px; }

/* ── CTA Banner ────────────────────────────────────────────────── */
.lc-cta-banner { background: var(--bg-dark-section); padding: 80px 0; text-align: center; }
.lc-cta-banner__inner h2 { color: #fff; margin-bottom: 12px; }
.lc-cta-banner__inner p { color: rgba(255,255,255,0.8); font-size: 17px; max-width: 600px; margin: 0 auto 28px; }
.lc-cta-banner__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ── Footer CTA ────────────────────────────────────────────────── */
.lc-footer-cta { background: var(--green-deep); padding: 80px 0; text-align: center; }
.lc-footer-cta h2 { color: #fff; margin-bottom: 12px; }
.lc-footer-cta p { color: rgba(255,255,255,0.7); font-size: 17px; max-width: 600px; margin: 0 auto 28px; }
.lc-footer-cta__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ── Blog Cards ────────────────────────────────────────────────── */
.lc-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.lc-blog-card { background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease); display: flex; flex-direction: column; }
.lc-blog-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.lc-blog-card__img { display: block; aspect-ratio: 3/2; overflow: hidden; }
.lc-blog-card__img img { width: 100%; height: 100%; object-fit: cover; }
.lc-blog-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.lc-blog-card__cat { font-size: 12px; font-weight: 600; text-transform: uppercase; color: var(--green-primary); }
.lc-blog-card__date { display: block; font-size: 13px; color: var(--text-light); margin: 4px 0 8px; }
.lc-blog-card__body h3 { font-size: 1.1rem; margin-bottom: 8px; }
.lc-blog-card__body h3 a { color: var(--text-primary); }
.lc-blog-card__body p { color: var(--text-secondary); font-size: 14px; margin-bottom: 12px; }
.lc-blog-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border-light); }
.lc-blog-card__author { font-size: 13px; color: var(--text-light); display: flex; align-items: center; gap: 6px; }
.lc-blog-card__author i { color: var(--green-primary); font-size: 11px; }

/* Blog layout */
.lc-blog-layout { display: grid; grid-template-columns: 1fr 320px; gap: 40px; }
.lc-entry-content { font-size: 17px; line-height: 1.8; }
.lc-entry-content h2, .lc-entry-content h3 { margin: 32px 0 12px; }
.lc-entry-content p { margin-bottom: 16px; }
.lc-entry-content img { border-radius: var(--radius); margin: 24px 0; }
.lc-entry-content ul, .lc-entry-content ol { padding-left: 24px; margin-bottom: 16px; list-style: disc; }
.lc-content p { margin-bottom: 16px; }

/* Single post hero */
.lc-single-hero { position: relative; padding: 140px 0 60px; background: var(--bg-dark-section); background-size: cover; background-position: center; }
.lc-single-hero__overlay { position: absolute; inset: 0; background: rgba(26,60,42,0.8); }
.lc-single-hero__inner { position: relative; z-index: 1; }
.lc-single-hero h1 { color: #fff; max-width: 800px; }
.lc-single-hero__meta { display: flex; gap: 16px; margin-bottom: 12px; color: rgba(255,255,255,0.7); font-size: 14px; }
.lc-single-hero__cat { background: var(--green-accent); color: #fff; padding: 3px 12px; border-radius: 100px; font-weight: 600; }

/* Share buttons */
.lc-share { display: flex; align-items: center; gap: 12px; margin: 32px 0; padding: 16px 0; border-top: 1px solid var(--border-light); border-bottom: 1px solid var(--border-light); }
.lc-share span { font-weight: 600; font-size: 14px; }
.lc-share a { width: 36px; height: 36px; border-radius: 50%; background: var(--bg-secondary); display: flex; align-items: center; justify-content: center; color: var(--text-secondary); transition: all var(--speed-fast) var(--ease); }
.lc-share a:hover { background: var(--green-primary); color: #fff; }

/* Inline CTA */
.lc-inline-cta { background: var(--bg-secondary); border-radius: var(--radius-lg); padding: 32px; text-align: center; margin: 40px 0; }
.lc-inline-cta h3 { margin-bottom: 8px; }
.lc-inline-cta p { color: var(--text-secondary); margin-bottom: 16px; }

.lc-related { margin-top: 48px; }
.lc-related h3 { margin-bottom: 20px; }

/* ── Sidebar ───────────────────────────────────────────────────── */
.lc-sidebar { position: sticky; top: 100px; }
.lc-widget { background: var(--bg-card); border-radius: var(--radius-lg); padding: 24px; margin-bottom: 20px; box-shadow: var(--shadow-sm); }
.lc-widget__title { font-size: 1.1rem; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--green-primary); }
.lc-widget ul { list-style: none; }
.lc-widget li { padding: 6px 0; border-bottom: 1px solid var(--border-light); }
.lc-widget li:last-child { border-bottom: 0; }
.lc-widget a { color: var(--text-secondary); font-size: 14px; }
.lc-widget a:hover { color: var(--green-primary); }

.lc-recent-posts li a { display: flex; gap: 12px; align-items: center; }
.lc-recent-thumb { width: 50px; height: 50px; border-radius: var(--radius); overflow: hidden; flex-shrink: 0; }
.lc-recent-thumb img { width: 100%; height: 100%; object-fit: cover; }

.lc-sidebar-cta { background: var(--green-deep); color: #fff; }
.lc-sidebar-cta h3 { color: #fff; border-bottom-color: rgba(255,255,255,0.2); }
.lc-sidebar-cta p { color: rgba(255,255,255,0.8); font-size: 14px; }

/* ── Contact Page ──────────────────────────────────────────────── */
.lc-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.lc-contact-info h2, .lc-contact-form h2 { margin-bottom: 16px; }
.lc-contact-list { margin-bottom: 24px; }
.lc-contact-list li { display: flex; gap: 16px; margin-bottom: 20px; }
.lc-contact-list__icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(45,94,63,0.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lc-contact-list__icon i { color: var(--green-primary); font-size: 16px; }
.lc-contact-list strong { display: block; font-size: 14px; text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 2px; }
.lc-contact-list p { color: var(--text-secondary); font-size: 14px; margin: 0; }
.lc-contact-list a { color: var(--text-secondary); }
.lc-contact-license { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--bg-secondary); border-radius: var(--radius); margin-bottom: 24px; font-size: 14px; font-weight: 600; }
.lc-contact-license i { color: var(--green-primary); }
.lc-contact-map { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 24px; }
.lc-contact-map iframe { width: 100%; height: 250px; }
.lc-contact-areas h3 { font-size: 1rem; margin-bottom: 12px; }

/* ── Lead Form Styles ──────────────────────────────────────────── */
.lc-lead-form { background: var(--bg-card); border-radius: var(--radius-lg); }
.lc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.lc-form-group { margin-bottom: 16px; }
.lc-form-group label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 6px; }
.lc-form-group label span { color: #e53e3e; }
.lc-form-error { color: #e53e3e; font-size: 13px; margin-top: 4px; display: block; }
.lc-form-radios { display: flex; gap: 20px; }
.lc-form-radios label { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }
.lc-form-hp { position: absolute; left: -9999px; }
.lc-form-submit { margin-top: 8px; }
.lc-form-message { margin-top: 16px; padding: 14px 18px; border-radius: var(--radius); font-size: 14px; text-align: center; }
.lc-form-message--success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.lc-form-message--error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.lc-form-privacy { font-size: 12px; color: var(--text-light); margin-top: 12px; }
.lc-form-group--error input,
.lc-form-group--error textarea,
.lc-form-group--error select { border-color: #e53e3e; }

/* Trust badges */
.lc-trust-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.lc-trust-badge { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; }
.lc-trust-badge i { color: var(--green-primary); font-size: 18px; }

/* ── Values Grid ───────────────────────────────────────────────── */
.lc-values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.lc-value-card { text-align: center; padding: 32px 20px; background: var(--bg-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.lc-value-card__icon { width: 64px; height: 64px; border-radius: 50%; background: rgba(45,94,63,0.1); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.lc-value-card__icon i { color: var(--green-primary); font-size: 24px; }
.lc-value-card h3 { margin-bottom: 8px; }
.lc-value-card p { color: var(--text-secondary); font-size: 14px; }

/* ── Placeholder ───────────────────────────────────────────────── */
.lc-placeholder {
    background: var(--bg-secondary); display: flex; align-items: center;
    justify-content: center; aspect-ratio: 4/3; border-radius: var(--radius);
    color: var(--text-light); font-size: 48px;
}
.lc-placeholder--tall { aspect-ratio: 3/4; }

/* ── Gallery ───────────────────────────────────────────────────── */
.lc-gallery h2 { margin-bottom: 20px; }
.lc-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lc-gallery__item { border-radius: var(--radius); overflow: hidden; }
.lc-gallery__item img { width: 100%; height: 200px; object-fit: cover; }

/* ── Pagination ────────────────────────────────────────────────── */
.lc-pagination { margin-top: 40px; text-align: center; }
.lc-pagination .nav-links { display: flex; gap: 4px; justify-content: center; }
.lc-pagination a, .lc-pagination span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 12px;
    border: 1px solid var(--border-light); border-radius: var(--radius);
    font-size: 14px; transition: all var(--speed-fast) var(--ease);
}
.lc-pagination a:hover { background: var(--green-primary); color: #fff; border-color: var(--green-primary); }
.lc-pagination .current { background: var(--green-primary); color: #fff; border-color: var(--green-primary); }

/* ── 404 ───────────────────────────────────────────────────────── */
.lc-404 { padding: 120px 0 80px; }
.lc-404__inner { text-align: center; max-width: 600px; margin: 0 auto; }
.lc-404__icon { font-size: 64px; color: var(--green-primary); margin-bottom: 20px; }
.lc-404 h1 { margin-bottom: 12px; }
.lc-404 p { color: var(--text-secondary); margin-bottom: 24px; }
.lc-404__actions { display: flex; gap: 12px; justify-content: center; margin-bottom: 32px; }
.lc-404__search { max-width: 400px; margin: 0 auto 32px; }
.lc-404__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.lc-404__grid a { padding: 8px 12px; background: var(--bg-secondary); border-radius: var(--radius); font-size: 14px; color: var(--text-secondary); text-align: center; }
.lc-404__grid a:hover { background: var(--green-primary); color: #fff; }

/* ── Search Form ───────────────────────────────────────────────── */
.lc-search-form { display: flex; gap: 0; }
.lc-search-form__input { border-radius: var(--radius) 0 0 var(--radius); border-right: 0; }
.lc-search-form__btn { padding: 12px 16px; background: var(--green-primary); color: #fff; border-radius: 0 var(--radius) var(--radius) 0; border: 1px solid var(--green-primary); }

/* ── Footer ────────────────────────────────────────────────────── */
.lc-footer { background: var(--footer-bg); color: rgba(255,255,255,0.8); padding: 60px 0 0; }
.lc-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 40px; }
.lc-footer__logo { margin-bottom: 16px; filter: brightness(0) invert(1); }
.lc-footer__desc { font-size: 14px; line-height: 1.7; margin-bottom: 16px; }
.lc-footer__social { display: flex; gap: 10px; }
.lc-footer__social a {
    width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.2); display: flex;
    align-items: center; justify-content: center;
    color: rgba(255,255,255,0.7); font-size: 14px;
    transition: all var(--speed-fast) var(--ease);
}
.lc-footer__social a:hover { background: rgba(255,255,255,0.1); color: var(--lc-accent-light); border-color: var(--lc-accent-light); }
.lc-footer h4 { color: #fff; font-size: 1rem; margin-bottom: 16px; }
.lc-footer ul { list-style: none; }
.lc-footer ul li { margin-bottom: 8px; }
.lc-footer ul a { color: rgba(255,255,255,0.7); font-size: 14px; transition: color var(--speed-fast) var(--ease); }
.lc-footer ul a:hover { color: var(--lc-accent-light); }
.lc-footer__contact-list li { display: flex; gap: 10px; font-size: 14px; align-items: flex-start; }
.lc-footer__contact-list i { color: var(--lc-accent-light); margin-top: 3px; width: 16px; text-align: center; }
.lc-footer__contact-list a { color: rgba(255,255,255,0.7); }
.lc-footer__contact-list a:hover { color: var(--lc-accent-light); }
.lc-footer__license { margin-top: 16px; font-size: 13px; font-family: var(--font-mono); color: rgba(255,255,255,0.5); }

.lc-footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: 20px 0; text-align: center;
    font-size: 13px; color: rgba(255,255,255,0.5);
}

/* ── Mobile CTA Bar ────────────────────────────────────────────── */
.lc-mobile-bar {
    display: none; position: fixed; bottom: 0; left: 0; right: 0;
    z-index: 900; background: var(--bg-card); border-top: 1px solid var(--border-light);
    padding: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); gap: 8px; box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
}
.lc-mobile-bar__btn {
    flex: 1; display: flex; align-items: center; justify-content: center;
    gap: 6px; padding: 12px; border-radius: var(--radius);
    font-size: 14px; font-weight: 600;
}
.lc-mobile-bar__btn--call { background: var(--bg-secondary); color: var(--green-primary); }
.lc-mobile-bar__btn--quote { background: var(--green-primary); color: #fff; }

/* ── Back to Top ───────────────────────────────────────────────── */
.lc-back-top {
    position: fixed; bottom: 80px; right: 20px; z-index: 800;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--green-deep); color: #fff;
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-md); opacity: 0; visibility: hidden;
    transition: all var(--speed) var(--ease);
}
.lc-back-top--visible { opacity: 1; visibility: visible; }
.lc-back-top:hover { background: var(--lc-accent); transform: translateY(-2px); }

/* ── Popup Modal ───────────────────────────────────────────────── */
.lc-popup { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all var(--speed) var(--ease); }
.lc-popup--open { opacity: 1; visibility: visible; }
.lc-popup__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.6); }
.lc-popup__content { position: relative; background: var(--bg-card); border-radius: var(--radius-xl); padding: 36px; max-width: 520px; width: 90%; max-height: 90vh; overflow-y: auto; }
.lc-popup__close { position: absolute; top: 12px; right: 16px; font-size: 28px; color: var(--text-light); }
.lc-popup__content h3 { margin-bottom: 8px; }
.lc-popup__content p { color: var(--text-secondary); font-size: 14px; margin-bottom: 16px; }

/* ── Scroll Reveal ─────────────────────────────────────────────── */
.lc-reveal {
    opacity: 0; transform: translateY(24px);
    transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.lc-reveal[data-delay="1"] { transition-delay: 0.1s; }
.lc-reveal[data-delay="2"] { transition-delay: 0.2s; }
.lc-reveal[data-delay="3"] { transition-delay: 0.3s; }
.lc-reveal.lc-revealed { opacity: 1; transform: translateY(0); }

.lc-no-results { text-align: center; padding: 60px 20px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   PHOTO BREAK SECTIONS
   ═══════════════════════════════════════════════════════════════════ */
.lc-photo-break {
    width: 100%;
    height: 350px;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
}
@media (max-width: 768px) {
    .lc-photo-break {
        height: 200px;
        background-attachment: scroll;
    }
}

/* ── Team card photos ──────────────────────────────────────────── */
.lc-team-card__photo img,
.lc-team-card__photo--lg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.lc-about-teaser__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* ── Subtle Section Background Image ─────────────────────────── */
.lc-section--has-bg {
    position: relative;
    overflow: hidden;
}
.lc-section--has-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-image: var(--section-bg);
    opacity: 0.07;
    pointer-events: none;
    z-index: 0;
}
.lc-section--has-bg > * { position: relative; z-index: 1; }

/* ── Service Hero: dark overlay when bg image present ────────── */
.lc-svc-hero--has-image .lc-svc-hero__overlay {
    background: rgba(26,60,42,0.8);
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1280px) {
    .lc-services-grid { grid-template-columns: repeat(3, 1fr); }
    .lc-mega__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1024px) {
    .lc-nav, .lc-header__phone span, .lc-header__actions .lc-btn { display: none; }
    .lc-hamburger { display: flex; }
    .lc-header__actions { gap: 12px; }
    .lc-header__phone { padding: 0; }
    .lc-header__phone span { display: none; }

    .lc-split { grid-template-columns: 1fr; gap: 32px; }
    .lc-split--reverse { direction: ltr; }
    .lc-services-grid { grid-template-columns: repeat(2, 1fr); }
    .lc-projects-grid { grid-template-columns: repeat(2, 1fr); }
    .lc-blog-grid { grid-template-columns: repeat(2, 1fr); }
    .lc-values-grid { grid-template-columns: repeat(2, 1fr); }
    .lc-process { grid-template-columns: repeat(2, 1fr); }
    .lc-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .lc-included-grid { grid-template-columns: repeat(2, 1fr); }
    .lc-contact-grid { grid-template-columns: 1fr; }
    .lc-blog-layout { grid-template-columns: 1fr; }
    .lc-sidebar { position: static; }
    .lc-footer__grid { grid-template-columns: repeat(2, 1fr); }

    .lc-svc-hero__content { grid-template-columns: 1fr; }
    .lc-services-page-grid { grid-template-columns: 1fr; }
    .lc-service-page-card { grid-template-columns: 200px 1fr; }
}

@media (max-width: 768px) {
    .lc-section { padding: 80px 0; }
    .lc-services-grid { grid-template-columns: 1fr 1fr; }
    .lc-projects-grid { grid-template-columns: 1fr; }
    .lc-blog-grid { grid-template-columns: 1fr; }
    .lc-values-grid { grid-template-columns: 1fr; }
    .lc-included-grid { grid-template-columns: 1fr 1fr; }
    .lc-hero__ctas { flex-direction: column; align-items: center; }
    .lc-hero__trust { flex-direction: column; gap: 12px; align-items: center; }
    .lc-cta-banner__actions { flex-direction: column; align-items: center; }
    .lc-form-row { grid-template-columns: 1fr; }
    .lc-trust-badges { grid-template-columns: 1fr; }
    .lc-footer__grid { grid-template-columns: 1fr; }
    .lc-mobile-bar { display: flex; }
    .lc-hero__phone { display: none; }
    .lc-back-top { bottom: 70px; }
    .lc-page-hero { padding-top: 100px; }
    .lc-404 { padding-top: 100px; }
    .lc-service-page-card { grid-template-columns: 1fr; }
    .lc-404__grid { grid-template-columns: repeat(2, 1fr); }
    .lc-gallery__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Logo text fallback */
.lc-header__logo-text {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    color: var(--green-deep, #1A3C2A);
    white-space: nowrap;
}
.lc-header--transparent .lc-header__logo-text { color: #fff; }
.lc-header--scrolled .lc-header__logo-text { color: var(--green-deep, #1A3C2A); }
.lc-footer__logo-text {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    color: #fff;
}

/* Project page layout */
.lc-project-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 3rem;
    align-items: start;
}
.lc-project-details {
    background: var(--bg-secondary, #F4F1EC);
    border-radius: 12px;
    padding: 2rem;
    position: sticky;
    top: 100px;
}
.lc-project-details h3 {
    margin: 0 0 1.25rem;
    font-family: var(--font-heading);
    font-size: 1.25rem;
}
.lc-project-details ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
}
.lc-project-details li {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-light, #E5E2DC);
    font-size: 0.9rem;
}
.lc-project-details li:last-child { border-bottom: none; }
.lc-project-details li strong { color: var(--text-secondary, #4A4A4A); }
.lc-project-details li span { text-align: right; max-width: 60%; }

@media (max-width: 768px) {
    .lc-project-layout { grid-template-columns: 1fr; }
    .lc-project-details { position: static; }
}

@media (max-width: 480px) {
    .lc-section { padding: 48px 0; }
    .lc-services-grid { grid-template-columns: 1fr; }
    .lc-stats__grid { grid-template-columns: 1fr 1fr; }
    .lc-process { grid-template-columns: 1fr; }
    .lc-included-grid { grid-template-columns: 1fr; }
    .lc-footer-cta__actions { flex-direction: column; width: 100%; }
    .lc-footer-cta__actions .lc-btn { width: 100%; }
    .lc-404__grid { grid-template-columns: 1fr; }
    .lc-gallery__grid { grid-template-columns: 1fr; }
    .lc-why-grid { grid-template-columns: 1fr; }
    .lc-stats__number { font-size: 32px; }
    .lc-label { letter-spacing: 2px; }
}

/* ═══════════════════════════════════════════════════════════════════
   NEW COMPONENTS - AI Features, Modal, Buttons, Cards
   ═══════════════════════════════════════════════════════════════════ */

/* ── Gold Button ──────────────────────────────────────────────────── */
.lc-btn--gold {
    background: linear-gradient(135deg, #C8A96E, #d4bb8a);
    color: var(--green-deep);
    box-shadow: 0 4px 20px rgba(200, 169, 110, 0.4);
    font-weight: 700;
}
.lc-btn--gold:hover {
    background: linear-gradient(135deg, #b89a5e, #C8A96E);
    color: var(--green-deep);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(200, 169, 110, 0.6);
}
.lc-btn--gold:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(200, 169, 110, 0.3);
}

/* Gold outline variant — for dark section CTAs */
.lc-btn--outline-gold {
    border: 2px solid var(--lc-accent);
    color: var(--lc-accent);
    background: transparent;
}
.lc-btn--outline-gold:hover {
    background: rgba(200, 169, 110, 0.15);
    color: var(--lc-accent-light);
    border-color: var(--lc-accent-light);
}

/* ── White Solid Button ───────────────────────────────────────────── */
.lc-btn--white-solid {
    background: #fff;
    color: var(--green-deep);
}
.lc-btn--white-solid:hover {
    background: #f2f2f0;
    color: var(--green-deep);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* ── Header AI Button ─────────────────────────────────────────────── */
.lc-header__ai-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--radius);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all var(--speed) var(--ease);
    white-space: nowrap;
}
.lc-header__ai-btn i {
    font-size: 14px;
}
.lc-header__ai-btn span {
    display: inline;
}

/* Transparent header: gold outline */
.lc-header--transparent .lc-header__ai-btn {
    border: 1.5px solid var(--lc-accent);
    color: var(--lc-accent);
    background: transparent;
}
.lc-header--transparent .lc-header__ai-btn:hover {
    background: var(--lc-accent-muted);
    color: #fff;
    border-color: #fff;
    box-shadow: 0 0 16px rgba(200, 169, 110, 0.3);
}

/* Scrolled header: gold filled */
.lc-header--scrolled .lc-header__ai-btn {
    background: linear-gradient(135deg, #C8A96E, #d4bb8a);
    color: #fff;
    border: 1.5px solid transparent;
}
.lc-header--scrolled .lc-header__ai-btn:hover {
    background: linear-gradient(135deg, #b89a5e, #C8A96E);
    box-shadow: 0 0 16px rgba(200, 169, 110, 0.4);
    transform: translateY(-1px);
}

/* Default (non-transparent) header: gold filled */
.lc-header:not(.lc-header--transparent) .lc-header__ai-btn {
    background: linear-gradient(135deg, #C8A96E, #d4bb8a);
    color: #fff;
    border: 1.5px solid transparent;
}
.lc-header:not(.lc-header--transparent) .lc-header__ai-btn:hover {
    background: linear-gradient(135deg, #b89a5e, #C8A96E);
    box-shadow: 0 0 16px rgba(200, 169, 110, 0.4);
    transform: translateY(-1px);
}

/* ── Hero Trust Badges (premium) ──────────────────────────────────── */
.lc-hero__trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    font-weight: 500;
}
.lc-hero__trust-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(196, 162, 101, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lc-hero__trust-icon i {
    color: var(--accent-warm);
    font-size: 15px;
}

/* ── Why Locali Grid ──────────────────────────────────────────────── */
.lc-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap);
}
.lc-why-card {
    background: var(--bg-card);
    padding: 32px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    transition: all var(--speed) var(--ease);
    text-align: center;
}
.lc-why-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}
.lc-why-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(45, 94, 63, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.lc-why-card__icon i {
    color: var(--green-primary);
    font-size: 22px;
}
.lc-why-card:hover .lc-why-card__icon {
    background: var(--green-primary);
}
.lc-why-card:hover .lc-why-card__icon i {
    color: #fff;
}
.lc-why-card h3 {
    margin-bottom: 8px;
    font-size: 1.15rem;
}
.lc-why-card p {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* ── AI Design Studio Section ────────────────────────────────────── */
.lc-ai-studio {
    background: var(--bg-cream);
    padding-top: 60px;
    padding-bottom: 60px;
}
.lc-ai-studio .lc-section__header {
    max-width: 640px;
    margin: 0 auto 32px;
    text-align: center;
}
.lc-ai-studio .lc-section__header p {
    color: var(--text-body);
    font-size: 16px;
    line-height: 1.7;
}
.lc-ai-studio__wizard {
    max-width: 900px;
    margin: 0 auto;
}
.lc-ai-studio__wizard .lai-wizard {
    border-radius: var(--radius-lg, 8px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
}

/* ── AI Teaser Section ────────────────────────────────────────────── */
.lc-ai-teaser {
    background: var(--bg-dark-section);
    color: var(--text-on-green);
}
.lc-ai-teaser__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.lc-ai-teaser__content .lc-label {
    color: var(--green-light);
}
.lc-ai-teaser__content .lc-label::before {
    background: var(--green-light);
}
.lc-ai-teaser__content h2 {
    color: #fff;
    margin-bottom: 16px;
}
.lc-ai-teaser__content p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 24px;
}
.lc-ai-teaser__visual {
    display: flex;
    align-items: center;
    justify-content: center;
}
.lc-ai-teaser__mockup {
    display: flex;
    align-items: center;
    gap: 20px;
}
.lc-ai-teaser__before,
.lc-ai-teaser__after {
    width: 160px;
    height: 160px;
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    padding: 16px;
}
.lc-ai-teaser__before i,
.lc-ai-teaser__after i {
    font-size: 28px;
    color: rgba(255, 255, 255, 0.5);
}
.lc-ai-teaser__before span,
.lc-ai-teaser__after span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 500;
}
.lc-ai-teaser__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}
.lc-ai-teaser__arrow i {
    font-size: 24px;
    color: var(--accent-warm);
}

/* ── AI CTA Banner ────────────────────────────────────────────────── */
.lc-ai-cta-banner {
    background: linear-gradient(135deg, var(--green-deep), #0d1f15);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.lc-ai-cta-banner__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 40px;
}
.lc-ai-cta-banner__text h3 {
    color: #fff;
    font-size: 1.3rem;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.lc-ai-cta-banner__text h3 i {
    color: var(--accent-warm);
    font-size: 20px;
}
.lc-ai-cta-banner__text p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    margin: 0;
}

/* ── Contact AI Card ──────────────────────────────────────────────── */
.lc-contact-ai {
    background: linear-gradient(135deg, var(--green-deep), #162e20);
    border-radius: var(--radius-lg);
    padding: 20px;
    margin: 24px 0;
}
.lc-contact-ai__inner {
    display: flex;
    align-items: center;
    gap: 16px;
}
.lc-contact-ai__inner i {
    color: var(--accent-warm);
    font-size: 24px;
    flex-shrink: 0;
}
.lc-contact-ai__inner strong {
    color: #fff;
    display: block;
    font-size: 15px;
    margin-bottom: 2px;
}
.lc-contact-ai__inner p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    margin: 0 0 8px;
}
.lc-contact-ai__inner .lc-btn {
    flex-shrink: 0;
}

/* ── AI Visualizer Modal ──────────────────────────────────────────── */
.lc-viz-modal {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--speed) var(--ease), visibility var(--speed) var(--ease);
}
.lc-viz-modal--open {
    opacity: 1;
    visibility: visible;
}
.lc-viz-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.lc-viz-modal__container {
    position: relative;
    background: var(--bg-card);
    border-radius: var(--radius-xl);
    max-width: 680px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 40px;
    z-index: 1;
}
.lc-viz-modal__close {
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 32px;
    color: var(--text-light);
    cursor: pointer;
    transition: color var(--speed-fast) var(--ease);
    z-index: 2;
    line-height: 1;
}
.lc-viz-modal__close:hover {
    color: var(--text-primary);
}
.lc-viz-modal__header {
    text-align: center;
    margin-bottom: 28px;
}
.lc-viz-modal__header h2 {
    margin-bottom: 8px;
}
.lc-viz-modal__header p {
    color: var(--text-secondary);
    font-size: 15px;
    margin: 0;
}

/* ── Modal Progress Bar ───────────────────────────────────────────── */
.lc-viz-modal__progress {
    height: 4px;
    background: var(--border-light);
    border-radius: 2px;
    margin-bottom: 28px;
    overflow: hidden;
}
.lc-viz-modal__progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--green-primary), var(--green-accent));
    border-radius: 2px;
    transition: width 0.5s ease;
    width: 0%;
}

/* ── Modal Steps ──────────────────────────────────────────────────── */
.lc-viz-modal__step {
    display: none;
}
.lc-viz-modal__step--active,
.lc-viz-modal__step.--active {
    display: block !important;
}
.lc-viz-modal__step h3 {
    text-align: center;
    margin-bottom: 8px;
}
.lc-viz-modal__step p {
    text-align: center;
    color: var(--text-secondary);
    font-size: 14px;
    margin-bottom: 20px;
}

/* ── Dropzone ─────────────────────────────────────────────────────── */
.lc-viz-modal__dropzone {
    border: 2px dashed var(--border-light);
    border-radius: var(--radius-lg);
    padding: 48px 24px;
    text-align: center;
    cursor: pointer;
    transition: border-color var(--speed) var(--ease), background var(--speed) var(--ease);
}
.lc-viz-modal__dropzone:hover,
.lc-viz-modal__dropzone--dragover {
    border-color: var(--green-primary);
    background: rgba(45, 94, 63, 0.03);
}
.lc-viz-modal__dropzone i {
    font-size: 48px;
    color: var(--text-light);
    margin-bottom: 12px;
    display: block;
}
.lc-viz-modal__dropzone p {
    margin-bottom: 0;
    font-size: 15px;
}
.lc-viz-modal__dropzone-or {
    display: block;
    margin: 12px 0;
    color: var(--text-secondary);
    font-size: 14px;
}
.lc-viz-modal__note {
    font-size: 12px;
    color: var(--text-light);
    margin-top: 12px;
}

/* ── Modal Preview ────────────────────────────────────────────────── */
.lc-viz-modal__preview {
    text-align: center;
}
.lc-viz-modal__preview img {
    max-height: 280px;
    margin: 0 auto 12px;
    border-radius: var(--radius-lg);
    display: block;
}
.lc-viz-modal__change {
    display: inline-block;
    font-size: 14px;
    color: var(--green-primary);
    text-decoration: underline;
    cursor: pointer;
    transition: color var(--speed-fast) var(--ease);
}
.lc-viz-modal__change:hover {
    color: var(--green-accent);
}

/* ── Modal Options Grid ───────────────────────────────────────────── */
.lc-viz-modal__options {
    display: grid;
    gap: 12px;
}
.lc-viz-modal__options--size {
    grid-template-columns: repeat(2, 1fr);
}
.lc-viz-modal__options--features {
    grid-template-columns: repeat(4, 1fr);
}
.lc-viz-modal__options--finish {
    grid-template-columns: 1fr;
}
.lc-viz-modal__options--style {
    grid-template-columns: repeat(2, 1fr);
}

/* ── Modal Option Button ──────────────────────────────────────────── */
.lc-viz-modal__option {
    padding: 16px;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    text-align: center;
    cursor: pointer;
    transition: all var(--speed) var(--ease);
    background: var(--bg-card);
}
.lc-viz-modal__option i {
    display: block;
    font-size: 24px;
    color: var(--green-primary);
    margin-bottom: 8px;
}
.lc-viz-modal__option strong {
    display: block;
    font-size: 14px;
    margin-bottom: 2px;
}
.lc-viz-modal__option span {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
}
.lc-viz-modal__option:hover {
    border-color: var(--green-primary);
    background: rgba(45, 94, 63, 0.03);
}
.lc-viz-modal__option--selected {
    border-color: var(--green-primary);
    background: rgba(45, 94, 63, 0.08);
    box-shadow: inset 0 0 0 2px var(--green-primary);
}
.lc-viz-modal__option--wide {
    display: flex;
    text-align: left;
    gap: 16px;
    align-items: center;
    padding: 16px 20px;
}
.lc-viz-modal__option--wide i {
    display: inline-flex;
    margin-bottom: 0;
}
.lc-viz-modal__option--wide strong {
    margin-bottom: 0;
}

/* ── Modal Back Button ────────────────────────────────────────────── */
.lc-viz-modal__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    font-size: 14px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: color var(--speed-fast) var(--ease);
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-body);
}
.lc-viz-modal__back:hover {
    color: var(--green-primary);
}

/* ── Modal Next Button ────────────────────────────────────────────── */
.lc-viz-modal__next {
    margin-top: 20px;
    width: 100%;
}

/* ── Modal Loading ────────────────────────────────────────────────── */
.lc-viz-modal__loading {
    text-align: center;
    padding: 40px 0;
}
.lc-viz-modal__spinner {
    width: 56px;
    height: 56px;
    border: 3px solid var(--border-light);
    border-top-color: var(--green-primary);
    border-radius: 50%;
    margin: 0 auto 20px;
    animation: vizSpin 0.8s linear infinite;
}
@keyframes vizSpin {
    to { transform: rotate(360deg); }
}
.lc-viz-modal__loading-msg {
    color: var(--text-secondary);
    font-size: 14px;
}
.lc-viz-modal__loading-bar {
    height: 4px;
    background: var(--border-light);
    border-radius: 2px;
    margin-top: 20px;
    overflow: hidden;
}
.lc-viz-modal__loading-fill {
    height: 100%;
    background: var(--green-primary);
    width: 0;
    border-radius: 2px;
    animation: vizLoad 60s ease-in-out forwards;
}
@keyframes vizLoad {
    0%   { width: 0; }
    50%  { width: 60%; }
    90%  { width: 85%; }
    100% { width: 95%; }
}

/* ── Modal Gate ───────────────────────────────────────────────────── */
.lc-viz-modal__gate {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}
.lc-viz-modal__gate-preview {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
}
.lc-viz-modal__gate-img {
    width: 100%;
    display: block;
}
.lc-viz-modal__gate-img--blurred {
    filter: blur(15px);
    transition: filter 1.5s ease;
}
.lc-viz-modal__gate-img--revealed {
    filter: blur(0);
}
.lc-viz-modal__gate-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.lc-viz-modal__gate-overlay i {
    font-size: 32px;
    margin-bottom: 8px;
}
.lc-viz-modal__gate-overlay p {
    font-size: 14px;
    color: #fff;
    text-align: center;
}
.lc-viz-modal__gate-form h3 {
    margin-bottom: 8px;
}
.lc-viz-modal__gate-form p {
    color: var(--text-secondary);
    font-size: 14px;
    margin-bottom: 16px;
    text-align: left;
}
.lc-viz-modal__gate-form .lc-form-group {
    margin-bottom: 12px;
}
.lc-viz-modal__gate-form input {
    font-size: 14px;
    padding: 10px 14px;
}

/* ── Modal Result ─────────────────────────────────────────────────── */
.lc-viz-modal__result {
    text-align: center;
}
.lc-viz-modal__comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 20px 0;
}
.lc-viz-modal__result .lc-viz-modal__before,
.lc-viz-modal__result .lc-viz-modal__after {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    width: auto;
    height: auto;
    background: none;
    padding: 0 !important;
    margin-bottom: 0 !important;
    flex-direction: column;
    aspect-ratio: 16 / 10;
    line-height: 0 !important;
    font-size: 0 !important;
}
.lc-viz-modal__result .lc-viz-modal__before span,
.lc-viz-modal__result .lc-viz-modal__after span {
    position: absolute;
    bottom: 12px;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #fff;
    border-radius: 4px;
    z-index: 5;
    line-height: normal;
}
.lc-viz-modal__result .lc-viz-modal__before span {
    left: 12px;
    background: rgba(0, 0, 0, 0.6);
}
.lc-viz-modal__result .lc-viz-modal__after span {
    right: 12px;
    background: var(--lc-green, #2D5E3F);
}
.lc-viz-modal__result .lc-viz-modal__before img,
.lc-viz-modal__result .lc-viz-modal__after img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block !important;
    vertical-align: bottom !important;
}
/* ── Modal Estimate Box ──────────────────────────────────────────── */
.lc-viz-modal__estimate {
    text-align: center;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 24px;
    margin: 20px auto;
    max-width: 480px;
    background: #fafafa;
}
.lc-viz-modal__estimate-label {
    display: block;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 8px;
}
.lc-viz-modal__estimate-range {
    display: block;
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 700;
    color: #1A3C2A;
    margin-bottom: 8px;
}
.lc-viz-modal__estimate-note {
    display: block;
    font-size: 13px;
    color: #888;
    font-style: italic;
}

/* ── Modal Result CTA ────────────────────────────────────────────── */
.lc-viz-modal__result-cta {
    text-align: center;
    padding: 24px 20px;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.lc-viz-modal__result-cta p {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin: 0 0 4px;
    font-style: italic;
}
.lc-viz-modal__cta-call.lc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #1A3C2A;
    color: #fff;
    padding: 16px 40px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    width: 100%;
    max-width: 360px;
    text-align: center;
    box-sizing: border-box;
    transition: background 0.2s;
}
.lc-viz-modal__cta-call.lc-btn:hover {
    background: #2a5c40;
    color: #fff;
    transform: none;
    box-shadow: none;
}
.lc-viz-modal__restart {
    display: inline-block;
    background: none;
    border: none;
    color: #666;
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
    padding: 8px;
    font-family: var(--font-body);
    transition: color 0.2s;
}
.lc-viz-modal__restart:hover {
    color: #C9A96E;
}

/* ── Gold Label ───────────────────────────────────────────────────── */
.lc-label--gold {
    color: var(--lc-accent);
}

/* ── Mobile Bar AI Button ─────────────────────────────────────────── */
.lc-mobile-bar__btn--ai {
    background: linear-gradient(135deg, #C8A96E, #d4bb8a);
    color: #fff;
}
.lc-mobile-bar__btn--ai:hover {
    background: linear-gradient(135deg, #b89a5e, #C8A96E);
    color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE - New Components
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    .lc-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .lc-ai-teaser__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .lc-ai-teaser__visual {
        order: -1;
    }
    .lc-viz-modal__gate {
        grid-template-columns: 1fr;
    }
    .lc-ai-cta-banner__inner {
        padding: 32px;
    }
}

@media (max-width: 768px) {
    .lc-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .lc-viz-modal__options--features {
        grid-template-columns: repeat(2, 1fr);
    }
    .lc-viz-modal__comparison {
        grid-template-columns: 1fr;
    }
    .lc-header__ai-btn span {
        display: none;
    }
    .lc-ai-cta-banner__inner {
        flex-direction: column;
        text-align: center;
        padding: 28px 24px;
    }
    .lc-ai-cta-banner__text {
        text-align: center;
    }
    .lc-ai-cta-banner__text h3 {
        justify-content: center;
    }
    .lc-contact-ai__inner {
        flex-direction: column;
        text-align: center;
    }
    .lc-hero__trust {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }
    .lc-ai-teaser__mockup {
        flex-direction: column;
        gap: 16px;
    }
    .lc-ai-teaser__before,
    .lc-ai-teaser__after {
        width: 140px;
        height: 140px;
    }
    .lc-ai-teaser__arrow i {
        transform: rotate(90deg);
    }
    .lc-viz-modal__container {
        padding: 28px 20px;
    }
}

@media (max-width: 480px) {
    .lc-viz-modal__options--features {
        grid-template-columns: 1fr;
    }
    .lc-viz-modal__estimate-range {
        font-size: 24px;
    }
    .lc-viz-modal__container {
        padding: 20px;
        border-radius: var(--radius-lg);
    }
    .lc-viz-modal__options--size {
        grid-template-columns: 1fr;
    }
    .lc-viz-modal__dropzone {
        padding: 32px 16px;
    }
    .lc-viz-modal__dropzone i {
        font-size: 36px;
    }
    .lc-why-card {
        padding: 24px;
    }
    .lc-ai-teaser__before,
    .lc-ai-teaser__after {
        width: 120px;
        height: 120px;
    }
    .lc-ai-cta-banner__inner {
        padding: 24px 20px;
    }
    .lc-viz-modal__gate {
        gap: 16px;
    }
    .lc-viz-modal__header h2 {
        font-size: 1.3rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   PHASE 2-8 REFINEMENTS — Backyard-matching polish
   ═══════════════════════════════════════════════════════════════════ */

/* ── Trust Pills (ported from backyard) ─────────────────────────── */
.lc-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 36px;
}
.lc-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.lc-trust-pill i {
    font-size: 14px;
    color: var(--lc-accent);
    flex-shrink: 0;
}
.lc-trust-pill strong {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}
.lc-trust-pill span {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: rgba(255,255,255,0.65);
    line-height: 1.2;
}

/* ── Minimal Form Variant ───────────────────────────────────────── */
.lc-form--minimal input,
.lc-form--minimal select,
.lc-form--minimal textarea {
    border: none;
    border-bottom: 1px solid var(--border-light);
    border-radius: 0;
    padding: 14px 0;
    background: transparent;
    font-size: 15px;
    transition: border-color 0.3s;
}
.lc-form--minimal input:focus,
.lc-form--minimal select:focus,
.lc-form--minimal textarea:focus {
    border-bottom-color: var(--green-primary);
    box-shadow: none;
    outline: none;
}
.lc-form--minimal input::placeholder,
.lc-form--minimal textarea::placeholder {
    color: var(--text-light);
}

/* ── Header CTA — always visible ─────────────────────────────── */
/* Transparent state: translucent white outline */
.lc-header--transparent .lc-header__actions .lc-btn {
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.25);
}
.lc-header--transparent .lc-header__actions .lc-btn:hover {
    background: rgba(255,255,255,0.22);
    border-color: rgba(255,255,255,0.5);
}
/* Non-transparent (inner pages): dark green filled */
.lc-header:not(.lc-header--transparent) .lc-header__actions .lc-btn {
    background: var(--green-deep);
    color: #fff;
    border: 1px solid var(--green-deep);
    font-weight: 700;
}
.lc-header:not(.lc-header--transparent) .lc-header__actions .lc-btn:hover {
    background: var(--green-primary);
    border-color: var(--green-primary);
    box-shadow: 0 4px 16px rgba(26, 60, 42, 0.3);
    transform: translateY(-1px);
}
/* Scrolled state: dark green filled — stands out on white bg */
.lc-header.lc-header--scrolled .lc-header__actions .lc-btn {
    background: var(--green-deep);
    color: #fff;
    border: 1px solid var(--green-deep);
    font-weight: 700;
}
.lc-header.lc-header--scrolled .lc-header__actions .lc-btn:hover {
    background: var(--green-primary);
    border-color: var(--green-primary);
    box-shadow: 0 4px 16px rgba(26, 60, 42, 0.3);
    transform: translateY(-1px);
}

/* ── Footer CTA Banner — radial gradient decoration ──────────── */
.lc-footer-cta {
    position: relative;
    overflow: hidden;
}
.lc-footer-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(200,169,110,0.12) 0%, transparent 70%);
    pointer-events: none;
}

/* ── Infinite Gallery Strip ───────────────────────────────────── */
.lc-gallery-strip {
    overflow: hidden;
    position: relative;
    background: var(--green-deep);
    padding: 0;
}
.lc-gallery-strip::before,
.lc-gallery-strip::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}
.lc-gallery-strip::before {
    left: 0;
    background: linear-gradient(to right, var(--green-deep), transparent);
}
.lc-gallery-strip::after {
    right: 0;
    background: linear-gradient(to left, var(--green-deep), transparent);
}
.lc-gallery-strip__track {
    display: flex;
    width: max-content;
    animation: lcStripScroll 50s linear infinite;
    will-change: transform;
}
.lc-gallery-strip__track img {
    height: 250px;
    min-width: 350px;
    width: auto;
    flex-shrink: 0;
    object-fit: cover;
    display: block;
    margin-right: 8px;
    filter: brightness(0.85);
    transition: filter 0.3s ease;
}
.lc-gallery-strip__track img:hover {
    filter: brightness(1);
}
@keyframes lcStripScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ── Filter buttons / area tags — sharp edges ────────────────── */
.lc-filter-btn {
    border-radius: 0;
}
.lc-area-tag {
    border-radius: 0;
}

/* ── Stats Section Redesign ──────────────────────────────────── */
.lc-stats {
    background: var(--bg-secondary);
    padding: 80px 0;
}
.lc-stats__grid {
    display: flex;
    justify-content: center;
    gap: 0;
    text-align: center;
}
.lc-stats__item {
    flex: 1;
    padding: 0 40px;
    position: relative;
}
.lc-stats__item + .lc-stats__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10%;
    bottom: 10%;
    width: 1px;
    background: var(--border-light);
}
.lc-stats__number {
    display: block;
    font-family: var(--font-heading);
    font-size: 56px;
    font-weight: 500;
    color: var(--green-primary);
    line-height: 1;
}
.lc-stats__label {
    display: block;
    color: var(--text-secondary);
    font-size: 14px;
    margin-top: 8px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Hero Grid Layout (matching backyard) ────────────────────── */
.lc-hero {
    align-items: center;
    justify-content: flex-start;
}
.lc-hero__content {
    text-align: left;
    max-width: none;
}
.lc-hero__grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 60px;
    align-items: center;
}
.lc-hero__grid-left .lc-label {
    color: var(--lc-accent-light);
}
.lc-hero__grid-left h1 {
    color: #fff;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    margin-bottom: 20px;
}
.lc-hero__grid-left .lc-hero__subtitle {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    max-width: 500px;
    margin-bottom: 28px;
}
.lc-hero__grid-left .lc-hero__ctas {
    justify-content: flex-start;
    margin-bottom: 24px;
}
.lc-hero__phone-line {
    font-size: 15px;
    color: rgba(255,255,255,0.7);
}
.lc-hero__phone-line a {
    color: var(--lc-accent-light);
    font-weight: 600;
}
.lc-hero__phone-line a:hover {
    color: var(--lc-accent);
    text-decoration: underline;
}
.lc-hero__grid-right {
    scroll-margin-top: 100px;
}
.lc-hero__form-card {
    background: #fff;
    padding: 40px;
    box-shadow: 0 40px 80px rgba(0,0,0,0.15);
}
.lc-hero__form-card h3 {
    font-family: var(--font-heading);
    font-size: 24px;
    color: var(--green-deep);
    margin-bottom: 4px;
}
.lc-hero__form-card > p {
    font-size: 14px;
    color: var(--text-light);
    margin-bottom: 24px;
}

/* ── Service Cards — center-align, gold-tinted icon bg ───────── */
.lc-service-card {
    align-items: center;
    text-align: center;
    padding: 36px 28px;
}
.lc-service-card__icon {
    background: #F5F0E8;
    margin: 0 auto 16px;
}
.lc-service-card__icon i {
    color: var(--lc-accent);
}
.lc-service-card:hover .lc-service-card__icon {
    background: var(--lc-accent);
}
.lc-service-card:hover .lc-service-card__icon i {
    color: var(--green-deep);
}

/* ── AI Teaser Section — dark green with radial gradient ──────── */
.lc-ai-teaser {
    position: relative;
    overflow: hidden;
}
.lc-ai-teaser::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(200,169,110,0.1) 0%, transparent 70%);
    pointer-events: none;
}
.lc-ai-teaser__feature-pills {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}
.lc-ai-teaser__pill {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
}
.lc-ai-teaser__pill i {
    color: var(--lc-accent);
    font-size: 16px;
    flex-shrink: 0;
}
.lc-ai-teaser__pill span {
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.9);
}

/* ── Project Info Cards (non-clickable, dark) ────────────────── */
.lc-project-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap);
}
.lc-project-info-card {
    background: var(--green-deep);
    color: #fff;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.lc-project-info-card__img {
    aspect-ratio: 16/10;
    overflow: hidden;
    position: relative;
}
.lc-project-info-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lc-project-info-card__img .lc-placeholder {
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.2);
    border-radius: 0;
}
.lc-project-info-card__body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.lc-project-info-card__type {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--lc-accent);
    margin-bottom: 8px;
}
.lc-project-info-card__name {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 500;
    color: #fff;
    margin-bottom: 8px;
    line-height: 1.2;
}
.lc-project-info-card__location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin-bottom: 16px;
}
.lc-project-info-card__location i {
    color: var(--lc-accent);
    font-size: 12px;
}
.lc-project-info-card__scope {
    font-size: 14px;
    color: rgba(255,255,255,0.75);
    line-height: 1.6;
    margin-bottom: 20px;
    flex: 1;
}
.lc-project-info-card__meta {
    display: flex;
    gap: 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 16px;
}
.lc-project-info-card__meta-item {
    flex: 1;
    text-align: center;
    position: relative;
}
.lc-project-info-card__meta-item + .lc-project-info-card__meta-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255,255,255,0.1);
}
.lc-project-info-card__meta-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.45);
    margin-bottom: 4px;
}
.lc-project-info-card__meta-value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.lc-project-info-card__investment {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.lc-project-info-card__investment-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.45);
}
.lc-project-info-card__investment-value {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--lc-accent);
}

@media (max-width: 1024px) {
    .lc-project-info-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .lc-project-info-grid { grid-template-columns: 1fr; }
}

/* ── Homepage Gallery Grid ────────────────────────────────────── */
.lc-home-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.lc-home-gallery__item {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
    cursor: default;
}
.lc-home-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--ease);
}
.lc-home-gallery__item:hover img {
    transform: scale(1.05);
}
.lc-home-gallery__item .lc-placeholder {
    border-radius: 0;
}
.lc-home-gallery__overlay {
    position: absolute;
    inset: 0;
    background: rgba(26,60,42,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s var(--ease);
}
.lc-home-gallery__item:hover .lc-home-gallery__overlay {
    opacity: 1;
}
.lc-home-gallery__overlay i {
    color: #fff;
    font-size: 28px;
}
@media (max-width: 768px) {
    .lc-home-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .lc-home-gallery { grid-template-columns: 1fr; }
}

/* ── Service Page Gallery ─────────────────────────────────────── */
.lc-svc-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.lc-svc-gallery__item {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
    cursor: default;
}
.lc-svc-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--ease);
}
.lc-svc-gallery__item:hover img {
    transform: scale(1.05);
}
.lc-svc-gallery__overlay {
    position: absolute;
    inset: 0;
    background: rgba(26,60,42,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s var(--ease);
}
.lc-svc-gallery__item:hover .lc-svc-gallery__overlay {
    opacity: 1;
}
.lc-svc-gallery__overlay i {
    color: #fff;
    font-size: 28px;
}
@media (max-width: 768px) {
    .lc-svc-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* ── About / Connection Section ──────────────────────────────── */
.lc-about-teaser__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.lc-about-teaser__photo {
    aspect-ratio: 4/5;
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-size: 64px;
    overflow: hidden;
    position: relative;
}
.lc-about-teaser__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lc-about-teaser__text h2 {
    margin-bottom: 20px;
}
.lc-about-teaser__text p {
    color: var(--text-secondary);
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 16px;
}
.lc-about-teaser__signature {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 28px 0 32px;
    padding: 20px 0;
    border-top: 1px solid var(--border-light);
}
.lc-about-teaser__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(45,94,63,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lc-about-teaser__avatar i {
    color: var(--green-primary);
    font-size: 24px;
}
.lc-about-teaser__name {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 500;
}
.lc-about-teaser__role {
    font-size: 13px;
    color: var(--text-light);
}
@media (max-width: 1024px) {
    .lc-about-teaser__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .lc-about-teaser__photo {
        aspect-ratio: 16/9;
        max-height: 400px;
    }
}

/* ── Team Section ─────────────────────────────────────────────── */
.lc-team-section {
    margin-top: 80px;
    padding-top: 60px;
    border-top: 1px solid var(--border-light);
}
.lc-team-section .lc-section__header {
    text-align: center;
    margin-bottom: 40px;
}
.lc-team-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--gap);
}
.lc-team-card {
    text-align: center;
}
.lc-team-card__photo {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    border: 2px solid var(--border-light);
}
.lc-team-card__photo i {
    font-size: 28px;
    color: var(--green-primary);
}
.lc-team-card__name {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 4px;
}
.lc-team-card__role {
    font-size: 13px;
    color: var(--lc-accent);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.lc-team-card__bio {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-top: 10px;
}
.lc-team-card__photo--lg {
    width: 110px;
    height: 110px;
}
.lc-team-card__photo--lg i {
    font-size: 34px;
}
.lc-team-grid--about {
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
    .lc-team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .lc-team-grid,
    .lc-team-grid--about {
        grid-template-columns: repeat(2, 1fr);
    }
    .lc-team-section {
        margin-top: 48px;
        padding-top: 40px;
    }
}

/* ── Before/After Slider Component ───────────────────────────── */
.lc-ba-slider {
    position: relative;
    overflow: hidden;
    cursor: col-resize;
    user-select: none;
    -webkit-user-select: none;
}
/* After image sits in normal flow and defines the container height */
.lc-ba-slider__after {
    display: block;
    width: 100%;
    height: auto;
}
/* Before wrapper overlays on top, clipped by overflow:hidden */
.lc-ba-slider__before-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
    z-index: 2;
}
/* Before image is always full container width — only the wrapper clips it */
.lc-ba-slider__before {
    display: block;
    width: 100%;  /* JS overrides to exact px */
    height: 100%;
    object-fit: cover;
}
.lc-ba-slider__divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 3px;
    background: #fff;
    z-index: 3;
    cursor: col-resize;
    transform: translateX(-50%);
}
.lc-ba-slider__handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
}
.lc-ba-slider__handle i {
    font-size: 16px;
    color: var(--green-primary);
}
.lc-ba-slider__tag {
    position: absolute;
    bottom: 16px;
    z-index: 5;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;
}
.lc-ba-slider__tag--before {
    left: 16px;
    background: rgba(0,0,0,0.5);
}
.lc-ba-slider__tag--after {
    right: 16px;
    background: var(--green-primary);
}

/* ── Cost Estimate Teaser ────────────────────────────────────── */
.lc-cost-estimate {
    text-align: center;
    padding: 80px 0;
}
.lc-cost-estimate__range {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 500;
    color: var(--green-primary);
    margin: 16px 0;
    line-height: 1.1;
}
.lc-cost-estimate__note {
    color: var(--text-secondary);
    font-size: 15px;
    max-width: 500px;
    margin: 0 auto 28px;
}

/* ── Page Hero — dark overlay variant ────────────────────────── */
.lc-page-hero--dark {
    background: var(--bg-dark-section);
    background-size: cover;
    background-position: center;
    position: relative;
}
.lc-page-hero--dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(26,60,42,0.8);
}
.lc-page-hero--dark * {
    position: relative;
    z-index: 1;
}
.lc-page-hero--dark h1 {
    color: #fff;
}
.lc-page-hero--dark .lc-page-hero__sub {
    color: rgba(255,255,255,0.8);
}

/* ── Project Card Hover Overlay with Meta ────────────────────── */
.lc-project-card__overlay-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.lc-project-card__overlay-meta span {
    color: rgba(255,255,255,0.9);
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.lc-project-card__overlay-meta i {
    color: var(--lc-accent-light);
}

/* ── Why Card — center + border refinement ───────────────────── */
.lc-why-card {
    border: 1px solid var(--border-light);
}

/* ── Contact Info — subtle card style ────────────────────────── */
.lc-contact-list li {
    background: var(--bg-secondary);
    padding: 16px;
    margin-bottom: 12px;
}
.lc-contact-form-card {
    background: var(--bg-card);
    padding: 36px;
    box-shadow: var(--shadow-lg);
}

/* ── Service Hero Form Card ──────────────────────────────────── */
.lc-svc-hero__form {
    box-shadow: 0 40px 80px rgba(0,0,0,0.15);
    padding: 36px;
}

/* ═══════════════════════════════════════════════════════════════════
   PHASE 2-8 RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .lc-hero__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .lc-hero__grid-left {
        text-align: center;
    }
    .lc-hero__grid-left .lc-hero__subtitle {
        text-align: center;
        margin: 0 auto 28px;
    }
    .lc-hero__grid-left .lc-hero__ctas {
        justify-content: center;
    }
    .lc-hero__grid-left .lc-trust-pills {
        justify-content: center;
    }
    .lc-stats__grid {
        flex-wrap: wrap;
    }
    .lc-stats__item {
        flex: 0 0 50%;
        padding: 20px;
    }
    .lc-stats__item + .lc-stats__item::before {
        display: none;
    }
    .lc-ai-teaser__feature-pills {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .lc-hero__form-card {
        padding: 28px;
    }
    .lc-stats__number {
        font-size: 40px;
    }
    .lc-trust-pills {
        flex-direction: column;
        align-items: center;
    }
    .lc-ai-teaser__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .lc-gallery-strip__track img {
        height: 160px;
        min-width: 250px;
    }
}

@media (max-width: 480px) {
    .lc-stats__item {
        flex: 0 0 100%;
    }
    .lc-hero__form-card {
        padding: 24px;
    }
    .lc-gallery-strip__track img {
        height: 120px;
        min-width: 200px;
    }
    .lc-contact-form-card {
        padding: 20px;
    }
}

/* ── Service Page Dual Gallery Strips ────────────────────────── */
.lc-svc-strips {
    overflow: hidden;
    background: var(--green-deep);
    padding: 12px 0;
}
.lc-svc-strips__row {
    overflow: hidden;
    position: relative;
    padding: 6px 0;
}
.lc-svc-strips__row::before,
.lc-svc-strips__row::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 80px; z-index: 2;
    pointer-events: none;
}
.lc-svc-strips__row::before {
    left: 0;
    background: linear-gradient(to right, var(--green-deep), transparent);
}
.lc-svc-strips__row::after {
    right: 0;
    background: linear-gradient(to left, var(--green-deep), transparent);
}
.lc-svc-strips__track {
    display: flex;
    width: max-content;
    animation: lcStripScroll 35s linear infinite;
}
.lc-svc-strips__row--reverse .lc-svc-strips__track {
    animation: lcStripScrollReverse 35s linear infinite;
}
.lc-svc-strips__track img {
    height: 180px;
    min-width: 280px;
    width: auto;
    flex-shrink: 0;
    object-fit: cover;
    display: block;
    margin-right: 8px;
    border-radius: 4px;
    filter: brightness(0.8);
    transition: filter 0.3s ease;
}
.lc-svc-strips__track img:hover {
    filter: brightness(1);
}
@keyframes lcStripScrollReverse {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* ── Dark Project Info Cards (Related Projects) ──────────────── */
.lc-project-info-grid--dark .lc-project-info-card {
    background: var(--green-deep);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.08);
}
.lc-project-info-grid--dark .lc-project-info-card__type {
    background: rgba(200,169,110,0.15);
    color: var(--lc-accent);
}
.lc-project-info-grid--dark .lc-project-info-card__name {
    color: #fff;
}
.lc-project-info-grid--dark .lc-project-info-card__location {
    color: rgba(255,255,255,0.7);
}
.lc-project-info-grid--dark .lc-project-info-card__scope {
    color: rgba(255,255,255,0.6);
}
.lc-project-info-grid--dark .lc-project-info-card__meta-label {
    color: rgba(255,255,255,0.5);
}
.lc-project-info-grid--dark .lc-project-info-card__meta-value {
    color: var(--lc-accent);
}
.lc-project-info-grid--dark .lc-project-info-card__investment-label {
    color: rgba(255,255,255,0.5);
}
.lc-project-info-grid--dark .lc-project-info-card__investment-value {
    color: var(--lc-accent);
}

/* ── About Page: Work in Action Grid ─────────────────────────── */
.lc-action-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.lc-action-grid__item {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
}
.lc-action-grid__item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.lc-action-grid__item:hover img {
    transform: scale(1.05);
}
.lc-action-grid__caption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 16px 20px;
    background: linear-gradient(to top, rgba(26,60,42,0.85), transparent);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.02em;
}

@media (max-width: 768px) {
    .lc-svc-strips__track img {
        height: 140px;
    }
    .lc-included-grid {
        grid-template-columns: 1fr 1fr;
    }
    .lc-action-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .lc-svc-strips__track img {
        height: 110px;
    }
    .lc-included-grid {
        grid-template-columns: 1fr;
    }
    .lc-action-grid {
        grid-template-columns: 1fr;
    }
    .lc-action-grid__item img {
        height: 220px;
    }
}
