/* GENERÁLT FÁJL – tools/build_wp_assets.py. Forrás: index.css */
body.gim .gim-layout-wrapper { display: flex; flex-direction: column; width: 100%; background-color: rgb(252, 252, 252); color: rgb(26, 26, 26); z-index: 2; }
body.gim .gim-media-slide { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; will-change: transform; }
body.gim .gim-img-divider { position: relative; width: 100%; padding: 0rem 5rem; overflow: hidden; }
body.gim .gim-img-divider-img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
body.gim .gim-img-divider-overlay { position: absolute; inset: 0px; background: linear-gradient(rgba(252, 252, 252, 0.18) 0%, rgba(252, 252, 252, 0) 30%, rgba(252, 252, 252, 0) 70%, rgba(252, 252, 252, 0.18) 100%); pointer-events: none; }
body.gim .gim-bg-video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0px; left: 0px; }
body.gim .gim-media-overlay { position: absolute; inset: 0px; background: linear-gradient(rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); }
body.gim .gim-media-text { position: absolute; inset: 0px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 10%; z-index: 10; }
body.gim .gim-eyebrow { display: block; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 1rem; color: rgba(255, 255, 255, 0.8); font-weight: 600; }
body.gim .subline-book { font-size: 1rem; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 32px; color: white; }
body.gim .gim-h2 { margin: 0px; color: rgb(255, 255, 255); }
body.gim .gim-content-section { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
body.gim .gim-text-block { padding: 10%; }
body.gim .gim-subline, body.gim .gim-lead-text { font-size: 1.5rem; line-height: 1.4; font-weight: 600; margin-bottom: 1.5rem; }
body.gim .gim-text-block p { margin-bottom: 2rem; }
body.gim .gim-quote { font-family: 'PPWriter', serif; font-size: 1.6rem; line-height: 1.45; font-style: normal; font-weight: 400; border: none; padding: 0; margin: 3rem 0; position: relative; font-style: italic;}
body.gim .gim-quote p { margin-bottom: 1.5rem;}
body.gim .gim-quote cite { display: block; font-family: 'PPMori', Sans-Serif;font-size: 1rem; font-style: normal; font-weight: 500; text-transform: uppercase; margin-top: 1rem; color: rgb(102, 102, 102);}
body.gim .gim-list { list-style: none; padding: 0px; margin: 2rem 0px; }
body.gim .gim-list li { font-size: 1.1rem; line-height: 1.6; color: rgb(74, 74, 74); margin-bottom: 1.5rem; padding-left: 1.5rem; position: relative; }
body.gim .gim-list li::before { content: "•"; position: absolute; left: 0px; color: rgb(26, 26, 26); font-weight: bold; }
body.gim .gim-list li strong { color: rgb(26, 26, 26); }
body.gim .gim-button { display: inline-block; background-color: rgb(26, 26, 26); color: rgb(255, 255, 255); padding: 0.75rem 1.75rem; font-size: 17px; border-radius: 30px; transition: 0.3s; text-decoration: none !important; }
body.gim .gim-button:hover { background-color: rgb(255, 146, 92); transform: scale(0.98); text-decoration: none !important; color: white !important; }
@media (max-width: 991px) { body.gim .gim-img-divider { height: 40vh; } body.gim .gim-img-divider { display: none; } }
@media (min-width: 992px) { body.gim .gim-layout-wrapper { flex-direction: row; } body.gim .gim-sticky-col { width: 50%; height: 100vh; position: sticky; top: 0px; overflow: hidden; } body.gim .gim-scroll-col { width: 50%; } body.gim .gim-mobile-only { display: none !important; } }
@media (max-width: 991px) { body.gim .gim-desktop-only { display: none !important; } body.gim .gim-mobile-media { width: 100%; height: 70vh; position: relative; overflow: hidden; } body.gim .gim-content-section { min-height: auto; } }
body.gim .gim-hs-outer { position: relative; background-color: white; z-index: 1;}
body.gim .gim-hs-pin { position: relative;}
body.gim .gim-hs-sticky { position: relative; height: 100vh; overflow: hidden; display: flex; align-items: center;}
body.gim .gim-hs-track { display: flex; align-items: center; gap: 3px; padding: 0 75px; will-change: transform;}
body.gim .gim-hs-card { position: relative; width: 70vw; max-width: 900px; height: 80vh; flex-shrink: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between;}
body.gim .gim-hs-card.c-1 { background: #ABDAD5; }
body.gim .gim-hs-card.c-2 { background: #C7E3E8; }
body.gim .gim-hs-card.c-3 { background: #E8F4F6; }
body.gim .gim-hs-card.c-4 { background: #E8F4F6; }
body.gim .gim-hs-shape { position: absolute; z-index: 1; pointer-events: none; fill: none; stroke: rgba(16, 40, 48, 0.08); stroke-width: 2;}
body.gim .gim-hs-card.c-1 .gim-hs-shape { bottom: -18%; right: -12%; width: 65%; opacity: 1;}
body.gim .gim-hs-card.c-2 .gim-hs-shape { top: -15%; left: -10%; width: 55%; opacity: 1;}
body.gim .gim-hs-card.c-3 .gim-hs-shape { bottom: -20%; left: -8%; width: 60%; opacity: 1;}
body.gim .gim-hs-card.c-4 .gim-hs-shape { top: -12%; right: -14%; width: 70%; opacity: 1;}
body.gim .gim-hs-content { position: relative; z-index: 10; padding: 52px 48px 0; width: 100%;}
body.gim .gim-hs-step-label { display: block; font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: #102830; opacity: 0.5; margin-bottom: 20px; opacity: 0; transform: translateY(14px); transition: opacity 0.5s ease, transform 0.5s ease;}
body.gim .gim-hs-title { font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; color: #102830; margin: 0 0 18px; opacity: 0; transform: translateY(22px); transition: opacity 0.6s ease 0.08s, transform 0.6s ease 0.08s;}
body.gim .gim-hs-desc { font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.7; color: rgba(16, 40, 48, 0.65); max-width: 440px; margin: 0; opacity: 0; transform: translateY(16px); transition: opacity 0.55s ease 0.18s, transform 0.55s ease 0.18s;}
body.gim .gim-hs-number { position: relative; z-index: 10; padding: 0 48px 40px; display: flex; align-items: flex-end; justify-content: flex-end; gap: 0;}
body.gim .gim-hs-number-dash { font-size: clamp(6rem, 14vw, 12rem); font-weight: 200; line-height: 0.8; color: #102830; opacity: 0.12; letter-spacing: -0.04em; user-select: none;}
body.gim .gim-hs-number-val { font-size: clamp(6rem, 14vw, 12rem); font-weight: 200; line-height: 0.8; color: #102830; opacity: 0.12; letter-spacing: -0.04em; user-select: none;}
body.gim .gim-hs-card.is-active .gim-hs-step-label, body.gim .gim-hs-card.is-active .gim-hs-title, body.gim .gim-hs-card.is-active .gim-hs-desc { opacity: 1; transform: translateY(0);}
body.gim .gim-hs-card.is-active .gim-hs-step-label { opacity: 0.5;}
body.gim .gim-hs-card.c-intro { background: #80A7A3; width: 50vw; max-width: 640px; justify-content: flex-end;}
body.gim .gim-hs-intro-inner { position: relative; z-index: 10; padding: 44px 48px; width: 100%;}
body.gim .gim-hs-intro-shape { position: absolute; top: -5%; right: -15%; width: 70%; pointer-events: none; z-index: 1; fill: none; stroke: rgba(255, 253, 138, 0.08); stroke-width: 2;}
body.gim .gim-hs-intro-label { font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: #fff; margin-bottom: 24px;}
body.gim .gim-hs-intro-h2 { font-size: clamp(1.6rem, 2.8vw, 2.8rem); font-weight: 200; letter-spacing: -0.03em; line-height: 1.12; color: #fff; margin: 0 0 12px;}
body.gim .gim-hs-intro-sub { font-size: 1.1rem; line-height: 1.65; color: rgba(255, 255, 255, 0.55);}
body.gim .gim-hs-dots { display: flex; gap: 10px; align-items: center; margin-top: 32px;}
body.gim .gim-hs-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.35s ease, box-shadow 0.35s ease; cursor: pointer; flex-shrink: 0;}
body.gim .gim-hs-dot.active { background: #fffd8a; transform: scale(2.2); box-shadow: 0 0 0 3px rgba(255, 253, 138, 0.2);}
body.gim .gim-hs-dot.visited { background: rgba(255, 253, 138, 0.4);}
body.gim .gim-hs-scroll-hint { margin-top: 28px; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); display: flex; align-items: center; gap: 10px;}
body.gim .gim-hs-scroll-hint::before { content: ''; display: block; width: 20px; height: 1px; background: rgba(255, 255, 255, 0.7);}
body.gim .gim-hs-card.c-cta { background: #80A7A3; justify-content: center; align-items: center; text-align: center; width: 60vw; max-width: 760px;}
body.gim .gim-hs-cta-shape-tl { position: absolute; top: -12%; left: -10%; width: 55%; fill: none; stroke: rgba(255, 253, 138, 0.06); stroke-width: 2; pointer-events: none;}
body.gim .gim-hs-cta-shape-br { position: absolute; bottom: -12%; right: -10%; width: 48%; fill: none; stroke: rgba(255, 253, 138, 0.05); stroke-width: 2; pointer-events: none;}
body.gim .gim-hs-cta-inner { position: relative; z-index: 10; padding: 52px;}
body.gim .gim-hs-cta-h2 { font-size: clamp(2rem, 3.5vw, 4rem); font-weight: 200; letter-spacing: -0.04em; line-height: 1.05; color: white; margin: 0 0 20px; opacity: 0; transform: translateY(22px); transition: opacity 0.65s ease 0.1s, transform 0.65s ease 0.1s;}
body.gim .gim-hs-cta-sub { font-size: 1.1rem; line-height: 1.7; color: rgba(255, 255, 255, 0.9); max-width: 320px; margin: 0 auto 44px; opacity: 0; transform: translateY(14px); transition: opacity 0.55s ease 0.2s, transform 0.55s ease 0.2s;}
body.gim .button-hori { display: inline-block; font-size: 15px; letter-spacing: 1px; background-color: #fffd8a; padding: 0.75rem 1.75rem; color: #102830; text-decoration: none !important; opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease 0.32s, transform 0.5s ease 0.32s, background 0.5s ease;}
body.gim .button-hori:hover { transform: scale(0.98) !important; color: #102830;}
body.gim .gim-hs-card.is-active .gim-hs-cta-h2, body.gim .gim-hs-card.is-active .gim-hs-cta-sub, body.gim .gim-hs-card.is-active .button-hori { opacity: 1; transform: translateY(0);}
@media (max-width: 768px) { body.gim .gim-hs-pin { height: auto; } body.gim .gim-hs-sticky { position: relative; height: auto; overflow: visible; } body.gim .gim-hs-track { flex-direction: column; padding: 0; gap: 0; transform: none !important; } body.gim .gim-hs-card, body.gim .gim-hs-card.c-intro, body.gim .gim-hs-card.c-cta { width: 100%; height: 75vh; min-height: 0; max-width: none; } body.gim .gim-hs-intro-inner, body.gim .gim-hs-cta-inner, body.gim .gim-hs-content { padding: 32px 24px 0; } body.gim .gim-hs-number { padding: 0 24px 24px; } body.gim .gim-hs-step-label, body.gim .gim-hs-title, body.gim .gim-hs-desc, body.gim .gim-hs-cta-h2, body.gim .gim-hs-cta-sub, body.gim .button-hori { opacity: 1 !important; transform: none !important; transition: none !important; } body.gim .gim-hs-dots { display: none; } body.gim .gim-hs-scroll-hint { display: none; } body.gim .gim-hs-intro-inner, body.gim .gim-hs-cta-inner { padding: 32px 24px 40px; } body.gim .gim-hs-content { padding: 32px 24px 0; } }
body.gim #gim-loader { position: fixed; inset: 0; z-index: 9999 !important; background: var(--firefly); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 40px; overflow: hidden; }
body.gim #gim-loader .loader-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }
body.gim #gim-loader .loader-ring-wrap, body.gim #gim-loader .loader-texts { position: relative; z-index: 2; }
body.gim #gim-loader .loader-ring-wrap { width: 180px; height: 180px; }
body.gim #gim-loader .loader-ring-wrap svg { width: 100%; height: 100%; transform: rotate(-90deg); }
body.gim #gim-loader .loader-pct { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 300; font-size: 2rem; color: #000; letter-spacing: -0.02em; }
body.gim #gim-loader .loader-texts { height: auto; overflow: hidden; text-align: center; }
body.gim #gim-loader .loader-texts p { font-weight: 300; font-size: 2.75rem; color: rgba(0, 0, 0, 1); line-height: 1.4em; transform: translateY(0);}
body.gim .page-content { min-height: 100vh; display: grid; place-items: center; font-size: 2rem; color: #222; }
body.gim #gim-chapnav { position: fixed; left: 32px; top: 50%; transform: translateY(-50%); z-index: 100; display: flex; flex-direction: column; gap: 0; pointer-events: none; }
body.gim #gim-chapnav ul { list-style: none; padding: 0; margin: 0; pointer-events: auto; }
body.gim #gim-chapnav li { display: flex; align-items: center; gap: 12px; padding: 10px 0; cursor: pointer;}
body.gim #gim-chapnav .cn-line { width: 12px; height: 2px; background-color: rgba(255, 255, 255, 0.3); flex-shrink: 0; transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
body.gim #gim-chapnav li.active .cn-line, body.gim #gim-chapnav li:hover .cn-line { width: 36px; background-color: var(--butter);}
body.gim #gim-chapnav .cn-label { font-family: var(--font-display); font-weight: 200; font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.35); transition: color 0.3s ease; white-space: nowrap;}
body.gim #gim-chapnav li.active .cn-label, body.gim #gim-chapnav li:hover .cn-label { color: var(--butter);}
body.gim.nav-light #gim-chapnav .cn-line { background-color: rgba(16, 40, 48, 0.25);}
body.gim.nav-light #gim-chapnav li.active .cn-line, body.gim.nav-light #gim-chapnav li:hover .cn-line { background-color: var(--firefly);}
body.gim.nav-light #gim-chapnav .cn-label { color: rgba(16, 40, 48, 0.3);}
body.gim.nav-light #gim-chapnav li.active .cn-label, body.gim.nav-light #gim-chapnav li:hover .cn-label { color: var(--firefly);}
body.gim #gim-chapnav.cn-white .cn-line { background-color: rgba(255, 255, 255, 0.3);}
body.gim #gim-chapnav.cn-white li.active .cn-line, body.gim #gim-chapnav.cn-white li:hover .cn-line { background-color: #ffffff;}
body.gim #gim-chapnav.cn-white .cn-label { color: rgba(255, 255, 255, 0.5);}
body.gim #gim-chapnav.cn-white li.active .cn-label, body.gim #gim-chapnav.cn-white li:hover .cn-label { color: #ffffff;}
@media (max-width: 1024px) { body.gim #gim-chapnav { display: none; } }
