/* Melega Máté — v6 */
:root{--bg:#f4f1eb;--paper:#fbf9f5;--text:#171715;--muted:#716d65;--line:rgba(23,23,21,.18);--max:1500px;--pad:clamp(20px,4vw,68px);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.45;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto;background:#dedad2}button{font:inherit;color:inherit}.container{width:min(100%,var(--max));margin:auto;padding-inline:var(--pad)}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600}.display{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.9;margin:0;font-size:clamp(58px,9vw,138px)}.section-title{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:.96;margin:8px 0 0;font-size:clamp(44px,5.4vw,78px)}.text-link{display:inline-flex;gap:8px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid currentColor;padding-bottom:5px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;display:flex;align-items:center;color:#fff;transition:.3s}.site-header.scrolled,.inner-page .site-header{background:rgba(251,249,245,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text);border-bottom:1px solid rgba(23,23,21,.12)}.site-header.compact{height:60px;box-shadow:0 8px 30px rgba(23,23,21,.035)}.header-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:11px;font-weight:400;letter-spacing:-.08em}.nav{display:flex;gap:28px;align-items:center;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.nav a{position:relative}.nav a:after{content:'';position:absolute;height:1px;background:currentColor;left:0;right:100%;bottom:-6px;transition:right .25s}.nav a:hover:after{right:0}.menu-btn{display:none;background:none;border:0;padding:8px 0;letter-spacing:.14em;text-transform:uppercase;font-size:10px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#18302e;color:white}.hero-image{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:center;transform:translate3d(0,var(--hero-shift,0px),0) scale(1.03)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.02) 35%,rgba(0,0,0,.64))}.hero-content{position:relative;z-index:2;width:100%;padding-bottom:clamp(32px,5.5vh,64px)}.hero-kicker,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:9px;text-transform:uppercase;letter-spacing:.21em}.hero-kicker{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.42);margin-bottom:20px}.hero-title{font-family:var(--serif);font-weight:400;line-height:.82;letter-spacing:-.062em;margin:0;font-size:clamp(76px,13.5vw,200px);white-space:nowrap}.hero-bottom{margin-top:22px}.hero-bottom p{margin:0}
.intro{padding:clamp(72px,8vw,120px) 0 clamp(64px,7.5vw,110px)}.intro-grid,.closing-grid{display:grid;grid-template-columns:minmax(180px,.72fr) 2fr;gap:8vw;align-items:start}.intro-side{font-size:12px;color:var(--muted);max-width:230px;margin:18px 0 0}.intro-copy{font-family:var(--serif);font-size:clamp(34px,4vw,60px);letter-spacing:-.038em;line-height:1.04;margin:0;max-width:1060px}.works{padding-bottom:clamp(72px,8vw,120px)}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:clamp(32px,3.5vw,52px);gap:34px}
/* selected featured images — deliberately structured, no accidental gaps */
.featured-composition{display:flex;flex-direction:column;gap:clamp(22px,2.4vw,38px)}.featured-row{display:grid;gap:clamp(18px,2vw,30px);align-items:stretch;min-height:clamp(390px,38vw,610px)}.featured-row-1{grid-template-columns:38fr 62fr}.featured-row-2{grid-template-columns:43fr 57fr}.featured-row-3{grid-template-columns:59fr 41fr}.featured-card{position:relative;overflow:hidden;min-width:0;background:#ddd}.featured-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.featured-card:hover img{transform:scale(1.015)}.featured-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.55))}.featured-card span,.featured-card strong{position:absolute;z-index:2;color:#fff;bottom:18px}.featured-card span{left:20px;font-family:var(--serif);font-size:clamp(28px,3vw,46px);letter-spacing:-.04em}.featured-card strong{right:20px;font-weight:400;font-size:20px}
.categories,.film-section{background:var(--paper);padding:clamp(72px,8vw,120px) 0}.section-note{font-size:12px;color:var(--muted);max-width:260px;margin:0 0 4px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.7vw,26px)}.category-card{position:relative;min-height:clamp(330px,42vw,620px);overflow:hidden;background:#d7d1c7;color:white}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.category-card:hover img{transform:scale(1.025)}.category-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.06) 48%,rgba(0,0,0,.62))}.category-index,.category-arrow{position:absolute;top:22px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;z-index:2}.category-index{left:22px}.category-arrow{right:22px;font-size:16px}.category-card-name{position:absolute;left:22px;right:22px;bottom:18px;z-index:2;font-family:var(--serif);font-size:clamp(44px,5vw,74px);letter-spacing:-.045em;line-height:.9}.secondary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px);margin-top:clamp(14px,2vw,24px)}.mini-card{display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:16px;background:rgba(255,255,255,.46);border:1px solid var(--line);padding:10px 14px;min-height:92px}.mini-card img{width:84px;height:64px;object-fit:cover}.mini-card span{font-family:var(--serif);font-size:26px;letter-spacing:-.03em}.mini-card strong{font-size:18px;font-weight:400}.mini-film-stack{width:84px;height:64px;background:linear-gradient(135deg,#1b1b1a,#49453e);display:grid;place-items:center;color:#fff}.category-cta{display:flex;justify-content:flex-end;padding-top:30px}.video-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.video-card{display:block;position:relative;border:0;padding:0;width:100%;background:#111;cursor:pointer;color:#fff;text-align:left;overflow:hidden}.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .65s}.video-card:hover img{transform:scale(1.015)}.video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.1) 48%,rgba(0,0,0,.72))}.video-play{position:absolute;left:18px;top:18px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(251,249,245,.92);color:var(--text)}.video-meta{position:absolute;left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between;gap:12px;align-items:end;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.video-meta span:first-child{font-family:var(--serif);font-size:clamp(22px,2vw,32px);letter-spacing:-.03em;text-transform:none;line-height:1.02}
.about{padding:clamp(72px,8vw,120px) 0}.about-head{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:clamp(32px,3.5vw,52px)}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(54px,8vw,120px);align-items:center}.about-image{margin:0;overflow:hidden;aspect-ratio:3/2}.about-image img{width:100%;height:100%;object-fit:cover}.about-lead{font-family:var(--serif);font-size:clamp(48px,6vw,88px);letter-spacing:-.05em;line-height:.92;margin:0 0 30px}.about-copy{font-family:var(--serif);font-size:clamp(24px,2.5vw,38px);line-height:1.1;letter-spacing:-.028em;margin:0}.closing{background:var(--paper);padding:clamp(62px,7vw,100px) 0}.closing-copy{font-family:var(--serif);font-size:clamp(42px,5.4vw,82px);line-height:.98;letter-spacing:-.045em;margin:0}.contact{padding:clamp(64px,7.5vw,110px) 0 38px;border-top:1px solid var(--line)}.contact-title{font-family:var(--serif);font-weight:400;font-size:clamp(66px,10vw,154px);letter-spacing:-.058em;line-height:.86;margin:18px 0 42px}.email-hero{display:block;font-family:var(--serif);font-size:clamp(28px,4.4vw,66px);letter-spacing:-.038em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.social-row{display:flex;justify-content:space-between;gap:30px;padding:25px 0 60px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.social-links{display:flex;gap:28px;color:var(--text)}.footer{padding:24px 0 10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.14em;align-items:center}.footer-brand{display:inline-flex;align-items:center;gap:8px}.footer-mark{font-family:var(--serif);color:var(--text);font-size:12px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
/* portfolio */
.inner-page{background:var(--paper)}.page-hero{padding:145px 0 34px}.portfolio-intro{font-family:var(--serif);font-size:clamp(18px,2vw,28px);letter-spacing:-.02em;color:var(--muted);margin:26px 0 0;max-width:760px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:34px 0 18px}.filter-btn{background:transparent;border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;cursor:pointer}.filter-btn.active{background:var(--text);color:var(--paper);border-color:var(--text)}.portfolio-gallery-section{padding:12px 0 90px}.gallery-container{max-width:1450px}.gallery{position:relative;transition:opacity .18s}.gallery.is-changing{opacity:.45}.gallery-item{margin:0;cursor:zoom-in;position:relative}.gallery-item.hidden{display:none!important}.gallery-image-wrap{position:relative;overflow:hidden;background:#ddd}.gallery-item img{width:100%;height:auto;transition:transform .6s}.gallery-item:hover img{transform:scale(1.01)}.gallery-hover-caption{position:absolute;left:12px;bottom:10px;background:rgba(251,249,245,.9);padding:6px 8px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;opacity:0;transition:.2s}.gallery-item:hover .gallery-hover-caption{opacity:1}
/* overview = smaller images, more visible at once */
.gallery[data-layout=all]{columns:4;column-gap:16px}.gallery[data-layout=all] .gallery-item{break-inside:avoid;margin:0 0 16px;width:100%;display:inline-block}
/* category views = deliberate, compact masonry; no accidental empty gaps */
.gallery[data-layout=portrait],.gallery[data-layout=wedding],.gallery[data-layout=drone],.gallery[data-layout=travel],.gallery[data-layout=event],.gallery[data-layout=series]{display:block;column-gap:18px;margin-inline:auto}
.gallery[data-layout=portrait],.gallery[data-layout=wedding]{columns:3;max-width:1280px}
.gallery[data-layout=drone],.gallery[data-layout=travel]{columns:3;max-width:1380px}
.gallery[data-layout=event],.gallery[data-layout=series]{columns:4;max-width:1400px}
.gallery[data-layout=portrait] .gallery-item,.gallery[data-layout=wedding] .gallery-item,.gallery[data-layout=drone] .gallery-item,.gallery[data-layout=travel] .gallery-item,.gallery[data-layout=event] .gallery-item,.gallery[data-layout=series] .gallery-item{break-inside:avoid;margin:0 0 18px;width:100%;display:inline-block}
/* Film is intentionally uniform */
.gallery[data-layout=film]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1240px;margin-inline:auto}.gallery[data-layout=film] .gallery-video-item{display:block!important;margin:0!important;width:auto!important}.gallery[data-layout=film] .video-card img{aspect-ratio:16/9;object-fit:cover}.gallery-video-item{cursor:pointer}
.lightbox{position:fixed;z-index:100;inset:0;background:rgba(12,12,11,.97);display:none;align-items:center;justify-content:center;padding:44px 70px 58px}.lightbox.open{display:flex}.lightbox img{max-width:min(90vw,1700px);max-height:84vh;width:auto;height:auto;object-fit:contain;background:transparent}.lightbox-close{position:absolute;right:24px;top:18px;background:none;border:0;color:white;font-size:30px;cursor:pointer;z-index:2}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:white;font-size:26px;cursor:pointer;padding:18px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-meta{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;color:#b9b6af;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.lightbox-video-wrap{display:none;width:min(90vw,1200px);aspect-ratio:16/9}.lightbox-video-wrap iframe{width:100%;height:100%;border:0}.lightbox.open.video-mode img,.lightbox.open.video-mode .lightbox-nav{display:none}.lightbox.open.video-mode .lightbox-video-wrap{display:block}
@media(max-width:1100px){.gallery[data-layout=all]{columns:3}.gallery[data-layout=portrait],.gallery[data-layout=wedding],.gallery[data-layout=drone],.gallery[data-layout=travel]{columns:3}.gallery[data-layout=event],.gallery[data-layout=series]{columns:3}.gallery[data-layout=film]{grid-template-columns:repeat(2,minmax(0,1fr))}.secondary-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr 1fr;gap:5vw}}
@media(max-width:900px){.site-header{height:68px}.site-header.compact{height:58px}.nav{position:fixed;inset:58px 0 auto;background:var(--paper);color:var(--text);display:none;flex-direction:column;align-items:flex-start;padding:30px var(--pad) 36px;border-bottom:1px solid var(--line);gap:24px}.nav.open{display:flex}.menu-btn{display:block}.featured-row{min-height:420px}.gallery[data-layout=all]{columns:2}.gallery[data-layout=portrait],.gallery[data-layout=wedding],.gallery[data-layout=drone],.gallery[data-layout=travel],.gallery[data-layout=event],.gallery[data-layout=series]{columns:2}.gallery[data-layout=film]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){:root{--pad:20px}.brand-name{display:none}.hero{min-height:90svh}.hero-title{font-size:clamp(70px,21vw,108px);white-space:normal}.hero-kicker span:last-child{display:none}.intro{padding:62px 0 68px}.intro-grid,.closing-grid{grid-template-columns:1fr;gap:36px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:30px;gap:16px}.featured-row{display:flex;flex-direction:column;min-height:0}.featured-card{aspect-ratio:4/3}.featured-row .featured-card:first-child{width:88%}.featured-row .featured-card:last-child{width:88%;align-self:flex-end}.category-grid{grid-template-columns:1fr}.category-card{min-height:118vw}.video-feature-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:34px}.about-image{aspect-ratio:3/2}.social-row,.footer{flex-direction:column;align-items:flex-start}.gallery[data-layout=all]{columns:1}.gallery[data-layout=portrait],.gallery[data-layout=wedding],.gallery[data-layout=drone],.gallery[data-layout=travel],.gallery[data-layout=event],.gallery[data-layout=series]{columns:1}.gallery[data-layout=portrait] .gallery-item,.gallery[data-layout=wedding] .gallery-item,.gallery[data-layout=drone] .gallery-item,.gallery[data-layout=travel] .gallery-item,.gallery[data-layout=event] .gallery-item,.gallery[data-layout=series] .gallery-item{margin:0 0 16px!important}.gallery[data-layout=film]{display:grid;grid-template-columns:1fr;gap:16px}.gallery-hover-caption{opacity:1}.lightbox{padding:52px 14px 66px}.lightbox img{max-width:100%;max-height:78vh}.lightbox-nav{top:auto;bottom:13px;transform:none}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-meta{left:58px;right:58px;bottom:17px;justify-content:center}.lightbox-count{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.hero-image{transform:scale(1.03)!important}}

/* v6.1 — tighter vertical rhythm after merging duplicate portfolio sections */
@media(max-width:620px){.works{padding-bottom:64px}.film-section{padding:64px 0}.about{padding:70px 0 78px}.closing{padding:58px 0 66px}.contact{padding-top:62px}.featured-composition{gap:18px}}


/* v7 production/accessibility */
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gallery-item[role="button"]:focus-visible .gallery-image-wrap{outline:2px solid var(--text);outline-offset:4px}
.filter-btn[aria-pressed="true"]{background:var(--text);color:var(--paper);border-color:var(--text)}
.error-page{min-height:100svh;display:grid;place-items:center;padding:100px var(--pad);background:var(--paper)}
.error-card{width:min(100%,900px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(50px,8vw,100px) 0}
.error-code{font-family:var(--serif);font-size:clamp(92px,20vw,240px);line-height:.75;letter-spacing:-.07em;margin:0 0 36px}
.error-copy{font-family:var(--serif);font-size:clamp(28px,4vw,52px);letter-spacing:-.035em;line-height:1.02;max-width:720px;margin:0 0 36px}

/* Hide portfolio image labels on all screen sizes */
.gallery-hover-caption{display:none!important}
