/* ============================================================
   Angel Home — wspólny arkusz redesignu (Newsreader + Manrope)
   Źródło prawdy: prototypy index-final_7 / inwestycja_5 / wykonczenie-pod-klucz_4
   Tokeny prefiksowane --ah- (brak kolizji z site/styles.htm).
   Wszystkie reguły scope'owane pod .ah (body.ah na stronach zmigrowanych).
   ============================================================ */

:root{--ah-paper:#FBF8F2; --ah-linen:#F3ECDF; --ah-linen-deep:#ECE2CF;
  --ah-ink:#1F2E4D; --ah-ink-soft:#4D5B7A;
  --ah-gold:#B08C4F; --ah-gold-soft:#D9C495;
  --ah-sage:#7E9176; --ah-sage-deep:#64785C; --ah-stone:#B9B2A4;
  --ah-line:#E4DAC6; --ah-radius:14px;
  --ah-shadow:0 18px 50px -22px rgba(31,46,77,.22);
  --ah-ease:cubic-bezier(.22,.7,.3,1);}
.ah *{margin:0;padding:0;box-sizing:border-box}
.ah{scroll-behavior:smooth}
.ah{font-family:'Manrope',sans-serif;background:var(--ah-paper);color:var(--ah-ink-soft);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.ah h1,.ah h2,.ah h3{font-family:'Newsreader',serif;font-weight:400;color:var(--ah-ink);line-height:1.1;letter-spacing:-.01em}
/* main.css motywu narzuca h1..h3{text-transform:uppercase} — resetujemy, bo redesign chce mieszanej wielkosci (wersaliki tylko tam, gdzie ustawione jawnie, np. .l1) */
.ah h1,.ah h2,.ah h3,.ah h4{text-transform:none}
.ah img{display:block;max-width:100%}
.ah a{color:inherit;text-decoration:none}
.ah .wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.ah section{padding:108px 0}
.ah .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ah-gold);margin-bottom:20px}
.ah .eyebrow::before{content:"";width:34px;height:1px;background:var(--ah-gold)}
.ah .h2{font-size:clamp(34px,4.4vw,52px)}
.ah em.gold{font-style:normal;color:var(--ah-gold);font-weight:500}
.ah .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:52px}
.ah .lead{max-width:430px;font-size:15.5px}
.ah .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:15px;transition:all .35s var(--ah-ease);cursor:pointer;border:1px solid transparent}
.ah .btn .arr{color:inherit;transition:transform .35s var(--ah-ease)}
.ah .btn:hover .arr{transform:translateX(4px)}
.ah .btn-ink{background:var(--ah-ink);color:#fff}
.ah .btn-ink:hover{background:#2A3C63;box-shadow:var(--ah-shadow)}
.ah .btn-ghost{border-color:var(--ah-ink);color:var(--ah-ink)}
.ah .btn-ghost:hover{background:var(--ah-ink);color:#fff}
.ah .btn-gold{background:var(--ah-gold);color:#fff}
.ah .btn-gold:hover{background:#9A7A42}
.ah .btn-light{background:rgba(255,255,255,.9);color:var(--ah-ink);backdrop-filter:blur(6px)}
.ah .btn-light:hover{background:#fff;box-shadow:var(--ah-shadow)}
.ah .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ah-ease),transform .8s var(--ah-ease)}
.ah .rv.in{opacity:1;transform:none}
.ah .rv.d1{transition-delay:.1s}
.ah .rv.d2{transition-delay:.2s}
.ah .rv.d3{transition-delay:.3s}
@media (prefers-reduced-motion: reduce){
.ah .rv{opacity:1;transform:none;transition:none}
.ah{scroll-behavior:auto}
.ah *{animation:none!important;transition:none!important}
}
.ah .wings{display:block;width:104px;height:auto;margin-bottom:16px}
.ah .wings path{stroke:var(--ah-gold);stroke-width:1.5;stroke-linecap:round;fill:none;stroke-dasharray:1;stroke-dashoffset:1}
.ah .in .wings path,.ah .wings.auto path{animation:wdraw 1.6s var(--ah-ease) forwards}
.ah .wings path:nth-child(2),.ah .wings path:nth-child(5){animation-delay:.25s}
.ah .wings path:nth-child(3),.ah .wings path:nth-child(6){animation-delay:.5s}
@keyframes wdraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){
.ah .wings path{stroke-dashoffset:0;animation:none}
}
/* (prototypowa nawigacja .ah nav/.nav-links/.navdrop nieużywana — zastąpiona przez .ahnav poniżej; selektor elementowy usunięty, bo łapał <nav> nagłówka) */
.ah .proto-nav{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(251,248,242,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--ah-line)}
.ah .nav-in{display:flex;align-items:center;justify-content:space-between;height:78px}
.ah .logo{display:flex;align-items:center;gap:11px}
.ah .logo .name{font-family:'Newsreader',serif;font-size:21px;letter-spacing:.34em;color:var(--ah-ink);font-weight:500}
.ah .logo .name small{display:block;font-family:'Manrope';font-size:9px;letter-spacing:.58em;color:var(--ah-gold);font-weight:700;margin-top:1px}
.ah .nav-links{display:flex;gap:32px;font-size:14.5px;font-weight:600;color:var(--ah-ink)}
.ah .nav-links a{position:relative;padding:6px 0}
.ah .nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--ah-gold);transition:width .3s var(--ah-ease)}
.ah .nav-links a:hover::after{width:100%}
.ah .navdrop{position:relative}
.ah .navdrop-trigger{display:inline-flex;align-items:center;gap:6px}
.ah .navdrop-trigger svg{transition:transform .3s var(--ah-ease)}
.ah .navdrop:hover .navdrop-trigger svg{transform:rotate(180deg)}
.ah .navdrop-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--ah-line);border-radius:14px;padding:10px;min-width:190px;box-shadow:var(--ah-shadow);opacity:0;visibility:hidden;transition:all .28s var(--ah-ease);z-index:60}
.ah .navdrop:hover .navdrop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ah .navdrop-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.ah .navdrop-menu a{display:block;padding:10px 16px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--ah-ink);transition:all .2s}
.ah .navdrop-menu a::after{display:none}
.ah .navdrop-menu a:hover{background:var(--ah-linen);color:var(--ah-gold)}
.ah .nav-cta{padding:12px 22px;font-size:14px}
.ah .burger{display:none}
.ah .hero{padding:118px 0 0}
.ah .hero-title{position:relative;text-align:center;z-index:3;pointer-events:none}
.ah .hero-title h1{font-family:'Newsreader',serif;font-weight:300;font-size:clamp(46px,8.2vw,118px);line-height:.96;letter-spacing:-.02em;color:var(--ah-ink);white-space:nowrap}
.ah .hero-title h1 em{font-family:'Newsreader',serif;font-style:normal;font-weight:300;color:var(--ah-gold);letter-spacing:-.01em}
.ah .hero-stage{position:relative;margin-top:-3%;height:clamp(420px,52vw,720px);border-radius:24px;overflow:hidden;box-shadow:var(--ah-shadow)}
.ah .hero-stage .ph{position:absolute;inset:0}
.ah .hero-stage img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.ah .hero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(31,46,77,.12),rgba(31,46,77,.04) 30%,rgba(31,46,77,.28))}
.ah .hero-tag{position:absolute;left:32px;top:64px;z-index:4;max-width:340px;color:#fff;text-shadow:0 2px 18px rgba(31,46,77,.5)}
.ah .hero-tag .et{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--ah-gold-soft);margin-bottom:10px;display:block}
.ah .hero-tag p{font-size:19px;line-height:1.3;font-weight:600}
.ah .hero-actions{position:absolute;left:32px;bottom:30px;z-index:4;display:flex;gap:14px;flex-wrap:wrap}
.ah .hero-card{position:absolute;right:30px;bottom:30px;z-index:4;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:var(--ah-radius);padding:18px 22px;display:flex;align-items:center;gap:18px;box-shadow:var(--ah-shadow)}
.ah .hero-card .big{font-family:'Newsreader',serif;font-size:34px;color:var(--ah-ink);font-weight:400;line-height:1}
.ah .hero-card .big sup{font-size:17px;color:var(--ah-gold)}
.ah .hero-card .txt{font-size:12.5px;max-width:130px;line-height:1.4}
.ah .intro{padding:92px 0}
.ah .intro p{font-family:'Newsreader',serif;font-size:clamp(22px,2.7vw,33px);line-height:1.45;color:var(--ah-ink);font-weight:300;max-width:1000px;margin:0 auto;text-align:center}
/* kontrast: --ah-stone (#B9B2A4) dawał 1,99:1 na papierze — nieczytelne. #736A5C = 5,02:1 (WCAG AA).
   Zmiana punktowa TYLKO dla tego akapitu — token --ah-stone i złoty zostają nietknięte. */
.ah .intro .muted{color:#736A5C;font-size:inherit;line-height:inherit;font-weight:inherit}
.ah .intro .ic{display:inline-block;width:42px;height:30px;vertical-align:middle;margin:0 6px;color:var(--ah-gold)}
.ah .properties{background:var(--ah-linen)}
.ah .filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:42px}
.ah .chip{font-size:13.5px;font-weight:600;padding:10px 20px;border-radius:999px;border:1px solid var(--ah-line);background:transparent;color:var(--ah-ink-soft);cursor:pointer;transition:all .3s var(--ah-ease)}
.ah .chip:hover{border-color:var(--ah-gold)}
.ah .chip.on{background:var(--ah-ink);color:#fff;border-color:var(--ah-ink)}
.ah .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ah .pcard{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:18px;overflow:hidden;transition:all .4s var(--ah-ease)}
.ah .pcard:hover{transform:translateY(-5px);box-shadow:var(--ah-shadow)}
.ah .pcard .ph{position:relative;aspect-ratio:16/11;overflow:hidden}
.ah .pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ah-ease)}
.ah .pcard:hover .ph img{transform:scale(1.06)}
/* z-index:2 — .ah .ph img jest position:absolute (z prototypu karty inwestycji) i zasłaniałby plakietkę */
.ah .pcard .badge{position:absolute;left:14px;top:14px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;border-radius:999px;backdrop-filter:blur(6px)}
.ah .b-av{background:rgba(126,145,118,.92);color:#fff}
.ah .b-soon{background:rgba(176,140,79,.92);color:#fff}
.ah .b-sold{background:rgba(185,178,164,.92);color:#fff}
.ah .pcard .body{padding:22px 24px 26px}
.ah .pcard h3{font-size:21px;font-weight:500;margin-bottom:6px}
.ah .pcard .loc{font-size:13px;display:flex;align-items:center;gap:7px;margin-bottom:16px}
.ah .pcard .specs{display:flex;gap:18px;font-size:13px;padding:15px 0;border-top:1px solid var(--ah-line);border-bottom:1px solid var(--ah-line);margin-bottom:16px}
.ah .pcard .specs span{display:flex;align-items:center;gap:7px}
.ah .pcard .foot{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ah .pcard .price b{font-family:'Newsreader',serif;font-size:22px;color:var(--ah-ink);font-weight:500}
.ah .pcard .price small{display:block;font-size:11px;letter-spacing:.04em}
.ah .pcard .go{width:42px;height:42px;border-radius:50%;border:1px solid var(--ah-line);display:grid;place-items:center;color:var(--ah-ink);transition:all .3s var(--ah-ease);flex:none}
.ah .pcard:hover .go{background:var(--ah-gold);border-color:var(--ah-gold);color:#fff}
.ah .projects-head{margin-bottom:44px}
.ah .hscroll{display:flex;gap:24px;overflow-x:auto;padding:6px 32px 30px;scroll-snap-type:x mandatory;scrollbar-width:none}
.ah .hscroll::-webkit-scrollbar{display:none}
.ah .jcard{scroll-snap-align:start;flex:0 0 clamp(300px,40vw,560px)}
.ah .jcard .ph{position:relative;aspect-ratio:7/5;border-radius:20px;overflow:hidden;margin-bottom:22px}
.ah .jcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ah-ease)}
.ah .jcard:hover .ph img{transform:scale(1.05)}
.ah .jcard .tags{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.ah .jcard .tags span{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ah-gold);border:1px solid var(--ah-gold-soft);border-radius:999px;padding:5px 12px}
.ah .jcard h3{font-size:25px;font-weight:500;margin-bottom:10px}
.ah .jcard p{font-size:14.5px}
.ah .hint{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ah-stone);display:flex;align-items:center;gap:10px;margin-top:8px}
.ah .hint .bar{flex:1;height:1px;background:var(--ah-line);position:relative;max-width:200px}
.ah .hint .bar::after{content:"";position:absolute;left:0;top:-1px;width:34%;height:3px;background:var(--ah-gold);border-radius:2px}
.ah .show-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ah .show .ph{position:relative;aspect-ratio:16/11;border-radius:20px;overflow:hidden;box-shadow:var(--ah-shadow)}
.ah .show .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ah-ease)}
.ah .show .ph:hover img{transform:scale(1.05)}
.ah .play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.ah .play .pbtn{width:84px;height:84px;border-radius:50%;background:rgba(251,248,242,.92);display:grid;place-items:center;box-shadow:var(--ah-shadow);transition:transform .4s var(--ah-ease)}
.ah .play .pbtn svg{margin-left:5px}
.ah .show .ph:hover .pbtn{transform:scale(1.1)}
.ah .checks{list-style:none;margin:26px 0 34px;display:grid;gap:13px}
.ah .checks li{display:flex;gap:14px;align-items:flex-start;font-size:16px}
.ah .checks .tick{flex:none;width:22px;height:22px;border-radius:50%;background:rgba(126,145,118,.16);color:var(--ah-sage-deep);display:grid;place-items:center;font-size:12px;margin-top:2px}
.ah .duo{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:64px}
.ah .duo-card{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:20px;padding:38px 36px;transition:all .4s var(--ah-ease)}
.ah .duo-card:hover{box-shadow:var(--ah-shadow);transform:translateY(-4px)}
.ah .duo-card .ic{width:44px;height:44px;color:var(--ah-gold);margin-bottom:20px}
.ah .duo-card h3{font-size:23px;font-weight:500;margin-bottom:10px}
.ah .duo-card p{font-size:15px;margin-bottom:24px}
.ah .team{background:var(--ah-linen)}
.ah .tcard{text-align:left}
.ah .tcard .ph{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;margin-bottom:18px;background:linear-gradient(150deg,#E9E0CD,#C8BD9F)}
.ah .tcard .ph[data-initials]::after{content:attr(data-initials);position:absolute;inset:0;display:grid;place-items:center;font-family:'Newsreader',serif;font-size:54px;color:rgba(31,46,77,.32);font-weight:300}
.ah .tcard .ph img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ah-ease)}
.ah .tcard:hover .ph img{transform:scale(1.05)}
.ah .tcard-cta{display:flex;align-items:center;background:var(--ah-ink);border-radius:18px;padding:34px 36px;color:rgba(255,255,255,.82)}
.ah .tcard-cta h3{color:#fff;font-size:23px;margin-bottom:10px}
/* main.css ma `p{color:var(--txt)=#323232}` (specyf. 1) — to BIJE dziedziczenie bialego
   z .tcard-cta, wiec akapit byl ciemny na granatowym tle. Kolor ustawiamy wprost. */
.ah .tcard-cta p{font-size:14.5px;margin-bottom:22px;line-height:1.55;color:rgba(255,255,255,.86)}
.ah .tcard-cta .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.ah .tcard-cta .btn-ghost:hover{background:#fff;color:var(--ah-ink);border-color:#fff}
.ah .tcard h3{font-size:19px;font-weight:500;margin-bottom:3px}
.ah .tcard .role{font-size:13px;color:var(--ah-gold);font-weight:600;letter-spacing:.04em}
.ah .tcard .socials{display:flex;gap:10px;margin-top:12px}
.ah .tcard .socials a{width:34px;height:34px;border-radius:50%;border:1px solid var(--ah-line);display:grid;place-items:center;color:var(--ah-ink-soft);transition:all .3s}
.ah .tcard .socials a:hover{background:var(--ah-ink);color:#fff;border-color:var(--ah-ink)}
/* Doradcy — linki kontaktowe w kartach .tcard (podstrona Finansowanie) */
.ah .tcard .dlinks{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ah .tcard .dlinks a{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;color:var(--ah-ink);text-decoration:none;transition:color .25s}
.ah .tcard .dlinks a svg{width:17px;height:17px;flex:none;color:var(--ah-gold);stroke:currentColor}
.ah .tcard .dlinks a:hover{color:var(--ah-gold)}
.ah .adv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px}
@media(max-width:700px){.ah .adv-grid{grid-template-columns:1fr}}
.ah .values-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ah .values .ph{aspect-ratio:4/4.4;border-radius:300px 300px 20px 20px;overflow:hidden;box-shadow:var(--ah-shadow);position:relative}
.ah .values .ph img{width:100%;height:100%;object-fit:cover}
.ah .values blockquote{font-family:'Newsreader',serif;font-size:21px;font-style:normal;color:var(--ah-ink);border-left:2px solid var(--ah-gold);padding-left:22px;margin:24px 0 28px;line-height:1.5}
.ah .partner{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:var(--ah-ink);background:var(--ah-paper);border:1px solid var(--ah-line);padding:10px 18px;border-radius:999px;margin-bottom:22px}
.ah .partner .heart{color:#C2533F}
.ah .faq{background:var(--ah-ink);color:rgba(255,255,255,.78)}
.ah .faq h2,.ah .faq h3{color:#fff}
.ah .faq .eyebrow{color:var(--ah-gold-soft)}
.ah .faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
/* reset białej karty z .ah details (prototyp inwestycji) — na ciemnym FAQ tylko linie */
.ah .faq details{background:transparent;border:none;border-radius:0;box-shadow:none;margin:0;overflow:visible;border-bottom:1px solid rgba(255,255,255,.14)}
.ah .faq details:first-child{border-top:1px solid rgba(255,255,255,.14)}
.ah .faq summary{cursor:pointer;list-style:none;padding:24px 0;font-weight:600;color:#fff;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:'Manrope'}
.ah .faq summary::-webkit-details-marker{display:none}
.ah .faq summary::after{content:"+";font-family:'Newsreader',serif;font-size:26px;color:var(--ah-gold-soft);transition:transform .3s var(--ah-ease)}
.ah .faq details[open] summary::after{transform:rotate(45deg)}
.ah .faq details p{padding:0 0 24px;font-size:15px;max-width:600px}
.ah .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.ah .c-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--ah-line);font-size:15.5px}
.ah .c-item:last-child{border:none}
.ah .c-item .ic{flex:none;width:42px;height:42px;border-radius:50%;background:var(--ah-linen);display:grid;place-items:center;color:var(--ah-gold)}
.ah .c-item b{display:block;color:var(--ah-ink);font-size:16px}
.ah .c-socials{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.ah .c-social{width:44px;height:44px;border-radius:50%;border:1px solid var(--ah-line);display:grid;place-items:center;color:var(--ah-ink);transition:all .25s var(--ah-ease)}
.ah .c-social:hover{background:var(--ah-gold);border-color:var(--ah-gold);color:#fff}
.ah .c-social svg{width:18px;height:18px;fill:currentColor}
.ah .form{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:20px;padding:44px;box-shadow:var(--ah-shadow)}
.ah .f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ah .fld{margin-bottom:18px}
.ah .fld label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ah-ink);margin-bottom:8px}
.ah .fld input,.ah .fld select,.ah .fld textarea{width:100%;border:1px solid var(--ah-line);border-radius:10px;padding:14px 16px;font:inherit;font-size:15px;background:#fff;color:var(--ah-ink);transition:border .3s,box-shadow .3s}
.ah .fld :is(input,select,textarea):focus{outline:none;border-color:var(--ah-gold);box-shadow:0 0 0 3px rgba(176,140,79,.15)}
.ah .consent{display:flex;gap:10px;font-size:12.5px;margin:6px 0 22px;align-items:flex-start}
.ah .consent input{margin-top:3px}
.ah .cta{position:relative;border-radius:24px;overflow:hidden;text-align:center;padding:96px 32px}
.ah .cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ah .cta::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(31,46,77,.55),rgba(31,46,77,.62));z-index:1}
.ah .cta-in{position:relative;z-index:2;color:#fff}
.ah .cta h2{color:#fff;font-size:clamp(30px,4vw,48px)}
.ah .cta h2 em{color:var(--ah-gold-soft)}
.ah .cta p{max-width:520px;margin:16px auto 30px;color:rgba(255,255,255,.85)}
.ah .gstars{color:var(--ah-gold);letter-spacing:2px;font-size:15px}
.ah .ocard{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:18px;padding:30px 32px;transition:all .4s var(--ah-ease)}
.ah .ocard:hover{box-shadow:var(--ah-shadow);transform:translateY(-4px)}
.ah .ocard .gtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ah .ocard .glogo{width:30px;height:30px;border-radius:50%;border:1px solid var(--ah-line);display:grid;place-items:center;font-family:'Newsreader',serif;font-weight:600;color:var(--ah-gold);font-size:17px}
.ah .ocard p{font-size:15.5px;color:var(--ah-ink);line-height:1.6;margin-bottom:18px}
.ah .ocard .oname{font-family:'Manrope',sans-serif;font-weight:700;font-size:14.5px;color:var(--ah-ink);margin-bottom:3px}
.ah .ocard .ometa{font-size:12.5px;color:var(--ah-stone);letter-spacing:.03em}
/* Masonry dla opinii (różna długość) — CSS columns, karty nie łamią się w środku */
.ah .opinie-masonry{columns:3;column-gap:24px}
.ah .opinie-masonry .ocard{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 24px;display:inline-block;width:100%}
@media(max-width:1000px){.ah .opinie-masonry{columns:2}}
@media(max-width:640px){.ah .opinie-masonry{columns:1}}
.ah .ncard{display:block;transition:all .4s var(--ah-ease)}
.ah .ncard .ph{aspect-ratio:16/11;border-radius:16px;overflow:hidden;margin-bottom:16px;background:linear-gradient(150deg,#E9E0CD,#C8BD9F)}
.ah .ncard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ah-ease)}
.ah .ncard:hover .ph img{transform:scale(1.05)}
.ah .ncard .ndate{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ah-gold);margin-bottom:8px}
.ah .ncard h3{font-size:20px;font-weight:500;line-height:1.25}
.ah .ncard:hover h3{color:var(--ah-gold)}
.ah .ncard .nexc{margin-top:10px;font-size:14.5px;line-height:1.6;color:var(--ah-ink-soft)}
.ah .process{background:var(--ah-linen)}
.ah .timeline{margin-top:60px;position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:0 clamp(40px,6vw,110px)}
.ah .timeline-track{display:grid;grid-template-columns:repeat(6,1fr);gap:30px;position:relative}
.ah .timeline-track::before{content:"";position:absolute;top:22px;left:0;right:0;height:2px;background:var(--ah-gold-soft);opacity:.55}
.ah .tstep{position:relative;padding-top:64px}
/* Kropka .node USUNIETA — jej role wezla na osi przejela ikona kroku (.pico).
   Wczesniej na jeden krok przypadaly 3 symbole (kropka + ikona + numer) — za duzo. */
.ah .tstep .node{display:none}
/* ikona = wezel osi: kolo na linii, tlo maskuje przechodzaca kreske */
.ah .tstep .pico{position:absolute;top:0;left:0;z-index:2;width:46px;height:46px;border-radius:50%;
  background:var(--ah-linen);border:2px solid var(--ah-gold);display:grid;place-items:center;
  color:var(--ah-gold);transition:background .35s var(--ah-ease),box-shadow .35s var(--ah-ease)}
.ah .tstep .pico svg{width:22px;height:22px;display:block}
.ah .tstep:hover .pico{background:rgba(176,140,79,.16);box-shadow:0 0 0 6px rgba(176,140,79,.13)}
.ah .tstep .pn{font-family:'Newsreader',serif;font-size:15px;font-weight:500;letter-spacing:.18em;color:var(--ah-gold);margin-bottom:8px}
.ah .tstep h3{font-size:18px;font-weight:500;margin-bottom:9px;line-height:1.2}
.ah .tstep p{font-size:13.5px;line-height:1.55}
@media(max-width:1000px){
.ah .timeline{padding:0 28px}
.ah .timeline-track{grid-template-columns:1fr;gap:0}
.ah .timeline-track::before{top:0;bottom:0;left:22px;right:auto;width:2px;height:auto}
.ah .tstep{padding:0 0 36px 62px}
.ah .tstep:last-child{padding-bottom:0}
.ah .tstep .pico{top:-2px;left:0;width:44px;height:44px}
.ah .tstep h3{font-size:19px}
.ah .tstep p{font-size:14.5px;max-width:560px}
}
.ah footer{background:var(--ah-linen-deep);border-top:1px solid var(--ah-line);padding:70px 0 0;font-size:14.5px}
.ah .f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px;padding-bottom:54px}
.ah .f-grid h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ah-gold);margin-bottom:18px;font-weight:700}
.ah .f-grid a{display:block;padding:5px 0;color:var(--ah-ink-soft);transition:color .3s}
.ah .f-grid a:hover{color:var(--ah-ink)}
.ah .f-bottom{border-top:1px solid var(--ah-line);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.ah .mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(251,248,242,.94);backdrop-filter:blur(12px);border-top:1px solid var(--ah-line)}
.ah .mbar .btn{flex:1;justify-content:center;padding:13px 10px;font-size:14px}
@media(max-width:1000px){
.ah section{padding:74px 0}
.ah .nav-links{display:none}
.ah .burger{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ah-line);border-radius:10px;background:transparent;cursor:pointer}
.ah .hero-title h1{white-space:normal;font-size:clamp(46px,13vw,90px)}
.ah .hero-stage{margin-top:18px;height:64vw;min-height:360px}
.ah .hero-tag{max-width:62%}
.ah .hero-tag p{font-size:15px}
.ah .hero-card{padding:13px 16px}
.ah .hero-card .big{font-size:26px}
.ah .hero-card .txt{display:none}
.ah .hero-actions .btn{padding:12px 18px;font-size:13px}
.ah .grid3{grid-template-columns:1fr 1fr;gap:18px}
.ah .show-grid,.ah .values-grid,.ah .contact-grid,.ah .faq-grid{grid-template-columns:1fr;gap:40px}
.ah .duo{grid-template-columns:1fr}
.ah .team .grid3{grid-template-columns:1fr 1fr}
.ah .f-grid{grid-template-columns:1fr 1fr}
.ah .f-row{grid-template-columns:1fr}
.ah .mbar{display:flex}
.ah:last-child{padding-bottom:72px}
}
@media(max-width:560px){
.ah .grid3,.ah .team .grid3{grid-template-columns:1fr}
.ah .hero-card{display:none}
}

/* ===== Karta inwestycji (inwestycja_5) — unikalne ===== */
.ah .ihero{position:relative;height:80svh;min-height:560px;max-height:920px;overflow:hidden}
.ah .ihero-bg{position:absolute;left:0;right:0;top:-10%;bottom:-10%;z-index:0;will-change:transform}
.ah .ihero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 58%}
.ah .ihero-status{position:absolute;top:102px;right:28px;z-index:3}
.ah .ihero-panel{position:absolute;left:0;bottom:0;z-index:2;background:var(--ah-paper);border-radius:0 26px 0 0;max-width:740px;padding:40px 60px 34px max(28px, calc((100vw - 1180px)/2 + 28px));box-shadow:0 -16px 50px -28px rgba(31,46,77,.25)}
.ah .ihero-panel::before{content:"";position:absolute;left:0;top:0;width:84px;height:3px;background:var(--ah-gold);border-radius:0 3px 3px 0}
.ah .backlink{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ah-ink-soft);margin-bottom:18px;opacity:.85;transition:color .3s}
.ah .backlink:hover{color:var(--ah-gold)}
.ah .ihero h1{font-size:clamp(36px,4.4vw,56px);font-weight:300}
.ah .ihero .loc{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:16px;color:var(--ah-ink)}
.ah .status{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:9px 18px;border-radius:999px;white-space:nowrap}
.ah .st-av{background:rgba(126,145,118,.95);color:#fff;box-shadow:0 6px 20px -8px rgba(31,46,77,.4)}
.ah .facts-wrap{position:relative;z-index:3;margin-top:42px}
.ah .facts{display:flex;border:1px solid var(--ah-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--ah-shadow)}
.ah .facts div{flex:1;padding:22px 24px;border-left:1px solid var(--ah-line);text-align:center}
.ah .facts div:first-child{border:none}
.ah .facts b{display:block;font-family:'Newsreader',serif;font-size:21px;color:var(--ah-ink);font-weight:500}
.ah .facts span{font-size:12px;letter-spacing:.05em}
.ah .in .wings path{animation:wdraw 1.6s var(--ah-ease) forwards}
@keyframes wdraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){
.ah .wings path{stroke-dashoffset:0;animation:none}
}
.ah .gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:230px 230px;gap:14px;margin-top:10px}
.ah .ph{position:relative;background:linear-gradient(150deg,#E9E0CD,#D8CBAF 55%,#C8BD9F);border-radius:16px;overflow:hidden}
.ah .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ah-ease)}
.ah .ph:hover img{transform:scale(1.05)}
.ah .gal .ph:first-child{grid-row:span 2}
.ah .gal .more{position:absolute;right:14px;bottom:14px;background:rgba(251,248,242,.92);color:var(--ah-ink);font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;z-index:2}
.ah .plan{background:var(--ah-linen)}
.ah .plan-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.ah .planbox{background:#F8F3E9;border:1px solid var(--ah-line);border-radius:20px;padding:20px;position:sticky;top:100px}
.ah .planbox svg{width:100%;display:block}
.ah .lot{cursor:pointer}
.ah .lot rect.house{transition:all .3s var(--ah-ease);stroke:#fff;stroke-width:2}
.ah .lot .garden{opacity:.35}
.ah .lot text{font-family:'Manrope';font-weight:700;font-size:13px;fill:#fff;pointer-events:none}
.ah .lot.av rect.house{fill:var(--ah-sage)}
.ah .lot.rs rect.house{fill:var(--ah-gold)}
.ah .lot.sd rect.house{fill:var(--ah-stone)}
.ah .lot.hl rect.house,.ah .lot:hover rect.house{filter:brightness(.88);stroke:var(--ah-ink)}
.ah .plan-legend{display:flex;gap:18px;font-size:12.5px;font-weight:600;margin-top:14px;flex-wrap:wrap}
.ah .plan-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:7px}
.ah .tooltip{position:absolute;background:var(--ah-ink);color:#fff;font-size:13px;padding:10px 14px;border-radius:10px;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap;z-index:5}
.ah .tooltip b{color:var(--ah-gold-soft)}
.ah table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--ah-shadow);font-size:14.5px}
.ah thead th{background:var(--ah-ink);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:15px 14px;text-align:left;font-weight:700}
.ah tbody td{padding:15px 14px;border-top:1px solid var(--ah-line);color:var(--ah-ink-soft)}
.ah tbody tr{transition:background .25s;cursor:pointer}
.ah tbody tr:hover,.ah tbody tr.hl{background:rgba(176,140,79,.08)}
.ah tbody tr.sold{opacity:.5}
.ah td b{color:var(--ah-ink);font-weight:700}
.ah td .price,.ah td.price{font-family:'Newsreader',serif;font-size:17px;color:var(--ah-ink);white-space:nowrap}
.ah .dotst{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700}
.ah .dotst i{width:8px;height:8px;border-radius:50%}
.ah .tbl-note{font-size:12.5px;margin-top:14px;max-width:640px}
.ah .ask{font-size:12.5px;font-weight:700;color:var(--ah-gold);white-space:nowrap}
.ah .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.ah .amen{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.ah .amen li{display:flex;gap:11px;align-items:center;font-size:15px;background:#fff;border:1px solid var(--ah-line);border-radius:10px;padding:12px 16px}
.ah .amen .tick{color:var(--ah-sage-deep);font-weight:700}
.ah .dist{background:var(--ah-linen);border-radius:20px;padding:34px 36px}
.ah .dist h3{font-size:20px;margin-bottom:18px;font-weight:500}
.ah .d-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px dashed var(--ah-line);font-size:15px}
.ah .d-row:last-child{border:none}
.ah .d-row b{color:var(--ah-ink);font-family:'Newsreader',serif;font-weight:500}
.ah .proc{background:var(--ah-linen)}
.ah .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;position:relative}
.ah .steps::before{content:"";position:absolute;top:27px;left:12%;right:12%;height:1px;background:var(--ah-gold-soft)}
.ah .step{text-align:center;padding:0 18px;position:relative}
.ah .step .n{width:54px;height:54px;border-radius:50%;background:var(--ah-paper);border:1px solid var(--ah-gold);color:var(--ah-gold);font-family:'Newsreader',serif;font-size:20px;display:grid;place-items:center;margin:0 auto 18px;position:relative;z-index:1}
.ah .step h3{font-size:18px;font-weight:500;margin-bottom:8px}
.ah .step p{font-size:14px}
.ah .dl{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.ah .dl a{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--ah-line);border-radius:var(--ah-radius);padding:16px 22px;font-weight:600;font-size:14.5px;color:var(--ah-ink);transition:all .3s var(--ah-ease)}
.ah .dl a:hover{box-shadow:var(--ah-shadow);transform:translateY(-2px)}
.ah .dl .ext{font-size:11px;color:var(--ah-gold);font-weight:700;letter-spacing:.08em}
.ah details{background:#fff;border:1px solid var(--ah-line);border-radius:var(--ah-radius);margin-bottom:12px;overflow:hidden}
.ah summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:700;color:var(--ah-ink);font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.ah summary::-webkit-details-marker{display:none}
.ah summary::after{content:"+";font-family:'Newsreader',serif;font-size:24px;color:var(--ah-gold);transition:transform .3s var(--ah-ease)}
.ah details[open] summary::after{transform:rotate(45deg)}
.ah details p{padding:0 24px 22px;font-size:15px}
.ah .band{background:var(--ah-linen-deep);border-radius:24px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.ah .band h2{font-size:clamp(26px,3vw,36px);font-weight:400;max-width:540px}
.ah .lform-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
@media(max-width:960px){
.ah section{padding:68px 0}
.ah .nav-links{display:none}
.ah .ihero{min-height:500px;height:66svh}
.ah .ihero-panel{max-width:none;right:0;border-radius:22px 22px 0 0;padding:26px 24px 22px}
.ah .ihero-status{top:92px;right:16px;font-size:10px;padding:8px 13px}
.ah .ihero h1{font-size:32px}
.ah .plan-grid,.ah .about-grid,.ah .lform-grid{grid-template-columns:1fr;gap:40px}
.ah .planbox{position:static}
.ah .gal{grid-template-columns:1fr;grid-template-rows:260px 180px 180px}
.ah .gal .ph:first-child{grid-row:auto}
.ah .steps{grid-template-columns:1fr 1fr;gap:36px 14px}
.ah .steps::before{display:none}
.ah .facts{flex-wrap:wrap}
.ah .facts div{flex:1 1 40%;border-left:none;border-top:1px solid var(--ah-line)}
.ah .facts div:first-child{border-top:none}
.ah .facts div:nth-child(2){border-top:none}
.ah .tbl-scroll{overflow-x:auto;border-radius:16px}
.ah table{min-width:760px}
.ah .amen{grid-template-columns:1fr}
.ah .band{padding:38px 28px}
.ah .f-row{grid-template-columns:1fr}
.ah .form{padding:30px 24px}
.ah .mbar{display:flex}
.ah:last-child{padding-bottom:72px}
}

/* ===== Wykończenie pod klucz (wykonczenie_4) — unikalne ===== */
.ah .subhero{padding:150px 0 0}
.ah .subhero .crumb{font-size:13px;font-weight:600;color:var(--ah-ink-soft);margin-bottom:22px}
.ah .subhero .crumb a{color:var(--ah-gold)}
.ah .subhero .crumb span{margin:0 8px;color:var(--ah-stone)}
.ah .subhero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.ah .subhero h1{font-size:clamp(36px,4.4vw,56px);font-weight:300}
.ah .subhero .lead{max-width:none;font-size:17px;margin-top:20px}
.ah .subhero .ph{aspect-ratio:16/10;border-radius:20px;overflow:hidden;box-shadow:var(--ah-shadow)}
.ah .subhero .ph img{width:100%;height:100%;object-fit:cover}
.ah .incl{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin-top:8px}
.ah .incl li{list-style:none;display:flex;gap:13px;align-items:flex-start;font-size:15.5px}
.ah .incl .tick{flex:none;width:22px;height:22px;border-radius:50%;background:rgba(126,145,118,.16);color:var(--ah-sage-deep);display:grid;place-items:center;font-size:12px;margin-top:2px}
.ah .gallery-fw{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ah .gallery-fw .ph{aspect-ratio:16/10;overflow:hidden;position:relative}
.ah .gallery-fw .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ah-ease)}
.ah .gallery-fw .ph:hover img{transform:scale(1.05)}
/* Galeria realizacji „wykończenie pod klucz" — więcej kolumn, mniejsze miniaturki, klikalne */
.ah .wyk-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.ah .wyk-thumb{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;position:relative;background:var(--ah-linen);box-shadow:0 1px 3px rgba(30,30,40,.06)}
.ah .wyk-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ah-ease)}
.ah .wyk-thumb:hover img{transform:scale(1.07)}
@media(max-width:900px){.ah .wyk-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}}
@media(max-width:560px){.ah .wyk-gallery{grid-template-columns:repeat(2,1fr);gap:8px}}
/* Lightbox (nakładka poza .ah — dołączana do <body> przez JS) */
.ah-lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(22,20,24,.93);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;padding:20px}
.ah-lightbox.open{opacity:1;visibility:visible}
.ah-lightbox__stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%}
.ah-lightbox__stage img{max-width:min(1100px,92vw);max-height:84vh;object-fit:contain;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.ah-lightbox__count{color:rgba(255,255,255,.72);font-family:'Manrope',sans-serif;font-size:13px;letter-spacing:.08em}
.ah-lightbox__close,.ah-lightbox__nav{position:absolute;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s,transform .2s;-webkit-appearance:none;appearance:none}
.ah-lightbox__close:hover,.ah-lightbox__nav:hover{background:rgba(255,255,255,.24)}
.ah-lightbox__close{top:18px;right:18px;width:46px;height:46px;font-size:28px}
.ah-lightbox__nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:34px;padding-bottom:3px}
.ah-lightbox__prev{left:18px}
.ah-lightbox__next{right:18px}
.ah-lightbox__nav:hover{transform:translateY(-50%) scale(1.06)}
@media(max-width:560px){.ah-lightbox__nav{width:44px;height:44px;font-size:28px}.ah-lightbox__close{width:42px;height:42px;top:12px;right:12px}.ah-lightbox__prev{left:8px}.ah-lightbox__next{right:8px}}
.ah .variants{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.ah .vcard{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:20px;padding:34px 32px;display:flex;flex-direction:column;transition:all .4s var(--ah-ease)}
.ah .vcard:hover{box-shadow:var(--ah-shadow);transform:translateY(-5px)}
.ah .vcard.featured{border-color:var(--ah-gold);box-shadow:0 0 0 3px rgba(176,140,79,.12)}
.ah .vcard .vtag{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ah-gold);margin-bottom:10px}
.ah .vcard h3{font-size:25px;font-weight:500;margin-bottom:6px}
.ah .vcard .vprice{font-family:'Newsreader',serif;font-size:23px;color:var(--ah-ink);font-weight:500;margin:4px 0 20px}
.ah .vcard .vprice small{display:block;font-family:'Manrope';font-size:12px;color:var(--ah-ink-soft);font-weight:500;letter-spacing:.02em;margin-top:3px}
.ah .vcard ul{list-style:none;display:grid;gap:9px;margin-bottom:24px}
.ah .vcard li{display:flex;gap:11px;font-size:14px;align-items:flex-start;line-height:1.45}
.ah .vcard li::before{content:"—";color:var(--ah-gold);flex:none}
.ah .vcard .btn{margin-top:auto}
.ah .featured-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--ah-gold);color:#fff;padding:4px 10px;border-radius:999px;margin-left:10px;vertical-align:middle}
.ah .twocol{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
.ah .infobox{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:18px;padding:34px 36px}
.ah .infobox h3{font-size:20px;font-weight:500;margin-bottom:16px}
.ah .infobox ul{list-style:none;display:grid;gap:11px}
.ah .infobox li{display:flex;gap:12px;font-size:15px;align-items:flex-start;line-height:1.5}
.ah .infobox li .tick{flex:none;width:20px;height:20px;border-radius:50%;background:rgba(126,145,118,.16);color:var(--ah-sage-deep);display:grid;place-items:center;font-size:11px;margin-top:2px}
.ah .chips-wrap{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.ah .mchip{font-size:14px;font-weight:600;color:var(--ah-ink);background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:999px;padding:11px 20px}
@media(max-width:1000px){
.ah .subhero-grid,.ah .twocol{grid-template-columns:1fr;gap:36px}
.ah .variants{grid-template-columns:1fr}
.ah .incl{grid-template-columns:1fr}
.ah .gallery-fw{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.ah .gallery-fw{grid-template-columns:1fr}
}
.ah .wform-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.ah .wform-grid .intro .lead{max-width:none}
.ah .pkg-note{background:var(--ah-linen);border-radius:14px;padding:20px 24px;margin-top:24px;font-size:14px;line-height:1.6}
.ah .pkg-note b{color:var(--ah-ink)}
.ah .wform{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:20px;padding:42px;box-shadow:var(--ah-shadow)}
.ah .pkg-choose{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:8px}
.ah .pkg-opt{position:relative}
.ah .pkg-opt input{position:absolute;opacity:0;pointer-events:none}
.ah .pkg-opt label{display:block;text-align:center;border:1px solid var(--ah-line);border-radius:12px;padding:14px 8px;cursor:pointer;transition:all .25s var(--ah-ease);background:#fff}
.ah .pkg-opt label .pt{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ah-stone);margin-bottom:3px}
.ah .pkg-opt label .pv{font-family:'Newsreader',serif;font-size:17px;color:var(--ah-ink);font-weight:500}
.ah .pkg-opt input:checked + label{border-color:var(--ah-gold);background:rgba(176,140,79,.08);box-shadow:0 0 0 2px rgba(176,140,79,.18)}
.ah .wfld{margin-bottom:16px}
.ah .wfld label.fl{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ah-ink);margin-bottom:8px}
.ah .wfld input,.ah .wfld textarea{width:100%;border:1px solid var(--ah-line);border-radius:10px;padding:14px 16px;font:inherit;font-size:15px;background:#fff;color:var(--ah-ink);transition:border .3s,box-shadow .3s}
.ah .wfld :is(input,.ah textarea):focus{outline:none;border-color:var(--ah-gold);box-shadow:0 0 0 3px rgba(176,140,79,.15)}
.ah .wrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ah .check-extra{display:flex;gap:12px;align-items:flex-start;background:var(--ah-linen);border:1px solid var(--ah-line);border-radius:12px;padding:16px 18px;margin:6px 0 18px;cursor:pointer}
.ah .check-extra input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--ah-gold)}
.ah .check-extra .ct{font-size:14.5px;line-height:1.45}
.ah .check-extra .ct b{color:var(--ah-ink)}
.ah .extra-panel{max-height:0;overflow:hidden;transition:max-height .4s var(--ah-ease)}
.ah .extra-panel.open{max-height:260px}
.ah .mchips-mini{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 20px}
.ah .mchip-mini{font-size:12.5px;font-weight:600;color:var(--ah-ink-soft);background:#fff;border:1px solid var(--ah-line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:all .2s;user-select:none}
.ah .mchip-mini.on{background:var(--ah-ink);color:#fff;border-color:var(--ah-ink)}
.ah .consent2{display:block;position:relative;padding-left:28px;font-size:12.5px;margin:4px 0 20px;line-height:1.5}
.ah .consent2 input{position:absolute;left:0;top:2px;accent-color:var(--ah-gold)}
.ah .consent2 a{color:var(--ah-gold);text-decoration:underline}
@media(max-width:1000px){
.ah .wform-grid{grid-template-columns:1fr;gap:38px}
.ah .wform{padding:30px 24px}
.ah .pkg-choose{grid-template-columns:1fr}
.ah .wrow{grid-template-columns:1fr}
}
.ah .icar{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;position:relative;padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ah .icar-track{display:flex;gap:20px;width:max-content;animation:icar 34s linear infinite}
.ah .icar:hover .icar-track{animation-play-state:paused}
@keyframes icar{to{transform:translateX(calc(-50% - 10px))}}
@media (prefers-reduced-motion: reduce){
.ah .icar-track{animation:none;flex-wrap:nowrap;overflow-x:auto}
}
.ah .icell{flex:0 0 300px;background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:18px;padding:30px 32px;display:flex;gap:18px;align-items:flex-start;transition:all .35s var(--ah-ease)}
.ah .icell:hover{box-shadow:var(--ah-shadow);transform:translateY(-4px)}
.ah .icell .iic{flex:none;width:52px;height:52px;border-radius:14px;background:rgba(176,140,79,.12);display:grid;place-items:center;color:var(--ah-gold)}
.ah .icell .iic svg{width:26px;height:26px}
.ah .icell h4{font-family:'Manrope';font-size:15px;font-weight:700;color:var(--ah-ink);margin-bottom:5px;line-height:1.25}
.ah .icell p{font-size:13px;line-height:1.5;color:var(--ah-ink-soft)}


/* ===== HERO „Nieruchomości z miłości" — układ SPLIT (wideo prawo, tekst lewo) =====
   Stary układ „wyśrodkowana karta": _backup_redesign/hero-centered-BACKUP.md */
.ah .ahero{position:relative;overflow:hidden;height:100vh;height:100svh;min-height:620px;
  background:radial-gradient(130% 100% at 12% 18%, #eef3fb 0%, #dfe8f6 46%, #cdd8ee 100%)}

/* wideo — pełnoekranowe, treść po PRAWEJ; lewa krawędź wygaszona (wtapia się w jasne niebo) */
.ah .ahero--split .ahero__media{position:absolute;inset:0;z-index:1}
.ah .ahero--split .ahero__media video,
.ah .ahero--split .ahero__media img{width:100%;height:100%;object-fit:cover;object-position:72% center;display:block;
  -webkit-mask-image:linear-gradient(100deg, transparent 5%, rgba(0,0,0,.14) 24%, #000 48%);
          mask-image:linear-gradient(100deg, transparent 5%, rgba(0,0,0,.14) 24%, #000 48%)}
/* miękki scrim po lewej — biały nagłówek pozostaje czytelny (wideo bywa jasne, np. okno kuchni) */
.ah .ahero--split::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(100deg, rgba(31,46,77,.5) 0%, rgba(31,46,77,.28) 26%, rgba(31,46,77,.08) 44%, transparent 58%)}

.ah .ahero--split .wrap{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.ah .ahero--split .ahero__panel{max-width:min(620px,54%);display:flex;flex-direction:column;align-items:flex-start;padding:70px 0 0}
.ah .ahero--split .ahero__title{position:static;text-align:left;pointer-events:none}
.ah .ahero--split .ahero__title h1{display:block;text-align:left;font-family:'Newsreader',serif;font-weight:300;
  line-height:.9;letter-spacing:-.02em;color:#fff;text-shadow:0 6px 40px rgba(31,46,77,.35)}
/* .l1 jawnie biały (main.css span{color:var(--txt)} przebija dziedziczenie) */
.ah .ahero--split .ahero__title .l1{display:block;text-align:left;font-size:clamp(44px,6.6vw,104px);
  text-transform:uppercase;color:#fff;white-space:nowrap;letter-spacing:-.01em}
.ah .ahero--split .ahero__title .l2{display:block;text-align:left;font-size:clamp(38px,5.4vw,82px);
  color:#fff;font-style:italic;margin-top:clamp(-6px,-.2vw,6px);text-shadow:0 5px 30px rgba(31,46,77,.4);
  animation:ahL2In 1s var(--ah-ease) .4s both}
/* krótki lead pod tytułem — mówi wprost czym się zajmujemy (uwaga klientki) */
.ah .ahero--split .ahero__lead{max-width:34ch;margin-top:clamp(16px,2.2vh,26px);color:rgba(255,255,255,.94);
  font-family:'Manrope',sans-serif;font-size:clamp(15px,1.15vw,18px);line-height:1.6;font-weight:500;
  text-shadow:0 3px 18px rgba(31,46,77,.5);animation:ahL2In 1s var(--ah-ease) .55s both}
.ah .ahero--split .ahero__cta{position:static;margin-top:clamp(24px,3.4vh,40px);z-index:4;display:flex;flex-wrap:wrap;gap:12px}
.ah .ahero--split .ahero__cta .btn{background:var(--ah-gold);color:#fff;
  box-shadow:0 16px 40px -14px rgba(176,140,79,.65)}
.ah .ahero--split .ahero__cta .btn:hover{background:#9A7A42}
/* drugie CTA — obrys na szkle, żeby nie konkurowało ze złotym */
.ah .ahero--split .ahero__cta .btn-hero-ghost{background:rgba(255,255,255,.12);color:#fff;
  border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);box-shadow:none}
.ah .ahero--split .ahero__cta .btn-hero-ghost:hover{background:rgba(255,255,255,.22);border-color:#fff}
@keyframes ahL2In{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ah .ahero__title .l2{animation:none}}

.ah .ahero__intro{position:relative;z-index:3;max-width:920px;margin:52px auto 0;text-align:center;
  font-family:'Newsreader',serif;font-weight:300;font-size:clamp(21px,2.5vw,31px);line-height:1.5;color:var(--ah-ink)}
.ah .ahero__intro .muted{color:var(--ah-stone)}

/* --- pióra (2, dolna-lewa strefa) --- */
.ah .feathers-layer{position:absolute;inset:0;z-index:5;pointer-events:none}
.ah .feather{position:absolute;z-index:5;pointer-events:none;will-change:transform;
  filter:drop-shadow(0 20px 24px rgba(31,46,77,.16))}
.ah .feather img{display:block;width:100%;height:auto;
  animation:ahfloat var(--dur,9s) var(--ah-ease) infinite alternate}
.ah .ahero--split .f1{width:118px;left:calc(1% - 50px);top:76%;transform:rotate(-16deg);--dur:8s;--float:-16px}
/* .f2 (duże pióro w środku kadru) usunięte — zostaje f1 po lewej + pióro opadające */
@keyframes ahfloat{
  from{transform:translateY(0) rotate(-1deg)}
  to{transform:translateY(var(--float,-18px)) rotate(1.1deg)}
}
@media (prefers-reduced-motion: reduce){.ah .feather{animation:none}}

/* --- PIÓRO OPADAJĄCE (wzorowane na referencyjnym filmie: swobodny spadek + kołysanie) ---
   Ruch rozbity na 3 warstwy o CELOWO różnych okresach (17 s / 4,3 s / 6,1 s). Ponieważ
   okresy nie są wielokrotnościami, tor kołysania i obrót nigdy nie układają się w widoczną
   pętlę — pióro za każdym razem opada „inaczej", tak jak w naturze.
   Umieszczone nad wideo, po prawej — z dala od nagłówka, CTA i dwóch piór przy dolnej krawędzi. */
.ah .ahero--split .feather-fall{position:absolute;top:0;left:70%;width:86px;z-index:5;pointer-events:none;
  animation:ahFallDown 26s linear infinite}          /* wolniejszy opad (było 17 s) */
.ah .feather-fall__sway{animation:ahFallSway 5.3s ease-in-out infinite alternate}
.ah .feather-fall img{display:block;width:100%;height:auto;opacity:.95;
  filter:drop-shadow(0 14px 20px rgba(31,46,77,.18));
  animation:ahFallSpin 7.4s ease-in-out infinite alternate}
@keyframes ahFallDown{                 /* opadanie: z ponad ekranu do poniżej */
  from{transform:translateY(-26vh)}
  to  {transform:translateY(118vh)}
}
@keyframes ahFallSway{                 /* kołysanie na boki (wahadło) */
  from{transform:translateX(-78px)}
  to  {transform:translateX(78px)}
}
@keyframes ahFallSpin{                 /* przechylanie w trakcie kołysania */
  from{transform:rotate(-24deg)}
  to  {transform:rotate(18deg)}
}
@media(max-width:820px){
  /* na mobile tekst jest wyśrodkowany na górze — pióro spada przy prawej krawędzi */
  .ah .ahero--split .feather-fall{left:auto;right:6%;width:62px}
  @keyframes ahFallSway{from{transform:translateX(-40px)}to{transform:translateX(40px)}}
}
@media (prefers-reduced-motion: reduce){
  .ah .feather-fall,.ah .feather-fall__sway,.ah .feather-fall img{animation:none}
  .ah .feather-fall{display:none}      /* bez ruchu nie wnosi nic — chowamy */
}

/* ===== MOBILE: nagłówek na górze, wideo w tle wypełnia ekran (wygaszenie od GÓRY) ===== */
@media(max-width:820px){
  .ah .ahero--split .ahero__media video,
  .ah .ahero--split .ahero__media img{object-position:center;
    -webkit-mask-image:linear-gradient(to bottom, transparent 1%, rgba(0,0,0,.2) 20%, #000 47%);
            mask-image:linear-gradient(to bottom, transparent 1%, rgba(0,0,0,.2) 20%, #000 47%)}
  .ah .ahero--split::before{background:linear-gradient(to bottom, rgba(31,46,77,.36) 3%, rgba(31,46,77,.12) 30%, transparent 56%)}
  /* mobile: nagłówek + CTA WYŚRODKOWANE; obie linie tej samej (większej) wielkości */
  .ah .ahero--split .wrap{align-items:flex-start}
  .ah .ahero--split .ahero__panel{max-width:100%;padding-top:clamp(96px,14vh,132px);align-items:center;text-align:center}
  .ah .ahero--split .ahero__title{text-align:center}
  .ah .ahero--split .ahero__title h1{text-align:center}
  .ah .ahero--split .ahero__title .l1{text-align:center;font-size:clamp(36px,10vw,64px);white-space:normal;line-height:1.02}
  .ah .ahero--split .ahero__title .l2{text-align:center;font-size:clamp(36px,10vw,64px);margin-top:2px}
  .ah .ahero--split .ahero__lead{text-align:center;max-width:32ch;margin-left:auto;margin-right:auto}
  .ah .ahero--split .ahero__cta{justify-content:center}
  .ah .ahero--split .f1{left:4%;top:64%;width:96px}
  /* (reguła .f2 usunięta razem z elementem) */
}
@media(max-width:520px){
  .ah .ahero--split .ahero__cta .btn{padding:12px 20px;font-size:13px}
}


/* ============================================================
   NAGŁÓWEK redesign (.ahnav) — strona główna.
   Używa istniejącego komponentu mainMenu (klasy .header__*),
   tylko nowy wygląd. Fixed nad hero, frosted po przewinięciu.
   ============================================================ */
.ah .ahnav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s var(--ah-ease),box-shadow .35s var(--ah-ease),border-color .35s var(--ah-ease);border-bottom:1px solid transparent}
.ah .ahnav--solid{background:rgba(251,248,242,.85);backdrop-filter:blur(14px);border-bottom-color:var(--ah-line)}
.ah .ahnav__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px;max-width:1240px;margin:0 auto;padding:0 32px}

/* logo */
.ah .ahnav__logo{display:flex;align-items:center;gap:11px;flex:none}
.ah .ahnav__logo img{height:38px;width:auto;display:block}
.ah .ahnav__logo .name{font-family:'Newsreader',serif;font-size:21px;letter-spacing:.30em;color:var(--ah-ink);font-weight:500;line-height:1}
.ah .ahnav__logo .name small{display:block;font-family:'Manrope';font-size:9px;letter-spacing:.55em;color:var(--ah-gold);font-weight:700;margin-top:2px}

/* menu (mainMenu output) */
.ah .ahnav__nav{margin-left:auto}
.ah .ahnav .header__menuList{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.ah .ahnav .header__menuItem{position:relative}
.ah .ahnav .header__menuLink{display:inline-flex;align-items:center;gap:6px;position:relative;padding:8px 0;
  font-family:'Manrope',sans-serif;font-size:14.5px;font-weight:600;color:var(--ah-ink);white-space:nowrap;
  text-transform:none;transition:color .25s var(--ah-ease)}   /* main.css narzuca var(--menuTransform)=uppercase — reset */
.ah .ahnav .header__menuLink span{text-transform:capitalize;font-size:16px}   /* main.css: span=1.125rem(18px) → 16px; ujednolicona kapitalizacja */
.ah .ahnav .header__menuLink > svg{display:none}                 /* ukryj ikonki menu w desktopie */
/* strzalka dropdownu: rysujemy WLASNY chevron na .arrow (box z obramowaniem),
   a natywny pseudo-chevron main.css (.arrow::after, bialy → niewidoczny + nachodzi) wylaczamy. */
/* Motyw ma menu w trybie „icons-above" — main.css nadaje strzałce ujemne marginesy
   (margin:-15px 0 -25px), przez co „O firmie" zapada się i chevron nachodzi na tekst.
   Podbijamy specyficzność (menuList+menuItem+menuLink+arrow) i zerujemy te marginesy. */
.ah .ahnav .header__menuList .header__menuItem .header__menuLink{flex-direction:row}
.ah .ahnav .header__menuList .header__menuItem .header__menuLink .arrow{
  width:8px;height:8px;min-width:0;min-height:0;border:none;box-sizing:border-box;
  border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg);margin:-3px 0 0 4px;align-self:center;transition:transform .3s var(--ah-ease)}
.ah .ahnav .header__menuLink .arrow::before,
.ah .ahnav .header__menuLink .arrow::after{display:none!important}
.ah .ahnav .header__menuLink::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1.5px;background:var(--ah-gold);transition:width .3s var(--ah-ease)}
.ah .ahnav .header__menuLink:hover{color:var(--ah-gold)}
.ah .ahnav .header__menuLink:hover::after{width:100%}
.ah .ahnav .header__menuLink--active::after{width:100%}

/* dropdown (podmenu) */
.ah .ahnav .header__submenu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--ah-line);border-radius:14px;padding:8px;min-width:200px;box-shadow:var(--ah-shadow);
  list-style:none;margin:0;opacity:0;visibility:hidden;transition:all .28s var(--ah-ease);z-index:60}
.ah .ahnav .header__submenu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.ah .ahnav .header__menuItem--hasSubmenu:hover > .header__submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
/* ostatnia pozycja (np. „O firmie") — dropdown wyrównany do prawej, by nie uciekał poza ekran */
.ah .ahnav .header__menuList > .header__menuItem:last-child .header__submenu{left:auto;right:0;transform:translateX(0) translateY(8px)}
.ah .ahnav .header__menuList > .header__menuItem:last-child:hover > .header__submenu{transform:translateX(0) translateY(0)}
.ah .ahnav .header__submenuLink{display:block;padding:10px 16px;border-radius:9px;font-family:'Manrope',sans-serif;font-size:15px;font-weight:600;color:var(--ah-ink);text-transform:capitalize;transition:all .2s}
/* tekst pozycji submenu jest w <span>, a main.css koloruje go na bialo (var(--headerSubmenuLink)=#fff)
   → na naszym bialym tle znikal. Wymuszamy ciemny (i zloty na hover) bezposrednio na spanie. */
.ah .ahnav .header__submenuLink span{color:var(--ah-ink);text-transform:capitalize;font-size:15px}
.ah .ahnav .header__submenuLink > svg{display:none}
.ah .ahnav .header__submenuLink::after{display:none}
.ah .ahnav .header__submenuLink:hover{background:var(--ah-linen);color:var(--ah-gold)}
.ah .ahnav .header__submenuLink:hover span{color:var(--ah-gold)}
.ah .ahnav .header__menuItem--hasSubmenu:hover .header__menuLink .arrow{transform:rotate(-135deg)}

/* CTA + hamburger */
.ah .ahnav__cta{flex:none}
.ah .ahnav__cta .btn{padding:12px 22px;font-size:14px}
.ah .ahnav__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  border:1px solid var(--ah-line);border-radius:10px;background:rgba(255,255,255,.6);cursor:pointer;flex:none}
.ah .ahnav__burger span{display:block;height:1.6px;width:20px;margin:0 auto;background:var(--ah-ink);transition:transform .3s var(--ah-ease),opacity .3s}

@media(max-width:1000px){
  .ah .ahnav__nav{position:fixed;inset:78px 0 auto 0;background:rgba(251,248,242,.97);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--ah-line);padding:14px 0 22px;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .4s var(--ah-ease),visibility .4s}
  .ah .ahnav--open .ahnav__nav{max-height:calc(100vh - 78px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;visibility:visible}
  .ah .ahnav .header__menuList{flex-direction:column;align-items:stretch;gap:0;padding:0 24px}
  .ah .ahnav .header__menuLink{padding:15px 0;font-size:16px;border-bottom:1px solid var(--ah-line);justify-content:space-between}
  .ah .ahnav .header__menuLink::after{display:none}
  /* main.css @media(≤991px) daje spanom głównych linków biały (--headerSubmenuLink) → niewidoczne
     na jasnym panelu. Wymuszamy ciemny (submenu już ciemne). */
  .ah .ahnav .header__menuLink span{color:var(--ah-ink);font-size:16px;text-transform:capitalize}
  .ah .ahnav .header__submenuLink span{color:var(--ah-ink-soft);text-transform:capitalize;font-size:15px}
  .ah .ahnav .header__submenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;
    padding:0 0 8px 14px;min-width:0;background:transparent}
  .ah .ahnav__cta{display:none}
  .ah .ahnav__burger{display:flex}
  .ah .ahnav--open .ahnav__burger span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
  .ah .ahnav--open .ahnav__burger span:nth-child(2){opacity:0}
  .ah .ahnav--open .ahnav__burger span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
}


/* ===== Stopka redesign — elementy dodatkowe (logo, blurb, social) ===== */
.ah .ahfooter{background:var(--ah-linen-deep);border-top:1px solid var(--ah-line);padding:70px 0 0;font-size:14.5px}
.ah .f-grid .ahfooter__logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;padding:0}
.ah .f-grid .ahfooter__logo img{height:44px;width:auto}
.ah .f-grid .ahfooter__logo .name{font-family:'Newsreader',serif;font-size:19px;letter-spacing:.28em;color:var(--ah-ink);font-weight:500;line-height:1}
.ah .f-grid .ahfooter__logo .name small{display:block;font-family:'Manrope',sans-serif;font-size:8px;letter-spacing:.5em;color:var(--ah-gold);font-weight:700;margin-top:2px}
.ah .f-grid .f-blurb{font-size:14px;max-width:270px;margin-bottom:20px;color:var(--ah-ink-soft)}
.ah .f-grid .f-social{display:flex;gap:12px}
.ah .f-grid .f-social a{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--ah-line);color:var(--ah-ink-soft);transition:all .3s var(--ah-ease);padding:0}
.ah .f-grid .f-social a:hover{background:var(--ah-ink);color:#fff;border-color:var(--ah-ink)}
.ah .f-grid .f-social svg{width:16px;height:16px;fill:currentColor}
.ah .f-bottom a{color:var(--ah-ink-soft)}
.ah .f-bottom a:hover{color:var(--ah-ink)}




/* ===== Nagłówek sekcji z bloku treści (content/home) =====
   Blok daje płaski output (eyebrow + h2 + p). Układamy go gridem w kompozycję
   z prototypu: eyebrow+h2 po lewej, lead po prawej. Stylujemy też po ELEMENTACH,
   żeby wygląd przetrwał nawet gdy edytor w panelu zgubi klasy. */
.ah .sec-head--cms{display:grid;grid-template-columns:1fr minmax(0,430px);column-gap:44px;align-items:end;margin-bottom:52px}
.ah .sec-head--cms > :first-child{grid-column:1;grid-row:1;margin-bottom:14px}
.ah .sec-head--cms h2{grid-column:1;grid-row:2;font-size:clamp(34px,4.4vw,52px);margin:0}
.ah .sec-head--cms h2 em{font-style:normal;color:var(--ah-gold);font-weight:500}
.ah .sec-head--cms p{grid-column:2;grid-row:2;font-size:15.5px;line-height:1.6;margin:0;align-self:end}
@media(max-width:1000px){
  .ah .sec-head--cms{grid-template-columns:1fr;margin-bottom:40px}
  .ah .sec-head--cms p{grid-column:1;grid-row:3;margin-top:16px}
}

/* ===== Sekcja inwestycji (strona główna) — elementy dodatkowe ===== */
.ah .properties .inv-subhead h3{font-family:'Newsreader',serif;font-weight:500;font-size:23px;color:var(--ah-ink);
  margin:0 0 22px;letter-spacing:-.01em}
.ah .properties .grid3 + .inv-subhead{margin-top:52px}
.ah .properties .pcard .pdesc{font-size:14px;line-height:1.55;color:var(--ah-ink-soft);margin:0 0 16px}
.ah .properties .inv-more{margin-top:44px}


/* ===== Mapa inwestycji w sekcji „Znajdź swoją przestrzeń" =====
   Krawędzie wtapiane w tło sekcji maską (bez ramki/cienia). Komponent bez zmian. */
.ah .ahmap{position:relative;margin:0 0 56px}
/* Maska „wtapiania krawedzi" TYLKO na wlasciwej mapie (.location__insert / leaflet),
   NIE na calym komponencie — inaczej rozmywala rowniez panel .map-box z opisem osiedla. */
.ah .ahmap .location__insert{
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 11%, #000 89%, transparent 100%),
                     linear-gradient(to bottom, transparent 0, #000 13%, #000 87%, transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(to right, transparent 0, #000 11%, #000 89%, transparent 100%),
                     linear-gradient(to bottom, transparent 0, #000 13%, #000 87%, transparent 100%);
          mask-composite:intersect}
/* neutralizacja starych opraw mapy z main.css (ramki/tła/zaokrąglenia) */
.ah .ahmap .map,
.ah .ahmap [id^="map"],
.ah .ahmap .leaflet-container{background:transparent;border:none;border-radius:0;box-shadow:none}
.ah .ahmap .leaflet-control-attribution{font-size:10px;opacity:.55}

/* Panel wybranego osiedla pod mapa (komponent, boxShow) — karta w stylu redesignu. */
.ah .ahmap .map-box{margin-top:22px}
.ah .ahmap .map-box__single{display:none}
.ah .ahmap .map-box__single.active{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;
  background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:20px;overflow:hidden;box-shadow:var(--ah-shadow)}
.ah .ahmap .map-box__single--content{padding:32px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.ah .ahmap .map-box__single--content h2{font-family:'Newsreader',serif;font-weight:400;line-height:1.15;
  font-size:clamp(22px,2.4vw,30px);color:var(--ah-ink)}
.ah .ahmap .map-box__single--content p{font-size:14.5px;line-height:1.6;color:var(--ah-ink-soft)}
.ah .ahmap .map-box__single--content .button{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
  background:var(--ah-gold);color:#fff;font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;
  padding:12px 24px;border-radius:999px;text-decoration:none;margin-top:4px;transition:all .3s var(--ah-ease)}
.ah .ahmap .map-box__single--content .button:hover{background:var(--ah-gold-soft);transform:translateY(-2px)}
.ah .ahmap .map-box__single--image{position:relative;min-height:220px}
.ah .ahmap .map-box__single--image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1000px){
  .ah .ahmap{margin-bottom:40px}
  .ah .ahmap .location__insert{
    -webkit-mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%),linear-gradient(to bottom, transparent 0, #000 10%, #000 90%, transparent 100%);-webkit-mask-composite:source-in;
            mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%),linear-gradient(to bottom, transparent 0, #000 10%, #000 90%, transparent 100%);mask-composite:intersect}
  .ah .ahmap .map-box__single.active{grid-template-columns:1fr}
  .ah .ahmap .map-box__single--image{min-height:180px}
}


/* ===== Dom pokazowy — komponent investmentsVirtual w kadrze .show .ph ===== */
.ah .show{background:var(--ah-linen)}
.ah .show .ph .v-walk__box{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;
  background-size:cover;background-position:center;cursor:pointer;border-radius:0}
.ah .show .ph .v-walk__box iframe{display:block;width:100%;height:100%;border:0}
/* PUSTA ramka (src="") leży na boxie i przechwytuje klik → handler spaceru nie odpala.
   Wyłączamy jej klikalność dopóki spacer nie otwarty; klik trafia w .v-walk__box (handler). */
.ah .v-walk__box:not(.opened) iframe{pointer-events:none}
.ah .show .ph .v-walk__box .bottom{display:none}          /* stary przycisk „Uruchom spacer" */
.ah .show .ph .play{pointer-events:none}                   /* klik przechodzi do .v-walk__box */
.ah .show .ph .v-walk__box.opened ~ .play{opacity:0;visibility:hidden;transition:opacity .3s var(--ah-ease)}
.ah .show-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}


/* ===== Campus Pallotti / wartości — logo partnera w pigułce ===== */
.ah .values .partner{gap:10px;text-decoration:none}
.ah .values .partner img{height:22px;width:auto;display:block}
.ah .values .partner:hover{border-color:var(--ah-gold)}
.ah .values-cta{margin-top:24px}
.ah .values blockquote{font-family:'Newsreader',serif}

/* ===== Pasek atutów (udogodnienia) pod sekcją inwestycji =====
   Ikony motywu są już liniowe/minimalistyczne — dajemy im rozmiar i powietrze,
   bez kółka w tle. Stylizuje output komponentu IkonySSI. */
.ah .ahperks{background:var(--ah-linen);padding:0 0 100px;overflow:hidden}
/* Pelnoekranowa karuzela (marquee) — jak .icar na „wykonczenie pod klucz".
   Maska boczna wygasza brzegi; JS klonuje itemy dla bezszwowej petli (translateX -50%). */
.ah .ahperks .perks-marquee{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ah .ahperks .icons-set{display:flex;flex-wrap:nowrap;width:max-content;gap:0;margin:0;padding:0;list-style:none;
  animation:perksmarquee 42s linear infinite}
.ah .ahperks .perks-marquee:hover .icons-set{animation-play-state:paused}
.ah .ahperks .icons-set__item{flex:0 0 auto;width:210px;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:16px;padding:0 22px;margin:0;background:transparent;border:none;box-shadow:none}
.ah .ahperks .icons-set__item .image{width:auto;height:auto;background:none;border-radius:0;margin:0;
  display:grid;place-items:center;color:var(--ah-gold)}
.ah .ahperks .icons-set__item .image svg{width:68px;height:68px;display:block;fill:currentColor}
.ah .ahperks .icons-set__item .image img{width:68px;height:68px;object-fit:contain}
.ah .ahperks .icons-set__item-text,
.ah .ahperks .icons-set__item p{font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;
  line-height:1.35;color:var(--ah-ink);margin:0;max-width:16ch}
.ah .ahperks .icons-set__item .content{margin:0}
.ah .ahperks .slick-arrow{display:none!important}
@keyframes perksmarquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .ah .ahperks .icons-set{animation:none;flex-wrap:wrap;justify-content:center;width:auto}
}
@media(max-width:1000px){
  .ah .ahperks{padding-bottom:70px}
  .ah .ahperks .icons-set__item{width:176px;padding:0 16px}
  .ah .ahperks .icons-set__item .image svg,
  .ah .ahperks .icons-set__item .image img{width:58px;height:58px}
  /* mobile: pasek przewijalny palcem. Auto-przewijanie robi JS (scrollLeft), a nie
     animacja CSS — dzieki temu dotkniecie przejmuje kontrole i dziala bezwladnosc. */
  .ah .ahperks .perks-marquee{overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
  .ah .ahperks .perks-marquee::-webkit-scrollbar{display:none}
  .ah .ahperks .perks-marquee .icons-set{animation:none}
}


/* ===== Ikona skrzydła anioła (.ahwing) — wektor z materiałów =====
   Wypełniona ścieżka (obrys tuszu), więc zamiast rysowania kreski:
   miękkie odsłanianie maską (efekt „unoszenia się") + subtelne bujanie w pętli. */
.ah .ahwing{display:block;width:62px;height:auto;margin-bottom:16px;color:var(--ah-gold);
  transform-origin:74% 84%;
  -webkit-mask-image:linear-gradient(118deg,#000 42%,transparent 64%);
          mask-image:linear-gradient(118deg,#000 42%,transparent 64%);
  -webkit-mask-size:250% 250%;mask-size:250% 250%;
  -webkit-mask-position:100% 100%;mask-position:100% 100%}
.ah .ahwing path{fill:currentColor}
.ah .rv.in .ahwing,
.ah .ahwing.auto{
  animation:ahwingReveal 1.25s var(--ah-ease) .08s forwards,
            ahwingSway 7s ease-in-out 1.2s infinite alternate}
@keyframes ahwingReveal{to{-webkit-mask-position:0% 0%;mask-position:0% 0%}}
@keyframes ahwingSway{
  from{transform:rotate(-2.5deg) translateY(1px)}
  to{transform:rotate(2.5deg) translateY(-3px)}
}
@media (prefers-reduced-motion: reduce){
  .ah .ahwing{-webkit-mask-image:none;mask-image:none;animation:none}
  .ah .rv.in .ahwing,.ah .ahwing.auto{animation:none}
}


/* ===== Nagłówek: przy hero tylko logo, menu pojawia się po przewinięciu =====
   Dotyczy wyłącznie desktopu — na mobile steruje tym hamburger (.ahnav--open). */
@media(min-width:1001px){
  .ah .ahnav__in{height:92px;transition:height .35s var(--ah-ease)}
  .ah .ahnav--solid .ahnav__in{height:70px}
  /* Chowanie menu do przewiniecia dotyczy TYLKO strony glownej (widok slidera/hero).
     Na podstronach (.subsite-ah) menu jest widoczne od samej gory. */
  .homepage .ahnav__nav{opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .35s var(--ah-ease),visibility .35s var(--ah-ease),transform .35s var(--ah-ease)}
  .homepage .ahnav--solid .ahnav__nav{opacity:1;visibility:visible;transform:none}
  /* logo nieco większe nad hero, mniejsze po przewinięciu */
  .ah .ahnav__logo img{height:44px;transition:height .35s var(--ah-ease)}
  .ah .ahnav--solid .ahnav__logo img{height:36px}
  .ah .ahnav__logo .name{font-size:23px;transition:font-size .35s var(--ah-ease)}
  .ah .ahnav--solid .ahnav__logo .name{font-size:20px}
}
/* Podstrony: brak pelnoekranowego hero → pasek nawigacji od razu z tlem (czytelne ciemne linki). */
.subsite-ah .ahnav{background:rgba(251,248,242,.9);backdrop-filter:blur(14px);border-bottom-color:var(--ah-line)}


/* ===== Karta inwestycji — dopełnienia (mapa lokalizacji, richtext, bujanie skrzydła) ===== */
/* bujanie dla liniowego skrzydła .wings (partial angel-wing) */
.ah .wings.ahwing-sway{transform-origin:50% 90%;animation:ahwingSway 7s ease-in-out infinite alternate}
@media (prefers-reduced-motion: reduce){.ah .wings.ahwing-sway{animation:none}}

/* mapa lokalizacji w prawej kolumnie about-grid — czysta zaokrąglona ramka */
.ah .loc-map{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--ah-shadow);min-height:420px;background:var(--ah-linen)}
.ah .loc-map > *,.ah .loc-map .map,.ah .loc-map .leaflet-container,.ah .loc-map [id^="map"]{width:100%!important;height:100%!important;min-height:420px;border:none;border-radius:0;margin:0;background:transparent}
.ah .loc-map .leaflet-control-attribution{font-size:10px;opacity:.5}

/* treść „O inwestycji" z pola richtext (content/localization_description) */
.ah #lokalizacja .ah-richtext{font-size:15.5px;line-height:1.7;color:var(--ah-ink-soft)}
.ah #lokalizacja .ah-richtext :is(h1,h2,h3){font-family:'Newsreader',serif;color:var(--ah-ink);margin:0 0 12px}
.ah #lokalizacja .ah-richtext h2{font-size:clamp(28px,3.4vw,40px);font-weight:400}
.ah #lokalizacja .ah-richtext h2 em,.ah #lokalizacja .ah-richtext em{font-style:normal;color:var(--ah-gold)}
.ah #lokalizacja .ah-richtext p{margin:0 0 14px}
.ah #lokalizacja .ah-richtext ul{list-style:none;margin:18px 0 0;padding:0}
.ah #lokalizacja .ah-richtext ul li{position:relative;padding-left:26px;margin-bottom:10px}
.ah #lokalizacja .ah-richtext ul li::before{content:"✓";position:absolute;left:0;color:var(--ah-sage-deep);font-weight:700}
@media(max-width:1000px){.ah .loc-map{min-height:340px}.ah .loc-map > *{min-height:340px}}


/* ===== Wykończenie: sekcja „Zapytaj o wycenę" — lewa kolumna wyrównana do LEWEJ ===== */
.ah #wycena .intro{text-align:left}
.ah #wycena .intro .eyebrow{justify-content:flex-start}
.ah #wycena .intro .lead{max-width:none;margin-left:0;text-align:left}
.ah #wycena .intro .pkg-note{text-align:left}

/* ===== Konfigurator — harmonizacja z redesignem =====
   TYLKO warstwa wyglądu. Komponent SSI (houseConfigurator/FormSSI) i jego JS/akordeon
   NIETKNIĘTE. Reguły addytywne, scope'owane pod `.config-wrap` (owija komponent, jest
   POZA `.ah`, więc reset `.ah *{margin:0}` go nie dotyczy). Tokeny `--ah-` z :root. */
.config-wrap{max-width:1060px;margin:0 auto;padding:34px 24px 90px}
.config-wrap > h1{display:none} /* tytuł mamy w subhero powyżej — bez duplikatu */
.config-wrap .configurator-form h2{font-family:'Newsreader',serif;font-weight:400;color:var(--ah-ink);letter-spacing:-.01em}
.config-wrap .configurator-form .faq__question .question{font-family:'Newsreader',serif}
.config-wrap .configurator-form .number{background:var(--ah-gold);color:#fff;border-color:var(--ah-gold)}
.config-wrap .configurator-form .form__input:focus{border-color:var(--ah-gold);outline-color:var(--ah-gold)}
.config-wrap .configurator-form .submitSection .button{background:var(--ah-gold);border-color:var(--ah-gold);color:#fff}
.config-wrap .configurator-form .submitSection .button:hover{background:#9A7A42;border-color:#9A7A42}


/* ===== Aktualności — pojedynczy wpis (news single) ===== */
.ah .news-head{max-width:860px}
.ah .news-head .ndate{margin-bottom:14px}
.ah .news-head .lead{margin-top:18px;max-width:none}
.ah .news-hero-img{border-radius:22px;overflow:hidden;margin:8px 0 40px;box-shadow:var(--ah-shadow);
  aspect-ratio:16/9;background:linear-gradient(150deg,#E9E0CD,#C8BD9F)}
.ah .news-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.ah .news-article{max-width:820px;font-size:16.5px;line-height:1.8;color:var(--ah-ink-soft)}
.ah .news-article :is(h1,h2,h3,h4){font-family:'Newsreader',serif;color:var(--ah-ink);font-weight:400;margin:34px 0 14px;line-height:1.2}
.ah .news-article h2{font-size:clamp(26px,3vw,36px)}
.ah .news-article h3{font-size:clamp(21px,2.3vw,27px)}
.ah .news-article p{margin:0 0 18px}
.ah .news-article a{color:var(--ah-gold);text-decoration:underline}
.ah .news-article img{max-width:100%;height:auto;border-radius:14px;margin:10px 0}
.ah .news-article ul,.ah .news-article ol{margin:0 0 18px;padding-left:22px}
.ah .news-article li{margin-bottom:8px}
.ah .news-article blockquote{border-left:3px solid var(--ah-gold);padding-left:20px;margin:24px 0;
  font-family:'Newsreader',serif;font-style:italic;color:var(--ah-ink)}
.ah .news-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0 0;max-width:820px}
.ah .news-gallery .ph{aspect-ratio:3/2;border-radius:14px;overflow:hidden;display:block}
.ah .news-gallery .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ah-ease)}
.ah .news-gallery .ph:hover img{transform:scale(1.06)}
.ah .news-back{margin-top:44px}
@media(max-width:700px){ .ah .news-gallery{grid-template-columns:repeat(2,1fr)} }


/* ===== Punktory list w blokach treści — fix „rozpadających się checkboxów" =====
   main.css rysuje `ul li::before` jako 14px kwadracik z obramowaniem (bullet motywu);
   przecieka do treści redesignu i nachodzi na tekst. Zabijamy go globalnie w .ah,
   a w kontenerach treści dajemy czysty złoty „✓". Listy z własnym markerem (.tick:
   .incl/.amen/.checks/.infobox) go NIE dostają — mają span .tick w markupie. */
.ah ul li::before{content:none}
.ah :is(.vcard,.news-article,.ah-richtext,.cms-list) ul{
  list-style:none;padding-left:0;margin:14px 0 0}
.ah :is(.vcard,.news-article,.ah-richtext,.cms-list) ul li{
  position:relative;padding-left:26px;margin-bottom:9px;line-height:1.55}
.ah :is(.vcard,.news-article,.ah-richtext,.cms-list) ul li::before{
  content:"✓";position:absolute;left:0;top:.02em;color:var(--ah-gold);font-weight:700;font-size:.85em;
  border:none;background:none;width:auto;height:auto}


/* ===== Pasek mobilny (numer/mail) — dopasowany do redesignu, chowany do przewinięcia =====
   Domyślnie schowany (poza pierwszym widokiem hero); JS dodaje .mb-show po zescrollowaniu. */
@media(max-width:1000px){
  .mobile-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;
    display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;align-items:stretch;
    background:rgba(251,248,242,.94);backdrop-filter:blur(12px);border:1px solid var(--ah-line);
    border-radius:16px;padding:8px;box-shadow:0 16px 44px -12px rgba(31,46,77,.42);
    transform:translateY(180%);opacity:0;visibility:hidden;
    transition:transform .42s var(--ah-ease),opacity .42s var(--ah-ease),visibility .42s}
  .mobile-bar.mb-show{transform:none;opacity:1;visibility:visible}
  .mobile-bar__link{flex:1 1 0;height:auto;min-width:0;display:flex;align-items:center;justify-content:center;
    column-gap:9px;padding:12px 10px;border-radius:12px;text-decoration:none;
    font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;color:var(--ah-ink);background:var(--ah-linen)}
  .mobile-bar__link.phone{background:var(--ah-gold)}
  .mobile-bar__link.phone span,.mobile-bar__link.phone svg{color:#fff;fill:#fff}
  .mobile-bar__link:hover{background:var(--ah-line)}
  .mobile-bar__link.phone:hover{background:#9A7A42}
  .mobile-bar__link span{color:var(--ah-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-bar__link svg{width:18px;height:18px;fill:var(--ah-gold);flex:none}
  .mobile-bar .socials{display:flex;gap:6px}
}


/* ===== Karta inwestycji — render oryginalnego komponentu + harmonizacja =====
   Komponent `singleInvestments` (graficzny wybór domów + ceny + wszystkie sekcje) jest POZA
   `.ah`, więc main.css stylizuje go natywnie i cała logika (picker/flatsTable/AJAX) działa.
   Tu tylko warstwa wyglądu: breadcrumb + fonty nagłówków + złote przyciski. Tokeny --ah- z :root. */
.ah .invsingle-crumb{padding:120px 0 6px}
.ah .invsingle-crumb .crumb{font-size:13px;font-weight:600;color:var(--ah-ink-soft)}
.ah .invsingle-crumb .crumb a{color:var(--ah-gold)}
.ah .invsingle-crumb .crumb span{margin:0 8px;color:var(--ah-stone)}
.invsingle-wrap :is(h1,h2,h3){font-family:'Newsreader',serif;font-weight:400;letter-spacing:-.01em}
.invsingle-wrap .button{background:var(--ah-gold);border-color:var(--ah-gold);color:#fff;border-radius:999px}
.invsingle-wrap .button:hover{background:#9A7A42;border-color:#9A7A42;color:#fff}
.invsingle-wrap .button--secondary{background:transparent;border:1px solid var(--ah-ink);color:var(--ah-ink)}
.invsingle-wrap .button--secondary:hover{background:var(--ah-ink);color:#fff}
.invsingle-wrap .icons-set__item.active .icons-set__item-text{color:var(--ah-gold)}
/* punktory list motywu (14px kwadracik z obwódką) → subtelna złota kropka */
.invsingle-wrap ul li::before{border:none;background:var(--ah-gold);width:5px;height:5px;border-radius:50%;top:.62em}

/* ===== Karta inwestycji — hero komponentu ukryty (mamy własne .ihero), środek zharmonizowany ===== */
.invsingle-wrap{font-family:'Manrope',sans-serif;color:var(--ah-ink-soft)}
.invsingle-wrap .investment__hero{display:none}
.invsingle-wrap :is(h1,h2,h3,h4){font-family:'Newsreader',serif;font-weight:400;color:var(--ah-ink);text-transform:none;letter-spacing:-.01em}
.invsingle-wrap :is(p,li,td,th,label){font-family:'Manrope',sans-serif;color:var(--ah-ink-soft);line-height:1.65}
.invsingle-wrap a:hover{color:var(--ah-gold)}
.invsingle-wrap img{border-radius:14px}

/* --- Sekcja domów: panel „Wybrany Dom" ZOSTAJE CIEMNY (granat redesignu) — tylko bez ostrej ramki + zaokrąglony;
       tekst i przyciski motywu (jasne) zostają, bo są czytelne na ciemnym. Tabela cen bez zmian. --- */
.invsingle-wrap .investment__houses .grid-1-2{background-color:var(--ah-ink) !important;border-radius:24px;overflow:hidden}
.invsingle-wrap .investment__houses .grid-1-2::after{display:none}
.invsingle-wrap .investment__houses--head h2{color:var(--ah-ink)}
.invsingle-wrap .investment__houses--head .address{color:var(--ah-gold)}
.invsingle-wrap .flats-table{border-radius:18px;overflow:hidden}

/* --- „W okolicy znajdziemy" (localization--features) — od nowa: jasna karta, złote ikony, ciemne podpisy --- */
.invsingle-wrap .investment__localization--features{background-color:var(--ah-linen) !important;border-radius:24px;margin-top:24px;padding:42px 44px;position:static;z-index:auto}
.invsingle-wrap .investment__localization--features::after{display:none}
.invsingle-wrap .investment__localization--features > p{font-family:'Manrope',sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ah-gold);margin-bottom:28px}
/* --- ikony (W okolicy + O osiedlu): okrągła pigułka złota zamiast białego kwadratu --- */
.invsingle-wrap :is(.investment__localization--features,.investment__about) .icons-set__item .image{
  background:rgba(176,140,79,.12) !important;border:none !important;border-radius:16px !important;
  width:66px;height:66px;display:grid;place-items:center;margin:0 auto 4px}
.invsingle-wrap :is(.investment__localization--features,.investment__about) .icons-set__item .image :is(svg,img){
  fill:var(--ah-gold);width:32px;height:32px;object-fit:contain}
.invsingle-wrap :is(.investment__localization--features,.investment__about) .icons-set__item :is(p,span,.icons-set__item-text){color:var(--ah-ink)}

/* --- „O osiedlu" panele (grid-2-1/1-2) → jasne, zaokrąglone, bez ramek; ciemny tekst --- */
.invsingle-wrap .investment__about :is(.grid-2-1,.grid-1-2){background-color:var(--ah-paper) !important;border-radius:24px}
.invsingle-wrap .investment__about :is(.grid-2-1,.grid-1-2)::after{display:none}
.invsingle-wrap .investment__about :is(p,span,div,li,h1,h2,h3,h4,b,strong){color:var(--ah-ink)}
.invsingle-wrap .grid-2-1::after{display:none}

/* --- galeria jasna; teaser konfiguratora jasny --- */
.invsingle-wrap .investment__gallery{background-color:var(--ah-linen) !important}
.invsingle-wrap .investment__gallery.lazy::after{display:none !important}
.invsingle-wrap .configurator > a{background-color:var(--ah-paper) !important;border-radius:22px;border:1px solid var(--ah-line)}
.invsingle-wrap .configurator > a :is(p,span,div,h1,h2,h3){color:var(--ah-ink)}
.invsingle-wrap .configurator > a svg{fill:var(--ah-gold)}

/* --- finansowanie motywu (.credit) UKRYTE — zastąpione kompaktowym teaserem .fin-teaser --- */
.invsingle-wrap .credit{display:none}

.invsingle-wrap :is(figure,[class*="card"],[class*="box"]){border-radius:16px}

/* Teaser finansowania na karcie inwestycji (kompaktowy, CTA → /finansowanie) */
.ah .fin-teaser-box{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  background:var(--ah-linen);border:1px solid var(--ah-line);border-radius:24px;padding:40px 48px}
.ah .fin-teaser-box h2{font-size:clamp(24px,2.6vw,34px);margin:6px 0 10px}
.ah .fin-teaser-box p{font-size:15.5px;color:var(--ah-ink-soft);max-width:640px;line-height:1.6}
.ah .fin-teaser-box .btn{flex:none}
@media(max-width:820px){.ah .fin-teaser-box{padding:32px 28px}}

/* Nagłówek kontaktu inwestycji — mniejszy niż .h2 */
.ah #kontakt-inw .lform-title{font-family:'Newsreader',serif;font-weight:400;color:var(--ah-ink);
  font-size:clamp(26px,3vw,40px);line-height:1.15;letter-spacing:-.01em;margin:8px 0 0}
.ah #kontakt-inw .lform-title em.gold{font-style:normal;color:var(--ah-gold);font-weight:500}


/* ===== Poprawki po 3. przeglądzie (strona główna) ===== */

/* #1 Mały popup markera mapy (zamiast dużego kafelka .map-box, który usunął override komponentu) */
.ahmap-popup .leaflet-popup-content-wrapper{background:#fff;border-radius:16px;box-shadow:0 22px 50px -18px rgba(31,46,77,.45);padding:0}
.ahmap-popup .leaflet-popup-content{margin:0;padding:16px 18px}
.ahmap-popup .leaflet-popup-tip{background:#fff}
.ahmap-popup a.leaflet-popup-close-button{color:var(--ah-stone);padding:6px 8px 0 0}
.ahmap-pop{display:flex;flex-direction:column;gap:12px;min-width:170px}
.ahmap-pop__name{font-family:'Newsreader',serif;font-size:17px;color:var(--ah-ink);line-height:1.25;padding-right:14px}
.ahmap-pop__btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:var(--ah-gold);color:#fff;
  font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;padding:9px 16px;border-radius:999px;text-decoration:none;transition:all .25s var(--ah-ease)}
.ahmap-pop__btn:hover{background:var(--ah-gold-soft)}

/* #2 Cytat w sekcji „Budujemy z wartościami" — wyrównany do LEWEJ (main.css centrował blockquote) */
.ah .values blockquote{text-align:left}

/* #3 Mniejszy odstęp między sekcją wartości a kafelkami (konfigurator) — ~50px mniej */
.ah #konfigurator{padding-top:58px}

/* #5 FAQ — akapity odpowiedzi były ciemne (main.css p{color:var(--txt)}) na ciemnym tle → białe */
.ah .faq p,.ah .faq li,.ah .faq details,.ah .faq summary span{color:rgba(255,255,255,.82)}
.ah .faq a{color:var(--ah-gold-soft)}

/* #6 Font menu i podmenu — main.css narzuca span{font-family:var(--menuFont)} (stara czcionka) → Manrope */
.ah .ahnav .header__menuLink span,
.ah .ahnav .header__submenuLink span{font-family:'Manrope',sans-serif}

/* #4 Dom pokazowy — kadr spaceru na podstronie */
.ah .show-walk .ph{aspect-ratio:16/9;max-width:1040px;margin:0 auto;background:var(--ah-ink)}

/* ===== Poprawki po 4. przeglądzie (2026-07-28) ===== */
/* Pióro dryfujące zamiast skrzydła w „Budujemy z wartościami" */
.ah .vfeather{width:78px;margin:0 0 18px;transform:rotate(-8deg)}
.ah .vfeather img{display:block;width:100%;height:auto;
  filter:drop-shadow(0 16px 20px rgba(31,46,77,.14));
  animation:ahfloat 9s var(--ah-ease) infinite alternate}
/* Dodatkowe pióro w sekcji kontakt — desktop, w wolnej przestrzeni pod danymi */
.ah #kontakt .contact-grid > .rv:first-child{position:relative}
/* pióro poziome (rotate 90°, pivot w dolnym-lewym rogu) — leży nisko pod danymi, nie nachodzi na tekst */
.ah #kontakt .kfeather{position:absolute;left:8px;bottom:14px;width:116px;pointer-events:none;z-index:0;
  transform:rotate(90deg);transform-origin:0% 100%}
.ah #kontakt .kfeather img{display:block;width:100%;height:auto;
  filter:drop-shadow(0 18px 22px rgba(31,46,77,.14));
  animation:ahfloat 13s var(--ah-ease) infinite alternate}
@media(prefers-reduced-motion:reduce){.ah .values .vfeather img,.ah #kontakt .kfeather img{animation:none}}
@media(max-width:820px){.ah #kontakt .kfeather{display:none}}

/* ===== Uwagi klientki (2026-07-31): O nas — ikony wartości, kadr zdjęć zespołu ===== */
/* Ikony wartosci "Dlaczego Angel Home" - delikatne, wypelniaja pusta przestrzen u dolu kart. */
.ah .atuty-grid .vcard{position:relative;overflow:hidden;padding-bottom:74px}
.ah .atuty-grid .vcard::after{content:"";position:absolute;right:24px;bottom:20px;width:52px;height:52px;
  background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.30;
  transition:opacity .4s var(--ah-ease),transform .4s var(--ah-ease)}
.ah .atuty-grid .vcard:hover::after{opacity:.55;transform:translateY(-3px)}
.ah .atuty-grid .vcard:nth-child(1)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2010.5%2012%203l9%207.5%22%2F%3E%3Cpath%20d%3D%22M5.5%209.6V20h13V9.6%22%2F%3E%3Cpath%20d%3D%22M9.6%2020v-6h4.8v6%22%2F%3E%3Cpath%20d%3D%22M5.5%2014.6h4.1M14.4%2014.6h4.1%22%2F%3E%3C%2Fsvg%3E")}
.ah .atuty-grid .vcard:nth-child(2)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.5%2012.9%2012.9%2020.5a2%202%200%200%201-2.8%200l-6.6-6.6a2%202%200%200%201-.6-1.4V4.5a2%202%200%200%201%202-2h8a2%202%200%200%201%201.4.6l6.2%206.2a2%202%200%200%201%200%202.8z%22%2F%3E%3Ccircle%20cx%3D%227.8%22%20cy%3D%227.8%22%20r%3D%221.5%22%2F%3E%3C%2Fsvg%3E")}
.ah .atuty-grid .vcard:nth-child(3)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22M15.2%2015.2%2021%2021%22%2F%3E%3Cpath%20d%3D%22M10.5%207.6l.9%202%202%20.9-2%20.9-.9%202-.9-2-2-.9%202-.9z%22%2F%3E%3C%2Fsvg%3E")}
/* Zdjęcia zespołu: kwadrat + object-fit:cover ucinał głowy. Format pionowy 4:5
   i kadr wyrównany do góry — twarze zostają w kadrze. */
.ah .team .tcard .ph{aspect-ratio:4/5}
.ah .team .tcard .ph img{object-position:center 22%}
/* O nas: pierwsze zdjęcie większe (docelowo zdjęcie całego zespołu) — kolumna foto
   dostaje przewagę, a kadr jest wyższy. Pozostałe podstrony bez zmian. */
.ah .subhero--onas .subhero-grid{grid-template-columns:.88fr 1.12fr;gap:52px}
.ah .subhero--onas .subhero-grid .ph{aspect-ratio:4/3}
@media(max-width:900px){
  .ah .subhero--onas .subhero-grid{grid-template-columns:1fr;gap:34px}
  .ah .subhero--onas .subhero-grid .ph{aspect-ratio:16/10}
}

/* ===== Kalkulator kredytowy (/finansowanie) ===== */
.ah .kalk{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:stretch;margin-top:44px}
/* Lewa kolumna: pola PARAMI w jednej linii (2×2), żeby wysokość zrównała się z prawą.
   Wcześniej 4 wiersze jeden pod drugim robiły kolumnę dwa razy wyższą od panelu wyniku. */
.ah .kalk__form{background:var(--ah-paper);border:1px solid var(--ah-line);border-radius:22px;
  padding:28px 28px 26px;box-shadow:var(--ah-shadow);
  display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;align-content:center}
.ah .kalk__row + .kalk__row{margin-top:0;padding-top:0;border-top:none}
.ah .kalk__row label{display:block;font-family:'Manrope',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ah-ink);margin-bottom:8px}
.ah .kalk__val{display:flex;align-items:baseline;gap:8px}
.ah .kalk__val input{width:100%;min-width:0;border:1px solid var(--ah-line);border-radius:11px;
  padding:9px 12px;font-family:'Newsreader',serif;font-size:20px;font-weight:500;color:var(--ah-ink);
  background:#fff;transition:border-color .25s var(--ah-ease)}
.ah .kalk__val input:focus{outline:none;border-color:var(--ah-gold)}
.ah .kalk__val .u{font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;color:var(--ah-ink-soft)}
.ah .kalk__hint{font-family:'Manrope',sans-serif;font-size:12.5px;color:var(--ah-ink-soft);margin-top:8px}
.ah .kalk__slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;
  background:var(--ah-linen);margin-top:12px;cursor:pointer}
.ah .kalk__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;
  border-radius:50%;background:var(--ah-gold);border:3px solid #fff;box-shadow:0 2px 8px rgba(176,140,79,.5);cursor:pointer}
.ah .kalk__slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ah-gold);
  border:3px solid #fff;box-shadow:0 2px 8px rgba(176,140,79,.5);cursor:pointer}
.ah .kalk__out{background:var(--ah-ink);border-radius:22px;padding:34px 32px;color:#fff;position:sticky;top:100px}
.ah .kalk__out .kalk__lbl{display:block;font-family:'Manrope',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ah-gold-soft, #D8C39A);margin-bottom:10px}
.ah .kalk__rata{display:block;font-family:'Newsreader',serif;font-size:clamp(38px,4.4vw,54px);font-weight:400;
  line-height:1.05;color:#fff;margin-bottom:22px}
.ah .kalk__meta{margin:0 0 24px;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.16)}
.ah .kalk__meta > div{display:flex;justify-content:space-between;gap:14px;padding:7px 0}
.ah .kalk__meta dt{font-family:'Manrope',sans-serif;font-size:13px;color:rgba(255,255,255,.72);margin:0}
.ah .kalk__meta dd{font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;color:#fff;margin:0;white-space:nowrap}
.ah .kalk__out .btn{width:100%;justify-content:center}
.ah .kalk__disc{font-family:'Manrope',sans-serif;font-size:11.5px;line-height:1.55;color:rgba(255,255,255,.62);margin-top:18px}
@media(max-width:900px){
  .ah .kalk{grid-template-columns:1fr;gap:22px}
  .ah .kalk__out{position:static}
  .ah .kalk__form{padding:24px 20px 22px;gap:20px 18px}
}
@media(max-width:560px){
  .ah .kalk__form{grid-template-columns:1fr}   /* na wąskim ekranie pola jedno pod drugim */
}
/* tekst nad formularzem „Zapytaj o kredyt": wrapper miał klasę .intro, która centruje
   i powiększa akapit do 22–33px (styl strony głównej). Tu ma być zwykły, do lewej. */
.ah .wform-intro{text-align:left}
.ah .wform-intro .lead{max-width:none;text-align:left}

/* ===== Uwagi klientki, runda 2 (2026-07-31) ===== */
/* O nas — sekcja „Kupimy działkę": grid był w stylu inline BEZ media query,
   więc na mobile zostawały dwie wąskie kolumny. Teraz klasa + zwijanie do jednej. */
.ah .dzialki-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.ah .dzialki-grid .ph{aspect-ratio:16/11;border-radius:20px;overflow:hidden;box-shadow:var(--ah-shadow)}
.ah .dzialki-grid .ph img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  /* jedna kolumna; zdjęcie ląduje POD tekstem (kolejność w DOM już taka jest) */
  .ah .dzialki-grid{grid-template-columns:1fr;gap:32px}
  .ah .dzialki-grid .ph{aspect-ratio:16/10}
}
/* Kafelki „dlaczego / jak to działa": tekst 16,5px (baza .ah) był większy niż reszta
   strony (.lead 15,5px). Wyrównanie w obu miejscach — /o-nas i /finansowanie. */
.ah .grid3 .vcard p{font-size:15px;line-height:1.62}
.ah .grid3 .vcard h3{font-size:21px}
/* na /finansowanie etapów jest 6 → siatka 3×2 zamiast rozjeżdżania się */
.ah .etapy-grid{grid-template-columns:repeat(3,1fr)}
/* Ikony etapow finansowania - 6 krokow, ten sam styl co karty na /o-nas */
.ah .etapy-grid .vcard:nth-child(1)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13.5%203H7a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h7%22%2F%3E%3Cpath%20d%3D%22M13.5%203v4.5H18%22%2F%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%2215.5%22%20r%3D%223.2%22%2F%3E%3Cpath%20d%3D%22M18.9%2017.9%2021.5%2020.5%22%2F%3E%3C%2Fsvg%3E")}
.ah .etapy-grid .vcard:nth-child(2)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v17%22%2F%3E%3Cpath%20d%3D%22M6.5%2020h11%22%2F%3E%3Cpath%20d%3D%22M4%208h16%22%2F%3E%3Cpath%20d%3D%22M4%208%201.8%2013h4.4z%22%2F%3E%3Cpath%20d%3D%22M20%208l-2.2%205h4.4z%22%2F%3E%3C%2Fsvg%3E")}
.ah .etapy-grid .vcard:nth-child(3)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207.5A1.5%201.5%200%200%201%204.5%206h4l2%202.2h9A1.5%201.5%200%200%201%2021%209.7v8.8A1.5%201.5%200%200%201%2019.5%2020h-15A1.5%201.5%200%200%201%203%2018.5z%22%2F%3E%3Cpath%20d%3D%22M8%2013.5h8M8%2016.5h5%22%2F%3E%3C%2Fsvg%3E")}
.ah .etapy-grid .vcard:nth-child(4)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%203%2010.5%2013.5%22%2F%3E%3Cpath%20d%3D%22M21%203%2014.5%2021l-4-7.5L3%209.5z%22%2F%3E%3C%2Fsvg%3E")}
.ah .etapy-grid .vcard:nth-child(5)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.5%2012.2c0%204-3.8%207.2-8.5%207.2-1%200-2-.15-2.9-.42L3.5%2021l1.6-3.9A6.8%206.8%200%200%201%203.5%2012.2C3.5%208.2%207.3%205%2012%205s8.5%203.2%208.5%207.2z%22%2F%3E%3Cpath%20d%3D%22M8.8%2012h.01M12%2012h.01M15.2%2012h.01%22%2F%3E%3C%2Fsvg%3E")}
.ah .etapy-grid .vcard:nth-child(6)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B08C4F%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.8%22%20r%3D%225.8%22%2F%3E%3Cpath%20d%3D%22M9.6%209.9l1.7%201.7%203.2-3.3%22%2F%3E%3Cpath%20d%3D%22M8.6%2014.6%207.4%2021l4.6-2.4L16.6%2021l-1.2-6.4%22%2F%3E%3C%2Fsvg%3E")}

/* ===== Etapy finansowania: desktop = siatka, mobile = slider =====
   Uwaga: ta sekcja musi stać PO regule `.ah .etapy-grid{grid-template-columns:repeat(3,1fr)}`
   z bloku wyżej — inaczej tamta (dopisana na końcu arkusza) wygrywała i na telefonie
   zostawały trzy nieczytelne kolumny. */
.ah .etapy-slider{position:relative}
.ah .etapy-nav{display:none}
.ah .etapy-dots{display:none}

@media(max-width:900px){
  .ah .etapy-slider{padding-bottom:40px}
  /* tor: poziomy, z przyciąganiem kafelków do środka */
  .ah .etapy-slider .etapy-grid{display:flex;grid-template-columns:none;gap:14px;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;
    padding:4px 0 6px}
  .ah .etapy-slider .etapy-grid::-webkit-scrollbar{display:none}
  .ah .etapy-slider .etapy-grid .vcard{flex:0 0 78%;scroll-snap-align:center;min-height:100%}
  .ah .etapy-slider .etapy-grid .vcard:first-child{margin-left:11%}   /* pierwszy i ostatni */
  .ah .etapy-slider .etapy-grid .vcard:last-child{margin-right:11%}   /* też dają się wyśrodkować */

  /* strzałki po bokach */
  .ah .etapy-nav{display:grid;place-items:center;position:absolute;top:42%;transform:translateY(-50%);
    width:42px;height:42px;border-radius:50%;border:1px solid var(--ah-line);background:#fff;
    color:var(--ah-ink);font-size:26px;line-height:1;cursor:pointer;z-index:3;
    box-shadow:0 6px 18px rgba(31,46,77,.14);-webkit-appearance:none;appearance:none;padding:0 0 3px}
  .ah .etapy-nav:disabled{opacity:.35;box-shadow:none}
  .ah .etapy-nav--prev{left:-6px}
  .ah .etapy-nav--next{right:-6px}

  /* kropki postępu */
  .ah .etapy-dots{display:flex;justify-content:center;gap:7px;position:absolute;left:0;right:0;bottom:10px}
  .ah .etapy-dots i{width:7px;height:7px;border-radius:50%;background:var(--ah-gold);opacity:.28;
    transition:opacity .3s var(--ah-ease),transform .3s var(--ah-ease)}
  .ah .etapy-dots i.on{opacity:1;transform:scale(1.35)}
}

/* Popup kontaktowy: nagłówek zmieniony z H1 na H2 (na stronie może być tylko jeden H1).
   Motyw daje h1=1.375rem, h2=1.25rem — wyrównujemy, żeby zmiana była wyłącznie
   semantyczna i nic nie zmieniła wizualnie. */
.popup--sidebar-left .popup__main h2,
.popup--sidebar-right .popup__main h2{font-size:1.375rem}

/* ===== BANER ZGÓD (2026-08-07) — dopasowany do redesignu =====
   Poza `.ah`, bo baner renderuje się w layoucie obok wrappera treści. */
.ah-cookie{position:fixed;left:50%;transform:translateX(-50%) translateY(20px);bottom:18px;z-index:2100;
  width:min(940px,calc(100vw - 32px));background:var(--ah-paper,#FBF8F2);
  border:1px solid var(--ah-line,#E7E0D3);border-radius:20px;
  box-shadow:0 22px 60px -18px rgba(31,46,77,.34);
  opacity:0;visibility:hidden;transition:opacity .35s ease,transform .35s ease,visibility .35s}
.ah-cookie.ah-cookie--on{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ah-cookie__in{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:22px 26px}
.ah-cookie__txt strong{display:block;font-family:'Newsreader',serif;font-size:19px;font-weight:500;
  color:var(--ah-ink,#1F2E4D);margin-bottom:5px}
.ah-cookie__txt p{font-family:'Manrope',sans-serif;font-size:13.5px;line-height:1.6;
  color:var(--ah-ink-soft,#4D5B7A);margin:0}
.ah-cookie__txt a{color:var(--ah-gold,#B08C4F);text-decoration:underline;text-underline-offset:2px}
.ah-cookie__btns{display:flex;gap:10px;flex:none}
/* oba przyciski tej samej wielkosci — odmowa nie moze byc trudniejsza niz zgoda */
.ah-cookie__btn{font-family:'Manrope',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.01em;
  padding:12px 26px;border-radius:999px;cursor:pointer;white-space:nowrap;
  transition:background .25s ease,color .25s ease,border-color .25s ease;-webkit-appearance:none;appearance:none}
.ah-cookie__btn--yes{background:var(--ah-gold,#B08C4F);color:#fff;border:1px solid var(--ah-gold,#B08C4F)}
.ah-cookie__btn--yes:hover{background:#9A7A42;border-color:#9A7A42}
.ah-cookie__btn--no{background:transparent;color:var(--ah-ink,#1F2E4D);border:1px solid var(--ah-line,#E7E0D3)}
.ah-cookie__btn--no:hover{background:var(--ah-linen,#F3ECDF);border-color:var(--ah-ink-soft,#4D5B7A)}
.ah-cookie__btn:focus-visible{outline:2px solid var(--ah-gold,#B08C4F);outline-offset:2px}

@media(max-width:760px){
  .ah-cookie{bottom:0;left:0;transform:translateY(100%);width:100%;
    border-radius:20px 20px 0 0;border-bottom:0}
  .ah-cookie.ah-cookie--on{transform:translateY(0)}
  .ah-cookie__in{grid-template-columns:1fr;gap:16px;padding:20px 18px calc(18px + env(safe-area-inset-bottom))}
  .ah-cookie__btns{display:grid;grid-template-columns:1fr 1fr}
  .ah-cookie__btn{padding:13px 14px;width:100%}
}
/* mobilny pasek kontaktowy nie moze zaslaniac banera */
.ah-cookie--on ~ .mobile-bar,.ah .mobile-bar{z-index:2000}

/* ===== Informacja o cenach pod konfiguratorem (2026-08-07) ===== */
.ah .config-note-wrap{padding-top:0}
.ah .config-note{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;
  background:var(--ah-linen);border:1px solid var(--ah-line);border-radius:20px;padding:28px 30px;
  max-width:900px;margin:0 auto}
.ah .config-note__ic{flex:none;width:42px;height:42px;border-radius:12px;
  background:rgba(176,140,79,.14);color:var(--ah-gold);display:grid;place-items:center}
.ah .config-note__ic svg{width:22px;height:22px;display:block}
.ah .config-note p{font-size:14.5px;line-height:1.65;color:var(--ah-ink-soft);margin:0 0 12px}
.ah .config-note p:last-of-type{margin-bottom:20px}
@media(max-width:640px){
  .ah .config-note{grid-template-columns:1fr;gap:16px;padding:22px 20px}
}
