/* One consistent set of dimensions for the connected mark and wordmark. */
header{min-height:92px;height:auto;padding:18px 5%;gap:28px}
header .brand,footer .brand{display:flex;align-items:center;gap:14px;line-height:1.15;flex:0 0 auto}
header .connected-mark,footer .connected-mark{display:flex;align-items:center;justify-content:center;width:65px;height:54px;padding:0;border:0;line-height:1;font-size:0;letter-spacing:0;flex:0 0 65px}
header .connected-mark img,footer .connected-mark img{display:block;width:65px;height:54px;max-height:none;object-fit:contain;padding:0;border-radius:0;background:transparent}
header .brand>span:last-child{font-size:15px;letter-spacing:.15em;white-space:nowrap}
header .brand small{font-size:9px;letter-spacing:.12em;margin-top:7px}
header nav{gap:22px;margin-left:auto;white-space:nowrap}
header nav a{font-size:13px}
footer .brand{align-self:start}
footer .connected-mark{background:var(--cream);border-radius:4px}
footer .connected-mark img{width:57px;height:48px}
@media(max-width:1100px){
 header{position:relative;z-index:4;min-height:84px;padding:15px 5%}
 header .menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:10px 16px;font-size:13px;margin-left:auto}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px 5%;background:var(--cream);box-shadow:0 12px 15px #0001;white-space:normal;margin:0}
 header nav.open{display:flex;flex-wrap:wrap;gap:20px}
}
@media(max-width:650px){
 header{min-height:78px;padding:13px 6%;gap:12px}
 header .brand,footer .brand{gap:10px}
 header .connected-mark,footer .connected-mark{width:53px;height:44px;flex-basis:53px}
 header .connected-mark img,footer .connected-mark img{width:53px;height:44px;max-height:none}
 header .brand>span:last-child{font-size:12px;letter-spacing:.1em}
 header .brand small{font-size:8px;margin-top:5px}
 footer .connected-mark img{width:47px;height:39px}
}

/* Keep hero copy and photograph in separate, responsive columns. */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px 6%;min-height:0;padding:50px 6% 0}
.hero-copy{width:auto;min-width:0;padding:30px 0 35px}
.hero-image{position:relative;inset:auto;width:100%;height:auto;min-height:480px;margin:0;align-self:stretch}
.hero .location{max-width:100%;font-size:13px;line-height:1.75;overflow-wrap:break-word}
.hero h1{font-size:clamp(44px,5vw,82px);overflow-wrap:break-word}
.hero-bottom{position:relative;inset:auto;grid-column:1/-1}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:0;padding:0 6%}.hero-copy{padding:40px 0 30px}.hero-image{height:340px;min-height:0;margin-bottom:20px}.hero h1{font-size:clamp(40px,9vw,64px)}}

.google-rating{margin:25px 0 4px}.google-rating strong{color:var(--ink)}.google-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px 0}.google-review{text-align:left;padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--paper);display:flex;flex-direction:column}.review-stars{color:var(--accent);letter-spacing:3px;font-size:18px;margin-bottom:22px}.google-review blockquote{font-size:28px;line-height:1.3;flex:1;margin:0 0 25px}.google-review p strong,.google-review p span{display:block}.google-review p strong{font-size:14px;color:var(--ink)}.google-review p span{font-size:12px;margin:4px 0 20px}.google-review .text-link{align-self:flex-start;font-size:12px}@media(max-width:760px){.google-reviews-grid{grid-template-columns:1fr}.google-review{padding:25px}.google-review blockquote{font-size:26px}}

.footer-social{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:35px;font-size:13px}.footer-social>span{color:#c3c7bd}.footer-social a{padding:8px 0;border-bottom:1px solid #ffffff55}.footer-social a:hover{border-color:var(--cream)}@media(max-width:650px){.footer-social>span{flex-basis:100%}}

.before-layer img{filter:none}.service-card[data-gallery="Reupholstery"] img,.service-card[data-gallery="Bespoke"] img{object-position:center 40%}#project-dialog{max-height:90vh;overflow:auto}#project-dialog h2{font-size:36px;margin-bottom:20px}.project-main{height:55vh!important;object-fit:contain;background:var(--paper)}.project-thumbnails{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.project-thumbnails button{padding:0;border:2px solid var(--line);cursor:pointer;background:transparent}.project-thumbnails img{width:75px;height:75px;object-fit:cover}

/* Landscape project photo: retain both chairs without a portrait crop. */
.hero-image{min-height:0;align-self:center;aspect-ratio:1125/735;border-radius:12px;height:auto;overflow:visible}.hero-image img{height:100%;object-fit:contain;object-position:center;border-radius:12px}.hero-note{bottom:14px;right:14px;font-size:22px;padding:12px 16px}@media(max-width:760px){.hero-image{height:auto;min-height:0;aspect-ratio:1125/735;overflow:hidden}.hero-note{font-size:20px;padding:10px 14px}}

/* Match chair bounds using display crops; source photographs stay intact. */
.comparison{aspect-ratio:3/4;isolation:isolate;overflow:hidden}
.comparison>img{position:absolute;width:134.83%;height:136.17%;max-width:none;left:-21.35%;top:-31.06%;object-fit:fill}
.comparison .before-layer{inset:0;overflow:hidden;will-change:clip-path}
.comparison .before-layer img{position:absolute;width:122.45%;height:123.08%;max-width:none;left:-7.14%;top:-18.46%;object-fit:fill;filter:none}
.comparison .divider{top:0;will-change:left}.comparison input{touch-action:pan-y}.compare-label{z-index:2;pointer-events:none}

.hero-note{background:transparent;color:#fff;box-shadow:none;text-shadow:0 1px 5px rgba(0,0,0,.65)}.hero-note em{color:#fff}

.andy figure{height:auto}.andy figure>img{height:510px;object-fit:cover}.andy figure .origin-caption{position:static;display:block;margin-top:18px;padding:0;background:transparent;color:var(--cream);font-size:14px;letter-spacing:0;line-height:1.6}.origin-caption strong{display:block;font-family:var(--serif);font-size:27px;font-weight:400;margin-bottom:6px}.origin-caption span{display:block;color:#c9cdc3}.contact-section{text-align:center}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:1050px;margin:45px auto 0}.contact-grid>div{padding:25px 15px;border-top:1px solid var(--line)}.contact-grid h3{font-family:var(--serif);font-size:28px;margin-bottom:16px}.contact-grid a{display:inline-block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-grid p+ p{margin-top:8px}.contact-grid address{font-style:normal;color:var(--muted);line-height:1.8}@media(max-width:760px){.andy figure>img{height:390px}.contact-grid{grid-template-columns:1fr;gap:15px;margin-top:30px}.contact-grid>div{padding:22px 10px}}

.service-card figure+h3{margin-top:22px}

.ft-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.fields>label{margin-bottom:14px}.page-content{max-width:1100px;margin:auto}.page-content h1{margin-bottom:30px}.page-content p{margin:18px 0}.page-content a{text-decoration:underline}.page-content input,.page-content textarea{max-width:100%}
