/* Strona główna: nowy układ, treści ze starej wersji. */
:root{--rv-home-reading:42rem;--rv-home-card-space:var(--rv-space-4);--rv-home-number-size:.85rem;--rv-home-quote-size:1.1rem;--rv-home-slot:var(--rv-space-5);--rv-home-summary-gap:var(--rv-space-3);--rv-home-icon-size:1rem}
.rv-home-section{padding-block:var(--rv-space-6)}
.rv-home-intro{max-width:var(--rv-home-reading);margin-bottom:var(--rv-space-5)}
.rv-home-intro h2{margin-block:var(--rv-space-3)}
.rv-home-number{font-size:var(--rv-home-number-size);font-weight:var(--rv-bold);color:var(--rv-red)}
.rv-impact-list{list-style:none;margin:0;padding:0}
.rv-impact-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--rv-space-3);align-items:center;padding-block:var(--rv-space-4);border-top:var(--rv-border-width) solid var(--rv-grey)}
.rv-impact-list h3{font-size:var(--rv-size-subheading)}
.rv-impact-mark{color:var(--rv-red);font-size:var(--rv-size-subheading)}
.rv-home-why{background:var(--rv-ink);color:var(--rv-paper)}
.rv-reasons-grid{display:grid;gap:var(--rv-space-5)}
.rv-reason h3{margin-block:var(--rv-space-2) var(--rv-space-3)}
.rv-reason{border-top:var(--rv-border-width) solid var(--rv-grey);padding-top:var(--rv-space-3)}
.rv-home-why .rv-home-number{color:var(--rv-paper)}
.rv-reviews-frame{position:relative;isolation:isolate;padding-block:var(--rv-space-4);overflow:hidden}
.rv-reviews-bars{position:absolute;right:var(--rv-space-4);top:0;z-index:-1}
.rv-reviews-grid{display:grid;gap:var(--rv-space-3)}
.rv-review{margin:0;padding:var(--rv-home-card-space);background:var(--rv-paper);border:var(--rv-border-width) solid var(--rv-grey);display:flex;flex-direction:column;justify-content:space-between;gap:var(--rv-space-4)}
.rv-review blockquote{margin:0;font-size:var(--rv-home-quote-size)}
.rv-review figcaption{display:flex;flex-direction:column;font-size:var(--rv-size-note)}
.rv-review figcaption strong{font-weight:var(--rv-bold)}
.rv-work-slot{min-height:var(--rv-home-slot)}
.rv-faq-detail{border-top:var(--rv-border-width) solid var(--rv-grey)}
.rv-faq-detail:last-child{border-bottom:var(--rv-border-width) solid var(--rv-grey)}
.rv-faq-detail summary{display:flex;align-items:center;gap:var(--rv-home-summary-gap);padding-block:var(--rv-space-3);list-style:none;cursor:pointer;font-weight:var(--rv-bold);min-height:var(--rv-button-height)}
.rv-faq-detail summary::-webkit-details-marker{display:none}
.rv-faq-detail[open] .rv-faq-detail>p{padding-bottom:var(--rv-space-4);max-width:var(--rv-home-reading)}
.rv-faq-detail summary:focus-visible{outline:var(--rv-focus-width) solid var(--rv-red);outline-offset:var(--rv-focus-offset)}
@media(min-width:48rem){.rv-reasons-grid,.rv-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:72rem){.rv-reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rv-home-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--rv-space-5)}}

/* Wyrazistsza kompozycja pasków, szkło tylko na wybranych powierzchniach. */
:root {
 --rv-artwork-size:clamp(18rem,32vw,32rem);
 --rv-artwork-stripe-width:clamp(2.5rem,5vw,5rem);
 --rv-artwork-stripe-height:clamp(20rem,42vw,42rem);
 --rv-card-number-size:2.5rem;
 --rv-review-decor-width:clamp(3rem,6vw,6rem);
 --rv-review-decor-height:clamp(25rem,50vw,48rem);
}
.rv-hero-artwork{overflow:hidden;min-height:var(--rv-hero-art-height)}
.rv-hero-orbit{position:relative;width:var(--rv-artwork-size);height:var(--rv-artwork-size);display:grid;place-items:center;isolation:isolate}
.rv-hero-orbit>.rv-bars{--rv-bar-width:var(--rv-artwork-stripe-width);--rv-bar-height:var(--rv-artwork-stripe-height);--rv-bar-gap:var(--rv-space-3)}
.rv-impact-cards{display:grid;gap:var(--rv-space-3)}
.rv-impact-cards li{grid-template-columns:minmax(0,1fr) auto;align-content:space-between;align-items:start;gap:var(--rv-space-4);padding:var(--rv-home-card-space);border:var(--rv-border-width) solid var(--rv-grey);background:var(--rv-paper)}
.rv-impact-cards .rv-home-number{font-size:var(--rv-card-number-size);line-height:var(--rv-line-heading)}
.rv-impact-cards h3{grid-row:2;grid-column:1 / -1;max-width:var(--rv-copy-width)}
.rv-impact-cards .rv-impact-mark{grid-column:2;grid-row:1}
.rv-reviews-frame{padding:var(--rv-space-4) var(--rv-space-2);overflow:hidden}
.rv-reviews-bars{--rv-bar-width:var(--rv-review-decor-width);--rv-bar-height:var(--rv-review-decor-height);--rv-bar-gap:var(--rv-space-4);right:20%;top:var(--rv-space-2);z-index:-1}

@media(min-width:48rem){.rv-impact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Hero plein écran: paski przycinane na granicach sekcji. */
:root {
 --rv-home-hero-title:clamp(2.8rem,5vw,5.5rem);
 --rv-hero-stripe-width:clamp(1.5rem,3vw,3rem);
}
.rv-home-hero{position:relative;overflow:hidden;min-height:calc(100svh - var(--rv-nav-height));display:flex;align-items:center;isolation:isolate}
.rv-home-hero-inner{width:100%;min-height:calc(100svh - var(--rv-nav-height));padding-block:var(--rv-space-5);position:static}
.rv-home-hero h1{font-size:var(--rv-home-hero-title);max-width:none;letter-spacing:var(--rv-track-heading)}
.rv-home-hero-inner>div:first-child{position:relative;z-index:1}
.rv-home-hero .rv-hero-decoration{position:absolute;top:calc(-1 * var(--rv-nav-height));bottom:0;right:0;width:36%;padding:0;min-height:0;display:flex;overflow:visible;z-index:0}
.rv-home-hero .rv-hero-orbit{position:absolute;width:100%;height:160%;top:-30%;display:grid;place-items:center}
.rv-home-hero .rv-hero-orbit>.rv-bars{--rv-bar-height:100%;--rv-bar-width:var(--rv-hero-stripe-width);--rv-bar-gap:var(--rv-space-3)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.rv-reviews-frame{padding-block:var(--rv-space-4)}
.rv-reviews-bars{top:-30%;height:160%;--rv-bar-height:100%;--rv-bar-width:var(--rv-hero-stripe-width);right:24%}

@media(max-width:63.999rem){
 .rv-home-hero .rv-hero-decoration{width:22%;right:-12%;opacity:1}
 .rv-home-hero-inner>div:first-child{max-width:100%}
 .rv-home-hero h1{font-size:clamp(2.6rem,7.5vw,4.5rem)}
}

/* Karty korzyści korzystają z tego samego szkła co pozostałe karty. */





/* Korzyści: kompaktowa sekcja pomocnicza. */
:root {
 --rv-impact-section-space:var(--rv-space-5);
 --rv-impact-card-padding:var(--rv-space-3);
 --rv-impact-card-gap:var(--rv-space-3);
 --rv-impact-title-size:clamp(1.8rem,2.8vw,3rem);
 --rv-impact-card-title-size:clamp(1rem,1.2vw,1.2rem);
 --rv-impact-number-size:1.5rem;
}
#business-impact{padding-block:var(--rv-impact-section-space)}
#business-impact .rv-home-intro{margin-bottom:var(--rv-space-4)}
#business-impact h2{font-size:var(--rv-impact-title-size)}
.rv-impact-cards li{padding:var(--rv-impact-card-padding);gap:var(--rv-impact-card-gap)}
.rv-impact-cards h3{font-size:var(--rv-impact-card-title-size);line-height:var(--rv-line-body)}
.rv-impact-cards .rv-home-number{font-size:var(--rv-impact-number-size)}
@media(min-width:64rem){
 #business-impact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--rv-space-5);align-items:center}
 #business-impact .rv-home-intro{margin-bottom:0}
}

/* Ikony korzyści: dekoracyjne SVG, znaczenie opisuje nagłówek karty. */
:root{--rv-impact-icon-size:1.75rem;--rv-impact-icon-stroke:1.4}
.rv-impact-icon{grid-column:2;grid-row:1;width:var(--rv-impact-icon-size);height:var(--rv-impact-icon-size);color:var(--rv-red);stroke:currentColor;stroke-width:var(--rv-impact-icon-stroke);stroke-linecap:round;stroke-linejoin:round}

/* Dlaczego my: wprowadzenie i dostępny akordeon w dwóch kolumnach. */
:root{--rv-why-reading:36rem;--rv-why-number-color:var(--rv-grey)}
.rv-why-layout{display:grid;gap:var(--rv-space-4)}
.rv-why-layout .rv-home-intro{max-width:var(--rv-why-reading);margin-bottom:0}
.rv-why-detail{border-top:var(--rv-border-width) solid var(--rv-grey)}
.rv-why-detail:last-child{border-bottom:var(--rv-border-width) solid var(--rv-grey)}
.rv-why-detail summary{list-style:none;display:flex;align-items:center;gap:var(--rv-space-3);padding-block:var(--rv-space-3);font-size:var(--rv-size-subheading);font-weight:var(--rv-bold);cursor:pointer;min-height:var(--rv-button-height)}
.rv-why-detail summary::-webkit-details-marker{display:none}
.rv-why-number{font-size:var(--rv-size-note);font-weight:var(--rv-light);color:var(--rv-why-number-color)}
.rv-why-detail>p{padding-bottom:var(--rv-space-4);max-width:var(--rv-why-reading);color:var(--rv-paper)}
.rv-why-detail[open] .rv-why-detail summary:focus-visible{outline:var(--rv-focus-width) solid var(--rv-paper);outline-offset:var(--rv-focus-offset)}
@media(min-width:64rem){.rv-why-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--rv-space-5);align-items:start}}

/* Czerwone akcenty sekcji współpracy, tekst odpowiedzi pozostaje jasny. */
.rv-why-accent,.rv-why-detail .rv-accordion-icon{color:var(--rv-red)}
.rv-why-number{color:var(--rv-red);font-weight:var(--rv-bold)}

.rv-why-detail summary{transition:color var(--rv-motion-button) var(--rv-ease-button)}
.rv-why-detail summary:hover,.rv-why-detail summary:focus-visible{color:var(--rv-paper)}
@media(prefers-reduced-motion:reduce){.rv-why-detail summary{transition:none}}

/* Opinie: ta sama powierzchnia szkła co korzyści, paski przez całą sekcję. */
.rv-opinions-section{position:relative;isolation:isolate;overflow:hidden}
.rv-opinions-inner{position:relative}
.rv-opinions-bars{position:absolute;right:20%;top:-30%;height:160%;--rv-bar-height:100%;--rv-bar-width:var(--rv-hero-stripe-width);--rv-bar-gap:var(--rv-space-3);z-index:-1}
.rv-reviews-frame{isolation:auto;overflow:visible;padding-inline:0}

/* Nagłówek ma kryjące tło: dekoracja nie przebiega pod tekstem wprowadzenia. */
.rv-opinions-section .rv-home-intro{background:var(--rv-paper)}
@media(max-width:47.999rem){.rv-opinions-bars{right:12%}}

/* Poprawka: bazowy styl opinii nie może przykrywać przezroczystości szkła. */


/* Brak jednopikselowej linii odcinającej paski przy górnej granicy. */
.rv-opinions-section{border-top:0}

/* Rosnący wykres za szklanymi kartami korzyści. */
:root{--rv-growth-stroke:12;--rv-growth-opacity:1;--rv-growth-inset:var(--rv-space-2)}
.rv-impact-visual{position:relative;isolation:isolate;padding-block:var(--rv-space-2)}
.rv-growth-backdrop{position:absolute;inset:var(--rv-growth-inset);width:calc(100% - 2 * var(--rv-growth-inset));height:calc(100% - 2 * var(--rv-growth-inset));stroke:var(--rv-red);stroke-width:var(--rv-growth-stroke);stroke-linecap:round;stroke-linejoin:round;opacity:var(--rv-growth-opacity);z-index:-1;pointer-events:none}

/* Wykres w pełnym kolorze marki, wystaje poza obrys kart. */
:root{--rv-growth-overhang:var(--rv-space-4)}
.rv-growth-backdrop{inset:calc(-1 * var(--rv-growth-overhang));width:calc(100% + 2 * var(--rv-growth-overhang));height:calc(100% + 2 * var(--rv-growth-overhang));opacity:1}
@media(max-width:47.999rem){.rv-impact-visual{--rv-growth-overhang:var(--rv-space-2)}}

/* Ostre ikony i wykres; dolny odcinek przycięty na granicy sekcji. */
.rv-impact-icon,.rv-growth-backdrop{stroke-linecap:butt;stroke-linejoin:miter}
#business-impact{position:relative;overflow:hidden}
.rv-growth-backdrop{overflow:visible}

/* Grot nad kartami, dolny schodek bliżej wprowadzenia. */
:root{--rv-growth-top-overhang:var(--rv-space-5)}
.rv-growth-backdrop{top:calc(-1 * var(--rv-growth-top-overhang));height:calc(100% + var(--rv-growth-top-overhang) + var(--rv-growth-overhang))}
/* Linia rozdzielająca nie może tworzyć szczeliny nad ciemnym tłem. */
#why-us{border-top:0;position:relative}

/* Wykres rośnie ukośnie, a cały grot pozostaje w granicach sekcji. */
:root{--rv-growth-top-overhang:var(--rv-space-4)}
.rv-growth-backdrop{top:calc(-1 * var(--rv-growth-top-overhang));height:calc(100% + var(--rv-growth-top-overhang) + var(--rv-growth-overhang))}

/* Miejsce na czytelny grot ponad kartami, z marginesem do granicy sekcji. */
:root{--rv-growth-head-clearance:var(--rv-space-4)}
#business-impact{padding-top:calc(var(--rv-impact-section-space) + var(--rv-growth-head-clearance))}

/* Jedna para pasków przez hero i korzyści - bez styku dwóch dekoracji. */
:root{--rv-opening-stripe-height:220%;--rv-opening-stripe-offset:-60%}
.rv-opening-sections{position:relative;isolation:isolate;overflow:clip}
.rv-opening-decoration{position:absolute;inset:0;pointer-events:none;z-index:-1}
.rv-opening-decoration>.rv-bars{position:absolute;right:20%;top:var(--rv-opening-stripe-offset);height:var(--rv-opening-stripe-height);--rv-bar-height:100%;--rv-bar-width:var(--rv-hero-stripe-width);--rv-bar-gap:var(--rv-space-3)}
.rv-opening-sections .rv-home-hero{isolation:auto;background:transparent}
#business-impact{overflow:visible;padding-top:var(--rv-impact-section-space);border-top:0}
#business-impact .rv-home-intro{position:relative;background:var(--rv-paper)}
.rv-impact-visual{isolation:auto}
@media(max-width:63.999rem){.rv-opening-decoration>.rv-bars{right:-10%;opacity:1}}

/* Najczęściej wybierane usługi - ceny uzupełniamy z danych użytkownika. */
:root{--rv-service-card-space:var(--rv-space-4);--rv-service-price-size:1.4rem;--rv-service-vat-size:var(--rv-size-note)}
.rv-popular-grid{display:grid;gap:var(--rv-space-3)}
.rv-service-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--rv-space-3);padding:var(--rv-service-card-space);min-width:0}
.rv-service-description{flex:1;font-size:var(--rv-service-copy-size)}
.rv-service-price{font-size:var(--rv-service-price-size);font-weight:var(--rv-bold);margin-top:var(--rv-space-2)}
.rv-service-price small{font-size:var(--rv-service-vat-size);font-weight:var(--rv-light)}
.rv-service-card .rv-button{width:100%;gap:var(--rv-space-2);font-size:var(--rv-size-note)}
@media(min-width:48rem){.rv-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:88rem){.rv-popular-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Paski przechodzą przez całą sekcję usług, za szklanymi kartami. */
.rv-popular-services{position:relative;isolation:isolate;overflow:clip;border-top:0}
.rv-services-inner{position:relative}
.rv-services-bars{position:absolute;right:20%;top:-60%;height:220%;--rv-bar-height:100%;--rv-bar-width:var(--rv-hero-stripe-width);--rv-bar-gap:var(--rv-space-3);z-index:-1;pointer-events:none}
.rv-popular-services .rv-home-intro{position:relative;background:var(--rv-paper)}
.rv-service-card .rv-button{white-space:nowrap}
@media(max-width:47.999rem){.rv-services-bars{right:12%}}

/* Krótkie opisy i trzy elementy zakresu na każdej karcie. */
:root{--rv-service-copy-size:1rem}

.rv-service-time{font-size:var(--rv-service-copy-size)}
.rv-service-time strong{font-weight:var(--rv-bold)}

.rv-opinions-section.rv-section--line-bottom::after,.rv-popular-services.rv-section--line-bottom::after{bottom:0}
#realizacje.rv-section--line-top::before,#faq.rv-section--line-top::before{top:calc(-1 * var(--rv-section-divider-width))}

/* Separator hero i korzyści leży pod wspólną dekoracją pasków. */
.rv-opening-sections #hero.rv-section--line-bottom::after,.rv-opening-sections #business-impact.rv-section--line-top::before{z-index:-2}

/* Czerwony cudzysłów na każdej karcie opinii. */
:root{--rv-review-quote-size:var(--rv-space-4);--rv-review-quote-gap:var(--rv-space-2)}
.rv-review{position:relative}
.rv-review-quote{position:absolute;right:var(--rv-home-card-space);bottom:var(--rv-home-card-space);width:var(--rv-review-quote-size);height:auto;fill:var(--rv-red);pointer-events:none}
.rv-review figcaption{padding-right:calc(var(--rv-review-quote-size) + var(--rv-review-quote-gap));min-height:var(--rv-review-quote-size)}

/* Pisane nazwy usług obok drugiej linii nagłówka. */
:root{--rv-typewriter-size:clamp(1.1rem,1.6vw,1.5rem);--rv-typewriter-width:25ch;--rv-typewriter-speed:80ms;--rv-typewriter-delete-speed:45ms;--rv-typewriter-pause:1400ms;--rv-typewriter-cursor-duration:1s}
.rv-home-hero h1 .rv-hero-heading-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--rv-space-2)}
.rv-home-hero .rv-hero-service,.rv-home-hero .rv-hero-service-word{color:var(--rv-grey);font-size:var(--rv-typewriter-size);font-weight:var(--rv-light);letter-spacing:normal;line-height:var(--rv-line-body)}
.rv-hero-service{display:inline-block;min-width:var(--rv-typewriter-width)}
.rv-hero-service-word::after{content:"";display:inline-block;height:1em;border-right:var(--rv-border-width) solid currentColor;margin-left:var(--rv-space-1);vertical-align:text-bottom;animation:rv-typewriter-cursor var(--rv-typewriter-cursor-duration) step-end infinite}
@keyframes rv-typewriter-cursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.rv-hero-service-word::after{animation:none;display:none}}

/* Nazwy usług nad nagłówkiem: czerwony akcent po zakończeniu pisania. */
.rv-home-hero .rv-hero-service-word{transition:color var(--rv-motion-button) var(--rv-ease-button)}
.rv-home-hero .rv-hero-service-word.is-complete{color:var(--rv-red)}
@media(prefers-reduced-motion:reduce){.rv-home-hero .rv-hero-service-word{transition:none}}
