:root{--navy:#071b3b;--navy-2:#0b2b57;--red:#ef3138;--white:#fff;--ink:#101828;--muted:#667085;--soft:#f6f7f9}
*{box-sizing:border-box}
body{font-family:Inter,Arial,sans-serif;color:var(--ink);margin:0;background:#fff}
a{text-decoration:none}

/* Główny nagłówek */
.site-header{height:68px;background:#fff;box-shadow:none;z-index:1030;padding:0;transition:height .18s ease,box-shadow .18s ease}
.site-header.is-scrolled{height:64px;box-shadow:0 8px 24px rgba(7,27,59,.10)}
.header-inner{height:68px;display:flex;align-items:center;position:relative;transition:height .18s ease}
.brand-panel{position:absolute;left:12px;top:7px;width:288px;padding:8px 13px 13px;background:#fff;z-index:5;transition:width .18s ease,top .18s ease,padding .18s ease}
.brand-logo{display:block;width:100%;height:auto}
.brand-logo-large{transform:scale(.96);transform-origin:center}
.brand-logo-sticky{display:none}
.site-header.is-scrolled .header-inner{height:64px}
.site-header.is-scrolled .brand-panel{top:0;width:230px;height:64px;padding:3px 0;background:transparent;display:flex;align-items:center}
.site-header.is-scrolled .brand-logo-large{display:none}
.site-header.is-scrolled .brand-logo-sticky{display:block;width:230px;max-height:50px;height:auto;object-fit:contain}
.site-header .navbar-collapse{height:100%;display:flex!important;flex-basis:auto;flex-grow:1;justify-content:flex-end}
.site-header .navbar-nav{height:100%}
.site-header .nav-link{color:#555;padding:.75rem .25rem;font-size:1rem;font-weight:400}
.site-header .nav-link:hover{color:var(--red)}
.site-header .nav-link.active{
    color:#fff;
    background:var(--navy);
    border:1px solid var(--navy);
    border-radius:999px;
    padding:.55rem .85rem;
}
.site-header .nav-link.active:hover{
    color:#fff;
    background:var(--navy-2);
    border-color:var(--navy-2);
}
.navbar-toggler{border:0;padding:.45rem;box-shadow:none!important}

/* Hero strony głównej */
.hero{color:#fff;position:relative;overflow:hidden}
.hero-home{min-height:714px;display:flex;align-items:center;background:linear-gradient(105deg,rgba(7,27,59,.97) 0%,rgba(7,27,59,.93) 42%,rgba(10,40,81,.82) 72%,rgba(36,52,88,.74) 100%),url('/assets/img/hero-studio.webp') center center/cover no-repeat}
.hero-home:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 0%,rgba(144,57,93,.38),transparent 34%);pointer-events:none}
.hero-container{z-index:2}
.hero-content{max-width:880px;padding-top:0}
.hero-kicker{margin-bottom:24px}
.hero h1{font-size:clamp(3.4rem,5.2vw,5.7rem);line-height:.98;font-weight:800;letter-spacing:-.035em;margin:0;max-width:900px}
.hero-lead{margin:20px 0 0;color:#bdc8d9;font-size:clamp(1.15rem,1.5vw,1.55rem);line-height:1.45;max-width:760px}
.studio-cta{display:inline-flex;align-items:center;gap:.7rem;background:var(--red);color:#fff;padding:1rem 1.35rem;border-radius:999px;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 30px rgba(239,49,56,.35);transition:.2s}
.studio-cta:hover{transform:translateY(-2px);color:#fff;background:#f53a42}
.studio-cta-header{padding:.68rem 1.1rem;box-shadow:0 9px 24px rgba(239,49,56,.25);font-size:.94rem;white-space:nowrap}
.hero-cta{margin-top:34px}
.play-mark{font-size:.88em}

.section{padding:82px 0}.section-dark{background:var(--navy);color:#fff}.service-card,.voice-card,.price-card{border:0;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(16,24,40,.08);height:100%}.service-card{padding:28px}.kicker{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.tag{display:inline-block;padding:.32rem .65rem;border-radius:999px;background:#eef2f7;color:#344054;font-size:.78rem;margin:.15rem}.voice-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#e9edf2}.audio-btn{width:52px;height:52px;border:0;border-radius:50%;background:var(--red);color:#fff;font-size:1.1rem}.audio-row{display:flex;align-items:center;gap:12px}.audio-progress{height:8px;background:#e4e7ec;border-radius:99px;flex:1;overflow:hidden;cursor:pointer;position:relative}.audio-progress span{display:block;height:100%;width:0;background:var(--red)}.partner-logo{max-width:150px;max-height:62px;filter:grayscale(1);opacity:.75}.footer{background:#04142f;color:#bdc8d9;padding:46px 0}.footer strong{color:#fff}.footer-phone-label{color:#fff}

/* Treść zwykłych podstron z CMS */
.page-content { line-height: 1.75; }
.page-content h2, .page-content h3, .page-content h4 { margin-top: 1.6em; margin-bottom: .65em; font-weight: 700; }
.page-content img { max-width: 100%; height: auto; border-radius: 1rem; }
.page-content table { width: 100%; margin: 1.5rem 0; }
.page-content blockquote { border-left: 4px solid #e31d2b; padding-left: 1.25rem; color: #5b6470; }


@media(max-width:991.98px){
  .site-header,.site-header.is-scrolled{height:auto;min-height:74px}
  .header-inner,.site-header.is-scrolled .header-inner{min-height:74px;height:auto;padding-top:0;padding-bottom:0}
  .brand-panel,.site-header.is-scrolled .brand-panel{position:relative;left:auto;top:auto;width:205px;height:auto;padding:7px 0;background:transparent;display:block}
  .brand-logo-large{display:none}
  .brand-logo-sticky,.site-header.is-scrolled .brand-logo-sticky{display:block;width:230px;max-height:50px;height:auto;object-fit:contain}
  .site-header .navbar-collapse{display:none!important;position:absolute;left:12px;right:12px;top:74px;height:auto;background:#fff;padding:12px 18px 20px;border-radius:0 0 16px 16px;box-shadow:0 18px 35px rgba(7,27,59,.14)}
  .site-header .navbar-collapse.show{display:block!important}
  .site-header .navbar-nav{height:auto;align-items:stretch!important}
  .site-header .nav-link{padding:.65rem 0}
  .site-header .nav-link.active{padding:.55rem .85rem;display:inline-block}
  .studio-cta-header{justify-content:center;margin-top:.4rem}
  .hero-home{min-height:auto;padding:86px 0 92px}
  .hero-content{padding-top:0;max-width:760px}
}
@media(max-width:767.98px){
  .brand-panel,.site-header.is-scrolled .brand-panel{width:185px}
  .brand-logo-sticky,.site-header.is-scrolled .brand-logo-sticky{width:185px}
  .hero-home{padding:72px 0 78px}
  .hero h1{font-size:clamp(3rem,13vw,4.6rem)}
  .hero-lead{font-size:1.15rem}
  .section{padding:58px 0}
}

/* Hero Promosfera Studio */
.hero-studio{
  min-height:560px;
  background:
    linear-gradient(105deg,rgba(7,27,59,.95) 0%,rgba(7,27,59,.90) 46%,rgba(10,40,81,.78) 74%,rgba(36,52,88,.72) 100%),
    url('/assets/img/hero-studio.webp') center center/cover no-repeat;
  display:flex;
  align-items:flex-start;
}
.hero-studio:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 92% 0%,rgba(144,57,93,.38),transparent 34%);
  pointer-events:none;
}
.hero-studio-content{
  max-width:880px;
  padding-top:176px;
  padding-bottom:90px;
  position:relative;
  z-index:2;
}
.hero-studio .studio-intro{max-width:760px}
.hero-home .hero-kicker {
    visibility: hidden;
}

/* Kafle oferty: duża ikona po lewej, tekst po prawej */
.service-card{padding:28px;display:flex;align-items:center;gap:24px;transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(16,24,40,.12)}
.service-icon{width:76px;min-width:76px;height:76px;border-radius:20px;background:rgba(239,49,56,.09);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:2.35rem;line-height:1}
.service-copy{min-width:0}
.service-copy h4{margin:0 0 8px;font-weight:700}
.service-copy p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:575.98px){
  .service-card{padding:22px;gap:18px}
  .service-icon{width:60px;min-width:60px;height:60px;border-radius:16px;font-size:1.9rem}
}

@media(max-width:991.98px){
  .hero-studio{min-height:auto}
  .hero-studio-content{padding-top:86px;padding-bottom:92px}
}
@media(max-width:767.98px){
  .hero-studio-content{padding-top:72px;padding-bottom:78px}
}

/* Menu w stopce */
.footer-menu{display:flex;flex-direction:column;gap:.45rem}
.footer-menu a{color:#fff;opacity:.88;transition:opacity .18s ease,color .18s ease}
.footer-menu a:hover{color:#fff;opacity:1}


/* Portfolio / Realizacje */
.hero-portfolio{min-height:520px;background:linear-gradient(105deg,rgba(7,27,59,.97) 0%,rgba(7,27,59,.94) 48%,rgba(10,40,81,.86) 76%,rgba(36,52,88,.80) 100%),url('/assets/img/hero-studio.webp') center center/cover no-repeat;display:flex;align-items:flex-start}
.hero-portfolio:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 0%,rgba(144,57,93,.38),transparent 34%);pointer-events:none}
.portfolio-tabs,.voice-tabs{display:flex;gap:10px;overflow-x:auto;padding:0 0 26px;margin-bottom:18px;scrollbar-width:thin}
.portfolio-tab,.voice-tab{border:1px solid #dfe4ea;background:#fff;color:var(--navy);padding:.72rem 1.15rem;border-radius:999px;font-weight:700;white-space:nowrap;transition:.18s;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}
.portfolio-tab:hover,.portfolio-tab.active,.voice-tab:hover,.voice-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.portfolio-item[hidden],.voice-item[hidden]{display:none!important}
.portfolio-card{height:100%;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(16,24,40,.08);overflow:hidden;display:flex;flex-direction:column}
.portfolio-visual{position:relative;display:block;aspect-ratio:16/10;background:#eef2f7;overflow:hidden}
.portfolio-visual img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.portfolio-visual:hover img{transform:scale(1.025)}
.portfolio-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-weight:800;letter-spacing:.15em}
.portfolio-play,.portfolio-zoom{position:absolute;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.portfolio-play{width:66px;height:66px;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.25rem;padding-left:4px}.portfolio-zoom{width:44px;height:44px;right:16px;bottom:16px;font-size:1.25rem}
.portfolio-audio-mark{height:150px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#071b3b,#123968);color:#fff;font-size:4rem}.portfolio-audio-mark i{color:var(--red)}
.portfolio-card-body{padding:25px;flex:1}.portfolio-type{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.portfolio-card h2{font-size:1.35rem;font-weight:800;margin:12px 0 4px}.portfolio-client{color:var(--muted);font-size:.92rem;margin-bottom:12px}.portfolio-card p{color:var(--muted);line-height:1.6;margin:0}
@media(max-width:767.98px){.hero-portfolio{min-height:auto}.portfolio-card-body{padding:21px}}
/* HERO PODSTRON - oddech pod dużym logo */
body:not(.home) .hero,
.hero-studio,
.hero-portfolio,
.hero-contact,
.hero-pricing {
    padding-top: 60px !important;
}
/* Kontakt + Cennik */
.hero-subpage{min-height:520px;background:linear-gradient(105deg,rgba(7,27,59,.98) 0%,rgba(7,27,59,.95) 48%,rgba(10,40,81,.88) 76%,rgba(36,52,88,.82) 100%),url('/assets/img/hero-studio.webp') center center/cover no-repeat;display:flex;align-items:flex-start}
.hero-subpage:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 0%,rgba(144,57,93,.38),transparent 34%);pointer-events:none}
.hero-subpage-content{max-width:900px;padding-top:150px;padding-bottom:90px;position:relative;z-index:2}
.contact-card{background:#fff;border-radius:24px;padding:36px;box-shadow:0 18px 55px rgba(16,24,40,.09)}
.contact-card .form-control{min-height:52px;border-radius:12px;border-color:#dfe4ea;padding:.75rem 1rem}.contact-card textarea.form-control{min-height:150px}
.contact-card .form-control:focus{border-color:rgba(239,49,56,.55);box-shadow:0 0 0 .25rem rgba(239,49,56,.08)}
.contact-details{display:flex;flex-direction:column;gap:18px}.contact-detail{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #edf0f4}.contact-detail i{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(239,49,56,.09);color:var(--red);font-size:1.25rem}.contact-detail small{display:block;color:var(--muted);margin-bottom:2px}.contact-detail a,.contact-detail span{color:var(--navy);font-weight:700}.contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.price-card-front{position:relative;display:flex;flex-direction:column;min-height:330px;padding:32px!important;transition:transform .2s ease,box-shadow .2s ease}.price-card-front:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(16,24,40,.13)}.price-card-featured{border-top:4px solid var(--red)}.price-badge{align-self:flex-start;background:rgba(239,49,56,.1);color:var(--red);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.4rem .7rem;border-radius:999px}.price-value{font-size:2.15rem;font-weight:800;color:var(--navy);margin:18px 0}.price-contact{margin-top:auto;color:var(--red);font-weight:800}.price-contact:hover{color:#c9232a}.pricing-note{display:flex;align-items:center;gap:18px;padding:26px 28px;border-radius:22px;background:var(--navy);color:#fff}.pricing-note>i{font-size:2rem;color:var(--red)}.pricing-note span{color:rgba(255,255,255,.7)}
@media(max-width:991.98px){.hero-subpage{min-height:auto}.hero-subpage-content{padding-top:86px;padding-bottom:92px}.pricing-note{align-items:flex-start;flex-wrap:wrap}.pricing-note .studio-cta{margin-left:0!important}}
@media(max-width:767.98px){.hero-subpage-content{padding-top:72px;padding-bottom:78px}.contact-card{padding:24px}.pricing-note{padding:22px}}

@media (max-width: 991px) {
    body:not(.home) .hero,
    .hero-studio,
    .hero-portfolio,
    .hero-contact,
    .hero-pricing {
        padding-top: 20px !important;
    }
}

/* Kicker bez nagłówka – dodatkowy oddech od treści sekcji */
.kicker.kicker-solo { margin-bottom: 24px; }


/* Dopracowanie sekcji Promosfera Studio na stronie głównej */
.home-studio-kicker{margin-bottom:10px}
.home-studio-text{color:#bdc8d9!important}

/* Jasnoniebieskie leady na granatowych tłach */
.hero-studio .hero-lead,.hero-portfolio .hero-lead{color:#bdc8d9}

/* Lepsze łamanie krótkich polskich wierszy w nowoczesnych przeglądarkach */
h1,h2,h3,p{ text-wrap:pretty; }

/* Mobile menu - kompaktowa nawigacja */
@media (max-width:991.98px){
  .site-header .navbar-collapse{
    padding:10px 16px 14px;
    border-radius:0 0 14px 14px;
  }

  .site-header .navbar-nav{
    gap:2px;
  }

  .site-header .nav-link{
    display:inline-block;
    width:auto;
    padding:.48rem .72rem;
    line-height:1.25;
  }

  .site-header .nav-link.active{
    display:inline-block;
    width:auto;
    padding:.48rem .78rem;
  }

  .site-header .nav-item{
    align-self:flex-start;
  }

  .site-header .studio-cta-header{
    display:flex;
    width:100%;
    margin-top:8px;
    padding:.72rem 1rem;
  }
}

/* Mobile - aktywna pozycja menu tylko wokół tekstu + centrowanie sekcji Studio */
@media (max-width:991.98px){
  /* Bootstrap/flex rozciągał element listy; kasujemy to dla zwykłych pozycji */
  .site-header .navbar-nav > .nav-item:not(:last-child){
    width:auto;
    align-self:flex-start;
  }

  .site-header .navbar-nav > .nav-item:not(:last-child) > .nav-link.active{
    display:inline-flex !important;
    width:auto !important;
    flex:0 0 auto;
  }

  /* Sekcja "głos robi różnicę..." na stronie głównej */
  .home .section-dark .home-studio-kicker,
  .home .section-dark .home-studio-text,
  .home .section-dark h2{
    text-align:center;
  }

  .home .section-dark .studio-cta{
    margin-left:auto;
    margin-right:auto;
  }

  .home .section-dark .row > [class*="col-"]{
    text-align:center;
  }
}

/* Mobile - pełne zaznaczenie aktywnej pozycji menu */
@media (max-width:991.98px){
  .site-header .navbar-nav > .nav-item:not(:last-child) > .nav-link.active{
    display:block !important;
    width:100% !important;
    background:var(--navy);
    color:#fff;
    border-color:var(--navy);
    border-radius:999px;
    padding:.58rem .85rem;
  }

  .site-header .navbar-nav > .nav-item:not(:last-child) > .nav-link.active:hover{
    background:var(--navy-2);
    border-color:var(--navy-2);
    color:#fff;
  }

  .site-header .navbar-nav > .nav-item:not(:last-child){
    width:100%;
    align-self:stretch;
  }
}



/* Lightbox realizacji graficznych */
body.lightbox-open{overflow:hidden}
.portfolio-lightbox[hidden]{display:none!important}
.portfolio-lightbox{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 84px;
  background:rgba(3,15,36,.94);
  backdrop-filter:blur(5px);
}
.portfolio-lightbox-figure{
  margin:0;
  max-width:min(1400px,100%);
  max-height:calc(100vh - 64px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.portfolio-lightbox-image{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 120px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 22px 70px rgba(0,0,0,.42);
}
.portfolio-lightbox-caption{
  color:#fff;
  font-weight:700;
  text-align:center;
}
.portfolio-lightbox-close,
.portfolio-lightbox-nav{
  position:absolute;
  border:0;
  color:#fff;
  background:rgba(255,255,255,.12);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.18s ease;
}
.portfolio-lightbox-close:hover,
.portfolio-lightbox-nav:hover{background:var(--red);color:#fff}
.portfolio-lightbox-close{
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:1.25rem;
}
.portfolio-lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:70px;
  border-radius:18px;
  font-size:1.45rem;
}
.portfolio-lightbox-prev{left:20px}
.portfolio-lightbox-next{right:20px}
.portfolio-lightbox-nav[hidden]{display:none}
.portfolio-lightbox-link{cursor:zoom-in}

@media(max-width:767.98px){
  .portfolio-lightbox{padding:70px 14px 82px}
  .portfolio-lightbox-figure{max-height:100%}
  .portfolio-lightbox-image{max-height:calc(100vh - 170px);border-radius:8px}
  .portfolio-lightbox-close{top:14px;right:14px}
  .portfolio-lightbox-nav{
    top:auto;
    bottom:14px;
    transform:none;
    width:54px;
    height:48px;
    border-radius:999px;
  }
  .portfolio-lightbox-prev{left:calc(50% - 64px)}
  .portfolio-lightbox-next{right:calc(50% - 64px)}
}
