/* Approved logo: charcoal, white and architectural grey. */
:root{--brand-font:'Century Gothic','Avenir Next',Arial,sans-serif;--brand-ink:#191919;--brand-accent-ink:#333;--orange:#191919;--sunset-orange:#595959;--gold:#e8e8e8;--navy:#191919;--blue:#333;--line:#d4d4d4;--mist:#f5f5f5;--shadow:0 12px 36px rgba(0,0,0,.09)}
h1,h2,h3{font-weight:500;letter-spacing:-.025em}
.eyebrow{color:#333;font-size:.875rem;letter-spacing:.18em}
.eyebrow.light{color:#fff}
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.32) 55%,rgba(0,0,0,.6))}
.hero .brand{display:inline-flex;padding:0;background:transparent;text-shadow:none}
.approved-logo{display:block;position:relative;overflow:hidden;width:350px;max-width:100%;aspect-ratio:1000 / 430;background:transparent}
.approved-logo img{position:absolute;width:177.4%;max-width:none;height:auto;left:-39%;top:-53.4884%}
.hero .approved-logo img,.footer-brand .approved-logo img{filter:invert(1);}
.header-brand .approved-logo img{filter:none}
.footer-brand{display:inline-block;padding:0;background:transparent}
.footer-brand .approved-logo{
  width:280px;
  aspect-ratio:1260 / 530;
}
.footer-brand .approved-logo img{
  width:140.79365%;
  left:-20.47619%;
  top:-33.77358%;
}
.site-header a{font-weight:500}
.site-header a::after{height:1px;border-radius:0;background:#191919;box-shadow:none}
.site-header a:focus-visible{outline-color:#191919}
.button{background:#191919;color:#fff;border:1px solid #191919;border-radius:0;font-weight:600;letter-spacing:.04em}
.button:hover{background:#3c3c3c}
.cta .button{background:#fff;color:#191919;border-color:#fff}
.cta .button:hover{background:#e8e8e8}
.button:focus-visible,.quiz-nav button:focus-visible,.gallery-frame button:focus-visible{outline:3px solid #777;outline-offset:4px}
.quiz{background:#fff;border:1px solid var(--line);border-radius:0}
.quiz-nav{background:#f0f0f0;color:#333}
.quiz-nav .next{background:#191919;color:#fff;border-radius:0}
.quiz-nav .next:hover{background:#444}
.quiz-nav .back{color:#333}
.quiz-panel input[type=radio]:checked{border-color:#191919}
.input-label input{border-color:#b8b8b8;border-radius:0}
.input-label input:focus-visible{outline:2px solid #333;outline-offset:2px}
.success-mark,.benefits li::before,.pain-grid span{background:#191919;color:#fff}
.accordion details{border-color:var(--line);background:#fff;border-radius:0}
.accordion details[open]{border-color:#555}
.accordion details p{color:#444;background:#f5f5f5}
.accordion summary::after,.faq .intro,.familiar h3{color:#444}
.review-stars{color:#333}
.service-grid article,.testimonial-grid figure,.familiar .pain-grid p{background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.service-illustration{object-fit:cover;border-radius:0}
.gallery-frame button{background:rgba(25,25,25,.9);border:1px solid #fff;border-radius:0}
.gallery-frame button:hover{background:#444}
.gallery-frame button svg path{stroke:#fff}
.dots i{background:#bbb}
.dots i.active{background:#191919}
#gallery .gallery-frame{background:#eee}

/* Logo-inspired framing for the What We Do photography. */
.services .service-grid article{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.services .service-illustration{
  border:1px solid #191919;
  outline:1px solid #fff;
  outline-offset:-3px;
}
.services .service-grid h3{
  margin:22px 18px 10px;
}
.services .service-grid p{
  margin:0 18px;
}

/* Fine architectural frame shared by the site's content boxes. */
.quiz,
.testimonial-grid figure,
.familiar .pain-grid p,
.accordion details,
.gallery-frame,
.site-map{
  border:1px solid #191919;
  border-radius:0;
  outline:1px solid #fff;
  outline-offset:-3px;
}
.cta,footer{background:#191919;border-top:1px solid #555}
footer{color:#ddd}
.map-card{background:#eee;border-color:#ccc}
.pin{color:#333}
@media(max-width:600px){.hero .brand{max-width:100%;padding:0}.approved-logo{width:min(300px,72vw)}.hero h1{font-weight:500}}
