@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-main:#fafaf9;--bg-soft:#f2f1ed;--bg-accent:#e7e5e0;--text-ink:#44403c;--text-soft:#78716c;--brand:#8b9a90;--brand-dim:#8b9a9026;--brand-rgb:139, 154, 144;--white:#fff;--nav-h:80px}html{scroll-behavior:smooth}body{background:var(--bg-main);color:var(--text-ink);-webkit-font-smoothing:antialiased;font-family:Jost,sans-serif;overflow-x:hidden}.serif{font-family:Cormorant Garamond,serif}nav{z-index:200;height:var(--nav-h);justify-content:space-between;align-items:center;padding:0 4rem;transition:background .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{-webkit-backdrop-filter:blur(20px);background:#ffffffe0;height:64px;box-shadow:0 1px #0000000f}.nav-logo{z-index:210;align-items:center;gap:.9rem;text-decoration:none;display:flex}.nav-logo img{object-fit:contain;filter:sepia(20%)contrast(90%);border:1px solid var(--brand-dim);border-radius:50%;flex-shrink:0;width:36px;height:36px;transition:transform .4s}.nav-logo:hover img{transform:rotate(5deg)scale(1.08)}.nav-logo-text{letter-spacing:.08em;color:var(--text-ink);white-space:nowrap;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:500}.nav-links{gap:3rem;list-style:none;display:flex}.nav-links a{letter-spacing:.22em;text-transform:uppercase;color:var(--text-soft);padding-bottom:3px;font-size:.72rem;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--brand);width:0;height:1px;transition:width .35s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0}.nav-links a:hover{color:var(--brand)}.nav-links a:hover:after{width:100%}.hamburger{cursor:pointer;z-index:210;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:8px;display:none;position:relative}.hamburger span{background:var(--text-ink);transform-origin:50%;border-radius:2px;height:1.5px;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s,width .3s;display:block}.hamburger span:first-child{width:26px}.hamburger span:nth-child(2){width:20px}.hamburger span:nth-child(3){width:26px}.hamburger.open span:first-child{width:24px;transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){width:24px;transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{z-index:180;-webkit-backdrop-filter:blur(24px);pointer-events:none;opacity:0;background:#fafaf9f7;flex-direction:column;justify-content:center;align-items:center;gap:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;transform:translateY(-12px)}.mobile-menu.open{opacity:1;pointer-events:all;transform:translateY(0)}.mobile-menu-links{text-align:center;width:100%;list-style:none}.mobile-menu-links li{border-bottom:1px solid var(--bg-accent);overflow:hidden}.mobile-menu-links li:first-child{border-top:1px solid var(--bg-accent)}.mobile-menu-links a{letter-spacing:.04em;color:var(--text-ink);-webkit-tap-highlight-color:transparent;padding:1.4rem 2rem;font-family:Cormorant Garamond,serif;font-size:2.4rem;font-weight:300;text-decoration:none;transition:color .3s,background .3s;display:block}.mobile-menu-links a:hover{color:var(--brand);background:var(--brand-dim)}.mobile-menu-cta{background:var(--brand);color:#fff;letter-spacing:.2em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;align-items:center;margin-top:3rem;padding:1.1rem 2.8rem;font-size:.75rem;text-decoration:none;transition:background .3s;display:inline-flex}.mobile-menu-cta:hover{background:var(--text-ink)}.mobile-menu.open .mobile-menu-links li:first-child a{animation:.4s 80ms both menuLinkIn}.mobile-menu.open .mobile-menu-links li:nth-child(2) a{animation:.4s .14s both menuLinkIn}.mobile-menu.open .mobile-menu-links li:nth-child(3) a{animation:.4s .2s both menuLinkIn}.mobile-menu.open .mobile-menu-links li:nth-child(4) a{animation:.4s .26s both menuLinkIn}.mobile-menu.open .mobile-menu-cta{animation:.4s .34s both menuLinkIn}@keyframes menuLinkIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1);transform:translate(-50px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1);transform:translate(50px)}.reveal-right.visible{opacity:1;transform:translate(0)}@media (max-width:768px){.reveal,.reveal-left,.reveal-right{opacity:1!important;transition:none!important;transform:none!important}}.hero{background:var(--bg-soft);text-align:center;justify-content:center;align-items:center;height:100svh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;object-position:center;filter:brightness(.88);width:100%;height:100%;animation:22s ease-in-out infinite alternate slowZoom;display:block;position:absolute;inset:0}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-overlay{z-index:2;background:linear-gradient(#fafaf914 0%,#fafaf9a6 100%);position:absolute;inset:0}.hero-content{z-index:10;max-width:900px;padding:0 2rem;position:relative}.hero-eyebrow{opacity:0;align-items:center;gap:1rem;margin-bottom:2rem;animation:1s .3s forwards fadeSlideUp;display:inline-flex}.hero-eyebrow-line{background:var(--brand);width:32px;height:1px}.hero-eyebrow span{letter-spacing:.35em;text-transform:uppercase;color:var(--brand);font-size:.7rem;font-weight:500}.hero h1{color:var(--text-ink);letter-spacing:-.01em;opacity:0;font-family:Cormorant Garamond,serif;font-size:clamp(3.2rem,8vw,6rem);font-weight:300;line-height:1;animation:1.1s .5s forwards fadeSlideUp}.hero h1 em{color:var(--brand);font-style:italic;display:block}.hero-subtitle{letter-spacing:.25em;color:var(--text-soft);text-transform:uppercase;opacity:0;margin-top:2rem;font-size:.85rem;font-weight:300;animation:1.1s .7s forwards fadeSlideUp}.hero-actions{opacity:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;margin-top:3.5rem;animation:1.1s .9s forwards fadeSlideUp;display:flex}.hero-cta{background:var(--brand);color:#fff;letter-spacing:.2em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;align-items:center;padding:1.2rem 3rem;font-size:.75rem;font-weight:400;text-decoration:none;transition:background .35s,transform .35s;display:inline-flex;position:relative;overflow:hidden}.hero-cta:before{content:"";background:#ffffff1f;transition:transform .4s;position:absolute;inset:0;transform:translate(-100%)}.hero-cta:hover:before{transform:translate(0)}.hero-cta:hover{background:var(--text-ink);transform:translateY(-3px)}.hero-cta-ghost{letter-spacing:.2em;text-transform:uppercase;color:var(--text-ink);border-bottom:1px solid var(--brand);-webkit-tap-highlight-color:transparent;padding-bottom:4px;font-size:.75rem;font-weight:400;text-decoration:none;transition:color .3s,border-color .3s}.hero-cta-ghost:hover{color:var(--brand);border-color:var(--text-ink)}.scroll-indicator{z-index:10;opacity:0;flex-direction:column;align-items:center;gap:.5rem;animation:1s 1.4s forwards fadeSlideUp;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.25em;text-transform:uppercase;color:var(--text-soft);font-size:.6rem}.scroll-line{background:var(--bg-accent);width:1px;height:50px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--brand);width:100%;height:100%;animation:1.8s cubic-bezier(.4,0,.2,1) 1.6s infinite scrollDrop;position:absolute;top:-100%;left:0}@keyframes scrollDrop{0%{top:-100%}to{top:100%}}.label{letter-spacing:.3em;text-transform:uppercase;color:var(--brand);align-items:center;gap:.8rem;font-size:.68rem;display:flex}.label:before{content:"";background:var(--brand);width:24px;height:1px}.about-section{grid-template-columns:1fr 1fr;align-items:center;gap:7rem;max-width:1200px;margin:0 auto;padding:10rem 4rem;display:grid}.about-img-wrap{border:1px solid var(--bg-accent);padding:1.2rem;position:relative}.about-img-wrap:before{content:"";border:1px solid var(--brand-dim);z-index:-1;width:60%;height:60%;transition:transform .6s;position:absolute;bottom:-1.5rem;right:-1.5rem}.about-img-wrap:hover:before{transform:translate(6px,6px)}.about-img-wrap img{object-fit:cover;filter:contrast(95%)brightness(102%);width:100%;height:520px;display:block}.about-text h2{color:var(--text-ink);margin:1.5rem 0 2rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:300;line-height:1.15}.about-text p{color:var(--text-soft);font-size:1rem;font-weight:300;line-height:2}.services-section{background:var(--bg-soft);text-align:center;padding:10rem 4rem}.services-header{margin-bottom:4rem}.services-header .label{justify-content:center;margin-bottom:1rem}.services-header h2{font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,5vw,3.5rem);font-weight:300}.services-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}.service-card{background:var(--white);text-align:left;border:1px solid var(--bg-accent);padding:3.5rem 2.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1),border-color .4s,box-shadow .4s;position:relative;overflow:hidden}.service-card:before{content:"";background:var(--brand);width:0;height:2px;transition:width .5s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.service-card:hover{border-color:var(--bg-accent);transform:translateY(-8px);box-shadow:0 20px 60px #0000000f}.service-card:hover:before{width:100%}.service-card-icon{background:var(--brand);width:32px;height:1px;margin-bottom:2rem;transition:width .4s}.service-card:hover .service-card-icon{width:48px}.service-card h3{color:var(--text-ink);margin-bottom:1.2rem;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:400}.service-card p{color:var(--text-soft);font-size:.92rem;line-height:1.9}.gallery-section{max-width:1300px;margin:0 auto;padding:10rem 4rem}.gallery-header{margin-bottom:3rem}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;display:grid}.gallery-item{aspect-ratio:4/5;background:var(--bg-accent);position:relative;overflow:hidden}.gallery-item:after{content:"";background:rgba(var(--brand-rgb), 0);transition:background .5s;position:absolute;inset:0}.gallery-item:hover:after{background:rgba(var(--brand-rgb), .1)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s cubic-bezier(.2,1,.3,1);display:block}.gallery-item:hover img{transform:scale(1.07)}.contact-section{padding:10rem 4rem}.contact-inner{background:var(--white);border:1px solid var(--bg-accent);grid-template-columns:1fr 1fr;gap:5rem;max-width:1100px;margin:0 auto;padding:6rem;display:grid}.contact-info h2{margin-bottom:3rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,4vw,3rem);font-weight:300;line-height:1.2}.contact-detail{margin-bottom:2.5rem}.contact-detail strong{text-transform:uppercase;letter-spacing:.2em;color:var(--brand);margin-bottom:.5rem;font-size:.68rem;display:block}.contact-detail span,.contact-detail a{color:var(--text-ink);font-size:1.05rem;font-weight:300;line-height:1.6;text-decoration:none}.contact-detail a:hover{color:var(--brand)}.contact-body{flex-direction:column;justify-content:center;display:flex}.contact-body p{color:var(--text-soft);margin-bottom:2.5rem;font-weight:300;line-height:1.9}.btn-wa{background:var(--brand);color:#fff;letter-spacing:.15em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;align-self:flex-start;align-items:center;gap:.8rem;padding:1.1rem 2.2rem;font-size:.8rem;text-decoration:none;transition:background .3s,transform .3s;display:inline-flex}.btn-wa svg{flex-shrink:0}.btn-wa:hover{background:var(--text-ink);transform:translateY(-2px)}footer{text-align:center;background:var(--bg-soft);border-top:1px solid var(--bg-accent);color:var(--text-soft);letter-spacing:.1em;padding:3.5rem 4rem;font-size:.8rem}footer p+p{opacity:.5;margin-top:.5rem;font-size:.68rem}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.services-grid,.gallery-grid{grid-template-columns:1fr 1fr}.about-section{grid-template-columns:1fr;gap:3rem;padding:6rem 2rem}.about-img-wrap img{height:360px}.contact-inner{grid-template-columns:1fr;gap:3rem;padding:4rem 2rem}}@media (max-width:768px){:root{--nav-h:64px}nav{padding:0 1.2rem}nav.scrolled{height:58px}.nav-links{display:none}.hamburger{display:flex}.hero h1{font-size:3rem}.hero-eyebrow{margin-bottom:1.2rem}.hero-actions{gap:1.5rem}.hero-cta{padding:1rem 2rem;font-size:.7rem}.about-section{gap:2.5rem;padding:5rem 1.5rem}.about-img-wrap{padding:.6rem}.about-img-wrap img{object-fit:cover;width:100%;height:240px;display:block}.services-section{padding:5rem 1.5rem}.services-grid{grid-template-columns:1fr;gap:1rem}.service-card{padding:2.5rem 2rem}.gallery-section{padding:5rem 1.5rem}.gallery-grid{grid-template-columns:1fr;gap:1rem}.gallery-item{aspect-ratio:16/9;width:100%;min-height:200px}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.contact-section{padding:5rem 1.5rem}.contact-inner{gap:2.5rem;padding:3rem 1.5rem}footer{padding:3rem 1.5rem}.scroll-indicator{display:none}}@media (max-width:480px){.hero h1{font-size:2.4rem}.hero-actions{flex-direction:column;gap:1.2rem}.about-text h2{font-size:2rem}.gallery-item{min-height:180px}}
