/* ==========================================================================
   AURA HOME v3 — strona główna
   Mobile = 1:1 z ramką Figmy „v3 - iPhone 17 - 1” (402 px).
   Desktop = rozwinięcie tego samego systemu (ten sam rytm, większa skala).

   TYPOGRAFIA — „vertical trim”
   Figma mierzy tekst od górnej krawędzi wersalików do linii bazowej ostatniego
   wiersza, przeglądarka — od krawędzi line-boxa. Różnicę zdejmują pseudo-elementy
   .ah3-tr::before/::after o ujemnych marginesach --tt / --tb, liczonych wprost
   z --fs (font-size) i --lh (line-height):

     Inter ...................... tt = tb = L/2 − 0.36377·S
     Playfair na strucie Intera . tt = L/2 − 0.34423·S,  tb = L/2 − 0.36377·S
     Playfair jako krój bloku ... tt = L/2 − 0.29250·S,  tb = L/2 − 0.41550·S
     Poppins .................... tt = tb = L/2 − 0.35000·S

   Dzięki temu odstępy z Figmy wpisujemy wprost, a zmiana skali na desktopie to
   wyłącznie podmiana --fs/--lh — trim przelicza się sam.
   ========================================================================== */

/* ---------- Fonty (self-hosted, subsety latin + latin-ext) ---------- */
@font-face{font-family:"AH3 Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/home-v3/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"AH3 Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/home-v3/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"AH3 Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/home-v3/inter-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"AH3 Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/home-v3/inter-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Strzałki („O nas →”) — osobny subset tego samego Intera 4.001; googlowe subsety latin/latin-ext nie mają U+2192 */
@font-face{font-family:"AH3 Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/home-v3/inter-arrows.woff2) format("woff2");unicode-range:U+2190-2193}
@font-face{font-family:"AH3 Playfair";font-style:italic;font-weight:400 900;font-display:swap;src:url(../fonts/home-v3/playfair-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"AH3 Playfair";font-style:italic;font-weight:400 900;font-display:swap;src:url(../fonts/home-v3/playfair-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"AH3 Poppins";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/home-v3/poppins-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"AH3 Poppins";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/home-v3/poppins-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"AH3 Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/home-v3/poppins-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"AH3 Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/home-v3/poppins-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Root ---------- */
.ah3{
	--ink:#191919;
	--beige:#F5F2EF;
	--sand:#F0E2CB;      /* tło hero */
	--green:#3F880B;
	--orange:#FF4600;
	--amber:#FFA800;
	--lavender:#C0BDDA;
	--navy:#00096B;
	--hair:rgba(25,25,25,.1);
	--f-inter:"AH3 Inter",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--f-play:"AH3 Playfair","Playfair Display",Georgia,serif;
	--f-pop:"AH3 Poppins",Poppins,"AH3 Inter",sans-serif;

	/* marginesy boczne — na mobile dokładnie jak w Figmie (14 / 16) */
	--edge-l:14px;
	--edge-r:16px;
	--top:32px;
	--gap-sec:32px;      /* odstęp między sekcjami */
	--card:324px;        /* szerokość karty promocji / wpisu bloga */
	--tile:178px;        /* szerokość kafelka rolki */

	position:relative;
	container-type:inline-size;
	padding:var(--top) 0 var(--gap-sec);
	background:#fff;
	color:var(--ink);
	font:400 11px/16px var(--f-inter);
	letter-spacing:0;
	text-align:left;
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	font-optical-sizing:none;
	overflow-x:clip;
}
.ah3.ah3--hero{padding-top:0}   /* hero przylega do nagłówka */
.ah3 *,.ah3 *::before,.ah3 *::after{box-sizing:border-box}
.ah3 :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote){margin:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
.ah3 :where(ul,ol){list-style:none}
.ah3 :where(a){color:inherit;text-decoration:none}
.ah3 :where(a:hover,a:focus){color:inherit}
.ah3 :where(img,svg,video,iframe){display:block;max-width:none}
.ah3 :where(button){margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:none;line-height:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:none;min-height:0}
.ah3 :where(a,button):focus-visible{outline:2px solid var(--green);outline-offset:2px}

/* ---------- Osłona przed CSS motywu ----------
   Motyw ma reguły o wyższej specyficzności niż nasze klasy (0,1,0), więc je
   neutralizujemy wprost — wykryte porównaniem stylów z CSS motywu i bez niego:
     .site button              { font-size:14px }   (≤768 px)  → przyciski 14 px zamiast 10 px
     .site-content ul li       { margin-bottom:3px }            → +3 px w siatce „Efektów”
   Rozmiar przycisku nadal pochodzi z --fs, więc nadpisania w media queries działają. */
.ah3 button{font-size:inherit}
.ah3 .ah3-btn{font-size:var(--fs)}
.ah3 .ah3-fx__grid>li{margin:0}

/* ---------- Trim ---------- */
.ah3-tr::before,.ah3-tr::after{content:"";display:table}
.ah3-tr::before{margin-bottom:calc(-1 * var(--tt,0px))}
.ah3-tr::after{margin-top:calc(-1 * var(--tb,0px))}

/* wiersze tekstu mieszanego (Inter + Playfair) */
.ah3-l{display:block}
.ah3-pf{font-family:var(--f-play);font-style:italic;font-weight:500;line-height:0}
.ah3-pf--b{font-weight:700}

/* ---------- Typografia ---------- */
.ah3-h{--fs:16px;--lh:19px;--tt:calc(var(--lh)/2 - 0.34423 * var(--fs));--tb:calc(var(--lh)/2 - 0.36377 * var(--fs));display:block;margin:0;color:inherit;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-h__acc{position:relative}
.ah3-h__acc::after{content:"";position:absolute;left:0;width:100%;top:calc(0.8115 * var(--fs));height:calc(0.5 * var(--fs));background:rgba(63,136,11,.2);pointer-events:none}
/* --hl = szerokość podkreślenia z Figmy (px przy czcionce 16 px) — skalujemy ją
   razem z czcionką, inaczej na desktopie pokrywa tylko połowę słów. */
.ah3-h__acc[style*="--hl"]::after{width:calc(var(--hl) * var(--fs) / 16)}
/* margin-right:-1px — Figma mieści w wierszu ~1 px więcej niż przeglądarka
   (np. „…włosach oraz w codziennym” = 373 px w polu 372 px). Tekst jest
   wyrównany do lewej, więc nic się nie przesuwa, zmienia się tylko miejsce
   łamania. Sprawdzone automatycznie: 42/42 tekstów łamie się jak w projekcie. */
.ah3-p{--fs:11px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin-right:-1px;font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3-link{--fs:10px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);display:block;flex:0 0 auto;font:600 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap;text-decoration:underline;text-decoration-thickness:.7px;text-underline-offset:1.73px}
.ah3-stars{display:block;flex:0 0 auto;width:52px;height:8px}

/* Pigułka: wysokość = 2 × padding pionowy + wysokość wersalików */
.ah3-btn{--fs:10px;--lh:12px;--pad-y:12px;display:inline-flex;align-items:flex-start;justify-content:center;gap:6px;height:31px;padding:calc(var(--pad-y) - (var(--lh)/2 - 0.36377 * var(--fs))) 20px 0;border-radius:100px;font:600 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap;text-decoration:none;transition:filter .2s,background-color .2s}
.ah3-btn:hover{filter:brightness(.94)}
.ah3-btn--orange{background:var(--orange);color:#fff}
.ah3-btn--lavender{background:var(--lavender);color:var(--ink)}
.ah3-btn--white{background:#fff;color:var(--ink)}
.ah3-btn--outline{height:33px;padding-left:19px;padding-right:19px;border:1px solid var(--hair);background:#fff;color:var(--ink)}
.ah3-btn--outline span{font-weight:400}
.ah3-btn--11{--fs:11px;--lh:16px;height:32px;padding-left:16px;padding-right:16px}
.ah3-btn--11 svg{align-self:center;margin-top:calc(-1 * (var(--pad-y) - (var(--lh)/2 - 0.36377 * var(--fs))));width:8px;height:8px}

/* Nagłówek sekcji + link po prawej (wspólna linia bazowa) */
.ah3-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 var(--edge-r) 0 var(--edge-l)}

/* Poziomy scroller */
.ah3-scroller{display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 var(--edge-l);scroll-padding-inline:var(--edge-l)}
.ah3-scroller::-webkit-scrollbar{display:none}
.ah3-scroller>*{flex:0 0 auto;scroll-snap-align:start}

.ah3-line{display:block;height:1px;margin:0 var(--edge-l);border:0;background:var(--hair)}

/* Tło z falami: fala (normal) + kolor (screen), krycie na całej warstwie */
.ah3-waves{position:relative;isolation:isolate;overflow:hidden}
.ah3-waves::before{--w-w:100cqw;content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--w-op,.2);background:linear-gradient(var(--w-col),var(--w-col)),url(../img/home-v3/waves.webp) var(--w-x,0px) calc(var(--w-w) * var(--w-y,-233) / 402) / var(--w-w) calc(var(--w-w) * 536 / 402) no-repeat var(--w-base);background-blend-mode:screen,normal}

/* ==========================================================================
   Akapity składane z wierszy (hero, pasy IRiBS i zakładu)
   Domyślnie każdy wiersz stoi osobno jak w Figmie — z wysokościami wierszy
   z projektu (wiersz z Playfairem jest wyższy: 22/20/18/20 przy 16 px daje
   odstępy linii bazowych 21/19/19). Gdy najszerszy wiersz projektu nie mieści
   się w kolumnie (węższe telefony), wiersze płyną naturalnie — próg w em
   liczony jest od kontenera .ah3-lines (jego font-size = rozmiar tekstu).
   ========================================================================== */
.ah3-lines{container-type:inline-size;font-size:var(--lines-fs,16px)}

/* ==========================================================================
   0. Hero
   ========================================================================== */
.ah3-hero{position:relative;background:var(--sand);overflow:hidden}
.ah3-hero__media{position:relative;display:block;aspect-ratio:402/169;overflow:hidden}
.ah3-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ah3-hero__body{padding:0 16px 32.18px 14px}
.ah3 .ah3-chip--white{width:-moz-max-content;width:max-content;min-width:242px;padding-right:15px;background:#fff}
.ah3-hero .ah3-lines{margin-top:16.18px}
.ah3-hero__txt{--fs:16px;--tt:calc(.32373 * var(--fs));--tb:calc(.26123 * var(--fs));font:400 var(--fs)/calc(1.25 * var(--fs)) var(--f-inter);margin-right:-2px}
.ah3-hero__txt .ah3-l:nth-child(1){line-height:calc(1.375 * var(--fs))}
.ah3-hero__txt .ah3-l:nth-child(2){line-height:calc(1.25 * var(--fs))}
.ah3-hero__txt .ah3-l:nth-child(3){line-height:calc(1.125 * var(--fs))}
.ah3-hero__txt .ah3-l:nth-child(4){line-height:calc(1.25 * var(--fs))}
/* Wiersz hero z projektu ma 371 px — od tej szerokości kolumny wiersze idą 1:1 */
@container (max-width:23.24em){
	.ah3-lines--hero .ah3-hero__txt .ah3-l{display:inline;line-height:inherit}
	.ah3-lines--hero .ah3-hero__txt{--tt:calc(.26123 * var(--fs));--tb:var(--tt)}
	.ah3-lines--hero .ah3-h__acc{white-space:nowrap}
}
.ah3-hero+.ah3-promo{margin-top:31.49px}   /* 32 px w Figmie do pudełka nagłówka */

/* ==========================================================================
   1. Promocje
   ========================================================================== */
.ah3-promo__track{gap:16px;margin-top:15.672px}
.ah3-promo__card{position:relative;display:block;width:var(--card);aspect-ratio:324/200;border-radius:12px;overflow:hidden;color:#fff;background:var(--beige);isolation:isolate}
.ah3-promo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ah3-promo__body{position:absolute;left:16px;right:16px;bottom:16.4px}
.ah3-promo__title{--fs:16px;--lh:21px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:calc(var(--lh)/2 - 0.36377 * var(--fs));display:block;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-promo__title .ah3-h__acc::after{background:rgba(255,255,255,.2)}
.ah3-promo__fine{--fs:8px;--lh:11.2px;--tt:calc(var(--lh)/2 - 0.35 * var(--fs));--tb:var(--tt);display:block;margin-top:16.364px;font:300 var(--fs)/var(--lh) var(--f-pop)}
.ah3-promo__fine b{font-weight:500}
.ah3-promo__nav{display:none}
.ah3-badge{position:absolute;top:16px;right:16px;width:80px;height:80px;border-radius:50%;background:#fff;color:var(--navy);text-align:center}
.ah3-badge__big{position:absolute;left:0;right:0;top:14.27px;font:800 24px/24px var(--f-inter);white-space:nowrap}
.ah3-badge__small{position:absolute;left:0;right:0;top:38.43px;font:italic 700 11px/12px var(--f-play)}

/* ==========================================================================
   2 / 5. Pasy IRiBS i AuraLab360
   ========================================================================== */
.ah3-band{min-height:203px;margin-top:var(--gap-sec);padding:32px var(--edge-l) 32px var(--edge-r);text-align:center;--w-base:var(--beige);--w-col:var(--amber);--w-op:.2;background:var(--beige)}
.ah3-band--dark{color:#fff;--w-base:var(--ink);--w-col:#010D27;--w-op:.3;background:var(--ink)}
.ah3-band__logo{display:block;width:auto;height:24px;margin:0 auto}
.ah3-band__txt{--fs:16px;--tt:5.179px;--tb:3.18px;margin-top:16px;font:400 var(--fs)/calc(1.1875 * var(--fs)) var(--f-inter)}
.ah3-band__txt .ah3-l:nth-child(1){line-height:calc(1.375 * var(--fs))}
.ah3-band__txt .ah3-l:nth-child(2){line-height:calc(1.25 * var(--fs))}
.ah3-band__txt .ah3-l:nth-child(3){line-height:calc(1.125 * var(--fs))}
.ah3-band .ah3-btn{margin-top:16.364px}
/* Akapity pasów: wiersz pod wierszem (jak w projekcie), na wąskich ekranach naturalnie */
.ah3-band__txt .ah3-l:nth-child(4){line-height:calc(1.25 * var(--fs))}
.ah3-band__txt--4{--tb:calc(.26123 * var(--fs))}
@container (max-width:21.29em){
	.ah3-lines--iribs .ah3-band__txt .ah3-l,.ah3-lines--lab .ah3-band__txt .ah3-l{display:inline;line-height:inherit}
	.ah3-lines--iribs .ah3-band__txt,.ah3-lines--lab .ah3-band__txt{--tt:calc(.23623 * var(--fs));--tb:var(--tt);line-height:calc(1.2 * var(--fs))}
}
/* Pas IRiBS: treść wyśrodkowana na 201 px (padding 14/14), fale od góry pasa */
.ah3-band--iribs{--w-y:-6}
.ah3-band--iribs .ah3-band__txt{margin-top:16.18px}
.ah3-band__rule{display:block;height:1px;margin:31.18px 0 0;border:0;background:var(--hair)}
.ah3 .ah3-band__sub{--fs:16px;--lh:calc(1.375 * var(--fs));--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin-top:32.18px;color:inherit;font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3 .ah3-why{display:flex;flex-direction:column;gap:8px;margin:16.18px 1px 0;text-align:left}
.ah3 .ah3-why>li{margin:0}
.ah3-why__card{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:12px;align-items:center;padding:16.635px 16px 15.97px;border-radius:12px;background:#fff}
.ah3-why__ico{display:block;width:24px;height:24px}
.ah3-why__body{min-width:0}
.ah3 .ah3-why__t{--fs:12px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);color:inherit;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-why__d{--fs:11px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin-top:11.63px;font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3-band--iribs .ah3-btn{min-width:156px;margin-top:16px}   /* min-width = szerokość z Figmy (zaokrągla HUG w górę) */
@media (max-width:699px){
	.ah3-band--iribs{padding-left:14px}   /* reguła ogólna daje 16/14 — IRiBS w projekcie jest symetryczny */
}
/* Pas zakładu: bez logo, 4 wiersze; wysokość wynika z treści (182 px w projekcie) */
.ah3-band.ah3-band--dark{min-height:0}
.ah3-band--dark .ah3-band__txt{margin-top:.18px}
.ah3-band--dark .ah3-btn{min-width:133px;margin-top:16.18px}
.ah3-cert{--fs:8px;--lh:12px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin:16px 12px 0 var(--edge-l);font:400 var(--fs)/var(--lh) var(--f-inter);text-align:center}
.ah3-cert+.ah3-line{margin-top:15.09px}

/* ==========================================================================
   3. Rolki (UGC) + 11. Social
   ========================================================================== */
.ah3-sec{margin-top:var(--gap-sec)}
.ah3-sec--ugc{margin-top:31.49px}
.ah3-intro{padding:0 var(--edge-r) 0 var(--edge-l)}
.ah3-intro .ah3-p{margin-top:15.672px}
/* Wiersz oceny pod nagłówkiem: gwiazdki 10 px + „4.9 (54 435) zweryfikowane przez TrustMate”.
   Linia bazowa tekstu = dół gwiazdek. */
.ah3-rate{display:flex;align-items:flex-end;gap:4px;margin-top:15.68px}
.ah3 .ah3-stars.ah3-stars--10{width:62px;height:10px}
.ah3-rate__txt{--fs:11px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);min-width:0;font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3-rate__txt b{font-weight:600}
.ah3-intro .ah3-rate+.ah3-p{margin-top:16px}
@media (max-width:339px){
	.ah3-rate{flex-wrap:wrap;row-gap:8px}
}
/* Taśma rolek: jedzie sama (JS przesuwa transformem — subpikselowo, płynnie),
   da się ją też złapać i przeciągnąć. Bez natywnego przewijania i bez snapowania,
   bo to one powodowały szarpanie. */
.ah3-reels{position:relative;margin-top:var(--gap-sec);overflow:hidden}
.ah3-reels,.ah3-logos{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade,24px),#000 calc(100% - var(--fade,24px)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade,24px),#000 calc(100% - var(--fade,24px)),transparent 100%)}
.ah3-reels__track{display:flex;gap:16px;width:max-content;padding:0 var(--edge-l);will-change:transform;touch-action:pan-y;cursor:grab}
/* Karuzela (sekcja social) — zwykłe przewijanie strzałką, jak w projekcie. */
.ah3-reels--carousel{-webkit-mask-image:none;mask-image:none}
.ah3-reels--carousel .ah3-reels__track{width:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:default;will-change:auto;overscroll-behavior-x:contain}
.ah3-reels--carousel .ah3-reels__track::-webkit-scrollbar{display:none}
.ah3-reels--carousel .ah3-tile{scroll-snap-align:start}
.ah3-reels__track.is-dragging{cursor:grabbing}
.ah3-logos__track{cursor:default}
.ah3-reels__track>*{flex:0 0 auto}
.ah3-tile{position:relative;display:block;width:var(--tile);aspect-ratio:178/282;border-radius:12px;overflow:hidden;background:#e9e6e2;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* Kafelek z wideo ma proporcje nagrania (9:16) — dzięki temu nic nie jest ucięte. */
.ah3-tile--video{aspect-ratio:9/16}
.ah3-tile__media{display:block;width:100%;height:100%;object-fit:cover;background:#e9e6e2;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.ah3-reels__track:not(.is-dragging) .ah3-tile:hover .ah3-tile__media{transform:scale(1.03)}
.ah3-tile__badge{position:absolute;left:10px;bottom:10px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(25,25,25,.55);color:#fff;backdrop-filter:blur(6px)}
.ah3-tile__badge svg{width:15px;height:15px}
/* Oznaczenie produktu na nagraniu — jak tag na Instagramie. Ma być czytelne,
   ale nie zasłaniać kadru: półprzezroczysta pastylka wjeżdża dopiero wtedy,
   gdy taśma wejdzie w widok (klasę `is-in` dokłada skrypt). */
.ah3-tag{position:absolute;left:8px;bottom:8px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 16px);z-index:2;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border-radius:999px;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4);box-shadow:0 6px 18px rgba(25,25,25,.16);color:var(--ink);opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),background .25s}
.ah3-reels.is-in .ah3-tag{opacity:1;transform:none;transition-delay:.5s}
.ah3-tag:hover{background:rgba(255,255,255,.95)}
/* Bez miniatury (produkt spoza tej instalacji) pastylka ma równe marginesy. */
.ah3-tag:not(:has(.ah3-tag__thumb)){padding:7px 12px}
.ah3-tag__thumb{flex:0 0 auto;display:block;width:26px;height:26px;border-radius:50%;overflow:hidden;background:#fff}
.ah3-tag__img{display:block;width:100%;height:100%;object-fit:contain}
.ah3-tag__text{display:block;min-width:0}
.ah3-tag__label{display:none}
.ah3-tag__name{display:block;overflow:hidden;font:600 10px/14px var(--f-inter);white-space:nowrap;text-overflow:ellipsis}
.ah3-tag__go{flex:0 0 auto;display:grid;place-items:center;width:8px;height:8px;opacity:.45}
.ah3-tag__go svg{width:8px;height:8px}
.ah3-arrow{position:absolute;top:calc(50% - 16px);right:24px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(25,25,25,.12);transition:opacity .2s,transform .2s}
.ah3-arrow svg{width:32px;height:32px}
.ah3-arrow[hidden]{display:none}
.ah3-logos{height:40px;margin-top:var(--gap-sec);overflow:hidden}
.ah3-logos__track{display:flex;gap:8px;width:max-content;will-change:transform}
.ah3-logos__track img{width:112px;height:40px;object-fit:fill}
.ah3-sec--ugc+.ah3-line,.ah3-rev+.ah3-line,.ah3-logos+.ah3-line{margin-top:31px}
.ah3-chips{gap:8px;margin-top:16px}
.ah3-chip{--fs:11px;--lh:16px;--pad-y:12px;display:block;height:32px;padding:calc(var(--pad-y) - (var(--lh)/2 - 0.36377 * var(--fs))) 16px 0;border-radius:100px;background:var(--beige);font:600 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap;transition:background-color .2s}
.ah3-chip:hover{background:#ece7e1}
.ah3-chip[style*="--chip-ml"]{margin-left:var(--chip-ml)}
.ah3-sec--soc .ah3-reels{margin-top:24px}

/* ==========================================================================
   4. Efekty potwierdzone badaniami
   ========================================================================== */
.ah3-fx{padding:0 var(--edge-r) 0 var(--edge-l)}
.ah3-fx>.ah3-p{margin-top:15.672px}
.ah3-fx__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:32px;align-items:start;margin-top:24px}
.ah3-fx__ico{width:24px;height:24px}
.ah3-fx__t{--fs:12px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin-top:12.6px;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-fx__d{margin-top:11.67px}
.ah3-fx__d b{font-weight:600}
/* Link pod cechą: blok o szerokości tekstu — inline-block dołożyłby wiersz strutu (+4 px) */
.ah3-fx__link{--fs:11px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);display:block;width:-moz-fit-content;width:fit-content;margin-top:16px;font:600 var(--fs)/var(--lh) var(--f-inter);text-decoration:underline;text-decoration-thickness:.75px;text-underline-offset:1.9px}
.ah3-fx__link:hover{text-decoration-thickness:1.2px}

/* ==========================================================================
   6. Kategorie (akordeon)
   ========================================================================== */
.ah3-cats{padding:0 12px 0 var(--edge-l)}
.ah3-acc{display:flex;flex-direction:column;gap:8px;margin-top:15.672px}
.ah3-acc__item{border-radius:12px;background:var(--beige);padding:15px 12px 15px 16px}
.ah3-acc__h{margin:0;font:inherit}
/* Nagłówek H1 istnieje dla SEO i czytników ekranu, ale nie zajmuje miejsca. */
.ah3-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ah3-acc__head{display:flex;align-items:flex-start;gap:17px;width:100%;text-align:left}
.ah3-acc__label{flex:1 1 auto;min-width:0;margin-top:1px}
.ah3-acc__btn{position:relative;display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;transition:background-color .25s}
.ah3-acc__btn svg{width:8px;height:8px;overflow:visible;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ah3-acc__btn path{stroke:var(--ink);transition:stroke .25s}
.ah3-acc__item.is-open .ah3-acc__btn{background:var(--ink)}
.ah3-acc__item.is-open .ah3-acc__btn svg{transform:rotate(45deg)}
.ah3-acc__item.is-open .ah3-acc__btn path{stroke:#fff}
.ah3-acc__wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.7,.2,1)}
.ah3-acc__item.is-open .ah3-acc__wrap{grid-template-rows:1fr}
.ah3-acc__panel{min-height:0;overflow:hidden}
.ah3-acc__inner{padding:15px 0 5px}
/* Siatka kart sklepu w akordeonie. Selektory są celowo „ciężkie” — listing
   sklepu ustawia swoje reguły z !important, więc trzeba je przebić.
   Uwaga: szablon karty wstrzykuje do <ul> własne <style> i <script>, dlatego
   liczymy `nth-of-type` (tylko <li>), a nie `nth-child`. */
body .ah3 .ah3-acc__products ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;list-style:none}
body .ah3 .ah3-acc__products ul.products::before,body .ah3 .ah3-acc__products ul.products::after{content:none!important}
body .ah3 .ah3-acc__products ul.products li.product{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;float:none!important;clear:none!important}
/* Kafelek quizu domyślnie nie istnieje — włącza go ta szerokość, na której
   w rzędzie faktycznie brakuje kart (4 kolumny od 700 px, 2 kolumny niżej). */
body .ah3 .ah3-acc__products ul.products li.ah3-fill{display:none!important;margin:0!important}
body .ah3 .ah3-acc__products ul.products li.ah3-fill>.ah3-quiz{flex:1 1 auto;width:100%}
@media (min-width:360px) and (max-width:699px){
	body .ah3 .ah3-acc__products ul.products li.ah3-fill.is-sm{display:flex!important}
}
@media (min-width:700px){
	body .ah3 .ah3-acc__products ul.products li.ah3-fill.is-lg{display:flex!important}
}
/* Karty w rzędzie mają równać wysokość, a przycisk ma siedzieć na dole. */
body .ah3 .ah3-acc__products ul.products li.product{display:flex!important;flex-direction:column!important;height:100%!important}
body .ah3 .ah3-acc__products ul.products li.product .aura-card{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:100%!important}
body .ah3 .ah3-acc__products ul.products li.product .aura-card__body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important}
body .ah3 .ah3-acc__products ul.products li.product .aura-card__footer{margin-top:auto!important}
/* Telefon: produkty jadą karuzelą — w kadrze dwie karty po 166 px (jak w projekcie),
   kolejne za krawędzią, przewijane palcem albo strzałką na drugim zdjęciu.
   Strzałka stoi na środku zdjęcia (kwadrat o boku karty): (szerokość − odstęp) / 4. */
.ah3-acc__products{position:relative;container-type:inline-size}
.ah3-acc__products>.ah3-arrow{top:calc((100cqw - 16px) / 4 - 16px);right:8px}
@media (max-width:699px){
	body .ah3 .ah3-acc__products ul.products{display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;gap:16px!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	body .ah3 .ah3-acc__products ul.products::-webkit-scrollbar{display:none}
	body .ah3 .ah3-acc__products ul.products li.product,
	body .ah3 .ah3-acc__products ul.products li.ah3-fill{flex:0 0 calc((100% - 16px) / 2)!important;height:auto!important;scroll-snap-align:start}
	/* uniesienie karty po najechaniu ucinałby kadr karuzeli */
	body .ah3 .ah3-acc__products ul.products li.product:hover{transform:none;box-shadow:none}
}
/* Bardzo wąskie telefony: jedna karta i zapowiedź następnej */
@media (max-width:359px){
	body .ah3 .ah3-acc__products ul.products li.product,
	body .ah3 .ah3-acc__products ul.products li.ah3-fill{flex-basis:72%!important}
	.ah3-acc__products>.ah3-arrow{top:calc(36cqw - 16px)}
}
@media (min-width:700px){
	.ah3-acc__products>.ah3-arrow{display:none}
}
/* Ta sama karta co na listingu, tylko dostrojona do typografii strony głównej. */
body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__title{font-size:13px!important;line-height:18px!important}
/* Cele suplementacyjne dokładamy filtrem (na listingu sklepu tych produktów nie mają).
   Na telefonie karta ma ~146 px: etykieta zajmowała cały wiersz, a z celów zostawały
   dwa słowa z wielokropkiem — więc tam ich nie pokazujemy, a od 700 px tniemy do 2 linii. */
body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__reasons{display:none!important}
body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__reasons,
body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__sales,
body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__points{font-size:10px!important;line-height:14px!important}
body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__price{font-size:16px!important;line-height:22px!important}
body .ah3 .ah3-acc__products ul.products li.product .aura-card .button{min-height:0!important;height:38px!important;padding:0 14px!important;font-size:11px!important;line-height:38px!important}
.ah3-acc__all{--fs:10px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);display:block;margin-top:24px;text-align:center;font:600 var(--fs)/var(--lh) var(--f-inter);text-decoration:underline;text-decoration-thickness:.7px;text-underline-offset:1.73px}
.ah3-acc__all:hover{text-decoration-thickness:1.2px}
.ah3-cats .ah3-btn--outline{display:flex;width:max-content;margin:16px auto 0}
.ah3-pc{display:block;min-width:0;color:inherit}
.ah3-pc__img{display:block;width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#DCDFE4}
.ah3-pc__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.ah3-pc:hover .ah3-pc__img img{transform:scale(1.04)}
.ah3-pc__rate{display:flex;align-items:flex-end;gap:4px;height:8px;margin-top:12px}
.ah3-pc__score{--fs:10px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);position:relative;top:.27px;font:500 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap}
.ah3-pc__score span{font-weight:400}
.ah3-pc__name{--fs:12px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);display:block;max-width:140px;margin-top:8px;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-pc__goals{--fs:8px;--lh:12px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);display:block;margin-top:12.27px;font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3-pc__goals b{font-weight:500}

/* ==========================================================================
   7. Quiz
   ========================================================================== */
.ah3-quiz{min-height:190px;margin:var(--gap-sec) 13px 0;padding:32px 2px;border-radius:12px;text-align:center;--w-base:var(--amber);--w-col:var(--orange);--w-op:.3;--w-x:-14px;background:var(--amber)}
.ah3-quiz__txt{--fs:16px;--lh:21px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:calc(var(--lh)/2 - 0.36377 * var(--fs));font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3-quiz__checks{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:16.36px}
.ah3-quiz__row{display:flex;align-items:center;gap:6px;height:12px}
.ah3-quiz__row svg{flex:0 0 12px;width:12px;height:12px}
.ah3-quiz__row p{--fs:11px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);font:italic 400 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap}
.ah3-quiz__row b{font-weight:600}
.ah3-quiz .ah3-btn{margin-top:16px}
.ah3-quiz+.ah3-line{margin-top:31px}
/* Ten sam kafel co sekcja z quizem, tyle że domyka niepełny rząd w kategoriach.
   Własny kontener zapytań, żeby fala w tle skalowała się do kafelka, a nie do strony.
   Selektory są podwójne (.ah3-quiz.ah3-quiz--card) celowo: sekcja ma na szerszych ekranach
   własne marginesy i paddingi, a te reguły stoją niżej w pliku — bez podbicia specyficzności
   kafelek w kolumnie dostawał marginesy sekcji i robił się węższy od kart. */
.ah3-quiz.ah3-quiz--card{container-type:inline-size;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0;margin:0;padding:24px 14px;border-radius:12px;--w-w:190cqw;--w-x:-45cqw}
.ah3-quiz--card .ah3-quiz__txt{--fs:13px;--lh:18px}
.ah3-quiz--card .ah3-quiz__checks{gap:8px;margin-top:14px}
.ah3-quiz--card .ah3-quiz__row p{--fs:10px;--lh:14px}
.ah3-quiz.ah3-quiz--card .ah3-btn{align-self:center;margin-top:18px}

/* ==========================================================================
   8. Opinie
   ========================================================================== */
.ah3-rev{padding:0 12px 0 var(--edge-l)}
.ah3-rev__card{margin-top:15.68px;padding:19px 16px 16px;border-radius:12px;background:var(--beige);overflow:hidden}
/* Nagłówek pudła: źródło + suma po lewej, strzałki po prawej (dół = dół gwiazdek) */
.ah3-rev__top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.ah3-rev__head{min-width:0}
.ah3-rev__src{display:flex;align-items:flex-end;gap:3px;height:12px}
.ah3-rev__src p{--fs:10px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);position:relative;top:-.36px;font:400 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap}
.ah3-rev__src img{width:58px;height:12px}
.ah3-rev__sum{display:flex;align-items:flex-end;gap:8px;height:8px;margin-top:12px}
.ah3-rev__sum p{--fs:10px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);position:relative;top:-.36px;font:400 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap}
.ah3-rev__sum b{font-weight:600}
.ah3-rev__nav{display:flex;flex:0 0 auto;gap:8px}
.ah3 .ah3-rev__nav[hidden]{display:none}
.ah3-rev__nav button{display:block;width:24px;height:24px;border-radius:50%;transition:opacity .2s}
.ah3-rev__nav svg{width:24px;height:24px}
.ah3-rev__nav button:disabled{opacity:.35;cursor:default}
/* Tor kart: przewijany palcem (snap), druga karta zapowiada się zza krawędzi */
.ah3-rev__track{display:flex;gap:16px;margin-top:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ah3-rev__track::-webkit-scrollbar{display:none}
/* Karta opinii 280 × 480 (przy 4 wierszach treści). Odstępy ułamkowe wyrównują
   linie bazowe do projektu: Figma zaokrągla wysokość wersalików do pełnego piksela. */
.ah3-rc{display:flex;flex-direction:column;flex:0 0 min(280px,100%);min-width:0;scroll-snap-align:start;padding:16.135px 16px 16.36px;border-radius:12px;background:#fff}
.ah3-rc__product{--fs:12px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);color:inherit;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3 .ah3-rc__product{color:inherit}
.ah3-rc__clip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ah3-rc__clip:hover{text-decoration:underline;text-decoration-thickness:.7px;text-underline-offset:2px}
.ah3-rc__chip{display:block;align-self:flex-start;max-width:100%;height:23px;margin-top:10.135px;padding:5px 12px 0;border-radius:11.5px;background:var(--beige);font:600 10px/12px var(--f-inter);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ah3-rc__photo{position:relative;display:block;margin-top:10px;aspect-ratio:248/267;border-radius:12px;overflow:hidden;background:var(--beige);-webkit-tap-highlight-color:transparent}
.ah3-rc__photo img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.ah3-rc__photo.is-packshot img{object-fit:contain;padding:12%}
.ah3-rc__row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:15.36px}
.ah3-rc__row--rate{margin-top:10.36px}
.ah3-rc__name,.ah3-rc__date,.ah3-rc__score,.ah3-rc__ver{--fs:10px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);font:600 var(--fs)/var(--lh) var(--f-inter);white-space:nowrap}
.ah3-rc__name{min-width:0}   /* bez overflow na samym elemencie: ucięłoby ogonki liter (pudełko kończy się na linii bazowej) */
.ah3-rc__name span{display:block;overflow:hidden;text-overflow:ellipsis}
.ah3-rc__date{flex:0 0 auto}
.ah3-rc__grade{display:flex;align-items:flex-end;gap:6px}
.ah3-rc__score{font-weight:500;position:relative;top:-.36px}
.ah3-rc__ver{font-weight:400;position:relative;top:-.36px}
.ah3-rc__txt{--fs:10px;--lh:14px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin:15.36px 0 15.72px;font:400 var(--fs)/var(--lh) var(--f-inter)}
.ah3-rc__txt span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.ah3-rc__more{align-self:flex-start;margin-top:auto}

/* ==========================================================================
   9. Baza Wiedzy
   ========================================================================== */
.ah3-kb__track{gap:16px;margin-top:15.672px;align-items:stretch}
.ah3-kb__card{position:relative;display:flex;flex-direction:column;width:var(--card);height:249px;padding:0 15px 11px;border:1px solid var(--hair);border-radius:12px;color:inherit;transition:border-color .2s,box-shadow .2s}
.ah3-kb__card:hover{border-color:rgba(25,25,25,.22);box-shadow:0 6px 20px rgba(25,25,25,.06)}
.ah3-kb__img{display:block;margin:-1px -16px 0;aspect-ratio:324/120;border-radius:12px 12px 0 0;overflow:hidden;background:#eee}
.ah3-kb__img img{width:100%;height:100%;object-fit:cover}
.ah3-kb__t{--fs:12px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);margin-top:16px;font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-kb__ex{margin-top:12.27px}
.ah3-kb__t span,.ah3-kb__ex span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ah3-kb__line{display:block;height:1px;margin-top:auto;background:var(--hair)}
.ah3-kb__meta{display:flex;align-items:center;height:12px;margin-top:12px;white-space:nowrap}
.ah3-kb__meta svg{flex:0 0 12px;width:12px;height:12px}
.ah3-kb__mt{--fs:11px;--lh:16px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);display:block;min-width:0;margin-left:4px;font:400 var(--fs)/var(--lh) var(--f-inter);overflow:hidden;text-overflow:ellipsis}
.ah3-kb__mt+svg{margin-left:15px}

/* ==========================================================================
   10. Konsultacja
   ========================================================================== */
.ah3-cons{display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:16px;margin:var(--gap-sec) var(--edge-r) 0;padding:16px;border-radius:12px;background:linear-gradient(250.57deg,#454545 0%,#000 100%);color:#fff}
.ah3-cons__body{display:contents}
.ah3-cons__photo{grid-row:1 / span 2;width:80px;height:100px;border-radius:10px;object-fit:cover}
.ah3-cons__title{--fs:16px;--lh:19px;--tt:calc(var(--lh)/2 - 0.36377 * var(--fs));--tb:var(--tt);font:600 var(--fs)/var(--lh) var(--f-inter)}
.ah3-cons__sub{--fs:12px;--lh:16px;--tt:calc(var(--lh)/2 - 0.2925 * var(--fs));--tb:calc(var(--lh)/2 - 0.4155 * var(--fs));margin-top:8.36px;font:italic 500 var(--fs)/var(--lh) var(--f-play)}
.ah3-cons__txt{grid-column:2;padding-top:8px;min-width:0}
/* min-width 217 px = szerokość z Figmy (Figma mierzy ten napis ~1,8 px szerzej) */
.ah3-cons .ah3-btn{grid-column:2;align-self:end;justify-self:start;min-width:217px;max-width:100%}
@media (max-width:389px){
	.ah3-cons{grid-template-rows:auto auto;row-gap:16px}
	.ah3-cons__photo{grid-row:1}
	.ah3-cons__txt{align-self:center;padding-top:0}
	.ah3-cons .ah3-btn{grid-column:1 / -1;justify-self:stretch;min-width:0}
}
.ah3-cons+.ah3-line{margin-top:31px}

/* ==========================================================================
   Modal z osadzoną rolką
   ========================================================================== */
.ah3-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(25,25,25,.72);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.ah3-modal.is-open{opacity:1;visibility:visible}
.ah3-modal__box{position:relative;width:min(400px,100%);max-height:calc(100dvh - 32px);overflow:auto;border-radius:12px;background:#fff}
.ah3-modal__close{position:absolute;top:8px;right:8px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink)}
.ah3-modal__close svg{width:8px;height:8px;transform:rotate(45deg)}
.ah3-modal__close path{stroke:#fff}
.ah3-modal__frame{display:block;width:100%;aspect-ratio:9/16;border:0}
.ah3-modal__frame--ig{aspect-ratio:auto;height:min(720px,calc(100dvh - 32px))}

/* ==========================================================================
   TABLET (≥ 700 px)
   ========================================================================== */
@media (min-width:700px){
	.ah3{
		--edge-l:clamp(24px,5vw,48px);
		--edge-r:var(--edge-l);
		--top:48px;
		--gap-sec:56px;
		--card:min(420px,44vw);
		--tile:min(240px,26vw);
	}
	.ah3-h{--fs:23px;--lh:28px}
	.ah3-p{--fs:13px;--lh:20px}
	.ah3-link{--fs:12px;--lh:18px}
	.ah3-btn{--fs:12px;--lh:16px;--pad-y:14px;height:calc(2 * var(--pad-y) + 0.72754 * var(--fs));padding-left:24px;padding-right:24px}
	.ah3-btn--outline{height:calc(2px + 2 * var(--pad-y) + 0.72754 * var(--fs))}
	.ah3-btn--11{--fs:13px;--lh:18px;height:calc(2 * var(--pad-y) + 0.72754 * var(--fs));padding-left:20px;padding-right:20px}
	.ah3-stars{width:60px;height:9.23px}
	.ah3-promo__track,.ah3-kb__track{gap:20px;margin-top:24px}
	.ah3-promo__title{--fs:20px;--lh:26px}
	.ah3-promo__fine{--fs:10px;--lh:14px}
	.ah3-promo__body{left:20px;right:20px;bottom:20px}
	.ah3-badge{top:20px;right:20px;width:96px;height:96px}
	.ah3-badge__big{top:17px;font-size:28px;line-height:28px}
	.ah3-badge__small{top:46px;font-size:13px;line-height:14px}
	.ah3-band{min-height:0;padding:64px var(--edge-l)}
	.ah3-band__logo{height:30px}
	.ah3-band__txt{--fs:20px;max-width:640px;margin:20px auto 0}
	.ah3-lines--iribs,.ah3-lines--lab{--lines-fs:20px}
	.ah3-band--dark .ah3-band__txt{margin-top:0}
	/* IRiBS: „Co to oznacza…” i karty w kolumnie tekstu */
	.ah3-band__rule{max-width:640px;margin:36px auto 0}
	.ah3 .ah3-band__sub{--fs:20px;margin-top:36px}
	.ah3 .ah3-why{max-width:640px;margin:20px auto 0;gap:12px}
	.ah3-why__card{grid-template-columns:28px minmax(0,1fr);column-gap:16px;padding:20px}
	.ah3-why__ico{width:28px;height:28px}
	.ah3 .ah3-why__t{--fs:15px;--lh:20px}
	.ah3-why__d{--fs:13px;--lh:20px;margin-top:8px}
	.ah3-band--iribs .ah3-btn{margin-top:28px}
	/* Hero: bez zdjęcia nie zostawiamy pustego pola — sam tekst na beżu */
	.ah3-hero:not(.has-media) .ah3-hero__media{display:none}
	.ah3-hero.has-media .ah3-hero__media{aspect-ratio:16/7}
	.ah3-hero__body{padding:48px var(--edge-r) 56px var(--edge-l)}
	.ah3-hero .ah3-lines{margin-top:20px}
	.ah3-lines--hero{--lines-fs:20px}
	.ah3-hero__txt{--fs:20px}
	.ah3-hero+.ah3-promo{margin-top:var(--gap-sec)}
	.ah3 .ah3-stars.ah3-stars--10{width:74px;height:12px}
	.ah3-rate{gap:6px;margin-top:18px}
	.ah3-rate__txt{--fs:13px;--lh:18px}
	.ah3-intro .ah3-rate+.ah3-p{margin-top:16px}
	.ah3-cert{--fs:10px;--lh:16px;max-width:640px;margin:20px auto 0}
	.ah3-intro .ah3-p,.ah3-fx>.ah3-p{max-width:620px;margin-top:18px}
	.ah3-p,.ah3-band__txt,.ah3-cert,.ah3-quiz__txt,.ah3-kb__t,.ah3-rc__txt{text-wrap:pretty}
	/* odstępy sekcji liczone od --gap-sec, żeby nie zostały wartości z telefonu */
	.ah3-sec--ugc{margin-top:var(--gap-sec)}
	.ah3-cert+.ah3-line,.ah3-sec--ugc+.ah3-line,.ah3-rev+.ah3-line,.ah3-logos+.ah3-line,.ah3-quiz+.ah3-line,.ah3-cons+.ah3-line{margin-top:var(--gap-sec)}
	.ah3-rev__card{margin-top:24px}
	.ah3-logos{margin-top:48px}
	.ah3-sec--soc .ah3-reels{margin-top:28px}
	.ah3-reels__track{gap:20px;padding:0}
	.ah3-reels,.ah3-logos{--fade:40px;margin-left:var(--edge-l);margin-right:var(--edge-r);border-radius:16px}
	.ah3-tag{left:10px;bottom:10px;max-width:calc(100% - 20px);gap:10px;padding:6px 12px 6px 6px}
	.ah3-tag__thumb{width:32px;height:32px}
	.ah3-tag__label{display:block;font:400 9px/12px var(--f-inter);letter-spacing:.06em;color:rgba(25,25,25,.5);text-transform:uppercase}
	.ah3-tag__name{font:600 11px/15px var(--f-inter)}
	.ah3-fx__grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:36px;align-items:start;margin-top:36px}
	.ah3-fx__ico{width:28px;height:28px}
	.ah3-fx__t{--fs:15px;--lh:20px;margin-top:16px}
	.ah3-fx__d{--fs:13px;--lh:20px;margin-top:10px}
	.ah3-fx__link{--fs:13px;--lh:20px;margin-top:14px;text-underline-offset:2.2px}
	.ah3-acc{gap:12px;margin-top:24px}
	.ah3-acc__item{padding:20px 20px 20px 24px}
	.ah3-acc__label{--fs:18px;--lh:24px}
	.ah3-acc__btn{flex-basis:40px;width:40px;height:40px}
	.ah3-acc__btn svg{width:11px;height:11px}
	.ah3-acc__inner{padding:20px 0 2px}
	body .ah3 .ah3-acc__products ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
	body .ah3 .ah3-acc__products ul.products li.product:nth-of-type(n+3){display:flex!important}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__reasons{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__title{font-size:14px!important;line-height:20px!important}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__price{font-size:18px!important;line-height:24px!important}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .button{height:42px!important;font-size:12px!important;line-height:42px!important}
	.ah3-acc__all{--fs:12px;--lh:18px;margin-top:28px}
	.ah3-pc__rate{height:auto}
	.ah3-pc__score{--fs:12px;--lh:18px}
	.ah3-pc__name{--fs:15px;--lh:20px;max-width:none}
	.ah3-pc__goals{--fs:10px;--lh:15px}
	.ah3-quiz{margin-left:var(--edge-l);margin-right:var(--edge-l);padding:56px 24px}
	.ah3-quiz__txt{--fs:22px;--lh:30px}
	.ah3-quiz__checks{gap:8px;margin-top:20px}
	.ah3-quiz__row{height:auto}
	.ah3-quiz__row svg{flex-basis:14px;width:14px;height:14px}
	.ah3-quiz__row p{--fs:13px;--lh:20px}
	.ah3-rev{padding-left:var(--edge-l);padding-right:var(--edge-r)}
	.ah3-rev__card{padding:28px}
	.ah3-rev__src{height:auto;gap:6px}
	.ah3-rev__src p,.ah3-rev__sum p{--fs:12px;--lh:18px;top:0}
	.ah3-rev__src img{width:72px;height:15px}
	.ah3-rev__sum{height:auto;margin-top:14px}
	.ah3-rev__nav{gap:10px}
	.ah3-rev__nav button,.ah3-rev__nav svg{width:32px;height:32px}
	.ah3-rev__track{gap:16px;margin-top:24px}
	.ah3-rc{flex-basis:calc((100% - 32px) / 2.4);padding:20px}
	.ah3-rc__product{--fs:14px;--lh:20px}
	.ah3-rc__chip{height:26px;margin-top:12px;padding:6px 14px 0;border-radius:13px;font-size:11px;line-height:14px}
	.ah3-rc__photo{margin-top:12px}
	.ah3-rc__row{margin-top:18px}
	.ah3-rc__row--rate{margin-top:12px}
	.ah3-rc__name,.ah3-rc__date,.ah3-rc__score,.ah3-rc__ver{--fs:12px;--lh:18px}
	.ah3-rc__score,.ah3-rc__ver{top:0}
	.ah3-rc .ah3-stars{width:60px;height:9.23px}
	.ah3-rc__txt{--fs:13px;--lh:20px;margin:16px 0 18px}
	.ah3-kb__card{height:auto;padding:0 20px 20px}
	.ah3-kb__img{margin:-1px -21px 0}
	.ah3-kb__t{--fs:15px;--lh:20px;margin-top:20px}
	.ah3-kb__ex{--fs:13px;--lh:20px;margin-top:10px;margin-bottom:16px}
	.ah3-kb__meta{height:auto;margin-top:16px;padding-top:14px}
	.ah3-kb__mt{--fs:12px;--lh:18px}
	.ah3-cons{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:24px;row-gap:20px;margin-left:var(--edge-l);margin-right:var(--edge-l);padding:24px}
	.ah3-cons__photo{width:120px;height:150px;border-radius:12px}
	.ah3-cons__txt{align-self:end;padding-top:0}
	.ah3-cons__title{--fs:22px;--lh:28px}
	.ah3-cons__sub{--fs:15px;--lh:22px;margin-top:10px}
	.ah3-cons .ah3-btn{align-self:start;min-width:0}
	.ah3-chips{gap:10px;margin-top:20px}
	.ah3-chip{--fs:13px;--lh:18px;--pad-y:12px;height:calc(2 * var(--pad-y) + 0.72754 * var(--fs));min-width:0!important;margin-left:0!important;padding-left:20px;padding-right:20px}
	.ah3-logos{height:48px}
	.ah3-logos__track{gap:16px}
	.ah3-logos__track img{width:132px;height:48px}
	.ah3-modal__box{width:min(460px,100%)}
}

/* ==========================================================================
   DESKTOP (≥ 1024 px)
   Ten sam układ co na mobile — pionowy rytm sekcji, te same komponenty —
   tylko w kontenerze 1240 px, z większą typografią i większą liczbą kolumn
   tam, gdzie na telefonie przewijało się w bok.
   ========================================================================== */
@media (min-width:1024px){
	.ah3{
		/* 1254 px = dokładnie tyle, ile ma kontener nagłówka i menu serwisu —
		   dzięki temu krawędzie treści pokrywają się z menu nad nią. */
		--edge-l:calc((100% - min(1254px, 100% - 96px)) / 2);
		--edge-r:var(--edge-l);
		--top:56px;
		--gap-sec:72px;
		--tile:240px;
	}
	.ah3-waves::before{--w-w:min(1500px,120cqw);background-position-x:center}
	.ah3-h{--fs:28px;--lh:36px}
	.ah3-p{--fs:15px;--lh:24px}
	.ah3-link{--fs:13px;--lh:20px}
	.ah3-btn{--fs:13px;--lh:18px;--pad-y:15px}
	.ah3-line{margin-left:var(--edge-l);margin-right:var(--edge-r)}

	/* 1. Promocje — nagłówek na górze (jak na telefonie), po prawej link, licznik
	      i strzałki. Banery jadą jednym rzędem, przewijane: widać dwie karty
	      i zapowiedź trzeciej, więc od razu wiadomo, że jest ich więcej.
	      Karta ~560 px przy pliku 648×400 z panelu, czyli obrazek jest pomniejszany,
	      nie rozciągany. Tor kończy się na krawędzi kontenera — wersja wychodząca
	      poza ekran wyglądała jak błąd układu, nie jak karuzela. */
	.ah3-promo .ah3-head{align-items:flex-end;gap:28px}
	.ah3-promo .ah3-link{margin-left:auto}
	.ah3-promo__nav{display:flex;align-items:center;gap:18px;margin-bottom:-12px}  /* strzałki wyśrodkowane na ostatnim wierszu nagłówka */
	.ah3-promo__nav[hidden]{display:none!important}
	.ah3-promo__count{display:flex;align-items:baseline;gap:4px;margin:0;font:400 13px/1 var(--f-inter);color:rgba(25,25,25,.5);font-variant-numeric:tabular-nums}
	.ah3-promo__count b{font:italic 500 26px/1 var(--f-play);color:var(--ink)}
	.ah3-promo__progress{position:relative;display:block;width:96px;height:2px;border-radius:2px;background:var(--hair);overflow:hidden}
	.ah3-promo__progress i{position:absolute;top:0;bottom:0;left:var(--pl,0%);width:var(--pw,50%);border-radius:2px;background:var(--ink);transition:left .35s cubic-bezier(.2,.7,.2,1),width .35s}
	.ah3-promo__arrows{display:flex;gap:10px}
	.ah3-promo__btn{display:block;width:44px;height:44px;border-radius:50%;transition:transform .2s,opacity .2s}
	.ah3-promo__btn svg{width:44px;height:44px}
	.ah3-promo__btn rect{fill:var(--beige);transition:fill .2s}
	.ah3-promo__btn path{transition:stroke .2s}
	.ah3-promo__btn:hover rect{fill:var(--ink)}
	.ah3-promo__btn:hover path{stroke:#fff}
	.ah3-promo__btn:active{transform:scale(.94)}
	/* --pv = ile kart mieści się w kadrze; ułamek zostawia zapowiedź następnej */
	/* Bez natywnego przyciągania: przy kadrze na 2,15 karty koniec taśmy nie jest
	   punktem zaczepienia, więc przeglądarka po puszczeniu myszy szarpała widok
	   z powrotem w jednej klatce. Dociąganie robi skrypt — płynnie i do tej karty,
	   przy której faktycznie skończyliśmy. */
	.ah3-promo__track{--pv:1.8;gap:24px;margin:24px var(--edge-r) 0 var(--edge-l);padding:10px 0 30px;scroll-snap-type:none;scroll-padding-inline:0;cursor:grab}
	/* W trakcie ciągnięcia zdejmujemy przyciąganie i płynność, bo szarpałyby
	   ruchem; po puszczeniu skrypt sam dociąga do najbliższej karty. */
	.ah3-promo__track.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
	.ah3-promo__track.is-dragging .ah3-promo__card:hover{transform:none;box-shadow:none}
	.ah3-promo__track.is-one,.ah3-promo__track.is-two{cursor:default}
	.ah3-promo__img{-webkit-user-drag:none;user-select:none}
	.ah3-promo__card{width:min(600px,calc((100% - 48px) / var(--pv)));border-radius:16px;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
	.ah3-promo__track.is-one .ah3-promo__card{width:min(648px,100%);margin-inline:auto}
	.ah3-promo__track.is-two .ah3-promo__card{width:calc((100% - 24px) / 2)}
	.ah3-promo__card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(25,25,25,.15)}
	.ah3-promo__img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
	.ah3-promo__card:hover .ah3-promo__img{transform:scale(1.04)}
	/* Światło idące za kursorem — pozycję podaje skrypt w --mx/--my. */
	.ah3-promo__card::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),transparent 66%);opacity:0;transition:opacity .4s;pointer-events:none}
	.ah3-promo__card:hover::after{opacity:1}
	/* Wejście kart: kolejno, z lekkim podniesieniem. Klasy dokłada skrypt i zdejmuje
	   je po animacji — inaczej opóźnienie startu przeszkadzałoby potem najechaniu. */
	.ah3-promo__track.is-armed .ah3-promo__card{opacity:0;transform:translateY(20px) scale(.99)}
	.ah3-promo__track.is-armed.is-in .ah3-promo__card{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 110ms),transform .7s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 110ms)}
	.ah3-promo__body{left:24px;right:24px;bottom:24px;z-index:2}
	.ah3-promo__title{--fs:22px;--lh:30px}
	.ah3-promo__fine{--fs:11px;--lh:15px;margin-top:18px}
	.ah3-badge{top:24px;right:24px;width:104px;height:104px}
	.ah3-badge__big{top:19px;font-size:31px;line-height:31px}
	.ah3-badge__small{top:50px;font-size:14px;line-height:15px}

	/* 2/5. Pasy */
	.ah3-band{padding:88px var(--edge-l)}
	.ah3-band__logo{height:34px}
	.ah3-band__txt{--fs:24px;max-width:820px;margin-top:26px}
	.ah3-band .ah3-btn{margin-top:30px}
	.ah3-lines--iribs,.ah3-lines--lab{--lines-fs:24px}
	.ah3-band--dark .ah3-band__txt{margin-top:0}
	/* IRiBS: trzy karty w rzędzie, w szerokości tekstu pasa */
	.ah3-band__rule{max-width:820px;margin-top:44px}
	.ah3 .ah3-band__sub{--fs:24px;margin-top:44px}
	.ah3 .ah3-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;gap:20px;margin-top:28px}
	.ah3-why__card{grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;row-gap:18px;padding:24px}
	.ah3-why__ico{width:30px;height:30px}
	.ah3 .ah3-why__t{--fs:16px;--lh:22px}
	.ah3-why__d{--fs:14px;--lh:22px;margin-top:10px}
	.ah3-band--iribs .ah3-btn{margin-top:36px}
	/* Hero: tekst w kontenerze strony; ze zdjęciem — dwie kolumny */
	.ah3-hero__body{padding:72px var(--edge-r) 80px var(--edge-l)}
	.ah3-hero .ah3-lines{max-width:760px;margin-top:24px}
	.ah3-lines--hero{--lines-fs:26px}
	.ah3-hero__txt{--fs:26px}
	.ah3-hero.has-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:56px;padding:56px var(--edge-r) 56px var(--edge-l)}
	.ah3-hero.has-media .ah3-hero__media{order:2;aspect-ratio:4/3;border-radius:16px}
	.ah3-hero.has-media .ah3-hero__body{padding:0}
	.ah3 .ah3-stars.ah3-stars--10{width:80px;height:12.9px}
	.ah3-rate__txt{--fs:14px;--lh:20px}
	.ah3-cert{--fs:11px;--lh:18px;max-width:760px;margin-top:26px}

	/* 3/11. Rolki */
	.ah3-reels__track{gap:24px;padding:0}
	.ah3-sec--ugc .ah3-reels{margin-top:40px}
	.ah3-reels,.ah3-logos{--fade:64px;margin-left:var(--edge-l);margin-right:var(--edge-r)}
	.ah3-tile{border-radius:16px}
	.ah3-intro .ah3-p,.ah3-fx>.ah3-p{max-width:720px;margin-top:20px}
	.ah3-sec--ugc{margin-top:var(--gap-sec)}
	.ah3-cert+.ah3-line,.ah3-sec--ugc+.ah3-line,.ah3-rev+.ah3-line,.ah3-logos+.ah3-line,.ah3-quiz+.ah3-line,.ah3-cons+.ah3-line{margin-top:var(--gap-sec)}
	.ah3-rev__card{margin-top:28px}
	.ah3-sec--soc .ah3-reels{margin-top:32px}
	.ah3-logos{height:56px;margin-top:64px;opacity:.85}
	.ah3-logos__track{gap:24px}
	.ah3-logos__track img{width:148px;height:56px}

	/* 4. Efekty — nagłówek nad siatką, dokładnie jak na telefonie */
	.ah3-fx>.ah3-p{max-width:720px;margin-top:20px}
	.ah3-fx__grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;row-gap:40px;align-items:start;margin-top:44px}
	.ah3-fx__ico{width:30px;height:30px}
	.ah3-fx__t{--fs:16px;--lh:22px;margin-top:18px}
	.ah3-fx__d{--fs:14px;--lh:22px;margin-top:12px}
	.ah3-fx__link{--fs:14px;--lh:22px;margin-top:16px;text-underline-offset:2.4px}

	/* 6. Kategorie — ta sama lista rozwijana, tylko szersza */
	.ah3-cats{padding-left:var(--edge-l);padding-right:var(--edge-r)}
	.ah3-acc{gap:12px;margin-top:28px}
	.ah3-acc__item{padding:24px 24px 24px 28px}
	.ah3-acc__head{gap:24px}
	.ah3-acc__label{--fs:20px;--lh:26px}
	.ah3-acc__btn{flex-basis:40px;width:40px;height:40px}
	.ah3-acc__btn svg{width:11px;height:11px}
	.ah3-acc__inner{padding:24px 0 2px}
	body .ah3 .ah3-acc__products ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important}
	body .ah3 .ah3-acc__products ul.products li.product:nth-of-type(n+3){display:flex!important}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__title{font-size:14px!important;line-height:20px!important}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .aura-card__price{font-size:18px!important;line-height:24px!important}
	body .ah3 .ah3-acc__products ul.products li.product .aura-card .button{height:42px!important;font-size:12px!important;line-height:42px!important}
	.ah3-acc__all{--fs:13px;--lh:20px;margin-top:28px}
	.ah3-cats .ah3-btn--outline{margin-top:32px}

	/* 7. Quiz */
	.ah3-quiz{margin-left:var(--edge-l);margin-right:var(--edge-l);padding:72px 32px;border-radius:20px}
	.ah3-quiz__txt{--fs:26px;--lh:36px}
	.ah3-quiz__checks{gap:10px;margin-top:24px}
	.ah3-quiz__row p{--fs:15px;--lh:24px}
	.ah3-quiz .ah3-btn{margin-top:30px}

	/* 8. Opinie */
	.ah3-rev{padding-left:var(--edge-l);padding-right:var(--edge-r)}
	.ah3-rev__card{padding:36px}
	/* Opinie: ta sama karuzela co na telefonie — 3 karty (4 od 1280 px), strzałki
	   i przeciąganie myszą. Bez natywnego przyciągania: dociąganie robi skrypt. */
	.ah3-rev__track{gap:20px;margin-top:28px;scroll-snap-type:none;cursor:grab}
	.ah3-rev__track.is-dragging{cursor:grabbing;user-select:none}
	.ah3-rc{flex-basis:calc((100% - 40px) / 3);padding:24px}
	.ah3-rc__product{--fs:15px;--lh:22px}
	.ah3-rc__txt{--fs:14px;--lh:22px}

	/* 9. Baza wiedzy */
	.ah3-kb__track{display:grid;grid-template-columns:repeat(min(3,var(--cols,3)),minmax(0,1fr));gap:24px;margin-top:28px;padding-left:var(--edge-l);padding-right:var(--edge-r);overflow:visible}
	.ah3-kb__card{width:auto;height:auto;padding:0 24px 24px;border-radius:16px}
	.ah3-kb__card:nth-child(n+4){display:none}
	.ah3-kb__card:hover{transform:translateY(-4px)}
	.ah3-kb__img{margin:-1px -25px 0;aspect-ratio:16/9;border-radius:16px 16px 0 0}
	.ah3-kb__img img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
	.ah3-kb__card:hover .ah3-kb__img img{transform:scale(1.04)}
	.ah3-kb__t{--fs:17px;--lh:24px;margin-top:24px}
	.ah3-kb__ex{--fs:14px;--lh:22px;margin-bottom:18px}
	.ah3-kb__mt{--fs:13px;--lh:20px}

	/* 10. Konsultacja */
	.ah3-cons{grid-template-columns:140px minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;column-gap:32px;margin-left:var(--edge-l);margin-right:var(--edge-r);padding:32px 40px;border-radius:20px}
	.ah3-cons__photo{grid-row:1;width:140px;height:176px;border-radius:14px}
	.ah3-cons__txt{grid-column:2;align-self:center}
	.ah3-cons__title{--fs:24px;--lh:30px}
	.ah3-cons__sub{--fs:16px;--lh:24px;margin-top:10px}
	.ah3-cons .ah3-btn{--pad-y:16px;grid-column:3;align-self:center;justify-self:end}

	/* 11. Social */
	.ah3-chips{padding-left:var(--edge-l);padding-right:var(--edge-r);margin-top:22px;overflow:visible}
	.ah3-chip{--fs:14px;--lh:20px;--pad-y:13px;padding-left:22px;padding-right:22px}
}

/* Szeroki tablet: trzy karty opinii zamiast 2,4 (inaczej karta puchnie do ~350 px) */
@media (min-width:900px) and (max-width:1023px){
	.ah3-rc{flex-basis:calc((100% - 32px) / 3)}
}

@media (min-width:1280px){
	.ah3-promo__track{--pv:2.15}
	.ah3-rc{flex-basis:calc((100% - 60px) / 4)}
}

@media (prefers-reduced-motion:reduce){
	.ah3-acc__wrap,.ah3-acc__btn,.ah3-acc__btn svg,.ah3-modal,.ah3-tile img,.ah3-pc__img img{transition:none}
}
