@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#202420;background:#f4f3ef;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:84px;padding:0 clamp(24px,5vw,88px);display:flex;justify-content:space-between;align-items:center;background:#f4f3ef}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.16rem;letter-spacing:.16em;line-height:1}.brand small{display:block;font-size:.55rem;font-weight:700;letter-spacing:.24em;margin-top:7px}.brand-mark{font-size:2rem;font-weight:800;border:2px solid #202420;width:47px;height:47px;display:grid;place-items:center;letter-spacing:-.13em;padding-right:5px}.brand-dot{color:#bf714d}.site-header nav{display:flex;align-items:center;gap:36px;font-size:.86rem;font-weight:700}.site-header nav a:hover,.site-header nav a:focus-visible{color:#b66541}.site-header .nav-cta{padding:14px 18px;border:1px solid #252925}.nav-cta span{margin-left:16px}.hero{display:grid;grid-template-columns:55% 45%;min-height:680px;background:#202521;color:#f7f5ef}.hero-photo{position:relative;min-height:680px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-index{position:absolute;bottom:25px;left:30px;padding:10px 14px;background:rgba(22,25,22,.78);font-size:.7rem;letter-spacing:.18em}.hero-content{padding:clamp(55px,8vw,120px) clamp(38px,6vw,100px) 45px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow,.section-kicker{font-size:.72rem;font-weight:800;letter-spacing:.2em}.eyebrow{display:flex;align-items:center;gap:14px;color:#d4aa8f}.line{width:35px;height:1px;background:currentColor}.hero h1{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.09;letter-spacing:-.065em;margin:38px 0 26px;max-width:650px}.hero em,.contact em{font-family:Georgia,serif;font-weight:400;color:#d6a17f}.hero-content>p{font-size:1rem;line-height:1.8;max-width:390px;color:#d7d9d2}.button-light{margin-top:35px;background:#ece8dc;color:#202420;padding:18px 22px;min-width:225px;display:flex;justify-content:space-between;font-size:.85rem;font-weight:800}.button-light:hover{background:#d6a17f}.hero-foot{margin-top:auto;padding-top:50px;color:#909990;font-size:.65rem;font-weight:700;letter-spacing:.2em}.intro{display:grid;grid-template-columns:28% 1fr;gap:45px;padding:110px clamp(24px,7vw,110px);border-bottom:1px solid #d2d0c9}.section-kicker{color:#b16b49;margin:0}.intro h2{font-size:clamp(2rem,3.3vw,3.6rem);line-height:1.2;letter-spacing:-.055em;max-width:700px;margin:0 0 40px}.specialties{display:flex;flex-wrap:wrap;gap:10px}.specialties span{border:1px solid #c9c9c0;padding:12px 17px;font-size:.79rem;font-weight:700}.portfolio{padding:105px clamp(24px,7vw,110px) 125px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.065em;line-height:1.05;margin:14px 0 0}.section-heading>p{line-height:1.7;color:#6d736d;max-width:390px;margin:0;font-size:.95rem}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #c9ccc5;background:transparent;border-radius:0;padding:10px 19px;cursor:pointer;font-size:.82rem;font-weight:700;color:#393f3a}.filters button.active,.filters button:hover{background:#222923;border-color:#222923;color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{background:#e8e9e3}.project[hidden]{display:none}.project img{display:block;width:100%;height:300px;object-fit:cover}.project.feature img{object-position:center}.project-caption{padding:21px 20px 26px}.project-caption span{font-size:.65rem;font-weight:800;letter-spacing:.18em;color:#a06044}.project-caption h3{font-size:1.02rem;margin:10px 0 0;letter-spacing:-.025em}.contact{background:#253029;color:#f6f5ef;padding:100px clamp(24px,7vw,110px);display:flex;align-items:end;justify-content:space-between;gap:50px}.contact h2{font-size:clamp(3.2rem,6vw,6rem);letter-spacing:-.07em;line-height:1.08;margin:20px 0 0}.contact>p{max-width:390px;line-height:1.8;color:#d0d8cd;font-size:.98rem;margin:0 0 5px}.contact em{color:#d6a17f}footer{background:#19201b;color:#deded4;padding:38px clamp(24px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:15px}footer>span{font-size:1.2rem;font-weight:800;letter-spacing:.18em}footer small{font-size:.76rem;color:#a4aca4}footer a{font-size:.77rem;font-weight:700}@media(max-width:850px){.site-header{height:75px}.site-header nav{gap:18px}.site-header nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-photo{min-height:420px}.hero-content{min-height:500px;padding:54px 30px 40px}.hero h1{max-width:680px}.intro{grid-template-columns:1fr;padding-top:75px;padding-bottom:75px;gap:22px}.portfolio{padding-top:80px;padding-bottom:90px}.project-grid{grid-template-columns:repeat(2,1fr)}.contact{align-items:start;flex-direction:column}.contact h2{margin-bottom:0}}@media(max-width:600px){.site-header{padding:0 20px}.brand{font-size:.95rem}.brand small{font-size:.45rem}.brand-mark{height:40px;width:40px;font-size:1.65rem}.site-header .nav-cta{font-size:.73rem;padding:11px}.nav-cta span{margin-left:5px}.hero-photo{min-height:340px}.hero-content{min-height:480px}.hero h1{font-size:clamp(2.8rem,11vw,4rem);margin:25px 0 14px}.hero-foot{padding-top:35px}.section-heading{display:block}.section-heading>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:18px}.project img{height:330px}.contact{padding-top:80px;padding-bottom:85px}footer{flex-wrap:wrap}footer small{order:3;width:100%}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
.gallery-section{padding:105px clamp(24px,7vw,110px) 125px;background:#e8e7e1}.gallery-section .section-heading h2{font-size:clamp(2.5rem,4.5vw,4.7rem)}.gallery-filters{margin:35px 0 28px}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.gallery-tile{display:block;border:0;padding:0;background:#d3d2cb;cursor:zoom-in;overflow:hidden;aspect-ratio:1}.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gallery-tile:hover img{transform:scale(1.05)}.gallery-tile:focus-visible,.filters button:focus-visible{outline:3px solid #b16b49;outline-offset:3px}.photo-dialog{border:0;padding:22px 64px 48px;background:#1b211d;color:#f4f3ef;max-width:min(95vw,1250px);max-height:95vh;overflow:auto}.photo-dialog::backdrop{background:rgba(8,12,9,.88)}.photo-dialog img{display:block;max-width:100%;max-height:calc(95vh - 105px);object-fit:contain;margin:auto}.photo-dialog p{text-align:center;font-size:.85rem;margin:18px 0 0}.dialog-close,.dialog-nav{position:absolute;border:0;color:#fff;background:#2f3b33;cursor:pointer}.dialog-close{right:10px;top:8px;font-size:2rem;width:44px;height:44px;line-height:1}.dialog-nav{top:50%;transform:translateY(-50%);font-size:2.5rem;width:45px;height:62px}.dialog-prev{left:8px}.dialog-next{right:8px}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.gallery-section{padding:80px 20px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.photo-dialog{padding:56px 8px 48px;max-width:100vw;width:100vw}.photo-dialog img{max-height:calc(95vh - 120px)}.dialog-nav{background:rgba(24,28,25,.7)}.dialog-prev{left:0}.dialog-next{right:0}}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.category-card{position:relative;display:block;min-height:360px;overflow:hidden;color:#fff;background:#1e2420}.category-card img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:transform .35s ease}.category-card:hover img{transform:scale(1.04)}.category-card>span{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px;padding:65px 27px 27px;background:linear-gradient(transparent,rgba(0,0,0,.75))}.category-card small{grid-column:1/-1;font-size:.72rem;font-weight:800;letter-spacing:.17em;color:#e4c4b1}.category-card strong{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.1;letter-spacing:-.06em}.category-card>span>span{font-size:1.8rem}.category-card:focus-visible,.back-to-categories:focus-visible,.category-switch a:focus-visible{outline:3px solid #b16b49;outline-offset:4px}.back-to-categories{display:inline-block;margin-bottom:40px;font-size:.9rem;font-weight:800}.category-switch{display:flex;flex-wrap:wrap;gap:9px;margin:32px 0 26px}.category-switch a{padding:11px 18px;border:1px solid #aab0a9;font-size:.85rem;font-weight:700}.category-switch a.active,.category-switch a:hover{background:#222923;color:#fff}.gallery-section [hidden]{display:none!important}@media(max-width:600px){.category-grid{grid-template-columns:1fr;gap:14px}.category-card{min-height:320px}.category-card>span{padding:50px 21px 24px}}
.project-link{display:block;height:100%}.project-link:focus-visible{outline:3px solid #b16b49;outline-offset:3px}.project-link:hover img{filter:brightness(.9)}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-tile{aspect-ratio:auto;overflow:visible;text-align:left;background:#f5f4ef;cursor:pointer}.gallery-tile img{aspect-ratio:1.15;width:100%;height:auto;object-fit:cover}.gallery-description{display:block;padding:16px 16px 19px;font-size:.86rem;line-height:1.45;font-weight:700;min-height:74px}.photo-dialog p{font-size:1rem;font-weight:700}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-description{padding:10px 10px 13px;font-size:.76rem;min-height:76px}}
.contact{align-items:start;gap:clamp(32px,5vw,90px)}.contact-intro{flex:1 1 45%}.contact-intro>p:last-child{max-width:410px;line-height:1.8;color:#d0d8cd;margin-top:28px}.quote-form{flex:1 1 55%;max-width:650px;display:grid;gap:19px}.quote-form label{display:block;font-size:.81rem;font-weight:800;letter-spacing:.01em}.quote-form label span{color:#b7c0b8;font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:9px;padding:15px 16px;border:1px solid #5e6a61;border-radius:0;background:#f5f4ee;color:#1f2721;font:inherit;font-size:.92rem;line-height:1.4}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#66716a}.quote-form textarea{resize:vertical;min-height:115px}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:3px solid #d6a17f;outline-offset:2px}.form-help,.form-privacy{font-size:.8rem;line-height:1.55;color:#cbd3cb;margin:0}.quote-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;padding:18px 20px;color:#1b241d;background:#d6a17f;font-size:.9rem;font-weight:800;cursor:pointer}.quote-button:hover{background:#ebbd9f}.form-privacy{font-size:.74rem;color:#aeb9ae}@media(max-width:850px){.contact{flex-direction:column}.quote-form{width:100%;max-width:none}}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:19px}}
.project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-gallery-card{display:flex;flex-direction:column;background:#f5f4ef;min-width:0}.project-gallery-card img{width:100%;height:270px;object-fit:cover;display:block}.project-gallery-content{display:flex;flex:1;flex-direction:column;gap:11px;padding:21px 21px 23px}.project-gallery-content strong{font-size:1.13rem;letter-spacing:-.03em;line-height:1.3}.project-gallery-content>span:not(.project-gallery-action){font-size:.85rem;color:#596159;line-height:1.55}.project-gallery-action{margin-top:auto;padding-top:9px;font-size:.78rem;font-weight:800;color:#a45c3e}.project-gallery-card:hover img{filter:brightness(.9)}.project-gallery-card:focus-visible{outline:3px solid #b16b49;outline-offset:3px}@media(max-width:850px){.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-gallery-grid{grid-template-columns:1fr;gap:16px}.project-gallery-card img{height:250px}}
.phone-dialog{position:fixed;border:0;padding:34px;color:#202720;background:#f5f4ef;max-width:min(94vw,560px);max-height:92vh;overflow:auto;text-align:center}.phone-dialog::backdrop{background:rgba(10,16,12,.8)}.phone-dialog h2{font-size:2.3rem;letter-spacing:-.06em;margin:9px 0 14px}.phone-dialog>p:not(.section-kicker){font-size:.9rem;line-height:1.6;max-width:460px;margin:0 auto 20px;color:#4b554e}.phone-dialog-close{position:absolute;right:12px;top:9px;border:0;background:none;font-size:2rem;cursor:pointer}.quote-qr{width:min(100%,390px);margin:0 auto;background:#fff}.quote-qr svg{width:100%;height:auto;display:block}.phone-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0}.phone-actions button,.phone-actions a{font-size:.84rem;font-weight:800;padding:12px 16px;border:1px solid #28332b;background:none;color:#202720;cursor:pointer}.phone-actions button{background:#28332b;color:#fff}.phone-dialog .copy-feedback{min-height:1.2em;margin:0;color:#365c43;font-size:.8rem}.phone-dialog .qr-error{color:#9a4233}@media(max-width:600px){.phone-dialog{padding:44px 19px 25px}}
.brand-mark{width:50px;height:50px;flex:none;padding:0;border:1px solid #202920;background:#202920;color:#f7f5ef;display:flex;align-items:center;justify-content:center;gap:0;font-size:1.55rem;line-height:1;font-weight:800;letter-spacing:-.13em;box-shadow:inset 0 0 0 3px #202920,inset 0 0 0 4px #a67b64}
.brand-mark span:last-child{color:#d6a17f;margin-left:1px}
@media(max-width:600px){.brand-mark{width:43px;height:43px;font-size:1.32rem}}
.brand-name{font-size:.9rem;letter-spacing:.13em;line-height:1.2;max-width:180px}
@media(max-width:600px){.brand{gap:9px}.brand-name{font-size:.72rem;letter-spacing:.07em;max-width:105px}}
.hero-track{position:absolute;inset:0;display:flex;transition:transform .75s cubic-bezier(.22,.61,.36,1);will-change:transform}
.hero-slide{position:relative;flex:0 0 100%;height:100%;min-width:0}
.hero-photo .hero-slide img{position:static;display:block;width:100%;height:100%;object-fit:cover}
.hero-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:52px;border:1px solid rgba(255,255,255,.45);background:rgba(25,32,27,.55);color:#fff;cursor:pointer;font-size:2rem;line-height:1;display:grid;place-items:center}
.hero-arrow:hover,.hero-arrow:focus-visible{background:#202920}
.hero-prev{left:18px}.hero-next{right:18px}
.hero-dots{position:absolute;z-index:2;bottom:36px;right:28px;display:flex;align-items:center;gap:9px}
.hero-dots button{width:12px;height:12px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.hero-dots button.active{background:#fff}
@media(max-width:600px){.hero-arrow{width:34px;height:44px;font-size:1.7rem}.hero-prev{left:10px}.hero-next{right:10px}.hero-dots{right:18px;bottom:34px}}
@media(prefers-reduced-motion:reduce){.hero-track{transition:none}}
.site-footer{display:block;padding:60px clamp(24px,7vw,110px) 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:clamp(22px,4vw,65px);padding-bottom:58px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-grid h2{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin:2px 0 12px;color:#d6a17f}
.footer-grid a{font-size:.9rem;color:#deded4;line-height:1.5}
.footer-grid a:hover,.footer-grid a:focus-visible,.footer-bottom a:hover{color:#d6a17f}
.footer-about strong{font-size:2.25rem;letter-spacing:-.08em;line-height:1}
.footer-grid p{font-size:.9rem;line-height:1.7;color:#aeb9ad;max-width:260px;margin:0 0 6px}
.footer-about .footer-contact{border-bottom:1px solid #d6a17f;padding-bottom:6px;color:#f7f5ef;font-weight:700}
.footer-bottom{border-top:1px solid #424b43;padding-top:24px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;color:#aeb9ad;font-size:.76rem}
.footer-bottom small{font-size:inherit;color:inherit;order:initial;width:auto}.footer-bottom a{font-size:inherit}
.footer-bottom strong{color:#f7f5ef;font-variant-numeric:tabular-nums}
@media(max-width:850px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}}
@media(max-width:600px){.site-footer{padding-top:54px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.footer-about,.footer-visit{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}}
.phone-dialog .qr-domain{font-size:.78rem;line-height:1.5;color:#59665d;margin:12px 0 0}
.phone-dialog .qr-domain strong{color:#202720}
.form-row.location-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(105px,.72fr)}
@media(max-width:600px){.form-row.location-row{grid-template-columns:repeat(2,minmax(0,1fr))}.location-row label:first-child{grid-column:1/-1}}
.phone-dialog .desktop-option-note{font-size:.83rem;color:#59665d;margin:18px 0 0;line-height:1.5}
.phone-actions .desktop-app-link{background:#28332b;color:#fff}
.phone-actions .desktop-app-link:hover,.phone-actions .desktop-app-link:focus-visible{background:#3d5947;color:#fff}
.phone-actions button{background:transparent;color:#202720}

.specialties a{border:1px solid #c9c9c0;padding:12px 17px;font-size:.79rem;font-weight:700;display:inline-flex;align-items:center;gap:16px;transition:background .2s,color .2s,border-color .2s}.specialties a span{border:0;padding:0;font-size:1rem;line-height:1}.specialties a:hover,.specialties a:focus-visible{background:#222923;border-color:#222923;color:#fff}.specialties a:focus-visible{outline:2px solid #b16b49;outline-offset:3px}

img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.quote-button:disabled{opacity:.65;cursor:wait}.form-feedback{min-height:1.2em;margin:0;color:#e7c7ac;font-size:.85rem}
