.pharma-header { background:rgba(255,255,255,.92); }
.pharma-hero { min-height:780px; padding:145px clamp(24px,7vw,112px) 85px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:55px; background:linear-gradient(90deg,#fff 0 48%,#f4f4f2 48%); overflow:hidden; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:#999; font-size:10px; margin-bottom:46px; }
.breadcrumbs b { color:var(--ink); }
.pharma-hero .hero-copy { max-width:680px; }
.pharma-hero h1 { font-size:clamp(48px,5.2vw,76px); }
.pharma-hero .hero-lede { max-width:640px; margin:22px 0 0; color:#4f596b; font-size:18px; font-weight:500; line-height:2; text-wrap:balance; }
.hero-actions .text-button { white-space:nowrap; }
.audience-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:42px; }
.audience-row span { border:1px solid var(--line); padding:9px 12px; color:#777; font-size:9px; }
.hero-figure { margin:0; min-height:540px; position:relative; display:grid; place-items:center; direction:ltr; }
.hero-figure::before { content:""; position:absolute; width:440px; height:440px; border-radius:50%; border:1px solid rgba(211,11,33,.16); }
.hero-figure img { position:relative; z-index:1; width:110%; max-width:none; height:auto; mix-blend-mode:multiply; }
.hero-figure figcaption { position:absolute; z-index:2; bottom:0; left:0; display:flex; align-items:center; gap:14px; direction:rtl; color:#777; font-size:10px; }
.hero-figure figcaption b { color:var(--red); direction:ltr; }
.pharma-hero.industry-hero-background { min-height:var(--industry-hero-min-height,clamp(640px,82vh,860px)); display:flex; align-items:center; position:relative; isolation:isolate; padding:120px clamp(24px,7vw,112px) 88px; background-image:var(--industry-hero-overlay,linear-gradient(90deg,rgba(4,18,34,.96) 0%,rgba(5,25,46,.86) 42%,rgba(5,25,46,.32) 72%,rgba(5,25,46,.18) 100%)),var(--industry-hero-image); background-position:var(--industry-hero-position,center); background-size:cover; color:#fff; overflow:hidden; }
.industry-hero-background::after { content:""; position:absolute; inset:auto 0 0; height:120px; z-index:-1; background:linear-gradient(0deg,rgba(4,18,34,.5),transparent); }
.industry-hero-background .hero-copy { width:min(760px,62vw); max-width:none; position:relative; z-index:1; }
.industry-hero-background .breadcrumbs { color:rgba(255,255,255,.66); margin-bottom:38px; }
.industry-hero-background .breadcrumbs a,.industry-hero-background .breadcrumbs b { color:inherit; }
.industry-hero-background .eyebrow { color:#fff; }
.industry-hero-background h1 { color:#fff; max-width:820px; text-shadow:0 3px 22px rgba(0,0,0,.3); }
.industry-hero-background .hero-lede { color:rgba(255,255,255,.88); max-width:690px; text-shadow:0 2px 14px rgba(0,0,0,.34); }
.industry-hero-background .button.primary { background:var(--green); box-shadow:0 18px 38px rgba(0,108,53,.25); }
.industry-hero-background .button.text-button { color:#fff; border-color:rgba(255,255,255,.52); }
.industry-hero-background .audience-row span { color:rgba(255,255,255,.86); border-color:rgba(255,255,255,.32); background:rgba(4,18,34,.18); backdrop-filter:blur(5px); }
.industry-hero-background::before { content:""; position:absolute; z-index:0; pointer-events:none; inset-block:16% 15%; inset-inline-start:clamp(22px,3vw,58px); width:clamp(28px,3.2vw,54px); border-inline-start:2px solid rgba(213,176,96,.92); border-block:2px solid rgba(213,176,96,.78); border-radius:0 26px 26px 0; filter:drop-shadow(0 0 8px rgba(213,176,96,.22)); }
.section-nav { position:sticky; top:0; z-index:12; display:flex; justify-content:center; gap:0; overflow-x:auto; background:#1a1b1d; color:#c8c8ca; border-bottom:1px solid #333; }
.section-nav a { padding:18px 25px; font-size:10px; white-space:nowrap; border-inline-start:1px solid #333; }
.section-nav a:hover { background:var(--red); color:#fff; }
.challenge-section,.pharma-products,.pharma-process,.pharma-faq { padding:110px clamp(24px,7vw,112px); }
.challenge-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-right:1px solid var(--line); }
.challenge-grid article { position:relative; min-height:420px; padding:34px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; color:#fff; }
.challenge-grid article>span { position:absolute; top:28px; right:30px; color:var(--red); font-size:10px; z-index:2; }
.challenge-grid h3 { font-size:23px; margin:0 0 14px; position:relative; z-index:2; }
.challenge-grid p { color:#d2d2d4; line-height:1.9; font-size:13px; max-width:520px; margin:0; position:relative; z-index:2; }
.challenge-image-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.challenge-image-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,14,17,.9) 0%,rgba(12,14,17,.52) 46%,rgba(12,14,17,.1) 100%); }
.zone-section { padding:110px clamp(24px,7vw,112px); background:#191a1c; color:#fff; }
.zone-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:45px; }
.zone-heading h2 { font-size:clamp(40px,4.4vw,64px); line-height:1.25; max-width:900px; margin:0; }
.zone-visual { margin:0; position:relative; background:#efefed; overflow:hidden; }
.zone-visual img { display:block; width:100%; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.zone-visual figcaption { position:absolute; bottom:22px; left:25px; color:#999; font-size:9px; letter-spacing:.12em; direction:ltr; }
.zone-legend { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #3a3b3e; border-right:1px solid #3a3b3e; margin-top:34px; }
.zone-legend div { min-height:92px; padding:23px; display:flex; align-items:flex-start; gap:13px; border-left:1px solid #3a3b3e; border-bottom:1px solid #3a3b3e; }
.zone-legend b { color:var(--red); font-size:10px; direction:ltr; }
.zone-legend span { color:#d0d1d3; font-size:12px; line-height:1.65; }
.architecture-section { display:grid; grid-template-columns:.72fr 1.28fr; background:#f5f5f3; }
.architecture-title { padding:100px clamp(30px,6vw,88px); }
.architecture-title h2 { font-size:clamp(42px,4.6vw,68px); line-height:1.2; margin:0 0 25px; }
.architecture-title>p:not(.eyebrow) { color:var(--muted); line-height:1.9; font-size:13px; }
.architecture-list { border-right:1px solid var(--line); }
.architecture-list article { min-height:135px; display:grid; grid-template-columns:55px 1fr 100px; gap:20px; align-items:center; padding:22px 36px; border-bottom:1px solid var(--line); background:#fff; }
.architecture-list article:first-child { border-top:1px solid var(--line); }
.architecture-list b { color:var(--red); font-size:10px; direction:ltr; }
.architecture-list h3 { margin:0 0 8px; font-size:18px; }
.architecture-list p { color:var(--muted); margin:0; font-size:11px; line-height:1.7; }
.architecture-list a { font-size:11px; color:var(--red); direction:ltr; text-align:left; }

/* Omit visual sequence labels; headings provide the navigation context. */
.hero-figure figcaption b,
.challenge-grid article>span,
.zone-legend b,
.architecture-list b { display:none; }
.architecture-list article { grid-template-columns:1fr 100px; }
.solution-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px 22px; }
.solution-product-grid article { position:relative; padding-bottom:50px; }
.solution-image { display:block; aspect-ratio:1.08; background:#f5f5f3; overflow:hidden; }
.solution-image img { width:100%; height:100%; object-fit:contain; padding:8%; mix-blend-mode:multiply; transition:transform .35s ease; }
.solution-image:hover img { transform:scale(1.04); }
.solution-product-grid article>p { color:var(--red); font-size:9px; letter-spacing:.12em; direction:ltr; text-align:right; margin:18px 0 8px; }
.solution-product-grid h3 { font-size:19px; margin:0 0 10px; }
.solution-product-grid article>span { color:var(--muted); font-size:11px; line-height:1.7; }
.solution-product-grid article>a:last-child { position:absolute; right:0; bottom:0; left:0; padding-top:13px; border-top:1px solid var(--line); font-size:11px; color:#555; }
.project-data { display:grid; grid-template-columns:.82fr 1.18fr; background:#191a1c; color:#fff; }
.data-intro { padding:95px clamp(30px,6vw,90px); display:flex; flex-direction:column; }
.data-intro h2 { font-size:clamp(42px,4.5vw,66px); line-height:1.25; margin:0 0 23px; }
.data-intro>p:not(.eyebrow) { color:#a4a5a8; line-height:1.9; font-size:13px; }
.data-intro img { width:100%; margin-top:auto; padding-top:45px; mix-blend-mode:screen; }
.data-panels { display:grid; grid-template-columns:1fr 1fr; }
.data-panels article { padding:90px 42px; border-right:1px solid #38393c; }
.data-panels span { color:var(--red); font-size:9px; letter-spacing:.12em; }
.data-panels h3 { font-size:22px; margin:55px 0 30px; }
.data-panels ul { list-style:none; padding:0; margin:0; }
.data-panels li { padding:14px 18px 14px 0; border-top:1px solid #38393c; color:#b6b7ba; font-size:12px; position:relative; }
.data-panels li::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--red); position:absolute; right:0; top:20px; }
.pharma-process { background:#f6f6f5; }
.pharma-process .process-grid { border-color:#ddd; }
.pharma-process .process-grid article { background:#fff; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; list-style:none; position:relative; padding:25px 42px 25px 0; font-size:16px; font-weight:700; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::before { content:"+"; position:absolute; right:0; top:20px; color:var(--red); font-size:22px; font-weight:400; }
.faq-list details[open] summary::before { content:"−"; }
.faq-list p { color:var(--muted); max-width:880px; padding:0 42px 25px 0; margin:0; font-size:13px; line-height:1.9; }
.industry-source { margin-top:45px; display:flex; flex-wrap:wrap; gap:15px 30px; align-items:center; background:#f6f6f5; padding:25px 28px; font-size:11px; }
.industry-source span { color:#888; }
.industry-source a { color:var(--red); }
.pharma-inquiry { display:grid; grid-template-columns:.85fr 1.15fr; background:var(--red); color:#fff; }
.inquiry-copy { padding:90px clamp(30px,6vw,90px); }
.inquiry-copy h2 { font-size:clamp(42px,4.8vw,68px); line-height:1.2; margin:0 0 23px; }
.inquiry-copy>p:not(.eyebrow) { color:rgba(255,255,255,.76); line-height:1.9; font-size:13px; }
.selected-solution { margin-top:45px; padding-top:22px; border-top:1px solid rgba(255,255,255,.25); display:grid; gap:8px; }
.selected-solution span { color:rgba(255,255,255,.6); font-size:10px; }
.selected-solution strong { direction:ltr; text-align:right; font-size:13px; }
.inquiry-whatsapp { display:inline-block; color:#fff; margin-top:24px; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.5); font-size:12px; }
.pharma-inquiry .current-product-field { margin-bottom:25px; }
.pharma-inquiry .current-product-field input { color:var(--red); font-weight:800; background:#f7f7f6; }
.file-field { padding:17px; border:1px dashed #ccc; background:#fafafa; }
.file-field small { direction:ltr; color:#999; margin-right:8px; }
.file-field input { margin:12px 0 8px; padding:0; border:0; background:transparent; }
.file-field span { display:block; color:#777; font-size:10px; }

@media(max-width:1050px){
  .pharma-hero { grid-template-columns:1fr; background:linear-gradient(#fff 0 50%,#f4f4f2 50%); }
  .hero-figure { min-height:500px; }
  .architecture-section,.project-data,.pharma-inquiry { grid-template-columns:1fr; }
  .zone-legend { grid-template-columns:repeat(3,1fr); }
  .solution-product-grid { grid-template-columns:1fr 1fr; }
  .architecture-list { border-right:0; }
}

/* Saudi-localized visual system */
.pharma-hero { background:linear-gradient(90deg,#fff 0 48%,var(--sand-bg) 48%); }
.hero-figure::before { border-color:rgba(0,108,53,.18); }
.section-nav,.zone-section,.project-data { background:var(--navy); }
.section-nav a:hover { background:var(--green); }
.architecture-section,.pharma-process,.industry-source { background:var(--sand-bg); }
.architecture-list article,.pharma-process .process-grid article { border-top:4px solid var(--green); }
.challenge-grid article { border-top:4px solid var(--green); }
.data-panels li::before { background:var(--green-bright); }
.pharma-inquiry { background:var(--navy); }
.inquiry-whatsapp { border:0; border-radius:8px; padding:12px 17px; background:var(--whatsapp); }
.challenge-grid p,.architecture-list p,.data-intro>p:not(.eyebrow),.data-panels li,.industry-source { font-size:17px; line-height:1.9; }
@media(max-width:980px){.pharma-hero{background:linear-gradient(#fff 0 50%,var(--sand-bg) 50%)}}
@media(max-width:680px){
  .pharma-hero { padding:105px 20px 60px; gap:35px; min-height:0; }
  .breadcrumbs { margin-bottom:30px; }
  .pharma-hero h1 { font-size:45px; }
  .pharma-hero .hero-lede { margin-top:18px; font-size:17px; line-height:1.9; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .hero-figure { min-height:330px; }
  .hero-figure::before { width:280px; height:280px; }
  .hero-figure img { width:125%; }
  .section-nav { justify-content:flex-start; }
  .section-nav a { padding:15px 18px; }
  .challenge-section,.pharma-products,.pharma-process,.pharma-faq { padding:75px 20px; }
  .challenge-grid,.solution-product-grid,.data-panels { grid-template-columns:1fr; }
  .challenge-grid article { min-height:260px; }
  .zone-section { padding:75px 20px; }
  .zone-heading { align-items:start; flex-direction:column; margin-bottom:30px; }
  .zone-legend { grid-template-columns:1fr 1fr; margin-top:22px; }
  .zone-legend div { min-height:84px; padding:18px 14px; }
  .architecture-title,.data-intro,.inquiry-copy { padding:70px 24px; }
  .architecture-list article { grid-template-columns:1fr; padding:22px 20px; }
  .architecture-list article>a { grid-column:auto; text-align:right; }
  .data-panels article { padding:60px 24px; }
  .pharma-inquiry .quote-form { padding:68px 24px; }
  .industry-source { align-items:flex-start; flex-direction:column; }
  .pharma-hero.industry-hero-background { min-height:680px; padding:105px 20px 62px; background-image:var(--industry-hero-mobile-overlay,linear-gradient(90deg,rgba(4,18,34,.94),rgba(4,18,34,.6))),var(--industry-hero-image); background-position:var(--industry-hero-mobile-position,center); }
  .industry-hero-background .hero-copy { width:100%; }
  .industry-hero-background h1 { font-size:clamp(38px,12vw,52px); }
  .industry-hero-background::before { inset-block:13% 11%; inset-inline-start:12px; width:20px; border-width:1.5px; opacity:.82; }
}
