/* Key Application pages - reuses the site palette defined in style.css
   --ink:#06112b  --navy:#0a1740  --white:#f9fbff  --orange:#f26522 */

.application-page { color:#171717; background:#fff; }

/* Hero */
.app-hero { position:relative; min-height:460px; overflow:hidden; color:#fff; background:linear-gradient(115deg,#071a3d 0%,#0d2f60 60%,#173d77 100%); }
.app-hero-pattern { position:absolute; inset:0; opacity:.13; background:url("../assets/engine-pattern.png") center/cover no-repeat; }
.app-hero-inner { position:relative; z-index:1; display:flex; min-height:400px; flex-direction:column;
   justify-content:center; padding-top:150px; padding-bottom:34px; }
.app-hero-inner > p.app-eyebrow { margin:0 0 10px; color:#e45a2b; font-size:15px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.app-hero h1,.app-hero h2 { max-width:860px; margin:0; font-size:50px; line-height:1.12; font-weight:700; }
.app-hero-lead { max-width:760px; margin:16px 0 0; font-size:17px; line-height:1.7; color:rgba(255,255,255,.85); }
.app-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; font-size:14px; }
.app-breadcrumb a { color:#fff; text-decoration:none; }
.app-breadcrumb a:hover { color:#f26522; }
.app-breadcrumb span { color:rgba(255,255,255,.72); }

/* Shared section furniture */
.app-section { padding:72px 0; background:#fff; }
.app-section--tint { background:#f7f9fc; }
.app-section--pattern { background-color:#f7f9fc; background-image:url("../assets/oppertunity-bg.png"); background-image:image-set(url("../assets/oppertunity-bg.avif") type("image/avif"),url("../assets/oppertunity-bg.png") type("image/png")); background-position:center; background-size:cover; background-repeat:no-repeat; }
.app-section-head { max-width:820px; margin:0 0 38px; }
.app-section-head.is-center { margin-left:auto; margin-right:auto; text-align:center; }
.app-section-head > p { margin:0 0 8px; color:#df572c; font-size:14px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.app-section-head h2,.app-section-head h1 { margin:0; color:#193474; font-size:38px; line-height:1.2; font-weight:700; }
.app-section-head > div { margin-top:15px; font-size:16px; line-height:1.7; color:#3d4351; }

/* Intro: copy + image */
.app-intro-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; }
.app-intro-copy p { margin:0 0 17px; font-size:16px; line-height:1.8; color:#3d4351; }
.app-intro-copy p:last-child { margin-bottom:0; }
.app-intro-visual { position:relative; }
.app-intro-visual img { display:block; width:100%; height:100%; max-height:420px; object-fit:cover; box-shadow:0 18px 44px rgba(13,41,85,.16); clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%); }

/* Bullet solution list */
.app-check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 26px; margin:0; padding:0; list-style:none; }
.app-check-list li { position:relative; display:flex; gap:12px; padding:16px 20px; background:#fff; border:1px solid #dbe1ec; font-size:15px; line-height:1.6; color:#2a2f3a; box-shadow:0 8px 22px rgba(13,41,85,.05); }
.app-check-list li::before { content:"\f00c"; flex:0 0 auto; margin-top:2px; color:#f26522; font:900 13px "Font Awesome 6 Free"; }

/* Benefit / detail cards */
.app-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.app-card-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.app-card { padding:28px 26px; background:#fff; border:1px solid #d6dbe5; box-shadow:0 12px 32px rgba(13,41,85,.07); transition:transform .25s ease,box-shadow .25s ease; }
.app-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(13,41,85,.13); }
.app-card-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:16px; color:#fff; background:#1d3979; font-size:18px; clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%); }
.app-card h3 { margin:0 0 10px; color:#193474; font-size:19px; line-height:1.35; font-weight:700; }
.app-card p { margin:0; font-size:15px; line-height:1.7; color:#4a505d; }

/* Keyword / benefit strip */
.app-strip { padding:40px 0; color:#fff; background:linear-gradient(115deg,#06112b 0%,#0d2f60 100%); }
.app-strip-inner { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 14px; }
.app-strip span { padding:9px 18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }

/* Pill list for typical applications */
.app-pill-list { display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; list-style:none; }
.app-pill-list li { display:flex; align-items:center; gap:9px; padding:13px 20px; background:#fff; border-left:3px solid #f26522; box-shadow:0 8px 22px rgba(13,41,85,.06); font-size:15px; font-weight:600; color:#22304f; }
.app-pill-list li i { color:#f26522; font-size:12px; }

/* Numbered workflow */
.app-steps { counter-reset:appstep; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 34px; margin:0; padding:0; list-style:none; }
.app-steps li { counter-increment:appstep; position:relative; padding:18px 22px 18px 68px; background:#fff; border:1px solid #dbe1ec; font-size:15px; line-height:1.65; color:#3d4351; }
.app-steps li::before { content:counter(appstep,decimal-leading-zero); position:absolute; top:18px; left:20px; color:#f26522; font-size:20px; font-weight:700; letter-spacing:.5px; }

/* Callout note */
.app-note { display:flex; gap:16px; margin-top:36px; padding:24px 26px; background:#fff; border-left:4px solid #f26522; box-shadow:0 12px 32px rgba(13,41,85,.07); font-size:15px; line-height:1.75; color:#3d4351; }
.app-note i { flex:0 0 auto; margin-top:4px; color:#f26522; font-size:18px; }
.app-note strong { color:#193474; }

/* Back link */
.app-backlink { margin-top:42px; }
.app-backlink a { display:inline-flex; align-items:center; gap:9px; color:#193474; font-size:15px; font-weight:700; text-decoration:none; }
.app-backlink a:hover { color:#df572c; }

@media (max-width:1199px) {
  .app-hero h1,.app-hero h2 { font-size:42px; }
  .app-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .app-intro-layout { gap:38px; }
}
@media (max-width:1010px) {
  .app-hero,.app-hero-inner { min-height:340px; }
  .app-section { padding:56px 0; }
  .app-section-head h2,.app-section-head h1 { font-size:32px; }
}
@media (max-width:767px) {
  .app-hero h1,.app-hero h2 { font-size:33px; }
  .app-hero-inner { padding-top:96px; }
  .app-intro-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  .app-intro-visual { order:-1; }
  .app-check-list,.app-steps,.app-card-grid,.app-card-grid--two { grid-template-columns:minmax(0,1fr); }
  .app-section { padding:46px 0; }
  .app-section-head { margin-bottom:28px; }
}
@media (max-width:480px) {
  .app-hero h1,.app-hero h2 { font-size:28px; }
  .app-section-head h2,.app-section-head h1 { font-size:26px; }
  .app-strip span { font-size:11px; padding:8px 13px; }
}

/* Applications listing page: product group heading link */
.app-group-link { color:#df572c; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(223,87,44,.4); }
.app-group-link:hover { color:#193474; border-bottom-color:rgba(25,52,116,.4); }
.applications-section .app-section-head { margin-bottom:0; }
/* Applications page intro (page H1 + answer paragraph) above the product groups */
.applications-intro { padding:64px 0 12px; }
.applications-intro .app-section-head { margin-bottom:0; }
