:root{--ink:#222222;--muted:#686366;--accent:#8d2838;--accent-hover:#6f1c2a;--line:#e8e3e4;--white:#ffffff;--display:Georgia,'Times New Roman',serif;--body:Lato,Arial,sans-serif;--gutter:6vw;--max:1280px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
img{max-width:100%;display:block}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
p,h1,h2,figure{margin:0}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.055em;line-height:1.06}
h2{font-size:clamp(38px,4.45vw,64px)}
em{font-weight:400;color:var(--accent)}
[hidden]{display:none!important}
.nowrap{white-space:nowrap}
.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
.section{padding-block:88px}
.skip-link{position:absolute;top:10px;left:16px;background:var(--white);padding:10px 18px;z-index:20;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:5;border-bottom:1px solid var(--line);background:var(--white)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:102px;gap:40px}
.brand{flex-shrink:0}
.brand img{width:230px;height:auto}
.navigation{display:flex;align-items:center;gap:38px;font-size:15px}
.navigation>a:not(.button){padding-block:20px;transition:color .2s}
.navigation>a:hover{color:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:13px 25px;border:1px solid transparent;font-size:16px;font-weight:700;line-height:1.35;transition:background-color .2s,color .2s,border-color .2s}
.button span{font-size:24px;font-weight:400;line-height:1}
.button-primary{background:var(--accent);color:var(--white);border-color:var(--accent)}
.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.button-outline{border-color:var(--accent);color:var(--accent);background:var(--white)}
.button-outline:hover{background:#f8f0f2}
.header-contact{min-height:48px;padding-inline:30px;margin-left:18px}
.menu-toggle{display:none;background:transparent;border:0;align-items:center;gap:12px;padding:12px 0;font-size:15px}
.hero{position:relative;isolation:isolate;min-height:730px;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-media{position:absolute;z-index:-1;inset:0 0 0 45%;mask-image:linear-gradient(to right,transparent 0%,#000 18%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:52% 38%}
.hero-inner{min-height:730px;display:flex;align-items:center;padding-block:72px}
.hero-copy{width:56%;max-width:650px}
.hero h1{font-size:clamp(74px,7.5vw,112px);line-height:.99;letter-spacing:-.06em}
.hero h1 em{display:inline-block}
.hero-description{font-size:20px;line-height:1.55;max-width:480px;margin-top:28px;color:#474348}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.hero-phone{font-size:15px;margin-top:20px}
.hero-phone a{white-space:nowrap}
.hero-phone a:hover{text-decoration:underline;text-underline-offset:4px}
.brand-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}
.brand-description{max-width:490px}
.brand-description p+p{margin-top:16px;color:var(--muted)}
.size-note{display:inline-block;margin-top:24px;color:var(--accent);font-size:14px;letter-spacing:.05em}
.projects{padding-bottom:60px}
.section-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;align-items:start;margin-bottom:40px}
.section-heading p{max-width:500px;color:var(--muted);font-size:16px}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px}
.gallery-item{position:relative;display:block;width:100%;padding:0;border:0;overflow:hidden;background:#f4f1ed;aspect-ratio:3/4}
.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .45s cubic-bezier(.2,.6,.3,1)}
.gallery-item:hover img{transform:scale(1.035)}
.zoom-mark{display:grid;place-items:center;position:absolute;bottom:12px;right:12px;width:37px;height:37px;border-radius:50%;background:var(--white);color:var(--ink)}
.zoom-mark svg{width:21px;height:21px;stroke-width:1.3}
figcaption{font-size:14px;color:#615b5e;padding-top:12px}
.gallery-more{text-align:center;margin-top:30px}
.text-link{display:inline-flex;align-items:center;gap:15px;border:0;border-bottom:1px solid var(--accent);padding:2px 0 5px;background:transparent;color:var(--accent);font-size:16px;line-height:1.45;transition:color .2s}
.text-link:hover{color:var(--accent-hover)}
.text-link span{font-size:23px;line-height:1}
.design-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding-top:70px;padding-bottom:92px}
.design-section p{max-width:490px}
.swatches{display:flex;gap:10px;margin-block:24px 26px}
.swatches span{width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px rgb(0 0 0 / 6%)}
.swatch-burgundy{background:#8d2838}.swatch-cream{background:#e8dfd1}.swatch-green{background:#31493f}.swatch-navy{background:#283044}.swatch-clay{background:#b47750}
.wholesale{background:var(--accent);color:var(--white)}
.wholesale-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding-block:78px}
.wholesale h2{font-size:clamp(42px,4.6vw,66px)}
.wholesale p{font-size:19px;line-height:1.65;margin-bottom:28px;max-width:510px}
.button-white{background:var(--white);color:var(--accent)}
.button-white:hover{background:#f5e9ed}
.wholesale a:focus-visible{outline-color:var(--white)}
.contact{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:5%;padding-block:92px}
.contact h2{font-size:clamp(38px,3.65vw,52px)}
.contact-heading p{margin-top:22px;font-size:20px;line-height:1.5}
.contact-direct{display:flex;flex-direction:column;gap:31px}
.contact-label{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}
.contact-value{font-family:var(--display);font-size:clamp(23px,2.15vw,31px);line-height:1.35;letter-spacing:-.04em;white-space:nowrap}
.contact-value:hover{color:var(--accent)}
.contact-address{border-left:1px solid var(--line);padding-left:30px;font-size:15px}
address{font-style:normal;line-height:1.7;margin-bottom:18px}
.contact-address .text-link{display:flex;width:fit-content;font-size:14px;margin-top:12px;gap:12px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding-block:32px}
.footer-brand img{width:192px;height:auto}
.footer-brand p{font-size:12px;color:var(--muted);margin-top:8px}
.footer-legal{margin-left:auto;font-size:12px;color:var(--muted)}
.back-top{border-left:1px solid var(--line);font-size:35px;font-weight:400;line-height:1.5;padding-left:30px}
.lightbox{border:0;padding:58px 42px 26px;width:min(950px,calc(100% - 40px));max-height:calc(100dvh - 36px);background:var(--white);color:var(--ink);overflow:auto}
.lightbox::backdrop{background:rgb(24 17 20 / 80%)}
.lightbox-close{position:absolute;top:14px;right:16px;border:0;background:transparent;width:34px;height:34px;display:grid;place-items:center}
.lightbox-close svg{width:24px;height:24px}
.lightbox-stage{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:20px;align-items:center}
.lightbox-stage img{max-height:calc(100dvh - 220px);width:100%;height:auto;object-fit:contain}
.lightbox-prev,.lightbox-next{border:0;background:transparent;font-size:29px;line-height:1;padding:12px 0}
.lightbox-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;font-size:17px}
#lightbox-count{font-size:13px;color:var(--muted)}
.lightbox-note{color:var(--muted);font-size:12px;margin-top:7px}
@media(min-width:1600px){.hero-media{left:47%}.hero-inner{min-height:790px}.hero{min-height:790px}}
@media(max-width:1180px){.navigation{gap:22px;font-size:14px}.header-inner{gap:25px}.brand img{width:205px}.header-contact{margin-left:0;padding-inline:22px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .button{min-width:238px}.hero-description{max-width:410px;font-size:18px}.hero-copy{width:53%}.hero-media{left:43%}.hero,.hero-inner{min-height:730px}.hero h1{font-size:clamp(70px,7.5vw,95px)}.contact{grid-template-columns:1fr 1fr;gap:45px}.contact-heading{grid-column:1/-1}.contact-heading p br{display:none}.contact-direct{gap:23px}.contact-value{font-size:30px}.contact-address{padding-left:40px}.contact-email{white-space:normal}.contact-heading p{margin-top:12px}}
@media(max-width:850px){:root{--gutter:5vw}.header-inner{min-height:86px}.brand img{width:190px}.menu-toggle{display:flex}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);padding:18px var(--gutter) 26px;border-bottom:1px solid var(--line);box-shadow:0 16px 24px rgb(34 22 26 / 6%);align-items:stretch;gap:0}.navigation.is-open{display:flex;flex-direction:column}.navigation>a:not(.button){padding:12px 0}.header-contact{margin-top:12px;width:fit-content}.hero h1{font-size:74px}.hero-media{left:41%;opacity:.95}.hero-copy{width:60%}.hero-description{max-width:330px;font-size:17px}.hero,.hero-inner{min-height:690px}.section{padding-block:64px}.brand-intro,.section-heading,.design-section,.wholesale-inner{gap:8%}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.section-heading h2{font-size:48px}.section-heading{margin-bottom:30px}.wholesale-inner{padding-block:62px}.wholesale p{font-size:17px}.wholesale h2{font-size:46px}.design-section h2{font-size:46px}.swatches span{width:36px;height:36px}.gallery-more{margin-top:24px}}
@media(max-width:600px){:root{--gutter:22px}body{font-size:16px}.header-inner{min-height:78px}.brand img{width:178px}.menu-toggle{font-size:14px}.hero{min-height:0}.hero-inner{min-height:0;padding-block:44px 36px}.hero-copy{width:100%;max-width:none}.hero h1{font-size:clamp(58px,14.5vw,83px);line-height:1.01;letter-spacing:-.06em}.hero-description{margin-top:23px;font-size:17px;max-width:440px}.hero-actions{margin-top:25px;gap:12px;align-items:stretch;flex-direction:column}.hero-actions .button{min-width:0;width:100%;min-height:52px;font-size:15px}.hero-phone{font-size:14px;margin-top:18px}.hero-media{display:block;position:relative;inset:auto;z-index:0;mask-image:none;-webkit-mask-image:none;opacity:1;height:410px;grid-row:2}.hero{display:flex;flex-direction:column}.hero-inner{order:-1}.hero-media img{object-position:50% 30%}.section{padding-block:49px}h2{font-size:42px}.brand-intro{grid-template-columns:1fr;gap:26px}.brand-intro h2 br{display:none}.brand-description{max-width:none}.brand-description p+p{margin-top:13px}.size-note{margin-top:18px}.section-heading{grid-template-columns:1fr;gap:19px;margin-bottom:27px}.section-heading h2{font-size:43px}.section-heading p{font-size:15px}.gallery{gap:23px 14px}.gallery-item{aspect-ratio:2/3}.gallery-item img{object-position:50% 50%}.zoom-mark{width:29px;height:29px;right:8px;bottom:8px}.zoom-mark svg{width:17px;height:17px}figcaption{font-size:12px;padding-top:8px;line-height:1.45}.gallery-more .text-link{font-size:14px}.projects{padding-bottom:39px}.design-section{grid-template-columns:1fr;gap:26px;padding-top:45px;padding-bottom:52px}.design-section h2{font-size:44px}.design-section p{font-size:16px}.design-section .text-link{font-size:15px}.swatches{margin-block:22px}.swatches span{width:38px;height:38px}.wholesale-inner{grid-template-columns:1fr;gap:25px;padding-block:51px}.wholesale h2{font-size:46px}.wholesale h2 br{display:none}.wholesale p{font-size:17px;line-height:1.6;margin-bottom:24px}.button-white{width:100%;font-size:15px;min-height:54px}.contact{grid-template-columns:1fr;gap:32px;padding-block:51px}.contact-heading{grid-column:auto}.contact h2{font-size:43px}.contact-heading p{font-size:18px;margin-top:15px}.contact-direct{gap:24px}.contact-value{font-size:29px}.contact-address{padding:26px 0 0;border-left:0;border-top:1px solid var(--line);font-size:16px}.contact-address .text-link{font-size:15px}.site-footer{flex-wrap:wrap;align-items:flex-start;gap:25px;padding-block:28px}.footer-brand{width:calc(100% - 65px)}.footer-brand img{width:170px}.footer-legal{margin-left:0;order:2;width:100%;font-size:11px}.back-top{margin-left:auto;padding-left:17px;font-size:30px}.lightbox{width:calc(100% - 20px);padding:50px 14px 20px;max-height:calc(100dvh - 20px)}.lightbox-stage{grid-template-columns:24px minmax(0,1fr) 24px;gap:7px}.lightbox-stage img{max-height:calc(100dvh - 220px)}.lightbox-caption{font-size:16px;margin-top:15px}.lightbox-note{font-size:12px;line-height:1.5}.lightbox-prev,.lightbox-next{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:600px){.contact h2{font-size:clamp(34px,10.8vw,43px)}}
