@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap";:root{--cream:#faf7f1;--cream-deep:#efe8da;--ink:#211d18;--ink-soft:#4a443c;--line:#e2d9c7;--thread:#a8501f;--thread-dark:#8a3e17;--sage:#6e6a52;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Inter", -apple-system, sans-serif;--wrap:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--thread);outline-offset:2px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:500}h1{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.08}h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}h3{font-size:1.15rem;font-weight:500}p{margin:0}.eyebrow{font-family:var(--serif);color:var(--thread);font-size:1.05rem;font-style:italic}.lede{color:var(--ink-soft);max-width:46ch;font-size:1.05rem}.btn{border:1px solid var(--ink);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 28px;font-size:.95rem;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.btn:hover,.btn.solid{background:var(--ink);color:var(--cream)}.btn.solid:hover{background:var(--thread);border-color:var(--thread)}.btn.thread{border-color:var(--thread);color:var(--thread-dark)}.btn.thread:hover{background:var(--thread);color:#fff}.nav-outer{z-index:40;background:var(--cream);padding:18px 24px 0;position:sticky;top:0}.nav{max-width:var(--wrap);background:#141110;border-radius:999px;margin:0 auto;box-shadow:0 14px 30px -12px #14100c73}.nav .wrap{justify-content:space-between;align-items:center;height:64px;padding-left:8px;padding-right:8px;display:flex}.brand{font-family:var(--serif);letter-spacing:.01em;color:#fff;flex:none;align-items:center;gap:10px;font-size:1rem;display:flex}.brand-mark{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-mark svg{width:18px;height:18px}.nav-links{color:#ffffffd1;gap:24px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.nav-links a{color:#ffffffd1;border-bottom:1px solid #0000;padding:6px 0}.nav-links a:hover,.nav-links a.active{color:#fff;border-color:var(--thread)}.nav-cta{flex:none;align-items:center;gap:12px;display:flex}.nav-cta .btn.solid{color:var(--ink);background:#fff;border-color:#fff;padding:11px 24px;font-size:.88rem}.nav-cta .btn.solid:hover{background:var(--thread);color:#fff;border-color:var(--thread)}.nav-toggle{cursor:pointer;background:0 0;border:none;padding:8px;display:none}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{content:"";background:#fff;width:20px;height:1.5px;display:block;position:relative}.nav-toggle span:before{position:absolute;top:-6px}.nav-toggle span:after{position:absolute;top:6px}@media (width<=860px){.nav-outer{padding:14px 16px 0}.nav-links{background:#141110;border-radius:20px;flex-direction:column;gap:0;max-height:0;transition:max-height .25s;position:absolute;top:78px;left:16px;right:16px;overflow:hidden}.nav-links.open{max-height:420px;padding:8px 0}.nav-links li{border-top:1px solid #ffffff14;padding:14px 24px}.nav-links li:first-child{border-top:none}.nav-toggle{display:block}.nav-cta .btn.solid{display:none}}.hero{text-align:center;justify-content:center;align-items:center;height:min(86vh,720px);min-height:480px;margin-top:20px;padding-top:40px;display:flex;position:relative;overflow:hidden}.hero img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:2;color:#fff;max-width:760px;padding:0 24px;position:relative}.hero-content h1{color:#fff}.hero-content p{color:#ffffffdb;margin-top:16px;font-size:1.05rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px;display:flex}.hero-actions .btn{color:#fff;border-color:#fff}.hero-actions .btn:hover{color:var(--ink);background:#fff}.hero-actions .btn.solid{background:var(--thread);border-color:var(--thread);color:#fff}.hero-actions .btn.solid:hover{color:var(--ink);background:#fff}.hero img{object-fit:cover;z-index:0;opacity:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.hero img.active{opacity:1}.page-hero{text-align:center;padding:150px 0 70px}.page-hero .eyebrow{margin-bottom:14px;display:block}.page-hero .lede{margin:18px auto 0}section{padding:88px 0}.section-head{text-align:center;max-width:640px;margin:0 auto 52px}.section-head.left{text-align:left;margin:0 0 52px}.section-head .eyebrow{margin-bottom:12px;display:block}.alt{background:var(--cream-deep)}.grid{gap:28px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=920px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.split{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.split.reverse .split-media{order:2}@media (width<=840px){.split{grid-template-columns:1fr;gap:32px}.split.reverse .split-media{order:0}}.split-media img{border-radius:2px}.card{border:1px solid var(--line);background:#fff}.service-card{border:1px solid var(--line);background:#fff;flex-direction:column;padding:0;display:flex}.service-card img{aspect-ratio:4/3;object-fit:cover}.service-card .body{flex-direction:column;flex:1;gap:10px;padding:24px;display:flex}.service-card .body p{color:var(--ink-soft);flex:1;font-size:.93rem}.service-card .body a{color:var(--thread-dark);border-bottom:1px solid var(--thread-dark);align-self:flex-start;font-size:.88rem}.stat-row{text-align:center;flex-wrap:wrap;justify-content:center;gap:56px;display:flex}.stat-row .num{font-family:var(--serif);color:var(--thread);font-size:2.4rem}.stat-row .label{color:var(--ink-soft);margin-top:4px;font-size:.85rem}.step{border-top:1px solid var(--line);gap:22px;padding:26px 0;display:flex}.step:last-child{border-bottom:1px solid var(--line)}.step .idx{font-family:var(--serif);color:var(--thread);flex:0 0 52px;font-size:1.3rem}.step h3{margin-bottom:6px}.step p{color:var(--ink-soft);max-width:56ch;font-size:.93rem}.feature{border:1px solid var(--line);background:#fff;padding:26px}.feature h3{margin-bottom:8px}.feature p{color:var(--ink-soft);font-size:.9rem}.testi-card{border:1px solid var(--line);background:#fff;flex-direction:column;gap:16px;padding:28px;display:flex}.testi-card .quote{font-family:var(--serif);color:var(--ink);font-size:1.05rem}.testi-card .who{align-items:center;gap:12px;margin-top:auto;display:flex}.testi-card .avatar{background:var(--cream-deep);width:40px;height:40px;font-family:var(--serif);color:var(--thread-dark);border-radius:50%;justify-content:center;align-items:center;display:flex}.testi-card .who .name{font-size:.9rem;font-weight:600}.testi-card .who .role{color:var(--ink-soft);font-size:.78rem}.stars{color:var(--thread);letter-spacing:2px;font-size:.85rem}.newsletter{background:var(--ink);color:var(--cream);text-align:center}.newsletter h2{color:var(--cream)}.newsletter form{border:1px solid #faf7f166;border-radius:999px;gap:0;max-width:420px;margin:28px auto 0;display:flex;overflow:hidden}.newsletter input{color:#fff;background:0 0;border:none;flex:1;padding:14px 20px;font-size:.95rem}.newsletter input::placeholder{color:#faf7f18c}.newsletter button{background:var(--thread);color:#fff;cursor:pointer;border:none;padding:0 24px}footer{position:relative;overflow:hidden}.foot-corner-img{object-fit:cover;pointer-events:none;z-index:0;border-top-left-radius:12px;width:260px;height:auto;position:absolute;bottom:0;right:0}footer .wrap{z-index:1;position:relative}.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;display:grid}.foot-grid h4{text-transform:none;color:var(--ink);font-size:.85rem;font-family:var(--sans);margin-bottom:16px;font-weight:600}.foot-grid ul{color:var(--ink-soft);flex-direction:column;gap:10px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.foot-grid ul a:hover{color:var(--thread-dark)}.foot-brand p{color:var(--ink-soft);max-width:32ch;margin-top:14px;font-size:.9rem}.foot-bottom{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;font-size:.8rem;display:flex}@media (width<=860px){.foot-grid{grid-template-columns:1fr 1fr}}.faq-group{margin-bottom:44px}.faq-group .idx{font-family:var(--serif);color:var(--thread);font-size:1.4rem}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;justify-content:space-between;gap:16px;padding:18px 0;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--serif);color:var(--thread);flex-shrink:0;font-size:1.3rem}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--ink-soft);max-width:66ch;padding:0 0 20px;font-size:.93rem}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.gallery-grid img{aspect-ratio:1;object-fit:cover}@media (width<=800px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.contact-grid{grid-template-columns:1fr 1fr;gap:64px;display:grid}@media (width<=840px){.contact-grid{grid-template-columns:1fr}}.field{margin-bottom:20px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:.85rem;display:block}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:2px;padding:13px 16px;font-family:inherit;font-size:.95rem}.field textarea{resize:vertical;min-height:120px}.contact-info-item{border-top:1px solid var(--line);gap:16px;padding:20px 0;display:flex}.contact-info-item:last-child{border-bottom:1px solid var(--line)}.contact-info-item .tag{font-family:var(--serif);color:var(--thread);flex:0 0 130px;font-size:.85rem}.cat-rail{scrollbar-width:none;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.cat-rail::-webkit-scrollbar{display:none}.cat-rail a{border:1px solid var(--line);white-space:nowrap;color:var(--ink-soft);border-radius:999px;flex:none;padding:9px 20px;font-size:.85rem}.cat-rail a:hover{border-color:var(--thread);color:var(--thread-dark)}.cat-tile{flex-direction:column;gap:14px;display:flex}.cat-tile img{aspect-ratio:4/3;object-fit:cover}.cat-tile .name{font-family:var(--serif);font-size:1.05rem}.cat-tile .name .arrow{color:var(--thread);margin-left:6px}.bento{grid-template-rows:1fr 1fr;grid-template-columns:1.3fr 1fr 1fr;gap:20px;display:grid}.bento .big{grid-row:span 2}.bento .cat-tile img{aspect-ratio:auto;height:100%}.bento .big img{aspect-ratio:3/4}.bento>.cat-tile:not(.big) img{aspect-ratio:16/10}@media (width<=860px){.bento{grid-template-rows:none;grid-template-columns:1fr}.bento .big{grid-row:auto}.bento .big img,.bento .cat-tile img{aspect-ratio:4/3!important}}.overlay-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.overlay-tile{position:relative}.overlay-tile img{aspect-ratio:16/10;object-fit:cover;width:100%}.overlay-tile:after{content:"";background:linear-gradient(#0000 55%,#14100ca6);position:absolute;inset:0}.overlay-tile span{z-index:2;color:#fff;font-family:var(--serif);font-size:1.05rem;position:absolute;bottom:16px;left:20px}@media (width<=700px){.overlay-row{grid-template-columns:1fr}}.scroll-strip{scroll-snap-type:x mandatory;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.scroll-strip::-webkit-scrollbar{height:6px}.scroll-strip::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.scroll-item{scroll-snap-align:start;flex:none;width:280px}.scroll-item img{aspect-ratio:4/3;object-fit:cover;width:100%}.scroll-item .cap{color:var(--ink-soft);margin-top:10px;font-size:.9rem}.showroom-item{flex-direction:column;gap:10px;display:flex}.showroom-item img{aspect-ratio:4/3;object-fit:cover}.showroom-item .name{font-size:.95rem;font-weight:500}.showroom-item .cap{color:var(--ink-soft);font-size:.85rem}.showroom-item a{color:var(--thread-dark);border-bottom:1px solid var(--thread-dark);align-self:flex-start;margin-top:2px;font-size:.82rem}
