/* Koncepcja wizualna av2 – wszystko pod body.av2. Rollback: opcja aurelix_av2=0. */
.av2{--av2-navy:#091B2D;--av2-champ:#E5D6C1;--av2-gold:#7a6038;--av2-line:#b99a65;--av2-cream:#f7f3ea;--av2-ink:#1b1b1b;--av2-ease:cubic-bezier(.2,.7,.2,1);--mo-hero:.55s;--mo-sec:.5s;--mo-card:.24s;--mo-btn:.18s;--mo-menu:.25s;--mo-form:.2s;--mo-photo:.65s}
/* dostępność */
.av2 :focus-visible{outline:2px solid var(--av2-navy);outline-offset:3px}
.av2 .hero :focus-visible,.av2 .menu :focus-visible,.av2 .av2-offer--cta :focus-visible,.av2 .tekst--av2-cta :focus-visible{outline-color:var(--av2-champ)}
.av2-skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--av2-navy);color:#fff;padding:12px 20px;font:500 16px/1.2 "Sofia Sans",sans-serif;text-decoration:none;border:2px solid var(--av2-champ);transition:top .15s}
.av2-skip:focus{top:12px}
.av2 main{scroll-margin-top:96px}
/* typografia */
.av2 .tekst h2,.av2 .dlaczego_naglowek,.av2 .faq_naglowek{font-size:clamp(34px,4.4vw,56px);line-height:1.1;letter-spacing:-.005em}
.av2 .tekst .a-lead,.av2 .tekst p{line-height:1.7}
/* ===== System przycisków (jeden na całej stronie) =====
   primary: granat + kremowy tekst | light: champagne + granatowy tekst (na ciemnym tle)
   secondary (--outline na jasnym, --ghost na ciemnym): przezroczysty, jedna ramka 1px.
   Brak cieni, pseudo-elementów i przesuniętych obrysów; hover tylko na urządzeniach z myszą. */
body.av2 a.a-btn,body.av2 .wpcf7-submit,body.av2 .wyszukiwarka_form_submit{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border:1px solid #091B2D;border-radius:0;box-shadow:none;background:#091B2D;color:#fafafa;font:400 16px/1.3 "Sofia Sans",sans-serif;letter-spacing:.04em;text-align:center;text-decoration:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:background-color .25s,color .25s,border-color .25s}
body.av2 a.a-btn::before,body.av2 a.a-btn::after{content:none;display:none}
body.av2 a.a-btn--outline{background:transparent;border-color:#091B2D;color:#091B2D}
body.av2 a.a-btn--light{background:#E5D6C1;border-color:#E5D6C1;color:#091B2D}
body.av2 a.a-btn--ghost{background:transparent;border-color:#E5D6C1;color:#E5D6C1}
body.av2 a.a-btn:visited{color:#fafafa}
body.av2 a.a-btn--outline:visited,body.av2 a.a-btn--light:visited{color:#091B2D}
body.av2 a.a-btn--ghost:visited{color:#E5D6C1}
/* stany: subtelne, nigdy biel ani tekst w kolorze tła; hover tylko z myszą */
@media (hover:hover){
 body.av2 a.a-btn:hover{background:#17324f;border-color:#17324f;color:#fafafa}
 body.av2 a.a-btn--outline:hover{background:rgba(9,27,45,.08);border-color:#091B2D;color:#091B2D}
 body.av2 a.a-btn--light:hover{background:#d6c3a8;border-color:#d6c3a8;color:#091B2D}
 body.av2 a.a-btn--ghost:hover{background:rgba(229,214,193,.14);border-color:#E5D6C1;color:#E5D6C1}
}
body.av2 a.a-btn:active{background:#0d2338;border-color:#0d2338;color:#fafafa;opacity:1}
body.av2 a.a-btn--outline:active{background:rgba(9,27,45,.14);border-color:#091B2D;color:#091B2D}
body.av2 a.a-btn--light:active{background:#c9b595;border-color:#c9b595;color:#091B2D}
body.av2 a.a-btn--ghost:active{background:rgba(229,214,193,.22);border-color:#E5D6C1;color:#E5D6C1}
/* przyciski starszego typu (formularze, wyszukiwarka) – ten sam wygląd */
body.av2 .wpcf7-submit,body.av2 .wyszukiwarka_form_submit,body.av2 .tekst_fotolewo_cta,body.av2 .tekst_fotoprawo_cta,body.av2 .cta_button,body.av2 .oferty_cta{height:auto;line-height:1.3}
@media (hover:hover){body.av2 .wpcf7-submit:hover,body.av2 .wyszukiwarka_form_submit:hover,body.av2 .tekst_fotolewo_cta:hover,body.av2 .tekst_fotoprawo_cta:hover,body.av2 .cta_button:hover,body.av2 .oferty_cta:hover{background:#17324f;border-color:#17324f;color:#fafafa}}
body.av2 .wpcf7-submit:active,body.av2 .wyszukiwarka_form_submit:active{background:#0d2338;color:#fafafa}
body.av2 a.a-btn:focus-visible,body.av2 .wpcf7-submit:focus-visible,body.av2 .wyszukiwarka_form_submit:focus-visible{outline:3px solid var(--av2-gold);outline-offset:0;box-shadow:none}
body.av2 a.a-btn--light:focus-visible,body.av2 a.a-btn--ghost:focus-visible,.av2 .hero a.a-btn:focus-visible,.av2 .tekst--granat a.a-btn:focus-visible,.av2 .tekst--av2-cta a.a-btn:focus-visible,.av2 .av2-offer--cta a.a-btn:focus-visible{outline-color:#fff}
.av2 .a-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px}
.av2 .a-actions .a-btn{margin:0}
@media (max-width:575px){
 .av2 .a-actions{flex-direction:column}
 body.av2 .a-actions a.a-btn,body.av2 .a-card a.a-btn,body.av2 .tekst a.a-btn{width:100%;align-self:stretch}
}
body.av2 .a-note{margin-top:24px}
/* nagłówek: przezroczysty na hero, granat po przewinięciu */
.av2 .menu{background-image:linear-gradient(to bottom,rgba(9,27,45,.72),rgba(9,27,45,0));transition:background-color var(--mo-menu),box-shadow var(--mo-menu),height var(--mo-menu)}
.av2 .menu.menu_scroll{background-image:none;background-color:var(--av2-navy);box-shadow:0 1px 0 rgba(229,214,193,.18),0 8px 24px rgba(0,0,0,.18)}
/* hero */
.av2 .hero--av2{min-height:100vh;min-height:100svh;padding:140px 0 120px;align-items:center}
.av2 .hero--av2 .hero_galeria{overflow:hidden}
.av2 .hero--av2 .hero_nakladka{width:100%;background:linear-gradient(90deg,rgba(9,27,45,.88) 0%,rgba(9,27,45,.62) 42%,rgba(9,27,45,.18) 100%),linear-gradient(0deg,rgba(9,27,45,.6) 0%,rgba(9,27,45,0) 38%)}
.av2 .hero--av2 .hero_haslo{margin:0;display:flex;align-items:center;gap:16px;font-size:14px;letter-spacing:.3em;color:var(--av2-champ)}
.av2 .hero--av2 .hero_haslo::after{content:"";width:56px;height:1px;background:var(--av2-line)}
.av2 .hero--av2 .hero_h1{margin-top:22px;max-width:760px;font-size:clamp(46px,7vw,92px);line-height:1.03;letter-spacing:-.01em}
.av2 .hero--av2 .hero_lead{max-width:560px;margin-top:26px;font-size:clamp(17px,1.6vw,20px)}
.av2 .hero--av2 .hero_lead p{margin:0 0 32px}
.av2 .hero--av2 .hero_lead .a-actions{margin:0}
.av2 .hero--av2 .hero_lead .a-link{display:none}
.av2 .hero_scroll{position:absolute;z-index:3;right:clamp(20px,4vw,56px);bottom:32px;width:48px;height:72px;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.85}
.av2 .hero_scroll:hover{opacity:1;color:var(--av2-champ)}
.av2 .hero_scroll svg{animation:av2-bob 2.6s ease-in-out infinite}
@keyframes av2-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes av2-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.av2 .hero--av2 .hero_haslo{animation:av2-rise var(--mo-hero) var(--av2-ease) both}
.av2 .hero--av2 .hero_h1{animation:av2-rise var(--mo-hero) .1s var(--av2-ease) both}
.av2 .hero--av2 .hero_lead{animation:av2-rise var(--mo-hero) .2s var(--av2-ease) both}
/* sekcje */
.av2 .av2-sec{padding:clamp(64px,9vw,120px) 0}
.av2 .tekst--av2-marka{background:var(--av2-cream);padding:clamp(64px,9vw,120px) 0}
.av2 .tekst--av2-wybrane{background:#fafafa;padding:clamp(64px,8vw,104px) 0}
.av2 .av2-anchor{display:block;position:relative;top:-96px;height:0}
.av2-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 14px;font:500 13px/1 "Sofia Sans",sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--av2-gold)}
.av2-eyebrow::before{content:"";width:44px;height:1px;background:var(--av2-line)}
.av2 .tekst--av2-marka h2,.av2 .tekst--av2-wybrane h2{margin:0;color:var(--av2-navy)}
.av2-intro{max-width:760px;margin:22px 0 0;font-size:18px;color:#2d2d2d}
.av2-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(36px,5vw,64px)}
.av2-card{display:block;color:inherit;text-decoration:none}
.av2-card__img{display:block;aspect-ratio:3/4;overflow:hidden;background:#ddd5c5}
.av2-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--mo-photo) var(--av2-ease)}
.av2-card:hover .av2-card__img img,.av2-card:focus-visible .av2-card__img img{transform:scale(1.03)}
.av2-card__t{display:block;margin-top:20px;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(22px,2vw,27px);line-height:1.15;letter-spacing:.07em;color:var(--av2-gold)}
.av2-card__line{display:block;width:44px;height:1px;background:var(--av2-line);margin:12px 0}
.av2-card__s{display:block;font:400 16px/1.4 "Sofia Sans",sans-serif;color:var(--av2-ink)}
.av2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.av2-more{font:500 16px/1.2 "Sofia Sans",sans-serif;letter-spacing:.04em;color:var(--av2-navy);text-decoration:none;border-bottom:1px solid var(--av2-line);padding-bottom:4px}
.av2-more:hover{color:var(--av2-gold)}
.av2-offers{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);margin-top:clamp(28px,4vw,48px)}
.av2-offers--one{grid-template-columns:1fr}
.av2-offer{position:relative;display:block;overflow:hidden;aspect-ratio:16/11;color:#fff;text-decoration:none;background:var(--av2-navy)}
.av2-offer__img,.av2-offer__img img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.av2-offer__img img{transition:transform var(--mo-photo) var(--av2-ease)}
.av2-offer:hover .av2-offer__img img,.av2-offer:focus-visible .av2-offer__img img{transform:scale(1.03)}
.av2-offer::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,27,45,.92) 0%,rgba(9,27,45,.55) 42%,rgba(9,27,45,0) 75%)}
.av2-offer__body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(20px,3vw,40px)}
.av2-offer__label{display:block;font:500 13px/1.3 "Sofia Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--av2-champ)}
.av2-offer__t{display:block;margin-top:10px;font-family:"Cormorant Garamond",serif;font-size:clamp(26px,2.8vw,38px);line-height:1.12;color:#fff}
.av2-offer .av2-card__line{background:var(--av2-champ)}
.av2-offer__meta{display:block;font:400 16px/1.4 "Sofia Sans",sans-serif;color:#fff}
.av2-offer--cta::after{display:none}
.av2-offer--cta{background:var(--av2-navy);background-image:linear-gradient(135deg,rgba(229,214,193,.08),rgba(229,214,193,0) 60%)}
.av2-offer--cta .av2-offer__body{top:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.av2-offer--cta p{margin:0 0 24px;max-width:460px;color:#f1ece2;font-size:17px;line-height:1.6}
.av2-offers--one .av2-offer--cta{aspect-ratio:auto;min-height:280px}
/* ścieżki */
.av2-paths{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:24px 0 8px;padding:0}
.av2-paths a{display:inline-block;padding:11px 20px;border:1px solid var(--av2-line);color:var(--av2-navy);text-decoration:none;font:400 16px/1.2 "Sofia Sans",sans-serif;transition:background var(--mo-card),color var(--mo-card)}
.av2-paths a:hover{background:var(--av2-navy);color:#fff;border-color:var(--av2-navy)}
.av2 .wyszukiwarka{top:0;margin:clamp(40px,6vw,72px) 0}
/* CTA końcowe */
.av2 .tekst--av2-cta{position:relative;overflow:hidden;background:var(--av2-navy);color:#fff;padding:clamp(72px,10vw,140px) 0;text-align:center}
.av2 .tekst--av2-cta [class*=col-]{position:static}
.av2 .container-inner{position:relative;z-index:2}
.av2-cta__bg{position:absolute;inset:0;z-index:0}
.av2-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;animation:av2-zoom 24s ease-in-out infinite alternate}
@keyframes av2-zoom{from{transform:scale(1)}to{transform:scale(1.04)}}
.av2 .tekst--av2-cta::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(9,27,45,.7),rgba(9,27,45,.35))}
.av2 .tekst--av2-cta h2{color:#fff;margin:0 auto;max-width:820px}
.av2 .tekst--av2-cta p{color:#f1ece2;max-width:620px;margin:20px auto 32px;font-size:18px}
.av2 .tekst--av2-cta .a-actions{justify-content:center}
.av2 .tekst--av2-cta .av2-eyebrow{justify-content:center;color:var(--av2-champ)}
.av2 .tekst--av2-cta .av2-eyebrow::before{background:var(--av2-line)}
/* reveal – tylko transform/opacity; ukrywanie wyłącznie gdy JS aktywny i brak reduced-motion */
.av2-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity var(--mo-sec) var(--av2-ease),transform var(--mo-sec) var(--av2-ease);transition-delay:calc(var(--i,0)*90ms)}
.av2-js [data-reveal].is-in{opacity:1;transform:none}
@media (max-width:1199px){.av2-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:991px){.av2-offers{grid-template-columns:1fr}}
@media (max-width:767px){
 .av2 .hero--av2{padding:112px 0 104px}
 .av2 .hero--av2 .hero_nakladka{background:linear-gradient(0deg,rgba(9,27,45,.9) 0%,rgba(9,27,45,.7) 55%,rgba(9,27,45,.5) 100%)}
 .av2 .hero--av2 .hero_haslo{font-size:12px;letter-spacing:.24em}
 .av2 .hero--av2 .hero_haslo::after{width:36px}
 .av2 .hero--av2 .hero_lead .a-btn{width:100%;text-align:center}
 .av2 .hero_scroll{display:none}
 .av2 .tekst--av2-cta{text-align:left}
 .av2 .tekst--av2-cta .a-actions,.av2 .tekst--av2-cta .av2-eyebrow{justify-content:flex-start}
 .av2 .tekst--av2-cta .a-btn{width:100%;text-align:center}
}
@media (max-width:480px){.av2-cards{gap:14px}.av2-card__t{font-size:19px;letter-spacing:.04em}.av2-card__s{font-size:15px}}
@media (prefers-reduced-motion:reduce){
 .av2 *,.av2 *::before,.av2 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .av2-card:hover .av2-card__img img,.av2-offer:hover .av2-offer__img img{transform:none}
}

/* ===== Etap 1A: system ruchu (jedna krzywa, zmienne czasu) ===== */
@media (prefers-reduced-motion:no-preference){
 .av2 .baner_h1{animation:av2-rise var(--mo-hero) var(--av2-ease) both}
 .av2 .baner_p{animation:av2-rise var(--mo-hero) .1s var(--av2-ease) both}
 .av2 .a-card,.av2 .a-person{transition:box-shadow var(--mo-card) var(--av2-ease),border-color var(--mo-card) var(--av2-ease)}
 .av2 .faq_pytanie,.av2 .faq summary{transition:background-color var(--mo-form) var(--av2-ease),color var(--mo-form) var(--av2-ease)}
 .av2 input,.av2 select,.av2 textarea{transition:border-color var(--mo-form) var(--av2-ease),box-shadow var(--mo-form) var(--av2-ease)}
 @view-transition{navigation:auto}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:var(--av2-ease)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .av2 .a-card:hover,.av2 .a-person:hover{box-shadow:0 10px 28px rgba(9,27,45,.10)}
}
.av2 [id]:not(.a-anchor):not(.av2-anchor){scroll-margin-top:96px}
