*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,body *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}body{background-color:#f7f6f3;color:#151515;font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}.landing-loader{min-height:100vh;background:#f7f6f3;color:#151515;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;position:relative;overflow:hidden}.landing-loader:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(circle at center,#00000014,#0000 60%);opacity:.35;pointer-events:none}.landing-loader-brand-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.landing-loader-logo{width:min(320px,68vw);height:auto;display:block;animation:landingBrandEnter .7s cubic-bezier(.22,1,.36,1) both}.landing-loader-brand-sweep{position:absolute;top:0;left:-45%;width:34%;height:100%;background:linear-gradient(90deg,#0000,#0000002e,#0000);filter:blur(.5px);animation:landingSweep 1.7s cubic-bezier(.4,0,.2,1) infinite}.landing-loader-orbits{position:relative;width:36px;height:36px}.landing-loader-orbit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1px solid rgba(0,0,0,.18)}.landing-loader-orbit-segment{position:absolute;top:-1px;left:50%;width:40%;height:2px;transform:translate(-50%);border-radius:999px;background:#000000d9;box-shadow:0 0 10px #00000040}.landing-loader-orbit-outer{animation:landingOrbitOuter 1.05s linear infinite}.landing-loader-orbit-inner{top:6px;right:6px;bottom:6px;left:6px;border-color:#0000003d;animation:landingOrbitInner 1.8s linear infinite reverse}.landing-loader-status{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#0000008c;animation:landingStatusPulse 1.9s ease-in-out infinite}@keyframes landingBrandEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.clients-ticker-track{display:flex;width:max-content;animation:clientsTicker 30s linear infinite}.clients-ticker-track:hover{animation-play-state:paused}@keyframes clientsTicker{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-page{background:#f7f6f3;color:#151515}.project-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 64px;overflow:hidden}.project-hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.project-hero-media img,.project-hero-media video{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.project-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000006b,#00000047 42%,#000000ad)}.project-hero-content{position:relative;z-index:1;max-width:920px;color:#fff}.project-hero-content .display-xl{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}.project-hero-subtitle{margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:#fff;opacity:1}.project-hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;justify-content:center}.project-hero-cta-primary,.project-hero-cta-secondary{border:1px solid transparent;padding:14px 22px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:transparent;font-family:Manrope,sans-serif;font-weight:700;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,background-color .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.project-hero-cta-primary{background:#fff;color:#151515}.project-hero-cta-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000047;background:#f0f0f0}.project-hero-cta-secondary{border-color:#ffffff75;color:#fff}.project-hero-cta-secondary:hover{transform:translateY(-2px);background:#ffffff1f;box-shadow:0 10px 22px #00000038}.project-hero-scroll{position:absolute;bottom:36px;left:50%;transform:translate(-50%);color:#ffffff8c;font-size:28px;animation:projectScrollPulse 1.8s ease-in-out infinite;z-index:2}@keyframes projectScrollPulse{0%,to{transform:translate(-50%) translateY(0);opacity:.6}50%{transform:translate(-50%) translateY(8px);opacity:1}}.project-overview{padding:120px 64px;background:#f1efea}.project-overview-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:48px;align-items:start}.project-overview-title{margin-top:22px;margin-bottom:22px;color:#151515}.project-overview-body{max-width:640px;color:#151515b8}.project-overview-meta{border-left:1px solid rgba(0,0,0,.14);padding-left:32px;display:grid;gap:28px}.project-gallery{padding:120px 0;display:grid;gap:32px}.project-gallery-wide{width:100%;height:clamp(420px,60vw,820px);overflow:hidden}.project-gallery-wide img,.project-gallery-wide video,.project-gallery-grid img,.project-gallery-grid video{width:100%;height:100%;object-fit:cover;transition:transform 2s ease;display:block}.project-gallery-wide:hover img,.project-gallery-wide:hover video,.project-gallery-grid div:hover img,.project-gallery-grid div:hover video{transform:scale(1.05)}.project-gallery-wide--short{height:clamp(360px,52vw,720px)}.project-gallery-grid{max-width:1400px;margin:0 auto;padding:0 64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project-gallery-grid div{height:clamp(320px,45vw,640px);overflow:hidden;background:#e6e3dd}.project-gallery-offset{margin-top:64px}.project-strip{overflow:hidden;width:100%;padding:2px 0;margin-bottom:80px;background:#e8e8e8}.project-strip-track{display:flex;width:max-content;animation:projectStrip 40s linear infinite;gap:4px}.project-strip-track:hover{animation-play-state:paused}@keyframes projectStrip{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-strip-item{flex:0 0 auto;width:clamp(260px,28vw,460px);height:clamp(180px,22vw,340px);overflow:hidden;cursor:zoom-in}.project-strip-item img,.project-strip-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.project-strip-item:hover img,.project-strip-item:hover video{transform:scale(1.05)}.calendly-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483645;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:24px;animation:lightboxIn .2s ease}.calendly-modal-panel{position:relative;width:min(100%,520px);max-height:90vh;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 24px 80px #00000073}.calendly-modal-close{position:absolute;top:4px;right:8px;z-index:3;background:#0000000f;border:none;border-radius:999px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;transition:opacity .2s,background .2s}.calendly-modal-close:hover{opacity:1;background:#0000001a}.calendly-modal-close .lightbox-x{width:12px;height:12px}.calendly-modal-close .lightbox-x:before,.calendly-modal-close .lightbox-x:after{background:#151515;height:1.5px}.calendly-modal-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#fff}.calendly-modal-spinner{position:relative;width:40px;height:40px}.calendly-modal-spinner-orbit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1px solid rgba(0,0,0,.12)}.calendly-modal-spinner-orbit:before{content:"";position:absolute;top:-1px;left:50%;width:38%;height:2px;transform:translate(-50%);border-radius:999px;background:#151515}.calendly-modal-spinner-orbit--outer{animation:calendlySpinnerOuter 1s linear infinite}.calendly-modal-spinner-orbit--inner{top:7px;right:7px;bottom:7px;left:7px;border-color:#0003;animation:calendlySpinnerInner 1.65s linear infinite reverse}.calendly-modal-loading-label{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#00000073;animation:calendlyLoadingPulse 1.8s ease-in-out infinite}@keyframes calendlySpinnerOuter{to{transform:rotate(360deg)}}@keyframes calendlySpinnerInner{to{transform:rotate(360deg)}}@keyframes calendlyLoadingPulse{0%,to{opacity:.45}50%{opacity:1}}.calendly-modal-widget{min-width:320px;width:100%;height:min(700px,85vh);background:#fff}.calendly-modal-widget--loading{opacity:0;pointer-events:none}.calendly-modal-widget iframe{min-height:min(700px,85vh)!important}@media(max-width:768px){.calendly-modal-overlay{padding:12px}.calendly-modal-panel{width:100%;border-radius:8px}.calendly-modal-widget{height:min(700px,88vh)}}.quote-request-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483644;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:24px;animation:lightboxIn .2s ease}.quote-request-panel{position:relative;width:min(100%,520px);background:#f7f6f3;color:#151515;border-radius:12px;padding:32px 28px 24px;box-shadow:0 24px 80px #00000059}.quote-request-close{position:absolute;top:10px;right:10px;z-index:2;background:#0000000f;border:none;border-radius:999px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;transition:opacity .2s}.quote-request-close:hover{opacity:1}.quote-request-close .lightbox-x{width:12px;height:12px}.quote-request-close .lightbox-x:before,.quote-request-close .lightbox-x:after{background:#151515;height:1.5px}.quote-request-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#15151573;margin-bottom:10px}.quote-request-title{font-family:"DM Serif Display",serif;font-size:clamp(28px,4vw,36px);line-height:1.1;margin-bottom:10px}.quote-request-subtitle{font-size:14px;line-height:1.5;color:#1515158c;margin-bottom:24px}.quote-request-options{display:flex;flex-direction:column;gap:10px}.quote-request-option{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#fff;color:#151515;cursor:pointer;text-align:left;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.quote-request-option:hover:not(:disabled){border-color:#0000002e;box-shadow:0 8px 24px #0000000f;transform:translateY(-1px)}.quote-request-option:disabled{opacity:.45;cursor:not-allowed}.quote-request-option-icon{font-size:22px;color:#151515;flex-shrink:0}.quote-request-option-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.quote-request-option-label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.quote-request-option-description{font-size:13px;line-height:1.4;color:#1515158c;word-break:break-word}.quote-request-option-arrow{font-size:18px;color:#15151559;flex-shrink:0}@media(max-width:768px){.quote-request-overlay{padding:12px}.quote-request-panel{padding:28px 20px 20px;border-radius:10px}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483646;background:#000000eb;display:flex;align-items:center;justify-content:center;animation:lightboxIn .2s ease}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}.lightbox-media{max-width:88vw;max-height:86vh;display:flex;align-items:center;justify-content:center}.lightbox-media img,.lightbox-media video{max-width:88vw;max-height:86vh;object-fit:contain;display:block;border-radius:2px}.lightbox-slide{display:flex;align-items:center;justify-content:center;max-width:88vw;max-height:86vh}.lightbox-slide--next{animation:lightboxSlideFromRight .3s cubic-bezier(.25,.46,.45,.94) both}.lightbox-slide--prev{animation:lightboxSlideFromLeft .3s cubic-bezier(.25,.46,.45,.94) both}@keyframes lightboxSlideFromRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes lightboxSlideFromLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.lightbox-arrow{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;z-index:2147483647;padding:12px;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}.lightbox-arrow:hover{opacity:1}.lightbox-arrow--prev{left:24px}.lightbox-arrow--next{right:24px}.lightbox-chevron{display:block;width:22px;height:22px;border-top:2px solid #fff;border-right:2px solid #fff}.lightbox-chevron--left{transform:rotate(-135deg)}.lightbox-chevron--right{transform:rotate(45deg)}.lightbox-close{position:fixed;top:24px;right:28px;background:none;border:none;cursor:pointer;z-index:2147483647;padding:8px;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-x{display:block;position:relative;width:22px;height:22px}.lightbox-x:before,.lightbox-x:after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;background:#fff;border-radius:1px}.lightbox-x:before{transform:translateY(-50%) rotate(45deg)}.lightbox-x:after{transform:translateY(-50%) rotate(-45deg)}.lightbox-dots{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;z-index:2147483647}.lightbox-dot{width:7px;height:7px;border-radius:50%;border:none;background:#ffffff4d;cursor:pointer;padding:0;transition:background .2s,transform .2s}.lightbox-dot--active{background:#fff;transform:scale(1.35)}.project-next{position:relative;display:block;height:clamp(320px,52vw,520px);overflow:hidden;background:#e8e5df;text-decoration:none}.project-next-media{position:absolute;top:0;right:0;bottom:0;left:0}.project-next-media img,.project-next-media video{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .8s ease,filter .8s ease}.project-next-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7f6f39e;transition:background .6s ease}.project-next-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:#151515}.project-next-content .material-symbols-outlined{font-size:36px}.project-next:hover .project-next-media img,.project-next:hover .project-next-media video{filter:grayscale(0);transform:scale(1.06)}.project-next:hover .project-next-overlay{background:#f7f6f35c}@media(max-width:960px){.project-hero{padding:120px 32px}.project-overview{padding:96px 32px}.project-overview-grid{grid-template-columns:1fr}.project-overview-meta{border-left:none;padding-left:0;border-top:1px solid rgba(0,0,0,.12);padding-top:24px}.project-gallery-grid{grid-template-columns:1fr;padding:0 32px}.project-gallery-offset{margin-top:0}}@keyframes landingSweep{0%{transform:translate(0);opacity:0}12%{opacity:1}80%{opacity:1}to{transform:translate(470%);opacity:0}}@keyframes landingOrbitOuter{to{transform:rotate(360deg)}}@keyframes landingOrbitInner{to{transform:rotate(360deg)}}@keyframes landingStatusPulse{0%,to{opacity:.45}50%{opacity:.9}}::selection{background:#fff;color:#131313}.display-xl{font-size:clamp(48px,6vw,80px);line-height:1.1;letter-spacing:-.04em;font-weight:700}.headline-lg{font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:-.02em;font-weight:600}.headline-md{font-size:clamp(24px,2.5vw,32px);line-height:1.3;letter-spacing:-.01em;font-weight:600}.body-lg{font-size:18px;line-height:1.6;font-weight:400}.body-md{font-size:16px;line-height:1.6;font-weight:400}.label-sm{font-size:12px;line-height:1;letter-spacing:.1em;font-weight:600;text-transform:uppercase}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;font-size:inherit;line-height:1;vertical-align:middle}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.reveal.visible,.reveal[data-reveal-visible=true]{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .9s cubic-bezier(.22,1,.36,1) both}.fade-up-delay-1{animation-delay:.15s}.fade-up-delay-2{animation-delay:.3s}.fade-up-delay-3{animation-delay:.45s}.fade-up-delay-4{animation-delay:.6s}@keyframes kenBurns{0%{transform:scale(1.08)}to{transform:scale(1)}}.ken-burns{animation:kenBurns 8s cubic-bezier(.22,1,.36,1) forwards}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#131313;padding:20px 40px;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:background .2s ease,transform .15s ease;text-decoration:none}.btn-primary:hover{background:#e4e4e4}.btn-primary:active{transform:scale(.98)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:#ffffff08;color:inherit;padding:20px 40px;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;cursor:pointer;transition:background .2s ease,transform .15s ease;text-decoration:none;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);box-shadow:inset 0 0 0 1px #ffffff14}.btn-ghost:hover{background:#ffffff14}.btn-ghost:active{transform:scale(.98)}.nav-link{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#ffffffc7;transition:color .15s ease}.nav-link:hover{color:#fff}.nav-link.active{color:#fff;border-bottom:1px solid rgba(255,255,255,.92);padding-bottom:2px}.section-eyebrow{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#5a5a61;margin-bottom:16px}.project-card img{transition:filter .5s ease}.project-card:hover img{filter:grayscale(0%)}.tag-pill{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#414148;padding:4px 12px;border:1px solid rgba(0,0,0,.14)}.glass-panel{background:#121212cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.ghost-border{border:1px solid rgba(255,255,255,.08)}.admin-input{width:100%;background:#1c1b1b;border:none;border-bottom:1px solid rgba(255,255,255,.1);color:#e5e2e1;font-family:Manrope,sans-serif;font-size:18px;padding:14px 0;outline:none;transition:border-color .2s ease;resize:none}.admin-input:focus{border-bottom-color:#fff}.admin-label{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin-bottom:10px}.admin-section-header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.admin-section-header h3{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff}.admin-card{background:#1c1b1b;border:1px solid rgba(255,255,255,.06);padding:26px}.drag-handle{cursor:grab;color:#fff3;transition:color .15s ease}.drag-handle:hover{color:#fff9}.admin-nav-item{display:flex;align-items:center;gap:14px;padding:18px 28px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff6;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;border:none;background:none;width:100%;text-align:left;border-right:2px solid transparent}.admin-nav-item:hover{background:#ffffff0d;color:#fffc}.admin-nav-item.active{background:#ffffff0d;color:#fff;border-right-color:#fff;font-weight:700}.admin-input option,select.admin-input{background:#1c1b1b;color:#e5e2e1}.project-card .arrow-icon{transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease;opacity:.4}.project-card:hover .arrow-icon{transform:translate(3px,-3px);opacity:1}.service-icon{transition:border-color .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}.service-card:hover .service-icon{border-color:#00000059!important;transform:translateY(-4px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f2f1ed}::-webkit-scrollbar-thumb{background:#00000038;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000057}@media(max-width:768px){.btn-primary,.btn-ghost{padding:16px 28px}}
