
:root{--bg:#fff;--text:#171717;--muted:#666;--surface:#f4f4f4;--dark:#111;--accent:#f0b400;--danger:#b51d1d;--max:1200px;--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}a{color:inherit}img{max-width:100%;height:auto}.site-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid #e7e7e7}.site-header__inner{max-width:var(--max);margin:auto;padding:14px 22px;min-height:84px;display:flex;align-items:center;gap:18px}.site-logo{display:block;max-width:180px;max-height:64px;object-fit:contain}.primary-nav{flex:1}.primary-nav__list,.primary-nav .sub-menu,.site-footer__menu{list-style:none;margin:0;padding:0}.primary-nav__list{display:flex;align-items:center;justify-content:center;gap:6px}.primary-nav__list>li{position:relative}.primary-nav__list>li>a{display:flex;align-items:center;min-height:46px;padding:0 9px;border-radius:8px;text-decoration:none;font-weight:700;white-space:nowrap}.primary-nav__list>li.menu-item-has-children>a::after{content:"▾";margin-left:6px;font-size:.75em}.primary-nav__list>li>a:hover,.primary-nav__list>li.current-menu-item>a,.primary-nav__list>li.current-menu-ancestor>a{background:var(--surface)}.primary-nav .sub-menu{position:absolute;top:100%;left:0;z-index:1200;min-width:260px;padding:10px;background:#fff;border:1px solid #e7e7e7;border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.primary-nav .sub-menu a{display:block;padding:10px 12px;border-radius:7px;text-decoration:none;font-weight:600}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.site-header__actions{display:flex;align-items:center;gap:12px}.header-phone{display:grid;text-decoration:none}.header-phone small{font-size:.65rem;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:999px;text-decoration:none;font-weight:800}.button--primary{background:var(--accent);color:#111}.button--secondary-light{border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent}.button--danger{background:var(--danger);color:#fff}.jour-strip{background:#111;color:#fff}.jour-strip__inner{max-width:var(--max);margin:auto;padding:8px 22px;text-align:right}.jour-strip a{font-weight:800}.nav-toggle{display:none}.section{padding:76px 0}.section__inner,.content-container{width:min(calc(100% - 48px),var(--max));margin:auto}.section--surface{background:var(--surface)}.section--dark{background:#111;color:#fff}.section-heading{max-width:850px;margin-bottom:36px}.eyebrow{margin:0 0 10px;color:var(--accent);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.section h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:1;max-width:950px}.section h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05}.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.6;max-width:820px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero-section{min-height:600px;display:flex;align-items:center;background:#111 center/cover no-repeat;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid #e4e4e4;border-radius:var(--radius);padding:24px;box-shadow:0 8px 28px rgba(0,0,0,.05)}.card-icon{width:56px;height:56px;object-fit:contain}.product-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}.split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.split-image{width:100%;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}.check-list{padding:0;list-style:none}.check-list li{padding-left:25px;position:relative}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--accent)}.local-links{display:flex;flex-wrap:wrap;gap:10px}.local-links a,.local-links span{padding:10px 15px;border-radius:999px;background:var(--surface);text-decoration:none;font-weight:750}.cta-section{background:#111;color:#fff;text-align:center}.faq-list{display:grid;gap:12px;max-width:900px}.faq-item{border:1px solid #ddd;border-radius:12px;padding:0 18px}.faq-item summary{cursor:pointer;font-weight:800;padding:18px 0}.faq-answer{padding-bottom:18px}.site-footer{background:#111;color:#fff}.site-footer__grid{width:min(calc(100% - 48px),var(--max));margin:auto;padding:52px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}.site-footer a{color:#fff}.site-footer ul{list-style:none;padding:0}.opening-hours__row{display:flex;justify-content:space-between}.opening-hours dd{margin:0}.site-footer__bottom{width:min(calc(100% - 48px),var(--max));margin:auto;padding:20px 0 30px;border-top:1px solid rgba(255,255,255,.16)}@media(max-width:980px){.nav-toggle{display:inline-flex;margin-left:auto}.site-header__inner{flex-wrap:wrap}.primary-nav{display:none;order:4;width:100%;flex-basis:100%}.primary-nav.is-open{display:block}.primary-nav__list{display:block}.primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding-left:18px}.split-grid{grid-template-columns:1fr}.card-grid,.card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.card-grid,.card-grid--3,.site-footer__grid{grid-template-columns:1fr}.section{padding:56px 0}.hero-section{min-height:520px}}


/* 0.3.2 refinements */
:root{
  --body:17px;
  --h1:clamp(3rem,6vw,5.8rem);
  --h2:clamp(2.25rem,4vw,4rem);
  --h3:clamp(1.45rem,2vw,2rem);
}
body{font-size:var(--body);line-height:1.6}
.section h1,.section h2,.section h3{letter-spacing:-.03em}
.section h1{font-size:var(--h1)}
.section h2{font-size:var(--h2)}
.section h3{font-size:var(--h3)}
.card{min-height:300px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.08);border-color:#d6d6d6}
.service-card__text{font-size:1rem;color:#444}
.service-card .text-link{margin-top:auto;padding-top:24px;text-decoration:none}
.service-card .text-link::after{content:" →"}
.service-card .text-link:hover{text-decoration:underline}
.section-cta{margin-top:32px}
.cta-section{text-align:center}
.cta-section .button-row{justify-content:center}
@media(max-width:640px){.card{min-height:0}}


/* 0.3.4 – stable service cards */
.service-cards-section .section__inner{
    width:min(calc(100% - 48px), 1440px);
}

.service-cards-section .card-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
}

.service-cards-section .service-card{
    min-width:0;
    width:100%;
    min-height:300px;
    padding:28px 22px;
    overflow:hidden;
}

.service-cards-section .service-card h3{
    font-size:clamp(1.35rem,1.7vw,1.8rem);
    line-height:1.08;
    letter-spacing:-0.02em;
    margin:0 0 18px;
    max-width:100%;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
}

.service-cards-section .service-card__text{
    font-size:1rem;
    line-height:1.45;
}

.service-cards-section .service-card .text-link{
    margin-top:auto;
    padding-top:24px;
    font-size:1rem;
}

@media(max-width:1100px){
    .service-cards-section .card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .service-cards-section .card-grid{
        grid-template-columns:1fr;
    }
    .service-cards-section .service-card{
        min-height:0;
    }
}


/* 0.4.0 – service pages */
.service-copy,.rich-text{max-width:900px}
.rich-text p:first-child{margin-top:0}
.rich-text p:last-child{margin-bottom:0}
.service-benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-benefit-card{min-height:260px}
.service-benefit-card__icon{width:52px;height:52px;object-fit:contain;margin-bottom:18px}
.service-two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.service-column-card{padding:0;overflow:hidden;min-height:0}
.service-column-card__image{width:100%;aspect-ratio:16/9;object-fit:cover}
.service-column-card__body{padding:28px}
.company-service-section .split-grid,.related-service-section .split-grid{gap:56px}
@media(max-width:980px){
  .service-benefits-grid,.service-two-col-grid{grid-template-columns:1fr}
}


/* 0.4.2 – service hero safeguard */
.service-hero{
    min-height:560px;
    display:flex;
    align-items:center;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    color:#fff;
}
.service-hero .hero-section__inner{
    padding-top:48px;
    padding-bottom:48px;
}

/* 0.4.3: robust ACF Hero layout detection; no visual changes. */
