/* Cztery rozmiary. Układ autorskiego albumu: kadr, margines, podpis. */
:root { --paper:#f7f6f2; --ink:#000; --muted:#000; --line:#d1d3c9; --accent:#000; --gutter:clamp(22px,4.3vw,84px); --label:12px; --body:18px; --heading:36px; --display:64px; --header-height:92px; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 16px); }
body { margin:0; background:var(--paper); color:var(--ink); font:400 var(--body)/1.65 'Plus Jakarta Sans',sans-serif; -webkit-font-smoothing:antialiased; }
p,h1,h2,h3,figure { margin:0; }
h1,h2,h3 { font-family:'Syne',sans-serif; font-weight:400; }
img { display:block; width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--accent); }
a:focus-visible,button:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
button { font:inherit; color:inherit; }
.skip { position:absolute; top:-100px; left:20px; padding:14px; background:var(--paper); z-index:3; }
.skip:focus { top:8px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.header { position:sticky; top:0; z-index:20; background:var(--paper); padding:12px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:16px 24px; }
.brand { font:400 var(--heading)/1.1 Arial,Helvetica,sans-serif; letter-spacing:-.025em; white-space:nowrap; }
.brand span { display:block; font:400 var(--label)/1.6 Arial,Helvetica,sans-serif; letter-spacing:.15em; margin-top:8px; }
.header nav { display:flex; align-items:center; justify-content:flex-end; gap:clamp(16px,1.7vw,32px); }
.header nav a { font-size:16.2px; text-transform:uppercase; letter-spacing:.025em; white-space:nowrap; padding:10px 0; }
.header nav a:last-child { border:1px solid var(--muted); padding:9px 18px; border-radius:100px; }
.menu-toggle { display:none; width:48px; height:48px; border:0; background:transparent; padding:12px; cursor:pointer; }
.menu-icon { position:relative; width:24px; height:20px; display:block; }
.menu-icon span { position:absolute; width:24px; height:1px; left:0; background:currentColor; transition:transform .2s,opacity .2s; }
.menu-icon span:nth-child(1) { top:2px; }.menu-icon span:nth-child(2) { top:10px; }.menu-icon span:nth-child(3) { top:18px; }
.menu-open .menu-icon span:nth-child(1) { transform:translateY(8px) rotate(45deg); }.menu-open .menu-icon span:nth-child(2) { opacity:0; }.menu-open .menu-icon span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
.caption-label { font-size:var(--label); letter-spacing:.11em; line-height:1.75; text-transform:uppercase; }
.opening { --opening-gap:12px; margin:var(--opening-gap) var(--gutter) 0; height:calc(100svh - var(--header-height) - var(--opening-gap) - 16px); display:flex; flex-direction:column; }
.hero-stage { flex:1; min-height:0; background:#e6e5dd; touch-action:pan-y; }
.hero-photo { display:block; overflow:hidden; height:100%; }
.hero-photo img { height:100%; object-fit:cover; object-position:center 58%; }
.hero-caption { padding-top:22px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:start; }
.opening > .hero-caption { flex:0 0 auto; min-height:var(--caption-height,120px); }
.hero-caption h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:var(--body); font-weight:400; line-height:1.65; letter-spacing:.025em; text-transform:uppercase; }
.hero-caption p { color:var(--muted); }
.hero-caption .caption-label { font-family:'Plus Jakarta Sans',sans-serif; font-size:var(--label); font-weight:400; line-height:1.65; letter-spacing:.025em; text-transform:uppercase; text-align:right; }
.hero-controls { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px; font-size:var(--label); }
.hero-controls button { cursor:pointer; background:transparent; border:1px solid var(--line); padding:8px 12px; min-height:44px; min-width:44px; font-size:var(--label); }
.hero-controls .hero-pause { border-color:transparent; }
.hero-count { margin-right:10px; letter-spacing:.1em; }
.carousel-ready .hero-photo:not([hidden]) { animation:hero-appear .35s ease; }
@keyframes hero-appear { from { opacity:.55; } to { opacity:1; } }
.collection { margin:140px var(--gutter) 0; }
.collection-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:32px; border-top:1px solid var(--line); padding:28px 0 65px; }
h2 { font-size:var(--heading); line-height:1.2; letter-spacing:-.035em; }
.collection-heading p { color:var(--muted); }
.line-link { display:inline-block; width:fit-content; border-bottom:1px solid currentColor; padding-bottom:5px; font-size:var(--body); }
.work-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:32px; row-gap:95px; align-items:start; }
.work { min-width:0; }
.work-image { display:block; overflow:hidden; background:#e6e5dd; }
.work img { object-fit:cover; transition:transform .5s ease; }
.work-image:hover img { transform:scale(1.025); }
.wide { grid-column:1/8; }.wide img { aspect-ratio:1.35; }
.inset { grid-column:9/13; margin-top:130px; }.inset img { aspect-ratio:1; }
.landscape { grid-column:3/13; }.landscape img { aspect-ratio:1.9; }
.commercial { grid-column:1/6; }.commercial img { aspect-ratio:1.05; }
.last { grid-column:7/13; margin-top:160px; }.last img { aspect-ratio:1.5; }
.work-caption { margin-top:18px; display:flex; gap:20px; justify-content:space-between; }
.work h3 { font-size:var(--body); letter-spacing:-.015em; line-height:1.5; margin-top:5px; }
.work-meta { font-size:var(--label); color:var(--muted); max-width:140px; text-align:right; padding-top:3px; text-transform:uppercase; }
.atelier { margin:145px var(--gutter) 0; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto 1fr; gap:24px 32px; align-items:start; }
.atelier-heading { grid-column:7/13; grid-row:1; }
.atelier-heading h2 { color:var(--accent); }
.portrait { grid-column:2/6; grid-row:1/3; }.portrait img { aspect-ratio:2/3; object-fit:cover; }
.portrait figcaption { font-size:var(--body); margin-top:14px; }
.atelier-copy { grid-column:7/13; grid-row:2; padding-top:0; }
.atelier-copy > p+p { margin-top:24px; }
.atelier-copy > .line-link { margin-top:28px; }
.recognition { margin-top:38px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); }
.recognition p+p { margin-top:8px; }
.method { margin-top:150px; background:#fff; padding:78px var(--gutter) 85px; display:grid; grid-template-columns:1fr 1fr; gap:65px; }
.method-heading h2 { margin-top:0; font-size:var(--heading); letter-spacing:-.035em; line-height:1.2; }
.method-copy { padding-top:7px; max-width:600px; }
.method-copy p+p { margin-top:25px; }
.method-lead { font-family:'Syne',sans-serif; font-size:var(--heading); line-height:1.2; letter-spacing:-.035em; }
.method-copy .line-link { margin-top:26px; }
.even-logo { display:block; width:200px; max-width:100%; margin-top:24px; }
.contact { margin:120px var(--gutter) 100px; display:grid; grid-template-columns:1fr 1fr; gap:65px; }
.contact-heading h2 { margin-top:30px; }
.contact-details { padding-top:5px; }
.contact-details > a { display:block; width:fit-content; overflow-wrap:anywhere; }
.contact-details > a+a { margin-top:10px; }
.contact-details > p { margin-top:24px; color:var(--muted); }
.contact-details > .line-link { margin-top:25px; }
.membership { margin:0 var(--gutter); border-top:1px solid var(--line); padding:28px 0; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.saw-logo { width:170px; flex-shrink:0; background:white; }
.membership p { font-size:var(--body); color:var(--muted); }
.company-footer { margin:0 var(--gutter); padding:28px 0 40px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:36px; font-size:var(--label); line-height:1.7; color:var(--muted); }
.company-details { max-width:850px; }.company-details p+p { margin-top:12px; }
@media(min-width:1800px) { .header,.opening,.collection,.atelier,.contact,.membership,.company-footer { max-width:1700px; margin-left:auto; margin-right:auto; }.method { padding-left:max(var(--gutter),calc((100vw - 1700px)/2)); padding-right:max(var(--gutter),calc((100vw - 1700px)/2)); } }
@media(max-width:1200px) { .header { flex-wrap:wrap; }.header nav { justify-content:flex-start; flex-wrap:wrap; }.work-caption { display:block; }.work-meta { text-align:left; max-width:none; margin-top:8px; }.hero-caption { grid-template-columns:1fr 1fr; }.collection-heading { grid-template-columns:1fr 1fr; }.collection-heading > a { grid-column:2; }.atelier-copy { grid-column:7/13; } }
@media(max-width:700px) {
 .header { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:start; padding-top:12px; gap:12px 10px; }
 .brand { white-space:normal; }.brand span { font-size:var(--body); letter-spacing:.04em; line-height:1.4; }
 .header.menu-ready .menu-toggle { display:block; }
 .header nav { grid-column:1/-1; display:flex; flex-direction:column; align-items:flex-start; gap:5px; border-top:1px solid var(--line); padding-top:15px; }
 .header nav a { min-height:48px; }.header.menu-ready:not(.menu-open) nav { display:none; }
 .opening { --opening-gap:5px; }
 .hero-photo img { object-position:48% center; }
 .hero-caption { grid-template-columns:minmax(0,1fr); gap:10px; padding-top:14px; }.hero-caption .caption-label { text-align:left; }.hero-controls { justify-content:flex-start; }
 .collection { margin-top:80px; }.collection-heading { display:block; padding-top:24px; padding-bottom:36px; }.collection-heading p { margin-top:20px; }.collection-heading > a { margin-top:20px; }
 .work-grid { display:block; }.work { margin:0 0 48px; }.work img { aspect-ratio:1.15; }.inset { width:85%; margin-left:auto; }.inset img { aspect-ratio:1; }.landscape img { aspect-ratio:1.4; }.last { width:90%; margin-left:auto; }
 .work-caption { margin-top:15px; }
 .atelier { display:flex; flex-direction:column; gap:30px; margin-top:80px; }.atelier-heading { display:block; }.atelier-heading h2 { margin-top:0; }.portrait { width:75%; }.atelier-copy { padding:0; }
 .method { margin-top:80px; padding:45px var(--gutter); grid-template-columns:minmax(0,1fr); gap:35px; }.method-heading h2 { font-size:var(--heading); margin-top:0; }.method-lead { font-size:var(--heading); }
 .contact { margin-top:70px; margin-bottom:55px; grid-template-columns:minmax(0,1fr); gap:30px; }.contact-heading h2 { margin-top:20px; }
 .membership { flex-direction:column; align-items:flex-start; gap:22px; }.company-footer { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.work img,.menu-icon span { transition:none; }.carousel-ready .hero-photo:not([hidden]) { animation:none; } }

/* Próba: dłuższe teksty 90%, pozostałe czcionki w obecnym rozmiarze. */
:root { --gutter:clamp(44px,8.6vw,168px); --style-3:16.2px; }
.atelier-copy > p,
.method-copy > p:not(.method-lead) { font-size:var(--style-3); }
@media(min-width:1800px) {
 .header,.opening,.collection,.atelier,.contact,.membership,.company-footer {
  max-width:min(1700px,calc(100% - 2 * var(--gutter)));
 }
}
