@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#242626;--muted:#656764;--warm:#f7f5f1;--sand:#c5a98b;--dark:#25292b;--line:#e7e3de}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}.js-container{max-width:1230px;width:calc(100% - 64px);margin:auto}
.js-topbar{background:#252525;color:#fff;font-size:11px}.js-topbar .js-container{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:34px}.js-topbar .js-container>div{display:flex;gap:22px}.js-topbar a:hover{text-decoration:underline}
.js-header{background:#fff;position:relative;z-index:5;box-shadow:0 1px 12px #0000000a}.js-navwrap{min-height:98px;display:flex;align-items:center;gap:28px;justify-content:space-between}.js-logo{width:166px;flex-shrink:0}.js-logo img{width:100%;height:auto}.js-header nav{display:flex;align-items:center;gap:19px}.js-header nav a{font-size:12px;font-weight:700;color:#444;white-space:nowrap}.js-header nav a:hover,.js-header nav a[aria-current]{color:#a0805f}.js-nav-cta{background:var(--dark);color:#fff;font-size:12px;font-weight:700;padding:12px 20px;white-space:nowrap}.js-nav-cta span{padding-left:8px}.js-menu-button{display:none;background:none;border:1px solid #ccc;padding:8px 12px}
.js-hero{height:590px;position:relative;overflow:hidden;background:#ece7e0}.js-hero-image{position:absolute;inset:0;background:url('https://static.wixstatic.com/media/11062b_19a5caf9d29b418ab971c096a1a7126c~mv2.jpg/v1/fill/w_1920,h_1000,al_c,q_90/11062b_19a5caf9d29b418ab971c096a1a7126c~mv2.jpg') center 47%/cover no-repeat}.js-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#13151683 0%,#1717172c 61%,transparent)}.js-hero-content{height:100%;display:flex;align-items:center;position:relative;z-index:1}.js-hero-panel{max-width:580px;color:#fff;padding:25px 0;text-shadow:0 2px 10px #0004}.js-eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.js-hero h1,.js-section h2,.js-story h2,.js-contact-section h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.035em}.js-hero h1{font-size:clamp(50px,5.4vw,78px);line-height:1.08;margin:18px 0}.js-hero h1 em{font-weight:400}.js-hero p{font-size:16px;line-height:1.8;max-width:510px;margin:0 0 30px}.js-buttons{display:flex;gap:12px;flex-wrap:wrap}.js-btn{font-size:12px;letter-spacing:.035em;font-weight:700;padding:14px 23px;min-height:47px;display:inline-flex;gap:26px;align-items:center;justify-content:center;transition:transform .2s,background .2s}.js-btn:hover{transform:translateY(-2px)}.js-btn-primary{background:var(--sand);color:#202020}.js-btn-secondary{border:1px solid #fff;color:#fff}.js-btn-light{background:#fff;color:#222}
.js-section{padding:92px 0}.js-products{background:var(--warm)}.js-section-heading{text-align:center;margin:0 auto 45px}.js-section-heading .js-eyebrow{color:#997d5f}.js-section-heading h2{font-size:clamp(34px,3.5vw,49px);line-height:1.2;margin:13px 0}.js-section-heading p{color:var(--muted);margin:0}.js-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.js-card{background:#fff;box-shadow:0 6px 26px #00000008;overflow:hidden}.js-card-photo{height:240px;overflow:hidden;display:block;background:#e2dfd8}.js-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.js-card:hover .js-card-photo img{transform:scale(1.035)}.js-card-content{padding:24px 22px 28px}.js-card h3{font:500 24px/1.25 'Playfair Display',Georgia,serif;margin:0 0 12px}.js-card p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 23px;min-height:68px}.js-text-link{font-size:12px;font-weight:700;color:#8b6f50}.js-text-link span{margin-left:5px}
.js-story{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.js-story-photo{min-height:520px;overflow:hidden}.js-story-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.js-story-content{background:#282c2c;color:#fff;padding:90px clamp(36px,7vw,125px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.js-story-content .js-eyebrow{color:#dbc5ad}.js-story h2{font-size:clamp(40px,4vw,59px);line-height:1.2;margin:16px 0 20px}.js-story p{max-width:520px;font-size:14px;color:#e3e3df;line-height:1.85;margin:0 0 17px}.js-story .js-btn{margin-top:16px}
.js-owner{background:#fff}.js-owner-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:center}.js-owner-copy{max-width:650px}.js-owner-copy .js-eyebrow{color:#997d5f}.js-owner h2{font-size:clamp(38px,4vw,54px);line-height:1.2;margin:16px 0 24px}.js-owner p{font-size:15px;color:#626461;line-height:1.85;margin:0 0 17px}.js-owner-image{height:440px;overflow:hidden;background:#eee}.js-owner-image img{height:100%;width:100%;object-fit:cover;object-position:center 40%}
.js-contact-section{background:#272b2c;color:#fff;padding:80px 0}.js-contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.js-contact-section .js-eyebrow{color:#d0b79d}.js-contact-section h2{font-size:clamp(38px,4vw,56px);line-height:1.15;max-width:560px;margin:17px 0}.js-contact-section p{color:#d3d3d3;max-width:530px;font-size:14px;margin:0 0 25px}.js-contact-links{border-left:1px solid #626462;padding-left:40px;display:grid;gap:30px;min-width:0}.js-contact-links a{display:grid;gap:6px;overflow-wrap:anywhere}.js-contact-links small{font-size:11px;letter-spacing:.14em;color:#d0b79d}.js-contact-links strong{font-size:19px;font-weight:500}
.js-footer{background:#f5f3ef;padding:28px 0}.js-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.js-footer img{width:150px}.js-footer-inner>div{display:flex;gap:22px;font-size:12px;color:#666;flex-wrap:wrap}
@media(max-width:1100px){.js-header nav{gap:11px}.js-header nav a{font-size:11px}.js-nav-cta{display:none}.js-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.js-card-photo{height:280px}.js-owner-grid{gap:40px}}
@media(max-width:800px){.js-container{width:calc(100% - 36px)}.js-topbar .js-container>span{display:none}.js-topbar .js-container>div{width:100%;justify-content:center;flex-wrap:wrap;gap:4px 16px;padding:5px 0}.js-navwrap{min-height:76px}.js-logo{width:145px}.js-menu-button{display:inline-flex;align-items:center;gap:6px}.js-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:15px 24px 24px;box-shadow:0 12px 20px #0001;align-items:stretch;flex-direction:column;gap:0}.js-header nav.open{display:flex}.js-header nav a{padding:10px 0;font-size:14px;border-bottom:1px solid #eee}.js-hero{height:550px}.js-hero::after{background:#14151480}.js-hero-panel{max-width:580px}.js-story{grid-template-columns:1fr}.js-story-photo{min-height:360px;height:360px}.js-story-content{padding:65px 32px}.js-owner-grid,.js-contact-grid{grid-template-columns:1fr;gap:30px}.js-owner-image{height:380px}.js-contact-links{border-left:0;border-top:1px solid #626462;padding:26px 0 0}}
@media(max-width:520px){.js-hero{height:510px}.js-hero h1{font-size:49px}.js-hero p{font-size:14px}.js-section{padding:65px 0}.js-card-grid{grid-template-columns:1fr;gap:20px}.js-card-photo{height:245px}.js-card p{min-height:0}.js-section-heading{margin-bottom:32px}.js-story-photo{height:260px;min-height:260px}.js-story-content{padding:54px 24px}.js-owner-image{height:300px}.js-contact-section{padding:60px 0}.js-contact-links strong{font-size:16px}.js-footer-inner{align-items:flex-start;flex-direction:column}.js-topbar{font-size:10px}}

/* Shared product and information page layouts */
.js-inner-lead{max-width:1230px;width:calc(100% - 64px);margin:0 auto;padding:78px 0 90px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}
.js-inner-lead-copy .js-eyebrow{color:#9d7d5b}
.js-inner-lead h1{font:500 clamp(42px,4.2vw,67px)/1.14 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:16px 0 24px}
.js-inner-lead p{color:#5d625e;font-size:15px;line-height:1.85;margin:0 0 19px}
.js-inner-lead .js-btn{margin-top:12px}
.js-inner-image{height:495px;background:#eee;overflow:hidden}
.js-inner-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.js-inner-heading{font:500 clamp(32px,3.3vw,47px)/1.25 'Playfair Display',Georgia,serif;text-align:center;margin:0 0 32px}
.js-inner-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.js-inner-gallery .gallery-image{padding:0;border:0;background:#e9e5df;cursor:zoom-in;height:250px;overflow:hidden}
.js-inner-gallery .gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.js-inner-gallery .gallery-image:hover img{transform:scale(1.04)}
.js-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.js-benefits>div{background:white;padding:25px 22px;border:1px solid #e4dfd9;font-size:14px;text-align:center;font-weight:600}
.js-inner-bottom{text-align:center;background:#292d2d;color:white;padding:65px 24px 70px}
.js-inner-bottom h2{font:500 clamp(34px,4vw,50px)/1.2 'Playfair Display',Georgia,serif;margin:0 0 15px}
.js-inner-bottom p{color:#ddd;margin:0 0 24px}
.js-center{text-align:center;max-width:850px}
.js-center p{font-size:15px;color:#606060}
.js-center .js-btn{margin-top:16px}
.lightbox[hidden]{display:none!important}
.lightbox{position:fixed;inset:0;background:#000e;z-index:50;display:flex;justify-content:center;align-items:center;padding:60px 25px}
.lightbox img{max-width:95vw;max-height:88vh;object-fit:contain}
.lightbox-close{position:absolute;right:22px;top:14px;color:white;background:transparent;border:0;font-size:44px;cursor:pointer}
@media(max-width:800px){.js-inner-lead{width:calc(100% - 36px);padding:55px 0;grid-template-columns:1fr;gap:28px}.js-inner-image{height:330px;order:-1}.js-inner-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.js-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.js-inner-lead h1{font-size:39px}.js-inner-image{height:250px}.js-inner-gallery{grid-template-columns:1fr}.js-inner-gallery .gallery-image{height:245px}.js-benefits{grid-template-columns:1fr}.js-benefits>div{padding:18px}.js-inner-bottom{padding:55px 22px}}

/* Accommodate full, original product descriptions without clipping. */
.js-card-grid{align-items:stretch}
.js-card{display:flex;flex-direction:column}
.js-card-content{display:flex;flex-direction:column;flex:1}
.js-card-content p{min-height:0;flex:1;overflow-wrap:break-word}
.js-card-photo img,.js-inner-image img,.js-story-photo img{image-rendering:auto}
.js-owner-image img{object-position:center center}
@media(max-width:1100px){.js-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.js-card-grid{grid-template-columns:1fr}}

/* Fixed architectural flooring backdrop, desktop only.
   Used on the product / feature sections, with legible cards above it. */
@media (min-width: 801px) and (prefers-reduced-motion: no-preference) {
  .js-products {
    background-image: linear-gradient(rgba(247,245,241,.87),rgba(247,245,241,.91)),url('/assets/f6781cb64263415b8934035cfd998b4c.jpg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  .js-owner {
    background-image: linear-gradient(rgba(255,255,255,.93),rgba(255,255,255,.93)),url('/assets/f6781cb64263415b8934035cfd998b4c.jpg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
}
@media (max-width:800px), (prefers-reduced-motion:reduce) {
  .js-products,.js-owner {background-attachment:scroll}
}
.js-products .js-card {background:#fff}
.js-products .js-card-content {background:#fff}
.js-benefits > div{background:#fff}

/* Story image and owner portrait refinements */
.js-story-photo{display:flex;align-items:stretch;background:#ede9e2;overflow:hidden}
.js-story-photo img{object-fit:cover;object-position:center 50%;filter:contrast(1.045) saturate(1.035)}
.js-owner-image{height:470px;padding:12px;background:#efe8dc;border:1px solid #d0b796;box-shadow:0 18px 45px rgba(44,36,27,.15);position:relative;overflow:visible}
.js-owner-image::after{content:"";position:absolute;inset:5px;border:1px solid rgba(156,125,83,.4);pointer-events:none}
.js-owner-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%;border:1px solid #fff}
@media(max-width:800px){.js-owner-image{max-width:520px;margin:auto;width:100%;height:430px}}
@media(max-width:520px){.js-owner-image{height:350px;padding:9px}}
