/* Solutions page: adapted from the supplied reference while retaining the SC Defence shell. */
.solutions-page main{margin-top:45px}.solutions-page main h2{position:relative;margin:0 0 26px}.solutions-page main h2::after{content:"";position:absolute;left:0;bottom:-10px;width:40px;height:2px;background:var(--brand-gold)}
.sol-hero{position:relative;min-height:clamp(300px,19.53vw,400px);overflow:hidden;isolation:isolate;background:#071a24}.sol-hero__media,.sol-hero__veil{position:absolute;inset:0}.sol-hero__media{z-index:-3;background-image:url("../images/solutions-hero/resolutions/1440/solutions-panorama-1440.bba71eabc39d.webp");background-image:image-set(url("../images/solutions-hero/resolutions/960/solutions-panorama-960.69b61249b7d1.webp") 960w,url("../images/solutions-hero/resolutions/1440/solutions-panorama-1440.bba71eabc39d.webp") 1440w,url("../images/solutions-hero/resolutions/2048/solutions-panorama-2048.4da38b0a9760.webp") 2048w);background-position:center;background-size:cover;background-repeat:no-repeat}.sol-hero__veil{z-index:-1;background:radial-gradient(ellipse 27% 115% at 35% 48%,rgba(3,17,26,.38),transparent 76%),linear-gradient(180deg,rgba(3,17,26,.12),transparent 48%,rgba(3,17,26,.34))}.sol-hero__content{display:flex;width:100%;max-width:none;min-height:inherit;flex-direction:column;justify-content:center;padding:24px var(--edge-pad) 20px clamp(300px,22vw,450px)}.sol-hero h1{margin:0 0 14px;font-size:clamp(38.4px,4vw,64px);letter-spacing:.015em}.sol-hero p{margin:0;color:#fff;font-size:clamp(17.28px,1.6vw,23.2px);line-height:1.45}.sol-hero .cap-breadcrumb{margin-top:34px}
.sol-portfolio{background:#f4f1ec;color:#132733;padding:50px 0 34px}.sol-portfolio__layout{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(0,4fr);gap:34px}.sol-portfolio__intro p{font-size:14.72px;line-height:1.75;color:#31434c}.sol-portfolio__actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}.sol-portfolio__actions .cap-button{min-width:210px;text-align:center}.sol-portfolio__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d8d3cb}.sol-portfolio__grid article{display:flex;min-width:0;flex-direction:column;border-right:1px solid #d8d3cb;background:#f8f6f2}.sol-portfolio__grid article:last-child{border-right:0}.sol-portfolio__grid article>img{width:100%;aspect-ratio:1/1;object-fit:contain;object-position:center}.sol-card__icon{display:flex;align-items:center;height:30px;margin:12px 13px 3px;color:var(--brand-gold);font-size:23.2px}.sol-card__icon img{width:30px;height:30px;object-fit:contain}.sol-portfolio__grid h3{min-height:42px;margin:3px 13px 7px;font-size:12.96px;line-height:1.18}.sol-portfolio__grid p{margin:0 13px;color:#34444c;font-size:11.04px;line-height:1.48}.sol-portfolio__grid article>a{margin:auto 13px 12px;padding-top:12px;color:#132733;font-size:20px;text-decoration:none;transition:color .2s,transform .2s}.sol-portfolio__grid article>a:hover{color:var(--brand-gold);transform:translateX(4px)}
.sol-featured{padding:34px 0 48px;background:linear-gradient(115deg,#061a24,#0b2b39);color:#fff}.sol-featured__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sol-featured article{display:flex;overflow:hidden;min-height:310px;flex-direction:column;border:1px solid rgba(181,142,72,.43);background:#092330}.sol-featured img{filter:saturate(.88)}.sol-featured article div{display:grid;flex:1;grid-template-columns:1fr auto;padding:18px 20px}.sol-featured h3{grid-column:1/-1;margin:0 0 10px;font-size:16px}.sol-featured p{margin:0;color:rgba(255,255,255,.8);font-size:12.8px;line-height:1.55}.sol-featured a{align-self:end;color:var(--brand-gold);font-size:23.2px;text-decoration:none}

.sol-featured__media {
  position:relative;
  display:block;
  width:100%;
  height:170px;
  flex:0 0 170px;
  overflow:hidden;
  background:#092330;
}

.sol-featured .sol-featured__media > img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.sol-process{padding:46px 0;background:#f5f2ed;color:#142832}.sol-process__layout{display:grid;grid-template-columns:minmax(250px,1.15fr) 3fr;gap:40px}.sol-process__intro{padding-right:34px;border-right:1px solid #d7d0c7}.sol-process__intro p{margin:0 0 24px;color:#35464e;font-size:13.12px;line-height:1.65}.cap-button--dark{background:#102b38;color:#fff}.sol-process__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin:0;padding:0;list-style:none}.sol-process__steps li{position:relative;text-align:center}.sol-process__steps li:not(:last-child)::after{content:"→";position:absolute;top:22px;right:-23px;color:var(--brand-gold);font-size:21.6px}.sol-process__steps svg,.sol-process__icon{width:52px;height:52px;object-fit:contain;fill:none;stroke:#112b37;stroke-width:1.5}.sol-process__steps h3{margin:13px 0 8px;font-size:12px}.sol-process__steps p{margin:0;color:#364750;font-size:11.04px;line-height:1.45}
.sol-trust{padding:28px 0;background:#071d28;color:#fff;border-top:1px solid rgba(181,142,72,.25);border-bottom:1px solid rgba(181,142,72,.25)}.sol-trust__grid{display:grid;grid-template-columns:repeat(5,1fr)}.sol-trust article{position:relative;display:flex;align-items:center;gap:14px;padding:0 22px}.sol-trust article::after{content:"";position:absolute;top:8%;right:0;width:1px;height:84%;background:rgba(181,142,72,.28)}.sol-trust article:first-child{padding-left:0}.sol-trust article:last-child{padding-right:0}.sol-trust article:last-child::after{display:none}.sol-trust article>span{display:grid;width:64px;height:64px;flex:0 0 64px;place-items:center;border:1px solid var(--brand-gold);border-radius:50%;color:var(--brand-gold);font-size:20px}.sol-trust article>span img{width:44px;height:44px;object-fit:contain}.sol-trust h3{margin:1px 0 5px;font-size:11.2px}.sol-trust p{margin:0;color:rgba(255,255,255,.72);font-size:10.08px;line-height:1.45}
@media(max-width:1180px){.sol-portfolio__layout{grid-template-columns:1fr}.sol-portfolio__intro{max-width:720px}.sol-portfolio__actions{flex-direction:row}.sol-portfolio__grid{grid-template-columns:repeat(4,1fr)}.sol-portfolio__grid article:nth-child(4){border-right:0}.sol-portfolio__grid article:nth-child(-n+4){border-bottom:1px solid #d8d3cb}.sol-process__layout{grid-template-columns:1fr}.sol-process__intro{max-width:720px;padding:0;border:0}.sol-trust__grid{grid-template-columns:repeat(3,1fr);row-gap:26px}.sol-trust article:nth-child(3){border-right:0}}
@media(max-width:760px){.sol-hero{min-height:360px}.sol-hero__media{background-position:21% center}.sol-hero__veil{background:linear-gradient(90deg,rgba(3,17,26,.88),rgba(3,17,26,.52))}.sol-hero__content{padding:78px 22px 28px}.sol-portfolio,.sol-featured,.sol-process{padding-block:36px}.sol-portfolio__actions{flex-direction:column}.sol-portfolio__grid{display:flex;margin-inline:calc(var(--edge-pad)*-1);padding-inline:var(--edge-pad);overflow-x:auto;border-inline:0;scroll-snap-type:x mandatory}.sol-portfolio__grid article{min-width:min(72vw,270px);border:1px solid #d8d3cb!important;scroll-snap-align:start}.sol-featured__grid{grid-template-columns:1fr}.sol-featured article{min-height:0}.sol-process__steps{grid-template-columns:1fr;gap:26px}.sol-process__steps li{display:grid;grid-template-columns:62px 1fr;text-align:left}.sol-process__steps li::after{display:none}.sol-process__steps svg{grid-row:1/3}.sol-process__steps h3{margin:3px 0 6px}.sol-trust__grid{grid-template-columns:1fr}.sol-trust article,.sol-trust article:first-child,.sol-trust article:last-child{padding:0 0 20px;border-right:0;border-bottom:1px solid rgba(181,142,72,.2)}.sol-trust article::after{display:none}.sol-trust article>span{width:56px;height:56px;flex-basis:56px}.sol-trust article>span img{width:38px;height:38px}.sol-trust article:last-child{padding-bottom:0;border-bottom:0}}

/* Hero typography and layout refinements. */
.sol-hero h1{font-family:"Roboto",Arial,Helvetica,sans-serif;font-size:clamp(35px,3.5vw,58px);font-style:normal;font-weight:600;letter-spacing:-.025em;line-height:1}

/* A restrained SC watermark anchors the hero while fading in from the left. */
.sol-hero__content { isolation:isolate; }
.sol-hero__content::before {
  position:absolute;
  z-index:-1;
  top:50%;
  left:50%;
  width:clamp(270px,23vw,470px);
  aspect-ratio:1;
  background:url("../images/branding/logo-mark-solutions.8c63cb1a41c4.svg") center / contain no-repeat;
  content:"";
  opacity:.32;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 36%,#000 72%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 36%,#000 72%);
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.sol-portfolio__grid{gap:10px;border:0}
.sol-portfolio__grid article,.sol-portfolio__grid article:last-child{border:1px solid #d8d3cb}

/* Keep every portfolio card's icon, heading, copy and action on shared rows. */
.sol-portfolio__grid {
  --sol-card-gutter:13px;
  align-items:stretch;
}

/* Final inner-page hero invariant. */
.solutions-page .sol-hero { min-height:var(--inner-hero-height); }

.sol-portfolio__grid article {
  --sol-icon-scale:1;
  --sol-icon-shift-x:0px;
  --sol-icon-shift-y:0px;
  display:grid;
  grid-template-rows:auto var(--sol-card-icon-row,47px) var(--sol-card-heading-row,34px) 1fr auto;
  align-items:start;
}
.sol-portfolio__grid article > img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:contain;
  object-position:center;
  align-self:stretch;
}
.sol-portfolio__grid .sol-card__icon {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  align-self:center;
  margin:0 var(--sol-card-gutter);
}
.sol-portfolio__grid .sol-card__icon img {
  display:block;
  width:30px;
  height:30px;
  object-fit:contain;
  object-position:center;
  transform:translate(var(--sol-icon-shift-x),var(--sol-icon-shift-y)) scale(var(--sol-icon-scale));
  transform-origin:center;
}

/* Normalize each icon by its visible alpha bounds, not its transparent canvas. */
.sol-portfolio__grid #land-systems {
  --sol-icon-scale:1.183;
  --sol-icon-shift-x:.15px;
}
.sol-portfolio__grid #air-defence {
  --sol-icon-scale:1.6;
  --sol-icon-shift-x:-2.2px;
  --sol-icon-shift-y:.2px;
}
.sol-portfolio__grid #naval-systems {
  --sol-icon-scale:1.347;
  --sol-icon-shift-x:.4px;
  --sol-icon-shift-y:1.45px;
}
.sol-portfolio__grid #uav-solutions {
  --sol-icon-scale:1.36;
  --sol-icon-shift-y:.5px;
}
.sol-portfolio__grid #electronic-warfare {
  --sol-icon-scale:1.162;
  --sol-icon-shift-y:1px;
}
.sol-portfolio__grid #ammunition-weapons {
  --sol-icon-scale:1.236;
  --sol-icon-shift-x:1.7px;
}
.sol-portfolio__grid #logistics-support {
  --sol-icon-scale:1.214;
}
.sol-portfolio__grid h3 {
  display:flex;
  min-height:0;
  align-items:flex-start;
  align-self:start;
  margin:0 var(--sol-card-gutter);
  padding-bottom:0;
}
.sol-portfolio__grid p {
  align-self:start;
  margin:0 var(--sol-card-gutter);
}
.sol-portfolio__grid article > a {
  position:relative;
  display:block;
  width:18px;
  height:18px;
  overflow:visible;
  align-self:end;
  margin:6px var(--sol-card-gutter) 8px;
  padding-top:4px;
  font-size:0;
}
.sol-portfolio__grid article > a::before,
.sol-portfolio__grid article > a::after {
  position:absolute;
  content:"";
}
.sol-portfolio__grid article > a::before {
  top:50%;
  left:0;
  width:100%;
  height:10px;
  background:currentColor;
  clip-path:polygon(0 43%,70% 43%,70% 5%,100% 50%,70% 95%,70% 57%,0 57%);
  transform:translateY(-50%);
}
.sol-portfolio__grid article > a::after {
  content:none;
}

.sol-process__layout{grid-template-columns:minmax(410px,1fr) minmax(0,3.3fr);align-items:stretch;gap:44px}
.sol-process__intro{position:relative;padding-right:38px;border-right:0}.sol-process__intro::after{content:"";position:absolute;top:0;right:-22px;bottom:0;width:1px;background:#d7d0c7}
.sol-process__intro h2{white-space:nowrap}
.sol-process__steps{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:28px}
.sol-process__steps li{display:grid;grid-template-rows:58px 34px auto;align-items:start;min-width:0}
.sol-process__steps li:not(:last-child)::after{content:"\2192";top:18px}
.sol-process__steps svg,.sol-process__icon{justify-self:center}
.sol-process__steps h3{align-self:center;margin:0;line-height:1.2}
.sol-process__steps p{margin-top:7px}

@media(max-width:1180px){.sol-portfolio__grid article:nth-child(4),.sol-portfolio__grid article:nth-child(-n+4){border:1px solid #d8d3cb}.sol-process__layout{grid-template-columns:1fr}.sol-process__intro::after{display:none}.sol-process__steps{padding-top:8px}}
@media(max-width:760px){.sol-process__intro h2{white-space:normal}.sol-process__steps{grid-template-columns:1fr}.sol-process__steps li{grid-template-columns:62px 1fr;grid-template-rows:auto auto}.sol-process__steps svg,.sol-process__icon{grid-row:1/3}.sol-process__steps h3{align-self:start;margin:3px 0 6px}.sol-process__steps p{margin-top:0}}

/* Shared inner-page hero height. */
.sol-hero { min-height:var(--inner-hero-height); }
.sol-hero__media {
  --sol-hero-shift:max(0px, calc(43.7vw - 647px));
  background-image:url("../images/solutions-hero/solutionshero.0a121f38599f.webp");
  background-size:calc(100% + var(--sol-hero-shift)) auto;
  background-position:calc(-1 * var(--sol-hero-shift)) center;
  background-repeat:no-repeat;
}

/* Keep the breadcrumb on the same left edge as the Solutions copy. */
.sol-hero .cap-breadcrumb {
  width:max-content;
  align-self:flex-start;
  justify-content:flex-start;
}

/* Reference sizing: the secondary action is shorter and more strongly outlined. */
.sol-portfolio__actions .cap-button--line {
  width:14.5em;
  max-width:100%;
  min-width:0;
  border:1.5px solid #263940;
  color:#172a32;
  background:#f8f6f2;
  font-weight:700;
}

.sol-portfolio__actions .cap-button {
  font-size:11px;
  line-height:1;
  white-space:nowrap;
}

.sol-portfolio__actions .cap-button--gold {
  letter-spacing:.03em;
}

.sol-portfolio__actions .cap-button--line {
  letter-spacing:.03em;
  text-indent:.03em;
}

/* Match the portfolio rows inside the site's shared content shell. */
@media(min-width:1181px) {
  .sol-portfolio__layout {
    grid-template-columns:minmax(379px,1.34fr) minmax(0,4fr);
    gap:12px;
  }
  .sol-portfolio__grid {
    --sol-card-gutter:13px;
    --sol-card-icon-row:47px;
    --sol-card-heading-row:34px;
    gap:6px;
    margin-top:0;
  }
  .sol-portfolio__grid article {
    height:395px;
  }
  .sol-portfolio__grid article > img {
    height:auto;
    aspect-ratio:16 / 10;
    object-fit:contain;
    object-position:center;
  }
  .sol-portfolio__grid .sol-card__icon {
    width:34px;
    height:34px;
  }
  .sol-portfolio__grid .sol-card__icon img {
    width:30px;
    height:30px;
  }
  .sol-portfolio__grid h3 {
    font-size:12.96px;
  }
  .sol-portfolio__grid p {
    font-size:11.04px;
    line-height:1.48;
  }
  .sol-portfolio__intro p span {
    display:block;
    white-space:nowrap;
  }
  .sol-portfolio__actions {
    gap:20px;
    margin-top:28px;
  }
  .sol-portfolio__actions .cap-button--gold {
    width:min(308px,100%);
    min-width:0;
  }
  .sol-portfolio__actions .cap-button {
    min-height:48px;
    font-size:15px;
  }
  .sol-portfolio__actions .cap-button--gold {
    letter-spacing:.03em;
  }
  .sol-portfolio__actions .cap-button--line {
    width:min(203px,100%);
    letter-spacing:.03em;
    text-indent:.03em;
  }
}

@media(max-width:760px) {
  .sol-hero__media {
    --sol-hero-shift:0px;
    background-size:cover;
    background-position:31% center;
  }
}

/* Solutions content refinements matched to the supplied page-five reference. */
.solutions-page main .sol-portfolio h2::after,
.solutions-page main .sol-featured h2::after,
.solutions-page main .sol-process h2::after {
  left:0;
  width:40px;
  height:2px;
  background:#b58b47;
  transform:none;
}

.sol-featured article div > a {
  position:relative;
  display:block;
  width:21px;
  height:20px;
  overflow:visible;
  color:#b58b47 !important;
  font-size:0;
}

.sol-featured article div > a::before,
.sol-featured article div > a::after {
  position:absolute;
  content:"";
}

.sol-featured article div > a::before {
  top:50%;
  left:0;
  width:100%;
  height:11px;
  background:currentColor;
  clip-path:polygon(0 43%,70% 43%,70% 5%,100% 50%,70% 95%,70% 57%,0 57%);
  transform:translateY(-50%);
}

.sol-featured article div > a::after {
  content:none;
}

.sol-featured #featuredTitle {
  margin-left:2ch;
}

.sol-trust article > span {
  overflow:hidden;
}
.sol-trust article > span img {
  display:block;
  width:44px;
  height:44px;
  max-width:none;
  object-fit:contain;
  image-rendering:auto;
  transform:none;
  transform-origin:center;
}

.sol-process__steps li:not(:last-child)::after {
  color:#b58b47 !important;
}

@media(min-width:1181px) {
  .sol-process__intro p span {
    display:block;
    white-space:nowrap;
  }
  .sol-process__intro .cap-button--dark {
    width:67%;
    justify-content:center;
    text-align:center;
  }
}

@media(max-width:760px) {
  .sol-portfolio__actions .cap-button--line {
    letter-spacing:.03em;
    text-indent:.03em;
  }
  .sol-featured #featuredTitle {
    margin-left:0;
  }
}

.solutions-page .sol-hero { min-height:var(--inner-hero-height); }

/* Final alignment pass for the Solutions hero and deployment flow. */
@media(min-width:761px) {
  .sol-hero__content {
    width:100%;
    max-width:var(--site-width);
    margin-inline:auto;
    justify-content:flex-end;
    padding-right:var(--edge-pad);
    padding-bottom:37px;
  }
}

@media(min-width:1181px) {
  .sol-hero__content {
    padding-left:calc(var(--edge-pad) + 391px);
  }

  .sol-process {
    padding-block:20px 22px;
  }

  .sol-process__intro::after {
    right:-30px;
  }

  .sol-process__intro .cap-button--dark {
    width:min(252px,100%);
    min-height:42px;
    min-width:0;
    padding-inline:18px;
    border-color:#314752;
    font-size:12px;
    font-weight:400;
    font-stretch:100%;
    letter-spacing:.02em;
    line-height:1;
    white-space:nowrap;
  }

  .sol-process__steps li {
    grid-template-rows:60px 47px auto;
  }

  .sol-process__steps svg,
  .sol-process__icon {
    width:60px;
    height:60px;
  }

  .sol-process__steps h3 {
    align-self:start;
    margin-top:16px;
    font-size:13px;
  }

  .sol-process__steps p {
    margin-top:6.25px;
    font-size:13px;
    line-height:1.45;
  }

  .sol-process__steps p span {
    display:block;
    white-space:nowrap;
  }

  .sol-trust {
    padding-block:14px;
  }
}

@media(min-width:761px) and (max-width:1180px) {
  .sol-hero__content {
    padding-left:var(--edge-pad);
  }
}

/* Keep the deployment flow compact and center longer arrows between cards. */
.sol-process {
  padding-block:30px;
}

@media(min-width:761px) {
  .sol-process__steps li:not(:last-child)::after {
    top:25px;
    right:auto;
    left:calc(100% + 14px);
    width:40px;
    height:10px;
    background:#b58b47;
    clip-path:polygon(0 44%,78% 44%,78% 0,100% 50%,78% 100%,78% 56%,0 56%);
    content:"";
    font-size:0;
    transform:translateX(-50%);
  }
}

@media(min-width:1181px) {
  .sol-process {
    padding-block:20px 22px;
  }

  .solutions-page main.site-main-frame .sol-process__intro .cap-button--dark {
    font-family:"Roboto",Arial,Helvetica,sans-serif;
    font-stretch:100%;
  }
}

@media(max-width:760px) {
  .sol-process {
    padding-block:28px;
  }
}

/* APPROVED DIMENSION LOCK: keep the portfolio and card measurements unchanged. */
/* Portfolio reference lock: proportionally fit the composition to the canonical cap-shell. */
@media (min-width:1181px) {
  .sol-portfolio {
    padding-block:47.949px 32.605px;
  }

  .sol-portfolio__layout {
    grid-template-columns:290.569px minmax(0,1fr);
    gap:23.015px;
  }

  .sol-portfolio__grid {
    --sol-card-gutter:13.426px;
    --sol-card-icon-row:52.744px;
    --sol-card-heading-row:46.99px;
    gap:11.508px;
  }

  .sol-portfolio__grid article {
    height:378.795px;
    grid-template-rows:auto var(--sol-card-icon-row) var(--sol-card-heading-row) minmax(0,1fr) 30.687px;
  }

  .sol-portfolio__grid article > img {
    aspect-ratio:1 / 1;
  }

  .sol-portfolio__grid #electronic-warfare > img {
    object-position:center;
  }

  .sol-portfolio__grid .sol-card__icon {
    width:38.359px;
    height:38.359px;
  }

  .sol-portfolio__grid .sol-card__icon img {
    width:32.605px;
    height:32.605px;
  }

  .sol-portfolio__grid h3 {
    margin-inline:var(--sol-card-gutter);
    padding-top:6.713px;
    font-size:14.385px;
    line-height:1.15;
  }

  .sol-portfolio__grid p {
    margin-inline:var(--sol-card-gutter);
    font-size:11.987px;
    font-stretch:75%;
    line-height:1.7;
  }

  .sol-portfolio__grid article > a {
    width:17.262px;
    height:17.262px;
    margin:0 var(--sol-card-gutter) 7.672px;
    padding-top:0;
  }

  .sol-portfolio__intro h2 {
    margin-bottom:34.523px;
  }

  .sol-portfolio__intro p {
    margin-block:0;
    font-size:12.658px;
    line-height:1.8;
  }

  .sol-portfolio__actions {
    gap:14.385px;
    margin-top:38.359px;
  }

  .sol-portfolio__actions .cap-button {
    min-height:37.4px;
    font-size:11.508px;
  }

  .sol-portfolio__actions .cap-button--gold {
    width:min(236.867px,100%);
  }

  .sol-portfolio__actions .cap-button--line {
    width:min(154.395px,100%);
  }
}


/* 22 October 2026 — operator visual review candidate; not published. */

/* The portfolio action belongs in the lower-right corner at every size. */
.solutions-page .sol-portfolio__grid article { position:relative; }
.solutions-page .sol-portfolio__grid article > a { justify-self:end; margin-left:auto; margin-right:var(--sol-card-gutter,14px); }
@media (max-width:760px) {
  .solutions-page .sol-hero__media { background-size:auto 100%; background-position:left center; }
  .solutions-page .sol-portfolio__intro p span,.solutions-page .sol-process__intro p span { display:inline; white-space:normal; }
  .solutions-page .sol-portfolio__intro p,.solutions-page .sol-process__intro p { font-size:14px; line-height:1.65; }
  .solutions-page .sol-portfolio__grid { --review-card-width:min(78vw,320px); display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:var(--review-card-width); gap:16px; width:calc(100% + var(--edge-pad)*2); max-width:none; padding:0 calc((100% + var(--edge-pad)*2 - var(--review-card-width))/2) 14px; margin-inline:calc(var(--edge-pad)*-1); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:0; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .solutions-page .sol-portfolio__grid article { display:grid; grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto minmax(64px,auto) minmax(112px,auto) 44px; min-width:0; width:100%; height:auto; min-height:0; align-items:center; scroll-snap-align:center; scroll-snap-stop:normal; }
  .solutions-page .sol-portfolio__grid article > img { grid-column:1/-1; grid-row:1; width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:center; }
  .solutions-page .sol-portfolio__grid .sol-card__icon { grid-column:1; grid-row:2; width:34px; height:34px; margin:0 0 0 14px; align-self:center; }
  .solutions-page .sol-portfolio__grid .sol-card__icon img { width:28px; height:28px; }
  .solutions-page .sol-portfolio__grid h3 { grid-column:2; grid-row:2; align-self:center; align-items:center; width:auto; min-height:0; margin:0; padding:12px 14px 12px 10px; font-size:14px; line-height:1.35; }
  .solutions-page .sol-portfolio__grid p { grid-column:1/-1; grid-row:3; align-self:start; margin:0; padding:0 14px 12px; font-size:13px; line-height:1.6; }
  .solutions-page .sol-portfolio__grid article > a { grid-column:1/-1; grid-row:4; align-self:center; width:28px; height:28px; margin:0 14px 8px auto; }
  .solutions-page .sol-process__layout { gap:24px; }
  .solutions-page .sol-process__intro { padding:0; }
  .solutions-page .sol-process__intro p { margin-bottom:18px; }
  .solutions-page .sol-process__steps { padding-top:0; }
}



/* Visual review round 3 — local candidate, awaiting publication approval. */

.solutions-page .sol-hero__content::before { opacity:.12; background:#8d9b9e; }
@media(max-width:760px) {
 .solutions-page .sol-portfolio__grid { padding-bottom:0; }
 .solutions-page .sol-portfolio .review-rail-controls { margin-top:0; }
}


/* Same hero frame, sized for mobile CSS pixels and high-density screens. */
@media (max-width:760px) {
  .solutions-page .sol-hero__media {
    background-image:url("../images/performance-20261026/solutions-hero-1024.c5038370c319.webp");
    background-image:image-set(url("../images/performance-20261026/solutions-hero-1024.c5038370c319.webp") 1x, url("../images/performance-20261026/solutions-hero-2048.4ed7ebfbb602.webp") 2x);
  }
}

/* Preserve image sizing for visitors who browse without JavaScript. */

.sol-portfolio__grid article > noscript > img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:1; object-fit:contain; object-position:center; }
.sol-featured .sol-featured__media > noscript > img { display:block; width:100%; height:100%; object-fit:cover; }


/* The five-step desktop row needs full width until the editorial split can fit. */
@media (min-width:1181px) and (max-width:1359px) {
 .solutions-page .sol-process__layout { grid-template-columns:minmax(0,1fr); }
 .solutions-page .sol-process__intro::after { display:none; }
 .solutions-page .sol-process__steps { padding-top:8px; }
}
@media (min-width:761px) and (max-width:1359px) {
 .solutions-page .sol-process__steps p, .solutions-page .sol-process__steps p span { max-width:100%; white-space:normal; }
}
