:root{
  --cp-gold:#d6c1a3;
  --cp-gold-strong:#f1d28d;
  --cp-text:rgba(255,255,255,.90);
  --cp-muted:rgba(255,255,255,.72);
  --cp-soft:rgba(255,255,255,.08);
  --cp-line:rgba(255,255,255,.13);
  --cp-line-gold:rgba(214,193,163,.38);
  --cp-black:rgba(0,0,0,.34);
  --cp-radius:26px;
  --cp-shadow:0 24px 70px rgba(0,0,0,.48);
}

html{ scroll-behavior:smooth; }

body.project-page--cieszynski{
  background-color:#050505;
  color:var(--cp-text);
}

.project-page--cieszynski .cp-main{
  overflow:hidden;
}

.cp-shell{
  width:min(100% - clamp(20px,4vw,72px), 1900px);
  margin-inline:auto;
}

.cp-shell--hero{
  width:min(100% - clamp(16px,2.8vw,52px), 1900px);
}

.cp-hero{
  padding:clamp(10px,1.6vw,24px) 0 clamp(28px,4vw,64px);
}

.cp-hero__frame,
.cp-card,
.cp-room__head,
.cp-final__box,
.cp-link-grid a{
  border:1px solid var(--cp-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    radial-gradient(900px 420px at 15% 0%, rgba(214,193,163,.12), rgba(0,0,0,0) 62%);
  box-shadow:var(--cp-shadow);
}

.cp-hero__frame{
  border-radius:clamp(18px,2.2vw,32px);
  overflow:hidden;
}

.cp-hero__media{
  position:relative;
  min-height:clamp(680px, calc(100svh - var(--headerH, 90px) - 38px), 980px);
  background:#090909;
}

.cp-hero__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:contrast(1.03) saturate(1.03);
}

.cp-hero__shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.90) 0%, rgba(0,0,0,.70) 34%, rgba(0,0,0,.22) 66%, rgba(0,0,0,.08) 100%),
    linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.12) 50%, rgba(0,0,0,.78) 100%),
    radial-gradient(900px 540px at 12% 12%, rgba(214,193,163,.18), rgba(0,0,0,0) 60%);
}

.cp-hero__content{
  position:relative;
  z-index:2;
  width:min(920px, 92%);
  min-height:inherit;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(22px,4vw,68px);
}

.cp-label,
.cp-eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  gap:10px;
  margin:0 0 14px;
  padding:7px 11px;
  border:1px solid rgba(214,193,163,.42);
  border-radius:999px;
  background:rgba(0,0,0,.34);
  color:rgba(255,255,255,.86);
  font-size:11px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.cp-eyebrow span{
  color:var(--cp-gold-strong);
  font-weight:760;
}

.cp-hero h1{
  margin:0;
  max-width:14ch;
  color:rgba(244,225,166,.94);
  font-size:clamp(34px,5vw,86px);
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.cp-lead{
  max-width:72ch;
  margin:clamp(18px,2vw,28px) 0 0;
  color:rgba(255,255,255,.82);
  font-size:clamp(15px,1.05vw,19px);
  line-height:1.75;
}

.cp-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:clamp(18px,2.2vw,30px) 0 0;
}

.cp-meta div{
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(0,0,0,.32);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

.cp-meta dt{
  margin:0 0 5px;
  color:rgba(255,255,255,.55);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.cp-meta dd{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:13px;
  line-height:1.35;
}

.cp-jumps{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:clamp(18px,2vw,28px);
}

.cp-jumps a,
.cp-btn,
.cp-inline-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:999px;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.cp-jumps a{
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.30);
  color:rgba(255,255,255,.86);
  font-size:12px;
  line-height:1.25;
}

.cp-jumps a span{
  color:var(--cp-gold-strong);
  font-weight:760;
}

.cp-jumps a:hover,
.cp-btn:hover,
.cp-inline-link:hover{
  transform:translateY(-1px);
  border-color:rgba(214,193,163,.62);
}

.cp-intro,
.cp-room,
.cp-links,
.cp-final{
  padding:clamp(34px,5vw,82px) 0;
}

.cp-intro__grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:clamp(18px,2vw,28px);
}

.cp-card{
  border-radius:var(--cp-radius);
  padding:clamp(20px,2.4vw,42px);
}

.cp-card h2,
.cp-links__head h2,
.cp-final__box h2{
  margin:0 0 16px;
  color:rgba(244,225,166,.92);
  font-size:clamp(28px,3vw,52px);
  line-height:1.04;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.cp-card p,
.cp-room__copy p,
.cp-final__box p,
.cp-link-grid em{
  margin:0 0 14px;
  color:var(--cp-muted);
  font-size:clamp(14.5px,1vw,17px);
  line-height:1.78;
  font-style:normal;
}

.cp-inline-link{
  margin-top:4px;
  padding:11px 15px;
  border:1px solid var(--cp-line-gold);
  background:rgba(160,139,115,.16);
  color:rgba(255,255,255,.92);
  font-size:13px;
}

.cp-overview{
  margin:clamp(16px,1.8vw,26px) 0 0;
  padding:8px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.16);
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}

.cp-overview img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}

.cp-scope,
.cp-points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.cp-scope li,
.cp-points li{
  position:relative;
  padding:12px 13px 12px 34px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(0,0,0,.18);
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.45;
}

.cp-scope li::before,
.cp-points li::before{
  content:"";
  position:absolute;
  left:14px;
  top:1.15em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--cp-gold);
  box-shadow:0 0 18px rgba(214,193,163,.38);
}

.cp-scope a{
  display:flex;
  align-items:baseline;
  gap:10px;
  color:inherit;
  text-decoration:none;
}

.cp-scope__num{
  flex:0 0 auto;
  min-width:24px;
  color:var(--cp-gold-strong);
  font-size:12px;
  font-weight:760;
  letter-spacing:.06em;
}

.cp-scope li{
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.cp-scope li:hover{
  transform:translateY(-1px);
  border-color:rgba(214,193,163,.48);
  background:rgba(160,139,115,.16);
}

.cp-scope a:focus-visible,
.cp-elevation-card:focus-visible{
  outline:2px solid rgba(244,225,166,.82);
  outline-offset:4px;
  border-radius:12px;
}

.cp-note{
  margin-top:16px !important;
  padding-top:16px;
  border-top:1px solid rgba(214,193,163,.22);
}

.cp-elevation-card{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-top:16px;
  padding:10px;
  border:1px solid rgba(214,193,163,.30);
  border-radius:18px;
  background:rgba(160,139,115,.12);
  color:rgba(255,255,255,.88);
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.cp-elevation-card:hover{
  transform:translateY(-1px);
  border-color:rgba(214,193,163,.58);
  background:rgba(160,139,115,.18);
}

.cp-elevation-card img{
  width:112px;
  height:92px;
  object-fit:cover;
  display:block;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.14);
}

.cp-elevation-card strong{
  display:block;
  margin-bottom:4px;
  color:rgba(244,225,166,.92);
  font-size:15px;
  line-height:1.25;
}

.cp-elevation-card em{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.55;
  font-style:normal;
}

.cp-room{
  scroll-margin-top:calc(var(--headerH, 90px) + 18px);
}

.cp-room:nth-of-type(even){
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(0,0,0,0)) !important;
}

.cp-room__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
  gap:clamp(18px,2.5vw,42px);
  align-items:start;
  border-radius:var(--cp-radius);
  padding:clamp(18px,2.2vw,38px);
}

.cp-room__copy h2{
  margin:0 0 16px;
  color:rgba(244,225,166,.92);
  font-size:clamp(28px,3.2vw,58px);
  line-height:1.02;
  letter-spacing:-.04em;
  text-wrap:balance;
}

.cp-plan{
  margin:0;
  position:sticky;
  top:calc(var(--headerH, 90px) + 18px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.36);
}

.cp-plan img{
  width:100%;
  height:auto;
  display:block;
  background:#101010;
}

.cp-plan figcaption{
  padding:10px 13px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.62);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cp-gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(10px,1.15vw,22px);
  margin-top:clamp(16px,2vw,30px);
}

.cp-shot{
  grid-column:span 4;
  display:block;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  box-shadow:0 15px 42px rgba(0,0,0,.34);
  text-decoration:none;
  transform:translateZ(0);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.cp-shot--wide{
  grid-column:span 12;
}

.cp-shot:hover{
  transform:translateY(-3px);
  border-color:rgba(214,193,163,.48);
  box-shadow:0 22px 58px rgba(0,0,0,.46);
}

.cp-shot img{
  width:100%;
  height:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
  aspect-ratio:4 / 3;
  transition:transform .45s ease;
}

.cp-shot--wide img{
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}

.cp-shot:hover img{
  transform:scale(1.035);
}

.cp-shot--wide:hover img{
  transform:none;
}

.cp-links__head{
  max-width:980px;
  margin-bottom:clamp(18px,2vw,28px);
}

.cp-link-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.5vw,22px);
}

.cp-link-grid a{
  display:grid;
  gap:8px;
  padding:clamp(18px,2vw,30px);
  border-radius:24px;
  color:var(--cp-text);
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease;
}

.cp-link-grid a:hover{
  transform:translateY(-2px);
  border-color:rgba(214,193,163,.48);
}

.cp-link-grid span{
  color:rgba(255,255,255,.58);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.cp-link-grid strong{
  color:rgba(244,225,166,.92);
  font-size:clamp(19px,1.45vw,27px);
  line-height:1.13;
  letter-spacing:-.02em;
}

.cp-final{
  padding-bottom:clamp(48px,6vw,96px);
}

.cp-final__box{
  max-width:1180px;
  margin-inline:auto;
  border-radius:var(--cp-radius);
  padding:clamp(24px,3.2vw,54px);
  text-align:center;
}

.cp-final__box .cp-label{
  margin-left:auto;
  margin-right:auto;
}

.cp-final__box p{
  max-width:78ch;
  margin-left:auto;
  margin-right:auto;
}

.cp-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:22px;
}

.cp-btn{
  min-height:46px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.17);
  background:rgba(0,0,0,.24);
  color:rgba(255,255,255,.92);
  font-size:13px;
  letter-spacing:.02em;
}

.cp-btn--gold{
  border-color:rgba(214,193,163,.58);
  background:rgba(160,139,115,.24);
}


@media (min-width:981px){
  .cp-shot--wide{
    max-height:800px;
    padding:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.30);
    border-color:rgba(255,255,255,.88);
    border-radius:18px;
    overflow:hidden;
  }

  .cp-shot--wide img{
    width:auto;
    max-width:100%;
    height:auto;
    max-height:760px;
    min-height:0;
    object-fit:contain;
    aspect-ratio:auto;
    border-radius:10px;
  }
}

@media (max-width:1180px){
  .cp-meta{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-room__head{ grid-template-columns:1fr; }
  .cp-plan{ position:relative; top:auto; }
}

@media (max-width:980px){
  .cp-shell,
  .cp-shell--hero{
    width:min(100% - 20px, 1900px);
  }

  .cp-hero__media{
    min-height:auto;
    display:flex;
    flex-direction:column;
  }

  .cp-hero__media img{
    position:relative;
    inset:auto;
    height:auto;
    aspect-ratio:16 / 9;
  }

  .cp-hero__shade{
    display:none;
  }

  .cp-hero__content{
    width:100%;
    min-height:auto;
    padding:18px;
    background:
      radial-gradient(760px 360px at 0% 0%, rgba(214,193,163,.12), rgba(0,0,0,0) 62%),
      rgba(0,0,0,.28);
  }

  .cp-hero h1{
    max-width:none;
    font-size:clamp(29px,7.2vw,54px);
  }

  .cp-intro__grid,
  .cp-link-grid{
    grid-template-columns:1fr;
  }

  .cp-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cp-shot,
  .cp-shot--wide{
    grid-column:auto;
  }

  .cp-shot--wide{
    grid-column:span 2;
  }
}

@media (max-width:620px){
  .cp-shell,
  .cp-shell--hero{
    width:min(100% - 10px, 1900px);
  }

  .cp-hero{
    padding-top:6px;
  }

  .cp-hero__frame,
  .cp-room__head,
  .cp-card,
  .cp-final__box,
  .cp-link-grid a{
    border-radius:18px;
  }

  .cp-hero__content,
  .cp-card,
  .cp-room__head,
  .cp-final__box{
    padding:15px;
  }

  .cp-label,
  .cp-eyebrow{
    width:100%;
    justify-content:center;
    text-align:center;
    border-radius:14px;
    font-size:10px;
    letter-spacing:.11em;
  }

  .cp-meta,
  .cp-gallery{
    grid-template-columns:1fr;
  }

  .cp-shot--wide{
    grid-column:auto;
  }

  .cp-shot,
  .cp-plan{
    border-radius:15px;
  }

  .cp-shot img,
  .cp-shot--wide img{
    aspect-ratio:4 / 3;
    height:100%;
    object-fit:cover;
  }

  .cp-jumps{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .cp-jumps a{
    min-height:44px;
    padding:9px 8px;
    font-size:11px;
  }

  .cp-elevation-card{
    grid-template-columns:88px minmax(0,1fr);
    gap:10px;
    padding:8px;
  }

  .cp-elevation-card img{
    width:88px;
    height:78px;
  }

  .cp-elevation-card em{
    font-size:12px;
    line-height:1.45;
  }

  .cp-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .cp-btn,
  .cp-inline-link{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .cp-shot,
  .cp-btn,
  .cp-inline-link,
  .cp-jumps a,
  .cp-link-grid a,
  .cp-shot img{ transition:none; }
}
