@font-face{font-family:Instrument Sans;src:url(assets/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Instrument Serif;src:url(assets/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{color-scheme:dark;--bg:#171613;--panel:#1d1b17;--surface:#24211c;--ink:#f4efe8;--muted:#beb4a8;--copper:#e3ad79;--line:#3a342c;--wrap:1320px;--gutter:clamp(22px,4.25vw,68px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Instrument Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
::selection{color:var(--bg);background:var(--copper)}
.wrap{width:min(calc(100% - 2 * var(--gutter)),var(--wrap));margin-inline:auto}
.sr-only,.trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;z-index:8;top:12px;left:12px;padding:12px;background:var(--copper);color:var(--bg);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--line)}
.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}
.brand{display:inline-flex;align-items:center;flex:none}
.brand img{width:106px;height:auto}
.header-inner{padding-block:8px}
.header-inner .brand img{width:159px}
.nav{display:flex;align-items:center;gap:clamp(20px,3.4vw,48px);font-size:14px}
.nav>a:not(.button){color:var(--muted);transition:color .2s}
.nav>a:hover,.text-link:hover,.publishing-credit:hover{color:var(--copper)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:49px;padding:10px 17px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:650;line-height:1.25;text-align:center;transition:background .2s,border-color .2s,color .2s}
.button span,.text-link span{font-family:Arial,sans-serif;font-size:16px}
.button-outline{border-color:#67513d;color:var(--ink)}
.button-outline:hover{border-color:var(--copper);background:#2b231b}
.button-accent{background:var(--copper);color:#1d1711}
.button-accent:hover{background:#f0c39b}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink);padding:11px}
.menu-toggle span:not(.sr-only){display:block;height:1px;margin-block:6px;background:currentColor}
.hero{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);align-items:center;gap:clamp(18px,3.3vw,57px);padding-block:clamp(32px,5vw,74px)}
.hero-copy{padding-block:30px}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--copper);font-size:11px;font-weight:650;letter-spacing:.16em;text-transform:uppercase}
.eyebrow>span{width:23px;height:1px;background:currentColor;flex:none}
h1,h2{font-weight:500;line-height:.98;letter-spacing:-.065em;text-wrap:balance}
h1{font-size:clamp(49px,5.6vw,92px);margin-block:22px 23px}
h2{font-size:clamp(46px,5.2vw,77px);margin-top:16px}
h1 em,h2 em{font-family:"Instrument Serif",Georgia,serif;font-weight:400;color:var(--copper);letter-spacing:-.028em}
.hero-text,.contact-text,.section-intro>p{color:var(--muted);font-size:clamp(16px,1.35vw,19px);max-width:42ch}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}
.text-link{display:inline-flex;align-items:center;gap:9px;font-size:14px;white-space:nowrap}
.hero-figure{position:relative;background:var(--surface);aspect-ratio:1.14;overflow:hidden}
.hero-figure img,.photo-link img{width:100%;height:100%;object-fit:cover}
.hero-figure img{object-position:center 56%}
.tile-section,.contact-section{background:var(--panel);border-block:1px solid var(--line)}
.tile-section,.flooring-section,.contact-section{padding-block:clamp(60px,7.2vw,108px);scroll-margin-top:20px}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:35px}
.section-intro>p{max-width:37ch}
.tile-grid,.floor-grid{display:grid;gap:clamp(14px,2vw,28px)}
.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.floor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tile-card,.floor-card{min-width:0;border:1px solid var(--line);background:var(--bg)}
.floor-card{background:var(--panel)}
.photo-link{display:block;position:relative;overflow:hidden;aspect-ratio:1.42;background:var(--surface)}
.floor-card .photo-link{aspect-ratio:1.76}
.photo-link img{transition:transform .35s ease;object-position:center 55%}
.photo-link:hover img,.photo-link:focus-visible img{transform:scale(1.045)}
.photo-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#181510e8;color:var(--ink);font:16px Arial,sans-serif}
.tile-card-copy,.floor-card-copy{padding:clamp(15px,2.2vw,29px)}
h3{font-size:clamp(21px,2vw,29px);font-weight:550;line-height:1.2;letter-spacing:-.04em}
.tile-card p,.floor-card p{margin-top:10px;color:var(--muted);font-size:15px}
.contact-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,6vw,100px)}
.contact-text{margin-top:22px}
.quote-form,.form-field{display:grid;gap:8px}
.quote-form{gap:17px}
.quote-form label{font-size:14px;font-weight:600}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-field{align-content:start;min-width:0}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #51473b;border-radius:3px;background:var(--bg);color:var(--ink);font-weight:400}
.quote-form textarea{resize:vertical}
.quote-form ::placeholder{color:#a89c90}
.quote-form [aria-invalid="true"]{border-color:#f3a29a}
.field-error{font-size:13px;color:#f3a29a}
.security-check:empty{display:none}
.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.form-status{font-size:14px;color:var(--copper)}
.quote-success{display:grid;align-self:start;justify-items:start;gap:14px;padding:clamp(22px,4vw,46px);border:1px solid #67513d;background:var(--bg)}
.quote-success-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--copper);border-radius:50%;color:var(--copper);font-size:22px}
.quote-success p{max-width:40ch;color:var(--muted)}
.quote-success .button{margin-top:8px}
.footer-inner{min-height:112px}
.footer-inner small{color:var(--muted);text-align:center}
.publishing-credit{display:flex;align-items:center;gap:10px;flex:none;color:var(--muted);font-size:13px}
.publishing-credit img{width:160px;height:80px;object-fit:contain}
.lightbox{width:min(94vw,1140px);max-width:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:0}
.lightbox::backdrop{background:#100e0cec}
.lightbox-inner{position:relative;padding:47px clamp(35px,5vw,66px) 16px}
.lightbox figure{display:grid;gap:10px}
.lightbox img{width:100%;height:auto;max-height:73vh;object-fit:contain}
.lightbox figcaption{text-align:center;color:var(--muted);font-size:14px}
.lightbox button{position:absolute;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);font:25px/1 Arial,sans-serif}
.lightbox-close{right:10px;top:5px}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%)}
.lightbox-prev{left:3px}
.lightbox-next{right:3px}
@media(max-width:1060px){
    .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hero-actions{gap:15px}
    .tile-card h3{font-size:22px}
}
@media(max-width:760px){
    .header-inner{min-height:74px;position:relative}
    .brand img{width:91px}
    .header-inner .brand img{width:136.5px}
    .menu-toggle:not([hidden]){display:block}
    .nav{gap:13px;flex-wrap:wrap}
    .nav[data-collapsible]{position:absolute;inset:100% 0 auto;z-index:3;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 17px 16px;background:var(--panel);border:1px solid var(--line)}
    .nav[data-open]{display:flex}
    .nav[data-collapsible]>a:not(.button){padding:12px 0}
    .nav-quote{margin-top:7px}
    .hero{grid-template-columns:1fr;gap:26px;padding-block:42px 30px}
    .hero-copy{padding-block:0}
    .hero h1{font-size:clamp(47px,9vw,68px)}
    .hero-figure{aspect-ratio:1.3}
    .section-intro{display:grid;gap:17px;margin-bottom:24px}
    .tile-grid{grid-template-columns:1fr}
    .tile-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center}
    .tile-card .photo-link{height:100%;min-height:140px;aspect-ratio:auto}
    .contact-inner{grid-template-columns:1fr}
    .publishing-credit img{width:144px;height:72px}
    .footer-inner{gap:12px;flex-wrap:wrap;min-height:90px}
}
@media(max-width:450px){
    .tile-card,.floor-grid,.form-row{grid-template-columns:1fr}
    .tile-card .photo-link{height:auto;aspect-ratio:1.47}
    .floor-card .photo-link{aspect-ratio:1.47}
    .footer-inner small{order:3;width:100%;text-align:left;padding-bottom:15px}
    .publishing-credit{gap:4px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{transition:none!important}
}
