/* Red-infrared service pages. All additions are page-scoped. */
.infrared-page{overflow-x:clip;background:#f5f8fc;color:#17314e}
.infrared-page main{min-width:0}
.infrared-page .v3-hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(320px,.92fr)}
.infrared-page .v3-hero h1{text-wrap:balance}
.infrared-page .v3-hero .v3-lead{text-wrap:pretty}
.infrared-page .v3-hero-visual{margin:0;padding:14px;border:1px solid #345979;border-radius:20px;background:rgba(16,51,79,.8);box-shadow:0 18px 48px rgba(0,20,38,.22)}
.infrared-page .v3-hero-visual img{display:block;width:100%;height:auto;border-radius:14px}
.infrared-page .v3-hero-visual figcaption{margin:10px 5px 0;color:#a7c9df;font-size:12px;line-height:1.65}
.infrared-page .v3-brief strong{display:block;margin-bottom:10px;color:#fff;font-size:18px;line-height:1.45}
.infrared-page .v3-brief p:last-child{margin-bottom:0}
.infrared-page .v3-body{min-width:0}
.infrared-page .v3-section{overflow:hidden}
.infrared-page .v3-section>p:last-child{margin-bottom:0}
.infrared-page .v3-toc{position:sticky;top:104px;display:block;padding:14px;border:1px solid #dce7f3;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(15,42,78,.08);backdrop-filter:blur(12px)}
.infrared-page .v3-toc .toc-label{display:flex;align-items:center;gap:8px;margin:0 5px 10px;color:#6b8298;font-size:11px;font-weight:900;letter-spacing:.1em}
.infrared-page .v3-toc .toc-label:before{content:"";width:7px;height:7px;border-radius:50%;background:#1478ff;box-shadow:0 0 0 4px rgba(20,120,255,.1)}
.infrared-page .v3-toc-links{display:flex;flex-direction:column;gap:4px;min-width:0}
.infrared-page .v3-toc a{position:relative;display:block;padding:10px 11px;border-radius:10px;color:#405a73;font-size:13px;font-weight:700;line-height:1.45;text-decoration:none;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.infrared-page .v3-toc a:hover{background:#f0f6fd;color:#0d62cf}
.infrared-page .v3-toc a[aria-current="true"]{background:#eaf3ff;color:#075fc9;font-weight:900;box-shadow:inset 3px 0 0 #1478ff}
.infrared-page .v3-toc a.v3-toc-cta{margin-top:8px;padding:10px 12px;background:#0d67d5;color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(13,103,213,.2)}
.infrared-page .v3-toc a.v3-toc-cta:hover,.infrared-page .v3-toc a.v3-toc-cta[aria-current="true"]{background:#0757ba;color:#fff;box-shadow:0 10px 22px rgba(13,103,213,.25)}
.infrared-page .ir-answer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}
.infrared-page .ir-answer-item{min-width:0;padding:17px 18px;border:1px solid #d9e8f7;border-radius:14px;background:linear-gradient(135deg,#f7fbff,#fff)}
.infrared-page .ir-answer-item span{display:block;margin-bottom:7px;color:#1269cc;font-size:12px;font-weight:900;letter-spacing:.03em}
.infrared-page .ir-answer-item strong{display:block;color:#173b62;font-size:15px;line-height:1.65}
.infrared-page .ir-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 4px}
.infrared-page .ir-stat{min-width:0;padding:17px;border:1px solid #dfeaf6;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,42,78,.05)}
.infrared-page .ir-stat strong{display:block;margin-bottom:7px;color:#0d57bd;font-size:24px;line-height:1.15}
.infrared-page .ir-stat span{display:block;color:#5b7188;font-size:12px;line-height:1.55}
.infrared-page .ir-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.infrared-page .ir-card{display:block;min-width:0;padding:20px;border:1px solid #dfeaf6;border-radius:17px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 10px 26px rgba(15,42,78,.05)}
.infrared-page a.ir-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.infrared-page a.ir-card:hover{transform:translateY(-3px);border-color:#abd2ff;box-shadow:0 16px 34px rgba(20,120,255,.1)}
.infrared-page .ir-card-code{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:8px;background:#edf6ff;color:#1261d5;font-size:11px;font-weight:950;letter-spacing:.03em}
.infrared-page .ir-card h3{margin:12px 0 8px;color:#0f2a4e;font-size:19px;line-height:1.42}
.infrared-page .ir-card p{margin:0;color:#526981;font-size:14px;line-height:1.72}
.infrared-page .ir-card-link{display:inline-flex;margin-top:12px;color:#1478ff;font-size:12px;font-weight:900}
.infrared-page .ir-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0}
.infrared-page .ir-tag{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #d9e7f5;border-radius:999px;background:#f7fbff;color:#34536f;font-size:11px;font-weight:800}
.infrared-page .ir-tag.status{border-color:#cce5ff;background:#edf7ff;color:#0d62cf}
.infrared-page .ir-tag.warning{border-color:#f5dbc0;background:#fff7ef;color:#9a551c}
.infrared-page .ir-tag.success{border-color:#cfeedd;background:#effbf5;color:#16774d}
.infrared-page .ir-table{max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid #dfe8f2;border-radius:13px;overscroll-behavior-x:contain}
.infrared-page .ir-table table{width:100%;min-width:680px;border-collapse:collapse;background:#fff;text-align:left;font-size:14px;line-height:1.75}
.infrared-page .ir-table th{background:#edf4fc;color:#173b62;font-weight:800}
.infrared-page .ir-table th,.infrared-page .ir-table td{padding:13px 15px;border-bottom:1px solid #e6edf5;vertical-align:top}
.infrared-page .ir-table tr:last-child td{border-bottom:0}
.infrared-page .ir-table td{color:#405970}
.infrared-page .ir-note{margin:18px 0;padding:17px 18px;border-left:4px solid #1478ff;border-radius:0 12px 12px 0;background:#eef7ff;color:#294a69;font-size:14px;line-height:1.8}
.infrared-page .ir-note.warning{border-left-color:#df7b2c;background:#fff7ef;color:#754620}
.infrared-page .ir-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none;counter-reset:ir-step}
.infrared-page .ir-process li{counter-increment:ir-step;min-width:0;padding:18px;border:1px solid #dfeaf6;border-radius:15px;background:#f8fbff;color:#405970;font-size:14px;line-height:1.72}
.infrared-page .ir-process li:before{content:"0" counter(ir-step);display:grid;place-items:center;width:34px;height:30px;margin-bottom:11px;border-radius:9px;background:#1478ff;color:#fff;font-size:11px;font-weight:950}
.infrared-page .ir-process strong{display:block;margin-bottom:6px;color:#173b62;font-size:15px}
.infrared-page .ir-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none}
.infrared-page .ir-check-list li{position:relative;margin:0;padding:14px 15px 14px 42px;border:1px solid #e4edf7;border-radius:14px;background:#fff;color:#405970;font-size:14px;line-height:1.7}
.infrared-page .ir-check-list li:before{content:"✓";position:absolute;left:14px;top:15px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e8fbf3;color:#128456;font-size:12px;font-weight:950}
.infrared-page .ir-catalog-toolbar{position:sticky;top:86px;z-index:8;display:grid;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,220px)) auto;gap:10px;align-items:end;margin:0 0 18px;padding:15px;border:1px solid #dce9f7;border-radius:17px;background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(15,42,78,.09);backdrop-filter:blur(12px)}
.infrared-page .ir-catalog-toolbar label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:900}
.infrared-page .ir-catalog-toolbar input,.infrared-page .ir-catalog-toolbar select{width:100%;min-height:43px;padding:9px 12px;border:1px solid #ccdaea;border-radius:11px;background:#f9fbfe;color:#0f172a;font:inherit;font-size:14px;outline:none}
.infrared-page .ir-catalog-toolbar input:focus,.infrared-page .ir-catalog-toolbar select:focus{border-color:#1478ff;background:#fff;box-shadow:0 0 0 3px rgba(20,120,255,.12)}
.infrared-page .ir-toolbar-actions{display:flex;align-items:center;gap:8px;min-height:43px}
.infrared-page .ir-toolbar-actions button{min-height:41px;padding:8px 12px;border:1px solid #d5e3f2;border-radius:10px;background:#f7fbff;color:#0d57bd;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.infrared-page .ir-toolbar-actions button:hover,.infrared-page .ir-toolbar-actions button:focus-visible{border-color:#1478ff;background:#eef7ff}
.infrared-page .ir-result-count{min-width:92px;color:#64748b;font-size:12px;font-weight:900;text-align:right}
.infrared-page .ir-catalog-list{display:grid;gap:11px}
.infrared-page .ir-catalog-group{margin:0 0 20px}
.infrared-page .ir-catalog-group>h2{scroll-margin-top:158px}
.infrared-page .ir-catalog-item{overflow:hidden;border:1px solid #e2ebf5;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,42,78,.045)}
.infrared-page .ir-catalog-item[hidden],.infrared-page .ir-catalog-group[hidden]{display:none}
.infrared-page .ir-catalog-item>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;cursor:pointer;list-style:none}
.infrared-page .ir-catalog-item>summary::-webkit-details-marker{display:none}
.infrared-page .ir-catalog-item>summary:focus-visible{outline:3px solid rgba(20,120,255,.24);outline-offset:-3px}
.infrared-page .ir-catalog-item[open]{border-color:#bad9ff;box-shadow:0 14px 32px rgba(20,120,255,.09)}
.infrared-page .ir-catalog-item[open]>summary{background:linear-gradient(135deg,#f3f9ff,#fff)}
.infrared-page .ir-item-id{display:inline-grid;place-items:center;min-width:54px;height:32px;padding:0 8px;border-radius:9px;background:#eef7ff;color:#1261d5;font-size:12px;font-weight:950}
.infrared-page .ir-catalog-item h3{margin:0;color:#0f2a4e;font-size:17px;line-height:1.45}
.infrared-page .ir-open-label{color:#1478ff;font-size:12px;font-weight:900;white-space:nowrap}
.infrared-page .ir-open-label:after{content:"＋";margin-left:7px;font-size:15px}
.infrared-page .ir-catalog-item[open] .ir-open-label:after{content:"−"}
.infrared-page .ir-item-body{padding:0 16px 16px}
.infrared-page .ir-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:14px;border-top:1px solid #e7eef7;background:#fbfdff}
.infrared-page .ir-detail{min-width:0;padding:13px;border:1px solid #e8eff8;border-radius:12px;background:#fff}
.infrared-page .ir-detail dt{margin:0 0 6px;color:#0d57bd;font-size:12px;font-weight:950}
.infrared-page .ir-detail dd{margin:0;color:#40566d;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.infrared-page .ir-item-actions{display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px 0}
.infrared-page .ir-item-actions a{color:#1269cc;font-size:13px;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.infrared-page .ir-direction-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.infrared-page .ir-direction-card{min-width:0;padding:18px;border:1px solid #dfeaf6;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(15,42,78,.05)}
.infrared-page .ir-direction-card h2,.infrared-page .ir-direction-card h3{margin:10px 0 8px;color:#0f2a4e;font-size:19px;line-height:1.45}
.infrared-page .ir-direction-card p{margin:0;color:#526981;font-size:14px;line-height:1.72}
.infrared-page .ir-scene-list{display:grid;gap:12px;margin-top:14px}
.infrared-page .ir-scene{padding:17px;border:1px solid #e2ebf5;border-radius:15px;background:#fff}
.infrared-page .ir-scene h3{margin:8px 0 9px;color:#143758;font-size:17px;line-height:1.5}
.infrared-page .ir-scene dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}
.infrared-page .ir-scene dl>div{padding:11px 12px;border-radius:11px;background:#f7faff}
.infrared-page .ir-scene dt{margin:0 0 5px;color:#0d57bd;font-size:11px;font-weight:950}
.infrared-page .ir-scene dd{margin:0;color:#405970;font-size:13px;line-height:1.65}
.infrared-page .ir-faq{display:grid;gap:10px}
.infrared-page .ir-faq details{padding:0;border-top:1px solid #e1e9f2}
.infrared-page .ir-faq summary{padding:17px 0;color:#193c61;font-weight:800;line-height:1.7;cursor:pointer}
.infrared-page .ir-faq p{margin:0 0 17px}
.infrared-page .ir-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.infrared-page .ir-related a{display:block;min-width:0;padding:17px;border:1px solid #deebf7;border-radius:11px;background:#f7faff}
.infrared-page .ir-related a:hover{border-color:#70a9ed}
.infrared-page .ir-related span{display:block;margin-bottom:7px;color:#237bd5;font-size:12px}
.infrared-page .ir-related strong{display:block;color:#23415f;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.infrared-page .preview-form-note{margin:14px 0 0;color:#85552b;font-size:13px;line-height:1.8}
.infrared-page .preview-form-note a{color:#1269cc;text-decoration:underline}
.infrared-page a:focus-visible,.infrared-page summary:focus-visible,.infrared-page button:focus-visible{outline:3px solid #2c9df3;outline-offset:4px}
.infrared-page .ir-empty{padding:24px;border:1px dashed #bdd5ed;border-radius:15px;background:#f8fbff;color:#526d88;text-align:center}
.infrared-page .ir-empty[hidden]{display:none}

@media(max-width:1050px){
  .infrared-page .v3-hero-grid{grid-template-columns:1fr}
  .infrared-page .v3-hero-visual{max-width:660px}
  .infrared-page .ir-stat-grid,.infrared-page .ir-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .infrared-page .ir-catalog-toolbar{top:76px;grid-template-columns:1fr 1fr}
  .infrared-page .ir-toolbar-actions{justify-content:flex-start}
}
@media(max-width:1000px){
  .infrared-page .v3-layout{display:block;padding-top:28px}
  .infrared-page .v3-body{margin-top:20px}
  .infrared-page .v3-section{scroll-margin-top:184px}
  .infrared-page .v3-toc{position:sticky;top:76px;z-index:12;padding:10px 12px;border:1px solid #dce7f3;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(15,42,78,.1)}
  .infrared-page .v3-toc .toc-label{margin:0 4px 8px}
  .infrared-page .v3-toc-links{display:flex;flex-direction:row;gap:7px;overflow-x:auto;padding:0 0 2px;overscroll-behavior-x:contain;scrollbar-width:none}
  .infrared-page .v3-toc-links::-webkit-scrollbar{display:none}
  .infrared-page .v3-toc a{flex:0 0 auto;padding:8px 12px;border:1px solid #e1eaf4;border-radius:999px;background:#f8fbff;white-space:nowrap}
  .infrared-page .v3-toc a[aria-current="true"]{border-color:#bedcff;background:#eaf3ff;box-shadow:none}
  .infrared-page .v3-toc a.v3-toc-cta{margin-top:0;padding:8px 13px;border-color:#0d67d5;background:#0d67d5;box-shadow:none}
}
@media(max-width:720px){
  .infrared-page .v3-hero-visual{padding:9px}
  .infrared-page .v3-toc{top:70px;padding:8px;border-radius:12px}
  .infrared-page .v3-toc .toc-label{display:none}
  .infrared-page .v3-toc-links{gap:6px}
  .infrared-page .v3-toc a{padding:7px 11px;font-size:12px}
  .infrared-page .ir-answer,.infrared-page .ir-card-grid,.infrared-page .ir-check-list,.infrared-page .ir-direction-list,.infrared-page .ir-related{grid-template-columns:1fr}
  .infrared-page .ir-stat-grid,.infrared-page .ir-process{grid-template-columns:1fr 1fr}
  .infrared-page .ir-catalog-toolbar{position:static;grid-template-columns:1fr;padding:12px}
  .infrared-page .ir-result-count{text-align:left}
  .infrared-page .ir-catalog-group>h2{scroll-margin-top:88px}
  .infrared-page .ir-catalog-item>summary{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px}
  .infrared-page .ir-open-label{display:none}
  .infrared-page .ir-item-body{padding:0 11px 12px}
  .infrared-page .ir-detail-grid{grid-template-columns:1fr;padding:11px}
  .infrared-page .ir-scene dl{grid-template-columns:1fr}
  .infrared-page .ir-table table{min-width:620px}
}
@media(max-width:390px){
  .infrared-page .ir-stat-grid,.infrared-page .ir-process{grid-template-columns:1fr}
  .infrared-page .ir-card,.infrared-page .ir-direction-card{padding:16px}
  .infrared-page .ir-item-id{min-width:49px}
  .infrared-page .ir-catalog-item h3{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .infrared-page *, .infrared-page *::before,.infrared-page *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
