/* Mauerwerk Premium: warm stone, forest green and a classical serif. */
:root {
  --forest:#18392f;
  --ink:#213d32;
  --lime:#cfc3a5;
  --paper:#f5f1e8;
  --canvas:#fcfaf5;
  --stone:#b8ae8f;
  --muted:#586256;
  --line:#d9d2c3;
  --font:'DM Sans',Arial,sans-serif;
  --display:'Libre Baskerville',Georgia,serif;
}
body {background:var(--paper);color:var(--ink);font-size:17px;line-height:1.75}
::selection {background:#d6c9a9;color:var(--forest)}
a:focus-visible,button:focus-visible,.brand-logo a:focus-visible,
.erwin-navigation button:focus-visible,.faq-item summary:focus-visible {
  outline:2px solid #816d42;outline-offset:5px;
}
h1,h2,h3,.signature,.process-number,.contact-method,.faq-item summary {
  font-family:var(--display);font-weight:400;
}
.hero h1 {font-size:clamp(60px,5.7vw,88px);line-height:1.16;letter-spacing:-.045em;margin-bottom:30px}
h2,.about-copy h2,.references h2,.contact h2 {
  font-size:clamp(36px,3.8vw,56px);line-height:1.2;letter-spacing:-.035em;
}
.service-row h3,.principle h3,.process-step h3,.project-copy h3 {
  font-weight:400;letter-spacing:-.025em;line-height:1.35;
}
.service-row h3 {font-size:28px}
.principle h3,.process-step h3 {font-size:23px}
.project-copy h3 {font-size:30px}
.article-content h1 {font-size:clamp(38px,5vw,70px);letter-spacing:-.035em;line-height:1.18}
.eyebrow {font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.19em;color:#665e4b}
h2 em {color:#827654}

/* Make the selected original visibly larger, without altering its artwork. */
.site-header {height:142px;padding-inline:5%;gap:36px;background:var(--canvas);border-bottom:1px solid var(--line)}
.site-header .brand {flex:0 1 440px;max-width:440px;min-width:0}
.brand .brand-logo {width:440px;max-width:100%;margin:0;line-height:0}
.brand-logo a {display:block;border-radius:0}
.brand-logo img {display:block;width:100%;height:auto;aspect-ratio:4.7/1;object-fit:cover;object-position:center 53%}
.site-header .erwin-navigation {font-size:14px;font-weight:500;flex-shrink:0}
.erwin-navigation .wp-block-navigation__container {gap:23px}
.erwin-navigation .wp-block-navigation-item__content {letter-spacing:.015em}
.erwin-navigation .nav-contact {border-color:var(--forest);border-radius:2px;background:var(--forest);color:var(--paper)}
.erwin-navigation .nav-contact .wp-block-navigation-item__content {padding:12px 22px}
.erwin-navigation .nav-contact:hover {background:#2c4a3b;color:var(--paper)}
.erwin-navigation .wp-block-navigation__responsive-container-open,
.erwin-navigation .wp-block-navigation__responsive-container-close,
.preview-menu-toggle,.preview-menu-close {border-radius:2px;background:var(--canvas);border-color:var(--line)}
.erwin-navigation .wp-block-navigation__responsive-container.is-menu-open {background:var(--paper)}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.preview-menu .wp-block-navigation-item__content {
  font-family:var(--display);font-weight:400;font-size:clamp(25px,5vw,36px);letter-spacing:-.025em;
}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .nav-contact {
  background:var(--forest)!important;color:var(--paper)!important;border-radius:2px;
}
.site-header .erwin-navigation .wp-block-navigation__responsive-container.is-menu-open .nav-contact .wp-block-navigation-item__content {color:var(--paper)!important}

.hero {margin:24px 24px 0;border-radius:2px;min-height:738px;background:var(--forest)}
.hero:before {
  background:linear-gradient(90deg,rgba(16,39,29,.92),rgba(19,41,31,.63) 48%,rgba(19,41,31,.07) 82%),linear-gradient(0deg,rgba(18,36,27,.5),transparent 45%);
}
.hero-photo img {object-position:center 56%}
.hero-content {padding:83px 5% 152px;max-width:1080px}
.hero .eyebrow {color:#ded3b6;margin-bottom:29px}
.hero h1 em {color:#e0d2af}
.hero-description {color:#efeee5;max-width:485px;font-size:18px;line-height:1.85}
.hero-bottom {left:5%;right:5%;bottom:38px}
.hero-bottom .hero-caption {color:#dfdfd0;font-size:11px;letter-spacing:.16em}
.hero-bottom .scroll-link {font-size:13px;color:#e5dfce}
.hero p.image-credit {font-size:10px;right:14px;bottom:10px;background:#17332899;padding:2px 7px}
.wp-block-button__link {
  border-radius:2px;padding:17px 24px;font-size:14px;font-weight:600;letter-spacing:.025em;
}
.button-lime .wp-block-button__link {background:var(--lime);color:var(--forest)}
.button-lime .wp-block-button__link:hover {background:#e0d5bb;color:var(--forest)}
.button-forest .wp-block-button__link {background:var(--forest);color:var(--paper)}
.button-forest .wp-block-button__link:hover {background:#2c4a3b;color:var(--paper)}
.service-strip {
  padding:29px 7%;gap:24px;background:#e7e0d1;border-bottom:0;
  font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
}
.service-strip p:nth-child(even) {color:#a79773;font-size:14px}

.section-wrap {padding-block:108px;max-width:1500px}
.section-intro {margin-bottom:57px;grid-template-columns:.75fr 2.25fr}
.section-intro>.eyebrow {padding-top:9px}
.section-intro h2 {min-width:50%}
.section-intro>div>p {line-height:1.85;font-size:16px}
.service-row {padding:34px 0;border-color:var(--line);grid-template-columns:56px minmax(0,1.65fr) minmax(270px,1fr)}
.service-row:last-child {border-color:var(--line)}
.service-row .service-number {font-family:var(--display);font-size:20px;color:#796949;font-weight:400;padding-top:2px}
.service-row h3 {margin-bottom:14px}
.service-row p {line-height:1.85}
.service-examples {border-left:1px solid var(--line);padding-left:30px}
.service-examples li {font-size:14px;padding-block:7px}
.service-examples li:before {background:#ac9b76;width:4px;height:4px;border-radius:0;top:16px}

.about {background:#e5dece;margin:0 24px;border-radius:2px;grid-template-columns:1.03fr 1fr}
.about-image {min-height:650px}
.about-copy {padding:70px 10%}
.about-copy h2 {margin-bottom:27px}
.about-copy>p.about-lead {font-family:var(--display);font-size:20px;line-height:1.65;letter-spacing:-.015em;color:var(--forest)}
.about-copy>p:not(.eyebrow) {line-height:1.85}
.signature {font-size:25px;font-weight:400;letter-spacing:-.02em;margin-top:16px}
.signature .signature-caption {font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:8px;color:#665e4b}
.about-image .about-image-caption {font-size:10px;color:#efece0}
.principles {padding-top:66px;padding-bottom:90px}
.principle {border-color:#c9bea6;padding-top:25px}
.principle-number {font-family:var(--display);font-size:16px;color:#796949;margin-bottom:22px}
.principle>p:last-child {font-size:16px;line-height:1.85}

.references {background:var(--forest);color:var(--paper);margin:0 24px;border-radius:2px;max-width:none;padding:87px calc(6.8% - 24px);gap:80px}
.references .eyebrow,.references h2 em {color:#d6c8a4}
.references-copy {border-left:1px solid #526655;padding:5px 0 5px 44px}
.references-kicker {font-family:var(--display);font-size:23px;font-weight:400;line-height:1.5;letter-spacing:-.015em;color:#f3eee0}
.references-copy>p:not(.references-kicker) {color:#d5dbd0}
.references .button-forest .wp-block-button__link {background:#cfc3a5;color:var(--forest)}
.references .button-forest .wp-block-button__link:hover {background:#e0d5bb;color:var(--forest)}
.process .section-intro {grid-template-columns:.75fr 2.25fr}
.process-grid {gap:30px}
.process-step {border-top:1px solid #c9bea6;padding-top:24px}
.process-number {font-size:42px;letter-spacing:-.04em;color:#8c7b54;margin-bottom:30px}
.process-step h3 {max-width:250px}
.process-step>p:last-child {font-size:16px;line-height:1.85}
.faq {border-color:var(--line);padding-top:93px;gap:80px}
.faq-item {border-color:var(--line)}
.faq-item:last-child {border-color:var(--line)}
.faq-item summary {font-size:18px;line-height:1.65;letter-spacing:-.015em;font-weight:400;padding-block:25px}
.faq-item summary:after {color:#8e7d58;top:22px}
.faq-item summary:hover {color:#7a6947}
.faq-item>p {font-size:16px;line-height:1.85}

.contact {background:#e5dece;max-width:none;gap:70px;padding-block:94px 102px}
.contact h2 {font-size:clamp(38px,4vw,60px)}
.contact-intro {font-size:17px;line-height:1.85;max-width:410px}
.contact-direct {border-color:#c7bda6;padding-top:25px}
.contact-label {font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#665e4b}
.contact-method {font-family:var(--font);font-size:clamp(19px,1.9vw,26px);font-weight:500;letter-spacing:-.025em}
.contact-method a:hover {color:#75633e}
.contact-form-panel {background:var(--canvas);border:1px solid #d5ccb9;padding:32px;border-radius:2px}
.site-footer {background:#d9d1be;color:var(--forest);padding:50px 6.8% 25px;gap:30px;border-top:1px solid #c7bda6}
.site-footer .brand {background:transparent;border-radius:0}
.site-footer .brand-logo {width:400px}
.site-footer p.footer-tagline {font-family:var(--display);font-size:18px;line-height:1.6;font-weight:400;letter-spacing:-.015em;color:#425543}
.site-footer .back-top a {font-size:12px;color:var(--forest)}
.footer-contact {color:#3f5345;font-size:14px}
.site-footer .footer-bottom {border-color:#bcb197;color:#48543f;font-size:11px;padding-top:22px}
.project-reference {border-color:var(--line)}
.project-photo {background:#e5dece;border-radius:2px}

@media(max-width:1280px) {
  .site-header {height:132px;padding-inline:4%;gap:25px}
  .site-header .brand {flex-basis:390px;max-width:390px}
  .erwin-navigation .wp-block-navigation__container {gap:18px}
  .site-header .erwin-navigation {font-size:13px}
  .erwin-navigation .nav-contact .wp-block-navigation-item__content {padding-inline:17px}
  .hero h1 {font-size:clamp(62px,6.2vw,79px)}
  .hero-content {max-width:940px;padding-top:82px}
  .section-intro,.process .section-intro {grid-template-columns:.65fr 2.35fr;gap:30px}
  .section-intro h2 {min-width:0}
  .service-row {grid-template-columns:40px minmax(0,1.6fr) minmax(230px,1fr);gap:25px}
  .about-copy {padding:58px 9%}
  .references {gap:50px}.references-copy {padding-left:32px}
  .contact {gap:40px;grid-template-columns:minmax(270px,.85fr) minmax(0,1.4fr)}
  .contact-form-panel {padding:26px}
  .site-footer .brand-logo {width:340px}
}
@media(max-width:1100px) {
  .site-header .brand {flex-basis:440px;max-width:440px}
  .site-header .erwin-navigation {font-size:14px}
  .process-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:37px 40px}
}
@media(max-width:1020px) {
  .contact {grid-template-columns:1fr;gap:36px}
  .contact-form-panel {max-width:none}
  .contact-copy {gap:0 36px}
  .site-footer {grid-template-columns:1fr auto}
  .site-footer p.footer-tagline {grid-column:1/-1;grid-row:2;text-align:left}
}
@media(max-width:760px) {
  .site-header {height:110px;padding-inline:16px;gap:12px}
  .site-header .brand {flex:1 1 330px;max-width:330px;min-width:0}
  .brand .brand-logo {width:330px}
  .site-header .erwin-navigation {flex:0 0 auto}
  .hero {margin:12px 10px 0;min-height:725px}
  .hero:before {background:linear-gradient(90deg,#10271fdf,#183a2f88),linear-gradient(0deg,#142c23a8,transparent 65%)}
  .hero-content {padding:62px 6% 150px;max-width:none}
  .hero h1 {font-size:clamp(43px,8.9vw,65px);line-height:1.19;letter-spacing:-.045em;margin-bottom:26px}
  .hero .eyebrow {font-size:10px;letter-spacing:.15em;margin-bottom:26px}
  .hero-description {font-size:16px;line-height:1.8;max-width:430px}
  .hero-bottom {left:6%;right:6%;bottom:34px}
  .hero-bottom .hero-caption {font-size:9px;letter-spacing:.12em}
  .hero-bottom .scroll-link {font-size:11px}
  .hero .wp-block-button__link {font-size:13px;padding:16px 18px;letter-spacing:0}
  .service-strip {padding:26px 7%;font-size:11px;letter-spacing:.06em;gap:13px 18px}
  .section-wrap {padding:72px 7%}
  .section-intro,.process .section-intro {display:block;margin-bottom:36px}
  h2,.about-copy h2,.references h2,.contact h2 {font-size:clamp(33px,7.4vw,44px);letter-spacing:-.04em;line-height:1.24}
  .eyebrow {font-size:10px;letter-spacing:.16em}
  .section-intro>div>p {font-size:16px;line-height:1.85;margin-top:23px}
  .service-row {grid-template-columns:28px minmax(0,1fr);gap:15px;padding-block:28px}
  .service-row .service-number {font-size:16px;padding-top:3px}
  .service-row h3 {font-size:23px;line-height:1.4;letter-spacing:-.035em;margin-bottom:13px}
  .service-row p {font-size:16px}
  .service-examples {grid-column:2;border-left:0;padding-left:0}
  .service-examples li {font-size:13px}
  .about {grid-template-columns:1fr;margin:0 10px}
  .about-image {min-height:370px}
  .about-copy {padding:43px 6.5% 49px}
  .about-copy>p.about-lead {font-size:19px}
  .signature {font-size:24px}
  .principles {padding-top:54px;padding-bottom:66px}
  .principle h3,.process-step h3 {font-size:22px;letter-spacing:-.025em}
  .references {margin:0 10px;padding:56px 6.5%;grid-template-columns:1fr;gap:30px}
  .references-copy {border-left:0;border-top:1px solid #526655;padding:27px 0 0}
  .references-kicker {font-size:22px}
  .process-grid {grid-template-columns:1fr;gap:29px}
  .process-step {grid-template-columns:44px 1fr;gap:0 17px;padding-top:25px}
  .process-number {font-size:30px;letter-spacing:-.04em;margin:3px 0 0}
  .process-step h3 {max-width:none}
  .faq {grid-template-columns:1fr;gap:31px}
  .faq-item summary {font-size:17px;line-height:1.65;padding:22px 35px 22px 0}
  .contact {padding:65px 7% 73px;gap:32px}
  .contact-copy {display:block}
  .contact-intro {font-size:16px;margin-top:25px}
  .contact-method {font-size:23px}
  .contact-form-panel {padding:23px 19px}
  .site-footer {padding:34px 7% 24px;gap:22px}
  .site-footer .brand {grid-column:1/-1;max-width:100%}
  .site-footer .brand-logo {width:370px}
  .site-footer p.footer-tagline {font-size:18px}
  .site-footer .back-top {grid-column:1/-1;grid-row:4}
  .site-footer .footer-bottom {font-size:11px;line-height:1.7;gap:10px}
}
@media(max-width:370px) {
  .site-header {height:104px;padding-inline:12px;gap:9px}
  .site-header .brand {flex-basis:285px}
  .hero h1 {font-size:40px}
  .hero-content {padding-top:52px}
  .hero {min-height:725px}
  .contact-method {font-size:21px}
  .contact-form-panel {padding:21px 15px}
}
