/* Homepage content order restored from the 10 September video; current drawings retained. */
.is-home .restored-expertise .usp-icon{width:42px;height:42px;margin-bottom:20px;color:var(--heading-color)}
.is-home .restored-expertise .usp-icon svg{display:block;width:100%;height:100%}
.is-home .expertise-card .expertise-svg-wrap{background:#fff}
[data-theme="dark"] .is-home .expertise-card .expertise-svg-wrap{background:#24333c}
/* An editorial introduction gives the photograph and the copy their own space. */
.is-home .hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;padding:0;background:#fff;overflow:hidden}
.is-home .hero .hero-content{order:0;display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:40px;width:100%;max-width:1400px;box-sizing:border-box;margin:0 auto;padding:48px 5% 44px;text-align:left;color:#142634}
.is-home .hero h1{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;color:#142634!important;font-size:clamp(38px,4.6vw,68px);line-height:1.08;letter-spacing:-.045em;text-transform:none}
.is-home .hero h1 .reveal-wrapper{display:block;overflow:visible}
.is-home .hero h1 .reveal-wrapper:last-child{color:#62717b}
.is-home .hero .hero-subtitle{display:block;max-width:390px;margin:0 0 4px;padding:0 0 0 24px;border-left:2px solid #ad3029;background:none;border-radius:0;color:#344b58!important;font-size:clamp(17px,1.65vw,23px);font-weight:400;line-height:1.6;text-wrap:balance}
.is-home .hero .hero-bg{position:relative;order:1;inset:auto;width:100%;height:auto;aspect-ratio:2/1;max-height:640px;background-size:cover;background-position:center 58%;transform:none!important;animation:none}
.is-home .hero .hero-overlay{display:none}
[data-theme="dark"] .is-home .hero{background:#142634}
[data-theme="dark"] .is-home .hero h1{color:#f4f6f8!important}
[data-theme="dark"] .is-home .hero h1 .reveal-wrapper:last-child{color:#aebdc6}
[data-theme="dark"] .is-home .hero .hero-subtitle{color:#dde5ea!important;border-color:#e98c80}
@media(max-width:768px){
 .is-home .hero .hero-content{grid-template-columns:1fr;gap:24px;padding:32px 6%}
 .is-home .hero h1{font-size:clamp(38px,8vw,56px)}
 .is-home .hero .hero-subtitle{max-width:420px;padding-left:18px;margin:0;font-size:17px}
 .is-home .hero .hero-bg{aspect-ratio:3/2;max-height:none;background-position:center}
}
/* Compact introduction: lighter scale and less vertical space above the photograph. */
.is-home .hero .hero-content{padding:28px 5%;gap:32px;align-items:center;grid-template-columns:1.3fr 1fr}
.is-home .hero h1{font-size:clamp(28px,3vw,42px);line-height:1.16;letter-spacing:-.025em;font-weight:500}
.is-home .hero .hero-subtitle{font-size:17px;line-height:1.55;padding-left:20px;border-left-width:1px;max-width:370px}
@media(max-width:768px){
 .is-home .hero .hero-content{grid-template-columns:1fr;gap:14px;padding:24px 6%}
 .is-home .hero h1{font-size:30px}
 .is-home .hero .hero-subtitle{font-size:15px;line-height:1.5;padding:0;border:0;max-width:360px}
}
/* Stretch the full card surface and align addresses despite different copy lengths. */
.is-home #teaser-grid .project-card{display:flex;flex-direction:column;min-width:0;height:100%}
.is-home #teaser-grid .project-image-container{flex-shrink:0}
.is-home #teaser-grid .project-info{flex:1;display:flex;flex-direction:column;box-sizing:border-box}
.is-home #teaser-grid .project-info .project-summary{margin:0 0 24px}
.is-home #teaser-grid .project-info .project-address{margin:auto 0 0;padding-top:8px}
