:root { --ink:#20201d; --charcoal:#1e1f1d; --paper:#f4f1ea; --cream:#fbfaf6; --sand:#e7e1d6; --gold:#a8874a; --line:#d8d3c8; --muted:#777269; --display:"Playfair Display",Georgia,serif; --body:"DM Sans",Arial,sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); font-size:15px; } a { color:inherit; text-decoration:none; } img { display:block; width:100%; height:100%; object-fit:cover; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:var(--display); font-style:normal; font-weight:500; } h2 { margin-bottom:22px; font-size:clamp(42px,5.3vw,76px); letter-spacing:-.04em; line-height:.98; }
.header { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:22px; height:86px; padding:0 clamp(22px,4vw,66px); color:#fff; background:var(--charcoal); }.logo { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.16em; line-height:1.05; }.logo small { display:block; margin-top:4px; color:#b6a17b; font-size:7px; letter-spacing:.1em; }.logo-mark { display:grid; width:37px; height:37px; place-items:center; border:1px solid var(--gold); color:var(--gold); font-family:var(--display); font-size:14px; letter-spacing:0; }.desktop-nav { display:flex; gap:29px; margin-left:auto; margin-right:24px; }.desktop-nav a,.tool-icon { color:#e4e0d8; font-size:12px; }.desktop-nav a:hover,.desktop-nav a:focus-visible,.tool-icon:hover,.tool-icon:focus-visible { color:var(--gold); }.header-tools { display:flex; align-items:center; gap:16px; }.tool-icon { font-size:22px; line-height:1; }.button { display:inline-flex; min-height:49px; align-items:center; justify-content:center; gap:20px; padding:0 20px; border:1px solid transparent; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; transition:background .2s,color .2s,transform .2s; }.button:hover { transform:translateY(-2px); }.button:focus-visible,a:focus-visible,select:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }.button span { font-size:17px; line-height:0; }.button-gold { color:#181916; background:var(--gold); }.button-gold:hover { background:#c0a56c; }.button-dark { color:#fff; background:var(--charcoal); }.button-line { border-color:rgba(255,255,255,.7); color:#fff; }.header-cta { min-height:43px; padding:0 15px; }.menu-button { display:none; border:0; background:none; color:#fff; font-size:25px; }
.hero { position:relative; min-height:620px; height:min(780px,calc(100vh - 86px)); overflow:hidden; color:#fff; }.hero-image,.hero-shade { position:absolute; inset:0; }.hero-image { object-position:center; }.hero-shade { background:rgba(16,17,15,.5); }.hero-content { position:relative; z-index:1; max-width:720px; padding:clamp(90px,12vw,160px) clamp(22px,9vw,145px); }.kicker { margin-bottom:20px; color:#978264; font-size:10px; font-weight:700; letter-spacing:.18em; }.kicker.light { color:#d9c08a; }.hero h1 { margin-bottom:28px; font-size:clamp(55px,7vw,104px); letter-spacing:-.05em; line-height:.91; }.hero-content > p:not(.kicker) { max-width:450px; color:#eeece6; font-size:17px; line-height:1.65; }.button-row { display:flex; flex-wrap:wrap; gap:11px; margin-top:34px; }.scroll-note { position:absolute; z-index:1; right:clamp(22px,4vw,66px); bottom:35px; display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }.scroll-note span { width:37px; height:1px; background:var(--gold); }
.finder { display:grid; grid-template-columns:260px 1fr; gap:40px; padding:27px clamp(22px,6vw,92px); background:var(--cream); border-bottom:1px solid var(--line); }.finder h2 { margin:0; font-size:25px; }.finder-intro .kicker { margin-bottom:9px; }.finder-form { display:grid; grid-template-columns:repeat(7,1fr) 130px 58px; border:1px solid var(--line); }.finder-form label { padding:13px 15px; border-right:1px solid var(--line); color:var(--muted); font-size:9px; letter-spacing:.13em; text-transform:uppercase; } select { display:block; width:100%; margin-top:7px; border:0; outline:0; background:transparent; color:var(--ink); font-family:var(--body); font-size:12px; }.finder-button { border:0; background:var(--charcoal); color:#fff; font-family:var(--body); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.finder-button span { margin-left:9px; font-size:18px; }.reset-filters { border:0; border-left:1px solid var(--line); background:var(--cream); color:var(--muted); font:700 9px var(--body); letter-spacing:.08em; text-transform:uppercase; }.filter-status { grid-column:2; min-height:16px; margin:7px 0 0; color:var(--muted); font-size:11px; }
.section { padding:clamp(75px,10vw,145px) clamp(22px,9vw,145px); }.feature { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(45px,8vw,140px); align-items:center; background:#ebe6dc; border-bottom:1px solid var(--line); }.feature-copy { padding-left:min(5vw,70px); }.feature-copy > p:not(.kicker),.section-copy,.showroom-copy > p:not(.kicker) { max-width:400px; color:var(--muted); line-height:1.75; }.text-link { display:inline-block; margin-top:15px; padding-bottom:8px; border-bottom:1px solid var(--ink); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.text-link span { margin-left:13px; font-size:17px; }.feature-meta { display:flex; flex-wrap:wrap; gap:14px; margin-top:46px; }.feature-meta span { padding-top:11px; border-top:1px solid var(--line); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.image-frame { position:relative; height:clamp(390px,48vw,680px); }.image-caption { position:absolute; right:0; bottom:0; padding:12px 16px; color:#fff; background:var(--charcoal); font-size:9px; letter-spacing:.11em; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:43px; }.section-head .text-link { margin-bottom:5px; }.section-copy { max-width:350px; margin:0; }.spaces,.inspiration,.testimonials { background:var(--cream); }.space-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:255px 255px; gap:14px; }.space-card { position:relative; overflow:hidden; color:#fff; background:#4d4a44; }.space-card.tall { grid-row:span 2; }.space-card.wide { grid-column:span 2; }.space-card::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:rgba(0,0,0,.47); }.space-card:hover img,.inspiration-card:hover img,.product-card:hover img,.stone-grid a:hover img { transform:scale(1.035); }.space-card img,.inspiration-card img,.product-card img,.stone-grid img { transition:transform .35s ease; }.space-card span,.space-card strong { position:absolute; z-index:1; left:20px; }.space-card span { top:18px; color:#e8d3a2; font-size:10px; }.space-card strong { bottom:20px; font-family:var(--display); font-size:28px; font-weight:500; }
.collections { background:#e3ddd1; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.product-card { overflow:hidden; background:var(--cream); }.product-card img { height:560px; }.product-card div { padding:28px 0 10px; }.product-card p { margin-bottom:8px; color:#9b8558; font-size:9px; font-weight:700; letter-spacing:.14em; }.product-card h3 { margin:0 0 14px; font-size:30px; }.product-card span { color:var(--muted); font-size:13px; }.collection-button { display:flex; width:max-content; margin:56px auto 0; }
.visualiser { display:grid; grid-template-columns:.85fr 1.15fr; min-height:680px; color:#fff; background:var(--charcoal); }.visualiser-copy { align-self:center; padding:clamp(70px,10vw,150px); }.visualiser-copy h2 { font-size:clamp(45px,5vw,75px); }.visualiser-copy > p:not(.kicker) { max-width:360px; color:#d4d0c8; line-height:1.7; }.compare { position:relative; overflow:hidden; --compare-position:50%; }.compare-base,.compare-after,.compare-after img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.compare-after { clip-path:inset(0 calc(100% - var(--compare-position)) 0 0); }.compare-handle { position:absolute; z-index:2; top:0; left:var(--compare-position); width:1px; height:100%; background:#fff; }.compare-handle span { position:absolute; top:calc(50% - 18px); left:-18px; display:grid; width:37px; height:37px; place-items:center; border-radius:50%; color:var(--charcoal); background:#fff; }.compare-label { position:absolute; z-index:2; bottom:20px; padding:8px 10px; background:rgba(25,25,23,.8); font-size:9px; font-weight:700; letter-spacing:.12em; }.compare-label.before { right:20px; }.compare-label.after { left:20px; }.compare-range { position:absolute; z-index:3; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; }
.stone { background:var(--paper); }.stone-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.stone-grid a { position:relative; height:280px; overflow:hidden; }.stone-grid span { position:absolute; z-index:1; right:0; bottom:0; left:0; padding:16px; color:#fff; background:rgba(0,0,0,.58); font-family:var(--display); font-size:24px; }.stone-grid b { float:right; font-family:var(--body); font-size:17px; font-weight:400; }.inspiration-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; grid-template-rows:270px 270px; gap:14px; }.inspiration-card { position:relative; overflow:hidden; color:#fff; background:#4d4a44; }.inspiration-card.main { grid-row:span 2; }.inspiration-card::after { content:""; position:absolute; inset:auto 0 0; height:45%; background:rgba(0,0,0,.46); }.inspiration-card div { position:absolute; z-index:1; bottom:20px; left:20px; }.inspiration-card p { margin-bottom:8px; color:#dfc281; font-size:9px; letter-spacing:.13em; }.inspiration-card h3 { margin:0; font-size:28px; }.inspiration-card span { display:block; margin-top:13px; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); padding:55px clamp(22px,9vw,145px); color:#fff; background:var(--charcoal); text-align:center; }.stats div + div { border-left:1px solid #565550; }.stats strong { display:block; color:#d2b675; font-family:var(--display); font-size:57px; font-weight:500; }.stats sup { font-size:28px; }.stats span { display:block; margin-top:7px; color:#cfccc4; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }.showroom { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; background:#e5dfd3; }.showroom-copy { padding-left:min(5vw,70px); }.showroom-detail { margin-top:43px; font-size:10px; letter-spacing:.12em; line-height:1.8 !important; }.showroom-image { height:575px; }.centered { text-align:center; }.testimonials > h2 { margin-bottom:52px; }.quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }.quote-grid blockquote { margin:0; padding:31px; border-top:2px solid var(--gold); background:#efebe3; font-family:var(--display); font-size:22px; line-height:1.45; }.quote-grid footer { display:flex; align-items:center; gap:12px; margin-top:34px; font-family:var(--body); }.quote-grid footer > span { display:grid; width:37px; height:37px; place-items:center; border-radius:50%; color:var(--gold); background:var(--charcoal); font-size:10px; font-weight:700; }.quote-grid strong,.quote-grid small { display:block; font-family:var(--body); font-size:11px; font-style:normal; }.quote-grid small { margin-top:3px; color:var(--muted); }
.final-cta { position:relative; display:grid; min-height:630px; place-items:center; overflow:hidden; color:#fff; text-align:center; }.final-cta > img { position:absolute; inset:0; filter:brightness(.38); }.final-cta > div { position:relative; max-width:820px; padding:70px 22px; }.final-cta h2 { font-size:clamp(51px,6.5vw,94px); }.final-cta > div > p:not(.kicker) { max-width:530px; margin:0 auto; color:#e2dfd7; line-height:1.7; }.final-cta .button-row { justify-content:center; }.footer { padding:70px clamp(22px,9vw,145px) 0; color:#e9e5db; background:#151614; }.footer-top { display:grid; grid-template-columns:1.45fr repeat(3,1fr) 1.3fr; gap:35px; padding-bottom:65px; }.footer-brand p,address p { margin:23px 0; color:#a7a49c; font-size:12px; line-height:1.7; }.footer h3 { margin-bottom:20px; color:var(--gold); font-family:var(--body); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }.footer nav,.footer address { display:flex; flex-direction:column; gap:11px; font-style:normal; }.footer nav a,.footer address a { color:#cbc7bd; font-size:12px; }.socials { display:flex; gap:8px; }.socials a { display:grid; width:28px; height:28px; place-items:center; border:1px solid #66645e; border-radius:50%; font-size:10px; }.footer-bottom { display:flex; justify-content:space-between; padding:21px 0; border-top:1px solid #40413d; color:#aaa79e; font-size:10px; }.footer-bottom div { display:flex; gap:22px; }
.booking-dialog { width:min(520px,calc(100% - 32px)); padding:0; border:0; color:var(--ink); background:var(--cream); }.booking-dialog::backdrop { background:rgba(0,0,0,.72); }.booking-form { position:relative; display:grid; gap:17px; padding:42px; }.booking-form h2 { margin:0; font-size:50px; }.booking-form > p:not(.kicker) { color:var(--muted); line-height:1.6; }.booking-form label { display:grid; gap:7px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.booking-form input,.booking-form select { min-height:46px; margin:0; padding:0 10px; border:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); }.dialog-close { position:absolute; top:14px; right:17px; border:0; background:none; font-size:26px; }.booking-note { min-height:18px; margin:0; color:#5a754e !important; font-size:12px; }
.results-dialog { width:min(1080px,calc(100% - 32px)); max-height:min(860px,calc(100dvh - 32px)); padding:0; border:0; color:var(--ink); background:var(--cream); }
.results-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(4px); }
.results-panel { position:relative; padding:clamp(24px,4vw,46px); }
.results-close { position:absolute; top:14px; right:17px; min-width:44px; min-height:44px; border:0; background:none; font-size:26px; cursor:pointer; }
.results-panel h2 { margin-bottom:12px; font-size:clamp(34px,4vw,54px); }
.results-note { margin-bottom:24px; color:var(--muted); }
.results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-height:520px; overflow:auto; padding-right:4px; }
.result-card { display:grid; gap:11px; }
.result-card img { aspect-ratio:4 / 3; height:auto; background:#ddd6ca; }
.result-card strong { font-family:var(--display); font-size:22px; font-weight:600; }
.result-card span { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
@media (max-width:900px) { .desktop-nav { display:none; position:absolute; top:86px; right:0; left:0; flex-direction:column; margin:0; padding:25px; background:var(--charcoal); }.desktop-nav.is-open { display:flex; }.menu-button { display:block; }.header-cta,.tool-icon { display:none; }.finder { grid-template-columns:1fr; }.finder-form { grid-template-columns:repeat(3,1fr); }.filter-status { grid-column:1; }.feature,.visualiser,.showroom { grid-template-columns:1fr; }.feature-copy,.showroom-copy { padding:0; }.feature { gap:50px; }.visualiser-copy { padding:80px 12vw; }.compare { min-height:530px; }.product-grid { grid-template-columns:repeat(2,1fr); }.footer-top { grid-template-columns:repeat(3,1fr); }.footer-brand { grid-column:span 3; }.space-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(3,230px); }.space-card.tall { grid-row:span 2; }.space-card.wide { grid-column:auto; }.inspiration-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(3,240px); }.inspiration-card.main { grid-row:span 2; }.inspiration-card:last-child { grid-column:span 2; } }
@media (max-width:600px) { .header { height:70px; padding:0 20px; }.logo-mark { width:32px; height:32px; }.desktop-nav { top:70px; }.hero { height:calc(100vh - 70px); min-height:600px; }.hero-image { object-position:62% center; }.hero-content { padding:105px 25px; }.hero h1 { font-size:54px; }.scroll-note { display:none; }.finder { padding:45px 22px; }.finder-form { grid-template-columns:1fr 1fr; }.finder-form label:nth-child(5) { border-bottom:1px solid var(--line); }.finder-button { grid-column:span 2; min-height:54px; }.reset-filters { grid-column:span 2; min-height:42px; border-top:1px solid var(--line); border-left:0; }.section { padding:75px 22px; }.section-head { display:block; }.section-head .text-link { margin-top:12px; }.feature-copy { padding:0; }.image-frame,.showroom-image { height:390px; }.space-grid { grid-template-rows:repeat(3,180px); gap:8px; }.space-card strong { bottom:13px; left:13px; font-size:21px; }.product-grid { grid-template-columns:1fr; gap:16px; }.product-card img { height:270px; }.visualiser-copy { padding:70px 22px; }.compare { min-height:420px; }.stone-grid { grid-template-columns:1fr 1fr; gap:8px; }.stone-grid a { height:180px; }.stone-grid span { padding:11px; font-size:17px; }.inspiration-grid { grid-template-rows:repeat(3,190px); gap:8px; }.inspiration-card div { bottom:13px; left:13px; }.inspiration-card h3 { font-size:20px; }.stats { grid-template-columns:1fr 1fr; padding:20px; }.stats div { padding:26px 8px; }.stats div + div { border-left:0; }.stats div:nth-child(even) { border-left:1px solid #565550; }.stats div:nth-child(n+3) { border-top:1px solid #565550; }.stats strong { font-size:43px; }.quote-grid { grid-template-columns:1fr; }.quote-grid blockquote { font-size:20px; }.final-cta { min-height:590px; }.footer { padding:55px 22px 0; }.footer-top { grid-template-columns:1fr 1fr; gap:36px; }.footer-brand { grid-column:span 2; }.footer-bottom { display:block; line-height:2; }.footer-bottom div { flex-wrap:wrap; gap:12px; }.button { gap:14px; padding:0 15px; }.booking-form { padding:34px 24px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }

.footer { padding-top:0; }
.footer-hero { display:grid; grid-template-columns:1.1fr 1fr auto; gap:40px; align-items:end; padding:70px 0 50px; border-bottom:1px solid #3c3c38; }
.footer-wordmark { display:flex; flex-direction:column; width:max-content; color:#e4bd61; font-family:var(--display); font-size:54px; font-weight:700; letter-spacing:.01em; line-height:.86; text-transform:uppercase; }
.footer-wordmark small { margin-top:15px; color:#fff; font-family:var(--body); font-size:11px; font-weight:700; letter-spacing:.78em; line-height:1; white-space:nowrap; }
.footer-hero p { max-width:430px; margin:0; color:#b9b5ab; font-size:15px; line-height:1.8; }
.footer-visit { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 22px; border:1px solid var(--gold); color:#e4bd61; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.footer-visit:hover { background:var(--gold); color:#151614; }
.footer-top { grid-template-columns:1.2fr .7fr .7fr 1.65fr 1.3fr; padding:48px 0 60px; }
.footer nav a,.footer address a,.footer address span { padding:4px 0; color:#d3cec3; font-size:13px; }
.footer nav a:hover,.footer address a:hover { color:#e4bd61; }
.footer address span { color:#9f9b92; }
.footer-social { display:flex; flex-direction:column; gap:11px; }
.footer-brand .footer-wordmark { font-size:38px; }
.footer-brand > p { max-width:290px; text-wrap:balance; }
.footer-brand .footer-social { margin-top:10px; }
.footer .socials a svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.footer-contact-item { display:flex !important; align-items:flex-start; gap:10px; margin:0 !important; line-height:1.55 !important; }
.footer-contact-item svg { width:17px; height:17px; flex:0 0 17px; margin-top:2px; fill:none; stroke:#fff; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.footer-contact-item span { padding:0 !important; color:inherit !important; font-size:inherit !important; }
.footer .socials a { width:38px; height:38px; border-color:#615d54; color:#fff; font-weight:700; }
.footer-bottom { align-items:center; }
@media (max-width:900px) { .footer-wordmark { font-size:44px; }.footer-top { grid-template-columns:repeat(2,1fr); }.footer-brand { grid-column:span 2; } }
@media (max-width:600px) { .footer-wordmark { font-size:34px; }.footer-wordmark small { font-size:8px; letter-spacing:.75em; }.footer-top { grid-template-columns:1fr; }.footer-brand { grid-column:auto; }.footer-bottom { display:block; }.footer-bottom div { margin-top:8px; } }

/* Header brand and utility controls use the supplied mark and high-contrast line icons. */
.header-brand { display:flex; width:fit-content; height:62px; flex-direction:column; align-items:stretch; justify-content:center; color:#e4bd61; font-family:var(--display); font-size:30px; font-weight:700; letter-spacing:.015em; line-height:.9; text-transform:uppercase; }
.header-brand small { width:100%; margin-top:8px; color:#fff; font-family:var(--body); font-size:9px; font-weight:700; letter-spacing:.78em; line-height:1; white-space:nowrap; }
.feature { grid-template-columns:.95fr 1.05fr; padding-right:0; }
.feature-copy { max-width:560px; }
.feature-image { width:calc(100% + clamp(150px,12vw,240px)); margin-left:calc(clamp(150px,12vw,240px) * -1); }
.feature-cta { width:max-content; margin-top:42px; }
@media (max-width:900px) { .feature { padding-right:clamp(22px,9vw,145px); }.feature-copy { max-width:none; }.feature-image { width:100%; margin-left:0; } }
.feature-copy h2 { max-width:420px; margin-bottom:24px; }
.feature-copy .feature-lede { max-width:470px; color:var(--ink); font-family:var(--display); font-size:clamp(21px,2vw,29px); line-height:1.3; }
.feature-copy .feature-detail { max-width:460px; margin-top:22px; color:var(--muted); font-size:14px; line-height:1.75; }
.feature-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:0; max-width:500px; margin-top:40px; border-top:1px solid var(--line); }
.feature-meta div { display:grid; gap:8px; padding:16px 12px 0 0; }
.feature-meta div + div { padding-left:12px; border-left:1px solid var(--line); }
.feature-meta small { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.feature-meta strong { font-size:12px; font-weight:700; }
@media (max-width:600px) { .feature-meta { grid-template-columns:1fr; }.feature-meta div + div { padding-left:0; border-left:0; }.feature-meta div { padding:14px 0 0; } }
.space-grid { grid-template-columns:repeat(3,1fr); grid-template-rows:none; }
.space-grid { gap:22px; }
.spaces .section-head { display:block; text-align:center; }
.spaces .section-head .text-link { margin-top:8px; }
.spaces { padding-left:clamp(22px,5vw,72px); padding-right:clamp(22px,5vw,72px); }
.space-card,.space-card.tall,.space-card.wide { grid-row:auto; grid-column:auto; aspect-ratio:1 / .5; }
.space-card::after { display:none; }
.space-card span { top:auto; bottom:58px; left:50%; transform:translateX(-50%); font-weight:800; }
.space-card strong { top:auto; bottom:22px; left:50%; transform:translateX(-50%); width:100%; text-align:center; font-weight:700; }

.collections-head { display:flex; align-items:center; justify-content:center; gap:30px; }
@media (max-width:900px) { .space-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:none; } }
@media (max-width:600px) { .space-grid { grid-template-columns:1fr; grid-template-rows:none; }.space-card,.space-card.tall,.space-card.wide { aspect-ratio:1 / .48; } }
.collection-bars { display:grid; grid-template-columns:repeat(6,minmax(190px,1fr)); gap:16px; }
.collection-bar { display:block; color:var(--ink); }
.collection-bar img { height:500px; object-fit:cover; }
.collection-bar div { padding-top:16px; border-top:1px solid var(--line); margin-top:14px; }
.collection-bar h3 { margin:0 0 7px; font-size:25px; font-weight:600; }
.collection-bar span { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
@media (max-width:900px) { .collection-bars { overflow-x:auto; padding-bottom:8px; }.collection-bar { min-width:220px; }.collection-bar img { height:400px; } .collection-bars { gap:12px; } }
@media (max-width:600px) { .collection-bar { min-width:210px; }.collection-bar img { height:310px; } .collection-bars { gap:8px; } }
.stone-head { display:block; text-align:center; }
.stone.section { padding-right:clamp(20px,5vw,72px); padding-left:clamp(20px,5vw,72px); }
.stone-grid { grid-template-columns:repeat(6,minmax(165px,1fr)); gap:56px; }
.stone-grid a { height:auto; overflow:visible; color:var(--ink); }
.stone-grid a img { aspect-ratio:1 / 1; height:auto; }
.stone-grid span { position:static; display:block; padding:13px 0 0; color:var(--ink); background:transparent; font-size:21px; text-align:center; }
@media (max-width:900px) { .stone-grid { overflow-x:auto; grid-template-columns:repeat(6,190px); gap:40px; padding-bottom:8px; } }
@media (max-width:600px) { .stone-grid { grid-template-columns:repeat(6,165px); gap:32px; } }
.inspiration .section-head { display:block; text-align:center; }
.inspiration .section-head .text-link { margin-top:8px; }
.tool-icon { display:grid; width:34px; height:40px; place-items:center; color:#f1eadc; }
.tool-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.2; }
.header-cta { min-height:43px; border-color:var(--gold); color:#e7cf98; background:transparent; }
.header-cta:hover,.header-cta:focus-visible { color:#1e1f1d; background:var(--gold); }
@media (max-width:600px) { .header-brand { width:145px; height:50px; } }
.desktop-nav a { font-size:14px; }
.hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 34%,rgba(0,0,0,.2) 62%,rgba(0,0,0,.06) 100%); }
.hero h1 { font-size:clamp(34px,5.6vw,84px); }
@media (max-width:600px) { .hero h1 { font-size:34px; letter-spacing:-.045em; } }
.hero-image { object-fit:cover; object-position:center; }
.hero { height:100vh; min-height:0; }
@media (max-width:600px) { .hero { height:100svh; min-height:0; } }
.hero { display:flex; flex-direction:column; }
.hero-content { flex:1; min-height:0; display:flex; flex-direction:column; justify-content:center; padding-bottom:32px; }
.hero .finder { position:absolute; z-index:2; right:0; bottom:0; left:0; grid-template-columns:260px 1fr; background:var(--cream); }
.hero .filter-status { display:none; }
@media (max-width:900px) { .hero .finder { grid-template-columns:1fr; } }
@media (max-width:600px) { .hero .finder { right:0; bottom:0; left:0; display:grid; gap:10px; padding:12px 16px; }.hero .finder .finder-intro { display:none; }.hero .finder .finder-form { grid-template-columns:1fr 1fr; }.hero .finder .finder-form label { padding:9px 10px; }.hero .finder .finder-button { min-height:44px; }.hero .finder .reset-filters { min-height:34px; } }
.hero { height:calc(100vh - 86px); min-height:0; }
@media (max-width:600px) { .hero { height:calc(100svh - 70px); min-height:0; }.hero-content { padding-top:74px; } }
.hero-content { transform:translate(clamp(34px,4.5vw,72px),-126px); }
@media (max-width:600px) { .hero-content { transform:translate(18px,-66px); } }

/* The collection gallery uses one continuous track so every supplied surface can be browsed. */
.collections-head { position:relative; display:flex; align-items:center; justify-content:center; text-align:center; }
.collections-head > div:first-child { text-align:center; }
.collection-controls { position:absolute; right:0; display:flex; gap:8px; }
.collection-control { display:grid; width:46px; height:46px; place-items:center; border:1px solid var(--ink); background:transparent; color:var(--ink); font-size:21px; transition:background .2s,color .2s; cursor:pointer; }
.collection-control:hover,.collection-control:focus-visible { color:var(--cream); background:var(--charcoal); }
.collection-bars { display:flex; gap:22px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; scroll-snap-type:x mandatory; }
.collection-bars::-webkit-scrollbar { display:none; }
.collection-bars.is-auto-scrolling { scroll-behavior:auto; scroll-snap-type:none; }
.collection-bar { flex:0 0 clamp(220px,22vw,330px); scroll-snap-align:start; }
.collection-bar img { height:clamp(400px,48vw,600px); }
@media (max-width:600px) { .collections { overflow:hidden; }.collections-head { display:flex; align-items:center; margin-bottom:27px; }.collections-head h2 { margin-bottom:0; font-size:clamp(38px,11vw,52px); }.collection-controls { right:0; gap:6px; }.collection-control { width:44px; height:44px; }.collection-bars { min-height:470px; gap:12px; margin-right:-22px; padding-right:22px; touch-action:pan-x; }.collection-bar { flex-basis:78vw; }.collection-bar img { height:clamp(350px,112vw,450px); }.collection-bar h3 { font-size:22px; }.collection-bar span { font-size:10px; } }

body { overflow-x:hidden; }
button:focus-visible,input:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.finder-toggle { display:none; }
.collection-summary { margin:8px 0 0; color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.dialog-close,.menu-button { min-width:44px; min-height:44px; cursor:pointer; }

.hero-slides { position:absolute; inset:0; }
.hero-slides .hero-image { opacity:0; transform:scale(1.03); transition:opacity .8s ease,transform 6s ease; }
.hero-slides .hero-image.is-active { opacity:1; transform:scale(1); }
.hero-dots { display:flex; gap:10px; margin-top:28px; }
.hero-dots button { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.42); cursor:pointer; transition:background .2s,transform .2s; }
.hero-dots button.is-active { background:var(--gold); transform:scale(1.25); }

@media (max-width:900px) {
  body.menu-open { overflow:hidden; }
  .desktop-nav { position:fixed; z-index:10; top:86px; min-height:calc(100dvh - 86px); justify-content:center; gap:26px; padding:45px clamp(24px,10vw,70px); }
  .desktop-nav a { padding:8px 0; border-bottom:1px solid #484944; font-family:var(--display); font-size:clamp(28px,5vw,42px); }
}

@media (max-width:600px) {
  .desktop-nav { top:70px; min-height:calc(100dvh - 70px); }
  .hero .finder { display:block; padding:0; }
  .finder-toggle { display:flex; width:100%; min-height:58px; align-items:center; justify-content:space-between; padding:0 18px; border:0; background:var(--cream); color:var(--ink); font:700 11px var(--body); letter-spacing:.1em; text-transform:uppercase; }
  .finder-toggle b { color:var(--gold); font-size:10px; }
  .hero .finder .finder-form { display:none; max-height:calc(100dvh - 150px); overflow-y:auto; border-right:0; border-left:0; }
  .hero .finder .finder-form.is-open { display:grid; }
  .hero .finder .reset-filters { min-height:44px; }
  .hero .filter-status { display:block; min-height:0; margin:0; padding:0 16px 10px; }
  .collection-summary { max-width:210px; }
}

/* Compact editorial proportions from the approved homepage reference. */
h2 { font-size:clamp(38px,4.3vw,64px); }
.header { height:76px; padding:0 clamp(22px,3.5vw,54px); }
.header-brand { height:54px; font-size:27px; }
.header-brand small { margin-top:7px; font-size:8px; }
.desktop-nav { gap:24px; margin-right:12px; }
.desktop-nav a { font-size:12px; }
.header-tools { gap:8px; }
.tool-icon { width:32px; height:38px; }
.tool-icon svg { width:19px; height:19px; }
.header-cta { min-height:42px; padding:0 16px; }
.button { min-height:46px; padding:0 19px; }

.hero { height:min(690px,calc(100vh - 76px)); min-height:600px; }
.hero-content { max-width:680px; transform:none; padding:55px clamp(24px,7.5vw,112px) 135px; }
.hero h1 { margin-bottom:20px; font-size:clamp(48px,5.6vw,78px); }
.hero-content > p:not(.kicker) { font-size:15px; }
.hero-content .button-row { margin-top:25px; }
.hero .finder { grid-template-columns:210px 1fr; gap:24px; padding:16px clamp(24px,4vw,62px); }
.finder h2 { font-size:20px; }
.finder-intro .kicker { margin-bottom:6px; }
.finder-form { grid-template-columns:repeat(7,1fr) 116px 50px; min-height:56px; }
.finder-form label { padding:10px 12px; }
.finder-button,.reset-filters { min-height:54px; }

.section { padding:88px clamp(24px,7vw,108px); }
.section-head { margin-bottom:32px; }
.feature { grid-template-columns:.74fr 1.26fr; gap:clamp(40px,5vw,76px); padding-right:0; }
.feature-copy { max-width:500px; padding-left:0; }
.feature-copy h2 { margin-bottom:18px; }
.feature-copy .feature-detail { margin-top:16px; line-height:1.65; }
.feature-meta { margin-top:28px; }
.feature-cta { margin-top:30px; }
.feature-image { width:100%; height:520px; margin-left:0; }

.spaces { padding-right:clamp(24px,5vw,72px); padding-left:clamp(24px,5vw,72px); }
.space-grid { gap:16px; }
.space-card,.space-card.tall,.space-card.wide { aspect-ratio:16 / 9; }
.space-card::after { display:block; height:38%; background:rgba(0,0,0,.42); }
.space-card span { bottom:50px; }
.space-card strong { bottom:17px; font-size:25px; }

.collections-head { margin-bottom:28px; }
.collections-head h2 { margin-bottom:0; }
.collection-bars { gap:12px; }
.collection-bar { flex-basis:clamp(210px,18vw,265px); }
.collection-bar img { height:480px; }
.collection-bar div { margin-top:11px; padding-top:12px; }
.collection-bar h3 { font-size:21px; }
.collection-control { width:42px; height:42px; }

.visualiser { grid-template-columns:.78fr 1.22fr; min-height:570px; }
.visualiser-copy { padding:72px clamp(38px,7vw,100px); }
.visualiser-copy h2 { font-size:clamp(42px,4.6vw,66px); }
.visualiser-copy .button { margin-top:2px; }

.stone-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
.stone-grid span { padding-top:11px; font-size:18px; }
.inspiration .section-head { display:flex; text-align:left; }
.inspiration-grid { grid-template-rows:240px 240px; gap:12px; }
.inspiration-card h3 { font-size:25px; }

.stats { padding:38px clamp(24px,7vw,108px); }
.stats div { display:grid; justify-items:center; }
.stats svg { width:22px; height:22px; margin-bottom:10px; fill:none; stroke:#b99a5d; stroke-width:1.4; }
.stats strong { font-size:48px; line-height:.9; }
.stats sup { font-size:22px; }
.stats span { margin-top:9px; }

.showroom { gap:56px; }
.showroom-copy { padding-left:0; }
.showroom-copy h2 { margin-bottom:18px; }
.showroom-detail { margin-top:30px; }
.showroom-image { height:500px; }
.testimonials > h2 { margin-bottom:38px; }
.quote-grid { gap:18px; }
.quote-grid blockquote { padding:27px; font-size:20px; }
.quote-grid footer { margin-top:26px; }
.final-cta { min-height:540px; }
.final-cta > div { padding:56px 22px; }
.final-cta h2 { margin-bottom:18px; font-size:clamp(48px,5.7vw,78px); }

.footer-hero { padding:52px 0 38px; }
.footer-wordmark { font-size:46px; }
.footer-top { gap:28px; padding:38px 0 46px; }
.footer h3 { margin-bottom:14px; }
.footer nav,.footer address { gap:8px; }

@media (max-width:1100px) and (min-width:901px) {
  .location-tool { display:none; }
  .desktop-nav { gap:18px; margin-right:5px; }
}

@media (max-width:900px) {
  .header { height:72px; }
  .desktop-nav { top:72px; min-height:calc(100dvh - 72px); }
  .hero { height:640px; min-height:560px; }
  .hero-content { padding-bottom:96px; }
  .hero .finder { display:block; padding:0; }
  .finder-toggle { display:flex; width:100%; min-height:58px; align-items:center; justify-content:space-between; padding:0 22px; border:0; background:var(--cream); color:var(--ink); font:700 11px var(--body); letter-spacing:.1em; text-transform:uppercase; }
  .finder-toggle b { color:var(--gold); font-size:10px; }
  .hero .finder .finder-intro { display:none; }
  .hero .finder .finder-form { display:none; max-height:calc(100dvh - 145px); overflow-y:auto; grid-template-columns:repeat(3,1fr); border-right:0; border-left:0; }
  .hero .finder .finder-form.is-open { display:grid; }
  .feature { gap:38px; padding-right:clamp(24px,7vw,108px); }
  .feature-image { height:460px; }
  .stone-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 16px; overflow:visible; }
  .inspiration-grid { grid-template-rows:repeat(3,220px); }
  .visualiser { min-height:0; }
  .compare { min-height:460px; }
  .showroom { gap:38px; }
  .showroom-image { height:440px; }
}

@media (max-width:600px) {
  h2 { font-size:clamp(36px,10vw,47px); }
  .header { height:68px; }
  .header-brand { width:140px; height:48px; font-size:24px; }
  .desktop-nav { top:68px; min-height:calc(100dvh - 68px); }
  .hero { height:min(650px,calc(100svh - 68px)); min-height:560px; }
  .hero-content { transform:none; justify-content:center; padding:40px 20px 90px; }
  .hero h1 { font-size:44px; line-height:.94; }
  .hero-content > p:not(.kicker) { font-size:14px; }
  .hero-content .button-row { gap:8px; margin-top:22px; }
  .hero-content .button { min-height:44px; padding:0 14px; font-size:10px; }
  .section { padding:60px 20px; }
  .section-head { margin-bottom:25px; }
  .feature { gap:30px; padding-right:20px; }
  .feature-meta { margin-top:22px; }
  .feature-cta { margin-top:25px; }
  .feature-image,.showroom-image { height:330px; }
  .spaces { padding-right:20px; padding-left:20px; }
  .space-grid { gap:10px; }
  .space-card,.space-card.tall,.space-card.wide { aspect-ratio:16 / 9; }
  .space-card span { bottom:43px; }
  .space-card strong { bottom:14px; }
  .collections-head { margin-bottom:23px; }
  .collection-summary { max-width:180px; font-size:9px; }
  .collection-bars { min-height:372px; gap:12px; }
  .collection-bar { flex-basis:72vw; }
.collection-bar img { height:260px; }
  .visualiser-copy { padding:58px 20px; }
  .compare { min-height:360px; }
  .stone-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; overflow:visible; }
  .stone-grid span { font-size:16px; }
  .inspiration .section-head { display:block; text-align:left; }
  .inspiration-grid { grid-template-columns:1fr; grid-template-rows:290px repeat(4,205px); }
  .inspiration-card.main { grid-row:auto; }
  .inspiration-card:last-child { grid-column:auto; }
  .stats { padding:16px 20px; }
  .stats div { padding:22px 8px; }
  .stats svg { width:19px; height:19px; margin-bottom:8px; }
  .stats strong { font-size:39px; }
  .showroom { gap:28px; }
  .showroom-detail { margin-top:25px; }
  .testimonials > h2 { margin-bottom:30px; }
  .quote-grid { gap:13px; }
  .quote-grid blockquote { padding:23px; }
  .final-cta { min-height:490px; }
  .final-cta h2 { font-size:46px; }
  .footer-hero { padding:42px 0 30px; }
  .footer-top { padding:34px 0 40px; }
}

/* Match the simple image-and-title treatment used by Timeless by Nature. */
.inspiration .inspiration-head { display:block; text-align:center; }
.inspiration { padding-right:clamp(20px,5vw,72px); padding-left:clamp(20px,5vw,72px); }
.inspiration-grid { grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:none; gap:18px; }
.inspiration-grid a { position:relative; overflow:visible; color:var(--ink); transition:transform .28s ease,filter .28s ease; }
.inspiration-grid a::after { display:none; }
.inspiration-grid img { aspect-ratio:1 / 1; height:auto; transition:transform .45s ease,box-shadow .28s ease,filter .28s ease; }
.inspiration-grid span { display:block; padding-top:11px; font-family:var(--display); font-size:18px; text-align:center; transition:color .28s ease,transform .28s ease; }
.inspiration-grid a:hover,.inspiration-grid a:focus-visible { transform:translateY(-8px); }
.inspiration-grid a:hover img,.inspiration-grid a:focus-visible img { box-shadow:0 20px 45px rgba(32,32,29,.18); filter:saturate(1.08) contrast(1.04); transform:scale(1.045); }
.inspiration-grid a:hover span,.inspiration-grid a:focus-visible span { color:var(--gold); transform:translateY(3px); }

@media (max-width:900px) {
  .inspiration { overflow:hidden; }
  .inspiration-grid { grid-template-columns:repeat(5,minmax(210px,28vw)); overflow-x:auto; margin-right:calc(clamp(24px,7vw,108px) * -1); padding-right:clamp(24px,7vw,108px); padding-bottom:8px; scrollbar-width:none; scroll-snap-type:x mandatory; }
  .inspiration-grid::-webkit-scrollbar { display:none; }
  .inspiration-grid a { scroll-snap-align:start; }
  .inspiration-grid a:last-child { grid-column:auto; }
}

@media (max-width:600px) {
  .inspiration-grid { grid-template-columns:repeat(5,76vw); grid-template-rows:none; margin-right:-20px; padding-right:20px; }
  .inspiration-grid span { font-size:16px; }
}

.final-cta { min-height:340px; }
.final-cta > div { width:100%; max-width:1000px; }
.final-cta h2 { font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(40px,4.8vw,64px); font-weight:500; letter-spacing:.04em; text-align:center; text-transform:uppercase; }
.final-cta h2 > span { display:block; white-space:nowrap; }
.final-cta .button-row { flex-wrap:nowrap; gap:18px; margin-top:38px; }
.final-cta .button { min-width:260px; min-height:64px; padding-right:34px; padding-left:34px; letter-spacing:.16em; }

@media (max-width:600px) {
  .final-cta { min-height:330px; }
  .final-cta h2 { font-size:clamp(30px,9vw,38px); }
  .final-cta .button-row { justify-content:flex-start; gap:12px; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
  .final-cta .button-row::-webkit-scrollbar { display:none; }
  .final-cta .button { width:auto; min-width:230px; flex-shrink:0; }
}

.footer-top { gap:20px; padding:24px 0 28px; background:#151614; }
.footer-top > * { flex:1; }
.footer h3 { margin:0 0 12px; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); }
.footer nav { display:flex; flex-direction:column; gap:8px; }
.footer nav a { padding:6px 0; font-size:11px; color:#cbc7bd; transition:color .2s; }
.footer nav a:hover { color:#e4bd61; }
.footer address { font-size:11px; line-height:1.5; color:#a7a49c; }
.footer address a { color:#a7a49c; text-decoration:underline; }
.footer-brand > p { margin:8px 0 0; font-size:11px; line-height:1.5; color:#a7a49c; }
.footer-brand .footer-social { margin-top:8px; display:flex; gap:8px; }
.footer .socials a { width:28px; height:28px; }
.footer .socials a svg { width:14px; height:14px; fill:#66645e; transition:fill .2s; }
.footer .socials a:hover svg { fill:#e4bd61; }
.footer-bottom { padding:16px 0; border-top:1px solid #40413d; color:#aaa79e; font-size:10px; line-height:2; display:flex; justify-content:space-between; align-items:center; }
.footer-bottom div { display:flex; gap:16px; }

@media (max-width:1100px) and (min-width:901px) {
  .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
}

@media (max-width:900px) {
  .footer-top { gap:24px; padding:24px 0 20px; }
  .footer-brand { order:2; }
  .footer nav { order:3; }
  .footer-bottom { padding:16px 0; }
}

@media (max-width:600px) {
  .footer-top { gap:16px; padding:16px; }
  .footer-brand { order:1; }
  .footer nav { order:2; }
  .footer address { order:3; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
  .footer-bottom div { flex-direction:column; gap:6px; }
}

.button-gold { color:#fff; font-weight:700; }
.button-gold > span { display:none; }
.quote-grid blockquote { border:.5px solid rgba(168,135,74,.6); background:transparent; }
.quote-grid blockquote::before { content:"\201c"; display:block; height:30px; margin-bottom:12px; color:var(--gold); font:600 58px/.75 var(--display); }
.quote-grid footer strong { display:flex; align-items:center; gap:9px; font-size:14px; }
.quote-grid footer strong::before { content:""; width:25px; height:1px; background:var(--ink); }
.quote-grid footer small { display:block; margin-top:5px; margin-left:34px; color:#5f5b54; font-size:10px; line-height:1.4; }

.showroom { grid-template-columns:.7fr 1.3fr; height:570px; min-height:0; padding-top:0; padding-right:0; padding-bottom:0; }
.showroom-copy { width:min(100%,470px); justify-self:center; padding-top:38px; padding-bottom:38px; text-align:left; }
.showroom-copy .kicker { margin-bottom:12px; }
.showroom-copy h2 { margin-bottom:14px; font-size:clamp(38px,3.7vw,54px); }
.showroom-copy > p:not(.kicker):not(.showroom-detail) { line-height:1.55; }
.showroom-actions { justify-content:flex-start; gap:20px; margin-top:22px; }
.showroom-actions .button { min-width:165px; }
.showroom-direction { border-color:var(--ink); color:var(--ink); background:transparent; }
.showroom-direction:hover { color:#fff; background:var(--ink); }
.showroom-detail { margin-top:18px; margin-bottom:0; }
.showroom-image { height:570px; min-height:0; align-self:stretch; }

@media (max-width:900px) {
  .showroom { grid-template-columns:1fr; height:auto; min-height:0; padding-top:60px; padding-left:clamp(20px,7vw,108px); }
  .showroom-copy { padding:0 clamp(20px,7vw,108px) 0 0; }
  .showroom-image { height:270px; min-height:0; }
}

@media (max-width:600px) {
  .showroom { padding-top:60px; padding-left:20px; }
  .showroom-copy { padding-right:20px; }
  .showroom-actions { gap:12px; }
  .showroom-actions .button { min-width:0; flex:1; padding-right:12px; padding-left:12px; }
  .showroom-image { height:220px; min-height:0; }
}

@media (min-width:601px) {
  .stats { padding-top:50px; padding-bottom:50px; }
}

@media (max-width:600px) {
  .stats div { padding-top:28px; padding-bottom:28px; }
}

.stats > div { grid-template-columns:auto auto; align-items:center; justify-content:center; column-gap:12px; }
.stats > div > svg { grid-column:1; width:48px; height:48px; margin:0; }
.stats > div > strong { display:flex; grid-column:2; align-items:center; font-size:52px; line-height:1; }
.stats > div > strong sup { margin-left:2px; font-size:.78em; line-height:1; vertical-align:baseline; }
.stats > div > span { grid-column:1 / -1; margin-top:11px; color:#e2ded5; font-size:14px; font-weight:700; white-space:nowrap; text-align:center; }

@media (max-width:600px) {
  .stats > div { column-gap:7px; }
  .stats > div > svg { width:34px; height:34px; }
  .stats > div > strong { font-size:34px; }
  .stats > div > span { font-size:12px; }
}

.visualiser { color:var(--ink); background:#e7dfcf; }
.visualiser-copy { display:grid; grid-template-columns:minmax(0,380px); align-content:center; justify-content:center; align-items:start; text-align:left; }
.visualiser-copy .kicker.light { color:var(--gold); }
.visualiser-copy > p:not(.kicker) { margin-right:0; margin-left:0; color:var(--muted); }
.visualiser-copy .button { justify-self:start; }

.space-card::after { display:none; }
.space-card strong { display:inline-flex; width:auto; max-width:calc(100% - 28px); justify-content:center; padding:5px 13px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#000; background:rgba(255,255,255,.48); box-shadow:0 8px 20px rgba(0,0,0,.14); font-size:22px; text-shadow:none; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }

.space-page .hero { height:min(620px,calc(100vh - 76px)); min-height:520px; }
.space-gallery { background:var(--cream); }
.space-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.space-gallery-grid img { aspect-ratio:4 / 3; height:auto; background:#ddd6ca; }
.space-gallery-grid img[role="button"] { cursor:zoom-in; }
.image-lightbox { width:min(1200px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; border:0; background:#151614; color:#fff; }
.image-lightbox::backdrop { background:rgba(0,0,0,.84); backdrop-filter:blur(5px); }
.image-lightbox-image { width:100%; max-height:calc(100dvh - 104px); object-fit:contain; }
.image-lightbox-close { position:absolute; z-index:1; top:12px; right:12px; display:grid; width:44px; height:44px; place-items:center; border:0; border-radius:50%; background:rgba(21,22,20,.78); color:#fff; font-size:30px; line-height:1; cursor:pointer; }
.image-lightbox-caption { margin:0; padding:14px 56px 16px 18px; color:#e4e0d8; font-size:12px; line-height:1.45; }
.collection-page .space-gallery { background:var(--paper); }
.collection-page .space-gallery-grid { grid-template-columns:repeat(4,1fr); }
.collection-page .space-gallery-grid img { border:2px solid var(--gold); }
.collection-page-link { display:flex; width:max-content; margin:34px auto 0; }

@media (max-width:900px) {
  .space-gallery-grid { grid-template-columns:repeat(2,1fr); }
  .collection-page .space-gallery-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:600px) {
  .space-page .hero { height:520px; min-height:0; }
  .space-gallery-grid { grid-template-columns:1fr; gap:12px; }
  .collection-page .space-gallery-grid { grid-template-columns:1fr; }
  .results-grid { grid-template-columns:1fr; max-height:58dvh; }
  .image-lightbox { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .image-lightbox-image { max-height:calc(100dvh - 92px); }
  .image-lightbox-caption { padding:11px 52px 13px 14px; font-size:11px; }
}

/* Use a dedicated Tile Trends logo asset in the header and footer. */
.header-brand,
.footer-wordmark {
  display:block;
  width:320px;
  min-width:320px;
  height:96px;
  overflow:hidden;
  flex:0 0 auto;
  background:url("assets/others/logo.png") left center / contain no-repeat;
  color:transparent;
  font-size:0;
}

.header-brand span,
.header-brand small,
.footer-wordmark span,
.footer-wordmark small {
  display:none;
}

.footer-wordmark {
  width:320px;
  min-width:320px;
  height:102px;
}

@media (max-width:600px) {
  .header-brand { width:180px; min-width:180px; height:58px; }
  .footer-wordmark { width:245px; min-width:245px; height:79px; }
}

.header { height:104px; }
.hero { height:min(690px,calc(100vh - 104px)); }

/* The base image is Before on the left; the clipped layer reveals After on the right. */
.compare-after { clip-path:inset(0 0 0 var(--compare-position)); }
.compare-label { padding:9px 11px; border:1px solid rgba(255,255,255,.65); background:rgba(25,25,23,.84); color:#fff; font-size:10px; }
.compare-label.before { right:auto; left:20px; }
.compare-label.after { right:20px; left:auto; }

/* Mobile layout pass: keep the shared header, menus, actions, and dialogs within the viewport. */
@media (max-width:900px) {
  :root { --mobile-header-height:72px; }
  .header { height:var(--mobile-header-height); padding:0 24px; }
  .header-brand { width:210px; min-width:0; height:62px; }
  .desktop-nav { top:var(--mobile-header-height); min-height:calc(100dvh - var(--mobile-header-height)); }
  .desktop-nav .nav-booking { display:block; color:#e4bd61; }
  .hero { height:min(640px,calc(100dvh - var(--mobile-header-height))); min-height:520px; }
  .space-page .hero { height:min(560px,calc(100dvh - var(--mobile-header-height))); min-height:460px; }
  .final-cta .button-row { flex-wrap:wrap; justify-content:center; }
  .final-cta .button { min-width:min(260px,100%); }
  .booking-dialog { max-height:calc(100dvh - 24px); overflow:auto; }
  .booking-form { padding:34px; }
  .results-dialog { overflow:auto; }
  .results-panel { max-height:calc(100dvh - 32px); overflow:auto; }
}

@media (max-width:600px) {
  :root { --mobile-header-height:80px; }
  .header { position:relative; height:var(--mobile-header-height); gap:0; padding:0; }
  .header-brand { position:absolute; top:0; left:12px; width:280px; min-width:0; height:80px; transform:none; background-size:contain; }
  .header-tools { position:absolute; z-index:1; top:50%; right:8px; transform:translateY(-50%); }
  .menu-button { background:var(--charcoal); }
  .desktop-nav { top:var(--mobile-header-height); min-height:calc(100dvh - var(--mobile-header-height)); padding:32px 24px; }
  .desktop-nav a { font-size:clamp(25px,8vw,34px); }
  .hero { height:calc(100svh - var(--mobile-header-height)); min-height:500px; }
  .space-page .hero { height:min(500px,calc(100svh - var(--mobile-header-height))); min-height:400px; }
  .hero-content { padding:38px 20px 86px; }
  .space-page .hero-content { padding-bottom:38px; }
  .hero-content .button-row { width:100%; }
  .hero-content .button { flex:1 1 145px; }
  .hero .finder .finder-form { max-height:min(55dvh,420px); grid-template-columns:1fr 1fr; }
  .hero .finder .finder-form label { min-width:0; }
  .final-cta { min-height:0; }
  .final-cta > div { padding:58px 20px; }
  .final-cta h2 > span { white-space:normal; }
  .final-cta .button-row { display:grid; grid-template-columns:1fr; gap:10px; margin-top:26px; overflow:visible; padding:0; }
  .final-cta .button { width:100%; min-width:0; min-height:52px; }
  .footer-hero { grid-template-columns:1fr; gap:22px; align-items:start; padding:38px 0 30px; }
  .footer-wordmark { width:245px; min-width:0; height:79px; }
  .footer-visit { width:max-content; }
  .stats > div > span { white-space:normal; line-height:1.25; }
  .booking-form { gap:14px; padding:28px 22px; }
  .booking-form h2 { font-size:42px; }
  .results-panel { padding:24px 20px; }
}

@media (max-width:360px) {
  .header-brand { left:12px; width:235px; min-width:0; background-size:contain; }
}

/* Keep the featured collection focused on its material story on phone-sized screens. */
@media (max-width:600px) {
  .feature { display:block; padding:0; }
  .feature-image { display:none; }
  .feature-copy { padding:58px 20px 62px; }
  .feature-copy .kicker { margin-bottom:14px; }
  .feature-copy h2 { max-width:300px; margin-bottom:16px; font-size:clamp(46px,13vw,58px); line-height:.92; }
  .feature-copy .feature-detail { margin-top:0; font-size:14px; line-height:1.7; }
  .feature-meta { grid-template-columns:repeat(3,1fr); margin-top:30px; }
  .feature-meta div { min-width:0; padding:14px 8px 0 0; }
  .feature-meta div + div { padding-left:8px; border-left:1px solid var(--line); }
  .feature-meta small { font-size:8px; line-height:1.35; }
  .feature-meta strong { font-size:11px; line-height:1.35; }
  .feature-cta { display:flex; width:100%; margin-top:30px; }
  .visualiser { display:flex; min-height:0; flex-direction:column; }
  .visualiser-copy { order:0; display:block; padding:58px 20px 46px; }
  .visualiser-copy h2 { margin-bottom:16px; font-size:clamp(42px,12vw,54px); }
  .visualiser-copy > p:not(.kicker) { margin-bottom:26px; }
  .visualiser-copy .button { display:flex; width:100%; }
  .compare { order:1; min-height:0; aspect-ratio:4 / 5; }
  .collections-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; justify-content:normal; text-align:left; }
  .collections-head > div:first-child { text-align:left; }
  .collections-head h2 { font-size:clamp(34px,10vw,44px); }
  .collection-summary { max-width:none; margin-top:6px; }
  .collection-controls { position:static; align-self:start; }
  .collection-control { width:42px; height:42px; }
  .finder-toggle { min-height:62px; padding-right:20px; padding-left:20px; }
  .space-card strong { min-height:34px; align-items:center; padding:5px 14px; }
}

@media (max-width:600px) {
  .footer { padding-right:20px; padding-left:20px; }
  .footer-hero { gap:16px; padding:30px 0 24px; }
  .footer-hero p { font-size:13px; line-height:1.55; }
  .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 16px; padding:26px 0; }
  .footer-top .footer-brand { display:contents; }
  .footer-top .footer-brand .footer-wordmark,
  .footer-top .footer-brand > p { display:none; }
  .footer-top .footer-brand .footer-social { grid-column:1 / -1; margin-top:-8px; }
  .footer nav { gap:3px; }
  .footer nav a { padding:3px 0; font-size:11px; line-height:1.4; }
  .footer address { grid-column:1 / -1; padding-top:18px; border-top:1px solid #40413d; }
  .footer-bottom { padding:13px 0 18px; }
  .footer-bottom div { flex-direction:row; flex-wrap:nowrap; justify-content:center; gap:12px; white-space:nowrap; }
}

@media (min-width:1101px) {
  .header { height:128px; }
  .header-brand { width:400px; min-width:400px; height:120px; }
  .hero { height:min(690px,calc(100vh - 128px)); }
  .space-page .hero { height:min(620px,calc(100vh - 128px)); }
}

@media (min-width:1200px) {
  .header { height:146px; }
  .header-brand { width:460px; min-width:460px; height:138px; }
  .hero { height:min(690px,calc(100vh - 146px)); }
  .space-page .hero { height:min(620px,calc(100vh - 146px)); }
}

/* Enlarge the desktop mark by cropping its extra vertical canvas, not the header. */
@media (min-width:1101px) {
  .header { height:104px; }
  .header-brand { width:400px; min-width:400px; height:104px; background-size:auto 120px; }
  .hero { height:min(690px,calc(100vh - 104px)); }
  .space-page .hero { height:min(620px,calc(100vh - 104px)); }
}

@media (min-width:1200px) {
  .header-brand { width:460px; min-width:460px; height:104px; background-size:auto 138px; }
}

@media (min-width:1300px) {
  .header-brand { width:540px; min-width:540px; height:104px; background-size:auto 162px; }
}

@media (min-width:1450px) {
  .header-brand { width:620px; min-width:620px; height:104px; background-size:auto 186px; }
}





/* Catalogue access across the shared header and browsing sections. */
.catalogue-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:28px; }
.catalogue-actions .collection-page-link { margin:0; }
.inspiration-catalogue { display:flex; justify-content:center; margin:-16px 0 32px; }
.desktop-nav .nav-catalogue { display:none; }
.header-tools .catalogue-cta { white-space:nowrap; }
@media (min-width:901px) {
  .header-brand { width:clamp(240px,30vw,440px); min-width:0; flex-shrink:1; }
  .desktop-nav { gap:18px; margin-right:12px; }
  .header-tools { flex-shrink:0; }
  .header-tools .header-cta { padding:0 12px; font-size:10px; }
}
@media (max-width:900px) {
  .desktop-nav .nav-catalogue { display:block; color:var(--gold); }
}
@media (max-width:600px) {
  .catalogue-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .inspiration-catalogue { margin:-12px 0 24px; }
}
/* Keep navigation visible and leave room above in-page destinations. */
html { scroll-padding-top:116px; }
.header { position:sticky; top:0; z-index:100; }
@media (max-width:900px) {
  html { scroll-padding-top:calc(var(--mobile-header-height) + 12px); }
  .desktop-nav.is-open { max-height:calc(100dvh - var(--mobile-header-height)); overflow-y:auto; }
}
/* Full customer reviews with aligned attribution. */
.quote-grid blockquote { display:flex; flex-direction:column; }
.quote-grid blockquote p { margin:0; color:var(--ink); font:inherit; }
.quote-grid blockquote footer { margin-top:auto; padding-top:26px; }

/* Filtered gallery images must stay hidden despite the shared image display rule. */
.space-gallery-grid img[hidden] { display:none; }

/* Showroom map replaces the Company footer column. */
.footer-top > * { min-width:0; }
.footer-map iframe { display:block; width:100%; height:210px; border:1px solid #40413d; }
.footer-map > a { display:inline-block; margin-top:10px; color:#cbc7bd; font-size:11px; }
.footer-map > a:hover { color:var(--gold); }
@media (max-width:900px) {
  .footer-map,.footer-top > address { grid-column:1 / -1; }
  .footer-map iframe { height:240px; }
}
