:root{--paper:#FFFFFF;--sage:#EAF2EB;--mist:#D8E0DA;--ink:#242424;--stone:#66706B;--pine:#3F6C53;--brass:#C8A86B;--brass-10:rgba(200,168,107,.12);--ease:cubic-bezier(.22,1,.36,1);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;font-weight:300;color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;color:var(--ink);letter-spacing:-.01em;line-height:1.18;}
em{font-style:italic;font-weight:500;color:var(--pine);}
.eyebrow{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);font-weight:500;display:flex;align-items:center;gap:.7rem;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--brass);display:block;}
.container{max-width:1220px;margin:0 auto;padding:0 6vw;}
section{position:relative;}
.pad{padding:7rem 0;}
@media(max-width:720px){.pad{padding:4.2rem 0;}
}
.bg-sage{background:var(--sage);}
.bg-mist{background:var(--mist);}
.shoji-bg{position:absolute;inset:0;z-index:0;background-image:repeating-linear-gradient(90deg,rgba(36,36,36,.05) 0 1px,transparent 1px 130px),repeating-linear-gradient(0deg,rgba(36,36,36,.05) 0 1px,transparent 1px 130px);-webkit-mask-image:linear-gradient(180deg,black,transparent 92%);mask-image:linear-gradient(180deg,black,transparent 92%);pointer-events:none;}
.rule{width:100%;height:1px;background:var(--mist);}
.rule-thin{width:44px;height:1px;background:var(--brass);}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:1rem 2.1rem;border-radius:3px;cursor:pointer;border:1px solid transparent;transition:all .4s var(--ease);white-space:nowrap;}
.btn-primary{background:var(--pine);color:var(--paper);}
.btn-primary:hover{background:#345a44;}
.btn-line{border-color:var(--ink);color:var(--ink);}
.btn-line:hover{border-color:var(--pine);color:var(--pine);}
.btn-paper{background:var(--paper);color:var(--ink);}
.btn-paper:hover{background:var(--sage);}
.link-underline{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.3rem;}
.link-underline:hover{color:var(--pine);border-color:var(--pine);}
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;transition:background .4s var(--ease),box-shadow .4s,border-color .4s;border-bottom:1px solid transparent;}
header.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-color:var(--mist);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:.75rem 6vw;max-width:1220px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:.6rem;}
.brand img{height:32px;width:auto;}
.brand span{font-family:'Fraunces',serif;font-size:1.02rem;letter-spacing:0;}
nav.primary-nav{display:flex;align-items:center;gap:1.9rem;}
nav.primary-nav a{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);position:relative;padding:.2rem 0;}
nav.primary-nav a:hover{color:var(--pine);}
.nav-cta{display:flex;align-items:center;gap:1.3rem;}
.nav-cta .btn-primary{padding:.7rem 1.5rem;font-size:.7rem;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1100;}
.hamburger span{width:22px;height:1.5px;background:var(--ink);transition:.3s;}
@media(max-width:940px){nav.primary-nav{position:fixed;top:0;right:0;left:26%;height:100vh;height:100dvh;background:var(--paper);z-index:1050;overflow-y:auto;flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem 2.2rem;gap:1.7rem;transform:translateX(100%);transition:transform .5s var(--ease);box-shadow:-30px 0 60px rgba(0,0,0,.08);}
nav.primary-nav.open{transform:translateX(0);}
nav.primary-nav a{font-size:1.05rem;}
.nav-cta .btn-primary{display:none;}
.hamburger{display:flex;}
}
.hero{min-height:74vh;display:flex;align-items:center;padding:4.5rem 0 2.5rem;background:var(--sage);position:relative;overflow:hidden;}
@media(max-width:980px){.hero{min-height:auto;align-items:flex-start;padding:5.5rem 0 2.5rem;}
}
.hero-grid{max-width:1220px;margin:0 auto;width:100%;padding:0 6vw;display:grid;grid-template-columns:1fr .92fr;gap:4vw;align-items:stretch;position:relative;z-index:1;}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:2rem;align-items:start;}
}
.hero-logo{width:clamp(320px,36vw,560px);max-width:100%;margin-bottom:1.1rem;}
@media(max-width:980px){.hero-logo{width:100vw;max-width:640px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:.5rem;margin-top:0;display:block;}
}
.hero-copy{margin-top:0;}
@media(max-width:980px){.hero-copy{margin-top:0;}
}
.hero-copy h1{font-size:clamp(1.85rem,3.6vw,2.8rem);margin-bottom:.9rem;}
.hero-copy p.sub{font-size:.94rem;color:var(--stone);max-width:420px;margin-bottom:1.7rem;}
.hero-ctas{display:flex;gap:1.3rem;flex-wrap:wrap;align-items:center;}
@media(max-width:980px){.hero-copy h1{font-size:clamp(2.3rem,4.6vw,3.5rem);margin-bottom:1.2rem;}
.hero-copy p.sub{font-size:1.05rem;max-width:460px;margin-bottom:2.3rem;}
}
.hero-visual{position:relative;}
@media(max-width:980px){.hero-visual{height:420px;width:100%;max-width:480px;margin:0 auto;}
}
@media(max-width:520px){.hero-visual{height:360px;}
}
.card-stack{position:absolute;inset:0;}
.stack-card{position:absolute;border-radius:26px;overflow:hidden;box-shadow:0 30px 60px rgba(36,36,36,.16),0 8px 20px rgba(36,36,36,.08);}
.stack-card img{width:100%;height:100%;object-fit:cover;}
.stack-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,20,18,.72) 0%,rgba(20,20,18,.15) 45%,transparent 65%);}
.stack-card .label{position:absolute;left:22px;bottom:20px;color:#fff;}
.stack-card .label b{display:block;font-family:'Jost',sans-serif;font-weight:500;font-size:1.02rem;letter-spacing:.01em;}
.stack-card .label span{display:block;font-size:.76rem;color:rgba(255,255,255,.82);margin-top:.15rem;}
.card-living{left:38%;top:0;width:58%;height:56%;z-index:1;}
.card-kitchen{left:0;top:20%;width:42%;height:30%;z-index:2;border:8px solid var(--paper);}
.card-bedroom{left:6%;top:46%;width:56%;height:54%;z-index:3;}
@media(max-width:640px){.stack-card{border-radius:18px;}
.card-kitchen{border-width:6px;}
.card-living{left:34%;top:4%;width:62%;height:52%;}
.card-kitchen{left:0;top:32%;width:38%;height:30%;}
.card-bedroom{left:6%;top:54%;width:52%;height:40%;}
.stack-card .label{left:16px;bottom:14px;}
.stack-card .label b{font-size:.88rem;}
.stack-card .label span{font-size:.68rem;}
}
.scroll-cue{position:absolute;bottom:1.6rem;left:6vw;z-index:2;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);display:flex;align-items:center;gap:.8rem;}
.scroll-cue .line{width:34px;height:1px;background:var(--brass);}
.intro{text-align:center;max-width:700px;margin:0 auto;padding:6rem 6vw 0;}
@media(max-width:720px){.intro{padding:2.5rem 6vw 0;}
}
.intro p{font-size:1.15rem;color:var(--stone);}
.services-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:3.4rem;}
@media(max-width:940px){.services-row{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){.services-row{grid-template-columns:1fr;}
}
.service-chip{padding:2rem 1.6rem 2rem 0;border-top:1px solid var(--mist);}
.service-chip .num{font-family:'Fraunces',serif;font-style:italic;color:var(--brass);font-size:1.3rem;display:block;margin-bottom:.7rem;}
.service-chip h4{font-size:1.1rem;margin-bottom:.5rem;font-weight:500;}
.service-chip p{font-size:.85rem;color:var(--stone);}
.section-head{max-width:620px;margin-bottom:3.4rem;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(1.9rem,3.3vw,2.6rem);margin-top:.8rem;}
.section-head p{color:var(--stone);margin-top:1.1rem;font-size:1rem;}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin-top:3.6rem;}
@media(max-width:820px){.preview-grid{grid-template-columns:1fr;}
}
.preview-tile{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/5;}
.preview-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.preview-tile:hover img{transform:scale(1.06);}
.preview-tile .cap{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.3rem 1.1rem;background:linear-gradient(0deg,rgba(36,36,36,.55),transparent);color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;}
.center-cta{text-align:center;margin-top:3.6rem;}
.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:3.4rem;}
@media(max-width:940px){.why-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){.why-grid{grid-template-columns:1fr;}
}
.why-item{padding:1.6rem 1.6rem 1.6rem 0;border-left:1px solid var(--mist);padding-left:1.6rem;}
.why-item .stat{font-family:'Fraunces',serif;font-size:2rem;color:var(--pine);display:block;}
.why-item p{font-size:.85rem;color:var(--stone);margin-top:.5rem;}
.testi-track{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:3.6rem;}
@media(max-width:1080px){.testi-track{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:720px){.testi-track{grid-template-columns:1fr;}
}
.testi-card{padding:2rem 1.6rem 2rem 0;border-top:1px solid var(--mist);display:flex;flex-direction:column;gap:1rem;}
.testi-card .qm{font-family:'Fraunces',serif;font-style:italic;font-size:2.2rem;color:var(--brass);line-height:1;}
.testi-card p.quote{font-size:.92rem;color:var(--ink);flex:1;}
.testi-card .who{font-size:.78rem;color:var(--stone);}
.testi-card .who b{color:var(--ink);font-weight:500;}
.testi-card .sample{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);opacity:.5;}
.cta-banner{background:var(--pine);color:var(--paper);text-align:center;padding:5.5rem 6vw;}
.cta-banner h2{color:var(--paper);font-size:clamp(1.8rem,3.4vw,2.5rem);}
.cta-banner p{color:var(--mist);max-width:460px;margin:1.1rem auto 2.2rem;}
.about-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:center;}
@media(max-width:900px){.about-wrap{grid-template-columns:1fr;gap:2.6rem;}
}
.about-img{height:560px;border-radius:6px;overflow:hidden;}
.about-img img{width:100%;height:100%;object-fit:cover;}
@media(max-width:900px){.about-img{height:380px;}
}
.about-copy p{color:var(--stone);margin-bottom:1.1rem;}
.about-stats{display:flex;gap:2.6rem;margin:2.2rem 0;flex-wrap:wrap;}
.about-stats .stat b{font-family:'Fraunces',serif;font-size:2.1rem;color:var(--pine);display:block;}
.about-stats .stat span{font-size:.74rem;color:var(--stone);text-transform:uppercase;letter-spacing:.08em;}
.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:4.5rem;}
@media(max-width:820px){.philosophy-grid{grid-template-columns:1fr;}
}
.philosophy-card{padding:2rem 2rem 2rem 0;border-top:1px solid var(--mist);}
.philosophy-card h4{font-size:1.2rem;margin-bottom:.7rem;font-weight:500;}
.philosophy-card p{font-size:.9rem;color:var(--stone);}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:3.6rem 0;border-top:1px solid var(--mist);}
.service-row.reverse .service-img{order:2;}
.service-row.reverse .service-copy{order:1;}
@media(max-width:860px){.service-row,.service-row.reverse{grid-template-columns:1fr;gap:1.8rem;}
.service-row.reverse .service-img,.service-row.reverse .service-copy{order:initial;}
}
.service-img{height:340px;border-radius:6px;overflow:hidden;}
.service-img img{width:100%;height:100%;object-fit:cover;}
.service-copy .index{font-family:'Fraunces',serif;font-style:italic;color:var(--brass);font-size:1.2rem;}
.service-copy h3{font-size:1.85rem;margin:.5rem 0 1rem;}
.service-copy p{color:var(--stone);margin-bottom:1.4rem;}
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:3.6rem;}
.filter-btn{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-family:'Jost',sans-serif;padding:.6rem 1.2rem;border:1px solid var(--mist);border-radius:30px;background:transparent;color:var(--stone);cursor:pointer;transition:.3s;}
.filter-btn.active,.filter-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
@media(max-width:860px){.gallery{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:540px){.gallery{grid-template-columns:1fr;}
}
.gallery-item{position:relative;border-radius:6px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/5;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item .cap{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1.1rem .9rem;color:#fff;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);opacity:0;transition:opacity .3s;}
.gallery-item:hover .cap{opacity:1;}
.gallery-item.hide{display:none;}
.lightbox{position:fixed;inset:0;background:rgba(20,20,20,.94);z-index:2000;display:none;align-items:center;justify-content:center;padding:4vw;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:86vh;border-radius:4px;}
.lightbox .close{position:absolute;top:2rem;right:2.4rem;color:#fff;font-size:1.7rem;cursor:pointer;font-family:'Jost',sans-serif;font-weight:300;}
.process-list{margin-top:3.6rem;}
.process-item{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding:2.2rem 0;border-top:1px solid var(--mist);align-items:flex-start;}
.process-item:last-child{border-bottom:1px solid var(--mist);}
.process-item .step-num{font-family:'Fraunces',serif;font-style:italic;font-size:2.4rem;color:var(--brass);}
.process-item h4{font-size:1.25rem;margin-bottom:.5rem;font-weight:500;}
.process-item p{color:var(--stone);font-size:.92rem;max-width:520px;}
@media(max-width:560px){.process-item{grid-template-columns:56px 1fr;gap:1rem;}
.process-item .step-num{font-size:1.8rem;}
}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr;gap:2.6rem;}
}
.contact-info .row{display:flex;gap:1.1rem;margin-bottom:1.7rem;align-items:flex-start;padding-top:1.4rem;border-top:1px solid var(--mist);}
.contact-info .row h5{font-size:.92rem;margin-bottom:.25rem;letter-spacing:.01em;font-family:'Jost',sans-serif;}
.contact-info .row p,.contact-info .row a{color:var(--stone);font-size:.9rem;}
.map-frame{margin-top:1rem;border-radius:6px;overflow:hidden;height:220px;}
.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.25) contrast(1.02);}
form.inquiry{display:flex;flex-direction:column;gap:1.2rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}
}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--stone);}
.field input,.field select,.field textarea{font-family:'Jost',sans-serif;font-size:.94rem;color:var(--ink);border:none;border-bottom:1px solid var(--mist);padding:.7rem .1rem;background:transparent;outline:none;transition:border-color .3s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pine);}
.field textarea{resize:vertical;min-height:80px;}
form.inquiry .btn{align-self:flex-start;margin-top:.6rem;border:none;}
.form-note{font-size:.76rem;color:var(--stone);margin-top:.3rem;}
footer{background:var(--ink);color:var(--mist);padding:4.8rem 6vw 2rem;position:relative;}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3rem;max-width:1220px;margin:0 auto 3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand img{width:200px;margin-bottom:1.1rem;filter:brightness(1.15);}
.footer-brand p{font-size:.85rem;color:var(--mist);max-width:280px;opacity:.7;}
.footer-social{display:flex;gap:.85rem;margin-top:1.35rem;padding-top:1.35rem;border-top:1px solid rgba(255,255,255,.14);}
.footer-social a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--mist);transition:.25s ease;flex:none;}
.footer-social a:hover{background:var(--brass);color:var(--ink);transform:translateY(-2px);}
.footer-social svg{width:18px;height:18px;fill:currentColor;}
.footer-cols{display:flex;gap:4rem;flex-wrap:wrap;}
@media(max-width:640px){.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.footer-col h5{font-size:.66rem;}
.footer-col a,.footer-col p{font-size:.8rem;word-break:break-word;}
}
.footer-col h5{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--brass);margin-bottom:1rem;}
.footer-col a,.footer-col p{display:block;font-size:.85rem;color:var(--mist);opacity:.78;margin-bottom:.65rem;}
.footer-col a:hover{opacity:1;color:var(--brass);}
.footer-bottom{max-width:1220px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:var(--mist);opacity:.5;}
.designer-credit{max-width:1220px;margin:1.4rem auto 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:500;color:var(--mist);letter-spacing:.02em;}
.designer-credit a{color:var(--brass);font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .25s;}
.designer-credit a:hover{color:#e0c088;}
@media(max-width:640px){.designer-credit{font-size:.92rem;}
}
.wa-float{position:fixed;bottom:1.8rem;right:1.8rem;z-index:900;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.35);transition:transform .3s;}
.wa-float:hover{transform:scale(1.08);}
.wa-float svg{width:26px;height:26px;}
.chat-toggle{position:fixed;bottom:1.8rem;right:6.2rem;z-index:900;width:54px;height:54px;border-radius:50%;background:var(--pine);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(63,108,83,.32);transition:transform .3s;border:none;cursor:pointer;}
.chat-toggle:hover{transform:scale(1.08);}
.chat-toggle svg{width:24px;height:24px;}
.chat-toggle .ic-close{display:none;}
.chat-toggle.open .ic-chat{display:none;}
.chat-toggle.open .ic-close{display:block;}
.chat-panel{position:fixed;bottom:5.6rem;right:1.8rem;z-index:899;width:340px;max-width:calc(100vw - 2.4rem);height:480px;max-height:calc(100vh - 8rem);background:var(--paper);border-radius:14px;overflow:hidden;display:none;flex-direction:column;box-shadow:0 30px 60px rgba(36,36,36,.22);border:1px solid var(--mist);}
.chat-panel.open{display:flex;}
.chat-head{background:var(--ink);color:var(--paper);padding:1rem 1.1rem;display:flex;align-items:center;gap:.7rem;}
.chat-head img{width:34px;height:34px;border-radius:50%;background:var(--paper);padding:5px;flex-shrink:0;object-fit:contain;}
.chat-head .chat-head-text{flex:1;min-width:0;}
.chat-head .chat-head-text b{display:block;font-family:'Jost',sans-serif;font-size:.9rem;font-weight:500;}
.chat-head .chat-head-text span{font-size:.72rem;color:var(--mist);opacity:.8;}
.lang-switch{display:flex;gap:.3rem;flex-shrink:0;}
.lang-btn{font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.02em;padding:.3rem .5rem;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--mist);cursor:pointer;transition:.2s;}
.lang-btn.active,.lang-btn:hover{background:var(--brass);color:var(--ink);border-color:var(--brass);}
.chat-body{flex:1;overflow-y:auto;padding:1rem 1rem .4rem;display:flex;flex-direction:column;gap:.7rem;}
.msg{max-width:82%;font-size:.85rem;line-height:1.55;padding:.65rem .85rem;border-radius:10px;}
.msg.bot{background:var(--sage);color:var(--ink);align-self:flex-start;border-bottom-left-radius:3px;}
.msg.user{background:var(--pine);color:var(--paper);align-self:flex-end;border-bottom-right-radius:3px;}
.quick-replies{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem .8rem;}
.qr-btn{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.02em;padding:.45rem .8rem;border-radius:20px;border:1px solid var(--brass);background:var(--paper);color:var(--ink);cursor:pointer;transition:.25s;}
.qr-btn:hover{background:var(--brass);color:var(--paper);}
.chat-input-row{display:flex;gap:.5rem;padding:.8rem;border-top:1px solid var(--mist);}
.chat-input-row input{flex:1;font-family:'Jost',sans-serif;font-size:.85rem;border:1px solid var(--mist);border-radius:20px;padding:.55rem 1rem;outline:none;background:var(--paper);color:var(--ink);}
.chat-input-row input:focus{border-color:var(--pine);}
.chat-send{width:38px;height:38px;border-radius:50%;background:var(--pine);border:none;color:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.chat-send svg{width:16px;height:16px;}
@media(max-width:520px){.chat-toggle{right:4.6rem;width:48px;height:48px;}
.chat-toggle svg{width:21px;height:21px;}
.wa-float{width:48px;height:48px;}
.wa-float svg{width:22px;height:22px;}
.chat-panel{right:1rem;bottom:4.9rem;}
.lang-btn{font-size:.6rem;padding:.26rem .4rem;}
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;}
html{scroll-behavior:auto;}
}
:root{--header-h:64px;}
html,body{max-width:100%;overflow-x:hidden;}
body{background:#fff;}
header{background:var(--sage);border-bottom:1px solid rgba(102,112,107,.12);}
header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:none;box-shadow:0 8px 28px rgba(36,36,36,.06);}
.nav-wrap{padding:.75rem 6vw;min-height:var(--header-h);}
.brand{flex:0 0 clamp(210px,25vw,290px);width:clamp(210px,25vw,290px);min-width:0;overflow:hidden;}
.brand img{display:block;width:100%;max-width:100%;height:auto;max-height:42px;object-fit:contain;object-position:left center;opacity:1;filter:none;mix-blend-mode:normal;background:transparent;}
nav.primary-nav a:focus-visible,.btn:focus-visible,.hamburger:focus-visible,.chat-toggle:focus-visible,.wa-float:focus-visible{outline:2px solid var(--brass);outline-offset:4px;}
.master-hero{height:clamp(560px,calc(100svh - var(--header-h) - 104px),820px);min-height:560px;padding:var(--header-h) 0 0;background:#f6f3eb;display:block;position:relative;isolation:isolate;overflow:hidden;}
.hero-scenes{position:absolute;inset:var(--header-h) 0 0;z-index:-2;background:#eee9de;}
.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.25s ease;transform:none!important;animation:none!important;}
.hero-scene.is-active{opacity:1;}
.master-hero::after{content:"";position:absolute;inset:var(--header-h) 0 0;z-index:-1;background:linear-gradient(90deg,rgba(255,253,248,.94) 0%,rgba(255,253,248,.78) 31%,rgba(255,253,248,.22) 54%,rgba(255,253,248,0) 72%);pointer-events:none;}
.hero-content{height:100%;display:flex;align-items:center;}
.master-hero-copy{max-width:580px;margin-top:0;padding:2rem 0 1rem;}
.hero-eyebrow{margin-bottom:1.35rem;color:var(--stone);}
.master-hero-copy h1{font-size:clamp(3.4rem,6vw,6.6rem);line-height:.96;letter-spacing:-.035em;margin:0 0 1.3rem;color:var(--ink);}
.master-hero-copy h1 em{display:inline-block;color:var(--pine);font-weight:500;}
.master-hero-copy .sub{font-size:clamp(1rem,1.25vw,1.18rem);max-width:430px;margin-bottom:2rem;color:#4f5853;}
.master-hero-copy .btn{min-height:48px;}
.experience-band{position:relative;z-index:4;background:#fff;border-bottom:1px solid var(--mist);box-shadow:0 -8px 26px rgba(36,36,36,.035);}
.experience-rail{display:grid;grid-template-columns:repeat(5,1fr);padding-top:0;padding-bottom:0;}
.experience-item{min-height:104px;padding:1.25rem 1rem;display:flex;align-items:center;justify-content:center;gap:.72rem;text-align:left;border-right:1px solid var(--mist);font-size:.79rem;line-height:1.35;letter-spacing:.035em;color:var(--ink);}
.experience-item:first-child{border-left:1px solid var(--mist);}
.feature-icon{font-family:'Fraunces',serif;color:var(--brass);font-size:1.35rem;line-height:1;flex:0 0 auto;}
.wa-float{top:calc(var(--header-h) + 1.2rem);bottom:auto;right:max(1.2rem,env(safe-area-inset-right));width:52px;height:52px;}
.chat-toggle{right:max(1.2rem,env(safe-area-inset-right));bottom:max(1.2rem,calc(env(safe-area-inset-bottom) + 1rem));width:52px;height:52px;}
.chat-panel{right:max(1rem,env(safe-area-inset-right));bottom:max(5.4rem,calc(env(safe-area-inset-bottom) + 5.2rem));}
@media(max-width:1080px){.brand{flex-basis:300px;}
.master-hero-copy h1{font-size:clamp(3.4rem,7vw,5.4rem);}
.experience-item{padding:1.1rem .7rem;font-size:.73rem;}
}
@media(max-width:940px){:root{--header-h:62px;}
.brand{flex-basis:min(56vw,285px);width:min(56vw,285px);}
.brand img{max-height:38px;}
.hamburger{width:44px;height:44px;align-items:center;justify-content:center;border:0;background:transparent;}
nav.primary-nav a{min-height:44px;display:flex;align-items:center;}
.master-hero{height:auto;min-height:0;padding-top:var(--header-h);display:grid;grid-template-rows:minmax(430px,58svh) auto;}
.hero-scenes{position:relative;inset:auto;grid-row:1;z-index:-2;min-height:430px;}
.master-hero::after{inset:var(--header-h) 0 auto;height:minmax(430px,58svh);height:58svh;background:linear-gradient(180deg,rgba(255,253,248,.14),rgba(255,253,248,0) 58%);}
.hero-content{grid-row:2;height:auto;background:#fff;padding-top:2.1rem;padding-bottom:2.3rem;align-items:flex-start;}
.master-hero-copy{padding:0;max-width:620px;}
.master-hero-copy h1{font-size:clamp(3rem,9vw,5rem);}
.experience-rail{overflow-x:auto;grid-template-columns:repeat(5,minmax(190px,1fr));scroll-snap-type:x mandatory;scrollbar-width:none;padding-right:10vw;}
.experience-rail::-webkit-scrollbar{display:none;}
.experience-item{scroll-snap-align:start;min-height:92px;justify-content:flex-start;padding:1rem 1.2rem;font-size:.78rem;}
}
@media(max-width:520px){:root{--header-h:58px;}
.nav-wrap{padding:.55rem 6vw;}
.brand{flex-basis:min(64vw,260px);width:min(64vw,260px);}
.brand img{max-height:34px;}
.master-hero{grid-template-rows:minmax(310px,43svh) auto;}
.hero-scenes{min-height:310px;}
.hero-scene:nth-child(1),.hero-scene:nth-child(2){object-position:60% center;}
.hero-scene:nth-child(3),.hero-scene:nth-child(4){object-position:52% center;}
.hero-scene:nth-child(5){object-position:56% center;}
.hero-scene:nth-child(6){object-position:50% center;}
.hero-content{padding-top:1.55rem;padding-bottom:1.75rem;}
.hero-eyebrow{font-size:.66rem;letter-spacing:.22em;margin-bottom:1rem;}
.master-hero-copy h1{font-size:clamp(2.75rem,13vw,4rem);line-height:.98;margin-bottom:1rem;}
.master-hero-copy .sub{font-size:.98rem;line-height:1.6;margin-bottom:1.35rem;max-width:340px;}
.master-hero-copy .btn{width:auto;min-height:46px;padding:.85rem 1.35rem;font-size:.7rem;}
.experience-rail{grid-template-columns:repeat(5,minmax(172px,1fr));padding-right:18vw;}
.experience-item{min-height:84px;}
.wa-float{top:auto;bottom:max(1.15rem,calc(env(safe-area-inset-bottom) + .8rem));right:max(1rem,env(safe-area-inset-right));width:48px;height:48px;}
.chat-toggle{right:max(4.8rem,calc(env(safe-area-inset-right) + 4.2rem));bottom:max(1.15rem,calc(env(safe-area-inset-bottom) + .8rem));width:48px;height:48px;}
.chat-panel{left:1rem;right:1rem;width:auto;height:min(480px,calc(100dvh - 7rem));bottom:max(4.8rem,calc(env(safe-area-inset-bottom) + 4.6rem));}
}
@media(prefers-reduced-motion:reduce){.hero-scene{transition:none}
.hero-scene:not(:first-child){display:none}
}
:root{--points-h:96px}
#siteHeader .nav-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;}
#siteHeader nav.primary-nav{justify-self:center;width:max-content;}
#siteHeader .nav-cta{justify-self:end}
#siteHeader .nav-cta .btn-primary{background:transparent;color:var(--pine);border:1px solid rgba(200,168,107,.85);border-radius:2px;padding:.7rem 1.5rem;}
#siteHeader .nav-cta .btn-primary:hover{background:rgba(200,168,107,.10);color:var(--ink);}
.master-hero{height:calc(100svh - var(--header-h) - var(--points-h));min-height:520px;padding:0;margin-top:var(--header-h);display:flex;align-items:flex-end;position:relative;overflow:hidden;background:#d8d0c2}
.hero-frames,.hero-frame{position:absolute;inset:0}
.hero-frame{background-size:cover;background-position:center;opacity:0;animation:heroStillSequence 30s linear infinite;will-change:opacity}
.hero-frame.frame-1{animation-delay:0s}
.hero-frame.frame-2{animation-delay:5s}
.hero-frame.frame-3{animation-delay:10s}
.hero-frame.frame-4{animation-delay:15s}
.hero-frame.frame-5{animation-delay:20s}
.hero-frame.frame-6{animation-delay:25s}
@keyframes heroStillSequence{0%{opacity:0}
2.5%{opacity:1}
14.5%{opacity:1}
17%{opacity:0}
100%{opacity:0}
}
.hero-readable-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,14,.55) 0%,rgba(15,17,14,.28) 29%,rgba(15,17,14,.04) 58%,transparent 78%);pointer-events:none}
.hero-content{position:relative;z-index:2;width:min(1220px,100%);margin:0 auto;padding:0 6vw 3.25rem;color:#fff}
.hero-eyebrow{font-family:'Jost',sans-serif;font-size:.70rem;letter-spacing:.28em;font-weight:500;color:#fff;margin:0 0 1.05rem;text-shadow:0 2px 10px rgba(0,0,0,.22);display:block}
.hero-eyebrow:before,.hero-eyebrow:after{display:none!important}
.hero-content h1{font-family:'Fraunces',serif;font-size:clamp(3.75rem,6vw,6.5rem);line-height:.91;letter-spacing:-.045em;font-weight:400;max-width:690px;margin:0 0 1.45rem;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.20)}
.hero-support{font-size:clamp(.96rem,1.2vw,1.12rem);line-height:1.55;color:#fff;max-width:390px;margin:0 0 1.55rem;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.hero-master-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:260px;padding:.95rem 1.35rem;border:1px solid rgba(200,168,107,.82);color:#fff;font-family:'Jost',sans-serif;font-size:.70rem;letter-spacing:.17em;font-weight:500;transition:background .3s,border-color .3s}
.hero-master-cta:hover{background:rgba(200,168,107,.15);border-color:#efd196;color:#fff}
.hero-master-cta span{font-size:1.05rem;letter-spacing:0}
.master-points{height:var(--points-h);background:#fbfaf6;border-bottom:1px solid #ded8ce;position:relative;z-index:4}
.master-points-inner{height:100%;max-width:1220px;margin:0 auto;padding:0 6vw;display:grid;grid-template-columns:repeat(5,1fr)}
.master-points article{height:100%;padding:0 1rem;border-right:1px solid #d7d1c8;display:flex;align-items:center;justify-content:center;gap:.8rem}
.master-points article:first-child{padding-left:0}
.master-points article:last-child{border-right:0;padding-right:0}
.point-icon{width:29px;height:29px;flex:0 0 auto;color:var(--pine)}
.point-icon svg{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.15;width:100%;height:100%}
.master-points h3{font-family:'Jost',sans-serif;font-size:.66rem;line-height:1.35;letter-spacing:.11em;text-transform:uppercase;font-weight:500;color:#262b27}
@media(max-width:1060px){#siteHeader nav.primary-nav{gap:1.25rem}
#siteHeader .nav-cta .btn-primary{display:none}
}
@media(max-width:940px){:root{--points-h:92px}
#siteHeader .nav-wrap{display:flex}
#siteHeader nav.primary-nav{width:auto;justify-self:auto}
.master-hero{min-height:500px}
.hero-content{padding-bottom:2.7rem}
.hero-content h1{font-size:clamp(3.5rem,10vw,5.6rem)}
.master-points article{padding:0 .65rem;gap:.55rem}
.point-icon{width:25px;height:25px}
.master-points h3{font-size:.58rem;letter-spacing:.08em}
}
@media(max-width:620px){:root{--points-h:112px}
.master-hero{height:calc(100svh - var(--header-h) - var(--points-h));min-height:475px;margin-top:var(--header-h);align-items:flex-end}
.hero-frame{background-position:center}
.hero-readable-wash{background:linear-gradient(90deg,rgba(12,14,12,.48) 0%,rgba(12,14,12,.20) 58%,rgba(12,14,12,.02) 100%)}
.hero-content{padding:0 5vw 1.65rem}
.hero-eyebrow{font-size:.55rem;letter-spacing:.18em;margin-bottom:.65rem}
.hero-content h1{font-size:clamp(3.15rem,15vw,4.45rem);line-height:.89;letter-spacing:-.05em;margin-bottom:1.05rem;max-width:330px}
.hero-support{font-size:.80rem;line-height:1.55;max-width:245px;margin-bottom:1.1rem}
.hero-master-cta{min-width:146px;padding:.76rem .9rem;font-size:.52rem;letter-spacing:.12em;gap:1rem}
.master-points{overflow:hidden}
.master-points-inner{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 5vw;scrollbar-width:none}
.master-points-inner::-webkit-scrollbar{display:none}
.master-points article{flex:0 0 49vw;scroll-snap-align:start;border-left:0;padding:0 .7rem;justify-content:flex-start}
.master-points h3{font-size:.57rem}
}
@media(prefers-reduced-motion:reduce){.hero-frame{animation:none}
.hero-frame:first-child{opacity:1}
}
@media (min-width:941px){.hero-content{width:min(1220px,100%);margin-inline:auto;padding-left:6vw;padding-right:6vw;padding-bottom:3.15rem;}
}
.hero-readable-wash{background:linear-gradient(90deg,rgba(18,20,17,.66) 0%,rgba(18,20,17,.49) 24%,rgba(18,20,17,.24) 45%,rgba(18,20,17,.06) 66%,transparent 82%);}
.hero-eyebrow{position:relative;display:inline-block;margin:0 0 2.25rem;padding-bottom:1rem;color:#efd196;font-size:.73rem;font-weight:600;letter-spacing:.31em;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.52);}
.hero-eyebrow::before{display:none!important;}
.hero-eyebrow::after{content:"";display:block!important;position:absolute;left:0;bottom:0;width:72px;height:2px;background:#c8a86b;box-shadow:0 1px 8px rgba(0,0,0,.28);}
.hero-content h1{text-shadow:0 3px 20px rgba(0,0,0,.34),0 1px 3px rgba(0,0,0,.38);}
.hero-support{color:#fff;font-weight:400;letter-spacing:.005em;text-shadow:0 2px 12px rgba(0,0,0,.62);}
.hero-master-cta{color:#f3d38f;border-color:rgba(216,180,103,.96);background:rgba(18,20,17,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 25px rgba(0,0,0,.12);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.4);}
.hero-master-cta:hover,.hero-master-cta:focus-visible{background:#c8a86b;border-color:#c8a86b;color:#1f241f;text-shadow:none;outline:none;}
.hero-master-cta span{color:currentColor;}
@media(max-width:940px){.hero-readable-wash{background:linear-gradient(90deg,rgba(15,17,14,.61) 0%,rgba(15,17,14,.38) 48%,rgba(15,17,14,.08) 100%);}
.hero-eyebrow{margin-bottom:1.7rem;padding-bottom:.78rem;}
.hero-eyebrow::after{width:58px;}
}
@media(max-width:620px){.hero-content{padding-left:6vw;padding-right:6vw;}
.hero-eyebrow{font-size:.58rem;letter-spacing:.23em;margin-bottom:1.3rem;padding-bottom:.68rem;}
.hero-eyebrow::after{width:46px;height:1.5px;}
.hero-support{font-size:.84rem;font-weight:400;}
.hero-master-cta{min-width:190px;padding:.82rem 1rem;font-size:.57rem;letter-spacing:.14em;}
}
.hero-content{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;text-align:left!important;}
.hero-content>*{flex:0 0 auto;}
.hero-support{color:#f3e7cf!important;font-weight:500!important;text-shadow:0 2px 14px rgba(0,0,0,.78),0 1px 3px rgba(0,0,0,.72)!important;}
@media(max-width:940px){.hero-content{height:100%!important;align-items:flex-start!important;justify-content:flex-end!important;}
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-width:320px;}
button,a{-webkit-tap-highlight-color:transparent;}
.master-hero{height:calc(100dvh - var(--header-h) - var(--points-h));min-height:520px;max-height:860px;}
.hero-content{box-sizing:border-box;}
.hero-master-cta{min-height:48px;touch-action:manipulation;}
@media (min-width:941px) and (max-width:1180px){#siteHeader nav.primary-nav{gap:clamp(.8rem,1.25vw,1.2rem);}
#siteHeader nav.primary-nav a{font-size:.68rem;letter-spacing:.065em;}
#siteHeader .nav-cta .btn-primary{padding:.66rem 1rem;font-size:.64rem;letter-spacing:.11em;}
.hero-content{padding-bottom:clamp(2.25rem,4.2vh,3rem);}
.hero-content h1{font-size:clamp(4rem,7.3vw,5.55rem);max-width:610px;}
.hero-support{font-size:1rem;}
.master-points article{padding-inline:.55rem;gap:.5rem;}
.master-points h3{font-size:.58rem;letter-spacing:.075em;}
}
@media (min-width:621px) and (max-width:940px){:root{--points-h:94px;}
.master-hero{height:calc(100dvh - var(--header-h) - var(--points-h));min-height:590px;max-height:820px;}
.hero-content{padding:0 7vw clamp(2.3rem,5vh,3.25rem)!important;}
.hero-readable-wash{background:linear-gradient(90deg,rgba(13,15,13,.68) 0%,rgba(13,15,13,.45) 43%,rgba(13,15,13,.12) 78%,transparent 100%);}
.hero-eyebrow{font-size:.65rem;letter-spacing:.27em;margin-bottom:1.55rem;}
.hero-content h1{font-size:clamp(4.1rem,10vw,5.7rem);line-height:.91;max-width:600px;margin-bottom:1.25rem;}
.hero-support{font-size:.98rem;max-width:420px;margin-bottom:1.45rem;}
.hero-master-cta{min-width:225px;padding:.9rem 1.15rem;font-size:.64rem;}
.master-points-inner{padding-inline:5vw;}
.master-points article{padding-inline:.55rem;gap:.48rem;}
.point-icon{width:24px;height:24px;}
.master-points h3{font-size:.56rem;letter-spacing:.065em;}
}
@media (max-width:620px){:root{--points-h:104px;}
.master-hero{height:calc(100dvh - var(--header-h) - var(--points-h));min-height:510px;max-height:none;}
.hero-frame{background-position:58% center;}
.hero-frame.frame-2{background-position:60% center;}
.hero-frame.frame-3{background-position:54% center;}
.hero-frame.frame-4{background-position:58% center;}
.hero-frame.frame-5{background-position:55% center;}
.hero-frame.frame-6{background-position:52% center;}
.hero-readable-wash{background:linear-gradient(180deg,rgba(10,12,10,.10) 0%,rgba(10,12,10,.08) 30%,rgba(10,12,10,.64) 72%,rgba(10,12,10,.82) 100%),linear-gradient(90deg,rgba(10,12,10,.38),rgba(10,12,10,.08) 86%);}
.hero-content{padding-left:max(6vw,env(safe-area-inset-left))!important;padding-right:max(6vw,env(safe-area-inset-right))!important;padding-bottom:max(1.45rem,calc(env(safe-area-inset-bottom) + 1rem))!important;}
.hero-eyebrow{font-size:.58rem;line-height:1.25;letter-spacing:.22em;margin-bottom:1.15rem;padding-bottom:.62rem;}
.hero-eyebrow::after{width:44px;}
.hero-content h1{font-size:clamp(3.05rem,14.2vw,4.2rem);line-height:.9;letter-spacing:-.048em;max-width:92vw;margin-bottom:1rem;}
.hero-support{font-size:clamp(.86rem,3.7vw,.98rem)!important;line-height:1.48;max-width:86vw;margin-bottom:1.1rem;}
.hero-master-cta{min-width:205px;padding:.84rem 1rem;font-size:.59rem;letter-spacing:.135em;gap:1.1rem;backdrop-filter:none;-webkit-backdrop-filter:none;}
.master-points{height:var(--points-h);}
.master-points-inner{padding-left:5vw;padding-right:20vw;overscroll-behavior-x:contain;}
.master-points article{flex-basis:58vw;min-width:58vw;padding-inline:.75rem;gap:.65rem;}
.point-icon{width:26px;height:26px;}
.master-points h3{font-size:.59rem;line-height:1.4;letter-spacing:.075em;}
.wa-float,.chat-toggle{bottom:max(.9rem,calc(env(safe-area-inset-bottom) + .55rem))!important;}
.chat-panel{max-height:calc(100dvh - 6.5rem);}
input,select,textarea{font-size:16px!important;}
.pad{padding:3.75rem 0;}
.intro{padding-top:2.2rem;}
.section-head{margin-bottom:2.35rem;}
.section-head h2{font-size:clamp(1.8rem,9vw,2.35rem);}
.preview-grid,.gallery{gap:1.15rem;}
.about-img{height:min(72vw,390px);}
.service-img{height:min(68vw,340px);}
footer{padding-left:6vw;padding-right:6vw;}
}
@media (max-width:380px){.master-hero{min-height:490px;}
.hero-content h1{font-size:clamp(2.78rem,14vw,3.35rem);}
.hero-support{font-size:.84rem!important;max-width:92vw;}
.hero-master-cta{min-width:190px;font-size:.56rem;}
.master-points article{flex-basis:66vw;min-width:66vw;}
}
@media (max-height:650px) and (max-width:940px){:root{--points-h:88px;}
.master-hero{min-height:440px;}
.hero-content{padding-bottom:1.15rem!important;}
.hero-eyebrow{margin-bottom:.8rem;}
.hero-content h1{font-size:clamp(2.75rem,10.5vh,4.25rem);margin-bottom:.7rem;}
.hero-support{margin-bottom:.8rem;font-size:.82rem!important;}
.hero-master-cta{min-height:42px;padding:.68rem .9rem;}
.master-points article{min-height:88px;}
}
@media (prefers-reduced-motion:reduce){.hero-frame{animation:none!important;opacity:0;}
.hero-frame:first-child{opacity:1;}
.reveal{opacity:1!important;transform:none!important;}
}
.footer-brand{min-width:0;}
.footer-brand .footer-main-logo{display:block!important;width:min(290px,72vw)!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:left center!important;margin:0 0 1.1rem!important;opacity:1!important;filter:none!important;-webkit-filter:none!important;transform:none!important;}
.why-item .om-stat{display:flex;align-items:center;min-height:2.4rem;}
.why-item .om-symbol{display:block;width:2.1rem;height:2.1rem;object-fit:contain;}
#filterBar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.48rem;width:100%;margin:0 0 3.2rem;}
#filterBar .filter-btn{flex:0 0 auto;padding:.58rem .92rem;font-size:.68rem;letter-spacing:.055em;white-space:nowrap;}
@media (max-width:1100px){#filterBar{justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:.15rem 0 .55rem;scrollbar-width:thin;}
#filterBar .filter-btn{scroll-snap-align:start;}
}
@media (max-width:900px){.footer-top{align-items:flex-start;}
.footer-brand .footer-main-logo{width:min(270px,70vw)!important;}
.why-item .om-symbol{width:1.95rem;height:1.95rem;}
}
@media (max-width:640px){#filterBar{margin-bottom:2.2rem;gap:.42rem;padding-bottom:.65rem;-webkit-overflow-scrolling:touch;}
#filterBar .filter-btn{padding:.55rem .84rem;font-size:.65rem;}
.footer-brand{width:100%;}
.footer-brand .footer-main-logo{width:min(260px,76vw)!important;margin-left:0!important;}
.why-item .om-stat{min-height:2rem;}
.why-item .om-symbol{width:1.8rem;height:1.8rem;}
}
#siteHeader,#siteHeader.scrolled{background:var(--paper)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom-color:rgba(102,112,107,.14)!important;}
.why-grid{align-items:stretch;border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);}
.why-item{min-width:0;min-height:160px;padding:2rem 1.5rem!important;border-left:1px solid var(--mist);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;}
.why-item:last-child{border-right:1px solid var(--mist)}
.why-item .stat{min-height:44px;display:flex;align-items:center;margin:0 0 .65rem;line-height:1;}
.why-item p{margin:0;max-width:190px;line-height:1.7;}
.om-stat{height:44px!important;min-height:44px!important}
.om-symbol{width:40px!important;height:40px!important;object-fit:contain!important;object-position:left center!important;display:block!important;filter:none!important;}
.testi-track{align-items:stretch;grid-auto-rows:1fr}
.testi-card{height:100%;padding:2rem 1.6rem!important;border-top:1px solid rgba(102,112,107,.22);border-left:1px solid rgba(102,112,107,.14);display:grid!important;grid-template-rows:auto minmax(9.5rem,1fr) auto auto;align-content:start;gap:.9rem!important;}
.testi-card:last-child{border-right:1px solid rgba(102,112,107,.14)}
.testi-card .qm{margin:0;line-height:.75}
.testi-card p.quote{margin:0;line-height:1.75}
.testi-card .who{margin:0;min-height:2.8rem;line-height:1.65}
.testi-card .sample{margin:0;align-self:end}
.preview-tile,.about-img,.service-img,.gallery-item{border:1px solid rgba(102,112,107,.20);box-shadow:0 10px 28px rgba(36,36,36,.07);transform:translateZ(0);transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease);}
.preview-tile img,.about-img img,.service-img img,.gallery-item img{transition:transform .75s var(--ease),filter .55s var(--ease)!important;}
@media (hover:hover) and (pointer:fine){.preview-tile:hover,.about-img:hover,.service-img:hover,.gallery-item:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(36,36,36,.13);border-color:rgba(200,168,107,.48);}
.preview-tile:hover img,.about-img:hover img,.service-img:hover img,.gallery-item:hover img{transform:scale(1.035)!important;filter:saturate(1.03) contrast(1.02);}
}
@media(max-width:1080px){.testi-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.testi-card{grid-template-rows:auto minmax(7.5rem,1fr) auto auto}
}
@media(max-width:940px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.why-item{min-height:145px}
.why-item p{max-width:260px}
}
@media(max-width:720px){.testi-track{grid-template-columns:1fr!important;gap:0}
.testi-card{grid-template-rows:auto auto auto auto;min-height:0;padding:1.65rem 1.2rem!important}
.testi-card .who{min-height:0}
}
@media(max-width:560px){.why-grid{grid-template-columns:1fr!important}
.why-item{min-height:0;padding:1.45rem 1.1rem!important;border-right:1px solid var(--mist)}
.why-item .stat{min-height:38px;margin-bottom:.45rem}
.om-stat{height:38px!important;min-height:38px!important}
.om-symbol{width:35px!important;height:35px!important}
.preview-tile,.about-img,.service-img,.gallery-item{box-shadow:0 8px 22px rgba(36,36,36,.07)}
}
@media(prefers-reduced-motion:reduce){.preview-tile,.about-img,.service-img,.gallery-item,.preview-tile img,.about-img img,.service-img img,.gallery-item img{transition:none!important;transform:none!important}
}
@media (max-width:940px){.master-hero{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;grid-template-rows:none!important;height:calc(100dvh - var(--header-h) - var(--points-h))!important;min-height:520px!important;max-height:820px!important;margin-top:var(--header-h)!important;padding:0!important;background:#d8d0c2!important;isolation:isolate!important;overflow:hidden!important;}
.master-hero::after{display:none!important;content:none!important;}
.hero-frames{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;min-height:0!important;height:100%!important;background:#d8d0c2!important;}
.hero-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-size:cover!important;opacity:0;}
.hero-readable-wash{position:absolute!important;inset:0!important;z-index:1!important;display:block!important;pointer-events:none!important;}
.hero-content{position:relative!important;z-index:2!important;grid-row:auto!important;width:100%!important;height:100%!important;min-height:0!important;margin:0 auto!important;padding-top:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;color:#fff!important;}
}
@media (min-width:621px) and (max-width:940px){.master-hero{min-height:590px!important;}
}
@media (max-width:620px){.master-hero{min-height:510px!important;max-height:none!important;}
.hero-frame{background-position:58% center!important;}
.hero-frame.frame-2{background-position:60% center!important;}
.hero-frame.frame-3{background-position:54% center!important;}
.hero-frame.frame-4{background-position:58% center!important;}
.hero-frame.frame-5{background-position:55% center!important;}
.hero-frame.frame-6{background-position:52% center!important;}
}
@media (max-height:650px) and (max-width:940px){.master-hero{min-height:440px!important;}
}
.why-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:clamp(1.2rem,2.4vw,2.6rem)!important;align-items:stretch!important;margin-top:3.6rem!important;border:0!important;}
.why-item,.why-item:last-child{min-width:0!important;min-height:0!important;padding:1.2rem .35rem!important;border:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;transition:transform .45s var(--ease)!important;}
.why-item .stat{min-height:46px!important;margin:0 0 .8rem!important;justify-content:center!important;font-size:clamp(2.15rem,2.6vw,2.65rem)!important;line-height:1!important;transition:transform .45s var(--ease)!important;}
.why-item p{max-width:180px!important;margin:0 auto!important;font-size:.82rem!important;line-height:1.72!important;}
.why-item .om-stat{height:46px!important;min-height:46px!important}
.why-item .om-symbol{width:42px!important;height:42px!important;object-position:center!important;transition:transform .45s var(--ease)!important}
.testi-track{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:clamp(1.35rem,2.5vw,2.8rem)!important;align-items:stretch!important;grid-auto-rows:1fr!important;margin-top:3.8rem!important;border:0!important;}
.testi-card,.testi-card:last-child{height:100%!important;min-width:0!important;padding:1.3rem .25rem 1.5rem!important;border:0!important;background:transparent!important;display:grid!important;grid-template-rows:auto minmax(10.5rem,1fr) auto auto!important;align-content:start!important;gap:1rem!important;}
.testi-card .qm{font-size:0!important;min-height:38px!important;margin:0!important;color:var(--brass)!important;line-height:1!important;}
.testi-card .qm::before{content:"“";display:block;font-family:'Fraunces',serif;font-size:3rem;font-style:italic;line-height:.75;opacity:.78;}
.testi-card p.quote{margin:0!important;line-height:1.78!important;font-size:.9rem!important}
.testi-card .who{margin:0!important;min-height:3rem!important;line-height:1.65!important}
.testi-card .sample{margin:0!important;align-self:end!important;opacity:.38!important}
@media (hover:hover) and (pointer:fine){.why-item:hover{transform:translateY(-3px)!important}
.why-item:hover .stat{transform:translateY(-2px)!important}
.why-item:hover .om-symbol{transform:translateY(-2px) rotate(3deg)!important}
}
@media(max-width:1080px){.why-grid,.testi-track{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;gap:1rem!important;padding:.35rem max(6vw,1.25rem) 1.1rem!important;margin-left:calc(-1 * max(6vw,1.25rem))!important;margin-right:calc(-1 * max(6vw,1.25rem))!important;}
.why-grid::-webkit-scrollbar,.testi-track::-webkit-scrollbar{display:none!important}
.why-item{flex:0 0 clamp(190px,28vw,245px)!important;scroll-snap-align:start!important;padding:1.25rem .8rem!important;}
.testi-card{flex:0 0 clamp(245px,38vw,330px)!important;scroll-snap-align:start!important;grid-template-rows:auto minmax(9rem,1fr) auto auto!important;padding:1.35rem .65rem 1.5rem!important;}
}
@media(max-width:620px){.why-grid,.testi-track{gap:.7rem!important;padding-left:5vw!important;padding-right:5vw!important;margin-left:-5vw!important;margin-right:-5vw!important;}
.why-item{flex-basis:72vw!important;max-width:280px!important;align-items:flex-start!important;text-align:left!important;padding:1.15rem .85rem 1.35rem!important;}
.why-item .stat{justify-content:flex-start!important;font-size:2.3rem!important}
.why-item p{max-width:220px!important;margin:0!important}
.why-item .om-symbol{object-position:left center!important}
.testi-card{flex-basis:82vw!important;max-width:330px!important;grid-template-rows:auto auto auto auto!important;padding:1.2rem .85rem 1.4rem!important;}
.testi-card .who{min-height:0!important}
}
@media(prefers-reduced-motion:reduce){.why-item,.why-item .stat,.why-item .om-symbol{transition:none!important;transform:none!important}
}
.contact-numbers{display:flex;flex-direction:column;gap:.28rem}
#siteHeader .nav-cta .btn-primary{white-space:nowrap;padding:.68rem .9rem;font-size:.64rem;letter-spacing:.065em}
.footer-brand .footer-main-logo{width:156px!important;height:156px!important;object-fit:contain!important;border-radius:50%!important;filter:none!important;background:transparent!important}
.chat-head .chat-monogram{width:38px;height:38px;padding:3px;border-radius:50%;background:#fff;object-fit:contain}
.scroll-hint-wrap{position:relative}
.scroll-hint-btn{display:none;position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:34px;height:48px;border:0;border-radius:18px;background:rgba(36,36,36,.42);color:#fff;font:300 1.25rem/1 Jost,sans-serif;cursor:pointer;backdrop-filter:blur(4px);box-shadow:0 4px 16px rgba(0,0,0,.16)}
.scroll-hint-btn.left{left:.25rem}
.scroll-hint-btn.right{right:.25rem}
.scroll-hint-btn[hidden]{display:none!important}
@media(max-width:900px){.scroll-hint-btn{display:grid;place-items:center}
.wa-float{top:calc(var(--header-h) + 1rem)!important;bottom:auto!important;right:max(1rem,env(safe-area-inset-right))!important}
.chat-toggle{right:max(1rem,env(safe-area-inset-right))!important;bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem))!important}
}
@media(max-width:600px){.about-stats{display:flex!important;flex-wrap:nowrap!important;gap:.3rem!important;justify-content:space-between!important;align-items:flex-start!important}
.about-stats .stat{flex:1 1 0;min-width:0;text-align:center}
.about-stats .stat b{font-size:1.55rem}
.about-stats .stat span{font-size:.56rem;line-height:1.35;letter-spacing:.035em;display:block}
}
.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-items:stretch}
.form-actions .btn{width:100%;min-height:48px;padding:.78rem 1rem;white-space:nowrap}
.btn-whatsapp{background:#25D366;color:#fff;border:1px solid #25D366}
.btn-whatsapp:hover{background:#1ebd59;border-color:#1ebd59;transform:translateY(-1px)}
.hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.mobile-consult-cta{display:none;font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.7);padding:.72rem 1rem;background:rgba(36,36,36,.22);backdrop-filter:blur(5px)}
.mobile-call-expert{display:none}
@media(max-width:940px){.mobile-consult-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px}
.hero-actions{gap:.65rem}
.mobile-call-expert{display:flex;position:fixed;left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));z-index:902;align-items:center;gap:.45rem;min-height:46px;padding:.7rem 1rem;border-radius:24px;background:rgba(36,36,36,.86);color:#fff;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(7px)}
.mobile-call-expert span{font-size:1rem;color:#e0b264}
}
@media(max-width:620px){.form-actions{grid-template-columns:1fr}
.mobile-consult-cta{font-size:.61rem;padding:.65rem .82rem}
.mobile-call-expert{font-size:.64rem;padding:.64rem .82rem;min-height:44px}
}
@media(max-width:900px){.scroll-hint-btn{width:30px;height:42px;border:1px solid rgba(255,255,255,.30);border-radius:999px;background:rgba(36,36,36,.16);color:rgba(255,255,255,.82);font-size:1.05rem;box-shadow:0 3px 12px rgba(0,0,0,.08);backdrop-filter:blur(3px);opacity:.78;}
.scroll-hint-btn:active{background:rgba(36,36,36,.26);opacity:1}
.designer-credit{text-align:right;padding-left:10.5rem;padding-bottom:1rem}
footer{padding-bottom:5.75rem}
}
@media(max-width:420px){.designer-credit{padding-left:8.5rem;font-size:.82rem}
}

/* 2026-08 brand, process, social and mobile refinements */
.brand-lockup{gap:.7rem;min-width:0}.brand-lockup .header-monogram{width:48px;height:48px;object-fit:contain;flex:none}.brand-lockup .header-wordmark{width:220px;height:auto;max-height:32px;object-fit:contain;object-position:left center}.process-item{grid-template-columns:76px 118px minmax(0,1fr);align-items:center;position:relative}.payment-step{position:relative;display:flex;align-items:center;gap:.75rem;color:var(--pine);font:500 .78rem/1 'Jost',sans-serif;letter-spacing:.06em;text-transform:uppercase}.payment-step::after{content:"";position:absolute;left:20px;top:calc(100% + .45rem);width:1px;height:2.65rem;background:rgba(63,108,83,.28)}.process-item:last-child .payment-step::after{display:none}.process-icon{width:42px;height:42px;border:1px solid rgba(63,108,83,.35);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.48);flex:none}.process-icon svg{width:23px;height:23px;fill:none;stroke:var(--pine);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.process-copy{min-width:0}.fb-float{position:fixed;right:1.4rem;bottom:6.15rem;z-index:901;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#1877f2;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:transform .25s ease}.fb-float:hover{transform:translateY(-2px)}.fb-float svg{width:27px;height:27px;fill:currentColor}.ig-float{position:fixed;right:1.4rem;bottom:10.5rem;z-index:901;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:transform .25s ease}.ig-float:hover{transform:translateY(-2px)}.ig-float svg{width:27px;height:27px;fill:currentColor}#inquiryForm{scroll-margin-top:calc(var(--header-h) + 1rem)}
@media(max-width:940px){.brand-lockup .header-monogram{width:42px;height:42px}.brand-lockup .header-wordmark{width:min(43vw,190px);max-height:28px}.fb-float{top:calc(var(--header-h) + 4.7rem);bottom:auto;right:max(1rem,env(safe-area-inset-right))}.ig-float{top:calc(var(--header-h) + 8.6rem);bottom:auto;right:max(1rem,env(safe-area-inset-right))}.process-item{grid-template-columns:56px 96px minmax(0,1fr);gap:1rem}.payment-step{gap:.55rem}.process-icon{width:36px;height:36px}.process-icon svg{width:20px;height:20px}.payment-step::after{left:18px;height:2.8rem}.chat-panel{width:min(304px,calc(100vw - 2rem));max-height:min(72dvh,520px)}.chat-body{max-height:210px}.chat-head{padding:.85rem}.quick-replies{padding:.65rem .8rem}.chat-input-row{padding:.7rem .8rem}}
@media(max-width:620px){.brand-lockup{gap:.45rem}.brand-lockup .header-monogram{width:38px;height:38px}.brand-lockup .header-wordmark{width:min(44vw,160px);max-height:24px}.process-item{grid-template-columns:42px 76px minmax(0,1fr);gap:.65rem;padding:1.65rem 0}.process-item .step-num{font-size:1.55rem}.payment-step{flex-direction:column;align-items:flex-start;gap:.35rem;font-size:.66rem}.process-icon{width:32px;height:32px}.process-icon svg{width:18px;height:18px}.payment-step::after{left:16px;top:36px;height:4.4rem}.process-item h4{font-size:1.05rem;line-height:1.25}.process-item p{font-size:.78rem;line-height:1.55}.chat-panel{right:.75rem!important;width:min(292px,calc(100vw - 1.5rem))!important;max-height:min(70dvh,500px)!important}.chat-head .chat-monogram{width:32px;height:32px}.chat-head-text b{font-size:.78rem}.chat-head-text span{font-size:.6rem}.chat-body{max-height:190px!important;padding:.8rem!important}.chat-msg{font-size:.75rem!important}.quick-replies button{font-size:.66rem!important;padding:.48rem .62rem!important}}

/* Process and header visual refinement */
.brand-lockup{gap:.3rem}.brand-lockup .header-monogram{width:62px;height:54px}.brand-lockup .header-wordmark{width:220px;max-height:30px}.process-list{max-width:1100px;margin-left:auto;margin-right:auto}.process-item{grid-template-columns:82px 156px minmax(0,1fr);gap:1.6rem;padding:2.45rem .4rem;border-color:rgba(102,112,107,.17)}.process-item .step-num{font-size:2.65rem}.payment-step{gap:.9rem;font-size:.96rem;letter-spacing:.08em}.process-icon{width:54px;height:54px;border-color:rgba(200,168,107,.55);background:rgba(255,255,255,.28);color:var(--pine)}.process-icon svg{width:30px;height:30px;stroke-width:1.35}.payment-step strong{font-weight:600;color:var(--pine)}.payment-step::after{left:27px;top:calc(100% + .55rem);height:3.15rem;background:linear-gradient(var(--brass),rgba(200,168,107,.18));opacity:.65}.process-copy{padding-left:.35rem}.process-item h4{font-size:1.38rem}.process-item p{max-width:650px;font-size:.95rem}.wa-float{top:calc(var(--header-h) + 1rem)!important;bottom:auto!important}.fb-float{top:calc(var(--header-h) + 4.8rem)!important;bottom:auto!important}.ig-float{top:calc(var(--header-h) + 8.6rem)!important;bottom:auto!important}
@media(max-width:940px){.brand-lockup{gap:.2rem}.brand-lockup .header-monogram{width:54px;height:48px}.brand-lockup .header-wordmark{width:min(45vw,190px);max-height:27px}.process-item{grid-template-columns:62px 124px minmax(0,1fr);gap:1rem}.process-item .step-num{font-size:2.2rem}.payment-step{font-size:.82rem;gap:.7rem}.process-icon{width:46px;height:46px}.process-icon svg{width:26px;height:26px}.payment-step::after{left:23px;height:3.35rem}.fb-float,.wa-float,.ig-float{right:max(1rem,env(safe-area-inset-right))!important}}
@media(max-width:620px){.brand-lockup .header-monogram{width:49px;height:44px}.brand-lockup .header-wordmark{width:min(46vw,166px);max-height:24px}.process-item{grid-template-columns:44px 92px minmax(0,1fr);gap:.7rem;padding:1.85rem 0}.process-item .step-num{font-size:1.75rem}.payment-step{gap:.45rem;font-size:.75rem}.process-icon{width:40px;height:40px}.process-icon svg{width:23px;height:23px}.payment-step::after{left:20px;top:45px;height:4.65rem}.process-copy{padding-left:0}.process-item h4{font-size:1.08rem}.process-item p{font-size:.8rem}.fb-float{top:calc(var(--header-h) + 4.65rem)!important}.ig-float{top:calc(var(--header-h) + 8.3rem)!important}}
.brand-lockup .header-monogram{max-height:none!important}
@media(min-width:941px) and (max-width:1180px){.brand-lockup{width:250px!important;min-width:250px!important;overflow:visible!important;gap:.2rem!important}.brand-lockup .header-monogram{width:56px!important;height:50px!important}.brand-lockup .header-wordmark{width:185px!important;max-width:185px!important;flex:0 0 185px!important}}
@media(max-width:940px){.chat-panel{left:auto!important;right:max(1rem,env(safe-area-inset-right))!important;bottom:max(5.4rem,calc(env(safe-area-inset-bottom) + 5.2rem))!important}}
@media(max-width:620px){.chat-panel{left:auto!important;right:max(.75rem,env(safe-area-inset-right))!important;width:min(292px,calc(100vw - 1.5rem))!important}}

