/* GONVERT Renewable Energy — rebuilt public-page system */
.energy-overview-page,
.energy-services-page,
.energy-expertise-page { background: var(--paper); overflow-x: clip; }

.energy-kicker { display:inline-flex; flex-direction:column; align-items:flex-start; gap:.55rem; font-family:var(--f-label); font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-teal-ink); }
.energy-kicker::after { content:""; width:34px; height:2px; border-radius:2px; background:var(--accent-gradient); }
.energy-section-head { max-width:760px; margin-bottom:clamp(2rem,4vw,3.2rem); }
.energy-section-head .energy-kicker,
.partnership-copy .energy-kicker { display:block; }
.energy-section-head .energy-kicker::after,
.partnership-copy .energy-kicker::after { display:none; }
.energy-section-head h2,
.partnership-copy h2 { margin-top:clamp(1rem,1.45vw,1.25rem); }
.energy-section-head h2 { font-size:clamp(1.75rem,3.3vw,2.7rem); margin-bottom:0; }
.energy-section-head h2::after,
.partnership-copy h2::after { content:""; display:block; width:38px; height:2px; margin-top:clamp(.62rem,.8vw,.75rem); border-radius:2px; background:var(--accent-gradient); }
.energy-section-head p { color:var(--muted); font-size:1.02rem; max-width:62ch; margin-top:clamp(1.1rem,1.45vw,1.35rem); }
.energy-icon { width:48px; height:48px; display:grid; place-items:center; color:var(--accent-teal); border:1px solid rgba(var(--accent-teal-rgb),.24); border-radius:50%; background:rgba(255,255,255,.72); flex:none; }
.energy-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }

/* Main-page hero: editorial left copy, image-forward right field and soft text-safe fade. */
.energy-main-hero { position:relative; min-height:clamp(540px,76vh,740px); overflow:hidden; border-bottom:1px solid var(--line); background:#f6f8f8; display:flex; align-items:center; }
.energy-main-hero .hero-image { position:absolute; inset:0; }
.energy-main-hero .hero-image img { width:100%; height:100%; object-fit:cover; object-position:62% center; }
.energy-main-hero .hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(to right,rgba(246,248,248,.94) 0%,rgba(246,248,248,.9) 24%,rgba(246,248,248,.58) 46%,rgba(246,248,248,.16) 65%,rgba(246,248,248,0) 78%); pointer-events:none; }
.energy-main-hero .hero-inner { position:relative; z-index:2; width:100%; padding-block:clamp(4rem,8vw,6.5rem); }
.energy-main-hero .hero-copy { width:44%; max-width:none; }
.energy-main-hero h1 { font-size:clamp(2.1rem,3.35vw,3.3rem); line-height:1.08; letter-spacing:-.035em; margin:1rem 0 1.05rem; }
.energy-main-hero .hero-lead { color:var(--ink-2); font-size:clamp(.93rem,1.05vw,1rem); line-height:1.65; max-width:58ch; }
.energy-main-hero .hero-lead + .hero-lead { margin-top:.8rem; }
.energy-main-hero .hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }

/* Overview */
.value-strip { background:var(--paper); border-bottom:1px solid var(--line); }
.value-strip .wrap { padding-block:clamp(2.7rem,5vw,4rem); }
.value-strip h2 { font-size:clamp(1.55rem,2.7vw,2.1rem); margin-bottom:2rem; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.value-item { padding:0 clamp(1.2rem,3vw,2.4rem); border-left:1px solid var(--line); text-align:center; }
.value-item:first-child { border-left:0; }
.value-item .energy-icon { margin-inline:auto; }
.value-item h3 { font-size:1rem; margin:.9rem 0 .45rem; text-align:center; }
.value-item p { color:var(--muted); font-size:.94rem; max-width:32ch; margin-inline:auto; text-align:center; }

.energy-process { position:relative; display:grid; grid-template-columns:repeat(5,1fr); margin-top:2.2rem; }
.energy-process::before { content:""; position:absolute; left:10%; right:10%; top:28px; height:1px; background:rgba(var(--accent-teal-rgb),.26); }
.energy-step { position:relative; z-index:1; padding:0 clamp(.65rem,1.5vw,1.2rem); text-align:center; }
.energy-step .step-node { width:56px; height:56px; margin:0 auto 1.2rem; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--accent-teal),var(--accent)); border:5px solid #fff; box-shadow:0 0 0 1px rgba(var(--accent-teal-rgb),.2); font-family:var(--f-label); font-size:.72rem; font-weight:700; letter-spacing:.08em; }
.energy-step h3 { font-size:1rem; line-height:1.2; }
.energy-step .step-arrow { position:absolute; top:20px; right:-6px; color:rgba(var(--accent-teal-rgb),.5); }
.energy-step:last-child .step-arrow { display:none; }

.deliver-list { display:grid; grid-template-columns:repeat(5,1fr); }
.deliver-item { padding:1.8rem clamp(1rem,2vw,1.6rem); border-right:1px solid var(--line); text-align:center; }
.deliver-item:last-child { border-right:0; }
.deliver-item .energy-icon { margin-inline:auto; }
.deliver-item h3 { font-size:1rem; margin:.9rem 0 .55rem; text-align:center; }
.deliver-item p { color:var(--muted); font-size:.91rem; max-width:31ch; margin-inline:auto; text-align:center; }

.partnership-section { padding-block:clamp(3rem,5vw,4.25rem); }
.partnership-shell { display:grid; gap:clamp(2rem,3.5vw,3rem); align-items:start; }
.partnership-copy { max-width:720px; }
.partnership-copy h2 { font-size:clamp(1.55rem,2.35vw,2rem); margin-bottom:0; }
.partnership-copy p { color:var(--muted); margin:clamp(1.1rem,1.45vw,1.35rem) 0 1.35rem; max-width:59ch; }
.partnership-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(.7rem,1.25vw,1rem); align-items:stretch; }
.partner-category { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:1rem; min-height:154px; height:100%; padding:clamp(1.15rem,1.6vw,1.45rem); border:1px solid rgba(var(--accent-teal-rgb),.14); border-radius:12px; background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(234,244,244,.42)); font-size:.91rem; line-height:1.4; color:var(--ink-2); transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease); }
.partner-category:hover { transform:translateY(-2px); border-color:rgba(var(--accent-teal-rgb),.3); box-shadow:0 16px 30px -26px rgba(20,24,27,.35); }
.partner-category .energy-icon { width:38px; height:38px; }
.partner-category .energy-icon svg { width:19px; height:19px; }

.metrics-band { background:#102632; color:#fff; position:relative; overflow:hidden; }
.metrics-band::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,#000,transparent 90%); }
.metrics-band .wrap { position:relative; padding-block:clamp(3.2rem,6vw,5rem); }
.metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.metric { padding:0 clamp(1rem,2.5vw,2rem); border-left:1px solid rgba(255,255,255,.14); }
.metric:first-child { padding-left:0; border-left:0; }
.metric strong { display:block; font-size:clamp(2rem,4vw,3.4rem); font-weight:520; line-height:1; letter-spacing:-.04em; color:#fff; }
.metric span { display:block; margin-top:.7rem; color:rgba(255,255,255,.63); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; line-height:1.5; }
.metrics-statement { margin-top:2.7rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.16); font-family:var(--f-label); letter-spacing:.13em; text-transform:uppercase; color:#91c8ba; font-size:.75rem; }

.energy-closing { position:relative; overflow:hidden; min-height:300px; padding-block:clamp(2rem,2.6vw,2.8rem); display:flex; align-items:center; background:var(--dark-2); color:#fff; }
.energy-closing-media { position:absolute; inset:0; }
.energy-closing-media img { width:100%; height:100%; object-fit:cover; object-position:62% center; opacity:.72; }
.energy-closing-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(19,24,27,.94) 0%,rgba(19,24,27,.8) 38%,rgba(19,24,27,.4) 72%,rgba(19,24,27,.5) 100%); }
.energy-closing .wrap { position:relative; z-index:1; width:100%; }
.energy-closing-content { max-width:650px; color:rgba(255,255,255,.76); }
.energy-closing h2 { color:#fff; font-size:clamp(1.55rem,2.4vw,2.15rem); line-height:1.08; margin:0 0 .75rem; }
.energy-closing h2::after { content:""; display:block; width:52px; height:3px; margin-top:.8rem; background:var(--accent-gradient); }
.energy-closing p { color:rgba(255,255,255,.72); max-width:57ch; font-size:.98rem; line-height:1.65; margin:0 0 1.25rem; }

/* Services */
.service-rows { display:grid; gap:1.3rem; }
.service-row { display:grid; grid-template-columns:minmax(260px,.82fr) minmax(250px,.82fr) 1.35fr; gap:0; align-items:stretch; padding:0; background:#fbfcfc; border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
.service-row .row-no,.expertise-row .row-no { font-family:var(--f-label); color:var(--accent-teal-ink); font-weight:650; font-size:.72rem; letter-spacing:.14em; }
.service-media { position:relative; align-self:stretch; min-height:250px; overflow:hidden; background:var(--bg-2); }
.service-media::after { content:""; position:absolute; inset:0; background:linear-gradient(to right,rgba(251,252,252,0) 50%,rgba(251,252,252,.18) 66%,rgba(251,252,252,.72) 86%,#fbfcfc 100%),linear-gradient(180deg,rgba(16,38,50,.08),transparent 44%); pointer-events:none; }
.service-media img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .65s var(--ease); }
.service-row:hover .service-media img { transform:scale(1.025); }
.service-media .row-no { position:absolute; z-index:1; top:12px; left:12px; display:inline-flex; padding:.38rem .58rem; border:1px solid rgba(255,255,255,.45); border-radius:100px; color:#fff; background:rgba(16,38,50,.56); backdrop-filter:blur(5px); }
.service-copy { align-self:center; padding:clamp(1.8rem,3vw,2.5rem) clamp(1.2rem,2.5vw,2.1rem); }
.service-row > .capability-list { align-self:center; padding:clamp(1.8rem,3vw,2.5rem) clamp(1.4rem,3vw,2.5rem) clamp(1.8rem,3vw,2.5rem) clamp(1.1rem,2vw,1.7rem); }
.service-row h2 { font-size:clamp(1.3rem,2.2vw,1.8rem); margin-bottom:.8rem; }
.service-row .service-description { color:var(--muted); font-size:.96rem; }
.capability-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.4rem; padding:0; margin:0; list-style:none; }
.capability-list li { position:relative; padding-left:1rem; color:var(--ink-2); font-size:.9rem; line-height:1.45; }
.capability-list li::before { content:""; position:absolute; left:0; top:.52em; width:5px; height:5px; border-radius:50%; background:var(--accent-teal); }

.impact-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.impact-item { padding:1.5rem clamp(.8rem,2vw,1.5rem); border-right:1px solid var(--line); }
.impact-item:last-child { border-right:0; }
.impact-item h3 { font-size:.98rem; margin-top:.8rem; }
.why-energy-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.why-energy-item { padding:clamp(1.1rem,2.5vw,2rem) clamp(1.2rem,2.7vw,2.2rem); border-right:1px solid var(--line); text-align:center; }
.why-energy-item:last-child { border-right:0; }
.why-energy-item .energy-icon { margin-inline:auto; }
.why-energy-item p { color:var(--muted); margin:1rem auto 0; max-width:28ch; font-size:.94rem; }

/* Expertise */
.expertise-rows { display:grid; gap:1.5rem; }
.expertise-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.42fr); gap:0; align-items:stretch; overflow:hidden; background:#fbfcfc; border:1px solid var(--line); border-radius:var(--r-card); }
.expertise-content { position:relative; z-index:1; align-self:center; padding:clamp(2rem,3.8vw,3.2rem); }
.expertise-content .row-no { display:block; width:max-content; margin-bottom:1rem; }
.expertise-row h2 { font-size:clamp(1.35rem,2.4vw,1.95rem); margin-bottom:.8rem; }
.expertise-row .expertise-description { color:var(--muted); margin-bottom:1.2rem; max-width:65ch; }
.expertise-row .capability-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.expertise-media { min-height:320px; overflow:hidden; background:var(--bg-2); position:relative; }
.expertise-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.expertise-media::after { content:""; position:absolute; inset:0; background:linear-gradient(to right,#fbfcfc 0%,rgba(251,252,252,.82) 18%,rgba(251,252,252,.34) 42%,rgba(251,252,252,0) 68%); }
.expertise-tools { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.tool-group { padding:0 1.4rem; border-left:1px solid var(--line); }
.tool-group:first-child { padding-left:0; border-left:0; }
.tool-group h3 { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-teal-ink); margin-bottom:.8rem; }
.tool-group ul { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; color:var(--ink-2); font-size:.9rem; }
.tool-group li { position:relative; padding-left:1rem; }
.tool-group li::before { content:""; position:absolute; left:0; top:.62em; width:5px; height:5px; border-radius:50%; background:var(--accent-teal); }
@media (min-width:821px) {
  .expertise-row--tools .expertise-content { padding-block:1.65rem; }
  .expertise-row--tools .expertise-description { margin-bottom:.9rem; }
  .expertise-row--tools .tool-group h3 { margin-bottom:.55rem; }
  .expertise-row--tools .tool-group ul { gap:.4rem; }
}
.expertise-partners { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; }
.expertise-partners span { position:relative; border-bottom:1px solid var(--line); padding:.65rem 0 .65rem 1rem; color:var(--ink-2); font-size:.9rem; }
.expertise-partners span::before { content:""; position:absolute; left:0; top:1.18em; width:5px; height:5px; border-radius:50%; background:var(--accent-teal); }

@media (max-width:1100px) {
  .energy-process { grid-template-columns:repeat(3,1fr); gap:2.5rem 0; }
  .energy-process::before,.energy-step .step-arrow { display:none; }
  .deliver-list,.impact-grid { grid-template-columns:repeat(3,1fr); }
  .deliver-item:nth-child(3),.impact-item:nth-child(3) { border-right:0; }
  .service-row { grid-template-columns:minmax(220px,.7fr) 1fr; }
  .service-media { grid-row:1 / span 2; }
  .service-row .capability-list { grid-column:2; padding-top:0; }
  .why-energy-grid { grid-template-columns:repeat(2,1fr); }
  .why-energy-item:nth-child(even) { border-right:0; }
  .why-energy-item:nth-child(n+3) { border-top:1px solid var(--line); }
  .partnership-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .energy-main-hero { min-height:640px; align-items:flex-end; }
  .energy-main-hero .hero-image { position:absolute; inset:0; width:auto; height:auto; overflow:hidden; }
  .energy-main-hero .hero-image::after { background:linear-gradient(to bottom,rgba(246,248,248,.12) 0%,rgba(246,248,248,.68) 44%,rgba(246,248,248,.96) 70%,rgba(246,248,248,.99) 100%); }
  .energy-main-hero .hero-inner { padding-block:3rem 3.75rem; }
  .energy-main-hero .hero-copy { width:100%; max-width:620px; }
  .energy-main-hero h1 { font-size:clamp(2.1rem,7vw,3rem); }
  .value-grid,.metrics-grid { grid-template-columns:repeat(2,1fr); gap:2rem 0; }
  .value-item:nth-child(3),.metric:nth-child(3) { border-left:0; padding-left:0; }
  .partnership-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .energy-closing { min-height:340px; padding-block:3rem; }
  .energy-closing-overlay { background:linear-gradient(to bottom,rgba(19,24,27,.36) 0%,rgba(19,24,27,.84) 58%,rgba(19,24,27,.96) 100%); }
  .expertise-row { grid-template-columns:1fr; }
  .expertise-media { grid-column:1; grid-row:1; min-height:260px; }
  .expertise-media::after { background:linear-gradient(to bottom,rgba(251,252,252,0) 50%,rgba(251,252,252,.3) 70%,#fbfcfc 100%); }
  .expertise-content { grid-column:1; grid-row:2; padding:clamp(1.6rem,5vw,2.3rem); }
}
@media (max-width:620px) {
  .energy-main-hero h1 { font-size:clamp(2.15rem,11vw,3rem); }
  .energy-main-hero h1,.energy-main-hero p { overflow-wrap:anywhere; }
  .energy-main-hero .hero-actions .btn { width:100%; justify-content:center; }
  .value-grid,.metrics-grid,.deliver-list,.impact-grid,.why-energy-grid { grid-template-columns:1fr; }
  .value-item,.value-item:nth-child(3),.metric,.metric:nth-child(3) { border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:1.5rem; }
  .value-item:first-child,.metric:first-child { border-top:0; padding-top:0; }
  .energy-process { grid-template-columns:1fr; gap:1.5rem; }
  .energy-step { display:grid; grid-template-columns:56px 1fr; gap:1rem; text-align:left; align-items:center; }
  .energy-step .step-node { margin:0; }
  .deliver-item,.deliver-item:nth-child(3),.impact-item,.impact-item:nth-child(3) { border-right:0; border-bottom:1px solid var(--line); padding-inline:0; }
  .partnership-grid { grid-template-columns:1fr; }
  .partner-category { min-height:0; }
  .service-row { grid-template-columns:1fr; padding:1rem; gap:1.35rem; }
  .service-media { grid-row:auto; width:calc(100% + 2rem); min-height:190px; margin:-1rem -1rem 0; }
  .service-media::after { background:linear-gradient(to bottom,rgba(251,252,252,0) 55%,rgba(251,252,252,.32) 74%,#fbfcfc 100%); }
  .service-copy { padding:.1rem .35rem 0; }
  .service-row > .capability-list { padding:0 .35rem .5rem; }
  .service-row .service-copy,.service-row .capability-list { grid-column:1; }
  .why-energy-item,.why-energy-item:nth-child(n+3) { border-top:0; border-right:0; border-bottom:1px solid var(--line); }
  .why-energy-item:last-child { border-bottom:0; }
  .capability-list,.expertise-row .capability-list,.expertise-tools,.expertise-partners { grid-template-columns:1fr; }
  .tool-group { padding:1.1rem 0 0; border-left:0; border-top:1px solid var(--line); }
  .tool-group:first-child { padding-top:0; border-top:0; }
  .expertise-media { min-height:220px; }
}

@media (prefers-reduced-motion:reduce) {
  .energy-main-hero *, .service-row *, .expertise-row * { scroll-behavior:auto; transition:none !important; animation:none !important; }
}
