.purpose-section,.strengths-section,.flow-section{padding:clamp(64px,8vw,112px) clamp(24px,8vw,120px)}
.purpose-section h2{font-size:clamp(28px,3.3vw,46px);line-height:1.6;margin:16px 0 24px;color:var(--navy)}
.purpose-lead{max-width:940px;font-size:18px;color:var(--muted)}
.purpose-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin:36px 0}
.purpose-benefits>div{border-top:2px solid var(--blue);padding-top:12px}
.purpose-benefits>div:last-child{border-color:var(--green)}
.purpose-benefits h3{font-size:21px;color:var(--navy)}
.purpose-benefits p{color:var(--muted)}
.vision-statement{border-left:3px solid var(--green);padding-left:22px;font-weight:500;max-width:940px}
.strengths-section{background:#f6fafc}
.strengths-section .section-heading{margin-bottom:44px}
.strength-list{border-top:1px solid var(--line)}
.strength-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.strength-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#e7f6fc;font:600 23px/1 Outfit,sans-serif;color:#087eaf}
.strength-row h3{font-size:clamp(21px,2.2vw,28px);line-height:1.6;margin:0 0 12px;color:var(--navy)}
.strength-row p{max-width:960px;margin:10px 0;color:var(--muted)}
.strength-row .strength-note,.strength-note{font-size:14px;color:var(--muted);line-height:1.8}
.strength-link{display:inline-block;color:#087eaf;font-weight:600;border-bottom:1px solid #a3d4e7;margin-top:10px}
.strength-detail{margin:20px 0 12px}
.strength-detail summary{cursor:pointer;color:#087eaf;font-weight:600;padding:10px 0}
.strength-detail[open] summary{margin-bottom:16px}
.strength-detail a{max-width:960px}
.management-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin:24px 0}
.management-points>div{border-left:2px solid #8bcadf;padding-left:20px}
.management-points h4{margin:0;color:var(--green);font-size:18px}
.flow-section{background:#f3f8f5}
.flow-section .section-heading{margin-bottom:40px}
.delivery-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0 0 32px}
.delivery-steps li{border-top:2px solid #9fc4af;padding-top:18px}
.delivery-steps span{font:500 30px Outfit,sans-serif;color:var(--green)}
.delivery-steps h3{font-size:18px;margin:16px 0 12px;line-height:1.7}
.delivery-steps p{font-size:16px;color:var(--muted);margin:0}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid #087eaf;outline-offset:5px}
@media(max-width:1000px){.delivery-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.purpose-benefits,.management-points,.delivery-steps{grid-template-columns:1fr;gap:22px}.strength-row{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:28px 0}.strength-number{width:36px;height:36px;font-size:19px}.purpose-lead{font-size:16px}.delivery-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px 12px}.delivery-steps h3{margin:0}.delivery-steps p{grid-column:2}.section-heading h2{font-size:clamp(28px,7vw,36px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Hero slideshow and the two reasons to install EV charging. */
.hero-slider{min-height:clamp(620px,76vh,820px);display:block;background:#eaf5fa}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 34%,rgba(255,255,255,.2) 62%,rgba(255,255,255,0) 100%),var(--hero-image);background-position:center;background-size:cover;transition:opacity .7s ease,visibility .7s ease}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide .hero-content{color:var(--navy);max-width:820px;width:100%;padding:clamp(64px,8vw,112px) clamp(24px,8vw,120px)}
.hero-slide h1,.hero-slide h2{font-size:clamp(38px,4.7vw,68px);line-height:1.35;letter-spacing:.02em;margin:18px 0 24px}
.hero-slide .lead{color:#40535e;max-width:650px;font-size:clamp(16px,1.3vw,20px);text-shadow:0 1px 12px rgba(255,255,255,.8)}
.hero-slide .primary-link{border-color:var(--blue);background:rgba(255,255,255,.74);padding:10px 14px}
.hero-controls{position:absolute;z-index:3;left:clamp(24px,8vw,120px);bottom:34px;display:flex;gap:12px}
.hero-dot{width:42px;height:4px;padding:12px 0;border:0;background:linear-gradient(var(--navy),var(--navy)) center/100% 2px no-repeat;opacity:.35;cursor:pointer}
.hero-dot.is-active{background-image:linear-gradient(var(--blue),var(--blue));opacity:1}
.facility-value,.market-section{padding:clamp(70px,9vw,130px) clamp(24px,8vw,120px)}
.facility-value{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(48px,8vw,110px);background:#fff}
.value-intro h2,.market-heading h2{font-size:clamp(30px,3.8vw,54px);line-height:1.5;color:var(--navy);margin:14px 0 22px}
.value-intro>p:last-child,.market-heading>p:last-child{color:var(--muted);font-size:17px}
.value-journey{list-style:none;padding:0;margin:0;align-self:center}
.value-journey li{display:grid;grid-template-columns:70px 1fr;gap:22px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}
.value-journey li:last-child{border-bottom:1px solid var(--line)}
.value-journey span{font:600 26px Outfit,sans-serif;color:var(--blue)}
.value-journey strong{display:block;font-size:clamp(21px,2vw,27px);color:var(--navy);margin-bottom:4px}
.value-journey p{margin:0;color:var(--muted)}
.parking-revenue{grid-column:1/-1;margin-top:18px;padding:clamp(30px,5vw,56px);background:#f4faf7;border-top:3px solid var(--green)}
.parking-revenue h3{margin:10px 0 30px;color:var(--navy);font-size:clamp(26px,3.4vw,44px);line-height:1.55}
.parking-revenue h3 span{color:var(--green)}
.parking-value-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.parking-value-points>div{padding-top:18px;border-top:1px solid #b9d3c6}
.parking-value-points b{display:block;color:var(--blue);font:600 18px Outfit,sans-serif;margin-bottom:8px}
.parking-value-points strong{display:block;color:var(--navy);font-size:19px;margin-bottom:7px}
.parking-value-points p{margin:0;color:var(--muted)}
.revenue-detail{margin-top:30px;border-top:1px solid #b9d3c6}
.revenue-detail summary{padding:18px 0 10px;color:var(--green);font-weight:700;cursor:pointer}
.revenue-formula{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 12px}
.revenue-formula span{padding:8px 13px;background:#fff;color:var(--navy);font-weight:700}
.revenue-formula b{color:var(--green);font-size:20px}
.revenue-detail p{margin:0;color:var(--muted);font-size:14px}
.market-section{background:#eef8fb}
.market-heading{max-width:1000px}
.market-heading h2 span{color:var(--green)}
.ev-share-compare{margin:46px 0 28px;background:#fff;padding:clamp(24px,4vw,44px);border-top:3px solid var(--blue)}
.ev-share-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.ev-share-title p{margin:0;color:var(--navy);font-size:clamp(21px,2.4vw,30px);font-weight:700}
.ev-share-title span{color:var(--muted);font-size:14px;white-space:nowrap}
.ev-share-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:28px}
.ev-country{min-width:0;text-align:center;padding:12px 5px 14px;border-radius:999px 999px 18px 18px;border:1px solid #d5e3e8;background:#fbfdfe}
.ev-flag{display:block;width:48px;height:34px;object-fit:contain;margin:0 auto 10px;padding:3px;border:1px solid #d9e5e9;border-radius:7px;background:#fff;box-shadow:0 3px 10px rgba(18,47,66,.06)}
.ev-country strong{display:block;color:var(--navy);font:600 clamp(29px,3.5vw,48px)/1 Outfit,sans-serif;letter-spacing:-.04em}
.ev-country strong small{font-size:.45em;letter-spacing:0;margin-left:2px}
.ev-country p{margin:10px 0 0;color:var(--navy);font-size:14px;font-weight:700}
.ev-country-japan{border:2px solid #df655c;background:#fff8f7;box-shadow:0 10px 28px rgba(185,53,44,.11)}
.ev-country-japan .ev-flag{border-color:#efb2ad;box-shadow:0 4px 12px rgba(185,53,44,.12)}
.ev-country-japan strong{color:#c63e35}
.ev-country-japan p{color:#2a734f}
.ev-share-callout{margin:28px 0 0;text-align:center;color:var(--muted);font-size:clamp(17px,1.8vw,22px)}
.ev-share-callout strong{color:var(--green)}
.market-graphic{display:grid;grid-template-columns:1fr 1.05fr;gap:22px;align-items:stretch;margin:28px 0 34px}
.market-graphic article,.market-support{background:#fff;padding:28px;border-top:3px solid var(--blue)}
.market-graphic article p,.market-support p{margin:0;color:var(--muted);font-weight:600}
.market-graphic article strong{display:block;font:600 clamp(58px,6vw,88px)/1.2 Outfit,sans-serif;color:var(--navy);white-space:nowrap}
.market-graphic article strong span{font:600 18px "Noto Sans JP",sans-serif;margin-left:4px}
.market-graphic article small{font-size:14px;color:var(--muted)}
.market-graphic .market-japan{border-color:var(--green)}
.market-graphic .market-japan strong{color:var(--green)}
.infra-growth-numbers{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-top:16px}
.infra-growth-numbers>div{min-width:0}
.infra-growth-numbers b{font-size:34px;color:var(--green);font-weight:400}
.infra-growth-numbers strong{font-size:clamp(42px,5vw,72px)!important}
.infra-growth-numbers small{display:block;margin-top:5px}
.infra-growth-rate{margin-top:20px!important;padding-top:16px;border-top:1px solid var(--line);font-weight:500!important}
.infra-growth-rate strong{display:inline!important;font:700 26px Outfit,sans-serif!important;color:var(--green)!important}
.market-arrow{align-self:center;font-size:38px;color:var(--green)}
.market-support{border-color:#d8ae48;background:#fffdf5}
.market-support strong{display:block;font-size:clamp(28px,3vw,40px);color:#8b691b;margin:20px 0 10px}
.market-support span{color:var(--muted)}
.market-message{font-size:clamp(20px,2.2vw,30px);line-height:1.8;color:var(--navy);border-left:4px solid var(--green);padding-left:24px}
.market-message strong{color:var(--green)}
.market-detail{margin:-6px 0 36px;border-top:1px solid #bdd5ca;border-bottom:1px solid #bdd5ca}
.market-detail summary{padding:18px 4px;color:var(--green);font-weight:700;cursor:pointer;list-style-position:inside}
.market-detail>div{padding:0 4px 20px;max-width:900px;color:var(--muted)}
.market-detail p{margin:0 0 10px}
.subsidy-detail{margin-top:-37px}
.market-source{font-size:13px;color:var(--muted);margin:24px 0 0}
.market-source a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  .hero-slider{min-height:680px}
  .hero-slide{align-items:flex-end;background-image:linear-gradient(0deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 42%,rgba(255,255,255,.08) 72%),var(--hero-image);background-position:65% center}
  .hero-slide .hero-content{padding-bottom:92px}
  .facility-value{grid-template-columns:1fr}
  .parking-value-points{grid-template-columns:1fr}
  .ev-share-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .market-graphic{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .hero-slider{min-height:650px}
  .hero-slide{background-position:70% center}
  .hero-slide h1,.hero-slide h2{font-size:clamp(29px,8vw,38px)}
  .hero-slide .lead{line-height:1.8}
  .market-graphic{grid-template-columns:1fr}
  .ev-share-title{display:block}
  .ev-share-title span{display:block;margin-top:6px}
  .ev-share-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ev-country strong{font-size:40px}
  .value-journey li{grid-template-columns:52px 1fr;gap:12px}
  .facility-value,.market-section{padding:70px 24px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
.facility-value .value-intro{grid-column:1 / -1;max-width:900px}
