/* Open editorial layouts: no boxed content panels or card grids. */
.tinted,.page-hero,.plain-hero,.portal-section,.cta{background:var(--white)}
.section{padding:80px 0}
.cards{display:block}
.card{display:grid;grid-template-columns:52px minmax(180px,.9fr) minmax(260px,1.4fr) auto;align-items:start;gap:28px;padding:31px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.card:last-child{border-bottom:0}
.card .icon{padding:0;width:28px;height:28px;margin:3px 0 0;background:transparent;border-radius:0}
.card h3{margin:0;font-size:27px}
.card p{margin:0;max-width:560px}
.card a{margin:0;align-self:center;font-size:12px;white-space:nowrap}
.catalog-item{grid-template-columns:150px minmax(180px,.9fr) minmax(250px,1.4fr) auto}
.catalog-item .badge{padding:0;border:0;border-radius:0;margin:4px 0 0;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.contact-panel{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.contact-layout{gap:90px}
.product-pair{display:block}
.product-card{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none;padding:44px 0}
.product-card+.product-card{border-top:1px solid var(--line)}
.product-card:hover{transform:none;box-shadow:none}
.product-image{background:transparent;height:350px;padding:0}
.product-body{padding:0}
.product-body h3{font-size:42px}
.product-body p{font-size:16px}
.hero-image,.editorial-image{border-radius:0}
.product-hero{background:transparent;border:0;padding:0}
.hero-image .image-caption{border-radius:0;box-shadow:none}
.quote-band{background:transparent;color:var(--ink);border-top:1px solid var(--line);padding:70px 0}
.quote-band p,.quote-band .eyebrow{color:var(--muted)}
.cta{border-top:1px solid var(--line);padding:56px 0}
.visibility-grid{display:block}
.visibility-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:80px;row-gap:18px;padding:37px 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.visibility-card+.visibility-card{border-top:1px solid var(--line)}
.visibility-card>.icon{grid-column:1;grid-row:1;margin:0}
.visibility-card>.eyebrow{grid-column:1;grid-row:2;margin:0}
.visibility-card>h3{grid-column:1;grid-row:3;margin:0}
.visibility-card>p{grid-column:2;grid-row:1/3}
.visibility-card>.check-list{grid-column:2;grid-row:3;margin:0}
.visibility-card>.button-line{grid-column:2;grid-row:4;margin:0}
.portal-demo{border:0;border-radius:0;background:transparent;box-shadow:none}
.demo-bar{padding:17px 0;background:transparent;border-bottom:1px solid var(--line)}
.demo-body{padding:25px 0}
.demo-message{border-radius:0;background:transparent;border-bottom:1px solid var(--line);padding:17px 0}
.demo-pill{background:transparent;padding:0;border-radius:0;color:var(--muted)}
.callout,.product-detail .callout{border:0;border-radius:0;background:transparent;padding:0;color:var(--muted);font-size:13px;max-width:760px}
.stats-row{border:0;padding:17px 0}
.stat{border:0;padding:20px 28px}
.signup-steps{gap:40px}
.step{border:0;padding-top:0}
.gateway-utility{gap:70px;margin-top:45px;margin-bottom:12px}
.gateway-service{border:0;border-radius:0;background:transparent;box-shadow:none;padding:23px 0;min-height:0;align-items:flex-start}
.gateway-service .service-icon{background:transparent;border-radius:0;width:32px;height:32px}
a.gateway-service:hover{background:transparent;border:0}
.gateway-service .service-arrow{margin-top:8px}
.solution-choices{margin-top:0;padding-top:60px;gap:70px}
.solution-card,.solution-card.compliance{display:grid;grid-template-rows:300px auto;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ink);overflow:visible;min-height:0}
.solution-card:hover{transform:none;box-shadow:none}
.solution-card img{position:static;height:300px;object-position:72% center}
.solution-card:hover img{transform:none}
.solution-card:after,.solution-card.compliance:after{display:none}
.solution-card .content{padding:27px 0 0;max-width:none;height:auto}
.solution-card .eyebrow{color:var(--muted);margin-bottom:17px}
.solution-card h2{max-width:none;font-size:42px}
.solution-card p{max-width:510px;font-size:15px;margin:19px 0 25px}
.solution-card .choice-link{font-size:13px}
.gateway .solution-card.compliance::before{content:"";position:absolute;left:-35px;top:372px;width:1px;height:110px;background:#c6c9cc;pointer-events:none}
@media(max-width:1100px){
  .card{grid-template-columns:38px minmax(170px,.8fr) minmax(220px,1.3fr);gap:23px}
  .card a{grid-column:3;white-space:normal;margin-top:-9px;justify-self:start}
  .catalog-item{grid-template-columns:130px minmax(160px,.8fr) minmax(220px,1.3fr)}
  .solution-choices,.gateway-utility{gap:40px}
  .solution-card,.solution-card.compliance{grid-template-rows:260px auto}
  .solution-card img{height:260px}
  .solution-card h2{font-size:36px}
  .gateway .solution-card.compliance::before{left:-20px;top:332px}
  .product-card{gap:50px}
  .visibility-card{column-gap:50px}
  .contact-layout{gap:50px}
}
@media(max-width:760px){
  .section{padding:60px 0}
  .card,.catalog-item{grid-template-columns:32px minmax(0,1fr);gap:15px 20px;padding:29px 0}
  .card .icon{grid-column:1;grid-row:1;width:25px;height:25px}
  .card h3{grid-column:2;grid-row:1;font-size:26px}
  .card p{grid-column:2;grid-row:2;font-size:14px}
  .card a{grid-column:2;grid-row:3;margin:0;align-self:start}
  .catalog-item{grid-template-columns:1fr}
  .catalog-item .badge{grid-column:1;grid-row:1;margin:0}
  .catalog-item h3{grid-column:1;grid-row:2}
  .catalog-item p{grid-column:1;grid-row:3}
  .catalog-item a{grid-column:1;grid-row:4}
  .contact-layout{gap:50px}
  .product-card{grid-template-columns:1fr;gap:28px;padding:35px 0}
  .product-image{height:285px}
  .product-body h3{font-size:37px}
  .product-body p{font-size:15px}
  .visibility-card{display:block;padding:33px 0}
  .visibility-card>.icon{margin-bottom:20px}
  .visibility-card>.eyebrow{margin-bottom:17px}
  .visibility-card>h3{margin-bottom:22px}
  .visibility-card>.check-list{margin-top:20px}
  .visibility-card>.button-line{margin-top:20px}
  .quote-band{padding:54px 0}
  .cta{padding:44px 0}
  .solution-choices{padding-top:38px;gap:45px}
  .solution-card,.solution-card.compliance{grid-template-rows:250px auto}
  .solution-card img{height:250px}
  .solution-card .content{padding:23px 0 0}
  .solution-card h2{font-size:37px}
  .solution-card p{max-width:100%;font-size:15px}
  .gateway .solution-card.compliance::before{left:50%;top:-23px;width:96px;height:1px;transform:translateX(-50%)}
  .gateway-utility{gap:16px;margin-top:31px}
  .gateway-service{padding:18px 0;min-height:0;gap:18px}
  .stat{border:0;padding:17px 0}
  .hero-image .image-caption{left:12px;right:12px;bottom:12px;padding:12px}
}

/* Flat midnight blue, matched to the oncology artwork's tablet screen. */
.gateway-hero{background:#091d2c;isolation:isolate}
.gateway-hero::before,.gateway-hero::after{display:none}

/* Keep the original SortPak dispenser fully visible at every screen size. */
.gateway .solution-card.compliance img{object-fit:contain;object-position:center}


.hero-image.packaging-studio{height:auto;aspect-ratio:3/2;background:#f5efe7}
.hero-image.packaging-studio img{width:100%;height:100%;object-fit:contain;object-position:center}

/* Matching full-width studio images for the two service lines. */
.gateway .solution-card,.gateway .solution-card.compliance{grid-template-rows:auto auto}
.gateway .solution-card>img,.gateway .solution-card.compliance>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}

/* Product studio photography preserves the complete 3:2 composition. */
.product-image,.hero-image.product-hero{height:auto;aspect-ratio:3/2;padding:0;background:#f5efe7}
.product-image img,.hero-image.product-hero img,.product-detail>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}

/* SortPak Live: stone studio portal artwork */
.live-studio{margin:0;min-width:0;width:100%}
.hero-image.live-studio-image{height:auto;aspect-ratio:3/2;background:#faf4ed;overflow:hidden}
.hero-image.live-studio-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.live-studio figcaption{margin-top:14px;font-size:12px;line-height:1.5;color:var(--muted)}

/* Give the desktop portal artwork a larger, softly lit studio setting. */
.page-hero:has(.live-studio){background:radial-gradient(ellipse at 85% 36%,#fce5d4 0,transparent 48%),linear-gradient(135deg,#ffffff 10%,#faf7f2 62%,#f3eee6 100%)}
.hero-grid:has(>.live-studio){grid-template-columns:minmax(0,.82fr) minmax(0,1.3fr);gap:44px}
.hero-image.live-studio-image{border-radius:20px;box-shadow:0 28px 65px -28px rgba(91,61,35,.3);background:#f7ede2}
.live-studio figcaption{padding-left:4px}
@media(min-width:1101px){.hero-grid:has(>.live-studio){width:min(1400px,calc(100% - 96px))}}
@media(max-width:900px){.hero-grid:has(>.live-studio){grid-template-columns:1fr;gap:38px}.hero-image.live-studio-image{border-radius:16px}.live-studio{max-width:780px;margin-inline:auto}}

/* Uniform dark navy landing background. */
.gateway-hero{background:#091d2c;overflow:hidden}
.gateway-hero::before,.gateway-hero::after{display:none}

.hero-image.manufacturer-artwork{height:auto;aspect-ratio:3/2;background:#f5efe7;overflow:hidden;border-radius:0}
.hero-image.manufacturer-artwork img{display:block;width:100%;height:100%;object-fit:contain}
.hero-grid:has(.manufacturer-artwork){grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:44px}
@media(max-width:900px){.hero-grid:has(.manufacturer-artwork){grid-template-columns:1fr}}

/* Inner-page photography blends into the canvas instead of sitting in frames. */
body:not(.gateway) :is(.hero-image,.editorial-image,.product-image){background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
body:not(.gateway) :is(.hero-image,.editorial-image,.product-image)>img,
body:not(.gateway) .product-detail>img{
  --image-fade:clamp(24px,4vw,52px);
  border:0;border-radius:0;box-shadow:none;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent),linear-gradient(to bottom,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent);
  mask-image:linear-gradient(to right,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent),linear-gradient(to bottom,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}
body:not(.gateway) .hero-image:has(.image-caption){height:auto}
body:not(.gateway) .hero-image:has(.image-caption)>img{height:auto;aspect-ratio:3/2;object-fit:contain}
body:not(.gateway) .hero-image .image-caption{position:static;background:transparent;backdrop-filter:none;border:0;border-radius:0;box-shadow:none;padding:14px 4px 0;margin:0;font-size:12px;color:var(--muted)}

/* Compliance overview portal artwork retains its complete studio composition. */
.editorial-image.compliance-live-artwork{height:auto;aspect-ratio:3/2}
.editorial-image.compliance-live-artwork img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}

/* Keep the complete patient handover visible while softly blending its edges. */
body:not(.gateway) .hero-image:has(img[src="/assets/patient-dispenser-handover.png"]){height:auto;aspect-ratio:auto}
body:not(.gateway) .hero-image>img[src="/assets/patient-dispenser-handover.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}

/* Provider artwork keeps faces, tablet status, and both packages visible. */
body:not(.gateway) .hero-image.provider-delivery-artwork,
body:not(.gateway) .hero-image.provider-packaging-artwork{height:auto;aspect-ratio:3/2}
body:not(.gateway) .hero-image.provider-delivery-artwork>img,
body:not(.gateway) .hero-image.provider-packaging-artwork>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
.provider-packaging-artwork{margin-top:28px}

/* Manufacturer partnership artwork follows the shared soft-edge treatment. */
.manufacturer-partner-portal{margin-top:32px}
.manufacturer-partner-portal .live-studio-image{width:100%;height:auto;aspect-ratio:3/2}

/* Personalized dispenser photography keeps its full composition and soft edges. */
img[src="/assets/sortpak-dose-light.webp"]{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;--image-fade:clamp(24px,4vw,52px);border:0;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent),linear-gradient(to bottom,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent),linear-gradient(to bottom,transparent,#000 var(--image-fade),#000 calc(100% - var(--image-fade)),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}

/* Connected care artwork keeps the full patient, physician, and portal visible. */
.editorial-image:has(>img[src="/assets/oncology-connected-care-navy.webp"]){height:auto;aspect-ratio:3/2}
.editorial-image>img[src="/assets/oncology-connected-care-navy.webp"]{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}

/* Portal buttons sit neatly beside each solution title. */
.solution-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.solution-heading-row h2{margin:0;min-width:0}
.solution-live-login{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;margin-top:6px;background:#ed4b13;color:#fff;padding:11px 16px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap}
.solution-live-login svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.solution-live-login:hover{background:#cb3d0d;color:#fff}
.solution-live-login:focus-visible{outline:2px solid #ed4b13;outline-offset:4px}
@media(min-width:761px) and (max-width:1100px){.solution-heading-row{flex-wrap:wrap}}
@media(max-width:480px){.solution-heading-row{gap:12px}.solution-live-login{font-size:10px;padding:10px 12px;gap:5px}.solution-live-login svg{width:13px;height:13px}.solution-heading-row h2{font-size:30px}}

/* Bright brand-orange pulse for both portal entries. */
.solution-live-login{background:var(--orange,#ed4b13);animation:sortpak-live-glow 2.4s ease-in-out infinite}
@keyframes sortpak-live-glow{0%,100%{box-shadow:0 0 0 0 rgba(237,75,19,0),0 0 0 rgba(237,75,19,0)}50%{box-shadow:0 0 0 5px rgba(237,75,19,.13),0 0 22px rgba(237,75,19,.48)}}
.solution-live-login:hover,.solution-live-login:focus-visible{background:var(--orange,#ed4b13);animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.solution-live-login{animation:none;box-shadow:0 0 12px rgba(237,75,19,.25)}}

/* Keep each supporting service within its own division in reading order. */
.solution-group{min-width:0;display:flex;flex-direction:column}
.solution-group>.gateway-service{margin-top:28px}
.solution-group>.solution-card{flex:1}
@media(max-width:760px){
  .gateway-hero{height:auto;min-height:0;padding-bottom:44px}
  .gateway-title{padding-top:22px}
  .gateway-title h1{font-size:clamp(40px,10vw,60px);line-height:1.08}
  .gateway-title p{font-size:16px;line-height:1.6;margin-top:20px}
  .gateway .solution-choices{margin-top:0;padding-top:32px;gap:36px}
  .solution-group+.solution-group{padding-top:32px;border-top:1px solid var(--line)}
  .gateway .solution-card.compliance::before{display:none}
  .gateway .solution-card{display:flex;flex-direction:column;min-width:0}
  .gateway .solution-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
  .gateway .solution-card .content{padding-top:24px;width:100%;max-width:none}
  .gateway .solution-heading-row{width:100%;flex-direction:column;align-items:flex-start;gap:16px}
  .gateway .solution-heading-row h2{font-size:34px;line-height:1.08}
  .gateway .solution-live-login{margin-top:0;min-height:44px;padding:12px 18px;font-size:11px}
  .gateway .solution-card p{font-size:15px;line-height:1.65;margin:20px 0}
  .gateway .choice-link{font-size:13px;min-height:44px;line-height:1.5}
  .solution-group>.gateway-service{margin-top:20px;padding:20px 0 0;border-top:1px solid var(--line);gap:14px}
  .gateway-service strong{font-size:20px}
  .gateway-service .service-description{font-size:13px;line-height:1.6}
  .get-started-teaser .button-line{font-size:13px;min-height:44px}
  .gateway .trust-strip{margin-top:32px;padding-top:30px;border-top:1px solid var(--line);gap:24px 12px}
  .gateway .prescribe{grid-template-columns:1fr;gap:24px}
  .gateway .footer .refill-block{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .gateway .legal-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .gateway .footer-col a{min-height:44px;display:flex;align-items:center}
}

/* Keep the infusion arrow beside its label at every screen width. */
.gateway-service .infusion-clinic-title{display:flex;align-items:center;gap:12px}
.gateway-service .infusion-clinic-title .service-arrow{display:inline-flex;flex-shrink:0;margin:0}
.gateway-service .infusion-clinic-title .service-arrow svg{width:20px;height:20px}
