/* RCC visual direction inspired by the public LDN Direct site. */
:root{--ink:#17191b;--muted:#5b6266;--green:#079eae;--green-dark:#087a87;--sage:#d9f1f3;--cream:#f3f8f8;--paper:#fff;--line:#dce4e5;--accent:#079eae;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--display:Arial,Helvetica,sans-serif}
body{background:#fff;color:var(--ink);font-family:var(--sans)}
.site-header{border-bottom-color:#e5e7e8}
.brand{font-weight:700;letter-spacing:.07em}
.brand-mark{display:block;flex:0 0 42px;width:42px;height:42px;object-fit:contain;min-width:0;padding:0;border:0;border-radius:0;background:transparent}
.site-nav a,.site-footer nav a{color:#34393b}
.site-nav a:hover,.site-nav a.active,.site-footer nav a:hover{color:var(--green-dark)}
.about-photo{margin:0 auto;width:min(100%,430px);height:440px;overflow:hidden;background:var(--sage)}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%}
@media(max-width:640px){.about-photo{height:350px;width:min(100%,400px)}}
.button{background:var(--green);border-color:var(--green);border-radius:2px;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.button:hover{background:var(--green-dark)}
.button-light{background:#fff;border-color:#fff;color:var(--green-dark)}
.button-light:hover{background:#ecf8f9;color:#075c66}
.text-link{color:var(--green-dark);border-bottom-color:var(--green)}
.eyebrow{color:var(--green-dark);letter-spacing:.14em}
.hero{max-width:none;min-height:560px;padding:58px max(28px,calc((100% - var(--max))/2 + 28px));gap:42px}
.hero h1,.page-hero h1,.intro h2,.section-heading h2,.callout h2,.about-panel h2,.contact-panel h2,.service-row h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
.hero h1{font-size:clamp(43px,5.6vw,68px);line-height:1.12}
.hero-photo{height:430px;position:relative;overflow:hidden;margin:0;background:#eaf0f1;border:1px solid #dce4e5}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 8%}
.hero-photo:after{content:"";position:absolute;inset:auto 0 0;height:92px;background:linear-gradient(transparent,rgba(18,31,34,.48));pointer-events:none}
.hero-photo figcaption{position:absolute;z-index:1;left:20px;bottom:17px;color:#fff;font:italic 15px var(--serif);text-shadow:0 1px 5px rgba(0,0,0,.35)}
.intro{padding-top:82px;padding-bottom:78px}
.intro h2,.section-heading h2,.callout h2,.about-panel h2,.contact-panel h2{font-size:clamp(34px,4vw,48px)}
.section-lede{color:#52585b}
.services-preview{padding-top:28px;padding-bottom:86px}
.service-card{border:0;border-top:2px solid var(--green);background:#fff;box-shadow:none}
.service-card:hover{background:#f5fbfb;box-shadow:none}
.card-icon{background:#eaf7f8;color:var(--green-dark)}
.card-number{color:#747c80}
.card-link{color:var(--green-dark);text-transform:uppercase;letter-spacing:.04em}
.callout{background:var(--green);padding-top:54px;padding-bottom:54px}
.callout .eyebrow{color:#e7fbfc}
.callout p:not(.eyebrow){color:#f2fcfd}
.page-hero{background:#fff;border-bottom:1px solid #e5e7e8}
.page-hero h1{font-size:clamp(42px,5.6vw,64px)}
.service-row{border-bottom:1px solid #e5e7e8}
.row-number{color:var(--green-dark)}
.about-art{background:linear-gradient(135deg,#d5e5e7,#abcbd0 58%,#7aa8ae)}
.about-art:before,.about-art:after{border-color:rgba(7,122,135,.42)}

.contact-side{background:#f3f8f8}
.site-footer{border-top:1px solid #e5e7e8}
.copyright{border-top-color:#e5e7e8;color:#747c80}
@media(max-width:640px){
  .hero{min-height:0;padding:40px 22px 48px;gap:25px}
  .hero h1{font-size:44px}
  .hero-photo{height:330px}
  .intro{padding-top:59px;padding-bottom:55px}
  .services-preview{padding-bottom:62px}
  .page-hero{padding-top:65px;padding-bottom:52px}
}
