/* PGI Global Visual Polish — editorial corporate consistency */
:root{
  --header-h:80px;
  --radius-sm:4px;
  --radius-md:6px;
  --shadow-soft:0 14px 36px rgba(23,32,27,.07);
}

/* Typography & rhythm */
body{color:#252B2D}
.section{padding-block:clamp(76px,7.5vw,108px)}
.section-heading{max-width:820px;margin-bottom:46px}
.section-heading>p:last-child{max-width:720px;color:#56615D}
.eyebrow{font-weight:700;letter-spacing:.13em}
.lead{color:#44514B}
.btn{min-height:46px;border-radius:4px;padding-inline:21px}
.btn:hover{transform:translateY(-1px)}
.text-link{font-weight:650}

/* Header — compact, stable and investor-oriented */
.site-header{
  height:var(--header-h);
  background:rgba(255,255,255,.985);
  border-bottom-color:rgba(30,104,53,.08);
  backdrop-filter:saturate(125%) blur(10px);
}
.header-inner{gap:24px}
.brand img{width:286px;max-width:29vw;max-height:50px}
.primary-nav{gap:clamp(12px,1.25vw,21px)}
.primary-nav>a{font-size:13.5px;font-weight:600;color:#343B38}
.primary-nav>a::after{bottom:-9px;height:2px;background:var(--gold)}
.site-header.scrolled{box-shadow:0 7px 22px rgba(23,31,27,.055)}

/* Editorial image treatment */
.media-frame,.about-photo,.overview-photo,.biomass-photo,.handling-photo,.generation-photo,
.development-photo,.stakeholder-photo,.safety-practice-media,.insight-card,.news-card,
.homepage-news-card,.editorial-insights,.profile-form-panel,.faq-group,.contact-office-card{
  border-radius:6px;
}
.media-frame,.about-photo,.development-photo,.stakeholder-photo{
  box-shadow:0 16px 38px rgba(26,43,32,.075);
}

/* Reduce decorative/startup-like ornaments */
.dev-panel::after,.local-section::after{display:none}
.dev-panel{border-radius:6px;box-shadow:none}
.dev-panel.target{background:#fff;border-top:3px solid var(--green-light)}
.local-section{
  background:linear-gradient(110deg,#F1F6EE 0%,#E7F0E2 100%);
}

/* Hero consistency */
.about-hero,.plant-hero,.development-hero,.responsibility-hero,.media-hero{min-height:620px}
.about-hero h1,.plant-hero h1,.development-hero h1,.responsibility-hero h1,.media-hero h1,
.contact-hero h1,.corp-hero h1,.policy-hero h1{
  letter-spacing:-.04em;
}
.about-hero-copy>p:last-child,.plant-hero-copy>p:last-child,.development-hero-copy>p:last-child,
.responsibility-hero-copy>p:last-child,.media-hero-content>p:last-child{
  max-width:760px;
}

/* Text-only hero pages */
.contact-hero,.corp-hero,.policy-hero{
  padding-block:104px 80px;
  background:linear-gradient(120deg,#20282A 0%,#293930 54%,#1B5A31 100%);
}
.profile-hero,.faq-hero{
  padding-block:76px 52px;
  background:linear-gradient(180deg,#F3F7F0 0%,#FFFFFF 100%);
  border-top:3px solid rgba(30,104,53,.14);
}
.profile-hero h1,.faq-hero h1{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(2.45rem,4.6vw,4.15rem);
  color:#27312D;
}

/* Forms */
.profile-form-panel{border-color:rgba(30,104,53,.14);box-shadow:0 16px 40px rgba(24,44,29,.055)}
.form-field input,.phone-field input{border-radius:5px}
.consent-box{border-radius:6px}
.contact-form{border-radius:6px;background:rgba(255,255,255,.045)}
.contact-form input,.contact-form select,.contact-form textarea{border-radius:4px}
.contact-privacy-check{border-radius:6px}

/* Real map presentation */
.location-panel,.plant-location-map{
  position:relative;
  overflow:hidden;
  min-height:430px;
  border:1px solid rgba(30,104,53,.15);
  border-radius:6px;
  background:#E8EEE5;
  box-shadow:0 16px 36px rgba(25,43,31,.07);
}
.location-panel iframe,.plant-location-map iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.location-panel-copy{
  left:22px;right:auto;bottom:22px;
  width:min(390px,calc(100% - 44px));
  padding:18px 20px;
  border:1px solid rgba(30,104,53,.12);
  border-radius:5px;
  background:rgba(255,255,255,.95);
  box-shadow:0 12px 32px rgba(25,39,30,.11);
  backdrop-filter:blur(8px);
}
.plant-location-section{background:#F4F7F2}
.plant-location-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:68px;align-items:center}
.plant-location-copy h2{margin:0 0 20px;font-family:"Montserrat";font-size:clamp(2rem,3.3vw,2.8rem);line-height:1.17;letter-spacing:-.03em}
.plant-location-copy p:not(.eyebrow){color:#4D5B53}
.plant-location-meta{margin:24px 0 28px;padding-top:18px;border-top:1px solid rgba(30,104,53,.16)}
.plant-location-meta span{display:block;color:#748079;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.plant-location-meta strong{display:block;margin-top:6px;font-family:"Montserrat";font-size:18px;color:#28372F}

/* Footer — less decorative, stronger corporate hierarchy */
.site-footer{
  padding-top:64px;
  background:#1C2223;
  border-top:3px solid var(--green);
}
.footer-grid{gap:50px;padding-bottom:52px}
.footer-brand-lockup{padding-top:0}
.site-footer h2{font-size:12px;letter-spacing:.11em;color:#F3F5F4}
.site-footer a,.site-footer>div p{color:#C8CFCC}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top-color:rgba(255,255,255,.10)}

/* Editorial cards: quieter borders, less floating motion */
.insight-card,.homepage-news-card,.fact-card,.document-card,.identity-card,.faq-group{
  box-shadow:none;
}
.insight-card:hover,.homepage-news-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(24,45,30,.07)}

@media(max-width:1180px){
  .brand img{width:262px;max-width:27vw}
}
@media(max-width:1030px){
  :root{--header-h:74px}
  .brand img{width:278px;max-width:65vw;max-height:48px}
  .primary-nav{padding:18px 26px 26px}
  .primary-nav>a{padding:14px 0}
  .plant-location-grid{grid-template-columns:1fr 1fr;gap:42px}
}
@media(max-width:767px){
  .container{width:min(calc(100% - 36px),var(--container))}
  .brand img{width:238px;max-width:68vw}
  .section{padding-block:68px}
  .about-hero,.plant-hero,.development-hero,.responsibility-hero,.media-hero{min-height:560px}
  .contact-hero,.corp-hero,.policy-hero{padding-block:84px 58px}
  .profile-hero,.faq-hero{padding-block:58px 38px}
  .plant-location-grid{grid-template-columns:1fr;gap:30px}
  .location-panel,.plant-location-map{min-height:380px}
  .location-panel-copy{left:16px;bottom:16px;width:calc(100% - 32px)}
  .footer-grid{gap:32px}
}
@media(max-width:520px){
  .brand img{width:215px;max-width:72vw}
  .location-panel,.plant-location-map{min-height:340px}
}

/* PLTBm focal-point refinement */
.plant-hero-media img{object-position:44% 50%}
@media(max-width:767px){
  .plant-hero-media img{object-position:36% center}
}
