:root { --navy:#061c32; --navy-2:#0b2e50; --cyan:#28d5e7; --cyan-soft:#e9fbfd; --ink:#102235; --muted:#617080; --line:#dfe7ec; --orange:#ed5a24; --white:#fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#f7fafb; color:var(--ink); font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif; }
body.nav-open { overflow:hidden; }
a { color:inherit; }
.hd_bg { z-index:100; color:#000; background:#fff; width:calc(100% - 16px); margin:8px; font-size:16px; position:sticky; top:0; }
.w_base { max-width:1400px; margin:0 auto; }
#header-index { height:60px; }
.hd_bg .hd { justify-content:space-between; align-items:center; gap:30px; height:60px; display:flex; position:relative; }
.hd_logo { align-items:center; height:100%; display:flex; }
.ap_logo { width:100%; max-width:420px; display:block; }
.ap_logo img { width:100%; height:auto; display:block; }
.jpx_logo { width:40px; height:auto; }
.ml_15 { margin-left:15px!important; }
.icon_x { flex-shrink:0; width:50px; height:auto; }
.icon_x img { width:100%; height:auto; display:block; }
.header-contactbox { flex-wrap:wrap; flex-shrink:0; justify-content:flex-start; align-items:center; display:flex; }
.header-tel_list { grid-template-rows:repeat(2,1fr); grid-template-columns:repeat(2,1fr); gap:5px 20px; display:grid; }
.header-tel_list dl { color:#0a0a0a; align-items:center; gap:10px; margin:0; display:flex; }
.header-tel_list dt { font-size:16px; font-weight:700; }
.header-tel_list dd { margin:0; font-size:16px; }
#header-mail_lg { width:40px; margin:0 0 0 20px; padding:5px 0; }
#header-mail_lg img,#icon-mail_sp { vertical-align:bottom; width:100%; height:auto; }
.gaiyou { margin-left:20px; }
.gaiyou a { color:#000; font-size:16px; text-decoration:none; }
.gaiyou a:hover { text-decoration:underline; }
.navigation { background:#1b4f98; width:100%; height:70px; font-size:16px; position:relative; overflow:hidden; }
.navigation .hamburger { display:none; }
.navigation nav { height:100%; display:block; }
.navigation nav ul.navi_list { justify-content:center; width:100%; height:100%; margin-top:1px; margin-bottom:1px; padding:0; list-style:none; display:flex; }
.mrl_auto { margin-left:auto!important; margin-right:auto!important; }
.navigation nav ul.navi_list>li { text-align:center; border-right:1px solid #8f8f8f; width:10%; }
.navigation nav ul.navi_list>li:first-child { border-left:1px solid #8f8f8f; }
.navigation nav ul.navi_list>li>a { color:#fff; background:linear-gradient(currentColor 0 0) bottom / var(--underline-w,20%) 3px no-repeat; width:100%; height:100%; text-decoration:none; transition:background-size .3s; display:block; }
.navigation nav ul.navi_list>li>a span { justify-content:center; align-items:center; height:100%; padding:4px; font-size:16px; line-height:1.4; display:flex; }
.navigation nav ul.navi_list>li:hover>a { --underline-w:80%; }
.nav-break-narrow { display:none; }
.sp_only { display:none!important; }
@media(min-width:1151px) and (max-width:1320px){.nav-break-narrow{display:block}}
@media(max-width:1150px){
  .hd_bg{z-index:1000;padding:10px}#header-index{height:auto}.hd_bg .hd{gap:0;padding-right:56px}.jpx_logo,.icon_x{flex-shrink:0;width:30px;height:auto}.header-tel_list,.gaiyou{display:none}#header-mail_lg{margin-left:10px}
  .navigation{pointer-events:none;background:transparent;width:100%;height:auto;position:fixed;top:0;left:0;overflow:visible}.navigation .hamburger{z-index:200;cursor:pointer;pointer-events:auto;background:transparent;border:0;width:40px;height:32px;padding:0;display:block;position:absolute;top:18px;right:16px}.navigation .hamburger_bar{background:#333;width:100%;height:4px;transition:top .24s,transform .24s,opacity .24s;display:block;position:absolute;left:0}.navigation .hamburger_bar:first-child{top:0}.navigation .hamburger_bar:nth-child(2){top:50%;transform:translateY(-50%)}.navigation .hamburger_bar:nth-child(3){top:100%;transform:translateY(-100%)}.navigation .hamburger[aria-expanded=true] .hamburger_bar:first-child{top:50%;transform:translateY(-50%) rotate(135deg)}.navigation .hamburger[aria-expanded=true] .hamburger_bar:nth-child(2){opacity:0;transform:translate(50%,-50%)}.navigation .hamburger[aria-expanded=true] .hamburger_bar:nth-child(3){top:50%;transform:translateY(-50%) rotate(-135deg)}
  .navigation .nav{z-index:100;opacity:0;pointer-events:none;background:rgba(255,255,255,.97);width:100%;height:100vh;transition:opacity .24s;display:block;position:fixed;top:0;left:0;overflow-y:auto}.navigation .nav.is_active{opacity:1;pointer-events:auto;animation:.24s both slideDownNav}.navigation .nav .navi_list{text-align:center;border:0;width:100%;height:auto;margin:0;display:block}.navigation .nav .navi_list>li{border:0;width:100%;margin:40px 0;padding:0}.navigation .nav .navi_list>li:first-child{border-left:0}.navigation .nav .navi_list>li>a{color:#333;background:transparent;border-bottom:1px solid #eee;justify-content:center;align-items:center;height:50px;font-size:16px;font-weight:500;display:flex}.navigation .nav .navi_list>li>a span{height:auto;font-size:16px}.sp_only{display:list-item!important}.navigation .nav .navi_list>.sp_contact_item{color:#333;margin-bottom:180px;font-size:16px;line-height:1.8}
}
@keyframes slideDownNav{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.hero { min-height:680px; overflow:hidden; background:linear-gradient(120deg,var(--navy) 0%,#0a355a 62%,#0c4668 100%); color:white; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr); position:relative; }
.hero:before { content:''; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,black,transparent 75%); }
.hero-copy { padding:78px 30px 72px max(28px,calc((100vw - 1180px)/2)); position:relative; z-index:2; }
.kicker { display:flex; align-items:center; gap:12px; margin:0 0 18px; text-transform:uppercase; letter-spacing:.18em; font-size:16px; color:#a8eef5; font-weight:700; }
.kicker span { width:38px; height:2px; background:var(--cyan); }
.hero-verification { width:fit-content; max-width:100%; margin:0 0 24px; padding:12px 18px 12px 14px; display:inline-flex; align-items:center; gap:13px; color:var(--navy); background:#fff; border:1px solid rgba(255,255,255,.7); border-left:6px solid var(--orange); border-radius:8px; box-shadow:0 16px 38px rgba(0,0,0,.28); }
.hero-verification-mark { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; color:#fff; background:var(--orange); border-radius:50%; font-size:25px; font-weight:900; line-height:1; }
.hero-verification-copy { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:15px; row-gap:2px; line-height:1.25; }
.hero-verification-copy strong { color:var(--navy); font-size:clamp(22px,2vw,28px); font-weight:900; letter-spacing:-.02em; white-space:nowrap; }
.hero-verification-copy>span { color:#b63d13; font-size:clamp(17px,1.35vw,20px); font-weight:900; white-space:nowrap; }
.hero h1 { margin:0; font-size:clamp(38px,4.35vw,62px); line-height:1.12; letter-spacing:-.04em; font-weight:500; }
.hero h1 .hero-line,.hero h1 strong { display:block; white-space:nowrap; }
.hero h1 strong { color:var(--cyan); font-weight:800; }
.hero-lead { margin:26px 0 0; color:#d5e2eb; font-size:18px; line-height:1.9; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:36px 0 44px; }
.button { min-width:232px; display:inline-flex; justify-content:space-between; align-items:center; padding:17px 20px; border-radius:4px; text-decoration:none; font-size:16px; font-weight:800; }
.button-primary { background:var(--cyan); color:var(--navy); box-shadow:0 10px 36px rgba(40,213,231,.2); }
.button-ghost { border:1px solid rgba(255,255,255,.34); color:white; }
.proof-row { display:flex; gap:0; }
.proof-row span { min-width:145px; padding:0 22px; border-left:1px solid rgba(255,255,255,.22); color:#aebfcd; font-size:16px; }
.proof-row span:first-child { padding-left:0; border-left:0; }
.proof-row b { display:block; color:white; font-size:23px; margin-bottom:4px; }
.hero-product { position:relative; display:flex; align-items:flex-end; justify-content:center; min-height:680px; }
.hero-product:before { content:''; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle at 45% 40%,rgba(67,225,238,.32),rgba(12,70,104,.05) 65%); bottom:48px; }
.hero-product img { position:relative; z-index:3; width:min(630px,50vw); height:600px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 35px 32px rgba(0,0,0,.45)); }
.orbit { position:absolute; border:1px solid rgba(101,231,241,.27); border-radius:50%; }
.orbit-one { width:500px; height:500px; bottom:70px; }
.orbit-two { width:360px; height:360px; bottom:140px; }
.feature-section,.lineup-preview { padding:100px max(24px,calc((100vw - 1180px)/2)); }
.section-heading { text-align:center; max-width:750px; margin:0 auto 46px; }
.section-label { color:#0daebe!important; font-size:16px!important; font-weight:900; letter-spacing:.2em; margin:0 0 15px!important; }
.section-heading h2 { margin:0; font-size:clamp(32px,3.2vw,48px); letter-spacing:-.04em; color:var(--navy); }
.section-heading>p:last-child { color:var(--muted); line-height:1.9; margin:18px 0 0; font-size:16px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card { background:white; border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:0 14px 45px rgba(10,35,57,.06); }
.feature-image { height:186px; overflow:hidden; background:#dce9ef; }
.feature-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.feature-card:hover .feature-image img { transform:scale(1.035); }
.feature-body { padding:26px 28px 30px; position:relative; }
.feature-number { position:absolute; right:24px; top:24px; color:#d9e4e9; font-size:30px; font-weight:800; }
.feature-eyebrow { color:#0aa8b8!important; font-size:16px!important; font-weight:900; letter-spacing:.15em; margin:0 0 14px!important; }
.feature-body h3 { margin:0 0 15px; color:var(--navy); font-size:22px; line-height:1.45; }
.feature-body h3 span { display:block; }
.feature-body>p:last-child { margin:0; color:var(--muted); line-height:1.85; font-size:16px; }
.lineup-preview { background:white; }
.align-left { text-align:left; margin:0 0 36px; max-width:none; }
.product-preview-card { display:grid; grid-template-columns:220px minmax(0,1fr) 250px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:30px; box-shadow:0 14px 40px rgba(7,31,52,.05); }
.product-image { height:210px; display:flex; align-items:center; justify-content:center; background:#f1f7f9; border-radius:7px; }
.product-image img { width:190px; height:190px; object-fit:contain; }
.product-copy { padding:0 36px; }
.case-badge { color:#087f8b; background:var(--cyan-soft); padding:7px 10px; border-radius:3px; font-size:16px; font-weight:900; letter-spacing:.08em; }
.model-code { margin:18px 0 8px; color:var(--muted); font:16px monospace; }
.product-copy h3 { margin:0 0 22px; color:var(--navy); font-size:21px; line-height:1.6; }
.product-copy dl { display:flex; flex-wrap:wrap; gap:28px; margin:0; }
.product-copy dl div { display:flex; flex-direction:column; gap:5px; }
.product-copy dt { color:#8a98a5; font-size:16px; font-weight:800; }
.product-copy dd { margin:0; font-size:16px; font-weight:700; }
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-bottom:45px}.hero-product{min-height:460px}.hero-product img{height:450px;width:90vw}.feature-grid{grid-template-columns:1fr}.product-preview-card{grid-template-columns:170px 1fr}.feature-card{display:grid;grid-template-columns:42% 58%}.feature-image{height:100%}}
@media(min-width:901px){.guide-intro{white-space:nowrap}}
@media(max-width:600px){.hero-copy{padding-top:58px}.hero-verification{width:100%;padding:11px 13px 11px 11px;gap:11px}.hero-verification-mark{flex-basis:38px;width:38px;height:38px;font-size:22px}.hero-verification-copy{display:block}.hero-verification-copy strong,.hero-verification-copy>span{display:block}.hero-verification-copy>span{margin-top:2px;font-size:17px}.hero h1{font-size:clamp(28px,8.6vw,38px)}.hero-lead{font-size:16px}.proof-row{gap:12px}.proof-row span{min-width:0;padding:0 12px}.proof-row b{font-size:18px}.hero-product{min-height:360px}.hero-product img{height:360px}.feature-section,.lineup-preview{padding:74px 18px}.feature-card{display:block}.feature-image{height:180px}.product-preview-card{grid-template-columns:1fr;padding:20px}.product-image{height:220px}.product-copy{padding:25px 0}.button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature-image img{transition:none}}

/* Final page sections */
button { font:inherit; }
[hidden] { display:none!important; }
header a:focus-visible,footer a:focus-visible,.hamburger:focus-visible,.button:focus-visible,.case-guide-card:focus-visible,.product-tabs button:focus-visible,.product-button:focus-visible,.mobile-contact:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
.assurance-bar { min-height:72px; display:grid; grid-template-columns:repeat(4,1fr); padding:0 max(24px,calc((100vw - 1180px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.assurance-bar span { display:flex; align-items:center; justify-content:center; gap:10px; border-left:1px solid var(--line); color:#44596b; font-size:16px; font-weight:700; text-align:center; }
.assurance-bar span:last-child { border-right:1px solid var(--line); }
.assurance-bar i { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--cyan-soft); color:#078b98; font-size:16px; font-style:normal; }
.verification-note { margin-top:22px; display:grid; grid-template-columns:90px minmax(0,1fr) 300px; gap:28px; align-items:center; min-height:170px; padding:26px 28px; border:1px solid #c9e6e9; border-radius:10px; background:linear-gradient(100deg,#ebfbfd,#fff 60%); overflow:hidden; }
.verification-mark { width:66px; height:66px; display:grid; place-items:center; border-radius:8px; background:var(--navy); color:var(--cyan); font:bold 20px monospace; }
.verification-note h3 { margin:0 0 8px; color:var(--navy); font-size:20px; }
.verification-note div>p:last-child { margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.verification-note>img { width:300px; height:120px; object-fit:cover; border-radius:7px; }
.guide-section { padding:105px max(24px,calc((100vw - 1180px)/2)); background:var(--navy); color:white; }
.guide-section .section-heading h2 { color:white; }
.guide-section .section-heading>p:last-child { color:#b8c7d2; max-width:700px; }
.guide-section .section-heading>p.guide-intro { max-width:none; }
.case-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.case-guide-card { position:relative; overflow:hidden; min-height:276px; padding:30px; display:flex; flex-direction:column; align-items:flex-start; text-align:left; border:1px solid rgba(255,255,255,.15); border-radius:8px; background:#0a2945; color:white; cursor:pointer; transition:border-color .2s,transform .2s,background .2s; }
.case-guide-card:hover { transform:translateY(-3px); border-color:rgba(40,213,231,.75); }
.case-guide-card.is-active { border-color:var(--cyan); background:linear-gradient(145deg,#0d395b,#0b2a47); box-shadow:inset 0 0 0 1px var(--cyan); }
.case-guide-card:after { content:''; position:absolute; right:-35px; bottom:-60px; width:180px; height:180px; border:1px solid rgba(40,213,231,.17); border-radius:50%; }
.guide-index { color:#638098; font-size:16px; font-weight:800; margin-bottom:25px; }
.guide-short { color:var(--cyan); font-size:16px; letter-spacing:.12em; font-weight:900; margin-bottom:8px; }
.case-guide-card strong { font-size:25px; margin-bottom:7px; }
.guide-size { color:#b8c7d2; font:16px monospace; }
.guide-best { margin-top:32px; color:#dce7ee; font-size:16px; }
.guide-link { margin-top:auto; padding-top:22px; color:var(--cyan); font-size:16px; font-weight:800; }
.cpu-guide { margin-top:22px; padding:25px 28px; display:grid; grid-template-columns:300px 1fr; align-items:center; gap:30px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(255,255,255,.04); }
.cpu-guide>p { margin:0; color:#b8c7d2; font-size:16px; line-height:1.8; }
.cpu-guide>p b { display:block; color:white; font-size:16px; }
.cpu-guide>.cpu-tier-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cpu-tier { min-width:0; display:grid; grid-template-columns:68px minmax(0,1fr); align-items:center; gap:13px; border-left:1px solid rgba(255,255,255,.12); padding-left:20px; }
.cpu-tier img { width:68px; height:68px; display:block; object-fit:contain; border-radius:5px; box-shadow:0 7px 18px rgba(0,0,0,.25); }
.cpu-tier>span { min-width:0; display:block; }
.cpu-tier b { display:block; color:white; font-size:18px; line-height:1.35; white-space:nowrap; }
.cpu-tier small { display:block; margin-top:3px; color:#aebfcd; font-size:16px; line-height:1.45; }
.lineup-section { padding:105px max(24px,calc((100vw - 1180px)/2)); background:#f6f9fa; }
.product-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; max-width:820px; margin:0 auto; }
.product-tabs button { padding:17px 12px; border:1px solid var(--line); border-bottom:0; border-radius:7px 7px 0 0; background:#e9f0f3; color:#607384; cursor:pointer; }
.product-tabs button span,.product-tabs button small { display:block; }
.product-tabs button span { font-size:16px; font-weight:800; }
.product-tabs button small { margin-top:5px; font:16px monospace; }
.product-tabs button.is-active { background:var(--navy); color:white; border-color:var(--navy); }
.product-tabs button.is-active small { color:#8edee6; }
.active-category-summary { max-width:820px; min-height:96px; margin:0 auto 30px; padding:22px 26px; display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:25px; border-radius:0 0 7px 7px; background:var(--navy); color:white; }
.active-category-summary div span { display:block; color:#61dfe9; font-size:16px; letter-spacing:.13em; margin-bottom:5px; }
.active-category-summary div strong { font-size:19px; }
.active-category-summary p { margin:0; color:#b8c7d2; font-size:16px; }
.active-category-summary>b { color:var(--cyan); font:16px monospace; }
.product-panel { animation:panel-in .25s ease; }
.product-group:not([hidden]) { animation:panel-in .25s ease; }
@keyframes panel-in { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.product-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); border-radius:9px; background:#fff; overflow:hidden; box-shadow:0 14px 40px rgba(7,31,52,.045); transition:transform .2s,box-shadow .2s; }
.product-card:hover { transform:translateY(-3px); box-shadow:0 20px 46px rgba(7,31,52,.09); }
.product-card-top { position:relative; height:250px; display:grid; place-items:center; background:linear-gradient(145deg,#f8fbfc,#edf4f6); overflow:hidden; }
.product-card-top:after { content:''; position:absolute; width:190px; height:190px; border:1px solid #dbe8ec; border-radius:50%; }
.product-card-top img { position:relative; z-index:2; width:220px; height:220px; object-fit:contain; filter:drop-shadow(0 14px 11px rgba(10,33,50,.15)); }
.product-badges { position:absolute; z-index:3; left:16px; top:16px; display:flex; gap:6px; }
.product-badges span { padding:6px 8px; border-radius:3px; background:#fff; border:1px solid var(--line); color:#52687a; font-size:16px; font-weight:800; }
.product-badges .water-badge { background:#e8f2ff; border-color:#bcd7fb; color:#1761ae; }
.product-card-body { flex:1; display:flex; flex-direction:column; padding:23px 24px 24px; }
.product-code { margin:0 0 7px; color:#7b8995; font:16px monospace; }
.product-card-body h3 { min-height:54px; margin:0; color:var(--navy); font-size:18px; line-height:1.45; }
.product-purpose { min-height:48px; margin:11px 0 18px; color:#40717b; font-size:16px; font-weight:700; }
.spec-list { margin:0; border-top:1px solid var(--line); }
.spec-list div { display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid #edf1f3; }
.spec-list dt { color:#8a98a4; font-size:16px; font-weight:900; letter-spacing:.06em; white-space:nowrap; }
.spec-list dd { margin:0; color:#263d50; font-size:16px; font-weight:700; }
.extra-specs { margin:12px 0 15px; color:#607384; font-size:16px; }
.extra-specs summary { color:#27737c; cursor:pointer; font-weight:800; }
.extra-specs p { margin:6px 0 0; line-height:1.5; }
.product-button { margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding:14px 15px; border-radius:4px; background:var(--navy); color:white; text-decoration:none; font-size:16px; font-weight:800; transition:background .2s; }
.product-button:hover { background:#0f426b; }
.spec-note { margin:22px 0 0; text-align:center; color:#7e8d98; font-size:16px; }
.track-record { padding:90px max(24px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:370px 1fr; gap:75px; background:white; }
.track-copy h2 { margin:0; color:var(--navy); font-size:35px; line-height:1.45; letter-spacing:-.035em; }
.track-copy>p:last-child { color:var(--muted); font-size:16px; line-height:1.8; }
.institution-grid { display:grid; grid-template-columns:repeat(4,1fr); align-content:center; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.institution-grid span { min-height:70px; display:grid; place-items:center; padding:12px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:#536779; font-size:16px; font-weight:700; text-align:center; }
.institution-grid small { grid-column:1/-1; margin-top:12px; color:#84919c; font-size:16px; }
.track-record.full-record { display:block; padding-top:100px; padding-bottom:100px; }
.record-heading { display:grid; grid-template-columns:370px minmax(0,1fr); gap:75px; align-items:end; margin-bottom:44px; }
.record-heading>p { max-width:660px; margin:0 0 5px; color:var(--muted); font-size:16px; line-height:1.9; }
.institution-table { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); background:#fff; }
.institution-row { display:contents; }
.institution-row span { min-height:56px; display:flex; align-items:center; justify-content:center; padding:10px 9px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:#536779; font-size:16px; font-weight:700; line-height:1.5; text-align:center; white-space:nowrap; }
.institution-row:nth-child(odd) span { background:#f8fbfc; }
.record-note { margin:14px 0 0; color:#84919c; font-size:16px; line-height:1.7; }
.contact-section { min-height:590px; position:relative; overflow:hidden; display:grid; align-items:center; color:white; }
.contact-section>img,.contact-overlay { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.contact-overlay { background:linear-gradient(90deg,rgba(3,23,40,.97) 0%,rgba(5,35,59,.92) 50%,rgba(5,35,59,.35) 100%); }
.contact-content { position:relative; z-index:2; width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.contact-content h2 { margin:0; font-size:clamp(34px,4vw,54px); line-height:1.35; letter-spacing:-.04em; }
.contact-content>p:not(.section-label) { max-width:600px; color:#c3d2dc; font-size:16px; line-height:1.9; }
.contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0; }
.phone-row { display:flex; align-items:center; gap:18px; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); width:max-content; }
.phone-row span,.phone-row small { color:#aebfcb; font-size:16px; }
.phone-row a { color:white; font-size:26px; font-weight:900; text-decoration:none; letter-spacing:.04em; }
.corporate-footer { color:#fff; background:#142238; padding:56px 0 28px; }
.corporate-footer-inner { width:min(1350px,calc(100% - 40px)); margin-inline:auto; }
.footer-intro { text-align:center; border-bottom:1px solid #314057; padding-bottom:30px; }
.footer-intro strong { font-size:20px; }
.footer-intro p { color:#d8e6f2; margin:14px 0 0; font-size:16px; }
.footer-intro a { color:#ff7043; font-size:16px; font-weight:800; text-decoration:underline; }
.office-grid { border-bottom:1px solid #314057; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:48px 0; display:grid; }
.office-card { color:#eef6ff; background:#1c2b40; border:1px solid #3a4960; border-radius:13px; min-height:232px; padding:20px; }
.office-card.active { border-color:#76564e; }
.office-card h3 { align-items:center; gap:9px; margin:0 0 20px; font-size:17px; display:flex; }
.office-card h3 span { background:#ff7043; border-radius:50%; flex:none; width:8px; height:8px; }
.office-card p { margin:0 0 7px; font-size:16px; line-height:1.45; }
.office-card a { color:#fff; font-size:16px; }
.office-card .office-email { color:#35deeb; font-weight:700; }
.office-card address { color:#a8bfd3; margin-top:13px; font-size:16px; font-style:normal; line-height:1.65; }
.office-card address>span { font-size:16px; display:block; }
.footer-copyright { color:#9dbbd3; text-align:center; margin:32px 0 0; font-size:16px; }
.mobile-contact { display:none; }

@media(max-width:1100px){.cpu-guide{grid-template-columns:1fr}}
@media(max-width:980px){
  .assurance-bar{grid-template-columns:repeat(2,1fr)}.assurance-bar span{min-height:56px;border-bottom:1px solid var(--line)}
  .verification-note{grid-template-columns:70px 1fr}.verification-note>img{display:none}
  .case-guide-grid{grid-template-columns:1fr}.case-guide-card{min-height:220px}.cpu-guide{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .track-record{grid-template-columns:1fr;gap:35px}.institution-grid{grid-template-columns:repeat(4,1fr)}.record-heading{grid-template-columns:1fr;gap:18px}.institution-table{grid-template-columns:repeat(3,minmax(0,1fr))}
  .office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  body{padding-bottom:62px}
  .assurance-bar{grid-template-columns:1fr 1fr;padding:0}.assurance-bar span{padding:10px 7px;font-size:16px}
  .verification-note{grid-template-columns:1fr;padding:22px}.verification-mark{width:52px;height:52px}
  .guide-section,.lineup-section{padding:74px 18px}.case-guide-card{min-height:235px;padding:24px}
  .cpu-guide{padding:20px}.cpu-guide>.cpu-tier-list{grid-template-columns:1fr;gap:14px}.cpu-tier{border-left:0;padding-left:0}
  .product-tabs{gap:3px}.product-tabs button{padding:13px 5px}.product-tabs button span{font-size:16px}.product-tabs button small{font-size:16px}
  .active-category-summary{grid-template-columns:1fr auto;padding:18px}.active-category-summary p{display:none}
  .product-grid{grid-template-columns:1fr}.product-card-top{height:235px}.product-card-top img{width:205px;height:205px}
  .institution-grid{grid-template-columns:repeat(2,1fr)}.track-record{padding:74px 18px}.track-record.full-record{padding-top:74px;padding-bottom:74px}.institution-table{grid-template-columns:1fr}.institution-row span{min-height:46px;justify-content:flex-start;text-align:left;padding:9px 12px}
  .contact-section{min-height:660px}.contact-content{width:calc(100% - 36px)}.contact-actions .button{width:100%}.phone-row{width:100%;display:grid;grid-template-columns:1fr}.phone-row a{font-size:25px}
  .office-grid{grid-template-columns:1fr;padding:34px 0}.office-card{min-height:0}.footer-intro strong{line-height:1.7;display:block}
  .mobile-contact{position:fixed;z-index:60;left:0;right:0;bottom:0;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--cyan);color:var(--navy);text-decoration:none;font-size:16px;font-weight:900;box-shadow:0 -8px 25px rgba(0,0,0,.12)}
}

@media(max-width:760px) and (min-width:641px){.institution-table{grid-template-columns:repeat(2,minmax(0,1fr))}.cpu-guide>.cpu-tier-list{grid-template-columns:1fr;gap:14px}.cpu-tier{border-left:0;padding-left:0}}

h1,h2,h3,.case-guide-card strong,.product-purpose { text-wrap:balance; }
p,.guide-best,.record-heading>p { text-wrap:pretty; }
.button,.product-button,.product-tabs button span,.guide-link { white-space:nowrap; }
