:root{
    --landing-bg:#f4f7f4;
    --landing-surface:#ffffff;
    --landing-surface-soft:#eef5f0;
    --landing-text:#17211c;
    --landing-muted:#5f6d65;
    --landing-line:rgba(12,56,35,.10);
    --landing-green:#0d8a52;
    --landing-green-deep:#0a5d39;
    --landing-green-soft:#dff4e8;
    --landing-dark:#0c1612;
    --landing-dark-2:#163126;
    --landing-shadow:0 22px 60px rgba(16,39,29,.10);
}

.landing{
    background:var(--landing-bg);
    color:var(--landing-text);
}
.landing-service,
.landing-repair,
.landing-repair-index{overflow:hidden}
.landing-hero{
    position:relative;
    min-height:84vh;
    display:flex;
    align-items:flex-end;
    background-size:cover;
    background-position:center;
    isolation:isolate;
}
.landing-hero--service{background-color:#0b1712}
.landing-hero--repair,
.landing-hero--repair-index{background:linear-gradient(135deg, #09110e 0%, #123024 100%)}
.landing-hero__shade{
    position:absolute;
    inset:0;
    background:linear-gradient(125deg, rgba(7,14,11,.88) 0%, rgba(8,25,18,.72) 45%, rgba(12,69,42,.55) 100%);
    z-index:-1;
}
.landing-hero__inner{padding:5.5rem 0 4rem}
.landing-breadcrumb{
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
    margin-bottom:1.25rem;
    color:rgba(255,255,255,.72);
    font-size:.85rem;
}
.landing-breadcrumb a{color:rgba(255,255,255,.68);text-decoration:none}
.landing-breadcrumb a:hover{color:#fff}
.landing-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);
    gap:1.5rem;
    align-items:end;
}
.landing-hero__grid--repair{align-items:start}
.landing-kicker,
.landing-section__kicker,
.landing-panel__eyebrow,
.landing-sidecard__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.45rem .85rem;
    border-radius:999px;
    background:rgba(223,244,232,.14);
    border:1px solid rgba(255,255,255,.10);
    color:#dff4e8;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.landing-title{
    margin:1rem 0 1rem;
    color:#fff;
    font-size:clamp(2.4rem,5vw,4.8rem);
    line-height:1.02;
    font-weight:900;
    letter-spacing:-.03em;
}
.landing-title span{
    display:block;
    margin-top:.75rem;
    color:#bfe8cf;
    font-size:clamp(1rem,1.8vw,1.2rem);
    font-weight:700;
    letter-spacing:.02em;
}
.landing-lead{
    max-width:760px;
    margin:0 0 1.35rem;
    color:rgba(255,255,255,.82);
    font-size:1.05rem;
    line-height:1.85;
}
.landing-badges,
.landing-actions,
.landing-panel__brands,
.landing-pills,
.landing-cities,
.landing-links{display:flex;flex-wrap:wrap;gap:.8rem}
.landing-badges{margin-bottom:1.35rem}
.landing-panel__brands{margin-top:1.15rem}
.landing-badges span,
.landing-panel__brands span,
.landing-pill,
.landing-city{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    min-height:44px;
    padding:.7rem .95rem;
    border-radius:999px;
    text-decoration:none;
}
.landing-badges span{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:.85rem;
}
.landing-badges i{color:#aaf0c7}
.landing-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin-top:1.5rem;
}
.landing-stats--compact{margin-top:1.1rem}
.landing-stat{
    padding:1rem 1.1rem;
    border-radius:20px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.11);
    backdrop-filter:blur(8px);
}
.landing-stat strong{display:block;color:#fff;font-size:1.8rem;line-height:1;font-weight:900}
.landing-stat span{display:block;margin-top:.45rem;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.5}
.landing-panel,
.landing-sidecard,
.landing-card,
.landing-benefit,
.landing-step,
.landing-faq__item,
.landing-cta,
.landing-linkcard,
.svc-portfolio-item,
.svc-portfolio-link{
    border-radius:28px;
    box-shadow:var(--landing-shadow);
}
.landing-panel{
    padding:1.4rem;
    border:1px solid rgba(255,255,255,.10);
}
.landing-panel--glass{
    background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%);
    backdrop-filter:blur(18px);
}
.landing-panel--emergency{
    background:#fff;
    border-color:rgba(12,56,35,.08);
}
.landing-panel--emergency .landing-panel__eyebrow,
.landing-sidecard__eyebrow,
.landing-section__kicker{background:var(--landing-green-soft);border:none;color:var(--landing-green)}
.landing-panel__title{margin:.85rem 0 1rem;color:#fff;font-size:1.45rem;font-weight:900;line-height:1.2}
.landing-panel--emergency .landing-panel__title{color:var(--landing-text)}
.landing-checks,
.landing-mini-list,
.landing-benefits,
.landing-faq{display:grid;gap:.9rem}
.landing-check,
.landing-mini-list > div,
.landing-benefit,
.landing-spec,
.landing-card--problem{
    display:flex;
    gap:.85rem;
    align-items:flex-start;
}
.landing-check,
.landing-mini-list > div{
    padding:.85rem .95rem;
    border-radius:18px;
}
.landing-panel--glass .landing-check{background:rgba(255,255,255,.08);color:#fff}
.landing-panel--emergency .landing-check{background:var(--landing-surface-soft);color:var(--landing-text)}
.landing-check i,
.landing-mini-list i,
.landing-card__icon,
.landing-benefit__icon{
    width:42px;
    height:42px;
    min-width:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:var(--landing-green-soft);
    color:var(--landing-green);
    font-size:1rem;
}
.landing-panel__brands span{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.10);
    color:#fff;
    font-size:.82rem;
    font-weight:700;
}
.landing-section{padding:5rem 0}
.landing-section--soft{background:linear-gradient(180deg, #eff5f1 0%, #f7faf8 100%)}
.landing-section--dark{background:linear-gradient(135deg, var(--landing-dark) 0%, var(--landing-dark-2) 100%)}
.landing-section__head{max-width:820px;margin:0 auto 2rem;text-align:center}
.landing-section__head--left{max-width:none;margin:0 0 1.4rem;text-align:left}
.landing-section__head h2{
    margin:.9rem 0 0;
    font-size:clamp(1.8rem,3.2vw,2.8rem);
    line-height:1.15;
    font-weight:900;
    color:var(--landing-text);
}
.landing-section__head--light h2,
.landing-section__head--light .landing-section__kicker{color:#fff}
.landing-section__head--light .landing-section__kicker{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}
.landing-card-grid{
    display:grid;
    gap:1rem;
}
.landing-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-card{
    padding:1.4rem;
    background:var(--landing-surface);
    border:1px solid var(--landing-line);
    color:var(--landing-text);
}
.landing-card--soft{background:#f8fbf9}
.landing-card--link{text-decoration:none}
.landing-card--link:hover,
.landing-linkcard:hover,
.landing-pill:hover,
.landing-city:hover,
.svc-portfolio-item:hover,
.svc-portfolio-link:hover{transform:translateY(-4px)}
.landing-card h3,
.landing-benefit h3,
.landing-step h3,
.landing-linkcard span{margin:0 0 .55rem;font-size:1.05rem;font-weight:800;line-height:1.35}
.landing-card p,
.landing-benefit p,
.landing-step p,
.landing-faq__answer p,
.landing-cta p,
.landing-inline-link{margin:0;color:var(--landing-muted);line-height:1.75;font-size:.95rem}
.landing-layout__grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(310px,.75fr);
    gap:1.25rem;
    align-items:start;
}
.landing-layout__side{display:grid;gap:1rem;position:sticky;top:108px}
.landing-sidecard{padding:1.35rem;background:#fff;border:1px solid var(--landing-line)}
.landing-sidecard--accent{background:linear-gradient(180deg, #0e241b 0%, #15382a 100%);border-color:rgba(255,255,255,.06)}
.landing-sidecard--accent .landing-sidecard__eyebrow{background:rgba(255,255,255,.10);color:#dff4e8}
.landing-sidecard--accent .landing-mini-list > div{background:rgba(255,255,255,.06);color:#fff}
.landing-sidecard--accent .landing-inline-link{color:#dff4e8}
.landing-specs{display:grid;gap:.75rem;margin-top:.9rem}
.landing-spec{
    justify-content:space-between;
    padding:.9rem 1rem;
    border-radius:18px;
    background:var(--landing-surface-soft);
    border:1px solid rgba(12,56,35,.07);
}
.landing-spec span{color:var(--landing-muted);font-size:.9rem;line-height:1.5}
.landing-spec strong{color:var(--landing-text);font-size:.92rem;font-weight:800;text-align:right}
.landing-locality{
    padding:1.25rem 1.35rem;
    border-radius:28px;
    background:#fff;
    border:1px solid var(--landing-line);
    box-shadow:var(--landing-shadow);
}
.landing-locality__intro{margin:0;color:var(--landing-muted);font-size:1rem;line-height:1.9}
.landing-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem}
.landing-fact{padding:1rem;border-radius:18px;background:var(--landing-surface-soft);border:1px solid rgba(12,56,35,.07)}
.landing-fact span{display:block;color:var(--landing-muted);font-size:.8rem;line-height:1.5;margin-bottom:.35rem}
.landing-fact strong{display:block;color:var(--landing-text);font-size:.96rem;font-weight:800;line-height:1.45}
.landing-mini-list--tight > div{padding:.75rem .85rem}
.landing-benefits{gap:1rem}
.landing-benefit{padding:1rem 1.05rem;background:#fff;border:1px solid var(--landing-line)}
.landing-timeline{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:1rem;
}
.landing-timeline--repair{grid-template-columns:repeat(4,minmax(0,1fr))}
.landing-step{padding:1.3rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff}
.landing-step__num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    margin-bottom:1rem;
    background:rgba(255,255,255,.10);
    color:#dff4e8;
    font-weight:900;
}
.landing-step p{color:rgba(255,255,255,.74)}
.landing-faq__item{background:#fff;border:1px solid var(--landing-line);overflow:hidden}
.landing-faq__button{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.1rem 1.2rem;
    background:none;
    border:none;
    color:var(--landing-text);
    font-size:.96rem;
    font-weight:800;
    text-align:left;
}
.landing-faq__button i{transition:transform .25s ease;color:var(--landing-green)}
.landing-faq__answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 1.2rem}
.landing-faq__item.is-open .landing-faq__answer{max-height:320px;padding:0 1.2rem 1.2rem}
.landing-faq__item.is-open .landing-faq__button i{transform:rotate(45deg)}
.landing-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
    gap:1.2rem;
    padding:2rem;
    background:linear-gradient(135deg, #0c1712 0%, #0f6e42 100%);
    color:#fff;
}
.landing-cta h2{margin:.9rem 0 1rem;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15;font-weight:900}
.landing-cta .landing-section__kicker--light{background:rgba(255,255,255,.10);color:#dff4e8;border:1px solid rgba(255,255,255,.10)}
.landing-cta__form{
    padding:1.2rem;
    border-radius:24px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.10);
    display:grid;
    gap:.8rem;
}
.landing-input{
    width:100%;
    min-height:54px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.10);
    color:#fff;
    padding:.9rem 1rem;
}
.landing-input::placeholder{color:rgba(255,255,255,.58)}
.landing-input--textarea{min-height:104px;resize:vertical}
.landing-linkcard{
    display:flex;
    align-items:center;
    gap:.9rem;
    min-height:86px;
    padding:1rem 1.1rem;
    background:#fff;
    border:1px solid var(--landing-line);
    text-decoration:none;
    color:var(--landing-text);
}
.landing-linkcard--muted{background:#f8fbf9}
.landing-links--stack{display:grid}
.landing-inline-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;color:var(--landing-green);font-weight:800;text-decoration:none}
.landing-pill,
.landing-city{
    background:#fff;
    border:1px solid var(--landing-line);
    color:var(--landing-text);
}
.landing-pill span{color:var(--landing-muted);font-size:.84rem}
.landing-cities{gap:.75rem}
.landing-city{justify-content:center}

.svc-portfolio{padding:0 0 5rem;background:var(--landing-bg)}
.svc-portfolio h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;color:var(--landing-text)}
.svc-portfolio p{font-size:1rem;color:var(--landing-muted)}
.svc-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.svc-portfolio-item{display:block;overflow:hidden;background:#fff;border:1px solid var(--landing-line)}
.svc-portfolio-item img{display:block;width:100%;height:300px;object-fit:cover}
.svc-portfolio-link{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.9rem 1.2rem;
    background:var(--landing-green-soft);
    color:var(--landing-green-deep);
    text-decoration:none;
    font-weight:800;
    border:1px solid rgba(13,138,82,.10);
}

.pg-lightbox-overlay{position:fixed;inset:0;background:rgba(8,12,10,.92);display:none;align-items:center;justify-content:center;z-index:2200;padding:2rem}
.pg-lightbox-overlay.active{display:flex}
.pg-lightbox-overlay img{max-width:min(92vw,1200px);max-height:84vh;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.pg-lightbox-close,.pg-lightbox-prev,.pg-lightbox-next{
    position:absolute;
    width:54px;
    height:54px;
    border-radius:50%;
    border:none;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:1.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
}
.pg-lightbox-close{top:24px;right:24px}
.pg-lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}
.pg-lightbox-next{right:24px;top:50%;transform:translateY(-50%)}

@media (max-width: 1199px){
    .landing-hero__grid,
    .landing-layout__grid,
    .landing-cta{grid-template-columns:1fr}
    .landing-layout__side{position:static}
    .landing-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 991px){
    .landing-hero{min-height:auto}
    .landing-hero__inner{padding:5rem 0 3.5rem}
    .landing-card-grid--3,
    .svc-portfolio-grid,
    .landing-timeline,
    .landing-timeline--repair{grid-template-columns:repeat(2,minmax(0,1fr))}
    .landing-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
    .landing-facts{grid-template-columns:1fr 1fr}
}
@media (max-width: 767px){
    .landing-section{padding:4rem 0}
    .landing-title{font-size:clamp(2rem,9vw,3.1rem)}
    .landing-badges,
    .landing-links,
    .landing-cities,
    .landing-pills{display:grid}
    .landing-card-grid--3,
    .svc-portfolio-grid,
    .landing-timeline,
    .landing-timeline--repair,
    .landing-stats,
    .landing-facts{grid-template-columns:1fr}
    .svc-portfolio-item img{height:240px}
}
@media (max-width: 575px){
    .landing-hero__inner{padding:4.5rem 0 3rem}
    .landing-panel,
    .landing-card,
    .landing-step,
    .landing-sidecard,
    .landing-cta,
    .landing-linkcard{border-radius:22px}
    .landing-cta{padding:1.3rem}
    .landing-input{min-height:50px}
    .pg-lightbox-prev,.pg-lightbox-next{display:none}
}

/* ═══ HERO WITH BACKGROUND IMAGE ═══ */
.landing-hero--repair-img{min-height:78vh;overflow:hidden}
.landing-hero__bg{position:absolute;inset:0;z-index:-2}
.landing-hero__bg img{display:block;width:100%;height:100%;object-fit:cover}
.landing-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,rgba(7,14,11,.84) 0%,rgba(8,25,18,.68) 45%,rgba(12,69,42,.50) 100%)}
.landing-hero__content{position:relative;padding:6rem 0 5rem;z-index:1}
.landing-hero__subtitle{max-width:700px;margin:0 0 1.5rem;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.8}
.landing-hero__cta{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.9rem 1.6rem;border-radius:999px;
    background:var(--landing-green);color:#fff;
    font-size:1rem;font-weight:800;text-decoration:none;
    transition:background .2s,transform .15s;
}
.landing-hero__cta:hover{background:var(--landing-green-deep);transform:translateY(-2px);color:#fff}
.landing-hero__stats{display:flex;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}
.landing-hero__stat{padding:1rem 0}
.landing-hero__stat-num{color:#fff;font-size:2rem;font-weight:900;line-height:1}
.landing-hero__stat-label{color:rgba(255,255,255,.7);font-size:.82rem;margin-top:.35rem}
.landing-hero__wave{position:absolute;bottom:-1px;left:0;right:0;z-index:1;line-height:0}
.landing-hero__wave svg{display:block;width:100%;height:auto}

/* ═══ PORTFOLIO GRID (repair partials) ═══ */
.landing-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.landing-portfolio-item{display:block;overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--landing-line);box-shadow:var(--landing-shadow);transition:transform .2s}
.landing-portfolio-item:hover{transform:translateY(-4px)}
.landing-portfolio-item img{display:block;width:100%;height:280px;object-fit:cover}

/* ═══ ARTICLE STYLING ═══ */
.landing-article{color:var(--landing-text);line-height:1.85;font-size:1rem}
.landing-article h3{margin:1.5rem 0 .6rem;font-size:1.15rem;font-weight:800;color:var(--landing-text)}
.landing-article p{margin:0 0 .9rem;color:var(--landing-muted)}
.landing-article strong{color:var(--landing-text)}

/* ═══ RESPONSIVE ADDITIONS ═══ */
@media (max-width:991px){
    .landing-hero--repair-img{min-height:auto}
    .landing-hero__content{padding:5rem 0 4rem}
    .landing-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
    .landing-hero__stats{flex-wrap:nowrap;gap:0;width:100%;border-radius:12px;overflow:hidden}
    .landing-hero__stat{padding:.8rem .5rem;flex:1;min-width:0;border-radius:0!important}
    .landing-hero__stat:first-child{border-radius:0!important}
    .landing-hero__stat:last-child{border-radius:0!important;border-right:0}
    .landing-hero__stat-num{font-size:1.5rem!important}
    .landing-hero__stat-label{font-size:.72rem}
    .landing-portfolio-grid{grid-template-columns:1fr}
    .landing-portfolio-item img{height:220px}
}
@media (max-width:575px){
    .landing-hero__content{padding:4.5rem 0 3.5rem}
    .landing-hero__cta{width:100%;justify-content:center}
}
