/* Essen edition: steel blue, blue-green and restrained brass. */
:root{
  --essen-navy:#002a46;
  --essen-navy-2:#0b3c57;
  --essen-teal:#5d9aa4;
  --essen-teal-light:#81adb6;
  --essen-brass:#c6a15b;
  --essen-brass-dark:#80601f;
  --essen-ink:#17303e;
  --essen-mist:#e3e7e8;
  --essen-paper:#f4f6f5;
  --essen-white:#fff;
  --deep:var(--essen-navy);
  --orange:var(--essen-brass-dark);
  --aqua:var(--essen-teal);
  --ink:var(--essen-ink);
  --paper:var(--essen-paper);
  --line:#d5dddf;
  --dd-blue:var(--essen-teal);
  --dd-blue-dark:var(--essen-navy);
  --dd-orange:var(--essen-brass);
  --dd-ink:var(--essen-ink);
  --dd-soft:var(--essen-paper);
  --dd-line:#d5dddf;
}

body{color:var(--essen-ink);background:#fbfcfb}
::selection{color:#fff;background:var(--essen-navy)}
.eyebrow,.dd-kicker{color:var(--essen-brass-dark)!important}
.primary,.form button,.dd-button{background:var(--essen-navy)!important;color:#fff!important}
.primary:hover,.form button:hover,.dd-button:hover{background:var(--essen-navy-2)!important}
.secondary{border-color:var(--essen-navy)!important;color:var(--essen-navy)!important}

/* Header geometry lives in shared-header.css; this file only supplies the Essen palette. */
.es-site-header__request-icon{background:var(--essen-brass);color:var(--essen-navy)}
.es-site-header__toggle,.es-site-header__drawer-lead{background:var(--essen-navy)}
.es-site-header__hamburger i{background:#e0c589}
.es-site-header__drawer{border-top-color:var(--essen-brass);background:var(--essen-paper)}

/* Balanced home hero: contained, readable and independent from the viewport edge. */
.dd-hero{min-height:0;padding:52px 0 58px;background:var(--essen-navy)!important;color:#fff;overflow:hidden}
.dd-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 76%,rgba(93,154,164,.14) 76% 80%,transparent 80%);pointer-events:none}
.dd-hero__shade{display:none}
.dd-hero__grid{width:min(calc(100% - 48px),1180px)!important;max-width:1180px!important;margin:0 auto!important;padding:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important;gap:clamp(42px,4.5vw,64px)!important;align-items:center!important}
.dd-hero__copy{min-width:0;padding:28px 0 32px!important;position:relative}
.dd-hero__copy:after{display:none}
.dd-hero__copy h1{max-width:590px;margin:0 0 24px;font-size:clamp(44px,3.8vw,54px)!important;line-height:1.04!important;letter-spacing:-.045em!important}
.dd-hero__copy h1 span{display:block}
.dd-hero__copy h1 .dd-hero__title-main{color:#fff!important}
.dd-hero__copy h1 .dd-hero__title-accent{margin-top:4px;color:#9bc0c6!important}
.dd-hero__copy>p:not(.dd-kicker){max-width:560px;margin:0;color:#d9e8e9!important;font-size:19px!important;line-height:1.67}
.dd-hero__copy .actions{display:flex;flex-wrap:wrap;gap:12px;margin:31px 0 0}
.dd-hero__copy .dd-button{min-height:54px;padding:14px 20px}
.dd-hero__copy .dd-button:not(.dd-button--ghost){background:var(--essen-brass)!important;color:var(--essen-navy)!important}
.dd-hero__copy .dd-button:not(.dd-button--ghost):hover{background:#e0c589!important}
.dd-hero__copy .dd-button--ghost{background:transparent!important;border-color:rgba(255,255,255,.65)!important;color:#fff!important}
.dd-hero__media{position:relative;min-width:0;min-height:0;aspect-ratio:1.08/1;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:var(--essen-navy-2)}
.dd-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center}
.dd-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,42,70,.28),transparent 35%)}
.dd-hero__media figcaption{position:absolute;z-index:1;right:24px;bottom:24px;max-width:300px;padding:17px 19px;background:rgba(244,246,245,.95);color:var(--essen-ink);border-left:6px solid var(--essen-brass)}
.dd-hero__media figcaption b,.dd-hero__media figcaption span{display:block}
.dd-hero__media figcaption span{font-size:14px;margin-top:4px;color:#526b76}
.dd-hero-contact{padding:72px 0 80px;background:var(--essen-mist);border-bottom:1px solid #ccd7d9}
.dd-hero-contact__grid{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);gap:56px;align-items:stretch}
.dd-hero-contact__intro{display:flex;min-width:0;flex-direction:column;padding-top:10px}
.dd-hero-contact__intro h2{max-width:430px;font-size:clamp(34px,3.1vw,44px);line-height:1.08;color:var(--essen-navy)}
.dd-hero-contact__intro-copy{max-width:420px;color:#526176;font-size:18px;line-height:1.68}
.dd-hero-contact__prep{display:grid;margin:32px 0 26px;padding:0;border-top:1px solid #b8c8cb;list-style:none}
.dd-hero-contact__prep li{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid #b8c8cb}
.dd-hero-contact__prep li:before{content:"";width:10px;height:10px;margin-top:7px;background:var(--essen-brass);box-shadow:4px 4px 0 rgba(0,93,99,.14)}
.dd-hero-contact__prep strong,.dd-hero-contact__prep span{display:block}
.dd-hero-contact__prep strong{margin-bottom:4px;color:var(--essen-navy);font-size:17px;line-height:1.25}
.dd-hero-contact__prep span{color:#526176;font-size:15px;line-height:1.55}
.dd-hero-contact__safety{display:grid;gap:6px;margin-top:auto;padding:20px 22px;border-left:6px solid var(--essen-brass);background:var(--essen-navy);color:#fff}
.dd-hero-contact__safety strong{font-size:17px;line-height:1.3}
.dd-hero-contact__safety span{color:#d8e5e6;font-size:15px;line-height:1.55}
.dd-hero-contact__form{min-width:0;padding:30px;background:#fff;box-shadow:12px 12px 0 var(--essen-brass)}
.dd-hero-contact__form>h2{font-size:clamp(32px,3vw,42px);line-height:1.08}
.dd-hero-contact__form .form{gap:14px 16px}
.form .check,.form .check a{font-size:14px!important;line-height:1.5}
.form .upload small,.form .upload__hint{font-size:13px!important}
.crumb,.crumb a{font-size:14px!important}
.brand-carousel__eyebrow{font-size:14px!important}

/* Industrial-modern content rhythm, deliberately different from the prior rounded card system. */
.dd-intro{padding-top:120px}
.dd-intro__visual img{border:10px solid #fff;box-shadow:24px 24px 0 var(--essen-teal)}
.dd-intro__badge{right:auto;left:-24px;bottom:-22px;background:var(--essen-navy)!important;border-top:5px solid var(--essen-brass)}
.dd-brands{background:var(--essen-paper)!important;border-block:1px solid #d8e0e1}
.dd-brands__grid div{border:0!important;border-bottom:4px solid var(--essen-teal)!important}
.dd-band{background:linear-gradient(90deg,rgba(0,42,70,.98),rgba(11,60,87,.91)),url('/assets/photos/essen-window-service-hero-v2.webp') center/cover!important;position:relative}
.dd-band:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(129,173,182,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(129,173,182,.12) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.dd-band .wrap{position:relative;z-index:1}
.dd-band__facts span{border-left:3px solid var(--essen-brass);padding-left:10px}
.dd-services__grid{gap:34px 22px!important}
.dd-services article{border:0!important;border-left:6px solid var(--essen-teal)!important;border-radius:0!important;box-shadow:0 14px 38px rgba(0,42,70,.1)!important}
.dd-services article:nth-child(3n+2){transform:translateY(22px)}
.dd-services article:hover{transform:translateY(-5px)!important}
.dd-services article:nth-child(3n+2):hover{transform:translateY(17px)!important}
.dd-services article>img{filter:saturate(.82) contrast(1.04)}
.dd-services h3{color:var(--essen-navy)}
.dd-services a{color:var(--essen-navy)!important;text-decoration-color:var(--essen-brass)!important}
.dd-call{background:linear-gradient(90deg,rgba(0,42,70,.97),rgba(0,42,70,.58)),url('/assets/photos/essen-fensterdichtung-service-v1.webp') center/cover!important}
.dd-process li{border-bottom-color:#cfdadc!important}
.dd-process li:before{content:"";width:12px;height:100%;background:var(--essen-teal)}
.dd-guide{background:var(--essen-paper)!important}
.dd-guide__grid article{border-top:0!important;border-left:6px solid var(--essen-teal)!important;border-radius:0!important}
.dd-guide__grid article:nth-child(even){border-left-color:var(--essen-brass)!important}
.dd-guide__note{background:var(--essen-navy)!important}
.dd-guide__note b{color:#e0c589!important}
.dd-area{background:var(--essen-brass)!important;color:var(--essen-navy)!important}
.dd-area h2,.dd-area p{color:var(--essen-navy)!important}
.dd-area a{border-radius:0!important;box-shadow:none!important;border-left:7px solid var(--essen-teal)}
.dd-area a strong,.dd-area a b{color:var(--essen-navy)!important}

/* Four distinct subpage families: editorial, service, local and contact. */
.subhero{position:relative;overflow:hidden}
.subhero:not(.service-hero){padding:74px 0;background:var(--essen-paper)!important;border-bottom:7px solid var(--essen-brass)}
.subhero:not(.service-hero):before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;width:31%;background-color:var(--essen-navy);background-image:linear-gradient(rgba(129,173,182,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(129,173,182,.13) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
.subhero:not(.service-hero):after{content:"E";position:absolute;z-index:0;right:3.5%;bottom:-.22em;color:rgba(255,255,255,.07);font:800 clamp(190px,22vw,350px)/.8 Manrope,Arial,sans-serif;letter-spacing:-.1em;pointer-events:none}
.subhero:not(.service-hero)>.wrap{position:relative;z-index:1;padding:4px 34% 4px 30px;border-left:8px solid var(--essen-teal)}
.subhero:not(.service-hero) h1{max-width:760px;color:var(--essen-navy);font-size:clamp(42px,5vw,66px);text-wrap:balance}
.subhero:not(.service-hero) .lead{max-width:720px}

.subhero.service-hero{min-height:0;padding:0!important;background:linear-gradient(90deg,var(--essen-paper) 0 77%,var(--essen-mist) 77%)!important;color:var(--essen-ink);border:0;border-bottom:7px solid var(--essen-brass)}
.service-hero:before,.service-hero:after{display:none}
.service-hero .service-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:0;align-items:stretch;width:min(calc(100% - 40px),1180px);max-width:1180px;margin:auto;padding:52px 0}
.service-hero__copy{position:relative;z-index:2;align-self:center;padding:48px 62px 50px 50px;border-left:8px solid var(--essen-brass);background:var(--essen-navy);box-shadow:0 24px 54px rgba(0,42,70,.16)}
.service-hero .crumb{color:#afc6cc!important;margin:0 0 30px}
.service-hero .crumb a{color:#e4eff0!important}
.service-hero .eyebrow{color:#e0c589!important}
.service-hero h1{max-width:690px;color:#fff!important;font-size:clamp(40px,4.2vw,57px);line-height:1.02;text-wrap:balance;hyphens:auto;overflow-wrap:anywhere}
.service-hero .lead{max-width:650px;color:#d5e5e7!important;font-size:18px}
.service-hero .primary{background:var(--essen-brass)!important;color:var(--essen-navy)!important}
.service-hero .secondary{border-color:rgba(255,255,255,.62)!important;color:#fff!important}
.service-hero__media{position:relative;z-index:1;min-height:490px;margin:32px 0 32px -24px;overflow:hidden;border:0;box-shadow:18px 18px 0 var(--essen-teal)}
.service-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,42,70,.76))}
.service-hero__media figcaption{position:absolute;z-index:1;right:0;bottom:0;left:0;padding:22px 24px;color:#fff}
.service-hero__media figcaption b,.service-hero__media figcaption span{display:block}
.service-hero__media figcaption b{color:#e3c98e;font-size:18px}
.service-hero__media figcaption span{margin-top:4px;color:#e0eaec;font-size:14px}
.service-article aside,.local-facts{border-top-color:var(--essen-teal)!important;border-radius:0!important;background:var(--essen-paper)!important}
.service-checklist li:before{background:var(--essen-brass)!important}
.answer,.local-answer{border-left-color:var(--essen-teal)!important;background:#e9f1f2!important}
.gridlinks a{border-radius:0!important;border-color:#d1dcde!important}
.gridlinks a:hover{border-color:var(--essen-teal)!important;background:#f1f6f6}

.local-hero{background:var(--essen-paper)!important;border-bottom:7px solid var(--essen-brass)}
.local-hero__grid{grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr)!important;gap:72px!important}
.local-hero__copy{border-left:8px solid var(--essen-teal);padding-left:30px}
.local-hero h1{font-size:clamp(42px,4vw,56px);overflow-wrap:anywhere}
.local-hero__service{color:var(--essen-teal)!important}
.local-hero__photo{border-radius:0!important;box-shadow:18px 18px 0 var(--essen-brass)}
.local-hero__photo img{filter:saturate(.86) contrast(1.03)}
.local-hero__photo figcaption{background:var(--essen-navy)!important;border-radius:0!important}
.local-proof{gap:0!important;border:1px solid #d4dfe0}
.local-proof article{border:0!important;border-right:1px solid #d4dfe0!important;border-top:6px solid var(--essen-teal)!important;border-radius:0!important}
.local-proof article:last-child{border-right:0!important}
.local-hero.local-variant-1 .local-hero__copy,.local-hero.local-variant-4 .local-hero__copy{border-left-color:var(--essen-brass)}
.local-hero.local-variant-2,.local-hero.local-variant-5{background:var(--essen-mist)!important}
.local-hero.local-variant-2 .local-hero__photo,.local-hero.local-variant-5 .local-hero__photo{order:-1;box-shadow:-18px 18px 0 var(--essen-teal)}
.local-hero.local-variant-2 .local-hero__photo:before,.local-hero.local-variant-5 .local-hero__photo:before{inset:-34px 42px 48px -28px}
.local-hero.local-variant-2 .local-hero__copy,.local-hero.local-variant-5 .local-hero__copy{order:2;border-left:0;border-right:8px solid var(--essen-brass);padding:0 30px 0 0}
.local-hero.local-variant-3,.local-hero.local-variant-6{background:var(--essen-navy)!important;color:#fff}
.local-hero.local-variant-3 .local-hero__copy,.local-hero.local-variant-6 .local-hero__copy{border-left-color:var(--essen-brass)}
.local-hero.local-variant-3 h1,.local-hero.local-variant-6 h1{color:#fff!important}
.local-hero.local-variant-3 .crumb,.local-hero.local-variant-6 .crumb,.local-hero.local-variant-3 .crumb a,.local-hero.local-variant-6 .crumb a{color:#b9d0d4!important}
.local-hero.local-variant-3 .lead,.local-hero.local-variant-6 .lead,.local-hero.local-variant-3 .local-hero__phone,.local-hero.local-variant-6 .local-hero__phone{color:#d9e8e9!important}
.local-hero.local-variant-3 .local-hero__service,.local-hero.local-variant-6 .local-hero__service{color:#e0c589!important}
.local-hero.local-variant-3 .local-hero__place,.local-hero.local-variant-6 .local-hero__place{color:#fff!important}
.local-hero.local-variant-3 .primary,.local-hero.local-variant-6 .primary{background:var(--essen-brass)!important;color:var(--essen-navy)!important}
.local-hero.local-variant-3 .secondary,.local-hero.local-variant-6 .secondary{border-color:rgba(255,255,255,.66)!important;color:#fff!important}
.local-hero.local-variant-3 .local-hero__photo,.local-hero.local-variant-6 .local-hero__photo{box-shadow:18px 18px 0 var(--essen-teal)}
.local-hero.local-variant-7{background:linear-gradient(90deg,#fff 0 58%,var(--essen-paper) 58%)!important}
.local-variant-3 .local-proof article:nth-child(2),.local-variant-6 .local-proof article:nth-child(3){border-top-color:var(--essen-brass)!important}
.local-contact,.region-switch__card{background:var(--essen-navy)!important;border-radius:0!important}
.local-contact{color:#fff!important}
.local-contact h2{color:#fff!important}
.local-contact__grid>div>p:not(.eyebrow){color:#d9eaed!important}
.local-contact__direct{padding:24px 26px!important;border:1px solid rgba(129,173,182,.48)!important;border-left:6px solid var(--essen-brass)!important;background:rgba(255,255,255,.08)!important}
.local-contact__direct b{color:#e6cf9c!important;font-size:15px;line-height:1.35;letter-spacing:.09em;text-transform:uppercase}
.local-contact__direct span{color:#fff!important;font-size:18px;line-height:1.62;font-weight:600}
.local-contact__form{border-top-color:var(--essen-brass)!important;border-radius:0!important;box-shadow:12px 12px 0 var(--essen-brass)}
.local-nearby__links a{border-bottom:4px solid var(--essen-teal)!important;border-radius:0!important}
.region-switch__card{border-left:10px solid var(--essen-brass)}
.contact-hero{position:relative;overflow:hidden;padding:0!important;border-bottom:7px solid var(--essen-brass)!important;background:var(--essen-paper)!important;color:var(--essen-ink)!important}
.contact-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;width:25%;background-image:linear-gradient(rgba(93,154,164,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(93,154,164,.16) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
.contact-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:64px;align-items:center;padding:64px 0}
.contact-hero .eyebrow{color:var(--essen-brass-dark)!important}
.contact-hero .crumb{margin-bottom:44px;color:#657780!important}
.contact-hero .crumb a{color:var(--essen-navy)!important}
.contact-hero h1{max-width:760px;color:var(--essen-navy)!important;font-size:clamp(43px,5.2vw,68px);text-wrap:balance}
.contact-hero .lead{max-width:720px;color:#4d626c!important;font-size:19px}
.contact-hero__brief{position:relative;padding:38px 38px 36px;border-left:8px solid var(--essen-brass);background:var(--essen-navy);color:#fff;box-shadow:16px 16px 0 var(--essen-teal)}
.contact-hero__brief small{display:block;margin-bottom:15px;color:#e0c589;font:700 11px/1.2 Manrope,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.contact-hero__brief h2{margin:0 0 24px;color:#fff;font-size:clamp(27px,2.7vw,37px)}
.contact-hero__brief ul{display:grid;margin:0;padding:0;gap:0;list-style:none}
.contact-hero__brief li{position:relative;padding:13px 0 13px 25px;border-top:1px solid rgba(129,173,182,.28);color:#d9e8e9}
.contact-hero__brief li:before{content:"";position:absolute;top:22px;left:1px;width:9px;height:9px;background:var(--essen-brass)}
.contact.contact-page{grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:54px}
.contact.contact-page>.contact-page__form{border-color:#d5dddf!important;border-top-color:var(--essen-teal)!important;box-shadow:14px 14px 0 var(--essen-mist)!important}
.contact-page__form .form input,.contact-page__form .form textarea{border-color:#b9c8cb!important;background:#fbfcfb!important}
.contact-page__form .form input:focus,.contact-page__form .form textarea:focus{border-color:var(--essen-teal)!important;outline-color:rgba(93,154,164,.2)!important}
.contact-page__form .form button{background:var(--essen-navy)!important}
.contact-page>aside{border-top-color:var(--essen-brass)!important;background:var(--essen-paper)!important}
.contact-page>aside .note{border-left-color:var(--essen-teal)!important}
.contact-page__details{padding:23px 22px 21px;border-left:6px solid var(--essen-teal);background:#fff;box-shadow:7px 7px 0 var(--essen-mist)}
.contact-page__details .eyebrow{margin-bottom:10px}
.contact-page__details .contact-page__phone{margin:0 0 7px;color:var(--essen-navy)!important;font-size:clamp(24px,2.3vw,30px)}
.contact-page__email{display:block;max-width:100%;margin-bottom:12px;color:var(--essen-teal-dark);font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.contact-page__details address{color:#526b76;font-style:normal;line-height:1.55}
.contact-page__details a:hover,.contact-page__details a:focus-visible{color:var(--essen-brass-dark)!important}

.page-legal{background:linear-gradient(90deg,#fff 0 70%,var(--essen-paper) 70%)}
.page-legal .legal{max-width:900px}
.page-legal .legal>.eyebrow{margin-bottom:13px}
.legal-contact{display:grid;margin:36px 0 0;padding:30px 32px;grid-template-columns:minmax(210px,.8fr) minmax(200px,.7fr) minmax(260px,1fr);gap:28px;border:1px solid #d5dddf;border-top:6px solid var(--essen-teal);background:#fff;box-shadow:12px 12px 0 var(--essen-mist)}
.legal-contact h2{margin:0!important;font-size:25px!important}
.legal-contact address{font-style:normal;line-height:1.65}
.legal-contact dl{display:grid;margin:0;gap:12px}
.legal-contact dl>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px}
.legal-contact dt{color:#657780;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.legal-contact dd{margin:0;overflow-wrap:anywhere}
.legal-contact a{color:var(--essen-navy);font-weight:700}
.page-legal .warning{border-left:6px solid var(--essen-brass);background:#f6efdF;color:var(--essen-ink)}

@media(max-width:760px){
  .contact.contact-page{grid-template-columns:1fr;gap:34px}
  .legal-contact{grid-template-columns:1fr;padding:25px 23px;gap:18px;box-shadow:7px 7px 0 var(--essen-mist)}
  .page-legal{background:#fff}
}

@media(min-width:761px) and (max-width:900px){
  .contact.contact-page{grid-template-columns:1fr;gap:34px}
}

/* Service catalogue: a workshop index, not another field of identical cards. */
.service-directory{padding-top:82px}
.service-directory__intro{margin-bottom:54px;padding-bottom:38px;column-gap:70px;row-gap:14px;border-bottom:1px solid #cbd7d9}
.service-directory__intro>.eyebrow{grid-column:1;grid-row:1;margin-top:8px}
.service-directory__intro>h2{grid-column:2;grid-row:1}
.service-directory__intro>p:last-child{grid-column:2;grid-row:2;margin-top:0}
.service-directory__group{display:grid;grid-template-columns:250px minmax(0,1fr);margin-top:34px;border-top:1px solid #cbd7d9}
.service-directory__group>header{display:flex;padding:30px 28px;flex-direction:column;background:var(--essen-navy);color:#fff}
.service-directory__group>header h3{order:-1;margin:0 0 14px;color:#fff;font-size:26px;letter-spacing:-.025em}
.service-directory__group>header p{margin:0;color:#bfd3d7;font-size:15px;line-height:1.55}
.service-directory__group .service-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));border-top:0}
.service-directory__group .service-directory__grid article{min-height:245px;padding:30px;background:#fff}
.service-directory__group .service-directory__grid article:nth-child(4n+2),.service-directory__group .service-directory__grid article:nth-child(4n+3){background:#f8faf9}
.service-directory__group .service-directory__grid h4{margin:0 0 13px;color:var(--essen-navy);font:800 clamp(22px,2.2vw,29px)/1.18 Manrope,Arial,sans-serif;letter-spacing:-.03em}
.service-directory__group .service-directory__grid p{margin-bottom:24px}

/* City and regional directories follow real administrative/travel groupings. */
.location-directory{padding-top:54px}
.directory-group{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;padding:32px 0;border-top:1px solid #cbd7d9}
.directory-group>header{padding:19px 20px;border-left:6px solid var(--essen-brass);background:var(--essen-paper);align-self:start}
.directory-group>header small{display:block;margin-bottom:9px;color:var(--essen-brass-dark);font:700 11px/1.25 Manrope,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.directory-group>header h3{margin:0;color:var(--essen-navy);font-size:18px;line-height:1.35}
.directory-group .gridlinks{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.directory-group .gridlinks a{display:grid;min-width:0;padding:17px 18px;grid-template-columns:minmax(0,1fr);gap:7px;align-content:start;background:#fff}
.directory-group .gridlinks b{overflow-wrap:anywhere}
.directory-group .gridlinks span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}

.faq__list{border-top-color:var(--essen-teal)!important}
.faq__list summary{grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important}
.faq__list summary:after{color:var(--essen-teal)!important}
.faq__list summary:after{grid-column:2!important;grid-row:1!important}
.faq__list summary span{color:var(--essen-brass-dark)!important}
.faq__list details p{padding-right:46px!important;padding-left:4px!important}
.faq__list details[open]{background:var(--essen-paper)!important}

/* The shared footer owns its layout; only Essen-specific dock colours remain here. */
.es-mobile-dock__request{background:var(--essen-navy)!important}
.es-mobile-dock__phone{background:var(--essen-brass)!important;color:var(--essen-navy)!important}

@media(max-width:1000px){
  .local-hero__grid,.service-hero .service-hero__grid{grid-template-columns:1fr!important}
  .local-hero__grid{gap:42px!important}
  .local-hero.local-variant-2 .local-hero__photo,.local-hero.local-variant-5 .local-hero__photo{order:2}
  .local-hero.local-variant-2 .local-hero__copy,.local-hero.local-variant-5 .local-hero__copy{order:1;padding:0 0 0 30px;border-right:0;border-left:8px solid var(--essen-brass)}
  .service-hero .service-hero__grid{gap:0;padding:46px 0 58px}
  .service-hero__copy{padding:44px 46px}
  .service-hero__media{margin:0 20px 0 34px}
  .service-hero__media{min-height:430px}
  .contact-hero__grid{grid-template-columns:1fr;gap:34px;padding:54px 0 66px}
  .contact-hero__brief{max-width:680px}
  .service-directory__group{grid-template-columns:210px minmax(0,1fr)}
  .directory-group{grid-template-columns:180px minmax(0,1fr)}
  .directory-group .gridlinks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:920px){
  .dd-hero{padding:0 0 42px}
  .dd-hero__grid{width:min(calc(100% - 40px),760px)!important;grid-template-columns:1fr!important;gap:34px!important}
  .dd-hero__copy{padding:58px 0 4px!important}
  .dd-hero__copy h1{max-width:700px;font-size:clamp(44px,6vw,54px)!important}
  .dd-hero__copy>p:not(.dd-kicker){max-width:650px}
  .dd-hero__media{aspect-ratio:16/10}
  .dd-hero-contact__grid{grid-template-columns:1fr;gap:34px}
  .dd-hero-contact__intro h2,.dd-hero-contact__intro-copy{max-width:650px}
}
@media(max-width:700px){
  .dd-hero{padding-bottom:30px}
  .dd-hero__grid{width:calc(100% - 28px)!important;gap:24px!important}
  .dd-hero__copy{padding:43px 0 4px!important}
  .dd-hero__copy h1{font-size:clamp(34px,9.8vw,40px)!important;line-height:1.06!important}
  .dd-hero__copy h1 .dd-hero__title-accent{margin-top:5px}
  .dd-hero__copy>p:not(.dd-kicker){font-size:17px!important;line-height:1.62}
  .dd-hero__copy .actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px}
  .dd-hero__copy .dd-button{width:100%;min-height:52px}
  .dd-call .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .dd-call .dd-button{width:100%;min-width:0;padding-right:14px;padding-left:14px;text-align:center}
  .dd-hero__media{display:grid;aspect-ratio:auto;grid-template-rows:auto auto}
  .dd-hero__media img{position:relative;inset:auto;aspect-ratio:4/3;object-position:64% center}
  .dd-hero__media:after{display:none}
  .dd-hero__media figcaption{position:relative;right:auto;bottom:auto;left:auto;max-width:none;padding:15px 17px}
  .dd-hero-contact{padding:50px 0 58px}
  .dd-hero-contact__grid{gap:26px}
  .dd-hero-contact__intro h2{font-size:clamp(32px,9vw,38px)}
  .dd-hero-contact__intro-copy{font-size:17px}
  .dd-hero-contact__prep{margin:24px 0 18px}
  .dd-hero-contact__prep li{padding:15px 0}
  .dd-hero-contact__safety{margin-top:0;padding:18px}
  .dd-hero-contact__form{padding:20px;box-shadow:7px 7px 0 var(--essen-brass)}
  .dd-hero-contact__form>h2{font-size:clamp(30px,8.5vw,36px)}
  .dd-intro__visual img{box-shadow:12px 12px 0 var(--essen-teal)}
  .dd-services article:nth-child(3n+2){transform:none}
  .dd-services article:nth-child(3n+2):hover{transform:translateY(-5px)!important}
  .subhero:not(.service-hero){padding:45px 0 50px}
  .subhero:not(.service-hero):before{right:-25%;width:56%;opacity:.32}
  .subhero:not(.service-hero):after{display:none}
  .subhero:not(.service-hero)>.wrap{padding:0 0 0 18px;border-left-width:5px}
  .subhero:not(.service-hero) h1{font-size:clamp(34px,10vw,43px);overflow-wrap:anywhere}
  .local-hero__copy{padding-left:18px;border-left-width:5px}
  .local-hero h1{font-size:clamp(34px,9.5vw,41px);line-height:1.02;hyphens:auto;overflow-wrap:anywhere}
  .local-hero.local-variant-2 .local-hero__copy,.local-hero.local-variant-5 .local-hero__copy{padding-left:18px;border-left-width:5px}
  .local-hero__photo{box-shadow:8px 8px 0 var(--essen-brass)!important}
  .service-hero .service-hero__grid{width:min(calc(100% - 28px),1180px);padding:30px 0 42px;gap:0}
  .service-hero__copy{padding:34px 23px 36px;border-left-width:6px}
  .service-hero .crumb{margin-bottom:26px}
  .service-hero h1{font-size:clamp(34px,10vw,43px);hyphens:auto!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .dd-hero__copy h1,.contact-hero h1{hyphens:auto!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .service-hero .lead{font-size:17px}
  .service-hero__media{min-height:300px;margin:0 8px 0 14px;box-shadow:8px 8px 0 var(--essen-teal)}
  .contact-hero:after{display:none}
  .contact-hero__grid{gap:28px;padding:44px 0 54px}
  .contact-hero .crumb{margin-bottom:28px}
  .contact-hero h1{font-size:clamp(35px,10.5vw,44px)}
  .contact-hero__brief{padding:28px 24px;border-left-width:6px;box-shadow:8px 8px 0 var(--essen-teal)}
  .service-directory__intro{margin-bottom:38px;padding-bottom:28px}
  .service-directory__intro>.eyebrow,.service-directory__intro>h2,.service-directory__intro>p:last-child{grid-column:1;grid-row:auto;margin-top:0}
  .service-directory__group{grid-template-columns:1fr;margin-top:24px}
  .service-directory__group>header{padding:25px 23px}
  .service-directory__group .service-directory__grid{grid-template-columns:1fr}
  .service-directory__group .service-directory__grid article{min-height:0;padding:25px 22px;background:#fff!important}
  .directory-group{grid-template-columns:1fr;gap:18px;padding:26px 0}
  .directory-group>header{padding:16px 18px}
  .directory-group .gridlinks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .local-proof{display:grid!important;grid-template-columns:1fr!important}
  .local-proof article{border-right:0!important;border-bottom:1px solid #d4dfe0!important}
  .local-contact__form{box-shadow:7px 7px 0 var(--essen-brass)}
}

@media(max-width:360px){
  .local-hero__service{font-size:32px;hyphens:none;overflow-wrap:normal;white-space:nowrap}
  .local-hero__place{hyphens:none;overflow-wrap:normal;word-break:normal}
}
@media(max-width:470px){
  .directory-group .gridlinks{grid-template-columns:1fr}
  .directory-group .gridlinks a{padding:16px}
}
/* Final palette isolation: every shared component resolves to the Essen system. */
.es-site-header,
.es-site-header__inner{color:var(--essen-ink)!important}
.es-site-header__link[aria-current="page"]{background:#e9f1f2!important;color:var(--essen-navy)!important}
.es-site-header__drawer a[aria-current="page"]{color:#0b6571!important}
.es-mobile-dock{background:rgba(0,42,70,.97)!important;box-shadow:0 12px 35px rgba(0,42,70,.36)!important}

.brand-carousel,
.brand-carousel h2,
.brand-carousel__controls button{color:var(--essen-ink)!important}
.brand-carousel__eyebrow{color:var(--essen-brass-dark)!important}
.brand-carousel__track,
.brand-carousel__card{border-color:#d5dddf!important}
.brand-carousel__card:hover{border-color:var(--essen-teal-light)!important;box-shadow:0 13px 34px rgba(0,42,70,.08)!important}
.brand-carousel__copy,
.brand-carousel__card span,
.brand-carousel__count{color:#526b76!important}

.dd-guide__intro h2,
.dd-guide__grid h3{color:var(--essen-navy)!important}
.dd-guide__grid article{border-color:#d5dddf!important}
.dd-guide__grid p{color:#526b76!important}
.dd-guide__note{background:var(--essen-navy)!important}
.dd-guide__note b{color:#e0c589!important}
.dd-guide__note p{color:#d9e8e9!important}

.service-article aside{border-color:#d5dddf!important;border-top-color:var(--essen-teal)!important;box-shadow:0 16px 36px rgba(0,42,70,.08)!important}
.service-aside__label{color:var(--essen-brass-dark)!important}
.service-aside__phone{color:var(--essen-navy)!important}
.service-summary,
.service-copy p{color:#405066!important}
.service-checklist li{border-color:#d5dddf!important;background:var(--essen-paper)!important;color:var(--essen-ink)!important}
.service-checklist li::before{background:var(--essen-brass)!important;color:var(--essen-navy)!important}
.service-copy{border-top-color:#d5dddf!important}
.service-article .answer{border-left-color:var(--essen-teal)!important;background:#e9f1f2!important}

.local-contact__form label{color:var(--essen-ink)!important}
.local-contact__form input,
.local-contact__form textarea,
.local-contact__form select{border-color:#b9c8cb!important;background:#fbfcfb!important}
.local-contact__form input:focus,
.local-contact__form textarea:focus,
.local-contact__form select:focus{border-color:var(--essen-teal)!important;outline-color:rgba(93,154,164,.18)!important}
.local-contact__form button{background:var(--essen-brass)!important;color:var(--essen-navy)!important}

.region-switch{background:var(--essen-paper)!important}
.region-switch__card{background:#fff!important;color:var(--essen-ink)!important;border:1px solid #d5dddf!important;border-top:6px solid var(--essen-brass)!important;box-shadow:0 12px 32px rgba(0,42,70,.07)!important}
.region-switch__card:hover{border-color:#bfd5da!important;border-top-color:var(--essen-brass)!important;box-shadow:0 17px 38px rgba(0,42,70,.11)!important}
.region-switch__metric{color:var(--essen-teal)!important;border-color:#d5dddf!important}
.region-switch__metric span{color:#526b76!important}
.region-switch__content .eyebrow{color:var(--essen-brass-dark)!important}
.region-switch__content h2{color:var(--essen-ink)!important}
.region-switch__content>p:last-child{color:#526176!important}
.region-switch__action{background:var(--essen-navy)!important;color:#fff!important;border-color:var(--essen-navy)!important}
.region-switch__card:hover .region-switch__action{background:var(--essen-navy-2)!important;color:#fff!important}

.local-services__links a:hover,
.local-services__links a:focus-visible{border-color:var(--essen-teal)!important;box-shadow:0 12px 30px rgba(0,42,70,.08)!important}
.local-services__links em{color:var(--essen-teal)!important}
.area-hub__cards a{border-color:#d5dddf!important;border-top-color:var(--essen-brass)!important;color:var(--essen-ink)!important}
.area-hub__cards a:hover,
.area-hub__cards a:focus-visible{border-color:#bfd5da!important;border-top-color:var(--essen-brass)!important;box-shadow:0 16px 36px rgba(0,42,70,.1)!important}
.area-hub__cards small{color:var(--essen-brass-dark)!important}
.area-hub__cards strong,
.area-guide__grid a{color:var(--essen-teal)!important}
.area-guide{background:var(--essen-paper)!important}
.service-guide__points article{border-top-color:var(--essen-brass)!important;background:var(--essen-paper)!important}
.skip-link{background:var(--essen-navy)!important}

.es-site-footer__brand p,
.es-site-footer__contact p{color:#afc6cc!important}
.es-site-footer__contact a,
.es-site-footer__services a,
.es-site-footer__region a{color:#d9eaed!important}
.es-site-footer__legal,
.es-site-footer__legal a{color:#9bc0c6!important}

/* Home-page rhythm: calmer headings, aligned cards and consistent section spacing. */
.dd-intro{padding:96px 0!important;gap:72px!important}
.dd-intro h2,
.dd-brands h2,
.dd-services>h2,
.dd-process h2,
.dd-guide__intro h2,
.dd-area h2{font-size:clamp(34px,3.35vw,46px)!important;line-height:1.1!important;letter-spacing:-.04em!important}
.dd-brands{padding:72px 0!important}
.dd-brands h2{max-width:1000px;margin-right:auto;margin-left:auto}
.dd-brands .wrap>p:not(.dd-kicker){max-width:920px;margin-right:auto;margin-left:auto}
.dd-band{padding:78px 0!important}
.dd-band h2,
.dd-call h2{font-size:clamp(36px,3.5vw,46px)!important;line-height:1.1!important}
.dd-services{padding:90px 0!important}
.dd-services>h2{max-width:900px}
.dd-services__grid{gap:24px!important;margin-top:42px!important}
.dd-services article:nth-child(3n+2){transform:none!important}
.dd-services article:hover,
.dd-services article:nth-child(3n+2):hover{transform:translateY(-4px)!important}
.dd-services article>div{padding:24px!important}
.dd-services h3{font-size:22px!important}
.dd-call{padding:80px 0!important}
.dd-process{padding:86px 0!important;grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr)!important;gap:72px!important}
.dd-process h2{max-width:420px}
.dd-process li{padding:18px 0!important}
.dd-guide{padding:88px 0!important}
.dd-guide__intro{margin-bottom:38px!important}
.dd-guide__intro h2{max-width:760px}
.dd-area{padding:76px 0!important}
.faq{padding-top:88px!important;padding-bottom:88px!important}
.faq__intro h2{font-size:clamp(34px,3.35vw,46px)!important;line-height:1.1!important}

@media(max-width:900px){
  .dd-intro,.dd-process{grid-template-columns:1fr!important;gap:40px!important}
  .dd-intro__badge{position:relative;right:auto;bottom:auto;left:auto;margin:-44px 20px 0}
  .dd-process h2{max-width:680px}
  .dd-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:600px){
  .dd-intro,.dd-services,.dd-process{padding:62px 0!important}
  .dd-brands,.dd-band,.dd-call,.dd-area,.dd-guide{padding:58px 0!important}
  .dd-intro h2,
  .dd-brands h2,
  .dd-services>h2,
  .dd-process h2,
  .dd-guide__intro h2,
  .dd-area h2,
  .faq__intro h2{font-size:clamp(30px,9vw,36px)!important;line-height:1.12!important}
  .dd-intro__badge{margin:-28px 12px 0;padding:18px 20px}
  .dd-intro__badge b{font-size:22px}
  .dd-services__grid{grid-template-columns:1fr!important;margin-top:30px!important}
  .dd-services article>div{padding:21px!important}
  .dd-guide__intro{margin-bottom:28px!important}
  .faq{padding-top:62px!important;padding-bottom:62px!important}
}
