/* Panasonic customer case study; scoped to leave other industry pages unchanged. */
.onsite-power { background:#fff; }
.onsite-power figure { margin:0; min-width:0; }
.onsite-power img { display:block; width:100%; height:auto; }
.onsite-power figcaption { margin-top:14px; color:var(--ip-muted); font-size:14px; line-height:1.6; }
.onsite-power .ip-button { color:#0b1f26 !important; }
.onsite-power .ip-button:hover { background:#ffa65e; }
.onsite-power a:focus-visible { outline:3px solid var(--ip-teal); outline-offset:5px; }
.op-hero { padding:72px 24px 0; background:linear-gradient(160deg,#fff 40%,#f3f6f7); }
.op-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.op-customer { margin:0 0 20px; color:var(--ip-teal); font-size:14px; font-weight:600; line-height:1.6; }
.onsite-power h1 { margin:0 0 24px; color:var(--ip-ink); font-size:clamp(36px,3.8vw,52px) !important; line-height:1.14; }
.onsite-power h1 span { color:var(--ip-teal); }
.op-hero .ip-lead { margin:0; }
.op-secondary { margin:20px 0 0; font-size:14px; line-height:1.6; }
.op-facility img { border-radius:8px; }
.op-facts { display:grid; grid-template-columns:1fr 1fr 1.5fr 1fr; gap:28px; margin:56px 0 0; padding:28px 0 32px; border-top:1px solid #d3dade; }
.op-facts dt { margin:0 0 8px; color:var(--ip-muted); font-size:13px; }
.op-facts dd { margin:0; color:var(--ip-ink); font-size:15px; font-weight:600; line-height:1.5; }
.op-story-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; align-items:start; }
.onsite-power .op-story-grid h2 { margin:0; }
.op-body p,.op-workflow p { margin:0 0 20px; color:var(--ip-muted); font-size:17px; line-height:1.75; }
.op-example { margin-top:30px; padding:24px 28px; border-left:3px solid var(--ip-teal); background:#f4f6f7; }
.onsite-power .op-example h3 { margin:0 0 12px; font-size:20px !important; }
.op-example p { margin:0; font-size:15px; }
.op-section-intro { max-width:800px; margin-bottom:40px; }
.op-section-intro h2 { margin-top:0; }
.op-assistant-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; align-items:start; }
.op-workflow > div { margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid #d3dade; }
.op-workflow > div:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.onsite-power .op-workflow h3 { margin:0 0 12px; }
.op-workflow p { margin-bottom:0; font-size:16px; }
.op-project { max-width:600px; width:100%; padding:16px; background:#fff; border:1px solid #dce4e7; border-radius:8px; }
.op-project a { display:inline-block; }
.op-project figcaption .ip-text-link { display:inline; }
.op-role-note { margin:40px 0 0; padding-top:24px; border-top:1px solid #d3dade; color:var(--ip-muted); font-size:15px; line-height:1.65; }
.op-body .op-outcome { color:var(--ip-ink); font-size:20px; line-height:1.65; }
.op-future { margin:28px 0; padding-top:24px; border-top:1px solid #d3dade; }
.onsite-power .op-future h3 { margin:0 0 12px; font-size:20px !important; }
.op-future p { font-size:16px; }
.onsite-power .ip-contact { padding-bottom:48px; }
@media(max-width:900px) {
  .op-hero-grid,.op-story-grid,.op-assistant-grid { grid-template-columns:1fr; gap:32px; }
  .op-hero { padding-top:56px; }
  .op-facts { grid-template-columns:1fr 1fr; margin-top:40px; }
  .op-facility { max-width:700px; }
  .op-project { margin:0 auto !important; }
}
@media(max-width:600px) {
  .op-hero { padding:40px 20px 0; }
  .op-facts { gap:24px; }
  .op-facts dd { font-size:14px; }
  .op-example { padding:20px; }
  .op-project { padding:10px; }
  .onsite-power .ip-button { width:100%; padding-left:16px; padding-right:16px; }
}
