/* Zielony Zakątek pod Zegarem - kwiaciarnia Piła. Runda 4: „Atelier pod Zegarem”, uwagi Any z 16.10 wieczór. */
:root{
  --ciemna:#0A3323;
  --ciemna2:#0D3C2B;
  --mech:#839958;
  --mech-ciem:#5F7340;
  --bez:#F7F4D5;
  --papier:#F3EEDD;
  --papier2:#EBE4CE;
  --roz:#D3968C;
  --roz-ciem:#B9766B;
  --noc:#105666;
  --atrament:#1F2A22;
  --atrament2:#55604F;
  --linia:rgba(31,42,34,.16);
  --szer:1200px;
  --ease:cubic-bezier(.22,.8,.24,1);
  --cien:0 14px 32px rgba(31,42,34,.13);
  --cien-hover:0 24px 44px rgba(31,42,34,.2);
  --cien-ciemny:0 20px 50px rgba(5,25,15,.35);
  --f-kali:"Pinyon Script",cursive;
  --f-serif:"Cormorant Garamond",Georgia,serif;
  --wachlarz:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23E2DBC4' stroke-width='1.4'%3E%3Cpath d='M0 60a60 60 0 0 1 120 0M14 60a46 46 0 0 1 92 0M28 60a32 32 0 0 1 64 0M42 60a18 18 0 0 1 36 0'/%3E%3Cpath d='M-60 120a60 60 0 0 1 120 0M-46 120a46 46 0 0 1 92 0M-32 120a32 32 0 0 1 64 0M-18 120a18 18 0 0 1 36 0M60 120a60 60 0 0 1 120 0M74 120a46 46 0 0 1 92 0M88 120a32 32 0 0 1 64 0M102 120a18 18 0 0 1 36 0'/%3E%3C/g%3E%3C/svg%3E");
  --wachlarz-ciemny:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.4'%3E%3Cpath d='M0 60a60 60 0 0 1 120 0M14 60a46 46 0 0 1 92 0M28 60a32 32 0 0 1 64 0M42 60a18 18 0 0 1 36 0'/%3E%3Cpath d='M-60 120a60 60 0 0 1 120 0M-46 120a46 46 0 0 1 92 0M-32 120a32 32 0 0 1 64 0M-18 120a18 18 0 0 1 36 0M60 120a60 60 0 0 1 120 0M74 120a46 46 0 0 1 92 0M88 120a32 32 0 0 1 64 0M102 120a18 18 0 0 1 36 0'/%3E%3C/g%3E%3C/svg%3E");
  --ziarno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--atrament);font-family:var(--f-serif);font-size:19px;line-height:1.6;font-weight:500;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--f-serif);font-weight:400;line-height:1.05;margin:0}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;z-index:200}
.skip:focus{left:8px}
.kont{width:min(var(--szer),100% - 40px);margin-inline:auto}
:focus-visible{outline:2px solid var(--roz);outline-offset:3px}

/* ---------- typografia sekcji ---------- */
.kicker{font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;margin:0 0 10px;color:var(--mech-ciem);display:flex;align-items:center;gap:14px;justify-content:center}
.kicker::before,.kicker::after{content:"";width:34px;height:1px;background:currentColor;opacity:.6}
.kicker--lewo{justify-content:flex-start}
.kicker--lewo::after{display:none}
.kali{font-family:var(--f-kali);font-weight:400;font-size:clamp(46px,6vw,84px);line-height:1;color:var(--ciemna);display:block;margin-bottom:-.12em}
.tytul{font-size:clamp(30px,3.8vw,52px);text-transform:uppercase;letter-spacing:.14em;color:var(--ciemna);font-weight:400}
.tytul small{display:block;font-family:var(--f-kali);text-transform:none;letter-spacing:0;font-size:1.5em;color:var(--mech-ciem);line-height:1;margin-bottom:-.1em}
.wstep{max-width:600px;color:var(--atrament2);font-size:19px;font-style:italic}
.sekcja{padding:clamp(80px,9vw,120px) 0;position:relative}
.sekcja--mniejsza{padding:clamp(60px,7vw,90px) 0}
.sekcja__glowa{text-align:center;margin:0 auto clamp(40px,5vw,60px);max-width:820px}
.sekcja__glowa .wstep{margin:18px auto 0}
.papier{background-color:var(--papier)}
.wzor{background-image:var(--wachlarz);background-size:120px}
.papier--ciemniej{background-color:var(--papier2)}
.ciemna{background-color:var(--ciemna);color:var(--bez)}
.ciemna .tytul,.ciemna .kali{color:var(--bez)}
.ciemna .kicker{color:var(--roz)}
.ciemna .wstep{color:rgba(247,244,213,.72)}

/* ---------- szkło ---------- */
.szklo{background:rgba(247,244,213,.42);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 20px 50px rgba(31,42,34,.18)}

/* ---------- przyciski ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;font:600 14px/1 var(--f-serif);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid currentColor;transition:background .3s,color .3s,border-color .3s,box-shadow .3s;cursor:pointer;background:none;position:relative}
.btn svg{width:18px;height:18px;flex:none}
.btn--roz{background:var(--roz);border-color:var(--roz);color:var(--ciemna);box-shadow:var(--cien)}
.btn--roz:hover{background:#E0A89E;border-color:#E0A89E}
.btn--jasny{color:var(--bez);border-color:rgba(247,244,213,.5)}
.btn--jasny:hover{background:var(--bez);color:var(--ciemna);border-color:var(--bez)}
.btn--ciemny{color:var(--ciemna);border-color:var(--ciemna)}
.btn--ciemny:hover{background:var(--ciemna);color:var(--bez)}
.btn--pelny{background:var(--ciemna);border-color:var(--ciemna);color:var(--bez)}
.btn--pelny:hover{background:var(--ciemna2);box-shadow:var(--cien-hover)}

/* ---------- nagłówek: szklany pasek, logo stałej wielkości ---------- */
.naglowek{position:fixed;inset:0 0 auto;z-index:50;color:var(--bez);background:transparent;border-bottom:1px solid transparent;transition:background .5s,border-color .5s,backdrop-filter .5s}
.naglowek.przewiniety{background:rgba(10,51,35,.42);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom-color:rgba(247,244,213,.14)}
.naglowek__in{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1400px,100% - 40px);margin-inline:auto}
.burger{justify-self:end;display:inline-flex;align-items:center;gap:14px;background:none;border:0;color:inherit;cursor:pointer;padding:10px 0;font:600 13px/1 var(--f-serif);letter-spacing:.3em;text-transform:uppercase}
.burger__kreski{width:28px;height:18px;position:relative;display:block}
.burger__kreski span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .4s var(--ease),width .3s var(--ease),opacity .3s}
.burger__kreski span:nth-child(1){top:0}
.burger__kreski span:nth-child(2){top:8px;width:70%}
.burger__kreski span:nth-child(3){top:16px}
.burger:hover .burger__kreski span:nth-child(2){width:100%}
.logo{justify-self:center;display:block;width:124px;height:155px;margin-top:44px;position:relative;color:var(--bez);filter:drop-shadow(0 8px 16px rgba(5,25,15,.5))}
.logo .koronka{position:absolute;inset:0;width:100%;height:100%}
.logo img{position:absolute;left:50%;top:50%;width:61%;height:auto;transform:translate(-50%,-50%)}
.kafel{justify-self:end;display:flex;align-items:center;gap:10px}
.kafel .burger{margin-left:6px}
.kafel__tel{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px 0 16px;background:var(--roz);color:var(--ciemna);text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.14em;transition:background .3s;box-shadow:var(--cien-ciemny)}
.kafel__tel:hover{background:#E0A89E}
.kafel__tel svg{width:18px;height:18px}
.kolko{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(247,244,213,.45);color:var(--bez);transition:background .3s,color .3s,border-color .3s}
.kolko svg{width:20px;height:20px}
.kolko:hover{background:var(--bez);color:var(--ciemna);border-color:var(--bez)}
.kafel .kolko{background:#fff;color:var(--ciemna);border-color:#fff;box-shadow:var(--cien-ciemny)}
.kafel .kolko:hover{background:var(--roz);color:var(--ciemna);border-color:var(--roz)}

/* ---------- menu: pełnoekranowe szkło ---------- */
.menu{position:fixed;inset:0;z-index:61;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--bez);background:rgba(10,51,35,.72);backdrop-filter:blur(26px) saturate(1.3);-webkit-backdrop-filter:blur(26px) saturate(1.3);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;padding:80px 20px 40px;overflow-y:auto}
.menu::before{content:"";position:absolute;inset:0;background-image:var(--wachlarz-ciemny);background-size:120px;pointer-events:none}
html.menu-otwarte .menu{opacity:1;visibility:visible}
html.menu-otwarte,html.lb-otwarte{overflow:hidden}
.menu__zamknij{position:absolute;top:22px;right:22px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(247,244,213,.35);background:none;color:inherit;cursor:pointer;display:grid;place-items:center;transition:transform .4s var(--ease),background .3s}
.menu__zamknij:hover{transform:rotate(90deg);background:rgba(255,255,255,.08)}
.menu__zamknij svg{width:20px;height:20px}
.menu__logo{width:110px;height:138px;flex:none;position:relative;margin:0 0 18px;color:var(--bez)}
.menu__logo svg{position:absolute;inset:0;width:100%;height:100%}
.menu__logo img{position:absolute;left:50%;top:50%;width:61%;height:auto;transform:translate(-50%,-50%)}
.menu nav{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.menu nav a{font-size:clamp(30px,4.2vw,46px);line-height:1.3;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;padding:4px 10px;opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s var(--ease),color .3s;position:relative}
.menu nav a::after{content:"";position:absolute;left:50%;bottom:2px;width:0;height:1px;background:var(--roz);transition:width .35s var(--ease),left .35s var(--ease)}
.menu nav a:hover{color:var(--roz)}
.menu nav a:hover::after{width:60%;left:20%}
html.menu-otwarte .menu nav a{opacity:1;transform:none}
html.menu-otwarte .menu nav a:nth-of-type(1){transition-delay:.1s}
html.menu-otwarte .menu nav a:nth-of-type(2){transition-delay:.15s}
html.menu-otwarte .menu nav a:nth-of-type(3){transition-delay:.2s}
html.menu-otwarte .menu nav a:nth-of-type(4){transition-delay:.25s}
html.menu-otwarte .menu nav a:nth-of-type(5){transition-delay:.3s}
html.menu-otwarte .menu nav a:nth-of-type(6){transition-delay:.35s}
html.menu-otwarte .menu nav a:nth-of-type(7){transition-delay:.4s}
.menu__dol{margin-top:34px;display:grid;justify-items:center;gap:14px;font-size:16px;color:rgba(247,244,213,.75);position:relative}
.menu__soc{display:flex;gap:10px}
.menu__soc .kolko{background:#fff;color:var(--ciemna);border-color:#fff}
.menu__soc .kolko:hover{background:var(--roz);color:var(--ciemna);border-color:var(--roz)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:center;color:var(--bez);background:var(--ciemna);overflow:hidden;padding:180px 0 110px}
.hero__tlo{position:absolute;inset:0}
.hero__tlo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.04);animation:oddech 22s ease-in-out infinite alternate}
.hero__tlo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,51,35,.82) 0%,rgba(10,51,35,.55) 38%,rgba(10,51,35,.05) 60%),linear-gradient(180deg,rgba(10,51,35,.45),transparent 30%,transparent 70%,rgba(10,51,35,.7))}
@keyframes oddech{to{transform:scale(1.1) translateX(-1%)}}
.hero__tresc{position:relative;max-width:620px}
.hero h1{font-size:clamp(34px,3.6vw,50px);letter-spacing:.14em;text-transform:uppercase;line-height:1.1}
.hero h1 .kali{color:var(--bez);font-size:clamp(68px,8.6vw,128px);letter-spacing:0;text-transform:none;margin:0 0 -.1em -.04em;text-shadow:0 6px 30px rgba(0,0,0,.35)}
.hero__opis{max-width:520px;margin:30px 0 38px;font-size:21px;font-style:italic;color:rgba(247,244,213,.9);line-height:1.5}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- pocztówki okazji (mniejsze, bez znaczka) ---------- */
.okazje .kont{max-width:1040px}
.okazje .sekcja__glowa{margin-bottom:36px}
.okazje__siatka{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px)}
.poczt{text-decoration:none;background:var(--bez);padding:10px 10px 18px;box-shadow:var(--cien);position:relative;transition:transform .5s var(--ease),box-shadow .5s;display:flex;flex-direction:column;color:var(--atrament)}
.poczt::before{content:"";position:absolute;inset:5px;border:1px solid rgba(31,42,34,.18);pointer-events:none}
.poczt:nth-child(3n+1){transform:rotate(-1deg)}
.poczt:nth-child(3n+2){transform:rotate(.5deg)}
.poczt:nth-child(3n+3){transform:rotate(-.4deg)}
.poczt:hover{transform:rotate(0) translateY(-6px);box-shadow:var(--cien-hover)}
.poczt__foto{display:block;position:relative;aspect-ratio:5/4;overflow:hidden;background:var(--papier2)}
.poczt__foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.poczt:hover .poczt__foto img{transform:scale(1.05)}
.poczt h3{margin:14px 0 4px;text-align:center;font-family:var(--f-kali);font-size:32px;font-weight:400;color:var(--ciemna);line-height:1}
.poczt p{text-align:center;font-size:15px;color:var(--atrament2);margin:0;padding:0 6px;font-style:italic;line-height:1.45}
.poczt__link{margin:10px auto 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--mech-ciem);display:inline-flex;align-items:center;gap:8px}
.poczt__link svg{width:13px;height:13px;transition:transform .3s}
.poczt:hover .poczt__link svg{transform:translateX(4px)}
.okazje__dol{text-align:center;margin-top:clamp(36px,4vw,48px);display:flex;flex-wrap:wrap;justify-content:center;gap:14px;align-items:center}
.okazje__dol span{font-style:italic;color:var(--atrament2);font-size:18px}

/* ---------- Too Good To Go ---------- */
.tgtg{background-color:var(--ciemna2);color:var(--bez);border-top:1px solid rgba(247,244,213,.12);border-bottom:1px solid rgba(247,244,213,.12)}
.tgtg__in{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(36px,4vw,50px) 0}
.tgtg__logo{width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:var(--cien-ciemny)}
.tgtg__logo img{width:52px;height:auto}
.tgtg h2{font-size:clamp(26px,2.8vw,36px);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}
.tgtg p{margin:0;max-width:640px;font-style:italic;font-size:18px;color:rgba(247,244,213,.8)}

/* ---------- realizacje: mozaika na beżu ---------- */
.realizacje .sekcja__glowa{margin-bottom:34px}
.filtry{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 40px}
.filtr{font:600 12px/1 var(--f-serif);letter-spacing:.22em;text-transform:uppercase;padding:13px 20px;border:1px solid rgba(31,42,34,.25);background:transparent;color:var(--ciemna);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.filtr:hover{border-color:var(--ciemna)}
.filtr[aria-pressed="true"]{background:var(--ciemna);color:var(--bez);border-color:var(--ciemna)}
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;grid-auto-flow:dense;gap:16px}
.galeria__el{margin:0;position:relative;cursor:zoom-in;border:0;padding:8px;background:var(--bez);display:block;width:100%;color:inherit;box-shadow:var(--cien);transition:transform .5s var(--ease),box-shadow .5s;text-align:left}
.galeria__el::before{content:"";position:absolute;inset:4px;border:1px solid rgba(31,42,34,.16);pointer-events:none;z-index:1}
.galeria__el:hover{transform:translateY(-4px);box-shadow:var(--cien-hover)}
.galeria__el[hidden]{display:none}
.galeria__el.wysoki{grid-row:span 2}
.galeria__el.szeroki{grid-column:span 2}
.galeria__ramka{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:var(--papier2)}
.galeria__ramka img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.galeria__el:hover img{transform:scale(1.05)}
.galeria__podpis{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;background:rgba(247,244,213,.9);padding:6px 12px;font-size:14px;font-style:italic;color:var(--ciemna);opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s var(--ease)}
.galeria__el:hover .galeria__podpis{opacity:1;transform:none}
.galeria__el.wejscie{animation:wejscie .6s var(--ease) both}
@keyframes wejscie{from{opacity:0;transform:translateY(16px)}}
.galeria__dol{margin-top:44px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgba(5,25,15,.95);display:none;align-items:center;justify-content:center;padding:60px 70px}
.lb.otwarty{display:flex}
.lb__media{height:100%;width:100%;display:flex;align-items:center;justify-content:center}
.lb img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 0 0 10px var(--bez),0 0 0 11px rgba(247,244,213,.4)}
.lb video{height:100%;max-width:100%;aspect-ratio:9/16;background:#000;box-shadow:0 0 0 8px var(--bez)}
.lb__btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(247,244,213,.35);background:rgba(255,255,255,.06);color:var(--bez);cursor:pointer;display:grid;place-items:center;transition:background .3s}
.lb__btn:hover{background:rgba(255,255,255,.18)}
.lb__btn svg{width:22px;height:22px}
.lb__zamknij{top:16px;right:16px}
.lb__poprz{left:14px;top:50%;margin-top:-26px}
.lb__nast{right:14px;top:50%;margin-top:-26px}
.lb__licznik{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(247,244,213,.7);font-size:14px;letter-spacing:.22em}

/* ---------- rolki: wyśrodkowane ---------- */
.rolki .sekcja__glowa{margin-bottom:34px}
.rolki__tor{display:flex;justify-content:center;gap:22px;padding:14px 0 10px}
.rolka{flex:0 1 180px;position:relative;overflow:hidden;aspect-ratio:9/16;background:var(--ciemna2);border:0;padding:0;cursor:pointer;color:var(--bez);box-shadow:0 0 0 5px var(--bez),0 0 0 6px rgba(95,115,64,.5),var(--cien);border-radius:120px 120px 8px 8px;transition:transform .5s var(--ease)}
.rolka:hover{transform:translateY(-6px)}
.rolka video,.rolka img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rolka::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,25,15,.85))}
.rolka__opis{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;text-align:left;font-size:14px;font-style:italic;line-height:1.3;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.rolka__graj{flex:none;width:38px;height:38px;border-radius:50%;background:var(--roz);color:var(--ciemna);display:grid;place-items:center;transition:transform .3s var(--ease)}
.rolka__graj svg{width:16px;height:16px;margin-left:2px}
.rolka:hover .rolka__graj{transform:scale(1.1)}
.strzalki{display:none;gap:10px;justify-content:center;margin-top:18px}
.strzalka{width:56px;height:40px;border:1px solid currentColor;background:none;color:inherit;cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s}
.strzalka svg{width:22px;height:22px}
.strzalka:hover{background:var(--ciemna);color:var(--bez);border-color:var(--ciemna)}
.rolki__dol{text-align:center;margin-top:30px}
.ig-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:15px;letter-spacing:.14em;color:var(--atrament)}
.ig-link svg{width:20px;height:20px;color:var(--mech-ciem)}
.ig-link:hover{color:var(--mech-ciem)}

/* ---------- pracownia ---------- */
.pracownia__uklad{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,90px);align-items:center}
.rama{position:relative;padding:16px;background:var(--bez);box-shadow:var(--cien-hover)}
.rama::before{content:"";position:absolute;inset:7px;border:1px solid var(--mech-ciem);pointer-events:none}
.rama::after{content:"";position:absolute;inset:11px;border:3px double rgba(95,115,64,.5);pointer-events:none}
.rama img{width:100%;height:auto}
.rama__podpis{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);background:var(--ciemna);color:var(--bez);padding:10px 22px;font-family:var(--f-kali);font-size:26px;line-height:1;white-space:nowrap;box-shadow:var(--cien-ciemny)}
.pracownia__tekst .tytul{margin-bottom:22px}
.pracownia__tekst p{color:var(--atrament2);font-size:19px}
.pracownia__cechy{list-style:none;padding:0;margin:26px 0 0;display:grid}
.pracownia__cechy li{padding:12px 0;border-top:1px solid var(--linia);font-size:18px;color:var(--atrament)}
.pracownia__cechy li:last-child{border-bottom:1px solid var(--linia)}

/* ---------- rękodzieło: pocztówki obracane ---------- */
.reko .sekcja__glowa{margin-bottom:40px}
.reko__siatka{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,36px);perspective:1600px}
.karta3d{position:relative;aspect-ratio:4/5;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:var(--atrament);font:inherit}
.karta3d__in{position:absolute;inset:0;transition:transform 1s var(--ease);transform-style:preserve-3d}
.karta3d.obrocona .karta3d__in,.karta3d:hover .karta3d__in{transform:rotateY(180deg)}
.karta3d__str{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bez);padding:12px;box-shadow:var(--cien)}
.karta3d__str--przod img{width:100%;height:calc(100% - 46px);object-fit:cover}
.karta3d__str--przod figcaption{height:46px;display:flex;align-items:center;justify-content:center;font-family:var(--f-kali);font-size:30px;color:var(--ciemna)}
.karta3d__str--tyl{transform:rotateY(180deg);display:flex;flex-direction:column;padding:28px 28px 24px;background:var(--bez) var(--ziarno)}
.karta3d__str--tyl::before{content:"";position:absolute;inset:8px;border:1px solid rgba(31,42,34,.18);pointer-events:none}
.tyl__gora{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(31,42,34,.25)}
.tyl__gora .kali{font-size:36px;margin:0;line-height:1}
.tyl__linie{flex:1;display:grid;align-content:start;gap:8px;margin:0;padding:0;list-style:none}
.tyl__linie li{font-size:21px;font-style:italic;line-height:1.35;color:var(--atrament);display:flex;gap:10px;align-items:baseline}
.tyl__linie li::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--mech-ciem);flex:none;margin-top:9px}
.tyl__cta{margin-top:16px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--mech-ciem)}
.reko__dol{text-align:center;margin-top:40px}
.reko__dol p{font-style:italic;color:var(--atrament2);max-width:640px;margin:0 auto 20px}

/* ---------- opinie: szklane karty na stawie ---------- */
.opinie{position:relative;color:var(--atrament);overflow:hidden}
.opinie__tlo{position:absolute;inset:0}
.opinie__tlo img{width:100%;height:100%;object-fit:cover}
.opinie__tlo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,238,221,.5),rgba(243,238,221,.08) 30%,rgba(243,238,221,.08) 70%,rgba(243,238,221,.55))}
.opinie .kont{position:relative}
.opinie .sekcja__glowa{margin-bottom:26px}
.opinie .kali{text-shadow:0 2px 20px rgba(243,238,221,.9)}
.opinie__ocena{display:inline-flex;align-items:center;gap:12px;font-size:15px;color:var(--atrament2);padding:10px 22px 10px 14px;margin:0 auto 34px;position:relative;left:50%;transform:translateX(-50%)}
.opinie__ocena b{font-size:30px;color:var(--ciemna);font-weight:500}
.gw{color:#C9A33A;letter-spacing:.14em}
.opinie__karty{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.opinia{flex:0 1 calc((100% - 40px) / 3);min-width:280px;margin:0;padding:28px 28px 24px;display:flex;flex-direction:column;gap:14px;transition:transform .5s var(--ease)}
.opinia:hover{transform:translateY(-4px)}
.opinia .gw{font-size:14px}
.opinia blockquote{margin:0;font-size:18px;line-height:1.5;font-style:italic;color:var(--ciemna);flex:1}
.opinia figcaption{font-size:14px;color:var(--atrament2);letter-spacing:.06em;display:flex;align-items:center;gap:10px}
.opinia figcaption b{color:var(--atrament);font-weight:600;font-size:15px}
.opinia figcaption i{flex:1;border-bottom:1px dotted rgba(31,42,34,.35)}
.opinie__dol{text-align:center;margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- pytania: dwie kolumny ---------- */
.pytania__lista{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.pyt{background:var(--bez);box-shadow:var(--cien);overflow:hidden}
.pyt summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:21px;color:var(--ciemna);transition:background .3s}
.pyt summary::-webkit-details-marker{display:none}
.pyt summary:hover{background:rgba(31,42,34,.03)}
.pyt summary::after{content:"";width:12px;height:12px;flex:none;border-right:1.5px solid var(--mech-ciem);border-bottom:1.5px solid var(--mech-ciem);transform:rotate(45deg) translate(-2px,-2px);transition:transform .4s var(--ease)}
.pyt[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.pyt__tresc{padding:0 24px 22px;color:var(--atrament2);font-size:18px}
.pyt__tresc p{margin:0}

/* ---------- kontakt: zaproszenie ---------- */
.kontakt__uklad{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,56px);align-items:stretch}
.kontakt__uklad>*{min-width:0}
.zapro{background:var(--bez) var(--ziarno);color:var(--atrament);padding:clamp(34px,4vw,54px) clamp(26px,4vw,50px);position:relative;text-align:center;box-shadow:var(--cien-ciemny)}
.zapro::before{content:"";position:absolute;inset:10px;border:1px solid var(--mech-ciem);pointer-events:none}
.zapro::after{content:"";position:absolute;inset:14px;border:1px solid rgba(95,115,64,.45);pointer-events:none}
.zapro .kali{font-size:46px;color:var(--mech-ciem)}
.zapro__tel{display:block;text-decoration:none;font-size:clamp(34px,3.6vw,46px);letter-spacing:.06em;color:var(--ciemna);margin:6px 0 4px;font-weight:500}
.zapro__tel:hover{color:var(--roz-ciem)}
.zapro__pod{font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--atrament2);margin:0}
.zapro__sep{width:60px;height:1px;background:var(--mech-ciem);margin:24px auto;opacity:.6}
.zapro__adres{font-size:21px;margin:0 0 4px}
.zapro__adres a{text-decoration:none;color:inherit}
.zapro__adres a:hover{color:var(--roz-ciem)}
.godziny{list-style:none;margin:16px auto 0;padding:0;display:grid;gap:6px;font-size:18px;max-width:340px;text-align:left}
.godziny li{display:flex;align-items:baseline;gap:10px}
.godziny li i{flex:1;border-bottom:1px dotted rgba(31,42,34,.4);transform:translateY(-5px)}
.godziny .dzis{color:var(--roz-ciem);font-weight:600}
.zapro__soc{display:flex;justify-content:center;gap:12px;margin-top:22px}
.zapro__soc .kolko{border-color:var(--ciemna);color:var(--ciemna);width:50px;height:50px}
.zapro__soc .kolko:hover{background:var(--ciemna);color:var(--bez)}
.zapro__mail{display:block;margin-top:16px;font-size:17px;color:var(--atrament2);text-decoration:none;overflow-wrap:anywhere}
.zapro__mail:hover{color:var(--roz-ciem)}
.zapro .btn{margin-top:26px}
.mapa{overflow:hidden;min-height:460px;box-shadow:0 0 0 6px var(--bez),0 0 0 7px rgba(247,244,213,.4)}
.mapa iframe{width:100%;height:100%;min-height:460px;border:0;display:block;filter:sepia(.25) saturate(.8)}

/* ---------- stopka ---------- */
.stopka{background:var(--papier);padding:56px 0 34px;text-align:center;border-top:1px solid var(--linia);font-size:16px;color:var(--atrament2)}
.stopka__logo{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;padding:6px;box-shadow:0 0 0 1px rgba(10,51,35,.5)}
.stopka nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin-bottom:16px}
.stopka nav a{text-decoration:none;color:var(--atrament);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:600}
.stopka nav a:hover{color:var(--mech-ciem)}
.stopka p{margin:0 0 6px}
.stopka__soc{display:flex;justify-content:center;gap:10px;margin:18px 0 6px}
.stopka .kolko{border-color:var(--linia);color:var(--ciemna)}
.stopka .kolko:hover{background:var(--ciemna);color:var(--bez);border-color:var(--ciemna)}
.tworcy-wiersz{max-width:none;width:100%;text-align:center;margin:30px 0 0 !important;padding-top:22px;border-top:1px solid var(--linia)}
.tworcy{display:inline-flex;align-items:center;gap:9px;color:var(--atrament2);font-size:15px;text-decoration:none}
.tworcy img{width:24px;height:25px}
.tworcy:hover b{color:var(--ciemna)}

/* ---------- odsłanianie ---------- */
.js .odslon{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .odslon.widac{opacity:1;transform:none}
.js .poczt.odslon{transition:opacity .9s var(--ease),transform .9s var(--ease),box-shadow .5s}

/* ---------- responsywność ---------- */
@media (max-width:1060px){
  .galeria{grid-template-columns:repeat(3,1fr);grid-auto-rows:220px}
  .pracownia__uklad,.kontakt__uklad{grid-template-columns:1fr}
  .rama{max-width:460px;margin:0 auto 40px}
  .tgtg__in{grid-template-columns:auto 1fr}
  .tgtg__in .btn{grid-column:1/-1;justify-self:start}
  .reko__siatka{grid-template-columns:repeat(2,1fr)}
  .rolki__tor{flex-wrap:wrap}
  .rolka{flex-basis:calc(33.33% - 22px)}
  .pytania__lista{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:17px}
  .naglowek__in{height:76px;width:calc(100% - 28px)}
  .burger__tekst{display:none}
  .burger{padding:10px 0 10px 4px}
  .kafel .burger{margin-left:2px}
  .logo{width:92px;height:115px;margin-top:34px;filter:drop-shadow(0 6px 12px rgba(5,25,15,.5))}
  .kafel{gap:5px}
  .kafel__tel{width:38px;height:38px;padding:0;justify-content:center;box-shadow:none}
  .kafel__tel span{display:none}
  .kolko{width:38px;height:38px}
  .kolko svg{width:18px;height:18px}
  .menu nav a{font-size:28px}
  .hero{padding:150px 0 70px;min-height:auto;align-items:flex-end}
  .hero__tlo img{object-position:70% 30%}
  .hero__tlo::after{background:linear-gradient(180deg,rgba(10,51,35,.5),rgba(10,51,35,.25) 35%,rgba(10,51,35,.85) 60%,rgba(10,51,35,.95))}
  .hero__tresc{padding-top:40vh}
  .hero__cta .btn{width:100%}
  .okazje__siatka{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:none;margin-inline:-20px;padding:14px calc((100vw - 72vw) / 2) 30px;--k:72vw}
  .okazje__siatka::-webkit-scrollbar{display:none}
  .poczt{flex:0 0 var(--k);scroll-snap-align:center;transform:none !important}
  .galeria{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;gap:10px}
  .galeria__el{padding:5px}
  .galeria__el::before{inset:2px}
  .galeria__podpis{display:none}
  .rolki__tor{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-20px;width:100vw;padding:14px calc((100vw - 66vw) / 2) 24px;gap:16px}
  .rolki__tor::-webkit-scrollbar{display:none}
  .rolka{flex:0 0 66vw;scroll-snap-align:center}
  .strzalki{display:flex}
  .reko__siatka{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:none;margin-inline:-20px;padding:0 calc((100vw - 74vw) / 2) 20px;--k:74vw}
  .reko__siatka::-webkit-scrollbar{display:none}
  .karta3d{flex:0 0 var(--k);scroll-snap-align:center;aspect-ratio:4/5.2}
  .opinia{flex-basis:100%;min-width:0}
  .mapa,.mapa iframe{min-height:320px}
  .lb{padding:60px 10px}
  .lb__poprz,.lb__nast{top:auto;bottom:12px;margin:0}
  .lb__poprz{left:calc(50% - 64px)}
  .lb__nast{right:calc(50% - 64px)}
  .lb__licznik{display:none}
  .tgtg__logo{width:64px;height:64px}
  .tgtg__logo img{width:40px}
  .pyt summary{font-size:19px;padding:16px 18px}
  .pyt__tresc{padding:0 18px 18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero__tlo img{animation:none}
  .js .odslon{opacity:1;transform:none;transition:none}
  .karta3d__in{transition:none}
}
