:root{--color-primary:#003366;--color-primary-dark:#0b2545;--color-accent:#007bff;--color-accent-light:#7bc4e2;--color-text:#1f2937;--color-muted:#667085;--color-background:#fff;--color-surface:#f5f8fb;--color-border:#d9e2ec;--color-danger:#b42318;--font-ja:"Noto Sans JP",sans-serif;--font-latin:"Inter",sans-serif;--container-max:1200px;--content-max:780px;--radius-card:12px;--radius-button:8px;--shadow-card:0 14px 40px rgba(11,37,69,.08);--header-height:68px;--transition:180ms ease}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font-ja);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.is-menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,ul,ol,dl,dd{margin-top:0}ul,ol{padding:0;list-style:none}.container{width:calc(100% - 40px);max-width:var(--container-max);margin-inline:auto}.container--content{max-width:var(--content-max)}.container--form{max-width:900px}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:10px 16px;background:#fff;color:var(--color-primary);transform:translateY(-150%);box-shadow:var(--shadow-card)}.skip-link:focus{transform:none}.eyebrow{margin-bottom:12px;color:var(--color-accent);font-family:var(--font-latin);font-size:.75rem;font-weight:800;letter-spacing:.16em}.eyebrow--light{color:var(--color-accent-light)}.section{padding:72px 0}.section--surface{background:var(--color-surface)}.section--primary{background:var(--color-primary);color:#fff}.section--primary-dark{background:var(--color-primary-dark);color:#fff}.section-heading{margin-bottom:36px}.section-heading--center{text-align:center}.section-heading--light .section-title,.section-heading--light .section-description{color:#fff}.section-title{margin-bottom:16px;color:var(--color-primary);font-size:clamp(1.75rem,5vw,2.75rem);font-weight:700;line-height:1.35;letter-spacing:-.03em}.section-description{max-width:680px;margin:0 auto;color:var(--color-muted)}.section-heading:not(.section-heading--center) .section-description{margin-left:0}.section-note{margin:32px 0 0;color:var(--color-muted);font-size:.875rem}.section-note--light{color:rgba(255,255,255,.7)}.prose{max-width:var(--content-max);color:var(--color-muted)}.prose p:last-child{margin-bottom:0}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-button);font-weight:700;line-height:1.4;text-align:center;transition:transform var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)}.button:hover{transform:translateY(-2px)}.button:focus-visible,.site-nav__toggle:focus-visible,.faq-item__question:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,123,255,.32);outline-offset:3px}.button--primary{background:var(--color-primary);color:#fff}.button--accent{background:var(--color-accent);color:#fff;box-shadow:0 10px 25px rgba(0,123,255,.25)}.button--accent:hover{background:#006ee6}.button--outline-light{border-color:rgba(255,255,255,.55);color:#fff}.button--outline-light:hover{background:rgba(255,255,255,.1)}.button--large{width:100%;min-height:56px;padding:15px 30px}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header-height);border-bottom:1px solid rgba(217,226,236,.85);background:rgba(255,255,255,.96);transition:box-shadow var(--transition)}.site-header.is-scrolled{box-shadow:0 8px 24px rgba(11,37,69,.08)}.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.site-brand{display:flex;flex-direction:column;line-height:1}.site-brand__name{color:var(--color-primary);font-family:var(--font-latin);font-size:1.25rem;font-weight:800;letter-spacing:-.04em}.site-brand__tagline{margin-top:6px;color:var(--color-muted);font-family:var(--font-latin);font-size:.5rem;font-weight:700;letter-spacing:.2em}.site-nav__toggle{display:flex;min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:9px;border:0;background:transparent;color:var(--color-primary)}.site-nav__toggle-label{font-family:var(--font-latin);font-size:.68rem;font-weight:700;letter-spacing:.1em}.site-nav__toggle-icon{display:flex;flex-direction:column;gap:5px}.site-nav__toggle-icon span{display:block;width:22px;height:2px;background:currentColor;transition:transform var(--transition),opacity var(--transition)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon span:nth-child(2){opacity:0}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav__panel{position:fixed;top:var(--header-height);right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:4px;padding:24px 20px;background:#fff;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity var(--transition),transform var(--transition),visibility var(--transition)}.site-nav__panel.is-open{visibility:visible;opacity:1;transform:none}.site-nav__link{padding:14px 8px;border-bottom:1px solid var(--color-border);color:var(--color-primary);font-weight:600}.site-nav__cta{margin-top:16px}
/* component: ep-breadcrumb */
.ep-breadcrumb{padding-top:calc(var(--header-height) + 18px);padding-bottom:18px;color:var(--color-muted);font-size:.78rem}.ep-breadcrumb__list{display:flex;flex-wrap:wrap;gap:6px;margin:0}.ep-breadcrumb__item{display:inline-flex;min-width:0;align-items:center;overflow-wrap:anywhere}.ep-breadcrumb__item:not(:last-child)::after{width:1px;height:.9em;margin-left:6px;background:#a6b2bf;content:"";transform:rotate(20deg)}.ep-breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}.ep-breadcrumb a:focus-visible{outline:3px solid rgba(0,123,255,.42);outline-offset:3px}.ep-breadcrumb+.hero{margin-top:0}
/* /component: ep-breadcrumb */
.hero{position:relative;margin-top:var(--header-height);overflow:hidden;background:var(--color-primary-dark);color:#fff}.hero::before{content:"";position:absolute;inset:auto -180px -220px auto;width:480px;height:480px;border:70px solid rgba(123,196,226,.08);border-radius:50%}.hero__inner{position:relative;display:grid;gap:48px;padding-top:72px;padding-bottom:72px}.hero__content{min-width:0}.hero__title{max-width:760px;margin-bottom:24px;font-size:clamp(2.1rem,8vw,4rem);font-weight:700;line-height:1.28;letter-spacing:-.04em;overflow-wrap:anywhere}.hero__mobile-break{display:none}.hero__lead{max-width:720px;margin-bottom:18px;color:#fff;font-size:clamp(1.05rem,3vw,1.35rem);font-weight:600}.hero__description{max-width:700px;margin-bottom:32px;color:rgba(255,255,255,.72);overflow-wrap:anywhere}.hero__actions{display:flex;flex-direction:column;gap:12px}.hero__assurances{display:grid;gap:8px;margin:28px 0 0;color:rgba(255,255,255,.8);font-size:.875rem}.hero__assurances li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--color-accent-light)}.hero__visual{display:none}.review-console{padding:12px;border:1px solid rgba(123,196,226,.32);border-radius:16px;background:rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(0,0,0,.25);transform:perspective(900px) rotateY(-6deg)}.review-console__bar{display:flex;align-items:center;gap:6px;padding:4px 6px 12px;color:rgba(255,255,255,.5);font-family:var(--font-latin);font-size:.6rem;letter-spacing:.12em}.review-console__bar span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35)}.review-console__bar b{margin-left:auto}.review-console__body{display:grid;grid-template-columns:54px 1fr;height:310px;overflow:hidden;border-radius:8px;background:#eef4f8}.review-console__sidebar{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:24px;background:#153450}.review-console__sidebar i{width:20px;height:20px;border-radius:4px;background:rgba(123,196,226,.35)}.review-console__screen{position:relative;padding:24px}.review-console__status{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.review-console__status span{height:54px;border:1px solid #cbd9e5;border-radius:6px;background:#fff}.review-console__chart{height:118px;margin-top:16px;border:1px solid #cbd9e5;border-radius:6px;background:linear-gradient(135deg,transparent 48%,#7bc4e2 49%,#7bc4e2 51%,transparent 52%),#fff}.review-console__controls{display:flex;gap:10px;margin-top:16px}.review-console__controls span{width:70px;height:38px;border-radius:5px;background:#d8e4ec}.review-marker{position:absolute;display:grid;width:28px;height:28px;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--color-accent);color:#fff;font-family:var(--font-latin);font-size:.72rem;font-style:normal;font-weight:800;box-shadow:0 4px 10px rgba(0,51,102,.3)}.review-marker--one{top:45px;right:34px}.review-marker--two{top:145px;left:45%}.review-marker--three{right:75px;bottom:35px}
.issue-grid{display:grid;gap:12px}.issue-card{display:flex;min-height:96px;align-items:flex-start;gap:16px;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff}.issue-card__number{color:var(--color-accent);font-family:var(--font-latin);font-size:.75rem;font-weight:800}.issue-card p{margin:0;font-weight:600;line-height:1.65}.split-intro{display:grid;gap:12px}.review-grid{display:grid;gap:14px;counter-reset:review}.review-card{min-height:230px;padding:28px;border:1px solid rgba(123,196,226,.22);border-radius:var(--radius-card);background:rgba(255,255,255,.06)}.review-card__number{color:var(--color-accent-light);font-family:var(--font-latin);font-size:.75rem;font-weight:800}.review-card h3{margin:20px 0 12px;font-size:1.35rem}.review-card p{margin:0;color:rgba(255,255,255,.72)}.deliverable{display:grid;gap:44px}.deliverable__summary>p:last-child{color:var(--color-muted)}.document-badge{display:flex;align-items:center;gap:14px;margin:28px 0 18px}.document-badge span{display:grid;width:54px;height:62px;place-items:center;border-radius:6px;background:var(--color-primary);color:#fff;font-family:var(--font-latin);font-weight:800}.document-badge strong{font-size:1.15rem}.deliverable__contents{padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.deliverable__label{font-weight:700}.check-list{display:grid;gap:12px;margin:24px 0}.check-list li{position:relative;padding-left:28px}.check-list li::before{content:"";position:absolute;top:.62em;left:2px;width:11px;height:6px;border-bottom:2px solid var(--color-accent);border-left:2px solid var(--color-accent);transform:rotate(-45deg)}.notice{margin:24px 0 0;padding:18px;border-left:3px solid var(--color-accent);background:#fff;color:var(--color-muted);font-size:.9rem}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scope-grid li{display:flex;min-height:84px;align-items:center;justify-content:center;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;color:var(--color-primary);font-weight:600;text-align:center}.scope-exclusion{display:grid;gap:10px;margin-top:24px;padding:20px;border:1px solid #f0c9c5;border-radius:var(--radius-card);background:#fff}.scope-exclusion strong{color:var(--color-danger)}.scope-exclusion p{margin:0;color:var(--color-muted)}.strength-list{border-top:1px solid var(--color-border)}.strength-list li{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:25px 0;border-bottom:1px solid var(--color-border)}.strength-list>li>span{color:var(--color-accent);font-family:var(--font-latin);font-size:.75rem;font-weight:800}.strength-list h3{margin:0 0 8px;color:var(--color-primary);font-size:1.15rem}.strength-list p{margin:0;color:var(--color-muted)}.works-grid{display:grid;gap:18px}.work-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}.work-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.work-card__body{padding:24px}.work-card h3{margin-bottom:20px;color:var(--color-primary);font-size:1.25rem}.work-card dl{margin:0}.work-card dl div{padding:10px 0;border-top:1px solid var(--color-border)}.work-card dt{color:var(--color-muted);font-size:.75rem;font-weight:700}.work-card dd{margin:3px 0 0}.process-list{display:grid;gap:0}.process-list li{position:relative;display:grid;grid-template-columns:50px 1fr;gap:16px;padding-bottom:28px}.process-list li:not(:last-child)::before{content:"";position:absolute;top:38px;bottom:0;left:18px;width:1px;background:var(--color-border)}.process-list>li>span{position:relative;z-index:1;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--color-primary);color:#fff;font-family:var(--font-latin);font-size:.7rem;font-weight:800}.process-list h3{margin:3px 0 6px;color:var(--color-primary);font-size:1.1rem}.process-list p{margin:0;color:var(--color-muted)}.terms-layout{display:grid;gap:10px}.terms-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.18)}.terms-list li{position:relative;padding:15px 0 15px 24px;border-bottom:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.8)}.terms-list li::before{content:"";position:absolute;top:25px;left:2px;width:7px;height:7px;background:var(--color-accent-light)}.faq-list{border-top:1px solid var(--color-border)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item h3{margin:0}.faq-item__question{display:flex;width:100%;min-height:76px;align-items:center;justify-content:space-between;gap:20px;padding:20px 4px;border:0;background:transparent;color:var(--color-primary);font-weight:700;text-align:left}.faq-item__question span::before{content:"Q";margin-right:14px;color:var(--color-accent);font-family:var(--font-latin)}.faq-item__question i{position:relative;flex:0 0 24px;height:24px}.faq-item__question i::before,.faq-item__question i::after{content:"";position:absolute;top:11px;left:4px;width:16px;height:2px;background:var(--color-primary);transition:transform var(--transition)}.faq-item__question i::after{transform:rotate(90deg)}.faq-item__question[aria-expanded=true] i::after{transform:rotate(0)}.faq-item__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition)}.faq-item__answer>div{overflow:hidden}.faq-item__answer p{margin:0;padding:0 42px 24px;color:var(--color-muted)}.faq-item.is-open .faq-item__answer{grid-template-rows:1fr}.application-cta{padding:56px 0;background:var(--color-primary);color:#fff}.application-cta__inner{display:grid;gap:24px}.application-cta h2{margin:0;font-size:clamp(1.55rem,5vw,2.4rem);line-height:1.45}.contact-form{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}.form-grid{display:grid;gap:24px}.form-field{min-width:0;margin:0;padding:0;border:0}.form-field label,.form-field legend{display:block;margin-bottom:8px;font-weight:600}.form-field input:not([type=radio]):not([type=checkbox]),.form-field select,.form-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #b8c7d6;border-radius:6px;background:#fff;color:var(--color-text);font-size:16px}.form-field textarea{resize:vertical}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#879bb0}.required,.optional{display:inline-block;margin-left:7px;font-size:.7rem;font-weight:700}.required{color:var(--color-danger)}.optional{color:var(--color-muted)}.choice-list{display:grid;gap:10px}.choice-list label,.form-consent>label{display:flex;align-items:flex-start;gap:10px;margin:0;padding:11px;border:1px solid var(--color-border);border-radius:6px;font-weight:400}.choice-list input,.form-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:4px;accent-color:var(--color-accent)}.form-consent p{margin:8px 0 0 30px;color:var(--color-muted);font-size:.8rem}.form-status{margin-bottom:24px;padding:16px;border-radius:6px;background:#fff2f0;color:var(--color-danger)}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea,.form-field.has-error .choice-list label,.form-consent.has-error>label{border-color:var(--color-danger)}.field-error{margin:6px 0 0;color:var(--color-danger);font-size:.8rem}.form-submit{margin-top:32px;text-align:center}.form-submit p{margin:12px 0 0;color:var(--color-muted);font-size:.8rem}
.site-footer{padding:64px 0 28px;border-top:1px solid var(--color-border);background:var(--color-surface)}.site-footer__brand{display:flex;flex-direction:column;gap:6px;margin-bottom:32px;line-height:1}.site-footer__brand .site-brand__name,.site-footer__brand .site-brand__tagline{display:block;line-height:1}.site-footer__brand .site-brand__tagline{margin-top:0}.site-footer__offices{display:grid;gap:24px}.site-footer address{color:var(--color-muted);font-size:.85rem;font-style:normal}.site-footer address strong{display:block;margin-bottom:6px;color:var(--color-primary);font-family:var(--font-latin);font-size:.75rem;letter-spacing:.08em}.site-footer__bottom{display:flex;flex-direction:column;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.75rem}.site-footer__bottom a{color:var(--color-primary);font-weight:700}.site-footer__bottom p{margin:0}
@media(min-width:768px){:root{--header-height:76px}.container{width:calc(100% - 64px);max-width:var(--container-max)}.section{padding:104px 0}.button--large{width:auto;min-width:340px}.hero__inner{padding-top:100px;padding-bottom:100px}.hero__actions{flex-direction:row}.hero__assurances{display:flex;gap:28px}.issue-grid{grid-template-columns:repeat(2,1fr);gap:16px}.split-intro{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:64px}.review-grid{grid-template-columns:repeat(2,1fr)}.review-card:last-child{grid-column:1/-1}.deliverable{grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.scope-grid{grid-template-columns:repeat(3,1fr)}.scope-exclusion{grid-template-columns:100px 1fr;align-items:center}.strength-list li{grid-template-columns:60px minmax(0,1fr);gap:24px;align-items:start}.strength-list h3{margin:0}.works-grid{grid-template-columns:repeat(3,1fr)}.process-list{grid-template-columns:repeat(5,1fr);gap:0}.process-list li{display:block;padding:0 18px;text-align:center}.process-list li:not(:last-child)::before{top:19px;right:0;bottom:auto;left:50%;width:100%;height:1px}.process-list>li>span{margin:0 auto 18px}.terms-layout{grid-template-columns:.65fr 1.35fr;gap:72px}.application-cta__inner{grid-template-columns:1fr auto;align-items:center}.contact-form{padding:40px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.form-field--full{grid-column:1/-1}.choice-list--inline{grid-template-columns:repeat(3,1fr)}.site-footer__offices{grid-template-columns:repeat(2,1fr)}.site-footer__bottom{flex-direction:row;justify-content:space-between}}
@media(min-width:1024px){.site-nav__toggle{display:none}.site-nav__panel{position:static;display:flex;flex-direction:row;align-items:center;gap:28px;padding:0;background:transparent;visibility:visible;opacity:1;transform:none}.site-nav__link{padding:10px 0;border:0;color:var(--color-muted);font-size:.84rem}.site-nav__link:hover{color:var(--color-primary)}.site-nav__cta{margin:0 0 0 4px;padding:10px 18px;font-size:.82rem}.hero__inner{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:center}.hero__visual{display:block}.issue-grid{grid-template-columns:repeat(3,1fr)}.review-grid{grid-template-columns:repeat(5,1fr)}.review-card,.review-card:last-child{grid-column:auto}.scope-grid{grid-template-columns:repeat(5,1fr)}.site-footer__offices{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.form-status.is-success{background:#ecfdf3;color:#067647}.form-recaptcha{overflow:hidden}.form-label{display:block;margin-bottom:8px;font-weight:600}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}
.supported-case__inner{display:grid;gap:28px;align-items:center}.supported-case__inner>div>p:last-child{max-width:640px;margin:0;color:var(--color-muted)}.supported-case__card{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card);transition:transform var(--transition),border-color var(--transition)}.supported-case__card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.supported-case__card img{width:100%;aspect-ratio:16/9;object-fit:cover}.supported-case__card span{display:flex;flex-direction:column;padding:22px}.supported-case__card small{color:var(--color-accent);font-family:var(--font-latin);font-size:.7rem;font-weight:800;letter-spacing:.12em}.supported-case__card strong{margin-top:8px;color:var(--color-primary);font-size:1.15rem}.supported-case__card b{margin-top:14px;color:var(--color-primary);font-size:.85rem}
@media(min-width:768px){.supported-case__inner{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}}
.form-consent a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.hero__about-link{margin:22px 0 0;font-size:.82rem}.hero__about-link a{color:rgba(255,255,255,.78);font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:5px}.site-footer__links{display:flex;flex-wrap:wrap;gap:10px 24px}@media(min-width:1024px){.site-nav__panel{gap:20px}}

/* =========================================================
   UI/HMI CHECKLIST PAGE ONLY
   Common site-header / site-footer / container / button rules
   above are copied verbatim from /epi/ui-review/ and are not
   overridden here.
   ========================================================= */
.checklist-hero__facts{display:flex;flex-wrap:wrap;gap:28px;margin:30px 0}.checklist-hero__fact{display:flex;align-items:baseline;gap:6px}.checklist-hero__fact strong{font-family:var(--font-latin);font-size:2.4rem;line-height:1;font-weight:800}.checklist-hero__fact span{color:rgba(255,255,255,.74);font-size:.8rem;font-weight:700}.checklist-hero__note{color:rgba(255,255,255,.72);font-size:.82rem}.checklist-sheet{position:relative;max-width:360px;margin-inline:auto;padding:12px;border:1px solid rgba(123,196,226,.32);border-radius:16px;background:rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(0,0,0,.25);transform:rotate(2deg)}.checklist-sheet img{width:100%;border-radius:5px}.checklist-sheet__badge{position:absolute;right:-12px;bottom:22px;padding:7px 11px;border-radius:999px;background:var(--color-accent);color:#fff;font-family:var(--font-latin);font-size:.68rem;font-weight:800;letter-spacing:.05em}
.checklist-intro{display:grid;gap:40px}.checklist-intro__copy p{color:var(--color-muted)}.checklist-needs{display:grid;gap:12px;margin:26px 0 0}.checklist-needs li{position:relative;padding-left:26px}.checklist-needs li::before{content:"";position:absolute;top:.7em;left:2px;width:8px;height:8px;border-radius:50%;background:var(--color-accent)}
.checklist-points{display:grid;gap:16px}.checklist-point{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff}.checklist-point>span{display:block;margin-bottom:12px;color:var(--color-accent);font-family:var(--font-latin);font-size:.72rem;font-weight:800}.checklist-point h3{margin-bottom:8px;color:var(--color-primary);font-size:1.08rem}.checklist-point p{margin:0;color:var(--color-muted);font-size:.9rem}
.checklist-preview{display:grid;gap:44px}.checklist-preview__copy p{color:var(--color-muted)}.checklist-preview__pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.checklist-preview__pages img{border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-card)}
.checklist-download{display:grid;gap:36px;padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}.checklist-download__copy>p{color:var(--color-muted)}.checklist-download__meta{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.checklist-download__meta span{padding:6px 10px;border-radius:999px;background:var(--color-surface);color:var(--color-primary);font-size:.75rem;font-weight:700}.checklist-download__note{margin:12px 0 0!important;font-size:.8rem}.checklist-download__cover{max-width:260px;margin-inline:auto}.checklist-download__cover img{border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-card)}
.checklist-next{padding:56px 0;background:var(--color-primary);color:#fff}.checklist-next__inner{display:grid;gap:24px}.checklist-next .eyebrow{color:var(--color-accent-light)}.checklist-next h2{margin-bottom:14px;font-size:clamp(1.55rem,5vw,2.4rem);line-height:1.45}.checklist-next p{margin:0;color:rgba(255,255,255,.78)}.checklist-next__action{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.checklist-next__action strong{font-size:1rem}.checklist-next .button{border-color:rgba(255,255,255,.55);color:#fff}.checklist-next .button:hover{background:rgba(255,255,255,.1)}
@media(min-width:768px){.checklist-intro{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:64px}.checklist-points{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-preview{grid-template-columns:.8fr 1.2fr;align-items:center;gap:64px}.checklist-download{grid-template-columns:1fr 280px;align-items:center;padding:40px}.checklist-next__inner{grid-template-columns:1fr auto;align-items:center}.checklist-next__action{align-items:flex-end}}
@media(min-width:1024px){.checklist-points{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* =========================================================
   UI/HMI IMPROVEMENT LANDING PAGE ONLY
   Common header/footer/button rules above inherit the current
   /epi/ui-hmi/checklist/ implementation.
   ========================================================= */
:root{--improve-red:#cf3b36;--improve-amber:#e9a23b;--improve-green:#1c8a63;--improve-ink:#0a2039}
.section-heading--split{display:grid;gap:28px}.section-copy{color:var(--color-muted)}.section-copy p:last-child{margin-bottom:0}.section-actions{display:flex;justify-content:center;margin-top:36px}
.hero{margin-top:0}.hero__inner{align-items:center}.hero__title span{color:var(--color-accent-light)}.hero__visual{position:relative}.hmi-console{overflow:hidden;border:1px solid #c6d4df;border-radius:14px;background:#eaf1f5;box-shadow:0 20px 55px rgba(4,20,36,.28)}.hmi-console--hero{position:relative;z-index:2}.hmi-console__topbar{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:#173149;color:#fff;font-size:.72rem}.status-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:4px 8px;border-radius:999px;font-weight:700}.status-pill::before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.status-pill--ok{background:#e8f5ef;color:#157653}.hmi-console__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10px;padding:12px}.hmi-panel{min-height:185px;padding:16px;border:1px solid #cbd8e2;border-radius:8px;background:#fff;color:#18324a}.hmi-panel--primary{display:flex;flex-direction:column;justify-content:center;background:#f7fbfd}.hmi-panel__label{color:#6b7f90;font-size:.72rem;font-weight:700}.hmi-value{display:block;margin:2px 0 15px;color:#0a2039;font-family:var(--font-latin);font-size:2.6rem;line-height:1;font-weight:800;letter-spacing:-.04em}.hmi-value small{font-size:.7rem;letter-spacing:0}.hmi-value--small{margin:2px 0 0;font-size:1.65rem}.hmi-panel__head{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e5ebf0;font-size:.8rem}.hmi-panel__head span{color:var(--color-muted)}.alarm{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;margin:13px 0 0;font-size:.68rem}.alarm span{width:7px;height:7px;border-radius:50%}.alarm time{color:#7f8c99;font-size:.62rem}.alarm--high span{background:var(--improve-red)}.alarm--mid span{background:var(--improve-amber)}.hmi-link{display:block;margin-top:18px;padding:7px 8px;border-radius:5px;background:#f1f5f8;color:#2a4a66;font-size:.68rem;text-align:center}.hmi-console__nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px 12px}.hmi-console__nav span{padding:10px 4px;border:1px solid #cbd8e2;border-radius:7px;background:#fff;color:#31506b;font-size:.7rem;font-weight:700;text-align:center}.hmi-console__nav .is-active{border-color:#1674cf;background:#1674cf;color:#fff}
.issue-grid--six{grid-template-columns:1fr}.issue-card h3{margin:0 0 7px;color:var(--color-primary);font-size:1rem}.issue-card p{color:var(--color-muted);font-size:.9rem;font-weight:400}.issue-card__number{flex:0 0 auto}
.principle-grid{display:grid;gap:12px}.principle-grid article,.solution-grid article{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff}.principle-grid span,.solution-grid span{display:block;margin-bottom:16px;color:var(--color-accent);font-family:var(--font-latin);font-size:.72rem;font-weight:800}.principle-grid h3,.solution-grid h3{margin-bottom:8px;color:var(--color-primary);font-size:1rem}.principle-grid p,.solution-grid p{margin:0;color:var(--color-muted);font-size:.88rem}
.compare-grid{display:grid;gap:24px}.compare-card{min-width:0;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}.compare-card__label{margin-bottom:12px;color:var(--color-primary);font-family:var(--font-latin);font-size:.72rem;font-weight:800;letter-spacing:.12em}.compare-card--before .compare-card__label{color:#8e4d4a}.compare-card--after .compare-card__label{color:#14744f}.compare-arrow{display:none;align-items:center;justify-content:center;color:var(--color-accent);font-size:2rem}.legacy-screen{overflow:hidden;border:1px solid #8695a2;border-radius:7px;background:#dce5e9;font-family:var(--font-ja);font-size:.64rem}.legacy-screen__top{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:6px 8px;background:#405361;color:#fff}.legacy-alert{padding:2px 5px;background:#d8554e}.legacy-screen__body{padding:8px}.legacy-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.legacy-metrics span{padding:7px 5px;border:1px solid #8fa1af;background:#f6f7f3}.legacy-metrics b{display:block;margin-top:3px;font-family:var(--font-latin);font-size:.92rem}.legacy-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px}.legacy-buttons span{padding:7px 4px;border:1px solid #758795;background:#e8e5d2;text-align:center}.legacy-buttons span:nth-child(2),.legacy-buttons span:nth-child(5){background:#e4b858}.legacy-buttons span:nth-child(3){background:#dd7b72}.legacy-banner{margin-top:6px;padding:6px;background:#b9322e;color:#fff;text-align:center}.compare-list{display:grid;gap:7px;margin:16px 0 0;font-size:.82rem}.compare-list li{position:relative;padding-left:20px;color:var(--color-muted)}.compare-list li::before{position:absolute;left:0;font-weight:800}.compare-list--ng li::before{color:#9e4b47;content:"×"}.compare-list--ok li::before{color:#17855e;content:"✓"}.hmi-console--compare{box-shadow:none}.hmi-console--compare .hmi-panel{min-height:160px}.hmi-console--compare .hmi-value{font-size:2.1rem}.hmi-console--compare .hmi-value--small{font-size:1.4rem}
.process-grid{display:grid;gap:14px}.process-grid article{position:relative;padding:26px;border:1px solid rgba(123,196,226,.22);border-radius:var(--radius-card);background:rgba(255,255,255,.06)}.process-grid span{display:block;color:var(--color-accent-light);font-family:var(--font-latin);font-size:.72rem;font-weight:800}.process-grid h3{margin:18px 0 9px;font-size:1.08rem}.process-grid p{margin:0;color:rgba(255,255,255,.7);font-size:.88rem}.scope-note{margin:28px 0 0;padding:18px 20px;border:1px solid rgba(123,196,226,.24);border-radius:8px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.72);font-size:.82rem}.solution-grid{display:grid;gap:12px}
.case-grid{display:grid;gap:18px}.case-card{position:relative;padding:30px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.case-card:hover{transform:translateY(-3px);border-color:#b9cce0;box-shadow:var(--shadow-card)}.case-card__tag{display:inline-block;margin-bottom:24px;color:var(--color-accent);font-family:var(--font-latin);font-size:.7rem;font-weight:800;letter-spacing:.1em}.case-card h3{margin-bottom:12px;color:var(--color-primary);font-size:1.35rem}.case-card__lead{color:var(--color-primary)!important;font-weight:700}.case-card p{color:var(--color-muted);font-size:.9rem}.case-card__link{display:inline-block;margin-top:16px;color:var(--color-accent);font-size:.85rem;font-weight:700}
.level-flow{display:grid;gap:14px}.level-card{padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff}.level-card--accent{border-color:#b9d8f7;background:#f4f9ff}.level-card__num{display:block;margin-bottom:18px;color:var(--color-accent);font-family:var(--font-latin);font-size:.72rem;font-weight:800;letter-spacing:.08em}.level-card h3{margin-bottom:10px;color:var(--color-primary);font-size:1.35rem}.level-card p{color:var(--color-muted);font-size:.9rem}.level-card ul{display:grid;gap:7px;margin:18px 0 0}.level-card li{position:relative;padding-left:18px;color:#4a6174;font-size:.82rem}.level-card li::before{position:absolute;top:.75em;left:0;width:6px;height:6px;border-radius:50%;background:var(--color-accent);content:""}.level-flow__arrow{display:none;align-items:center;justify-content:center;color:#94aac0;font-size:1.6rem}.section-note--center{text-align:center}
.resource-section{background:linear-gradient(90deg,#f5f8fb 0,#f5f8fb 50%,#0b2545 50%,#0b2545 100%)}.resource-grid{display:grid;width:100%;max-width:none}.resource-card{padding:64px max(20px,calc((100vw - var(--container-max))/2));}.resource-card h2{margin-bottom:18px;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.4}.resource-card p:not(.eyebrow){max-width:560px;margin-bottom:28px}.resource-card--checklist{background:var(--color-surface)}.resource-card--checklist h2{color:var(--color-primary)}.resource-card--checklist p:not(.eyebrow){color:var(--color-muted)}.resource-card--review{background:var(--color-primary-dark);color:#fff}.resource-card--review p:not(.eyebrow){color:rgba(255,255,255,.74)}
.contact-section{padding:64px 0;background:var(--color-primary);color:#fff}.contact-section__inner{display:grid;gap:32px}.contact-section h2{margin-bottom:16px;font-size:clamp(1.7rem,4.7vw,2.7rem);line-height:1.4}.contact-section p{margin-bottom:0;color:rgba(255,255,255,.75)}.contact-section__actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-section__actions p{font-size:.76rem}
@media(min-width:768px){.section-heading--split{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:64px;align-items:end}.issue-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-section{background:none}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.resource-card{padding:72px clamp(32px,5vw,72px)}.contact-section__inner{grid-template-columns:1fr auto;align-items:center}.contact-section__actions{align-items:flex-end;max-width:430px}}
@media(min-width:1024px){.hero__inner{grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:64px}.hero__visual{display:block}.hero__title{font-size:clamp(2.8rem,4.4vw,4rem)}.hero__actions{flex-direction:row}.hero__actions .button{width:auto}.issue-grid--six{grid-template-columns:repeat(3,minmax(0,1fr))}.principle-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compare-grid{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);align-items:center}.compare-arrow{display:flex}.level-flow{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch}.level-flow__arrow{display:flex}}
@media(max-width:767px){.hero__mobile-break{display:block}.hero__description,.hero__assurances,.section-description,.section-copy,.section p,.issue-card p{overflow-wrap:break-word;word-break:normal}.compare-card{padding:14px}.hmi-console__grid{grid-template-columns:1fr}.hmi-panel{min-height:auto}.resource-card{padding-left:20px;padding-right:20px}.resource-grid{width:100%}}

/* v2: featured real case and visual rhythm refinements */
#issues{background:#fff}
#improvement{background:#fbfdff}
#solutions{background:#fff}
#levels{background:#f8fbfe}
.hero__visual{transform:scale(1.04);transform-origin:center}
.featured-case{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:0 16px 44px rgba(11,37,69,.08)}
.featured-case__visual{display:block;min-height:260px;background:#dceaf5;overflow:hidden}
.featured-case__visual img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.featured-case:hover .featured-case__visual img{transform:scale(1.015)}
.featured-case__content{padding:30px}
.featured-case__content h3{margin:0 0 14px;color:var(--color-primary);font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.35}
.featured-case__lead{margin-bottom:16px;color:var(--color-primary);font-weight:700;font-size:1.02rem}
.featured-case__content>p:not(.featured-case__lead){color:var(--color-muted);font-size:.92rem}
.featured-case__points{display:grid;gap:8px;margin:22px 0 6px}
.featured-case__points li{position:relative;padding-left:20px;color:#435a70;font-size:.86rem}
.featured-case__points li::before{position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--color-accent);content:""}
@media(min-width:768px){.featured-case{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch}.featured-case__visual{min-height:420px}.featured-case__content{display:flex;flex-direction:column;justify-content:center;padding:42px}.featured-case__content .case-card__link{margin-top:20px}}
@media(min-width:1024px){.hero__inner{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr)}.hero__visual{transform:scale(1.1)}}
@media(max-width:767px){.featured-case__visual{min-height:auto;aspect-ratio:16/9}.featured-case__content{padding:24px}.hero__visual{transform:none}}

/* v4: clarify the resource funnel without changing the established visual system */
.resource-section{padding:88px 0 0;background:#f5f8fb}
.resource-intro{grid-column:1/-1;max-width:760px;margin:0 auto 52px;text-align:center}
.resource-intro h2{margin:8px 0 18px;color:var(--color-primary);font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.42}
.resource-intro>p:not(.eyebrow){margin:0;color:var(--color-muted)}
.resource-card h3{margin-bottom:18px;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.4}
.resource-card--checklist h3{color:var(--color-primary)}
@media(max-width:767px){
  .resource-section{padding-top:72px}
  .resource-intro{margin-bottom:34px;padding:0 20px}
}

/* final mobile / hero QA adjustments */
@media(max-width:767px){
  .site-header__inner{width:calc(100% - 40px);max-width:none}
  .site-brand{flex:0 0 auto;min-width:0}
  .site-nav{margin-left:auto;flex:0 0 auto}
  .site-nav__toggle{display:flex;padding:0}
  .hero__description,.hero__assurances,.section-description,.section-copy,.section p,.issue-card p{overflow-wrap:anywhere;word-break:normal}
}
@media(min-width:1200px){
  .hero__inner{grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);gap:56px}
  .hero__title{max-width:720px;font-size:clamp(2.7rem,3.7vw,3.45rem)}
}
@media(max-width:767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .container,.site-header__inner{width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;margin-right:auto;margin-left:auto}
  .site-header__inner{position:relative}
  .site-nav{position:absolute;top:50%;right:0;display:block;transform:translateY(-50%)}
  .site-nav__toggle{display:inline-flex!important;min-width:72px;justify-content:flex-end}
  .site-brand{max-width:180px}
  .hero__content,.section-heading,.section-description,.section-copy,.issue-card,.issue-card>div{min-width:0;max-width:100%}
  .hero__description,.hero__assurances,.section-description,.section-copy,.section p,.issue-card p{max-width:100%;overflow-wrap:break-word;word-break:normal;line-break:strict}
}
@media(max-width:520px){
  .container,.site-header__inner{width:calc(100vw - 40px)!important;max-width:350px!important;margin-left:20px;margin-right:20px}
  .site-nav{right:0}
  .site-brand{max-width:170px}
  .site-nav__toggle{min-width:66px}
}

/* =========================================================
   UI/HMI ERROR PREVENTION LANDING PAGE
   ========================================================= */
.hero__assurances{display:none}
.hero__title{max-width:820px}
.flow-steps{display:grid;gap:14px;counter-reset:flow}
.flow-steps li{position:relative;min-height:170px;padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}
.flow-steps li:not(:last-child)::after{content:"";position:absolute;right:28px;bottom:-24px;width:1px;height:34px;background:var(--color-accent)}
.flow-steps span{display:inline-flex;margin-bottom:18px;color:var(--color-accent);font-family:var(--font-latin);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.flow-steps h3{margin:0 0 8px;color:var(--color-primary);font-size:1.45rem}
.flow-steps p{margin:0;color:var(--color-muted);font-weight:700}
.principle-grid--six{grid-template-columns:1fr}
.ba-list{display:grid;gap:20px}
.ba-card{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}
.ba-card h3{margin:0 0 18px;color:var(--color-primary);font-size:1.25rem}
.ba-pair{display:grid;gap:14px}
.ba-pair>div{min-width:0;padding:18px;border:1px solid #dce6ef;border-radius:8px;background:#f8fbfe}
.ba-pair b{display:block;margin-bottom:12px;color:#536879;font-family:var(--font-latin);font-size:.72rem;letter-spacing:.12em}
.ba-pair p,.ba-card__note{margin:12px 0 0;color:var(--color-muted);font-size:.88rem}
.mock-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mock-buttons span,.mock-buttons strong,.mock-single,.mock-progress li,.mock-select span,.mock-select strong{display:flex;min-height:42px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid #b9c8d6;border-radius:6px;background:#fff;color:#20384f;font-size:.86rem;font-weight:700;text-align:center}
.mock-buttons--grouped strong{border-color:#ba4540;background:#fff5f4;color:#9d2d28}
.mock-buttons--grouped strong::before{content:"重要 ";margin-right:4px;color:#9d2d28;font-size:.7rem}
.mock-single{max-width:180px}
.mock-progress{display:grid;gap:18px;margin:0}
.mock-progress li{position:relative;background:#fff}
.mock-progress li:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-16px;width:8px;height:8px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:translateX(-50%) rotate(45deg)}
.mock-progress li:last-child{border-color:#1c8a63;background:#f0faf5;color:#14744f}
.mock-select{display:grid;gap:8px}
.mock-select strong{border-color:#1674cf;background:#f4f9ff;color:#003366}
.mock-select em{display:block;margin-top:2px;color:#1674cf;font-size:.78rem;font-style:normal;font-weight:700}
.process-grid{list-style:none}
.process-grid li{position:relative;padding:26px;border:1px solid rgba(123,196,226,.22);border-radius:var(--radius-card);background:rgba(255,255,255,.06)}
.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.scope-grid li{background:#fff}
.contact-section__actions .button{min-width:260px}
@media(min-width:768px){
  .flow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .flow-steps li:not(:last-child)::after{top:50%;right:-12px;bottom:auto;width:24px;height:1px;transform:translateY(-50%)}
  .principle-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scope-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1024px){
  .principle-grid--six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .scope-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media(max-width:767px){
  .flow-steps li{min-height:auto}
  .ba-card{padding:18px}
}

/* v2 visual differentiation: error-prevention focused diagrams */
:root{--state-blue:#1674cf;--state-amber:#d58a16;--state-red:#b42318;--state-green:#17855e}
.error-hmi{overflow:hidden;border:1px solid rgba(123,196,226,.38);border-radius:16px;background:#edf4f8;box-shadow:0 26px 70px rgba(0,0,0,.28)}
.error-hmi__bar{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;padding:12px 14px;background:#142f47;color:#fff;font-size:.72rem}
.error-hmi__bar strong{font-size:.78rem}.status-dot{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#e8f5ef;color:#157653;font-weight:800}.status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.error-hmi__body{display:grid;grid-template-columns:.9fr 1.1fr;gap:10px;padding:12px;color:#18324a}
.error-hmi__body section{min-width:0;padding:14px;border:1px solid #cbd8e2;border-radius:8px;background:#fff}
.error-hmi__body span{display:block;margin-bottom:7px;color:#6b7f90;font-size:.68rem;font-weight:800}
.error-hmi__status strong{display:block;color:#0a2039;font-size:1.5rem}.error-hmi__status em{display:inline-flex;margin-top:6px;padding:5px 9px;border-radius:999px;background:#e8f5ef;color:#157653;font-style:normal;font-weight:800}
.error-hmi__steps ol{display:grid;gap:8px;margin:0}.error-hmi__steps li{position:relative;padding:8px 10px;border:1px solid #d5e0e9;border-radius:6px;background:#f8fbfe;font-size:.78rem;font-weight:800}.error-hmi__steps li:not(:last-child)::after{content:"";position:absolute;left:18px;bottom:-8px;width:6px;height:6px;border-right:2px solid #7891a7;border-bottom:2px solid #7891a7;transform:rotate(45deg)}.error-hmi__steps .is-current{border-color:var(--state-blue);background:#eef7ff;color:#003366;box-shadow:inset 4px 0 0 var(--state-blue)}
.error-hmi__setting strong{display:block;font-size:1.2rem}.error-hmi__setting em{display:block;margin-bottom:10px;color:#334e68;font-style:normal;font-weight:700}.error-hmi__setting button{min-height:34px;padding:7px 12px;border:1px solid #9fb2c4;border-radius:6px;background:#fff;color:#23445f;font-weight:800}
.error-hmi__critical{border-color:#e4b8b4!important;background:#fffafa!important}.error-hmi__critical>span{color:var(--state-red)}.error-hmi__critical div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.error-hmi__critical button{min-height:38px;border:1px solid #c77770;border-radius:6px;background:#fff;color:#94251f;font-weight:800}.error-hmi__critical p{margin:8px 0 0;color:#7f4d49;font-size:.72rem;font-weight:700}
.error-hmi__notice{grid-column:1/-1}.error-hmi__notice p{display:inline-flex;margin:0 8px 0 0;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:800}.notice-info{background:#eef7ff;color:#0d5ea8}.notice-check{background:#fff7e8;color:#9a620e}
.error-hmi__legend{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0 12px 12px}.error-hmi__legend div{display:flex;align-items:center;gap:6px;min-width:0}.error-hmi__legend dt{color:#40576c;font-size:.62rem;font-weight:800;white-space:nowrap}.error-hmi__legend dd{order:-1;width:10px;height:10px;margin:0;border-radius:3px;background:var(--state-blue)}.error-hmi__legend div:nth-child(2) dd{background:var(--state-amber)}.error-hmi__legend div:nth-child(3) dd{background:var(--state-red)}.error-hmi__legend div:nth-child(4) dd{background:var(--state-green)}
.issue-card--visual{display:block;min-height:255px}.issue-card--visual .issue-card__number{display:block;margin-bottom:12px}.mini-ui{margin-top:16px;padding:12px;border:1px solid #d8e3ec;border-radius:8px;background:#f8fbfe}.mini-ui span,.mini-ui strong{min-width:0}.mini-ui--buttons,.mini-ui--choices,.mini-ui--states{display:grid;gap:6px}.mini-ui--buttons{grid-template-columns:repeat(2,1fr)}.mini-ui--buttons span,.mini-ui--choices span,.mini-ui--states span,.mini-ui--feedback span,.mini-ui--feedback strong,.mini-ui--steps span,.mini-ui--mismatch span{display:flex;min-height:34px;align-items:center;justify-content:center;padding:6px;border:1px solid #b9c8d6;border-radius:5px;background:#fff;color:#314a61;font-size:.74rem;font-weight:800;text-align:center}.mini-ui--choices{grid-template-columns:repeat(3,1fr)}.mini-ui--states{grid-template-columns:repeat(3,1fr)}.mini-ui--states span{color:#536879}.mini-ui--feedback{display:grid;grid-template-columns:1fr 54px;gap:8px;align-items:center}.mini-ui--feedback strong{color:#8a6b1b;letter-spacing:.12em}.mini-ui--steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mini-ui--steps span{position:relative}.mini-ui--steps span:not(:last-child)::after{content:"";position:absolute;right:-10px;width:8px;height:8px;border-right:2px solid #9eb0bf;border-bottom:2px solid #9eb0bf;transform:rotate(-45deg)}.mini-ui--mismatch{display:grid;gap:8px}.mini-ui--mismatch span{justify-content:space-between;padding-inline:10px}.mini-ui--mismatch b{padding:3px 6px;border-radius:4px;background:#eef1f4;color:#334e68;font-size:.68rem}
.flow-steps--cognitive{position:relative}.flow-steps--cognitive li{padding-top:24px;border-top:4px solid var(--state-blue)}.flow-steps--cognitive i{display:grid;width:42px;height:42px;place-items:center;margin-bottom:16px;border-radius:10px;background:#eef7ff}.flow-steps--cognitive i::before{content:"";width:18px;height:18px;border:3px solid currentColor;border-radius:50%;color:var(--state-blue)}.flow-steps--cognitive ul{display:grid;gap:6px;margin:18px 0 0}.flow-steps--cognitive ul li{min-height:0;padding:0 0 0 16px;border:0;background:transparent;box-shadow:none;color:#536879;font-size:.78rem}.flow-steps--cognitive ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:currentColor}.flow-step--judge{border-top-color:var(--state-amber)!important}.flow-step--judge i{background:#fff7e8}.flow-step--judge i::before{border-radius:4px;color:var(--state-amber);transform:rotate(45deg)}.flow-step--operate{border-top-color:var(--state-red)!important}.flow-step--operate i{background:#fff5f4}.flow-step--operate i::before{width:20px;height:20px;border-radius:5px;color:var(--state-red)}.flow-step--confirm{border-top-color:var(--state-green)!important}.flow-step--confirm i{background:#f0faf5}.flow-step--confirm i::before{width:22px;height:12px;border-top:0;border-right:0;border-color:var(--state-green);border-radius:0;transform:rotate(-45deg)}
.ba-list--visual{gap:28px}.ba-card--wide{padding:30px}.ba-card--wide h3{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:1.45rem}.ba-card--wide h3 span{color:var(--color-accent);font-family:var(--font-latin);font-size:.78rem;font-weight:800}.ba-pair--screens>div{padding:22px;background:#fff}.mock-panel{min-height:170px;padding:16px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}.mock-panel button{min-height:44px;border:1px solid #aebdca;border-radius:6px;background:#fff;color:#243d55;font-weight:800}.mock-panel--flat,.mock-panel--numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mock-panel--separated{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mock-panel__normal,.mock-panel__critical{display:grid;gap:9px;padding:12px;border:1px solid #d9e3ec;border-radius:8px;background:#fff}.mock-panel__normal span,.mock-panel__critical span{color:#5f7486;font-size:.72rem;font-weight:800}.mock-panel__critical{border-color:#e2b7b2;background:#fffafa}.mock-panel__critical span{color:var(--state-red)}.mock-panel__critical button{border-color:#c77770;color:#94251f}.mock-panel__critical em{color:#7f4d49;font-size:.72rem;font-style:normal;font-weight:800}.mock-panel--single{display:grid;align-content:center;justify-items:center;gap:14px}.mock-panel--single p{margin:0;color:#6a7b8b;font-size:.82rem}.mock-progress--large{gap:26px;padding:16px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}.mock-progress--large li{min-height:52px}.mock-progress--large li:nth-child(2){border-color:var(--state-amber);background:#fffaf0;color:#8b5a0b}.mock-progress--large li:last-child{border-color:var(--state-green);background:#f0faf5;color:#14744f}.mock-progress--large li:not(:last-child)::after{bottom:-21px}.mock-select--large{padding:16px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}.mock-select--large span,.mock-select--large strong{justify-content:flex-start;min-height:48px;padding-inline:14px}.mock-select--large strong{border-color:var(--state-blue);box-shadow:inset 4px 0 0 var(--state-blue)}
@media(min-width:768px){.issue-card--visual{min-height:280px}.ba-card--wide{padding:34px}.ba-pair--screens{grid-template-columns:.95fr 1.05fr}.error-hmi__body{grid-template-columns:.78fr 1.12fr .9fr}.error-hmi__steps{grid-row:span 2}.error-hmi__notice{grid-column:auto}}
@media(min-width:1024px){.flow-steps--cognitive{grid-template-columns:repeat(4,minmax(0,1fr))}.flow-steps--cognitive li:not(:last-child)::after{background:linear-gradient(90deg,var(--color-accent),#9eb7cc)}}
@media(max-width:767px){.error-hmi{max-width:100%}.error-hmi__bar{grid-template-columns:1fr auto;gap:6px}.error-hmi__bar span:last-of-type,.error-hmi__bar time{font-size:.66rem}.error-hmi__body{grid-template-columns:1fr}.error-hmi__notice{grid-column:auto}.error-hmi__legend{grid-template-columns:repeat(2,1fr)}.error-hmi__legend dt{white-space:normal}.issue-card--visual{min-height:0}.mini-ui--states{grid-template-columns:1fr}.mock-panel--separated{grid-template-columns:1fr}.ba-card--wide h3{align-items:flex-start;font-size:1.25rem}.ba-pair--screens>div{padding:16px}.mock-panel{min-height:auto}.flow-steps--cognitive ul li{line-break:strict;word-break:normal}}

/* v3 finishing adjustments: readability and vertical rhythm */
.error-hmi__body{gap:12px;padding:14px}
.error-hmi__body section{padding:16px}
.error-hmi__steps ol{gap:10px}
.error-hmi__steps li{padding:9px 12px;white-space:nowrap}
.error-hmi__setting button,.error-hmi__critical button,.mock-panel button{white-space:nowrap}
.error-hmi__critical div{gap:10px}
.error-hmi__critical button{min-width:0;padding:8px 10px;font-size:.84rem}
.error-hmi__notice p{margin-top:4px;white-space:nowrap}
.mini-ui{padding:10px}
.mini-ui--buttons,.mini-ui--choices,.mini-ui--states,.mini-ui--steps{gap:7px}
.mini-ui--buttons span,.mini-ui--choices span,.mini-ui--states span,.mini-ui--feedback span,.mini-ui--feedback strong,.mini-ui--steps span,.mini-ui--mismatch span{min-height:32px;padding:5px 7px;white-space:nowrap}
.mini-ui--mismatch span{justify-content:center}
.mini-ui--mismatch b{display:none}
.ba-list--visual{gap:22px}
.ba-card--wide{padding:26px}
.ba-card--wide h3{margin-bottom:18px}
.ba-pair--screens>div{padding:18px}
.mock-panel{min-height:158px;padding:14px}
.mock-panel--separated{gap:12px}
.mock-panel__normal,.mock-panel__critical{gap:8px;padding:10px}
.mock-progress--large{gap:22px;padding:14px}
.mock-progress--large li{min-height:48px}
.mock-progress--large li:not(:last-child)::after{bottom:-19px}
.mock-select--large{padding:14px}
.mock-select--large span,.mock-select--large strong{min-height:44px}
.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.scope-grid li{position:relative;min-height:112px;align-items:flex-start;justify-content:flex-start;padding:22px 18px 18px 44px;border-color:#cfdde8;box-shadow:0 10px 24px rgba(11,37,69,.04);font-size:.96rem;text-align:left}
.scope-grid li::before{content:"";position:absolute;top:24px;left:20px;width:10px;height:10px;border:2px solid var(--color-accent);border-radius:3px;background:#fff}
@media(min-width:768px){
  .scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =========================================================
   UI/HMI ALARM DISPLAY LANDING PAGE
   ========================================================= */
:root{--alarm-critical:#b42318;--alarm-warning:#b7791f;--alarm-notice:#1674cf;--alarm-ok:#17855e}
.hero--alarm .hero__inner{grid-template-columns:minmax(0,1fr);gap:48px}
.hero--alarm .hero__title{max-width:900px}
.alarm-console{overflow:hidden;border:1px solid rgba(123,196,226,.38);border-radius:16px;background:#eef4f8;box-shadow:0 26px 70px rgba(0,0,0,.28)}
.alarm-console__bar,.example-screen__bar{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#142f47;color:#fff;font-family:var(--font-latin);font-size:.72rem;font-weight:800;letter-spacing:.06em}
.alarm-console__bar span,.alarm-console__bar time,.example-screen__bar span{margin-left:auto;color:rgba(255,255,255,.68);font-family:var(--font-ja);font-weight:700;letter-spacing:0}
.alarm-console__bar time{margin-left:0}
.alarm-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 14px 0}
.alarm-count{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:58px;padding:12px;border:1px solid #cedce8;border-radius:8px;background:#fff;box-shadow:inset 4px 0 0 var(--alarm-notice)}
.alarm-count span{color:#526a80;font-family:var(--font-latin);font-size:.68rem;font-weight:800}
.alarm-count strong{color:#0a2039;font-family:var(--font-latin);font-size:1.45rem}
.alarm-count--critical{box-shadow:inset 4px 0 0 var(--alarm-critical)}
.alarm-count--warning{box-shadow:inset 4px 0 0 var(--alarm-warning)}
.alarm-console__body{display:grid;gap:12px;padding:14px;color:#18324a}
.alarm-list,.alarm-detail,.example-list,.example-detail{min-width:0;padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#fff}
.alarm-row{display:grid;grid-template-columns:92px minmax(0,1fr) 72px 54px;gap:8px;align-items:center;margin-bottom:8px;padding:11px;border:1px solid #d8e3ec;border-radius:8px;background:#f8fbfe;box-shadow:inset 4px 0 0 #9fb2c4}
.alarm-row:last-child{margin-bottom:0}
.alarm-row b{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-family:var(--font-latin);font-size:.6rem;font-weight:800}
.alarm-row strong{overflow:hidden;color:#0d2b46;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}
.alarm-row span,.alarm-row time{color:#526a80;font-size:.72rem;font-weight:800}
.alarm-row--critical{box-shadow:inset 4px 0 0 var(--alarm-critical)}.alarm-row--critical b{color:var(--alarm-critical)}
.alarm-row--warning{box-shadow:inset 4px 0 0 var(--alarm-warning)}.alarm-row--warning b{color:var(--alarm-warning)}
.alarm-row--notice{box-shadow:inset 4px 0 0 var(--alarm-notice)}.alarm-row--notice b{color:var(--alarm-notice)}
.alarm-row.is-selected{background:#fff;outline:2px solid rgba(22,116,207,.25)}
.alarm-detail>span{display:block;margin-bottom:8px;color:#61778b;font-size:.68rem;font-weight:800}
.alarm-detail h2{margin:0 0 14px;color:#0a2039;font-size:1.25rem;line-height:1.35}
.alarm-detail dl,.example-detail dl{display:grid;gap:8px;margin:0}
.alarm-detail dl div,.example-detail dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e4ebf1}
.alarm-detail dt,.example-detail dt{color:#61778b;font-size:.72rem;font-weight:800}
.alarm-detail dd,.example-detail dd{margin:0;color:#0d2b46;font-weight:800}
.mini-alarm{display:grid;gap:8px;margin-top:16px;padding:12px;border:1px solid #d8e3ec;border-radius:8px;background:#f8fbfe}
.mini-alarm span,.mini-alarm strong,.mini-alarm b,.mini-alarm em{display:flex;min-height:34px;align-items:center;justify-content:center;padding:6px 8px;border:1px solid #b9c8d6;border-radius:6px;background:#fff;color:#314a61;font-size:.74rem;font-style:normal;font-weight:800;text-align:center}
.mini-alarm--same span{border-color:#d69a95;background:#fff7f6;color:#8d2f29}
.mini-alarm--flood{gap:5px;padding:10px}
.mini-alarm--flood>strong{display:block;min-height:0;padding:0 0 4px;border:0;background:transparent;color:#526a80;font-family:var(--font-latin);font-size:.62rem;letter-spacing:.08em;text-align:left}
.mini-alarm-row{display:grid;grid-template-columns:48px 58px minmax(0,1fr);gap:5px;align-items:center;min-width:0;padding:6px 7px;border:1px solid #d8e3ec;border-radius:6px;background:#fff;box-shadow:inset 3px 0 0 #9fb2c4}
.mini-alarm-row time,.mini-alarm-row b,.mini-alarm-row span{min-width:0;font-size:.58rem;font-weight:800;line-height:1.3}
.mini-alarm-row time{color:#526a80;font-family:var(--font-latin)}
.mini-alarm-row b{display:inline-flex;align-items:center;justify-content:center;padding:3px 4px;border:1px solid currentColor;border-radius:999px;font-family:var(--font-latin);font-size:.48rem}
.mini-alarm-row span{overflow:hidden;color:#0d2b46;text-overflow:ellipsis;white-space:nowrap}
.mini-alarm-row--critical{box-shadow:inset 3px 0 0 var(--alarm-critical)}.mini-alarm-row--critical b{color:var(--alarm-critical)}
.mini-alarm-row--warning{box-shadow:inset 3px 0 0 var(--alarm-warning)}.mini-alarm-row--warning b{color:var(--alarm-warning)}
.mini-alarm-row--notice{box-shadow:inset 3px 0 0 var(--alarm-notice)}.mini-alarm-row--notice b{color:var(--alarm-notice)}
.mini-alarm--code{grid-template-columns:1fr}.mini-alarm--code strong{font-family:var(--font-latin);font-size:1rem}.mini-alarm--code span{border-color:#9fc7ea;background:#f4f9ff;color:#0b5fa7}
.mini-alarm--where{grid-template-columns:1fr 1fr}.mini-alarm--where span{grid-column:1/-1}
.mini-alarm--next{grid-template-columns:1fr auto}.mini-alarm--next em{border-color:#9fc7ea;background:#f4f9ff;color:#0b5fa7}
.mini-alarm--status{grid-template-columns:1fr}.mini-alarm--status span:nth-child(1){box-shadow:inset 4px 0 0 var(--alarm-critical)}.mini-alarm--status span:nth-child(2){box-shadow:inset 4px 0 0 var(--alarm-ok)}.mini-alarm--status span:nth-child(3){box-shadow:inset 4px 0 0 var(--alarm-notice)}
.compare-layout,.flood-diagram,.scope-columns{display:grid;gap:18px}
.compare-layout article,.flood-diagram article,.scope-columns article{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}
.compare-layout b,.flood-diagram b{display:block;margin-bottom:14px;color:#536879;font-family:var(--font-latin);font-size:.72rem;letter-spacing:.12em}
.priority-before,.priority-after{display:grid;gap:9px}
.priority-before span,.priority-after span,.filter-board span,.alarm-mock span{display:flex;min-height:44px;align-items:center;padding:9px 12px;border:1px solid #c8d6e2;border-radius:7px;background:#fff;color:#20384f;font-weight:800}
.priority-before span{border-color:#d69a95;background:#fff7f6;color:#8d2f29}
.priority-after em,.alarm-mock em{min-width:84px;margin-right:10px;color:var(--color-accent);font-family:var(--font-latin);font-size:.68rem;font-style:normal;font-weight:800}
.compare-layout p,.flood-diagram p{margin:12px 0 0;color:var(--color-muted);font-size:.88rem}
.flood-stack{display:grid;gap:7px}.flood-stack span{height:22px;border:1px solid #d8e3ec;border-radius:5px;background:linear-gradient(90deg,#b42318 0 8px,#fff 8px)}
.flood-stack span:nth-child(3n){background:linear-gradient(90deg,#b7791f 0 8px,#fff 8px)}
.flood-stack span:nth-child(4n){background:linear-gradient(90deg,#1674cf 0 8px,#fff 8px)}
.alarm-list-screen{overflow:hidden;border:1px solid #cbd8e2;border-radius:12px;background:#edf4f8;color:#18324a}
.alarm-list-screen__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#142f47;color:#fff}
.alarm-list-screen__bar strong{font-family:var(--font-latin);font-size:.78rem;letter-spacing:.08em}
.alarm-list-screen__bar span{color:rgba(255,255,255,.7);font-size:.72rem;font-weight:800}
.alarm-table{display:grid;grid-template-columns:74px 86px minmax(64px,.65fr) minmax(0,1fr);gap:8px;align-items:center;margin:8px 10px;padding:10px;border:1px solid #d8e3ec;border-radius:8px;background:#fff;box-shadow:inset 4px 0 0 #9fb2c4}
.alarm-table--header{margin-top:10px;padding-top:8px;padding-bottom:8px;background:#f8fbfe;box-shadow:none}
.alarm-table--header span{color:#526a80;font-size:.68rem;font-weight:800}
.alarm-table time,.alarm-table span,.alarm-table strong{min-width:0;font-size:.74rem;font-weight:800}
.alarm-table time{color:#526a80;font-family:var(--font-latin)}
.alarm-table b{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 7px;border:1px solid currentColor;border-radius:999px;font-family:var(--font-latin);font-size:.58rem;font-weight:800}
.alarm-table strong{overflow:hidden;color:#0d2b46;text-overflow:ellipsis;white-space:nowrap}
.alarm-table--critical{box-shadow:inset 4px 0 0 var(--alarm-critical)}.alarm-table--critical b{color:var(--alarm-critical)}
.alarm-table--warning{box-shadow:inset 4px 0 0 var(--alarm-warning)}.alarm-table--warning b{color:var(--alarm-warning)}
.alarm-table--notice{box-shadow:inset 4px 0 0 var(--alarm-notice)}.alarm-table--notice b{color:var(--alarm-notice)}
.alarm-list-screen--compact .alarm-table{grid-template-columns:72px 84px minmax(58px,.6fr) minmax(0,1fr);margin:7px 10px;padding:9px}
.alarm-list-screen--compact .alarm-table time,.alarm-list-screen--compact .alarm-table span,.alarm-list-screen--compact .alarm-table strong{font-size:.7rem}
.alarm-filter-summary{display:grid;gap:8px;margin:10px;padding:10px;border:1px solid #d8e3ec;border-radius:8px;background:#fff}
.alarm-filter-summary span{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:7px 9px;border:1px solid #c8d6e2;border-radius:7px;background:#f8fbfe;color:#526a80;font-size:.74rem;font-weight:800}
.alarm-filter-summary b{color:#0d2b46;font-family:var(--font-latin);font-size:.72rem}
.alarm-filter-summary span:first-child b{color:var(--alarm-critical)}
.alarm-result-card{display:grid;gap:8px;margin:10px;padding:14px;border:1px solid #d8e3ec;border-radius:10px;background:#fff;box-shadow:inset 4px 0 0 var(--alarm-critical)}
.alarm-result-card time{color:#526a80;font-family:var(--font-latin);font-size:.74rem;font-weight:800}
.alarm-result-card>b{display:inline-flex;width:max-content;max-width:100%;align-items:center;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--alarm-critical);font-family:var(--font-latin);font-size:.62rem;font-weight:800}
.alarm-result-card strong{color:#0d2b46;font-size:1rem;line-height:1.45}
.alarm-result-card span{color:#526a80;font-size:.78rem;font-weight:800}
.alarm-list-screen--crowded .is-buried{position:relative;background:#fff;outline:2px solid rgba(11,37,69,.08)}
.alarm-list-screen--crowded .is-buried::after{content:"最初に確認したい情報";position:absolute;right:10px;bottom:-12px;padding:3px 7px;border:1px solid #c7d6e2;border-radius:999px;background:#fff;color:#526a80;font-size:.58rem;font-weight:800}
.alarm-filter-group{display:grid;gap:8px;margin:10px;padding:10px;border:1px solid #d8e3ec;border-radius:8px;background:#fff}
.alarm-filter-group>span{color:#526a80;font-size:.68rem;font-weight:800}
.alarm-filter-group div{display:flex;flex-wrap:wrap;gap:7px}
.alarm-filter-group button{min-height:32px;padding:6px 9px;border:1px solid #b9c8d6;border-radius:999px;background:#f8fbfe;color:#20384f;font-size:.7rem;font-weight:800}
.alarm-filter-group button:first-child{border-color:var(--alarm-critical);background:#fff7f6;color:var(--alarm-critical)}
.organized-alarm-list{margin:10px;padding:1px 0 10px;border:1px solid #cbd8e2;border-radius:10px;background:#f8fbfe}
.organized-alarm-list .alarm-table{margin-bottom:8px}
.alarm-detail-inline{display:grid;gap:4px;margin:0 10px;padding:12px;border:1px solid #cbd8e2;border-radius:8px;background:#fff}
.alarm-detail-inline span{color:#61778b;font-size:.68rem;font-weight:800}
.alarm-detail-inline strong{color:#0d2b46;font-size:.95rem}
.alarm-detail-inline em{color:#526a80;font-size:.74rem;font-style:normal;font-weight:800}
.filter-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.filter-board span{justify-content:center;box-shadow:inset 4px 0 0 var(--color-accent)}
.info-grid{display:grid;gap:14px}
.info-grid article{min-height:150px;padding:26px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}
.info-grid span{color:var(--color-accent);font-family:var(--font-latin);font-size:.75rem;font-weight:800;letter-spacing:.12em}
.info-grid h3{margin:14px 0 0;color:var(--color-primary);font-size:1.24rem}
.info-grid p{margin:12px 0 0;color:var(--color-muted);font-size:.9rem}
.alarm-mock{display:grid;gap:9px;padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}
.alarm-mock--flat span{border-color:#d69a95;background:#fff7f6;color:#8d2f29}
.code-only{display:grid;min-height:120px;place-items:center;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd;color:#0d2b46;font-family:var(--font-latin);font-size:2rem;font-weight:800}
.alarm-readable{display:grid;gap:10px;min-height:120px;padding:18px;border:1px solid #cbd8e2;border-radius:10px;background:#fff}
.alarm-readable strong{color:#0d2b46;font-size:1.2rem}.alarm-readable span,.alarm-readable time{color:#526a80;font-weight:800}
.flood-stack--small span{height:30px}
.design-example{overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}
.example-screen{background:#edf4f8}
.example-screen__body{display:grid;gap:14px;padding:16px}
.example-list h3,.example-detail h3{margin:0 0 14px;color:#0d2b46;font-size:1rem}
.example-detail>strong{display:block;margin-bottom:14px;color:#0a2039;font-size:1.35rem}
.example-detail p{margin:16px 0 0;padding:14px;border-left:3px solid var(--color-accent);background:#f4f9ff;color:#36546c}
.scope-columns h3{margin:0 0 16px;color:var(--color-primary);font-size:1.25rem}
.scope-columns ul{display:grid;gap:10px;margin:0}
.scope-columns li{position:relative;padding-left:22px;color:#435a70;font-weight:700}
.scope-columns li::before{content:"";position:absolute;top:.72em;left:0;width:8px;height:8px;border:2px solid var(--color-accent);border-radius:3px;background:#fff}
.contact-section p{margin:14px 0 0;color:rgba(255,255,255,.72)}
.section-actions{margin-top:28px;text-align:center}
@media(min-width:768px){
  .alarm-console__body,.compare-layout,.flood-diagram,.scope-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .info-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .example-screen__body{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);padding:20px}
}
@media(min-width:1024px){
  .hero--alarm .hero__inner{grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr)}
}
@media(max-width:767px){
  .hero--alarm .hero__visual{display:none!important}
  .alarm-row{grid-template-columns:1fr;gap:5px}
  .alarm-row strong{white-space:normal}
  .alarm-summary{grid-template-columns:1fr}
  .alarm-table{grid-template-columns:1fr;gap:5px}
  .alarm-table strong{white-space:normal}
  .mini-alarm-row{grid-template-columns:1fr;gap:4px}
  .mini-alarm-row span{white-space:normal}
  .alarm-list-screen--compact .alarm-table{grid-template-columns:1fr}
  .alarm-filter-summary span{align-items:flex-start;flex-direction:column;gap:3px}
  .alarm-list-screen--crowded .is-buried::after{position:static;display:inline-flex;width:max-content;max-width:100%;margin-top:6px}
  .priority-after em,.alarm-mock em{display:block;min-width:0;margin:0 0 3px}
  .filter-board{grid-template-columns:1fr}
  .info-grid article{min-height:auto}
}
@media(min-width:1024px){
  .scope-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
  .error-hmi__body{gap:10px;padding:12px}
  .error-hmi__body section{padding:14px}
  .error-hmi__critical div{grid-template-columns:repeat(2,minmax(88px,1fr));gap:8px}
  .error-hmi__critical button{font-size:.86rem}
  .error-hmi__notice p{display:flex;width:max-content;max-width:100%;white-space:normal}
  .mini-ui--states{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mini-ui--states span{font-size:.7rem}
  .mini-ui--steps{gap:9px}
  .mini-ui--steps span:not(:last-child)::after{right:-8px}
  .ba-card--wide{padding:18px}
  .ba-pair--screens>div{padding:14px}
  .mock-panel{padding:12px}
  .scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .scope-grid li{min-height:92px;padding:18px 12px 14px 34px;font-size:.88rem}
  .scope-grid li::before{top:20px;left:14px}
}
@media(max-width:430px){
  .error-hmi__critical div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .error-hmi__critical button{padding:8px 6px;font-size:.82rem}
  .mini-ui--buttons span,.mini-ui--choices span,.mini-ui--states span,.mini-ui--feedback span,.mini-ui--feedback strong,.mini-ui--steps span,.mini-ui--mismatch span{font-size:.7rem}
  .scope-grid{grid-template-columns:1fr}
  .scope-grid li{min-height:74px}
}

/* v4 final diagram fixes */
.error-hmi__critical div{grid-template-columns:1fr;gap:8px}
.error-hmi__critical button{width:100%;padding:9px 12px;font-size:.86rem;white-space:nowrap}
.mini-ui--steps{grid-template-columns:auto 14px auto 14px auto 14px auto;align-items:center;gap:6px}
.mini-ui--steps span{position:static}
.mini-ui--steps span:not(:last-child)::after{content:none}
.mini-ui--steps i{display:flex;align-items:center;justify-content:center;color:#6f879b;font-style:normal;font-weight:800;line-height:1}
.flow-steps li::after{content:none!important}
.flow-steps>li:not(:last-child)::after{content:"→"!important;position:absolute;z-index:2;top:50%;right:-14px;bottom:auto;width:28px;height:28px;display:grid;place-items:center;border:1px solid #c7d6e2;border-radius:50%;background:#fff;color:var(--color-accent);font-family:var(--font-latin);font-size:.9rem;font-weight:800;transform:translateY(-50%)}
@media(max-width:767px){
  .error-hmi__critical div{grid-template-columns:1fr;gap:8px}
  .error-hmi__critical button{padding:9px 12px;font-size:.86rem}
  .mini-ui--steps{grid-template-columns:auto 14px auto 14px auto 14px auto}
  .mini-ui--steps span:not(:last-child)::after{content:none}
  .flow-steps>li:not(:last-child)::after{content:"↓"!important;top:auto;right:50%;bottom:-24px;width:28px;height:28px;transform:translateX(50%)}
}
@media(max-width:430px){
  .error-hmi__critical div{grid-template-columns:1fr}
  .error-hmi__critical button{padding:9px 10px;font-size:.84rem}
}

/* =========================================================
   UI/HMI RENEWAL LANDING PAGE
   ========================================================= */
.hero--renewal .hero__inner{grid-template-columns:minmax(0,1fr);gap:48px}
.hero--renewal .hero__title{max-width:900px}
.renewal-hero-screen{overflow:hidden;border:1px solid rgba(123,196,226,.38);border-radius:16px;background:#edf4f8;box-shadow:0 26px 70px rgba(0,0,0,.28)}
.renewal-hero-screen__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#142f47;color:#fff}
.renewal-hero-screen__bar strong{font-family:var(--font-latin);font-size:.76rem;letter-spacing:.08em}
.renewal-hero-screen__bar span{color:rgba(255,255,255,.68);font-size:.72rem;font-weight:800}
.renewal-compare{display:grid;gap:12px;padding:14px}
.renewal-panel{min-width:0;padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#fff}
.renewal-panel>b{display:block;margin-bottom:10px;color:#536879;font-family:var(--font-latin);font-size:.68rem;letter-spacing:.1em}
.renewal-panel p{margin:10px 0 0;color:#526a80;font-size:.74rem;font-weight:800}
.legacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.legacy-grid span,.modern-nav span,.modern-actions button{display:flex;min-height:36px;align-items:center;justify-content:center;padding:6px;border:1px solid #b9c8d6;border-radius:6px;background:#fff;color:#20384f;font-size:.7rem;font-weight:800;text-align:center}
.legacy-grid span:nth-child(3n+1){border-color:#d69a95;background:#fff7f6;color:#8d2f29}
.legacy-grid span:nth-child(3n+2){border-color:#d6b777;background:#fffaf0;color:#7a5615}
.modern-status,.modern-main{display:grid;gap:7px;margin-bottom:9px;padding:12px;border:1px solid #cbd8e2;border-radius:8px;background:#f8fbfe}
.modern-status{box-shadow:inset 4px 0 0 var(--color-accent)}
.modern-status span,.modern-main span{color:#526a80;font-size:.68rem;font-weight:800}
.modern-status strong,.modern-main strong{color:#0d2b46;font-size:.92rem}
.modern-main{grid-template-columns:1fr 1fr}.modern-main span{grid-column:1/-1}
.modern-nav,.modern-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.modern-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:9px}
.modern-actions button{border-color:#9fc7ea;background:#f4f9ff;color:#0b5fa7}
.renewal-mini{display:grid;gap:8px;margin-top:16px;padding:12px;border:1px solid #d8e3ec;border-radius:8px;background:#f8fbfe}
.renewal-mini span,.renewal-mini strong{display:flex;min-height:34px;align-items:center;justify-content:center;padding:6px 8px;border:1px solid #b9c8d6;border-radius:6px;background:#fff;color:#314a61;font-size:.72rem;font-weight:800;text-align:center}
.renewal-mini--dense{grid-template-columns:repeat(3,minmax(0,1fr))}
.renewal-mini--dense span:nth-child(n+4){background:#fffaf0}
.renewal-mini--rules{grid-template-columns:1fr}.renewal-mini--rules span{justify-content:space-between}.renewal-mini--rules b{padding:3px 7px;border-radius:999px;background:#f4f9ff;color:#0b5fa7;font-size:.62rem}
.renewal-mini--state{grid-template-columns:1fr 1fr}.renewal-mini--state strong{grid-column:1/-1;border-color:#9fc7ea;background:#f4f9ff;color:#0b5fa7}
.renewal-mini--flow{grid-template-columns:auto 14px auto 14px auto 14px auto;align-items:center;gap:6px}.renewal-mini--flow i{color:#6f879b;font-style:normal;font-weight:800}
.renewal-mini--memory,.renewal-mini--screens{grid-template-columns:repeat(3,minmax(0,1fr))}
.renewal-mini--memory span{border-color:#d6b777;background:#fffaf0;color:#7a5615}
.renewal-timeline{display:grid;gap:14px;margin:0}
.renewal-timeline li{position:relative;min-height:120px;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}
.renewal-timeline li:not(:last-child)::after{content:"↓";position:absolute;right:50%;bottom:-24px;display:grid;width:28px;height:28px;place-items:center;border:1px solid #c7d6e2;border-radius:50%;background:#fff;color:var(--color-accent);font-family:var(--font-latin);font-weight:800;transform:translateX(50%)}
.renewal-timeline span,.renewal-approach-grid article>span{display:block;margin-bottom:12px;color:var(--color-accent);font-family:var(--font-latin);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.renewal-timeline strong{color:var(--color-primary);font-size:1.1rem}
.renewal-approach-grid{display:grid;gap:16px}
.renewal-approach-grid article{padding:26px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 12px 32px rgba(11,37,69,.05)}
.renewal-approach-grid h3{margin:0 0 16px;color:var(--color-primary);font-size:1.35rem}
.renewal-approach-grid ul{display:grid;gap:9px;margin:0}
.renewal-approach-grid li{position:relative;padding-left:20px;color:#435a70;font-weight:700}
.renewal-approach-grid li::before{content:"";position:absolute;top:.72em;left:0;width:7px;height:7px;border-radius:50%;background:var(--color-accent)}
.renewal-screen{display:grid;gap:9px;padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}
.renewal-screen span,.renewal-screen strong{display:flex;min-height:44px;align-items:center;justify-content:center;padding:9px 12px;border:1px solid #c8d6e2;border-radius:7px;background:#fff;color:#20384f;font-weight:800;text-align:center}
.renewal-screen--packed{grid-template-columns:repeat(2,minmax(0,1fr))}
.renewal-screen--packed span:nth-child(2n){background:#fffaf0}.renewal-screen--packed span:nth-child(3n){background:#fff7f6}
.renewal-screen--grouped strong{border-color:#9fc7ea;background:#f4f9ff;color:#0b5fa7}
.rule-mix,.rule-unified{display:grid;gap:9px;padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}
.rule-mix span,.rule-unified span,.rule-unified strong{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid #c8d6e2;border-radius:7px;background:#fff;color:#20384f;font-weight:800}
.rule-mix em{font-size:.72rem;font-style:normal;color:#526a80}.rule-unified strong{justify-content:center;border-color:#9fc7ea;background:#f4f9ff;color:#0b5fa7}
.renewal-flow{display:grid;gap:18px;margin:0;padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}
.renewal-flow li{position:relative;display:flex;min-height:38px;align-items:center;justify-content:center;padding:8px;border:1px solid #c8d6e2;border-radius:7px;background:#fff;color:#20384f;font-weight:800}
.renewal-flow li:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-14px;width:8px;height:8px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:translateX(-50%) rotate(45deg)}
.renewal-flow--short li{border-color:#9fc7ea;background:#f4f9ff}
.renewal-rules{grid-template-columns:repeat(2,minmax(0,1fr))}
.renewal-example__body{display:grid;gap:16px;padding:18px}
.renewal-example__before,.renewal-example__after{min-width:0;padding:16px;border:1px solid #cbd8e2;border-radius:10px;background:#fff}
.renewal-example h3{margin:0 0 12px;color:#0d2b46;font-size:1rem}
.renewal-dashboard{padding:14px;border:1px solid #cbd8e2;border-radius:10px;background:#f7fbfd}
@media(min-width:768px){
  .renewal-compare,.renewal-approach-grid,.renewal-example__body{grid-template-columns:repeat(2,minmax(0,1fr))}
  .renewal-approach-grid article:nth-child(3){grid-column:1/-1}
  .renewal-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .renewal-timeline li:not(:last-child)::after{top:50%;right:-14px;bottom:auto;transform:translateY(-50%);content:"→"}
  .renewal-rules{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1024px){
  .hero--renewal .hero__inner{grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr)}
  .renewal-timeline{grid-template-columns:repeat(6,minmax(0,1fr))}
  .renewal-approach-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .renewal-approach-grid article:nth-child(3){grid-column:auto}
  .renewal-rules{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:767px){
  .hero--renewal .hero__visual{display:none!important}
  .renewal-mini--dense,.renewal-mini--memory,.renewal-mini--screens{grid-template-columns:1fr}
  .renewal-mini--flow{grid-template-columns:1fr}
  .renewal-mini--flow i{display:none}
  .modern-main,.modern-nav,.modern-actions{grid-template-columns:1fr}
  .renewal-screen--packed{grid-template-columns:1fr}
}
