@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url('/assets/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url('/assets/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.container{max-width:var(--max-width);margin:0 auto;padding-left:2rem;padding-right:2rem;width:100%;box-sizing:border-box}@media (max-width:800px){.container{padding-left:1rem;padding-right:1rem}}.site-hero{position:fixed;top:0;left:0;right:0;height:auto;min-height:var(--site-hero-current-height);display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-color);padding:var(--site-hero-padding-vertical) var(--site-hero-padding-horizontal);z-index:1300;box-shadow:0 2px 8px rgba(0,0,0,0.06);width:100vw;box-sizing:border-box}@media (max-width:800px){.site-hero{height:auto;min-height:calc(var(--nav-height) * var(--site-hero-mobile-height-multiplier) + var(--site-hero-extra-bottom-gap));padding-bottom:var(--site-hero-extra-bottom-gap)}}.header-left{display:flex;align-items:center;gap:1.2rem}.logo-tagline-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:0.4rem}.logo{max-height:calc(var(--logo-size));width:auto;height:auto;display:block;padding-left:0px}.site-hero .logo-tagline-wrap>a,.site-hero .logo-tagline-wrap>a .logo,.logo-tagline-wrap .tagline{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;cursor:pointer}.tagline{font-size:1rem;color:var(--muted-text);font-weight:400;margin:0;white-space:normal;max-width:680px}.tagline-subtle{opacity:0.75}.header-right{margin-left:auto}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--black:#000000;--charcoal:#1f1f1f;--bg-color:#ffffff;--text-color:var(--charcoal);--muted-text:#666666;--accent-color:var(--black);--border-color:#e5e5e5;--section-horizontal-padding:2rem;--section-padding-top:2rem;--section-padding-bottom:2rem;--heading-padding-top-full-base:18px;--heading-padding-top-sep-base:6px;--heading-padding-top-lead-base:10px;--container-heading-padding-top-base:12px;--heading-top-extra:0.5rem;--max-width:1200px;--spacing:1.5rem;--radius:6px;--nav-height:24px;--nav-offset:20px;--logo-size:40px;--anchor-offset:80px;--collage-gutter:24px;--collage-row-height:260px;--site-hero-padding-vertical:12px;--site-hero-padding-horizontal:20px;--site-hero-base-extra:80px;--site-hero-base-height:calc(var(--nav-height) + var(--site-hero-base-extra));--site-hero-mobile-height-multiplier:2;--site-hero-extra-bottom-gap:10px;--site-hero-mobile-padding-vertical:10px;--site-hero-toggle-space-right:64px;--logo-min:28px;--logo-max:var(--logo-size);--logo-size-fluid:clamp(var(--logo-min),calc(3.5vw + 8px),var(--logo-max));--site-hero-base-extra-min:20px;--site-hero-base-extra-max:var(--site-hero-base-extra);--site-hero-base-extra-fluid:clamp(var(--site-hero-base-extra-min),calc(4vw + 12px),var(--site-hero-base-extra-max));--site-hero-current-height:calc(var(--nav-height) + var(--site-hero-base-extra-fluid));--site-hero-content-gap:-12px;--gallery-content-gap:20px;--portfolio-first-section-padding:0;--mobile-nav-max-width:88vw;--site-hero-dropdown-right:0px;--primary-menu-expanded-padding-bottom:14px}html{font-size:16px}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--charcoal);text-decoration:underline}a:hover,a:focus{color:var(--charcoal);text-decoration:underline;opacity:0.9}body{padding-top:calc(var(--site-hero-current-height))}.skip-link{position:absolute;left:-9999px;top:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sticky-nav{position:static;z-index:1200;background:transparent;border-bottom:none;box-shadow:none}#logo-placeholder{display:flex;align-items:center}#nav-placeholder{display:flex;align-items:center}#nav-placeholder .main-nav{margin-left:auto}.site-hero .main-nav ul{padding:0;border-bottom:none}.site-hero #logo-placeholder img,.site-hero .logo{max-height:var(--logo-size);width:auto}@media (max-width:800px){.site-hero .logo{max-height:var(--logo-min)}}.main-nav ul{display:flex;gap:2rem;justify-content:flex-end;align-items:center;padding:0;margin:0;list-style:none}.nav-toggle{display:none;background:transparent;border:none;padding:.4rem .6rem;margin-right:.25rem;cursor:pointer;align-self:center}.nav-toggle:focus{outline:2px solid rgba(0,0,0,0.12);outline-offset:2px}.nav-toggle__bars{display:inline-block;width:22px;height:2px;background:var(--charcoal);position:relative}.nav-toggle__bars::before,.nav-toggle__bars::after{content:'';position:absolute;left:0;width:22px;height:2px;background:var(--charcoal)}.nav-toggle__bars::before{top:-7px}.nav-toggle__bars::after{top:7px}.main-nav a{color:var(--charcoal);text-decoration:none;font-weight:500;font-size:1.1rem;padding-bottom:0.2em;border-bottom:2px solid transparent;transition:border-color 0.2s;padding:.35rem .5rem}.main-nav a:hover,.main-nav a:focus{border-bottom:2px solid var(--charcoal)}.section-bg-white,.section-bg-charcoal{width:100vw;margin-left:50%;transform:translateX(-50%)}.section-bg-white{background:#fff;color:var(--text-color);padding:var(--section-padding-top) 0 var(--section-padding-bottom) 0}.section-bg-charcoal{background:var(--charcoal);color:#fff !important;padding:var(--section-padding-top) 0 var(--section-padding-bottom) 0}section{margin-bottom:0;padding-top:0.5rem;padding-bottom:0.5rem}.about-container{display:flex;flex-wrap:wrap;gap:2.5rem;align-items:flex-start;max-width:1100px;margin:0 auto;padding:2rem 1rem}.about-image{flex:0 0 220px;display:flex;align-items:flex-start;justify-content:center}.about-image img{display:block;width:auto;height:480px;object-fit:cover;border-radius:8px}.about-text{flex:1 1 350px}.about-text p{color:#ffffff;font-size:1rem;line-height:1.6;padding-bottom:12px}.about-text h1,.about-text h2{font-size:1.5rem;overflow:hidden;text-overflow:ellipsis;font-size:clamp(1.25rem,2.5vw,2rem);border-bottom:none;padding-bottom:0;margin-bottom:1.2em;color:#ffffff}.about-chinese-text{margin-top:2rem;font-size:1rem;color:#ffffff}h1,h2,h3{border-bottom:2px solid var(--border-color);padding-bottom:0.3em;margin-bottom:1.2em}.site-hero h1,h1{font-size:2.2rem}.instagram-preview img{display:block;width:100%;height:auto}.gallery-img,.project-gallery img{transition:opacity 320ms ease}.services-list{padding-left:40px}.last-updated{margin-top:0.25rem;margin-bottom:0.6rem;color:var(--muted-text);font-size:0.98rem}.section--compact{padding-top:0.5rem !important;padding-bottom:0.5rem !important;margin-bottom:0.5rem !important}.section--compact .section-heading-full{margin-bottom:0.25rem !important;padding-bottom:0.25rem !important}.instagram-preview{display:inline-block;position:relative;vertical-align:middle}.play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.6);color:#fff;padding:.6rem .8rem;border-radius:999px;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.instagram-preview img{width:100%;max-width:200px;height:auto;display:block}h2{font-size:1.5rem}h3{font-size:1.2rem}section,h1,h2,h3{scroll-margin-top:calc(var(--anchor-offset))}#main-content{scroll-margin-top:calc(var(--anchor-offset))}.section-heading-full{position:relative;left:50%;transform:translateX(-50%);width:100vw;box-sizing:border-box;padding-left:var(--section-horizontal-padding);padding-right:var(--section-horizontal-padding);padding-top:calc(var(--heading-padding-top-full-base) + var(--heading-top-extra));padding-bottom:18px;margin-left:0;margin-right:0}.section-heading-full.heading-like-lead{color:var(--muted-text);font-weight:400;font-size:1rem;border-bottom:none;padding-top:calc(var(--heading-padding-top-lead-base) + var(--heading-top-extra));padding-bottom:6px;margin-bottom:0.6rem}.section-heading-full .heading-inner{display:block;max-width:800px}.container-heading-top{color:var(--muted-text);font-weight:400;font-size:1rem;border-top:2px solid var(--border-color);padding-top:calc(var(--heading-padding-top-lead-base) + var(--heading-top-extra));padding-bottom:6px;margin-bottom:0.6rem}.container .container-heading-top .heading-inner{max-width:800px;display:block}.subpage-offset>a{display:inline-block;margin-top:0px;margin-bottom:0px;padding:2px 0;color:inherit;text-decoration:none}.subpage-offset>a:hover{text-decoration:underline}.container .back-link{display:inline-block;margin-top:0px;margin-bottom:0.25rem;padding:2px 0;color:inherit;text-decoration:none}.container .back-link:hover{text-decoration:underline}.section-bg-white>.container>h1,.section-bg-charcoal>.container>h1,.portfolio-section>.container>h1{padding-top:12px;padding-bottom:12px;border-bottom:none}.section-bg-white>.container>h1,.section-bg-charcoal>.container>h1,.portfolio-section>.container>h1{padding-top:calc(var(--container-heading-padding-top-base) + var(--heading-top-extra));padding-bottom:12px;border-bottom:none}.main-nav ul{list-style:none;display:flex;gap:1rem;align-items:center;padding:0;margin:0}.main-nav li a{color:var(--text-color);text-decoration:none;padding:.35rem .5rem}.main-nav li a:hover{text-decoration:underline}.nav-item-portfolio{position:static}.nav-portfolio-toggle::after{content:' ▶';font-size:0.65em;opacity:0.7;transition:transform 220ms ease,opacity 220ms ease;display:inline-block}.nav-portfolio-toggle:hover::after{opacity:1}@media (min-width:801px){.nav-item-portfolio:hover .nav-portfolio-toggle::after{transform:rotate(90deg)}}@media (max-width:800px){.nav-item-portfolio.open .nav-portfolio-toggle::after{transform:rotate(90deg);opacity:1}}@media (min-width:801px){.nav-submenu{list-style:none;display:flex;flex-direction:column;gap:0;padding:0.5rem 0;padding-bottom:14px !important;margin:0;position:absolute;top:100%;right:11.5rem;left:auto;background:var(--bg-color);border:1px solid var(--border-color);box-shadow:0 4px 12px rgba(0,0,0,0.1);opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 220ms ease;z-index:1000;min-width:180px}.nav-item-portfolio:hover .nav-submenu{opacity:1;visibility:visible}.nav-portfolio-toggle{position:relative}.nav-portfolio-toggle::before{content:"";position:absolute;left:0;right:0;top:100%;height:30px;background:transparent;pointer-events:auto;z-index:999}.nav-submenu li a{display:block;padding:0.7rem 1rem;color:var(--text-color);text-decoration:none;border-bottom:none;white-space:nowrap}.nav-submenu li a:hover{text-decoration:underline}.nav-submenu li:first-child a{border-radius:0 0 0 0}.nav-submenu li:last-child a{border-radius:0 0 0 0}}@media (max-width:800px){.site-hero{flex-direction:column;align-items:flex-start;padding:1rem;overflow:visible}.header-left,.logo-tagline-wrap{flex-direction:column;align-items:flex-start;gap:.5rem}.header-right{margin-left:0}.nav-toggle{display:inline-flex}.main-nav>ul#primary-menu>li>a{padding:0.65rem 1rem;display:block;width:100%}.nav-item-portfolio{width:100%}}@media (max-width:800px){.nav-toggle{display:inline-flex !important;position:absolute;right:var(--site-hero-padding-horizontal);top:var(--site-hero-padding-vertical);left:auto;bottom:auto;z-index:17000 !important;background:transparent}.site-hero{padding-right:var(--site-hero-toggle-space-right);padding-left:var(--site-hero-padding-horizontal)}.site-hero .logo-tagline-wrap{padding-right:0}.site-hero .logo{max-height:28px !important;width:auto;height:auto}.tagline{background:rgba(255,255,255,0.95);padding:4px 8px;border-radius:6px;display:inline-block}}@media (max-width:800px){h1{font-size:clamp(1.9rem,7.5vw,2.8rem);line-height:1.08;margin-bottom:0.6rem}.section-heading-full{padding-top:26px;padding-bottom:26px}.site-hero .tagline{display:block;max-width:200%}.site-hero{padding-top:var(--site-hero-mobile-padding-vertical);padding-bottom:var(--site-hero-mobile-padding-vertical)}}@media (max-width:800px){.main-nav{position:static !important}.main-nav>ul#primary-menu{position:absolute;right:var(--site-hero-dropdown-right);left:auto;top:100%;margin-top:0;max-height:0;overflow:hidden;opacity:0;transition:max-height 320ms ease,opacity 220ms ease;background:var(--bg-color);padding:.35rem .6rem;box-shadow:0 6px 24px rgba(0,0,0,0.12);border-radius:2px;border:1px solid var(--border-color);z-index:16001;max-width:var(--mobile-nav-max-width);min-width:140px;display:flex;flex-direction:column;align-items:stretch}.main-nav.open>ul#primary-menu{max-height:9999px !important;opacity:1 !important;padding-bottom:var(--primary-menu-expanded-padding-bottom);overflow:visible !important}.main-nav>ul#primary-menu>li{width:100%}.main-nav>ul#primary-menu>li>a{display:block;padding:.7rem 1rem}.nav-submenu{position:static !important;display:none !important;flex-direction:column;max-height:none !important;opacity:1 !important;background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;margin:0;width:100%}.nav-item-portfolio.open .nav-submenu{display:flex !important}.nav-submenu li{width:100%}.nav-submenu li a{padding:0.6rem 1rem 0.6rem 2.2rem !important;display:block !important;font-size:0.95rem}.site-hero{overflow:visible}.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{transition:transform 220ms ease,top 220ms ease,opacity 200ms ease,background 200ms ease}.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:rotate(45deg);top:0}.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:rotate(-45deg);top:0}.main-nav.open>ul#primary-menu{border-radius:6px}}@media (max-width:800px){.main-nav{width:auto}.main-nav>ul#primary-menu{background:var(--bg-color);padding:.25rem .6rem;border-top:1px solid var(--border-color);box-shadow:0 6px 18px rgba(0,0,0,0.06);border-radius:8px;right:var(--site-hero-dropdown-right);left:auto;max-width:var(--mobile-nav-max-width);display:flex;flex-direction:column}.main-nav>ul#primary-menu>li{width:100%}.main-nav>ul#primary-menu>li>a{display:block;padding:.6rem .8rem}}header.site-hero,.site-hero{max-width:100vw !important;width:100vw !important;left:0 !important;right:0 !important;margin:0 !important;box-sizing:border-box}.site-hero .logo{max-height:var(--logo-size-fluid);width:auto;height:auto;display:block}.site-hero .logo-tagline-wrap{overflow:visible}.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.hp input{pointer-events:none}header,main,footer{max-width:var(--max-width);margin:0 auto;padding:var(--spacing)}.main-nav{width:100%}.main-nav ul{max-width:var(--max-width);margin:0 auto;padding:var(--spacing);display:flex;gap:2rem;align-items:center;border-bottom:1px solid var(--border-color)}.main-nav a{text-decoration:none;color:var(--text-color);font-weight:500;padding:.35rem .5rem}.main-nav a:hover{text-decoration:underline}h1{font-size:2.5rem;font-weight:600;margin-bottom:0.5rem}h2{font-size:1.8rem;margin-bottom:1rem}p{color:var(--muted-text);max-width:65ch}#gallery{padding:0}.portfolio-section{padding-top:var(--gallery-content-gap)}.portfolio-section:first-of-type{padding-top:var(--portfolio-first-section-padding)}.project-gallery{margin-top:var(--gallery-content-gap)}.project-grid{margin-top:var(--gallery-content-gap)}.video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin-bottom:48px}.video-embed iframe{position:absolute;left:0;top:0;width:100%;height:100%}.project-description{max-width:65ch;margin-bottom:1.5rem;line-height:1.6;color:var(--charcoal)}.video-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--collage-gutter,24px);align-items:start;margin-top:1.25rem}.video-row .video-item h2{margin-bottom:.6rem;font-size:1.05rem}.video-row .video-item{display:block}@media (max-width:900px){.video-row{grid-template-columns:1fr}}#gallery img:hover{transform:scale(1.02)}footer,.site-footer{border-top:1px solid var(--border-color);margin-top:0;font-size:0.95rem;color:var(--muted-text)}.site-footer{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1.25rem 2rem}.site-footer__col{flex:1 1 0}.site-footer__copyright{margin:0;color:var(--muted-text)}.site-footer__contact{margin:0;color:var(--muted-text)}.site-footer__links{display:flex;gap:1rem;justify-content:flex-end;align-items:center}.site-footer__link{color:var(--muted-text);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:0.1rem}.site-footer__link:hover{color:var(--charcoal);border-bottom-color:var(--border-color)}@media (max-width:800px){.site-footer{flex-direction:column;align-items:flex-start;padding-left:1rem;padding-right:1rem;gap:.6rem}.site-footer__links{justify-content:flex-start}}.cookie-consent-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:12000;background:rgba(31,31,31,0.95);color:#fff;padding:14px 16px;border-radius:10px;display:flex;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 10px 30px rgba(0,0,0,0.25);max-width:calc(100% - 40px);box-sizing:border-box}.cookie-consent__message{flex:1 1 60%;color:#fff;font-size:0.95rem;line-height:1.3}.cookie-consent__actions{display:flex;gap:10px;align-items:center}.cookie-consent__btn{cursor:pointer;border:none;padding:10px 14px;border-radius:8px;font-weight:600;font-size:0.98rem}.cookie-consent__btn--accept{background:#fff;color:var(--charcoal)}.cookie-consent__btn--reject{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.4)}@media (max-width:700px){.cookie-consent-banner{flex-direction:column;align-items:stretch;gap:10px;left:12px;right:12px}.cookie-consent__message{flex:unset}.cookie-consent__actions{justify-content:flex-end}}.no-scroll{overflow:hidden}.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999}.lightbox.is-open{display:flex}.lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.7)}.lightbox__content{position:relative;max-width:calc(100vw - 80px);max-height:calc(100vh - 100px);width:min(1100px,90vw);display:flex;align-items:center;justify-content:center}.lightbox__content{overflow:visible}.lightbox__frame{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.lightbox__img{max-width:calc(100vw - 120px);max-height:calc(100vh - 120px);object-fit:contain;transition:transform 220ms cubic-bezier(.2,.9,.27,1);cursor:zoom-in;transform-origin:center center;touch-action:none;display:block}.lightbox__img.zoomed{cursor:grab}.lightbox__img.dragging{cursor:grabbing}.lightbox__btn{position:absolute;background:rgba(0,0,0,0.7);color:#fff;border:none;padding:.5rem .75rem;border-radius:8px;font-size:1rem;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,0.45);z-index:2;cursor:pointer}.lightbox__frame{position:relative;display:inline-block;line-height:0}.lightbox__frame{border-radius:10px}.lightbox__frame img,.lightbox__img{border-radius:8px}.lightbox__frame{box-shadow:0 12px 40px rgba(0,0,0,0.45)}.lightbox__frame .lightbox__close{top:8px;right:8px}.lightbox__frame .lightbox__prev{left:8px;top:50%;transform:translateY(-50%)}.lightbox__frame .lightbox__next{right:8px;top:50%;transform:translateY(-50%)}@media (max-width:600px){.lightbox__btn{padding:.7rem .9rem;font-size:1.25rem}}.lightbox__img{display:block;max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;transition:transform 220ms cubic-bezier(.2,.9,.27,1);cursor:zoom-in;transform-origin:center center}.lightbox__img.zoomed{cursor:grab}.lightbox__img.dragging{cursor:grabbing}@media (max-width:600px){.lightbox__btn{padding:.7rem .9rem;font-size:1.25rem}}@media (max-width:800px){.lightbox__content{max-width:calc(100vw - 40px);max-height:calc(100vh - 60px)}}@media (max-width:600px){h1{font-size:2rem}.main-nav{flex-direction:column;gap:1rem}}.contact-grid{display:grid;grid-template-columns:360px 1fr;gap:2rem;align-items:stretch;margin-top:1rem}.contact-info .contact-card{background:#fff;border:1px solid var(--border-color);padding:1.2rem;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;height:100%;line-height:20%}.contact-photo{width:100%;object-fit:cover;border-radius:8px;margin-bottom:.9rem;height:320px}.contact-info h2{margin-bottom:.5rem}.contact-form{display:flex}.contact-form form{background:#fff;border:1px solid var(--border-color);padding:.9rem;border-radius:8px;width:100%;display:flex;flex-direction:column}.form-row{display:flex;flex-direction:column;margin-bottom:.6rem}.form-row label{font-size:.95rem;margin-bottom:.25rem;color:var(--charcoal)}input[type="text"],input[type="email"],input[type="tel"],textarea{padding:.45rem .6rem;border:1px solid #e6e6e6;border-radius:6px;font-size:0.98rem;width:100%}.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea{font-family:inherit;font-size:0.98rem;line-height:1.5;font-weight:400}.contact-form textarea::placeholder,.contact-form input::placeholder{color:var(--muted-text);opacity:1}textarea{resize:vertical;max-height:160px}.form-row:last-child{margin-top:auto}.btn{padding:.6rem .95rem;border-radius:6px;cursor:pointer;align-self:flex-start;border:none;background:transparent;color:inherit}a.btn{display:inline-block;text-decoration:none;font:inherit;font-size:0.85rem;line-height:1.4;box-sizing:border-box}.btn:hover{opacity:.95}.send-button{background:var(--charcoal);color:#fff;border:none}.section-bg-charcoal .send-button{background:var(--charcoal);color:#fff}.send-button:hover{opacity:.95}.send-button:focus{outline:2px solid rgba(0,0,0,0.08);outline-offset:2px}.contact-info .icon{width:28px;height:28px;vertical-align:middle;margin-right:10px;display:inline-block}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-photo{height:220px}}.back-to-projects{display:inline-block;margin-top:30px;margin-left:0px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}.project-grid{align-items:stretch}.project-card{display:block;border-radius:8px;overflow:hidden;text-decoration:none;color:var(--charcoal);background:#fff;border:1px solid var(--border-color);display:flex;flex-direction:column}.project-card img{width:100%;aspect-ratio:16 / 9;height:auto;object-fit:cover;display:block}.project-card__meta{margin-top:auto;padding:.8rem;min-height:56px}.project-card,.instagram-preview{height:100%}.project-card__meta h3{margin:0;font-size:1.05rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.08);transition:transform .18s ease,box-shadow .18s ease}@media (max-width:1000px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.project-grid{grid-template-columns:1fr}.project-card img{aspect-ratio:16 / 9;height:auto}}.instagram-preview{display:block;position:relative;overflow:hidden;border-radius:12px;background:transparent;border:none;text-decoration:none}.instagram-preview img{display:block;width:100%;height:auto;aspect-ratio:9 / 16;object-fit:cover;border-radius:inherit}.project-grid .instagram-preview{justify-self:stretch;max-width:none}.instagram-preview .play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;background:rgba(0,0,0,0.6);color:#fff;padding:.6rem .9rem;border-radius:999px;font-size:1.15rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.instagram-preview:hover img{transform:scale(1.02);transition:transform .18s ease}.project-grid.social-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);gap:12px;align-items:start;overflow-x:auto;-webkit-overflow-scrolling:touch}.project-grid.social-grid{box-sizing:border-box;margin-left:0;width:100%;padding-left:0;padding-right:0;padding-top:0.75rem;scroll-padding-left:2rem;scroll-padding-right:2rem;align-items:center}.project-grid.social-grid .instagram-preview{display:block !important;align-self:stretch !important;min-width:140px !important;width:auto !important;box-sizing:border-box !important}.project-grid.social-grid .instagram-preview img{width:100% !important;height:100% !important;max-width:none !important;object-fit:cover !important;display:block !important}.project-grid.social-grid .instagram-preview img{max-width:none;min-width:140px}.project-grid.social-grid .instagram-preview{max-width:none}.container--flush{padding-left:0;padding-right:0}.btn--primary,.btn.btn--primary{background:var(--charcoal);color:#fff}.btn--inverted,.btn.btn--inverted{background:#ffffff;color:var(--charcoal);border:1px solid var(--border-color)}.btn:hover,.btn--primary:hover,.btn--inverted:hover{opacity:.95}.section-bg-charcoal .btn--primary,.section-bg-charcoal .btn.btn--primary{background:#ffffff;color:var(--charcoal);border:1px solid var(--border-color)}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0.9rem;margin-top:1rem}.project-gallery img{width:100%;aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:8px;display:block}@media (max-width:900px){.project-gallery{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.project-gallery{grid-template-columns:1fr}}.slideshow-container{position:relative;width:100%;overflow:hidden;background:transparent}.slideshow-img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:16 / 9;background:#f4f4f4;opacity:1;transition:opacity 0.3s ease-in}.slideshow-img.loaded{opacity:1}.slideshow-slide--clone{aria-hidden:true}.slideshow-track{display:flex;width:100%;will-change:transform}.slideshow-slide{flex:0 0 100%;min-width:100%;display:block}.slideshow-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.6);color:#fff;border:none;padding:8px 10px;border-radius:6px;cursor:pointer;z-index:2}.slideshow-prev{left:8px}.slideshow-next{right:8px}.slideshow-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;display:flex;overflow-x:auto;max-width:calc(100% - 24px);-webkit-overflow-scrolling:touch;gap:6px;white-space:nowrap;align-items:center;z-index:3}.slideshow-dot{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,0.35);cursor:pointer;padding:0;flex:0 0 auto}.slideshow-dot.active{background:#fff}.slideshow-progress{position:absolute;left:6px;right:6px;bottom:-8px;height:4px;background:rgba(255,255,255,0.12);border-radius:4px;overflow:hidden}.slideshow-progress-fill{height:100%;width:0%;background:rgba(255,255,255,0.95);transition:width 280ms ease}@media (max-width:600px){.slideshow-arrow{padding:10px 12px;font-size:1.1rem}}@media (pointer:fine){.slideshow-dots,.project-grid.social-grid{scrollbar-width:none;-ms-overflow-style:none;scrollbar-gutter:stable}.slideshow-dots::-webkit-scrollbar,.project-grid.social-grid::-webkit-scrollbar{width:0px;height:0px;background:transparent}.slideshow-dots::-webkit-scrollbar-track,.project-grid.social-grid::-webkit-scrollbar-track{background:transparent}.slideshow-dots::-webkit-scrollbar-thumb,.project-grid.social-grid::-webkit-scrollbar-thumb{background:transparent}}.collage-hv{--collage-height:520px;display:grid;grid-template-columns:2fr 1fr;gap:var(--collage-gutter);align-items:stretch;width:100%}.collage-hv>*{overflow:hidden;display:block}.collage-hv img{width:100%;height:var(--collage-height);object-fit:cover;display:block}@media (max-width:900px){.collage-hv{grid-template-columns:1fr}.collage-hv img{height:auto}}.collage-hv.collage-3x3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--collage-gutter);grid-auto-rows:minmax(160px,260px)}.collage-hv.collage-3x3 img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block}.subpage-offset{padding-top:0px}@media (max-width:800px){:root{--site-hero-base-extra-min:20px;--site-hero-base-extra-max:var(--site-hero-base-extra);--logo-min:24px;--logo-max:var(--logo-size)}body{padding-top:var(--site-hero-current-height) !important}section,h1,h2,h3{scroll-margin-top:var(--site-hero-current-height) !important}.site-hero{min-height:var(--site-hero-current-height) !important}.site-hero .logo{padding-left:0}.site-hero .tagline{padding-left:0;padding-right:0}#gallery,.project-gallery,.project-grid{margin-top:calc(var(--site-hero-content-gap) / 2)}}