:root{color-scheme:light;--paper:#f7f6ee;--panel:#fffefa;--ink:#1c2925;--muted:#4e5b53;--line:#d8ded2;--accent:#305b4e;--soft:#e6eee4;--letter:#25453c;--on-letter:#fffdf8;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif;--display:var(--serif);--radius:12px;--max:1200px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:1.1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.58 var(--sans)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:var(--weight,400);letter-spacing:var(--tracking,-.038em);line-height:1.08}
a{color:inherit;text-underline-offset:.24em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
img{display:block;width:100%;height:auto}
.wrap{width:min(var(--max),calc(100% - 94px));margin-inline:auto}
.skip{position:absolute;top:.6rem;left:.6rem;z-index:5;padding:.55rem .8rem;transform:translateY(-180%);background:var(--panel);color:var(--ink)}
.skip:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line)}
.top,.foot{display:flex;justify-content:space-between;align-items:center;gap:.8rem 1.25rem;padding-block:1rem}
.top{min-height:71px}
.brand{display:inline-flex;align-items:center;gap:.58rem;font:750 1.14rem/1.15 var(--sans);text-decoration:none}
.brand span{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:var(--badge,8px);font:800 .72rem/1 var(--sans);background:var(--accent);color:white;letter-spacing:.04em}
nav{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem clamp(.8rem,2.6vw,2rem);font-size:.88rem;font-weight:650}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}
.nav-letter{border:1px solid var(--line);border-radius:var(--badge,6px);padding:.36rem .66rem}
.hero{display:grid;position:relative;align-items:center;gap:clamp(1.5rem,4.2vw,4.5rem);margin-block:clamp(1.3rem,4.3vw,3.7rem)}
.copy{position:relative;z-index:1;min-width:0}
.overline{color:var(--accent);font-size:.73rem;font-weight:800;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
.hero h1{font-size:clamp(2.65rem,5.3vw,5.7rem);margin-top:.6rem;text-wrap:balance}
.hero h1 em{display:block;color:var(--accent);font-weight:inherit}
.intro{margin-top:1rem;max-width:54ch;color:var(--muted);font-size:clamp(.98rem,1.5vw,1.13rem)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:45px;border:0;border-radius:var(--badge,5px);padding:.56rem .9rem;background:var(--accent);color:white;text-decoration:none;font:750 .88rem/1.35 var(--sans);cursor:pointer}
.button:hover{filter:brightness(1.16)}
.button:disabled{opacity:.65;cursor:default}
.hero .button{margin-top:1.25rem}
.shot{position:relative;min-width:0}
.shot img{aspect-ratio:1.52;object-fit:cover;border-radius:var(--radius)}
.shot figcaption{position:absolute;bottom:.5rem;right:.55rem;padding:.2rem .45rem;border-radius:4px;background:var(--panel);color:var(--ink);font-size:.69rem;line-height:1.35}
.hero-line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4rem .9rem;color:var(--accent);font-size:.75rem;font-weight:750;letter-spacing:.04em}
.hero-extra{min-width:0}
.library{padding-block:clamp(1.45rem,4.4vw,4rem) clamp(2.5rem,5.3vw,5rem)}
.library-head{display:flex;justify-content:space-between;align-items:end;gap:.65rem 1.5rem;margin-bottom:1.45rem}
.library-head h2,.newsletter h2{font-size:clamp(2.1rem,4.2vw,3.6rem);margin-top:.28rem}
.library-head>p{max-width:37ch;color:var(--muted);font-size:.9rem}
.collection{display:grid;gap:1rem}
.card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.card-photo{display:block;min-width:0}
.card-photo img{aspect-ratio:1.67;object-fit:cover}
.card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.54rem;min-width:0;padding:1rem}
.card h3{font-size:clamp(1.24rem,2.25vw,1.9rem)}
.card h3 a{text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card-desc{color:var(--muted);font-size:.87rem;line-height:1.5}
.num{display:inline-block;margin-right:.52rem;color:var(--accent);font-variant-numeric:tabular-nums}
.read{margin-top:auto;padding-top:.15rem;color:var(--accent);font-size:.85rem;font-weight:750}
.newsletter{background:var(--letter);color:var(--on-letter)}
.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.4rem,5vw,4rem);padding-block:clamp(2.15rem,4.8vw,3.85rem)}
.newsletter .overline{color:var(--on-letter)}
.newsletter-inner>div>p:not(.overline){margin-top:.8rem;max-width:44ch}
.newsletter :focus-visible{outline-color:var(--on-letter)}
.signup{display:grid;gap:.58rem}
.signup>label:first-child{font-size:.87rem;font-weight:750}
.form-row{display:flex;gap:.5rem}
.form-row input{width:100%;min-width:0;min-height:45px;padding:.46rem .65rem;border:1px solid var(--line);border-radius:6px;background:white;color:#171b1a;font:inherit}
.form-row button{flex:none;background:var(--on-letter);color:var(--letter)}
.consent{display:flex;align-items:flex-start;gap:.52rem;cursor:pointer;font-size:.84rem}
.consent input{flex:none;width:18px;height:18px;margin:.16rem 0 0;accent-color:var(--accent)}
.form-note,.form-status{font-size:.82rem}
.form-status:empty{display:none}
.form-status[data-state="error"]{font-weight:700}
.site-footer{border-top:1px solid var(--line)}
.foot p{color:var(--muted);font-size:.82rem;margin-top:.25rem}
.article{max-width:890px;padding-block:1.65rem clamp(2.45rem,5vw,4.6rem)}
.back{color:var(--accent);font-size:.88rem;font-weight:700}
.article-head{padding-block:clamp(1.1rem,3vw,2.65rem) 1.35rem}
.article-head h1{font-size:clamp(2.2rem,5vw,4.6rem);margin-top:.35rem;text-wrap:balance}
.article-photo img{aspect-ratio:2.1;object-fit:cover;border-radius:var(--radius)}
.article-photo figcaption{margin-top:.36rem;color:var(--muted);font-size:.75rem}
.prose{width:min(100%,720px);margin:1.6rem auto 0}
.prose section{margin-block:1.45rem}
.prose h2{font-size:clamp(1.4rem,2.7vw,2rem);margin-bottom:.48rem}
.prose p{color:var(--muted);line-height:1.73}
.prose a{color:var(--accent)}
.note{border-left:3px solid var(--accent);background:var(--soft);padding:.8rem .95rem;font-size:.89rem}
.references{border-block:1px solid var(--line);padding:.8rem 0}
.references ul{margin:.55rem 0;padding-left:1.15rem}
.references li{margin:.22rem 0}
.next{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.82rem;text-decoration:none}
.next strong{display:block;font:var(--weight,400) 1.3rem/1.25 var(--display);color:var(--ink)}
.next:hover strong{text-decoration:underline}
.message{max-width:680px;padding-block:4rem}
.message h1{font-size:clamp(2rem,5vw,3.8rem);margin-bottom:.8rem}
.message form,.message .back{margin-top:1.2rem}
.message .back{display:block}

.hero-lab :focus-visible,.hero-atlas :focus-visible,.hero-woda :focus-visible{outline-color:#e7f4ff}

:root{--paper:#eff6f8;--panel:#f9fdff;--ink:#15394c;--muted:#395d6d;--line:#ccdee5;--accent:#155679;--soft:#dcecf2;--letter:#173a50;--radius:16px;--badge:25px}
.hero-woda{grid-template-columns:1fr;min-height:545px;isolation:isolate;overflow:hidden;gap:0;border-radius:28px;background:#173a50;color:#fff;align-content:center}
.hero-woda .shot{position:absolute;z-index:-1;inset:0}
.hero-woda .shot img{height:100%}
.hero-woda .shot::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#082634ec 0%,#082634bd 39%,#08263436 100%);pointer-events:none}
.hero-woda .shot figcaption{z-index:2}
.hero-woda .copy{padding:clamp(1.6rem,5vw,4.1rem);max-width:670px}
.hero-woda .intro,.hero-woda .overline,.hero-woda h1 em{color:#d0eff6}
.hero-woda .button{background:#d5f0f7;color:#133d51}
.hero-woda .hero-line{padding:0 clamp(1.6rem,5vw,4.1rem) 1rem;justify-content:flex-start;color:#d0eff6}
.hero-woda .hero-line span{border:1px solid #9abeca;padding:.3rem .65rem;border-radius:30px}
.lead{grid-template-columns:repeat(2,minmax(0,1fr))}
.lead .card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;align-items:center}
.lead .card:first-child .card-photo img{aspect-ratio:2.25}

@media(max-width:970px){
  .wrap{width:calc(100% - 56px)}
  .recipe{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stripes .card,.tiles .card{display:flex}
  .stripes .card-photo img,.tiles .card-photo img{height:auto}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 34px)}
  .top,.foot{flex-wrap:wrap;min-height:0;gap:.55rem .9rem}
  .hero:not(.hero-woda){grid-template-columns:1fr;gap:.85rem}
  .hero:not(.hero-woda) .shot{min-height:0;height:auto}
  .hero:not(.hero-woda) .shot img{aspect-ratio:1.68;min-height:0;height:auto}
  .hero .copy{grid-column:1/-1;grid-row:auto;padding:1.1rem;order:-1}
  .hero .hero-extra,.hero .hero-line{grid-column:1/-1}
  .hero-dom .copy,.hero-fakty .copy{padding:1rem .55rem}
  .hero-szkola .shot img{border-radius:60px 60px 10px 10px}
  .hero-szkola .shot{border-width:5px;border-radius:65px 65px 14px 14px}
  .hero-poz .copy{padding:.25rem}
  .hero-woda{min-height:460px}
  .hero-woda .shot::after{background:#082634ae}
  .hero-woda .hero-line{padding:0 1.1rem .95rem}
  .hero-wspolnie .shot img{clip-path:none}
  .hero-kuchnia .copy{padding:1.15rem .35rem .2rem}
  .library-head{align-items:flex-start;flex-direction:column}
  .newsletter-inner{grid-template-columns:1fr}
  .grid,.journal,.chapters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid .card,.grid .card:nth-last-child(-n+2),.chapters .card,.chapters .card:nth-last-child(-n+2){grid-column:auto;display:flex}
  .journal .card:first-child{grid-row:auto}
  .journal .card:first-child .card-photo img{aspect-ratio:1.67}
  .tiles .card:last-child,.stripes .card:last-child{grid-column:auto}
  .article-photo img{aspect-ratio:1.7}
}
@media(max-width:480px){
  .wrap{width:calc(100% - 30px)}
  .collection{grid-template-columns:1fr}
  .collection .card:first-child,.collection .card:last-child{grid-column:auto}
  .lead .card:first-child,.recipe .card:first-child,.steps .card{display:flex}
  .ledger .card,.ledger .card:nth-child(even){grid-template-columns:100px 1fr;gap:.6rem}
  .ledger .card:nth-child(even) .card-photo{order:0}
  .ledger .card-photo img{aspect-ratio:1.05}
  .ledger .card-desc{display:none}
  .form-row{flex-direction:column}
  .form-row button{align-self:start}
}
