/* Intentional mobile experience. Desktop rules remain in their page stylesheets. */
.mobile-accordion-toggle,
.mobile-sticky-cta { display: none; }

@media (max-width: 1023px) {
  html.premium-nav-open, body.premium-nav-open { overflow: hidden !important; overscroll-behavior: none; }
  .phd-mobile-panel,
  .premium-header[dir="rtl"] .phd-mobile-panel {
    position: fixed !important;
    inset: 0 !important;
    z-index: 150 !important;
    display: flex !important;
    height: 100dvh !important;
    flex-direction: column;
    overflow: hidden !important;
    padding: 0 !important;
    background: #03243d;
    color: #fff;
    opacity: 0;
    visibility: hidden !important;
    transform: translate3d(100%,0,0) !important;
    transition: transform .24s ease, opacity .2s ease, visibility 0s linear .24s !important;
  }
  .phd-mobile-panel[dir="rtl"] { transform: translate3d(-100%,0,0) !important; }
  body.premium-nav-open .phd-mobile-panel {
    opacity: 1;
    visibility: visible !important;
    transform: translate3d(0,0,0) !important;
    transition-delay: 0s !important;
  }
  .phd-mobile-head {
    display: flex;
    min-height: 72px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 10px 18px;
    border-bottom: 1px solid rgba(255,255,255,.13);
    background: #052b47;
  }
  .phd-mobile-head img { width: 154px; height: auto; }
  .phd-mobile-close {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50%;
    color: #fff;
    font-size: 19px;
  }
  .phd-mobile-panel nav {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
    padding: 12px 18px calc(30px + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .phd-mobile-panel a,
  .phd-mobile-panel summary { min-height: 58px; font-size: 17px; }
  .phd-mobile-products { padding-block: 6px 13px; }
  .phd-mobile-products a { min-height: 47px; font-size: 14px; }
  .phd-mobile-quote,
  .phd-mobile-contact { min-height: 54px !important; }
}

@media (max-width: 700px) {
  :root { --mobile-gutter: 15px; }
  html { scroll-padding-top: 76px; }
  body { overflow-x: clip; }
  main { min-width: 0; }
  button, a, input, select, textarea, summary { touch-action: manipulation; }
  input, select, textarea { font-size: 16px !important; }
  .ph-button, .ab-button, .products-primary-button, .pd-primary, .pd-secondary,
  .fm-button, .pj-cta a {
    min-height: 52px;
    justify-content: center;
  }

  /* Home: image -> message -> proof -> action */
  .ph-container { width: calc(100% - 30px) !important; }
  .premium-home .ph-section { padding-block: 58px !important; }
  .premium-home .premium-hero {
    display: block !important;
    min-height: 0 !important;
    padding-top: min(62vw, 285px);
    background: #041f35;
  }
  .premium-home .premium-hero > div[role="img"] {
    top: 0 !important;
    bottom: auto !important;
    height: min(62vw, 285px) !important;
    background-position: center !important;
    background-size: cover !important;
  }
  .premium-home .premium-hero > div[class*="-z-20"],
  .premium-home .premium-hero > div[class*="-z-10"]:not(.bottom-0) {
    top: 0 !important;
    bottom: auto !important;
    height: min(62vw, 285px) !important;
  }
  .premium-home .premium-hero > div[class*="-z-20"] {
    background: linear-gradient(0deg,rgba(3,25,43,.48),rgba(3,25,43,.06)) !important;
  }
  .premium-home .premium-hero > div[class*="-z-10"]:not(.bottom-0) {
    background: linear-gradient(0deg,#041f35 0,rgba(4,31,53,.05) 54%) !important;
  }
  .premium-home .premium-hero > div.mx-auto {
    width: 100% !important;
    padding: 30px 15px 86px !important;
  }
  .premium-home .premium-hero h1 {
    max-width: 12ch;
    font-size: clamp(2.45rem, 12vw, 3.55rem) !important;
    line-height: .98 !important;
    text-wrap: balance;
  }
  [dir="rtl"] .premium-home .premium-hero h1 { line-height: 1.2 !important; }
  .premium-home .premium-hero h1 + p {
    max-width: 36ch;
    margin-top: 18px;
    font-size: 15px !important;
    line-height: 1.65;
  }
  .premium-home .premium-hero [aria-live] { margin-top: 22px; }
  .premium-home .premium-hero .flex.flex-wrap { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .premium-home .premium-hero .flex.flex-wrap > a { width: 100%; min-height: 52px; }
  .premium-home .premium-hero > button { display: none !important; }
  .premium-home .premium-hero > .bottom-7.left-1\/2 {
    top: calc(min(62vw, 285px) - 24px);
    bottom: auto;
  }
  .premium-home .premium-hero > div[class*="left-1/2"][class*="bottom-7"] { top:calc(min(62vw,285px) - 22px) !important; bottom:auto !important; }
  .premium-home .premium-hero > div[class*="bottom-7"][class*="end-5"] { display:none !important; }
  .ph-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 !important; padding: 0 !important; }
  .ph-proof-grid > div { min-height: 116px; padding: 22px 15px; border-bottom: 1px solid #dbe6ec; }
  .ph-proof-grid > div:nth-child(odd) { border-inline-end: 1px solid #dbe6ec; }
  .ph-proof strong { font-size: 28px !important; }
  .ph-heading h2, .ph-rfq h2 { font-size: clamp(2.1rem,10vw,2.75rem); line-height: 1.07; }
  .ph-intro, .ph-story { font-size: 15px; line-height: 1.72; }
  .ph-section-top { margin-bottom: 30px; }
  .ph-section-top > .ph-button { width: 100%; }
  .ph-product-grid {
    display: flex !important;
    width: calc(100% + 15px);
    gap: 14px !important;
    overflow-x: auto;
    padding: 2px 15px 18px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  [dir="rtl"] .ph-product-grid { padding: 2px 0 18px 15px; }
  .ph-product-grid::-webkit-scrollbar, .ph-industries::-webkit-scrollbar,
  .ph-project-grid::-webkit-scrollbar, .pd-gallery-grid::-webkit-scrollbar,
  .pj-gallery-grid::-webkit-scrollbar::-webkit-scrollbar { display: none; }
  .ph-product, .ph-product:last-child:nth-child(3n+1) {
    display: flex !important;
    min-width: min(86vw, 350px);
    max-width: min(86vw, 350px);
    scroll-snap-align: start;
  }
  .ph-product-image, .ph-product:last-child:nth-child(3n+1) .ph-product-image {
    height: 245px !important;
    min-height: 0 !important;
  }
  .ph-product-copy { padding: 22px 20px !important; }
  .ph-product h3 { font-size: 22px; }
  .ph-product-copy > p:not(.ph-kicker) {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 18px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .ph-product dl > div:nth-child(n+3) { display: none; }
  .ph-factory-visual { height: 330px; margin-inline: -15px; }
  .ph-factory-visual img { object-position: center; }
  .ph-factory-visual > div { inset-inline: 20px; bottom: 22px; }
  .ph-factory-visual p { font-size: 30px; }
  .ph-process {
    position: relative;
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding-inline-start: 28px;
  }
  .ph-process:before { content:""; position:absolute; inset-block:12px; inset-inline-start:5px; width:1px; background:#3b6278; }
  .ph-process li { min-height: 66px; padding: 8px 0 14px 18px; border: 0; }
  .ph-process li:before { content:""; position:absolute; top:12px; inset-inline-start:-28px; width:11px; height:11px; border-radius:50%; background:#55bceb; box-shadow:0 0 0 5px #123d54; }
  .ph-process li:not(:last-child):after { display:none; }
  .ph-process h3 { margin-top: 5px; font-size: 18px; }
  .ph-quality { padding-top: 27px; }
  .ph-industries {
    display: flex !important;
    width: calc(100% + 15px);
    gap: 14px;
    overflow-x: auto;
    padding: 0 15px 18px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  [dir="rtl"] .ph-industries { padding: 0 0 18px 15px; }
  .ph-industry { min-width: min(86vw,350px); height: 390px; scroll-snap-align: start; }
  .ph-industry > div { inset-inline: 22px; bottom: 22px; }
  .ph-project-grid {
    display: flex !important;
    width: calc(100% + 15px);
    gap: 14px;
    overflow-x: auto;
    padding: 0 15px 18px 0;
    scroll-snap-type: x mandatory;
  }
  .ph-project-card, .ph-project-empty { min-width: min(86vw,350px); scroll-snap-align:start; background:#fff; }
  .ph-project-empty { display:flex; flex-direction:column; }
  .ph-project-card img, .ph-project-empty img { width:100%; height:240px; object-fit:cover; }
  .premium-home .ph-rfq { padding-block: 58px 72px !important; }
  .ph-rfq .ph-button { width: 100%; }

  /* About */
  .ab-container { width: calc(100% - 30px); }
  .premium-about .ab-section { padding-block: 58px !important; }
  .ab-hero {
    display: block;
    min-height: 0;
    padding-top: min(62vw,285px) !important;
    background: #041f35;
  }
  .ab-hero > img, .ab-hero-shade { height: min(62vw,285px); bottom:auto; }
  .ab-hero-shade { background: linear-gradient(0deg,#041f35 0,rgba(4,31,53,.02) 58%) !important; }
  .ab-hero-content { padding-block: 30px 48px; }
  .ab-hero h1 { margin-block: 17px; font-size: clamp(2.45rem,12vw,3.45rem) !important; line-height:1.03 !important; }
  .ab-lead { font-size: 15px !important; line-height:1.7 !important; }
  .ab-actions { display:grid; gap:12px; margin-top:28px; }
  .ab-actions a { width:100%; }
  .ab-text-link { min-height:48px; justify-content:center; }
  .ab-proof-grid { grid-template-columns:repeat(2,1fr); gap:0; padding:0; }
  .ab-proof-grid > div { min-height:112px; justify-content:center; padding:20px 15px; border-bottom:1px solid #d9e4e9; }
  .ab-proof-grid > div:nth-child(odd) { border-inline-end:1px solid #d9e4e9; }
  .ab-proof strong { font-size:29px; }
  .ab-story, .ab-section-head, .ab-capability-layout, .ab-rfq-grid { grid-template-columns:1fr; gap:28px; }
  .ab-heading h2, .ab-rfq h2 { font-size:clamp(2.05rem,10vw,2.7rem); }
  .ab-story-copy { font-size:15px; line-height:1.75; }
  .ab-story-image { margin-inline:-15px; }
  .ab-story-image img { height:320px; }
  .ab-story-image figcaption { position:static; max-width:none; padding:16px 15px; background:#edf3f6; }
  .ab-story-note { grid-template-columns:35px 1fr; gap:12px; margin:0; padding:23px 20px; }
  .ab-story-note p { font-size:17px; }
  .ab-capability-photo { min-height:390px; margin-inline:-15px; }
  .ab-capability-list li { grid-template-columns:35px 1fr; gap:14px; padding:18px 0; }
  .ab-capability-list h3 { font-size:19px; }
  .ab-timeline { padding-inline-start:27px; }
  .ab-timeline article { grid-template-columns:1fr; gap:8px; padding:22px 0; }
  .ab-timeline time { font-size:27px; }
  .ab-timeline h3 { font-size:21px; }
  .ab-standard-grid { grid-template-columns:repeat(2,1fr); }
  .ab-standard-grid article { min-height:175px; padding:20px; }
  .ab-standard-grid strong { margin-top:34px; font-size:23px; }
  .ab-quality-row { align-items:flex-start; flex-direction:column; gap:16px; }
  .ab-purpose-grid { grid-template-columns:1fr; }
  .ab-purpose-grid > * { min-height:0; padding:26px 0; }
  .ab-rfq { padding-block:58px; }
  .ab-rfq .ab-button { width:100%; margin-top:25px; }

  /* Product listing */
  .products-shell { width:calc(100% - 30px); }
  .products-hero { padding-top:70px; }
  .products-hero-grid { display:flex; flex-direction:column; }
  .products-hero-visual { order:-1; height:min(62vw,285px); margin-inline:-15px; }
  .products-hero-copy { padding:30px 0 42px; }
  .products-hero h1 { font-size:clamp(2.45rem,12vw,3.4rem); line-height:1.02; }
  .products-hero-actions { display:grid; }
  .products-proof-strip { grid-template-columns:repeat(2,1fr); }
  .products-proof-strip > div { min-height:102px; }
  .products-intro { padding-block:54px; }
  .products-intro h2, .products-filter-heading h2 { font-size:clamp(2rem,9vw,2.55rem); }
  .products-filters {
    flex-wrap:nowrap !important;
    overflow-x:auto;
    padding-bottom:14px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .products-filters button { flex:none; min-height:46px; scroll-snap-align:start; }
  .premium-product-grid { gap:20px; }
  .premium-product-card { grid-template-rows:245px auto; }
  .premium-product-image img { object-fit:contain; }
  .premium-product-body { padding:22px 20px; }
  .premium-product-body h3 { font-size:22px; }
  .premium-product-blurb { display:-webkit-box; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
  .premium-product-specs > div:nth-child(n+3) { display:none; }
  .premium-product-link { min-height:48px; align-items:center; }
  .products-guidance { padding:42px 20px; }

  /* Product detail */
  .pd-shell { width:calc(100% - 30px); }
  .pd-hero { padding-top:0; }
  .pd-breadcrumb { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .pd-hero-grid { display:flex; flex-direction:column; margin-inline:-15px; }
  .pd-hero-image { order:-1; min-height:0; height:min(75vw,340px); background:#eef3f6; }
  .pd-hero-image img { object-fit:contain; }
  .pd-hero-copy { padding:30px 15px 38px; }
  .pd-hero h1 { font-size:clamp(2.35rem,11vw,3.15rem); }
  .pd-lead { font-size:15px; line-height:1.65; }
  .pd-actions { display:grid; gap:10px; }
  .pd-key-specs {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .pd-key-specs > div { min-width:72vw; scroll-snap-align:start; border-inline-end:1px solid rgba(255,255,255,.12); }
  .pd-section { padding-block:56px; }
  .pd-use, .pd-section-head, .pd-why-head { gap:22px; }
  .pd-use-copy h2, .pd-section-head h2 { font-size:clamp(2rem,9vw,2.55rem); }
  .pd-sector-grid { display:flex; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .pd-sector-grid article { min-width:72vw; min-height:145px; scroll-snap-align:start; }
  .pd-gallery-grid, .pj-gallery-grid {
    display:flex !important;
    grid-template:none !important;
    grid-auto-rows:auto !important;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .pd-gallery-item, .pj-gallery-grid button img {
    min-width:86vw;
    height:270px !important;
    scroll-snap-align:start;
  }
  .pd-gallery-grid > .pd-gallery-item,
  .pd-gallery-grid > .pd-gallery-item:nth-child(1),
  .pd-gallery-grid > .pd-gallery-item:nth-child(5) {
    flex:0 0 86vw !important;
    width:86vw !important;
    min-width:86vw !important;
    max-width:86vw;
  }
  /* Keep product image numbers in their real 01, 02, 03... order on Arabic phones. */
  html[dir=rtl] .premium-product-page[dir=rtl] .pd-gallery-grid {
    direction:ltr;
  }
  html[dir=rtl] .premium-product-page[dir=rtl] .pd-gallery-item {
    direction:rtl;
  }
  .pd-capabilities { display:grid; grid-template-columns:1fr; margin-top:32px; border-inline:0; }
  .pd-capabilities li { min-height:0; padding:16px; font-size:13px; }
  .pd-capabilities span { display:inline; margin-inline-end:14px; margin-bottom:0; }
  .mobile-accordion-toggle {
    display:flex;
    width:100%;
    min-height:56px;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:28px;
    padding:14px 16px;
    background:#082f4c;
    color:#fff;
    font-weight:800;
    text-align:start;
  }
  .mobile-accordion-toggle span:last-child { font-size:22px; transition:transform .2s; }
  .mobile-accordion-toggle[aria-expanded="true"] span:last-child { transform:rotate(45deg); }
  .pd-mobile-collapsible:not(.is-open) { display:none !important; }
  .pd-tech-grid { margin-top:0; padding-top:14px; }
  .pd-spec-table, .pd-spec-table tbody, .pd-spec-table tr, .pd-spec-table th, .pd-spec-table td { display:block; width:100%; }
  .pd-spec-table tr { padding:14px 0; }
  .pd-spec-table th, .pd-spec-table td { padding:3px 0; text-align:start !important; }
  .pd-feature-list { margin-top:15px; padding:22px 18px; }
  .pd-downloads { padding:54px 0; }
  .pd-download-panel { padding:24px 20px; }
  .pd-related-grid { display:flex; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .pd-related-card { min-width:82vw; scroll-snap-align:start; }
  .pd-rfq { padding:45px 15px 100px; }
  body.has-mobile-sticky-cta { padding-bottom:72px; }
  .mobile-sticky-cta {
    position:fixed;
    z-index:85;
    right:0;
    bottom:0;
    left:0;
    display:flex;
    padding:10px 15px calc(10px + env(safe-area-inset-bottom));
    background:rgba(3,35,58,.97);
    box-shadow:0 -10px 30px rgba(2,29,48,.18);
    backdrop-filter:blur(10px);
  }
  .mobile-sticky-cta a {
    display:flex;
    width:100%;
    min-height:50px;
    align-items:center;
    justify-content:center;
    border-radius:4px;
    background:#0b8bd2;
    color:#fff;
    font-size:14px;
    font-weight:800;
  }

  /* Manufacturing */
  .fm-shell { width:calc(100% - 30px); }
  .fm-hero {
    display:block;
    min-height:0;
    padding-top:min(68vw,310px);
    background:#031c31;
  }
  .fm-hero-image, .fm-hero-shade { bottom:auto; height:min(68vw,310px); }
  .fm-hero-image { object-position:center; }
  .fm-hero-shade { background:linear-gradient(0deg,#031c31 0,rgba(3,28,49,.02) 58%) !important; }
  .fm-hero-inner { padding-block:30px 245px; }
  .fm-hero h1 { font-size:clamp(2.65rem,13vw,3.8rem); line-height:1 !important; }
  [dir="rtl"] .fm-hero h1 { line-height:1.2 !important; }
  .fm-hero-copy { font-size:15px; }
  .fm-proof { grid-template-columns:repeat(2,1fr); }
  .fm-proof div { min-height:100px; padding:17px 15px; }
  .fm-intro, .fm-journey, .fm-equipment, .fm-quality, .fm-gallery { padding-block:58px; }
  .fm-intro h2, .fm-section-head h2, .fm-quality h2, .fm-cta h2 { font-size:clamp(2.05rem,10vw,2.75rem); }
  .fm-intro-copy p, .fm-section-head > p:last-child { font-size:15px; line-height:1.72; }
  .fm-process-list { gap:22px; margin-top:34px; }
  .fm-process-card { display:block; box-shadow:none; }
  .fm-process-card figure { height:270px; }
  .fm-process-copy { padding:25px 20px 29px; }
  .fm-process-copy h3 { font-size:27px; }
  .fm-process-copy > p:not(.fm-stage) { font-size:14px; }
  .fm-equipment-grid { display:flex; overflow-x:auto; gap:12px; margin-inline:-15px; padding-inline:15px; background:none; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .fm-equipment-grid > article, .fm-equipment-feature { min-width:82vw; min-height:330px !important; scroll-snap-align:center; }
  .fm-equipment-feature { order:-1; }
  .fm-quality-visual { margin-inline:-15px; }
  .fm-quality-visual, .fm-quality-visual img { height:390px; }
  .fm-gallery-grid { display:flex; grid-template:none; margin-inline:-15px; padding-inline:15px; }
  .fm-gallery-grid figure { min-width:84vw; height:290px; scroll-snap-align:center; }
  .fm-cta { padding-bottom:0; }
  .fm-cta-inner { padding:42px 20px; }

  /* Projects */
  .pj-shell { width:100%; padding-inline:15px; }
  .pj-hero { padding:104px 0 48px; }
  .pj-hero h1 h1 { font-size:clamp(2.35rem,11vw,3rem); line-height:1.02; }
  .pj-index { padding:48px 0 68px; }
  .pj-filters { border-radius:0; }
  .pj-card-media { height:260px; }
  .pj-card-body { padding:22px 20px; }
  .pj-card-summary { display:-webkit-box; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
  .pj-detail-hero { padding:42px 0; }
  .pj-detail-hero-grid { display:flex; flex-direction:column; }
  .pj-main-visual { order:-1; height:310px; margin-inline:-15px; width:calc(100% + 30px); }
  .pj-detail-hero h1 { font-size:clamp(2.35rem,11vw,3rem); }
  .pj-overview, .pj-sections, .pj-gallery, .pj-outcome { padding:54px 0; }
  .pj-case-section { padding:24px 20px; }
  .pj-fact-panel { padding:22px 18px; }
  .pj-fact-panel div { grid-template-columns:95px 1fr; }
  .pj-cta { padding:48px 0; }
  .pj-cta a { width:100%; justify-content:center; }

  /* Contact and RFQ */
  .ct-shell, .rq-shell { width:calc(100% - 30px); }
  .ct-hero { padding:98px 0 48px; }
  .ct-hero-copy h1, .rq-hero h1 { font-size:clamp(2.45rem,12vw,3.35rem); line-height:1.02; }
  .ct-route-grid { gap:12px; }
  .ct-route-grid article { min-height:0; padding:25px 20px; }
  .ct-details { padding-block:54px; }
  .ct-detail-grid { display:grid; grid-template-columns:1fr; gap:0; }
  .ct-detail-grid article { min-height:0; padding:22px 0; border-bottom:1px solid #dce6ec; }
  .ct-detail-grid article a, .ct-detail-grid article strong { overflow-wrap:anywhere; }
  .ct-form { padding:48px 15px; }
  .ct-form h2 { font-size:clamp(2rem,9vw,2.6rem); }
  .ct-field input, .ct-field select, .ct-field textarea,
  .rq-field input, .rq-field select, .rq-field textarea { min-height:52px; padding:13px 14px; }
  .ct-map { height:330px; }
  .ct-trust div > div { grid-template-columns:1fr; gap:17px; }
  .rq-hero { padding:98px 0 42px; }
  .rq-process { gap:0; }
  .rq-process li { padding:19px 0; border-bottom:1px solid rgba(255,255,255,.14); }
  .rq-workspace { padding:42px 0 65px; }
  .rq-paths button { min-height:0; padding:20px 18px; text-align:start; }
  .rq-form-steps { position:sticky; top:70px; z-index:5; background:#fff; box-shadow:0 8px 18px rgba(5,38,62,.08); }
  #premium-rfq-form { padding:24px 15px; }
  .rq-fields { grid-template-columns:1fr; }
  .rq-drop { min-height:220px; padding:24px 12px; }
  .rq-controls { position:sticky; bottom:0; z-index:4; margin:25px -15px -24px; padding:12px 15px calc(12px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -8px 20px rgba(5,38,62,.08); }
  .rq-controls button { min-height:50px; }
}

@media (max-width: 350px) {
  .phd-shell { width:calc(100% - 20px); }
  .phd-logo img, .premium-header.is-compact .phd-logo img { width:122px; }
  .phd-actions { gap:5px; }
  .phd-mobile-toggle, .phd-icon-button, .phd-language { width:40px; height:40px; }
  .ph-container, .ab-container, .products-shell, .pd-shell, .fm-shell, .ct-shell, .rq-shell { width:calc(100% - 24px) !important; }
  .premium-home .premium-hero > div.mx-auto { padding-inline:12px !important; }
  .ph-product, .ph-industry, .ph-project-card, .ph-project-empty { min-width:88vw; max-width:88vw; }
  .pd-sector-grid article, .pd-key-specs > div { min-width:80vw; }
}

@media (max-width: 700px) {
  .pj-detail-hero {
    display: flex;
    min-height: 590px;
    align-items: flex-end;
    padding: 105px 0 72px;
  }
  .pj-detail-hero-grid { display: block; }
  .pj-detail-hero-grid > div:first-child,
  [dir="rtl"] .pj-detail-hero-grid > div:first-child { width: 100%; }
  .pj-main-visual {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    transform: none;
  }
  .pj-main-visual-caption { inset-inline: 15px; bottom: 18px; width: auto; }
  .pj-detail-hero h1 { max-width: 13ch; font-size: clamp(2.4rem, 11vw, 3.15rem); line-height: 1.05; }
  [dir="rtl"] .pj-detail-hero h1 {
    max-width: none;
    font-size: clamp(2.35rem, 10.5vw, 3.05rem) !important;
    line-height: 1.22 !important;
    text-wrap: balance;
  }
  .pj-fact-panel dl > div { grid-template-columns: 1fr; gap: 6px; }
  .pj-fact-panel dd,
  [dir="rtl"] .pj-fact-panel dd { text-align: start !important; }
}

/* Keep the homepage hero as one complete image-and-overlay composition on phones. */
@media (max-width: 700px) {
  .premium-home .premium-hero {
    display: flex !important;
    min-height: max(620px, calc(100svh - 68px)) !important;
    padding: 0 !important;
    align-items: center;
    background: #041f35;
  }
  .premium-home .premium-hero > div[role=img] {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-position: center !important;
    background-size: cover !important;
  }
  .premium-home .premium-hero > div[class*=-z-20],
  .premium-home .premium-hero > div[class*=-z-10] {
    display: block !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .premium-home .premium-hero > div[class*=-z-20] {
    background: rgba(3,25,43,.38) !important;
  }
  .premium-home .premium-hero > div[class*=-z-10]:not(.bottom-0) {
    background: linear-gradient(0deg,rgba(4,31,53,.94) 0,rgba(4,31,53,.56) 52%,rgba(4,31,53,.18) 100%) !important;
  }
  .premium-home .premium-hero > div[class*=-z-10].bottom-0 {
    background: linear-gradient(0deg,rgba(4,31,53,.72),transparent) !important;
  }
  .premium-home .premium-hero > div.mx-auto {
    width: 100% !important;
    min-height: inherit;
    display: flex;
    align-items: flex-end;
    padding: 96px 15px 88px !important;
    background: transparent !important;
  }
  .premium-home .premium-hero > .bottom-7.left-1\/2,
  .premium-home .premium-hero > div[class*=left-1\/2][class*=bottom-7] {
    top: auto !important;
    right: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    inset-inline-start: auto !important;
    transform: translateX(-50%) !important;
    max-width: calc(100% - 30px);
  }
}

/* Final cross-page override for every semantic blue label. */
:is(
  .ph-kicker,.ph-number,.ph-featured-count,.ph-featured-family,
  .ab-kicker,.ab-standard-grid article>span,.ab-purpose-grid article>span,.ab-values>span,
  .fm-kicker,.fm-eyebrow,
  .products-eyebrow,.premium-product-family,
  .pd-kicker,.pd-family,.pd-key-specs dt,.pd-sector-grid span,.pd-capabilities span,.pd-related-card span,
  .pj-eyebrow,.pj-detail-kicker span,
  
  .ct-kicker,.ct-detail-number,
  .rq-eyebrow,.rq-process li>span,.rq-aside-note>span,
  .pf-standard,.pf-quote span,.pf-contact-item small,
  .refined-section-label,
  .testing-fat-page .site-page-hero div.flex.items-center[class*="tracking-"]
){font-size:17px!important;font-weight:850!important;line-height:1.45!important}
html[dir=rtl] :is(
  .ph-kicker,.ph-number,.ph-featured-count,.ph-featured-family,
  .ab-kicker,.ab-standard-grid article>span,.ab-purpose-grid article>span,.ab-values>span,
  .fm-kicker,.fm-eyebrow,
  .products-eyebrow,.premium-product-family,
  .pd-kicker,.pd-family,.pd-key-specs dt,.pd-sector-grid span,.pd-capabilities span,.pd-related-card span,
  .pj-eyebrow,.pj-detail-kicker span,
  
  .ct-kicker,.ct-detail-number,
  .rq-eyebrow,.rq-process li>span,.rq-aside-note>span,
  .pf-standard,.pf-quote span,.pf-contact-item small,
  .refined-section-label,
  .testing-fat-page .site-page-hero div.flex.items-center[class*="tracking-"]
){font-family:inherit!important;font-size:19px!important;letter-spacing:0!important}
@media(max-width:700px){
  :is(
  .ph-kicker,.ph-number,.ph-featured-count,.ph-featured-family,
  .ab-kicker,.ab-standard-grid article>span,.ab-purpose-grid article>span,.ab-values>span,
  .fm-kicker,.fm-eyebrow,
  .products-eyebrow,.premium-product-family,
  .pd-kicker,.pd-family,.pd-key-specs dt,.pd-sector-grid span,.pd-capabilities span,.pd-related-card span,
  .pj-eyebrow,.pj-detail-kicker span,
  
  .ct-kicker,.ct-detail-number,
  .rq-eyebrow,.rq-process li>span,.rq-aside-note>span,
  .pf-standard,.pf-quote span,.pf-contact-item small,
  .refined-section-label,
  .testing-fat-page .site-page-hero div.flex.items-center[class*="tracking-"]
){font-size:16px!important;font-weight:850!important}
  html[dir=rtl] :is(
  .ph-kicker,.ph-number,.ph-featured-count,.ph-featured-family,
  .ab-kicker,.ab-standard-grid article>span,.ab-purpose-grid article>span,.ab-values>span,
  .fm-kicker,.fm-eyebrow,
  .products-eyebrow,.premium-product-family,
  .pd-kicker,.pd-family,.pd-key-specs dt,.pd-sector-grid span,.pd-capabilities span,.pd-related-card span,
  .pj-eyebrow,.pj-detail-kicker span,
  
  .ct-kicker,.ct-detail-number,
  .rq-eyebrow,.rq-process li>span,.rq-aside-note>span,
  .pf-standard,.pf-quote span,.pf-contact-item small,
  .refined-section-label,
  .testing-fat-page .site-page-hero div.flex.items-center[class*="tracking-"]
){font-size:18px!important;letter-spacing:0!important}
}

/* Keep every homepage slide control visible and comfortably tappable on phones. */
@media (max-width: 700px) {
  .premium-home .premium-hero > .bottom-7.left-1\/2,
  .premium-home .premium-hero > div[class*="left-1/2"][class*="bottom-7"] {
    top: auto !important;
    right: auto !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    inset-inline-start: auto !important;
    left: 50% !important;
    width: max-content !important;
    max-width: calc(100% - 30px) !important;
    min-height: 60px;
    transform: translateX(-50%) !important;
    gap: 4px !important;
    overflow: visible !important;
    padding: 8px 10px !important;
    background: rgba(4, 28, 50, .92) !important;
    border-color: rgba(255, 255, 255, .34) !important;
  }

  .premium-home .premium-hero > div[class*="left-1/2"][class*="bottom-7"] button[data-hero-index] {
    box-sizing: border-box;
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 44px !important;
    padding: 16px 8px !important;
    border-radius: 999px !important;
    background-clip: content-box !important;
  }

  .premium-home .premium-hero > div[class*="left-1/2"][class*="bottom-7"] button[data-hero-index][aria-current="true"] {
    flex-basis: 44px !important;
    width: 44px !important;
  }

  /* Centre the homepage project cards and featured-product copy on phones. */
  .premium-home .ph-project-grid {
    width: calc(100% + 30px) !important;
    margin-inline: -15px;
    padding-inline: 15px !important;
    scroll-padding-inline: 15px;
  }

  .premium-home .ph-project-card,
  .premium-home .ph-project-empty {
    min-width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
    text-align: center;
  }

  .premium-home .ph-project-card h3,
  .premium-home .ph-project-card > p,
  .premium-home .ph-project-empty > div > h3,
  .premium-home .ph-project-empty > div > p {
    margin-inline: auto;
    text-align: center;
  }

  .premium-home .ph-project-card > .ph-link,
  .premium-home .ph-project-empty .ph-button {
    justify-content: center;
    margin-inline: auto;
  }

  .premium-home .ph-featured-family,
  .premium-home .ph-featured-copy h3,
  .premium-home .ph-featured-description {
    max-width: 34rem;
    margin-inline: auto;
    text-align: center;
  }

  .premium-home .ph-featured-link {
    justify-content: center;
    gap: 18px;
    text-align: center;
  }
}

/* Superseded duplicate retained inert after consolidating the final phone layout. */
@media (max-width: 0px) {
  .premium-home .premium-hero {
    --phone-hero-gap: 36px;
    --phone-hero-image-height: 56.25vw;
    --phone-hero-controls-height: 64px;
    display: block !important;
    min-height: 0 !important;
    padding: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + var(--phone-hero-controls-height)) 0 0 !important;
    overflow: hidden !important;
    background: #041f35 !important;
  }

  .premium-home .premium-hero > div[role='img'] {
    top: var(--phone-hero-gap) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: var(--phone-hero-image-height) !important;
    background-position: center !important;
    background-size: cover !important;
  }

  .premium-home .premium-hero > div[class*='-z-20'],
  .premium-home .premium-hero > div[class*='-z-10'] {
    display: none !important;
  }

  .premium-home .premium-hero > div.mx-auto {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px 16px 42px !important;
    background: #041f35 !important;
  }

  .premium-home .premium-hero > div.mx-auto > .reveal {
    width: 100% !important;
  }

  .premium-home .premium-hero h1 {
    max-width: 12ch !important;
    margin-top: 22px !important;
    font-size: clamp(2.65rem, 12vw, 3.5rem) !important;
    line-height: .98 !important;
  }

  html[dir='rtl'] .premium-home .premium-hero h1 {
    line-height: 1.14 !important;
  }

  .premium-home .premium-hero h1 + p {
    max-width: 38ch !important;
    margin-top: 18px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .premium-home .premium-hero > button {
    top: calc(var(--phone-hero-gap) + (var(--phone-hero-image-height) / 2)) !important;
    z-index: 5 !important;
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    transform: translateY(-50%) !important;
    background: rgba(4, 40, 67, .78) !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] {
    top: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + 10px) !important;
    right: auto !important;
    bottom: auto !important;
    left: 16px !important;
    z-index: 6 !important;
    width: max-content !important;
    max-width: calc(100% - 168px) !important;
    min-height: 44px !important;
    padding: 7px 12px !important;
    gap: 7px !important;
    overflow: hidden !important;
    transform: none !important;
    border-color: rgba(255, 255, 255, .2) !important;
    background: rgba(3, 28, 49, .9) !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] > button {
    box-sizing: border-box !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 28px !important;
    padding: 10px 0 !important;
    border-radius: 999px !important;
    background-clip: content-box !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] > button[aria-current='true'] {
    flex-basis: 28px !important;
    width: 28px !important;
    min-width: 28px !important;
  }

  .premium-home .premium-hero > div[class*='bottom-7'][class*='end-5'] {
    top: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + 10px) !important;
    right: 16px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: flex !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
    background: rgba(3, 28, 49, .9) !important;
  }
}

/* Phone homepage hero: image, controls, then copy (no text over the photograph). */
@media (max-width: 700px) {
  .premium-home .premium-hero {
    --phone-hero-gap: 36px;
    --phone-hero-image-height: 56.25vw;
    --phone-hero-controls-height: 64px;
    display: block !important;
    min-height: 0 !important;
    padding: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + var(--phone-hero-controls-height)) 0 0 !important;
    overflow: hidden !important;
    background: #041f35 !important;
  }

  .premium-home .premium-hero > div[role=img] {
    top: var(--phone-hero-gap) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: var(--phone-hero-image-height) !important;
    background-position: center !important;
    background-size: cover !important;
  }

  .premium-home .premium-hero > div[class*=-z-20],
  .premium-home .premium-hero > div[class*=-z-10] {
    display: none !important;
  }

  .premium-home .premium-hero > div.mx-auto {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px 16px 42px !important;
    background: #041f35 !important;
  }

  .premium-home .premium-hero > div.mx-auto > .reveal {
    width: 100% !important;
  }

  .premium-home .premium-hero h1 {
    max-width: 12ch !important;
    margin-top: 22px !important;
    font-size: clamp(2.65rem, 12vw, 3.5rem) !important;
    line-height: .98 !important;
  }

  html[dir=rtl] .premium-home .premium-hero h1 {
    line-height: 1.14 !important;
  }

  .premium-home .premium-hero h1 + p {
    max-width: 38ch !important;
    margin-top: 18px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .premium-home .premium-hero > button {
    top: calc(var(--phone-hero-gap) + (var(--phone-hero-image-height) / 2)) !important;
    z-index: 5 !important;
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    transform: translateY(-50%) !important;
    background: rgba(4, 40, 67, .78) !important;
  }

  .premium-home .premium-hero > div[class*=left-1/2][class*=bottom-7] {
    top: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + 10px) !important;
    right: auto !important;
    bottom: auto !important;
    left: 16px !important;
    z-index: 6 !important;
    width: max-content !important;
    max-width: calc(100% - 168px) !important;
    min-height: 44px !important;
    padding: 7px 12px !important;
    gap: 7px !important;
    overflow: hidden !important;
    transform: none !important;
    border-color: rgba(255, 255, 255, .2) !important;
    background: rgba(3, 28, 49, .9) !important;
  }

  .premium-home .premium-hero > div[class*=left-1/2][class*=bottom-7] > button {
    box-sizing: border-box !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 28px !important;
    padding: 10px 0 !important;
    border-radius: 999px !important;
    background-clip: content-box !important;
  }

  .premium-home .premium-hero > div[class*=left-1/2][class*=bottom-7] > button[aria-current=true] {
    flex-basis: 28px !important;
    width: 28px !important;
    min-width: 28px !important;
  }

  .premium-home .premium-hero > div[class*=bottom-7][class*=end-5] {
    top: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + 10px) !important;
    right: 16px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6 !important;
    display: flex !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
    background: rgba(3, 28, 49, .9) !important;
  }
}

/* Final narrow-phone sizing and overflow safeguards for the stacked hero. */
@media (max-width: 700px) {
  .premium-home {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .premium-home .premium-hero {
    width: 100% !important;
    min-width: 0 !important;
  }

  .premium-home .premium-hero > div.mx-auto,
  .premium-home .premium-hero > div.mx-auto > .reveal,
  .premium-home .premium-hero > div.mx-auto > .reveal > div {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .premium-home .premium-hero > div.mx-auto > .reveal > div > .flex.items-center {
    width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
    font-size: 10px !important;
    letter-spacing: .13em !important;
  }

  .premium-home .premium-hero > div.mx-auto > .reveal > div > .flex.items-center > span:first-child,
  .premium-home .premium-hero > div.mx-auto > .reveal > div > .flex.items-center > span:last-child {
    flex: 0 0 24px !important;
    width: 24px !important;
  }

  .premium-home .premium-hero h1 {
    font-size: clamp(2.4rem, 10vw, 3rem) !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] {
    inset-inline-start: 16px !important;
    inset-inline-end: auto !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] button[data-hero-index] {
    box-sizing: border-box !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 28px !important;
    padding: 10px 0 !important;
    border-radius: 999px !important;
    background-clip: content-box !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] button[data-hero-index][aria-current='true'] {
    flex-basis: 28px !important;
    width: 28px !important;
    min-width: 28px !important;
  }

  .premium-home .premium-hero > div[class*='bottom-7'][class*='end-5'] {
    right: 16px !important;
    left: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: 16px !important;
    max-width: 142px !important;
    transform: none !important;
  }
}

/* Keep the phone photograph generous and both carousel controls in one fixed row. */
@media (max-width: 700px) {
  .premium-home .premium-hero {
    --phone-hero-image-height: clamp(250px, 72vw, 360px);
  }

  .premium-home .premium-hero > div[role='img'] {
    background-position: center center !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'],
  .premium-home .premium-hero > div[class*='bottom-7'][class*='end-5'] {
    position: absolute !important;
    top: calc(var(--phone-hero-gap) + var(--phone-hero-image-height) + 10px) !important;
    bottom: auto !important;
    transform: none !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] {
    right: auto !important;
    left: 16px !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    width: auto !important;
    max-width: 154px !important;
    overflow: visible !important;
  }

  .premium-home .premium-hero > div[class*='bottom-7'][class*='end-5'] {
    right: 16px !important;
    left: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    width: auto !important;
    max-width: 142px !important;
  }

  html[dir='rtl'] .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] {
    right: 16px !important;
    left: auto !important;
  }

  html[dir='rtl'] .premium-home .premium-hero > div[class*='bottom-7'][class*='end-5'] {
    right: auto !important;
    left: 16px !important;
  }
}

/* Centre the complete homepage product showcase on phones in both directions. */
@media (max-width: 700px) {
  .premium-home .ph-product-showcase-section > .ph-container {
    width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    margin-inline: auto !important;
  }

  .premium-home .ph-featured-product,
  .premium-home .ph-selector-shell {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    margin-inline: auto !important;
  }

  .premium-home .ph-featured-product {
    border-right: 1px solid rgba(130, 190, 225, .17) !important;
    border-left: 1px solid rgba(130, 190, 225, .17) !important;
  }

  .premium-home .ph-selector-shell {
    border-right: 1px solid #123b57 !important;
    border-left: 1px solid #123b57 !important;
  }
}

/* Phones use manual carousel navigation: centred dots, no pause/count pill. */
@media (max-width: 700px) {
  .premium-home .premium-hero > div[class*='bottom-7'][class*='end-5'] {
    display: none !important;
  }

  .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'],
  html[dir='rtl'] .premium-home .premium-hero > div[class*='left-1/2'][class*='bottom-7'] {
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    right: auto !important;
    left: 50% !important;
    width: max-content !important;
    max-width: calc(100% - 32px) !important;
    transform: translateX(-50%) !important;
  }
}

/* Arabic phone contact-method labels need the same visual prominence as English. */
@media (max-width: 700px) {
  html[dir='rtl'] .premium-contact-page .ct-detail-grid h3,
  .premium-contact-page[dir='rtl'] .ct-detail-grid h3 {
    color: #294b63 !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
  }
}

/* Match the improved Arabic contact labels on tablet and desktop too. */
html[dir='rtl'] .premium-contact-page .ct-detail-grid h3,
.premium-contact-page[dir='rtl'] .ct-detail-grid h3 {
  color: #294b63 !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}
