:root{--ink:#241a14;--espresso:#17110d;--cream:#f0e3cf;--tan:#d8c5aa;--leather:#9a6840;--red:#8b382f;--line:rgba(240,227,207,.28);--sans:"DM Sans",sans-serif;--display:"Oswald",sans-serif;--serif:"Playfair Display",serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}.skip-link{position:fixed;left:1rem;top:-4rem;background:var(--cream);padding:.5rem 1rem;color:var(--ink);z-index:10}.skip-link:focus{top:1rem}.site-header{height:81px;background:var(--espresso);display:flex;align-items:center;padding:0 clamp(1.25rem,5vw,5.5rem);color:var(--cream);position:relative;z-index:5}.brand{display:flex;gap:.7rem;align-items:center;color:inherit;text-decoration:none;line-height:.9;text-transform:uppercase}.brand-star{font-size:1.45rem;color:var(--red)}.brand strong{font:600 1.55rem var(--display);letter-spacing:.025em;display:block}.brand em{font:500 .66rem var(--mono);letter-spacing:.19em;font-style:normal;color:var(--tan)}nav{margin-left:auto;display:flex;align-items:stretch;height:81px;gap:clamp(1rem,2.6vw,3.1rem)}nav a{color:var(--cream);text-decoration:none;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;align-self:center;border-bottom:1px solid transparent;transition:border .2s}nav a:not(.nav-call):hover{border-color:var(--tan)}.nav-call{padding-left:clamp(1rem,2vw,2.7rem);border-left:1px solid var(--line)}.nav-call span{color:var(--tan);font-size:1.1rem;margin-left:.3rem}.menu-toggle{display:none}.hero{height:min(760px,calc(100vh - 81px));min-height:620px;position:relative;overflow:hidden;background:var(--espresso);color:var(--cream)}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,17,13,.7) 0%,rgba(23,17,13,.17) 57%,rgba(23,17,13,.5) 100%)}.hero-copy{position:absolute;left:clamp(1.25rem,8vw,9rem);top:50%;transform:translateY(-48%);max-width:700px}.overline,.section-label{font:500 .7rem var(--mono);letter-spacing:.11em;text-transform:uppercase}.overline{display:flex;align-items:center;gap:.65rem}.overline span{width:34px;height:1px;background:var(--tan);display:inline-block}.overline b{font-size:1.1rem;font-weight:400;color:var(--leather)}h1,h2,p{margin-top:0}h1{font-family:var(--display);text-transform:uppercase;line-height:.83;letter-spacing:-.035em;font-weight:500;font-size:clamp(4rem,8.25vw,8.4rem);margin:2rem 0 2.8rem}h1 span,h1 strong{display:block}h1 strong{font-weight:600}.fair{font-size:.67em;margin-left:.6em;color:var(--tan)}h1 i{font:500 .94em var(--serif);letter-spacing:-.07em;text-transform:none;color:var(--cream)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.8rem;min-height:52px;padding:0 1.15rem;font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid currentColor;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translate(-3px,-3px)}.button span{font:1.1rem var(--sans)}.button-light{color:var(--espresso);background:var(--cream)}.hero-side-note{position:absolute;right:clamp(1.25rem,4vw,5rem);bottom:2.4rem;text-align:right;font:400 .63rem var(--mono);letter-spacing:.08em;line-height:1.7;text-transform:uppercase}.scroll-cue{position:absolute;bottom:2.2rem;left:clamp(1.25rem,5vw,5.5rem);color:var(--cream);text-decoration:none;text-transform:uppercase;font:400 .61rem var(--mono);letter-spacing:.08em;display:flex;align-items:center;gap:.7rem}.scroll-cue span{display:block;height:28px;width:1px;background:var(--cream)}.intro{padding:clamp(4rem,9vw,10rem) clamp(1.25rem,8vw,9rem) clamp(4rem,8vw,8rem);display:grid;grid-template-columns:25% 1fr;gap:2rem}.intro-kicker{font:500 .67rem var(--mono);letter-spacing:.08em;text-transform:uppercase;display:flex;gap:.8rem;align-items:flex-start}.intro-kicker span{height:1px;width:36px;margin-top:.5em;background:var(--leather)}.intro-statement{max-width:820px}.script{font:500 clamp(1.5rem,2.5vw,2.5rem) var(--serif);margin-bottom:.2rem}.intro-main{font-size:clamp(1.75rem,3.15vw,3.5rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:3.5rem}.intro-footer{border-top:1px solid rgba(36,26,20,.3);padding-top:1.05rem;display:flex;justify-content:space-between;align-items:end;font:400 .68rem var(--mono);letter-spacing:.04em;line-height:1.7}.intro-footer a{color:var(--ink);text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.25rem}.intro-footer b{font:1.2rem var(--sans);margin-left:.7rem}.about-band{display:grid;grid-template-columns:minmax(0,1fr) 31%;background:var(--ink);color:var(--cream);padding-left:clamp(1.25rem,17vw,18rem)}.about-copy{padding:clamp(4rem,8vw,8.5rem) clamp(2rem,8vw,9rem) clamp(4rem,7vw,7rem) 0;max-width:790px}.section-label{color:var(--leather);margin-bottom:2rem}.about-copy h2,.price-heading h2,.hours-title h2,.quotes h2,.find-content h2{font:500 clamp(3.3rem,5.5vw,6.2rem) /.85 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin-bottom:2.8rem}.about-copy h2 i,h2 i{font:500 .86em var(--serif);text-transform:none;letter-spacing:-.08em;color:var(--tan)}.about-copy>p:not(.section-label){max-width:580px;font-size:1rem;line-height:1.8;color:#dbcbb7}.lone-star-note{border-left:1px solid var(--line);padding:clamp(3rem,7vw,7rem) 2rem;display:flex;flex-direction:column;justify-content:center}.lone-star-note>span{font-size:2rem;color:var(--red)}.lone-star-note p{font:600 clamp(2rem,4vw,4rem)/.83 var(--display);text-transform:uppercase;letter-spacing:-.02em;margin:1.5rem 0}.lone-star-note small{font:400 .62rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--tan)}.price-section{background:var(--tan);padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,11rem);align-items:start}.price-heading{position:sticky;top:2rem}.price-heading h2{color:var(--ink);margin-bottom:2rem}.price-heading>p:last-child{font-size:.9rem;line-height:1.7}.price-board{border:1px solid rgba(36,26,20,.7);padding:0 1.8rem;background:#e4d1b6;box-shadow:9px 9px 0 rgba(36,26,20,.18)}.board-top,.board-bottom{display:flex;justify-content:space-between;padding:1rem 0;font:500 .61rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.board-top{border-bottom:2px solid var(--ink)}.board-bottom{justify-content:center;gap:.8rem;border-top:2px solid var(--ink)}.board-bottom span{color:var(--red)}.service{padding:1.35rem 0;border-bottom:1px solid rgba(36,26,20,.35);display:flex;justify-content:space-between;align-items:baseline;font:500 clamp(1.1rem,1.9vw,1.6rem) var(--display);text-transform:uppercase;letter-spacing:.01em}.service small{font:400 .58rem var(--mono);display:block;text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem}.service b{font:500 1.05em var(--serif)}.chair-break{background:var(--espresso);min-height:550px;position:relative;display:grid;grid-template-columns:62% 1fr;color:var(--cream)}.chair-photo,.find-photo{background:url(hero.png) center center/cover no-repeat}.chair-photo{clip-path:polygon(0 0,100% 0,88% 100%,0 100%);background-position:58% center}.chair-caption{padding:5rem 2rem;display:flex;flex-direction:column;justify-content:flex-end}.chair-caption span{font:.65rem var(--mono);color:var(--leather)}.chair-caption p{font:500 clamp(2.4rem,4.3vw,4.5rem)/.85 var(--display);text-transform:uppercase;letter-spacing:-.04em;margin:1.3rem 0}.chair-caption i{font:500 .85em var(--serif);color:var(--tan);text-transform:none}.hours-section{padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,10vw,10rem)}.hours-title .status{font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.04em}.status b{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:.4rem}.hours-table>div{padding:1.1rem 0;border-top:1px solid rgba(36,26,20,.3);display:flex;justify-content:space-between;font-size:.9rem}.hours-table>div:nth-last-of-type(1){border-bottom:1px solid rgba(36,26,20,.3)}.hours-table b{font-weight:500}.hours-table>p{max-width:460px;margin:2rem 0 0;font:400 .76rem/1.7 var(--mono)}.quotes{background:var(--red);color:var(--cream);padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,10vw,10rem)}.quotes .section-label{color:var(--tan)}.quotes h2{margin-bottom:2.5rem}.quotes h2 i{color:var(--cream)}.quotes-heading>p:last-child{font:.7rem var(--mono);letter-spacing:.04em}.quotes-heading>p:last-child span{color:var(--tan);margin-left:.6rem}.quote-list{border-top:1px solid var(--line)}blockquote{font:500 clamp(1.2rem,2vw,1.75rem)/1.35 var(--serif);margin:0;padding:2rem 0;border-bottom:1px solid var(--line)}blockquote footer{font:400 .63rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:1.4rem;color:var(--tan)}blockquote footer span{margin-left:1.2rem;color:var(--cream)}.find-us{background:var(--cream);display:grid;grid-template-columns:46% 1fr;min-height:600px}.find-photo{background-position:70% center}.find-content{padding:clamp(4rem,8vw,8rem) clamp(2rem,9vw,9rem)}.find-content h2{margin-bottom:3.8rem}.contact-grid{border-top:1px solid rgba(36,26,20,.3);display:grid;grid-template-columns:1fr 1fr;margin-bottom:2.5rem}.contact-grid>div{padding:1.2rem 1rem 1.2rem 0}.contact-grid>div+div{border-left:1px solid rgba(36,26,20,.3);padding-left:1.3rem}.contact-grid span{font:500 .6rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--leather)}.contact-grid p,.contact-grid a{font-size:.9rem;line-height:1.65;margin:.45rem 0 0;color:var(--ink);text-decoration:none}.button-dark{background:var(--ink);color:var(--cream)}footer{background:var(--espresso);color:var(--cream);padding:4rem clamp(1.25rem,5vw,5.5rem) 1.3rem}.footer-top{display:grid;grid-template-columns:1fr 1.25fr auto;gap:3rem;align-items:center;padding-bottom:4rem}.footer-brand span{color:var(--red);font-size:1.8rem}.footer-brand strong{font:600 2.6rem/.8 var(--display);text-transform:uppercase;display:block}.footer-brand em{font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--tan);font-style:normal}.footer-top p{font:500 1.1rem/1.5 var(--serif);margin:0}.footer-top p span{font:400 .68rem var(--mono);letter-spacing:.05em;color:var(--tan)}.footer-top>a{color:var(--cream);text-decoration:none;text-transform:uppercase;font:.7rem var(--mono);letter-spacing:.08em;border-bottom:1px solid var(--cream);padding-bottom:.4rem}.footer-top>a b{font:1.1rem var(--sans);margin-left:.5rem}.footer-bottom{border-top:1px solid var(--line);padding-top:1.2rem;display:flex;justify-content:space-between;gap:2rem;font:.58rem var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tan)}
@media(max-width:800px){.site-header{height:70px;padding:0 1.25rem}.brand strong{font-size:1.35rem}nav{position:absolute;display:none;top:70px;left:0;right:0;height:auto;background:var(--espresso);padding:1.2rem;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}nav.open{display:flex}nav a{align-self:auto;padding:1rem 0;border-bottom:1px solid var(--line)}.nav-call{padding-left:0;border-left:none}.menu-toggle{display:grid;grid-template-columns:15px auto;gap:3px 9px;align-items:center;margin-left:auto;background:transparent;border:0;color:var(--cream);font:.6rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.menu-toggle span{display:block;width:15px;height:1px;background:var(--cream)}.menu-toggle i{font-style:normal;grid-row:1/4;grid-column:2}.hero{height:calc(100svh - 70px);min-height:590px}.hero>img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(23,17,13,.72),rgba(23,17,13,.17) 72%),linear-gradient(0deg,rgba(23,17,13,.25),transparent)}.hero-copy{left:1.25rem;right:1.25rem;top:45%}.overline{font-size:.58rem;gap:.42rem}.overline span{width:21px}.overline b{font-size:.8rem}.hero-side-note{right:1.25rem;font-size:.55rem;bottom:1.8rem}.scroll-cue{left:1.25rem;bottom:1.6rem;font-size:.54rem}.intro{grid-template-columns:1fr;padding:4.5rem 1.25rem;gap:2.5rem}.intro-main{font-size:1.8rem;margin-bottom:2.8rem}.intro-footer{font-size:.59rem}.about-band{grid-template-columns:1fr;padding-left:1.25rem}.about-copy{padding:4.5rem 1.25rem 3rem 0}.about-copy h2,.price-heading h2,.hours-title h2,.quotes h2,.find-content h2{font-size:3.7rem}.lone-star-note{border-left:0;border-top:1px solid var(--line);padding:2rem 1.25rem 2.5rem 0;flex-direction:row;gap:1rem;align-items:center}.lone-star-note p{font-size:2.5rem;margin:0}.lone-star-note small{margin-left:auto}.price-section{grid-template-columns:1fr;padding:4.5rem 1.25rem;gap:3rem}.price-heading{position:static}.price-board{padding:0 1.1rem;box-shadow:6px 6px 0 rgba(36,26,20,.18)}.service{font-size:1.2rem;padding:1.1rem 0}.chair-break{min-height:535px;grid-template-columns:1fr}.chair-photo{height:310px;clip-path:none;background-position:58% center}.chair-caption{padding:2.5rem 1.25rem;justify-content:flex-start}.chair-caption p{font-size:3.2rem}.hours-section,.quotes{grid-template-columns:1fr;padding:4.5rem 1.25rem;gap:3rem}.hours-table>div{font-size:.78rem}.quotes h2{margin-bottom:1.6rem}.find-us{grid-template-columns:1fr}.find-photo{min-height:330px;background-position:64% center}.find-content{padding:4.5rem 1.25rem}.contact-grid{grid-template-columns:1fr}.contact-grid>div+div{border-left:0;border-top:1px solid rgba(36,26,20,.3);padding-left:0}.footer-top{grid-template-columns:1fr;gap:2.2rem;padding-bottom:3rem}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}.footer-brand strong{font-size:2.3rem}}
@media(max-width:390px){h1{font-size:3.7rem}.hero-side-note{display:none}.intro-footer{gap:1rem}.intro-footer a{white-space:nowrap}.lone-star-note small{font-size:.52rem}.service{font-size:1.05rem}.service b{padding-left:.5rem}}

/* Customer notes continue the warm paper-and-ink treatment rather than introducing a new color block. */
.quotes{background:var(--cream);color:var(--ink);border-top:1px solid rgba(36,26,20,.3)}
.quotes .section-label{color:var(--leather)}
.quotes h2 i{color:var(--leather)}
.quotes-heading>p:last-child span{color:var(--red)}
.quote-list{border-top-color:rgba(36,26,20,.3)}
blockquote{border-bottom-color:rgba(36,26,20,.3)}
blockquote footer{color:var(--leather)}
blockquote footer span{color:var(--ink)}

/* The transparent mark is printed directly on the cream header and footer paper. */
.site-header{height:112px;background:var(--cream);color:var(--ink)}
.brand{height:96px;display:flex;align-items:center}
.brand img{display:block;width:94px;height:94px;object-fit:contain}
.site-header nav{height:112px}
.site-header nav a{color:var(--ink)}
.site-header nav a:not(.nav-call):hover{border-color:var(--leather)}
.site-header .nav-call{border-left-color:rgba(36,26,20,.25)}
.site-header .nav-call span{color:var(--red)}
.hero{height:min(760px,calc(100vh - 112px))}
footer{background:var(--cream);color:var(--ink);border-top:1px solid rgba(36,26,20,.3)}
.footer-brand img{display:block;width:150px;height:150px;object-fit:contain}
.footer-top p span,.footer-bottom{color:var(--leather)}
.footer-top>a{color:var(--ink);border-bottom-color:var(--ink)}
.footer-bottom{border-top-color:rgba(36,26,20,.3)}
@media(max-width:800px){.site-header{height:82px}.brand{height:76px}.brand img{width:76px;height:76px}.site-header nav{top:82px;height:auto}.menu-toggle{color:var(--ink)}.menu-toggle span{background:var(--ink)}.hero{height:calc(100svh - 82px)}}

/* Hero refinements: preserve the statement's scale while keeping the shop visible as an equal part of the composition. */
.hero-shade{background:linear-gradient(90deg,rgba(23,17,13,.72) 0%,rgba(23,17,13,.2) 42%,rgba(23,17,13,.1) 64%,rgba(23,17,13,.37) 100%)}
h1 .fair{font-size:.63em;line-height:.8;margin:.18em 0 .27em .78em}
h1 strong:last-of-type{font-size:.9em;letter-spacing:-.05em}
.hero .button{min-height:43px;padding:0 .85rem;gap:1.8rem;font-size:.63rem;letter-spacing:.14em;box-shadow:4px 4px 0 var(--leather)}

.map-section{background:var(--tan);display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;border-top:1px solid rgba(36,26,20,.3)}
.map-heading{padding:clamp(3rem,6vw,6rem) clamp(1.25rem,5vw,5.5rem);display:flex;flex-direction:column;align-items:flex-start}
.map-heading .section-label{margin-bottom:1.35rem}.map-heading>p:not(.section-label){font:500 clamp(1.25rem,2vw,1.8rem)/1.35 var(--serif);margin-bottom:2.5rem}
.map-heading a{margin-top:auto;color:var(--ink);font:500 .65rem var(--mono);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.35rem}.map-heading a span{font:1rem var(--sans);margin-left:.4rem}
.map-section iframe{width:100%;min-height:385px;border:0;filter:saturate(.72) sepia(.08) contrast(.96)}
@media(max-width:800px){.map-section{grid-template-columns:1fr}.map-heading{padding:3.5rem 1.25rem}.map-heading>p:not(.section-label){margin-bottom:2rem}.map-section iframe{min-height:330px}}

/* Restore contrast through the lower half of the page: dark hours, paper reviews, tan directions, dark map. */
.hours-section{background:var(--espresso);color:var(--cream)}
.hours-title .section-label{color:var(--leather)}
.hours-title h2{color:var(--cream)}
.hours-title .status{color:var(--tan)}
.hours-table>div{border-color:var(--line)}
.hours-table>div:nth-last-of-type(1){border-bottom-color:var(--line)}
.hours-table>p{color:var(--tan)}
.find-us{background:var(--tan)}
.map-section{background:var(--espresso);color:var(--cream);border-top-color:rgba(240,227,207,.22)}
.map-heading .section-label{color:var(--leather)}
.map-heading>p:not(.section-label){color:var(--cream)}
.map-heading a{color:var(--cream);border-bottom-color:var(--cream)}
.map-section iframe{filter:saturate(.52) sepia(.18) brightness(.83) contrast(1.06)}

/* A tighter editorial rhythm: retain the large moments, remove excess vertical dwell time. */
.intro{padding-block:clamp(3.5rem,6vw,6.5rem)}
.about-copy{padding-block:clamp(3.5rem,5.5vw,5.75rem)}
.price-section{padding-block:clamp(3.5rem,6vw,6.5rem)}
.chair-break{min-height:470px}
.chair-caption{padding-block:3.5rem}
.hours-section{padding-block:clamp(3.5rem,6vw,6.5rem)}
.quotes{padding-block:clamp(3.5rem,5.5vw,5.75rem)}
blockquote{padding-block:1.45rem}
.find-us{min-height:520px}
.find-content{padding-block:clamp(3.5rem,6vw,6.5rem)}
.map-heading{padding-block:clamp(2.75rem,4vw,4.25rem)}
.map-section iframe{min-height:330px}
footer{padding-top:2.75rem}
.footer-top{padding-bottom:2.75rem}
@media(max-width:800px){.intro,.price-section,.hours-section,.quotes{padding-block:3.25rem}.about-copy{padding-block:3.25rem 2.5rem}.chair-break{min-height:470px}.chair-caption{padding-block:2rem}.find-content{padding-block:3.25rem}.find-photo{min-height:285px}.map-heading{padding-block:2.75rem}.map-section iframe{min-height:285px}footer{padding-top:2.5rem}.footer-top{padding-bottom:2.5rem}}

/* Pricing is a centered introduction beside a deliberately compact rate sheet. */
.price-section{grid-template-columns:minmax(280px,.85fr) minmax(500px,720px);justify-content:space-between;align-items:center;gap:clamp(3rem,7vw,7rem)}
.price-heading{position:static;align-self:center}
.price-heading h2{margin-bottom:1.6rem}
.price-heading h2 i{color:var(--leather)}
.price-board{width:100%;max-width:720px;justify-self:end}
@media(max-width:800px){.price-section{grid-template-columns:1fr;gap:2.75rem}.price-heading h2{margin-bottom:1.35rem}.price-board{max-width:none;justify-self:stretch}}

/* Compact the price list into a true rate sheet rather than a full-height feature block. */
.price-section{grid-template-columns:minmax(280px,.85fr) minmax(440px,590px);padding-block:clamp(2.75rem,4.5vw,4.75rem)}
.price-heading h2{font-size:clamp(3.2rem,4.2vw,4.8rem)}
.price-board{max-width:590px;padding-inline:1.25rem;box-shadow:6px 6px 0 rgba(36,26,20,.18)}
.board-top,.board-bottom{padding-block:.72rem}
.service{padding-block:.8rem;font-size:clamp(1rem,1.45vw,1.25rem)}
.service small{font-size:.52rem;margin-top:.12rem}
@media(max-width:800px){.price-section{grid-template-columns:1fr;padding-block:3.25rem}.price-board{max-width:none}.service{padding-block:.95rem;font-size:1.1rem}}

/* Single-review carousel keeps the testimonial area focused and scannable. */
.quotes{align-items:center}
.quotes-heading{align-self:center}
.quote-carousel{align-self:center}
.quote-list{min-height:178px}
.quote-slide{display:none;margin:0;padding:1.45rem 0;border-bottom:1px solid rgba(36,26,20,.3)}
.quote-slide.is-active{display:block;animation:quote-in .28s ease-out}
.quote-controls{display:flex;align-items:center;gap:.85rem;margin-top:1.35rem}
.quote-controls p{margin:0;font:500 .66rem var(--mono);letter-spacing:.08em;color:var(--leather)}
.quote-controls p i{font-style:normal;color:var(--ink);margin-inline:.15rem}
.quote-control{display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid var(--ink);background:transparent;color:var(--ink);font:1rem var(--sans);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.quote-control:hover,.quote-control:focus-visible{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
@keyframes quote-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:800px){.quote-list{min-height:172px}.quote-slide{padding-block:1.2rem}}

/* Stacked testimonial layout with quiet, printed-style carousel controls. */
.quotes{display:block;text-align:center;padding-block:clamp(3.25rem,5vw,5.25rem)}
.quotes-heading{max-width:590px;margin:0 auto 2.8rem}
.quotes .section-label{margin-bottom:1.25rem}
.quotes h2{margin-bottom:1.35rem}
.quote-carousel{max-width:870px;margin:0 auto}
.quote-list{min-height:150px;border-top:1px solid rgba(36,26,20,.3)}
.quote-slide{padding:1.55rem 1rem;text-align:center}
.quote-slide footer{display:flex;justify-content:center;align-items:center}
.quote-controls{justify-content:center;gap:1.45rem;margin-top:1.55rem}
.quote-dots{display:flex;align-items:center;gap:.85rem}
.quote-dot{width:10px;height:10px;padding:0;border:1px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.quote-dot.is-active{background:var(--ink)}
.quote-dot:hover,.quote-dot:focus-visible{transform:scale(1.18);outline-offset:3px}
.quote-control{width:44px;height:44px;border-radius:50%;font-size:1.15rem}
@media(max-width:800px){.quotes{padding-block:3.25rem}.quotes-heading{margin-bottom:2.2rem}.quote-list{min-height:165px}.quote-controls{gap:1.1rem}.quote-dots{gap:.65rem}}

.quote-list,.quote-slide{border-color:transparent}
.quote-slide footer{font:500 .82rem var(--sans);letter-spacing:.045em;color:var(--leather)}

/* Photo sequence: a fresh chair view in the brown break, then the wide shop view at Find Us. */
.chair-photo{background-image:url(image-1.png);background-position:center;background-size:cover;background-repeat:no-repeat;background-color:var(--espresso)}

/* Compact laptop view: preserve the desktop composition without letting cream sections consume a full short viewport. */
@media(min-width:801px) and (max-width:1440px) and (max-height:850px){
  .intro{padding-block:3.25rem}
  .intro-main{margin-bottom:2.35rem}
  .quotes{padding-block:2.75rem}
  .quotes-heading{margin-bottom:1.8rem}
  .quote-list{min-height:120px}
  .quote-slide{padding-block:1rem}
  .quote-controls{margin-top:1rem}
}

/* Keep carousel controls stable between differently sized reviews, with horizontal swipe on touch screens. */
.quote-carousel{touch-action:pan-y}
.quote-list{height:220px;min-height:0}
.quote-slide.is-active{height:100%;display:flex;flex-direction:column;justify-content:center}
@media(max-width:800px){.quote-list{height:260px;min-height:0}.quote-slide.is-active{height:100%}}

.footer-top{position:relative}
.footer-top p{position:absolute;left:50%;transform:translateX(-50%);width:max-content;max-width:52%;text-align:center;justify-self:auto}
.footer-top>a{grid-column:3;justify-self:end}
.footer-bottom a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:800px){.footer-top p{position:static;transform:none;width:auto;max-width:none;justify-self:auto}.footer-top>a{grid-column:auto;justify-self:start}}
.find-photo{background-image:url(hero.png);background-position:70% center}

/* Final proportion pass: reduce cream-section dwell time and keep display type intentional at compact widths. */
.intro{padding-block:clamp(3.25rem,5vw,5.5rem)}
.quotes{padding-block:clamp(3rem,4.25vw,4.5rem)}
.quotes-heading{margin-bottom:2.35rem}
.quote-slide{font-size:clamp(1.25rem,1.85vw,1.65rem);line-height:1.4}
.quote-controls{margin-top:1.2rem}
.quote-control,.quote-dot{border-width:1px}
@media(max-width:800px){
  .intro{padding-block:3rem}
  .quotes{padding-block:3rem}
  .about-copy h2,.hours-title h2,.find-content h2{font-size:clamp(3.05rem,14vw,3.45rem)}
  .price-heading h2{font-size:clamp(2.9rem,13.5vw,3.2rem)}
  .quotes h2{font-size:clamp(3.2rem,14vw,3.55rem)}
  .quote-slide{font-size:1.2rem;line-height:1.42}
}

/* Keyboard focus and touch targets remain visible across the light and dark bands. */
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.site-header :focus-visible,.hero :focus-visible,.hours-section :focus-visible,.map-section :focus-visible,footer :focus-visible{outline-color:var(--cream)}
.menu-toggle{min-width:44px;min-height:44px;padding:0}
.hours-table table{width:100%;border-collapse:collapse}
.hours-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hours-table th,.hours-table td{padding:1.1rem 0;border-top:1px solid var(--line);font-size:.9rem}
.hours-table tr:last-child th,.hours-table tr:last-child td{border-bottom:1px solid var(--line)}
.hours-table th{text-align:left;font-weight:400}
.hours-table td{text-align:right;font-weight:500}
.intro-footer address,.contact-grid address,.map-heading address{font-style:normal}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:800px){.hours-table th,.hours-table td{font-size:.78rem}}

/* Small supporting text uses WCAG AA-compliant contrast on every color band. */
.section-label,.price-heading h2 i,.quotes .section-label,.quote-slide footer,.contact-grid span,.footer-top p span,.footer-bottom{color:var(--ink)}
.about-band .section-label,.hours-title .section-label,.chair-caption span,.map-heading .section-label{color:var(--tan)}
