/* Master Pro Mobile + Responsive correction layer. Breakpoint-scoped where possible. */
:root { --mobile-header: 70px; --mobile-gutter: clamp(20px, 6vw, 28px); }

/* Reliable anchor first frames. */
#manifesto, #platform, #value, #pipeline, #story, #leadership, #relationships,
#future, #newsroom, #social, #contact { scroll-margin-top: 94px; }

/* Corporate story, project imagery only. */
.story-timeline-section { padding: clamp(76px, 8vw, 118px) 0; background: linear-gradient(135deg,#f3f1e7,#e8ebe0) !important; }
.story-timeline-section .story-heading { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.72fr); gap:clamp(44px,7vw,110px); padding-bottom:clamp(38px,5vw,70px); }
.story-timeline-section .story-heading h2 { max-width:800px; font-size:clamp(48px,5.5vw,76px); line-height:.98; color:#07383a; }
.story-timeline-section .story-intro-copy p { color:#294f4e; }
.story-project-feature { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr); gap:clamp(34px,5vw,76px); align-items:start; }
.story-project-image { position:sticky; top:112px; display:block; width:100%; padding:0; border:0; background:#062f32; color:#fff; overflow:hidden; cursor:zoom-in; }
.story-project-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.story-project-image:after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(1,24,28,.64)); }
.story-project-image span { position:absolute; z-index:1; left:22px; bottom:18px; font-size:11px; font-weight:760; letter-spacing:.12em; text-transform:uppercase; }
.story-project-image:focus-visible { outline:3px solid #6c895c; outline-offset:4px; }
.story-timeline { list-style:none; margin:0; padding:0; border-top:1px solid rgba(5,47,44,.22); }
.story-timeline li { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:25px 0 28px; border-bottom:1px solid rgba(5,47,44,.18); }
.story-timeline li>span { color:#6c895c; font-size:12px; font-weight:800; }
.story-timeline li p:first-child { margin:0 0 8px; color:#6c895c; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.story-timeline h3 { margin:0 0 9px; color:#07383a; font-size:clamp(22px,2vw,29px); line-height:1.06; }
.story-timeline li p:last-child { margin:0; color:#365a59; font-size:15px; line-height:1.58; }

/* Functional Newsroom destination. */
.newsroom-section { background:#eae9d4; color:#052f2c; }
.newsroom-layout { padding-bottom:36px; }
.newsroom-directory { border-top:1px solid rgba(5,47,44,.28); }
.newsroom-item { appearance:none; width:100%; position:relative; display:grid; grid-template-columns:minmax(180px,.62fr) minmax(0,1fr) 28px; gap:24px; align-items:center; margin:0; padding:22px 2px 24px; border:0; border-bottom:1px solid rgba(5,47,44,.22); border-radius:0; background:transparent; color:#052f2c; text-align:left; cursor:pointer; }
.newsroom-item>span { font-size:13px; font-weight:800; letter-spacing:.105em; text-transform:uppercase; }
.newsroom-item p { margin:0; color:rgba(5,47,44,.78); font-size:15px; line-height:1.5; }
.newsroom-item i { justify-self:end; color:#6c895c; font-size:20px; font-style:normal; transition:transform .22s ease; }
.newsroom-item[aria-selected="true"] { box-shadow:inset 3px 0 #6c895c; padding-left:16px; }
.newsroom-item[aria-selected="true"]>span { color:#3f693f; }
.newsroom-item[aria-selected="true"] i { transform:translateX(4px); }
.newsroom-item:focus-visible { outline:3px solid #6c895c; outline-offset:4px; }
.newsroom-content { padding-bottom:clamp(66px,8vw,110px); }
.newsroom-panel[hidden] { display:none !important; }
.press-archive-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.55fr); gap:40px; align-items:end; margin:8px 0 28px; padding-top:36px; border-top:1px solid rgba(5,47,44,.2); }
.press-archive-heading h3,.newsroom-empty h3,.media-resources h3 { margin:5px 0 0; font-size:clamp(30px,3.4vw,48px); line-height:1.02; letter-spacing:-.035em; color:#07383a; }
.press-archive-heading>p { margin:0; color:#365a59; font-size:15px; line-height:1.55; }
.press-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.press-card { min-width:0; min-height:300px; display:flex; flex-direction:column; padding:24px; border:1px solid rgba(5,47,44,.18); background:rgba(255,255,255,.32); }
.press-card-text:before { content:"PRESS ARCHIVE"; display:grid; place-items:center; min-height:80px; margin:-24px -24px 22px; color:rgba(5,47,44,.52); background:linear-gradient(135deg,rgba(108,137,92,.15),rgba(196,189,113,.2)); font-size:10px; font-weight:800; letter-spacing:.16em; }
.press-publication { margin-bottom:12px; color:#64774f; font-size:10px; font-weight:800; letter-spacing:.105em; text-transform:uppercase; }
.press-card h4,.historical-media-card h4 { margin:0 0 12px; color:#07383a; font-size:20px; line-height:1.12; letter-spacing:-.02em; }
.press-card p,.historical-media-card p { margin:0 0 18px; color:#365a59; font-size:14px; line-height:1.5; }
.press-card a,.historical-media-card a,.media-resources a { margin-top:auto; width:max-content; color:#315f53; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.press-card a:hover,.press-card a:focus-visible,.historical-media-card a:hover,.historical-media-card a:focus-visible { color:#07383a; text-decoration:underline; }
.press-card-image { padding:0; }
.press-card-image button { position:relative; display:block; width:100%; padding:0; border:0; background:#062f32; cursor:zoom-in; }
.press-card-image button img { display:block; width:100%; height:auto !important; max-height:210px; aspect-ratio:16/9; object-fit:cover; object-position:50% 34%; }
.press-card-image button span { position:absolute; left:14px; bottom:12px; padding:7px 10px; background:rgba(1,24,28,.82); color:#fff; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.press-card-image button:focus-visible { outline:3px solid #6c895c; outline-offset:-3px; }
.press-card-copy { padding:22px 24px 24px; }
.historical-media-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; margin-top:14px; }
.historical-media-card { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1fr); gap:24px; align-items:center; padding:20px; border:1px solid rgba(5,47,44,.18); background:rgba(255,255,255,.36); }
.historical-media-card .archive-video-frame { margin:0; }
.historical-media-card video { display:block; width:100%; aspect-ratio:848/384; object-fit:cover; }
.historical-media-card>div>span { display:block; margin-bottom:8px; color:#6c895c; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.company-archive-mark { min-height:150px; display:grid; place-items:center; background:#f6f3e8; }
.company-archive-mark img { width:150px; height:auto; }
.newsroom-empty { padding:48px 0 30px; border-top:1px solid rgba(5,47,44,.2); }
.media-resources { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); gap:clamp(40px,7vw,96px); padding:48px 0 24px; border-top:1px solid rgba(5,47,44,.2); }
.media-resources>div>p { color:#365a59; line-height:1.6; }
.media-brand { padding:28px; border:1px solid rgba(5,47,44,.18); background:rgba(255,255,255,.36); }
.media-brand img { display:block; width:180px; height:auto; margin-bottom:20px; }
.media-brand>div { display:flex; gap:18px; flex-wrap:wrap; margin-top:18px; }

/* Social brand recognition. */
.social-channel-card:nth-child(1) .social-icon { background:#0a66c2 !important; color:#fff !important; }
.social-channel-card:nth-child(2) .social-icon { background:radial-gradient(circle at 32% 100%,#ffd600 0 22%,#ff7a00 38%,#ff0169 61%,#d300c5 77%,#7638fa 100%) !important; color:#fff !important; }
.social-channel-card:nth-child(3) .social-icon { background:#ff0000 !important; color:#fff !important; }
.social-channel-card .social-icon svg { fill:currentColor !important; stroke:currentColor !important; }
.social-channel-card:nth-child(2) .social-icon svg rect,.social-channel-card:nth-child(2) .social-icon svg circle { fill:none !important; stroke:#fff !important; stroke-width:1.9; }
.social-channel-card:nth-child(2) .social-icon .social-icon-fill { fill:#fff !important; stroke:none !important; }

@media (max-width:1024px) {
  #manifesto, #platform, #value, #pipeline, #story, #leadership, #relationships,
  #future, #newsroom, #social, #contact { scroll-margin-top: 82px; }
  .story-project-feature { grid-template-columns:minmax(0,.9fr) minmax(350px,1fr); }
  .press-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .historical-media-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  :root { --mobile-header:70px; }
  html { scroll-padding-top:0; }
  body { overflow-x:clip; }
  #manifesto, #platform, #value, #pipeline, #story, #leadership, #relationships,
  #future, #newsroom, #social, #contact { scroll-margin-top:calc(var(--mobile-header) + 8px); }
  .shell { width:calc(100% - (var(--mobile-gutter) * 2)) !important; max-width:none; }
  .section,.manifesto-section,.story-section { padding-top:62px !important; padding-bottom:62px !important; min-height:0 !important; }
  .section-intro,.story-heading,.team-heading,.ecosystem-layout,.social-heading { margin-bottom:30px !important; }
  .section-intro h2,.atlas-heading h2,.story-heading h2,.team-heading h2,.ecosystem-copy h2,.manifesto-heading h2,.social-heading h2 { font-size:clamp(34px,10vw,43px) !important; line-height:1.01 !important; }
  .section-intro>p:last-child,.atlas-editorial p,.story-intro-copy p,.team-heading>p,.ecosystem-copy>p,.social-heading>p { font-size:15px !important; line-height:1.55 !important; }

  /* Compact menu with all controls reachable without a near-page-length panel. */
  .links { left:12px !important; right:12px !important; top:66px !important; max-height:calc(100dvh - 78px); overflow-y:auto; overscroll-behavior:contain; padding:8px !important; border-radius:12px !important; }
  .links a,.links button { min-height:44px; display:flex; align-items:center; padding:9px 12px !important; font-size:11px !important; line-height:1.2; }
  .links .button.compact { justify-content:center; min-height:46px; margin-top:4px; }
  .nav-newsletter { color:#173f3e !important; font-weight:760 !important; }

  /* Hero first frame and country line. */
  .gate2-hero { min-height:100svh !important; height:auto !important; }
  .gate2-hero .hero-content { padding-top:112px !important; padding-bottom:128px !important; }
  .gate2-hero .hero-editorial { max-width:100%; }
  .gate2-hero .hero-editorial p { color:rgba(255,255,255,.88) !important; }
  .gate2-hero .actions { margin-top:22px; gap:10px; }
  .gate2-hero .actions .button,.gate2-hero .actions .text-link { max-width:100%; min-height:44px; }
  .gate2-hero .hero-meta { width:calc(100% - (var(--mobile-gutter) * 2)) !important; left:var(--mobile-gutter) !important; right:auto !important; bottom:20px !important; display:flex !important; justify-content:center; gap:0 !important; }
  .gate2-hero .hero-meta span { color:rgba(255,255,255,.8) !important; font-size:9px !important; font-weight:750; letter-spacing:.08em !important; }
  .gate2-hero .hero-meta span+span:before { display:inline !important; content:"·"; margin:0 7px; color:#c4bd71; }

  /* Platform uses one useful visual frame, not desktop-sized orbits. */
  .platform-grid { gap:10px !important; }
  .platform-card { min-height:0 !important; padding:24px !important; border-radius:14px !important; }
  .platform-card h3 { margin-top:28px !important; font-size:25px !important; }
  .platform-stage { display:block !important; min-height:0 !important; border-radius:18px !important; }
  .platform-visual { min-height:245px !important; }
  .orbit-supply { width:240px !important; height:240px !important; }
  .orbit-flex { width:178px !important; height:178px !important; }
  .orbit-demand { width:112px !important; height:112px !important; }
  .platform-sun { width:96px !important; height:96px !important; }
  .platform-controls { padding:26px 20px 28px !important; }
  .capability-tabs { grid-template-columns:1fr 1fr; gap:6px; }
  .capability-tabs button { min-height:56px !important; padding:10px !important; font-size:12px; }
  .capability-detail { margin-top:24px !important; }
  .capability-detail h3 { font-size:28px !important; }
  .platform-photo-relief { min-height:220px !important; margin-top:18px !important; padding:22px !important; }

  /* Value Engine: one active state, compact direct selector and evidence. */
  .gate2-value .value-story,.gate2-value .value-pin { height:auto !important; min-height:0 !important; position:relative !important; top:auto !important; }
  .gate2-value .value-pin { padding:24px var(--mobile-gutter) 42px !important; overflow:hidden; }
  .gate2-value .value-layout { display:block !important; min-height:0 !important; }
  .gate2-value .stage-index { display:flex !important; gap:6px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 0 22px; padding:0 0 5px; }
  .gate2-value .stage-index::-webkit-scrollbar { display:none; }
  .gate2-value .stage-index button { flex:0 0 124px !important; width:124px !important; min-width:124px !important; min-height:52px !important; padding:8px 10px !important; transform:none !important; scroll-snap-align:center; white-space:nowrap; }
  .gate2-value .stage-index button:nth-child(4) { flex-basis:160px !important; width:160px !important; min-width:160px !important; }
  .gate2-value .stage-index button span { display:inline; margin-right:7px; }
  .gate2-value .value-energy { display:none !important; }
  .gate2-value .stage-detail { min-height:0 !important; padding:24px 0 16px !important; }
  .gate2-value .stage-detail h3 { font-size:clamp(31px,9.4vw,40px) !important; }
  .gate2-value .stage-detail>p { font-size:15px !important; line-height:1.55 !important; }
  .gate2-value .stage-indicators { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px !important; margin-top:22px !important; }
  .gate2-value .stage-indicators>div { min-width:0; padding:12px 8px !important; }
  .gate2-value .stage-indicators b { font-size:11px !important; overflow-wrap:anywhere; }
  .gate2-value .stage-signal { margin-top:18px !important; }
  .gate2-value .gate-panel { padding:22px 0 0 !important; }
  .gate2-value .gate-heading { align-items:flex-start; gap:8px; }
  .gate2-value .gate-heading span { color:rgba(234,233,212,.9) !important; font-size:9px !important; }
  .gate2-value .journey-gates { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px !important; overflow:visible !important; padding:16px 0 0 !important; }
  .gate2-value .journey-gates li { min-width:0 !important; min-height:58px !important; padding:8px 3px !important; }
  .gate2-value .journey-gates li span { color:rgba(234,233,212,.82) !important; }
  .gate2-value .journey-gates li b { color:rgba(234,233,212,.75) !important; font-size:7.5px !important; overflow-wrap:anywhere; }
  .gate2-value .value-closing { margin-top:20px !important; color:rgba(234,233,212,.88) !important; font-size:13px !important; line-height:1.5; }

  /* Markets stays one connected, shorter system. */
  .atlas-section { padding-bottom:60px !important; }
  .atlas-market-tabs { display:flex !important; gap:8px !important; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-bottom:16px !important; }
  .atlas-market-tabs::-webkit-scrollbar { display:none; }
  .atlas-market-tabs button { flex:0 0 82%; min-width:0 !important; min-height:86px !important; scroll-snap-align:center; }
  .atlas-interface { gap:14px !important; }
  .atlas-stage { min-height:340px !important; }
  .atlas-panel { min-height:0 !important; padding:22px !important; }

  /* Our Story is one image plus compact timeline. */
  .story-timeline-section { padding:62px 0 !important; }
  .story-timeline-section .story-heading { display:block; padding-bottom:28px; }
  .story-timeline-section .story-heading h2 { font-size:clamp(36px,10.5vw,44px) !important; }
  .story-timeline-section .story-intro-copy { margin-top:20px; }
  .story-project-feature { display:block; }
  .story-project-image { position:relative; top:auto; }
  .story-project-image img { height:auto !important; aspect-ratio:16/10; object-position:center; }
  .story-timeline { margin-top:18px; }
  .story-timeline li { grid-template-columns:32px 1fr; gap:10px; padding:19px 0 21px; }
  .story-timeline h3 { font-size:23px; }

  /* Leadership: contained images and shorter mobile cards. */
  .team-grid { display:grid !important; grid-template-columns:1fr 1fr !important; overflow:visible !important; gap:10px !important; }
  .team-card { min-width:0 !important; flex:none !important; border-radius:12px !important; }
  .team-card>img { width:100% !important; height:150px !important; aspect-ratio:auto !important; object-fit:contain !important; object-position:center top !important; background:#f4f2ea; }
  .team-card>div { padding:16px 13px 18px !important; }
  .team-card h3 { font-size:17px !important; }
  .team-card ul { display:none; }
  .leader-linkedin { margin-top:12px !important; }
  .team-connect { margin-top:20px !important; padding:20px !important; }

  /* Institutions: compact selector + active explanation + connected diagram. */
  .relationships-section { padding-bottom:58px !important; }
  .ecosystem-layout { display:flex !important; flex-direction:column; gap:22px !important; }
  .ecosystem-copy { max-width:none !important; }
  .relationship-detail { margin:20px 0 14px !important; padding:18px !important; min-height:154px; }
  .relationship-controls { display:grid !important; grid-template-columns:1fr 1fr; gap:6px !important; max-height:none !important; overflow:visible !important; }
  .relationship-controls button { min-height:46px !important; padding:8px !important; font-size:10px !important; line-height:1.18; }
  .relationship-stage { width:100%; min-height:0 !important; margin-top:0 !important; }
  .relationship-svg { display:block; width:100% !important; height:auto !important; min-height:0 !important; max-height:370px; }
  .ecosystem-closing { margin-top:18px !important; }

  /* Future intro is high contrast and quickly reaches the four pillars. */
  .future-section .section-intro { padding:0 !important; margin-bottom:26px !important; min-height:0 !important; }
  .future-section .section-intro .eyebrow { color:#667347 !important; }
  .future-section .section-intro h2 { color:#07383a !important; text-shadow:none !important; }
  .future-section .section-intro>p:last-child { color:#294f4e !important; opacity:1 !important; }
  .future-flow { margin-top:24px !important; gap:10px !important; }
  .future-flow article { min-height:305px !important; padding:22px !important; border-radius:12px !important; }
  .future-flow article:before { background-position:center !important; }
  .future-flow .future-data-centers:before { background-position:62% center !important; }
  .future-flow .future-pem:before { background-position:55% center !important; }
  .future-flow .future-agrivoltaics:before { background-position:center !important; }
  .future-flow .future-ev:before { background-position:58% center !important; }

  /* Newsroom is compact, no giant cards, with real destinations. */
  .newsroom-layout { gap:24px !important; padding:54px 0 24px !important; }
  .newsroom-heading h2 { font-size:clamp(33px,9.7vw,41px) !important; }
  .newsroom-item { grid-template-columns:1fr 24px; gap:6px 12px; padding:16px 2px 17px !important; }
  .newsroom-item>span { font-size:11px; }
  .newsroom-item p { grid-column:1; font-size:13px; line-height:1.4; }
  .newsroom-item i { grid-column:2; grid-row:1/3; align-self:center; }
  .newsroom-item[aria-selected="true"] { padding-left:12px !important; }
  .newsroom-content { padding-bottom:58px; }
  .press-archive-heading { display:block; padding-top:26px; margin-bottom:18px; }
  .press-archive-heading h3,.newsroom-empty h3,.media-resources h3 { font-size:31px; }
  .press-archive-heading>p { margin-top:12px; font-size:13px; }
  .press-archive-grid { grid-template-columns:1fr; gap:10px; }
  .press-card { min-height:0; padding:18px; }
  .press-card-text:before { min-height:52px; margin:-18px -18px 16px; }
  .press-card h4,.historical-media-card h4 { font-size:18px; }
  .press-card p,.historical-media-card p { font-size:13px; margin-bottom:14px; }
  .press-card-image { padding:0; }
  .press-card-copy { padding:18px; }
  .historical-media-grid { grid-template-columns:1fr; gap:10px; margin-top:10px; }
  .historical-media-card { grid-template-columns:1fr; gap:15px; padding:16px; }
  .company-archive-mark { min-height:100px; }
  .media-resources { grid-template-columns:1fr; gap:22px; padding-top:28px; }
  .media-brand { padding:20px; }

  /* Social and footer conclude compactly. */
  .social-section { padding-top:58px !important; padding-bottom:58px !important; }
  .social-channel-grid { gap:10px !important; }
  .social-channel-card { min-height:0 !important; padding:20px !important; }
  .social-channel-card .social-icon { width:52px !important; height:52px !important; margin-bottom:14px !important; }
  .social-channel-card h3 { margin:8px 0 !important; font-size:23px !important; }
  .social-channel-card p { margin-bottom:16px !important; }
  .footer { padding:46px 0 24px !important; min-height:0 !important; }
  .footer-grid { gap:20px !important; }
  .footer h2 { font-size:clamp(38px,10.5vw,47px) !important; }
  .footer-signoff img { width:118px !important; height:auto !important; }
  .footer-signoff { text-align:left !important; }
  .footer-signoff small { display:block; margin-top:5px; }
  .footer-legal { margin-top:18px !important; padding-top:14px !important; font-size:10.5px !important; line-height:1.45 !important; }
  .footer-utility-actions { margin-top:16px !important; padding-bottom:0 !important; }
}

@media (max-width:410px) {
  .gate2-hero .hero-meta span { font-size:8px !important; }
  .gate2-hero .hero-meta span+span:before { margin:0 5px; }
  .relationship-controls { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .newsroom-item i,.story-project-image img { transition:none !important; }
}
