/* REAL46 000.040.029 — homepage portfolio + coherent public navigation. */
.main-home .main-portfolio-029{max-width:1480px;margin:0 auto;padding:65px clamp(24px,5vw,78px) 70px;background:#f1f4ef;border-top:1px solid #dfe8de;color:#23433c}
.main-portfolio-029 *{box-sizing:border-box}
.main-portfolio-029 .main-portfolio-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.main-portfolio-029 .main-portfolio-head h2{font:400 clamp(32px,3.6vw,48px)/1.12 Georgia,'Times New Roman',serif;margin:0 0 12px;color:#23473b}
.main-portfolio-029 .main-portfolio-head p:not(.eyebrow){font-size:17px;line-height:1.65;color:#52685e;max-width:780px;margin:0}
.main-portfolio-029 .main-portfolio-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.main-portfolio-029 .main-portfolio-action{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:10px 17px;font-size:15px;font-weight:700;border:1px solid #b0c6b7;border-radius:6px;background:#fff;color:#205c46;text-decoration:none;white-space:nowrap}
.main-portfolio-029 .main-portfolio-action--primary{background:#1f5a46;border-color:#1f5a46;color:#fff}
.main-portfolio-029 .main-portfolio-action:hover{box-shadow:0 4px 16px rgba(22,64,43,.12)}
.main-portfolio-029 .main-portfolio-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.main-portfolio-029 .main-portfolio-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e0e8df;border-radius:12px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 7px 20px rgba(24,56,41,.08);transition:transform .2s ease,box-shadow .2s ease}
.main-portfolio-029 .main-portfolio-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(24,56,41,.14)}
.main-portfolio-029 .main-portfolio-media{aspect-ratio:4/3;overflow:hidden;background:#e1e8e1}
.main-portfolio-029 .main-portfolio-media img,.main-portfolio-029 .main-portfolio-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.main-portfolio-029 .main-portfolio-copy{padding:19px 19px 22px;display:flex;flex:1;flex-direction:column;gap:11px}
.main-portfolio-029 .main-portfolio-copy h3{font:600 clamp(18px,1.5vw,22px)/1.25 Arial,Helvetica,sans-serif;margin:0;color:#214c3a}
.main-portfolio-029 .main-portfolio-copy p{font-size:15px;line-height:1.55;color:#586c61;margin:0}
.main-portfolio-029 .main-portfolio-more{font-size:15px;color:#175941;font-weight:700;margin-top:auto;padding-top:8px}
.main-portfolio-029 .main-portfolio-bottom{display:flex;gap:15px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:23px;border-top:1px solid #d8e4d9;padding-top:19px}
.main-portfolio-029 .main-portfolio-bottom p{font-size:16px;line-height:1.5;margin:0;color:#52695c}
.main-portfolio-029 .main-portfolio-bottom a{font-size:16px;font-weight:700;color:#1b5e46;text-underline-offset:4px;text-decoration:underline}
/* Keep real estate as the primary proposition; this section has no forms of its own. */
@media (min-width:1040px){.main-portfolio-029 .main-portfolio-cards:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.main-portfolio-029 .main-portfolio-cards:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1040px){.main-portfolio-029 .main-portfolio-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.main-portfolio-029 .main-portfolio-head{align-items:flex-start;flex-direction:column}.main-portfolio-029 .main-portfolio-head-actions{justify-content:flex-start}}
@media (max-width:620px){.main-home .main-portfolio-029{padding:42px 18px}.main-portfolio-029 .main-portfolio-cards{grid-template-columns:1fr}.main-portfolio-029 .main-portfolio-head h2{font-size:34px}.main-portfolio-029 .main-portfolio-action{white-space:normal}.main-portfolio-029 .main-portfolio-bottom{align-items:flex-start;flex-direction:column}}
/* Public navigation: readable text and an accessible menu on intermediate widths. */
@media (min-width:1451px){.main-home .main-header{gap:clamp(10px,1.15vw,18px);padding-left:clamp(18px,3vw,66px);padding-right:clamp(18px,3vw,66px)}.main-home .main-nav{gap:clamp(10px,.9vw,17px);font-size:14px}.main-home .main-nav a{white-space:nowrap}}
@media (max-width:1450px){.main-home .main-nav{display:none}.main-home .nav-toggle{display:block;margin-left:auto;font-size:25px;min-height:44px;min-width:44px;cursor:pointer}.main-home .header-contact{margin-left:0}.main-home .main-nav.is-open{display:flex;position:absolute;left:0;right:0;top:82px;z-index:45;padding:15px clamp(20px,5vw,78px);background:#fff;border-bottom:1px solid #d8e2d8;box-shadow:0 13px 25px rgba(20,49,37,.13);flex-direction:column;gap:0}.main-home .main-nav.is-open a{display:block;padding:11px 3px;font-size:16px}}
@media (max-width:820px){.main-home .main-nav.is-open{top:68px}.main-home .header-contact{display:none}}
.main-home .main-header a:focus-visible,.main-home .nav-toggle:focus-visible{outline:2px solid #2a7151;outline-offset:3px}
.rs-page .rs-home-links a{font-size:14px}
.rs-page .rs-home-mobile nav a{font-size:16px}
@media (max-width:1490px){.rs-page .rs-home-links{display:none}.rs-page .rs-home-mobile{display:block}.rs-page .rs-home-phone{margin-left:auto}}
/* Larger introductory copy on showcase landing pages. */
.rs-page .rs-intro>p{font-size:17px;line-height:1.7}
.rs-page .rs-switch a{font-size:15px}
