/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}:root{--bg-color: #0a0a0a;--bg-secondary: #111111;--bg-elevated: #1a1a1a;--text-color: #f5f5f0;--text-secondary: #8a8a85;--text-muted: #5a5a55;--accent-color: #d4a574;--accent-hover: #e6c9a8;--border-color: rgba(255, 255, 255, .08);--overlay-bg: rgba(10, 10, 10, .96);--header-height: 80px;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Syne", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-base: 16px;--line-height: 1.6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 32px;--spacing-xl: 64px;--spacing-2xl: 128px;--container-width: 1400px;--container-narrow: 900px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-medium: .4s cubic-bezier(.4, 0, .2, 1);--transition-slow: .8s cubic-bezier(.4, 0, .2, 1);--transition-dramatic: 1.2s cubic-bezier(.16, 1, .3, 1);--overlay-dark: rgba(10, 10, 10, .95);--overlay-medium: rgba(10, 10, 10, .7);--overlay-light: rgba(10, 10, 10, .4);--shadow-color: rgba(0, 0, 0, .3)}[data-theme=light]{--bg-color: #f6f2ea;--bg-secondary: #ede8df;--bg-elevated: #ffffff;--text-color: #1a1a1a;--text-secondary: #5a5a55;--text-muted: #8a8a85;--accent-color: #b8956c;--accent-hover: #a07a50;--border-color: rgba(0, 0, 0, .1);--overlay-bg: rgba(246, 242, 234, .96);--overlay-dark: rgba(246, 242, 234, .95);--overlay-medium: rgba(26, 26, 26, .5);--overlay-light: rgba(26, 26, 26, .3);--shadow-color: rgba(0, 0, 0, .15)}@media(max-width:768px){:root{--header-height: 60px;--spacing-lg: 24px;--spacing-xl: 48px;--spacing-2xl: 80px}}@media(max-width:480px){:root{--header-height: 56px;--spacing-lg: 20px;--spacing-xl: 40px;--spacing-2xl: 60px}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--bg-color);background-image:radial-gradient(circle at 80% 20%,rgba(212,165,114,.05) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(212,165,114,.02) 0%,transparent 40%);background-attachment:fixed;color:var(--text-color);font-size:var(--font-size-base);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;overscroll-behavior-x:none;touch-action:pan-y}[data-theme=light] body{background-image:radial-gradient(circle at 80% 20%,rgba(184,149,108,.06) 0%,transparent 60%),radial-gradient(circle at 20% 80%,rgba(184,149,108,.03) 0%,transparent 50%)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}@media(max-width:768px){body:before{display:none}}a,button{cursor:pointer}::selection{background-color:var(--accent-color);color:var(--bg-color)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;margin:0 0 1rem;letter-spacing:-.02em;line-height:1.1}a{color:inherit;text-decoration:none;transition:color var(--transition-fast),opacity var(--transition-fast)}a:hover{color:var(--accent-color)}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-lg)}.section-label{display:block;font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-color);margin-bottom:var(--spacing-md)}.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);background:var(--overlay-dark);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;display:flex;align-items:center;border-bottom:1px solid var(--border-color);transition:height var(--transition-medium),background-color var(--transition-medium),border-color var(--transition-medium),box-shadow var(--transition-medium)}.site-header.scrolled{height:60px;box-shadow:0 10px 30px -10px var(--shadow-color);border-color:#ffffff0d}[data-theme=light] .site-header.scrolled{border-color:#0000000d}.site-header nav{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;transition:transform var(--transition-medium)}.logo a{position:relative;padding:var(--spacing-sm) 0}.logo a:after{content:"";position:absolute;bottom:0;left:50%;width:100%;height:1px;background:var(--accent-color);transform:translate(-50%) scaleX(0);transition:transform var(--transition-medium)}.logo a:hover:after{transform:translate(-50%) scaleX(1)}.logo a:hover{color:var(--text-color)}.nav-controls{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-links{display:flex;list-style:none;gap:var(--spacing-xl);margin:0;padding:0}.nav-links a{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;font-weight:500;position:relative;padding:var(--spacing-sm) 0;color:var(--text-secondary);transition:color var(--transition-fast)}.nav-links a:after{content:"";position:absolute;bottom:0;left:50%;width:100%;height:1px;background-color:var(--accent-color);transform:translate(-50%) scaleX(0);transition:transform var(--transition-medium)}.nav-links a:hover,.nav-links a.active{color:var(--text-color)}.nav-links a:hover:after,.nav-links a.active:after{transform:translate(-50%) scaleX(1)}.nav-toggles{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-toggle,.lang-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border-color);border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-medium);position:relative;overflow:hidden}.theme-toggle:hover,.lang-toggle:hover{color:var(--text-color);border-color:var(--accent-color);background:var(--bg-secondary);transform:scale(1.05)}.theme-toggle svg{width:16px;height:16px;transition:transform var(--transition-medium),opacity var(--transition-medium);position:absolute}.theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle .icon-moon{opacity:0;transform:rotate(-90deg) scale(0)}.lang-toggle{font-family:var(--font-body);font-size:.65rem;font-weight:600;letter-spacing:.05em}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;background:none;border:none;cursor:pointer;z-index:102;position:relative;transition:transform var(--transition-fast)}.mobile-menu-toggle:active{transform:scale(.9)}.hamburger-line{display:block;width:20px;height:1.5px;background:var(--text-color);border-radius:1px;transition:transform var(--transition-medium),opacity var(--transition-medium),background-color var(--transition-medium)}.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-dropdown{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--overlay-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;visibility:hidden;transform:translateY(-20px);transition:opacity var(--transition-medium),transform var(--transition-medium),visibility var(--transition-medium);z-index:101;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-2xl) var(--spacing-lg) var(--spacing-xl)}.mobile-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.mobile-dropdown-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.mobile-dropdown-links li{border-bottom:none;overflow:hidden}.mobile-dropdown-links a{display:block;padding:var(--spacing-sm) var(--spacing-xl);font-family:var(--font-display);font-size:2.2rem;font-style:italic;letter-spacing:-.01em;color:var(--text-secondary);transition:color var(--transition-medium),transform var(--transition-medium),opacity var(--transition-medium);opacity:0;transform:translateY(30px)}.mobile-dropdown.active .mobile-dropdown-links a{opacity:1;transform:translateY(0)}.mobile-dropdown.active .mobile-dropdown-links li:nth-child(1) a{transition-delay:.1s}.mobile-dropdown.active .mobile-dropdown-links li:nth-child(2) a{transition-delay:.18s}.mobile-dropdown.active .mobile-dropdown-links li:nth-child(3) a{transition-delay:.26s}.mobile-dropdown-links a:hover,.mobile-dropdown-links a.active{color:var(--text-color)}.mobile-dropdown-links a.active{color:var(--accent-color)}.mobile-toggles{display:flex;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;border-top:1px solid var(--border-color);width:100%;max-width:200px;opacity:0;transform:translateY(20px);transition:opacity var(--transition-medium) .35s,transform var(--transition-medium) .35s}.mobile-dropdown.active .mobile-toggles{opacity:1;transform:translateY(0)}.mobile-toggles .theme-toggle,.mobile-toggles .lang-toggle{width:44px;height:44px;border-color:var(--border-color);background:var(--bg-secondary)}@media(max-width:768px){.nav-links,.nav-controls{display:none}.mobile-menu-toggle{display:flex}.site-header{padding:0 var(--spacing-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header.scrolled{height:56px}.logo{font-size:.8rem;letter-spacing:.3em}}@media(max-width:480px){.logo{font-size:.75rem;letter-spacing:.25em}.mobile-menu-toggle{width:40px;height:40px;padding:8px}}@media(min-width:769px){.mobile-dropdown{display:none!important}}@media(hover:none)and (pointer:coarse){.mobile-menu-toggle,.mobile-dropdown-links a{-webkit-tap-highlight-color:transparent}.mobile-dropdown-links a:active,.nav-link:active{color:var(--accent-color)}}.main-content{padding-top:var(--header-height);min-height:100vh}.view{opacity:0;transform:scale(.99) translateY(15px);filter:blur(10px);animation:viewFadeIn .7s cubic-bezier(.16,1,.3,1) forwards}.view.hidden{display:none!important;opacity:0;transform:scale(.99) translateY(15px);filter:blur(10px);animation:none;pointer-events:none}@keyframes viewFadeIn{to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}.site-footer{border-top:1px solid var(--border-color);padding:var(--spacing-xl) 0;background:var(--bg-secondary)}.footer-content{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.footer-brand{font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--text-secondary)}.footer-copy{font-size:.75rem;color:var(--text-muted);margin:0}.footer-location{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}@media(max-width:768px){.footer-content{flex-direction:column;text-align:center;padding:0 var(--spacing-md)}.site-footer{padding:var(--spacing-lg) 0}}@media(max-width:480px){.footer-brand{font-size:.7rem;letter-spacing:.2em}.footer-copy,.footer-location{font-size:.65rem}}#home-view{padding-top:0}.hero-container{width:100%;height:calc(100vh - var(--header-height));min-height:620px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden}@supports (height: 100svh){.hero-container{height:calc(100svh - var(--header-height))}}.hero-slideshow{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity 1.5s ease,transform 8s ease}.hero-slide picture,.hero-slide img{display:block;width:100%;height:100%}.hero-slide img{object-fit:cover;object-position:center}.hero-slide.active{opacity:1;transform:scale(1)}.hero-slide:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0a0a0ab3,#0a0a0a66,#0a0a0a99)}.hero-content{position:relative;z-index:10;padding:0 var(--spacing-xl);max-width:900px;margin-left:12%}@media(min-width:1025px){.hero-content:before{content:"PORTFOLIO // PORTO, PORTUGAL // 41.1579° N, 8.6291° W";position:absolute;left:-80px;top:50%;transform:translateY(-50%) rotate(-90deg) translate(-50%);transform-origin:left top;font-size:.55rem;font-family:var(--font-body);font-weight:500;letter-spacing:.35em;color:var(--text-muted);white-space:nowrap;opacity:.5}}.hero-eyebrow{font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.3em;color:var(--accent-color);margin-bottom:var(--spacing-lg);opacity:0;transform:translateY(15px);animation:slideUpFade 1.2s cubic-bezier(.16,1,.3,1) .15s forwards}.hero-title{font-family:var(--font-display);font-weight:300;font-size:clamp(3.5rem,10vw,8rem);line-height:.95;letter-spacing:-.03em;margin-bottom:var(--spacing-lg);color:#f5f5f0}.title-line{display:block;clip-path:polygon(0 0,100% 0,100% 0,0 0);transform:translateY(100%);animation:lineReveal 1.4s cubic-bezier(.16,1,.3,1) forwards}.title-line:nth-child(1){animation-delay:.4s}.title-line:nth-child(2){animation-delay:.65s}.title-accent{font-style:italic;color:var(--accent-color)}.hero-tagline{font-family:var(--font-body);font-size:1rem;color:#f5f5f0bf;letter-spacing:.05em;margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(15px);animation:slideUpFade 1.2s cubic-bezier(.16,1,.3,1) .85s forwards}.hero-cta-group{display:flex;gap:var(--spacing-lg);opacity:0;transform:translateY(15px);animation:slideUpFade 1.2s cubic-bezier(.16,1,.3,1) 1s forwards}.cta-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:16px 32px;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:500;transition:color var(--transition-medium),border-color var(--transition-medium),transform var(--transition-medium);position:relative;overflow:hidden;z-index:1}.cta-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-color);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-medium);z-index:-1}.cta-button:hover:before{transform:scaleX(1);transform-origin:left}.cta-button.primary{background:#f5f5f0;color:#0a0a0a;border:1px solid #f5f5f0}.cta-button.primary:hover{color:#0a0a0a;border-color:var(--accent-color)}.cta-button.secondary{background:transparent;color:#f5f5f0;border:1px solid rgba(255,255,255,.25)}.cta-button.secondary:hover{color:#0a0a0a;border-color:var(--accent-color)}.scroll-indicator{position:absolute;bottom:var(--spacing-xl);left:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);opacity:0;animation:fadeIn 1.2s ease 1.3s forwards}.scroll-indicator span{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:#f5f5f099;writing-mode:vertical-rl;text-orientation:mixed}.scroll-line{width:1px;height:60px;background:#ffffff26;position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:30px;background:var(--accent-color);animation:scrollFlow 2s cubic-bezier(.76,0,.24,1) infinite}@keyframes scrollFlow{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.hero-frame{position:absolute;top:var(--spacing-xl);right:var(--spacing-xl);width:120px;height:120px;border:1px solid rgba(255,255,255,.15);border-left:none;border-bottom:none;opacity:0;animation:fadeIn 1s ease 1.3s forwards}.hero-frame:before{content:"";position:absolute;bottom:calc(100% + var(--spacing-xl));right:0;width:1px;height:100vh;background:linear-gradient(to top,rgba(255,255,255,.15),transparent)}.featured-section{padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-secondary);position:relative;overflow:hidden}.featured-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1px;height:80px;background:var(--border-color)}.featured-header{text-align:center;margin-bottom:var(--spacing-xl)}.section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;letter-spacing:-.02em}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);max-width:var(--container-width);margin:0 auto;align-items:start;counter-reset:featured-counter}@media(min-width:769px){.featured-grid{padding-bottom:80px}.featured-grid .featured-item:nth-child(3n+1){margin-top:0}.featured-grid .featured-item:nth-child(3n+2){margin-top:60px}.featured-grid .featured-item:nth-child(3n+3){margin-top:-30px}}.featured-item{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-elevated);box-shadow:0 10px 40px -15px var(--shadow-color);transition:border-color var(--transition-medium),box-shadow var(--transition-medium);counter-increment:featured-counter}.featured-item:before{content:"0" counter(featured-counter);position:absolute;top:var(--spacing-md);left:var(--spacing-md);font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:#ede8df;z-index:5;pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.4);transition:color var(--transition-medium),transform var(--transition-medium)}.featured-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.featured-item:hover img{transform:scale(1.04)}.featured-item:hover{border-color:var(--accent-color);box-shadow:0 20px 50px -15px var(--shadow-color)}.featured-item:hover:before{color:var(--accent-color);transform:translateY(-2px)}.featured-item:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(212,165,116,.4);background:radial-gradient(circle,transparent 40%,rgba(10,10,10,.3) 100%);opacity:0;transform:scale(.98);transition:opacity var(--transition-medium),transform var(--transition-medium);z-index:4;pointer-events:none}.featured-item:hover:after{opacity:1;transform:scale(1)}@keyframes lineReveal{to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translateY(0)}}.featured-cta{text-align:center;margin-top:var(--spacing-xl)}.text-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary);transition:all var(--transition-medium)}.text-link:hover{color:var(--accent-color)}.text-link .arrow{transition:transform var(--transition-medium)}.text-link:hover .arrow{transform:translate(5px)}@media(max-width:1024px){.hero-content{margin-left:5%;padding:0 var(--spacing-lg)}.featured-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero-container{justify-content:center;align-items:center;min-height:560px}.hero-content{margin-left:0;padding:0 var(--spacing-lg);text-align:center;align-items:center;display:flex;flex-direction:column;max-width:100%}.hero-title{font-size:clamp(2.8rem,14vw,4.5rem);line-height:1;margin-bottom:var(--spacing-md)}.title-line{display:inline}.title-line:nth-child(1):after{content:" "}.hero-eyebrow{font-size:.6rem;letter-spacing:.2em;margin-bottom:var(--spacing-md)}.hero-tagline{font-size:.85rem;margin-bottom:var(--spacing-lg);max-width:300px}.hero-cta-group{flex-direction:column;width:100%;max-width:260px;gap:var(--spacing-sm)}.cta-button{justify-content:center;width:100%;padding:16px 28px;-webkit-tap-highlight-color:transparent}.cta-button:active{transform:scale(.98)}.scroll-indicator{left:50%;transform:translate(-50%);bottom:var(--spacing-lg)}.scroll-line{height:40px}.hero-frame{display:none}.featured-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.featured-item{aspect-ratio:1/1.2}.featured-section{padding:var(--spacing-xl) var(--spacing-md)}.featured-section:before{height:50px}.section-title{font-size:1.8rem}.featured-cta{margin-top:var(--spacing-lg)}}@media(max-width:480px){.hero-container{min-height:520px}.hero-content{padding:0 var(--spacing-sm)}.hero-title{font-size:2.4rem;letter-spacing:-.02em}.hero-eyebrow{font-size:.55rem;letter-spacing:.15em}.hero-tagline{font-size:.8rem;max-width:260px}.hero-cta-group{max-width:100%;padding:0 var(--spacing-md);gap:var(--spacing-xs)}.cta-button{padding:14px 20px;font-size:.65rem}.scroll-indicator{bottom:var(--spacing-md)}.scroll-indicator span{font-size:.55rem}.scroll-line{height:30px}.featured-grid{gap:var(--spacing-xs)}.featured-section{padding:var(--spacing-lg) var(--spacing-sm)}}@media(hover:none)and (pointer:coarse){.cta-button{-webkit-tap-highlight-color:transparent}.cta-button.primary:active{background:var(--accent-color);border-color:var(--accent-color)}.cta-button.secondary:active{border-color:var(--accent-color);color:var(--accent-color)}.featured-item:active img{transform:scale(1.02)}.text-link:active{color:var(--accent-color)}.text-link:active .arrow{transform:translate(5px)}}#gallery-view{padding:var(--spacing-xl) 0 var(--spacing-2xl);min-height:100vh;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.gallery-header{text-align:center;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-2xl);max-width:var(--container-narrow);margin:0 auto;position:relative;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-2xl)}.gallery-header:after{content:"";position:absolute;bottom:-1.5px;left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--accent-color)}@media(max-width:600px){.gallery-header{margin-bottom:var(--spacing-xl)}}.gallery-title{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:300;font-style:italic;letter-spacing:-.02em;margin-bottom:var(--spacing-md);opacity:0;transform:translateY(30px);animation:slideUpFade .8s cubic-bezier(.16,1,.3,1) .1s forwards;will-change:transform,opacity}.gallery-title.collection-title{font-size:clamp(2rem,6vw,3.5rem)}.gallery-subtitle{font-size:clamp(.875rem,2.5vw,1rem);color:var(--text-secondary);margin-bottom:var(--spacing-lg);opacity:0;animation:fadeIn .8s ease .3s forwards;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.7}.gallery-count{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-color);opacity:0;animation:fadeIn .8s ease .5s forwards}.gallery-count .separator{margin:0 .5em;opacity:.5}.back-to-collections{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:#ffffff08;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:24px;color:var(--text-secondary);font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;padding:10px 20px;margin-bottom:var(--spacing-lg);transition:color var(--transition-medium),border-color var(--transition-medium),background-color var(--transition-medium),transform var(--transition-medium),box-shadow var(--transition-medium);opacity:0;animation:fadeIn .6s ease forwards}.back-to-collections:hover{color:var(--text-color);border-color:var(--accent-color);background:#ffffff14;box-shadow:0 0 15px #d4a57426;transform:translate(-4px)}.back-to-collections svg{width:16px;height:16px;transition:transform var(--transition-fast)}.back-to-collections:hover svg{transform:translate(-4px)}.collections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,24px);padding:0 var(--spacing-lg);max-width:1600px;margin:0 auto}.collection-card{position:relative;aspect-ratio:4 / 5;min-height:380px;overflow:hidden;cursor:pointer;opacity:0;transform:translateY(20px) translateZ(0);animation:cardReveal .5s ease-out forwards;background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:0 10px 40px -15px var(--shadow-color);transition:border-color var(--transition-medium),box-shadow var(--transition-medium);will-change:opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout paint style}.collection-card:hover{border-color:var(--accent-color);box-shadow:0 20px 50px -15px var(--shadow-color)}@keyframes cardReveal{0%{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%);transform:translateY(20px) scale(.97)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translateY(0) scale(1)}}.collection-card-image{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;contain:strict}.collection-card-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.16,1,.3,1);transform:translateZ(0) scale(1)}.collection-card:hover .collection-card-image img{transform:translateZ(0) scale(1.05)}.collection-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0a0ae6,#d4a57414,#0a0a0a1a);transition:background var(--transition-medium),opacity var(--transition-medium);will-change:opacity}[data-theme=light] .collection-card-overlay{background:linear-gradient(to top,#000000d9,#b8956c1a,#00000026)}.collection-card:hover .collection-card-overlay{background:linear-gradient(to top,#0a0a0af2,#0a0a0a1a 60%,#0a0a0a00);opacity:.95}.collection-card-content{position:absolute;bottom:0;left:0;right:0;padding:clamp(20px,4vw,40px);z-index:2;color:#f5f5f0;text-shadow:0 1px 3px rgba(0,0,0,.5)}.collection-card-count{display:block;font-family:var(--font-body);font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:#fffc;margin-bottom:var(--spacing-xs);text-shadow:0 1px 2px rgba(0,0,0,.6)}.collection-card-count:before{content:"―  ";color:var(--accent-color)}.collection-card-title{font-family:var(--font-display);font-size:clamp(1.4rem,3.5vw,2.2rem);font-weight:300;font-style:italic;letter-spacing:-.02em;margin:0 0 var(--spacing-sm) 0;line-height:1.15;transform:translateY(0);transition:transform .4s cubic-bezier(.16,1,.3,1)}.collection-card:hover .collection-card-title{transform:translateY(-2px)}.collection-card-description{font-size:.8rem;color:#ffffffa6;line-height:1.5;margin:0 0 var(--spacing-sm) 0;max-width:95%;opacity:0;transform:translateY(8px);transition:all .4s cubic-bezier(.16,1,.3,1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-card:hover .collection-card-description{opacity:1;transform:translateY(0)}.collection-card-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-color);opacity:0;transform:translateY(8px);transition:all .4s cubic-bezier(.16,1,.3,1);transition-delay:.05s}.collection-card:hover .collection-card-cta{opacity:1;transform:translateY(0)}.collection-card-cta svg{width:14px;height:14px;transition:transform .3s ease}.collection-card:hover .collection-card-cta svg{transform:translate(3px)}@media(min-width:1200px){.collections-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(280px,auto);gap:clamp(16px,1.5vw,24px);max-width:1800px}.collection-card{grid-column:span 4;grid-row:span 1;aspect-ratio:4 / 5;min-height:360px}.collections-grid .collection-card:first-child{grid-column:span 8;grid-row:span 2;aspect-ratio:auto;min-height:600px}.collections-grid .collection-card:nth-child(2){grid-column:span 4;grid-row:span 1;min-height:288px}.collections-grid .collection-card:nth-child(3){grid-column:span 4;grid-row:span 1;min-height:288px}.collections-grid .collection-card:first-child .collection-card-title{font-size:clamp(2rem,3.5vw,3rem)}.collections-grid .collection-card:first-child .collection-card-description{font-size:.9rem;max-width:60%;-webkit-line-clamp:3}.collections-grid .collection-card:first-child .collection-card-content{padding:clamp(32px,4vw,56px)}}@media(min-width:900px)and (max-width:1199px){.collections-grid{grid-template-columns:repeat(2,1fr);gap:20px}.collection-card{aspect-ratio:4 / 5;min-height:380px}.collections-grid .collection-card:first-child{grid-column:span 2;aspect-ratio:16 / 9;min-height:450px}}@media(min-width:600px)and (max-width:899px){.collections-grid{grid-template-columns:repeat(2,1fr);gap:16px;padding:0 var(--spacing-md)}.collection-card{aspect-ratio:4 / 5;min-height:320px}.collection-card-content{padding:var(--spacing-lg)}.collection-card-title{font-size:1.3rem}}@media(max-width:768px){.collections-grid{grid-template-columns:1fr;gap:16px;padding:0 var(--spacing-md)}.collection-card{aspect-ratio:16 / 10;min-height:280px}.collection-card-content{padding:var(--spacing-lg)}.collection-card-overlay{background:linear-gradient(to top,#0a0a0ae6,#0a0a0a80 60%,#0a0a0a26)}.collection-card-description{display:-webkit-box;opacity:1;transform:translateY(0);font-size:.75rem;line-height:1.5;max-width:100%;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--spacing-sm)}.collection-card-cta{opacity:1;transform:translateY(0)}.back-to-collections{font-size:.7rem;padding:var(--spacing-xs) 0}.back-to-collections svg{width:16px;height:16px}.gallery-title.collection-title{font-size:clamp(1.5rem,5vw,2.5rem)}}@media(max-width:480px){.collection-card{aspect-ratio:3 / 2;min-height:220px}.collection-card-content{padding:var(--spacing-md)}.collection-card-title{font-size:1.15rem;margin-bottom:var(--spacing-xs)}.collection-card-count{font-size:.55rem}.collection-card-description{font-size:.7rem;-webkit-line-clamp:2;margin-bottom:6px}.collection-card-cta{font-size:.6rem}.back-to-collections{font-size:.65rem;letter-spacing:.1em;margin-bottom:var(--spacing-md)}.back-to-collections svg{width:14px;height:14px}.gallery-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-xl)}.gallery-title{font-size:clamp(1.75rem,10vw,2.5rem)}.gallery-title.collection-title{font-size:clamp(1.25rem,6vw,1.75rem)}.gallery-count{font-size:.6rem;letter-spacing:.15em}}.masonry-grid{column-count:3;column-gap:clamp(12px,1.5vw,20px);padding:0 var(--spacing-lg);max-width:1600px;margin:0 auto;contain:layout style}.masonry-item{position:relative;overflow:hidden;border-radius:0;opacity:0;transform:translateY(10px) translateZ(0);transition:opacity .4s ease-out,transform .4s ease-out;-webkit-user-select:none;user-select:none;cursor:zoom-in;background:var(--bg-elevated);break-inside:avoid;margin-bottom:clamp(12px,1.5vw,20px);aspect-ratio:3 / 4;will-change:opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout paint style}.masonry-item.visible{opacity:1;transform:translateY(0) translateZ(0);aspect-ratio:auto;will-change:auto}.image-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-elevated) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;z-index:1;transition:opacity .4s ease}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.masonry-item.visible .image-placeholder{opacity:0;pointer-events:none}.loading-spinner{display:none}@keyframes spin{to{transform:rotate(360deg)}}.masonry-item img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1);transform:translateZ(0) scale(1)}@media(hover:hover)and (pointer:fine){.masonry-item:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(212,165,116,.4);background:linear-gradient(to top,rgba(10,10,10,.5) 0%,transparent 60%);opacity:0;transform:scale(.98);transition:opacity var(--transition-medium),transform var(--transition-medium);z-index:2;pointer-events:none}.masonry-item:after{content:attr(data-view-text);position:absolute;bottom:var(--spacing-lg);left:var(--spacing-lg);font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:#f5f5f0;opacity:0;transform:translateY(8px);transition:all .3s cubic-bezier(.16,1,.3,1);z-index:3}.masonry-item:hover:before{opacity:1;transform:scale(1)}.masonry-item:hover:after{opacity:1;transform:translateY(0)}.masonry-item:hover img{transform:translateZ(0) scale(1.02)}.masonry-item:hover{box-shadow:0 20px 50px -10px #00000059;z-index:1}}@media(hover:none){.masonry-item{transform:translateZ(0);transition:transform .15s ease,opacity .15s ease}.masonry-item:active{transform:translateZ(0) scale(.98)}.masonry-item.visible{transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}}@media(max-width:1200px){.masonry-grid{column-count:2;column-gap:12px}.masonry-item{margin-bottom:12px}}@media(max-width:600px){#gallery-view{padding:var(--spacing-lg) 0 var(--spacing-xl)}.masonry-grid{column-count:2;column-gap:10px;padding:0 10px}.masonry-item{margin-bottom:10px;min-height:80px}.gallery-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-xl)}.gallery-subtitle{font-size:.8rem;line-height:1.5}}@media(max-width:380px){.masonry-grid{column-count:2;column-gap:8px;padding:0 8px}.masonry-item{margin-bottom:8px;min-height:60px}}@keyframes fadeIn{to{opacity:1}}#contact-view{min-height:calc(100vh - var(--header-height));padding:0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--header-height));background-color:var(--bg-color)}@media(min-width:1025px){.contact-layout{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);max-width:1600px;margin:0 auto;position:relative}.contact-layout:after{content:"";position:absolute;top:20px;right:20px;bottom:20px;left:20px;border:1px dashed rgba(212,165,116,.15);pointer-events:none;z-index:10}.contact-hero{border-right:1px solid var(--border-color);position:relative}}.contact-hero{position:relative;overflow:hidden}.contact-image{position:absolute;top:0;right:0;bottom:0;left:0}.contact-image.contact-slideshow{background:none}.contact-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.5s ease-in-out,transform 10s ease}.contact-slide picture,.contact-slide img{display:block;width:100%;height:100%}.contact-slide img{object-fit:cover;object-position:center}.contact-slide.active{opacity:1}.contact-hero:hover .contact-slide.active{transform:scale(1.05)}.contact-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,transparent 70%,var(--bg-color) 100%)}.contact-content{display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-color)}.contact-header{margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(30px);animation:slideUpFade 1s ease .2s forwards}.contact-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);font-weight:300;line-height:1;letter-spacing:-.02em}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(20px);animation:slideUpFade 1s ease .4s forwards}.info-block{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);transition:border-color var(--transition-medium)}.info-block:hover{border-color:var(--accent-color)}.info-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.25em;color:var(--accent-color)}.info-value{font-family:var(--font-display);font-size:1.6rem;font-style:italic;color:var(--text-color);line-height:1.2}.contact-cta{margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(20px);animation:slideUpFade 1s ease .6s forwards}.email-link{display:inline-flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:var(--bg-elevated);border:1px solid var(--border-color);transition:all var(--transition-medium);position:relative;overflow:hidden}.email-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-color);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-medium);z-index:0}.email-link:hover:before{transform:scaleX(1)}.email-text{font-family:var(--font-display);font-size:1.2rem;position:relative;z-index:1;transition:color var(--transition-medium)}.email-arrow{font-size:1.5rem;transition:transform var(--transition-medium),color var(--transition-medium);position:relative;z-index:1}.email-link:hover{border-color:var(--accent-color);color:var(--bg-color)}.email-link:hover .email-arrow{transform:translate(5px,-5px)}.social-section{opacity:0;transform:translateY(20px);animation:slideUpFade 1s ease .8s forwards}.social-links{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.social-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color);position:relative;transition:padding var(--transition-medium),border-color var(--transition-medium),color var(--transition-medium)}.social-link:after{content:"•";position:absolute;right:-10px;color:var(--accent-color);font-size:.8rem;opacity:0;transform:scale(0);transition:opacity var(--transition-medium),transform var(--transition-medium),right var(--transition-medium)}.social-link:hover{padding-left:var(--spacing-lg);border-color:var(--accent-color);color:var(--accent-color)}.social-link:hover:after{opacity:1;transform:scale(1);right:10px}.social-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color var(--transition-fast),transform var(--transition-medium)}.social-icon svg{width:20px;height:20px}.social-link:hover .social-icon{color:var(--accent-color);transform:scale(1.1) rotate(-8deg)}.social-name{font-size:.9rem;color:var(--text-color);flex-grow:1;transition:color var(--transition-medium)}.social-link:hover .social-name{color:var(--text-color)}.social-handle{font-size:.75rem;color:var(--text-muted);font-family:var(--font-body);transition:color var(--transition-medium),transform var(--transition-medium)}.social-link:hover .social-handle{color:var(--accent-color);transform:translate(-4px)}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.contact-layout{grid-template-columns:1fr}.contact-hero{height:40vh;min-height:300px}.contact-hero:after{background:linear-gradient(to bottom,transparent 50%,var(--bg-color) 100%)}.contact-content{padding:var(--spacing-xl) var(--spacing-lg)}}@media(max-width:768px){.contact-hero{height:35vh;min-height:250px}.contact-title{font-size:2.5rem}.info-value{font-size:1.1rem}.social-link{padding:var(--spacing-sm) 0}}@media(max-width:600px){.contact-content{padding:var(--spacing-lg) var(--spacing-md)}.email-link{padding:var(--spacing-md);width:100%;justify-content:space-between}.email-text{font-size:1rem}.contact-header{margin-bottom:var(--spacing-lg)}.info-block{padding-bottom:var(--spacing-md)}.info-label{font-size:.6rem}.info-value{font-size:1rem}}@media(max-width:380px){.contact-hero{height:30vh;min-height:200px}.contact-title{font-size:2rem}.contact-content{padding:var(--spacing-md) var(--spacing-sm)}}@media(hover:none)and (pointer:coarse){.email-link{-webkit-tap-highlight-color:transparent}.email-link:active:before{transform:scaleX(1)}.email-link:active{border-color:var(--accent-color);color:var(--bg-color)}.social-link{-webkit-tap-highlight-color:transparent;padding:var(--spacing-md) 0}.social-link:active{padding-left:var(--spacing-md);border-color:var(--accent-color)}.social-link:active .social-icon,.social-link:active .social-handle{color:var(--accent-color)}}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-medium)}.lightbox.active{opacity:1;pointer-events:auto}.lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0a0af2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.lightbox-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.lightbox-content{position:relative;z-index:2;max-width:90%;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;box-shadow:0 30px 100px #000000b3;transform:scale(.97) translateY(10px);opacity:0;transition:transform var(--transition-medium),opacity var(--transition-medium);border:1px solid rgba(255,255,255,.05)}.lightbox.active .lightbox-content img{transform:scale(1) translateY(0);opacity:1}.lightbox-info{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:800px;margin-top:var(--spacing-lg);padding:0 var(--spacing-md);color:#f5f5f0}.lightbox-caption{font-family:var(--font-display);font-size:1.1rem;font-style:italic;color:#ede8df;letter-spacing:.01em}.lightbox-counter{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#8a8a85;font-family:var(--font-body)}.lightbox button{position:absolute;z-index:3;background:none;border:none;cursor:pointer;padding:var(--spacing-lg);color:#f5f5f0;opacity:.6;transition:all var(--transition-medium)}.lightbox button:hover{opacity:1}.lightbox-close{top:var(--spacing-lg);right:var(--spacing-lg);width:44px;height:44px;border:1px solid rgba(255,255,255,.15)!important;border-radius:50%;background:#ffffff08!important;display:flex;align-items:center;justify-content:center}.lightbox-close:before,.lightbox-close:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:1px;background-color:currentColor;transition:background-color var(--transition-fast),transform var(--transition-medium)}.lightbox-close:before{transform:translate(-50%,-50%) rotate(45deg)}.lightbox-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.lightbox-close:hover{transform:rotate(90deg) scale(1.05)!important;border-color:var(--accent-color)!important;background:#ffffff14!important;color:var(--accent-color)}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.15)!important;border-radius:50%;background:#ffffff08!important;display:flex;align-items:center;justify-content:center}.lightbox-prev{left:var(--spacing-xl)}.lightbox-next{right:var(--spacing-xl)}.lightbox-prev:before,.lightbox-next:before{content:"";display:block;width:10px;height:10px;border-top:1px solid currentColor;border-right:1px solid currentColor;transition:border-color var(--transition-fast),transform var(--transition-medium)}.lightbox-prev:before{transform:rotate(-135deg) translate(-1px,-1px)}.lightbox-next:before{transform:rotate(45deg) translate(-1px,-1px)}.lightbox-prev:hover,.lightbox-next:hover{border-color:var(--accent-color)!important;background:#ffffff14!important;color:var(--accent-color)!important}.lightbox-prev:hover{transform:translateY(-50%) translate(-4px) scale(1.05)!important}.lightbox-next:hover{transform:translateY(-50%) translate(4px) scale(1.05)!important}@media(max-width:768px){.lightbox-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lightbox-prev,.lightbox-next{display:none}.lightbox-content img{max-height:70vh;max-width:95%}.lightbox-info{flex-direction:column;gap:var(--spacing-sm);text-align:center;padding:0 var(--spacing-sm)}.lightbox-close{top:var(--spacing-md);right:var(--spacing-md);width:56px;height:56px;opacity:.8}.lightbox-close:before,.lightbox-close:after{width:28px}.lightbox-content{max-width:100%;padding:0 var(--spacing-sm)}.lightbox-counter{font-size:.65rem}}@media(max-width:480px){.lightbox-content img{max-height:65vh}.lightbox-close{top:var(--spacing-sm);right:var(--spacing-sm)}.lightbox-info{margin-top:var(--spacing-md)}.lightbox-caption{font-size:.9rem}}.lightbox-swipe-hint{display:none}@media(max-width:768px){.lightbox-swipe-hint{display:block;position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);opacity:0;animation:fadeInOut 3s ease 1s forwards}}@keyframes fadeInOut{0%{opacity:0}20%{opacity:.6}80%{opacity:.6}to{opacity:0}}@media(hover:none)and (pointer:coarse){.lightbox-close{-webkit-tap-highlight-color:transparent}.lightbox-close:active{opacity:1;transform:scale(.95)}.lightbox-close:active:before,.lightbox-close:active:after{background-color:var(--accent-color)}}.lightbox button:focus{outline:1px solid var(--accent-color);outline-offset:4px}
