/* Variables */
:root{
  --ck_bg:#F3F2EB;
  --ck_surface:#FCFBF7;
  --ck_text:#23261F;
  --ck_muted:#5A5E53;
  --ck_accent:#56651E;
  --ck_accent_text:#FCFBF7;
  --ck_plate_bg:#23261F;
  --ck_plate_text:#F3F2EB;
  --ck_line:#DAD8C9;
  --ck_font_head:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ck_font_body:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif;
  --ck_radius:18px;
  --ck_radius_btn:999px;
  --ck_shadow:0 1px 2px rgb(35 38 31 / .06),0 12px 32px rgb(35 38 31 / .08);
  --ck_pad:clamp(16px,4vw,40px);
  --ck_gap:24px;
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ck_bg);
  color:var(--ck_text);
  font-family:var(--ck_font_body);
  font-size:clamp(1rem,.96rem + .2vw,1.125rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{
  font-family:var(--ck_font_head);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.01em;
  margin:0 0 .5em;
}
h1{font-size:clamp(2.4rem,4.6vw + .6rem,4.6rem);line-height:1.06;letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,2.6vw + .8rem,3rem);line-height:1.15}
h3{font-size:clamp(1.2rem,1vw + .8rem,1.5rem)}
p{margin:0 0 1em;max-width:68ch}
a{color:var(--ck_accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#3E4A15}
:focus-visible{outline:3px solid var(--ck_accent);outline-offset:2px}
.ck_wrap{max-width:1200px;margin:0 auto;padding-left:var(--ck_pad);padding-right:var(--ck_pad)}
.ck_block{padding:clamp(64px,9vw,128px) 0;position:relative}
.ck_block:nth-child(even){background:var(--ck_surface)}
.ck_skip{position:absolute;left:-9999px;top:0;background:var(--ck_plate_bg);color:var(--ck_plate_text);padding:12px 20px;border-radius:var(--ck_radius_btn);z-index:100}
.ck_skip:focus{left:16px;top:16px}
main{position:relative;z-index:1}
.ck_prose{max-width:760px}
.ck_prose h2{margin-top:2em}
.ck_prose ul,.ck_prose ol{padding-left:1.4em}
.ck_prose table{width:100%;border-collapse:collapse;font-size:1rem}
.ck_prose th,.ck_prose td{border:1px solid var(--ck_line);padding:10px 14px;text-align:left}
.ck_prose th{font-family:var(--ck_font_head);font-weight:650;background:var(--ck_surface)}

/* Background layer */
body::before{
  content:"";
  position:fixed;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(115deg,
      var(--ck_bg) 0 72px,
      #ECEAE0 72px 144px);
}

/* Topbar */
.ck_top_strip{background:var(--ck_plate_bg);color:var(--ck_plate_text);position:relative;z-index:3}
.ck_strip_inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.ck_strip_note{font-family:var(--ck_font_head);font-size:.875rem}
.ck_strip_mail{color:var(--ck_plate_text)}
.ck_strip_mail:hover{color:#D8DCC4}

/* Header */
.ck_top{background:var(--ck_surface);border-bottom:1px solid var(--ck_line);position:sticky;top:0;z-index:20}
.ck_top_inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:72px}
.ck_menu{display:flex;gap:clamp(12px,2vw,28px)}
.ck_menu_right{justify-content:flex-end}
.ck_menu_item{
  font-family:var(--ck_font_head);
  font-size:1rem;
  font-weight:600;
  color:var(--ck_text);
  text-decoration:none;
  position:relative;
  padding:6px 2px;
}
.ck_menu_item::after{
  content:"";
  position:absolute;left:0;right:100%;bottom:0;height:3px;
  background:var(--ck_accent);
  border-radius:3px;
  transition:right .28s ease;
}
.ck_menu_item:hover::after,.ck_menu_item:focus-visible::after,.ck_menu_item[aria-current="page"]::after{right:0}
.ck_mark{
  font-family:var(--ck_font_head);
  font-weight:800;
  font-size:clamp(1.05rem,1.4vw,1.35rem);
  color:var(--ck_text);
  text-decoration:none;
  text-align:center;
  letter-spacing:-.01em;
}
.ck_menu_btn{display:none}
.ck_overlay{display:none}

/* Buttons */
.ck_btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 28px;
  border:2px solid var(--ck_accent);
  border-radius:var(--ck_radius_btn);
  background:var(--ck_accent);
  color:var(--ck_accent_text);
  font-family:var(--ck_font_head);
  font-size:1rem;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
  box-shadow:0 1px 2px rgb(35 38 31 / .08);
}
.ck_btn:hover{background:#42511A;border-color:#42511A;transform:translateY(-1px);color:var(--ck_accent_text);box-shadow:0 8px 20px rgb(35 38 31 / .12)}
.ck_btn:focus-visible{outline:3px solid var(--ck_accent);outline-offset:3px}
.ck_btn:active{transform:translateY(0);background:#3A4716;border-color:#3A4716;box-shadow:none}
.ck_btn_dark{background:var(--ck_plate_bg);border-color:var(--ck_plate_bg)}
.ck_btn_dark:hover{background:#3B3F34;border-color:#3B3F34}

/* Hero */
.ck_hero{display:grid;grid-template-columns:1fr 1fr;min-height:auto;overflow:hidden;padding:0}
.ck_hero_half{min-height:0}
.ck_hero_tint{background:#E7E9D2;display:flex;align-items:center;padding:clamp(48px,7vw,96px) 0}
.ck_hero_in{max-width:640px}
.ck_hero_title{font-size:clamp(2.2rem,3.2vw,3rem);margin-bottom:1.25rem;animation:ck_rise .5s ease both}
.ck_hero_accent{margin-bottom:1.5rem;animation:ck_rise .5s .12s ease both}
.ck_hero_lead{animation:ck_rise .5s .12s ease both}
.ck_hero_btn{animation:ck_rise .5s .24s ease both}
@keyframes ck_rise{from{transform:translateY(12px)}to{transform:translateY(0)}}
.ck_hero_media img{width:100%;height:100%;object-fit:cover;object-position:center;min-height:320px}
.ck_accent{
  font-family:var(--ck_font_head);
  font-weight:800;
  font-size:clamp(1.35rem,2.2vw + .7rem,2.4rem);
  line-height:1.2;
  color:var(--ck_accent);
  max-width:24ch;
}
.ck_hero_lead{font-size:clamp(1.02rem,.6vw + .85rem,1.2rem);color:var(--ck_muted)}

/* Zigzag */
.ck_zig{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;margin:clamp(32px,5vw,56px) 0}
.ck_zig_media img{border-radius:var(--ck_radius);aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--ck_shadow)}
.ck_zig_flip .ck_zig_media{order:2}
.ck_zig_text{max-width:44ch}
.ck_zig_text p{color:var(--ck_muted)}

/* Plate */
.ck_plate{
  background:var(--ck_plate_bg);
  color:var(--ck_plate_text);
  border-radius:var(--ck_radius);
  padding:clamp(28px,4vw,48px);
  max-width:720px;
  margin:clamp(32px,5vw,56px) auto 0;
  box-shadow:var(--ck_shadow);
}
.ck_plate_text{color:var(--ck_plate_text);font-size:clamp(1.05rem,.6vw + .9rem,1.3rem);max-width:60ch}
.ck_plate_text a{color:#D8DCC4}

/* Cards */
.ck_card{
  background:var(--ck_surface);
  border:1px solid var(--ck_line);
  border-radius:var(--ck_radius);
  padding:clamp(24px,3vw,32px);
  box-shadow:0 1px 2px rgb(35 38 31 / .05);
  transition:transform .22s ease,box-shadow .22s ease;
}
.ck_card:hover{transform:translateY(-4px);box-shadow:var(--ck_shadow)}

/* Filter */
.ck_filter{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0 32px}
.ck_filter_btn{
  font-family:var(--ck_font_head);
  font-size:.95rem;
  font-weight:600;
  min-height:48px;
  padding:12px 24px;
  border-radius:var(--ck_radius_btn);
  border:2px solid var(--ck_line);
  background:var(--ck_surface);
  color:var(--ck_text);
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.ck_filter_btn:hover{background:#ECEAE0}
.ck_filter_btn:focus-visible{outline:3px solid var(--ck_accent);outline-offset:2px}
.ck_filter_btn:active{background:#E2E0D3}
.ck_filter_btn.is_active{background:var(--ck_accent);border-color:var(--ck_accent);color:var(--ck_accent_text)}

/* Accordion */
.ck_acc{display:grid;gap:14px;max-width:720px;margin:0 auto}
.ck_acc_item{
  background:var(--ck_surface);
  border:1px solid var(--ck_line);
  border-radius:var(--ck_radius);
  padding:0 24px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.ck_acc_item:hover{transform:translateY(-3px);box-shadow:var(--ck_shadow)}
.ck_acc_item[open]{box-shadow:var(--ck_shadow)}
.ck_acc_item summary{
  cursor:pointer;
  list-style:none;
  font-family:var(--ck_font_head);
  font-weight:700;
  font-size:clamp(1.05rem,.5vw + .95rem,1.25rem);
  padding:20px 0;
  position:relative;
}
.ck_acc_item summary::-webkit-details-marker{display:none}
.ck_acc_item summary::after{
  content:"+";
  position:absolute;right:4px;top:50%;
  transform:translateY(-50%);
  font-family:var(--ck_font_head);
  font-size:1.4rem;
  color:var(--ck_accent);
}
.ck_acc_item[open] summary::after{content:"–"}
.ck_acc_item[open] summary{color:var(--ck_accent)}
.ck_acc_item div{padding:0 0 22px}
.ck_acc_item div p{color:var(--ck_muted);margin:0}

/* Form */
.ck_form_wrap{max-width:760px}
.ck_form{
  background:var(--ck_surface);
  border:1px solid var(--ck_line);
  border-radius:var(--ck_radius);
  padding:clamp(24px,4vw,40px);
  box-shadow:var(--ck_shadow);
}
.ck_field{margin-bottom:20px}
.ck_label{display:block;font-family:var(--ck_font_head);font-weight:600;font-size:.95rem;margin-bottom:6px}
.ck_input{
  width:100%;
  min-height:48px;
  padding:10px 16px;
  border:2px solid var(--ck_line);
  border-radius:12px;
  background:var(--ck_bg);
  color:var(--ck_text);
  font:inherit;
}
.ck_input::placeholder{color:#6B6F62}
.ck_input:focus-visible{outline:3px solid var(--ck_accent);outline-offset:1px;border-color:var(--ck_accent)}
.ck_area{resize:vertical;min-height:120px}
.ck_check{display:flex;gap:12px;align-items:flex-start;margin:20px 0;font-size:.95rem}
.ck_check input{width:20px;height:20px;min-height:20px;margin-top:2px;accent-color:var(--ck_accent);flex:none}
.ck_check label{max-width:60ch}
.ck_form_hint{font-size:.875rem;color:var(--ck_muted)}
.ck_form_btn{margin-top:8px;width:100%}
.ck_input.ck_error{border-color:#8C2F1B}
.ck_form.ck_sending .ck_form_btn{opacity:.6;pointer-events:none}

/* FAQ */
.ck_faq{display:grid;gap:14px;max-width:820px}
.ck_faq details{
  background:var(--ck_surface);
  border:1px solid var(--ck_line);
  border-radius:var(--ck_radius);
  padding:0 24px;
  transition:box-shadow .22s ease;
}
.ck_faq details[open]{box-shadow:var(--ck_shadow)}
.ck_faq summary{
  cursor:pointer;
  list-style:none;
  font-family:var(--ck_font_head);
  font-weight:700;
  padding:18px 0;
}
.ck_faq summary::-webkit-details-marker{display:none}
.ck_faq summary::before{content:"? ";color:var(--ck_accent)}
.ck_faq p{color:var(--ck_muted);padding-bottom:18px;margin:0}

/* Towns */
.ck_towns{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:0;
  max-width:820px;
}
.ck_towns li{
  font-family:var(--ck_font_head);
  font-size:.95rem;
  background:var(--ck_surface);
  border:1px solid var(--ck_line);
  border-radius:var(--ck_radius_btn);
  padding:8px 18px;
  transition:transform .18s ease,box-shadow .18s ease;
}
.ck_towns li:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgb(35 38 31 / .1)}

/* Reveal */
.ck_reveal{transition:opacity .5s ease,transform .5s ease}
html.ck_ready .ck_reveal{opacity:0;transform:translateY(16px)}
html.ck_ready .ck_reveal.ck_revealed{opacity:1;transform:none}

/* Floating panel */
.ck_float{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:30;justify-content:center}
.ck_float_link{width:100%;max-width:480px}

/* Footer */
.ck_bottom{background:var(--ck_plate_bg);color:var(--ck_plate_text);position:relative;z-index:1;padding:clamp(48px,6vw,80px) 0 32px}
.ck_bottom_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ck_bottom_col .ck_mark{color:var(--ck_plate_text)}
.ck_bottom_lead{color:#B9BCAB;font-size:.95rem}
.ck_bottom_title{font-size:1.05rem;color:var(--ck_plate_text);margin-bottom:14px}
.ck_bottom_list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ck_bottom_list a,.ck_bottom ul a{color:#D8DCC4}
.ck_bottom_list a:hover,.ck_bottom ul a:hover{color:var(--ck_plate_text)}
.ck_bottom ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ck_bottom ul li span{color:#B9BCAB;font-family:var(--ck_font_head);font-size:.875rem;display:block}
.ck_bottom ul a{color:#D8DCC4}
.ck_bottom_rule{border-top:1px solid #3B3F34;margin-top:40px;padding-top:20px}
.ck_bottom_copy{color:#B9BCAB;font-size:.875rem;margin:0}

/* Inner pages */
.ck_page_head{padding-top:clamp(40px,6vw,72px)}
.ck_towns.ck_towns_compact{gap:10px}
.ck_steps{max-width:820px;display:grid;gap:16px;counter-reset:ckstep}
.ck_steps li{
  list-style:none;
  counter-increment:ckstep;
  background:var(--ck_surface);
  border:1px solid var(--ck_line);
  border-radius:var(--ck_radius);
  padding:20px 24px 20px 64px;
  position:relative;
  transition:transform .22s ease,box-shadow .22s ease;
}
.ck_steps li:hover{transform:translateY(-3px);box-shadow:var(--ck_shadow)}
.ck_steps li::before{
  content:counter(ckstep);
  position:absolute;left:20px;top:22px;
  width:28px;height:28px;
  border-radius:50%;
  background:var(--ck_accent);
  color:var(--ck_accent_text);
  font-family:var(--ck_font_head);
  font-weight:700;
  font-size:.9rem;
  display:flex;align-items:center;justify-content:center;
}
ol.ck_steps{padding:0;margin:0}

/* Image treatment */
.ck_arc img,.ck_arc{border-top-left-radius:160px;border-top-right-radius:160px}
.ck_zig_media.ck_arc{overflow:hidden}
.ck_zig_media.ck_arc img{border-radius:160px 160px var(--ck_radius) var(--ck_radius)}
.ck_portrait img{aspect-ratio:3/4;object-fit:cover}
.ck_gallery{display:grid;gap:24px;grid-template-columns:1fr}
.ck_gallery .ck_zig_media img{width:100%}

/* Breakpoints */
@media (max-width:1280px){
  .ck_bottom_grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .ck_zig{grid-template-columns:1fr 1fr}
  .ck_hero_in{max-width:100%}
}
@media (max-width:900px){
  .ck_menu,.ck_menu_left,.ck_menu_right{display:none}
  .ck_top_inner{grid-template-columns:1fr auto;justify-content:space-between}
  .ck_menu_btn{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    background:none;
    border:0;
    padding:10px;
    cursor:pointer;
    font-family:var(--ck_font_head);
    font-size:.8rem;
    font-weight:600;
    color:var(--ck_text);
  }
  .ck_menu_btn_bar{display:block;width:24px;height:3px;border-radius:2px;background:var(--ck_text);transition:transform .25s ease,opacity .25s ease}
  .ck_menu_btn[aria-expanded="true"] .ck_menu_btn_bar:first-child{transform:translateY(3.5px) rotate(45deg)}
  .ck_menu_btn[aria-expanded="true"] .ck_menu_btn_bar:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
  .ck_overlay{
    display:flex;
    position:fixed;
    inset:0;
    background:var(--ck_plate_bg);
    z-index:40;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease,visibility .3s ease;
  }
  .ck_overlay.ck_menu_open{opacity:1;visibility:visible}
  .ck_overlay_menu{display:grid;gap:20px;text-align:center}
  .ck_overlay_menu .ck_menu_item{
    font-size:clamp(1.4rem,4vw,2rem);
    color:var(--ck_plate_text);
    opacity:0;
    transform:translateY(14px);
    transition:opacity .3s ease,transform .3s ease;
  }
  .ck_overlay_menu .ck_menu_item::after{background:#A9B465}
  .ck_overlay.ck_menu_open .ck_menu_item{opacity:1;transform:none}
  .ck_overlay.ck_menu_open .ck_menu_item:nth-child(1){transition-delay:.06s}
  .ck_overlay.ck_menu_open .ck_menu_item:nth-child(2){transition-delay:.12s}
  .ck_overlay.ck_menu_open .ck_menu_item:nth-child(3){transition-delay:.18s}
  .ck_overlay.ck_menu_open .ck_menu_item:nth-child(4){transition-delay:.24s}
  .ck_overlay.ck_menu_open .ck_menu_item:nth-child(5){transition-delay:.3s}
  .ck_float{display:flex}
  .ck_block{padding-top:clamp(48px,8vw,80px);padding-bottom:clamp(48px,8vw,80px)}
}
@media (max-width:768px){
  .ck_hero{grid-template-columns:1fr}
  .ck_hero_media{order:-1}
  .ck_hero_media img{min-height:220px;max-height:300px}
  .ck_zig{grid-template-columns:1fr}
  .ck_zig_flip .ck_zig_media{order:0}
  .ck_bottom_grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ck_strip_inner{justify-content:center;text-align:center}
  .ck_bottom_grid{grid-template-columns:1fr}
  .ck_form_btn{width:100%}
}
@media (max-width:480px){
  .ck_acc_item,.ck_faq details{padding:0 16px}
  .ck_filter{gap:8px}
  .ck_filter_btn{padding:0 16px;font-size:.875rem}
  .ck_float{left:12px;right:12px;bottom:12px}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  html.ck_ready .ck_reveal{opacity:1;transform:none}
}

/* Spacing fixes */
#formularz{padding-bottom:4rem}
#przeglad-rubryk .ck_wrap > h2,#przeglad-rubryk .ck_wrap > p{margin-left:auto;margin-right:auto}
@media (max-width:768px){
  .ck_hero_lead{margin-top:1.5rem}
  .ck_hero_btn{margin-top:1.25rem}
}
