  :root{
    --plaster:#F1EEE6;
    --plaster-dim:#E7E2D6;
    --ink:#1B1A17;
    --ink-soft:#4A4740;
    --charcoal:#17181B;
    --charcoal-2:#222327;
    --copper:#B4622E;
    --copper-light:#D98A52;
    --line:#D3CDBD;
    --line-dark:#3A3B3F;
    --radius:2px;
    --display: 'Space Grotesk', sans-serif;
    --body: 'Inter', sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--body);
    background:var(--plaster);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  section{scroll-margin-top:76px;}
  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--copper);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:1px;
    background:var(--copper);
    display:inline-block;
  }
  .wrap{
    max-width:1240px;
    margin:0 auto;
    padding:0 40px;
  }
  h1,h2,h3{
    font-family:var(--display);
    font-weight:600;
    letter-spacing:-0.01em;
    line-height:1.08;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:var(--mono);
    font-size:13px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:15px 26px;
    border-radius:var(--radius);
    border:1px solid var(--ink);
    transition:background .25s ease, color .25s ease, border-color .25s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--ink);
    color:var(--plaster);
  }
  .btn-primary:hover{ background:var(--copper); border-color:var(--copper); }
  .pkg--featured .btn-primary{ background:var(--copper); border-color:var(--copper); color:var(--plaster); }
  .pkg--featured .btn-primary:hover{ background:var(--copper-light); border-color:var(--copper-light); }
  .btn-ghost{
    border-color:rgba(27,26,23,0.25);
    color:var(--ink);
  }
  .btn-ghost:hover{ border-color:var(--ink); }
  .btn-light{
    border-color:rgba(241,238,230,0.4);
    color:var(--plaster);
  }
  .btn-light:hover{ border-color:var(--plaster); }
  .btn-call{
    background:transparent;
    border-color:var(--copper);
    color:var(--copper);
  }
  .btn-call:hover{ background:var(--copper); color:var(--plaster); }
  .btn-call svg{ width:15px; height:15px; flex:none; }
  .btn-call--light{
    border-color:rgba(241,238,230,0.5);
    color:var(--plaster);
  }
  .btn-call--light:hover{ background:var(--plaster); color:var(--ink); border-color:var(--plaster); }

  /* ---------- NAV ---------- */
  .nav{
    position:fixed;
    top:0; left:0; right:0;
    z-index:200;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 40px;
    height:76px;
    background:rgba(23,24,27,0.0);
    transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
    border-bottom:1px solid transparent;
  }
  .nav.is-scrolled{
    background:rgba(241,238,230,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav.is-scrolled .navlink{ color:var(--ink); }
  .logo{
    display:flex;
    align-items:center;
  }
  .logo img{
    height:34px;
    width:auto;
    display:block;
  }
  .navmenu{
    display:flex;
    gap:34px;
    list-style:none;
  }
  .navlink{
    font-family:var(--mono);
    font-size:12.5px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--plaster);
    position:relative;
    padding:6px 0;
  }
  .navlink::after{
    content:"";
    position:absolute; left:0; bottom:0;
    width:0; height:1px;
    background:var(--copper);
    transition:width .25s ease;
  }
  .navlink:hover::after{ width:100%; }
  .nav-cta{ display:flex; align-items:center; gap:22px; }
  .nav-cta .btn{ padding:11px 20px; font-size:12px; }
  .navtoggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:36px; height:36px;
    background:none; border:none;
    cursor:pointer;
    padding:0;
  }
  .navtoggle span{
    display:block;
    height:1px;
    background:var(--plaster);
    transition:background .2s ease;
  }
  .nav.is-scrolled .navtoggle span{ background:var(--ink); }
  .mobilemenu{
    position:fixed;
    inset:0;
    z-index:190;
    background:var(--charcoal);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity .3s ease, transform .3s ease, visibility .3s;
  }
  .mobilemenu.is-open{ opacity:1; visibility:visible; transform:translateY(0); }
  .mobilemenu ul{ list-style:none; text-align:center; display:grid; gap:30px; }
  .mobilemenu a{
    font-family:var(--display);
    font-size:28px;
    color:var(--plaster);
    font-weight:600;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    height:100vh;
    min-height:640px;
    display:flex;
    align-items:flex-end;
    color:var(--plaster);
    overflow:hidden;
  }
  .hero__bg{
    position:absolute; inset:0;
    background-image:
      linear-gradient(100deg, rgba(10,10,11,0.92) 0%, rgba(10,10,11,0.78) 22%, rgba(10,10,11,0.52) 42%, rgba(10,10,11,0.24) 58%, rgba(10,10,11,0.06) 70%, rgba(10,10,11,0) 80%),
      linear-gradient(180deg, rgba(14,15,17,0) 0%, rgba(14,15,17,0.05) 50%, rgba(14,15,17,0.42) 100%),
      url('img/hero.png');
    background-size:cover;
    background-position:center;
    transform:scale(1.06);
  }
  .hero__textshade{
    position:absolute; inset:0;
    z-index:1;
    background:radial-gradient(1350px 820px at 15% 90%, rgba(6,6,7,0.85), rgba(6,6,7,0.55) 44%, rgba(6,6,7,0.2) 68%, transparent 82%);
    pointer-events:none;
  }
  .hero__grid{
    position:absolute; inset:0;
    z-index:1;
    background-image:
      linear-gradient(rgba(241,238,230,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(241,238,230,0.06) 1px, transparent 1px);
    background-size:64px 64px;
    pointer-events:none;
  }
  .hero__content{
    position:relative;
    z-index:2;
    width:100%;
    padding:0 40px 72px;
    max-width:1240px;
    margin:0 auto;
  }
  .hero__tag{
    font-family:var(--mono);
    font-size:12.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--copper-light);
    margin-bottom:22px;
  }
  .hero h1{
    font-size:clamp(34px, 5.4vw, 72px);
    max-width:820px;
    margin-bottom:28px;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--copper-light);
  }
  .hero p{
    max-width:520px;
    font-size:16px;
    color:rgba(241,238,230,0.78);
    margin-bottom:34px;
  }
  .hero__actions{ display:flex; gap:16px; flex-wrap:wrap; }

  /* ---------- SECTION HEADERS ---------- */
  .section-head{ margin-bottom:56px; max-width:640px; }
  .section-head h2{ font-size:clamp(28px, 3.4vw, 44px); margin-top:16px; }
  .section-head p{ margin-top:18px; color:var(--ink-soft); font-size:15.5px; }

  /* ---------- SCROLLYTELLING (pinned) ---------- */
  .scrolly{ position:relative; background:var(--plaster); }
  .scrolly--dark{ background:var(--charcoal); color:var(--plaster); }
  .scrolly__spacer{ position:relative; }
  .scrolly__pin{
    position:sticky;
    top:0;
    height:100vh;
    display:flex;
    align-items:flex-start;
    padding:150px 0 70px;
    overflow:hidden;
  }
  .scrolly__inner{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 40px;
    display:grid;
    grid-template-columns:0.85fr 1fr;
    gap:70px;
    align-items:end;
  }
  .scrolly__text .eyebrow{ margin-bottom:22px; }
  .scrolly__text h2{
    font-size:clamp(26px, 3vw, 40px);
    margin-bottom:22px;
  }
  .scrolly__text p{
    color:var(--ink-soft);
    font-size:15.5px;
    max-width:460px;
    margin-bottom:32px;
  }
  .scrolly--dark .scrolly__text p{ color:rgba(241,238,230,0.68); }
  .valuecards{ display:grid; gap:18px; }
  .valuecard{
    display:flex; gap:16px;
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
  }
  .scrolly--dark .valuecard{ border-color:var(--line-dark); }
  .valuecard__n{
    font-family:var(--mono);
    font-size:12px;
    color:var(--copper);
    padding-top:3px;
  }
  .valuecard h4{
    font-family:var(--display);
    font-size:16px;
    font-weight:600;
    margin-bottom:5px;
  }
  .valuecard p{
    font-size:13.5px;
    color:var(--ink-soft);
    max-width:340px;
  }
  .scrolly--dark .valuecard p{ color:rgba(241,238,230,0.6); }

  .scrolly__frame{
    position:relative;
    width:100%;
    height:72vh;
    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.35);
    background:var(--copper);
  }
  .scrolly__frame::after{
    content:"";
    position:absolute; inset:0;
    box-shadow:inset 0 0 0 1px rgba(241,238,230,0.15);
    pointer-events:none;
  }
  .track-v{
    display:flex;
    flex-direction:column;
    height:100%;
    will-change:transform;
  }
  .track-v img{
    height:calc(100% - 4px);
    width:100%;
    object-fit:cover;
    flex-shrink:0;
    margin-bottom:4px;
  }
  .track-v img:last-child{ margin-bottom:0; }
  .frame-tag{
    position:absolute;
    left:18px; bottom:18px;
    z-index:3;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--plaster);
    background:rgba(17,17,18,0.55);
    padding:7px 12px;
    border-radius:var(--radius);
    backdrop-filter:blur(4px);
  }
  .frame-count{
    position:absolute; right:18px; bottom:18px;
    z-index:3;
    font-family:var(--mono);
    font-size:11px;
    color:var(--plaster);
    background:rgba(17,17,18,0.55);
    padding:7px 10px;
    border-radius:var(--radius);
  }

  /* horizontal pinned variant */
  .scrolly__pin--h{ flex-direction:column; justify-content:center; align-items:stretch; gap:40px; }
  .scrolly__inner--h{
    display:block;
    max-width:1240px;
  }
  .hscroll-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:34px;
  }
  .hscroll-head h2{ font-size:clamp(26px,3vw,40px); }
  .hscroll-head p{ color:rgba(241,238,230,0.65); max-width:380px; font-size:14.5px; }
  .frame-h{
    position:relative;
    width:100%;
    height:56vh;
    max-height:520px;
    overflow:hidden;
    border-radius:var(--radius);
    background:var(--copper);
  }
  .track-h{
    display:flex;
    flex-direction:row;
    height:100%;
    will-change:transform;
  }
  .track-h img{
    height:100%;
    width:auto;
    aspect-ratio:4/3;
    object-fit:cover;
    flex-shrink:0;
    margin-right:4px;
  }
  .track-h img:last-child{ margin-right:0; }
  .progressbar{
    height:1px;
    background:var(--line-dark);
    margin-top:26px;
    position:relative;
  }
  .progressbar__fill{
    position:absolute; top:0; left:0; height:100%;
    background:var(--copper);
    width:0%;
  }

  /* ---------- PACKAGES ---------- */
  .packages{ padding:140px 0; }
  .pkg-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    border:1px solid var(--line);
  }
  .pkg{
    padding:44px 34px;
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    position:relative;
  }
  .pkg:last-child{ border-right:none; }
  .pkg--featured{ background:var(--ink); color:var(--plaster); }
  .pkg--featured .pkg-list li{ border-color:var(--line-dark); }
  .pkg--featured .pkg-list li::before{ color:var(--copper-light); }
  .pkg--featured .price small{ color:rgba(241,238,230,0.55); }
  .pkg-badge{
    position:absolute; top:0; right:0;
    font-family:var(--mono);
    font-size:10.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    background:var(--copper);
    color:var(--plaster);
    padding:6px 12px;
    border-bottom-left-radius:var(--radius);
  }
  .pkg-num{
    font-family:var(--mono);
    font-size:12px;
    color:var(--copper);
    margin-bottom:18px;
  }
  .pkg--featured .pkg-num{ color:var(--copper-light); }
  .pkg h3{ font-size:24px; margin-bottom:8px; }
  .pkg-desc{ font-size:13.5px; color:var(--ink-soft); margin-bottom:26px; min-height:38px; }
  .pkg--featured .pkg-desc{ color:rgba(241,238,230,0.65); }
  .price{ margin-bottom:28px; }
  .price b{ font-family:var(--display); font-size:34px; font-weight:600; }
  .price small{ font-family:var(--mono); font-size:12px; color:var(--ink-soft); display:block; margin-top:4px; }
  .pkg-list{ list-style:none; flex:1; margin-bottom:30px; }
  .pkg-list li{
    font-size:13.5px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
    padding-left:20px;
    position:relative;
    color:var(--ink-soft);
  }
  .pkg--featured .pkg-list li{ color:rgba(241,238,230,0.75); }
  .pkg-list li::before{
    content:"+";
    position:absolute; left:0; top:10px;
    color:var(--copper);
    font-family:var(--mono);
  }
  .pkg-list li.included{ color:var(--ink); font-weight:500; }
  .pkg--featured .pkg-list li.included{ color:var(--plaster); }
  .packages-note{
    text-align:center;
    max-width:560px;
    margin:44px auto 0;
    font-size:13.5px;
    color:var(--ink-soft);
  }

  /* ---------- REEL SECTION: text + video, standalone ---------- */
  .reel{
    padding:100px 0;
    background:var(--plaster-dim);
  }
  table.reel-table{
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
  }
  .reel-table__text{
    width:50%;
    vertical-align:top;
    padding-right:32px;
  }
  .reel-table__video{
    width:50%;
    vertical-align:top;
    text-align:center;
  }
  .reel-frame{
    width:100%;
    height:462px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:24px;
    padding:40px 36px;
    background:var(--plaster);
    border:1px solid var(--line);
    border-radius:var(--radius);
  }
  .reel-note{
    text-align:left;
    max-width:420px;
    margin:0;
    font-size:15px;
    line-height:1.6;
    color:var(--ink-soft);
    word-wrap:break-word;
    overflow-wrap:break-word;
  }
  .pkg-video{
    position:relative;
    width:260px;
    height:462px;
    max-width:100%;
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--charcoal);
    box-shadow:0 20px 50px rgba(27,26,23,0.18);
    display:inline-block;
  }
  .pkg-video video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .pkg-video video::-webkit-media-controls,
  .pkg-video video::-webkit-media-controls-panel,
  .pkg-video video::-webkit-media-controls-start-playback-button{
    display:none !important;
    -webkit-appearance:none;
  }
  .pkg-video video::-internal-media-controls-overlay-cast-button{
    display:none !important;
  }
  .pkg-video__sound{
    position:absolute;
    right:12px;
    bottom:12px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:7px;
    padding:9px 14px 9px 11px;
    border-radius:20px;
    border:1px solid rgba(241,238,230,0.6);
    background:rgba(23,24,27,0.75);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    color:var(--plaster);
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease;
  }
  .pkg-video__sound:hover{ background:var(--copper); border-color:var(--copper); }
  .pkg-video__sound svg{ width:16px; height:16px; flex:none; }
  .pkg-video__sound-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .pkg-video__sound .icon-sound{ display:none; }
  .pkg-video__sound.is-unmuted .icon-mute{ display:none; }
  .pkg-video__sound.is-unmuted .icon-sound{ display:block; }

  /* ---------- TESTIMONIALS ---------- */
  .opinie{ padding:140px 0; background:var(--plaster-dim); }
  .opinie-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .opinie-card{
    background:var(--plaster-dim);
    padding:34px 30px;
    display:flex;
    flex-direction:column;
    gap:20px;
  }
  .stars{ font-family:var(--mono); color:var(--copper); font-size:13px; letter-spacing:2px; }
  .opinie-card p{ font-size:14.5px; color:var(--ink-soft); flex:1; }
  .opinie-who{ font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.05em; }
  .opinie-who small{ display:block; color:var(--ink-soft); text-transform:none; letter-spacing:0; margin-top:3px; font-family:var(--body); }

  /* ---------- CONTACT ---------- */
  .kontakt{ padding:140px 0; background:var(--charcoal); color:var(--plaster); }
  .kontakt-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:80px;
  }
  .kontakt-info h2{ font-size:clamp(28px, 3.6vw, 46px); margin:18px 0 20px; }
  .kontakt-info p{ color:rgba(241,238,230,0.65); font-size:15px; margin-bottom:30px; max-width:420px; }
  .kontakt-points{ list-style:none; display:grid; gap:14px; margin-bottom:38px; }
  .kontakt-points li{
    font-size:14px;
    color:rgba(241,238,230,0.85);
    padding-left:22px;
    position:relative;
  }
  .kontakt-points li::before{
    content:"—";
    position:absolute; left:0; color:var(--copper-light);
  }
  .kontakt-meta{ font-family:var(--mono); font-size:12.5px; color:rgba(241,238,230,0.5); line-height:1.9; }
  .kontakt-meta strong{ color:rgba(241,238,230,0.85); display:block; margin-bottom:6px; font-family:var(--body); font-size:13.5px;}

  .form{
    background:var(--charcoal-2);
    border:1px solid var(--line-dark);
    padding:40px;
    border-radius:var(--radius);
  }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
  .field{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
  .field label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:rgba(241,238,230,0.55);
  }
  .field input, .field select, .field textarea{
    background:transparent;
    border:none;
    border-bottom:1px solid var(--line-dark);
    padding:10px 2px;
    color:var(--plaster);
    font-family:var(--body);
    font-size:14.5px;
    outline:none;
    transition:border-color .2s ease;
  }
  .field textarea{ resize:vertical; min-height:80px; }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--copper-light); }
  .field select option{ background:var(--charcoal-2); }
  .form .btn{ width:100%; justify-content:center; margin-top:6px; }

  /* ---------- PRACA ---------- */
  .praca{ padding:140px 0; background:var(--charcoal); color:var(--plaster); }
  .praca .section-head{ max-width:720px; }
  .praca .section-head p{ color:rgba(241,238,230,0.65); }
  .praca-types{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
  .praca-type-card{
    background:var(--charcoal-2);
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    padding:28px;
  }
  .praca-type-card h3{ font-size:17px; margin-bottom:10px; }
  .praca-type-card p{ font-size:14px; color:rgba(241,238,230,0.65); }
  .praca-note{
    font-family:var(--mono);
    font-size:13px;
    color:var(--copper-light);
    border-left:2px solid var(--copper);
    padding-left:16px;
    margin-bottom:48px;
  }
  .praca-kwatera{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
    background:var(--charcoal-2);
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    padding:24px 28px;
    margin-bottom:64px;
  }
  .praca-kwatera strong{ display:block; font-size:15.5px; margin-bottom:4px; }
  .praca-kwatera p{ font-size:13.5px; color:rgba(241,238,230,0.6); margin:0; }
  .praca-kwatera .price{ font-family:var(--mono); font-size:20px; color:var(--copper-light); white-space:nowrap; }
  .praca-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:80px; }
  .praca-info h3{ font-size:22px; margin-bottom:14px; }
  .praca-info p{ font-size:14.5px; color:rgba(241,238,230,0.65); margin-bottom:24px; max-width:360px; }
  .praca-info .kontakt-meta{ margin-top:10px; }
  .fieldset-legend{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:rgba(241,238,230,0.55);
    margin-bottom:10px;
    display:block;
  }
  .choice-group{ margin-bottom:22px; }
  .choice-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
  .choice-grid--single{ grid-template-columns:1fr; }
  .choice{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:rgba(241,238,230,0.8); cursor:pointer; }
  .choice input{ accent-color:var(--copper-light); width:16px; height:16px; flex:none; }

  /* ---------- FOOTER — USŁUGI ---------- */
  .footer-services{ padding-top:38px; padding-bottom:30px; border-bottom:1px solid var(--line-dark); }
  .footer-services .eyebrow{ margin-bottom:18px; }
  .footer-services__list{
    list-style:none;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:10px 28px;
  }
  .footer-services__list a{ font-size:13px; color:rgba(241,238,230,0.68); }
  .footer-services__list a:hover{ color:var(--copper-light); }

  /* ---------- SUBPAGES: HERO ---------- */
  .subhero{
    position:relative;
    min-height:56vh;
    display:flex;
    align-items:flex-end;
    color:var(--plaster);
    overflow:hidden;
    padding-top:76px;
  }
  .subhero__bg{
    position:absolute; inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.05);
  }
  .subhero__shade{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(10,10,11,0.72) 0%, rgba(10,10,11,0.55) 35%, rgba(10,10,11,0.88) 100%),
      linear-gradient(100deg, rgba(10,10,11,0.85) 0%, rgba(10,10,11,0.35) 55%, rgba(10,10,11,0.15) 100%);
  }
  .subhero__content{ position:relative; z-index:2; padding:64px 40px 60px; }
  .breadcrumb{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:0.04em;
    color:rgba(241,238,230,0.55);
    margin-bottom:20px;
  }
  .breadcrumb a{ color:rgba(241,238,230,0.75); }
  .breadcrumb a:hover{ color:var(--copper-light); }
  .breadcrumb span{ margin:0 8px; }
  .subhero h1{
    font-family:var(--display);
    font-weight:600;
    letter-spacing:-0.01em;
    line-height:1.1;
    font-size:clamp(28px, 4.2vw, 52px);
    max-width:780px;
    margin:16px 0 22px;
  }
  .subhero p{ max-width:560px; font-size:15.5px; color:rgba(241,238,230,0.78); margin-bottom:30px; }

  /* ---------- SUBPAGES: CONTENT ---------- */
  .subcontent{ padding:90px 0; }
  .subcontent--alt{ background:var(--plaster-dim); }
  .content-block{ max-width:900px; margin:0 auto 84px; }
  .content-block:last-child{ margin-bottom:0; }
  .content-block .eyebrow{ margin-bottom:16px; }
  .content-block h2{ font-size:clamp(24px, 2.8vw, 34px); margin-bottom:18px; }
  .content-block h3{ font-size:19px; margin:26px 0 10px; }
  .content-block p{ color:var(--ink-soft); font-size:15px; margin-bottom:16px; max-width:760px; }
  .content-block p:last-child{ margin-bottom:0; }
  .check-list{ list-style:none; display:grid; gap:0; margin-top:20px; }
  .check-list li{
    font-size:14.5px;
    color:var(--ink-soft);
    padding:12px 0 12px 24px;
    border-bottom:1px solid var(--line);
    position:relative;
  }
  .check-list li::before{
    content:"+";
    position:absolute; left:0; top:12px;
    color:var(--copper);
    font-family:var(--mono);
  }
  .check-list--2col{ grid-template-columns:1fr 1fr; column-gap:32px; }
  @media (max-width:640px){ .check-list--2col{ grid-template-columns:1fr; } }

  .content-note{
    font-family:var(--mono);
    font-size:13px;
    color:var(--copper);
    border-left:2px solid var(--copper);
    padding-left:16px;
    margin-top:24px;
    max-width:700px;
  }

  .content-media{ margin-bottom:84px; border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 60px -20px rgba(0,0,0,0.25); }
  .content-media img{ width:100%; height:420px; object-fit:cover; }

  /* size price table (used on the price guide page) */
  .size-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:24px; }
  .size-card{ background:var(--plaster); padding:26px 24px; }
  .size-card b{ font-family:var(--display); font-size:20px; display:block; margin-bottom:6px; }
  .size-card span{ font-family:var(--mono); font-size:12.5px; color:var(--ink-soft); }
  @media (max-width:1000px){ .size-grid{ grid-template-columns:repeat(2, 1fr); } }
  @media (max-width:640px){ .size-grid{ grid-template-columns:1fr; } }

  /* ---------- SUBPAGES: FAQ ---------- */
  .faq{ padding:90px 0; background:var(--charcoal); color:var(--plaster); }
  .faq .section-head p{ color:rgba(241,238,230,0.65); }
  .faq-list{ max-width:860px; }
  .faq-item{ border-bottom:1px solid var(--line-dark); padding:20px 0; }
  .faq-item summary{
    cursor:pointer;
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-family:var(--display);
    font-weight:600;
    font-size:15.5px;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{
    content:"+";
    flex:none;
    font-family:var(--mono);
    color:var(--copper-light);
    font-size:18px;
  }
  .faq-item[open] summary::after{ content:"–"; }
  .faq-item p{ margin-top:14px; color:rgba(241,238,230,0.68); font-size:14.5px; max-width:740px; }

  /* ---------- SUBPAGES: CTA BAND ---------- */
  .cta-band{ padding:90px 0; background:var(--ink); }
  .cta-band__inner{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:26px; }
  .cta-band h2{ color:var(--plaster); font-size:clamp(24px, 3vw, 36px); max-width:640px; }
  .cta-band__actions{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

  @media (max-width:1000px){
    .footer-services__list{ grid-template-columns:repeat(2, 1fr); }
    .size-grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:640px){
    .footer-services__list{ grid-template-columns:1fr; }
    .subhero__content{ padding:56px 20px 44px; }
    .subcontent{ padding:64px 0; }
    .content-block{ margin-bottom:56px; }
    .faq{ padding:64px 0; }
    .cta-band{ padding:64px 0; }
    .content-media img{ height:260px; }
  }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--charcoal); border-top:1px solid var(--line-dark); padding:38px 0; }
  .footer-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    color:rgba(241,238,230,0.5);
    font-family:var(--mono);
    font-size:12px;
  }
  .footer-row a{ color:rgba(241,238,230,0.7); }

  /* ---------- RESPONSIVE — TABLET (≤1000px) ---------- */
  @media (max-width:1000px){
    .navmenu{ display:none; }
    .nav-cta .btn{ display:none; }
    .navtoggle{ display:flex; }

    /* pinned carousels: keep real pin-scroll, just restack to one column */
    .scrolly__pin{
      height:100svh;
      flex-direction:column;
      justify-content:flex-start;
      align-items:stretch;
      padding:90px 0 24px;
    }
    .scrolly__inner{
      grid-template-columns:1fr;
      display:flex;
      flex-direction:column;
      height:100%;
      gap:16px;
    }
    .scrolly__text{ flex-shrink:0; }
    .scrolly__text .eyebrow{ margin-bottom:12px; }
    .scrolly__text h2{ margin-bottom:10px; }
    .scrolly__text p{ margin-bottom:16px; }
    .valuecards{ display:none; } /* full detail lives in the "O nas" text — hidden here to leave room for the pinned photo */
    .scrolly__frame, .frame-h{ flex:1; min-height:0; height:auto; max-height:none; }
    .track-v{ flex-direction:column; }
    .track-v img{ height:calc(100% - 4px); width:100%; margin-bottom:4px; }

    .scrolly__pin--h{ justify-content:flex-start; gap:14px; }
    .scrolly__inner--h{ display:flex; flex-direction:column; height:100%; gap:14px; }
    .hscroll-head{ flex-direction:column; align-items:flex-start; gap:6px; margin-bottom:0; flex-shrink:0; }
    .hscroll-head p{ display:none; }

    .kontakt-grid{ grid-template-columns:1fr; gap:56px; }
    .praca-grid{ grid-template-columns:1fr; gap:56px; }
    .praca-types{ grid-template-columns:1fr; }
    .choice-grid{ grid-template-columns:1fr; }
    .form-row{ grid-template-columns:1fr; }
    .pkg-grid, .opinie-grid{ grid-template-columns:1fr; }
    .pkg{ border-right:none; border-bottom:1px solid var(--line); }
    .pkg:last-child{ border-bottom:none; }
    .packages, .opinie, .kontakt, .praca, .reel{ padding:100px 0; }
    table.reel-table, table.reel-table tbody{ display:block; width:100%; }
    table.reel-table tr{ display:flex; flex-direction:column; width:100%; align-items:center; }
    .reel-table__text, .reel-table__video{ display:block; width:100%; padding:0; }
    .reel-table__text{ text-align:center; order:2; }
    .reel-table__video{ order:1; margin-bottom:36px; }
    .reel-frame{ height:auto; align-items:center; text-align:center; }
    .reel-note{ text-align:center; max-width:560px; margin:0 auto; }
    .reel-table__text a.btn{
      display:inline-flex;
      white-space:normal;
      max-width:100%;
      text-align:center;
      justify-content:center;
      line-height:1.4;
    }
  }

  /* ---------- RESPONSIVE — PHONE (≤640px) ---------- */
  @media (max-width:640px){
    .wrap, .hero__content, .scrolly__inner, .scrolly__inner--h{ padding-left:20px; padding-right:20px; }

    /* nav */
    .nav{ padding:0 20px; height:64px; }
    .logo img{ height:28px; }
    .navtoggle{ width:32px; height:32px; }
    .mobilemenu a{ font-size:23px; }
    .mobilemenu ul{ gap:24px; }
    section{ scroll-margin-top:64px; }

    /* hero */
    .hero{ min-height:560px; height:100svh; align-items:flex-end; }
    .hero__bg{
      background-image:
        linear-gradient(180deg, rgba(10,10,11,0.82) 0%, rgba(10,10,11,0.68) 25%, rgba(10,10,11,0.42) 50%, rgba(14,15,17,0.34) 62%, rgba(14,15,17,0.88) 100%),
        url('img/hero.png');
    }
    .hero__textshade{
      background:
        radial-gradient(130% 60% at 50% 0%, rgba(8,8,9,0.7), transparent 78%),
        radial-gradient(140% 55% at 50% 100%, rgba(10,10,11,0.55), transparent 75%);
    }
    .hero__grid{ background-size:40px 40px; opacity:0.6; }
    .hero{ align-items:stretch; }
    .hero__content{
      height:100%;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      padding:88px 20px 40px;
    }
    .hero__headline{ padding-top:4px; }
    .hero__tag{ font-size:11px; margin-bottom:16px; letter-spacing:0.12em; }
    .hero h1{ font-size:clamp(30px, 8.6vw, 40px); max-width:100%; margin-bottom:18px; }
    .hero p{ font-size:14.5px; max-width:100%; margin-bottom:26px; }
    .hero__actions{ flex-direction:column; align-items:stretch; gap:12px; }
    .hero__actions .btn{ width:100%; justify-content:center; padding:15px 20px; }

    /* section headers */
    .section-head{ margin-bottom:38px; }
    .section-head h2{ font-size:clamp(24px, 7.2vw, 32px); }
    .section-head p{ font-size:14px; }
    .eyebrow{ font-size:11px; }

    /* pinned scrolly sections */
    .scrolly__pin{ padding:76px 0 20px; }
    .scrolly__text h2{ font-size:clamp(21px, 6.4vw, 26px); }
    .scrolly__text p{ font-size:13.5px; -webkit-line-clamp:3; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
    .frame-tag{ font-size:10px; padding:6px 10px; }
    .frame-count{ font-size:10px; padding:6px 9px; }
    .hscroll-head h2{ font-size:clamp(21px, 6.4vw, 26px); }

    /* packages */
    .packages, .opinie, .kontakt, .praca{ padding:72px 0; }
    .reel{ padding:56px 0; }
    .pkg{ padding:32px 22px; }
    .pkg h3{ font-size:21px; }
    .price b{ font-size:28px; }
    .pkg-desc{ min-height:0; margin-bottom:20px; }
    .pkg-list li{ font-size:13px; }
    .pkg .btn{ width:100%; justify-content:center; }
    .packages-note{ font-size:13px; margin-top:32px; }
    .reel-note{ font-size:13.5px; }
    table.reel-table{ width:100%; }
    .reel-frame{ padding:28px 22px; }
    .reel-frame .btn-call{
      white-space:normal;
      width:100%;
      max-width:100%;
      box-sizing:border-box;
      text-align:center;
      justify-content:center;
      line-height:1.4;
    }
    .pkg-video{ width:170px; height:302px; margin:0 auto; }
    .pkg-video__sound{ padding:7px 11px 7px 9px; }
    .pkg-video__sound-label{ font-size:10px; }

    /* opinie */
    .opinie-card{ padding:26px 22px; gap:16px; }
    .opinie-card p{ font-size:14px; }

    /* kontakt */
    .kontakt-info h2{ font-size:clamp(24px, 7.4vw, 32px); }
    .kontakt-info p{ font-size:14px; }
    .kontakt-points li{ font-size:13.5px; }
    .form{ padding:24px 20px; }
    .form-row{ gap:0; margin-bottom:0; }
    .field{ margin-bottom:16px; }
    .field input, .field select, .field textarea{ font-size:16px; padding:11px 2px; }

    /* footer */
    footer{ padding:28px 0; }
    .footer-row{ flex-direction:column; align-items:flex-start; gap:10px; font-size:11px; }
  }

  @media (max-width:380px){
    .hero h1{ font-size:28px; }
    .pkg{ padding:26px 18px; }
  }
