@font-face{font-family:Archivo;src:url(/fonts/archivo-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/spacegrotesk-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/spacegrotesk-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/spacegrotesk-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/spacegrotesk-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/spacegrotesk-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#181c22;--bg-alt:#12151a;--bg-elevated:#262a34;--text:#eeedf2;--text-dim:#aeaabc;--accent:#c4a95f;--accent-rose:#957a81;--muted:#8d8da4;--selection:#3d414e;--border:rgba(158,157,178,.12);--font-heading:"Archivo",sans-serif;--font-body:"Space Grotesk",sans-serif;--base:40px;--v-margin:150px;--v-sub:80px;--v-para:32px;--h-padding:60px;--gap:80px;--max-narrow:680px;--max-medium:960px;--max-wide:1400px;--transition-theme:300ms ease;--transition-fast:200ms ease;--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-out-quart:cubic-bezier(0.25,1,0.5,1)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:clamp(16px,4vw,20px);line-height:1.6;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-theme),color var(--transition-theme);overflow-x:hidden}::selection{background:var(--selection);color:var(--text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(32px,8vw,60px)}h2{font-size:clamp(24px,6vw,48px);line-height:1.3}h3{font-size:clamp(18px,5vw,36px);line-height:1.4}.display-text{font-size:60px;line-height:1.2;letter-spacing:-.02em}.meta-label{font-family:var(--font-heading);font-size:clamp(10px,3vw,12px);text-transform:uppercase;letter-spacing:.2em;line-height:1.4;color:var(--muted)}p{margin-bottom:var(--v-para)}a{color:var(--text);text-decoration:none;transition:border-color var(--transition-fast)}a:hover{border-bottom:1px solid var(--accent)}.btn{display:inline-block;background:var(--accent);color:var(--bg);padding:16px 32px;border:none;border-radius:0;font-family:var(--font-heading);font-size:14px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;text-decoration:none}.btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 20px rgba(196,169,95,.2);border-bottom:none}.btn:active{transform:scale(.98)}.btn-outline{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg-elevated);color:var(--text);border-color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section{padding:var(--v-margin) var(--h-padding);max-width:var(--max-wide);margin:0 auto}.section-alt-wrapper{background:var(--bg-alt)}.section-line{width:100%;max-width:var(--max-wide);margin:0 auto;height:1px;background:linear-gradient(90deg,transparent 0,var(--border) 20%,var(--border) 80%,transparent 100%)}.section-narrow{max-width:var(--max-narrow);margin:0 auto}.section-medium{max-width:var(--max-medium);margin:0 auto}.noise-overlay{width:100%;height:100%;background-image:url(/noise.png);background-repeat:repeat;opacity:.03;z-index:9999;pointer-events:none}.navbar,.noise-overlay{position:fixed;top:0;left:0}.navbar{right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:20px var(--h-padding);background:rgba(24,28,34,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background-color var(--transition-theme),transform .3s ease}.navbar-logo{font-family:var(--font-heading);font-size:18px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text);text-decoration:none}.navbar-logo:hover{border-bottom:none}.navbar-links{display:flex;gap:32px;list-style:none}.navbar-links a{font-family:var(--font-heading);font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:4px 0;transition:color .2s ease}.navbar-links a:hover{color:var(--text);border-bottom:1px solid var(--accent)}.navbar-right{display:flex;align-items:center;gap:16px}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;width:48px;height:48px;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:1001}.hamburger span{display:block;width:24px;height:2px;background:var(--text);transition:transform .3s ease,opacity .3s ease}.hamburger.open span:first-child{transform:translateY(8px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-drawer{position:fixed;top:0;right:0;width:80vw;height:100vh;background:var(--bg-elevated);z-index:999;transform:translateX(100%);transition:transform .3s ease-in-out;display:flex;flex-direction:column;justify-content:flex-end;padding:60px 40px 120px;border-left:1px solid var(--border)}.mobile-drawer.open{transform:translateX(0)}.mobile-drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-drawer-overlay.open{opacity:1;pointer-events:all}.mobile-drawer a{display:block;font-family:var(--font-heading);font-size:24px;font-weight:400;letter-spacing:.05em;padding:16px 0;color:var(--text);text-decoration:none;min-height:48px;line-height:48px}.mobile-drawer a:hover{color:var(--accent);border-bottom:none}.hero{position:relative;width:100%;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-bg{height:120%;object-fit:cover;z-index:0}.hero-bg,.hero-overlay{position:absolute;top:0;left:0;width:100%}.hero-overlay{height:100%;background:radial-gradient(ellipse 80% 55% at 50% 52%,rgba(24,28,34,.6) 0,transparent 100%),linear-gradient(180deg,rgba(24,28,34,.5) 0,rgba(24,28,34,.15) 40%,rgba(24,28,34,.15) 60%,rgba(24,28,34,.7));z-index:1}.hero-content{position:relative;z-index:2;color:#fff;padding:0 var(--h-padding);max-width:var(--max-medium)}.hero-content h1{font-weight:400;letter-spacing:.04em;margin-bottom:24px;text-shadow:0 1px 4px rgba(0,0,0,.5),0 3px 14px rgba(0,0,0,.3)}.hero-content p{font-size:clamp(16px,3vw,24px);font-weight:400;margin-bottom:40px;opacity:.95;text-shadow:0 1px 4px rgba(0,0,0,.5),0 2px 10px rgba(0,0,0,.25)}.hero-content .btn{background:var(--accent);color:var(--bg);border-radius:999px;padding:16px 36px}.navbar-inquire{font-size:12px;padding:10px 22px;border-radius:999px;letter-spacing:.12em;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}.navbar-inquire:hover{opacity:.85;border-bottom:none}.masonry-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.masonry-item{position:relative;overflow:hidden;cursor:pointer;border-radius:4px;aspect-ratio:4/5;background:var(--bg-elevated)}.masonry-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-out-expo),filter .4s ease}.masonry-item:hover img{transform:scale(1.04);filter:brightness(.75)}.masonry-item-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(0deg,rgba(24,28,34,.85) 0,transparent);color:var(--text);opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s var(--ease-out-quart);display:flex;flex-direction:column;justify-content:flex-end}.masonry-item.tapped .masonry-item-overlay,.masonry-item:hover .masonry-item-overlay{opacity:1;transform:translateY(0)}.masonry-item-overlay h4{font-family:var(--font-heading);font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.masonry-item-overlay .meta-label{color:var(--accent)}.filter-bar{display:flex;gap:16px;margin-bottom:var(--v-sub);flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:10px 24px;font-family:var(--font-heading);font-size:12px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:all .25s var(--ease-out-quart);min-height:48px;min-width:48px;border-radius:999px}.filter-btn:hover{border-color:var(--muted);color:var(--text)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.filter-dropdown{display:none;width:100%;padding:12px 16px;font-family:var(--font-heading);font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--text);background:var(--bg);border:1px solid var(--muted);min-height:48px;cursor:pointer;margin-bottom:var(--v-sub)}.testimonial-card{padding:40px;border-left:2px solid var(--accent-rose);background:var(--bg-elevated);border-radius:4px;cursor:pointer;transition:transform .4s cubic-bezier(.25,1,.5,1),box-shadow .4s ease,border-color .3s ease}.testimonial-card:hover{transform:scale(1.025) translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3);border-left-color:var(--accent)}.testimonial-card blockquote{font-family:var(--font-body);font-size:clamp(16px,2vw,20px);font-weight:300;font-style:italic;line-height:1.7;margin-bottom:16px;color:var(--text-dim)}.testimonial-card cite{font-family:var(--font-heading);font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-rose);font-style:normal}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:32px;gap:32px}.featured-project{padding:var(--v-margin) 0}.featured-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap);gap:var(--gap);align-items:center;margin-bottom:var(--v-sub)}.featured-row.reverse{direction:rtl}.featured-row.reverse>*{direction:ltr}.featured-row img{width:100%;height:auto;object-fit:cover;border-radius:4px;transition:transform .6s var(--ease-out-expo)}.featured-row:hover img{transform:scale(1.02)}.featured-text{padding:0 var(--h-padding)}.featured-text h3{margin-bottom:16px}.featured-text p{color:var(--text-dim);line-height:1.8}.product-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:border-color .3s ease,transform .3s var(--ease-out-quart),box-shadow .3s ease}.product-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.2)}.product-card-img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.product-card-body{padding:32px}.product-card-body h3{font-size:24px;margin-bottom:8px}.product-card-body .price{font-family:var(--font-heading);font-size:18px;color:var(--accent);margin-bottom:16px}.product-card-body p{color:var(--muted);font-size:16px;margin-bottom:24px}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:40px;gap:40px}.cart-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease}.cart-overlay.open{opacity:1;pointer-events:all}.cart-drawer{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100vh;background:var(--bg);z-index:2001;transform:translateX(100%);transition:transform .3s ease-in-out;display:flex;flex-direction:column;padding:40px}.cart-drawer.open{transform:translateX(0)}.cart-drawer h2{font-size:24px;margin-bottom:32px}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.cart-item-info h4{font-size:16px;margin-bottom:4px}.cart-item-info span{color:var(--muted);font-size:14px}.cart-item-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;min-width:48px;min-height:48px;justify-content:center}.cart-item-remove,.cart-total{display:flex;align-items:center}.cart-total{margin-top:auto;padding-top:24px;border-top:1px solid var(--border);justify-content:space-between;font-size:20px;font-weight:500}.cart-total span:last-child{color:var(--accent)}.blog-card{text-decoration:none;display:block}.blog-card:hover{border-bottom:none}.blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:20px;transition:opacity var(--transition-fast)}.blog-card:hover img{opacity:.8}.blog-card h3{font-size:clamp(18px,3vw,24px);margin-bottom:12px}.blog-card p{color:var(--muted);font-size:16px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.form-group{margin-bottom:24px}.form-group label{display:block;font-family:var(--font-heading);font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px;color:var(--muted)}.form-group .react-datepicker-wrapper,.form-group input,.form-group textarea{width:100%}.form-group input,.form-group textarea{padding:14px 16px;font-family:var(--font-body);font-size:16px;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;transition:border-color .2s ease,background-color var(--transition-theme),color var(--transition-theme);min-height:48px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:var(--bg)}.form-group textarea{resize:vertical;min-height:120px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}.form-error{color:#c44;font-size:13px;margin-top:6px}.form-success{padding:24px;border:1px solid var(--accent);text-align:center;font-size:18px;color:var(--accent)}.lightbox-overlay{background:var(--bg);opacity:.95;z-index:3000}.lightbox,.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.lightbox{z-index:3001;flex-direction:column;padding:40px;overflow-y:auto}.lightbox,.lightbox-close{display:flex;align-items:center;justify-content:center}.lightbox-close{position:fixed;top:20px;right:20px;z-index:3002;width:48px;height:48px;background:none;border:none;cursor:pointer}.lightbox-close svg{width:24px;height:24px;color:var(--accent)}.lightbox-main-image{max-width:80vw;max-height:70vh;object-fit:contain}.lightbox-caption{margin-top:24px;text-align:center;max-width:var(--max-narrow)}.lightbox-caption h3{font-size:24px;margin-bottom:8px}.lightbox-caption p{color:var(--muted);font-size:16px}.lightbox-thumbs{display:flex;gap:12px;margin-top:24px;justify-content:center;flex-wrap:wrap}.lightbox-thumb{width:80px;height:80px;object-fit:cover;cursor:pointer;opacity:.5;transition:opacity var(--transition-fast);border:2px solid transparent}.lightbox-thumb.active,.lightbox-thumb:hover{opacity:1;border-color:var(--accent)}.instagram-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px;border-radius:6px;overflow:hidden}.instagram-item{aspect-ratio:1;overflow:hidden}.instagram-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out-expo),filter .3s ease}.instagram-item:hover img{transform:scale(1.08);filter:brightness(.8)}.cta-section{text-align:center;padding:var(--v-margin) var(--h-padding);background:transparent}.cta-section h2{margin-bottom:32px;color:var(--text)}.cta-section .btn{border-radius:999px;padding:16px 40px}.footer{background:var(--bg-alt);color:var(--text-dim);padding:80px var(--h-padding) 40px;border-top:1px solid var(--border)}.footer-inner{max-width:var(--max-wide);margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:40px;gap:40px}.footer a{color:var(--text-dim);font-size:14px;transition:color .2s ease}.footer a:hover{color:var(--accent);border-bottom:none}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:20px;font-weight:500}.footer p{font-size:14px;color:var(--muted);line-height:1.8}.footer-bottom{max-width:var(--max-wide);margin:48px auto 0;padding-top:24px;border-top:1px solid var(--border);text-align:center;font-size:12px;letter-spacing:.1em;color:var(--selection)}.sticky-mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;z-index:1000;transition:transform .3s ease}.sticky-mobile-cta.hidden{transform:translateY(100%)}.sticky-mobile-cta a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--accent);color:var(--bg);font-family:var(--font-heading);font-size:14px;text-transform:uppercase;letter-spacing:.15em;text-decoration:none;min-height:48px}.sticky-mobile-cta a:hover{border-bottom:none}.about-hero{width:100%;height:70vh;min-height:400px;position:relative;overflow:hidden}.about-hero img{width:100%;height:100%;object-fit:cover}.about-content{max-width:var(--max-narrow);margin:0 auto;padding:var(--v-margin) var(--h-padding)}.press-list{list-style:none;margin-top:24px}.press-list li{font-family:var(--font-heading);font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);padding:8px 0;border-bottom:1px solid var(--border)}.blog-post{max-width:var(--max-narrow);margin:0 auto;padding:120px var(--h-padding) var(--v-margin)}.blog-post-hero{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:40px}.blog-post h1{margin-bottom:16px}.blog-post .blog-meta{color:var(--muted);font-size:14px;margin-bottom:40px}.blog-post-body p{margin-bottom:var(--v-para)}.map-container{width:100%;height:400px;margin-top:var(--v-sub)}.map-container iframe{width:100%;height:100%;border:none;filter:grayscale(80%)}.react-datepicker-wrapper{width:100%}.react-datepicker-wrapper input{width:100%;padding:14px 16px;font-family:var(--font-body);font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--muted);min-height:48px}.react-datepicker{font-family:var(--font-body)!important;border:1px solid var(--muted)!important;border-radius:0!important;background:var(--bg)!important}.react-datepicker__header{background:var(--selection)!important;border-radius:0!important;border-bottom:1px solid var(--muted)!important}.react-datepicker__current-month,.react-datepicker__day,.react-datepicker__day-name{color:var(--text)!important}.react-datepicker__day--selected{background:var(--accent)!important;color:var(--bg)!important}.react-datepicker__day:hover{background:var(--selection)!important}.animate-on-scroll{opacity:0;transform:translateY(24px)}.animate-on-scroll.animated{opacity:1;transform:translateY(0);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}.page-content{padding-top:80px;min-height:100vh;padding-bottom:80px}@media (max-width:767px){:root{--v-margin:60px;--v-sub:40px;--v-para:24px;--h-padding:20px;--gap:20px}.hamburger{display:flex}.navbar .btn,.navbar-links{display:none}.navbar{padding:16px 20px}.hero{min-height:100vh}.hero-content h1{font-size:clamp(32px,8vw,48px)}.masonry-grid{grid-template-columns:1fr}.filter-bar{display:none}.filter-dropdown{display:block}.featured-row,.testimonials-grid{grid-template-columns:1fr;gap:24px}.featured-row.reverse{direction:ltr}.featured-text{padding:0 20px}.blog-grid,.products-grid{grid-template-columns:1fr}.instagram-grid{grid-template-columns:repeat(3,1fr)}.footer-inner{grid-template-columns:1fr;gap:32px}.contact-grid{grid-template-columns:1fr!important}.sticky-mobile-cta{display:block}.lightbox{padding:20px}.lightbox-main-image{max-width:100vw;max-height:50vh}.lightbox-thumb{width:60px;height:60px}}@media (min-width:768px) and (max-width:1023px){:root{--v-margin:100px;--v-sub:60px;--h-padding:30px;--gap:40px}.blog-grid,.masonry-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.hamburger{display:flex}.navbar-links{display:none}.instagram-grid{grid-template-columns:repeat(3,1fr)}.sticky-mobile-cta{display:block}}@media (min-width:1024px){:root{--h-padding:40px}}@media (min-width:1440px){:root{--h-padding:60px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}