:root{
  --bg:#f7efe2;
  --bg-soft:#fbf6ee;
  --paper:#fffaf2;
  --paper-strong:#fffdf8;
  --ink:#312a24;
  --muted:#756b60;
  --muted-strong:#5f564d;
  --line:#e5d5be;
  --line-soft:rgba(229,213,190,.68);
  --sage:#9aa782;
  --sage-dark:#74805e;
  --rose:#b98572;
  --copper:#a9784d;
  --shadow-sm:0 10px 30px rgba(67,52,34,.08);
  --shadow:0 22px 70px rgba(67,52,34,.12);
  --radius:12px;
  --radius-sm:10px;
  --header-h:84px;
  --container:min(1220px,calc(100% - clamp(32px,6vw,96px)));
  --font-body:Inter,Arial,sans-serif;
  --font-display:"Playfair Display",Georgia,serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* Scoped layout for the "Dlaczego ludzie przychodzą?" section. */
.section.why-section{
  padding-top:clamp(72px,7vw,96px);
  padding-bottom:clamp(80px,7vw,96px);
}
.why-section .compact-title{
  max-width:820px;
  gap:20px;
  margin-bottom:clamp(40px,4vw,48px);
}
.why-section .compact-title h2{max-width:820px}
.why-section .why-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
  width:100%;
  max-width:1040px;
  margin-inline:auto;
}
.why-section .why-grid article{
  grid-column:span 2;
  min-height:160px;
  padding:30px 24px;
  border-radius:20px;
}
.why-section .why-grid article:nth-child(4){grid-column:2 / span 2}
.why-section .why-grid article:nth-child(5){grid-column:4 / span 2}
.why-section .why-grid span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  font-size:1.75rem;
  line-height:1;
  opacity:.82;
}
.why-section .why-grid h3{font-weight:600;text-align:center}

@media(max-width:900px){
  .why-section .why-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
  .why-section .why-grid article{grid-column:span 2}
  .why-section .why-grid article:nth-child(4){grid-column:span 2}
  .why-section .why-grid article:nth-child(5){grid-column:2 / span 2}
}

@media(max-width:600px){
  .section.why-section{padding-block:64px 72px}
  .why-section .compact-title{gap:16px;margin-bottom:32px}
  .why-section .why-grid{grid-template-columns:1fr;gap:16px;max-width:390px}
  .why-section .why-grid article,
  .why-section .why-grid article:nth-child(4),
  .why-section .why-grid article:nth-child(5){grid-column:1;min-height:132px;padding:24px 20px}
}

*{box-sizing:border-box}
html{
  max-width:100%;
  overflow-x:hidden;
  scroll-behavior:smooth;
  text-size-adjust:100%;
}
body{
  max-width:100%;
  overflow-x:hidden;
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:clamp(1rem,.2vw + .96rem,1.0625rem);
  line-height:1.66;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.nav-open{overflow:hidden}
a{color:inherit}
img,
video,
svg{
  display:block;
  max-width:100%;
  height:auto;
}
main,
section,
header,
footer{max-width:100%}
:target{scroll-margin-top:calc(var(--header-h) + 18px)}
p{margin:0;max-width:68ch}
p+p{margin-top:.88rem}

.skip-link{
  position:absolute;
  left:16px;
  top:-64px;
  z-index:80;
  padding:10px 14px;
  border-radius:var(--radius-sm);
  background:var(--ink);
  color:#fff;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:16px}

.site-header{
  position:fixed;
  inset:0 0 auto;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:var(--header-h);
  padding:12px clamp(18px,4vw,56px);
  background:rgba(251,246,238,.88);
  border-bottom:1px solid rgba(229,213,190,.72);
  backdrop-filter:blur(18px);
  box-shadow:0 1px 0 rgba(255,255,255,.55);
}
.brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.brand-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:236px;
  height:62px;
  overflow:visible;
}
.brand-logo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.2vw,30px);
  color:var(--muted);
  font-size:clamp(.95rem,.2vw + .9rem,1.03rem);
  font-weight:500;
  min-width:0;
}
.site-nav a{
  position:relative;
  padding:8px 0;
  text-decoration:none;
  transition:color .22s var(--ease);
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--copper);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .24s var(--ease);
}
.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.is-active{color:var(--ink)}
.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav a.is-active::after{transform:scaleX(1)}

.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,250,242,.8);
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  margin:5px auto;
  background:var(--ink);
  transition:transform .22s var(--ease),opacity .22s var(--ease);
}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

h1,h2,h3{
  margin:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:0;
}
h1{
  max-width:18ch;
  font-size:clamp(2rem,1.46rem + 2.05vw,4rem);
  line-height:1.06;
}
h2{
  max-width:20ch;
  font-size:clamp(1.5rem,1.24rem + 1vw,2.45rem);
  line-height:1.14;
}
h3{
  font-size:clamp(1.18rem,1.04rem + .42vw,1.48rem);
  line-height:1.28;
}
.eyebrow{
  margin:0 0 13px;
  color:var(--copper);
  font-size:clamp(.72rem,.65rem + .16vw,.82rem);
  font-weight:800;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.container{
  width:var(--container);
  max-width:100%;
  margin:0 auto;
}
.section,
.section-band{
  padding:clamp(72px,7vw,104px) 0;
}
.section-band{background:var(--paper)}
.section-soft{background:#f2e7d6}
.section-title{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:860px;
  margin-bottom:clamp(28px,4.2vw,46px);
}
.section-title p,
.section-heading p,
.intro p,
.story p,
.meeting-card p,
.support p,
.contact p,
.site-footer p,
.event-list-home p,
.history-copy p{color:var(--muted)}

.hero{
  position:relative;
  display:grid;
  min-height:clamp(620px,84vh,860px);
  padding:calc(var(--header-h) + clamp(44px,7vw,76px)) clamp(18px,5vw,76px) clamp(32px,5vw,54px);
  overflow:hidden;
  isolation:isolate;
}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(58,45,34,.66) 0%,rgba(89,70,50,.47) 38%,rgba(255,244,224,.14) 100%),
    linear-gradient(0deg,rgba(49,42,36,.2),rgba(49,42,36,.02) 42%);
}
.hero-photo{
  width:100%;
  height:100%;
  background:url("assets/home/hero-spotkanie-rozwojowe.png") center/cover;
  filter:saturate(.92) contrast(.98) brightness(.98);
  transform:none;
}
.hero-content{
  align-self:center;
  width:min(900px,100%);
  color:#fff;
}
.hero h1{color:#fff;text-wrap:balance}
.hero .eyebrow{color:#f0dec0}
.hero-lead{
  max-width:62ch;
  margin-top:clamp(16px,2.2vw,24px);
  color:rgba(255,255,255,.9);
  font-size:clamp(1.0625rem,.94rem + .36vw,1.28rem);
  line-height:1.62;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  max-width:720px;
  margin:clamp(22px,3.5vw,34px) 0 0;
  padding:0;
  list-style:none;
  color:#fff8ef;
  font-size:clamp(.93rem,.82rem + .32vw,1.05rem);
  font-weight:700;
  line-height:1.45;
}
.hero-stats li{
  position:relative;
  padding-left:28px;
}
.hero-stats li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:0;
  color:#f0dec0;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  max-width:100%;
  gap:12px;
  margin-top:clamp(22px,3.2vw,34px);
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 22px;
  border:1px solid transparent;
  border-radius:var(--radius-sm);
  font-weight:800;
  line-height:1.15;
  text-decoration:none;
  cursor:pointer;
  max-width:100%;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.button:hover,
.button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(49,42,36,.16);
}
.button-primary{background:var(--sage);color:#fff}
.button-primary:hover,
.button-primary:focus-visible{background:var(--sage-dark)}
.button-secondary{
  min-width:min(260px,100%);
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.5);
  color:#fff;
}
.button-secondary:hover,
.button-secondary:focus-visible{background:rgba(255,255,255,.24)}
.hero-note{
  align-self:end;
  display:flex;
  gap:12px;
  max-width:700px;
  margin-top:clamp(28px,4.6vw,52px);
  padding-top:18px;
  color:rgba(255,255,255,.84);
  border-top:1px solid rgba(255,255,255,.42);
}
.hero-note strong{color:#fff}

.intro-grid,
.meeting-grid,
.why-grid,
.event-list-home{
  display:grid;
  gap:18px;
}
.intro-grid > *,
.meeting-grid > *,
.testimonial-grid > *,
.why-grid > *,
.gallery-grid > *,
.upcoming-layout > *,
.split > *,
.support-grid > *,
.contact-grid > *,
.footer-grid > *,
.history-entry > *,
.morning-feature > *{
  min-width:0;
}
.intro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.intro article,
.meeting-card,
.support-box,
.contact-form,
.event-list-home article,
.why-grid article,
.history-entry,
.events-poster,
.photo-mosaic figure{
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:rgba(255,250,242,.88);
  box-shadow:var(--shadow-sm);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
}
.intro article:hover,
.meeting-card:hover,
.support-box:hover,
.event-list-home article:hover,
.why-grid article:hover,
.history-entry:hover{
  transform:translateY(-3px);
  border-color:rgba(185,138,93,.42);
  box-shadow:var(--shadow);
}
.tile-link{
  display:flex;
  min-height:238px;
  height:100%;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px 24px;
  color:inherit;
  text-align:center;
  text-decoration:none;
}
.tile-link h2{
  margin-bottom:12px;
  font-family:var(--font-body);
  font-size:clamp(1.18rem,1.05rem + .42vw,1.4rem);
  line-height:1.28;
  transition:color .22s var(--ease);
}
.tile-link p{max-width:34ch}
.tile-link:hover h2,
.tile-link:focus-visible h2{color:var(--copper)}
.tile-link:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:5px;
  border-radius:var(--radius-sm);
}

.why-section{background:var(--bg)}
.compact-title{max-width:850px}
.why-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.why-grid article{
  display:grid;
  gap:12px;
  align-content:center;
  justify-items:center;
  min-height:158px;
  padding:24px 16px;
  text-align:center;
}
.why-grid span{font-size:1.9rem;line-height:1}
.why-grid h3{
  font-family:var(--font-body);
  font-size:clamp(1rem,.95rem + .18vw,1.08rem);
  line-height:1.32;
}

.front-gallery{background:var(--paper)}
.gallery-grid,
.upcoming-layout,
.split,
.support-grid,
.contact-grid,
.footer-grid{
  display:grid;
  gap:clamp(34px,6vw,76px);
  align-items:center;
}
.gallery-grid{grid-template-columns:minmax(280px,.86fr) minmax(340px,1.14fr)}
.gallery-copy{
  display:grid;
  gap:18px;
}
.photo-mosaic{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  grid-template-rows:1fr 1fr;
  gap:12px;
}
.photo-mosaic figure{
  margin:0;
  overflow:hidden;
  background:#efe0ca;
}
.photo-mosaic img,
.history-gallery img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.98) brightness(1.02);
}
.photo-mosaic img{object-position:center}
.photo-mosaic .photo-large img{object-position:center 48%}
.photo-mosaic figure:nth-child(2) img{object-position:center 35%}
.photo-mosaic figure:nth-child(3) img{object-position:center 50%}
.photo-large{grid-row:1/3;aspect-ratio:4/5}
.photo-mosaic figure:not(.photo-large){aspect-ratio:4/3}

.upcoming-home{background:#f2e7d6}
.upcoming-home .section-title{align-items:flex-start}
#najblizsze-spotkania{padding-block:clamp(56px,6vw,84px)}
#najblizsze-spotkania .section-title{margin-bottom:clamp(26px,3vw,38px)}
.upcoming-layout{grid-template-columns:minmax(300px,.96fr) minmax(280px,.74fr)}
.event-list-home{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.event-list-home:has(> article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.event-list-home:has(> article:only-child){grid-template-columns:1fr}
.event-list-home article{display:grid;align-content:start;gap:12px;padding:24px}
.event-list-home article:only-child{
  grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);
  column-gap:clamp(32px,5vw,64px);
  row-gap:12px;
  align-items:center;
  padding:clamp(28px,4vw,42px);
}
.event-list-home article:only-child > .event-card-poster{
  grid-column:1;
  grid-row:1 / 7;
  align-self:center;
  width:100%;
  max-width:none;
  border-radius:calc(var(--radius) - 6px);
}
.event-list-home article:only-child > .event-card-meta,
.event-list-home article:only-child > h3,
.event-list-home article:only-child > p{
  grid-column:2;
}
.event-list-home article:only-child > .button{
  grid-column:2;
  grid-row:auto;
  align-self:start;
  justify-self:start;
  min-width:0;
  margin-top:6px;
}
.event-details[hidden]{display:none}
.event-details{
  box-sizing:border-box;
  width:100%;
  max-width:900px;
  margin:18px auto 0;
  padding:clamp(26px,4vw,44px);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--paper-strong);
  box-shadow:var(--shadow-sm);
  scroll-margin-top:calc(var(--header-h) + 24px);
}
.event-details-copy{
  width:100%;
  max-width:720px;
  margin:0 auto;
  text-align:left;
}
.event-details-copy p{
  margin:0 0 20px;
  color:var(--muted-strong);
  line-height:1.72;
  white-space:pre-wrap;
  overflow-wrap:break-word;
}
.event-details-copy ol{
  margin:0 0 20px;
  padding-left:1.5rem;
  color:var(--muted-strong);
}
.event-details-copy li{
  padding-left:.35rem;
  line-height:1.72;
}
.event-details-copy li+li{margin-top:16px}
.event-details-copy a{
  color:var(--sage-dark);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.event-details-copy > :last-child{margin-bottom:0}
@media(max-width:640px){
  .event-details{
    margin-top:14px;
    padding:24px 20px;
    border-radius:20px;
  }
  .event-details-copy p,
  .event-details-copy li{
    font-size:16px;
    line-height:1.65;
  }
  .event-details-copy p,
  .event-details-copy ol{margin-bottom:18px}
}
.event-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.event-list-home time{
  display:inline-block;
  margin-bottom:0;
  color:var(--rose);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.event-list-home h3{
  margin-bottom:0;
  font-family:var(--font-body);
  font-size:clamp(1.12rem,1.02rem + .32vw,1.28rem);
}
.open-signups{
  margin:0 0 22px;
  color:var(--sage-dark);
  font-weight:800;
}
.event-card-meta .open-signups{margin:0;padding:5px 10px;border-radius:999px;font-size:.78rem}
.event-place{color:var(--muted-strong)}
.event-list-home .button{justify-self:start;margin-top:6px}
.event-card-poster{width:min(100%,440px)}
.event-page-content{display:grid;gap:20px}
.event-page-poster{width:min(100%,760px);margin:0 auto 12px}
.event-page-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
  margin-bottom:8px;
  padding:clamp(20px,3vw,28px);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--paper-strong);
}
.event-page-facts p{margin:0}
.first-visit-note{
  max-width:900px;
  margin:clamp(20px,3vw,30px) auto 0;
  padding:clamp(20px,3vw,28px);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:rgba(255,255,255,.58);
  box-shadow:var(--shadow-sm);
}
.first-visit-note h3{margin-bottom:8px;font-size:clamp(1.12rem,1.04rem + .35vw,1.35rem)}
.first-visit-note p{margin:0;color:var(--muted-strong)}
@media(max-width:760px){
  .event-list-home article:only-child{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 20px;
  }
  .event-list-home article:only-child > .event-card-poster,
  .event-list-home article:only-child > .event-card-meta,
  .event-list-home article:only-child > h3,
  .event-list-home article:only-child > p,
  .event-list-home article:only-child > .button{
    grid-column:1;
    grid-row:auto;
  }
  .event-list-home article:only-child > .button{
    justify-self:stretch;
    width:100%;
  }
}
.upcoming-actions{display:flex;justify-content:center;margin-top:clamp(26px,3vw,38px)}
.events-poster{
  margin:0;
  overflow:hidden;
  background:var(--paper);
}
.events-poster img{
  display:block;
  width:100%;
  height:auto;
  filter:saturate(.92) contrast(.98);
}

.download-section{
  background:#F7F1E8;
  color:#2F332D;
}
.download-card{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr);
  width:min(1120px,calc(100% - clamp(32px,6vw,96px)));
  max-width:1120px;
  margin:64px auto;
  gap:clamp(28px,4vw,56px);
  align-items:center;
  padding:56px 32px;
  border:1px solid var(--line-soft);
  border-radius:28px;
  background:var(--paper-strong);
  box-shadow:var(--shadow-sm);
}
.download-visual{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:0;
  width:100%;
}
.download-visual .download-cover{display:block;width:auto;height:auto;max-width:100%}
.download-cover-ebook{width:220px!important}
.download-cover-workbook{width:202px!important}
.download-info{display:grid;gap:28px;min-width:0}
.download-copy{
  display:grid;
  gap:16px;
}
.download-copy .eyebrow{
  color:#8A6F4D;
}
.download-copy h2{
  max-width:14ch;
  text-wrap:balance;
}
.download-copy p{
  max-width:62ch;
}
.download-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:12px;
}
.download-section .button{
  min-height:48px;
  padding:14px 24px;
  border-radius:999px;
  font-size:16px;
  font-weight:600;
}
.download-section .button-primary{
  background:#7A8C6A;
  color:#FFFFFF;
}
.download-section .button-primary:hover,
.download-section .button-primary:focus-visible{
  background:#667858;
}
.download-section .button-secondary{
  background:#FFFFFF;
  border:2px solid #7A8C6A;
  color:#5F7152;
  font-weight:600;
}
.download-section .button-secondary:hover,
.download-section .button-secondary:focus-visible{
  background:#EEF2E8;
  color:#4F6044;
}
#do-pobrania .download-actions > a.button.button-secondary[href$="Mniej_narzekania_wiecej_zycia_workbook_2_0.pdf"]{
  background:#FFFFFF !important;
  color:#5F7152 !important;
  border:2px solid #7A8C6A !important;
  font-weight:700 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
#do-pobrania .download-actions > a.button.button-secondary[href$="Mniej_narzekania_wiecej_zycia_workbook_2_0.pdf"]:hover,
#do-pobrania .download-actions > a.button.button-secondary[href$="Mniej_narzekania_wiecej_zycia_workbook_2_0.pdf"]:focus-visible{
  background:#EEF2E8 !important;
  color:#4F6044 !important;
  border-color:#5F7152 !important;
}
.download-reminder{
  background:var(--paper);
}
.download-reminder-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:clamp(22px,3.2vw,34px);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:var(--paper-strong);
}
.download-reminder h2{
  margin:0 0 6px;
  font-family:var(--font-body);
  font-size:clamp(1.2rem,1.06rem + .48vw,1.48rem);
  line-height:1.25;
}
.download-reminder p{
  color:var(--muted);
}
.download-reminder .button{
  border-radius:999px;
  font-weight:600;
}

.split{
  grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);
  align-items:start;
}
.reverse{direction:rtl}
.reverse>*{direction:ltr}
.section-heading{
  position:sticky;
  top:calc(var(--header-h) + 36px);
}
.section-heading h2{text-wrap:balance}
.story{
  display:grid;
  gap:18px;
  max-width:72ch;
  font-size:clamp(1rem,.95rem + .2vw,1.08rem);
  line-height:1.78;
}
.story h3{
  margin-top:10px;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:clamp(1.16rem,1.06rem + .34vw,1.32rem);
  line-height:1.35;
}
.about-layout{
  display:grid;
  grid-template-columns:minmax(280px,.84fr) minmax(340px,1.16fr);
  align-items:start;
  gap:clamp(36px,6vw,72px);
}
.about-photo{
  width:100%;
  max-width:480px;
  margin:0;
  overflow:hidden;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.about-photo img{display:block;width:100%;height:auto}
.about-story h2{margin-bottom:4px;text-wrap:balance}
@media(max-width:900px){
  .about-layout{grid-template-columns:1fr}
  .about-photo{justify-self:center;max-width:440px}
  .about-story{max-width:72ch}
}
.values,
.article-topics{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.values span,
.article-topics span{
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper);
  color:var(--sage-dark);
  font-size:.9rem;
  font-weight:800;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2.2vw,24px);
}
.testimonial-card{
  position:relative;
  min-height:230px;
  padding:clamp(26px,3vw,34px);
  background:linear-gradient(145deg,var(--paper-strong),var(--paper));
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease);
}
.testimonial-card::before{
  content:"“";
  display:block;
  margin-bottom:8px;
  color:rgba(185,133,114,.28);
  font-family:var(--font-display);
  font-size:clamp(2.7rem,4vw,4rem);
  line-height:.7;
}
.testimonial-card:hover{
  transform:translateY(-4px);
  border-color:rgba(185,133,114,.35);
  box-shadow:var(--shadow);
}
.testimonial-card p{
  color:var(--muted-strong);
  font-size:clamp(.98rem,.92rem + .18vw,1.08rem);
  line-height:1.75;
}
.small-note{
  padding:14px 16px;
  border-left:3px solid rgba(154,167,130,.55);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  background:rgba(251,246,238,.72);
  color:var(--muted);
  font-size:clamp(.9rem,.86rem + .12vw,.96rem);
  line-height:1.65;
}
.story .button{
  justify-self:start;
  margin:2px 0 4px;
}
.guest-articles{
  display:grid;
  gap:20px;
  max-width:720px;
  margin-top:18px;
}
#artykuly-gosci.guest-section{
  position:relative;
  padding:clamp(68px,6.4vw,92px) 0;
  background:
    linear-gradient(180deg,rgba(255,250,242,.78),rgba(251,246,238,.92)),
    var(--bg-soft);
  scroll-margin-top:calc(var(--header-h) + 12px);
}
#artykuly-gosci .guest-section-grid{
  direction:ltr;
  grid-template-areas:"content heading";
  grid-template-columns:minmax(360px,1.08fr) minmax(300px,.92fr);
  gap:clamp(28px,4vw,52px);
  align-items:start;
}
#artykuly-gosci .guest-section-grid > *{
  direction:ltr;
}
#artykuly-gosci .section-heading{
  grid-area:heading;
  top:calc(var(--header-h) + 28px);
  max-width:500px;
  padding:clamp(24px,3vw,34px);
  border:1px solid rgba(122,140,106,.18);
  border-radius:24px;
  background:rgba(255,250,242,.58);
}
#artykuly-gosci .section-heading .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  color:var(--sage-dark);
}
#artykuly-gosci .section-heading .eyebrow::before{
  content:"";
  width:26px;
  height:1px;
  background:rgba(122,140,106,.55);
}
#artykuly-gosci .section-heading h2{
  max-width:12.5ch;
  font-size:clamp(2rem,1.55rem + 1.55vw,3.05rem);
  line-height:1.08;
}
#artykuly-gosci .section-heading .article-topics{
  margin-top:24px;
}
#artykuly-gosci .story{
  grid-area:content;
  display:grid;
  gap:18px;
  max-width:720px;
  padding:0;
}
#artykuly-gosci .guest-intro{
  display:grid;
  gap:16px;
  max-width:62ch;
}
#artykuly-gosci .guest-article-cta{
  align-self:start;
}
#artykuly-gosci .guest-intro p{
  max-width:62ch;
  color:var(--muted-strong);
}
#artykuly-gosci .article-topics{
  gap:9px;
  margin-top:0;
  margin-bottom:0;
}
#artykuly-gosci .article-topics span{
  padding:9px 13px;
  border-color:rgba(122,140,106,.24);
  background:rgba(255,250,242,.78);
  color:var(--sage-dark);
  font-size:.86rem;
  box-shadow:0 8px 20px rgba(58,45,34,.035);
}
#artykuly-gosci .guest-articles{
  max-width:100%;
  margin-top:0;
}
#artykuly-gosci .guest-article-card{
  position:relative;
  gap:16px;
  max-width:720px;
  padding:clamp(28px,3.4vw,40px);
  overflow:hidden;
  border:1px solid rgba(122,140,106,.24);
  border-radius:24px;
  background:linear-gradient(145deg,var(--paper-strong),rgba(255,250,242,.9));
  box-shadow:0 18px 48px rgba(58,45,34,.08);
}
#artykuly-gosci .guest-article-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,rgba(154,167,130,.95),rgba(185,133,114,.68));
}
#artykuly-gosci .guest-article-card .article-meta{
  color:var(--copper);
  font-size:.78rem;
  letter-spacing:.06em;
}
#artykuly-gosci .guest-article-card h3{
  max-width:14ch;
  font-size:clamp(1.72rem,1.32rem + 1vw,2.28rem);
}
#artykuly-gosci .guest-article-card > p:not(.article-meta){
  max-width:56ch;
  color:var(--muted-strong);
  font-size:1.02rem;
  line-height:1.68;
}
#artykuly-gosci .guest-article-card .text-link{
  min-height:48px;
  margin-top:8px;
  padding:13px 22px;
  background:var(--sage-dark);
  box-shadow:0 14px 26px rgba(116,128,94,.18);
}
#artykuly-gosci .guest-article-card .text-link:hover,
#artykuly-gosci .guest-article-card .text-link:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(116,128,94,.22);
}
#artykuly-gosci .guest-article-cta{
  max-width:100%;
  margin-top:0;
  padding:18px 20px;
  border:1px solid rgba(229,213,190,.78);
  border-radius:18px;
  background:rgba(255,250,242,.58);
}
#artykuly-gosci .guest-article-cta .text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--sage-dark);
  font-weight:800;
  text-decoration:none;
}
#artykuly-gosci .guest-article-cta .text-link::after{
  content:"→";
  line-height:1;
  transition:transform .2s var(--ease);
}
#artykuly-gosci .guest-article-cta .text-link:hover::after,
#artykuly-gosci .guest-article-cta .text-link:focus-visible::after{
  transform:translateX(3px);
}
.guest-article-card{
  display:grid;
  gap:18px;
  max-width:720px;
  padding:28px 32px;
  border:1px solid rgba(122,140,106,.22);
  border-radius:22px;
  background:var(--paper-strong);
  box-shadow:0 16px 36px rgba(58,45,34,.07);
}
.guest-article-card h3{
  margin:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(1.6rem,1.24rem + 1vw,2.15rem);
  line-height:1.18;
}
.guest-article-card p{
  color:var(--muted-strong);
}
.guest-article-card > p:not(.article-meta){
  margin-top:0;
}
.guest-article-card .text-link{
  justify-self:start;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--sage);
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(122,140,106,.18);
}
.guest-article-card .text-link:hover,
.guest-article-card .text-link:focus-visible{
  background:var(--sage-dark);
  color:#fff;
}
.article-meta{
  display:flex;
  flex-wrap:wrap;
  column-gap:4px;
  row-gap:6px;
  align-items:center;
  color:var(--rose);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.article-meta-separator{
  color:var(--muted);
  margin:0;
}
.article-page{
  padding-top:max(120px,calc(var(--header-h) + 36px));
  scroll-margin-top:max(120px,calc(var(--header-h) + 36px));
  background:var(--bg-soft);
  min-height:100vh;
}
.article-page .article-hero,
.article-page .article-content{
  box-sizing:border-box;
}
.article-hero{
  padding:clamp(48px,6vw,72px) 0 48px;
  background:var(--paper);
}
.article-hero .section-title{
  width:min(820px,calc(100% - 48px));
  max-width:820px;
  margin:0 auto;
  align-items:flex-start;
  gap:0;
}
.article-hero .eyebrow{
  margin-bottom:12px;
}
.article-hero h1{
  max-width:100%;
  margin-bottom:16px;
  text-wrap:balance;
}
.article-logo-panel{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:32px;
  width:100%;
  margin:0 0 30px;
  padding:0;
}
.article-logo-panel img{
  display:block;
  width:auto;
  max-width:160px;
  max-height:120px;
  height:auto;
  object-fit:contain;
}
.article-content{
  width:calc(100% - 48px);
  max-width:820px;
  margin:0 auto clamp(64px,8vw,96px);
  padding:48px 24px 72px;
  border:1px solid var(--line-soft);
  border-radius:24px;
  background:var(--paper-strong);
  box-shadow:0 18px 48px rgba(58,45,34,.07);
}
.article-content p{
  max-width:68ch;
  margin-left:auto;
  margin-right:auto;
  color:var(--muted-strong);
  font-size:18px;
  line-height:1.75;
  margin-bottom:22px;
  overflow-wrap:break-word;
}
.article-content p+p{
  margin-top:0;
}
.article-content h2{
  max-width:68ch;
  margin:clamp(34px,5vw,52px) auto 18px;
  font-family:var(--font-body);
  font-size:clamp(1.18rem,1.04rem + .45vw,1.42rem);
  line-height:1.32;
}
.article-content a{
  color:var(--sage-dark);
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.article-contact-card{
  max-width:100%;
  margin:56px 0 48px;
  padding:32px;
  border:1px solid rgba(122,140,106,.25);
  border-radius:24px;
  background:#f7f1e8;
}
.article-contact-card h2{
  margin:0 0 22px;
  color:var(--ink);
}
.article-contact-groups{
  display:grid;
  gap:22px;
}
.article-contact-groups p{
  margin:0;
  max-width:100%;
}
.article-author{
  margin-top:2px;
  padding-top:24px;
  border-top:1px solid var(--line-soft);
}
.meeting-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.meeting-card{
  min-height:268px;
  padding:clamp(28px,3vw,36px);
}
.meeting-type{
  margin:0 0 30px;
  color:var(--rose);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.meeting-card h3{margin-bottom:14px}
.morning-feature{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);
  gap:clamp(22px,4vw,42px);
  align-items:center;
  margin-top:clamp(24px,4vw,38px);
  padding:clamp(28px,3.4vw,36px);
  background:linear-gradient(145deg,var(--paper-strong),var(--paper));
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.morning-feature.text-only{grid-template-columns:1fr}
.morning-feature h3{
  margin:0 0 12px;
  font-size:clamp(1.35rem,1.08rem + .75vw,1.95rem);
  line-height:1.18;
}
.morning-feature figure{
  margin:0;
  width:min(100%,540px);
  justify-self:end;
  overflow:hidden;
  border-radius:var(--radius-sm);
}
.morning-feature img{
  display:block;
  width:100%;
  height:clamp(280px,26vw,380px);
  max-height:380px;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:var(--radius-sm);
  border:1px solid var(--line-soft);
  box-shadow:0 14px 38px rgba(67,52,34,.1);
}
.morning-feature figcaption{
  margin-top:10px;
  color:var(--muted);
  font-size:.88rem;
  font-style:italic;
}

.faq-section{background:var(--bg-soft)}
.faq-list{
  display:grid;
  gap:12px;
  max-width:880px;
  margin:0 auto;
}
.faq-item{
  background:var(--paper-strong);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.faq-item summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px clamp(20px,3vw,28px);
  color:var(--ink);
  cursor:pointer;
  font-weight:800;
  line-height:1.35;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  flex:0 0 auto;
  color:var(--sage-dark);
  font-size:1.35rem;
  line-height:1;
  transition:transform .2s var(--ease);
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:focus-visible{
  outline:3px solid rgba(154,167,130,.35);
  outline-offset:-4px;
}
.faq-item p{
  padding:0 clamp(20px,3vw,28px) 22px;
  color:var(--muted-strong);
}

.history{background:var(--bg)}
.history .section-title{
  max-width:900px;
  margin-bottom:clamp(26px,3.8vw,44px);
}
.history .section-title h2{
  max-width:900px;
  font-size:clamp(1.55rem,1.18rem + 1.35vw,3rem);
  line-height:1.12;
}
.history-entry{
  display:grid;
  grid-template-columns:minmax(310px,.92fr) minmax(340px,1.08fr);
  gap:clamp(28px,5vw,58px);
  align-items:start;
  margin-top:18px;
  padding:clamp(24px,3.8vw,36px);
}
.history-entry + .history-entry{margin-top:30px}
.history-entry.no-photo{grid-template-columns:1fr}
.history-actions{
  display:flex;
  justify-content:center;
  margin-top:clamp(28px,4vw,44px);
}
.history-actions[hidden]{display:none}
.history-page{padding-top:var(--header-h);background:var(--bg-soft)}
.history-copy{
  display:grid;
  gap:14px;
  max-width:68ch;
}
.history-copy h3{
  max-width:20ch;
  font-size:clamp(1.34rem,1.1rem + .95vw,2.15rem);
  line-height:1.18;
  text-wrap:balance;
}
.meeting-date{
  color:var(--rose)!important;
  font-size:clamp(.72rem,.66rem + .16vw,.82rem);
  font-weight:800;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.history-note{
  font-size:.95rem;
  font-style:italic;
  color:var(--muted)!important;
}
.history-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.history-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:#eadfce;
}
.featured-photo{grid-column:1/-1;aspect-ratio:16/10}
.history-gallery figure:not(.featured-photo){aspect-ratio:1/1}
.single-photo{grid-template-columns:1fr}
.single-photo .featured-photo{aspect-ratio:4/3}

.support-grid,
.contact-grid{grid-template-columns:1.08fr .92fr}
.support h2,
.contact h2{margin-bottom:20px}
.support p+p{margin-top:14px}
.support-box{padding:clamp(26px,3.8vw,38px)}
.coffee{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin-bottom:20px;
  border-radius:50%;
  background:#efe0ca;
  font-size:1.7rem;
}
.support-box p{margin:14px 0 22px}
.text-link{
  color:var(--sage-dark);
  font-weight:800;
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}

.contact-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:24px;
}
.contact-list a{
  color:var(--sage-dark);
  font-weight:800;
}
.contact-button{margin-top:24px}
.contact-form{
  display:grid;
  gap:16px;
  padding:clamp(24px,3vw,32px);
}
.contact-form label{
  display:grid;
  gap:7px;
  color:var(--ink);
  font-weight:800;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--ink);
  font:inherit;
  padding:12px 13px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:0;
  border-color:var(--sage-dark);
  box-shadow:0 0 0 4px rgba(154,167,130,.2);
}
.contact-form textarea{resize:vertical}
.checkbox{
  grid-template-columns:20px 1fr;
  align-items:start;
  color:var(--muted);
  font-size:.9rem;
  font-weight:500;
}
.checkbox input{margin-top:4px}
.checkbox a{
  color:var(--sage-dark);
  font-weight:800;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

.site-footer{
  padding:42px 0 26px;
  background:var(--ink);
  color:#fff;
}
.site-footer a{
  color:inherit;
  text-decoration:none;
}
.site-footer p{
  margin-top:8px;
  color:rgba(255,255,255,.7);
}
.footer-grid{grid-template-columns:1fr auto}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.footer-links a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
}
.footer-links a:hover,
.footer-links a:focus-visible{color:#fff}
.footer-bottom{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.14);
}
.footer-bottom p{
  color:rgba(255,255,255,.6);
  font-size:.88rem;
}

.privacy-page{
  padding-top:var(--header-h);
}
.privacy-hero{
  padding:clamp(58px,8vw,96px) 0 clamp(24px,4vw,42px);
}
.privacy-content{
  max-width:920px;
  margin:0 auto clamp(64px,8vw,96px);
  padding:clamp(28px,4.5vw,48px);
  background:var(--paper-strong);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.privacy-content h2{
  margin-top:34px;
  font-size:clamp(1.24rem,1.08rem + .55vw,1.58rem);
}
.privacy-content h2:first-child{margin-top:0}
.privacy-content ul{
  margin:12px 0 0;
  padding-left:1.2rem;
  color:var(--muted-strong);
}
.privacy-content li+li{margin-top:8px}
.privacy-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.cookie-banner{
  position:fixed;
  left:clamp(14px,3vw,28px);
  right:clamp(14px,3vw,28px);
  bottom:clamp(14px,3vw,28px);
  z-index:100;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:1120px;
  margin:0 auto;
  padding:18px;
  background:rgba(255,250,242,.96);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}
.cookie-banner.is-visible{display:flex}
.cookie-banner p{
  color:var(--muted-strong);
  font-size:.94rem;
  line-height:1.58;
}
.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.cookie-actions .button{
  min-height:42px;
  padding:10px 14px;
  font-size:.9rem;
}
.cookie-actions .button-secondary,
.cookie-modal-actions .button-secondary{
  background:rgba(255,250,242,.92);
  border-color:var(--line-soft);
  color:var(--ink);
}
.cookie-actions .button-secondary:hover,
.cookie-actions .button-secondary:focus-visible,
.cookie-modal-actions .button-secondary:hover,
.cookie-modal-actions .button-secondary:focus-visible{
  background:var(--paper-strong);
  border-color:var(--line);
}
.cookie-backdrop{
  position:fixed;
  inset:0;
  z-index:101;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(49,42,36,.36);
}
.cookie-backdrop.is-visible{display:flex}
.cookie-modal{
  width:min(560px,100%);
  max-height:min(720px,calc(100vh - 40px));
  overflow:auto;
  padding:clamp(22px,4vw,32px);
  background:var(--paper-strong);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.cookie-modal h2{
  margin:0 0 10px;
  font-size:clamp(1.45rem,1.1rem + 1.1vw,2rem);
}
.cookie-option{
  display:grid;
  gap:6px;
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line-soft);
  border-radius:var(--radius-sm);
  background:var(--paper);
}
.cookie-option label{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}
.cookie-option p{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}
.cookie-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

[data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s var(--ease),transform .65s var(--ease);
}
[data-reveal].is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

@media(max-width:1100px){
  .why-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .brand-logo-wrap{width:210px}
  :root{--header-h:74px}
  .nav-toggle{display:block}
  .site-nav{
    position:fixed;
    inset:var(--header-h) 12px auto;
    display:grid;
    width:auto;
    max-width:calc(100% - 24px);
    gap:0;
    padding:10px 18px 18px;
    border:1px solid var(--line-soft);
    border-radius:0 0 var(--radius) var(--radius);
    background:rgba(255,250,242,.97);
    box-shadow:var(--shadow);
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .22s var(--ease),transform .22s var(--ease);
  }
  .site-nav.is-open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  .site-nav a{
    padding:14px 0;
    border-bottom:1px solid var(--line-soft);
  }
  .site-nav a:last-child{border-bottom:0}
}

@media(max-width:900px){
  .hero{min-height:640px}
  .hero-note{flex-direction:column}
  .intro-grid,
  .meeting-grid,
  .testimonial-grid,
  .morning-feature,
  .download-card,
  .split,
  .support-grid,
  .contact-grid,
  .footer-grid,
  .gallery-grid,
  .upcoming-layout,
  .history-entry{grid-template-columns:1fr}
  .event-list-home{grid-template-columns:1fr}
  .section-heading{position:static}
  #artykuly-gosci.guest-section{
    padding:64px 0;
  }
  #artykuly-gosci .guest-section-grid{
    grid-template-areas:
      "heading"
      "content";
    grid-template-columns:1fr;
    gap:26px;
  }
  #artykuly-gosci .section-heading{
    max-width:680px;
    padding:26px;
  }
  #artykuly-gosci .section-heading h2{
    max-width:16ch;
  }
  #artykuly-gosci .story{
    display:grid;
    gap:18px;
    max-width:720px;
    padding-top:0;
  }
  #artykuly-gosci .guest-intro{
    max-width:720px;
  }
  .history-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .photo-mosaic{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cookie-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .cookie-actions{
    width:100%;
    justify-content:flex-start;
  }
  .photo-large{
    grid-column:1/-1;
    grid-row:auto;
    aspect-ratio:16/10;
  }
  .download-actions{
    justify-content:flex-start;
  }
  .download-reminder-inner{
    align-items:flex-start;
    flex-direction:column;
  }
  .events-poster{max-width:560px}
  .morning-feature figure{
    width:100%;
    justify-self:stretch;
  }
}

@media(max-width:640px){
  .download-visual{gap:18px;margin-bottom:6px}
  .download-cover-ebook{width:188px!important}
  .download-cover-workbook{width:174px!important}
  .event-page-facts{grid-template-columns:1fr}
  :root{
    --header-h:68px;
    --container:min(100% - 32px,1160px);
  }
  body{
    font-size:1rem;
    line-height:1.7;
  }
  .site-header{
    min-height:var(--header-h);
    padding:10px 16px;
  }
  .brand-logo-wrap{
    width:178px;
    height:50px;
  }
  .event-list-home article:only-child{grid-template-columns:1fr;padding:24px 20px}
  .event-list-home article:only-child > .button{
    grid-column:1;
    grid-row:auto;
    justify-self:stretch;
    width:100%;
    min-width:0;
    margin-top:6px;
  }
  .upcoming-actions .button{width:100%;max-width:100%}
  .hero{
    min-height:600px;
    padding:calc(var(--header-h) + 38px) 18px 34px;
  }
  .hero-photo{
    background-position:center top;
    transform:scale(1.02);
  }
  .hero-media::after{
    background:
      linear-gradient(90deg,rgba(58,45,34,.72),rgba(89,70,50,.52)),
      linear-gradient(0deg,rgba(49,42,36,.3),rgba(49,42,36,.04) 48%);
  }
  h1{
    max-width:18ch;
    font-size:clamp(1.82rem,1.46rem + 2.35vw,2.38rem);
    line-height:1.1;
  }
  h2{
    max-width:22ch;
    font-size:clamp(1.42rem,1.2rem + 2.1vw,1.9rem);
    line-height:1.18;
  }
  h3{
    font-size:1.18rem;
    line-height:1.28;
  }
  .guest-articles{
    max-width:100%;
  }
  #artykuly-gosci.guest-section{
    padding:56px 0;
  }
  #artykuly-gosci .guest-section-grid{
    grid-template-areas:
      "heading"
      "content";
    grid-template-columns:1fr;
    gap:22px;
  }
  #artykuly-gosci .section-heading{
    padding:22px 20px;
    border-radius:20px;
  }
  #artykuly-gosci .section-heading .eyebrow{
    margin-bottom:12px;
  }
  #artykuly-gosci .section-heading h2{
    max-width:100%;
    font-size:clamp(1.78rem,1.42rem + 2.4vw,2.22rem);
  }
  #artykuly-gosci .story{
    display:grid;
    gap:16px;
    font-size:1rem;
    line-height:1.68;
  }
  #artykuly-gosci .guest-intro{
    max-width:100%;
  }
  #artykuly-gosci .article-topics{
    gap:8px;
    margin-top:0;
  }
  #artykuly-gosci .article-topics span{
    padding:8px 11px;
    font-size:.82rem;
  }
  .guest-article-card{
    padding:24px 20px;
    border-radius:20px;
  }
  #artykuly-gosci .guest-article-card{
    gap:14px;
    padding:26px 20px 24px;
    border-radius:20px;
  }
  #artykuly-gosci .guest-article-card h3{
    max-width:100%;
    font-size:clamp(1.46rem,1.18rem + 2vw,1.82rem);
  }
  #artykuly-gosci .guest-article-card > p:not(.article-meta){
    font-size:.98rem;
  }
  .guest-article-card .text-link{
    width:100%;
  }
  #artykuly-gosci .guest-article-card .text-link{
    width:100%;
  }
  #artykuly-gosci .guest-article-cta{
    padding:16px;
    border-radius:16px;
  }
  #artykuly-gosci .guest-article-cta .text-link{
    width:100%;
    justify-content:space-between;
  }
  .article-meta{
    column-gap:4px;
    row-gap:6px;
    font-size:.78rem;
    line-height:1.4;
  }
  .article-page{
    padding-top:max(96px,calc(var(--header-h) + 28px));
    scroll-margin-top:max(96px,calc(var(--header-h) + 28px));
  }
  .article-hero{
    padding:44px 0 38px;
  }
  .article-hero .section-title{
    width:calc(100% - 40px);
  }
  .article-hero h1{
    max-width:100%;
    font-size:clamp(2rem,1.52rem + 5vw,2.72rem);
    line-height:1.08;
  }
  .article-logo-panel{
    flex-direction:column;
    gap:18px;
    margin-bottom:26px;
  }
  .article-logo-panel img{
    width:auto;
    max-width:130px;
    max-height:104px;
    height:auto;
  }
  .article-content{
    width:calc(100% - 40px);
    max-width:820px;
    margin:0 auto 64px;
    padding:38px 20px 56px;
    border-radius:20px;
  }
  .article-content *{
    min-width:0;
  }
  .article-content p{
    max-width:100%;
    font-size:16.5px;
    line-height:1.75;
    margin-bottom:21px;
  }
  .article-contact-card{
    margin-top:48px;
    margin-bottom:42px;
    padding:26px 20px;
    border-radius:20px;
  }
  .article-contact-groups{
    gap:20px;
  }
  .hero-lead{
    max-width:40ch;
    margin-top:16px;
    font-size:1rem;
    line-height:1.6;
  }
  .hero-stats{
    grid-template-columns:1fr;
    max-width:100%;
    gap:8px;
    margin-top:20px;
    font-size:.92rem;
  }
  .hero-actions{
    gap:10px;
    margin-top:24px;
  }
  .button{
    width:100%;
    min-height:48px;
    padding:13px 18px;
  }
  .button-secondary{min-width:0}
  .hero-note{
    margin-top:34px;
    font-size:.92rem;
  }
  .section,
  .section-band{
    padding:58px 0;
  }
  .section-title{
    gap:12px;
    margin-bottom:26px;
  }
  .tile-link{
    min-height:190px;
    padding:24px 20px;
  }
  .why-grid,
  .photo-mosaic,
  .history-gallery{grid-template-columns:1fr}
  .why-grid article{min-height:132px}
  .meeting-card,
  .testimonial-card,
  .morning-feature,
  .support-box,
  .contact-form,
  .history-entry,
  .event-list-home article{
    padding:22px;
  }
  .meeting-card{min-height:0}
  .testimonial-card{min-height:0}
  .meeting-type{margin-bottom:20px}
  .morning-feature img{
    height:240px;
    max-height:260px;
    aspect-ratio:4/3;
    border-radius:18px;
  }
  .history .section-title h2{
    font-size:1.58rem;
    line-height:1.18;
  }
  .history-entry + .history-entry{margin-top:22px}
  .history-copy h3{
    max-width:22ch;
    font-size:1.34rem;
  }
  .featured-photo,
  .history-gallery figure:not(.featured-photo),
  .photo-large,
  .photo-mosaic figure:not(.photo-large){
    aspect-ratio:4/3;
  }
  .footer-grid{gap:22px}
  .footer-links{gap:12px}
  .download-card{
    width:calc(100% - 32px);
    margin:64px auto;
    padding:40px 20px;
  }
  .download-section .button{
    padding:13px 20px;
  }
  .download-actions,
  .download-actions .button,
  .download-reminder .button{width:100%}
  .cookie-actions .button,
  .cookie-modal-actions .button{width:100%}
}

/* Artykuły gości — uporządkowany nagłówek i równy układ kart. */
#artykuly-gosci.guest-section{
  padding:clamp(88px,7vw,112px) 0;
}

@media screen{
  #artykuly-gosci.guest-section{
    padding:clamp(88px,7vw,112px) 0 clamp(96px,8vw,120px);
  }
  #artykuly-gosci .guest-section-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"heading" "content";
    gap:clamp(48px,5vw,64px);
    width:var(--container);
    max-width:none;
  }
  #artykuly-gosci .section-heading{
    position:static;
    grid-area:heading;
    width:100%;
    max-width:980px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    text-align:left;
  }
  #artykuly-gosci .section-heading::after{content:none}
  #artykuly-gosci .section-heading h2{
    max-width:900px;
    margin-inline:0;
  }
  #artykuly-gosci .guest-intro{
    display:grid;
    gap:12px;
    max-width:800px;
    margin:24px 0 0;
  }
  #artykuly-gosci .guest-intro p{max-width:none}
  #artykuly-gosci .article-topics{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:7px 18px;
    margin:28px 0 0;
  }
  #artykuly-gosci .article-topics span,
  #artykuly-gosci .article-topics span:nth-child(even){
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--muted);
    font-size:.84rem;
    cursor:default;
    transition:none;
  }
  #artykuly-gosci .story{
    grid-area:content;
    width:100%;
    max-width:none;
  }
  #artykuly-gosci .guest-articles{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    width:100%;
    max-width:none;
  }
  #artykuly-gosci .guest-article-card{
    width:100%;
    max-width:none;
    min-width:0;
    height:100%;
    padding:28px 26px;
    border:1px solid var(--line-soft);
    border-radius:18px;
    background:var(--paper-strong);
    box-shadow:0 8px 22px rgba(42,60,53,.05);
  }
  #artykuly-gosci .guest-article-card:hover{
    border-color:var(--line-soft);
    box-shadow:0 8px 22px rgba(42,60,53,.05);
  }
  #artykuly-gosci .guest-article-card h3{
    max-width:none;
    min-height:3.54em;
    font-size:clamp(1.34rem,1.15rem + .4vw,1.68rem);
  }
}
@media screen and (max-width:1023px){
  #artykuly-gosci .guest-articles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #artykuly-gosci .guest-article-card h3{min-height:2.36em}
}
@media screen and (max-width:767px){
  #artykuly-gosci.guest-section{padding:64px 0 72px}
  #artykuly-gosci .guest-section-grid{gap:40px}
  #artykuly-gosci .section-heading,
  #artykuly-gosci .guest-intro{max-width:100%}
  #artykuly-gosci .section-heading h2{max-width:none}
  #artykuly-gosci .article-topics{
    gap:6px 14px;
    margin-top:24px;
  }
  #artykuly-gosci .guest-articles{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }
  #artykuly-gosci .guest-article-card{padding:24px 20px}
  #artykuly-gosci .guest-article-card h3{min-height:0}
}
#artykuly-gosci .guest-section-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"heading" "content";
  gap:clamp(40px,4vw,48px);
}
#artykuly-gosci .section-heading{
  position:static;
  grid-area:heading;
  width:100%;
  max-width:840px;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
#artykuly-gosci .section-heading::after{content:none}
#artykuly-gosci .section-heading h2{
  max-width:840px;
  margin-inline:auto;
}
#artykuly-gosci .guest-intro{
  display:grid;
  gap:12px;
  max-width:760px;
  margin:20px auto 0;
}
#artykuly-gosci .guest-intro p{
  max-width:none;
  color:var(--muted-strong);
}
#artykuly-gosci .article-topics{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 18px;
  margin:28px 0 0;
}
#artykuly-gosci .article-topics span{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--muted);
  font-size:.84rem;
  cursor:default;
}
#artykuly-gosci .story{
  grid-area:content;
  display:grid;
  gap:24px;
  width:100%;
  max-width:none;
  padding:0;
}
#artykuly-gosci .guest-articles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(24px,2.5vw,32px);
  width:100%;
  max-width:none;
  margin:0;
}
#artykuly-gosci .guest-article-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
  max-width:none;
  min-width:0;
  height:100%;
  padding:clamp(24px,2.4vw,32px);
  overflow:hidden;
  border:1px solid rgba(122,140,106,.22);
  border-radius:20px;
  background:var(--paper-strong);
  box-shadow:0 8px 24px rgba(58,45,34,.05);
}
#artykuly-gosci .guest-article-card::before{content:none}
#artykuly-gosci .guest-article-card h3{
  max-width:none;
  min-height:2.36em;
  font-size:clamp(1.42rem,1.18rem + .55vw,1.82rem);
}
#artykuly-gosci .guest-article-card > p:not(.article-meta){
  display:-webkit-box;
  max-width:none;
  overflow:hidden;
  font-size:.98rem;
  line-height:1.62;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
}
#artykuly-gosci .guest-article-card .text-link{
  align-self:flex-start;
  margin-top:auto;
}
#artykuly-gosci .guest-article-cta{margin:0}
@media (max-width:767px){
  #artykuly-gosci.guest-section{padding:56px 0}
  #artykuly-gosci .guest-section-grid{gap:32px}
  #artykuly-gosci .section-heading{
    max-width:100%;
    padding:0;
    text-align:left;
  }
  #artykuly-gosci .section-heading h2{max-width:none}
  #artykuly-gosci .guest-intro{
    max-width:none;
    margin-top:18px;
  }
  #artykuly-gosci .article-topics{
    justify-content:flex-start;
    gap:7px 14px;
    margin-top:22px;
  }
  #artykuly-gosci .guest-articles{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }
  #artykuly-gosci .guest-article-card{padding:24px 20px}
  #artykuly-gosci .guest-article-card h3{min-height:0}
}

/* Unified visual system — shared by the homepage, articles and legal pages. */
:root{
  --bg:#f6f1e8;
  --bg-soft:#edf2ef;
  --paper:#fffdf9;
  --paper-strong:#ffffff;
  --ink:#26332f;
  --muted:#68736e;
  --muted-strong:#4d5b56;
  --line:#d9e0db;
  --line-soft:rgba(112,132,123,.2);
  --sage:#82977e;
  --sage-dark:#506b59;
  --rose:#c69478;
  --copper:#b77b56;
  --blue:#849ba3;
  --blue-soft:#e8eff1;
  --warm-soft:#f4e7dc;
  --shadow-sm:0 10px 28px rgba(42,60,53,.07);
  --shadow:0 18px 44px rgba(42,60,53,.1);
  --radius:20px;
  --radius-sm:12px;
  --header-h:88px;
  --container:min(1180px,calc(100% - clamp(32px,6vw,88px)));
}

body{background:var(--bg);color:var(--ink)}
.container{width:var(--container)}

.site-header{
  min-height:var(--header-h);
  background:rgba(255,253,249,.94);
  border-color:var(--line-soft);
  box-shadow:0 4px 24px rgba(42,60,53,.045);
}
.brand{flex:0 0 auto;min-width:0}
.brand-logo-wrap{
  width:clamp(190px,18vw,236px);
  height:64px;
  overflow:visible;
}
.brand-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
  clip-path:none;
}
.site-nav{color:var(--muted-strong)}
.site-nav a::after{height:2px;background:var(--copper)}

h1,h2,h3{color:var(--ink);text-shadow:none}
h1{letter-spacing:-.025em}
h2{letter-spacing:-.015em}
.eyebrow,
.meeting-type,
.meeting-date,
.article-meta{color:var(--sage-dark)}

.section,
.section-band{padding-block:clamp(68px,8vw,108px)}
.section-title{margin-bottom:clamp(30px,4vw,48px)}
.section-soft,
.section-band,
.article-page{background:var(--bg-soft)}
.why-section,
.upcoming-home,
.testimonials,
.contact,
.privacy-hero,
.article-hero{background:var(--paper)}

.button{
  min-height:48px;
  padding:13px 22px;
  border:1px solid transparent;
  border-radius:var(--radius-sm);
  box-shadow:none;
  font-weight:650;
  letter-spacing:.01em;
}
.button-primary{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}
.button-primary:hover,
.button-primary:focus-visible{background:#405949;border-color:#405949;box-shadow:0 10px 24px rgba(64,89,73,.18)}
.button-secondary{background:transparent;border-color:var(--sage-dark);color:var(--sage-dark)}
.button-secondary:hover,
.button-secondary:focus-visible{background:#edf2ed;border-color:var(--sage-dark);box-shadow:none}
.button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{outline:3px solid rgba(132,155,163,.35);outline-offset:3px}

.intro-grid article,
.why-grid article,
.event-list-home article,
.testimonial-card,
.meeting-card,
.morning-feature,
.history-entry,
.guest-article-card,
.support-box,
.contact-form,
.privacy-content,
.article-content,
.article-contact-card,
.download-card,
.download-reminder-inner{
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.intro-grid article,
.why-grid article,
.event-list-home article,
.testimonial-card,
.meeting-card,
.history-entry,
.guest-article-card,
.contact-form,
.privacy-content,
.article-content{background:var(--paper-strong)}
.intro-grid article:hover,
.why-grid article:hover,
.meeting-card:hover,
.guest-article-card:hover{
  border-color:rgba(80,107,89,.32);
  box-shadow:var(--shadow);
}
.tile-link{border-radius:inherit}
.testimonial-card::before{color:var(--blue);opacity:.55}
.meeting-type,
.article-topics span,
.open-signups{
  border-color:rgba(80,107,89,.2);
  background:#edf2ed;
  color:var(--sage-dark);
}
.article-topics span:nth-child(even){background:var(--blue-soft);color:#526c75}

.download-card{
  background:linear-gradient(135deg,var(--paper) 0%,var(--warm-soft) 100%);
  border-color:rgba(183,123,86,.2);
}
.download-reminder-inner{background:var(--blue-soft);border-color:rgba(132,155,163,.24)}
.support-box{background:var(--warm-soft);border-color:rgba(183,123,86,.2)}
.coffee{color:var(--copper);filter:none;text-shadow:none}

.photo-mosaic figure,
.history-gallery figure,
.events-poster,
.morning-feature img,
.article-logo-panel{
  overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--line-soft);
  box-shadow:var(--shadow-sm);
  background:var(--paper);
}
.photo-mosaic img,
.history-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.events-poster img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.article-logo-panel img{object-fit:contain}

.faq-item{border-color:var(--line);background:var(--paper-strong);border-radius:var(--radius-sm)}
.faq-item[open]{border-color:rgba(80,107,89,.3);box-shadow:var(--shadow-sm)}
.faq-item summary::after{color:var(--sage-dark)}

.contact-form label{color:var(--ink);font-weight:600}
.contact-form input,
.contact-form select,
.contact-form textarea{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--ink);
  box-shadow:none;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(132,155,163,.14);
}
.checkbox input{accent-color:var(--sage-dark)}
.form-status{color:var(--sage-dark);font-weight:600}

.article-page{padding-top:max(120px,calc(var(--header-h) + 36px))}
.article-hero{border-bottom:1px solid var(--line-soft)}
.article-content{border-color:var(--line-soft);box-shadow:var(--shadow-sm)}
.article-content p{color:var(--muted-strong)}
.article-contact-card{background:var(--blue-soft);border-color:rgba(132,155,163,.22);box-shadow:none}
.privacy-content{box-shadow:var(--shadow-sm)}
.site-footer{background:#344840;color:#f7f4ed}
.site-footer a{color:#f7f4ed}
.footer-bottom{border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.72)}

@media(max-width:1080px){
  .site-header{padding-inline:clamp(18px,3vw,32px)}
  .brand-logo-wrap{width:205px}
}

@media(max-width:760px){
  :root{--header-h:76px;--radius:18px;--container:calc(100% - 40px)}
  .site-header{min-height:var(--header-h);padding-block:6px}
  .brand-logo-wrap{width:184px;height:58px}
  .nav-toggle{border-color:var(--line);background:var(--paper);border-radius:10px}
  .site-nav{background:rgba(255,253,249,.98);border-color:var(--line);box-shadow:var(--shadow)}
  .hero-content,
  .hero h1,
  .hero-lead{width:100%;max-width:100%;min-width:0;overflow-wrap:break-word}
  .hero h1{text-wrap:pretty}
  .cookie-banner{left:14px;right:14px;width:auto;max-width:calc(100% - 28px)}
  .cookie-banner p,
  .cookie-actions{width:100%;min-width:0}
  .section,.section-band{padding-block:60px}
  .button{min-height:48px}
  .photo-mosaic figure,
  .history-gallery figure{border-radius:16px}
}

@media(max-width:390px){
  :root{--container:calc(100% - 32px)}
  .site-header{padding-inline:14px}
  .brand-logo-wrap{width:168px;height:54px}
}

/* Wspólny układ stron artykułów gościnnych */
main.article-page .article-hero{
  min-height:0;
  padding:32px 0 48px;
}
main.article-page .article-hero .section-title{
  box-sizing:border-box;
  width:calc(100% - 40px);
  max-width:none;
  margin:0 auto;
  padding:0;
  align-items:flex-start;
  gap:0;
  text-align:left;
}
main.article-page .article-hero .eyebrow{
  margin:0 0 18px;
}
main.article-page .article-hero h1{
  max-width:950px;
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(2rem,3.5vw,3.25rem);
  line-height:1.08;
  letter-spacing:-0.02em;
  text-wrap:balance;
  overflow-wrap:break-word;
}
main.article-page .article-hero .article-subtitle{
  max-width:100%;
  margin:10px 0 0;
  font-family:var(--font-display);
  font-size:clamp(27px,7.5vw,34px);
  line-height:1.14;
  font-weight:700;
  letter-spacing:-.01em;
  text-wrap:balance;
  overflow-wrap:break-word;
}
main.article-page .article-hero .article-meta{
  margin-top:18px;
}
main.article-page .article-content{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  width:calc(100% - 32px);
  max-width:none;
  margin:-16px auto 64px;
  padding:32px 24px 40px;
}
main.article-page .article-content > *{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
main.article-page .article-content > p{
  margin-top:0;
  margin-bottom:20px;
  font-size:17px;
  line-height:1.65;
  text-align:left;
}
main.article-page .article-content > h2{
  margin-top:36px;
  margin-bottom:16px;
  font-family:var(--font-display);
  font-size:25px;
  line-height:1.2;
}
@media(min-width:768px) and (max-width:1199px){
  main.article-page .article-hero{
    padding:40px 0 56px;
  }
  main.article-page .article-hero .section-title{
    width:calc(100% - 48px);
    max-width:860px;
  }
  main.article-page .article-hero .article-subtitle{
    max-width:780px;
    margin-top:10px;
    font-size:34px;
    line-height:1.14;
  }
  main.article-page .article-content{
    width:calc(100% - 48px);
    max-width:860px;
    margin-top:-28px;
    padding:44px 48px 56px;
  }
  main.article-page .article-content > p{
    margin-bottom:24px;
    font-size:18px;
    line-height:1.72;
  }
  main.article-page .article-content > h2{
    margin-top:44px;
    margin-bottom:18px;
    font-size:28px;
    line-height:1.2;
  }
}
@media(min-width:1200px){
  main.article-page .article-hero{
    padding:48px 0 64px;
  }
  main.article-page .article-hero .section-title{
    width:calc(100% - 48px);
    max-width:900px;
  }
  main.article-page .article-hero .article-subtitle{
    max-width:780px;
    margin-top:12px;
    font-size:38px;
    line-height:1.12;
  }
  main.article-page .article-content{
    width:calc(100% - 48px);
    max-width:900px;
    margin-top:-28px;
    padding:52px 64px 64px;
  }
  main.article-page .article-content > p{
    margin-bottom:24px;
    font-size:18px;
    line-height:1.72;
  }
  main.article-page .article-content > h2{
    margin-top:44px;
    margin-bottom:18px;
    font-size:28px;
    line-height:1.2;
  }
}

@media print{
  @page{
    margin:18mm 16mm;
  }
  *{
    background:transparent !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }
  html,
  body{
    overflow:visible !important;
    background:#fff !important;
    color:#1f1b17 !important;
    font-size:12.5pt;
    line-height:1.55;
  }
  .skip-link,
  .site-nav,
  .nav-toggle,
  .site-footer{
    display:none !important;
  }
  .site-header{
    position:static !important;
    min-height:0 !important;
    padding:0 0 10mm !important;
    border:0 !important;
    backdrop-filter:none !important;
  }
  .brand-logo-wrap{
    width:42mm !important;
    height:auto !important;
  }
  .article-page{
    padding-top:0 !important;
    background:#fff !important;
  }
  .article-hero{
    padding:0 0 12mm !important;
    page-break-after:avoid;
  }
  .article-hero .section-title,
  .article-content{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
  }
  .article-hero .eyebrow{
    margin:0 0 8pt !important;
    font-size:9pt;
  }
  .article-hero h1{
    max-width:100% !important;
    margin:0 0 10pt !important;
    font-size:25pt !important;
    line-height:1.12 !important;
    break-after:avoid;
  }
  .article-meta{
    color:#5f564d !important;
    font-size:9.5pt !important;
    letter-spacing:0 !important;
  }
  .article-content p{
    max-width:100% !important;
    color:#1f1b17 !important;
    font-size:12.5pt !important;
    line-height:1.55 !important;
    margin:0 0 10pt !important;
  }
  .article-content a{
    color:#1f1b17 !important;
    text-decoration:underline !important;
  }
  .article-contact-card{
    margin:14mm 0 0 !important;
    padding:8mm !important;
    border:1px solid rgba(122,140,106,.45) !important;
    border-radius:10pt !important;
    page-break-inside:avoid;
  }
  .article-logo-panel{
    flex-direction:row !important;
    gap:12mm !important;
    margin:0 0 8mm !important;
    page-break-inside:avoid;
  }
  .article-logo-panel img{
    width:auto !important;
    max-width:120px !important;
    max-height:72px !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .article-contact-card h2{
    margin:0 0 8pt !important;
    font-size:15pt !important;
    page-break-after:avoid;
  }
  .article-contact-groups{
    gap:10pt !important;
  }
  .article-author{
    margin-top:0 !important;
    padding-top:10pt !important;
  }
}
/* Ostateczny układ sekcji „Artykuły gości”. */
@media screen{
  #artykuly-gosci.guest-section{
    padding:clamp(88px,7vw,112px) 0 clamp(96px,8vw,120px);
  }
  #artykuly-gosci .guest-section-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"heading" "content";
    gap:clamp(48px,5vw,64px);
    width:var(--container);
    max-width:none;
  }
  #artykuly-gosci .section-heading{
    position:static;
    grid-area:heading;
    width:100%;
    max-width:980px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    text-align:left;
  }
  #artykuly-gosci .section-heading::after{content:none}
  #artykuly-gosci .section-heading h2{
    max-width:900px;
    margin-inline:0;
  }
  #artykuly-gosci .guest-intro{
    display:grid;
    gap:12px;
    max-width:800px;
    margin:24px 0 0;
  }
  #artykuly-gosci .guest-intro p{max-width:none}
  #artykuly-gosci .article-topics{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:7px 18px;
    margin:28px 0 0;
  }
  #artykuly-gosci .article-topics span,
  #artykuly-gosci .article-topics span:nth-child(even){
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--muted);
    font-size:.84rem;
    cursor:default;
    transition:none;
  }
  #artykuly-gosci .story{
    grid-area:content;
    width:100%;
    max-width:none;
  }
  #artykuly-gosci .guest-articles{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    width:100%;
    max-width:none;
  }
  #artykuly-gosci .guest-article-card{
    width:100%;
    max-width:none;
    min-width:0;
    height:100%;
    padding:28px 26px;
    border:1px solid var(--line-soft);
    border-radius:18px;
    background:var(--paper-strong);
    box-shadow:0 8px 22px rgba(42,60,53,.05);
  }
  #artykuly-gosci .guest-article-card:hover{
    border-color:var(--line-soft);
    box-shadow:0 8px 22px rgba(42,60,53,.05);
  }
  #artykuly-gosci .guest-article-card h3{
    max-width:none;
    min-height:3.54em;
    font-size:clamp(1.34rem,1.15rem + .4vw,1.68rem);
  }
}
@media screen and (max-width:1023px){
  #artykuly-gosci .guest-articles{grid-template-columns:repeat(2,minmax(0,1fr))}
  #artykuly-gosci .guest-article-card h3{min-height:2.36em}
}
@media screen and (max-width:767px){
  #artykuly-gosci.guest-section{padding:64px 0 72px}
  #artykuly-gosci .guest-section-grid{gap:40px}
  #artykuly-gosci .section-heading,
  #artykuly-gosci .guest-intro{max-width:100%}
  #artykuly-gosci .section-heading h2{max-width:none}
  #artykuly-gosci .article-topics{
    gap:6px 14px;
    margin-top:24px;
  }
  #artykuly-gosci .guest-articles{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }
  #artykuly-gosci .guest-article-card{padding:24px 20px}
  #artykuly-gosci .guest-article-card h3{min-height:0}
}
/* Wspólna skala głównych tytułów stron i sekcji. */
.main-section-title{
  width:100%;
  max-width:900px;
  margin:0;
  font-size:clamp(36px,3.2vw,52px);
  line-height:1.08;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.history-page .history .section-title .main-section-title{max-width:980px}
.history-page .history .section-title > .eyebrow{margin-bottom:20px}
.history-page .history .section-title > .main-section-title + p{margin-top:26px}
.history-page .history .section-title{margin-bottom:52px}
@media(max-width:767px){
  .main-section-title,
  .history-page .history .section-title .main-section-title{
    max-width:100%;
    font-size:clamp(32px,9vw,40px);
    line-height:1.1;
    letter-spacing:-.02em;
  }
  .history-page .history .section-title{margin-bottom:44px}
}
