@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#22211d;--paper:#f6f2ea;--cream:#ede4d5;--gold:#b77d40;--rust:#934d32;--line:rgba(34,33,29,.19)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:.98;letter-spacing:-.045em}h1{font-size:clamp(3.75rem,7.7vw,7.7rem)}h2{font-size:clamp(2.7rem,5.3vw,5.5rem)}h3{font-size:1.1rem;font-weight:600;line-height:1.2}em{color:var(--rust);font-weight:500}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.4rem,5vw,5.5rem);border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;line-height:1}.brand strong{display:block;font-family:"Playfair Display",serif;font-size:1.2rem;font-weight:600}.brand small{display:block;margin-top:5px;font-family:"DM Mono",monospace;font-size:.53rem;letter-spacing:.17em}.brand-mark{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:600 1rem "Playfair Display",serif;letter-spacing:-.28em;padding-right:5px}.brand-mark span{color:var(--rust)}.site-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.5vw,2.7rem)}.site-nav a,.text-link{color:inherit;text-decoration:none;font-size:.82rem;font-weight:500}.nav-cta{border-bottom:1px solid var(--ink);padding-bottom:5px}.nav-cta span,.text-link span{color:var(--rust);padding-left:6px}.menu-button{display:none;background:transparent;border:0;padding:6px}.menu-button i{display:block;width:24px;border-top:1px solid var(--ink);margin:6px}.hero{min-height:670px;display:grid;grid-template-columns:1.06fr .94fr;position:relative;overflow:hidden}.hero-copy{padding:clamp(5rem,12vh,9rem) clamp(1.4rem,5vw,5.5rem) 4rem}.eyebrow{font: .66rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.17em;margin-bottom:27px}.hero-text{max-width:505px;margin:30px 0;font-size:1.08rem;line-height:1.7}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button{border:0;cursor:pointer;display:inline-flex;justify-content:space-between;gap:32px;padding:15px 19px;color:white;font:500 .78rem "DM Sans",sans-serif;text-decoration:none}.button-primary{background:var(--rust)}.button-primary:hover{background:#713821}.hero-art{min-height:670px;background:linear-gradient(143deg,#bd9676,#6c4133);position:relative;isolation:isolate;overflow:hidden}.hero-art:before,.hero-art:after{content:"";position:absolute;border-radius:50%;filter:blur(8px);opacity:.6}.hero-art:before{width:430px;height:430px;background:#e5c59f;right:-130px;top:-100px}.hero-art:after{width:440px;height:300px;background:#392b27;left:-200px;bottom:-40px}.chair{position:absolute;background:#d4b28d;z-index:1;box-shadow:inset 0 0 0 2px rgba(77,47,36,.22)}.chair-back{width:260px;height:340px;border-radius:135px 135px 36px 36px;bottom:158px;left:30%;transform:rotate(-6deg)}.chair-seat{width:330px;height:100px;border-radius:35px;bottom:112px;left:23%;transform:skew(-12deg)}.chair-leg{height:170px;width:22px;bottom:-35px;background:#352723}.chair-leg.left{left:34%;transform:rotate(9deg)}.chair-leg.right{left:65%;transform:rotate(-5deg)}.art-label{position:absolute;right:30px;bottom:25px;z-index:2;color:#fff;font:.55rem "DM Mono",monospace;letter-spacing:.14em;text-align:right}.hero-note{position:absolute;left:clamp(1.4rem,5vw,5.5rem);bottom:26px;font:500 1.2rem "Playfair Display",serif}.hero-note span{font-size:.78rem;font-family:"DM Sans",sans-serif}.intro,.services,.process,.portfolio,.quote{padding:clamp(5rem,10vw,9rem) clamp(1.4rem,8vw,10rem)}.intro{background:var(--cream)}.intro-layout,.section-heading,.process-layout,.quote{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw}.intro-layout>div{max-width:420px;padding-top:12px}.intro-layout p,.section-heading>p,.quote-copy{line-height:1.75;margin-bottom:30px}.services{background:#292823;color:#f8f2e9}.services .eyebrow{color:#d8a572}.section-heading{align-items:end;margin-bottom:55px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:350px;margin-bottom:5px;color:#cfc7bb}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative}.service-number{font:.63rem "DM Mono",monospace;color:#d8a572}.service-image{height:310px;margin:13px 0 20px;display:grid;place-items:center;color:rgba(255,255,255,.7);font:.56rem "DM Mono",monospace;letter-spacing:.14em}.image-sofa{background:linear-gradient(135deg,#93684e,#3d2d28)}.image-headboard{background:linear-gradient(150deg,#777266,#292a27)}.image-car{background:linear-gradient(135deg,#262525,#8b5941)}.image-office{background:linear-gradient(150deg,#a48664,#46342b)}.service-card h3{font-family:"Playfair Display",serif;font-size:1.45rem;font-weight:500}.service-card p{font-size:.88rem;line-height:1.6;color:#cfc7bb}.process{background:#d1a17d}.process-layout ol{margin:0;padding:0;list-style:none}.process-layout li{display:flex;gap:28px;padding:18px 0;border-top:1px solid rgba(34,33,29,.35)}.process-layout li span{font:.64rem "DM Mono",monospace}.process-layout li h3{margin:0 0 4px;font-family:"Playfair Display",serif;font-size:1.35rem;font-weight:500}.process-layout li p{margin:0;font-size:.86rem}.portfolio{background:#f8f6f0}.portfolio .section-heading>p{color:#5e5a52}.portfolio-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:16px}.portfolio-card{height:380px;display:grid;place-items:center;font:.57rem "DM Mono",monospace;letter-spacing:.13em;color:rgba(255,255,255,.78);background:linear-gradient(145deg,#5b4235,#b5805d)}.portfolio-card.warm{background:linear-gradient(140deg,#c5a483,#785142)}.portfolio-card.light{background:linear-gradient(140deg,#bab1a2,#685f53)}.quote{background:#292823;color:#f8f2e9}.quote .eyebrow{color:#d8a572}.quote form{display:grid;gap:18px}.quote label{display:grid;gap:7px;font-size:.78rem}.quote input,.quote textarea{width:100%;border:0;border-bottom:1px solid #958b7e;background:transparent;color:white;padding:9px 0;font:1rem "DM Sans",sans-serif;outline:none;resize:vertical}.quote input:focus,.quote textarea:focus{border-color:#e1af78}.quote .button{justify-self:start;margin-top:6px}.form-message{margin:0;min-height:20px;color:#f4c289;font-size:.8rem}footer{background:#191916;color:#f8f2e9;padding:35px clamp(1.4rem,5vw,5.5rem);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{margin:0;font-size:.8rem;color:#bcb6ad}.back-top{font-size:.75rem;color:#f8f2e9;text-decoration:none;border-bottom:1px solid #f8f2e9;padding-bottom:3px}
@media(max-width:760px){.site-header{height:72px}.menu-button{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:71px;background:var(--paper);padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding-top:75px;padding-bottom:58px}.hero-art{min-height:410px;grid-row:1}.hero-copy{grid-row:2}.hero-note{bottom:auto;top:366px;color:#fff;z-index:2}.chair-back{transform:scale(.7);transform-origin:bottom left;left:28%;bottom:64px}.chair-seat{transform:scale(.7) skew(-12deg);transform-origin:bottom left;left:22%;bottom:33px}.chair-leg{transform:scale(.7);transform-origin:bottom left;bottom:-18px}.chair-leg.left{left:30%}.chair-leg.right{left:60%}.intro-layout,.section-heading,.process-layout,.quote{grid-template-columns:1fr;gap:26px}.section-heading{margin-bottom:38px}.service-grid{grid-template-columns:1fr 1fr;gap:35px 14px}.service-image{height:220px}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-card{height:240px}.portfolio-card.large{grid-column:span 2}.quote{padding-top:65px;padding-bottom:65px}footer{align-items:flex-start;flex-direction:column}.back-top{align-self:flex-end;margin-top:-36px}}@media(max-width:410px){.service-grid{grid-template-columns:1fr}.service-image{height:250px}}

/* Content-first service catalogue and supporting sections. Image panels can be replaced later. */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #635f56}.service-card{padding:23px 21px 28px;border-right:1px solid #635f56;border-bottom:1px solid #635f56;min-height:238px}.service-card:nth-child(4n){border-right:0}.service-card h3{margin:38px 0 12px;font-family:"Playfair Display",serif;font-size:1.38rem;font-weight:500}.service-card p{font-size:.84rem;line-height:1.65;color:#cfc7bb}.industries{padding:clamp(5rem,9vw,8rem) clamp(1.4rem,8vw,10rem);background:#d1a17d}.industries h2{max-width:780px}.industry-list{display:flex;flex-wrap:wrap;margin-top:42px;border-top:1px solid rgba(34,33,29,.35);border-left:1px solid rgba(34,33,29,.35)}.industry-list span{padding:15px 25px;border-right:1px solid rgba(34,33,29,.35);border-bottom:1px solid rgba(34,33,29,.35);font:500 1.05rem "Playfair Display",serif}.process{background:#e8dfd1}.visit{display:grid;grid-template-columns:1fr 1fr;background:#e4d7c5}.visit-art{min-height:540px;display:grid;place-items:center;background:linear-gradient(150deg,#3b302b,#a47256);color:#fff;font:.58rem "DM Mono",monospace;letter-spacing:.14em}.visit-copy{padding:clamp(4rem,8vw,8rem);display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.visit-copy p:not(.eyebrow){max-width:420px;margin:22px 0 31px;line-height:1.75}.shop{padding:clamp(5rem,10vw,9rem) clamp(1.4rem,8vw,10rem);background:#f8f6f0}.shop-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw}.shop-layout p{line-height:1.75;margin:0 0 28px}
@media(max-width:760px){.intro-layout,.section-heading,.process-layout,.quote,.shop-layout{grid-template-columns:1fr;gap:26px}.service-grid{grid-template-columns:1fr 1fr;gap:0}.service-card:nth-child(4n){border-right:1px solid #635f56}.service-card:nth-child(2n){border-right:0}.visit{grid-template-columns:1fr}.visit-art{min-height:280px}}@media(max-width:410px){.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(2n),.service-card:nth-child(4n){border-right:0}}

/* Expandable source-informed details keep the service grid compact until needed. */
.service-card details{margin-top:18px}.service-card summary{display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:#f8f2e9;font:500 .68rem "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase;list-style:none}.service-card summary::-webkit-details-marker{display:none}.service-card summary span{color:#d8a572;transition:transform .2s ease}.service-card details[open] summary span{transform:rotate(90deg)}.service-card details p{margin:14px 0 0;padding-top:14px;border-top:1px solid #635f56;color:#e7dfd3}

/* Direct contact and social routes make a quote request possible in the visitor's preferred channel. */
.quote-direct{display:grid;gap:7px;margin-top:38px;padding-top:20px;border-top:1px solid #635f56}.quote-direct-label{margin:0 0 4px;color:#d8a572;font:.66rem "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.quote-direct a,.social-links a{color:#f8f2e9;text-decoration:none;font-size:.86rem}.quote-direct a:hover,.social-links a:hover{color:#e4aa75}.quote-direct span,.social-links span{color:#d8a572;padding-left:4px}.social-links{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:23px}.social-links a{font:.66rem "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase}.form-note{margin:1px 0 0;color:#bcb6ad;font-size:.72rem}

/* The original site supplied one image per service; surface them in the new design. */
.service-card{overflow:hidden}.service-card:before{content:"";display:block;height:164px;margin:-23px -21px 18px;background:center/cover no-repeat;filter:saturate(.88) contrast(1.04);transition:transform .45s ease,filter .45s ease}.service-card:hover:before{transform:scale(1.035);filter:saturate(1.05) contrast(1.07)}.service-card:nth-child(1):before{background-image:url("images/services/cached_260x0_blogupholstery4.jpg")}.service-card:nth-child(2):before{background-image:url("images/services/cached_260x0_IMG-20210603-WA0016.jpg")}.service-card:nth-child(3):before{background-image:url("images/services/cached_260x0_IMG_20230526_144141.jpg")}.service-card:nth-child(4):before{background-image:url("images/services/cached_260x0_(1)IMG-20200614-WA0002.jpg")}.service-card:nth-child(5):before{background-image:url("images/services/cached_260x0_IMG_20230526_143136.jpg")}.service-card:nth-child(6):before{background-image:url("images/services/cached_260x0_IMG-20231120-WA0003.jpg")}.service-card:nth-child(7):before{background-image:url("images/services/cached_260x0_R.jpg")}.service-card:nth-child(8):before{background-image:url("images/services/cached_260x0_Roman-blind-4-scaled.jpg")}.service-card:nth-child(9):before{background-image:url("images/services/cached_260x0_53886101_2266408390046107_294991839657.jpg")}.service-card:nth-child(10):before{background-image:url("images/services/cached_260x0_IMG_20190314_114341.jpg")}.service-card:nth-child(11):before{background-image:url("images/services/cached_260x0_237610770837847908.jpg")}.service-card:nth-child(12):before{background-image:url("images/services/cached_260x0_b94f22b0-1dee-4ca0-9145-59f23994d32f60d.jpeg")}.service-card:nth-child(13):before{background-image:url("images/services/cached_260x0_IMG_20190406_122658_resized_20230721_1.jpg")}.service-card h3{margin-top:21px}
@media(max-width:760px){.service-card:before{height:145px}}@media(max-width:410px){.service-card:before{height:190px}}

/* Refined identity and supplied project photography. */
.brand{gap:12px}.brand-monogram{position:relative;display:inline-block;width:43px;height:43px;border:1px solid currentColor;border-radius:50%;font-family:"Playfair Display",serif;line-height:1}.brand-monogram:before{content:"";position:absolute;inset:4px;border:1px solid rgba(147,77,50,.5);border-radius:50%}.brand-monogram i,.brand-monogram b{position:absolute;font-style:italic;font-weight:500;font-size:1.43rem}.brand-monogram i{left:10px;top:8px}.brand-monogram b{right:8px;bottom:7px;color:var(--rust)}.brand-name strong{font-size:1.18rem;letter-spacing:-.035em}.brand-name strong em{color:var(--rust);font-size:.82em}.brand-name small{letter-spacing:.24em;font-size:.5rem}.hero-signature{display:flex;align-items:center;gap:8px;margin:0 0 16px;font:500 1.08rem "Playfair Display",serif;letter-spacing:.01em;color:#5d4337}.hero-signature span{font-style:italic;color:var(--rust)}.hero-signature i{display:block;width:36px;border-top:1px solid var(--rust)}.hero-art{background:#55443b}.hero-art:before{inset:0;width:auto;height:auto;right:auto;top:auto;border-radius:0;filter:none;opacity:1;background:linear-gradient(180deg,rgba(25,20,17,.03),rgba(25,20,17,.33));z-index:1}.hero-art:after{display:none}.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;z-index:0}.art-label{padding:10px;background:rgba(28,24,21,.64);line-height:1.6}.portfolio-card{position:relative;overflow:hidden;margin:0;background:#332b27}.portfolio-card img,.visit-art img{display:block;width:100%;height:100%;object-fit:cover}.portfolio-card img{position:absolute;inset:0;transition:transform .5s ease}.portfolio-card:hover img{transform:scale(1.035)}.portfolio-card figcaption{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:rgba(25,20,17,.72);color:white;font:.58rem "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.visit-art{position:relative;overflow:hidden;background:#3b302b}.visit-art img{position:absolute;inset:0;object-position:center}.visit-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,14,.25),transparent)}footer .brand-monogram{color:#f8f2e9}footer .brand-monogram:before{border-color:rgba(248,242,233,.45)}footer .brand-monogram b,footer .brand-name strong em{color:#e4aa75}
@media(max-width:760px){.hero-signature{margin-bottom:14px}.hero-art img{object-position:center}.brand-monogram{width:39px;height:39px}.brand-monogram i,.brand-monogram b{font-size:1.26rem}.brand-monogram i{left:9px;top:7px}.brand-monogram b{right:7px;bottom:6px}.brand-name strong{font-size:1.05rem}.portfolio-card img{object-position:center}.visit-art img{object-position:center}}

/* Business hours and quote lead time, scraped from the live site's contact-form widget. */
.quote-hours{margin-top:26px;padding-top:20px;border-top:1px solid #635f56}.quote-hours dl{display:grid;gap:6px;margin:12px 0 0}.quote-hours dl>div{display:flex;justify-content:space-between;gap:12px;font-size:.86rem}.quote-hours dt{font-weight:500}.quote-hours dd{margin:0;color:#cfc7bb}.quote-lead-time{margin:16px 0 0;font-size:.8rem;color:#cfc7bb}.quote-lead-time span{color:#d8a572;padding-left:4px}

/* Icon set for contact routes, social links and the industries list, in place of plain text/emoji. Gold by default to match the accent color; the industries list overrides to rust since it sits on a tan background. */
.icon{width:15px;height:15px;flex:none;fill:#d8a572}.quote-direct a,.social-links a,.quote-direct-label,.industry-list span{display:inline-flex;align-items:center;gap:9px}.social-links{gap:10px 20px}.industry-list .icon{fill:var(--rust)}

/* Embedded map for the workshop address: heading above like the other sections, map framed as its own bordered/shadowed card below so its edges read clearly against neighbouring sections regardless of their background. */
.find-us{padding:clamp(5rem,10vw,9rem) clamp(1.4rem,8vw,10rem);background:var(--cream)}.find-us-copy{max-width:520px;margin-bottom:44px}.find-us-copy p:not(.eyebrow){margin:22px 0 28px;line-height:1.75}.find-us-map{height:460px;position:relative;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 48px rgba(20,17,14,.14)}.find-us-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.05)}
@media(max-width:760px){.find-us-map{height:320px}}

/* Quote form submit button sized down from the sitewide CTA scale. The base .button rule uses the `font` shorthand, which resets line-height to the font's own "normal" metric rather than inheriting the page's 1.55 — that's what kept the button tall through two padding-only passes. Pinning line-height explicitly fixes the actual cause. */
#quote-form .button{padding:10px 16px;gap:8px;font-size:.72rem;line-height:1;height:1.875rem;align-items:center}

/* "Why choose us" — scraped from the live site's homepage, was missing entirely from the migration. Mirrors the onsite-quotations split layout but copy-first, image-second, for rhythm against .visit right after it. */
.why{display:grid;grid-template-columns:1fr 1fr;background:#efe6d8}.why-copy{padding:clamp(4rem,8vw,8rem);display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.why-copy p:not(.eyebrow){max-width:440px;margin:22px 0 31px;line-height:1.75}.why-art{min-height:480px;position:relative;overflow:hidden;background:#3b302b}.why-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.why{grid-template-columns:1fr}.why-art{min-height:280px;order:-1}}

/* Lead time banner — the live site gives this its own prominent strip at the top of the Quote page; the detail also lives in .quote-lead-time, this is the equivalent standalone callout for our single-page layout. */
.lead-time-banner{background:#292823;color:#f8f2e9;text-align:center;padding:22px clamp(1.4rem,5vw,5.5rem)}.lead-time-banner p{margin:0;font:600 1.1rem "Playfair Display",serif;letter-spacing:.01em}.lead-time-banner strong{color:#d8a572;font-weight:600}

/* Photo-attachment field on the quote form — native file inputs need explicit styling or the OS-rendered picker button clashes with the dark theme. */
.quote input[type="file"]{border:0;padding:4px 0;color:#cfc7bb;font-size:.82rem}.quote input[type="file"]::file-selector-button{margin-right:12px;padding:8px 14px;border:1px solid #958b7e;background:transparent;color:#f8f2e9;font:500 .72rem "DM Sans",sans-serif;cursor:pointer;transition:background .2s ease}.quote input[type="file"]::file-selector-button:hover{background:rgba(248,242,233,.08)}.field-hint{display:block;margin-top:6px;font-size:.68rem;color:#9c948a}.field-hint-error{color:#f4c289}

/* Supporting line under the industries heading, replacing a tagline that didn't map cleanly to the list below it. */
.industries-copy{margin:22px 0 0;max-width:520px;font-size:1.05rem;line-height:1.6}
