/* GENERÁLT FÁJL – tools/build_wp_assets.py. Forrás: system.css */
body.gim .gim-layout-wrapper { display: flex; flex-direction: column; width: 100%; background-color: #FFEBE6; 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-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 .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-text-block p { margin-bottom: 2rem; }
body.gim .gim-quote { font-family: 'PPWriter', serif; font-size: 1.6rem; line-height: 1.45; font-style: italic; font-weight: 400; border: none; padding: 0; margin: 3rem 0; position: relative; }
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; margin-top: 1rem; color: rgb(102, 102, 102); }
body.gim .gim-features { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin: 2rem 0 3rem; }
body.gim .gim-feature { background: rgba(26, 26, 26, 0.03); padding: 28px 24px; }
body.gim .gim-feature-title { font-family: 'PPMori', sans-serif; font-weight: 400;font-size: 16px; color: rgb(26, 26, 26); margin: 0 0 10px; }
body.gim .gim-feature p { font-size: 0.95rem; line-height: 1.65; color: rgba(26, 26, 26, 0.65); margin: 0 !important; }
body.gim .gim-highlight-box { background: rgba(26, 26, 26, 0.04); padding: 32px 28px; margin-top: 2rem; }
body.gim .gim-highlight-title { font-family: 'PPMori', sans-serif; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(26, 26, 26); margin: 0 0 12px; }
body.gim .gim-highlight-box p { font-size: 0.95rem; line-height: 1.75; color: rgba(26, 26, 26, 0.6); margin: 0 !important; }
@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-features { grid-template-columns: 1fr; } }
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: sticky; top: 0; 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: #FFD6CC; }
body.gim .gim-hs-card.c-2 { background: #FFE0D9; }
body.gim .gim-hs-card.c-3 { background: #FFEBE6; }
body.gim .gim-hs-card.c-4 { background: #FFEBE6; }
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: #1a2e1a; 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: #1a2e1a; 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(26, 46, 26, 0.6); 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: #1a2e1a; opacity: 0.1; 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: #1a2e1a; opacity: 0.1; 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: #FFCBBF; width: 50vw; max-width: 640px; justify-content: flex-end; color: black;}
body.gim .gim-hs-intro-inner { position: relative; z-index: 10; padding: 44px 48px; width: 100%;}
body.gim .gim-hs-intro-label { font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: #000; 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: #000; margin: 0 0 12px;}
body.gim .gim-hs-scroll-hint { margin-top: 28px; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(26, 46, 26, 0.6); display: flex; align-items: center; gap: 10px;}
body.gim .gim-hs-scroll-hint::before { content: ''; display: block; width: 20px; height: 1px; background: rgba(26, 46, 26, 0.6);}
@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 { width: 100%; height: 75vh; min-height: 0; max-width: none; } body.gim .gim-hs-intro-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 { opacity: 1 !important; transform: none !important; transition: none !important; } body.gim .gim-hs-scroll-hint { display: none; } }
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; } }
body.gim .gim-sidenav { position: fixed !important; right: 24px; bottom: 24px; z-index: 9000; pointer-events: none; }
body.gim .gim-sidenav__group { display: flex; flex-direction: column; gap: 3px; position: absolute; right: 0; bottom: 0; opacity: 0; transform: translateY(8px); visibility: hidden; transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;}
body.gim .gim-sidenav__group.is-active { opacity: 1; transform: translateY(0); visibility: visible; pointer-events: auto; transition: opacity .3s ease, transform .3s ease, visibility 0s;}
body.gim .gim-sidenav__item { display: block; width: 74px; height: 74px; background: rgba(255,255,255,.55); border: 1px dashed transparent; cursor: pointer; transition: border-color .25s ease, background .25s ease; -webkit-tap-highlight-color: transparent;}
body.gim .gim-sidenav__item img { width: 100%; height: 100%; object-fit: contain; display: block; opacity: .55; transition: opacity .25s ease; pointer-events: none;}
body.gim .gim-sidenav__item:hover { border-color: #1a1a1a; background: rgba(255,255,255,.85);}
body.gim .gim-sidenav__item:hover img { opacity: 1;}
@media (max-width: 768px) { body.gim .gim-sidenav { right: 12px; bottom: 12px; } body.gim .gim-sidenav__item { width: 56px; height: 56px; padding: 6px; } }
