/* Shared front-end and editor styling for the native WordPress blocks. */
.wp-site-blocks{padding:0}
.wp-site-blocks>*,.wp-block-template-part{margin-block-start:0!important}
.wp-block-group{box-sizing:border-box}
.wp-block-group>p{margin-block-start:0}
.wp-block-template-part:has(.site-footer){padding:0;background:transparent;display:block}
.site-header .brand p,.site-footer .brand p{margin:0}
.brand-name .brand-title{font-size:19px;font-weight:800;letter-spacing:1.3px;line-height:1.2}
.brand-name .brand-subtitle{font-family:var(--font);font-size:11px;letter-spacing:.6px;font-weight:600;margin-top:7px;line-height:1.2}
.site-header{height:110px;gap:30px}
.site-header .erwin-navigation{font-size:14px;font-weight:600;gap:0}
.erwin-navigation .wp-block-navigation__container{gap:25px;flex-wrap:nowrap}
.erwin-navigation .wp-block-navigation-item{white-space:nowrap}
.erwin-navigation .wp-block-navigation-item__content{padding-block:10px;text-underline-offset:7px;text-decoration-thickness:1px}
.erwin-navigation .nav-section .wp-block-navigation-item__content:hover{text-decoration:underline}
.erwin-navigation .nav-contact{padding:0;border:1px solid var(--forest);border-radius:5px}
.erwin-navigation .nav-contact .wp-block-navigation-item__content{padding:11px 20px}
.erwin-navigation .nav-contact:hover{background:var(--lime)}
.erwin-navigation .wp-block-navigation__responsive-container-open,.erwin-navigation .wp-block-navigation__responsive-container-close{padding:10px;border:1px solid var(--line);border-radius:5px;color:var(--forest)}
.erwin-navigation button:focus-visible,.faq-item summary:focus-visible{outline:3px solid #78a830;outline-offset:5px}
.erwin-navigation .wp-block-navigation__responsive-container.is-menu-open{padding:28px clamp(24px,6vw,90px);background:var(--paper);color:var(--forest)}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:stretch;padding-top:90px}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:stretch;width:100%;gap:0}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{align-items:stretch;width:100%;border-bottom:1px solid var(--line)}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:18px 0!important;width:100%;text-align:left;font-family:var(--display);font-size:clamp(23px,5vw,36px);font-weight:500;letter-spacing:-.8px}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .nav-contact{margin-top:28px;border:0;border-radius:5px;background:var(--forest)!important;color:var(--lime)!important}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .nav-contact .wp-block-navigation-item__content{padding:18px 25px!important;color:var(--lime)!important}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .nav-contact:hover{background:#294332}
.hero{min-height:740px}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,28,17,.88),rgba(15,32,19,.59) 45%,rgba(14,30,19,.04) 78%),linear-gradient(0deg,rgba(11,24,14,.6),transparent 35%);pointer-events:none}
.hero>.hero-photo{position:absolute;inset:0;z-index:-2;margin:0;max-width:none!important;height:100%}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero-content{padding-top:91px;padding-bottom:160px}
.hero-description{font-size:18px;max-width:455px}
.hero-bottom p{margin:0}
.hero-bottom .hero-caption{font-size:12px;font-weight:500;letter-spacing:1.4px;line-height:1.7;color:#edf0e8}
.hero-bottom .scroll-link{font-size:13px}
.hero p.image-credit{margin:0;line-height:1.6;font-size:12px}
.wp-block-button__link{border:0;border-radius:5px;padding:16px 23px;font-family:var(--font);font-size:14px;font-weight:650;line-height:1.6;transition:background .2s,transform .2s}
.wp-block-button__link:hover{transform:translateY(-2px)}
.button-lime .wp-block-button__link{background:var(--lime);color:var(--forest)}
.button-lime .wp-block-button__link:hover{background:#e9ffbc}
.button-forest .wp-block-button__link{background:var(--forest);color:var(--lime)}
.button-forest .wp-block-button__link:hover{background:#294332}
.service-strip p{margin:0}
.service-strip p:nth-child(even){color:#9aab87;font-size:18px;font-weight:400}
.section-wrap{padding-block:112px}
.section-intro{grid-template-columns:.8fr 2.2fr;gap:44px;margin-bottom:64px}
.section-intro>div{gap:44px}
.section-intro>div>p{font-size:16px;max-width:290px}
.section-intro h2{min-width:52%}
.service-row{grid-template-columns:60px minmax(0,1.65fr) minmax(270px,1fr);gap:32px;padding:38px 0;align-items:center}
.service-row .service-number{font-size:13px;color:#6b775e;margin:0}
.service-row p{font-size:16px;max-width:570px}
.service-examples{padding:0 0 0 32px;margin:0;list-style:none}
.service-examples li{position:relative;padding:6px 0 6px 19px;font-size:14px;color:var(--ink);line-height:1.5}
.service-examples li:before{content:'';position:absolute;left:0;top:15px;width:5px;height:5px;background:#849777;border-radius:50%}
.about-image{min-height:665px}
.about-photo{position:absolute;inset:0;margin:0;max-width:none!important}
.about-image .about-image-caption{position:absolute;bottom:25px;left:28px;right:24px;color:#fff;font-size:12px;letter-spacing:.3px;font-weight:500;z-index:1;margin:0}
.about-copy{padding:76px 11%}
.about-copy h2{margin-bottom:28px}
.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}
.about-copy>p.about-lead{font-size:19px;line-height:1.7;color:var(--ink)}
.signature p{margin:0}
.signature .signature-caption{font-family:var(--font);font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400;margin-top:3px}
.principles{padding-top:74px;padding-bottom:96px}
.principles>.eyebrow{margin-bottom:34px}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.principle{border-top:1px solid var(--line);padding-top:22px}
.principle-number{margin:0 0 22px;color:#6f7f63;font-size:12px}
.principle h3{font-size:22px;font-weight:500;letter-spacing:-.7px;line-height:1.35;margin:0 0 14px}
.principle>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);margin:0;max-width:350px}
.references{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:var(--forest);color:var(--paper);margin:0 20px;border-radius:8px;max-width:none;padding:84px calc(6.8% - 20px)}
.references .eyebrow{color:var(--lime)}
.references h2{font-size:clamp(38px,4.1vw,62px)}
.references h2 em{color:var(--lime)}
.references-copy{padding-top:7px;max-width:560px}
.references-kicker{font-size:19px;font-weight:500;color:var(--paper);margin:0 0 20px}
.references-copy>p:not(.references-kicker){color:#d2dccb;font-size:16px;line-height:1.85;margin-bottom:20px}
.references .references-note{margin-bottom:28px!important}
.references .button-forest .wp-block-button__link{background:var(--lime);color:var(--forest)}
.references .button-forest .wp-block-button__link:hover{background:#e9ffbc}
.process{padding-bottom:105px}
.process .section-intro{grid-template-columns:.8fr 2.2fr}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.process-step{border-top:1px solid #aebba0;padding-top:28px}
.process-number{font-family:var(--display);font-size:43px;line-height:1;color:#7b8b6d;letter-spacing:-2px;margin:0 0 37px}
.process-step h3{font-size:22px;font-weight:500;line-height:1.35;letter-spacing:-.65px;margin:0 0 19px;max-width:220px}
.process-step>p:last-child{font-size:15px;line-height:1.85;color:var(--muted);margin:0}
.faq{display:grid;grid-template-columns:1fr 1.55fr;gap:90px;padding-top:100px;border-top:1px solid var(--line)}
.faq-intro{font-size:16px;color:var(--muted);line-height:1.85;max-width:335px;margin:26px 0 0!important}
.faq-list{min-width:0}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{position:relative;font-family:var(--display);font-size:18px;font-weight:500;line-height:1.55;letter-spacing:-.3px;list-style:none;padding:23px 40px 23px 0;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';position:absolute;right:3px;top:20px;color:#657b55;font-family:var(--font);font-size:28px;font-weight:400;line-height:1.3}
.faq-item[open] summary:after{content:'−'}
.faq-item summary:hover{color:#566c48}
.faq-item>p{color:var(--muted);font-size:16px;line-height:1.85;margin:0 30px 27px 0}
.contact{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr);align-items:start;gap:70px;background:#edf1e6;max-width:none;padding:100px 6.8% 112px}
.contact h2{font-size:clamp(40px,4.3vw,66px);letter-spacing:-2.5px}
.contact .eyebrow{margin-bottom:28px}
.contact-intro{font-size:17px;line-height:1.8;color:var(--muted);margin:28px 0 37px;max-width:420px}
.contact-direct{padding-top:26px;border-top:1px solid #cdd5c3;max-width:400px}
.contact-label{font-size:12px;letter-spacing:.4px;color:var(--muted);margin-bottom:7px}
.contact-method{font-family:var(--display);font-size:clamp(19px,1.9vw,27px);letter-spacing:-.7px;line-height:1.4;margin:0 0 22px}
.contact-method a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;overflow-wrap:anywhere}
.contact-method a:hover{color:#536846}
.contact-form-panel{min-width:0}
.site-footer{background:var(--forest);color:#e5eadd;padding:53px 6.8% 25px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:28px}
.site-footer .brand-mark{background:var(--lime);color:var(--forest)}
.site-footer .brand-mark>span{color:var(--forest)}
.site-footer .brand-name .brand-title{font-size:17px}
.site-footer p.footer-tagline{font-size:14px;text-align:center;color:#c6d1bd;margin:0}
.site-footer .back-top{margin:0}
.site-footer .back-top a{font-size:13px}
.footer-contact{display:flex;flex-wrap:wrap;gap:12px 28px;grid-column:1/-1;font-size:14px}
.footer-contact p{margin:0}
.footer-contact a:hover,.back-top a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer .footer-bottom{margin-top:0;padding-top:22px;font-size:12px}
.site-footer .footer-bottom p{margin:0}
.article-content{min-height:55vh}
.article-content .wp-block-post-content{max-width:850px}
.article-content h1{font-size:clamp(38px,5vw,70px);letter-spacing:-2px;line-height:1.2;margin-bottom:35px}
.article-content p{margin:1em 0}
.article-content .wp-block-post-template{padding:0}
.article-content .wp-block-post-title{margin-block:25px}
.article-content .wp-block-post-content a{text-decoration:underline;text-underline-offset:3px}
.project-reference{display:grid;grid-template-columns:1.3fr 1fr;gap:55px;padding-block:48px;border-bottom:1px solid var(--line)}
.project-photo{margin:0;background:#e9eee3;border-radius:6px;overflow:hidden;min-height:300px}
.project-photo img{display:block;width:100%;height:auto}
.project-copy{align-self:center}
.project-copy h3{font-size:29px;line-height:1.35;font-weight:500;letter-spacing:-.8px;margin:0 0 22px}
.project-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 18px}
.project-facts{font-size:14px;padding-left:18px;color:var(--muted)}
/* Keep visual editing close to the public layout without hiding image controls. */
.editor-styles-wrapper .hero:before{z-index:0}
.editor-styles-wrapper .hero-content{position:relative;z-index:1}
.editor-styles-wrapper .hero-photo{z-index:0}
.editor-styles-wrapper .hero-photo img{height:740px}
.editor-styles-wrapper .about-photo{position:relative}
.editor-styles-wrapper .about-image img{position:relative;min-height:665px}
.editor-styles-wrapper .wp-block-group{max-width:none}
.editor-styles-wrapper .hero-bottom,.editor-styles-wrapper .image-credit{z-index:1}
.editor-styles-wrapper .erwin-navigation .wp-block-navigation__responsive-container{display:block}
.editor-styles-wrapper .block-editor-block-list__layout .process-step{min-width:0}
@media(min-width:1700px){.references{padding-inline:max(6.8%,calc((100vw - 1450px)/2))}.contact{padding-inline:max(6.8%,calc((100vw - 1450px)/2))}}
@media(max-width:1200px){
  .site-header{padding-inline:4%}.erwin-navigation .wp-block-navigation__container{gap:18px}
  .brand-name .brand-title{font-size:17px}.brand-name .brand-subtitle{font-size:10px}
  .section-wrap{padding-inline:5%}.section-intro{grid-template-columns:.75fr 2.25fr;gap:28px}.section-intro>div{display:block}.section-intro h2{min-width:0}.section-intro>div>p{max-width:520px;margin-top:24px}
  .service-row{grid-template-columns:35px minmax(0,1.5fr) minmax(240px,1fr);gap:22px}.service-examples{padding-left:15px}
  .about-copy{padding:55px 9%}.about-image{min-height:645px}
  .principles-grid{gap:32px}.references{gap:60px;padding-inline:calc(5% - 10px)}
  .faq{gap:60px}.process-grid{gap:23px}.contact{gap:44px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr)}
}
@media(max-width:1100px){
  .site-header .erwin-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .site-header .erwin-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
}
@media(min-width:1101px){
  .site-header .erwin-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:block}
  .site-header .erwin-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:none}
}
@media(max-width:1020px){
  .contact{grid-template-columns:1fr;gap:45px}.contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.contact-copy>.eyebrow{grid-column:1/-1}.contact-copy h2{grid-column:1;grid-row:2/4}.contact-intro{grid-column:2;margin-top:0}.contact-direct{grid-column:2;max-width:none}.contact-form-panel{max-width:800px;width:100%}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}.process-step h3{max-width:none}.process-number{margin-bottom:25px}
}
@media(max-width:760px){
  html{scroll-padding-top:24px}
  .site-header{height:88px;padding:0 23px;gap:16px}
  .brand-name .brand-title{font-size:16px;letter-spacing:.8px}.brand-name .brand-subtitle{display:none}
  .site-header .erwin-navigation{margin:0}.erwin-navigation .wp-block-navigation__responsive-container-open{padding:8px}
  .hero{min-height:700px}.hero:before{background:linear-gradient(90deg,#102315d9,#152e217a),linear-gradient(0deg,#0b23168c,transparent 50%)}
  .hero-photo img{object-position:62% center}.hero-content{padding:66px 6% 155px}
  .hero .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:28px}.hero-description{font-size:17px;line-height:1.75;max-width:355px}
  .hero h1{font-size:clamp(50px,10vw,70px);letter-spacing:-2.8px;line-height:1.13}
  .hero-bottom .hero-caption{font-size:11px;letter-spacing:.8px}.hero-bottom .scroll-link{font-size:12px}.hero p.image-credit{font-size:11px}
  .wp-block-button__link{font-size:14px;padding:15px 20px}
  .service-strip{font-size:14px;gap:12px 24px;padding:27px 28px}.service-strip>p:nth-child(even){display:none}.service-strip>p:nth-child(5){grid-row:1;grid-column:2}
  .section-wrap{padding:72px 7%}.section-intro,.process .section-intro{display:block;margin-bottom:36px}.section-intro>.eyebrow{margin-bottom:22px}.section-intro>div>p{font-size:16px;margin-top:24px}
  .eyebrow{font-size:12px;letter-spacing:1.3px}h2{font-size:37px;letter-spacing:-1.6px}
  .service-row{grid-template-columns:24px minmax(0,1fr);gap:14px;padding:30px 0}.service-row .service-number{font-size:11px}.service-row h3{font-size:23px}.service-row p{font-size:16px}
  .service-examples{grid-column:2;padding-left:0;margin-top:1px}.service-examples li{font-size:14px;padding-block:4px}.service-examples li:before{top:13px}
  .about-image{min-height:340px}.about-image .about-image-caption{left:22px;bottom:21px;font-size:12px}.about-copy{padding:43px 6.5% 48px}.about-copy h2{font-size:38px}.about-copy>p.about-lead{font-size:18px}
  .principles{padding-top:50px;padding-bottom:65px}.principles>.eyebrow{margin-bottom:28px}.principles-grid{grid-template-columns:1fr;gap:28px}.principle{padding-top:19px;display:grid;grid-template-columns:25px 1fr;gap:0 17px}.principle-number{grid-row:1/3;margin:4px 0 0}.principle h3{font-size:22px;margin-bottom:10px}.principle>p:last-child{grid-column:2;max-width:none;font-size:16px}
  .references{grid-template-columns:1fr;gap:32px;margin:0 10px;padding:57px 6.5%;border-radius:6px}.references h2{font-size:39px}.references-copy{padding-top:0}.references .eyebrow{margin-bottom:23px}.references-kicker{font-size:18px}.references-copy>p:not(.references-kicker){font-size:16px}
  .process-grid{grid-template-columns:1fr;gap:30px}.process-step{display:grid;grid-template-columns:46px 1fr;gap:0 19px;padding-top:25px}.process-number{font-size:31px;letter-spacing:-1px;grid-row:1/3;margin:2px 0 0}.process-step h3{font-size:22px;margin-bottom:13px}.process-step>p:last-child{grid-column:2;font-size:16px}
  .faq{grid-template-columns:1fr;gap:34px}.faq-intro{max-width:500px;margin-top:22px!important}.faq-item summary{font-size:17px;padding-block:21px}.faq-item summary:after{top:18px}.faq-item>p{margin-right:15px;font-size:16px}
  .contact{gap:38px;padding:65px 7% 72px}.contact-copy{display:block}.contact h2{font-size:49px;letter-spacing:-2.3px}.contact .eyebrow{margin-bottom:24px}.contact-intro{margin:25px 0 28px;font-size:17px;max-width:none}.contact-direct{padding-top:22px}.contact-label{font-size:12px}.contact-method{font-size:23px;margin-bottom:21px}
  .site-footer{padding:40px 7% 23px;grid-template-columns:1fr auto;gap:24px}.site-footer .brand-name .brand-title{font-size:15px}.site-footer p.footer-tagline{grid-column:1/-1;text-align:left;grid-row:2;font-size:14px}.site-footer .back-top a{font-size:12px}.site-footer .footer-bottom{font-size:12px;line-height:1.7}.footer-contact{gap:12px 20px;font-size:14px}
  .project-reference{grid-template-columns:1fr;gap:30px;padding-block:32px}.project-photo{min-height:220px}.project-copy h3{font-size:25px}
}
@media(max-width:370px){
  .site-header{padding-inline:17px}.brand-name .brand-title{font-size:14px}.hero{min-height:700px}.hero-content{padding-top:56px}.hero h1{font-size:47px}.hero-bottom .scroll-link{display:none}.hero-description{font-size:16px}.hero .wp-block-button__link{font-size:13px;padding:15px 16px}.contact h2{font-size:44px}.contact-method{font-size:21px}.service-row h3{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.wp-block-button__link:hover{transform:none}}

/* Selected identity: 04 Mauerwerk Premium from the 20-logo collection. */
.brand .brand-logo{width:330px;max-width:100%;margin:0;line-height:0}
.brand-logo a{display:block;border-radius:4px}
.brand-logo img{display:block;width:100%;height:auto;aspect-ratio:4/1;object-fit:cover}
.site-header .brand{flex:0 1 330px;min-width:0}
.site-footer .brand{justify-self:start;background:var(--paper);border-radius:5px}
.site-footer .brand-logo{width:310px}
.brand-logo a:focus-visible{outline:3px solid #78a830;outline-offset:3px}
@media(max-width:760px){.brand .brand-logo{width:248px}.site-header .brand{flex-basis:248px}.site-footer .brand{grid-column:1/-1}.site-footer .back-top{grid-column:1/-1;grid-row:4}.site-footer .brand-logo{width:270px}}
@media(max-width:370px){.brand .brand-logo{width:210px}.site-header .brand{flex-basis:210px}}
