/* v1.0.8: approved funnel structure + dedicated template + OU dark shell integration. */
.ou-ip{
  --navy:#0b1c32;
  --navy2:#0d243d;
  --teal:#25aaa6;
  --purple:#846fd2;
  --cream:#f3eee6;
  --ink:#102139;
  --muted:#5d6675;
  --line:rgba(16,33,57,.14);
  color:var(--ink);
  background:#fff;
  font-family:inherit;
  margin:0;
  padding:0;
}
.ou-ip *{box-sizing:border-box}
.ou-ip-wrap{width:min(1180px,calc(100% - 44px));margin:0 auto}
.ou-ip h1,.ou-ip h2,.ou-ip h3{font-family:inherit;font-weight:700;letter-spacing:-.035em;margin:0;color:inherit}
.ou-ip h1{font-size:clamp(42px,4.6vw,66px);line-height:.99;max-width:10.5ch}
.ou-ip h2{font-size:clamp(30px,3.15vw,48px);line-height:1.05}
.ou-ip h3{font-size:18px;line-height:1.15}
.ou-ip p{font-family:inherit;font-size:17px;line-height:1.58;margin:0;color:inherit}
.ou-ip .centered{text-align:center}
.ou-ip-kicker{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#9a87df;margin-bottom:13px}
.ou-ip-kicker-dark{color:var(--navy);opacity:.72}
.ou-ip-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:3px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;text-decoration:none!important;transition:transform .2s ease}
.ou-ip-button:hover{transform:translateY(-1px)}
.ou-ip-button-light{background:#fff;color:var(--navy)!important}

/* HERO: 50/50 like approved mock */
.ou-ip-hero{background:var(--navy);color:#fff}
.ou-ip-hero-inner{display:grid;grid-template-columns:1fr 1fr;min-height:410px}
.ou-ip-hero-copy{padding:52px max(42px,calc((100vw - 1180px)/2)) 46px max(42px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}
.ou-ip-hero-copy .ou-ip-kicker{color:#8fd8d3}
.ou-ip-hero-copy h1{color:#fff;margin-bottom:20px}
.ou-ip-hero-copy h1 .ou-ip-accent{color:var(--teal)}
.ou-ip-hero-copy h1::first-line{color:#fff}
.ou-ip-hero-copy p{max-width:620px;color:#fff;font-size:18px;margin-bottom:26px}
.ou-ip-hero-copy small{display:block;margin-top:11px;color:#fff;opacity:.9;font-size:12px}
.ou-ip-hero-media{min-height:410px;overflow:hidden;background:#112943}
.ou-ip-hero-media img,.ou-ip-solution-media img{width:100%;height:100%;display:block;object-fit:cover}.ou-ip-hero-media img{object-position:center 42%}

/* PROBLEM ROW */
.ou-ip-problems{background:var(--cream);padding:42px 0 36px;text-align:center}
.ou-ip-problems h2{color:var(--navy);margin-bottom:26px}
.ou-ip-problem-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:1px solid var(--line);padding-bottom:22px}
.ou-ip-problem{padding:0 20px;border-right:1px solid var(--line)}
.ou-ip-problem:last-child{border-right:none}
.ou-ip-icon{width:38px;height:38px;margin:0 auto 10px;color:var(--navy)}
.ou-ip-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ou-ip-problem p{font-size:14px;line-height:1.32;color:var(--navy);font-weight:600}
.ou-ip-problem-close{font-size:17px!important;color:var(--navy)!important;margin-top:18px!important}
.ou-ip-problem-close strong{color:var(--teal)}

/* SINGLE STRONG SOLUTION SPLIT */
.ou-ip-solution{display:grid;grid-template-columns:1fr 1fr;min-height:460px;background:var(--navy2);color:#fff}
.ou-ip-solution-media{min-height:460px;overflow:hidden;background:linear-gradient(145deg,#0c243d,#163450)}
.ou-ip-solution-copy{padding:58px max(40px,calc((100vw - 1180px)/2)) 54px 52px;display:flex;flex-direction:column;justify-content:center}
.ou-ip-solution-copy .ou-ip-kicker{color:#a996e8}
.ou-ip-solution-copy h2{color:#fff;max-width:15ch;margin-bottom:15px}
.ou-ip-solution-copy p{color:#fff;max-width:590px}
.ou-ip-solution-copy ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.ou-ip-solution-copy li{position:relative;padding-left:25px;font-size:15px;line-height:1.4}
.ou-ip-solution-copy li:before{content:'✓';position:absolute;left:0;color:#4ed0ca;font-weight:700}

/* PLACEHOLDERS FOR UNAPPROVED PHOTOGRAPHY */
.ou-ip-photo-placeholder{width:100%;height:100%;min-height:460px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:
 linear-gradient(135deg,rgba(13,36,61,.92),rgba(26,62,85,.88)),
 radial-gradient(circle at 22% 22%,rgba(37,170,166,.34),transparent 28%),
 radial-gradient(circle at 76% 70%,rgba(132,111,210,.32),transparent 30%)}
.ou-ip-photo-placeholder:before,.ou-ip-photo-placeholder:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.ou-ip-photo-placeholder:before{width:320px;height:320px;right:-90px;top:-90px}
.ou-ip-photo-placeholder:after{width:180px;height:180px;left:9%;bottom:8%}
.ou-ip-placeholder-label{position:relative;z-index:1;color:rgba(255,255,255,.74);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}

/* PROCESS: compact three-step band */
.ou-ip-process{background:var(--cream);padding:40px 0 34px}
.ou-ip-process h2{color:var(--navy);margin-bottom:26px}
.ou-ip-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.ou-ip-process-grid>div{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.ou-ip-process-grid>div+div{border-left:1px solid var(--line);padding-left:34px}
.ou-ip-process-grid span{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#ded6f4;color:var(--navy);font-weight:700;font-size:13px}
.ou-ip-process-grid h3{color:var(--navy);margin:0 0 4px}
.ou-ip-process-grid p{font-size:13px;line-height:1.45;color:var(--muted)}

/* AUDIT: major final conversion anchor */
.ou-ip-audit{background:var(--navy);color:#fff;padding:46px 0}
.ou-ip-audit .ou-ip-kicker{color:#9a87df}
.ou-ip-audit h2{color:#fff;margin-bottom:8px}
.ou-ip-audit p{color:#fff}
.ou-ip-audit-grid{display:grid;grid-template-columns:1.35fr repeat(3,.85fr) auto;gap:30px;align-items:center}
.ou-ip-audit-title p{font-size:15px;opacity:.95;max-width:370px}
.ou-ip-audit-point strong{display:block;font-size:13px;color:#fff;margin-bottom:4px}
.ou-ip-audit-point span{display:block;font-size:11px;line-height:1.38;color:#fff;opacity:.88}

@media(max-width:980px){
  .ou-ip-hero-inner,.ou-ip-solution{grid-template-columns:1fr}
  .ou-ip-hero-copy{padding:56px 32px 42px}.ou-ip-hero-media{min-height:420px}
  .ou-ip-solution-copy{padding:48px 32px}.ou-ip-problem-grid{grid-template-columns:repeat(2,1fr);row-gap:26px}.ou-ip-problem{border-right:none}
  .ou-ip-audit-grid{grid-template-columns:1fr 1fr}.ou-ip-audit-title,.ou-ip-audit-cta{grid-column:1/-1}
}
@media(max-width:680px){
  .ou-ip-wrap{width:min(100% - 28px,1180px)}
  .ou-ip h1{font-size:44px}.ou-ip h2{font-size:31px}
  .ou-ip-hero-copy{padding:46px 22px 34px}
  .ou-ip-problem-grid{grid-template-columns:1fr}.ou-ip-problem{padding:14px 0;border-bottom:1px solid var(--line)}.ou-ip-problem:last-child{border-bottom:none}
  .ou-ip-process-grid{grid-template-columns:1fr;gap:18px}.ou-ip-process-grid>div+div{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:18px}
  .ou-ip-audit-grid{grid-template-columns:1fr}.ou-ip-audit-title,.ou-ip-audit-cta{grid-column:auto}
  .ou-ip-button{width:100%}
}



/* ==========================================================
   OU SITE SHELL + HOMEPAGE FOOTER MATCH
   Header stays owned by the current OU theme. Industry pages
   use a homepage-style footer clone because the site's front-page
   template uses footer markup that differs from generic pages.
   ========================================================== */
body.ou-ip-page .oux-header-shell{
  background:#0E1B2A!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
body.ou-ip-page .oux-brand,
body.ou-ip-page .oux-brand:hover,
body.ou-ip-page .oux-brand:focus,
body.ou-ip-page .oux-brand-name,
body.ou-ip-page .oux-brand-sub,
body.ou-ip-page .oux-nav a{color:#fff!important}
body.ou-ip-page .oux-brand-sub{opacity:.72}
body.ou-ip-page .oux-desktop-cta{background:#1F8A8A!important;color:#fff!important;border-color:#1F8A8A!important}

/* shorter, more editorial hero */
.ou-ip-hero-inner{min-height:480px!important}
.ou-ip-hero-media{min-height:480px!important;max-height:480px!important;overflow:hidden}
.ou-ip-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%}

.ou-home-footer{
  background:#0E1B2A;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  padding:72px 0 28px;
  font-family:inherit;
}
.ou-home-footer-inner{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.55fr repeat(4,.8fr);
  gap:34px;
  align-items:start;
}
.ou-home-footer-logo{max-width:190px;margin-bottom:20px}
.ou-home-footer-logo .custom-logo-link{display:inline-block}
.ou-home-footer-logo img{max-width:180px!important;width:auto!important;height:auto!important;display:block;filter:none!important}
.ou-home-footer-wordmark{color:#fff!important;text-decoration:none!important;font-size:24px;font-weight:700}
.ou-home-footer-brand p{
  max-width:300px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.65;
}
.ou-home-footer-col{display:flex;flex-direction:column;gap:9px}
.ou-home-footer-col h3{
  margin:0 0 6px;
  color:#fff;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.ou-home-footer-col a{
  color:rgba(255,255,255,.78)!important;
  text-decoration:none!important;
  font-size:13px;
  line-height:1.4;
}
.ou-home-footer-col a:hover{color:#8FD8D3!important}
.ou-home-footer-bottom{
  width:min(1180px,calc(100% - 44px));
  margin:54px auto 0;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  gap:24px;
  color:rgba(255,255,255,.58);
  font-size:12px;
}

@media(max-width:980px){
  .ou-ip-hero-inner{min-height:0!important}
  .ou-ip-hero-media{min-height:330px!important;max-height:360px!important}
  .ou-home-footer-inner{grid-template-columns:1.3fr 1fr 1fr;row-gap:36px}
}
@media(max-width:760px){
  body.ou-ip-page .oux-nav{background:#fff!important}
  body.ou-ip-page .oux-nav a{color:#0E1B2A!important}
  .ou-ip-hero-media{min-height:285px!important;max-height:315px!important}
  .ou-home-footer{padding-top:52px}
  .ou-home-footer-inner{grid-template-columns:1fr 1fr}
  .ou-home-footer-brand{grid-column:1/-1}
  .ou-home-footer-bottom{flex-direction:column;margin-top:38px}
}
@media(max-width:520px){
  .ou-home-footer-inner{grid-template-columns:1fr}
  .ou-home-footer-brand{grid-column:auto}
}

/* v1.0.12: restore the stable dark OU footer used before v1.0.11. */
.ou-home-footer{background:#0E1B2A;color:#fff;border-top:1px solid rgba(255,255,255,.08);padding:64px 0 26px;font-family:inherit}
.ou-home-footer-inner{width:min(1180px,calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:1.55fr repeat(5,.72fr);gap:30px;align-items:start}
.ou-home-footer-logo{max-width:190px;margin-bottom:18px}.ou-home-footer-logo .custom-logo-link{display:inline-block}.ou-home-footer-logo img{max-width:180px!important;width:auto!important;height:auto!important;display:block;filter:none!important}.ou-home-footer-wordmark{color:#fff!important;text-decoration:none!important;font-size:24px;font-weight:700}
.ou-home-footer-brand p{max-width:300px;margin:0;color:rgba(255,255,255,.76);font-size:13px;line-height:1.65}
.ou-home-footer-col{display:flex;flex-direction:column;gap:8px}.ou-home-footer-col h3{margin:0 0 7px;color:#fff;font-size:10px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase}.ou-home-footer-col a{color:rgba(255,255,255,.76)!important;text-decoration:none!important;font-size:12px;line-height:1.42}.ou-home-footer-col a:hover{color:#8FD8D3!important}
.ou-home-footer-bottom{width:min(1180px,calc(100% - 44px));margin:48px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:24px;color:rgba(255,255,255,.56);font-size:11px}
@media(max-width:1080px){.ou-home-footer-inner{grid-template-columns:1.35fr repeat(3,1fr);row-gap:30px}.ou-home-footer-brand{grid-row:span 2}}
@media(max-width:760px){.ou-home-footer{padding-top:48px}.ou-home-footer-inner{grid-template-columns:1fr 1fr}.ou-home-footer-brand{grid-column:1/-1;grid-row:auto}.ou-home-footer-bottom{flex-direction:column;margin-top:34px}}
@media(max-width:520px){.ou-home-footer-inner{grid-template-columns:1fr}.ou-home-footer-brand{grid-column:auto}}

/* v1.0.13: match the live homepage footer more closely using the exact homepage logo asset. */
.ou-home-footer{
  background:#0d1824!important;
  color:#fff!important;
  border-top:0!important;
  padding:44px 0 24px!important;
}
.ou-home-footer-home-match{
  width:min(1180px,calc(100% - 44px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.9fr .8fr .8fr .8fr!important;
  gap:56px!important;
  align-items:start!important;
}
.ou-home-footer-logo-link{display:inline-block!important;max-width:330px!important;margin:0 0 18px!important}
.ou-home-footer-logo-img{display:block!important;width:100%!important;max-width:330px!important;height:auto!important;object-fit:contain!important;filter:none!important}
.ou-home-footer-brand p{max-width:420px!important;margin:0!important;color:rgba(255,255,255,.78)!important;font-size:13px!important;line-height:1.6!important}
.ou-home-footer-col{display:flex!important;flex-direction:column!important;gap:7px!important}
.ou-home-footer-col h3{margin:4px 0 8px!important;color:#fff!important;font-size:12px!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important}
.ou-home-footer-col a{color:rgba(255,255,255,.74)!important;text-decoration:none!important;font-size:12px!important;line-height:1.5!important}
.ou-home-footer-col a:hover{color:#2fb7b1!important}
.ou-home-footer-bottom{
  width:min(1180px,calc(100% - 44px))!important;
  margin:34px auto 0!important;
  padding-top:17px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:24px!important;
  color:rgba(255,255,255,.55)!important;
  font-size:11px!important;
}
@media(max-width:900px){
  .ou-home-footer-home-match{grid-template-columns:1.5fr 1fr 1fr!important;gap:34px!important}
  .ou-home-footer-brand{grid-column:1/-1!important}
}
@media(max-width:620px){
  .ou-home-footer-home-match{grid-template-columns:1fr 1fr!important;gap:30px 24px!important}
  .ou-home-footer-brand{grid-column:1/-1!important}
  .ou-home-footer-logo-link,.ou-home-footer-logo-img{max-width:290px!important}
  .ou-home-footer-bottom{flex-direction:column!important;margin-top:28px!important}
}
@media(max-width:420px){
  .ou-home-footer-home-match{grid-template-columns:1fr!important}
}
