:root{--brand:#581070;--brand-hover:#7a2d96;--ink:#3e3e3e;--muted:#b9b9b9;--dark:#333;--line:#f7f7f7}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fff;color:var(--ink);font:16px/1.6 'Quattrocento Sans',Georgia,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--muted);text-decoration:none;transition:color .3s}
a:hover{color:var(--dark)}
h1,h2{font-family:'Quattrocento',Georgia,serif;color:#000;line-height:1.2;margin:0 0 15px}
.container{max-width:960px;margin:0 auto;padding:0 20px}
header{padding:40px 0 0;text-align:center}
.logo img{max-width:200px;height:auto;display:block;margin:0 auto 20px}
nav{padding:10px 0}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
nav a{display:block;padding:5px 15px;text-transform:uppercase;letter-spacing:.07em;font-size:14px;line-height:19px}
nav a[aria-current="page"],nav a:hover{color:var(--dark)}
.nav-toggle{display:none}
.banner{max-width:1115px;margin:20px auto 0;position:relative;min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:#4a6b57 url(images/banner.jpg) 50% 62%/cover no-repeat}
.banner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}
.banner h1{position:relative;color:#fff;text-transform:uppercase;font-size:38px;line-height:1.1;padding:50px 20px}
.banner h1 small{display:block;font-size:20px;margin-top:18px;letter-spacing:.05em}
main{padding:40px 0}
.btn{display:inline-block;padding:10px 26px;background:var(--brand);color:#fff;border:2px solid var(--brand);letter-spacing:.05em;text-transform:uppercase;font-size:14px}
.btn:hover{background:#fff;color:var(--brand)}
.center{text-align:center}
.social{margin:20px 0}
.social a{display:inline-block;margin:0 8px;color:var(--dark);font-size:15px;text-decoration:underline}
.map{width:100%;height:250px;border:0;margin:10px 0}
footer{border-top:2px solid var(--line);padding:30px 0;text-align:center;font-size:12px}
@media(max-width:700px){
  .nav-toggle{display:inline-block;background:none;border:0;font:inherit;font-size:14px;letter-spacing:.07em;text-transform:uppercase;color:var(--dark);padding:8px;cursor:pointer}
  nav ul{display:none;flex-direction:column}
  nav.open ul{display:flex}
  .banner h1{font-size:28px}
}

a.inline{color:var(--brand);text-decoration:underline}
a.inline:hover{color:var(--brand-hover)}
main ul{margin:0 0 1em;padding-left:1.4em}
main li{margin:.2em 0}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:2em 0}
.gallery img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block}
@media(max-width:700px){.gallery{grid-template-columns:repeat(2,1fr)}}
blockquote{margin:0 0 1.6em;padding:0 0 1.4em;border-bottom:2px solid var(--line)}
blockquote p{margin:0 0 .8em}
blockquote footer{font-weight:700;font-size:inherit;color:var(--dark);padding:0;border:0;text-align:left}
.contact-details h3{margin:1.2em 0 .2em;font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.contact-details p{margin:0 0 .6em}
.banner.services{background-image:url(images/banner-services.jpg);background-position:50% 55%}
