/* R09 portfolio; shared R03 shell and published blocks remain scoped. */
.r09-main .r09-hero{padding-block:clamp(72px,10vw,128px)}
.r09-main .r09-hero__grid{align-items:center}
.r09-main .r03-hero__content{max-width:900px}
.r09-main .r09-lead{max-width:760px}
.r09-main .r09-intro-section{padding-block:clamp(48px,6vw,76px)}
.r09-main .r09-intro{max-width:900px;color:var(--r03-copy);font-size:clamp(16px,1.35vw,18px);line-height:1.7}
.r09-main .r09-intro>*:first-child{margin-top:0}
.r09-main .r09-intro>*:last-child{margin-bottom:0}
.r09-main .r09-works{padding-bottom:56px}
.r09-main .r09-reviews{padding-top:0}
.r09-main .r09-benefits .r03-benefit-grid article{border-color:#c9d8cc;background:#fff}
.r09-main .r09-benefits .r03-benefit-grid p{color:var(--r03-copy)}
.r09-main .r09-benefits .r03-benefit-grid article::after{color:#285d14}
.r09-main .r09-news .r03-section__head{align-items:center}
.r09-main .r09-news .r03-link{color:var(--r03-copy)}
.r09-main .r09-cf7-form fieldset.hidden-fields-container,.r09-dialog fieldset.hidden-fields-container{display:none}
.r09-dialog .r09-form-unavailable{margin:0;color:#ffb4b8}
.r09-dialog .r09-cf7-form{margin:0}
.r09-main .r09-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.r09-main .r09-filters button{min-height:44px;padding:10px 20px;border:1px solid #42604b;border-radius:999px;background:#fff;color:#172a1e;font:600 15px/1.3 Onest,Arial,sans-serif;cursor:pointer}
.r09-main .r09-filters button[aria-pressed="true"]{background:#172a1e;color:#fff}
.r09-main .r09-filters button:focus-visible,.r09-main .r09-media a:focus-visible,.r09-gallery-dialog button:focus-visible{outline:3px solid #77b344;outline-offset:3px}
.r09-main .r09-project-list{display:grid;gap:28px}
.r09-main .r09-project[hidden]{display:none}
.r09-main .r09-project{min-width:0;border:1px solid #d8e3d5;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(10,30,16,.06)}
.r09-main .r09-project__head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;padding:clamp(22px,3vw,42px)}
.r09-main .r09-project__number{color:#42604b;font:700 18px/1.5 Onest,Arial,sans-serif}
.r09-main .r09-project h3{margin:0 0 12px;color:#172a1e;font:600 clamp(22px,2.3vw,32px)/1.25 Unbounded,Arial,sans-serif;overflow-wrap:anywhere}
.r09-main .r09-project__desc{max-width:880px;color:#33493b;line-height:1.65;overflow-wrap:anywhere}
.r09-main .r09-project__desc>*:first-child{margin-top:0}
.r09-main .r09-project__desc>*:last-child{margin-bottom:0}
.r09-main .r09-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 clamp(18px,3vw,42px) clamp(20px,3vw,42px)}
.r09-main .r09-media{min-width:0;margin:0;overflow:hidden;border-radius:16px;background:#e7eee8}
.r09-main .r09-media--wide{grid-column:span 2}
.r09-main .r09-media a{display:block}
.r09-main .r09-media img,.r09-main .r09-media video{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#101813}
.r09-main .r09-media--portrait img,.r09-main .r09-media--portrait video{aspect-ratio:9/16}
.r09-main .r09-media figcaption{padding:12px 14px;color:#263f2e;font-size:14px;line-height:1.45}
.r09-gallery-dialog{width:min(96vw,1100px);max-width:none;max-height:94vh;padding:48px 12px 12px;border:0;border-radius:18px;background:#101813;color:#fff}
.r09-gallery-dialog::backdrop{background:rgba(0,0,0,.82)}
.r09-gallery-dialog button{position:absolute;top:4px;right:8px;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:32px;cursor:pointer}
.r09-gallery-dialog img{display:block;max-width:100%;max-height:calc(94vh - 110px);margin:auto;object-fit:contain}
.r09-gallery-dialog p{margin:10px 6px 0;text-align:center}
@media(max-width:720px){.r09-main .r09-hero{padding-block:58px 66px}.r09-main .r09-works{padding-bottom:42px}.r09-main .r09-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r09-main .r09-project__head{grid-template-columns:1fr;gap:4px}}
@media(max-width:480px){.r09-main .r09-media-grid{grid-template-columns:minmax(0,1fr)}.r09-main .r09-media--wide{grid-column:auto}.r09-main .r09-filters button{flex:1}.r09-main .r09-hero h1{font-size:clamp(26px,7vw,34px);overflow-wrap:anywhere}}
@media(max-width:600px){.r09-main .r03-estimator .v2-estimator__controls{display:grid;grid-template-columns:minmax(0,1fr)}.r09-main .r03-estimator .v2-estimator__controls .v2-button,.r09-main .r03-estimator .v2-estimator__controls .wpcf7-submit{width:100%}.r09-main .r03-estimator .v2-estimator__controls .wpcf7-spinner{width:24px;height:24px;margin:0;justify-self:end}}
@media(prefers-reduced-motion:reduce){.r09-main *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
