/* ============================================================
   DAVIE-PdM LP 専用のスタイル
   ------------------------------------------------------------
   このファイルは template-pdm.php を使うページでだけ読み込まれます
   （functions.php で制御）。ほかのページには影響しません。

   変更しないこと（いずれも見た目が壊れます）
   - td,th,li,figcaption,p の word-break:auto-phrase
     … 表のセル内で1〜2文字だけ最終行に落ちるのを防いでいます
   - h1〜h4 の word-break:auto-phrase / text-wrap:balance と
     p,li,.lead,.closing の text-wrap:pretty
     … 見出し・本文が意図しない位置で改行するのを防いでいます
   - nav.sect a.btn の color:#fff
     … 外すとヘッダーのボタンが赤地に紺文字になり、文字が読みにくくなります
   - ヘッダーの4つのメディアクエリ（600px以下 / 601-899px / 900-1279px / 900-1099px）
     … 画面幅ごとにヘッダーを1行に収める指定です。900-1099px で
       ブランド表記の「／ 設備予兆保全」を隠しているのも1行に収めるためです
   - .hero-tech の grid-template-columns:minmax(0,1fr) …
     … ファーストビューの3つの枠を等幅に保つ指定です。1fr に戻すと幅が不揃いになります
   - .tech-node b / .tech-node small の white-space:nowrap
     … 「設備・センサー」などのラベルが途中で改行するのを防いでいます
   - .card の border:2px（通常は紺／hover で赤）
     … hover で線の太さを変えず色だけ変える指定です。1px にすると
       マウスを乗せたときにカードの大きさがずれます
   - .foot-links の justify-content:center と .foot-copy の text-align:center
     … フッターの目次と著作権表示の中央揃えです
   ============================================================ */

  :root{
    --navy:#06004C; --red:#E50120; --bg:#FFFFFF;
    --gray-bg:#F5F5F7; --text:#1a1a2e; --muted:#555; --line:#DDD;
    --navy-2:#1b1466; --navy-pale:#eceaf5; --on-navy:#d8d6f0;
    --maxw:1080px;
  }
  .skiplink{position:absolute;left:-9999px;top:0;z-index:100;background:var(--red);color:#fff;padding:12px 20px;text-decoration:none;font-weight:bold;}
  .skiplink:focus{left:0;}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  *{box-sizing:border-box}
  body{margin:0;font-family:"Meiryo","メイリオ",system-ui,sans-serif;
       color:var(--text);background:var(--bg);line-height:1.8;font-size:1rem;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  a:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
  .hero a:focus-visible,.cta a:focus-visible{outline:3px solid #fff;outline-offset:3px;}
  
  header.site{background:#fff;border-bottom:1px solid var(--line);padding:14px 0;}
  header.site .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
  .brand{display:flex;align-items:center;gap:14px;}
  .brand img{height:30px;width:auto;display:block;}
  .brand .pdm{color:var(--navy);font-weight:bold;font-size:.95rem;letter-spacing:.04em;
       border-left:1px solid var(--line);padding-left:14px;}
    .brand .pdm{display:flex;flex-direction:column;justify-content:center;line-height:1.26;}
    .brand .pdm .pdm-base{font-size:.74em;font-weight:normal;letter-spacing:.06em;opacity:.8;}
    .brand .pdm .pdm-name{font-size:1em;font-weight:bold;}
    
    .hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:0;}
    .hero-cta .btn{display:flex;align-items:center;flex:0 0 auto;}
    .hero-uplink{flex:1 1 240px;min-width:0;
      display:flex;flex-direction:column;justify-content:center;gap:3px;
      padding:11px 18px;border:2px solid rgba(255,255,255,.55);border-radius:6px;
      text-decoration:none;color:#fff;background:transparent;}
    .hero-uplink b{font-size:.92rem;font-weight:bold;line-height:1.35;}
    .hero-uplink span{font-size:.78rem;color:var(--on-navy);letter-spacing:.04em;}
  nav.sect{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  nav.sect .sect-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  nav.sect a{color:var(--navy);text-decoration:none;font-size:.9rem;font-weight:bold;
       border-bottom:2px solid transparent;padding:2px 0;}
  nav.sect a:hover{border-bottom-color:var(--red);}
  nav.sect a.btn{color:#fff;}
  
  @media(min-width:601px) and (max-width:899px){
    nav.sect{gap:14px;}
    nav.sect .sect-links{gap:14px;}
    nav.sect .sect-links a{font-size:.85rem;white-space:nowrap;}
  }
  @media(min-width:900px) and (max-width:1279px){
    header.site .wrap{flex-wrap:nowrap;gap:12px;}
    .brand{flex:0 0 auto;}
    .brand .pdm{font-size:.85rem;padding-left:10px;}
    nav.sect{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:12px;}
    nav.sect .sect-links{flex-wrap:nowrap;gap:12px;}
    nav.sect .sect-links a{white-space:nowrap;font-size:.85rem;}
  }
  @media(min-width:900px) and (max-width:1023px){
    .brand .pdm .pdm-full{display:none;}
  }
  .btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;
       padding:14px 28px;border-radius:6px;font-weight:bold;}
  .btn:hover{opacity:.9;}
  .btn.sm{padding:10px 18px;font-size:.95rem;}
  
  td,th,li,figcaption,p{word-break:auto-phrase;}
  h1,h2,h3,h4{word-break:auto-phrase;text-wrap:balance;}
  p,li,.lead,.closing{text-wrap:pretty;}
  section{padding:64px 0;border-bottom:1px solid var(--line);}
  section.alt{background:var(--gray-bg);}
  h1{font-size:2.2rem;line-height:1.4;color:var(--navy);margin:.2em 0;}
  h2{font-size:1.6rem;color:var(--navy);border-left:6px solid var(--red);
     padding-left:14px;margin-top:0;}
  h2 .h2-label{display:block;font-size:.95rem;letter-spacing:.06em;color:var(--red);margin-bottom:6px;}
  h2 .h2-sub{display:block;}
  h3{color:var(--navy);margin-top:0;font-size:1.15rem;line-height:1.6;}
  h4{color:var(--navy);margin:0 0 8px;font-size:1.05rem;}
  .lead{font-size:1rem;color:var(--muted);}
  .kicker{color:var(--navy);font-weight:bold;font-size:.85rem;letter-spacing:.12em;margin:0 0 6px;}
  .closing{font-size:1rem;color:var(--navy);font-weight:bold;}
  .em{color:var(--red);font-weight:bold;}
  .note{color:var(--muted);font-size:.9rem;}
  .flag{color:var(--red);font-weight:bold;font-size:.8rem;
       border:1px solid var(--red);border-radius:4px;padding:0 6px;margin-left:6px;white-space:nowrap;}
  
  .hero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-bottom:0;}
  .hero h1{color:#fff;} .hero .lead{color:var(--on-navy);}
  .hero .eyebrow{color:var(--on-navy);font-size:.95rem;letter-spacing:.08em;margin:0;}
  .hero-grid{display:grid;gap:28px;margin-top:10px;}
  .hero-grid h1{margin-top:0;}
  .hero .points{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
  .hero .points li{border-left:3px solid rgba(255,255,255,.55);padding:2px 0 2px 16px;
       color:var(--on-navy);font-size:1rem;line-height:1.75;}
  .hero .points li b{color:#fff;}
  .hero .mission{color:var(--on-navy);font-size:.9rem;margin-top:36px;padding-top:16px;
       border-top:1px solid rgba(255,255,255,.25);}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px;}
  .grid.g2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));}
    .grid.g5{grid-template-columns:repeat(5,minmax(0,1fr));}
    .grid.g5 .card{display:flex;flex-direction:column;}
    @media(min-width:1024px){
      .grid.g5 .card p{line-break:strict;}
    }
    @media(max-width:1023px){
      .grid.g5 .card p{overflow-wrap:anywhere;}
    }
    .grid.g5 .fam-more{margin-top:auto;align-self:flex-start;}
    .fam-more{display:inline-block;margin-top:14px;font:inherit;font-size:.85rem;font-weight:bold;
      color:var(--navy);background:none;border:0;border-bottom:2px solid var(--red);
      padding:0 0 2px;cursor:pointer;}
    .fam-more::after{content:"＋";margin-left:7px;}
    .fam-more:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
    
    .grid.g5 .card:focus-within{background:#fff;border-color:var(--navy);color:var(--text);box-shadow:none;}
    .grid.g5 .card:focus-within h4,.grid.g5 .card:focus-within p,
    .grid.g5 .card:focus-within strong,.grid.g5 .card:focus-within .em{color:var(--text);}
    .grid.g5 .card:focus-within .fam-more{color:var(--navy);}
    .fam-modal:not([open]){display:none;}
    .fam-modal[open]{display:block;}
    .fam-modal{border:0;padding:0;background:transparent;width:min(560px,92vw);max-width:none;}
    .fam-modal::backdrop{background:rgba(6,0,76,.62);}
    .fam-modal-in{background:#fff;color:var(--text);text-align:left;
      border:1px solid var(--navy);border-top:5px solid var(--red);
      padding:28px 30px 24px;box-shadow:0 18px 50px rgba(0,0,0,.40);}
    .fam-modal-kicker{margin:0 0 6px;font-size:.85rem;font-weight:bold;color:var(--red);letter-spacing:.06em;}
    .fam-modal-t{margin:0 0 18px;font-size:1.35rem;font-weight:bold;color:var(--navy);line-height:1.5;}
    .fam-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:9px;}
    .fam-list li{font-size:1rem;color:var(--text);padding-left:18px;position:relative;line-height:1.6;}
    .fam-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--red);}
    .fam-modal-close{margin-top:24px;font:inherit;font-size:1rem;font-weight:bold;color:#fff;
      background:var(--navy);border:1px solid var(--navy);padding:10px 26px;cursor:pointer;}
    .fam-modal-close:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
    @media(max-width:1023px){.grid.g5{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media(max-width:600px){.grid.g5{grid-template-columns:1fr;}}
  .card{border:2px solid var(--navy);border-radius:8px;padding:24px;background:#fff;
       transition:border-color .15s ease,box-shadow .15s ease;}
  .card:focus-within{border-color:var(--red);box-shadow:0 10px 26px rgba(6,0,76,.08);}
  .card.on{border:2px solid var(--navy);}          
  .card.on:hover,.card.on:focus-within{border-color:var(--red);}
  .card .step{display:inline-block;width:30px;height:30px;line-height:30px;text-align:center;
       border-radius:50%;background:var(--navy);color:#fff;font-weight:bold;font-size:.9rem;
       transition:background .15s ease;}
  .card.on .step{background:var(--navy);}          
  .card:focus-within .step{background:var(--red);}
  .tablewrap{overflow-x:auto;}
  
  figure.photo{margin:32px 0 0;}
  figure.photo img{display:block;width:100%;height:auto;border-radius:8px;
       border:1px solid var(--line);background:#fff;}
  figure.photo figcaption{margin-top:10px;color:var(--muted);font-size:.85rem;}
  table{border-collapse:collapse;width:100%;min-width:600px;background:#fff;}
  th,td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;font-size:.95rem;}
  thead th{background:var(--navy);color:#fff;}
  tbody th{background:var(--gray-bg);color:var(--navy);white-space:nowrap;}
  td.pdm,th.pdm{color:var(--navy);font-weight:bold;}
  .quote{border-left:4px solid var(--red);background:#fff;padding:18px 22px;margin:32px 0 0;
       font-size:1.15rem;color:var(--navy);font-weight:bold;}
  .quote.plain{border-left-color:var(--navy);font-size:1.15rem;font-weight:normal;}
  .cando{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;margin-top:32px;}
  .cando > div{border:1px solid var(--line);border-radius:8px;padding:20px 22px;background:#fff;}
  .cando > div.no{border-color:var(--line);background:var(--gray-bg);}
  .cando > div.no h4{color:var(--muted);font-size:.9rem;}
  .cando > div.no li{color:var(--muted);font-size:.85rem;line-height:1.75;}
  .cando ul{padding-left:1.2em;margin:.4em 0 0;}
  .cando li{margin:.5em 0;}
  .cando-next-head{margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--line);
       color:var(--navy);font-weight:bold;font-size:.9rem;letter-spacing:.04em;}
  .cando-next{padding-left:1.2em;margin:0;}
  .cando-next li{margin:.35em 0;font-size:.9rem;color:var(--text);}
  .feature-head{margin:44px 0 6px;padding-left:12px;border-left:5px solid var(--navy);
       font-size:1.15rem;color:var(--navy);}
  .feature-grid{margin-top:20px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));}
  .feature-grid .card{padding:20px 22px;}
  .fn-no{display:inline-block;font-size:.8rem;font-weight:bold;letter-spacing:.06em;
       color:#fff;background:var(--navy);border-radius:4px;padding:2px 9px;margin-bottom:10px;}
  .feature-grid .card:focus-within .fn-no{background:var(--red);}
  .feature-grid h4{margin:0 0 8px;font-size:1.05rem;line-height:1.6;}
  .feature-grid p{margin:0;}
  
  .nobr{display:inline-block;}
  
  .cando-no-only{margin-top:32px;padding:20px 22px;background:var(--gray-bg);
       border:1px solid var(--line);border-radius:8px;}
  .cando-no-only h4{color:var(--muted);font-size:.9rem;margin:0 0 8px;}
  .cando-no-only ul{padding-left:1.2em;margin:0;}
  .cando-no-only li{color:var(--muted);font-size:.85rem;line-height:1.75;margin:.5em 0;}
  
  .cando-gate{margin:14px 0 0;padding:12px 14px;background:var(--navy-pale);
       border-left:3px solid var(--navy);border-radius:0 6px 6px 0;font-size:.95rem;}
  .cando-link{margin:12px 0 0;font-size:.9rem;}
  .cando-link a{color:var(--navy);}
  .reco{border:2px solid var(--navy);border-radius:8px;background:#fff;margin-top:24px;overflow:hidden;}
  .reco > div:first-child{background:var(--navy);color:#fff;padding:12px 20px;font-weight:bold;font-size:1.15rem;}
  .reco ul{margin:0;padding:18px 20px 18px 38px;}
  .reco li{margin:.5em 0;}
  .loop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 32px;}
  .loop span{background:var(--navy);color:#fff;border-radius:4px;padding:8px 16px;font-weight:bold;font-size:.95rem;}
  .loop i{color:var(--red);font-style:normal;font-weight:bold;}
  .steps{list-style:none;padding:0;margin:0;counter-reset:st;}
  .steps li{position:relative;padding:20px 0 20px 62px;border-bottom:1px dashed var(--line);}
  .steps li:last-child{border-bottom:0;}
  .steps li::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:20px;
       width:38px;height:38px;line-height:38px;text-align:center;border-radius:50%;
       background:var(--navy);color:#fff;font-weight:bold;}
  .steps li.on::before{background:var(--navy);}
  .steps li{transition:background .15s ease,color .15s ease;}
  .steps li:focus-within{background:var(--navy-pale);}
  .steps li:focus-within::before{background:var(--red);}
  .steps li:focus-within b{color:var(--red);}
  
  @media(hover:hover){
    .card:hover{background:var(--navy);border-color:var(--red);color:#fff;
       box-shadow:0 14px 30px rgba(6,0,76,.09);transform:translateY(-3px);}
    .card:hover h3,.card:hover h4,.card:hover p,.card:hover strong,
    .card:hover li,.card:hover .em,.card:hover .nobr{color:#fff;}
    .card:hover .fn-no,.card:hover .step{background:var(--red);color:#fff;}
    .card:hover .mini-icon{border-color:rgba(255,255,255,.3);}
    .steps li:hover{background:var(--navy);color:#fff;}
    .steps li:hover b,.steps li:hover .res{color:#fff;}
    .steps li:hover::before{background:var(--red);color:#fff;}
    
    .grid.g5 .card:hover .fam-more{color:#fff;}
    .fam-modal-close:hover{background:var(--red);border-color:var(--red);}
    
    .hero-uplink:hover{background:#fff;border-color:#fff;color:var(--navy);}
    .hero-uplink:hover b{color:var(--navy);}
    .hero-uplink:hover span{color:var(--navy);}
  }
  .card:focus-within{background:var(--navy);border-color:var(--red);color:#fff;}
  .card:focus-within h3,.card:focus-within h4,.card:focus-within p,.card:focus-within strong,
  .card:focus-within li,.card:focus-within .em,.card:focus-within .nobr{color:#fff;}
  .card:focus-within .fn-no,.card:focus-within .step{background:var(--red);color:#fff;}
  .steps li:focus-within{background:var(--navy);color:#fff;}
  .steps li:focus-within b,.steps li:focus-within .res{color:#fff;}
  .steps li:focus-within::before{background:var(--red);color:#fff;}
  @media(prefers-reduced-motion:reduce){ .steps li{transition:none;} }
  .steps b{color:var(--navy);display:block;font-size:1.15rem;}
  .steps .res{color:var(--muted);}
  
  .rm-now{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:8px 0 30px;}
  .rm-now > span{background:#fff;border:1px solid var(--line);border-radius:6px;
       padding:11px 18px;font-weight:bold;color:var(--navy);font-size:.95rem;}
  .rm-now > span.next{background:var(--navy);color:#fff;border-color:var(--navy);}
  .rm-now i{color:var(--red);font-style:normal;font-weight:bold;font-size:1.2rem;}
  .rm-badge{display:inline-block;font-size:.75rem;font-weight:bold;color:var(--navy);
       border:1px solid var(--navy);border-radius:99px;padding:2px 12px;
       margin:0 0 10px;letter-spacing:.06em;}
  .placeholder{background:var(--navy-pale);border:1px dashed var(--navy);color:var(--navy);
       text-align:center;padding:48px 16px;border-radius:8px;}
  .placeholder .note{display:block;margin-top:12px;}
  
  .visual-panel{border:1px solid var(--line);border-radius:12px;background:#fff;
       box-shadow:0 14px 34px rgba(6,0,76,.08);overflow:hidden;}
  .card{position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,
       background-color .22s ease,color .22s ease;}
  @media(prefers-reduced-motion:reduce){ .card,.card .step{transition:none;} }
  .mini-icon{display:block;position:relative;width:48px;height:48px;margin:0 0 18px;
       border-radius:12px;background:var(--navy-pale);border:1px solid rgba(6,0,76,.18);}
  .mini-icon::before,.mini-icon::after{content:"";position:absolute;display:block;}
  .ico-stop::before{width:22px;height:22px;border:3px solid var(--navy);border-radius:50%;left:10px;top:10px;}
  .ico-stop::after{width:8px;height:8px;background:var(--red);left:20px;top:20px;}
  .ico-cycle::before{width:25px;height:22px;border:2px solid var(--navy);border-radius:3px;left:10px;top:14px;}
  .ico-cycle::after{width:25px;height:4px;background:var(--red);left:12px;top:19px;box-shadow:5px 8px 0 -1px var(--navy),14px 8px 0 -1px var(--navy);}
  .ico-balance::before{width:28px;height:2px;background:var(--navy);left:10px;top:20px;transform:rotate(-12deg);}
  .ico-balance::after{width:10px;height:16px;border:2px solid var(--red);border-top:0;left:7px;top:22px;box-shadow:23px -5px 0 -2px #fff,23px -5px 0 0 var(--navy);}
  .ico-person::before{width:12px;height:12px;border:2px solid var(--navy);border-radius:50%;left:17px;top:8px;}
  .ico-person::after{width:23px;height:19px;border:2px solid var(--navy);border-bottom:0;border-radius:13px 13px 0 0;left:12px;top:25px;box-shadow:15px 5px 0 -4px var(--red);}
  .ico-shield::before{width:24px;height:28px;background:var(--navy);left:12px;top:9px;clip-path:polygon(50% 0,100% 17%,90% 72%,50% 100%,10% 72%,0 17%);}
  .ico-shield::after{width:6px;height:13px;border-right:3px solid #fff;border-bottom:3px solid #fff;left:21px;top:14px;transform:rotate(45deg);}
  .ico-plan::before{width:26px;height:28px;border:2px solid var(--navy);border-radius:3px;left:10px;top:9px;}
  .ico-plan::after{width:15px;height:2px;background:var(--red);left:17px;top:18px;box-shadow:0 7px 0 var(--navy),0 14px 0 var(--navy);}
  .ico-quality::before{width:28px;height:17px;border-left:3px solid var(--navy);border-bottom:3px solid var(--navy);left:9px;top:12px;}
  .ico-quality::after{width:24px;height:14px;border-top:3px solid var(--red);transform:rotate(-34deg);left:12px;top:17px;}
  .ico-record::before{width:25px;height:30px;border:2px solid var(--navy);border-radius:3px;left:11px;top:8px;}
  .ico-record::after{width:14px;height:2px;background:var(--red);left:17px;top:17px;box-shadow:0 7px 0 var(--navy),0 14px 0 var(--navy);}
  
  .hero-side{display:grid;gap:22px;}
  .hero-tech{position:relative;display:grid;
       grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);
       align-items:stretch;gap:4px;padding:24px 10px;border:1px solid rgba(255,255,255,.3);
       border-radius:12px;background:rgba(255,255,255,.07);overflow:hidden;}
  .hero-tech::before{content:"";position:absolute;inset:0;opacity:.18;
       background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
       background-size:22px 22px;}
  .tech-node{position:relative;z-index:1;min-height:150px;border:1px solid rgba(255,255,255,.38);
       border-radius:9px;background:rgba(6,0,76,.62);padding:18px 4px 12px;text-align:center;
       display:flex;flex-direction:column;align-items:center;justify-content:flex-start;}
  .tech-node b{color:#fff;font-size:.88rem;white-space:nowrap;}
  .tech-node small{color:var(--on-navy);font-size:.7rem;line-height:1.5;margin-top:4px;white-space:nowrap;}
  @media(max-width:1100px){
    .hero-tech{gap:6px;padding:20px 12px;}
    .tech-node{padding:16px 4px 12px;}
    .tech-node b{font-size:.85rem;}
    .tech-node small{font-size:.68rem;}
  }
  @media(min-width:601px) and (max-width:1023px){
    .hero-tech{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);gap:3px;padding:16px 8px;}
    .tech-node{padding:14px 2px 10px;min-height:138px;}
    .tech-node b{font-size:.78rem;}
    .tech-node small{font-size:.62rem;}
    .tech-arrow{font-size:1.05rem;}
    .fv-ico{width:44px;height:44px;margin-bottom:14px;}
  }
  .tech-arrow{position:relative;z-index:1;align-self:center;color:var(--red);font-style:normal;font-weight:bold;font-size:1.35rem;text-align:center;}
  .fv-ico{display:block;width:54px;height:54px;margin:0 auto 18px;flex:0 0 auto;}
  .sensor-art{position:relative;width:58px;height:48px;margin:0 auto 26px;flex:0 0 auto;
       border:2px solid #fff;border-radius:6px;}
  .sensor-art::before{content:"";position:absolute;left:11px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--red);
       box-shadow:16px 0 0 #fff,32px 0 0 #fff,0 16px 0 #fff,16px 16px 0 #fff,32px 16px 0 #fff;}
  .chip-art{position:relative;width:54px;height:54px;margin:0 auto 20px;flex:0 0 auto;
       border:2px solid #fff;border-radius:7px;box-shadow:inset 0 0 0 8px rgba(255,255,255,.08);}
  .chip-art::before,.chip-art::after{content:"";position:absolute;background:var(--red);}
  .chip-art::before{width:22px;height:2px;left:14px;top:18px;box-shadow:0 8px 0 #fff,0 16px 0 var(--red);}
  .chip-art::after{width:2px;height:62px;left:25px;top:-6px;box-shadow:-13px 0 0 rgba(255,255,255,.65),13px 0 0 rgba(255,255,255,.65);}
  .recommend-art{position:relative;width:60px;height:62px;margin:0 auto 12px;flex:0 0 auto;
       border:2px solid #fff;border-radius:6px;text-align:left;}
  .recommend-art::before{content:"";position:absolute;width:38px;height:4px;background:var(--red);left:9px;top:11px;
       box-shadow:0 13px 0 rgba(255,255,255,.8),0 25px 0 rgba(255,255,255,.8),0 37px 0 rgba(255,255,255,.8);}
  
  .problem-grid{margin-top:24px;}
  .loss-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin:28px 0 0;padding:24px;
       border-radius:12px;background:var(--navy-pale);border:1px solid rgba(6,0,76,.15);}
  .loss-node{position:relative;text-align:center;color:var(--navy);font-weight:bold;padding:14px 10px;background:#fff;border:1px solid var(--line);border-radius:8px;}
  .loss-node:not(:last-child)::after{content:"→";position:absolute;right:-21px;top:50%;transform:translateY(-50%);color:var(--red);font-size:1.3rem;}
  .loss-node:last-child{border:2px solid var(--red);}
  
  
  .pdm-steps{margin-top:22px;}
  .function-art{position:relative;height:82px;margin:-2px 0 16px;border-radius:8px;background:var(--navy-pale);overflow:hidden;}
  .function-art::before,.function-art::after{content:"";position:absolute;}
  .collect-art::before{left:20px;top:25px;width:10px;height:10px;border:2px solid var(--navy);border-radius:50%;
       box-shadow:28px -12px 0 -2px #fff,28px -12px 0 0 var(--navy),58px 5px 0 -2px #fff,58px 5px 0 0 var(--navy),88px -8px 0 -2px #fff,88px -8px 0 0 var(--navy);}
  .collect-art::after{left:28px;top:31px;width:84px;height:2px;background:var(--red);transform:rotate(-4deg);}
  .detect-art::before{left:12px;right:12px;top:43px;height:2px;background:var(--navy);}
  .detect-art::after{left:16px;top:20px;width:calc(100% - 32px);height:40px;
       background:var(--red);clip-path:polygon(0 66%,12% 54%,24% 61%,36% 40%,48% 55%,61% 20%,73% 38%,85% 7%,100% 23%,100% 29%,85% 14%,73% 45%,61% 27%,48% 62%,36% 47%,24% 68%,12% 61%,0 73%);}
  .show-art::before{left:26px;top:14px;width:calc(100% - 52px);height:54px;border:2px solid var(--navy);border-radius:6px;background:#fff;}
  .show-art::after{left:39px;top:27px;width:42%;height:4px;background:var(--red);box-shadow:0 12px 0 var(--navy),0 24px 0 var(--line);}
  .reco-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;}
  .reco-visual{padding:24px;background:var(--navy-pale);display:flex;align-items:center;justify-content:center;}
  .machine-card{width:100%;max-width:280px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;}
  .machine-head{display:flex;justify-content:space-between;align-items:center;color:var(--navy);font-weight:bold;font-size:.9rem;}
  .status-pill{font-size:.75rem;color:#fff;background:var(--red);border-radius:99px;padding:3px 10px;}
  .signal-chart{height:72px;margin:14px 0;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);position:relative;
       background:linear-gradient(180deg,rgba(229,1,32,.12),transparent 55%);}
  .signal-chart::before{content:"";position:absolute;left:5px;right:5px;top:13px;height:43px;background:var(--red);
       clip-path:polygon(0 70%,12% 56%,24% 67%,36% 39%,48% 56%,60% 24%,73% 34%,85% 6%,100% 17%,100% 23%,85% 13%,73% 41%,60% 31%,48% 63%,36% 46%,24% 74%,12% 63%,0 77%);}
  .machine-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  .machine-meta span{font-size:.75rem;color:var(--muted);background:var(--gray-bg);padding:6px;border-radius:4px;}
  .pdm-flow{margin:34px 0 0;padding:28px 22px;border-radius:12px;background:var(--navy);color:#fff;overflow:hidden;}
  .pdm-flow-grid{display:grid;grid-template-columns:1fr 30px 1fr 30px 1.15fr;gap:10px;align-items:stretch;}
  .flow-box{position:relative;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:rgba(255,255,255,.08);padding:18px;text-align:center;}
  .flow-box b{display:block;color:#fff;margin-top:10px;}
  .flow-box small{display:block;color:var(--on-navy);line-height:1.55;margin-top:4px;}
  .flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--red);font-size:1.5rem;font-weight:bold;}
  .sensor-dots{display:grid;grid-template-columns:repeat(4,20px);justify-content:center;gap:8px;margin:6px auto 14px;}
  .sensor-dots i{width:20px;height:20px;border-radius:50%;border:2px solid #fff;position:relative;}
  .sensor-dots i::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--red);}
  .state-pills{display:flex;justify-content:center;gap:6px;margin:10px 0 14px;}
  .state-pills span{border:1px solid rgba(255,255,255,.55);padding:5px 8px;border-radius:99px;font-size:.72rem;}
  .state-pills span:nth-child(2){background:var(--red);border-color:var(--red);}
  .flow-card-lines{display:grid;gap:7px;margin:6px auto 13px;max-width:150px;}
  .flow-card-lines i{height:5px;background:rgba(255,255,255,.65);border-radius:4px;}
  .flow-card-lines i:first-child{background:var(--red);width:70%;}
  .pdm-flow figcaption{text-align:center;color:var(--on-navy);font-size:.9rem;margin-top:18px;}
  
  .case-loop{display:grid;grid-template-columns:repeat(9,auto);justify-content:start;gap:8px;}
  .case-loop span{position:relative;padding:42px 14px 9px;min-width:112px;text-align:center;}
  .case-loop span::before{content:"";position:absolute;left:50%;top:11px;transform:translateX(-50%);width:21px;height:21px;border:2px solid #fff;border-radius:50%;}
  .case-loop span:nth-of-type(2)::before,.case-loop span:nth-of-type(5)::before{background:var(--red);border-color:var(--red);}
  .outcome-grid{margin-top:22px;}
  .outcome-grid .card{padding-top:26px;}
  
  .steps{position:relative;}
  .steps::before{content:"";position:absolute;left:18px;top:30px;bottom:30px;width:2px;background:var(--line);}
  .steps li{margin:0 0 12px;padding:20px 22px 20px 72px;border:1px solid var(--line);border-radius:9px;background:#fff;}
  .steps li::before{left:0;top:50%;transform:translateY(-50%);z-index:1;}
  .steps li.on{border:1px solid var(--line);box-shadow:none;}
  .steps .res{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);}
  
  .platform-map{margin:30px 0 0;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--gray-bg);}
  .platform-steps{display:grid;grid-template-columns:repeat(7,auto);gap:8px;align-items:center;justify-content:center;}
  .platform-node{min-width:132px;padding:18px 16px;border-radius:8px;background:var(--navy);color:#fff;text-align:center;font-weight:bold;}
  .platform-arrow{color:var(--red);font-size:1.3rem;font-weight:bold;}
  .pdm-app{margin:22px auto 0;max-width:520px;padding:18px 20px;border:2px solid var(--red);border-radius:9px;background:#fff;text-align:center;color:var(--navy);font-weight:bold;position:relative;}
  .pdm-app::before{content:"";position:absolute;left:50%;top:-24px;height:22px;border-left:2px dashed var(--red);}
  .decision-package{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;color:var(--muted);font-size:.9rem;}
  .decision-package::before,.decision-package::after{content:"";height:1px;max-width:120px;flex:1;background:var(--line);}
  .uplink{display:block;border:2px solid var(--navy);border-radius:8px;padding:22px 24px;
       background:#fff;text-decoration:none;color:var(--navy);margin-top:32px;}
  .uplink:hover{background:var(--gray-bg);}
  .uplink b{display:block;font-size:1.15rem;}
  .uplink .catch{display:block;color:var(--navy);font-weight:bold;margin-top:6px;}
  .uplink span.desc{display:block;color:var(--muted);font-size:.92rem;}
  .cta{background:var(--navy);color:#fff;text-align:center;border-bottom:0;}
  .cta h2{color:#fff;border:0;padding-left:0;}
  .cta .lead,.cta .note{color:var(--on-navy);}
  .cta .flag{color:#fff;border-color:rgba(255,255,255,.75);}
  
  footer{padding:44px 0 36px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);}
  footer p{margin:.35em 0;}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;flex-wrap:wrap;}
  .foot-logo img{height:56px;width:auto;display:block;}
  .foot-info{text-align:right;}
  .foot-info .foot-name{color:var(--navy);font-weight:bold;font-size:.95rem;}
  .foot-info a{color:var(--muted);}
  .foot-info a:hover{color:var(--navy);}
  .foot-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);}
  .foot-links a{color:var(--navy);text-decoration:none;font-weight:bold;font-size:.9rem;
       border-bottom:2px solid transparent;padding:2px 0;}
  .foot-links a:hover{border-bottom-color:var(--red);}
  .foot-copy{margin-top:24px;text-align:center;}   
  @media(max-width:700px){
    .foot-top{flex-direction:column;gap:18px;}
    .foot-info{text-align:left;}
  }
  img{max-width:100%;height:auto;}
  @media(min-width:860px){
    .hero-grid{grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
  }
  @media(max-width:900px){
    .loss-chain{grid-template-columns:1fr 1fr;}
    .loss-node:nth-child(2)::after{display:none;}
    .reco-body{grid-template-columns:1fr;}
    .pdm-flow-grid{grid-template-columns:1fr;}
    .flow-arrow{transform:rotate(90deg);min-height:22px;}
    .case-loop{grid-template-columns:1fr;justify-content:stretch;}
    .case-loop i{transform:rotate(90deg);text-align:center;}
    .platform-steps{grid-template-columns:1fr;}
    .platform-arrow{transform:rotate(90deg);text-align:center;}
  }
  @media(max-width:600px){
    h1{font-size:1.7rem;} h2{font-size:1.35rem;} section{padding:48px 0;}
    nav.sect{width:100%;gap:12px;}
    nav.sect .sect-links{flex-wrap:nowrap;overflow-x:auto;gap:18px;width:100%;padding-bottom:6px;-webkit-overflow-scrolling:touch;}
    nav.sect .sect-links a{white-space:nowrap;font-size:.85rem;}
    nav.sect .btn.sm{flex:0 0 100%;text-align:center;}
    .brand .pdm{font-size:.85rem;padding-left:10px;}
    .steps li{padding-left:52px;} .steps li::before{width:32px;height:32px;line-height:32px;}
    .hero-tech{grid-template-columns:1fr;}
    .hero-tech .tech-arrow{transform:rotate(90deg);}
    .tech-node{min-height:130px;}
    .loss-chain{grid-template-columns:1fr;gap:18px;}
    .loss-node:not(:last-child)::after{display:block;right:auto;left:50%;top:auto;bottom:-22px;transform:translateX(-50%) rotate(90deg);}
    .platform-map{padding:20px 16px;}
    .platform-node{min-width:0;width:100%;}
  }
