/* Formula-oldalak (G fázis, 3. változat, 2026-09-24) — page-formula.php. Prefix: `fx-` (ütközésmentes, ellenőrizve).
   A formula saját színe: `--fc` (inline a <main>-en).
   Ritmus: sötét rögzített hero → futószalag → vízszintes fejezetek (asztalon rögzítve) → színes fajta-sáv →
   krém erősségválasztó → kivonatok → formula-kártyák. Minden mozgás transform/opacity; prefers-reduced-motion alatt kikapcsol. */

.fx{--fx-bg:#F4F0E6;--fx-card:#FFFDF7;--fx-ink:#17231B;--fx-mut:#5B665D;--fx-green:#00643C;--fx-night:#071811;
 --fx-gut:clamp(16px,4vw,48px);--fx-r:28px;--fx-ease:cubic-bezier(.22,1,.36,1);--fx-spring:cubic-bezier(.34,1.4,.64,1);
 --fc-soft:color-mix(in srgb,var(--fc) 20%,var(--fx-bg));--fc-ink:color-mix(in srgb,var(--fc) 58%,#0d2418);
 --fc-lite:color-mix(in srgb,var(--fc) 55%,#fff);--fc-deep:color-mix(in srgb,var(--fc) 30%,#06140d);
 background:var(--fx-bg);color:var(--fx-ink);overflow-x:clip}
.hw-main.hw-main--fml{padding-top:0;padding-bottom:0}
.fx *,.fx *::before,.fx *::after{box-sizing:border-box}
.fx img{max-width:100%;height:auto;display:block}
.fx-w{position:relative;width:100%;max-width:1320px;margin:0 auto;padding:0 var(--fx-gut)}

/* ── Tipográfia ─────────────────────────────────────────────── */
.fx-kick{margin:0;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fc-ink)}
.fx-kick--l{color:var(--fc-lite)}
.fx-h2{margin:12px 0 0;font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;
 font-size:clamp(34px,5vw,72px);line-height:.92;letter-spacing:-.02em;color:var(--fx-ink)}
.fx-h2--l{color:#fff}
.fx-h2--s{font-size:clamp(28px,3.4vw,46px)}

/* ── Gombok ─────────────────────────────────────────────────── */
.fx-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;border-radius:999px;
 font-size:14.6px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;border:0;isolation:isolate;overflow:hidden;
 transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .35s var(--fx-ease),box-shadow .35s,background .35s,color .35s}
.fx-btn > *{position:relative;z-index:1}
.fx-btn svg{width:18px;height:18px;flex:none;transition:transform .35s var(--fx-ease)}
.fx-btn:hover svg:last-child{transform:translateX(4px)}
.fx-btn::before{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;background:radial-gradient(120px 120px at var(--bx,50%) var(--by,50%),rgba(255,255,255,.45),transparent 70%);opacity:0;transition:opacity .35s}
.fx-btn:hover::before{opacity:1}
.fx-btn--fc{color:#06140d;background:linear-gradient(135deg,var(--fc-lite),var(--fc) 60%);
 box-shadow:0 18px 40px -14px color-mix(in srgb,var(--fc) 85%,#000),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.12)}
.fx-btn--glass{color:#fff;background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.2)}
.fx-btn--glass:hover{background:rgba(255,255,255,.14)}
.fx-btn--ghost{color:var(--fx-ink);background:transparent;box-shadow:inset 0 0 0 1.5px rgba(23,35,27,.2)}
.fx-btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--fx-ink)}
.fx-btn--lg{padding:19px 32px;font-size:15.6px}
.fx-btn[disabled]{opacity:.45;cursor:not-allowed}
.fx-btn.is-busy{pointer-events:none}
.fx-btn.is-busy span{opacity:.5}
.fx-btn.is-done{background:linear-gradient(135deg,#8BF0BD,#2FBF7E)}

/* ── Zaj-textúra (prémium „film" felület) ───────────────────── */
.fx-grain{position:absolute;inset:-50%;opacity:.07;pointer-events:none;mix-blend-mode:overlay;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
 animation:fxgrain 1.2s steps(4) infinite}
@keyframes fxgrain{25%{translate:-3% 2%}50%{translate:2% -3%}75%{translate:-1% -2%}}

/* ══ 1. HERO (asztalon rögzítve, 175vh görgetési út) ══════════ */
.fx-hero{position:relative;color:#fff;background:var(--fx-night);--hp:0}
.fx-hero__pin{position:relative;min-height:max(660px,min(100svh,980px));display:flex;flex-direction:column;justify-content:center;
 padding:calc(96px + 2vw) 0 clamp(70px,8vw,110px);overflow:hidden;isolation:isolate}
.fx-hero__bg{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;
 background:radial-gradient(110% 90% at 72% 42%,color-mix(in srgb,var(--fc) 30%,transparent),transparent 60%),linear-gradient(180deg,#0B2419 0%,var(--fx-night) 75%)}
.fx-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen}
.fx-blob--1{width:48vw;height:48vw;left:46%;top:-10%;background:var(--fc);animation:fxblob1 18s ease-in-out infinite}
.fx-blob--2{width:32vw;height:32vw;left:-8%;top:42%;background:color-mix(in srgb,var(--fc) 55%,#00643C);opacity:.42;animation:fxblob2 22s ease-in-out infinite}
.fx-blob--3{width:24vw;height:24vw;left:72%;top:64%;background:color-mix(in srgb,var(--fc) 45%,#fff);opacity:.22;animation:fxblob1 26s ease-in-out infinite reverse}
@keyframes fxblob1{0%,100%{translate:0 0;scale:1}33%{translate:-6vw 4vh;scale:1.14}66%{translate:3vw -3vh;scale:.9}}
@keyframes fxblob2{0%,100%{translate:0 0}50%{translate:8vw -6vh}}
.fx-pt{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;
 background:radial-gradient(circle,color-mix(in srgb,var(--fc) 35%,#fff),transparent 70%);opacity:0;animation:fxpt var(--d) ease-in-out infinite;animation-delay:var(--dl)}
@keyframes fxpt{0%{opacity:0;translate:0 20px}30%{opacity:.9}70%{opacity:.5}100%{opacity:0;translate:14px -80px}}
.fx-spot{position:absolute;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;opacity:0;
 background:radial-gradient(closest-side,color-mix(in srgb,var(--fc) 34%,transparent),transparent);transform:translate3d(var(--sx,50vw),var(--sy,40vh),0);transition:opacity .6s}
.fx-hero:hover .fx-spot{opacity:1}
.fx-ghost{position:absolute;left:50%;top:50%;z-index:-1;white-space:nowrap;pointer-events:none;
 font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;font-size:clamp(100px,21vw,340px);line-height:.8;letter-spacing:-.03em;
 color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--fc) 50%,transparent);opacity:.32;
 transform:translate3d(calc(-50% - var(--hp) * 30vw),-50%,0) scale(calc(1 + var(--hp) * .25))}
.fx-crumb{margin:0 0 20px;font-size:12px;color:rgba(255,255,255,.5)}
.fx-crumb a{color:rgba(255,255,255,.7)}
.fx-crumb a:hover{color:#fff}
.fx-hero__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(20px,4vw,64px)}
.fx-hero__tx{position:relative;z-index:5;opacity:calc(1 - var(--hp) * 2.2);transform:translate3d(0,calc(var(--hp) * -120px),0)}
.fx-eye{display:inline-flex;align-items:center;gap:9px;margin:0;padding:7px 15px 7px 11px;border-radius:999px;font-size:11px;font-weight:700;
 letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.fx-eye__dot{width:8px;height:8px;border-radius:50%;background:var(--fc);box-shadow:0 0 0 4px color-mix(in srgb,var(--fc) 30%,transparent),0 0 18px 3px var(--fc);animation:fxpulse 2.4s ease-in-out infinite}
.fx-h1{margin:18px 0 0;font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;
 font-size:clamp(60px,9.6vw,150px);line-height:.84;letter-spacing:-.03em;color:#fff}
.fx-h1 .l{display:inline-block;padding:.22em 0 .06em;margin:-.22em 0 -.06em;background:linear-gradient(180deg,#fff 35%,var(--fc-lite));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fx-h1 .wd{display:inline-block;white-space:nowrap}
.fx-strain{margin:16px 0 0;font-family:var(--fut,'Oswald',sans-serif);font-weight:500;text-transform:uppercase;letter-spacing:.16em;
 font-size:clamp(13px,1.3vw,16px);color:var(--fc-lite)}
.fx-lead{margin:18px 0 0;max-width:40ch;font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:rgba(255,255,255,.72)}
.fx-cta{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}
.fx-sw{display:flex;align-items:center;gap:8px;margin:38px 0 0}
.fx-sw__i{position:relative;display:inline-flex;align-items:center;height:48px;padding:2px;border-radius:999px;background:rgba(255,255,255,.06);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:background .35s,box-shadow .35s}
.fx-sw__i img{width:44px;height:44px;border-radius:50%;object-fit:cover;transition:transform .45s var(--fx-ease)}
.fx-sw__t{max-width:0;overflow:hidden;white-space:nowrap;font-size:12.6px;font-weight:600;color:#fff;opacity:0;
 transition:max-width .5s var(--fx-ease),opacity .3s,padding .5s var(--fx-ease)}
a.fx-sw__i:hover,.fx-sw__i.on{background:color-mix(in srgb,var(--c) 30%,transparent);box-shadow:inset 0 0 0 1.5px var(--c),0 0 24px -4px var(--c)}
a.fx-sw__i:hover .fx-sw__t,.fx-sw__i.on .fx-sw__t{max-width:190px;opacity:1;padding:0 14px 0 10px}
a.fx-sw__i:hover img{transform:rotate(-14deg) scale(1.06)}
.fx-sw__i.is-soon{opacity:.45}
/* Artwork-színpad: görgetéskor a képernyő közepe felé nő (--hp). */
.fx-hero__art{position:relative;z-index:4;display:grid;place-items:center;aspect-ratio:1;width:min(100%,640px);justify-self:center;
 transform:translate3d(calc(var(--hp) * -26vw),calc(var(--hp) * 4vh),0) scale(calc(1 + var(--hp) * .38))}
.fx-orb{position:relative;width:74%;aspect-ratio:1;border-radius:50%;transition:transform .7s var(--fx-ease);will-change:transform}
/* Kör alakú kép, a formula szövegére igazítva: a Happease-képeken a felirat bal-alul ül, ezért a kép a feliratra van
   középre húzva (nagyítás + jobbra-fel tolás), bőven a körön belül. Ahol így a kép széle a körbe érne, a kép tükrözött
   folytatása tölti ki (::before alul, ::after balra) — varratmentes minta. Formulánként felülírható ('fit' → --az/--ax/--ay). Nem forog. */
.fx-orb__pic{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;isolation:isolate;background:#0b2a1c;
 -webkit-mask-image:-webkit-radial-gradient(#fff,#000);
 box-shadow:0 60px 110px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.14),0 0 120px -10px color-mix(in srgb,var(--fc) 75%,transparent);
 animation:fxfloat 7s ease-in-out infinite}
.fx-orb__pic img,.fx-fc__pic img,.fx-orb__pic::before,.fx-orb__pic::after,.fx-fc__pic::before,.fx-fc__pic::after{position:absolute;inset:0;display:block;width:100%;height:100%;
 object-fit:cover;scale:var(--az,1.22);translate:var(--ax,13%) var(--ay,-17%)}
.fx-orb__pic img,.fx-fc__pic img{z-index:1}
.fx-orb__pic::before,.fx-orb__pic::after,.fx-fc__pic::before,.fx-fc__pic::after{content:'';pointer-events:none;background:var(--art) center/cover no-repeat}
.fx-orb__pic::before,.fx-fc__pic::before{translate:var(--ax,13%) calc(var(--ay,-17%) + 100% * var(--az,1.22));transform:scaleY(-1)}
.fx-orb__pic::after,.fx-fc__pic::after{translate:calc(var(--ax,13%) - 100% * var(--az,1.22)) var(--ay,-17%);transform:scaleX(-1)}
@keyframes fxfloat{50%{translate:0 -10px}}
.fx-orb__halo{position:absolute;inset:-22%;border-radius:50%;z-index:0;
 background:radial-gradient(closest-side,color-mix(in srgb,var(--fc) 60%,transparent),transparent 72%);animation:fxpulse 5s ease-in-out infinite}
@keyframes fxpulse{50%{scale:1.08;opacity:.75}}
.fx-orb__ring{position:absolute;inset:-8%;z-index:0;border-radius:50%;
 background:conic-gradient(from 0deg,var(--fc),transparent 25%,color-mix(in srgb,var(--fc) 40%,transparent) 50%,transparent 75%,var(--fc));
 -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));
 animation:fxspin 16s linear infinite}
.fx-orb__ring--2{inset:-17%;opacity:.45;animation-duration:28s;animation-direction:reverse}
.fx-orb__glare{position:absolute;inset:0;z-index:2;border-radius:50%;box-shadow:inset 0 0 44px 4px rgba(4,12,8,.45);pointer-events:none;
 background:radial-gradient(55% 45% at var(--gx2,35%) var(--gy2,25%),rgba(255,255,255,.4),transparent 60%);mix-blend-mode:soft-light}
@keyframes fxspin{to{rotate:360deg}}
/* Keringő illatjegyek: a konténer forog, a címke visszaforog (mindig egyenes). */
.fx-orbit{position:absolute;inset:0;z-index:3;pointer-events:none;animation:fxspin 30s linear infinite}
.fx-orbit__c{position:absolute;inset:0;transform:rotate(var(--a))}
/* A horgony (span) 0×0-s pont a pályán; az ellenforgás a pontot nem mozdítja, a címke (em) így mindig egyenes és középre igazított. */
.fx-orbit__c > span{position:absolute;left:50%;top:3%;width:0;height:0;rotate:calc(-1 * var(--a));animation:fxcounter 30s linear infinite}
@keyframes fxcounter{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
.fx-orbit__c em{position:absolute;left:0;top:0;translate:-50% -50%;display:inline-flex;align-items:center;gap:8px;padding:10px 16px 10px 12px;border-radius:999px;white-space:nowrap;
 font-style:normal;font-size:13.4px;font-weight:600;color:#fff;
 background:rgba(10,30,20,.5);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.18),0 16px 34px -14px rgba(0,0,0,.75)}
.fx-orbit__c i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 12px 1px rgba(255,255,255,.35)}
.fx-hero__badges{position:absolute;right:0;bottom:2%;z-index:4;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;
 background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
 opacity:calc(1 - var(--hp) * 3)}
.fx-hero__badges img{height:30px;width:auto}
.fx-scroll{position:absolute;left:50%;bottom:24px;translate:-50% 0;width:26px;height:42px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);opacity:calc(1 - var(--hp) * 4)}
.fx-scroll span{position:absolute;left:50%;top:9px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:fxscroll 1.8s ease-in-out infinite}
@keyframes fxscroll{0%{opacity:0;translate:0 0}40%{opacity:1}100%{opacity:0;translate:0 14px}}
@media(min-width:1081px){
 .fx-hero.is-pin{height:175vh}
 .fx-hero.is-pin .fx-hero__pin{position:sticky;top:0;height:100vh;min-height:0}
}

/* ══ 2. FUTÓSZALAG ═══════════════════════════════════════════ */
.fx-mq{position:relative;z-index:2;padding:clamp(18px,2.4vw,34px) 0;background:var(--fx-night);overflow:hidden;--skew:0deg}
.fx-mq__row{display:flex;overflow:hidden;transform:skewX(var(--skew));transition:transform .5s var(--fx-ease)}
.fx-mq__track{display:flex;align-items:center;flex:none;gap:clamp(18px,2.4vw,36px);padding-right:clamp(18px,2.4vw,36px);animation:fxmq 38s linear infinite}
.fx-mq__row--b .fx-mq__track{animation-direction:reverse;animation-duration:46s}
.fx-mq span{font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;font-size:clamp(44px,7vw,108px);line-height:1.05;letter-spacing:-.01em;white-space:nowrap;color:var(--fc)}
.fx-mq__row--b span{color:transparent;-webkit-text-stroke:1.4px color-mix(in srgb,var(--fc) 70%,#fff)}
.fx-mq i{flex:none;width:clamp(14px,1.6vw,22px);aspect-ratio:1;background:var(--fc-lite);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
@keyframes fxmq{to{transform:translateX(-50%)}}

/* ══ 3. FEJEZETEK ════════════════════════════════════════════ */
.fx-story{position:relative;background:var(--fx-night);--sp:0}
.fx-story__track{display:flex;flex-direction:column}
.fx-ch{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;min-height:min(100svh,900px);padding:clamp(80px,9vw,130px) 0 clamp(90px,10vw,140px)}
.fx-ch__in{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;padding:0 var(--fx-gut)}
.fx-ch__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(30px,5vw,90px)}
.fx-ch__no{display:inline-flex;align-items:center;gap:12px;margin:0;font-size:11.4px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fc-lite)}
.fx-ch__no b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-family:var(--fut,'Oswald',sans-serif);font-size:14px;letter-spacing:0;
 color:#06140d;background:var(--fc);box-shadow:0 0 24px -2px var(--fc)}
.fx-ch__h{margin:18px 0 0;font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;font-size:clamp(40px,5.4vw,84px);line-height:.9;letter-spacing:-.025em;color:#fff}
.fx-ch__p{margin:22px 0 0;max-width:48ch;font-size:clamp(15.4px,1.25vw,18px);line-height:1.7;color:rgba(255,255,255,.78)}
.fx-ch__s{margin:18px 0 0;max-width:52ch;font-size:13.4px;line-height:1.6;color:rgba(255,255,255,.55)}
/* 01 hangulat: teljes kép */
.fx-ch--mood{background:#050f0a}
.fx-ch__bgimg{position:absolute;inset:0;z-index:-1;width:100%;height:100%!important;object-fit:cover;scale:1.12;transition:scale 1.6s var(--fx-ease),filter 1.6s}
.fx-ch--mood::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,15,10,.92) 0%,rgba(5,15,10,.55) 45%,rgba(5,15,10,.1) 100%),linear-gradient(0deg,rgba(5,15,10,.6),transparent 40%)}
.fx-ch--mood.on .fx-ch__bgimg{scale:1}
.fx-ch--mood .fx-ch__h{max-width:12ch}
/* 02 illatgyűrű */
.fx-ch--ring{background:radial-gradient(70% 90% at 80% 50%,color-mix(in srgb,var(--fc) 30%,transparent),transparent 65%),linear-gradient(160deg,#0E2B1D,var(--fx-night))}
/* 03 terpének: krém */
.fx-ch--terp{background:var(--fx-bg);color:var(--fx-ink)}
.fx-ch--terp .fx-ch__h{color:var(--fx-ink)}
.fx-ch--terp .fx-ch__p{color:var(--fx-mut)}
.fx-ch--terp .fx-ch__s{color:var(--fx-mut)}
.fx-ch--terp .fx-ch__no{color:var(--fc-ink)}
/* 04 napszak */
.fx-ch--day{background:radial-gradient(80% 100% at 20% 0%,color-mix(in srgb,var(--fc) 45%,transparent),transparent 60%),linear-gradient(170deg,var(--fc-deep),#050f0a)}
/* Fejezet-navigáció (csak rögzített módban) */
.fx-story__nav{display:none}
@media(min-width:1081px){
 .fx-story.is-pin{height:calc(var(--n) * 100vh + 40vh)}
 .fx-story.is-pin .fx-story__pin{position:sticky;top:0;height:100vh;overflow:hidden}
 .fx-story.is-pin .fx-story__track{flex-direction:row;width:calc(var(--n) * 100vw);height:100%;transform:translate3d(calc(var(--sp) * (var(--n) - 1) * -100vw),0,0);will-change:transform}
 .fx-story.is-pin .fx-ch{flex:0 0 100vw;height:100%;min-height:0;padding:clamp(90px,10vh,130px) 0 clamp(96px,12vh,140px)}
 .fx-story.is-pin .fx-story__nav{position:absolute;left:50%;bottom:26px;z-index:10;translate:-50% 0;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;
  background:rgba(8,24,16,.55);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 20px 40px -20px rgba(0,0,0,.7)}
 .fx-story__nav button{position:relative;z-index:1;padding:11px 18px;border:0;border-radius:999px;font:inherit;font-size:12.6px;font-weight:600;color:rgba(255,255,255,.6);background:none;cursor:pointer;transition:color .3s}
 .fx-story__nav button b{font-family:var(--fut,'Oswald',sans-serif);margin-right:4px;color:var(--fc-lite)}
 .fx-story__nav button.on,.fx-story__nav button:hover{color:#fff}
 .fx-story__bar{position:absolute;left:16px;right:16px;bottom:3px;height:2px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
 .fx-story__bar i{display:block;height:100%;width:100%;background:var(--fc);transform-origin:0 50%;transform:scaleX(var(--sp))}
}
/* Illatgyűrű */
.fx-ring{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,40px)}
.fx-ring__svg{position:relative;width:100%;max-width:420px;aspect-ratio:1;justify-self:center}
.fx-ring__svg svg{width:100%;height:100%;overflow:visible}
.fx-ring__s{stroke-dasharray:0 600;stroke-dashoffset:var(--off);cursor:pointer;
 transition:stroke-dasharray 1.3s var(--fx-ease) calc(var(--i) * .2s),stroke-width .4s var(--fx-spring),opacity .35s,filter .35s}
.fx-ring.in .fx-ring__s{stroke-dasharray:var(--len) 600}
.fx-ring__s.hi{stroke-width:42;filter:drop-shadow(0 0 14px rgba(255,255,255,.3))}
.fx-ring.has-hi .fx-ring__s:not(.hi){opacity:.3}
.fx-ring__c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}
.fx-ring__c b{font-family:var(--fut,'Oswald',sans-serif);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(15px,1.6vw,20px);color:rgba(255,255,255,.85)}
.fx-ring__c span{font-family:var(--fut,'Oswald',sans-serif);font-weight:700;font-size:clamp(52px,6vw,88px);line-height:1;color:#fff;text-shadow:0 0 40px color-mix(in srgb,var(--fc) 70%,transparent)}
.fx-ring__lg{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fx-ring__lg button{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:14px;width:100%;min-width:200px;padding:14px 18px;border:0;border-radius:16px;
 font:inherit;font-size:15px;font-weight:500;color:rgba(255,255,255,.72);text-align:left;cursor:pointer;background:rgba(255,255,255,.04);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:background .3s,color .3s,box-shadow .3s}
.fx-ring__lg button i{width:14px;height:14px;border-radius:4px;background:var(--sc);box-shadow:0 0 12px -2px var(--sc)}
.fx-ring__lg button em{font-style:normal;font-family:var(--fut,'Oswald',sans-serif);font-weight:600;font-size:17px}
.fx-ring__lg button:hover,.fx-ring__lg button.on{color:#fff;background:rgba(255,255,255,.09);box-shadow:inset 3px 0 0 var(--sc),inset 0 0 0 1px rgba(255,255,255,.22)}
.fx-notes{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.fx-notes li{padding:12px 22px;border-radius:999px;font-size:18px;font-weight:500;color:#fff;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
/* Terpén-hatszögek (a Happease-rajz nyomán, interaktív) */
.fx-hex{position:relative;margin:0;padding:clamp(18px,2.6vw,34px);border-radius:calc(var(--fx-r) + 4px);background:var(--fx-card);
 box-shadow:inset 0 0 0 1px rgba(23,35,27,.07),0 40px 80px -50px rgba(0,0,0,.5)}
.fx-hex svg{display:block;width:100%;height:auto;overflow:visible}
.fx-hex__o{fill:transparent;stroke:var(--fc);stroke-width:2.2;opacity:0;transform-box:fill-box;transform-origin:center;scale:.4;
 transition:opacity .5s ease calc(var(--q) * 45ms),scale .7s var(--fx-spring) calc(var(--q) * 45ms),fill .35s}
.fx-hex.in .fx-hex__o{opacity:1;scale:1}
.fx-hex__k{fill:var(--fc);transition:fill .3s}
.fx-hex__row text{font-family:'Poppins',sans-serif;font-weight:700;font-size:26px;fill:#fff;pointer-events:none}
.fx-hex__row{cursor:pointer;outline:none}
.fx-hex__row:hover .fx-hex__o,.fx-hex__row:focus .fx-hex__o,.fx-hex__row.on .fx-hex__o{fill:color-mix(in srgb,var(--fc) 55%,transparent)}
.fx-hex__row:hover .fx-hex__k,.fx-hex__row.on .fx-hex__k{fill:color-mix(in srgb,var(--fc) 70%,#0b2a1c)}
.fx-hex.has-on .fx-hex__row:not(.on){opacity:.35;transition:opacity .3s}
.fx-hex__ax line{stroke:var(--fc);stroke-width:2.4}
.fx-hex__ax text{font-family:'Poppins',sans-serif;font-size:21px;fill:var(--fc-ink)}
.fx-hex__tip{position:absolute;right:clamp(18px,2.6vw,34px);top:clamp(18px,2.6vw,34px);display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:12px 16px;border-radius:16px;
 text-align:right;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(23,35,27,.08),0 14px 30px -20px rgba(0,0,0,.4)}
.fx-hex__tip b{font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;font-size:24px;line-height:1;color:var(--fc-ink)}
.fx-hex__tip span{font-size:12px;color:var(--fx-mut)}
.fx-ring--q .fx-ring__c span{max-width:9em;font-size:clamp(17px,1.8vw,24px);font-weight:500;line-height:1.15;text-transform:none;letter-spacing:0;margin-top:6px}
.fx-ring--q .fx-ring__lg button em{font-family:inherit;font-weight:500;font-size:12.6px;opacity:.75}
/* Minőségi terpén-méhsejt (nincs hiteles arányadat) */
.fx-hex--q .fx-hex__qc{fill:var(--fc);stroke:color-mix(in srgb,var(--fc) 60%,#fff);stroke-width:3}
.fx-hex--q .fx-hex__row:hover .fx-hex__qc,.fx-hex--q .fx-hex__row:focus .fx-hex__qc,.fx-hex--q .fx-hex__row.on .fx-hex__qc{fill:color-mix(in srgb,var(--fc) 70%,#0b2a1c);filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--fc) 60%,transparent))}
.fx-hex--q .fx-hex__row{transition:opacity .3s}
.fx-hex--q .fx-hex__ab{font-family:var(--fut,'Oswald',sans-serif);font-weight:700;font-size:46px;fill:#fff}
.fx-hex--q .fx-hex__nm{font-family:'Poppins',sans-serif;font-weight:600;font-size:19px;fill:#fff;opacity:.9}
.fx-hex--q .fx-hex__tip{position:static;align-items:center;width:fit-content;margin:6px auto 0;text-align:center}
.fx-est{grid-column:1/-1;margin:4px 0 0;font-size:11.6px;line-height:1.5;color:rgba(255,255,255,.55);text-align:center}
.fx-hex__note{margin:10px 0 0;font-size:11.6px;line-height:1.5;color:var(--fx-mut);text-align:center}
.fx-hex--img{display:grid;place-items:center}
.fx-hex--img img{width:100%;max-width:480px}
.fx-tcloud{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:24px 0;list-style:none}
.fx-tcloud li{padding:12px 20px;border-radius:999px;font-family:var(--fut,'Oswald',sans-serif);font-weight:600;text-transform:uppercase;letter-spacing:.05em;
 background:color-mix(in srgb,var(--fc) calc(18% + var(--i) * 8%),#fff)}
/* Napszak-ív */
.fx-dial__svg{display:block;width:100%;max-width:520px;margin:0 auto;overflow:visible}
.fx-dial__track{fill:none;stroke:rgba(255,255,255,.16);stroke-width:3;stroke-dasharray:1.2 2.2;stroke-linecap:round}
.fx-dial__prog{fill:none;stroke:var(--fc-lite);stroke-width:4;stroke-linecap:round;stroke-dasharray:0 100;filter:drop-shadow(0 0 10px var(--fc));transition:stroke-dasharray 1.6s var(--fx-ease) .2s}
.fx-dial.in .fx-dial__prog{stroke-dasharray:var(--to) 100}
.fx-dial__dot{fill:rgba(255,255,255,.3)}
.fx-dial__dot.on{fill:#fff}
.fx-dial__sun circle:last-child{fill:#fff;filter:drop-shadow(0 0 14px var(--fc)) drop-shadow(0 0 4px #fff)}
.fx-dial__glow{fill:color-mix(in srgb,var(--fc) 30%,transparent);stroke:color-mix(in srgb,var(--fc) 60%,transparent);stroke-width:1.5;animation:fxpulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.fx-dial__lb{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:520px;margin:18px auto 0;padding:0;list-style:none}
.fx-dial__lb li{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 6px;border-radius:18px;text-align:center;color:rgba(255,255,255,.5);background:rgba(255,255,255,.04);transition:all .4s}
.fx-dial__ic svg{width:22px;height:22px}
.fx-dial__lb b{font-family:var(--fut,'Oswald',sans-serif);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:15px}
.fx-dial__lb small{font-size:11.6px}
.fx-dial__lb li.on{color:#fff;background:color-mix(in srgb,var(--fc) 26%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fc) 75%,transparent),0 20px 40px -24px var(--fc)}
.fx-dial__lb li.on .fx-dial__ic{color:var(--fc-lite)}
.fx-cond{margin:24px 0 0;max-width:46ch;padding:18px 20px;border-radius:18px;font-size:16px;line-height:1.6;color:#fff;
 background:rgba(255,255,255,.06);box-shadow:inset 3px 0 0 var(--fc)}

/* ══ 4. FAJTA-SÁV ════════════════════════════════════════════ */
.fx-band{position:relative;padding:clamp(70px,8vw,120px) 0;color:#fff;overflow:hidden;isolation:isolate;
 background:linear-gradient(135deg,color-mix(in srgb,var(--fc) 75%,#0b2a1c),color-mix(in srgb,var(--fc) 35%,#0b2a1c))}
.fx-band__wave{position:absolute;left:0;right:0;top:-1px;width:100%;height:60px;fill:var(--fx-night);transform:scaleY(-1)}
.fx-band__ghost{position:absolute;left:0;bottom:-.14em;z-index:-1;white-space:nowrap;pointer-events:none;
 font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;font-size:clamp(100px,17vw,260px);line-height:1;color:rgba(255,255,255,.08);
 transform:translate3d(var(--dx,0px),0,0)}
.fx-band__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,5vw,80px)}
.fx-band__tx p.fx-rv__i{margin:18px 0 0;max-width:48ch;font-size:16.4px;line-height:1.75;color:rgba(255,255,255,.9)}
.fx-band .fx-kick--l{color:rgba(255,255,255,.78)}
.fx-band__v{border-radius:var(--fx-r);overflow:hidden;box-shadow:0 50px 90px -40px rgba(0,0,0,.75);background:rgba(255,255,255,.08);
 transform:translate3d(0,var(--py,0px),0) rotate(1.5deg);transition:rotate .6s var(--fx-ease)}
.fx-band__v img,.fx-vid{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}

/* ══ 5. ERŐSSÉGVÁLASZTÓ ══════════════════════════════════════ */
.fx-cfg{position:relative;padding:clamp(70px,9vw,140px) 0;scroll-margin-top:80px;overflow:hidden}
.fx-cfg::before{content:'';position:absolute;right:-20vw;top:-10vw;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(closest-side,var(--fc-soft),transparent);z-index:0}
.fx-cfg__head{position:relative;margin-bottom:clamp(20px,3vw,40px)}
.fx-cfg__g{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,90px)}
.fx-cfg__stage{position:relative;display:grid;place-items:center;aspect-ratio:1;isolation:isolate;perspective:1100px}
.fx-cfg__num{position:absolute;left:0;right:0;top:-2%;z-index:-1;text-align:center;font-family:var(--fut,'Oswald',sans-serif);font-weight:700;
 font-size:clamp(110px,15vw,230px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--fc) 70%,transparent);
 transition:opacity .3s,transform .6s var(--fx-ease)}
.fx-cfg__num.swap{opacity:0;transform:translateY(24px) scale(.94)}
.fx-cfg__disc{position:absolute;left:14%;right:14%;bottom:6%;aspect-ratio:1;border-radius:50%;z-index:-1;
 background:radial-gradient(circle at 35% 30%,#fff,var(--fc-soft) 45%,color-mix(in srgb,var(--fc) 50%,var(--fx-bg)) 100%);
 box-shadow:0 60px 90px -40px color-mix(in srgb,var(--fc) 85%,#000),inset 0 -24px 44px -20px rgba(0,0,0,.14)}
.fx-cfg__orbit{position:absolute;left:8%;right:8%;bottom:0;aspect-ratio:1;border-radius:50%;z-index:-1;border:1.5px dashed color-mix(in srgb,var(--fc) 45%,transparent);animation:fxspin 60s linear infinite}
.fx-cfg__card{position:relative;width:58%;margin-top:18%;border-radius:30px;transform-style:preserve-3d;transition:transform .6s var(--fx-ease)}
.fx-cfg__img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:30px;
 box-shadow:0 50px 70px -34px rgba(0,0,0,.5),0 0 0 8px rgba(255,255,255,.75);transition:opacity .35s,transform .6s var(--fx-ease)}
.fx-cfg__img.swap{opacity:0;transform:translateY(22px) scale(.94)}
.fx-cfg__shine{position:absolute;inset:0;border-radius:30px;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%);
 background-size:250% 100%;background-position:var(--shx,120%) 0;mix-blend-mode:soft-light}
.fx-seg{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px;border-radius:999px;background:#fff;
 box-shadow:inset 0 0 0 1px rgba(23,35,27,.08),0 20px 40px -28px rgba(0,0,0,.55)}
.fx-seg button{position:relative;z-index:1;padding:16px 0;border:0;border-radius:999px;font:inherit;font-family:var(--fut,'Oswald',sans-serif);font-weight:600;
 font-size:18px;color:var(--fx-mut);background:none;cursor:pointer;transition:color .3s}
.fx-seg button[aria-checked="true"]{color:#06140d}
.fx-seg button.is-out{text-decoration:line-through;text-decoration-thickness:1px;opacity:.6}
.fx-seg__lamp{position:absolute;z-index:0;top:6px;bottom:6px;left:6px;width:0;border-radius:999px;
 background:linear-gradient(135deg,var(--fc-lite),var(--fc));box-shadow:0 12px 26px -10px color-mix(in srgb,var(--fc) 90%,#000),inset 0 1px 0 rgba(255,255,255,.6);
 transition:left .5s var(--fx-spring),width .5s var(--fx-spring)}
.fx-meter{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 8px 0}
.fx-meter span{height:5px;border-radius:3px;background:rgba(23,35,27,.1);transition:background .4s}
.fx-meter span.on{background:var(--fc);box-shadow:0 0 10px -2px var(--fc)}
.fx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 0}
.fx-stats div{padding:16px 16px;border-radius:20px;background:var(--fx-card);box-shadow:inset 0 0 0 1px rgba(23,35,27,.07)}
.fx-stats dt{font-size:10.8px;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-mut)}
.fx-stats dd{margin:6px 0 0;font-family:var(--fut,'Oswald',sans-serif);font-weight:600;font-size:clamp(19px,2vw,26px);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fx-ink)}
.fx-spec{margin:14px 0 0;padding:18px 20px 16px;border-radius:22px;color:#fff;background:linear-gradient(160deg,#10301F,var(--fx-night));box-shadow:0 30px 50px -36px rgba(0,0,0,.6)}
.fx-spec__h{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--fc-lite)}
.fx-spec ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:0;padding:0;list-style:none}
.fx-spec li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 10px}
.fx-spec li span{font-size:12.6px;color:rgba(255,255,255,.7)}
.fx-spec li b{font-family:var(--fut,'Oswald',sans-serif);font-weight:600;font-size:18px;font-variant-numeric:tabular-nums}
.fx-spec li i{grid-column:1/-1;height:4px;border-radius:2px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.fx-spec li i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--fc),var(--fc-lite));transform-origin:0 50%;transform:scaleX(var(--v,0));transition:transform .8s var(--fx-ease)}
.fx-spec__n{margin:14px 0 0;font-size:11.4px;line-height:1.5;color:rgba(255,255,255,.55)}
.fx-stock{display:inline-flex;align-items:center;gap:8px;margin:18px 0 0;font-size:13px;font-weight:600;color:#1E7A4B}
.fx-stock i{width:8px;height:8px;border-radius:50%;background:#2FBF7E;box-shadow:0 0 0 4px rgba(47,191,126,.18)}
.fx-stock.is-out{color:#A33A3A}
.fx-stock.is-out i{background:#D65454;box-shadow:0 0 0 4px rgba(214,84,84,.18)}
.fx-cfg__cta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.fx-cfg__all{margin:20px 0 0;font-size:12.4px;color:var(--fx-mut)}
.fx-cfg__all a{color:var(--fx-ink);text-decoration:underline;text-decoration-color:rgba(23,35,27,.25);text-underline-offset:3px}
.fx-cfg__all a:hover{text-decoration-color:var(--fc)}
/* Rögzített vásárlósáv */
.fx-bar{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:12px;
 width:min(580px,calc(100vw - 24px));padding:8px 8px 8px 18px;border-radius:999px;translate:-50% 150%;opacity:0;pointer-events:none;
 background:rgba(8,24,16,.84);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);color:#fff;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 30px 60px -20px rgba(0,0,0,.75);transition:translate .6s var(--fx-ease),opacity .4s}
.fx-bar.show{translate:-50% 0;opacity:1;pointer-events:auto}
.fx-bar__dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--fc);box-shadow:0 0 14px var(--fc)}
.fx-bar__t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.fx-bar__t b{font-family:var(--fut,'Oswald',sans-serif);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:15px}
.fx-bar__t small{font-size:12px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.fx-bar__go{flex:none;font-size:12.6px;font-weight:600;color:rgba(255,255,255,.8);padding:10px 6px}
.fx-bar__go:hover{color:#fff}
.fx-bar .fx-btn{padding:13px 22px;font-size:13.6px}

/* ══ 6–7. KARUSZELEK ═════════════════════════════════════════ */
.fx-ext{padding:0 0 clamp(40px,6vw,90px)}
.fx-more{padding:clamp(20px,3vw,40px) 0 clamp(60px,8vw,120px)}
.fx-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.fx .fx-award{width:auto;max-width:none;height:clamp(34px,4vw,54px)}
.fx-arr{display:flex;gap:8px}
.fx-arr button{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;cursor:pointer;color:var(--fx-ink);background:#fff;
 box-shadow:inset 0 0 0 1px rgba(23,35,27,.1),0 12px 24px -16px rgba(0,0,0,.5);transition:background .25s,color .25s,transform .25s}
.fx-arr button:hover{background:var(--fx-ink);color:#fff;transform:scale(1.07)}
.fx-arr svg{width:18px;height:18px}
.fx-car{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
 padding:8px max(var(--fx-gut),calc((100vw - 1320px) / 2 + var(--fx-gut))) 36px;scroll-padding-inline:max(var(--fx-gut),calc((100vw - 1320px) / 2 + var(--fx-gut)));cursor:grab}
.fx-car::-webkit-scrollbar{display:none}
.fx-car.is-drag{cursor:grabbing;scroll-snap-type:none}
.fx-car.is-drag a{pointer-events:none}
.fx-card{flex:0 0 clamp(210px,19vw,260px);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;border-radius:26px;background:var(--fx-card);overflow:hidden;
 box-shadow:inset 0 0 0 1px rgba(23,35,27,.07),0 20px 40px -32px rgba(0,0,0,.55);transition:transform .5s var(--fx-ease),box-shadow .5s}
.fx-card:hover{transform:translateY(-8px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fc) 60%,transparent),0 34px 54px -30px rgba(0,0,0,.55)}
.fx-card__img{display:grid;place-items:center;aspect-ratio:1;background:radial-gradient(70% 70% at 50% 62%,var(--fc-soft),transparent 72%)}
.fx-card__img img{width:80%;height:80%;object-fit:contain;transition:transform .7s var(--fx-ease)}
.fx-card:hover .fx-card__img img{transform:scale(1.1) rotate(-4deg)}
.fx-card__b{display:flex;flex-direction:column;gap:4px;padding:14px 16px 18px;flex:1}
.fx-card__b b{font-family:var(--fut,'Oswald',sans-serif);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:16px;line-height:1.1}
.fx-card__b small{font-size:11.8px;color:var(--fx-mut)}
.fx-card__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px;margin-top:auto;padding-top:12px}
.fx-card__p{font-weight:600;font-size:14.4px;white-space:nowrap}
.fx-card__p del{opacity:.5;font-weight:400;margin-right:4px}
.fx-card__p ins{text-decoration:none}
.fx-card__go{display:inline-flex;align-items:center;gap:5px;font-size:12.4px;font-weight:600;color:var(--fx-green)}
.fx-card__go svg{width:14px;height:14px;transition:transform .3s}
.fx-card:hover .fx-card__go svg{transform:translateX(3px)}
.fx-fc{flex:0 0 clamp(260px,23vw,310px);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;border-radius:32px;overflow:hidden;isolation:isolate;color:#fff;
 background:linear-gradient(170deg,color-mix(in srgb,var(--c) 72%,#0b2a1c),color-mix(in srgb,var(--c) 32%,#081A12));
 box-shadow:0 30px 60px -36px color-mix(in srgb,var(--c) 70%,#000);transition:transform .6s var(--fx-ease),box-shadow .6s}
.fx-fc::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 60% at 50% 30%,rgba(255,255,255,.28),transparent 60%);transition:opacity .5s;opacity:.6}
a.fx-fc:hover{transform:translateY(-10px) rotate(-.8deg);box-shadow:0 46px 80px -34px color-mix(in srgb,var(--c) 90%,#000)}
a.fx-fc:hover::before{opacity:1}
.fx-fc__art{display:block;padding:22px 22px 0}
.fx-fc__pic{position:relative;display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);background:#0b2a1c;
 box-shadow:0 26px 44px -20px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.14);transition:transform .9s var(--fx-ease),box-shadow .6s}
a.fx-fc:hover .fx-fc__pic{transform:translateY(-6px) scale(1.05);box-shadow:0 36px 54px -20px rgba(0,0,0,.7),0 0 0 2px rgba(255,255,255,.35),0 0 50px -6px var(--c)}
/* Fénycsík áthúzáskor */
.fx-fc::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.22) 48%,transparent 62%);translate:-120% 0;transition:translate 0s}
a.fx-fc:hover::after{translate:120% 0;transition:translate 1s var(--fx-ease)}
@media(min-width:1081px){
 .fx-car--f{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.3vw,18px);overflow:visible;cursor:auto;scroll-snap-type:none}
 .fx-car--f .fx-fc{flex:none;min-width:0}
 .fx-car--f .fx-fc__art{padding:16px 16px 0}
 .fx-car--f .fx-fc__b{padding:14px 16px 20px}
 .fx-car--f .fx-fc__b b{font-size:clamp(19px,1.7vw,25px)}
 .fx-car--f .fx-fc__n i{font-size:10.6px;padding:3px 8px}
}
.fx-fc__b{display:flex;flex-direction:column;gap:6px;padding:18px 22px 24px;flex:1}
.fx-fc__b small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.fx-fc__b b{font-family:var(--fut,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;font-size:28px;line-height:1}
.fx-fc__n{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.fx-fc__n i{font-style:normal;padding:4px 10px;border-radius:999px;font-size:11.4px;background:rgba(255,255,255,.16)}
.fx-fc__go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:12px;font-size:13.4px;font-weight:600}
.fx-fc__go svg{width:15px;height:15px;transition:transform .3s}
a.fx-fc:hover .fx-fc__go svg{transform:translateX(4px)}
.fx-fc.is-soon{opacity:.78}

/* ══ Egérkövető: fényes formulaszínű gyűrű + pont + szikra-csóva; linken üveggé nyílik, kártyán felirat ══ */
html.fx-nocur .fx,html.fx-nocur .fx *{cursor:none!important}
html.fx-nocur .fx :is(input,textarea,select,[contenteditable]){cursor:auto!important}
.fx-cur{position:fixed;left:0;top:0;width:0;height:0;z-index:9990;pointer-events:none;opacity:0;transition:opacity .35s}
.fx-cur.on{opacity:1}
.fx-cur__r,.fx-cur__d,.fx-cur__s{position:absolute;left:0;top:0;border-radius:50%;will-change:transform}
.fx-cur__r{display:grid;place-items:center;width:42px;height:42px;margin:-21px 0 0 -21px;border:1.5px solid color-mix(in srgb,var(--fc) 75%,#fff);
 box-shadow:0 0 22px -4px var(--fc),inset 0 0 14px -6px var(--fc);
 transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s,box-shadow .35s,scale .25s}
.fx-cur.hot .fx-cur__r{width:66px;height:66px;margin:-33px 0 0 -33px;border-color:var(--fc);background:color-mix(in srgb,var(--fc) 18%,transparent);
 -webkit-backdrop-filter:blur(3px) saturate(170%);backdrop-filter:blur(3px) saturate(170%);box-shadow:0 0 34px -2px var(--fc),inset 0 0 18px -6px #fff}
.fx-cur.lab .fx-cur__r{width:108px;height:108px;margin:-54px 0 0 -54px;border-color:rgba(255,255,255,.5);background:color-mix(in srgb,var(--fc) 86%,#0b2a1c);
 box-shadow:0 22px 44px -14px color-mix(in srgb,var(--fc) 80%,#000),0 0 40px -6px var(--fc)}
.fx-cur.down .fx-cur__r{scale:.8}
.fx-cur__l{font-family:var(--fut,'Oswald',sans-serif);font-weight:700;font-size:11.5px;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:#fff;white-space:nowrap;opacity:0;scale:.5;transition:opacity .25s,scale .5s cubic-bezier(.22,1,.36,1)}
.fx-cur.lab .fx-cur__l{opacity:1;scale:1}
.fx-cur__d{width:8px;height:8px;margin:-4px 0 0 -4px;background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--fc) 55%,transparent),0 0 16px 4px var(--fc);transition:scale .3s,opacity .3s}
.fx-cur.hot .fx-cur__d{scale:.55}
.fx-cur.lab .fx-cur__d{opacity:0}
.fx-cur__s{width:8px;height:8px;margin:-4px 0 0 -4px;opacity:0;background:radial-gradient(circle,#fff 0 22%,var(--fc) 52%,transparent 72%)}

/* ══ JOGI ════════════════════════════════════════════════════ */
.fx-legal{padding:0 0 clamp(36px,5vw,60px)}
.fx-legal p{margin:0;padding:16px 18px;border-radius:16px;font-size:12px;line-height:1.6;color:var(--fx-mut);background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(23,35,27,.08)}
.fx-legal b{color:var(--fx-ink)}

/* ══ Belépők (csak JS mellett rejt) ══════════════════════════ */
.fx-js .fx-rv{opacity:0;translate:0 40px;transition:opacity .9s ease,translate 1s var(--fx-ease)}
.fx-js .fx-rv.in{opacity:1;translate:0 0}
.fx-js .fx-rv .fx-rv__i{opacity:0;translate:0 18px;transition:opacity .8s ease .25s,translate .9s var(--fx-ease) .25s}
.fx-js .fx-rv.in .fx-rv__i{opacity:1;translate:0 0}
.fx-split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.24em .02em .08em;margin:-.24em -.02em -.08em}
.fx-split .w > span{display:inline-block;translate:0 110%;rotate:4deg;transform-origin:0 100%;transition:translate 1s var(--fx-ease),rotate 1s var(--fx-ease);transition-delay:calc(var(--k) * 70ms)}
.fx-split.in .w > span{translate:0 0;rotate:0deg}
.fx-js .fx-ch__p,.fx-js .fx-ch__s,.fx-js .fx-cond,.fx-js .fx-ch__no{opacity:0;translate:0 20px;transition:opacity .8s ease .35s,translate .9s var(--fx-ease) .35s}
.fx-js .fx-ch.on .fx-ch__p,.fx-js .fx-ch.on .fx-ch__s,.fx-js .fx-ch.on .fx-cond,.fx-js .fx-ch.on .fx-ch__no{opacity:1;translate:0 0}
.fx-js .fx-h1 .l{translate:0 .9em;opacity:0;rotate:8deg;animation:fxl 1.1s var(--fx-ease) forwards;animation-delay:calc(.15s + var(--k) * 45ms)}
@keyframes fxl{to{translate:0 0;opacity:1;rotate:0deg}}
.fx-js .fx-hero__tx > :not(.fx-h1){opacity:0;translate:0 24px;animation:fxin 1s var(--fx-ease) forwards;animation-delay:.55s}
.fx-js .fx-hero__tx > .fx-crumb,.fx-js .fx-hero__tx > .fx-eye{animation-delay:.1s}
.fx-js .fx-hero__tx > .fx-sw{animation-delay:.8s}
.fx-js .fx-orb{animation:fxart 1.6s var(--fx-ease) both}
.fx-js .fx-orbit__c em{opacity:0;animation:fxin2 .8s var(--fx-ease) forwards;animation-delay:1.1s}
@keyframes fxin{to{opacity:1;translate:0 0}}
@keyframes fxin2{to{opacity:1}}
@keyframes fxart{from{opacity:0;scale:.7;filter:blur(14px)}to{opacity:1;scale:1;filter:blur(0)}}

/* ══ Tablet ══════════════════════════════════════════════════ */
@media(max-width:1080px){
 .fx-ch__g{grid-template-columns:1fr}
 .fx-ring{grid-template-columns:1fr}
 .fx-ring__lg{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fx-ring__lg button{min-width:0;grid-template-columns:12px 1fr;row-gap:2px;padding:12px 14px}
 .fx-ring__lg button em{grid-column:2}
 .fx-ch{min-height:0}
}
/* ══ Mobil ═══════════════════════════════════════════════════ */
@media(max-width:860px){
 .fx-hero__pin{min-height:0;padding:calc(clamp(76px,9.5vh,100px) + 18px) 0 64px}
 .fx-hero__g,.fx-band__g,.fx-cfg__g{grid-template-columns:1fr}
 .fx-hero__art{order:-1;width:min(84vw,380px);margin:0 auto 4px}
 .fx-orb{width:64%}
 .fx-orbit__c > span{top:9%}
 .fx-orbit__c em{font-size:11.6px;padding:7px 12px 7px 9px}
 .fx-ghost{top:26%;font-size:30vw}
 .fx-hero__badges{right:-4px;bottom:0;padding:6px 9px;gap:8px}
 .fx-hero__badges img{height:20px}
 .fx-h1{font-size:clamp(52px,15vw,84px)}
 .fx-cta{margin-top:24px}
 .fx-cta .fx-btn{flex:1 1 auto}
 .fx-sw{gap:6px;margin-top:26px;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * var(--fx-gut));padding-right:var(--fx-gut)}
 .fx-sw::-webkit-scrollbar{display:none}
 .fx-sw__i{height:44px;flex:none}
 .fx-sw__i img{width:40px;height:40px}
 .fx-scroll{display:none}
 .fx-ch{padding:72px 0 80px}
 .fx-ch__h{font-size:clamp(38px,11vw,60px)}
 .fx-ch--mood{min-height:88svh;align-items:flex-end}
 .fx-ch--mood::after{background:linear-gradient(0deg,rgba(5,15,10,.95) 0%,rgba(5,15,10,.6) 55%,rgba(5,15,10,.15) 100%)}
 .fx-hex__tip{position:static;align-items:flex-start;text-align:left;margin-top:12px}
 .fx-cfg__stage{max-width:420px;width:100%;margin:0 auto}
 .fx-cfg__g{gap:14px}
 .fx-seg button{font-size:15.6px;padding:14px 0}
 .fx-stats{gap:8px}
 .fx-stats div{padding:12px 12px}
 .fx-stats dt{font-size:9.6px;letter-spacing:.05em}
 .fx-stats dd{font-size:18px}
 .fx-spec ul{gap:12px 16px}
 .fx-cfg__cta .fx-btn{flex:1 1 auto}
 .fx-sh{flex-wrap:wrap;align-items:flex-start}
 .fx-arr{display:none}
 .fx-card{flex-basis:min(42vw,200px)}
 .fx-fc{flex-basis:min(70vw,280px)}
 .fx-band__wave{height:36px}
 .fx-band__v{transform:none}
 .fx-bar__go{display:none}
 .fx-mq span{font-size:clamp(40px,12vw,64px)}
}
@media(max-width:420px){
 .fx-ring__lg{grid-template-columns:1fr}
 .fx-ring__lg button{grid-template-columns:12px 1fr auto}
 .fx-ring__lg button em{grid-column:auto}
 .fx-spec ul{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
 .fx-blob,.fx-pt,.fx-orb__halo,.fx-orb__ring,.fx-orbit,.fx-orbit__c > span,.fx-scroll span,.fx-dial__glow,.fx-grain,.fx-mq__track,.fx-cfg__orbit,.fx-eye__dot{animation:none!important}
 .fx-orbit__c em{opacity:1!important}
 .fx-js .fx-rv,.fx-js .fx-rv .fx-rv__i,.fx-js .fx-hero__tx > *,.fx-js .fx-orb,.fx-js .fx-h1 .l{opacity:1;translate:none;rotate:none;animation:none;transition:none}
 .fx-split .w > span{translate:none;rotate:none;transition:none}
 .fx-ring__s,.fx-hex__o{transition:none}
}
