:root{
  --navy:#0a2540;--navy2:#103c6b;--blue:#1565d8;--blue-l:#2f8fff;--cyan:#2fd0e0;
  --sky:#eaf3ff;--sky2:#f5f9ff;--ink:#13233a;--gray:#5f7088;
  --line:#dce6f3;--white:#fff;--gold:#c9a24b;
  --shadow:0 24px 60px rgba(16,60,107,.14);--shadow-s:0 10px 30px rgba(16,60,107,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);background:#fff;line-height:1.85;overflow-x:clip;-webkit-font-smoothing:antialiased}
.wrap{max-width:1250px;margin:0 auto;padding:0 28px}
img{max-width:100%;display:block}

/* reveal */
.reveal{opacity:0;transform:translateY(46px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
.reveal.d4{transition-delay:.48s}.reveal.zoom{transform:translateY(46px) scale(.94)}.reveal.zoom.in{transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* nav */
header.nav{position:fixed;top:0;left:0;right:0;z-index:160;transition:background .35s,box-shadow .35s}
header.nav.solid{background:rgba(255,255,255,.97);box-shadow:0 6px 26px rgba(16,60,107,.09)}
.nav-in{max-width:1180px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.04em;color:#fff;transition:.35s;font-size:15px}
header.nav.solid .brand{color:var(--navy)}
.brand .mk{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;color:#fff;font-size:15px;font-weight:900;box-shadow:0 4px 14px rgba(21,101,216,.45)}
.nav-links{display:flex;gap:28px;font-size:14px;font-weight:600;align-items:center}
.nav-links a{color:rgba(255,255,255,.86);text-decoration:none;transition:.25s}
header.nav.solid .nav-links a{color:var(--gray)}
.nav-links a:hover{color:var(--cyan)}header.nav.solid .nav-links a:hover{color:var(--blue)}
.nav-links a.nav-pdf{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff!important;padding:9px 18px;border-radius:999px;box-shadow:0 6px 18px rgba(21,101,216,.4)}
.nav-links a.nav-pdf:hover{transform:translateY(-2px)}
@media(max-width:920px){.nav-links{display:none}}

/* hamburger */
.nav-burger{display:none;flex:0 0 auto;width:42px;height:42px;border:none;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:0;z-index:160}
.nav-burger span{display:block;width:26px;height:2px;margin:0 auto;border-radius:2px;background:#fff;transition:.3s}
header.nav.solid .nav-burger span{background:var(--navy)}
.nav-burger.open span{background:var(--navy)}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:920px){.nav-burger{display:flex}}
.menu-overlay{position:fixed;inset:0;background:rgba(6,24,44,.5);opacity:0;visibility:hidden;transition:.3s;z-index:154}
.menu-overlay.open{opacity:1;visibility:visible}
.mobile-menu{position:fixed;inset:0;width:100%;max-width:100%;background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s;z-index:155;padding:92px 28px 40px;display:flex;flex-direction:column;gap:2px}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu a{color:var(--navy);text-decoration:none;font-size:16px;font-weight:700;padding:16px 6px;border-bottom:1px solid var(--line)}
.mobile-menu a:active{color:var(--blue)}
.mobile-menu .mm-pdf{margin-top:18px;border-bottom:none;text-align:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;border-radius:999px;padding:14px}
@media(min-width:921px){.mobile-menu,.menu-overlay{display:none}}

/* hero */
.hero{min-height:85vh;min-height:85svh;display:flex;align-items:center;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(8,28,50,.30),rgba(8,28,50,.45)),radial-gradient(130% 130% at 78% 0%,rgba(22,70,127,.22),rgba(10,37,64,.34) 60%,rgba(6,24,44,.42)),url('../photo/image1.png') center/cover no-repeat}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(80% 80% at 72% 25%,#000,transparent)}
.hero-in{position:relative;z-index:3;color:#fff;padding:130px 0 90px;text-shadow:0 2px 24px rgba(4,16,30,.55);text-align:center}
/* hero text sizes matched to PPT slide 1: Growth label 15pt / 中期経営計画 60pt / 2026–2030 30pt / 選ばれ続ける企業へ 31pt */
.hero .hlabel{font-size:clamp(15px,1.7vw,20px);font-weight:700;letter-spacing:.06em;color:#dfeeff}
.hero .hlabel .grad{background:linear-gradient(100deg,#7fe7f0,#2fd0e0 35%,#2f8fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1{font-size:clamp(40px,6.25vw,80px);font-weight:800;line-height:1.12;letter-spacing:.02em;margin:14px 0 0}
.hero .hyear{display:block;font-size:clamp(22px,3.1vw,40px);font-weight:800;letter-spacing:.04em;margin-top:9px;color:#9bb0c7}
.hero .htag{font-size:clamp(22px,3.2vw,41px);font-weight:700;color:#fff;letter-spacing:.04em;margin-top:67px}
.scrolldown{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:4;color:#bcd6f3;font-size:11px;letter-spacing:.2em;text-align:center}
.scrolldown .mouse{width:26px;height:42px;border:2px solid rgba(188,214,243,.6);border-radius:14px;margin:0 auto 8px;position:relative}
.scrolldown .mouse::after{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:4px;height:8px;border-radius:2px;background:var(--cyan);animation:wheel 1.6s infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%,60%{opacity:1}100%{opacity:0;transform:translate(-50%,13px)}}

/* bands */
.band{padding:74px 0;overflow:hidden}
.band.alt{background:linear-gradient(180deg,var(--sky2),#fff)}
.band.navy{background:radial-gradient(130% 130% at 0% 0%,#13447b,#0a2540);color:#fff}
.band.navy .lead{color:#a9c6e8}.band.navy .eyebrow{color:var(--cyan)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.2em;color:var(--blue);text-transform:uppercase}
.eyebrow::before{content:"";width:30px;height:2px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.band.navy .eyebrow::before{background:linear-gradient(90deg,var(--cyan),transparent)}
.sec-title{font-size:clamp(25px,4.4vw,40px);font-weight:900;letter-spacing:.01em;line-height:1.4;margin-top:16px}
.lead{color:var(--gray);font-size:clamp(16px,1.7vw,19px);margin-top:18px}
.sec-head{margin-bottom:22px}.sec-head.center{text-align:center}.sec-head.center .lead{margin-left:auto;margin-right:auto}

/* vision big points */
.vpoints{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:880px){.vpoints{grid-template-columns:1fr}}
.vp{text-align:center;padding:30px 22px;background-color:#c5d4ff33;border-radius:20px}
.vp .ic{width:80px;height:53px;margin:0 auto 26px;display:grid;place-items:center;transition:.5s;position:relative}
.vp .ic svg{width:60px;height:60px;stroke:var(--blue)}
.vp .num{position:absolute;top:-12px;right:-12px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:900;font-size:15px;display:grid;place-items:center;box-shadow:0 6px 16px rgba(21,101,216,.4)}
.vp h3{font-size:23px;font-weight:800;margin-bottom:10px}
.vp p{font-size:15px;color:var(--gray);max-width:300px;margin:0 auto;text-align:left}

/* big photo */
.photo-ph{position:relative;border:2px dashed var(--blue-l);border-radius:28px;background:repeating-linear-gradient(45deg,var(--sky2),var(--sky2) 16px,#eef5ff 16px,#eef5ff 32px);display:grid;place-items:center;text-align:center;color:var(--blue);overflow:hidden;transition:.4s}
.photo-ph .ph-in{padding:30px;position:relative;z-index:2}
.photo-ph .ph-ic{width:78px;height:78px;margin:0 auto 16px;border-radius:20px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow-s)}
.photo-ph .ph-ic svg{width:40px;height:40px;stroke:var(--blue)}
.photo-ph b{display:block;font-size:18px;font-weight:800}
.photo-ph span{font-size:13.5px;color:var(--gray)}
.photo-ph .badge{position:absolute;top:18px;left:18px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;padding:6px 15px;border-radius:999px;z-index:3}
.ph-hero{min-height:440px}.ph-band{min-height:380px}

/* actual photos */
.photo-img{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-s)}
.photo-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.photo-img.ph-hero{height:440px}
.photo-img.ph-hero img{height:440px}
.str-photo{border-radius:0;box-shadow:none;height:200px}
.str-photo img{height:200px}
.photo-fullwide{width:100%;margin:0;line-height:0}
.photo-fullwide img{width:100%;height:clamp(260px,40vw,560px);object-fit:cover;display:block;border-radius:0}

/* background / vision2033 split */
.bg-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
@media(max-width:900px){.bg-split{grid-template-columns:1fr;gap:36px}}
.bg-list{display:flex;flex-direction:column;gap:26px}
.bg-li{display:flex;gap:22px;align-items:center}
.bg-li .ti{flex:0 0 76px;width:76px;height:76px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;transition:.4s}
.bg-li .ti svg{width:38px;height:38px;stroke:var(--cyan)}
.bg-li h4{font-size:18px;font-weight:800;color:#fff}
.bg-li p{font-size:14px;color:#a9c6e8;margin-top:2px}
.reborn-wrap{text-align:center;position:relative}
.reborn .ring{width:240px;height:240px;margin:0 auto;border-radius:50%;border:2px dashed rgba(127,231,240,.45);display:grid;place-items:center;animation:spin 26s linear infinite;position:relative}
.reborn .ring::before{content:"";position:absolute;inset:21px;border-radius:50%;border:1px solid rgba(255,255,255,.18)}
.reborn .core{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;box-shadow:0 0 60px rgba(47,208,224,.45);animation:spin 26s linear infinite reverse;color:#fff}
.reborn .core b{font-size:27px;font-weight:900;display:block;line-height:1}
.reborn .core span{font-size:12px;letter-spacing:.2em;opacity:.85}
@keyframes spin{to{transform:rotate(360deg)}}
.v33-tag{font-size:13px;letter-spacing:.26em;color:var(--cyan);font-weight:800;margin-top:30px}
.v33-h{font-size:clamp(24px,3.6vw,28px);font-weight:900;line-height:1.34;margin-top:10px;color:#fff}

/* mission (経営理念) — ビジョンの一部・ライト背景 */
.mission-block{margin-top:96px}
.mission-quote{position:relative;margin:0 auto;text-align:center}
.mission-quote .qm{display:block;font-size:64px;line-height:.9;color:var(--blue);font-weight:900;opacity:.28;margin-bottom:2px}
.mission-quote p{font-size:clamp(16px,2.8vw,17px);line-height:1.7;color:var(--gray)}
.mission-3{display:flex;justify-content:center;flex-wrap:wrap;margin-top:50px}
@media(max-width:760px){.mission-3{flex-direction:column;align-items:center}}
.m3{flex:1;min-width:210px;max-width:300px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 30px;background:transparent;border:none;border-radius:0;box-shadow:none;border-left:1px solid var(--line)}
.m3:first-child{border-left:none}
@media(max-width:760px){.m3{border-left:none;border-top:1px solid var(--line);max-width:none;width:100%;padding:26px}.m3:first-child{border-top:none}}
.m3 .mic{width:74px;height:41px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center}
.m3 .mic svg{width:40px;height:40px;stroke:var(--blue)}
.m3 b{display:block;font-size:17px;font-weight:800;color:var(--ink)}
.m3 span{display:block;font-size:12px;letter-spacing:.16em;color:var(--blue);text-transform:uppercase;margin-top:6px}

/* background two-category cards */
.bg-two{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:900px){.bg-two{grid-template-columns:1fr}}
.bg-card{background:rgba(255,255,255,.06);border-radius:24px;padding:34px 30px;backdrop-filter:blur(6px)}
.bg-card h4{display:flex;align-items:center;gap:14px;font-size:18px;font-weight:800;color:#fff;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.16)}
.bg-card h4 .bi{flex:0 0 52px;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:rgba(47,143,255,.18)}
.bg-card.opp h4 .bi{background:#fff}
.bg-card h4 .bi svg{width:28px;height:28px;stroke:var(--cyan)}
.bg-card.opp h4 .bi svg{stroke:#e8c879}
.bg-card h4 small{display:block;font-size:11px;letter-spacing:.14em;font-weight:700;color:#a9c6e8;margin-top:3px}
.bg-items{list-style:none;display:flex;flex-direction:column}
.bg-items li{display:flex;gap:15px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.bg-items li:last-child{border-bottom:none}
.bg-items li .ic{flex:0 0 26px;width:26px;height:26px;margin-top:2px;border-radius:8px;display:grid;place-items:center;transition:.3s}
.bg-items li .ic svg{width:16px;height:16px;stroke:var(--cyan)}
.bg-card.opp .bg-items li .ic svg{stroke:#e8c879}
.bg-items li p{font-size:14px;color:#cfe2f7;line-height:1.7}
.vision-banner{margin-top:36px;background:radial-gradient(130% 150% at 100% 0%,#1a5da8,#0a2540);border-radius:26px;padding:48px;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
@media(max-width:820px){.vision-banner{grid-template-columns:1fr;padding:36px;text-align:center}}
.vision-banner .vb-txt .v33-tag{margin-top:0}
.vision-banner .vb-txt p{color:#bcd6f3;font-size:14.5px;margin-top:16px}
.vision-banner .reborn-wrap{margin:0}

/* strengths */
.str3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:880px){.str3{grid-template-columns:1fr}}
.str{background:#fff;overflow:hidden;box-shadow:var(--shadow-s);transition:.45s;border:1px solid var(--line)}
.str .photo-ph{border-radius:0;border:none;border-bottom:2px dashed var(--blue-l);min-height:200px}
.str .body{padding:30px 28px 34px}
.str .sic{width:84px;height:84px;border-radius:80px;margin:-72px 0 16px;position:relative;z-index:3;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;box-shadow:0 0px 9px rgba(21,101,216,.4)}
.str:nth-child(2) .sic{background:linear-gradient(135deg,#0a8a6e,#3fd0a8)}
.str:nth-child(3) .sic{background:linear-gradient(135deg,#7a52c8,#a98bf0)}
.str .sic svg{width:42px;height:42px;stroke:#fff}
.str .en{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--blue);text-transform:uppercase}
.str:nth-child(2) .en{color:#0a8a6e}.str:nth-child(3) .en{color:#7a52c8}
.str h3{font-size:22px;font-weight:800;margin:6px 0 12px;line-height:1.4}
.str p{font-size:14px;color:var(--gray)}
.str .slist{list-style:none;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px}
.str .slist li{display:flex;gap:11px;font-size:13.5px;color:var(--ink);align-items:flex-start;line-height:1.6}
.str .slist li svg{flex:0 0 19px;width:19px;height:19px;stroke:var(--blue);margin-top:3px}
.str:nth-child(2) .slist li svg{stroke:#0a8a6e}.str:nth-child(3) .slist li svg{stroke:#7a52c8}

/* themes */
.themes{display:flex;flex-direction:column;gap:0}
.theme{display:grid;grid-template-columns:200px 1fr;gap:44px;align-items:center;text-align:left;padding:44px 24px;border-top:1px solid var(--line);position:relative}
.theme:first-child{border-top:none}
.theme:nth-child(even){grid-template-columns:1fr 200px}
.theme:nth-child(even) .tic{order:2}
@media(max-width:760px){.theme,.theme:nth-child(even){grid-template-columns:1fr;gap:18px;text-align:center;padding:36px 0}.theme:nth-child(even) .tic{order:0}}
.theme .t-no{position:absolute;right:30px;top:18px;font-size:64px;font-weight:900;line-height:1;color:var(--sky);z-index:0}
.theme:nth-child(even) .t-no{right:auto;left:30px}
.theme .tic{width:160px;height:160px;border-radius:32px;margin:0 auto;display:grid;place-items:center;background:linear-gradient(135deg,var(--sky),#dcefff);box-shadow:var(--shadow-s);position:relative;z-index:1}
.theme .tic svg{width:64px;height:64px;stroke:var(--blue)}
.theme .t-body{position:relative;z-index:1}
.theme .en{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--blue);text-transform:uppercase}
.theme.t2 .en{color:#0a8a6e}.theme.t3 .en{color:#7a52c8}
.theme h3{font-size:26px;font-weight:800;margin:8px 0 12px}
.theme p{font-size:15px;color:var(--gray);max-width:640px}
.theme .tlist{list-style:none;text-align:left;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:18px;border-top:1px solid var(--line)}
.theme .tlist li{display:flex;gap:10px;font-size:13.5px;color:var(--ink);align-items:flex-start;line-height:1.6}
.theme .tlist li::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;margin-top:7px;background:var(--blue)}
.theme.t2 .tlist li::before{background:#0a8a6e}.theme.t3 .tlist li::before{background:#7a52c8}

/* ===== CHARTS (financial) ===== */
.chart-wrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:30px 30px 18px;backdrop-filter:blur(6px)}
.chart-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.chart-head h3{font-size:18px;font-weight:800;color:#fff}
.chart-head h3 small{font-weight:700;font-size:14px;color:#a9c6e8}
.chart-legend{display:flex;gap:20px;font-size:13px;color:#cfe2f7}
.chart-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px}
.lg-sales{background:#2fd0e0}.lg-ebitda{background:#f6a01e}
.combo-chart{width:100%;height:auto;display:block}
.cc-grid{stroke:rgba(255,255,255,.12);stroke-width:1}
.cc-axis{font-size:11px;fill:#9fc0e6}
.cc-xlabel{font-size:12px;fill:#cfe2f7}
.cc-atitle{font-size:11px;fill:#9fc0e6}

.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
@media(max-width:760px){.kpi-row{grid-template-columns:1fr}}
.gauge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:30px;text-align:center}
.gauge svg{width:170px;height:170px;margin:0 auto;display:block}
.gauge .track{fill:none;stroke:rgba(255,255,255,.12);stroke-width:14}
.gauge .arc{fill:none;stroke-width:14;stroke-linecap:round;stroke:url(#gg);transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1)}
.gauge .gv{font-size:22px;font-weight:900;fill:#fff}
.gauge .glabel{font-size:15px;font-weight:700;color:#fff;margin-top:14px}
.gauge .gsub{font-size:12.5px;color:#a9c6e8;margin-top:4px}

.fin-policy{margin-top:42px;display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
@media(max-width:680px){.fin-policy{grid-template-columns:1fr;text-align:center}}
.fin-policy .fpic{width:74px;height:74px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;margin:0 auto}
.fin-policy .fpic svg{width:38px;height:38px;stroke:#fff}
.fin-policy h4{font-size:18px;margin-bottom:10px;text-align:center}
.fin-policy ul{display:flex;gap:10px 30px;flex-wrap:wrap;list-style:none;justify-content:center}
.fin-policy ul li{font-size:14px;color:#cfe2f7;display:flex;gap:9px;align-items:center}
.fin-policy ul li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan)}

/* ===== shareholder return ===== */
.grp-block{margin-top:46px}
.grp-block:first-of-type{margin-top:0}
.grp-title{display:flex;align-items:center;gap:14px;font-size:21px;font-weight:800;color:var(--navy);margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--line)}
.grp-title .gn{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900}
.donut-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:620px){.donut-row{grid-template-columns:1fr}}
.donut.policy{display:flex;flex-direction:column;justify-content:center;text-align:left;align-items:flex-start}
.donut.policy .dtitle{justify-content:flex-start;font-size:18px;margin-bottom:14px;color:var(--navy)}
.donut.policy p{font-size:15px;color:var(--ink);line-height:1.9;min-height:0}
.cap-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-s);padding:30px 34px;margin-top:26px}
.cap-card:first-of-type{margin-top:0}
.cap-head{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:800;color:var(--navy);padding-bottom:18px;border-bottom:2px solid var(--line);margin-bottom:24px}
.cap-head .gn{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900}
.cap-body{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:700px){.cap-body{grid-template-columns:1fr}}
.cap-item{display:flex;gap:22px;align-items:center;background:var(--sky2);border-radius:18px;padding:22px 24px}
.cap-item.note{flex-direction:column;align-items:flex-start;justify-content:center}
.cap-item .cring{flex:0 0 116px;width:116px;height:116px}
.cap-item h4{font-size:16px;font-weight:800;margin-bottom:6px;color:var(--navy)}
.cap-item p{font-size:13px;color:var(--gray);line-height:1.75}
.cap-item .fromto{font-size:13px;color:var(--gray);margin-top:8px}
.cap-item .fromto b{color:var(--blue);font-size:16px}
.cap-badge{display:inline-block;margin-top:12px;font-size:13px;font-weight:800;color:#a8842f;background:#faf3e0;border-radius:999px;padding:6px 15px}
.cring .rtrack{fill:none;stroke:var(--sky);stroke-width:14}
.cring .rarc{fill:none;stroke-width:14;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center}
.cring .cv{font-size:22px;font-weight:900;fill:var(--navy)}
.cring .cs{font-size:9px;fill:var(--gray)}
.donut .grp{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--blue);background:var(--sky);padding:4px 12px;border-radius:999px;margin-bottom:14px}
.reduce-vis{width:200px;height:200px;margin:6px auto;display:grid;place-items:center}
.reduce-vis .rc{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fbf3df,#f3e6c4);display:grid;place-items:center;border:6px solid #eed8a8}
.reduce-vis .rc svg{width:64px;height:64px;stroke:#c9a24b;animation:reduceDown 1.8s ease-in-out infinite}
@keyframes reduceDown{0%,100%{transform:translateY(-4px);opacity:.7}50%{transform:translateY(6px);opacity:1}}
.donut{background:#fff;border:1px solid var(--line);border-radius:26px;padding:36px 30px;text-align:center;box-shadow:var(--shadow-s);transition:.4s}
.donut .dtitle{display:flex;align-items:center;justify-content:center;gap:10px;font-size:17px;font-weight:800;margin-bottom:6px}
.donut .dtitle .di{width:42px;height:42px;border-radius:12px;background:var(--sky);display:grid;place-items:center}
.donut .dtitle .di svg{width:22px;height:22px;stroke:var(--blue)}
.donut p{font-size:13px;color:var(--gray);min-height:42px}
.donut svg.ring{width:200px;height:200px;margin:6px auto}
.donut .rtrack{fill:none;stroke:var(--sky);stroke-width:18}
.donut .rarc{fill:none;stroke-width:18;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1)}
.donut .center-v{font-size:20px;font-weight:900;fill:var(--navy)}
.donut .center-s{font-size:10px;fill:var(--gray)}
.donut .fromto{font-size:13px;color:var(--gray);margin-top:6px}
.donut .fromto b{color:var(--blue);font-size:15px}

.return-banner{margin-top:38px;background:linear-gradient(135deg,var(--navy2),var(--navy));border-radius:26px;padding:44px;color:#fff;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;position:relative;overflow:hidden}
@media(max-width:760px){.return-banner{grid-template-columns:1fr;text-align:center}}
.return-banner .rb-ic{display:flex;align-items:center;gap:16px;margin-bottom:10px;justify-content:flex-start}
@media(max-width:760px){.return-banner .rb-ic{justify-content:center}}
.return-banner .rb-ic .ic{width:62px;height:62px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.return-banner .rb-ic .ic svg{width:32px;height:32px;stroke:var(--cyan)}
.return-banner h4{font-size:22px;font-weight:800}
.return-banner p{font-size:14px;color:#bcd6f3;max-width:560px}
.payout{text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:26px 36px}
.payout .big{font-size:58px;font-weight:900;line-height:1;color:var(--cyan)}
.payout .lb{font-size:13px;color:#bcd6f3;letter-spacing:.08em}
.payout .fut{margin-top:10px;font-size:12.5px;color:#fff;background:rgba(47,208,224,.18);border-radius:999px;padding:5px 14px;display:inline-block}

/* pdf cta */
.pdf-card{background:radial-gradient(130% 150% at 0% 0%,#1a5da8,#0a2540);border-radius:30px;padding:60px;color:#fff;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}
@media(max-width:780px){.pdf-card{grid-template-columns:1fr;padding:40px;text-align:center}}
.pdf-card .eyebrow{color:var(--cyan)}
.pdf-card h3{font-size:clamp(24px,3.4vw,38px);font-weight:900;margin:14px 0 10px;line-height:1.36}
.pdf-card p{color:#bcd6f3;font-size:15px;max-width:540px}
.pdf-btn{display:inline-flex;align-items:center;gap:14px;background:#fff;color:var(--navy);text-decoration:none;padding:22px 36px;border-radius:16px;font-size:17px;font-weight:800;white-space:nowrap;transition:.3s;box-shadow:0 12px 36px rgba(0,0,0,.28)}
.pdf-btn:hover{transform:translateY(-5px) scale(1.02)}
.pdf-btn svg{width:28px;height:28px;stroke:var(--blue)}
.pdf-btn .ar{transition:.3s}.pdf-btn:hover .ar{transform:translateX(5px)}

/* contact */
.contact{background:radial-gradient(130% 130% at 50% 0%,#13447b,#06182c);color:#fff;padding:110px 0 0}
.contact-card{text-align:center;max-width:780px;margin:0 auto}
.contact-card .cic{width:82px;height:82px;border-radius:22px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;margin:0 auto 22px;box-shadow:0 16px 40px rgba(21,101,216,.4)}
.contact-card .cic svg{width:42px;height:42px;stroke:#fff}
.contact-card h3{font-size:30px;font-weight:800;margin:10px 0}
.contact-card .dept{color:var(--cyan);font-weight:700;letter-spacing:.06em;margin-bottom:26px}
.contact-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.contact-links a{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;padding:15px 28px;border-radius:999px;font-size:15px;font-weight:600;transition:.3s}
.contact-links a:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-3px)}
.contact-links a svg{width:20px;height:20px;stroke:currentColor}
.disclaimer{max-width:780px;margin:34px auto 0;font-size:12px;color:#7e9cc2;text-align:center;line-height:1.8}
.foot{margin-top:70px;border-top:1px solid rgba(255,255,255,.12);padding:28px 0;text-align:center;font-size:12px;color:#9fc0e6}

.floaty{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(47,208,224,.35),rgba(21,101,216,.05));filter:blur(6px);pointer-events:none;animation:floaty 9s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-30px)}}
@media(max-width:768px){.floaty{display:none}}

/* PowerPoint icon images (from photo/) */
.pp-ico{display:block;object-fit:contain;pointer-events:none}
.vp .ic .pp-ico{width:45px;height:45px}
.m3 .mic .pp-ico{width:46px;height:46px}
.str .sic{background:#fff;border:1px solid var(--line)}
.str:nth-child(2) .sic,.str:nth-child(3) .sic{background:#fff}
.str .sic .pp-ico{width:46px;height:46px}
.theme .tic .pp-ico{width:49px;height:74px}
.bg-card h4 .bi{background:#fff}
.bg-card h4 .bi .pp-ico{width:30px;height:30px}
.bg-items li .ic .pp-ico{width:18px;height:18px}
.donut .di .pp-ico{width:24px;height:24px}
.gauge .gtitle{font-size:16px;font-weight:800;color:#fff;margin-bottom:12px}

/* ===== SP / compact ===== */
@media(max-width:768px){
  .band{padding:56px 0}
  .wrap{padding:0 18px}
  .sec-head{margin-bottom:18px}
  .lead{font-size:15px;margin-top:12px;line-height:1.7}
  .eyebrow{font-size:12px;letter-spacing:.14em}
  .hero-in{padding:108px 0 76px}
  .hero .htag{margin-top:30px}
  .vpoints{gap:14px}
  .vp{padding:22px 18px}
  .vp .ic{margin:0 auto 12px}
  .vp h3{font-size:19px;margin-bottom:8px}
  .vp p{font-size:14px}
  .mission-block{margin-top:54px}
  .mission-3{margin-top:28px}
  .m3{padding:20px}
  .str3{gap:16px}
  .str .body{padding:22px 20px 26px}
  .str h3{font-size:20px;margin:6px 0 10px}
  .theme{padding:30px 4px;gap:16px}
  .theme .tic{width:110px;height:110px}
  .theme h3{font-size:21px}
  .theme .tlist{gap:8px 20px;margin-top:14px;padding-top:14px}
  .chart-wrap{padding:20px 14px 12px}
  .chart-head h3{font-size:16px}
  .kpi-row{gap:14px;margin-top:28px}
  .gauge{padding:22px 14px}
  .fin-policy{margin-top:30px}
  .cap-card{padding:22px 18px;margin-top:18px}
  .cap-head{font-size:18px;margin-bottom:18px;padding-bottom:14px}
  .cap-body{gap:14px}
  .cap-item{padding:18px;gap:16px}
  .cap-item .cring{flex-basis:96px;width:96px;height:96px}
  .return-banner{padding:28px 22px}
  .payout{padding:20px 24px}
  .pdf-card{padding:30px 22px}
  .pdf-btn{padding:16px 22px;font-size:15px}
  .contact{padding:64px 0 0}
  .contact-card .cic{width:64px;height:64px;margin-bottom:14px}
  .contact-card h3{font-size:24px}
}
@media(max-width:430px){
  .band{padding:46px 0}
  .wrap{padding:0 15px}
  .cap-item{flex-direction:column;text-align:center;align-items:center}
  .cap-item.note{align-items:center;text-align:center}
  .theme{padding:26px 0}
}
.reduce-vis .rc{background:#fff;border-color:#f0e3c0}
.reduce-vis .rc .pp-ico{width:66px;height:66px}

/* ===== PC only ===== */
@media(min-width:769px){
  .band{padding:111px 0}
  .lead{margin-bottom:44px}
}
