:root{color:#30241f;background:var(--red);font-synthesis:none;--ink:#30241f;--cream:#eadfc8;--paper:#f8efd9;--red:#5c2227;--gold:#b58a3f;--gold-light:#d0aa63;--line:#8d7658;font-family:Georgia,Times New Roman,serif;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0}a{color:inherit}img{max-width:100%;display:block}.shell{width:min(1120px,100% - 40px);margin-inline:auto}.site-header{z-index:2;background:var(--red);color:var(--paper);position:relative}.nav{border-bottom:1px solid var(--gold);justify-content:space-between;align-items:center;min-height:94px;display:flex}.brand,h1,h2,.contact-card h3{font-family:Georgia,Times New Roman,serif}.brand{letter-spacing:-.02em;font-size:1.6rem;font-style:italic;font-weight:700;text-decoration:none}.button{border:1px solid var(--gold);background:var(--gold);min-height:46px;color:var(--ink);justify-content:center;align-items:center;padding:.75rem 1.15rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.button:hover,.button.secondary:hover{background:var(--gold-light);transform:translateY(-2px)}.button.secondary{border-color:var(--gold);background:var(--gold);color:var(--ink)}.hero{border-bottom:1px solid var(--gold);background:var(--red);min-height:590px;color:var(--paper);align-items:center;padding-block:0;display:flex;position:relative;overflow:hidden}.hero-image{border:1px solid var(--gold);background:var(--paper);filter:sepia(.16)saturate(.82);object-fit:cover;width:min(32vw,380px);height:410px;padding:8px;position:absolute;inset:50% max(32px,50% - 560px) auto auto;transform:translateY(-50%)}.hero-shade{display:none}.hero-content{z-index:1;text-align:left;width:min(1120px,100% - 40px);max-width:none;padding:82px calc(38% + 64px) 82px 0;position:relative}h1,h2{margin:0;font-weight:700;line-height:.98}h1{letter-spacing:-.065em;max-width:none;font-size:clamp(4rem,9vw,7.6rem);font-style:italic;line-height:.88}h2{letter-spacing:-.045em;font-size:clamp(2.8rem,5vw,4.6rem);font-style:italic}.strapline{max-width:580px;margin:1.35rem 0 0;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:700}.hero-description{max-width:600px;color:var(--cream);margin:1rem 0 0;font-size:1.05rem}.actions{flex-wrap:wrap;justify-content:flex-start;gap:.75rem;margin-top:2rem;display:flex}section{padding-block:clamp(74px,10vw,120px)}#services{background:var(--paper);text-align:center}.section-heading{max-width:720px;margin-inline:auto}.section-intro{max-width:620px;margin:1.5rem auto 0;font-size:1.08rem}.services-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:2rem auto 0;padding:0;font-size:1.08rem;list-style:none;display:grid}.services-list li{border-bottom:1px solid var(--line);padding:1rem}.services-list li:nth-child(odd):not(:last-child){border-right:1px solid var(--line)}.services-list li:last-child{grid-column:1/-1;justify-self:center;width:50%}.gallery-section{background:var(--ink);color:var(--paper);text-align:center}.gallery{grid-template-columns:.8fr 1.2fr;align-items:center;gap:18px;margin-top:3.5rem;display:grid}.photo{margin:0}.photo img{border:1px solid var(--gold);filter:sepia(.16)saturate(.82);width:100%;height:auto;padding:8px}figcaption{color:#cabd9f;margin-top:.75rem;font-size:.9rem;font-style:italic}#contact{background:var(--paper);text-align:center}.contact-grid{border:1px solid var(--line);grid-template-columns:1fr 1fr 1.3fr;gap:0;margin-top:3.5rem;display:grid}.contact-card{border-right:1px solid var(--line);padding:1.8rem}.contact-card:last-child{border-right:0}.contact-card h3{color:var(--red);margin:0 0 1.25rem;font-size:1.25rem}.phone{text-decoration-color:var(--gold);text-underline-offset:5px;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:700;text-decoration-thickness:3px}address{font-style:normal}.text-link{color:#7a3137;margin-top:1rem;font-weight:700;display:inline-block}.hours{gap:.65rem;margin:0;display:grid}.hours div{justify-content:space-between;gap:1rem;display:flex}.hours dt,.hours dd{white-space:nowrap;margin:0}.hours dd{text-align:right}.reviews{justify-content:center;align-items:center;gap:.75rem;margin-top:4rem;font-weight:700;text-decoration:none;display:inline-flex}.stars{color:#7a3137;letter-spacing:.12em}.site-footer{border-top:1px solid var(--gold);background:var(--red);color:var(--cream);padding:34px 0;font-size:.86rem}.footer-inner{justify-content:space-between;gap:1rem;display:flex}a:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}@media (width<=900px){.hero-image{width:min(34vw,320px);height:360px}.hero-content{padding-right:calc(38% + 28px)}.contact-grid{grid-template-columns:1fr 1fr}.contact-card:nth-child(2){border-right:0}.contact-card:last-child{border-top:1px solid var(--line);grid-column:1/-1}}@media (width<=680px){.shell{width:min(100% - 28px,1120px)}.nav{min-height:74px}.brand{font-size:1.35rem}.nav .button{min-height:42px;padding:.55rem .8rem}.hero{flex-direction:column;min-height:0}.hero-content{text-align:center;order:1;width:min(100% - 28px,1120px);padding:58px 0 42px}.hero-image{order:2;width:min(270px,100% - 28px);height:230px;margin:0 auto 58px;position:relative;inset:auto;transform:none}h1{font-size:clamp(3.4rem,16vw,5.2rem)}.strapline,.hero-description{margin-inline:auto}.actions{justify-content:center}.services-list,.gallery,.contact-grid{grid-template-columns:1fr}.services-list li:nth-child(odd):not(:last-child){border-right:0}.services-list li:last-child{grid-column:auto;width:100%}.gallery{gap:2rem;margin-top:2.5rem}.contact-card,.contact-card:nth-child(2),.contact-card:last-child{border-top:0;border-right:0;border-bottom:1px solid var(--line);grid-column:auto}.contact-card:last-child{border-bottom:0}.footer-inner{flex-direction:column}}@media (width<=380px){.hours div{flex-direction:column;gap:.1rem}.hours dd{text-align:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
