/* Patryk Woźniak — Photography from Norway | version 2 */
:root{--bg:#101515;--bg2:#171c1c;--cream:#f3f0e8;--muted:#a9b0ac;--gold:#d7b68b;--line:rgba(243,240,232,.17);--max:1380px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
[hidden]{display:none!important}
.shell{width:min(var(--max),calc(100% - 100px));margin-inline:auto}
.skip-link{position:fixed;top:-90px;left:16px;background:white;color:#131919;padding:9px 16px;z-index:100}
.skip-link:focus{top:12px}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;color:white}
.navigation{height:107px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.26)}
.wordmark{font-weight:400;line-height:1.1;font-size:24px;letter-spacing:-.025em;position:relative}
.wordmark strong{font-weight:700}.wordmark-dot{color:var(--gold);font-size:28px}
.wordmark small{display:block;font-size:9px;letter-spacing:.34em;margin-top:7px;font-weight:400;color:#ede8dc}
.nav-links{display:flex;align-items:center;gap:50px}
.nav-links a{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--gold)}
.menu-toggle{display:none;background:transparent;border:0;padding:10px;z-index:40;color:white}
.menu-toggle span{width:27px;height:2px;background:currentColor;display:block;margin:6px 0;transition:transform .2s,opacity .2s}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.32em;line-height:1.6;text-transform:uppercase;color:var(--gold);margin:0 0 25px}
.rule{display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin:0 15px 4px}
.hero{position:relative;height:850px;min-height:670px;max-height:1000px;height:100svh;color:white;display:flex;align-items:center;overflow:hidden;background:#1a2225}
.hero-image{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,18,.66),rgba(7,12,18,.25) 55%,rgba(7,12,18,.11)),linear-gradient(0deg,rgba(7,12,18,.78),transparent 32%,transparent 80%,rgba(7,12,18,.14))}
.hero-content{z-index:1;padding-top:90px;position:relative}
h1,h2{font-weight:400;letter-spacing:-.052em;line-height:1.04}
h1{font-size:clamp(70px,9.6vw,157px);margin:0;max-width:940px;text-shadow:0 1px 14px rgba(0,0,0,.1)}
h1 em,h2 em,.intro-statement em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--gold);letter-spacing:-.07em}
.hero-description{max-width:480px;font-size:clamp(16px,1.5vw,20px);font-weight:300;color:#ecece8;margin:30px 0 38px;line-height:1.65}
.action-link{display:inline-flex;gap:36px;align-items:center;padding:15px 0 14px;border-bottom:1px solid var(--gold);font-weight:700;font-size:11px;letter-spacing:.19em;text-transform:uppercase;transition:color .2s}
.action-link span{font-size:20px;font-weight:400;line-height:1}.action-link:hover{color:var(--gold)}
.hero-bottom{position:absolute;bottom:31px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;z-index:2;font-size:11px;letter-spacing:.11em;color:#eee}
.hero-bottom a{display:flex;gap:18px;align-items:center}.hero-bottom a span{font-size:17px}
.introduction{text-align:center;padding:131px 0 127px;max-width:1000px}
.introduction .eyebrow{margin-bottom:23px}
.intro-statement{font-size:clamp(38px,5.2vw,73px);line-height:1.18;letter-spacing:-.052em;margin:0 auto;max-width:980px}
.intro-description{color:var(--muted);font-size:15px;max-width:520px;margin:25px auto 0;line-height:1.8}
.portfolio-section{background:var(--bg2);padding:100px 0 105px}
.section-heading{display:flex;align-items:flex-end;gap:50px;justify-content:space-between;margin-bottom:42px}
.section-heading h2{font-size:clamp(45px,5.8vw,85px);margin:0}
.accent{color:var(--gold)}
.section-heading p:not(.eyebrow){max-width:300px;color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 10px}
.filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:27px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.filter{border:1px solid transparent;background:none;color:#a9b0ac;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700;padding:12px 16px;transition:color .2s,background .2s,border-color .2s}
.filter:hover,.filter.active{border-color:rgba(215,182,139,.65);color:var(--cream);background:rgba(215,182,139,.08)}
.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.photo-card{position:relative;overflow:hidden;display:block;padding:0;background:#252f2f;border:0;color:white;text-align:left;min-height:360px;isolation:isolate}
.photo-card.span-7{grid-column:span 7}.photo-card.span-5{grid-column:span 5}.photo-card.span-6{grid-column:span 6}
.photo-card.wide{aspect-ratio:1.49}.photo-card.regular{aspect-ratio:1.22}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .75s cubic-bezier(.18,.64,.2,1),filter .45s}
.photo-card:hover img,.photo-card:focus-visible img{transform:scale(1.045);filter:saturate(1.06)}
.photo-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.17) 33%,transparent 72%);z-index:1}
.photo-info{position:absolute;bottom:28px;left:31px;right:65px;z-index:2;display:flex;flex-direction:column;gap:3px}
.photo-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;font-weight:700;color:#eed7b6}
.photo-name{font-size:clamp(22px,2.2vw,31px);line-height:1.25;font-family:Georgia,serif;letter-spacing:-.035em}
.photo-open{position:absolute;right:29px;bottom:29px;z-index:2;font-size:24px;font-weight:300;transition:transform .2s}
.photo-card:hover .photo-open{transform:translate(4px,-4px)}
.photo-grid.is-filtered .photo-card:not([hidden]){grid-column:span 6;aspect-ratio:1.4}
.gallery-end{text-align:center;margin:43px 0 0;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.about-section{display:grid;grid-template-columns:1fr 1fr;min-height:740px;background:#222927}
.about-photo{min-height:670px;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.about-content{display:flex;justify-content:center;align-items:center;padding:85px 10%}
.about-inner{max-width:500px}
.about-inner h2{font-size:clamp(55px,6.5vw,91px);margin:0 0 35px}
.about-inner p:not(.eyebrow){font-size:14px;line-height:1.95;color:#d8dcd8;margin:0 0 20px}
.about-inner p em{color:var(--gold)}
.about-signature{display:block;margin-top:42px;padding-top:22px;border-top:1px solid var(--line);font-family:Georgia,serif;font-size:20px}
.about-signature span{color:var(--muted);font-size:11px;font-family:Arial,Helvetica,sans-serif;letter-spacing:.12em;margin-left:9px}
.contact-section{text-align:center;padding:145px 0 144px;max-width:850px}
.contact-section h2{font-size:clamp(45px,6.8vw,91px);margin:0 0 25px}
.contact-section>p:not(.eyebrow){color:var(--muted);max-width:530px;margin:0 auto;font-size:15px;line-height:1.85}
.contact-note{display:inline-flex;align-items:center;gap:13px;color:#d8d6cc;border:1px solid var(--line);padding:14px 22px;font-size:12px;margin-top:35px}
.contact-note-icon{font-size:17px;color:var(--gold)}
.site-footer{border-top:1px solid var(--line)}
.footer-content{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:105px;color:#9fa6a2;font-size:10px;letter-spacing:.08em}
.footer-content a{color:#e2e4dd}
.lightbox{border:0;padding:20px 26px 24px;margin:auto;max-width:none;max-height:none;width:100vw;height:100dvh;background:rgba(7,10,12,.985);color:white;overflow:hidden}
.lightbox::backdrop{background:rgba(0,0,0,.95)}
.lightbox-top{height:44px;display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;font-size:11px;letter-spacing:.18em;color:#afb6b2}
.lightbox-close{border:0;background:none;color:white;padding:5px;font-size:22px}
.lightbox-stage{display:flex;align-items:center;justify-content:center;gap:12px;height:calc(100% - 125px)}
.lightbox-stage img{width:auto;max-width:calc(100% - 100px);max-height:100%;height:auto;object-fit:contain}
.lightbox-arrow{flex:0 0 42px;background:none;border:1px solid rgba(255,255,255,.24);color:white;height:50px;font-size:39px;line-height:25px;transition:background .2s}
.lightbox-arrow:hover{background:rgba(255,255,255,.18)}
.lightbox-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 54px 0;color:white}
#lightbox-title{font-family:Georgia,serif;font-size:19px}
#lightbox-category{color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:1020px){.shell{width:calc(100% - 64px)}.hero{min-height:700px}.photo-card{min-height:280px}.about-content{padding:70px 8%}.about-photo{min-height:610px}}
@media(max-width:700px){.shell{width:calc(100% - 38px)}.navigation{height:76px}.wordmark{font-size:19px}.wordmark small{font-size:8px;letter-spacing:.25em}.menu-toggle{display:block}.nav-links{position:absolute;top:76px;left:0;right:0;padding:27px 22px 36px;display:none;flex-direction:column;align-items:flex-start;gap:27px;background:#101515;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-links a{font-size:13px}.menu-toggle[aria-expanded='true'] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded='true'] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{height:92svh;min-height:630px;max-height:900px}.hero-image{object-position:44% center}.hero-overlay{background:linear-gradient(0deg,rgba(5,10,13,.82),rgba(5,10,13,.26) 74%,rgba(5,10,13,.22)),linear-gradient(90deg,rgba(5,10,13,.36),transparent)}.hero-content{padding-top:55px;align-self:center}.hero-content .eyebrow{font-size:9px;letter-spacing:.19em}.rule{width:17px;margin-inline:7px}.hero h1{font-size:clamp(63px,14.2vw,95px);max-width:560px}.hero-description{font-size:16px;max-width:390px;margin-top:25px}.hero-bottom{bottom:22px;font-size:9px;letter-spacing:.03em}.hero-bottom span:first-child{max-width:170px}.introduction{padding:96px 0 98px}.intro-statement{font-size:clamp(35px,9vw,57px)}.intro-description{font-size:14px}.portfolio-section{padding:73px 0 80px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:53px}.section-heading p:not(.eyebrow){margin:19px 0 0}.filters{gap:2px}.filter{font-size:9px;padding:11px 9px}.photo-grid{gap:12px}.photo-card,.photo-grid.is-filtered .photo-card:not([hidden]){grid-column:span 12!important;aspect-ratio:1.25!important;min-height:260px}.photo-info{left:21px;bottom:20px}.photo-open{right:21px;bottom:20px}.gallery-end{line-height:1.8}.about-section{grid-template-columns:1fr}.about-photo{min-height:0;height:360px}.about-content{padding:76px 8% 85px}.about-inner h2{font-size:65px}.contact-section{padding:95px 0}.contact-section h2{font-size:clamp(49px,10vw,70px)}.contact-note{text-align:left;padding:12px 14px}.footer-content{padding:24px 0;min-height:auto;flex-wrap:wrap;gap:9px;font-size:10px}.footer-content span:nth-child(2){display:none}.lightbox{padding:14px 10px}.lightbox-stage{gap:4px}.lightbox-stage img{max-width:calc(100% - 70px)}.lightbox-arrow{flex-basis:30px;width:30px;height:44px;font-size:30px}.lightbox-caption{padding:12px 30px 0}#lightbox-title{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card img,.photo-open{transition:none}}
