/* ==========================================================================
   GDI 6 — prestige homepage (CEO 2026-11-03). Loaded after gdi5.css; only g6-* classes, so the about /
   contact / privacy pages keep the GDI 5 look. Palette and serif from gdi5 (deep green, warm paper, gold hairline).
   ========================================================================== */
:root { --g6-measure: 1180px; --g6-on-dark: rgba(255, 255, 255, 0.78); --g6-on-dark-soft: rgba(255, 255, 255, 0.56); --g6-dark-rule: rgba(255, 255, 255, 0.14); }

/* ---- shared ---- */
.g6-kicker, .g6-eyebrow { margin: 0 0 22px; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green); }
.g6-kicker { display: flex; align-items: center; gap: 14px; }
.g6-kicker::before { content: ""; width: 34px; height: 1px; background: var(--gold-rule); }
.g6-h2 { margin: 0 0 26px; max-width: 26ch; font-family: var(--head); font-weight: 400; font-size: clamp(34px, 3.6vw, 56px); line-height: 1.1; letter-spacing: -0.012em; color: var(--ink); }
.g6-h2--s { font-size: clamp(28px, 2.5vw, 40px); overflow-wrap: anywhere; }
.g6-h2 i { font-style: italic; color: inherit; }
.gdi2 .g6-lead { margin: 0 0 22px; max-width: 62ch; font-size: clamp(18px, 1.35vw, 21px); line-height: 1.6; color: var(--ink-soft); }
.g6-num, .g6-roman { display: block; margin-bottom: 18px; font-family: var(--head); font-style: italic; font-size: 20px; color: var(--brass); }
.g6-subtitle { margin: clamp(64px, 7vw, 104px) 0 0; padding-top: 28px; border-top: 1px solid var(--rule); font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink); }
.g6-more { margin-top: 44px; }
.gdi2-sec.g6-warm { background: var(--paper-warm); }
.gdi2 .gdi2-sec[class*="g6-"] > .gdi2-wrap { border-top: 0; padding-top: 0; }

/* ---- dark (deep green) chapters ---- */
.gdi2-sec.g6-dark { background: var(--green); color: var(--g6-on-dark); }
.g6-dark .g6-h2 { color: #fff; }
.g6-dark .g6-kicker { color: var(--g6-on-dark); }
.gdi2 .g6-dark p, .gdi2 .g6-dark .g6-lead { color: var(--g6-on-dark); }
.g6-dark h3 { color: #fff; }

/* ---- hero ---- */
.gdi2-sec.g6-hero { padding-top: clamp(72px, 9vw, 140px); padding-bottom: clamp(56px, 6vw, 88px); background: #FBFAF7; }
.g6-hero__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.9fr); gap: clamp(40px, 5vw, 88px); align-items: stretch; }
.g6-hero__text { align-self: center; }
.g6-display { margin: 0 0 30px; font-family: var(--head); font-weight: 400; font-size: clamp(46px, 5.2vw, 86px); line-height: 1.03; letter-spacing: -0.02em; color: var(--ink); max-width: 15ch; }
.g6-display i { font-style: italic; color: var(--green); }
.g6-actions { display: flex; flex-wrap: wrap; gap: 18px 30px; align-items: center; margin-top: 36px; }
.g6-seal { position: relative; margin: 0; min-height: 520px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 3vw, 48px); background: radial-gradient(120% 90% at 100% 0%, #15503C 0%, var(--green) 52%, var(--green-deep) 100%); color: #fff; overflow: hidden; }
.g6-seal::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(184, 150, 46, 0.55); pointer-events: none; }
.g6-seal__mark { width: min(210px, 58%); height: auto; margin: 8px auto 0; opacity: 0.96; }
.g6-seal figcaption { position: relative; display: flex; flex-direction: column; gap: 26px; }
.g6-seal__motto { font-family: var(--head); font-style: italic; font-size: clamp(24px, 2vw, 32px); line-height: 1.3; color: #fff; }
.g6-seal__reg { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.22); font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--g6-on-dark-soft); }
.g6-figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(56px, 6vw, 96px) 0 0; border-top: 1px solid var(--rule-strong); }
.g6-figures div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 10px; padding: 26px 26px 6px 0; }
.g6-figures div + div { padding-left: 26px; border-left: 1px solid var(--rule); }
.g6-figures dd { margin: 0; font-family: var(--head); font-size: clamp(40px, 3.6vw, 60px); line-height: 1; color: var(--green); font-variant-numeric: lining-nums; }
.g6-figures dt { font-size: 14px; line-height: 1.45; color: var(--ink-soft); max-width: 24ch; }

/* ---- why (manifest) ---- */
.g6-why .g6-h2 { max-width: 20ch; font-size: clamp(36px, 4vw, 62px); }
.g6-why__body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); margin-top: clamp(40px, 4vw, 64px); }
.g6-why__body p { margin: 0; font-size: 16.5px; line-height: 1.7; }
.g6-quote { margin: clamp(64px, 7vw, 110px) 0 0; padding: 0 0 0 clamp(24px, 3vw, 44px); border-left: 2px solid var(--gold-rule); max-width: 900px; }
.gdi2 .g6-quote p { margin: 0; font-family: var(--head); font-style: italic; font-size: clamp(26px, 2.6vw, 40px); line-height: 1.3; color: #fff; }
.g6-quote footer { margin-top: 22px; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--g6-on-dark-soft); }

/* ---- mission / values ---- */
.g6-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 52px); margin-top: clamp(40px, 4vw, 60px); }
.g6-cols article { padding-top: 24px; border-top: 2px solid var(--green); }
.g6-cols h3 { margin: 0 0 14px; font-family: var(--head); font-weight: 500; font-size: clamp(24px, 2vw, 30px); color: var(--ink); }
.g6-cols p { margin: 0; font-size: 16.5px; line-height: 1.7; }
.g6-values { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.g6-values li { padding: 30px 28px 0 0; }
.g6-values li + li { padding-left: 28px; border-left: 1px solid var(--rule); }
.g6-values h4 { margin: 0 0 10px; font-family: var(--head); font-weight: 500; font-size: 22px; color: var(--ink); }
.g6-values p { margin: 0; font-size: 15.5px; line-height: 1.65; }

/* ---- areas ---- */
.g6-areas__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(40px, 4vw, 60px); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); background: #FBFAF7; }
.g6-areas__grid article { padding: clamp(26px, 2.6vw, 40px); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.g6-areas__grid h3 { margin: 0 0 12px; font-family: var(--head); font-weight: 500; font-size: clamp(21px, 1.6vw, 24px); line-height: 1.25; color: var(--ink); }
.g6-areas__grid p { margin: 0; font-size: 15.5px; line-height: 1.65; }

/* ---- RS feature ---- */
.g6-rs__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(40px, 5vw, 84px); align-items: start; }
.g6-rs__media { position: sticky; top: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; min-height: 460px; padding: clamp(36px, 4vw, 60px); background: radial-gradient(110% 80% at 0% 0%, #1A4F3D 0%, var(--green-deep) 70%); text-decoration: none; }
.g6-rs__media img { width: min(100%, 420px); margin-top: auto; margin-bottom: auto; }
.g6-rs__stat { padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.2); font-size: 14px; color: var(--g6-on-dark); }
.g6-rs__stat b { display: block; font-family: var(--head); font-weight: 400; font-size: 52px; line-height: 1; color: #fff; margin-bottom: 8px; }
.g6-rs p { font-size: 16.5px; line-height: 1.7; }
.g6-checks { list-style: none; margin: 30px 0 36px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule); }
.g6-checks li { position: relative; padding: 14px 10px 14px 26px; border-bottom: 1px solid var(--rule); font-size: 15.5px; color: var(--ink); }
.g6-checks li::before { content: ""; position: absolute; left: 2px; top: 24px; width: 12px; height: 1px; background: var(--gold-rule); }

/* ---- OBranże network ---- */
.g6-ob__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 84px); align-items: end; }
.g6-ob .g6-h2 { margin-bottom: 0; }
.g6-ob .g6-h2 i { color: #E9D9A6; }
.g6-ob__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); margin-top: clamp(48px, 5vw, 76px); }
.g6-ob__points article { padding-top: 22px; border-top: 1px solid var(--gold-rule); }
.g6-ob__points h3 { margin: 0 0 10px; font-family: var(--head); font-weight: 500; font-size: 22px; }
.g6-ob__points p { margin: 0; font-size: 15.5px; line-height: 1.65; }
.g6-ob__gridhead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 10px 40px; margin: clamp(64px, 7vw, 100px) 0 22px; }
.g6-ob__gridhead h3 { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #fff; }
.gdi2 .g6-ob__gridhead p { margin: 0; font-size: 15px; color: var(--g6-on-dark-soft); }
.g6-net { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.12); }
.g6-net li { display: flex; }
.g6-net__card { display: flex; flex-direction: column; gap: 16px; width: 100%; min-height: 250px; padding: 26px 24px 22px; background: #FBFAF7; color: var(--ink); text-decoration: none; transition: background 300ms var(--ease); }
a.g6-net__card:hover, a.g6-net__card:focus-visible { background: #fff; }
.g6-net__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 10px; }
.g6-net__cat { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); }
.g6-net__state { font-size: 10.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); }
.g6-net__state.is-live { color: var(--green); }
.g6-net__state.is-live::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #2E8B57; vertical-align: 1px; }
.g6-net__logo { display: block; height: 30px; }
.g6-net__logo img { height: 30px; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
.g6-net__desc { flex: 1; font-size: 14.5px; line-height: 1.55; color: var(--ink-soft); }
.g6-net__dom { font-size: 13px; font-weight: 600; color: var(--green); }
.g6-net__card.is-soon { background: #EFECE4; }
.g6-net__card.is-soon .g6-net__logo img { filter: grayscale(1); opacity: 0.55; }
.g6-net__card.is-soon .g6-net__dom { color: var(--ink-soft); font-weight: 500; }

/* ---- editorial standard + initiatives ---- */
.g6-steps { list-style: none; margin: clamp(40px, 4vw, 60px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: s; }
.g6-steps li { position: relative; padding: 30px 28px 0 0; border-top: 1px solid var(--rule-strong); }
.g6-steps li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--green); }
.g6-steps h3 { margin: 0 0 10px; font-family: var(--head); font-weight: 500; font-size: 22px; color: var(--ink); }
.g6-steps p { margin: 0; font-size: 15.5px; line-height: 1.65; }
.g6-dev { margin-top: clamp(80px, 8vw, 128px); }
.g6-dev .gdi2-index { border-top: 1px solid var(--rule); }

/* ---- president ---- */
.g6-president .gdi2-president__role { margin: -10px 0 26px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); }
.g6-president p { font-size: 16.5px; line-height: 1.7; }

/* ---- cooperation + contact ---- */
.g6-coop__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 40px); margin-top: clamp(36px, 4vw, 56px); }
.g6-coop__grid article { padding-top: 22px; border-top: 2px solid var(--green); }
.g6-coop__grid h3 { margin: 0 0 10px; font-family: var(--head); font-weight: 500; font-size: 21px; color: var(--ink); }
.g6-coop__grid p { margin: 0; font-size: 15.5px; line-height: 1.65; }
.g6-contact { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 32px clamp(32px, 4vw, 72px); align-items: end; margin-top: clamp(64px, 7vw, 104px); padding: clamp(32px, 4vw, 56px); background: var(--green); color: var(--g6-on-dark); }
.g6-contact__label { display: block; margin: 16px 0 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--g6-on-dark-soft); }
.g6-contact__label:first-child { margin-top: 0; }
.gdi2 .g6-contact__email { font-family: var(--head); font-size: clamp(24px, 2.3vw, 36px); color: #fff; text-decoration: underline; text-decoration-color: var(--gold-rule); text-underline-offset: 7px; text-decoration-thickness: 1px; word-break: break-word; }
.g6-contact address { font-style: normal; font-size: 15px; line-height: 1.6; }
.g6-contact address strong { display: block; font-family: var(--head); font-weight: 500; font-size: 20px; color: #fff; }
.g6-contact p { margin: 0; }
.g6-contact .gdi2-link { color: #fff; }

/* ---- responsive ---- */
@media (max-width: 1280px) {
  .g6-net { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .g6-contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 1024px) {
  .g6-hero__grid, .g6-rs__grid, .g6-ob__head { grid-template-columns: minmax(0, 1fr); }
  .g6-seal { min-height: 380px; }
  .g6-rs__media { position: relative; top: 0; min-height: 320px; }
  .g6-figures, .g6-values, .g6-steps, .g6-coop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g6-figures div:nth-child(3) { padding-left: 0; border-left: 0; }
  .g6-values li:nth-child(3), .g6-steps li:nth-child(3) { padding-left: 0; border-left: 0; }
  .g6-steps li { margin-bottom: 36px; }
  .g6-why__body, .g6-cols, .g6-ob__points { grid-template-columns: minmax(0, 1fr); }
  .g6-areas__grid, .g6-net { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .g6-display { font-size: clamp(38px, 10.5vw, 52px); }
  .g6-h2, .g6-why .g6-h2 { font-size: clamp(30px, 8.2vw, 40px); }
  .g6-seal { min-height: 320px; }
  .g6-figures div { padding: 20px 14px 4px 0; }
  .g6-figures div + div { padding-left: 14px; }
  .g6-figures div:nth-child(3) { padding-left: 0; }
  .g6-figures dd { font-size: 38px; }
  .g6-values, .g6-steps, .g6-coop__grid, .g6-areas__grid, .g6-net, .g6-checks, .g6-contact { grid-template-columns: minmax(0, 1fr); }
  .g6-values li, .g6-values li + li { padding-left: 0; border-left: 0; }
  .g6-values li + li { border-top: 1px solid var(--rule); margin-top: 24px; }
  .g6-net__card { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { .g6-net__card { transition: none; } }

/* ---- fixes after preview 1 ---- */
.gdi2-sec.gdi3-president.g6-president { background: transparent; }
.g6-ob__brand { display: inline-flex; margin: 0 0 30px; padding: 14px 20px; background: #FBFAF7; }
.g6-ob__brand img { height: 34px; width: auto; }
.g6-figures dt { overflow-wrap: anywhere; }

/* ==== GDI 7 skin B „Grafit” + effects (CEO 2026-11-04: B lepsze, bez słabych zdjęć, efekty i innowacje) ==== */

:root{--green:#1C8358;--green-deep:#16191A;--ink:#141414;--ink-soft:#55534E;--paper-warm:#F4F3F0;--head:"Source Serif 4", Georgia, serif;--brass:#1C8358;--gold-rule:#1C8358;}
body.gdi2{background:#FFFFFF;color:#141414}
.gdi2-sec.g6-hero{background:#FFFFFF} .gdi2-sec.g6-warm{background:#F4F3F0}
.g6-display,.g6-h2,.g6-cols h3,.g6-values h4,.g6-areas__grid h3,.g6-steps h3,.g6-coop__grid h3,.g6-ob__points h3,.gdi2-index__name,.gdi2-facts dd{font-family:"Source Serif 4", Georgia, serif;font-weight:400;letter-spacing:-0.015em}
.g6-display i,.g6-h2 i{font-style:italic;color:#1C8358} .g6-dark .g6-h2 i,.g6-ob .g6-h2 i{color:#7CD3A6}
.g6-num,.g6-roman{font-family:"Source Serif 4", Georgia, serif;font-style:italic;color:#1C8358}
.gdi2-sec.g6-dark,.g6-rs__media,.g6-contact{background:#16191A}
.g6-seal{background:#16191A} .g6-seal::after{border-color:#7CD3A6;opacity:.5}
.g6-figures dd{color:#141414;font-family:"Source Serif 4", Georgia, serif;font-weight:400}
.gdi2-btn{background:#1C8358;color:#fff} .gdi2-btn:hover{background:#141414}
.g6-kicker,.g6-eyebrow{color:#1C8358} .g6-dark .g6-kicker{color:#7CD3A6}
.g6-cols article,.g6-coop__grid article{border-top-color:#141414}
.g6-areas__grid{background:#FFFFFF} .g6-net__card{background:#fff} .g6-net__card.is-soon{background:#F4F3F0}
@media (min-width:1100px){
 .gdi2-panel{background:#16191A;color:#FFFFFF;border-right:0}
 .gdi2 .gdi2-panel__claim,.gdi2-panel .gdi2-panel__foot{color:#FFFFFF;opacity:.6}
 .gdi2-panel .gdi2-nav a{color:#FFFFFF;opacity:.82;border-bottom-color:rgba(255,255,255,.10)} .gdi2-panel .gdi2-nav li:first-child a{border-top-color:rgba(255,255,255,.10)}
 .gdi2-panel .gdi2-nav a[aria-current]{color:#FFFFFF;opacity:1} .gdi2-panel .gdi2-nav a[aria-current]::before{background:#1C8358}
 .gdi2-panel .gdi2-lang a,.gdi2-panel .gdi2-lang span{color:#FFFFFF;border-color:rgba(255,255,255,.10)} .gdi2-panel .gdi2-lang [aria-current="true"]{border-color:#1C8358;color:#FFFFFF}
}

.gdi2-panel__mark { display: none !important; }
.g6-display { font-size: clamp(42px, 4.6vw, 76px); max-width: none; }

/* hero: dark stage with a live globe */
.gdi2-sec.g6-hero.g7-hero { position: relative; background: #0F1213; color: rgba(255,255,255,.78); overflow: hidden; }
.g7-hero::before { content: ""; position: absolute; inset: -20%; background: radial-gradient(40% 50% at 75% 40%, rgba(28,131,88,.28), transparent 70%), radial-gradient(30% 40% at 20% 90%, rgba(212,175,55,.10), transparent 70%); animation: g7-drift 22s ease-in-out infinite alternate; pointer-events: none; }
@keyframes g7-drift { to { transform: translate3d(-4%, 3%, 0) scale(1.06); } }
.g7-hero .gdi2-wrap { position: relative; }
.g7-hero .g6-display { color: #fff; }
.g7-hero .g6-display i { color: #7CD3A6; }
.g7-hero .g6-eyebrow { color: #7CD3A6; }
.gdi2 .g7-hero .g6-lead { color: rgba(255,255,255,.74); }
.g7-hero .gdi2-link { color: #fff; }
.g7-motto { margin: 34px 0 0; font-family: var(--head); font-style: italic; font-size: 19px; color: rgba(255,255,255,.55); }
.g7-globe { position: relative; min-height: 560px; }
.g7-globe canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.g7-globe__tag { position: absolute; left: 50%; bottom: 6px; transform: translateX(-50%); white-space: nowrap; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.g7-globe__tag b { color: #D4AF37; font-weight: 600; }
.g7-hero .g6-figures { border-top-color: rgba(255,255,255,.22); }
.g7-hero .g6-figures div + div { border-left-color: rgba(255,255,255,.12); }
.g7-hero .g6-figures dd { color: #fff; }
.g7-hero .g6-figures dt { color: rgba(255,255,255,.6); }

/* manifest on light paper, headline lights up word by word */
.gdi2-sec.g6-dark.g6-why { background: #FFFFFF; color: var(--ink-soft); }
.g6-why .g6-h2 { color: var(--ink); }
.g6-why .g6-kicker { color: var(--green); }
.gdi2 .g6-why p { color: var(--ink-soft); }
.gdi2 .g6-why .g6-quote p { color: var(--ink); }
.g6-why .g6-quote { border-left-color: var(--green); }
.g6-why .g6-quote footer { color: var(--ink-soft); }
.g7-w { color: rgba(20,20,20,.16); transition: color .35s ease; }
.g7-w.is-on { color: inherit; }
.g6-why .g6-h2 i .g7-w.is-on { color: var(--green); }

/* RS: living gradient instead of a photo */
.g6-rs__media { background: #121617; overflow: hidden; isolation: isolate; }
.g6-rs__media::before { content: ""; position: absolute; inset: -30%; z-index: -1; background: radial-gradient(35% 40% at 30% 30%, rgba(28,131,88,.55), transparent 70%), radial-gradient(30% 35% at 75% 70%, rgba(124,211,166,.25), transparent 70%), radial-gradient(25% 30% at 70% 20%, rgba(212,175,55,.14), transparent 70%); animation: g7-drift 16s ease-in-out infinite alternate; }

/* OBranże: dark, with the network canvas */
.gdi2-sec.g6-ob { position: relative; background: #16191A; }
.g7-net { position: absolute; inset: 0 0 auto 0; width: 100%; height: min(760px, 70%); pointer-events: none; opacity: .9; }
.g6-ob .gdi2-wrap { position: relative; }

/* editorial steps: line fills while scrolling */
.g6-steps { position: relative; }
.g6-steps::after { content: ""; position: absolute; top: -1px; left: 0; height: 2px; width: calc(var(--g7p, 0) * 100%); background: var(--green); transition: width .12s linear; }
@media (max-width: 1024px) { .g6-steps::after { display: none; } }

/* cursor spotlight */
.g7-spot { position: relative; }
.g7-spot::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(320px circle at var(--mx, -999px) var(--my, -999px), rgba(28,131,88,.11), transparent 60%); }
.g7-spot:hover::after { opacity: 1; }
a.g6-net__card, .g6-areas__grid article { transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .3s; }
a.g6-net__card:hover, .g6-areas__grid article:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -22px rgba(0,0,0,.35); }

@media (max-width: 1024px) { .g7-globe { min-height: 380px; } }
@media (max-width: 640px) { .g6-display { font-size: clamp(34px, 9vw, 44px); } .g7-globe { min-height: 300px; } }
@media (prefers-reduced-motion: reduce) { .g7-hero::before, .g6-rs__media::before { animation: none; } .g7-w { transition: none; } }

.g7-hero .g6-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(320px, 1fr); }
@media (max-width: 1024px) { .g7-hero .g6-hero__grid { grid-template-columns: minmax(0, 1fr); } }

/* office gallery (CC0 illustrations until real office photos arrive) */
.g7-gallery { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; margin: clamp(36px, 4vw, 56px) 0 0; }
.g7-gallery figure { margin: 0; height: clamp(200px, 22vw, 320px); overflow: hidden; }
.g7-gallery img { width: 100%; height: 100%; object-fit: cover; max-width: none; filter: saturate(.9) contrast(1.03); transform: scale(1.02); transition: transform 1.2s var(--ease), filter .6s; }
.g7-gallery figure:hover img { transform: scale(1.07); filter: saturate(1.05); }
@media (max-width: 640px) { .g7-gallery { grid-template-columns: 1fr 1fr; } .g7-gallery figure:first-child { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { .g7-gallery img { transition: none; } }

/* ---- GDI 01 film in the president section (CEO 05.11) ---- */
.g6-president .gdi2-wrap.g7-pres { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.g7-film { margin: 0; }
.g7-film__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #16191A;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28); outline: 1px solid rgba(124, 211, 166, 0.25); outline-offset: -1px; }
.g7-film video { display: block; width: 100%; height: 100%; object-fit: cover; background: #16191A; }
.g7-film figcaption { margin-top: 12px; font-size: 12px; letter-spacing: 0.06em; color: var(--ink-soft); }
@media (max-width: 900px) { .g6-president .gdi2-wrap.g7-pres { grid-template-columns: 1fr; } }
/* DEF-20261110-039b2d begin */
body:not([class*="template-gdi2-home"]) .js-motion main#gdi2-content > section:first-of-type [data-reveal]:not([data-reveal="mask"]):not([data-reveal="side"]) { opacity: 1; transform: none; transition: none; }
/* DEF-20261110-039b2d end */
