:root{--accent:#b4502c;--accent-dark:#8f3d22;--accent-light:#e8a98c;--bg-primary:#f6f3ee;--text-primary:#1b1815}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg-primary);color:var(--text-primary);margin:0;font-family:Public Sans,system-ui,sans-serif}h1,h2,h3{margin:0;font-family:Archivo,system-ui,sans-serif}a{color:inherit;text-decoration:none}*{box-sizing:border-box}.navlink:hover{color:var(--accent)!important}.cta-primary:hover{background:var(--accent-dark)!important}.cta-outline:hover{background:#ffffff1f!important}.project-link:hover{color:var(--accent-dark)!important}.project-link:hover .arrow{transform:translate(3px)}.arrow{transition:transform .15s;display:inline-block}.service-card:hover{background:#e4ded2!important}html,body{overflow-x:hidden}@media (width<=1024px){.section-pad{padding:80px 40px!important}.hero-heading{font-size:46px!important}.hero-inner{padding-left:40px!important;padding-right:40px!important}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=640px){.section-pad{padding:56px 20px!important}.hero-inner{padding:40px 20px 56px!important}.hero-heading{font-size:34px!important}.hero-eyebrow{font-size:12px!important}.hero-cta-row{flex-direction:column!important;align-items:stretch!important}.hero-cta-row a{text-align:center}.section-heading{font-size:26px!important}.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)!important}.trustbar-row{gap:40px!important}.trustbar-stat{font-size:26px!important}.contact-banner-inner{flex-direction:column!important;align-items:flex-start!important}.footer-columns,.footer-nav-groups{gap:32px!important}}.header-inner{padding:20px 64px}.header-logo{width:auto;height:64px}.main-nav{align-items:center;gap:40px;display:flex}.header-cta{display:inline-flex}.nav-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:none}.mobile-menu{display:none}@media (width<=900px){.header-inner{padding:16px 24px}.header-logo{height:52px}.main-nav,.header-cta{display:none}.nav-toggle{display:flex}.mobile-menu{background:var(--bg-primary);border-bottom:1px solid #ddd6cb;flex-direction:column;gap:4px;padding:8px 24px 24px;display:flex}.mobile-menu a.navlink{border-bottom:1px solid #e4ded2;padding:14px 0;font-size:16px}.mobile-menu .cta-primary{text-align:center;margin-top:16px}}@media (width<=480px){.header-inner{padding:14px 20px}.header-logo{height:44px}}.hero-carousel{background:#1b1815;width:100%;height:520px;position:relative;overflow:hidden}.hero-carousel-slide{background-position:50%;background-size:cover;transition:opacity 1.2s;position:absolute;inset:0}.hero-carousel-dots{z-index:2;gap:8px;display:flex;position:absolute;bottom:20px;right:24px}.hero-carousel-dot{cursor:pointer;background:#ffffff73;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.hero-carousel-dot.active{background:#fff;transform:scale(1.3)}.cta-outline.hero-cta-outline:hover{background:#1b18150f!important}@media (prefers-reduced-motion:reduce){.hero-carousel-slide{transition:none}}@media (width<=640px){.hero-carousel{height:300px}}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.gallery-tile{cursor:pointer;aspect-ratio:4/3;opacity:0;background:#d8d2c6;border:none;border-radius:6px;margin:0;padding:0;transition:opacity .6s,transform .6s;position:relative;overflow:hidden;transform:translateY(28px)scale(.98)}.gallery-tile.in-view{opacity:1;transform:translateY(0)scale(1)}.gallery-tile img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gallery-tile:hover img{transform:scale(1.08)}.gallery-tile-overlay{background:#1b181500;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.gallery-tile-overlay svg{opacity:0;transition:opacity .25s,transform .25s;transform:scale(.8)}.gallery-tile:hover .gallery-tile-overlay{background:#1b181559}.gallery-tile:hover .gallery-tile-overlay svg{opacity:1;transform:scale(1)}.gallery-load-more{border:1.5px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:3px;align-self:center;padding:14px 32px;font-size:15px;font-weight:600;transition:background .2s,color .2s}.gallery-load-more:hover{background:var(--accent);color:#fff}.gallery-lightbox{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f0d0beb;justify-content:center;align-items:center;animation:.25s gallery-fade-in;display:flex;position:fixed;inset:0}@keyframes gallery-fade-in{0%{opacity:0}to{opacity:1}}.gallery-lightbox-content{flex-direction:column;align-items:center;gap:12px;max-width:88vw;max-height:86vh;animation:.3s cubic-bezier(.2,.9,.3,1.2) gallery-zoom-in;display:flex;position:relative}@keyframes gallery-zoom-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.gallery-lightbox-img{object-fit:contain;border-radius:4px;max-width:88vw;max-height:78vh;box-shadow:0 20px 60px #00000080}.gallery-lightbox-counter{color:#e8e3da;letter-spacing:.04em;font-size:14px}.gallery-lightbox-close{cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;top:24px;right:24px}.gallery-lightbox-close:hover{background:#ffffff2e}.gallery-lightbox-nav{cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-lightbox-nav:hover{background:#ffffff2e}.gallery-lightbox-prev{left:24px}.gallery-lightbox-next{right:24px}@media (width<=640px){.gallery-lightbox-nav{width:40px;height:40px}.gallery-lightbox-prev{left:8px}.gallery-lightbox-next{right:8px}}.scroll-to-top{background:var(--accent);cursor:pointer;opacity:0;pointer-events:none;z-index:500;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:opacity .4s,transform .4s cubic-bezier(.2,.9,.3,1.2),background .2s,box-shadow .2s;display:flex;position:fixed;bottom:32px;right:24px;transform:translateY(28px)scale(.85);box-shadow:0 6px 20px #1b181540}.scroll-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scroll-to-top:hover{background:var(--accent-dark);transform:translateY(-6px)scale(1.06);box-shadow:0 12px 28px #1b181552}.scroll-to-top:active{transform:translateY(-2px)scale(.98)}@media (width<=640px){.scroll-to-top{width:42px;height:42px;bottom:20px;right:16px}}@media (prefers-reduced-motion:reduce){.scroll-to-top{transition:opacity .2s;transform:none}.scroll-to-top.visible,.scroll-to-top:hover{transform:none}}.contact-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f0d0b99;justify-content:center;align-items:center;padding:20px;animation:.2s contact-modal-fade-in;display:flex;position:fixed;inset:0}@keyframes contact-modal-fade-in{0%{opacity:0}to{opacity:1}}.contact-modal{background:var(--bg-primary);border-radius:8px;width:100%;max-width:440px;max-height:90vh;padding:40px 32px 32px;animation:.25s cubic-bezier(.2,.9,.3,1.2) contact-modal-zoom-in;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000059}@keyframes contact-modal-zoom-in{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.contact-modal-close{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:6px;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.contact-modal-close:hover{background:#1b181514}.contact-modal-title{color:#1b1815;margin:0 0 6px;font-size:24px;font-weight:800}.contact-modal-subtitle{color:#56504a;margin:0 0 24px;font-size:14px;line-height:1.5}.contact-modal-field{color:#1b1815;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}.contact-modal-field input,.contact-modal-field textarea{color:#1b1815;resize:vertical;background:#fff;border:1px solid #ddd6cb;border-radius:4px;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:400}.contact-modal-field input:focus,.contact-modal-field textarea:focus{border-color:var(--accent);outline:none}.contact-modal-error{color:#b4502c;margin:0 0 16px;font-size:13px}.contact-modal-submit{width:100%;margin-top:4px}.contact-modal-success{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.contact-modal-success h3{color:#1b1815;margin:8px 0 0;font-size:22px;font-weight:800}.contact-modal-success p{color:#56504a;margin:0 0 16px;font-size:14px}
