/* latin-ext - krój z logo atelier (Playfair Display SC) */
@font-face {
  font-family: 'Playfair Display SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/PlayfairDisplaySC-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin - krój z logo atelier (Playfair Display SC) */
@font-face {
  font-family: 'Playfair Display SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/PlayfairDisplaySC-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/HankenGrotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/Newsreader-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/Newsreader-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/Newsreader-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/Newsreader-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Kolory z logo na Facebooku: brąz #443629 i brzoskwinia #f1ccb1 */
:root{--brown:#443629;--brown-d:#372b20;--peach:#f1ccb1;--peach-l:#f8e2d2;--cream:#f8f3ec;--sand:#f0e7dc;--card:#fffaf4;--ink:#2a2119;--muted:#6b5c4e;--line:#e3d7c8;--line-d:#5b4a3a;--dim:#cdb8a4;--r:22px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font:400 17px/1.6 "Hanken Grotesk",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
h1,h2,h3,.serif{font-family:"Newsreader",Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.08}
h1 em,h2 em{font-style:italic}
.eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.lead{font-size:19px;color:var(--muted);max-width:640px}
section{padding:100px 0}
section[id]{scroll-margin-top:90px}
.stars{color:#d9a24a;letter-spacing:1px}

/* pasek podglądu */

/* przyciski */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brown);color:var(--cream);font:600 15.5px/1 "Hanken Grotesk",sans-serif;padding:16px 26px;border-radius:99px;text-decoration:none;border:0;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.btn:hover{background:var(--ink)}
.btn svg{width:17px;height:17px;flex:none}
.btn.peach{background:var(--peach);color:var(--brown)}
.btn.peach:hover{background:var(--peach-l)}
.btn.line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.btn.line:hover{background:rgba(127,127,127,.12)}
.cta{display:flex;gap:10px;flex-wrap:wrap}
.arrow{font-weight:600;text-decoration:none;white-space:nowrap}
.arrow:after{content:" →";display:inline-block;transition:transform .3s var(--ease)}
.arrow:hover:after{transform:translateX(4px)}

/* nagłówek */
.hd{position:sticky;top:0;z-index:20;background:var(--brown);color:var(--cream)}
.hd-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:84px}
.nav{display:flex;align-items:center;gap:30px;font-size:15.5px}
.nav-r{justify-content:flex-end}
.nav a{text-decoration:none;color:var(--cream);font-weight:500;transition:color .2s}
.nav a:hover,.nav a[aria-current]{color:var(--peach)}
.nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.nav .pill{display:inline-flex;align-items:center;gap:8px;color:var(--cream);font-weight:600;padding:10px 16px;border:1px solid var(--peach);border-radius:99px}
.nav .pill:hover{background:var(--peach);color:var(--brown)}
.nav .pill svg{width:15px;height:15px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:44px}
.brand b{display:block;font:400 21px/1 "Playfair Display SC","Newsreader",serif;letter-spacing:.01em;color:var(--peach)}
.brand small{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-top:6px}
.menu-btn{display:none;justify-self:end;align-items:center;gap:8px;background:none;border:1px solid var(--peach);border-radius:99px;padding:10px 16px;font:600 15px "Hanken Grotesk",sans-serif;color:var(--cream);cursor:pointer}
.menu-btn i,.menu-btn i:before,.menu-btn i:after{display:block;width:16px;height:1.5px;background:currentColor;position:relative;transition:transform .25s,background .25s}
.menu-btn i:before,.menu-btn i:after{content:"";position:absolute}
.menu-btn i:before{top:-5px}.menu-btn i:after{top:5px}
.hd.open .menu-btn i{background:transparent}
.hd.open .menu-btn i:before{transform:translateY(5px) rotate(45deg)}
.hd.open .menu-btn i:after{transform:translateY(-5px) rotate(-45deg)}

/* strona główna: hero */
.hero{padding:22px 0 0}
.hero-card{min-height:min(560px,calc(100vh - 170px));background:var(--brown);color:var(--cream);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 40px}
.hero-mark{width:118px;margin-bottom:26px}
.hero h1{font-family:"Playfair Display SC","Newsreader",serif;font-size:clamp(40px,4.6vw,66px);color:var(--peach)}
.hero .tag{font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);margin:16px 0 22px}
.hero .lead{color:#eadfd2;font-size:18px;max-width:420px;margin-bottom:30px}
.hero .cta{justify-content:center}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7a6a5b;margin-right:8px;vertical-align:1px}
.dot.on{background:#7fc48a;box-shadow:0 0 0 4px rgba(127,196,138,.2)}

/* kafle */
.feat{display:grid;gap:16px;padding-top:16px}
.feat-card{display:block;text-decoration:none;border-radius:var(--r);overflow:hidden;background:var(--sand)}
.feat-img{aspect-ratio:4/5;overflow:hidden}
.feat-img img{width:100%;height:100%;object-fit:cover}
.feat-txt{padding:30px 36px 36px}
.feat-txt h2{font-size:clamp(34px,3.4vw,46px);margin-bottom:10px}
.feat-txt p{color:var(--muted);max-width:460px;margin-bottom:18px}
@media (min-width:921px){
  .feat-card{display:grid;grid-template-columns:1.4fr 1fr;align-items:center}
  .feat-card:nth-child(even){grid-template-columns:1fr 1.4fr}
  .feat-card:nth-child(even) .feat-img{order:2}
  .feat-img{aspect-ratio:4/3}
  .feat-txt{padding:48px 56px}
}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.trio a{display:block;text-decoration:none;border-top:1px solid var(--ink);padding-top:26px}
.trio h3{font-size:clamp(26px,2.4vw,30px);margin-bottom:8px}
.trio p{color:var(--muted);font-size:16.5px;margin-bottom:14px}

/* cytat */
.src{display:block;font-size:14.5px;color:var(--muted)}
.src a{color:var(--ink);font-weight:600}

/* zapraszamy */
.phone{display:block;font:400 clamp(40px,4.4vw,56px)/1 "Newsreader",serif;text-decoration:none;margin:10px 0 26px}

/* podstrony */
.ph{padding:84px 0 56px}
.ph h1{font-size:clamp(46px,6vw,84px);max-width:960px;margin-bottom:24px}
.ph+section{padding-top:20px}

.svc:first-child{border-top:1px solid var(--ink)}
.svc{display:grid;grid-template-columns:70px 1fr 1.25fr 230px;gap:28px;padding:34px 0;border-bottom:1px solid var(--line);align-items:baseline;scroll-margin-top:110px}
.svc .n{font-size:13px;letter-spacing:.14em;color:var(--muted);font-weight:600}
.svc h2{font-size:clamp(27px,2.6vw,34px)}
.svc p{color:var(--muted);font-size:16.5px}
.svc .price{font-size:15.5px;color:var(--muted);text-align:right}
.svc .price b{color:var(--ink);font-size:18px;font-weight:600}
.svc .price .arrow{display:block;margin-top:8px;font-size:15px;color:var(--ink)}

.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:400px;gap:14px}
.gal figure{position:relative;overflow:hidden;border-radius:18px;background:var(--sand)}
.gal figure.w{grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:12px;bottom:12px;background:var(--cream);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;font-weight:600;border-radius:99px}
.more{margin-top:24px;color:var(--muted)}
.more a{color:var(--ink);font-weight:600;white-space:nowrap}

/* analog */
.analog-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.analog-top .photo{border-radius:var(--r);overflow:hidden}
.analog-top .photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.analog-top p{color:var(--muted);margin-bottom:16px}
.steps{border-top:1px solid var(--line-d)}
.step{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--line-d)}
.step .f{font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--peach);padding-top:8px}
.step h3{font-size:28px;margin-bottom:6px;color:var(--cream)}
.step p{color:var(--dim)}
.dark{background:var(--brown);color:var(--cream)}
.dark .eyebrow{color:var(--dim)}
.dark .lead{color:#eadfd2}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.pbox{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 32px}
.pbox h3{font:600 13.5px "Hanken Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.pbox ul{list-style:none}
.pbox li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dotted var(--line);font-size:16.5px}
.pbox li:last-child{border:0}
.pbox li b{white-space:nowrap;font-weight:600}
.pbox small{display:block;color:var(--muted);font-size:14px;margin-top:10px}
.pbox li small{margin-top:2px}
.analog-print{width:100%;height:auto;border-radius:12px;margin-top:36px}
.o-photo{width:100%;height:auto;border-radius:var(--r);margin-top:48px}

/* cennik */
.prices{border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--line);scroll-margin-top:110px}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 0;font:400 clamp(24px,2.6vw,32px)/1.2 "Newsreader",serif}
summary::-webkit-details-marker{display:none}
summary small{font:500 15.5px "Hanken Grotesk",sans-serif;color:var(--muted);margin-left:auto;white-space:nowrap}
summary:after{content:"+";font:300 30px/1 "Hanken Grotesk",sans-serif;color:var(--brown);width:24px;text-align:center;flex:none}
details[open] summary:after{content:"–"}
.pbody{padding:0 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:18px 56px}
.pbody h4{font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:6px 0 8px;font-weight:600}
.pbody ul{list-style:none}
.pbody li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px dotted var(--line);font-size:16.5px}
.pbody li b{white-space:nowrap;font-weight:600}
.pbody li span small{display:block;color:var(--muted);font-size:14.5px}
.pbody .note{grid-column:1/-1;color:var(--muted);font-size:15.5px}
table{width:100%;border-collapse:collapse;font-size:16.5px}
th,td{padding:9px 6px;border-bottom:1px dotted var(--line);text-align:right;white-space:nowrap}
th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
th:first-child,td:first-child{text-align:left;padding-left:0}
.pgal{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.pgal a{display:block;border-radius:12px;overflow:hidden;background:#000}
.pgal img{width:100%;height:auto;display:block;transition:opacity .2s}
.pgal a:hover img{opacity:.85}
.pbody>div{min-width:0}
@media (max-width:520px){table{font-size:14.5px}th,td{white-space:normal;padding:8px 4px}th{font-size:11px;letter-spacing:.04em}.tiers td{white-space:nowrap}.tiers td:first-child{white-space:normal}}

/* o atelier */
.year{font:italic 400 clamp(130px,17vw,240px)/.8 "Newsreader",serif;color:var(--brown);letter-spacing:-.04em}
.year small{display:block;font:600 13px "Hanken Grotesk",sans-serif;font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:24px}
.prose p{color:var(--muted);margin-bottom:16px;font-size:17.5px}
.prose p strong{color:var(--ink);font-weight:600}
.score{display:flex;align-items:center;gap:16px}
.score b{font:400 64px/1 "Newsreader",serif}
.score span{font-size:15.5px;color:var(--muted);line-height:1.45}
.score a{color:var(--ink);font-weight:600}
.revs{columns:2;column-gap:18px}
.rev{break-inside:avoid;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 30px;margin-bottom:18px}
.rev p{font-size:17px;white-space:pre-line}
.rev .src{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}

/* kontakt */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px}
.box{border-radius:var(--r);padding:38px}
.box.info{background:var(--brown);color:var(--cream)}
.box .lbl{display:block;font-size:14px;color:var(--dim)}
.box.info .phone{color:var(--peach)}
.box.info .phone:hover{color:var(--peach-l)}
.addr{font-size:17px;margin:4px 0 22px}
.addr a{color:var(--cream)}
.hours{width:100%;margin:6px 0 26px;font-size:16.5px}
.hours td{border-bottom:1px solid var(--line-d);padding:9px 0;color:#eadfd2}
.hours td:last-child{text-align:right}
.hours tr.today td{color:#fff;font-weight:600}
.hours tr.today td:first-child:after{content:" · dziś";color:var(--peach);font-weight:500}
.links{display:flex;flex-wrap:wrap;gap:10px}
.links .btn{flex:1}
.links .btn:first-child{flex-basis:100%}
.box.form{background:var(--card);border:1px solid var(--line)}
.box.form h2{font-size:34px;margin-bottom:6px}
.box.form>p{color:var(--muted);margin-bottom:24px}
form{display:grid;gap:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:6px;font-size:15px;font-weight:600}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brown);outline-offset:-1px}
.wt{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;background:var(--sand)}
.wt h2{font-size:clamp(34px,3.4vw,46px);margin-bottom:12px}
.wt p{color:var(--muted);margin-bottom:24px}
.wt ol{list-style:none;counter-reset:s;border-top:1px solid var(--line)}
.wt li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}
.wt li:before{content:"0" counter(s);font-size:13px;letter-spacing:.14em;color:var(--muted);font-weight:600;padding-top:3px}
.wt li b{font-weight:600;word-break:break-all}
.copy{font:600 14px "Hanken Grotesk",sans-serif;color:var(--brown);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0;margin-left:6px}
.ok{display:none;background:#e6efe1;color:#2d5530;padding:14px 16px;border-radius:12px;font-size:15px}
.ok.err{background:#f6e3df;color:#7a2e22}

/* stopka */
.ft{background:var(--brown-d);color:var(--dim);font-size:15px;padding:56px 0 30px}
.ft-in{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid var(--line-d)}
.ft a{color:var(--cream)}
.ft-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:22px;font-size:14px}
.p24{display:inline-flex;align-items:center;gap:8px}
.p24 img{height:26px;width:auto;background:#fff;border-radius:6px;padding:3px 8px;box-sizing:content-box}
.callbar{display:none}

@media (max-width:1060px){
  .nav{gap:20px}
  .svc{grid-template-columns:56px 1fr 1.2fr;row-gap:10px}
  .svc .price{grid-column:2/-1;text-align:left}
  .svc .price .arrow{display:inline;margin-left:14px}
  .gal{grid-template-columns:repeat(3,1fr);grid-auto-rows:340px}
  .gal figure.w{grid-column:span 3}
}
@media (max-width:920px){
  section{padding:72px 0}
  .hd-in{grid-template-columns:1fr auto;grid-template-rows:70px;min-height:70px;row-gap:0}
  .brand{order:1}
  .menu-btn{display:inline-flex;order:2}
  .nav{display:none;order:3;grid-column:1/-1;flex-direction:column;align-items:stretch;gap:0}
  .hd.open .nav{display:flex}
  .hd.open .nav-r{padding-bottom:18px}
  .nav a{font:400 26px/1 "Newsreader",serif;color:var(--cream);padding:14px 0;border-top:1px solid var(--line-d)}
  .nav a[aria-current]{text-decoration:none;color:var(--peach);font-style:italic}
  .nav .pill{justify-content:center;font:600 16px "Hanken Grotesk",sans-serif;margin-top:12px;padding:15px;border:1px solid var(--peach)}
  .two,.analog-top,.contact-grid,.wt{grid-template-columns:1fr;gap:40px}
  .hero-card{min-height:0}
  .feat{grid-template-columns:1fr;gap:12px}
  .trio{grid-template-columns:1fr;gap:30px}
  .svc{grid-template-columns:1fr;gap:8px;padding:28px 0}
  .svc .price{grid-column:auto}
  .revs{columns:1}
  .pbody{grid-template-columns:1fr;gap:10px}
  .ft-in{grid-template-columns:1fr 1fr}
  .ft-in>:first-child{grid-column:1/-1}
}
@media (max-width:600px){
  .wrap{padding:0 18px}
  .brand img{width:38px}
  .brand b{font-size:18px}
  .brand small{font-size:9.5px;letter-spacing:.18em}
  .menu-btn span{display:none}
  .menu-btn{padding:13px}
  .hero{padding-top:12px}
  .hero-card{padding:44px 22px 40px}
  .hero-mark{width:112px;margin-bottom:24px}
  .hero .cta .btn{flex:1 1 100%}
  .feat{padding-top:12px}
  .feat-txt{padding:24px 22px 28px}
  .ph{padding:56px 0 36px}
  .gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -18px;padding:0 18px 6px;scrollbar-width:none}
  .gal::-webkit-scrollbar{display:none}
  .gal figure{flex:none;height:360px;width:240px;scroll-snap-align:center}
  .gal figure.w{width:84vw}
  .box{padding:28px 22px}
  .row{grid-template-columns:1fr}
  .rev{padding:24px 22px}
  .score b{font-size:52px}
  summary small{display:none}
  th,td{padding:8px 3px;font-size:15px}
  .ft-in{grid-template-columns:1fr;padding-bottom:30px}
  .ft-bot{padding-top:20px}
  .ft{padding-bottom:100px}
  .callbar{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(55,43,32,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .callbar .btn{padding:15px 12px}
  .callbar .line{color:var(--cream)}
}

/* ---------- Animacje (wybór klientki: zdjęcia jak w wersji 2, napisy jak w 3), wyłączone przy prefers-reduced-motion ---------- */
@media (prefers-reduced-motion:no-preference){
  body{animation:fade .6s ease backwards}
  @keyframes fade{from{opacity:0}}

  /* zdjęcia i kafle: wyłaniają się przy przewijaniu, zdjęcia lekko się przybliżają */
  [data-r]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 100ms)}
  [data-r].in{opacity:1;transform:none}
  .feat-img img,.gal img{transition:transform 1s var(--ease)}
  .feat-card:hover .feat-img img,.gal figure:hover img{transform:scale(1.04)}

  /* napisy: logo się rysuje, tekst wjeżdża po kolei */
  .hero-mark{animation:draw 1.8s .15s cubic-bezier(.6,0,.2,1) both}
  @keyframes draw{from{clip-path:inset(0 0 100% 0);opacity:.3}to{clip-path:inset(0 0 0 0)}}
  .hero-card>*:not(.hero-mark){animation:rise 1s var(--ease) both}
  .hero h1{animation-delay:.5s!important}
  .hero .tag{animation-delay:.65s!important}
  .hero .lead{animation-delay:.8s!important}
  .hero .cta{animation-delay:.95s!important}
  @keyframes rise{from{opacity:0;transform:translateY(26px)}}
  .ph h1,.ph .eyebrow,.ph .lead{animation:rise 1s var(--ease) both}
  .ph h1{animation-delay:.12s}
  .ph .lead{animation-delay:.24s}
  .arrow:hover:after{transform:translateX(8px)}
}

/* odbitki online (zamow.html) */
[hidden]{display:none!important}
.order{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}
.order .box{display:grid;gap:14px;align-content:start}
.order>.box:last-child{position:sticky;top:104px}
.all{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px}
.chk input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--brown)}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px;border-top:1px solid var(--ink)}
.total small{display:block;color:var(--muted);font-size:14.5px}
.total b{font:400 38px/1 "Newsreader",serif;white-space:nowrap}
.btn:disabled{opacity:.45;cursor:default}
.done{max-width:720px}
.done .cta{margin-top:8px}
.calc{display:grid;border-top:1px solid var(--line);margin:8px 0 0}
.calc div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dotted var(--line)}
.calc dt{color:var(--muted)}
.calc dd{white-space:nowrap;font-variant-numeric:tabular-nums}
#krok2,#krok3{scroll-margin-top:110px}
.hint{color:var(--muted);margin-top:4px}
.pics{list-style:none;max-height:420px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;margin:12px 0 4px;background:var(--cream)}
.pics li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 8px 8px 16px;border-bottom:1px dotted var(--line)}
.pics li:last-child{border-bottom:0}
.pics span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pics input{width:76px;flex:none;text-align:center}
.legal{max-width:820px}
.legal h2{font-size:30px;margin:40px 0 12px}
.legal p,.legal li{color:var(--muted);margin-bottom:10px}
.legal ol{padding-left:22px}
.legal mark{background:var(--peach);color:var(--ink);padding:0 4px;border-radius:4px}
@media (max-width:920px){
  .order{grid-template-columns:1fr}
  .order>.box:last-child{position:static}
}
@media (max-width:600px){
  .all{grid-template-columns:1fr}
}
