/* A simpler, more practical renovation-company presentation. */
:root {
  --ink: #18252d;
  --green: #202c33;
  --moss: #aebbc0;
  --cream: #f5f2ec;
  --line: #d7d5d0;
  --orange: #741b27;
  --white: #fff;
}
body { background: var(--cream); }
h1, h2 { letter-spacing: -.035em; }
h1 { font-size: clamp(58px, 7vw, 96px); }
.site-header { border-bottom: 1px solid var(--line); }
.site-header { height: 138px; padding-left: 5.5vw; }
.site-header > .brand { align-self: stretch; flex: 0 0 180px; display: flex; padding: 9px 22px 9px 0; overflow: hidden; }
.site-header .brand-logo { display: block; width: 158px; max-width: 158px; height: 117px; max-height: 117px; object-fit: contain; }
.footer-logo { width: 205px; height: auto; }
.footer-brand { display: inline-flex; width: fit-content; padding: 0; background: transparent; }
.hero { height: 670px; min-height: 0; }
.hero-shade { background: linear-gradient(90deg, rgba(17,28,34,.9), rgba(17,28,34,.56) 46%, rgba(17,28,34,.12) 78%); }
.hero-content { padding-top: 9vh; }
.hero-image { object-position: center 53%; }
.intro, .process { padding-top: 85px; padding-bottom: 85px; }
.services { margin-bottom: 85px; }
.service-card { min-height: 330px; }
.service-card.featured, .service-card:hover { transform: none; }
.work { padding-top: 85px; padding-bottom: 85px; }
.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 22px; }
.project-wide { grid-column: 1 / -1; }
.project-grid .project-card img { width: 100%; height: 430px; object-fit: cover; }
.project-grid .project-wide img { height: min(50vw, 600px); }
.project-grid .project-card:nth-child(2) img { object-position: center 58%; }
.project-grid .project-card:nth-child(3) img { object-position: center 72%; }
.project-grid .project-info { padding-bottom: 22px; }
.stats strong { font-size: 30px; }
.contact { background: #e5e8e8; }
.contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 28px; }
.contact-copy .contact-links a { margin-top: 0; overflow-wrap: anywhere; }
.contact-form { background: #741b27; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #e5d6d8; }
.nav-cta, .button-dark { background: #741b27; }
.nav-cta:hover, .button-dark:hover { background: #8d2936; }
.button-light:hover { background: #741b27; }
.service-card.featured, .service-card:hover, .work { background: #202c33; border-color: #202c33; }
.stats strong, .service-icon { color: #b9c5c9; }
footer { background: var(--cream); color: #4f5a60; border-top: 7px solid #741b27; }
footer a { color: var(--ink); }
.footer-brand { color: var(--ink); }
footer { padding-top: 40px; padding-bottom: 40px; }
@media (max-width: 800px) { .site-header { height: 108px; padding-left: 5vw; } .site-header > .brand { flex-basis: 138px; padding: 8px 16px 8px 0; } .site-header .brand-logo { width: 122px; max-width: 122px; height: 90px; max-height: 90px; } .site-header nav { top: 108px; } .hero { height: 650px; } .project-grid { grid-template-columns: 1fr; } .project-wide { grid-column: auto; } .project-grid .project-card img, .project-grid .project-wide img { height: 360px; } }
@media (max-width: 480px) { h1 { font-size: 52px; } .contact-copy h2 { font-size: 44px; } }
