.team{background:var(--paper)}
.team-heading{max-width:820px}
.team-heading>p:last-child{color:var(--muted);font-size:1.02rem}
.team-tier{margin-top:3.2rem}
.team-tier+.team-tier{margin-top:4.5rem;padding-top:2.4rem;border-top:1px solid var(--line)}
.team-tier-label{margin:0 0 1.25rem;color:var(--green-dark);font-size:.76rem;font-weight:800;letter-spacing:.16em}
.team-grid{display:grid;gap:1rem;justify-content:center}
.team-grid-leadership{grid-template-columns:repeat(3,minmax(0,220px))}
.team-management-rows{display:grid;gap:1rem}
.team-grid-management-top{grid-template-columns:repeat(3,minmax(0,220px))}
.team-grid-management-bottom{grid-template-columns:repeat(4,minmax(0,220px))}
.team-card{width:220px;height:500px;min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-bottom:4px solid var(--green);box-shadow:var(--shadow);overflow:hidden}
.team-photo,.team-card .monogram{width:100%;aspect-ratio:1/1;display:grid;place-items:center;flex:0 0 auto}
.team-photo{height:auto;object-fit:contain;background:var(--mist)}
.team-card .monogram{background:var(--navy);color:#fff;font-size:1.15rem;font-weight:800;letter-spacing:.04em}
.team-card-body{display:flex;flex:1;flex-direction:column;padding:1.25rem}
.team-card h3{margin:0 0 .4rem;font-size:1.08rem}
.team-card .role{margin:0;color:var(--green-dark);font-size:.86rem;font-weight:800;line-height:1.4}
.team-bio{margin:.85rem 0 1.1rem;color:var(--muted);font-size:.82rem;line-height:1.5}
.linkedin-link{width:max-content;max-width:100%;margin-top:auto;color:var(--navy);font-size:.86rem;font-weight:800;text-decoration-color:var(--green);text-underline-offset:5px}
.linkedin-link:hover,.linkedin-link:focus-visible{color:var(--green-dark)}
.contact-link{display:inline-block;margin-top:1.2rem;color:#fff;font-size:1.18rem;font-weight:800;text-decoration-thickness:2px;text-decoration-color:var(--green-light);text-underline-offset:6px}
.contact-email{display:block;width:max-content;max-width:100%;margin-top:.65rem;font-size:1.05rem;overflow-wrap:anywhere}
.contact-link:hover,.contact-link:focus-visible{color:var(--green-light)}
.contact-person{padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.24)}
@media(max-width:1320px){.team-grid-management-bottom{grid-template-columns:repeat(2,minmax(0,220px))}}
@media(max-width:980px){.team-grid-leadership,.team-grid-management-top,.team-grid-management-bottom{grid-template-columns:repeat(2,minmax(0,220px))}}

/* Hero audiovisual y navegación inspirados en la familia visual del grupo */
.nav-overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:1px solid rgba(255,255,255,.2);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.nav-overlay .brand{position:relative;width:260px;height:50px}
.nav-overlay .brand img{position:absolute;left:0;top:50%;width:auto;max-width:260px;height:54px;object-fit:contain;object-position:left center;transform:translateY(-50%)}
.nav-overlay .logo-dark{display:none}
.nav-overlay nav a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.nav-overlay .nav-cta{background:var(--green-light);border-color:var(--green-light)!important;color:var(--navy-deep)!important;text-shadow:none;border-radius:999px;padding:.75rem 1.2rem!important}
.nav-overlay.scrolled{position:fixed;background:rgba(255,255,255,.97);border-color:var(--line);box-shadow:0 10px 32px rgba(8,36,102,.08);backdrop-filter:blur(12px)}
.nav-overlay.scrolled .logo-light{display:none}
.nav-overlay.scrolled .logo-dark{display:block}
.nav-overlay.scrolled nav a{color:var(--navy);text-shadow:none}
.nav-overlay.scrolled .nav-cta{color:#fff!important;background:var(--navy);border-color:var(--navy)!important}
.hero{min-height:100svh;padding-top:clamp(145px,17vh,190px);display:flex;align-items:center;background:var(--navy-deep);isolation:isolate}
.hero:before{display:none}
.hero-video{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(1,11,28,.88) 0%,rgba(3,20,55,.7) 46%,rgba(3,20,55,.18) 82%),linear-gradient(0deg,rgba(1,11,28,.55),transparent 48%)}
.hero-copy{max-width:760px}
.hero h1{max-width:700px;font-size:clamp(2.15rem,3.35vw,3.15rem);font-weight:300;line-height:1.12;letter-spacing:-.035em}
.hero .lead{max-width:650px;color:#eef3fb}
.hero .primary{padding-inline:1.8rem;border-radius:999px;background:var(--green-light);border-color:var(--green-light)}
.hero .ghost{padding-inline:1.6rem;border-radius:999px}
.scroll-cue{position:absolute;left:50%;bottom:30px;width:44px;height:44px;display:grid;place-items:center;transform:translateX(-50%);border:1px solid rgba(255,255,255,.5);border-radius:50%}
.scroll-cue span{width:10px;height:10px;border-right:2px solid var(--green-light);border-bottom:2px solid var(--green-light);transform:translateY(-2px) rotate(45deg)}
.cards article,.team-card{transition:transform .25s ease,box-shadow .25s ease}
.cards article:hover,.team-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(8,36,102,.13)}
@media(max-width:980px){.nav-overlay .brand{width:220px}.nav-overlay .brand img{max-width:220px;height:48px}.nav-overlay .menu{display:block;background:transparent;border:1px solid rgba(255,255,255,.65)}.nav-overlay.scrolled .menu{background:var(--navy);border-color:var(--navy)}.nav-overlay nav{background:rgba(6,27,69,.98);border-color:rgba(255,255,255,.15)}.nav-overlay.scrolled nav{background:#fff;border-color:var(--line)}.hero{padding-top:145px}}
@media(max-width:600px){.nav-overlay .brand{width:190px}.nav-overlay .brand img{max-width:190px;height:43px}.hero{padding-top:118px;padding-bottom:82px}.hero h1{font-size:clamp(2rem,8.4vw,2.65rem)}.scroll-cue{bottom:22px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero{background:linear-gradient(90deg,rgba(1,11,28,.88),rgba(3,20,55,.35)),url("assets/hero-energy-video-poster.jpg") center/cover no-repeat}.cards article,.team-card{transition:none}}

/* Arquitectura multipágina */
.nav details{position:relative;color:var(--navy)}
.nav details summary{cursor:pointer;list-style:none;color:inherit;font-size:.9rem;font-weight:700}
.nav details summary::-webkit-details-marker{display:none}
.nav details summary:after{content:"⌄";display:inline-block;margin-left:.35rem;color:var(--green-dark);font-size:.8rem}
.nav-overlay details{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.nav-overlay.scrolled details{color:var(--navy);text-shadow:none}
.submenu{position:absolute;top:calc(100% + 1rem);left:-1rem;width:270px;padding:.75rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);box-shadow:var(--shadow)}
.submenu a{display:block;padding:.62rem .75rem!important;color:var(--navy)!important;text-shadow:none!important;border:0!important}
.submenu a:hover,.submenu a:focus-visible{background:var(--mist);color:var(--green-dark)!important}
.page-hero{padding:clamp(112px,13vw,158px) clamp(24px,7vw,112px) clamp(58px,6vw,82px);background-image:linear-gradient(90deg,rgba(1,11,28,.94) 0%,rgba(3,20,55,.79) 48%,rgba(3,20,55,.36) 100%),var(--page-hero-image);background-position:center;background-size:cover;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.page-hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(1,11,28,.36),transparent 55%)}
.page-hero:after{content:"";position:absolute;z-index:-1;right:-10vw;bottom:-25vw;width:55vw;height:55vw;border:1px solid rgba(123,190,53,.35);border-radius:50%}
.hero-corporate{--page-hero-image:url("assets/hero-international.webp")}
.hero-logistics{--page-hero-image:url("assets/hero-logistics.webp")}
.hero-renewables{--page-hero-image:url("assets/hero-renewables.webp")}
.page-hero .eyebrow{color:var(--green-light)}
.page-hero h1{max-width:900px;margin-bottom:1rem;font-size:clamp(2rem,3.25vw,3rem);font-weight:300}
.page-hero p:last-child{max-width:780px;margin:0;color:#dce5f4;font-size:1.02rem}
.breadcrumbs{margin-bottom:1.5rem;color:#c3cde0;font-size:.82rem}
.breadcrumbs a{color:#fff;text-underline-offset:4px}
.intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:9vw;align-items:start}
.intro-copy{max-width:760px;color:var(--muted);font-size:1rem}
.intro-copy p:first-child{margin-top:0}
.pillar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3rem}
.pillar-card{min-height:295px;padding:1.7rem;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);box-shadow:var(--shadow);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.pillar-card:hover,.pillar-card:focus-visible{transform:translateY(-5px);box-shadow:0 24px 60px rgba(8,36,102,.13)}
.pillar-card .index{margin-bottom:2.1rem}
.pillar-card h3{font-size:1.2rem}
.pillar-card p{color:var(--muted);font-size:.9rem}
.pillar-card strong{margin-top:auto;color:var(--green-dark);font-size:.85rem}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:3rem;background:var(--line);border:1px solid var(--line)}
.feature-grid article{padding:2rem;background:#fff}
.feature-grid h3{margin-bottom:.65rem}
.feature-grid p{margin:0;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.process-grid article{min-height:190px;padding:1.55rem 1.45rem;display:flex;flex-direction:column;background:#0d2c65;border:1px solid rgba(255,255,255,.16);border-top:3px solid var(--green-light);border-radius:3px}
.process-grid span{color:var(--green-light);font-size:.75rem;font-weight:800;letter-spacing:.12em}
.process-grid h3{margin:1.25rem 0 .7rem;color:#fff;font-size:1.12rem}
.process-grid p{margin:0;color:#c3cde0;font-size:.9rem;line-height:1.55}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;margin-top:3rem}
.service-list article{padding:2rem;border:1px solid var(--line);border-left:5px solid var(--green);background:#fff}
.service-list h3{margin-bottom:.7rem}
.service-list p{margin:0;color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.product-grid article{padding:1.7rem;background:var(--navy);color:#fff;border-bottom:4px solid var(--green-light)}
.product-grid h3{color:#fff;margin-bottom:.7rem}
.product-grid p{margin:0;color:#cad4e4;font-size:.9rem}
.callout{padding:clamp(60px,7vw,90px) clamp(24px,7vw,112px);display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;background:var(--mist)}
.callout h2{margin-bottom:.5rem;font-size:clamp(1.7rem,2.5vw,2.4rem)}
.callout p{max-width:730px;margin:0;color:var(--muted)}
.page-footer{margin-top:0}
.compact-section{padding-top:70px;padding-bottom:70px}
.nav-current{color:var(--green-dark)!important}
.international-presence{background:var(--navy-deep);color:#fff}
.presence-heading{display:grid;grid-template-columns:.7fr 1fr;column-gap:8vw;align-items:start}
.presence-heading .eyebrow{grid-column:1/-1;color:var(--green-light)}
.presence-heading h2{margin:0;color:#fff}
.presence-heading>p:last-child{margin:0;color:#cbd6e8;font-size:1rem;line-height:1.65}
.location-list{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.5rem;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.location-list div{min-height:190px;padding:1.45rem 1.4rem;border-right:1px solid rgba(255,255,255,.2)}
.location-list div:last-child{border-right:0}
.location-icon{width:64px;height:48px;margin:0 0 .8rem;display:block;object-fit:contain;object-position:left center}
.location-list span,.location-list small{display:block;color:#aebdd4;font-size:.76rem;letter-spacing:.04em}
.location-list strong{display:block;margin:1rem 0 .45rem;color:#fff;font-size:1.05rem;line-height:1.35}
.presence-statement{display:grid;grid-template-columns:.7fr 1fr;column-gap:8vw;margin-top:2.4rem;align-items:start}
.presence-statement .eyebrow{color:var(--green-light)}
.presence-statement>p:last-child{max-width:720px;margin:0;color:#dce5f4;font-size:1rem;line-height:1.65}
.pipeline-section{display:grid;grid-template-columns:.42fr 1.58fr;gap:5vw;align-items:center;padding-top:clamp(38px,4vw,56px);padding-bottom:clamp(38px,4vw,56px);background:var(--mist)}
.pipeline-number{padding:1rem 0;border-top:3px solid var(--green);border-bottom:1px solid var(--line)}
.pipeline-number strong,.pipeline-number span{display:block}
.pipeline-number strong{color:var(--navy);font-size:clamp(2rem,3vw,3.05rem);font-weight:400;line-height:1;letter-spacing:-.04em}
.pipeline-number span{margin-top:.55rem;color:var(--green-dark);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pipeline-copy .eyebrow{margin-bottom:.65rem}
.pipeline-copy h2{max-width:760px;margin-bottom:.75rem;font-size:clamp(1.6rem,2.25vw,2.2rem);line-height:1.15}
.pipeline-copy>p:not(.eyebrow){margin:0;color:var(--muted);font-size:1rem;line-height:1.6}
.pipeline-copy small{display:block;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;line-height:1.5}
.renewable-technologies{padding-top:48px;padding-bottom:48px}
.renewable-technologies .cards{gap:1rem;margin-top:0}
.renewable-technologies .cards article{min-height:210px;padding:1.45rem 1.55rem}
.renewable-technologies .cards h3{margin:1.1rem 0 .65rem;font-size:1.12rem}
.renewable-technologies .cards p{margin:0;font-size:.9rem;line-height:1.55}
.visual-figure{padding:clamp(60px,7vw,90px) clamp(24px,7vw,112px);background:#fff}
.visual-figure-heading{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:end;margin-bottom:2.6rem}
.visual-figure-heading h2,.visual-figure-heading p{margin:0}.visual-figure-heading>p{max-width:650px;color:var(--muted);font-size:.98rem;line-height:1.65}
.value-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.value-chain article{position:relative;min-height:180px;padding:1.5rem;background:var(--paper)}
.value-chain article:after{content:"→";position:absolute;right:-13px;top:50%;z-index:2;width:26px;height:26px;display:grid;place-items:center;transform:translateY(-50%);border-radius:50%;background:var(--green);color:#fff;font-weight:800}
.value-chain article:last-child:after{display:none}
.value-chain span{color:var(--green-dark);font-size:.74rem;font-weight:800;letter-spacing:.12em}.value-chain h3{margin:.9rem 0 .55rem;font-size:1.05rem}.value-chain p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.lifecycle{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.6rem;counter-reset:stage}
.lifecycle article{position:relative;padding:1.7rem 1.4rem;background:var(--navy);color:#fff;border-bottom:4px solid var(--green);counter-increment:stage}
.lifecycle article:before{content:"0" counter(stage);display:block;margin-bottom:1.8rem;color:var(--green-light);font-size:.75rem;font-weight:800;letter-spacing:.14em}.lifecycle h3{color:#fff;font-size:1.08rem}.lifecycle p{margin:0;color:#cbd6e8;font-size:.88rem;line-height:1.55}
.esg-wheel{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.6rem}
.esg-wheel article{position:relative;min-height:220px;padding:2rem;background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--wheel-color)}
.esg-wheel article:nth-child(1){--wheel-color:#55a017}.esg-wheel article:nth-child(2){--wheel-color:#7bbe35}.esg-wheel article:nth-child(3){--wheel-color:#082466}
.esg-wheel span{display:grid;width:42px;height:42px;place-items:center;margin-bottom:1.3rem;border-radius:50%;background:var(--wheel-color);color:#fff;font-weight:800}.esg-wheel h3{margin-bottom:.65rem}.esg-wheel p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.contact-workspace{display:grid;grid-template-columns:.68fr 1.32fr;gap:7vw;align-items:start;background:var(--paper)}
.contact-form-heading{position:sticky;top:120px}
.contact-form-heading>p:last-child{max-width:520px;color:var(--muted);font-size:1rem}
.corporate-form{padding:clamp(1.5rem,3.5vw,3rem);background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem}
.field{display:flex;flex-direction:column;gap:.5rem}
.field-full{grid-column:1/-1}
.field label,.consent{color:var(--navy);font-size:.88rem;font-weight:800}
.field label span:not(.optional),.consent strong{color:var(--green-dark)}
.optional{margin-left:.4rem;color:var(--muted);font-size:.72rem;font-weight:400;text-transform:uppercase;letter-spacing:.06em}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border:1px solid #b9c7ce;border-radius:2px;background:#fff;color:var(--graphite);font:inherit;line-height:1.4}
.field textarea{min-height:155px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-dark);outline:3px solid rgba(85,160,23,.16);outline-offset:0}
.upload-field{padding:1.2rem;background:var(--mist);border:1px dashed #9fb3ba}
.upload-field input{padding:.65rem;background:#fff}
.upload-field small{color:var(--muted);font-size:.78rem}
.file-name{color:var(--navy);font-size:.82rem;font-weight:700;overflow-wrap:anywhere}
.consent{display:flex;gap:.75rem;align-items:flex-start;margin-top:1.5rem;color:var(--graphite);font-weight:400;line-height:1.5}
.consent input{width:18px;height:18px;margin:.15rem 0 0;accent-color:var(--green-dark);flex:0 0 auto}
.consent a{color:var(--navy);font-weight:800;text-underline-offset:4px}
.form-footer{display:flex;gap:1.4rem;align-items:center;margin-top:1.6rem}
.form-submit{min-width:175px;border:0;cursor:pointer}
.form-footer p,.form-status{margin:0;color:var(--muted);font-size:.78rem}
.form-status:not(:empty){margin-top:1.15rem;padding:1rem;background:var(--mist);border-left:4px solid var(--green);color:var(--navy);font-size:.9rem}
.map-section{display:grid;grid-template-columns:.55fr 1.45fr;min-height:460px;background:var(--navy-deep);color:#fff}
.map-copy{padding:clamp(60px,7vw,92px) clamp(24px,7vw,112px)}
.map-copy h2{color:#fff}
.map-copy .eyebrow{color:var(--green-light)}
.map-copy>p:last-of-type{color:#c5d0e2}
.map-copy a{display:inline-block;margin-top:1.4rem;color:#fff;font-weight:800;text-decoration-color:var(--green-light);text-underline-offset:5px}
.map-consent{min-height:460px;display:grid;background:#dfe9e8}
.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--navy)}
.map-placeholder>span{display:grid;width:58px;height:58px;place-items:center;margin-bottom:1rem;border:1px solid var(--green);border-radius:50%;color:var(--green-dark);font-size:1.8rem}
.map-placeholder strong{font-size:1.15rem}
.map-placeholder p{max-width:430px;margin:.55rem 0 1.3rem;color:var(--muted)}
.map-frame{width:100%;height:100%;min-height:460px;border:0}
@media(max-width:1180px){.pillar-grid{grid-template-columns:repeat(3,1fr)}.product-grid,.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.nav details{width:100%}.nav details summary{padding:.45rem 0}.submenu{position:static;width:100%;margin:.4rem 0;padding:.35rem .7rem;box-shadow:none}.nav-overlay details{color:#fff}.nav-overlay.scrolled details{color:var(--navy)}.intro-grid,.presence-heading,.presence-statement,.pipeline-section,.contact-workspace,.map-section{grid-template-columns:1fr}.contact-form-heading{position:static}.presence-heading,.presence-statement{row-gap:1.25rem}.location-list{grid-template-columns:1fr 1fr}.location-list div:nth-child(2){border-right:0}.location-list div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.pillar-grid{grid-template-columns:1fr 1fr}.callout{grid-template-columns:1fr}.callout .button{width:max-content}.page-hero{padding-top:125px}}
@media(max-width:600px){.pillar-grid,.feature-grid,.service-list,.product-grid,.process-grid,.location-list,.form-grid{grid-template-columns:1fr}.team-grid-leadership,.team-grid-management-top,.team-grid-management-bottom{grid-template-columns:minmax(0,220px)}.field-full{grid-column:auto}.location-list div{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.location-list div:last-child{border-bottom:0}.location-list strong{margin-top:1rem}.form-footer{align-items:stretch;flex-direction:column}.form-submit{width:100%}.page-hero{padding:102px 22px 54px}.pillar-card,.process-grid article{min-height:0}.callout{padding:52px 22px}}
@media(max-width:980px){.visual-figure-heading{grid-template-columns:1fr}.value-chain{grid-template-columns:repeat(2,1fr)}.value-chain article:after{display:none}.lifecycle{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.visual-figure-heading,.value-chain,.lifecycle,.esg-wheel{grid-template-columns:1fr}.location-icon{width:54px;height:42px}.page-hero{background-position:62% center}}

/* Compact content on phones, preserving the approved home hero and navigation. */
@media (max-width: 600px) {
  main > :not(.hero) { font-size: .9375rem; }
  main > :not(.hero) h2 { font-size: 1.45rem; line-height: 1.2; margin-bottom: .9rem; }
  main > :not(.hero) h3 { font-size: 1.05rem; line-height: 1.3; }
  main > :not(.hero) .eyebrow { font-size: .7rem; margin-bottom: .8rem; }
  .section, .contact, .visual-figure, .callout { padding: 40px 18px; }
  .intro-grid, .section-head, .governance, .contact, .contact-workspace,
  .visual-figure-heading { gap: 1.4rem; }
  .intro-copy, .body-copy, .contact-form-heading > p:last-child,
  .presence-heading > p:last-child, .presence-statement > p:last-child,
  .pipeline-copy > p:not(.eyebrow), .visual-figure-heading > p { font-size: .9375rem; line-height: 1.6; }
  .strip div { padding: 1rem 18px; gap: .75rem; }
  .strip strong { font-size: .9rem; }
  .cards, .deal-grid, .pillar-grid, .feature-grid, .service-list,
  .product-grid, .process-grid, .audiences, .lifecycle, .esg-wheel { margin-top: 1.5rem; gap: .85rem; }
  .cards article, .deal, .pillar-card, .feature-grid article, .service-list article,
  .product-grid article, .process-grid article, .audiences article,
  .lifecycle article, .esg-wheel article, .value-chain article { min-height: 0; padding: 1.2rem; }
  .cards h3, .deal h3, .audiences h3 { margin: 1rem 0 .6rem; }
  .pillar-card .index, .lifecycle article:before { margin-bottom: 1rem; }
  .pillar-card p, .cards p, .deal > p, .service-list p, .feature-grid p,
  .audiences p, .principles p { font-size: .9rem; line-height: 1.6; }
  .pillar-card strong { padding-top: .5rem; }
  .principles div, .pending { padding: 1.2rem; }
  .location-list { margin-top: 1.5rem; }
  .location-list div { padding: 1.1rem; }
  .location-list strong { font-size: .95rem; }
  .pipeline-number strong { font-size: 1.85rem; }
  .renewable-technologies .cards { margin-top: 0; }
  .renewable-technologies .cards article { min-height: 0; padding: 1.2rem; }
  .page-hero { padding: 66px 18px 40px; }
  .page-hero h1 { font-size: 1.75rem; line-height: 1.2; }
  .page-hero p:last-child { font-size: .9375rem; }
  .team-card-body { padding: 1rem; }
  .corporate-form { padding: 1.2rem; }
  .form-grid { gap: 1rem; }
  .field input, .field select, .field textarea { font-size: 16px; }
  main > :not(.hero) .button { min-height: 44px; font-size: .8125rem; padding: .65rem 1rem; max-width: 100%; }
  .contact-link { font-size: 1.05rem; }
  .contact-email { font-size: .9375rem; }
  .map-copy { padding: 36px 18px; }
  .map-section { min-height: 0; }
  .map-consent, .map-frame { min-height: 300px; }
  footer { padding: 32px 18px; gap: .85rem; }
  footer img { width: 190px; }
}

/* Consistent phone layout across all corporate pages. */
@media (max-width: 600px) {
  .nav { height: 64px; padding-inline: 16px; }
  .nav .brand { width: 150px; height: 40px; }
  .nav .brand img { width: auto; max-width: 150px; height: 34px; }
  .nav .menu { min-height: 44px; padding: .5rem .75rem; font-size: .75rem; }
  .nav nav { top: 64px; max-height: calc(100svh - 64px); overflow-y: auto; }
  .nav nav a, .nav details summary { font-size: .8125rem; }
  .page-hero { padding: 40px 18px; }
  .page-hero h1 { font-size: clamp(1.375rem, 6vw, 2.25rem); line-height: 1.15; }
  .page-hero p:last-child { font-size: .875rem; line-height: 1.65; }
  .breadcrumbs { font-size: .75rem; margin-bottom: 1rem; }
  .team-heading > p:last-child { font-size: .9375rem; }
  .team-tier { margin-top: 2rem; }
  .team-tier + .team-tier { margin-top: 2.5rem; padding-top: 1.5rem; }
  .team-card { height: auto; min-height: 0; }
  .team-card-body { gap: 0; }
  .team-bio { margin-bottom: .75rem; }
  .contact, .contact-workspace, .intro-grid, .section-head { min-width: 0; }
  .contact > *, .contact-workspace > *, .intro-grid > *, .section-head > * { min-width: 0; }
}

/* Global corporate type scale: balanced headings, readable copy and consistent rhythm. */
h1{font-size:clamp(2rem,3vw,2.85rem)!important;line-height:1.14!important}
h2{font-size:clamp(1.5rem,2.1vw,2.08rem)!important;line-height:1.18!important}
h3{font-size:1.08rem!important;line-height:1.3!important}
main p{font-size:.95rem}
.lead{font-size:clamp(.95rem,1vw,1.04rem)!important;line-height:1.6!important}
.page-hero p:last-child{font-size:.96rem!important;line-height:1.55!important}
.section{padding-block:clamp(52px,5.5vw,78px)!important}
.cards,.deal-grid,.pillar-grid,.feature-grid,.service-list,.product-grid,.process-grid,.audiences,.lifecycle,.esg-wheel,.value-chain{margin-top:2rem}
@media(max-width:600px){
  h1{font-size:1.65rem!important;line-height:1.16!important}
  h2{font-size:1.35rem!important;line-height:1.2!important}
  h3{font-size:1rem!important;line-height:1.3!important}
  main p{font-size:.9rem}
  .lead{font-size:.92rem!important;line-height:1.6!important}
  .page-hero p:last-child{font-size:.9rem!important}
  .section{padding-block:40px!important}
  .cards,.deal-grid,.pillar-grid,.feature-grid,.service-list,.product-grid,.process-grid,.audiences,.lifecycle,.esg-wheel,.value-chain{margin-top:1.5rem}
}


/* Distinct corporate and ESG hero backgrounds */
.hero-corporate{--page-hero-image:url("assets/company-hero.webp")}
.hero-esg{--page-hero-image:url("assets/esg-sustainability-hero.webp")}


/* Mobile visual system: compact, aligned and free of horizontal overflow. */
@media (max-width:980px){
  html,body{max-width:100%;overflow-x:hidden}
  .nav{height:70px;padding:0 18px}
  .brand img{max-width:165px;height:40px}
  .menu{display:block;padding:.55rem .78rem;font-size:.78rem}
  .nav nav{top:70px;padding:1rem 1.25rem;gap:.1rem}
  .nav nav a,.nav details summary{font-size:.86rem}
  .nav nav a{padding:.38rem 0}
  .section,.visual-figure,.callout,.contact{padding-left:22px;padding-right:22px}
  .section{padding-top:46px;padding-bottom:46px}
  .page-hero{padding:92px 22px 42px}
  .page-hero h1{font-size:1.8rem;line-height:1.16;margin-bottom:.75rem}
  .page-hero p:last-child{font-size:.92rem;line-height:1.5}
  .breadcrumbs{margin-bottom:1rem;font-size:.72rem}
  .eyebrow{font-size:.7rem;letter-spacing:.13em;margin-bottom:.75rem}
  h2{font-size:1.55rem;line-height:1.18;margin-bottom:.85rem}
  h3{font-size:1.06rem}
  .intro-copy,.body-copy,.section-head>p,.team-heading>p:last-child{font-size:.94rem;line-height:1.55}
  .section-head{gap:1rem}
  .cards,.pillar-grid,.feature-grid,.service-list,.product-grid,.process-grid,.deal-grid,.audiences,.lifecycle,.esg-wheel{gap:.75rem}
  .cards article,.pillar-card,.feature-grid article,.service-list article,.product-grid article,.process-grid article,.deal,.audiences article,.lifecycle article,.esg-wheel article{padding:1.25rem;min-height:0}
  .pillar-card .index{margin-bottom:1.2rem}
  .pillar-card h3,.cards h3{margin:1rem 0 .55rem}
  .pillar-card p,.cards p,.process-grid p,.product-grid p,.lifecycle p,.esg-wheel p{font-size:.86rem;line-height:1.5}
  .visual-figure{padding-top:46px;padding-bottom:46px}
  .visual-figure-heading{display:block;margin-bottom:1.5rem}
  .value-chain{grid-template-columns:1fr}
  .value-chain article{min-height:0;padding:1.15rem}
  .value-chain article:after{display:none}
  .strip{padding:0;grid-template-columns:1fr}
  .strip div{min-height:0;padding:1rem 22px}
  .strip strong{font-size:.88rem}
  .team-grid-leadership,.team-grid-management-top,.team-grid-management-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .team-card{width:100%;height:auto;min-height:350px}
  .team-card-body{padding:.9rem}
  .team-card h3{font-size:.92rem}
  .team-card .role{font-size:.74rem}
  .team-bio{font-size:.72rem}
  .location-list{gap:0}
  .location-list div{min-height:0;padding:1rem}
  .contact-workspace{gap:1.5rem}
  .corporate-form{padding:1.15rem}
  .form-grid{grid-template-columns:1fr;gap:1rem}
  .field-full{grid-column:auto}
  .map-section{min-height:0}
  .map-copy{padding:46px 22px}
  .map-consent,.map-frame{min-height:300px}
  footer{padding:2rem 22px;font-size:.74rem}
  footer img{width:180px}
}
@media (max-width:600px){
  .nav{height:64px}
  .brand img{max-width:150px;height:36px}
  .menu{font-size:.74rem;padding:.5rem .7rem}
  .nav nav{top:64px}
  .page-hero{padding:82px 18px 34px}
  .page-hero h1{font-size:1.58rem;line-height:1.17}
  .page-hero p:last-child{font-size:.86rem}
  .section,.visual-figure,.callout,.contact{padding-left:18px;padding-right:18px}
  .section{padding-top:38px;padding-bottom:38px}
  h2{font-size:1.38rem}
  .body-copy,.intro-copy,.section-head>p{font-size:.9rem}
  .team-grid-leadership,.team-grid-management-top,.team-grid-management-bottom{grid-template-columns:1fr 1fr}
  .team-card{min-height:310px}
  .team-card-body{padding:.75rem}
  .team-card h3{font-size:.82rem}
  .team-card .role{font-size:.68rem}
  .contact-link{font-size:.95rem}
  .contact-email{font-size:.8rem}
  .callout{display:block;padding-top:38px;padding-bottom:38px}
  .callout .button{margin-top:1rem}
  footer{padding-left:18px;padding-right:18px}
  .home-page .hero{min-height:520px;padding:92px 18px 68px}
  .home-page .hero h1{font-size:1.9rem}
  .home-page .hero .lead{font-size:.92rem}
  .home-page .hero-visual{height:230px}
}

/* Site-wide mobile density: preserve desktop-like horizontal compositions. */
@media (max-width:600px){
  body:not(.home-page){font-size:14px!important}
  body:not(.home-page) .section,
  body:not(.home-page) .visual-figure,
  body:not(.home-page) .callout,
  body:not(.home-page) .contact{padding:28px 18px!important}

  body:not(.home-page) .intro-grid,
  body:not(.home-page) .split,
  body:not(.home-page) .section-head,
  body:not(.home-page) .governance,
  body:not(.home-page) .contact-workspace,
  body:not(.home-page) .map-section,
  body:not(.home-page) .presence-heading,
  body:not(.home-page) .presence-statement,
  body:not(.home-page) .pipeline-section{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:.75rem!important;
  }
  body:not(.home-page) .section-head>p,
  body:not(.home-page) .intro-copy,
  body:not(.home-page) .body-copy,
  body:not(.home-page) .presence-heading>p:last-child,
  body:not(.home-page) .presence-statement>p:last-child,
  body:not(.home-page) .pipeline-copy>p:not(.eyebrow){
    font-size:.62rem!important;
    line-height:1.32!important;
  }
  body:not(.home-page) h2{font-size:1.02rem!important;line-height:1.15!important;margin-bottom:.55rem!important}
  body:not(.home-page) .eyebrow{font-size:.52rem!important;letter-spacing:.1em!important;margin-bottom:.4rem!important}

  body:not(.home-page) .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.35rem!important;margin-top:1rem!important}
  body:not(.home-page) .pillar-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .feature-grid,
  body:not(.home-page) .service-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .process-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.35rem!important;margin-top:1rem!important}
  body:not(.home-page) .audiences{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .lifecycle{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .esg-wheel{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;margin-top:1rem!important}
  body:not(.home-page) .value-chain{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1px!important}
  body:not(.home-page) .value-chain article{min-height:105px!important;padding:.5rem .35rem!important}
  body:not(.home-page) .value-chain article:after{display:none!important}

  body:not(.home-page) .cards article,
  body:not(.home-page) .pillar-card,
  body:not(.home-page) .feature-grid article,
  body:not(.home-page) .service-list article,
  body:not(.home-page) .product-grid article,
  body:not(.home-page) .process-grid article,
  body:not(.home-page) .deal,
  body:not(.home-page) .audiences article,
  body:not(.home-page) .lifecycle article,
  body:not(.home-page) .esg-wheel article{
    min-height:95px!important;
    padding:.55rem .4rem!important;
    box-shadow:none!important;
  }
  body:not(.home-page) .cards h3,
  body:not(.home-page) .pillar-card h3,
  body:not(.home-page) .feature-grid h3,
  body:not(.home-page) .service-list h3,
  body:not(.home-page) .product-grid h3,
  body:not(.home-page) .process-grid h3,
  body:not(.home-page) .deal h3,
  body:not(.home-page) .audiences h3,
  body:not(.home-page) .lifecycle h3,
  body:not(.home-page) .esg-wheel h3,
  body:not(.home-page) .value-chain h3{
    font-size:.56rem!important;
    line-height:1.15!important;
    margin:.45rem 0 .25rem!important;
  }
  body:not(.home-page) .cards p,
  body:not(.home-page) .pillar-card p,
  body:not(.home-page) .feature-grid p,
  body:not(.home-page) .service-list p,
  body:not(.home-page) .product-grid p,
  body:not(.home-page) .process-grid p,
  body:not(.home-page) .deal>p,
  body:not(.home-page) .audiences p,
  body:not(.home-page) .lifecycle p,
  body:not(.home-page) .esg-wheel p,
  body:not(.home-page) .value-chain p{
    font-size:.48rem!important;
    line-height:1.25!important;
    margin-bottom:.2rem!important;
  }
  body:not(.home-page) .index,
  body:not(.home-page) .pillar-card strong,
  body:not(.home-page) .process-grid span,
  body:not(.home-page) .tag,
  body:not(.home-page) .stage,
  body:not(.home-page) .value-chain span,
  body:not(.home-page) .lifecycle article:before,
  body:not(.home-page) .esg-wheel span{
    font-size:.43rem!important;
  }
  body:not(.home-page) .pillar-card .index{margin-bottom:.35rem!important}
  body:not(.home-page) .location-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home-page) .location-list div{min-height:105px!important;padding:.45rem .35rem!important}
  body:not(.home-page) .location-list strong{font-size:.55rem!important;margin:.35rem 0 .2rem!important}
  body:not(.home-page) .location-list span,
  body:not(.home-page) .location-list small{font-size:.42rem!important}
  body:not(.home-page) .location-icon{width:30px!important;height:24px!important;margin-bottom:.25rem!important}
  body:not(.home-page) .team-grid-leadership,
  body:not(.home-page) .team-grid-management-top,
  body:not(.home-page) .team-grid-management-bottom{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.35rem!important;
  }
  body:not(.home-page) .team-card{width:100%!important;min-height:220px!important;height:auto!important}
  body:not(.home-page) .team-card-body{padding:.45rem!important}
  body:not(.home-page) .team-card h3{font-size:.55rem!important}
  body:not(.home-page) .team-card .role{font-size:.43rem!important}
  body:not(.home-page) .team-bio{font-size:.4rem!important;line-height:1.2!important;margin:.3rem 0!important}
  body:not(.home-page) .team-tier{margin-top:1.2rem!important}
  body:not(.home-page) .team-tier+.team-tier{margin-top:1.5rem!important;padding-top:1rem!important}

  body:not(.home-page) .contact-form-heading{position:static!important}
  body:not(.home-page) .corporate-form{padding:.7rem!important}
  body:not(.home-page) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.45rem!important}
  body:not(.home-page) .field-full{grid-column:1/-1!important}
  body:not(.home-page) .field label,
  body:not(.home-page) .consent{font-size:.5rem!important}
  body:not(.home-page) .field input,
  body:not(.home-page) .field select,
  body:not(.home-page) .field textarea{padding:.42rem .45rem!important;font-size:.55rem!important}
  body:not(.home-page) .field textarea{min-height:70px!important}
  body:not(.home-page) .map-copy{padding:28px 18px!important}
  body:not(.home-page) .map-consent,
  body:not(.home-page) .map-frame{min-height:190px!important}

  body:not(.home-page) footer{padding:1.2rem 18px!important;font-size:.48rem!important}
  body:not(.home-page) footer img{width:125px!important}
}

/* Final mobile correction: full-width editorial blocks, compact horizontal cards. */
@media (max-width:600px){
  body:not(.home-page) .intro-grid,
  body:not(.home-page) .split,
  body:not(.home-page) .governance,
  body:not(.home-page) .contact-workspace,
  body:not(.home-page) .map-section,
  body:not(.home-page) .presence-heading,
  body:not(.home-page) .presence-statement,
  body:not(.home-page) .pipeline-section{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1rem!important;
  }
  body:not(.home-page) .section-head{
    display:block!important;
  }
  body:not(.home-page) .section-head>p{
    margin-top:.7rem!important;
  }
  body:not(.home-page) .intro-copy,
  body:not(.home-page) .body-copy,
  body:not(.home-page) .section-head>p,
  body:not(.home-page) .presence-heading>p:last-child,
  body:not(.home-page) .presence-statement>p:last-child,
  body:not(.home-page) .pipeline-copy>p:not(.eyebrow){
    max-width:none!important;
    font-size:.78rem!important;
    line-height:1.42!important;
  }
  body:not(.home-page) h2{
    font-size:1.28rem!important;
    line-height:1.16!important;
  }
  body:not(.home-page) .page-hero h1{
    font-size:1.38rem!important;
    line-height:1.16!important;
  }
  body:not(.home-page) .page-hero p:last-child{
    font-size:.78rem!important;
    line-height:1.4!important;
  }
  body:not(.home-page) .contact-workspace{
    padding-top:30px!important;
    padding-bottom:30px!important;
  }
  body:not(.home-page) .contact-form-heading{
    width:100%!important;
  }
  body:not(.home-page) .contact-form-heading>p:last-child{
    max-width:none!important;
    font-size:.78rem!important;
    line-height:1.42!important;
  }
  body:not(.home-page) .corporate-form{
    width:100%!important;
    padding:1rem!important;
  }
  body:not(.home-page) .map-section{
    display:grid!important;
  }
  body:not(.home-page) .map-copy{
    width:100%!important;
    padding:30px 18px!important;
  }
  body:not(.home-page) .map-copy>p:last-of-type{
    font-size:.78rem!important;
    line-height:1.42!important;
  }
  body:not(.home-page) .map-consent,
  body:not(.home-page) .map-frame{
    width:100%!important;
    min-height:260px!important;
  }

  /* Horizontal card families stay compact and contained. */
  body:not(.home-page) .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:not(.home-page) .pillar-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body:not(.home-page) .feature-grid,
  body:not(.home-page) .service-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.home-page) .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home-page) .process-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home-page) .deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.home-page) .audiences{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:not(.home-page) .lifecycle{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home-page) .esg-wheel{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:not(.home-page) .value-chain{grid-template-columns:repeat(5,minmax(0,1fr))!important}

  body:not(.home-page) .value-chain h3,
  body:not(.home-page) .cards h3,
  body:not(.home-page) .pillar-card h3,
  body:not(.home-page) .feature-grid h3,
  body:not(.home-page) .service-list h3,
  body:not(.home-page) .product-grid h3,
  body:not(.home-page) .process-grid h3,
  body:not(.home-page) .deal h3,
  body:not(.home-page) .audiences h3,
  body:not(.home-page) .lifecycle h3,
  body:not(.home-page) .esg-wheel h3{
    font-size:.58rem!important;
    line-height:1.16!important;
    overflow-wrap:anywhere!important;
  }
  body:not(.home-page) .value-chain p,
  body:not(.home-page) .cards p,
  body:not(.home-page) .pillar-card p,
  body:not(.home-page) .feature-grid p,
  body:not(.home-page) .service-list p,
  body:not(.home-page) .product-grid p,
  body:not(.home-page) .process-grid p,
  body:not(.home-page) .deal>p,
  body:not(.home-page) .audiences p,
  body:not(.home-page) .lifecycle p,
  body:not(.home-page) .esg-wheel p{
    font-size:.48rem!important;
    line-height:1.28!important;
    overflow-wrap:anywhere!important;
  }

  .home-page .hero{
    min-height:560px!important;
    padding:92px 18px 68px!important;
  }
  .home-page .hero h1{
    font-size:1.62rem!important;
    line-height:1.14!important;
  }
  .home-page .hero .lead{
    font-size:.82rem!important;
    line-height:1.4!important;
  }
  .home-page .actions .button{
    min-height:40px!important;
    padding:.55rem .8rem!important;
    font-size:.75rem!important;
  }
}
