@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600&display=swap";:root{--color-primary:#8c2131;--color-secondary:#d4af37;--color-bg:#fdfbf7;--color-text-dark:#2a1b18;--color-text-light:#fdfbf7;--color-accent:#e6d5b8;--font-heading:"Cinzel", serif;--font-body:"Montserrat", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-dark);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);font-weight:500}a{color:inherit;text-decoration:none;transition:all .3s}ul{list-style:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:1s ease-out forwards fadeIn}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:6rem 0}.navbar{z-index:1000;width:100%;padding:1.5rem 0;transition:background .4s,border-color .4s,padding .3s;position:fixed;top:0;left:0}.navbar .container{justify-content:space-between;align-items:center;display:flex}.navbar-logo{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:2px;font-size:1.8rem;font-weight:700}.navbar-links{gap:2.5rem;display:flex}.navbar-links a{text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:500;position:relative}.navbar-links a:after{content:"";background-color:var(--color-secondary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar:not(.navbar--solid) .navbar-toggle{color:var(--color-text-light);background:#ffffff1f;border-color:#ffffff4d}.nav-dropdown{position:relative}.nav-dropdown-menu{background:var(--color-bg);border:1px solid var(--color-accent);min-width:210px;padding:.5rem 0;display:none;position:absolute;top:100%;left:-1rem;box-shadow:0 12px 24px #2a1b181f}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}.navbar-links .nav-dropdown-menu a{white-space:nowrap;align-items:center;min-height:40px;padding:.5rem 1rem;font-size:.78rem;display:flex;color:var(--color-text-dark)!important}.navbar-links .nav-dropdown-menu a:after{display:none}.navbar-toggle{width:44px;height:44px;color:var(--color-primary);border:1px solid var(--color-accent);cursor:pointer;background:#fdfbf7e6;border-radius:4px;justify-content:center;align-items:center;display:none}.hero{isolation:isolate;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;padding-bottom:40px;display:flex;position:relative;overflow:clip}.hero-bg{object-fit:cover;z-index:0;filter:brightness(.6);width:100%;height:100%;position:absolute;top:0;left:0}.hero-video{z-index:0;background:var(--color-text-dark);pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-video-player{pointer-events:none;border:0;width:100vw;min-width:177.78vh;height:56.25vw;min-height:100vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-overlay{z-index:1;background:linear-gradient(#0000 0% 25%,#2a1b1840 55%,#8c213161 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;text-align:center;color:var(--color-text-light);max-width:820px;padding:2rem;position:relative}@keyframes heroItemIn{0%{opacity:0;filter:blur(4px);transform:translateY(24px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-hero-item{opacity:0;animation:.8s cubic-bezier(.22,1,.36,1) forwards heroItemIn;animation-delay:var(--hero-delay,0s)}.hero-eyebrow-wrap{justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.hero-eyebrow-line{transform-origin:50%;background:linear-gradient(90deg,#0000,#d4af37cc,#0000);flex:none;width:48px;height:1px;animation:1.1s cubic-bezier(.22,1,.36,1) .7s both eyebrowLineExpand;display:block}@keyframes eyebrowLineExpand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.hero-eyebrow{font-family:var(--font-body);letter-spacing:5px;text-transform:uppercase;background:linear-gradient(90deg, #c8960a 0%, var(--color-secondary) 25%, #fef3a0 50%, var(--color-secondary) 75%, #c8960a 100%);-webkit-text-fill-color:transparent;white-space:nowrap;background-size:250%;-webkit-background-clip:text;background-clip:text;font-size:.78rem;font-weight:600;animation:3.8s linear 1.2s infinite goldShimmer;display:inline-block}@keyframes goldShimmer{0%{background-position:250%}to{background-position:-250%}}.hero-subtitle{letter-spacing:4px;text-transform:uppercase;color:var(--color-primary);margin-bottom:1rem;font-size:1.2rem;display:block}.hero-title{color:var(--color-text-light);text-shadow:2px 4px 12px #2a1b188c;letter-spacing:-.5px;justify-content:center;align-items:center;min-height:3.5em;margin-bottom:1.5rem;font-size:clamp(2.8rem,6vw,5rem);line-height:1.1;display:flex}.hero-rotating-title{will-change:opacity, transform}.hero-content .hero-subtitle{color:var(--color-secondary)}.hero-desc{color:#fdfbf7d1;max-width:580px;margin:0 auto 2.25rem;font-size:1.1rem;line-height:1.75}.hero-cta-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;display:flex}.btn{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;border:2px solid var(--color-secondary);color:var(--color-secondary);cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:0 0;padding:1rem 2.5rem;font-size:1.05rem;font-weight:600;transition:all .3s;display:inline-block}.btn:hover{background:var(--color-secondary);color:var(--color-text-dark)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-light)}.btn-primary:hover{color:var(--color-primary);background:0 0}.btn-ghost{color:var(--color-text-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fdfbf714;border-color:#fdfbf780}.btn-ghost:hover{border-color:var(--color-text-light);background:#fdfbf72e}.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#ffffff38 50%,#0000 100%);width:60%;height:100%;transition:none;position:absolute;top:0;left:-100%;transform:skew(-20deg)}.btn-shimmer:hover:after{animation:.55s forwards btnShimmerSweep}@keyframes btnShimmerSweep{0%{left:-100%}to{left:160%}}.hero-scroll-indicator{z-index:3;flex-direction:column;align-items:center;gap:.3rem;animation:1s ease-out 1.4s both heroStatFadeIn;display:flex;position:absolute;bottom:5.5rem;right:2rem}.hero-scroll-text{font-family:var(--font-body);letter-spacing:3px;text-transform:uppercase;color:#fdfbf78c;writing-mode:vertical-rl;margin-bottom:.4rem;font-size:.6rem}.hero-scroll-chevrons{flex-direction:column;align-items:center;gap:0;display:flex}.hero-scroll-chev{color:var(--color-secondary);display:block}.hero-scroll-chev--1{opacity:.9;animation:1.8s ease-in-out infinite chevBounce}.hero-scroll-chev--2{opacity:.45;margin-top:-6px;animation:1.8s ease-in-out .22s infinite chevBounce}@keyframes chevBounce{0%,to{opacity:.9;transform:translateY(0)}50%{opacity:.4;transform:translateY(5px)}}.hero-scroll-chev--2{animation-name:chevBounce2}@keyframes chevBounce2{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.2;transform:translateY(5px)}}.featured-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:4rem;display:grid}.featured-item{aspect-ratio:4/5;border-radius:8px;transition:transform .4s;position:relative;overflow:hidden;box-shadow:0 10px 30px #2a1b181a}.featured-item:hover{transform:translateY(-10px)}.featured-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.featured-item:hover img{transform:scale(1.05)}.home-category-section{background:#f3eadb;padding:5.5rem 0}.home-category-section--alternate{color:var(--color-text-light);background:#641b2a}.home-category-section--alternate .home-category-kicker,.home-category-section--alternate .home-category-heading h2{color:var(--color-secondary)}.home-category-section--alternate .home-category-heading{border-bottom-color:#d4af378c}.home-category-section--alternate .home-category-heading p,.home-category-section--alternate .home-photo-count,.home-category-section--alternate .home-photo-more-count{color:#f3e7d7}.home-category-section--alternate .home-category-link{color:#f8eacb}.home-category-heading{border-bottom:1px solid var(--color-accent);justify-content:space-between;align-items:flex-end;gap:2.5rem;margin-bottom:2.25rem;padding-bottom:1.5rem;display:flex}.home-category-kicker{color:var(--color-primary);font-family:var(--font-body);margin-bottom:.6rem;font-size:.75rem;font-weight:600;display:block}.home-category-heading h2,.home-films-content h2{margin-bottom:.35rem;font-size:2rem}.home-category-heading p,.home-films-content p{max-width:620px}.home-category-actions{flex:none;align-items:center;gap:1.5rem;display:flex}.home-photo-count{color:#726760;white-space:nowrap;font-size:.85rem}.home-category-link{border-bottom:1px solid var(--color-secondary);color:var(--color-primary);font-family:var(--font-heading);white-space:nowrap;align-items:center;gap:.35rem;padding-bottom:.4rem;font-weight:600;display:inline-flex}.home-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.65rem,1.25vw,1.1rem);display:grid}.home-photo{isolation:isolate;background:0 0;border:1px solid #d4af378c;border-radius:2px;display:block;position:relative;overflow:visible;box-shadow:0 8px 22px #2a1b1829}.home-photo img{width:100%;height:auto;display:block}.home-photo.is-unavailable{color:var(--color-text-dark);background:var(--color-accent);place-items:center;font-size:.85rem;display:grid}.home-photo.is-unavailable:after{content:"Image unavailable";z-index:2;background:var(--color-accent);place-items:center;display:grid}.home-photo:hover{border-color:var(--color-secondary);box-shadow:0 12px 28px #2a1b183d}.home-photo:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.home-photo-more{justify-content:center;align-items:center;gap:1.25rem;margin-top:1.5rem;display:flex}.home-photo-more-count{color:#726760;font-size:.82rem}.home-photo-more-button{border:1px solid var(--color-accent);min-height:44px;color:var(--color-primary);font:600 .88rem var(--font-body);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:.55rem;padding:.6rem 1rem;transition:background-color .2s,border-color .2s;display:inline-flex}.home-photo-more-button:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-light)}.home-films-section{background:var(--color-bg);color:var(--color-text-dark);padding:4rem 0}.home-films-content{justify-content:space-between;align-items:center;gap:2rem;display:flex}.home-films-content h2{color:var(--color-primary)}.home-empty-state{width:100%;color:var(--color-text-dark);grid-column:1/-1;padding:2rem 0;font-style:italic}.home-films-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.75rem,1.5vw,1.5rem);margin-top:2rem;display:grid}.home-film-card{transition:transform var(--transition-medium), box-shadow var(--transition-medium);background:#fff;border:1px solid #d4af3773;border-radius:4px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 22px #2a1b1814}.home-film-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #2a1b1824}.home-film-card .wedding-film-video{aspect-ratio:16/9;background:#000;width:100%}.home-film-title{font-family:var(--font-heading);color:var(--color-text-dark);letter-spacing:.5px;margin:0;padding:.75rem .85rem .2rem;font-size:1rem;font-weight:600}.home-film-desc{color:var(--color-text-dark);opacity:.75;margin:.2rem 0 0;padding:0 .85rem .85rem;font-size:.88rem;line-height:1.45}.page-header{text-align:center;background-color:var(--color-accent);color:var(--color-text-dark);padding:10rem 0 4rem}.page-title{margin-bottom:1rem;font-size:3.5rem}.content-page{background-color:var(--color-bg);min-height:100vh;padding:10rem 0 4rem}.films-intro{max-width:600px;margin:0 auto;font-size:1.1rem}.wedding-films-page{background:var(--color-bg);min-height:100vh}.wedding-films-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;display:grid}.wedding-film-video{aspect-ratio:16/9;background:var(--color-accent);width:100%}.wedding-film-video iframe{border:0;width:100%;height:100%;display:block}.wedding-film h2{margin-top:1rem;font-size:1.5rem}.wedding-film p{margin-top:.4rem}.client-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:3rem;margin-top:3rem;display:grid}.client-card{isolation:isolate;background:var(--color-bg);border:1px solid var(--color-accent);text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:3rem 2rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #2a1b180d}.client-card:before{content:"";z-index:-1;background:linear-gradient(#fdfbf7ad,#fdfbf7d6);transition:background .3s;position:absolute;inset:0}.client-card-image{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.client-card:hover{border-color:var(--color-secondary);transform:translateY(-5px);box-shadow:0 15px 35px #2a1b181a}.client-card:hover:before{background:linear-gradient(#fdfbf794,#fdfbf7c2)}.client-card:hover .client-card-image{transform:scale(1.04)}.client-name{font-family:var(--font-heading);color:var(--color-text-dark);margin-bottom:1rem;font-size:1.8rem}.client-photo-count{color:#666;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.masonry-grid{column-count:3;column-gap:1.5rem;margin-top:3rem}@media (width<=1024px){.masonry-grid{column-count:2}}@media (width<=640px){.masonry-grid{column-count:1}}.masonry-item{break-inside:avoid;border-radius:8px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 4px 15px #2a1b181a}.masonry-item img{width:100%;transition:transform .5s;display:block}.masonry-item:hover img{transform:scale(1.03)}.footer{background-color:var(--color-bg);color:var(--color-text-dark);text-align:center;border-top:1px solid var(--color-accent);margin-top:0;padding:4rem 0 2rem}.footer-logo{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:1rem;font-size:2rem}.footer-socials{justify-content:center;gap:1.5rem;margin:2rem 0;display:flex}.footer-socials a{color:var(--color-text-dark)}.footer-socials a:hover{color:var(--color-secondary)}.footer-bottom{color:#726760;border-top:1px solid var(--color-accent);margin-top:3rem;padding-top:2rem;font-size:.85rem}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-8{margin-top:2rem}.scroll-gallery-container{white-space:nowrap;background:var(--color-bg);width:100%;padding:4rem 0;position:relative;overflow:hidden}.scroll-gallery-track{white-space:nowrap;animation:40s linear infinite scrollGallery;display:inline-block}.scroll-gallery-track:hover{animation-play-state:paused}.scroll-item{border-radius:8px;width:400px;height:500px;margin:0 1rem;display:inline-block;overflow:hidden;box-shadow:0 10px 30px #2a1b1826}.scroll-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.scroll-item:hover img{transform:scale(1.05)}@keyframes scrollGallery{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact-form{flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto;display:flex}.contact-form input,.contact-form textarea{border:1px solid var(--color-accent);width:100%;color:var(--color-text-dark);font-family:var(--font-body);background:0 0;border-radius:4px;padding:1rem;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-primary);outline:none}.contact-form textarea{resize:vertical;min-height:150px}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.5rem;margin-top:3rem;display:grid}.blog-card{background:#fff;border-radius:8px;transition:transform .3s;overflow:hidden;box-shadow:0 4px 15px #2a1b180d}.blog-card:hover{transform:translateY(-5px)}.blog-image{object-fit:cover;width:100%;height:250px}.blog-content{padding:2rem}.blog-date{color:#888;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.85rem;display:block}.blog-title{font-size:1.5rem;font-family:var(--font-heading);margin-bottom:1rem}.about-content{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about-image{border-radius:8px;width:100%;box-shadow:0 15px 40px #2a1b181a}.album-page{background-color:var(--color-bg);flex-direction:column;height:100vh;min-height:560px;padding:6rem 2.5rem 1.25rem;display:flex}.album-loading{background-color:var(--color-bg);min-height:100vh;font-size:1.5rem;font-family:var(--font-heading);color:var(--color-primary);flex-direction:column;justify-content:center;align-items:center;display:flex}.album-header{text-align:center;flex:none;padding:.75rem 0 1.25rem;position:relative}.album-back-btn{z-index:2;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.album-back-btn:hover{opacity:.7}.album-header-text{animation:.8s ease-out forwards fadeIn}.album-label{letter-spacing:2px;text-transform:uppercase;color:var(--color-primary);margin-bottom:.5rem;font-size:.75rem;display:block}.album-title{color:var(--color-primary);margin-bottom:.5rem;font-size:2.5rem}.album-count{color:#2a1b18a6;letter-spacing:.5px;font-size:.8rem}.album-gallery{flex:auto;grid-template-columns:minmax(0,1fr) 132px;align-items:stretch;gap:1.25rem;min-height:0;display:grid}.album-wrapper{min-width:0;min-height:0;position:relative}.album-scroll{scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;align-items:center;gap:1.5rem;height:100%;padding:.75rem 0;display:flex;overflow-x:auto}.album-scroll::-webkit-scrollbar{display:none}.album-spacer{flex:0 0 calc(50vw - min(35vw,400px))}.album-slide{scroll-snap-align:center;cursor:pointer;filter:blur(2px)brightness(.82);opacity:.65;border-radius:8px;flex:0 0 min(70vw,900px);height:min(58vh,600px);transition:transform .5s cubic-bezier(.25,.46,.45,.94),filter .5s cubic-bezier(.25,.46,.45,.94),opacity .5s,box-shadow .5s;position:relative;overflow:hidden;transform:scale(.94);box-shadow:0 8px 24px #2a1b181f}.album-slide.active{filter:blur()brightness();opacity:1;z-index:5;transform:scale(1);box-shadow:0 16px 40px #2a1b1833}.album-slide.neighbor{filter:blur(1px)brightness(.9);opacity:.8;transform:scale(.97);box-shadow:0 10px 28px #2a1b1826}.album-slide.far{filter:blur(2px)brightness(.78);opacity:.55;transform:scale(.92)}.album-slide.active:hover{transform:scale(1.02)}.album-slide img{object-fit:contain;background-color:#fff;width:100%;height:100%;display:block}.album-slide-number{color:var(--color-primary);letter-spacing:1px;opacity:0;background:#fdfbf7f0;border-radius:20px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:opacity .4s;position:absolute;bottom:1rem;right:1rem;box-shadow:0 2px 10px #2a1b181f}.album-slide.active .album-slide-number{opacity:1}.album-nav-btn{z-index:10;border:1px solid var(--color-accent);color:var(--color-primary);cursor:pointer;background:#fdfbf7f0;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #2a1b181f}.album-nav-btn:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.album-nav-left{left:1rem}.album-nav-right{right:1rem}.album-dots{justify-content:center;gap:.5rem;padding:1.5rem 0;display:flex}.album-dot{cursor:pointer;background:#fdfbf733;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.album-dot.active{background:var(--color-secondary);border-radius:4px;width:24px}.album-thumbnails{scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent;background:#ffffff94;border:1px solid #e6d5b8cc;border-radius:8px;flex-direction:column;gap:.65rem;min-height:0;padding:.65rem;display:flex;overflow-y:auto}.album-thumb{aspect-ratio:4/3;cursor:pointer;opacity:.76;background:#fff;border:2px solid #0000;border-radius:5px;flex:none;width:100%;padding:0;transition:all .3s;overflow:hidden}.album-thumb.active{border-color:var(--color-primary);opacity:1;box-shadow:0 3px 10px #2a1b1829}.album-thumb:hover{opacity:1;border-color:var(--color-secondary)}.album-thumb img{object-fit:cover;width:100%;height:100%}.lightbox-overlay{z-index:2000;background:#fdfbf7f5;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out forwards fadeIn;display:flex;position:fixed;top:0;left:0}.lightbox-content{justify-content:center;align-items:center;max-width:95vw;max-height:95vh;display:flex;position:relative}.lightbox-content img{object-fit:contain;border-radius:4px;max-width:90vw;max-height:90vh}.lightbox-close{color:var(--color-primary);cursor:pointer;z-index:2001;background:0 0;border:none;font-size:2.5rem;line-height:1;transition:color .3s;position:fixed;top:1.5rem;right:2rem}.lightbox-close:hover{color:var(--color-secondary)}.lightbox-nav{border:1px solid var(--color-accent);color:var(--color-primary);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fdfbf7f0;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{border-color:var(--color-secondary);color:var(--color-secondary);background:#d4af3733}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{color:var(--color-text-dark);letter-spacing:2px;font-size:.9rem;font-family:var(--font-heading);position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@media (width<=768px){.album-page{height:auto;min-height:100vh;padding:5.5rem 1rem 1.5rem}.album-header{padding:2.25rem 0 1rem}.album-back-btn{top:0;left:0;transform:none}.album-title{font-size:2rem}.album-gallery{flex-direction:column;gap:.75rem;display:flex}.album-wrapper{height:min(46vh,420px);min-height:250px}.album-slide img{height:100%}.album-slide{flex-basis:82vw;height:100%}.album-nav-btn{width:40px;height:40px}.album-thumbnails{flex-direction:row;gap:.4rem;padding:.4rem;overflow:auto hidden}.album-thumb{aspect-ratio:auto;width:64px;height:48px}}@media (width<=900px){.navbar{padding:.65rem 0}.navbar .container{min-height:48px}.navbar-logo{letter-spacing:1px;font-size:1.25rem}.navbar-toggle{flex:none;display:inline-flex}.navbar-links{background:var(--color-bg);border-bottom:1px solid var(--color-accent);flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 18px #2a1b1814}.navbar-links.is-open{display:flex}.navbar-links a{align-items:center;min-height:48px;font-size:.85rem;display:flex}.navbar-links a:after{bottom:7px}.nav-dropdown-menu{min-width:0;box-shadow:none;background:0 0;border:0;padding:0 0 .35rem 1rem;display:block;position:static}.navbar-links .nav-dropdown-menu a{min-height:40px;font-size:.78rem}.about-content{grid-template-columns:minmax(0,1fr);gap:2rem}.home-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-category-actions{flex-wrap:wrap;gap:.75rem 1rem}.home-category-heading,.home-films-content{flex-direction:column;align-items:flex-start;gap:1rem}.home-films-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-image{object-fit:cover;max-height:520px}.client-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}@media (width<=600px){.home-category-section{padding:3.75rem 0}.home-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-films-grid,.home-films-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.container{padding-left:1.1rem;padding-right:1.1rem}.section{padding:3.5rem 0}.section h2{font-size:1.85rem!important}.hero{min-height:88svh;padding:6rem 1rem 40px}.hero-content{padding:1rem .25rem}.hero-subtitle{letter-spacing:2px;font-size:.8rem}.hero-title{margin-bottom:1.25rem;font-size:2.5rem;line-height:1.2}.hero-content p{font-size:1rem!important}.btn{max-width:100%;padding:.85rem 1.1rem;font-size:.9rem}.page-header{padding:8rem 0 2.75rem}.page-title{font-size:2.4rem;line-height:1.2}.page-header p,.content-page>.container>p{font-size:1rem!important}.client-grid,.blog-grid{grid-template-columns:minmax(0,1fr);gap:1.1rem;margin-top:2rem}.client-card{min-height:220px;padding:2rem 1.25rem}.client-name{overflow-wrap:anywhere;font-size:1.55rem}.content-page{padding:8rem 0 3rem}.content-page .page-title{margin-bottom:1.5rem!important}.about-content h2{font-size:1.65rem!important}.about-content p{font-size:1rem!important}.blog-image{height:220px}.blog-content{padding:1.25rem}.blog-title{font-size:1.3rem}.contact-form{gap:1rem}.contact-form input,.contact-form textarea{padding:.85rem;font-size:16px}.footer{margin-top:3rem;padding:3rem 0 1.5rem}.footer-logo{font-size:1.5rem}.footer-socials{flex-wrap:wrap;gap:1rem}.footer-bottom{margin-top:2rem;padding-top:1.25rem}.scroll-gallery-container{padding:2.5rem 0}.scroll-item{width:72vw;height:92vw;max-height:380px;margin:0 .5rem}.lightbox-nav{width:42px;height:42px}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portfolio-masonry{align-items:flex-start;gap:.75rem;display:flex}.portfolio-masonry-col{flex-direction:column;flex:1 1 0;gap:.75rem;display:flex}.portfolio-photo-btn{cursor:pointer;background:var(--color-accent);border:none;border-radius:4px;width:100%;padding:0;transition:transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s cubic-bezier(.25,.46,.45,.94);display:block;position:relative;overflow:hidden;box-shadow:0 6px 20px #2a1b181f}.portfolio-photo-btn:hover{transform:translateY(-4px)scale(1.012);box-shadow:0 16px 36px #2a1b1838}.portfolio-photo-btn:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}.portfolio-photo-btn img{pointer-events:none;width:100%;height:auto;transition:transform .55s cubic-bezier(.25,.46,.45,.94);display:block}.portfolio-photo-btn:hover img{transform:scale(1.06)}.portfolio-photo-overlay{opacity:0;background:linear-gradient(#0000 40%,#8c21312e 100%);transition:opacity .35s;position:absolute;inset:0}.portfolio-photo-btn:hover .portfolio-photo-overlay{opacity:1}@media (width<=640px){.portfolio-masonry,.portfolio-masonry-col{gap:.5rem}}.hscroll-wrapper{width:100%;padding:1.5rem 0 2.5rem;position:relative;overflow:hidden}.hscroll-wrapper:before,.hscroll-wrapper:after{content:"";z-index:2;pointer-events:none;width:80px;position:absolute;top:0;bottom:0}.hscroll-wrapper:before{background:linear-gradient(to right, var(--hscroll-bg,#f3eadb) 0%, transparent 100%);left:0}.hscroll-wrapper:after{background:linear-gradient(to left, var(--hscroll-bg,#f3eadb) 0%, transparent 100%);right:0}.home-category-section--alternate .hscroll-wrapper{--hscroll-bg:#641b2a}.home-films-section .hscroll-wrapper{--hscroll-bg:var(--color-bg)}.hscroll-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:1.25rem;padding:.5rem 4rem 2rem;display:flex;overflow:auto hidden}.hscroll-track::-webkit-scrollbar{display:none}.hscroll-photo-card{scroll-snap-align:start;will-change:transform;border:1px solid #d4af3759;border-radius:4px;flex:none;width:clamp(260px,28vw,380px);height:clamp(340px,42vw,520px);transition:transform .42s cubic-bezier(.25,.46,.45,.94),box-shadow .42s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;box-shadow:0 12px 36px #2a1b1833}.hscroll-photo-card:nth-child(2n){height:clamp(300px,36vw,460px);transform:translateY(2rem)}.hscroll-photo-card:hover{border-color:var(--color-secondary);transform:translateY(-8px)scale(1.02);box-shadow:0 22px 52px #2a1b184d}.hscroll-photo-card:nth-child(2n):hover{transform:translateY(calc(2rem - 8px))scale(1.02)}.hscroll-photo-card img{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:transform .65s cubic-bezier(.25,.46,.45,.94);display:block}.hscroll-photo-card:hover img{transform:scale(1.07)}.hscroll-photo-overlay{opacity:0;background:linear-gradient(#0000 0%,#2a1b1814 45%,#2a1b18b8 100%);align-items:flex-end;padding:1.25rem 1.1rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.hscroll-photo-card:hover .hscroll-photo-overlay{opacity:1}.hscroll-photo-label{font-family:var(--font-heading);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-secondary);font-size:.82rem}.hscroll-film-card{scroll-snap-align:start;background:#000;border:1px solid #d4af3740;border-radius:6px;flex:none;width:clamp(300px,38vw,480px);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),border-color .3s;overflow:hidden;box-shadow:0 10px 32px #2a1b182e}.hscroll-film-card:hover{border-color:#d4af378c;transform:translateY(-6px);box-shadow:0 22px 52px #2a1b1847}.hscroll-film-video{aspect-ratio:16/9;background:#000;width:100%}.hscroll-film-video iframe{border:0;width:100%;height:100%;display:block}.film-thumb-btn{cursor:pointer;background:#000;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.film-thumb-btn img{object-fit:cover;width:100%;height:100%;transition:transform .4s,filter .4s;display:block}.film-thumb-btn:hover img{filter:brightness(.75);transform:scale(1.04)}.film-play-icon{pointer-events:none;filter:drop-shadow(0 2px 12px #00000073);transition:transform .3s cubic-bezier(.25,.46,.45,.94),opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.film-thumb-btn:hover .film-play-icon{opacity:.95;transform:translate(-50%,-50%)scale(1.1)}.hscroll-film-info{padding:1rem 1.1rem 1.25rem}.hscroll-film-title{font-family:var(--font-heading);color:var(--color-text-dark);letter-spacing:.4px;margin:0 0 .3rem;font-size:1.05rem;font-weight:600}.hscroll-film-desc{color:var(--color-text-dark);opacity:.68;margin:0;font-size:.85rem;line-height:1.5}.hscroll-btn{z-index:10;border:1.5px solid var(--color-secondary);width:44px;height:44px;color:var(--color-primary);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fdfbf7eb;border-radius:50%;justify-content:center;align-items:center;transition:background .25s,color .25s,box-shadow .25s;display:flex;position:absolute;top:50%;transform:translateY(-60%);box-shadow:0 4px 16px #2a1b1833}.hscroll-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 6px 22px #2a1b1852}.hscroll-btn--prev{left:.75rem}.hscroll-btn--next{right:.75rem}.home-category-section--alternate .hscroll-btn{border-color:var(--color-secondary);color:var(--color-secondary);background:#641b2ae0}.home-category-section--alternate .hscroll-btn:hover{background:var(--color-secondary);color:var(--color-text-dark)}@media (width<=768px){.hero{padding-top:70px;padding-bottom:80px}.hero-content{max-width:100%;padding:1.25rem}.hero-eyebrow-wrap{gap:.6rem;margin-bottom:.85rem}.hero-eyebrow-line{width:28px}.hero-eyebrow{letter-spacing:3px;font-size:.6rem}.hero-title{min-height:2.6em;margin-bottom:1rem;font-size:clamp(2rem,10vw,2.8rem)}.hero-desc{margin-bottom:1.5rem;font-size:.92rem}.hero-desc br{display:none}.hero-cta-group{flex-direction:row;gap:.6rem}.hero-cta-group .btn{letter-spacing:.5px;padding:.75rem 1.25rem;font-size:.72rem}.hero-scroll-indicator{display:none}.home-category-heading{flex-direction:column;align-items:flex-start;gap:1rem}.home-category-heading h2{font-size:1.5rem}.home-category-actions{justify-content:space-between;width:100%}.home-films-content{flex-direction:column;align-items:flex-start;gap:1rem}.home-films-content h2{font-size:1.5rem}.hscroll-track{gap:.9rem;padding:.5rem 1.25rem}.hscroll-photo-card{width:clamp(200px,68vw,280px);height:clamp(260px,85vw,380px)}.hscroll-photo-card:nth-child(2n){height:clamp(220px,72vw,340px);transform:translateY(0)}.hscroll-film-card{width:clamp(260px,78vw,340px)}.hscroll-btn{width:32px;height:32px}.hscroll-wrapper:before,.hscroll-wrapper:after{width:30px}.home-category-section{padding:3rem 0}.home-films-section{padding:2.5rem 0}}
