/*
Theme Name: MOS Haustechnik
Author: Stylewerkprint
Description: Individuelles Block-Theme für MOS Haustechnik GmbH. Alle Inhalte mit dem WordPress-Editor bearbeitbar.
Version: 1.3.1
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: mos-haustechnik
*/
:root{--navy:#252d40;--ink:#252d40;--yellow:#f9d457;--light:#f3f5f7;--muted:#626b7b;--line:#dde1e7;--gutter:clamp(22px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}p{margin:0 0 1.2rem}h1,h2,h3{font-weight:600;line-height:1.08;margin:0 0 1.4rem;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,4.7vw,4.5rem)}h2{font-size:clamp(2.2rem,4vw,3.5rem)}h3{font-size:1.5rem;letter-spacing:-.025em;line-height:1.25}a:hover{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #2c79ba;outline-offset:5px}.wp-site-blocks{padding:0}.wp-block-group{margin-block:0}.container{max-width:1440px;width:100%;padding-inline:var(--gutter);margin-inline:auto}.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:25;border-bottom:1px solid #ffffff1a}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:35px}.logo-link{display:inline-flex;padding:5px 0;line-height:0}.logo-link img{width:118px;height:auto}.mos-nav{font-size:1rem;font-weight:500;gap:34px}.mos-nav a{color:white;text-decoration:none}.mos-nav a:hover{color:var(--yellow)}.mos-nav .wp-block-navigation__container{gap:34px}.hero{padding-block:76px 68px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px}.eyebrow{font-size:.8125rem;letter-spacing:.14em;font-weight:700;line-height:1.5;margin-bottom:28px}.hero-copy h1{max-width:750px}.lead{max-width:540px;color:var(--muted);font-size:1.125rem;margin:25px 0 32px;line-height:1.75}.hero-brand{min-height:450px;background:var(--navy);border-radius:3px;padding:55px 40px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:6px solid var(--yellow);color:#fff}.hero-logo{width:310px;max-width:100%;margin:0 0 30px}.hero-logo img{display:block;width:100%;height:auto}.brand-promise{text-align:center;font-size:1.15rem;line-height:1.5;margin:0 0 27px}.brand-foot{border-top:1px solid #ffffff26;padding-top:22px;text-align:center;font-size:.75rem;letter-spacing:.16em;color:#c1c7d2;width:100%;margin:0}.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.wp-block-button__link{background:var(--yellow);color:var(--navy);border:1px solid var(--yellow);border-radius:3px;font-size:.9375rem;font-weight:700;padding:14px 21px;text-decoration:none;display:inline-block;line-height:1.5;box-shadow:none}.wp-block-button__link:hover{background:#edc442;border-color:#edc442}.is-style-outline .wp-block-button__link{background:transparent;border-color:#afb5c0;color:var(--navy)}.is-style-outline .wp-block-button__link:hover{background:var(--light)}.intro{border-top:1px solid var(--line);padding-block:55px 66px;display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.intro .eyebrow{grid-column:1/-1;margin-bottom:25px}.intro h2{margin-bottom:0}.intro-copy{max-width:570px;margin:0;color:var(--muted);align-self:center}.services{background:var(--light);padding-block:86px 95px;max-width:none}.section-heading,.service-grid{max-width:1280px;margin-inline:auto}.section-heading h2{margin-bottom:20px}.section-lead{color:var(--muted);margin-bottom:40px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid #e0e4e9;padding:30px;min-height:275px;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#b1b8c6}.service-number{display:inline-block;font-size:.875rem;font-weight:700;background:var(--yellow);border-radius:3px;padding:4px 10px;margin:0 0 28px}.service-card h3{font-size:1.4rem}.service-card p:last-child{font-size:1rem;color:var(--muted);line-height:1.7;margin:0}.about{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;padding-block:95px}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:640px}.people{align-self:center;padding:36px 0 36px 40px;border-left:3px solid var(--yellow)}.people h3{font-size:2rem;line-height:1.35}.people .eyebrow{margin-bottom:22px}.people p{color:var(--muted)}.people .about-address{margin:27px 0 0;font-size:1rem}.contact{background:var(--navy);color:#fff;padding-block:75px;display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:none}.contact-copy,.contact-details{max-width:590px;width:100%}.contact-copy{justify-self:end}.contact .eyebrow{color:var(--yellow)}.contact h2{font-size:clamp(2.8rem,4vw,4rem)}.contact-copy>p:not(.eyebrow){color:#c9cfda;max-width:430px}.contact-details{padding-top:39px}.contact-details h3{font-size:1.25rem;letter-spacing:0}.contact a{color:inherit;text-decoration:none}.contact a:hover{text-decoration:underline}.contact .wp-block-button__link{color:var(--navy);font-size:1.1rem}.contact-mail{font-size:clamp(1.1rem,2vw,1.5rem);overflow-wrap:anywhere}.contact-details>p{color:#d4d9e2}.contact-mobile{margin-top:36px}.contact-mobile .eyebrow{color:#aeb8c9;margin-bottom:12px}.contact-mobile p:last-child{font-size:1.125rem;line-height:2}.site-footer{background:#1c2332;color:#abb4c4;padding-block:35px;font-size:.875rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-inner p{margin-bottom:7px}.footer-brand{color:#fff;font-size:1rem}.footer-brand strong{font-size:.8125rem;font-weight:500;letter-spacing:.04em}.footer-links{text-align:right}.footer-links a{color:#cdd4de}.footer-about p:last-child{margin:0}.legal{max-width:1000px;padding-block:70px 90px}.legal h1{margin-bottom:35px}.legal h2{font-size:1.5rem;letter-spacing:-.015em;margin-top:35px}.legal-notice{background:#fff5ce;border-left:4px solid var(--yellow);padding:20px;font-size:1rem}.wp-block-post-content{margin:0}.wp-block-template-part{margin:0}.wp-block-navigation__responsive-container.is-menu-open{background:var(--navy)!important;color:white!important;padding:30px!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:25px}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{color:inherit}.editor-styles-wrapper .site-header{position:static}.editor-styles-wrapper .hero{padding-block:76px 68px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--yellow);z-index:100}.skip-link:focus{top:10px}.preview-nav{display:flex;gap:32px;font-size:1rem}.preview-nav a{color:#fff;text-decoration:none}.mobile-toggle{display:none;background:transparent;border:1px solid #647087;color:#fff;padding:9px 12px;border-radius:3px;font-size:1rem}
@media(max-width:1000px){.hero{gap:35px;padding-block:55px}.hero-brand{padding:38px 25px;min-height:390px}.hero-logo{width:265px}.service-grid{grid-template-columns:repeat(2,1fr)}.about,.contact{gap:50px}.service-card{padding:26px}.header-inner{min-height:94px}.logo-link img{width:106px}}
@media(max-width:700px){html{scroll-padding-top:90px}.hero{grid-template-columns:1fr;padding-block:42px;gap:35px}.hero-brand{min-height:0;padding:32px 25px}.hero-logo{width:220px;margin-bottom:20px}.brand-promise{margin-bottom:19px;font-size:1rem}.brand-foot{padding-top:17px;font-size:.7rem}.hero h1{font-size:clamp(2.6rem,9vw,3.6rem)}.eyebrow{margin-bottom:20px;font-size:.75rem}.lead{margin:20px 0 25px;font-size:1rem}.header-inner{min-height:85px;gap:15px}.logo-link img{width:94px}.intro{grid-template-columns:1fr;padding-block:40px;gap:18px}.intro .eyebrow{margin:0}.intro h2{font-size:2.25rem}.intro-copy{font-size:1rem}.services{padding-block:50px}.section-heading h2{font-size:2.25rem}.section-lead{font-size:1rem;margin-bottom:28px}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{min-height:0;padding:24px}.service-number{margin-bottom:20px}.about{grid-template-columns:1fr;gap:20px;padding-block:50px}.about h2{font-size:2.25rem}.about-copy>p{font-size:1rem}.people{padding:18px 0 18px 25px}.people h3{font-size:1.75rem}.contact{grid-template-columns:1fr;gap:18px;padding-block:50px}.contact-copy{justify-self:start}.contact-details{padding-top:15px}.contact-copy>p{font-size:1rem}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{text-align:left}.site-footer{padding-block:30px}.wp-block-buttons{gap:10px}.wp-block-button__link{padding:13px 17px}.preview-nav{display:none;position:absolute;top:85px;left:0;right:0;padding:25px;background:var(--navy);flex-direction:column;border-top:1px solid #ffffff33}.preview-nav.open{display:flex}.mobile-toggle{display:block}.legal{padding-block:40px}.legal h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}.service-card:hover{transform:none}}
/* Preserve editorial spacing against WordPress flow defaults. */
.service-card h3{margin-bottom:20px}.about-copy h2{margin-bottom:24px}.about-copy>p:not(.eyebrow){margin-bottom:22px}.contact-copy h2{margin-bottom:25px}.contact-copy>p:not(.eyebrow){margin-bottom:24px}.contact-details h3{margin-bottom:16px}.contact-details .contact-mail{margin-bottom:20px}.people h3{margin-bottom:20px}.section-heading .section-lead{margin-bottom:40px}.legal h1{margin-bottom:35px}.legal h2{margin-block:35px 20px}.legal>p{margin-bottom:22px}
.header-inner .header-logo{width:118px;flex-shrink:0;margin:0;line-height:0}.header-logo img{width:100%;height:auto}.header-logo a{display:block}
@media(max-width:1000px){.header-inner .header-logo{width:106px}}
@media(max-width:700px){.header-inner .header-logo{width:94px}}

/* Local photography, all in replaceable native WordPress image blocks. */
.hero-visual{position:relative;border-radius:4px;overflow:hidden;background:var(--navy);border-left:5px solid var(--yellow)}
.hero-visual .hero-photo{margin:0;width:100%;aspect-ratio:1.1;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual .photo-promise{padding:24px 28px;margin:0;color:#fff;font-size:1.1rem;line-height:1.55}
.service-grid .service-card{padding:0;overflow:hidden}
.service-card .service-photo{margin:0;width:100%;aspect-ratio:1.55;overflow:hidden;background:#e4e8ed}
.service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.service-card:hover .service-photo img{transform:scale(1.035)}
.service-content{padding:28px 30px 32px}
.service-content .service-number{margin:0 0 20px}
.service-content h3{margin-bottom:16px}
.service-content p:last-child{margin:0}
@media(max-width:1000px){.hero-visual .hero-photo{aspect-ratio:1}.service-content{padding:24px}}
@media(max-width:700px){.hero-visual .hero-photo{aspect-ratio:1.35}.hero-visual .photo-promise{padding:20px 24px;font-size:1rem}.service-content{padding:24px}.service-card .service-photo{aspect-ratio:1.6}}
@media(prefers-reduced-motion:reduce){.service-photo img{transition:none}.service-card:hover .service-photo img{transform:none}}

/* Version 1.2: subtle motion and a translucent top-of-page control. */
.wp-site-blocks > .wp-block-template-part:first-child{position:sticky;top:0;z-index:40}
.wp-site-blocks > .wp-block-template-part:first-child .site-header{position:relative;top:0}
.admin-bar .wp-site-blocks > .wp-block-template-part:first-child{top:32px}
.header-inner{transition:min-height .25s ease}
.header-inner .header-logo{transition:width .25s ease}
.mos-header-compact .header-inner{min-height:78px}
.mos-header-compact .header-inner .header-logo{width:88px}
.mos-reveal{transition:opacity .48s ease var(--mos-reveal-delay,0ms),transform .48s ease var(--mos-reveal-delay,0ms),border-color .2s ease;opacity:1}
.mos-reveal-pending{opacity:0;transform:translateY(16px)}
.mos-back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:35;display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:1px solid rgba(37,45,64,.28);border-radius:50%;background:rgba(255,255,255,.76);color:var(--navy);box-shadow:0 4px 18px rgba(20,27,40,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:background .2s ease,transform .2s ease}
.mos-back-to-top[hidden]{display:none}
.mos-back-to-top svg{width:24px;height:24px;display:block}
.mos-back-to-top:hover{background:rgba(255,255,255,.94);transform:translateY(-2px)}
.mos-back-to-top:focus-visible{outline:3px solid #2c79ba;outline-offset:4px}
@media(max-width:782px){.admin-bar .wp-site-blocks > .wp-block-template-part:first-child{top:46px}}
@media(max-width:700px){.mos-header-compact .header-inner{min-height:70px}.mos-header-compact .header-inner .header-logo{width:82px}.mos-reveal-pending{transform:translateY(10px)}.mos-reveal{transition-duration:.35s,.35s,.2s}.mos-back-to-top{right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:46px;height:46px}.mos-header-compact .preview-nav{top:70px}}
@media(hover:none){.service-card:hover{transform:none}.service-card:hover .service-photo img{transform:none}.mos-back-to-top:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header-inner,.header-inner .header-logo,.mos-reveal,.mos-back-to-top,.service-photo img{transition:none}.mos-reveal-pending{opacity:1;transform:none}.mos-back-to-top:hover{transform:none}.service-card:hover,.service-card:hover .service-photo img{transform:none}}

/* Exhibition pages: the same editable core blocks as the homepage. */
.exhibition-breadcrumb{font-size:.8125rem;color:var(--muted);margin-bottom:28px}.exhibition-breadcrumb a{text-underline-offset:3px}.exhibition-breadcrumb span{padding-inline:8px}.exhibition-hero{padding-top:45px}.exhibition-hero .hero-copy h1{font-size:clamp(2.6rem,4.1vw,4rem)}.exhibition-hero .hero-photo{aspect-ratio:4/3}.exhibition-status{padding-block:0 65px}.exhibition-status-inner{padding:30px 36px;border-left:4px solid var(--yellow);background:var(--light)}.exhibition-status-inner .eyebrow{margin-bottom:12px}.exhibition-status-inner p:last-child{margin-bottom:0}.exhibition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exhibition-product .service-photo{aspect-ratio:16/10}.exhibition-product .service-card-body p{font-size:1rem}.exhibition-text-link{font-weight:700;color:var(--ink);text-underline-offset:5px}.exhibition-note{font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:30px;max-width:900px}.exhibition-planning{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:80px}.exhibition-check{padding-block:22px;border-bottom:1px solid var(--line)}.exhibition-check h3:first-child{font-size:.875rem;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}.exhibition-check p{margin-bottom:0}.exhibition-contact{padding-block:0 70px}.exhibition-contact-inner{background:var(--navy);color:white;padding:48px}.exhibition-contact-inner p{max-width:800px}.exhibition-contact-inner .is-style-outline .wp-block-button__link{color:white;border-color:#ffffff66}.exhibition-kicker{font-weight:700;font-size:.875rem!important;color:var(--ink)!important}.exhibition-related{padding-bottom:60px}.exhibition-teaser{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-block:75px}.exhibition-teaser-image .hero-photo{aspect-ratio:4/3}.exhibition-three .service-card{padding:30px}.exhibition-teaser-copy>p{color:var(--muted)}.exhibition-teaser-copy>.eyebrow{color:var(--ink)}
@media(max-width:1000px){.exhibition-planning{gap:40px}.exhibition-teaser{gap:35px}.exhibition-three{grid-template-columns:1fr}.exhibition-three .service-card{min-height:0}}
@media(max-width:700px){.exhibition-grid,.exhibition-planning,.exhibition-teaser{grid-template-columns:1fr}.exhibition-planning,.exhibition-teaser{padding-block:45px;gap:30px}.exhibition-status{padding-bottom:40px}.exhibition-status-inner{padding:25px}.exhibition-contact-inner{padding:30px 24px}.exhibition-contact{padding-bottom:40px}.exhibition-breadcrumb{margin-bottom:22px}.exhibition-hero{padding-top:30px}}

.exhibition-product .service-card-body{padding:30px}.exhibition-product .service-card-body p:last-child{margin-bottom:0}
@media(max-width:700px){.exhibition-product .service-card-body{padding:26px}}

.exhibition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.exhibition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.exhibition-grid{grid-template-columns:1fr}}
