:root{--color-black: #0a0a0a;--color-white: #ffffff;--color-off-white: #f8f7f5;--color-gray-100: #f2f2f2;--color-gray-200: #e5e5e5;--color-gray-400: #999999;--color-gray-600: #666666;--color-mustard: #c4a035;--color-periwinkle: #8b9dc3;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-serif: "Playfair Display", Georgia, serif;--header-height: 72px;--transition: .4s cubic-bezier(.25, .46, .45, .94);--transition-fast: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-weight:400;color:var(--color-black);background:var(--color-white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 clamp(1.5rem,4vw,3rem);background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color var(--transition-fast),background var(--transition-fast)}.header.scrolled{border-bottom-color:var(--color-gray-200)}.header__logo{font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:opacity var(--transition-fast)}.header__logo:hover{opacity:.6}.header__nav{display:flex;gap:2.5rem}.header__link{font-size:.6875rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;position:relative;padding:.25rem 0}.header__link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-black);transition:width var(--transition-fast)}.header__link:hover:after,.header__link.active:after{width:100%}.header__menu-btn{display:none;flex-direction:column;gap:6px;width:28px;padding:4px 0}.header__menu-btn span{display:block;width:100%;height:1px;background:var(--color-black);transition:transform var(--transition-fast),opacity var(--transition-fast)}.header__menu-btn.open span:first-child{transform:translateY(3.5px) rotate(45deg)}.header__menu-btn.open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:var(--color-white);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}.mobile-nav.open{opacity:1;visibility:visible}.mobile-nav nav{display:flex;flex-direction:column;align-items:center;gap:2rem}.mobile-nav__link{font-size:1.5rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}.hero__image-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.hero__image{width:100%;height:100%;object-fit:cover;object-position:center top}.hero__image-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.1) 40%,transparent 70%)}.hero__content{position:relative;z-index:2;padding:clamp(2rem,8vw,6rem);padding-bottom:clamp(4rem,10vw,8rem);color:var(--color-white);animation:fadeUp 1.2s ease forwards}.hero__label{font-size:.6875rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;opacity:.8}.hero__title{font-family:var(--font-serif);font-size:clamp(3rem,10vw,7rem);font-weight:400;line-height:1;letter-spacing:-.02em;margin-bottom:1rem}.hero__subtitle{font-size:.8125rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;margin-bottom:2.5rem;opacity:.85}.hero__cta{display:inline-block;font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid rgba(255,255,255,.6);transition:background var(--transition-fast),border-color var(--transition-fast)}.hero__cta:hover{background:var(--color-white);color:var(--color-black);border-color:var(--color-white)}.hero__scroll{position:absolute;bottom:2rem;right:clamp(1.5rem,4vw,3rem);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-white);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.hero__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--color-white),transparent);animation:scrollPulse 2s ease infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}.section-header{margin-bottom:clamp(2rem,5vw,4rem)}.section-header--center{text-align:center}.section-label{font-size:.6875rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gray-600);margin-bottom:.75rem}.section-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.15;letter-spacing:-.01em}.portfolio{padding:clamp(5rem,12vw,10rem) clamp(1.5rem,4vw,3rem);background:var(--color-white)}.portfolio__filters{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-bottom:clamp(2rem,5vw,4rem);border-bottom:1px solid var(--color-gray-200);padding-bottom:1.5rem}.filter-btn{font-size:.6875rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gray-400);padding:.5rem 0;position:relative;transition:color var(--transition-fast)}.filter-btn:after{content:"";position:absolute;bottom:-1.5rem;left:0;width:0;height:2px;background:var(--color-black);transition:width var(--transition-fast)}.filter-btn:hover,.filter-btn.active{color:var(--color-black)}.filter-btn.active:after{width:100%}.portfolio__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.75rem,2vw,1.25rem)}.portfolio__item{grid-column:span 4;opacity:1;transform:scale(1);transition:opacity var(--transition),transform var(--transition)}.portfolio__item.hidden{opacity:0;transform:scale(.95);pointer-events:none;position:absolute;visibility:hidden}.portfolio__item--tall{grid-row:span 2}.portfolio__item--wide{grid-column:span 8}.portfolio__trigger{display:block;width:100%;height:100%;position:relative;overflow:hidden;aspect-ratio:3 / 4}.portfolio__item--wide .portfolio__trigger{aspect-ratio:16 / 9}.portfolio__item--tall .portfolio__trigger{aspect-ratio:auto;min-height:100%}.portfolio__trigger img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.portfolio__trigger:hover img{transform:scale(1.05)}.portfolio__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.4),transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.portfolio__trigger:hover .portfolio__overlay{opacity:1}.portfolio__overlay span{font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-white)}.about{padding:clamp(5rem,12vw,10rem) clamp(1.5rem,4vw,3rem);background:var(--color-off-white)}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1200px;margin:0 auto}.about__image{width:100%;aspect-ratio:3 / 4;object-fit:cover}.about__content .section-title{margin-bottom:2rem}.about__text{display:flex;flex-direction:column;gap:1.25rem;color:var(--color-gray-600);font-size:.9375rem;line-height:1.8;margin-bottom:2.5rem}.about__highlights{display:flex;flex-direction:column;gap:1.5rem;padding-top:2rem;border-top:1px solid var(--color-gray-200)}.highlight{display:flex;flex-direction:column;gap:.25rem}.highlight__label{font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-mustard)}.highlight__value{font-size:.875rem;font-weight:400}.stats{padding:clamp(5rem,12vw,10rem) clamp(1.5rem,4vw,3rem);background:var(--color-white)}.stats__grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:clamp(2rem,5vw,4rem);max-width:1100px;margin:0 auto}.stats__heading{font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-gray-200)}.stats__list{display:flex;flex-direction:column;gap:0}.stats__row{display:flex;justify-content:space-between;align-items:baseline;padding:.875rem 0;border-bottom:1px solid var(--color-gray-100)}.stats__row dt{font-size:.8125rem;font-weight:400;color:var(--color-gray-600)}.stats__row dd{font-size:.8125rem;font-weight:500;text-align:right}.stats__digitals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stats__digital-trigger{overflow:hidden;transition:opacity var(--transition-fast)}.stats__digital-trigger:hover{opacity:.85}.stats__digital-trigger img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.contact{padding:clamp(5rem,12vw,10rem) clamp(1.5rem,4vw,3rem);background:var(--color-black);color:var(--color-white)}.contact__inner{max-width:700px;margin:0 auto;text-align:center}.contact .section-label{color:var(--color-periwinkle)}.contact__intro{font-size:.9375rem;font-weight:300;color:#ffffffb3;margin:1.5rem 0 2.5rem;line-height:1.8}.contact__email{display:inline-block;font-family:var(--font-serif);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:400;margin-bottom:3rem;position:relative;transition:color var(--transition-fast)}.contact__email:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--color-periwinkle);transform:scaleX(0);transition:transform var(--transition-fast);transform-origin:right}.contact__email:hover{color:var(--color-periwinkle)}.contact__email:hover:after{transform:scaleX(1);transform-origin:left}.contact__social{display:flex;justify-content:center;gap:2.5rem}.social-link{font-size:.6875rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;opacity:.7;transition:opacity var(--transition-fast),color var(--transition-fast)}.social-link:hover{opacity:1;color:var(--color-periwinkle)}.footer{padding:2rem clamp(1.5rem,4vw,3rem);text-align:center;font-size:.6875rem;letter-spacing:.1em;color:var(--color-gray-400);background:var(--color-black);border-top:1px solid rgba(255,255,255,.08)}.footer p{color:#fff6}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000f2;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}.lightbox.open{opacity:1;visibility:visible}.lightbox__content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox__image{max-width:90vw;max-height:80vh;object-fit:contain;animation:lightboxIn .4s ease}.lightbox__caption{margin-top:1.5rem;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#fff9}.lightbox__close{position:absolute;top:1.5rem;right:1.5rem;font-size:2rem;color:var(--color-white);width:48px;height:48px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity var(--transition-fast)}.lightbox__close:hover{opacity:1}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--color-white);width:48px;height:48px;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity var(--transition-fast)}.lightbox__nav:hover{opacity:1}.lightbox__nav--prev{left:1rem}.lightbox__nav--next{right:1rem}@keyframes lightboxIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){.portfolio__item,.portfolio__item--wide{grid-column:span 6}.portfolio__item--tall{grid-row:span 1}.stats__grid{grid-template-columns:1fr 1fr}.stats__digitals{grid-column:span 2}}@media(max-width:768px){.header__nav{display:none}.header__menu-btn{display:flex}.portfolio__item,.portfolio__item--wide,.portfolio__item--tall{grid-column:span 12}.portfolio__item--wide .portfolio__trigger{aspect-ratio:3 / 4}.about__grid{grid-template-columns:1fr}.about__image-col{max-width:400px;margin:0 auto}.stats__grid{grid-template-columns:1fr}.stats__digitals{grid-column:span 1}.hero__scroll,.lightbox__nav{display:none}}@media(max-width:480px){.portfolio__filters{gap:.25rem 1.25rem}.contact__social{flex-direction:column;gap:1rem}.stats__digitals-grid{grid-template-columns:repeat(2,1fr)}}
