/* Homepage experience only. Blog and cost-guide cards retain their existing markup and CSS. */
.rh-page{--rh-ink:#18313f;--rh-blue:#064f73;--rh-soft:#eaf2f1;--rh-paper:#fbfcfa;--rh-warm:#eed2a8}
.modern-home .rh-section{padding:78px 0;position:relative;opacity:1;transform:none}
.rh-section *, .rh-section *:before,.rh-section *:after{box-sizing:border-box}
.rh-section :is(h1,h2,h3,p,figure){margin:0}
.rh-section [hidden]{display:none!important}
.rh-shell{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.rh-section p{font:400 16px/1.75 var(--font-body);color:#5e717b}
.modern-home .rh-section :is(h1,h2,h3){font-family:var(--font-display);color:#18313f;letter-spacing:-.04em;text-transform:none;font-weight:600}
.modern-home .rh-section h2{font-size:clamp(36px,4vw,52px);line-height:1.12}
.modern-home .rh-section h3{font-size:30px;line-height:1.2}
.rh-section img{display:block;width:100%;height:100%;object-fit:cover}
.rh-section figure{overflow:hidden;border-radius:12px}
.rh-section .rh-kicker{color:#0a7bb1;font:700 10px/1.5 var(--font-body);letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px}
.rh-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:35px}
.rh-heading>p,.rh-heading>div>p:not(.rh-kicker){max-width:370px;font-size:14px}
.rh-button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:54px;padding:16px 23px;border:1px solid #064f73;border-radius:7px;background:#064f73;color:white!important;font:600 13px/1.4 var(--font-body);text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.rh-button:hover{background:#0a7bb1;transform:translateY(-2px)}
.rh-button span{font-size:20px}
.rh-text-link{display:inline-flex;gap:20px;align-items:center;padding:0 0 4px;border:0;border-bottom:1px solid #b4c4c8;background:transparent;color:#064f73;font:600 12px/1.6 var(--font-body);cursor:pointer;text-decoration:none}
.modern-home .rh-hero{padding:38px 0 50px}
.rh-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.modern-home .rh-section #rh-title{font-size:clamp(48px,5.2vw,72px);line-height:1.07;letter-spacing:-.055em;min-height:2.14em;margin-bottom:22px}
#rh-title>span,#rh-title>em{display:block}
#rh-title>em{color:#0a7bb1;font-weight:600}
.rh-hero-copy .rh-intro{font-size:16px;line-height:1.75;max-width:450px;min-height:5.25em;margin-bottom:23px}
.rh-start{padding:21px 22px 17px;background:#fff;border:1px solid #dbe7e9;border-radius:12px;max-width:490px}
.rh-start>label{display:block;color:#18313f;font-size:14px;font-weight:700;margin-bottom:15px}
.rh-form-fields{display:grid;grid-template-columns:1.35fr .65fr;gap:10px;margin-bottom:11px}
.rh-form-fields :is(select,input){min-width:0;width:100%;height:49px;padding:10px 12px;background:#fbfcfa;color:#18313f;font:400 14px var(--font-body);border:1px solid #c8d8dd;border-radius:6px}
.rh-start .rh-button{width:100%}
.rh-start .rh-form-note{font-size:10px;margin-top:11px;line-height:1.6}
.rh-start #rh-form-status{font-size:12px;color:#973c31;margin-top:8px}
.rh-start #rh-form-status:empty{display:none}
.rh-hero-copy>.rh-text-link{margin-top:19px}
.rh-hero-photo{height:585px;position:relative;border-top-right-radius:90px!important;background:#e3e9e6}
.rh-hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0b293bd9);pointer-events:none}
.rh-hero-photo>img{object-position:center;transform:scale(1.035)}
.rh-hero-photo .rh-incoming{position:absolute;inset:0;opacity:0}
.rh-hero-photo figcaption{position:absolute;z-index:1;bottom:30px;left:30px;right:25px;color:white}
.rh-hero-photo figcaption>span{font-size:9px;letter-spacing:.15em}
.rh-hero-photo figcaption>p{font:500 27px/1.2 var(--font-display);color:white;margin-top:13px}
.rh-slide-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:17px}
.rh-slide-controls>div{display:flex;gap:7px}
.rh-slide-controls button,.rh-gallery-controls button{border:1px solid #cfdee1;border-radius:50%;background:transparent;width:34px;height:34px;color:#064f73;font-size:17px;cursor:pointer}
.rh-slide-controls .rh-dots{gap:0}
.rh-dots button{display:grid;place-items:center;border:0;width:25px;padding:0}
.rh-dots span{width:5px;height:5px;border-radius:50%;background:#a5bdc5;transition:transform .25s}
.rh-dots [aria-current=true] span{background:#0a7bb1;transform:scale(1.6)}
.rh-slide-controls [data-rh-play]{font:600 10px var(--font-body);width:65px;border:0;border-radius:0;text-align:right}
.rh-photo-note{display:flex;gap:8px;align-items:center;font-size:9px;color:#6b8088;margin-top:14px}
.rh-live-dot{width:5px;height:5px;border-radius:50%;background:#0a7bb1}
.rh-photo-note [data-rh-index]{margin-left:auto;letter-spacing:.12em}
.rh-ticker{border-block:1px solid #dbe7e9;background:#edf3ef}
.rh-ticker>div{display:flex;justify-content:space-between;gap:20px;padding-block:20px;flex-wrap:wrap}
.rh-ticker span{font-size:11px;color:#45646e}
.rh-ticker span:before{content:'✳';color:#0a7bb1;margin-right:10px}
.rh-project-tabs{display:flex;gap:9px;margin-bottom:24px;overflow:auto;padding:3px 3px 10px}
.rh-project-tabs>a{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:125px;padding:13px 15px;border:1px solid #cfdee1;border-radius:7px;text-decoration:none;color:#18313f;font-size:12px;white-space:nowrap}
.rh-project-tabs img{width:22px;height:22px;object-fit:contain}
.rh-project-tabs [aria-selected=true]{background:#e3f1f5;border-color:#0a7bb1}
.rh-project-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;background:#eef3ef;border-radius:14px;overflow:hidden}
.rh-project-panel+article{margin-top:25px}
.rh-project-panel>figure{height:435px;border-radius:0}
.rh-project-panel>div{padding:35px 40px 35px 0}
.rh-project-panel p:not(.rh-kicker){font-size:14px;margin-top:19px}
.rh-project-panel aside{display:flex;gap:14px;margin:24px 0;color:#0a7bb1;border-top:1px solid #d0dfdc;padding-top:18px}
.rh-project-panel aside>p{margin:0!important;font-size:12px!important}
.rh-project-panel .rh-text-link{display:flex;width:max-content;margin-top:18px}
.rh-all-projects{margin-top:22px;border-bottom:1px solid #dbe7e9}
.rh-all-projects summary{display:flex;justify-content:space-between;gap:15px;font-size:12px;font-weight:600;list-style:none;cursor:pointer;padding:17px 0}
.rh-all-projects>div{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:15px 0 25px}
.rh-all-projects a{font-size:12px;color:#064f73;text-decoration:none}
.rh-all-projects a span{margin-left:12px}
.modern-home .rh-photo-break{position:relative;background:#06384f;isolation:isolate;padding:75px 0}
.rh-photo-backdrop{position:absolute;inset:0;z-index:-2}
.rh-photo-break:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#052e43f5,#06384fe0 45%,#06384f55)}
.rh-photo-break-inner>.rh-kicker{color:#eed2a8}
.modern-home .rh-photo-break h2{color:white;font-size:clamp(40px,5vw,64px);max-width:700px}
.rh-photo-break-inner>p:not(.rh-kicker){max-width:440px;color:#d5e4e8;margin:24px 0;font-size:15px}
.rh-photo-break .rh-button-light{background:#eed2a8;border-color:#eed2a8;color:#18313f!important}
.rh-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}
.rh-hotspot-photo{height:470px;position:relative;border-radius:12px;overflow:hidden}
.rh-hotspots{position:absolute;inset:0}
.rh-hotspots button{position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:43px;height:43px;border:1px solid white;border-radius:50%;background:#064f73cc;color:white;font-size:13px;cursor:pointer;box-shadow:0 0 0 7px #ffffff45;transition:transform .25s,background .25s}
.rh-hotspots button[aria-expanded=true]{background:#eed2a8;color:#18313f;transform:scale(1.12)}
.rh-detail-number{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;color:#0a7bb1;margin-bottom:20px}
.rh-detail-copy p{margin-top:19px;font-size:14px}
.rh-detail-copy>article+article{margin-top:25px}
.rh-detail-copy>.rh-text-link{margin-top:25px}
.rh-detail-copy>.rh-small{font-size:10px;line-height:1.7}
.rh-gallery-controls{display:flex;gap:9px;margin-top:20px}
.rh-gallery-track{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:12px}
.rh-gallery-track::-webkit-scrollbar{display:none}
.rh-gallery-item{flex:0 0 calc((100% - 50px)/3);min-width:0;scroll-snap-align:start;text-decoration:none!important;color:#18313f!important}
.rh-gallery-item figure{height:310px;position:relative}
.rh-gallery-item figure>span{position:absolute;bottom:18px;left:18px;background:#ffffffed;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:10px}
.rh-gallery-item img{transition:transform .65s}
.rh-gallery-item:hover img{transform:scale(1.05)}
.rh-gallery-item>div{display:flex;align-items:center;justify-content:space-between;margin-top:21px}
.rh-gallery-item>div>h3{font-size:24px!important}
.rh-gallery-item>p{font-size:12px;margin-top:10px}
.rh-gallery-progress{height:2px;background:#dae5e5;margin-top:25px}
.rh-gallery-progress>span{display:block;background:#0a7bb1;height:100%;width:var(--rh-gallery,50%);transition:width .25s}
.modern-home .rh-process{background:#edf3ef}
.rh-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.rh-process-grid>div>p:not(.rh-kicker){font-size:14px;margin-top:24px;max-width:400px}
.rh-process-grid figure{height:250px;max-width:430px;margin-top:28px}
.rh-process-steps{padding-top:12px}
.rh-process-steps details{padding:25px 0;border-bottom:1px solid #cbdad7}
.rh-process-steps summary{display:flex;gap:18px;align-items:center;cursor:pointer;font-size:20px;list-style:none;line-height:1.4}
.rh-process-steps summary>span{font-size:10px;color:#0a7bb1}
.rh-process-steps summary>b{margin-left:auto;font-weight:400;font-size:22px}
.rh-process-steps [open] summary>b{transform:rotate(45deg)}
.rh-process-steps details>div{padding-left:34px}
.rh-process-steps details p{font-size:14px;margin:20px 0}
.rh-section summary::-webkit-details-marker{display:none}
.modern-home .rh-final{padding:65px 0}
.rh-final>.rh-shell{display:grid;grid-template-columns:1fr 1fr;border-radius:15px;background:#e7eff1;overflow:hidden;align-items:center}
.rh-final>.rh-shell>div{padding:45px 55px}
.rh-final .rh-button{margin-top:28px}
.rh-final figure{height:360px;border-radius:0}
.modern-home .rh-locations{padding-top:0;padding-bottom:35px}
.rh-locations .rh-shell>h2{font-size:34px;margin-bottom:30px}
.rh-reveal{transition:opacity .75s,transform .75s}
.rh-reveal:not(.rh-seen){opacity:0;transform:translateY(22px)}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){.rh-hero-copy>.rh-kicker{animation:rh-rise .8s both}.rh-hero-copy>h1{animation:rh-rise .85s .1s both}.rh-hero-copy>.rh-intro{animation:rh-rise .85s .2s both}.rh-start{animation:rh-rise .85s .3s both}.rh-hero-visual{animation:rh-rise 1s .15s both}}
@keyframes rh-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.rh-shell{width:calc(100% - 56px)}.rh-hero-grid{gap:35px}.rh-hero-photo{height:550px}.rh-project-panel{gap:30px}.rh-project-panel>div{padding-right:25px}.rh-detail-grid{gap:35px}.rh-process-grid{gap:50px}}
@media(max-width:760px){
 .rh-shell{width:calc(100% - 40px)}.modern-home .rh-section{padding:55px 0}.modern-home .rh-hero{padding:28px 0 38px}.rh-hero-grid{grid-template-columns:1fr;gap:28px}.modern-home .rh-section #rh-title{font-size:clamp(40px,9vw,59px);margin-bottom:20px;min-height:2.14em}.rh-hero-copy .rh-intro{font-size:15px;min-height:5.25em}.rh-hero-photo{height:380px;border-top-right-radius:65px!important}.rh-hero-photo figcaption{left:23px;bottom:25px}.rh-hero-photo figcaption>p{font-size:27px}.rh-start{max-width:none}.rh-ticker>div{justify-content:center;gap:12px 20px;padding-block:16px}.rh-ticker span{font-size:10px}.rh-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.rh-heading>p{max-width:none}.rh-project-panel{grid-template-columns:1fr;gap:0}.rh-project-panel>figure{height:285px}.rh-project-panel>div{padding:28px}.rh-all-projects>div{grid-template-columns:repeat(2,1fr)}.modern-home .rh-photo-break{padding:55px 0}.rh-photo-break:before{background:#06384fd9}.rh-detail-grid{grid-template-columns:1fr;gap:30px}.rh-hotspot-photo{height:330px}.rh-detail-copy{min-height:300px}.rh-gallery-item{flex-basis:80%}.rh-gallery-item figure{height:290px}.rh-gallery-track{gap:18px}.rh-process-grid{grid-template-columns:1fr;gap:25px}.rh-process-grid figure{max-width:none;height:260px}.rh-process-steps{padding-top:0}.rh-process-steps summary{font-size:19px}.rh-final>.rh-shell{grid-template-columns:1fr}.rh-final>.rh-shell>div{padding:32px 25px}.rh-final figure{height:260px}.modern-home .rh-locations{padding-top:0}.rh-locations .rh-shell>h2{font-size:30px}.rh-hotspots button{width:38px;height:38px}
}
@media(max-width:370px){.modern-home .rh-section #rh-title{font-size:36px}.rh-form-fields{grid-template-columns:1.2fr .8fr}.rh-start{padding:18px}.rh-gallery-item{flex-basis:88%}}
@media(prefers-reduced-motion:reduce){.rh-section *,.rh-section *:before,.rh-section *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rh-reveal{opacity:1!important;transform:none!important}}
/* Keep the project entry stationary as the carousel changes on tablets. */
@media(min-width:761px) and (max-width:980px){.modern-home .rh-section #rh-title{font-size:44px}.rh-hero-copy .rh-intro{font-size:14px}}
