/* =========================================================
   Labolens — fotografia / wielostronicowy szablon
   Responsywny CSS bez frameworków. Główne barwy w :root.
   ========================================================= */
:root {
  --paper: #f7f5ef;
  --paper-deep: #eeeae2;
  --ink: #20201e;
  --ink-soft: #595750;
  --night: #191a19;
  --muted: #8d8981;
  --accent: #c19e80;
  --accent-light: #dcc6b1;
  --line: rgba(32,32,30,.15);
  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', 'Manrope', Arial, sans-serif;
  --container: 1376px;
  --header: 100px;
  --ease: cubic-bezier(.22,1,.36,1);
  --ease-in: cubic-bezier(.72,0,.78,.22);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll{overflow:hidden}
::selection{background:var(--accent);color:#171715}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
img{display:block;width:100%;height:auto}
figure,blockquote,h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400;line-height:1.14}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.container{width:calc(100% - 112px);max-width:var(--container);margin-inline:auto}
.section-pad{padding-block:145px}.section-pad--topless{padding-top:0}.section-pad--bottom{padding-bottom:145px}
.skip-link{position:fixed;left:16px;top:-70px;background:white;padding:12px 18px;z-index:999;color:#111}.skip-link:focus{top:12px}
.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.24em;font-weight:700;line-height:1.5;text-transform:uppercase;color:rgba(255,255,255,.85)}
.eyebrow--dark{color:var(--ink-soft)}.eyebrow-line{width:27px;height:1px;background:var(--accent);display:inline-block;flex:none}
.text-accent{color:var(--accent)}
.display-heading{font:400 clamp(44px,5.35vw,82px)/1.12 var(--serif);letter-spacing:-.055em;margin:21px 0 0}
.display-heading em,.page-intro__title em,.statement em,.about-hero h1 em,.contact-page h1 em,.cta-section h2 em,.quote-band em,.next-project h2 em,.hero__title em{font-weight:400;color:var(--accent);font-style:italic}
.text-link{display:inline-flex;gap:32px;align-items:center;padding-bottom:13px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.17em;font-weight:700;line-height:1.5;transition:gap .4s var(--ease),color .3s}
.text-link:hover{gap:44px;color:#94765d}.text-link span{font-size:18px;line-height:.9}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-width:223px;padding:9px 9px 9px 29px;border:1px solid transparent;text-transform:uppercase;font-size:10px;letter-spacing:.17em;font-weight:700;line-height:1.4;transition:background .3s,border-color .3s,color .3s,transform .4s var(--ease)}
.button:hover{transform:translateY(-3px)}
.button--light{background:var(--paper);color:var(--ink)}.button--light:hover{background:var(--accent-light)}
.button--dark{background:var(--night);color:var(--paper)}.button--dark:hover{background:#4a4039}
.button__arrow{display:grid;place-items:center;width:40px;height:40px;background:rgba(30,30,28,.08);font-size:21px;font-weight:400;transition:transform .4s var(--ease)}
.button:hover .button__arrow{transform:rotate(45deg)}.button--dark .button__arrow{background:rgba(255,255,255,.12)}
.reveal{opacity:0;transform:translateY(43px);transition:opacity .85s var(--ease),transform 1s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}

/* Header / animowane pełnoekranowe menu */
.site-header{position:fixed;top:0;left:0;right:0;z-index:110;height:var(--header);padding-inline:56px;display:flex;align-items:center;justify-content:space-between;transition:height .45s var(--ease),background .45s,box-shadow .45s,color .45s;color:var(--ink)}
.site-header.is-scrolled{height:75px;background:rgba(247,245,239,.96);box-shadow:0 1px 0 rgba(10,10,10,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.is-home .site-header:not(.is-scrolled):not(.is-menu-open){color:white}
.site-header.is-menu-open,.is-home .site-header.is-menu-open{color:white;background:transparent;box-shadow:none;backdrop-filter:none}
.brand{display:flex;gap:13px;align-items:center;position:relative;z-index:125}
.brand__name{font-size:27px;font-weight:700;letter-spacing:-.1em;line-height:1}
.brand__dot{color:var(--accent)}
.brand__sub{font-size:8px;font-weight:600;line-height:1.6;letter-spacing:.19em;max-width:90px;border-left:1px solid currentColor;padding-left:12px;opacity:.82}
.site-header__right{display:flex;align-items:center;gap:46px}
.header-cta{display:flex;gap:16px;align-items:center;font-size:10px;font-weight:700;letter-spacing:.13em;transition:color .3s}.header-cta:hover{color:var(--accent)}.header-cta span{font-size:17px;font-weight:400}
.menu-toggle{appearance:none;border:none;background:none;color:inherit;padding:14px 0 14px 12px;display:flex;align-items:center;gap:20px;z-index:126;position:relative}
.menu-toggle__word{font-size:10px;font-weight:700;letter-spacing:.18em;min-width:51px;text-align:right}
.menu-toggle__icon{width:30px;height:22px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.menu-toggle__icon i{display:block;width:30px;height:1px;background:currentColor;transition:transform .4s var(--ease),width .4s var(--ease)}
.menu-toggle__icon i:last-child{width:20px;align-self:flex-end}
.menu-toggle:hover .menu-toggle__icon i:last-child{width:30px}
.menu-toggle.is-open .menu-toggle__icon i:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.is-open .menu-toggle__icon i:last-child{width:30px;transform:translateY(-4px) rotate(-45deg)}
.menu-overlay{position:fixed;z-index:100;inset:0;background:#1e1f1e;color:#f5f2ec;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .92s var(--ease),visibility 0s .92s;overflow-y:auto}
.menu-overlay.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .85s var(--ease),visibility 0s}
.menu-overlay__inner{width:calc(100% - 112px);max-width:var(--container);margin:auto;min-height:100%;padding:clamp(140px,16vh,190px) 0 60px;display:flex;flex-direction:column;position:relative;z-index:2}
.menu-overlay__eyebrow{color:var(--accent-light);margin:0 0 30px}
.menu-overlay__links{max-width:880px;flex:1}
.menu-overlay__link{display:flex;align-items:baseline;gap:28px;padding:3px 0;line-height:1.16;overflow:hidden;font:400 clamp(52px,7.2vw,104px)/1.13 var(--serif);letter-spacing:-.06em;opacity:0;transform:translateY(37px);transition:opacity .5s,transform .65s var(--ease),color .3s}
.menu-overlay.is-open .menu-overlay__link{opacity:1;transform:none}
.menu-overlay.is-open .menu-overlay__link:nth-child(1){transition-delay:.13s}.menu-overlay.is-open .menu-overlay__link:nth-child(2){transition-delay:.19s}.menu-overlay.is-open .menu-overlay__link:nth-child(3){transition-delay:.25s}.menu-overlay.is-open .menu-overlay__link:nth-child(4){transition-delay:.31s}.menu-overlay.is-open .menu-overlay__link:nth-child(5){transition-delay:.37s}
.menu-overlay__link:hover,.menu-overlay__link[aria-current]{color:var(--accent-light)}
.menu-overlay__num{font:600 10px/1 var(--sans);letter-spacing:.1em;color:var(--accent);min-width:24px;position:relative;top:-.5em}
.menu-overlay__arrow{font:400 25px/1 var(--sans);opacity:0;transform:translate(-10px,10px);transition:opacity .3s,transform .3s}.menu-overlay__link:hover .menu-overlay__arrow{opacity:1;transform:none}
.menu-overlay__bottom{border-top:1px solid #ffffff34;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;font-size:10px;letter-spacing:.14em;font-weight:600;color:#c9c6bf}.menu-overlay__bottom a:hover{color:var(--accent)}
.page-curtain{position:fixed;inset:0;background:#d9c9b6;z-index:210;pointer-events:none;transform:translateY(-101%);transition:transform .85s var(--ease)}
body.page-loaded .page-curtain{transform:translateY(-101%)}body.page-leaving .page-curtain{transform:translateY(0);transition-duration:.48s;transition-timing-function:var(--ease-in)}
body.page-loaded main{animation:page-reveal .7s var(--ease) both}
@keyframes page-reveal{from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Home hero slideshow */
.hero{height:100svh;min-height:670px;position:relative;color:#fff;background:#393935;overflow:hidden}
.hero__slides,.hero__slide,.hero__image,.hero__shade{position:absolute;inset:0;width:100%;height:100%}
.hero__slide{opacity:0;z-index:0;pointer-events:none;transition:opacity 1.4s ease}
.hero__slide.is-active{opacity:1;z-index:1}
.hero__image{object-fit:cover;object-position:center 45%;transform:scale(1.09);transition:transform 8.5s linear}
.hero__slide.is-active .hero__image{transform:scale(1)}
.hero__shade{background:linear-gradient(90deg,rgba(12,13,13,.68),rgba(12,13,13,.2) 65%,rgba(10,10,10,.22)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 35%,transparent 85%,rgba(0,0,0,.12))}
.hero__content{position:relative;z-index:3;display:flex;height:100%;align-items:center;padding-top:72px}
.hero__copy{max-width:810px;transition:opacity .42s,transform .42s;transform:translateY(0)}.hero__copy.is-changing{opacity:0;transform:translateY(18px)}
.hero__eyebrow{margin-bottom:30px}.hero__title{font:400 clamp(66px,8.3vw,132px)/1.02 var(--serif);letter-spacing:-.068em;max-width:900px;margin:0 0 31px}
.hero__title em{color:#e3c8b0}.hero__subtitle{max-width:460px;font-size:15px;line-height:1.8;color:rgba(255,255,255,.86);margin:0 0 35px}
.hero__bottom{position:absolute;left:0;right:0;bottom:47px;display:flex;align-items:flex-end;justify-content:space-between;z-index:5}
.hero__scroll{display:flex;align-items:center;gap:17px;font-size:9px;letter-spacing:.21em;font-weight:700;color:#f6f3f0}
.hero__scroll-line{display:block;height:1px;width:66px;background:rgba(255,255,255,.8)}
.hero__controls{display:flex;align-items:center;gap:18px}
.hero__nav{border:1px solid rgba(255,255,255,.48);background:none;color:white;width:44px;height:44px;display:grid;place-items:center;font-size:23px;transition:background .3s,color .3s}.hero__nav:hover{background:white;color:#151515}
.hero__pagination{display:flex;align-items:center;gap:11px}
.hero__pager{border:0;background:transparent;color:white;display:flex;gap:10px;align-items:center;padding:10px 0;opacity:.65;transition:opacity .3s}.hero__pager span{font:500 10px var(--sans)}
.hero__pager i{position:relative;width:24px;height:1px;background:#ffffff55;overflow:hidden;display:block;transition:width .4s}.hero__pager i::before{content:"";position:absolute;inset:0;background:var(--accent-light);transform-origin:left;transform:scaleX(0)}.hero__pager.is-active{opacity:1}.hero__pager.is-active i{width:55px}
.hero__pager.is-active i::before{animation:progress 6.6s linear forwards}.hero__pager.is-active.is-paused i::before{animation-play-state:paused}
@keyframes progress{to{transform:scaleX(1)}}
.hero__side-note{position:absolute;right:31px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);z-index:4;font-size:9px;letter-spacing:.2em;font-weight:700;color:#eee}

/* Home sections */
.intro-section__grid{display:grid;grid-template-columns:1fr 1.52fr;column-gap:10%;align-items:start}
.intro-section__side{color:#77746f;font-size:13px;line-height:1.9;max-width:255px;margin:44px 0}
.statement{font:400 clamp(29px,3.1vw,47px)/1.51 var(--serif);letter-spacing:-.035em;margin:0 0 34px}
.statement em{color:#ad8d73}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:56px}
.section-heading__link{margin-bottom:8px;flex:none}
.featured-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px 54px;align-items:start}
.featured-card--one{grid-row:span 2}.featured-card--two{margin-top:86px}.featured-card--three{grid-column:2;margin-top:-4px}
.featured-card__media{position:relative;overflow:hidden;background:#9b9287}
.featured-card--one .featured-card__media{aspect-ratio:.81}.featured-card--two .featured-card__media{aspect-ratio:1.18}.featured-card--three .featured-card__media{aspect-ratio:1.38}
.featured-card__media img{height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.featured-card:hover .featured-card__media img{transform:scale(1.065);}
.featured-card__view{position:absolute;bottom:24px;right:24px;width:52px;height:52px;border:1px solid #fff9;color:white;display:grid;place-items:center;font-size:25px;opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s var(--ease)}
.featured-card:hover .featured-card__view{opacity:1;transform:none}
.featured-card__caption{display:flex;align-items:end;justify-content:space-between;padding-top:19px;border-top:1px solid transparent;gap:25px}
.featured-card__caption span{font-size:10px;color:var(--ink-soft);letter-spacing:.16em;font-weight:600}.featured-card__caption h3{font:400 clamp(24px,2.6vw,37px)/1.35 var(--serif);letter-spacing:-.025em;margin:8px 0 0}
.quote-band{background:#d6c6b5;padding:117px 0 108px;text-align:center}
.quote-band__inner{display:flex;flex-direction:column;align-items:center;gap:22px}.quote-band__star{font-size:24px}.quote-band blockquote{font:400 clamp(32px,4.8vw,74px)/1.28 var(--serif);letter-spacing:-.045em;margin:0}.quote-band em{color:#867360}.quote-band__signature{font-size:9px;letter-spacing:.22em;font-weight:700;color:#5c5349;margin-top:10px}
.home-about__grid{display:grid;grid-template-columns:1fr .86fr;gap:12%;align-items:center}
.home-about__photo{position:relative;margin:0 0 45px 26px}.home-about__photo img{height:620px;object-fit:cover;object-position:center 26%;}
.home-about__frame{position:absolute;left:-26px;bottom:-33px;width:86%;height:85%;border:1px solid var(--accent);z-index:-1}.photo-index{position:absolute;right:15px;bottom:14px;font-size:10px;letter-spacing:.18em;color:white}
.home-about__copy .display-heading{max-width:560px;margin-bottom:32px}.home-about__copy p:not(.eyebrow){font-size:15px;line-height:2;color:var(--ink-soft);max-width:440px;margin-bottom:19px}.home-about__copy .button{margin-top:21px}
.journal-teaser{background:var(--paper-deep)}
.home-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.post-card{min-width:0}.post-card__image{aspect-ratio:1.18;overflow:hidden;background:#c6b8aa;display:block}.post-card__image img{height:100%;object-fit:cover;transition:transform 1s var(--ease)}.post-card:hover .post-card__image img{transform:scale(1.055);}
.post-card__meta{display:flex;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:.15em;font-weight:700;color:#77736c;margin:23px 0 14px}.post-card h3{font:400 clamp(23px,2.1vw,31px)/1.42 var(--serif);letter-spacing:-.025em;margin:0 0 14px}.post-card h3 a:hover{color:#ac8367}.post-card p{font-size:13px;color:#77736c;line-height:1.85;margin-bottom:21px}.post-card__more{display:inline-flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.15em;font-weight:700;border-bottom:1px solid #77736c;padding-bottom:9px;transition:gap .3s}.post-card__more:hover{gap:29px}
.cta-section{min-height:560px;background:var(--night);position:relative;overflow:hidden;color:white;display:flex;align-items:center}
.cta-section__image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(14,15,15,.90),rgba(14,15,15,.58)),url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2200&q=82');background-size:cover;background-position:center 54%;}
.cta-section__content{position:relative;z-index:1;padding-block:110px}.cta-section .eyebrow{color:var(--accent-light)}
.cta-section h2{font:400 clamp(54px,7vw,105px)/1.12 var(--serif);letter-spacing:-.065em;max-width:900px;margin:20px 0}.cta-section h2 em{color:var(--accent-light)}.cta-section__content>p:not(.eyebrow){color:#d7d3cc;max-width:440px;line-height:1.85;margin-bottom:36px}

/* Podstrony — tytuły i filtry */
.page-intro{padding-top:calc(var(--header) + 112px);padding-bottom:90px;background:var(--paper)}
.page-intro__title{font:400 clamp(70px,10.1vw,154px)/1.07 var(--serif);letter-spacing:-.075em;margin:14px 0 60px}
.page-intro__bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:28px;border-top:1px solid var(--line)}
.page-intro__bottom p{max-width:550px;color:var(--ink-soft);line-height:1.85;font-size:15px;margin:0}.page-intro__bottom span{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.18em;white-space:nowrap}
.filter-bar{display:flex;align-items:start;justify-content:space-between;gap:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0 28px;margin-bottom:52px}
.filter-bar__label{font-size:10px;letter-spacing:.18em;font-weight:700;flex:none;margin-top:12px}.filter-bar__label span{font-size:14px;margin-left:10px}
.filter-bar__buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.filter-btn{padding:10px 20px;border:1px solid #d2cec6;background:transparent;font-size:11px;font-weight:600;color:#635f59;letter-spacing:.01em;transition:background .3s,border-color .3s,color .3s}
.filter-btn:hover,.filter-btn.is-active{background:var(--night);color:#fff;border-color:var(--night)}.filter-btn span{opacity:.6;font-size:9px;margin-left:6px}
.portfolio-grid{column-count:4;column-gap:27px}
.work-card{display:inline-block;vertical-align:top;width:100%;min-width:0;break-inside:avoid;margin-bottom:34px;animation:card-appear .6s var(--ease) both}.work-card__image{display:block;position:relative;overflow:hidden;width:100%;border:none;padding:0;background:#c4b3a0;text-align:left}
.work-card__image>img{height:auto;object-fit:contain;transition:transform 1.2s var(--ease)}.work-card__image:hover>img{transform:scale(1.07);}
.work-card__expand{position:absolute;bottom:18px;right:18px;background:var(--paper);width:48px;height:48px;display:grid;place-items:center;font-size:24px;opacity:0;transform:translateY(12px);transition:transform .4s var(--ease),opacity .4s}.work-card__image:hover .work-card__expand,.work-card__image:focus-visible .work-card__expand{opacity:1;transform:none}
.work-card__info{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:18px 0 3px}.work-card__info span{font-size:9px;font-weight:700;letter-spacing:.15em;color:#7c766e}.work-card__info h3{font:400 clamp(23px,2.05vw,32px)/1.3 var(--serif);margin:6px 0 0}.work-card__place{white-space:nowrap;text-align:right;font-size:9px;letter-spacing:.08em;color:#77736e;font-weight:500}
.portfolio-count{text-align:center;margin:65px 0 0;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted)}
@keyframes card-appear{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.next-project{background:var(--paper-deep)}.next-project__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 50px}.next-project__inner .eyebrow{grid-column:1 / -1}.next-project h2{font:400 clamp(48px,6.7vw,98px)/1.17 var(--serif);letter-spacing:-.065em;margin:0}.round-link{width:95px;height:95px;border:1px solid #252525;border-radius:100%;display:grid;place-items:center;font-size:40px;transition:background .3s,color .3s,transform .4s}.round-link:hover{background:var(--night);color:white;transform:rotate(45deg)}

/* Portfolio i blog — lightbox */
.lightbox{position:fixed;inset:0;z-index:160;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:20px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));height:100vh;height:100dvh;background:rgba(14,15,15,.96);color:white;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.lightbox.is-open{opacity:1;visibility:visible;transition:opacity .4s,visibility 0s}
.lightbox__scrim{position:absolute;inset:0}.lightbox__close{position:relative;grid-row:1;justify-self:end;z-index:3;display:flex;align-items:center;gap:20px;color:white;border:0;background:transparent;font-size:22px}.lightbox__close span{font-size:10px;letter-spacing:.18em;font-weight:700}
.lightbox__image-wrap{position:relative;grid-row:2;min-width:0;min-height:0;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}
.lightbox__image-wrap img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;position:relative;z-index:2;opacity:1;transform:scale(1);transition:opacity .32s,transform .55s var(--ease)}
.lightbox__image-wrap img.is-changing{opacity:0;transform:scale(.97)}
.lightbox__loader{display:none;position:absolute;width:35px;height:35px;border:1px solid #aaa7;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}
.lightbox__image-wrap img.is-changing + .lightbox__loader{display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.lightbox__bottom{position:relative;z-index:2;grid-row:3;min-width:0;display:flex;justify-content:space-between;align-items:end;gap:25px}
.lightbox__details>span{font-size:9px;letter-spacing:.18em;color:var(--accent-light);font-weight:700}.lightbox__details h2{font:400 32px/1.2 var(--serif);margin:7px 0 0}.lightbox__controls{display:flex;align-items:center;gap:12px}.lightbox__controls>span{font-size:11px;letter-spacing:.17em;color:#eee;margin-right:22px}.lightbox__controls button{width:48px;height:48px;border:1px solid #fff8;color:white;background:transparent;font-size:25px}.lightbox__controls button:hover{background:#fff;color:#191919}

/* Blog */
.page-intro--blog{padding-bottom:105px}.subsection-top{display:flex;justify-content:space-between;padding:0 0 15px;border-bottom:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.17em;color:#6f6c66}
.feature-post{display:grid;grid-template-columns:1.1fr .9fr;min-height:560px;background:var(--paper-deep);margin-top:28px;overflow:hidden}
.feature-post__img{display:block;overflow:hidden;background:#b5a89b}.feature-post__img img{height:100%;object-fit:cover;transition:transform 1s}.feature-post__img:hover img{transform:scale(1.05)}
.feature-post__content{display:flex;flex-direction:column;justify-content:center;align-items:start;padding:clamp(34px,5vw,90px)}.feature-post__meta{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--ink-soft);margin-bottom:26px}
.feature-post__content h2{font:400 clamp(34px,3.6vw,58px)/1.2 var(--serif);letter-spacing:-.045em;margin:0 0 25px}.feature-post__content h2 a:hover{color:#9c7a63}.feature-post__content>p{font-size:14px;color:#6d6963;line-height:1.9;margin-bottom:35px}
.blog-list-section{background:var(--paper)}.section-heading--tight{margin-bottom:38px}.filter-bar--blog{margin-bottom:54px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 30px}.blog-grid .post-card{animation:card-appear .6s var(--ease) both}
/* Article */
.article__loading{padding-block:200px;text-align:center;color:var(--muted)}
.article-header{padding:calc(var(--header) + 90px) 0 65px;text-align:center}.article-back{font-size:10px;letter-spacing:.18em;font-weight:700;color:#69655f}.article-back:hover{color:var(--accent)}
.article-header .eyebrow{justify-content:center;margin:45px 0 24px}.article-header h1{font:400 clamp(49px,7vw,104px)/1.18 var(--serif);letter-spacing:-.06em;max-width:1100px;margin:0 auto 35px}
.article-header__excerpt{font-size:17px;line-height:1.8;color:#69655f;max-width:655px;margin:0 auto 28px}.article-meta{font-size:10px;letter-spacing:.15em;color:#77716c;font-weight:700}
.article-cover{background:#c9bbb0;overflow:hidden;aspect-ratio:16/9}.article-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.article-body{margin:90px auto 110px;font-size:17px;color:#5e5a54;line-height:2}
.article-body .lead{font:400 clamp(24px,2.5vw,34px)/1.65 var(--serif);color:var(--ink);letter-spacing:-.02em;margin-bottom:47px}.article-body h2{font:400 41px/1.25 var(--serif);letter-spacing:-.035em;color:var(--ink);margin:55px 0 22px}.article-body p{margin-bottom:22px}
.article-signoff{margin-top:80px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.13em;font-weight:700}.article-signoff a:hover{color:var(--accent)}.related-section{background:var(--paper-deep)}

/* O mnie */
.about-hero{padding-top:var(--header);min-height:750px;overflow:hidden;position:relative;background:#eee9e1}
.about-hero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:8%;align-items:center;min-height:700px;padding-block:70px}
.about-hero__copy{position:relative;z-index:2}.about-hero h1{font:400 clamp(57px,6.6vw,99px)/1.18 var(--serif);letter-spacing:-.065em;margin:30px -95px 28px 0}.about-hero__copy>p:not(.eyebrow){max-width:470px;line-height:1.95;color:#655f59;margin-bottom:33px}
.about-hero__photo{align-self:stretch;position:relative;max-height:680px;min-height:560px}.about-hero__photo img{height:100%;object-fit:cover;object-position:center 35%;}
.about-hero__photo-note{position:absolute;bottom:25px;right:25px;color:white;font-size:9px;font-weight:700;letter-spacing:.15em;z-index:2}.about-hero__index{position:absolute;left:-42px;bottom:-155px;font:400 570px/1 var(--serif);letter-spacing:-.12em;color:#ddcabb;opacity:.33;pointer-events:none}
.about-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-story__text{padding-top:30px}.about-story__text p{font-size:15px;color:#625f59;line-height:2.05;margin-bottom:23px}.about-story__text .signature{font:italic 33px var(--serif);color:#947966;margin-top:39px}.signature span{font-size:17px}
.about-break{height:520px;position:relative;overflow:hidden;background:#a49b91}.about-break>img{height:100%;object-fit:cover;object-position:center 48%;}.about-break__label{position:absolute;bottom:37px;right:57px;color:#fff;font-size:10px;letter-spacing:.17em;font-weight:700}
.values-section{background:var(--paper-deep)}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.value-card{border:1px solid #d8d1c8;padding:29px 29px 47px;min-height:320px;display:flex;flex-direction:column}.value-card>span{font-size:10px;font-weight:700;letter-spacing:.14em;color:#777067}.value-card__icon{font:400 42px var(--serif);margin:18px 0 27px;color:#ad9077}.value-card h3{font:400 35px var(--serif);margin:0 0 11px;letter-spacing:-.025em}.value-card p{font-size:14px;line-height:1.9;color:#68645e;margin:0}
.faq-section__grid{display:grid;grid-template-columns:.8fr 1fr;gap:13%}.faq-section__grid>div>p:not(.eyebrow){max-width:300px;color:#67625a;line-height:1.9;margin-top:25px}.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px 3px;font-size:16px;font-weight:500;color:var(--ink)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:400;transition:transform .35s;display:inline-block;flex:none;color:#917b68}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:580px;color:#6f6a63;font-size:14px;line-height:1.9;margin:0 30px 28px 3px}.cta-section--about .cta-section__image{background-image:linear-gradient(90deg,rgba(14,15,15,.93),rgba(14,15,15,.45)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2200&q=82')}

/* Kontakt */
.contact-page{padding-top:calc(var(--header) + 105px);padding-bottom:150px}
.contact-page__intro{margin-bottom:87px}.contact-page h1{font:400 clamp(65px,9vw,134px)/1.1 var(--serif);letter-spacing:-.07em;max-width:1130px;margin:20px 0 28px}.contact-page__intro>p:not(.eyebrow){max-width:570px;font-size:15px;color:var(--ink-soft);line-height:1.9}
.contact-page__grid{display:grid;grid-template-columns:.76fr 1fr;gap:12%;align-items:start}
.contact-aside__photo{aspect-ratio:1.02;overflow:hidden;background:#c1b8aa}.contact-aside__photo img{height:100%;object-fit:cover;}
.contact-aside__meta{display:grid;grid-template-columns:1fr;gap:30px;margin-top:38px}.contact-aside__meta div{display:flex;flex-direction:column;gap:6px}.contact-aside__meta span{font-size:10px;letter-spacing:.17em;color:#77716c;font-weight:700}.contact-aside__meta a{font:400 24px var(--serif);letter-spacing:-.02em}.contact-aside__meta a:hover{color:#a18169}.contact-aside__note{font-size:12px;color:#807b72;line-height:1.85;max-width:360px;margin-top:38px}
.contact-form-wrap{border-top:1px solid var(--ink);padding-top:37px}.contact-form-wrap>h2{font:400 clamp(31px,3vw,46px)/1.4 var(--serif);letter-spacing:-.035em;max-width:520px;margin:15px 0 43px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-field{margin-bottom:30px}.form-field label{font-size:10px;letter-spacing:.15em;font-weight:700;display:block;margin-bottom:12px;color:#58544f}.form-field label span,.form-consent b{color:#9b755a}
.form-field input,.form-field select,.form-field textarea{border:1px solid transparent;border-bottom-color:#c8c2b9;outline:0;background:transparent;border-radius:0;width:100%;color:var(--ink);padding:10px 0 14px;font-size:14px;line-height:1.6;transition:border-color .3s}.form-field input::placeholder,.form-field textarea::placeholder{color:#9d9890}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:#21211f}.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{border-bottom-color:#a14e41}.form-field select{cursor:pointer;min-height:47px}.form-field select option{color:#222;background:#fff}.form-field textarea{resize:vertical;min-height:115px}.field-error{display:block;color:#9c443a;font-size:11px;line-height:1.6;min-height:0;margin-top:5px}
.form-consent{display:flex;align-items:flex-start;gap:14px;cursor:pointer;margin:7px 0 0}.form-consent input{appearance:none;flex:none;margin:3px 0 0;border:1px solid #aaa299;width:18px;height:18px;display:grid;place-items:center;cursor:pointer}.form-consent input:checked{background:var(--night);border-color:var(--night)}.form-consent input:checked::after{content:'✓';color:white;font-size:12px}.form-consent span{font-size:12px;line-height:1.7;color:#716d66}.field-error--consent{margin-top:8px}.form-submit{margin-top:24px;border:0}.form-note{font-size:11px;color:#817b73;line-height:1.8;max-width:510px;margin-top:21px}.form-status{font-size:12px;color:#486a46;font-weight:600;margin-top:12px}

/* Footer */
.site-footer{background:#191a19;color:#f4f1ec;padding-top:95px}
.site-footer__top{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-bottom:90px}
.footer-brand{font-weight:700;font-size:70px;letter-spacing:-.1em;line-height:1}.footer-brand span{color:var(--accent)}
.site-footer__top p{color:#bdbab5;line-height:1.8;font-size:13px;margin:25px 0 0}
.site-footer__links{display:grid;grid-template-columns:1fr 1.35fr;gap:45px;padding-top:10px}
.site-footer__links>div{display:flex;flex-direction:column;gap:12px}.footer-label{font-size:9px;letter-spacing:.2em;color:#a7a098;font-weight:700;margin-bottom:13px}.site-footer__links a{font:400 19px var(--serif);transition:color .3s}.site-footer__links a:hover{color:var(--accent-light)}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff2a;padding-top:24px;padding-bottom:31px;color:#aca8a1;font-size:9px;letter-spacing:.15em;font-weight:700}.back-to-top{color:var(--paper)}.back-to-top:hover{color:var(--accent)}

/* Responsive: tablet */
@media(max-width:1100px){
:root{--header:86px}
.container{width:calc(100% - 80px)}.site-header{padding-inline:40px}.section-pad{padding-block:108px}.section-pad--topless{padding-top:0}.section-pad--bottom{padding-bottom:108px}
.hero__title{font-size:clamp(66px,9vw,110px)}.hero__side-note{display:none}
.featured-grid{gap:35px}.featured-card--two{margin-top:60px}
.home-about__grid{gap:7%}.home-about__photo img{height:550px}
.about-hero__grid{gap:6%}.about-hero h1{font-size:clamp(58px,6.4vw,82px);margin-right:-45px}.about-hero__photo{min-height:500px}
.contact-page__grid{gap:7%}
}
/* Responsive: mobile / narrow */
@media(max-width:760px){
:root{--header:77px}
.container{width:calc(100% - 42px)}.site-header{padding-inline:21px}.site-header.is-scrolled{height:67px}.brand__name{font-size:25px}.brand__sub{font-size:7px;max-width:83px;padding-left:9px}.header-cta{display:none}
.menu-toggle__word{font-size:10px}.menu-overlay__inner{width:calc(100% - 44px);padding-top:145px;padding-bottom:35px}.menu-overlay__link{font-size:clamp(50px,12vw,74px);gap:15px;padding:7px 0}.menu-overlay__num{font-size:9px;min-width:20px}.menu-overlay__bottom{flex-direction:column;align-items:start;gap:10px;margin-top:35px;font-size:9px}
.eyebrow{font-size:9px;letter-spacing:.19em}.section-pad{padding-block:85px}.section-pad--topless{padding-top:0}.section-pad--bottom{padding-bottom:85px}
.display-heading{font-size:clamp(46px,10vw,65px)}.text-link{gap:16px;font-size:9px}.text-link:hover{gap:24px}
.hero{min-height:680px;height:100svh}.hero__content{padding-top:20px;align-items:center}.hero__eyebrow{margin-bottom:22px}.hero__title{font-size:clamp(60px,12vw,95px);line-height:1.08;max-width:580px;margin-bottom:22px}.hero__subtitle{font-size:13px;max-width:330px;line-height:1.75}.hero__bottom{bottom:25px;align-items:center}.hero__scroll{font-size:8px;gap:9px}.hero__scroll-line{width:22px}.hero__controls{gap:8px}.hero__nav{width:35px;height:35px;font-size:20px}.hero__pager i{width:11px}.hero__pager.is-active i{width:19px}.hero__pagination{gap:6px}.hero__pager{gap:5px}.hero__pager span{font-size:9px}
.intro-section__grid{grid-template-columns:1fr;gap:22px}.intro-section__side{margin:23px 0 5px;max-width:320px}.statement{font-size:clamp(31px,7vw,43px);line-height:1.48}
.section-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:33px}.section-heading__link{margin-bottom:0}
.featured-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.featured-card--one{grid-row:auto;grid-column:1/-1}.featured-card--one .featured-card__media{aspect-ratio:1.1}.featured-card--two{margin-top:0}.featured-card--three{grid-column:auto;margin:0}.featured-card--two .featured-card__media,.featured-card--three .featured-card__media{aspect-ratio:.82}.featured-card__caption{padding-top:13px;align-items:start}.featured-card__caption h3{font-size:clamp(19px,5vw,29px)}.featured-card__caption span{font-size:8px}.featured-card__caption>span{display:none}
.quote-band{padding:76px 0}.quote-band blockquote{font-size:clamp(30px,7vw,52px)}
.home-about__grid{grid-template-columns:1fr;gap:54px}.home-about__photo{margin:0 0 25px 14px;max-width:550px}.home-about__photo img{height:auto;aspect-ratio:.93;object-fit:cover}.home-about__frame{left:-14px;bottom:-20px}.home-about__copy p:not(.eyebrow){font-size:14px}
.home-posts{grid-template-columns:1fr;gap:45px}.home-posts .post-card:nth-child(3){display:none}.post-card__image{aspect-ratio:1.5}.post-card h3{font-size:29px}.post-card__meta{margin-top:16px}
.cta-section{min-height:520px}.cta-section h2{font-size:clamp(54px,10.5vw,77px)}.cta-section__content{padding-block:90px}
.page-intro{padding-top:calc(var(--header) + 85px);padding-bottom:55px}.page-intro__title{font-size:clamp(62px,11.5vw,95px);margin:15px 0 40px}.page-intro__bottom{align-items:start;flex-direction:column;gap:21px}.page-intro__bottom p{font-size:13px}.page-intro__bottom span{font-size:9px}
.filter-bar{flex-direction:column;gap:14px;margin-bottom:32px;padding:20px 0}.filter-bar__label{margin-top:0}.filter-bar__buttons{justify-content:start;gap:8px}.filter-btn{padding:9px 13px;font-size:11px}
.portfolio-grid{column-count:2;column-gap:15px}.work-card{margin-bottom:26px}.work-card__info{display:block}.work-card__info h3{font-size:23px}.work-card__place{display:block;text-align:left;margin-top:7px;white-space:normal}.work-card__info span{font-size:8px}.work-card__expand{width:36px;height:36px;opacity:1;transform:none;font-size:21px;bottom:11px;right:11px}.portfolio-count{margin-top:45px}
.next-project__inner{gap:10px 20px}.next-project h2{font-size:clamp(43px,8.5vw,68px)}.round-link{width:60px;height:60px;font-size:28px}
.lightbox{gap:10px;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.lightbox__bottom{align-items:center;flex-wrap:wrap;gap:8px 16px}.lightbox__details h2{font-size:23px}.lightbox__controls>span{display:none}.lightbox__controls{gap:5px}.lightbox__controls button{width:39px;height:39px;font-size:21px}
.page-intro--blog{padding-bottom:55px}.feature-post{grid-template-columns:1fr;min-height:unset}.feature-post__img{aspect-ratio:1.25}.feature-post__content{padding:35px 25px 40px}.feature-post__content h2{font-size:34px}.feature-post__meta{margin-bottom:14px}.feature-post__content>p{margin-bottom:25px}
.blog-grid{grid-template-columns:1fr 1fr;gap:42px 18px}.blog-grid .post-card__image{aspect-ratio:.95}.blog-grid .post-card h3{font-size:23px}.blog-grid .post-card p{font-size:12px}
.article-header{padding:calc(var(--header) + 60px) 0 48px}.article-header h1{font-size:clamp(45px,9.6vw,67px)}.article-header__excerpt{font-size:14px}.article-header .eyebrow{margin:29px 0 17px}.article-body{margin:58px auto 80px;font-size:15px;line-height:1.95}.article-body h2{font-size:32px;margin:45px 0 20px}.article-signoff{flex-direction:column;align-items:start}
.about-hero{padding-top:var(--header)}.about-hero__grid{grid-template-columns:1fr;gap:35px;padding-top:70px;padding-bottom:55px}.about-hero h1{font-size:clamp(54px,10.5vw,82px);margin:20px 0}.about-hero__copy>p:not(.eyebrow){font-size:14px}.about-hero__photo{min-height:unset;max-height:unset;aspect-ratio:.98}.about-hero__index{display:none}.about-story__grid{grid-template-columns:1fr;gap:20px}.about-story__text{padding:0}.about-break{height:340px}.about-break__label{right:20px;bottom:20px;font-size:9px}
.values-grid{grid-template-columns:1fr;gap:14px}.value-card{min-height:unset;padding:24px 25px 30px}.value-card__icon{margin:10px 0 17px;font-size:37px}.value-card h3{font-size:31px}
.faq-section__grid{grid-template-columns:1fr;gap:45px}.faq-list summary{font-size:14px;padding:23px 0}
.contact-page{padding-top:calc(var(--header) + 70px);padding-bottom:90px}.contact-page h1{font-size:clamp(57px,10.4vw,88px)}.contact-page__intro{margin-bottom:50px}.contact-page__grid{grid-template-columns:1fr;gap:65px}.contact-aside__photo{aspect-ratio:1.5}.contact-aside__meta{grid-template-columns:1fr 1fr;gap:20px}.contact-aside__meta a{font-size:19px}.form-row{grid-template-columns:1fr;gap:0}.contact-form-wrap>h2{font-size:37px}
.site-footer{padding-top:65px}.site-footer__top{grid-template-columns:1fr;gap:50px;padding-bottom:65px}.footer-brand{font-size:59px}.site-footer__links{gap:28px}.site-footer__bottom{flex-wrap:wrap;gap:12px}.site-footer__bottom>span:nth-child(2){display:none}
}
@media(max-width:410px){.brand__sub{display:none}.hero__scroll{display:none}.hero__controls{margin-left:auto}.hero__title{font-size:55px}.portfolio-grid{column-gap:11px}.work-card{margin-bottom:25px}.work-card__info h3{font-size:20px}.blog-grid{grid-template-columns:1fr;gap:47px}.blog-grid .post-card__image{aspect-ratio:1.4}.contact-aside__meta{grid-template-columns:1fr}.menu-overlay__link{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.page-curtain{display:none}}


/* =========================================================
   LABOLENS — przełączane motywy jasny / ciemny.
   Ustawienie data-theme jest nadawane w <head> przed CSS.
   ========================================================= */
body,
.page-intro,.journal-teaser,.next-project,.related-section,
.values-section,.about-hero,.quote-band,.feature-post,
.site-header.is-scrolled {
  transition:background-color .35s ease, color .35s ease, border-color .35s ease;
}

/* Dyskretny przełącznik przy animowanym menu. */
.brand__name { letter-spacing:-.065em; }
.site-header__right { gap:28px; }
.theme-toggle {
  position:relative;z-index:125;appearance:none;display:inline-flex;
  align-items:center;justify-content:center;gap:10px;min-height:40px;
  padding:7px 9px;background:transparent;color:inherit;border:1px solid currentColor;
  border-radius:25px;transition:color .3s ease,background .3s ease,transform .3s var(--ease);
}
.theme-toggle:hover {background:rgba(128,128,128,.13);transform:translateY(-2px)}
.theme-toggle__icon {display:grid;place-items:center;width:18px;height:18px;}
.theme-toggle__icon svg {width:18px;height:18px;display:block}
.theme-toggle__icon--sun {display:none}
.theme-toggle__label {font-size:9px;font-weight:700;letter-spacing:.15em;line-height:1}
html[data-theme="dark"] .theme-toggle__icon--moon {display:none}
html[data-theme="dark"] .theme-toggle__icon--sun {display:grid}

/* Zmienne kolorystyczne nadpisywane globalnie na każdej podstronie. */
html[data-theme="dark"] {
  --paper:#171918;
  --paper-deep:#242624;
  --ink:#f1eee9;
  --ink-soft:#c7c2ba;
  --night:#111312;
  --muted:#aaa59d;
  --accent:#d7b296;
  --accent-light:#e5ccb5;
  --line:rgba(239,235,226,.2);
}
html[data-theme="dark"] .site-header.is-scrolled {
  background:rgba(23,25,24,.96);
  box-shadow:0 1px 0 rgba(255,255,255,.1);
}
html[data-theme="dark"] .site-header.is-menu-open {background:transparent;box-shadow:none}
html[data-theme="dark"] .button--dark {background:#e9e5db;color:#171918}
html[data-theme="dark"] .button--dark:hover {background:var(--accent-light)}
html[data-theme="dark"] .button--dark .button__arrow {background:rgba(10,10,10,.09)}
html[data-theme="dark"] .hero .button--light,
html[data-theme="dark"] .cta-section .button--light {background:#eeeae1;color:#191a19}
html[data-theme="dark"] .hero .button--light:hover,
html[data-theme="dark"] .cta-section .button--light:hover {background:var(--accent-light)}
html[data-theme="dark"] .filter-btn {color:var(--ink-soft);border-color:var(--line)}
html[data-theme="dark"] .filter-btn:hover,
html[data-theme="dark"] .filter-btn.is-active {background:#ede6dd;color:#171918;border-color:#ede6dd}
html[data-theme="dark"] .quote-band {background:#39342f;color:#f2ede6}
html[data-theme="dark"] .quote-band em {color:var(--accent-light)}
html[data-theme="dark"] .quote-band__signature {color:#d1c5b9}
html[data-theme="dark"] .statement em {color:var(--accent-light)}
html[data-theme="dark"] .round-link {border-color:var(--ink)}
html[data-theme="dark"] .round-link:hover {background:var(--ink);color:var(--paper)}
html[data-theme="dark"] .about-hero {background:var(--paper-deep)}
html[data-theme="dark"] .about-hero__index {color:#a48b73;opacity:.13}
html[data-theme="dark"] .value-card {border-color:var(--line)}
html[data-theme="dark"] .value-card__icon {color:var(--accent)}
html[data-theme="dark"] .form-field input,
html[data-theme="dark"] .form-field select,
html[data-theme="dark"] .form-field textarea {border-bottom-color:#77766f}
html[data-theme="dark"] .form-field input:focus,
html[data-theme="dark"] .form-field select:focus,
html[data-theme="dark"] .form-field textarea:focus {border-bottom-color:var(--accent-light)}
html[data-theme="dark"] .form-field select option {color:#eee;background:#242624}
html[data-theme="dark"] .form-field input::placeholder,
html[data-theme="dark"] .form-field textarea::placeholder {color:#aaa59e}
html[data-theme="dark"] .form-consent input {border-color:#aba69d}
html[data-theme="dark"] .form-consent input:checked {background:var(--accent);border-color:var(--accent)}
html[data-theme="dark"] .form-consent input:checked::after {color:#171918}
html[data-theme="dark"] .form-status {color:#b7d0aa}
html[data-theme="dark"] .back-to-top {color:#f4f1ec}
html[data-theme="dark"] .text-link:hover {color:var(--accent-light)}
html[data-theme="dark"] .post-card h3 a:hover,
html[data-theme="dark"] .feature-post__content h2 a:hover {color:var(--accent-light)}
/* Wiele sekcji starszego szablonu ma dosłowne, jasnoszare wartości.
   W trybie ciemnym podpinamy je pod wspólną paletę. */
html[data-theme="dark"] .intro-section__side,
html[data-theme="dark"] .featured-card__caption span,
html[data-theme="dark"] .home-about__copy p:not(.eyebrow),
html[data-theme="dark"] .post-card__meta,
html[data-theme="dark"] .post-card p,
html[data-theme="dark"] .subsection-top,
html[data-theme="dark"] .feature-post__content>p,
html[data-theme="dark"] .article-back,
html[data-theme="dark"] .article-header__excerpt,
html[data-theme="dark"] .article-meta,
html[data-theme="dark"] .article-body,
html[data-theme="dark"] .about-hero__copy>p:not(.eyebrow),
html[data-theme="dark"] .about-story__text p,
html[data-theme="dark"] .value-card>span,
html[data-theme="dark"] .value-card p,
html[data-theme="dark"] .faq-section__grid>div>p:not(.eyebrow),
html[data-theme="dark"] .faq-list details p,
html[data-theme="dark"] .work-card__info span,
html[data-theme="dark"] .work-card__place,
html[data-theme="dark"] .contact-aside__meta span,
html[data-theme="dark"] .contact-aside__note,
html[data-theme="dark"] .form-field label,
html[data-theme="dark"] .form-consent span,
html[data-theme="dark"] .form-note {color:var(--ink-soft)}
html[data-theme="dark"] .form-field input,
html[data-theme="dark"] .form-field select,
html[data-theme="dark"] .form-field textarea {color:var(--ink)}
html[data-theme="dark"] .value-card h3 {color:var(--ink)}
html[data-theme="dark"] .post-card__more {border-color:var(--ink-soft)}
html[data-theme="dark"] .faq-list summary {color:var(--ink)}
html[data-theme="dark"] .site-footer {background:#101211}
/* Styl systemowego suwaka daty / pól w ciemnym motywie. */
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {color-scheme:dark}
@media (max-width:760px) {
  .site-header__right {gap:10px}
  .menu-toggle {gap:12px;padding-left:4px}
  .theme-toggle {width:39px;height:39px;min-height:39px;padding:6px;border-radius:50%}
  .theme-toggle__label {display:none}
  .brand__name {font-size:24px}
}
@media (max-width:410px) {
  .site-header__right {gap:7px}
  .brand__name {font-size:23px}
}
@media (prefers-reduced-motion:reduce) {
  body,.page-intro,.journal-teaser,.next-project,.related-section,.values-section,.about-hero,.quote-band,.feature-post,.site-header.is-scrolled {transition:none}
}

/* ===== LABOLENS 2 — kolorystyka menu według wybranego motywu ===== */
:root {
  --menu-bg:#ede7de;
  --menu-ink:#252522;
  --menu-muted:#686059;
  --menu-highlight:#8a644b;
  --menu-border:rgba(39,37,33,.25);
}
html[data-theme="dark"] {
  --menu-bg:#1e1f1e;
  --menu-ink:#f5f2ec;
  --menu-muted:#c9c6bf;
  --menu-highlight:#dcc6b1;
  --menu-border:rgba(255,255,255,.2);
}
.menu-overlay {background:var(--menu-bg);color:var(--menu-ink);transition:background-color .35s ease,clip-path .92s var(--ease),visibility 0s .92s}
.menu-overlay.is-open {transition:background-color .35s ease,clip-path .85s var(--ease),visibility 0s}
.site-header.is-menu-open, .is-home .site-header.is-menu-open,
html[data-theme="dark"] .site-header.is-menu-open {color:var(--menu-ink);background:transparent;box-shadow:none}
.menu-overlay__eyebrow {color:var(--menu-highlight)}
.menu-overlay__num {color:var(--menu-highlight)}
.menu-overlay__link:hover, .menu-overlay__link[aria-current],
.menu-overlay__sublink:hover, .menu-overlay__sublink[aria-current] {color:var(--menu-highlight)}
.menu-overlay__bottom {border-color:var(--menu-border);color:var(--menu-muted)}
.menu-overlay__bottom a:hover {color:var(--menu-highlight)}
/* Portfolio ma stale widoczną listę wciętą pod głównym linkiem.
   To zwykłe odnośniki, bez przycisku czy mechanizmu rozwijania. */
.menu-overlay__group {display:block}
.menu-overlay__submenu {list-style:none;margin:3px 0 12px;padding:0 0 0 58px}
.menu-overlay__submenu li {margin:0;padding:0;line-height:1.32}
.menu-overlay__sublink {display:inline-block;padding:3px 0;font:400 clamp(16px,1.45vw,21px)/1.33 var(--sans);letter-spacing:.005em;color:var(--menu-muted);transition:color .25s ease,transform .35s var(--ease)}
.menu-overlay__sublink:hover {transform:translateX(6px)}
.menu-overlay__link.is-section-active {color:var(--menu-highlight)}
.menu-overlay__link {font-size:clamp(44px,5.1vw,69px);padding:1px 0}
.menu-overlay__inner {padding-top:clamp(101px,12vh,140px);padding-bottom:32px}
.menu-overlay__eyebrow {margin-bottom:22px}
.menu-overlay__bottom {margin-top:26px}
@media(max-width:760px){
  .menu-overlay__link {font-size:clamp(37px,9vw,54px);padding:2px 0;gap:15px}
  .menu-overlay__inner {padding-top:101px}
  .menu-overlay__submenu {padding-left:35px;margin:0 0 9px}
  .menu-overlay__sublink {font-size:15px;padding:2px 0;line-height:1.35}
  .menu-overlay__bottom {margin-top:26px}
}
@media(max-width:410px){
  .menu-overlay__link {font-size:clamp(34px,8.5vw,43px);gap:10px}
  .menu-overlay__sublink {font-size:14px}
}
/* ===== Strona startowa portfolio: cztery niezależne galerie ===== */
.portfolio-categories {padding-top:5px}
.portfolio-categories__top {display:flex;justify-content:space-between;gap:20px;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:28px;font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--ink-soft)}
.category-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 34px}
.category-card {display:block;min-width:0}
.category-card__image {overflow:hidden;position:relative;background:var(--paper-deep);aspect-ratio:1.12}
.category-card:nth-child(even) .category-card__image {aspect-ratio:1.28}
.category-card__image img {height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.category-card:hover .category-card__image img {transform:scale(1.065);}
.category-card__caption {display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:18px}
.category-card__caption>div>span {font-size:9px;letter-spacing:.18em;color:var(--ink-soft);font-weight:700}
.category-card__caption h2 {font:400 clamp(28px,3.4vw,52px)/1.2 var(--serif);letter-spacing:-.05em;margin:6px 0 0}
.category-card__caption h2 em {color:var(--accent);font-weight:400}
.category-card__arrow {width:57px;height:57px;display:grid;place-items:center;border-radius:100%;border:1px solid var(--line);font-size:28px;flex:none;transition:background .3s,transform .3s,color .3s}
.category-card:hover .category-card__arrow {background:var(--ink);color:var(--paper);transform:rotate(45deg)}
.page-intro--category {padding-bottom:66px}
.category-back {display:inline-flex;margin-bottom:28px;font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--ink-soft)}
.category-back:hover {color:var(--accent)}
.portfolio-section--category {padding-top:0}
.portfolio-section--category .portfolio-categories__top {margin-bottom:38px}
@media(max-width:760px){
  .category-grid {grid-template-columns:1fr;gap:38px}
  .category-card__image,.category-card:nth-child(even) .category-card__image {aspect-ratio:1.18}
  .category-card__caption h2 {font-size:clamp(31px,7vw,45px)}
  .category-card__arrow {width:45px;height:45px;font-size:22px}
  .page-intro--category .page-intro__title {font-size:clamp(52px,11vw,83px)}
  .portfolio-categories__top {font-size:9px}
}
/* Animacje menu nie opóźniają informacji dla użytkowników preferujących ograniczony ruch. */
@media(prefers-reduced-motion:reduce){
  .menu-overlay.is-open .menu-overlay__link {transition-delay:0s!important}
}
@media(max-width:760px){
  .menu-overlay.is-open .menu-overlay__link {transition-delay:0s}
}

/* ===== OFERTA / cztery specjalizacje ===== */
.page-intro--offer {padding-bottom:94px}
.offer-intro__inner {display:grid;grid-template-columns:minmax(180px,.6fr) minmax(280px,1.5fr) minmax(180px,.9fr);align-items:start;gap:32px;padding-top:44px;border-top:1px solid var(--line)}
.offer-intro__inner h2 {font:400 clamp(31px,3.2vw,51px)/1.24 var(--serif);letter-spacing:-.05em;margin:0}
.offer-intro__inner h2 em,.offer-service h2 em,.offer-process h2 em {color:var(--accent);font-weight:400}
.offer-intro__inner>p:last-child {font-size:14px;line-height:1.9;color:var(--ink-soft);max-width:330px}
.offer-service {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,7vw,118px);align-items:center;margin-bottom:110px}
.offer-service:last-child {margin-bottom:0}
.offer-service:nth-child(even) .offer-service__media {order:2}
.offer-service__media {min-height:400px;aspect-ratio:1.1;overflow:hidden;background:var(--paper-deep)}
.offer-service__media img {height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.offer-service:hover .offer-service__media img {transform:scale(1.035)}
.offer-service__content {max-width:535px;padding-block:30px}
.offer-service__number {font:700 10px/1.5 var(--sans);letter-spacing:.16em;color:var(--ink-soft);margin-bottom:26px}
.offer-service h2 {font:400 clamp(36px,4.4vw,66px)/1.13 var(--serif);letter-spacing:-.06em;margin-bottom:23px}
.offer-service__lead {color:var(--ink-soft);font-size:15px;line-height:1.95;margin-bottom:32px}
.offer-service h3 {font:700 11px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px}
.offer-service__details {padding:0;margin:0 0 31px;list-style:none;border-top:1px solid var(--line)}
.offer-service__details li {border-bottom:1px solid var(--line);padding:10px 0;font-size:13px;color:var(--ink-soft)}
.offer-service__details li:before {content:'↗';color:var(--accent);margin-right:12px}
.offer-process {background:var(--paper-deep)}
.offer-process__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:33px;margin-top:38px}
.offer-process__step {border-top:1px solid var(--line);padding-top:24px}
.offer-process__step>span {font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--ink-soft)}
.offer-process__step h3 {font:400 clamp(26px,2.4vw,38px)/1.25 var(--serif);letter-spacing:-.04em;margin:23px 0 15px}
.offer-process__step p {color:var(--ink-soft);max-width:315px;line-height:1.8;font-size:14px}
@media(max-width:960px){
  .offer-intro__inner {grid-template-columns:1fr 1fr;gap:20px 35px}
  .offer-intro__inner>.eyebrow {grid-column:1/-1}
  .offer-service {gap:36px;margin-bottom:75px}
  .offer-service__media {min-height:310px}
}
@media(max-width:760px){
  .page-intro--offer {padding-bottom:52px}
  .offer-intro__inner {grid-template-columns:1fr;gap:18px}
  .offer-intro__inner>.eyebrow {grid-column:auto}
  .offer-intro__inner>p:last-child {max-width:550px}
  .offer-service {grid-template-columns:1fr;gap:18px;margin-bottom:75px}
  .offer-service:nth-child(even) .offer-service__media {order:0}
  .offer-service__media {min-height:unset;aspect-ratio:1.22}
  .offer-service__content {padding-block:14px}
  .offer-service__number {margin-bottom:15px}
  .offer-service h2 {font-size:clamp(40px,9vw,58px)}
  .offer-service__lead {font-size:14px;line-height:1.8}
  .offer-process__grid {grid-template-columns:1fr;gap:24px}
  .offer-process__step h3 {margin-top:15px}
}

/* =============================================================
   LABOLENS V4 — menu / logotyp Labolens / strona Klienci
   ============================================================= */
/* Większe pionowe odstępy + brak przycinania wysokich liter
   (poprzednio overflow:hidden ucinał m.in. dolną część „Blog”). */
.menu-overlay {overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.menu-overlay__inner {
  min-height:100svh;
  padding-top:clamp(100px,11.5vh,126px);
  padding-bottom:32px;
}
.menu-overlay__links {flex:0 0 auto;max-width:880px}
.menu-overlay__link {
  overflow:visible;
  font-size:clamp(39px,4.65vw,64px);
  line-height:1.22;
  padding:5px 0;
  margin:2px 0;
}
.menu-overlay__submenu {margin:5px 0 15px;padding-left:58px}
.menu-overlay__sublink {line-height:1.38;padding:2px 0}
.menu-overlay__eyebrow {margin-bottom:19px}
.menu-overlay__bottom {flex:0 0 auto;margin-top:33px}
/* Znak K z podstrony O mnie jest usunięty również w HTML. */
.about-hero__index {display:none!important}

/* Klienci: przejrzysta siatka logotypów. */
.page-intro--clients {padding-bottom:96px}
.clients-section {padding-bottom:132px}
.clients-section .section-heading {margin-bottom:48px}
.clients-logos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.clients-logo {
  width:100%;
  min-width:0;
  min-height:185px;
  aspect-ratio:1.65;
  padding:26px;
  display:flex;
  justify-content:center;
  align-items:center;
  background:transparent;
  border:0;
  transition:transform .5s var(--ease);
}
.clients-logo:hover {transform:translateY(-4px)}
.clients-logo img {display:block;min-width:0;width:100%;max-width:100%;height:100%;max-height:150px;object-fit:contain}
.clients-demo-note {font-size:11px;line-height:1.7;color:var(--ink-soft);max-width:570px;margin:25px 0 0}

/* Opinie: slajdy przesuwane w osi X; kontrolki, licznik, pauza
   po najechaniu i podczas obsługi klawiaturą są w main.js. */
.testimonials-section {background:var(--paper-deep)}
.testimonials-layout {display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);gap:clamp(50px,7.5vw,135px);align-items:center}
.testimonials-intro .display-heading {margin-bottom:27px}
.testimonials-intro>p:not(.eyebrow) {font-size:14px;line-height:1.85;max-width:365px;color:var(--ink-soft)}
.testimonials-intro .clients-demo-note {font-size:11px;margin-top:14px}
.testimonials-slider {min-width:0;position:relative;border-top:1px solid var(--line);outline-offset:9px}
.testimonials-viewport {overflow:hidden;width:100%}
.testimonials-track {display:flex;will-change:transform;transition:transform .78s var(--ease)}
.testimonial-slide {min-width:100%;flex:0 0 100%;margin:0;padding:45px 8px 22px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.testimonial-slide__mark {height:60px;font:400 96px/.9 var(--serif);color:var(--accent);margin-bottom:20px}
.testimonial-slide blockquote {font:400 clamp(28px,3.15vw,48px)/1.46 var(--serif);letter-spacing:-.045em;color:var(--ink);margin:0 0 32px}
.testimonial-slide figcaption {display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.035em}
.testimonial-slide figcaption strong {font-weight:700;color:var(--ink)}
.testimonial-slide figcaption span {color:var(--ink-soft);font-size:10px;letter-spacing:.13em}
.testimonials-controls {display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-top:25px}
.testimonials-progress {display:flex;gap:13px;align-items:center;font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.testimonials-progress__line {width:112px;height:2px;background:var(--line)}
.testimonials-progress__line span {display:block;width:33.333%;height:100%;background:var(--accent);transition:width .6s var(--ease)}
.testimonials-arrows {display:flex;gap:9px}
.testimonials-arrows button {width:47px;height:47px;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink);font-size:23px;display:grid;place-items:center;transition:color .3s,background .3s,border-color .3s}
.testimonials-arrows button:hover {background:var(--ink);color:var(--paper);border-color:var(--ink)}
.testimonials-dots {display:flex;gap:10px;margin-top:23px}
.testimonials-dot {width:7px;height:7px;border-radius:50%;border:0;padding:0;background:var(--muted);opacity:.42;transition:width .3s,opacity .3s,background .3s}
.testimonials-dot.is-active {width:25px;border-radius:5px;opacity:1;background:var(--accent)}
.visually-hidden {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}

@media (max-width:1050px) {
  .menu-overlay__link {font-size:clamp(38px,5.2vw,54px);padding:5px 0}
  .testimonials-layout {gap:45px;grid-template-columns:minmax(220px,.85fr) minmax(0,1fr)}
  .testimonial-slide blockquote {font-size:clamp(25px,3.25vw,36px)}
}
@media (max-width:760px) {
  .menu-overlay__inner {padding-top:93px;padding-bottom:30px}
  .menu-overlay__link {font-size:clamp(35px,8.1vw,49px);line-height:1.21;padding:5px 0;margin:2px 0;gap:15px}
  .menu-overlay__submenu {padding-left:35px;margin:3px 0 12px}
  .menu-overlay__sublink {font-size:14px;padding:2px 0;line-height:1.38}
  .menu-overlay__bottom {margin-top:27px}
  .page-intro--clients {padding-bottom:55px}
  .clients-section {padding-bottom:80px}
  .clients-section .section-heading {margin-bottom:30px}
  .clients-logos {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .clients-logo {min-height:120px;padding:12px;aspect-ratio:1.35}
  .testimonials-layout {grid-template-columns:1fr;gap:38px}
  .testimonials-intro .display-heading {font-size:clamp(43px,9vw,64px)}
  .testimonial-slide {padding-top:30px}
  .testimonial-slide blockquote {font-size:clamp(28px,6.4vw,43px)}
}
@media (max-width:390px) {
  .menu-overlay__link {font-size:33px;line-height:1.17;padding:4px 0}
  .menu-overlay__sublink {font-size:13px}
  .testimonials-progress__line {width:67px}
  .clients-logo {min-height:105px}
}
@media (prefers-reduced-motion:reduce) {
  .testimonials-track {transition:none}
  .clients-logo {transition:none}
}


/* ===== LABOLENS V6 — podpis w dwóch liniach, wordmark Instagram i powiększenie menu ===== */
.brand__sub {
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:none;
  max-width:none;
  white-space:normal;
  font-size:9px;
  line-height:1.25;
  letter-spacing:.07em;
  padding-left:12px;
}
.brand__sub > span {display:block;white-space:nowrap}
.site-header__right {gap:clamp(12px,1.65vw,28px)}
.header-instagram {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:8px 0;
  line-height:1;
  transition:transform .32s var(--ease),opacity .22s ease;
}
.header-instagram:hover {transform:translateY(-2px) scale(1.025);opacity:.85}
.header-instagram__wordmark {
  width:clamp(100px,9vw,130px);
  height:auto;
  display:block;
  filter:brightness(0);
  transition:filter .3s ease;
}
/* Czarne litery w jasnym nagłówku i białe na ciemnym lub zdjęciowym tle. */
html[data-theme="dark"] .header-instagram__wordmark,
.is-home .site-header:not(.is-scrolled):not(.is-menu-open) .header-instagram__wordmark {
  filter:brightness(0) invert(1);
}
html[data-theme="light"] .site-header.is-menu-open .header-instagram__wordmark {
  filter:brightness(0);
}
html[data-theme="dark"] .site-header.is-menu-open .header-instagram__wordmark {
  filter:brightness(0) invert(1);
}
.header-instagram:focus-visible {outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}

/* Zamiast połysku: delikatne powiększenie samych liter, bez ruchu całego linku. */
.menu-overlay__link {overflow:visible}
.menu-overlay__text {
  display:inline-block;
  transform:scale(1);
  transform-origin:left center;
  transition:transform .35s var(--ease);
}
.menu-overlay__link:hover .menu-overlay__text,
.menu-overlay__link:focus-visible .menu-overlay__text,
.menu-overlay__sublink:hover .menu-overlay__text,
.menu-overlay__sublink:focus-visible .menu-overlay__text {
  transform:scale(1.045);
}
@media(max-width:1100px) {
  .site-header__right {gap:13px}
  .brand__sub {font-size:8px;letter-spacing:.04em}
  .header-instagram__wordmark {width:112px}
}
@media(max-width:760px) {
  .site-header {padding-inline:24px}
  .header-instagram__wordmark {width:100px}
  .brand__sub {font-size:8px;letter-spacing:.02em}
}
@media(max-width:530px) {
  .site-header {padding-inline:18px}
  .site-header__right {gap:10px}
  .brand {gap:8px}
  .brand__name {font-size:22px}
  .brand__sub {font-size:7px;padding-left:8px;display:flex}
  .header-instagram__wordmark {width:81px}
  .menu-toggle {gap:9px}
  .menu-toggle__word {display:none}
}
@media(max-width:390px) {
  .site-header {padding-inline:12px}
  .site-header__right {gap:7px}
  .brand {gap:6px}
  .brand__name {font-size:20px}
  .brand__sub {font-size:7px;letter-spacing:0;padding-left:6px;display:flex}
  .header-instagram__wordmark {width:68px}
  .theme-toggle {width:34px;height:34px;min-height:34px}
  .menu-toggle {gap:0;padding-left:0}
  .menu-toggle__icon {width:26px}
  .menu-toggle__icon i {width:26px}
  .menu-toggle__icon i:last-child {width:18px}
}
@media(prefers-reduced-motion:reduce) {
  .header-instagram {transition:none}
  .menu-overlay__text {transition:none}
  .menu-overlay__link:hover .menu-overlay__text,
  .menu-overlay__link:focus-visible .menu-overlay__text,
  .menu-overlay__sublink:hover .menu-overlay__text,
  .menu-overlay__sublink:focus-visible .menu-overlay__text {transform:none}
}

/* Zdjęcia w pełnych rzędach: od jednego do czterech kadrów. */
.article-photo {margin:42px 0;min-width:0}
.article-photo a {display:block;border-radius:2px;overflow:hidden;background:var(--paper-deep)}
.article-photo a:focus-visible {outline:3px solid var(--accent);outline-offset:5px}
.article-photo img {display:block;width:100%;height:auto}
.article-photo figcaption {margin-top:12px;font-size:13px;line-height:1.7;color:var(--ink-soft)}
.article-photo--wide {width:100%;margin-left:0;transform:none}
.article-gallery {display:flex;flex-direction:column;gap:22px;margin:42px 0}
.article-gallery__row {display:flex;gap:22px;align-items:flex-start}
.article-gallery .article-photo {flex:var(--photo-ratio,1) 1 0;min-width:0;margin:0}
.article-gallery .article-photo a {display:block;aspect-ratio:var(--photo-ratio,auto)}
.article-gallery .article-photo img {width:100%;height:auto;display:block}
.article-gallery .article-photo--full {width:100%}
.article-session-info {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:25px 0;margin:32px 0 42px;border-block:1px solid var(--line)}
.article-session-info div {min-width:0}
.article-session-info dt {font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.article-session-info dd {margin:8px 0 0;color:var(--ink);font-size:14px;line-height:1.6}
.article-demo-note {padding:20px 24px;border-left:3px solid var(--accent);background:var(--paper-deep);font-size:14px;line-height:1.8;color:var(--ink)}
@media(min-width:701px) and (max-width:1000px){
  .article-gallery__row {flex-wrap:wrap}
  .article-gallery__row .article-photo {flex-basis:calc(50% - 11px)}
  .article-gallery.is-justified .article-photo {flex-basis:0}
}
@media(max-width:700px){
  .article-photo--wide {width:100%;margin-left:0;transform:none}
  .article-gallery__row {flex-direction:column;gap:28px}
  .article-gallery .article-photo {width:100%;flex:none}
  .article-gallery {gap:28px}
  .article-session-info {grid-template-columns:1fr;gap:16px}
}

/* Polityka prywatności i dyskretny baner zgody. */
.privacy-page {padding:calc(var(--header) + 70px) 0 100px}
.privacy-page__header,.privacy-content {max-width:860px;margin-inline:auto}
.privacy-page h1 {font:400 clamp(42px,6vw,78px)/1.15 var(--serif);letter-spacing:-.04em;margin:20px 0 55px;overflow-wrap:anywhere}
.privacy-content {color:var(--ink-soft);font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.privacy-content section {margin-top:40px}
.privacy-content h2 {font:400 clamp(25px,3vw,35px)/1.3 var(--serif);color:var(--ink);margin-bottom:22px}
.privacy-content ul {padding-left:23px}
.privacy-content li {margin-bottom:16px}
.site-footer__bottom {flex-wrap:wrap}
.site-footer__legal {display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.site-footer__legal button {padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left}
.site-footer__legal a:hover,.site-footer__legal button:hover {color:var(--accent-light)}
.site-footer__legal button[hidden] {display:none}
body {padding-bottom:var(--cookie-banner-space,0px)}
.cookie-banner {position:fixed;z-index:150;bottom:16px;left:16px;right:16px;margin-inline:auto;max-width:1100px;max-height:calc(100dvh - 32px);overflow-y:auto;display:flex;gap:28px;align-items:center;padding:22px 26px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 35px rgba(0,0,0,.16);border-radius:4px}
.cookie-banner[hidden] {display:none}
.cookie-banner__copy {flex:1;min-width:0}
.cookie-banner h2 {font:400 24px/1.3 var(--serif);margin:0 0 7px}
.cookie-banner p {font-size:13px;line-height:1.7;margin:0 0 6px;color:var(--ink-soft)}
.cookie-banner__policy {font-size:12px;text-decoration:underline;text-underline-offset:3px}
.cookie-banner .cookie-banner__status {margin:8px 0 0}
.cookie-banner__status:empty {display:none}
.cookie-banner__actions {display:flex;gap:10px;flex-shrink:0}
.cookie-banner__actions button {min-height:44px;padding:11px 19px;border:1px solid var(--ink-soft);border-radius:2px;background:transparent;color:var(--ink);font-size:13px;font-weight:600}
.cookie-banner__actions button:hover {background:var(--paper-deep)}
.cookie-banner :focus-visible,.site-footer__legal :focus-visible {outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:760px){
  .privacy-page {padding-top:calc(var(--header) + 45px)}
  .privacy-content {font-size:15px}
  .cookie-banner {flex-direction:column;align-items:stretch;gap:14px;padding:18px;bottom:10px;left:10px;right:10px;max-height:calc(100dvh - 20px)}
  .cookie-banner__actions button {flex:1}
}

/* Pełny kadr w podglądzie: podpis i kontrolki mają własny wiersz. */
.lightbox__details {min-width:0;overflow-wrap:anywhere}
.lightbox__details h2 {max-width:65ch}
.lightbox__controls {flex-shrink:0}
@media(max-height:480px){.lightbox{gap:6px;padding-block:8px}.lightbox__details h2{font-size:20px}.lightbox__close{min-height:32px}.lightbox__controls button{width:36px;height:36px}}

.article-cover>a {display:block;width:100%;height:100%}
.article-cover>a:focus-visible {outline:3px solid var(--accent);outline-offset:-4px}


/* Odstępy między sekcjami i listą wpisów. */
.journal-teaser.section-pad--topless,.featured-section.section-pad--topless {padding-top:clamp(28px,3vw,48px)}
.blog-featured {padding-bottom:clamp(32px,4vw,56px)}
.blog-list-section {padding-top:clamp(32px,4vw,56px)}

/* Siatka portfolio: poziomy kadr zajmuje dwa z czterech torów. */
.portfolio-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;column-count:auto;gap:40px 27px;align-items:start}
.portfolio-grid .work-card {margin:0;align-self:start}
.portfolio-grid .work-card--landscape {grid-column:span 2;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.portfolio-grid .work-card--landscape .work-card__image {flex-shrink:0}
@media(max-width:760px){
  .portfolio-grid {display:block;column-count:2;column-gap:15px}
  .portfolio-grid .work-card,.portfolio-grid .work-card--landscape {display:inline-block;margin:0 0 26px;grid-column:auto;align-self:auto}
  .work-card--landscape {grid-column:span 1}
}
@media(max-width:410px){.portfolio-grid{column-gap:11px}}

/* Karuzela kategorii: bez JS pozostaje lista wszystkich odnośników. */
.category-carousel__controls {display:none}
.category-carousel:not(.is-ready) .category-card {opacity:1;transform:none}
.category-carousel.is-ready {--card-width:300px;position:relative;isolation:isolate;touch-action:pan-y;outline-offset:8px}
.category-carousel.is-ready .category-grid {display:block;position:relative;height:calc(var(--card-width) * 16 / 9 + 160px);overflow:clip;margin-inline:0}
.category-carousel.is-ready .category-card {position:absolute;top:calc(var(--distance) * 20px);left:50%;width:var(--card-width);z-index:calc(5 - var(--distance));transform:translateX(calc(-50% + var(--shift))) scale(var(--scale));transform-origin:center top;opacity:calc(1 - var(--distance) * .23);filter:blur(calc(var(--distance) * 1.4px));transition:transform .7s var(--ease),filter .7s,opacity .7s;will-change:transform}
.category-carousel.is-ready .category-card.is-current {z-index:6;filter:none;opacity:1}
.category-carousel.is-ready .category-card__image,.category-carousel.is-ready .category-card:nth-child(even) .category-card__image {aspect-ratio:9/16;transition:aspect-ratio .7s}
.category-carousel.is-ready .category-card__caption>div {min-width:0}
.category-carousel.is-ready .category-card__caption h2 {font-size:clamp(27px,2.6vw,39px);overflow-wrap:anywhere}
.category-carousel.is-ready .category-card__caption>div>span {font-size:8px}
.category-carousel.is-ready .category-card__arrow {width:42px;height:42px;font-size:23px}
.category-carousel.is-ready .category-carousel__controls {display:flex;justify-content:center;align-items:center;gap:28px;margin-top:24px}
.category-carousel__controls button {width:64px;height:64px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:30px}
.category-carousel__controls button:hover {background:var(--ink);color:var(--paper)}
@media(max-width:760px){
  .category-carousel.is-ready {--card-width:65vw}
  .category-carousel__controls button {width:56px;height:56px}
  .category-carousel.is-ready .category-card__caption h2 {font-size:clamp(25px,6vw,34px)}
  .category-carousel.is-ready .category-card__arrow {width:32px;height:32px;font-size:20px}
  .category-carousel.is-ready .category-carousel__controls {gap:15px}
}
@media(prefers-reduced-motion:reduce){.category-carousel.is-ready .category-card,.category-carousel.is-ready .category-card__image{transition:none}}


/* Pięć rzuconych kart: własne zdjęcia każdej kategorii i osobne przejścia. */
.story-cards {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:45px 20px;padding:30px 12px 50px}
.story-card {--tilt:-6deg;--drop:25px;grid-column:span 4;justify-self:center;width:100%;max-width:310px;padding:12px 12px 22px;background:var(--paper);box-shadow:0 9px 25px #19171320;transform:translateY(var(--drop)) rotate(var(--tilt));transition:transform .5s var(--ease),box-shadow .5s;position:relative;z-index:1}
.story-card--2 {--tilt:4deg;--drop:0px}
.story-card--3 {--tilt:-4deg;--drop:45px}
.story-card--4 {--tilt:5deg;--drop:-5px;grid-column:3/span 4}
.story-card--5 {--tilt:-5deg;--drop:20px;grid-column:7/span 4}
.story-card:hover,.story-card:focus-visible {transform:translateY(calc(var(--drop) - 8px)) rotate(0deg);box-shadow:0 16px 34px #19171335;z-index:3}
.story-card__image {position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-deep)}
.story-card__image img {display:block;width:100%;height:100%;object-fit:cover}
.story-card__image .story-card__incoming {position:absolute;inset:0;opacity:0;transition:opacity .45s ease}
.story-card__image .story-card__incoming.is-visible {opacity:1}
.story-card__caption {padding:18px 5px 0}
.story-card__caption>span:first-child {font-size:8px;letter-spacing:.13em;color:var(--ink-soft);font-weight:700}
.story-card__caption h3 {font:400 clamp(25px,2.5vw,32px)/1.17 var(--serif);letter-spacing:-.025em;margin:9px 0 10px}
.story-card__caption p {font-size:12px;line-height:1.7;color:var(--ink-soft);margin:0 0 16px}
.story-card__cta {font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--accent)}
.article-body {margin-top:32px}
@media(max-width:1000px){
 .story-cards {grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 30px;padding-inline:18px}
 .story-card,.story-card--4,.story-card--5 {grid-column:span 2;max-width:290px}
 .story-card--5 {grid-column:2/span 2}
}
@media(max-width:600px){
 .story-cards {grid-template-columns:1fr;gap:38px;padding:12px 22px 35px}
 .story-card,.story-card--4,.story-card--5 {grid-column:1;--drop:0px;max-width:280px}
 .story-card__caption h3 {font-size:29px}
 .article-body {margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.story-card,.story-card__image .story-card__incoming{transition:none}}

/* Papierowe karty pozostają jasne także na ciemnym tle strony. */
html[data-theme="dark"] .story-card {
  background:#f1eee9;color:#20201e;
  --ink:#20201e;--ink-soft:#595750;--accent:#785539;--paper-deep:#e4e0d7;
}

/* Ograniczenie standardowego kopiowania treści i przeciągania zdjęć. */
body {-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
img {-webkit-user-drag:none}
input,textarea,[contenteditable]:not([contenteditable="false"]) {
  -webkit-user-select:text;user-select:text;-webkit-touch-callout:default;
}
