:root { color-scheme:light; --paper:#e9e7e2; --white:#f3f1ed; --sand:#dbd8d1; --ink:#2c2e2b; --muted:#5c5f58; --accent:#5c6055; --line:#c3c4bb; --serif:"Cormorant Garamond",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Manrope",sans-serif; font-size:14px; line-height:1.75; }
body.modal-open { overflow:hidden; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; cursor:pointer; }
img { display:block; max-width:100%; }
figure { margin:0; }
:is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
[hidden] { display:none!important; }
.container { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:16px; padding:12px 20px; background:var(--white); z-index:100; }
.skip-link:focus { top:12px; }
.topbar { position:sticky; top:0; z-index:20; background:rgba(233,231,226,.97); border-bottom:1px solid var(--line); }
.topbar-inner,.topbar-tools,nav,.lang-switch { display:flex; align-items:center; }
.topbar-inner { justify-content:space-between; height:94px; gap:32px; }
.logo { font-family:var(--serif); font-size:32px; font-weight:600; letter-spacing:.16em; text-decoration:none; line-height:1; }
.topbar-tools { gap:36px; }
nav { gap:27px; }
nav a { font-size:12px; text-decoration:none; white-space:nowrap; padding:10px 0; }
nav a:hover,.text-link:hover { color:var(--accent); }
nav a:last-child { border-bottom:1px solid var(--accent); }
.lang-switch { gap:2px; border-left:1px solid var(--line); padding-left:22px; }
.lang-btn { padding:8px; background:none; border:0; font-size:11px; color:var(--muted); min-height:40px; }
.lang-btn.active { color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:6px; }
.menu-toggle { display:none; }
section { padding:96px 0; }
.eyebrow { display:block; color:var(--accent); font-size:10px; font-weight:600; line-height:1.6; letter-spacing:.19em; text-transform:uppercase; }
.hero { padding:40px 0 48px; }
.hero-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:60px; align-items:center; }
.hero-copy { padding:28px 0; }
h1 { font-family:var(--serif); font-size:clamp(52px,5.5vw,80px); font-weight:400; line-height:1.04; letter-spacing:-.045em; margin:27px 0; }
h1 span,h1 em { display:block; }
h1 em { color:var(--accent); font-weight:400; }
.hero-copy>p { max-width:410px; line-height:1.95; color:var(--muted); margin:0; }
.hero-actions { display:flex; gap:28px; align-items:center; flex-wrap:wrap; margin-top:32px; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:30px; min-height:50px; padding:13px 24px; border:1px solid var(--ink); background:transparent; text-decoration:none; font-size:11px; font-weight:600; transition:background .2s,color .2s; }
.btn.primary { background:#343832; border-color:#343832; color:var(--white); }
.btn.primary:hover { background:#22251f; border-color:#22251f; }
.btn>[aria-hidden] { font-size:19px; font-weight:400; line-height:1; }
.text-link { display:inline-flex; align-items:center; gap:18px; font-size:11px; text-decoration:none; border-bottom:1px solid var(--line); padding:6px 0; }
.hero-location { display:flex; align-items:center; gap:14px; color:var(--muted); margin-top:58px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.small-line { width:36px; height:1px; background:var(--accent); }
.hero-image { position:relative; }
.hero-image>img { width:100%; height:clamp(480px,43vw,620px); object-fit:cover; object-position:58% center; }
.hero-image figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:13px; color:var(--muted); font-size:10px; letter-spacing:.03em; }
.image-link { position:absolute; bottom:56px; right:22px; display:grid; place-items:center; width:48px; height:48px; background:var(--paper); text-decoration:none; font-size:24px; }
.image-link:hover { background:var(--sand); }
.intro-strip { border-block:1px solid var(--line); }
.intro-strip-inner { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-block:28px; }
.intro-strip .eyebrow { flex:0 0 35%; }
.intro-strip p { margin:0; max-width:580px; font-size:13px; color:var(--muted); }
.section-title { font-family:var(--serif); font-weight:400; font-size:clamp(36px,3.7vw,53px); line-height:1.12; letter-spacing:-.025em; margin:18px 0 22px; }
.section-intro { max-width:640px; color:var(--muted); margin:0 0 40px; }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); margin-top:44px; }
.card { padding:30px 32px 0; border-right:1px solid var(--line); }
.card:first-child { padding-left:0; }
.card:last-child { border-right:0; padding-right:0; }
.card-number { display:block; color:var(--accent); font-size:11px; letter-spacing:.1em; margin-bottom:23px; }
.card strong { display:block; font-family:var(--serif); font-weight:500; font-size:29px; line-height:1.2; }
.card ul { padding:0; list-style:none; margin:20px 0 0; color:var(--muted); font-size:12px; }
.card li { position:relative; padding-left:15px; margin-top:10px; }
.card li::before { content:""; position:absolute; left:0; top:.85em; width:4px; height:1px; background:var(--accent); }
#dla-kogo { padding:55px 0; background:var(--sand); }
#dla-kogo .section-title { font-size:34px; margin-top:0; }
#dla-kogo .section-intro { font-size:13px; max-width:770px; margin-bottom:28px; }
.client-list { display:flex; flex-wrap:wrap; gap:12px 30px; }
.chip { color:var(--ink); font-size:11px; padding:10px 0; border-top:1px solid #c9c5ba; }
.approach-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.approach-image img { width:100%; height:590px; object-fit:cover; object-position:58% center; }

.approach-content .section-intro { margin-bottom:24px; }
.quote { margin:0 0 25px; padding:0 0 0 23px; border-left:1px solid var(--accent); font-family:var(--serif); font-size:28px; line-height:1.3; }
.bullet-list { list-style:none; padding:0; margin:0; }
.bullet-list li { border-top:1px solid var(--line); padding:12px 0; font-size:11px; color:var(--muted); }
.gallery-section { background:var(--paper); }
.gallery-heading { display:flex; justify-content:space-between; gap:50px; align-items:flex-end; margin-bottom:42px; }
.gallery-heading .section-title { margin-bottom:0; }
.gallery-heading .section-intro { max-width:365px; margin:0; font-size:12px; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
.gallery-card { text-decoration:none; display:block; min-width:0; width:100%; max-width:640px; justify-self:center; }
.gallery-image { position:relative; overflow:hidden; background:var(--sand); }
.gallery-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .5s; }
.gallery-card:hover img { transform:scale(1.035); }
.gallery-zoom { position:absolute; bottom:12px; right:12px; width:34px; height:34px; display:grid; place-items:center; background:var(--paper); font-size:20px; }



.gallery-more { display:flex; margin:40px auto 0; min-width:215px; }
.gallery-more:hover { background:var(--ink); color:var(--paper); }
.gallery-note { text-align:center; color:var(--muted); font-size:10px; margin:20px 0 0; }
.process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; margin-top:40px; }
.step { border-top:1px solid var(--line); padding-top:22px; }
.step>span { font-family:var(--serif); font-size:38px; color:var(--accent); }
.step h3 { font-family:var(--serif); font-size:28px; line-height:1.2; font-weight:500; margin:18px 0 12px; }
.step p { color:var(--muted); font-size:12px; margin:0; }
.vision-section { padding:70px 0; background:#e9e5da; }
.vision { text-align:center; max-width:850px; }
.vision .section-title { font-family:"Manrope",sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:.2em; color:var(--accent); margin:0 0 25px; }
.vision p { font-family:var(--serif); font-size:clamp(28px,3vw,41px); line-height:1.3; margin:0; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.contact-section .section-intro { max-width:370px; }
.contact-list { margin-top:45px; }
.contact-item { padding:20px 0; border-top:1px solid var(--line); }
.contact-item>span { display:block; font-size:10px; letter-spacing:.04em; color:var(--muted); margin-bottom:6px; }
.contact-item a { font-family:var(--serif); font-size:29px; text-decoration:none; overflow-wrap:anywhere; }
.contact-item a:hover { color:var(--accent); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:22px 20px; background:var(--white); padding:32px; border:1px solid var(--line); }
.form-row { display:grid; gap:8px; }
.form-row:nth-child(n+3),.form-note { grid-column:1/-1; }
.form-row label { font-size:10px; color:var(--muted); }
.form-row input,.form-row select,.form-row textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:0; background:var(--paper); color:var(--ink); padding:11px 12px; font-size:13px; }
.form-row textarea { resize:vertical; min-height:120px; }
.form-submit { grid-column:1/-1; justify-self:start; }
.form-note { font-size:10px; color:var(--muted); margin:-8px 0 0; }
.footer { padding:35px 0; border-top:1px solid var(--line); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.footer .logo { font-size:26px; }
.footer-inner>span { color:var(--muted); font-size:10px; }
.lightbox { width:min(1200px,calc(100% - 60px)); max-width:none; max-height:calc(100dvh - 48px); padding:20px 24px; border:0; background:var(--paper); color:var(--ink); }
.lightbox::backdrop { background:rgba(20,24,19,.86); backdrop-filter:blur(6px); }
.lightbox-toolbar,.lightbox-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.lightbox-close { display:flex; align-items:center; gap:16px; border:0; background:none; font-size:11px; min-height:44px; }
.lightbox-close>[aria-hidden] { font-size:28px; }
.lightbox-stage { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:16px; align-items:center; margin:12px 0 20px; }
.lightbox-stage>button { width:44px; height:44px; border:1px solid var(--line); background:var(--paper); font-size:22px; }
.lightbox-image { width:auto; height:auto; max-width:100%; max-height:min(68dvh,760px); justify-self:center; object-fit:contain; }
.lightbox-caption { justify-content:flex-end; font-size:12px; padding:0 60px 10px; }
#lightbox-count { font-size:10px; white-space:nowrap; }
@media(min-width:1600px) { .hero { padding-top:54px; } }
@media(max-width:1150px) {
  .container { width:calc(100% - 64px); }
  .topbar-tools { gap:22px; } nav { gap:18px; } nav a { font-size:11px; }
  .hero-grid { gap:36px; } .hero-actions { gap:20px; }
  .hero-image>img { height:520px; } .hero-location { margin-top:36px; }
  .approach-layout,.contact-layout { gap:48px; }
   
}
@media(max-width:960px) {
  .topbar-inner { height:78px; } .topbar-tools { gap:18px; }
  nav { gap:14px; flex-wrap:wrap; }
  .js-nav nav { display:none; position:absolute; top:77px; left:0; right:0; background:var(--paper); padding:22px 32px; border-bottom:1px solid var(--line); }
  .js-nav nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .js-nav nav a { padding:13px 0; font-size:14px; }
  .js-nav .menu-toggle { display:inline-flex; align-items:center; gap:12px; border:0; background:none; min-height:44px; font-size:11px; padding:0 4px; }
  .menu-lines { width:18px; height:8px; border-block:1px solid currentColor; }
  .lang-switch { padding-left:12px; }
  h1 { font-size:58px; } .hero-grid { gap:28px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero-image>img { height:540px; }
  .card { padding-inline:22px; } .card strong { font-size:26px; }
  .gallery-heading { gap:30px; } .gallery-heading .section-intro { max-width:300px; }
  .gallery-grid { gap:30px 18px; }
  .approach-layout { gap:36px; } .approach-image img { height:570px; }
  .contact-form { padding:24px; grid-template-columns:1fr; }
}
@media(max-width:760px) {
  html { scroll-padding-top:90px; }
  .container { width:calc(100% - 40px); } section { padding:64px 0; }
  .logo { font-size:27px; } .topbar-inner { gap:15px; } .topbar-tools { gap:10px; }
  .lang-switch { padding-left:8px; } .lang-btn { padding-inline:7px; }
  .hero { padding:35px 0 30px; } .hero-grid { grid-template-columns:1fr; gap:30px; } .hero-copy { padding:0; }
  h1 { font-size:clamp(50px,10vw,76px); max-width:620px; margin:22px 0; }
  .hero-copy>p { max-width:540px; font-size:13px; }
  .hero-actions { flex-direction:row; align-items:center; gap:24px; margin-top:25px; }
  .hero-location { margin-top:26px; font-size:9px; }
  .hero-image>img { height:auto; aspect-ratio:6/5; object-position:center; }
  .hero-image figcaption { font-size:9px; }
  .intro-strip-inner { flex-direction:column; align-items:flex-start; gap:12px; padding-block:25px; } .intro-strip p { font-size:12px; }
  .section-title { font-size:39px; } .section-intro { font-size:13px; margin-bottom:28px; }
  .card-grid { grid-template-columns:1fr; margin-top:30px; }
  .card,.card:first-child,.card:last-child { padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }
  .card:last-child { border-bottom:0; padding-bottom:0; } .card-number { margin-bottom:12px; } .card strong { font-size:30px; } .card ul { margin-top:15px; }
  .client-list { gap:8px 22px; }
  .approach-layout,.contact-layout { grid-template-columns:1fr; gap:36px; }
  .approach-image img { height:auto; aspect-ratio:5/4; } .approach-content { order:-1; }
  .gallery-heading { display:block; margin-bottom:30px; } .gallery-heading .section-intro { max-width:500px; margin-top:18px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 16px; }  .gallery-more { margin-top:30px; }
  .process { grid-template-columns:1fr; gap:26px; } .step { display:grid; grid-template-columns:48px 1fr; column-gap:20px; }
  .step>span { grid-row:1/3; line-height:1.2; } .step h3 { margin-top:0; } .step p { grid-column:2; }
  .vision-section { padding:50px 0; } .contact-form { padding:24px; } .contact-list { margin-top:28px; }
  .footer-inner { flex-wrap:wrap; gap:20px; } .footer-inner>span { order:3; flex-basis:100%; font-size:9px; }
  .lightbox { width:calc(100% - 20px); padding:12px; } .lightbox-stage { grid-template-columns:1fr 1fr; gap:12px; margin-top:6px; }
  .lightbox-image { grid-column:1/-1; grid-row:1; max-height:60dvh; } .lightbox-stage>button { justify-self:center; }
  .lightbox-caption { padding:0 4px 8px; font-size:11px; }
}
@media(max-width:420px) {
  .hero-actions { gap:16px; } .btn { padding-inline:18px; gap:22px; }
  .gallery-grid { grid-template-columns:1fr; }  
  .eyebrow { font-size:9px; } .contact-form { padding:20px; }
}
@media(max-width:370px) {
  .topbar .logo { font-size:23px; letter-spacing:.12em; }
  .menu-toggle>span:first-child { display:none; }
  .js-nav .menu-toggle { min-width:36px; justify-content:center; }
  .topbar-tools { gap:6px; }
}
@media(max-width:960px) {
  html:not(.js-nav) .topbar-inner { height:auto; padding-block:20px; flex-wrap:wrap; }
  html:not(.js-nav) .topbar-tools { flex-wrap:wrap; }
  html:not(.js-nav) .topbar { position:static; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }

/* Product-led presentation */
body { font-size:17px; }
.container { width:min(1440px,calc(100% - 96px)); }
.topbar-inner { height:86px; }
nav { gap:30px; }
nav a { font-size:15px; }
.lang-btn { font-size:13px; min-height:44px; }
.eyebrow { font-size:13px; letter-spacing:.12em; }
.btn { min-height:58px; padding:16px 28px; font-size:16px; gap:30px; }
.text-link { font-size:16px; gap:20px; }
.section-title { font-size:clamp(42px,4.7vw,70px); line-height:1.05; margin:18px 0 24px; }
.section-intro { font-size:19px; max-width:780px; line-height:1.7; }
.product-hero { position:relative; padding:0; min-height:680px; height:min(760px,calc(100svh - 86px)); background:#eee8dd; isolation:isolate; }
.hero-scene { position:absolute; inset:0 0 0 26%; z-index:-2; }
.hero-scene>img { width:100%; height:100%; object-fit:cover; object-position:53% 57%; }
.product-hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#f5f1e9 0%,#f5f1e9 23%,rgba(245,241,233,.96) 29%,rgba(245,241,233,.58) 39%,transparent 51%); }
.hero-content { height:100%; display:flex; align-items:center; pointer-events:none; }
.hero-copy { width:43%; max-width:590px; padding:32px 0 66px; pointer-events:auto; }
.hero-copy h1 { font-size:clamp(68px,6.8vw,104px); line-height:.97; margin:26px 0 28px; letter-spacing:-.045em; }
.hero-copy h1 em { color:var(--accent); }
.hero-copy>p { font-size:20px; line-height:1.5; margin:0 0 32px; max-width:360px; }
.hero-scene figcaption { position:absolute; bottom:26px; right:32px; display:flex; align-items:center; gap:34px; padding:15px 24px; background:var(--paper); }
.hero-scene figcaption>span { font-family:var(--serif); font-size:31px; line-height:1.1; }
.hero-scene figcaption>a { font-size:14px; text-decoration:none; border-bottom:1px solid var(--accent); }
.product-section { padding:88px 0 90px; background:#deddd7; }
.section-heading { display:flex; justify-content:space-between; gap:32px; align-items:flex-end; margin-bottom:36px; }
.section-heading .section-title { margin-bottom:0; }
.section-heading>.text-link { white-space:nowrap; margin-bottom:8px; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.product-card { text-decoration:none; min-width:0; }
.product-image { position:relative; overflow:hidden; background:var(--sand); }
.product-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .5s; }
.product-insert img { object-fit:contain; }
.product-minimal img { object-position:50% 60%; }
.product-decor img { object-position:50% 60%; }
.product-card:hover img { transform:scale(1.035); }
.product-zoom { position:absolute; right:18px; bottom:18px; width:48px; height:48px; display:grid; place-items:center; font-size:27px; background:var(--paper); }



.gallery-heading { gap:36px; }
.gallery-heading .section-intro { font-size:18px; max-width:340px; }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-width:1280px; margin-inline:auto; align-items:start; }
.gallery-image img { height:auto; aspect-ratio:3/2; object-fit:cover; }
.gallery-card[data-photo="3"] img { object-position:left center; }
.gallery-card[data-photo="1"] img { object-position:center 72%; }
.gallery-portrait { width:100%; max-width:320px; justify-self:center; }
.gallery-portrait .gallery-image img { aspect-ratio:auto; }
.gallery-wide .gallery-image img { aspect-ratio:auto; }



.gallery-zoom { width:46px; height:46px; font-size:25px; }
.gallery-note { font-size:14px; margin-top:24px; }
#co-robimy { padding:100px 0; }
#co-robimy .section-title { max-width:950px; }
.card-grid { margin-top:42px; }
.card-number { font-size:15px; margin-bottom:16px; }
.card strong { font-size:36px; }
.card p { font-size:18px; color:var(--muted); margin:18px 0 0; }
#podejscie { padding:96px 0; }
.approach-layout { grid-template-columns:1.15fr 1fr; gap:80px; }
.approach-image { position:relative; }
.approach-image img { height:auto; aspect-ratio:auto; object-position:center; }
.approach-image { width:100%; max-width:560px; justify-self:center; }

.approach-content .section-title { font-size:clamp(46px,5.2vw,80px); }
.approach-content .section-intro { font-size:20px; margin-bottom:32px; }
#wspolpraca { padding:72px 0; background:var(--sand); }
.process { margin-top:34px; }
.step>span { font-size:44px; }
.step h3 { font-size:34px; }
.step p { font-size:17px; }
.contact-section .section-title { font-size:clamp(46px,4.5vw,68px); }
.contact-section .section-intro { font-size:20px; }
.contact-layout { gap:64px; }
.contact-item>span { font-size:14px; }
.contact-item a { font-size:36px; }
.form-row label { font-size:15px; }
.form-row input,.form-row select,.form-row textarea { font-size:16px; }
.form-note { font-size:14px; }
.footer-inner>span { font-size:13px; }
.lightbox-close,.lightbox-caption { font-size:16px; }
#lightbox-count { font-size:14px; }
@media(min-width:1700px) {
  .product-hero { max-width:1920px; margin-inline:auto; }
}
@media(max-width:1150px) {
  .container { width:calc(100% - 64px); }
  nav { gap:22px; }
  .hero-copy { width:46%; }
  .hero-copy h1 { font-size:clamp(66px,7.5vw,90px); }
  
  
  
  .approach-layout { gap:44px; }
  .approach-image img { height:auto; }
}
@media(max-width:960px) {
  .topbar-inner { height:78px; }
  .js-nav nav a { font-size:17px; }
  .js-nav .menu-toggle { font-size:14px; }
  .product-hero { min-height:630px; height:680px; }
  .hero-copy { width:46%; }
  .hero-copy h1 { font-size:68px; }
  .hero-copy>p { font-size:18px; max-width:270px; }
  .hero-scene { left:23%; }
  .hero-scene figcaption { right:20px; bottom:20px; gap:20px; }
  .section-heading { display:block; }
  .section-heading>.text-link { margin:18px 0 0; }
  .product-grid { gap:18px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  
  
  .gallery-heading { display:block; }
  .gallery-heading .section-intro { margin-top:20px; max-width:540px; }
  .card { padding-inline:22px; }
  .card strong { font-size:31px; }
  .card p { font-size:17px; }
  .contact-layout { gap:40px; }
}
@media(max-width:760px) {
  .container { width:calc(100% - 40px); }
  .topbar .logo { font-size:25px; }
  .topbar-tools { gap:8px; }
  .lang-btn { font-size:12px; }
  .product-hero { min-height:0; height:auto; display:flex; flex-direction:column; background:var(--paper); }
  .product-hero::before { display:none; }
  .hero-content { height:auto; order:-1; }
  .hero-copy { width:100%; max-width:none; padding:30px 0; }
  .hero-copy h1 { font-size:clamp(49px,9.5vw,76px); margin:17px 0; }
  .hero-copy h1 em { max-width:580px; }
  .hero-copy>p { font-size:18px; max-width:none; margin:0 0 20px; }
  .hero-copy .btn { min-height:50px; padding:12px 22px; }
  .hero-scene { position:relative; inset:auto; z-index:auto; width:100%; }
  .hero-scene>img { height:auto; aspect-ratio:1/1; object-position:center; }
  .hero-scene figcaption { right:16px; bottom:16px; gap:20px; padding:12px 18px; }
  .hero-scene figcaption>span { font-size:28px; }
  .hero-scene figcaption>a { font-size:14px; }
  .eyebrow { font-size:12px; }
  .section-title { font-size:44px; }
  .section-intro { font-size:18px; }
  .product-section { padding:58px 0 64px; }
  .product-grid { grid-template-columns:1fr; gap:38px; }
  .product-image img { aspect-ratio:4/3; }
  
  
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  
  
  
  .gallery-heading .section-intro { font-size:18px; }
  #co-robimy { padding:64px 0; }
  .card strong { font-size:35px; }
  .card p { font-size:18px; max-width:500px; }
  #podejscie { padding-bottom:64px; }
  .approach-layout { grid-template-columns:1fr; gap:30px; }
  .approach-image img { height:auto; aspect-ratio:auto; }
  .approach-content .section-title { font-size:48px; }
  .approach-content .section-intro { font-size:18px; }
  #wspolpraca { padding:58px 0; }
  .step h3 { font-size:32px; }
  .contact-layout { grid-template-columns:1fr; }
  .contact-form { padding:22px; }
  .contact-item a { font-size:32px; }
  .form-row label { font-size:15px; }
  .footer-inner>span { font-size:12px; }
}
@media(max-width:370px) {
  .topbar .logo { font-size:23px; }
  .hero-copy h1 { font-size:46px; }
  .hero-copy>p { font-size:17px; }
  .hero-scene figcaption { gap:14px; right:12px; padding:10px 14px; }
  .hero-scene figcaption>a { font-size:13px; }
  .btn { padding-inline:20px; }
  .section-title { font-size:40px; }
  .contact-item a { font-size:29px; }
}

/* Keep the supplied panoramic opening photograph and its branding fully visible. */
.frontpage-hero { display:flex; flex-direction:column; height:auto; min-height:0; max-width:none; background:var(--paper); }
.frontpage-hero::before { display:none; }
.frontpage-hero .hero-content { order:-1; height:auto; }
.frontpage-hero .hero-copy { display:grid; grid-template-columns:1.6fr 1fr; column-gap:64px; width:100%; max-width:none; padding:36px 0 40px; align-items:center; }
.frontpage-hero .hero-copy>.eyebrow { grid-column:1/-1; margin-bottom:20px; }
.frontpage-hero h1 { grid-column:1; grid-row:2/4; font-size:clamp(48px,4.7vw,74px); margin:0; line-height:1.04; }
.frontpage-hero h1 span,.frontpage-hero h1 em { display:inline; }
.frontpage-hero .hero-copy>p { grid-column:2; margin:0 0 18px; max-width:370px; font-size:20px; align-self:end; }
.frontpage-hero .hero-copy>.btn { grid-column:2; justify-self:start; align-self:start; }
.frontpage-hero .hero-scene { position:relative; inset:auto; z-index:auto; width:100%; max-width:1440px; margin-inline:auto; }
.frontpage-hero .hero-scene>img { width:100%; height:auto; aspect-ratio:1600/533; object-fit:contain; }
.gallery-section, #podejscie, .footer, .lightbox {
  --paper:#292c28;
  --white:#efeee8;
  --sand:#393d35;
  --ink:#efeee8;
  --muted:#c4c8bc;
  --accent:#c3cab8;
  --line:#747b6c;
  color:var(--ink);
  background:var(--paper);
}
#podejscie { background:var(--paper); }
.footer { background:#242721; }
.contact-section { background:#e1e1da; }
.contact-form { background:#eeeee7; box-shadow:0 16px 44px rgba(30,35,23,.04); }
.form-row input,.form-row select,.form-row textarea { background:#f4f4ee; }
.gallery-image, .product-image { box-shadow:0 8px 24px rgba(25,30,20,.09); }
.gallery-zoom { background:rgba(41,44,40,.94); }
.product-zoom { background:rgba(243,241,237,.95); }
@media(max-width:760px) {
  .frontpage-hero .hero-copy { grid-template-columns:1fr; padding:28px 0; gap:0; }
  .frontpage-hero .hero-copy>.eyebrow { margin-bottom:16px; }
  .frontpage-hero h1 { grid-row:auto; font-size:clamp(44px,8.8vw,64px); margin:0 0 18px; }
  .frontpage-hero .hero-copy>p { grid-column:1; font-size:17px; margin-bottom:20px; }
  .frontpage-hero .hero-copy>.btn { grid-column:1; }
}


/* Brand and return navigation for the Living Space page. */
.brand-section { display:block; font-family:"Manrope",sans-serif; font-size:12px; font-weight:500; letter-spacing:.12em; color:var(--muted); margin-top:8px; }

/* Brand marks below the fireplace collection. */
.brand-strip { margin-top:48px; padding:30px 0 0; border-top:1px solid var(--line); }
.brand-logos { display:grid; grid-template-columns:repeat(2,minmax(0,340px)); justify-content:center; align-items:center; gap:clamp(28px,8vw,120px); list-style:none; padding:0; margin-block:0; }
.brand-logos li { min-width:0; display:flex; justify-content:center; }
.brand-logos img { width:100%; max-width:340px; height:auto; mix-blend-mode:multiply; }
.brand-logos li:first-child img { max-width:320px; }
@media(max-width:760px) {
  .brand-strip { margin-top:32px; padding:24px 0 0; }
}
