/* SPM light identity, 2026-10-08. Official common.css: #8fc43d / #008cd6. */
:root{--lime:#8fc43d;--sky:#008cd6;--blue:#006eaa;--navy:#213c46;--ink:#213c46;--muted:#50636c;--line:#d6e5e7;--paper:#f4f9fa}
body{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;line-height:1.85;background:#fff}
header{background:rgba(255,255,255,.97);border-top:4px solid var(--lime);border-bottom:1px solid var(--line)}
.header-inner{min-height:88px}.brand span{letter-spacing:.02em}.brand b{color:var(--sky)}.brand small{font-size:13px}
#nav{gap:18px;font-size:14px}#nav a{padding-top:8px;padding-bottom:8px}#nav a[aria-current]{box-shadow:inset 0 -3px var(--lime)}
.nav-contact{background:var(--lime);color:#213400;border:1px solid #7aaf2d;border-radius:3px}
.hero{position:relative;background:#f4fbfd;color:var(--ink);padding:64px 0 62px;border-bottom:1px solid var(--line);overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#fff 15%,#f4fbfd 65%,#e9f6f8);pointer-events:none}
.hero-grid{position:relative;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(42px,4.8vw,68px);line-height:1.42;letter-spacing:.015em;margin:18px 0 22px;font-weight:700}
.hero h1 em{color:var(--blue);background:linear-gradient(transparent 76%,#d2eab3 76%)}
.hero .eyebrow{color:var(--muted);font-size:14px;letter-spacing:.02em;margin:0;line-height:1.7}
.hero .lead{color:var(--ink);font-size:18px;line-height:1.9;margin-bottom:26px}
.hero-caption{font-size:14px;color:var(--muted);margin:22px 0 0;max-width:440px}
.button{background:var(--lime);color:#213400;border:1px solid #7aaf2d;border-radius:3px;font-size:15px;min-height:52px;padding:12px 22px;transition:background .18s,box-shadow .18s}
.button:hover{background:#b2d779;color:#213400;box-shadow:0 3px 0 #dcebc8}
.button.secondary{background:white;color:var(--blue);border-color:#98c5d5}.button.secondary:hover{background:#edf8fd}
.data-map{padding:24px;background:white;border:1px solid #b9d9df;border-radius:4px;box-shadow:10px 10px 0 #e0f1f3;text-align:center}
.map-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;font-size:16px;font-weight:700;padding-bottom:16px;border-bottom:1px solid var(--line)}
.motion-toggle{font-size:14px;color:var(--muted);padding:5px 9px;background:white;border:1px solid var(--line);border-radius:3px;cursor:pointer;white-space:nowrap}
.map-stage{padding:20px 28px 0}.map-input{background:#f3fae9;border:1px solid #b6d78a;color:var(--ink);padding:12px}
.map-input span{font-size:14px;color:var(--muted)}.map-connector{position:relative;width:2px;height:26px;background:#bdd9df}
.map-connector:after{content:'';position:absolute;width:6px;height:8px;left:-2px;background:var(--sky);animation:flow-pulse 2.5s ease-in-out infinite}
.map-core{border:1px solid #9bd3ea;background:#eef9ff;padding:14px;color:var(--ink);font-size:24px}.map-core strong{color:var(--sky);font-size:40px}.map-core small{font-size:14px;font-family:'Yu Gothic','Meiryo',sans-serif;font-weight:500}
.map-outputs span{background:#f6fbef;border:1px solid #b6d78a;font-size:15px;color:var(--ink)}
.flow-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:24px}.flow-controls button{background:white;border:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:14px;padding:8px 2px;border-radius:3px;font-weight:700}
.flow-controls button[aria-pressed=true]{background:#e4f4fc;color:#005b8c;border-color:var(--sky);box-shadow:inset 0 -3px var(--sky)}
.data-map .flow-description{font-size:15px;color:var(--ink);text-align:left;line-height:1.8;margin:16px 0 0;min-height:54px}
.data-map .map-note{font-size:13px;color:var(--muted);text-align:left;margin:12px 0 0;border-top:1px solid var(--line);padding-top:12px}
.eyebrow{font-size:14px;letter-spacing:.04em;color:var(--blue);margin-bottom:14px}.section{padding-top:64px;padding-bottom:64px}h2{font-size:clamp(26px,2.4vw,34px);line-height:1.6;margin-bottom:28px;letter-spacing:.02em}h3{font-size:21px}
.cards{display:block;border-top:2px solid var(--sky)}.card{display:grid;grid-template-columns:240px minmax(0,1fr) 110px;gap:8px 36px;padding:26px 0;border:0;border-bottom:1px solid var(--line);position:relative}
.card .eyebrow{grid-column:1;grid-row:1;margin:0;letter-spacing:.02em;font-size:14px;line-height:1.7}
.card h3{grid-column:1;grid-row:2/4;font-size:27px;margin:0;line-height:1.6}.card .card-title{grid-column:2;grid-row:1;font-size:18px;margin:0;color:var(--ink)}
.card p:not(.card-title){grid-column:2;grid-row:2/4;margin:0;font-size:16px}.card .text-link{grid-column:3;grid-row:1/4;align-self:center;border:1px solid #acd3e2;padding:9px 12px;margin:0;text-align:center;display:block;font-size:14px;border-radius:3px}.text-link span{display:none}.card:has(a:hover){background:#f7fcfe}
.steps{gap:32px}.steps li{border-top:3px solid var(--lime);padding-top:18px}.steps b{font-size:22px;color:var(--blue)}.steps p{font-size:16px}
.knowledge-links{display:grid;grid-template-columns:1fr 1fr;gap:36px}.knowledge-links>a{display:block;text-decoration:none;padding:22px 0 4px;border-top:3px solid var(--sky)}.knowledge-links>a:nth-child(2){border-top-color:var(--lime)}
.knowledge-links span{font-size:14px;color:var(--muted)}.knowledge-links h3{font-size:24px;margin:12px 0}.knowledge-links p{font-size:16px;color:var(--muted)}.knowledge-links a:hover h3{text-decoration:underline;text-decoration-color:var(--sky)}
.contact{background:#eff8e6;color:var(--ink);border-top:1px solid #d4e6bd;padding:50px 0}.contact .eyebrow{color:var(--blue);font-size:14px;letter-spacing:.03em}.contact p,.contact small{color:var(--muted)}.contact h2{font-size:28px}.phone{font-size:29px;color:var(--ink)}
.product-hero{padding-top:44px;padding-bottom:44px;border-bottom:3px solid var(--lime)}.product-hero h1{font-size:44px}.product-hero .eyebrow{font-size:14px}.product-headline{font-size:25px}.product-hero+.section{background:#f5fafb}
.price-block{background:#f3f9ed;border-top:3px solid var(--lime)}.calculator{background:#eff9fc;border:1px solid #b5d8e6;color:var(--ink)}.calculator input{border:1px solid #9ebfc9;color:var(--ink);background:white}.calculator output{color:#005b8c}
.number{color:var(--blue)}.catalog-nav a{border-radius:3px;font-size:14px}.parts-list li{border-left-color:var(--lime);font-size:14px}.catalog-category h4,.supplier-links a{color:var(--blue)}.catalog-note{font-size:14px}.supplier-links small{font-size:13px}
.dictionary-controls{background:#eef8fc;border-top-color:var(--sky)}.dictionary-policy{background:#f1f8e9}.dictionary-entry:target{background:#eff8e6;box-shadow:0 0 0 12px #eff8e6}
.cert-note{background:#eef8fc}.cert-source,.cert-location,figcaption,.cert-back{font-size:14px}.cert-source a{color:var(--blue)}.cert-map .map-label rect{fill:#006eaa}.cert-map a>rect{stroke:#008cd6;fill:#008cd6}.cert-tip{background:#f3f9ed}
footer{background:white}.footer-top p,.footer-links{font-size:14px}.copyright{font-size:13px}
:focus-visible{outline:3px solid #006eaa;outline-offset:4px}.scroll-progress{position:fixed;top:0;left:0;height:4px;width:100%;background:var(--sky);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
@keyframes flow-pulse{0%{top:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:19px;opacity:0}}
.motion-paused *{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}
@media(max-width:1150px){.header-inner{flex-wrap:wrap;gap:8px;padding:12px 0}#nav{flex-wrap:wrap;gap:14px}.hero-grid{gap:32px}.card{grid-template-columns:210px minmax(0,1fr) 105px;gap:8px 24px}}
@media(max-width:760px){.header-inner{min-height:74px;padding:0;flex-wrap:nowrap}#nav{top:78px;gap:16px;font-size:14px}.hero{padding:36px 0 42px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:44px}.hero .lead{font-size:17px}.hero-caption{max-width:none}.data-map{padding:18px;box-shadow:6px 6px 0 #e0f1f3}.map-stage{padding:18px 16px 0}.map-heading{font-size:15px}.flow-controls button{font-size:14px}.card{grid-template-columns:1fr;gap:8px;padding:24px 0}.card .eyebrow,.card h3,.card .card-title,.card p:not(.card-title),.card .text-link{grid-column:auto;grid-row:auto}.card h3{font-size:26px}.card .text-link{justify-self:start;margin-top:10px;min-height:44px}.section{padding-top:44px;padding-bottom:44px}.knowledge-links{grid-template-columns:1fr;gap:20px}.product-hero h1{font-size:36px}.product-headline{font-size:23px}.cert-index{font-size:14px}.parts-list{font-size:14px}.contact h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
