/* The final visual authority. Legacy styles may define layout, not a new brand. */
:root{--ink:#102e42;--muted:#526975;--blue:#007fa8;--line:#dce4e9;--paper:#f3f7f9;--ui-surface:#fff;--ui-radius:12px;--ui-space:72px;--ui-h1:clamp(36px,3.6vw,52px);--ui-h2:clamp(28px,2.7vw,38px);--ui-h3:22px;--ui-gutter:40px;--ui-shadow:0 12px 36px #102e4208}
body .wrap{width:min(1240px,calc(100% - var(--ui-gutter)*2));inline-size:min(1240px,calc(100% - var(--ui-gutter)*2));margin-inline:auto}
body{font-size:16px;line-height:1.8}html[lang=ar] body{font-size:18px;line-height:1.85}
body main h2{font-size:var(--ui-h2);line-height:1.45;letter-spacing:0}body main h3{font-size:var(--ui-h3);line-height:1.6;letter-spacing:0}
body .button,body .site-header .button,body.product-page main .button{background:var(--blue);color:#fff;border:1px solid transparent;border-radius:6px;min-block-size:50px;padding:13px 24px;font-size:16px;font-weight:700;line-height:1.5;box-shadow:none;gap:16px}
body .button:hover,body.product-page main .button:hover{background:#006b8d;transform:none}body .site-header .button{min-block-size:44px;padding:10px 18px;font-size:14px}
body a:focus-visible,body button:focus-visible,body summary:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:3px solid #d88925;outline-offset:4px}
body .eyebrow{font-size:12px;font-weight:700;letter-spacing:.4px;line-height:1.6}
body .text-link,body .quiet-link{font-size:16px;font-weight:700;gap:12px;min-block-size:44px;align-items:center}
body .footer-bottom{color:var(--muted)}body .footer{padding-block:48px 24px}
body.product-page main .product-hero{background:var(--paper);color:var(--ink);padding-block:64px;margin:0;border-block-end:1px solid var(--line)}
body.product-page main .product-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:64px;min-block-size:420px}
body.product-page main .product-hero-copy{min-inline-size:0;max-inline-size:650px}body.product-page main .product-hero-name{font:700 28px/1.5 Manrope,Tajawal,sans-serif;color:var(--blue);margin:0 0 12px}
body.product-page main .product-hero-eyebrow{font-size:13px;color:var(--muted);font-weight:700;margin:0 0 18px;line-height:1.7}
body.product-page main .product-hero h1{font-size:var(--ui-h1);line-height:1.35;letter-spacing:0;margin:0 0 24px;color:var(--ink)}
body.product-page main .product-hero--long h1{font-size:clamp(32px,3vw,44px);line-height:1.5}
body.product-page main .product-hero-description{font-size:19px;line-height:1.85;color:var(--muted);margin:0;max-inline-size:620px}
body.product-page main .product-hero .actions{margin:28px 0 0;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
body.product-page main .product-hero-media{min-inline-size:0;inline-size:100%}.product-hero-figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--ui-radius);background:#e5edf2;aspect-ratio:4/3}
.product-hero-image{display:block;inline-size:100%;block-size:100%;object-fit:cover}.product-hero-media .service-map{max-inline-size:490px;margin-inline:auto}.product-hero-media .dwm-screenshot{margin:0;aspect-ratio:4/3}.product-hero-media .fams-count-map{border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
body.product-page main .product-section-nav{background:#fff;border-block-end:1px solid var(--line)}body.product-page main .product-section-nav>.wrap{gap:28px;padding-block:10px;min-block-size:64px;align-items:center}
body.product-page main .product-section-nav a{font-size:14px;font-weight:700;line-height:1.5;padding-block:10px;color:var(--muted)}body.product-page main .product-section-nav a:hover,body.product-page main .product-section-nav a[aria-current=true]{color:var(--blue);border-block-end-color:var(--blue)}
body main :is(.section,.pv-section,.one-section,.fams-section,.one-features,.fams-control,.fams-contact,.pv-contact,.pv-dashboard,.pv-reference,.workflow-section){padding-block:var(--ui-space)}
body main :is(.section-heading,.pv-heading,.one-section-heading){margin-block-end:32px}body main :is(.pv-heading,.one-section-heading) h2{margin:0}
body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid)>article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--ui-radius);box-shadow:none;min-inline-size:0}
body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid)>article h3{font-size:22px;line-height:1.6;margin-block:14px 10px}
body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid)>article p{font-size:16px;line-height:1.85;margin:0;color:var(--muted)}
body main :is(.pv-capability-group,.one-cycle-panel,.dwm-features article,.serv-page .route-art,.contact-panel,.dwm-form){border-radius:var(--ui-radius);border-color:var(--line);box-shadow:none}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start;border-block-start:1px solid var(--line)}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) details{border:0;border-block-end:1px solid var(--line);border-radius:0;background:transparent;padding:0;margin:0}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) summary{display:flex;justify-content:space-between;gap:18px;align-items:start;list-style:none;padding:20px 0;font-size:18px;font-weight:700;line-height:1.75;color:var(--ink)}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) summary::-webkit-details-marker{display:none}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) summary>span{display:none}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) summary:after{content:'+';font:24px/1.3 Manrope,sans-serif;color:var(--blue);flex-shrink:0}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) details[open]>summary:after{content:'−'}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) summary h3{font-size:18px;line-height:1.75;margin:0}
body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) details p{font-size:16px;line-height:1.85;color:var(--muted);padding:0 0 20px;margin:0}
body main :is(.cta-band,.one-cta,.serv-page .cta,.dwm-final){padding-block:56px;background:#eaf2f6;color:var(--ink);border:0}body main :is(.cta-band,.one-cta,.serv-page .cta,.dwm-final) h2{color:var(--ink)}body main :is(.cta-band,.one-cta,.serv-page .cta,.dwm-final) p{color:var(--muted)}
body main :is(.fams-contact,.pv-contact){background:var(--paper)}body main .contact-panel,body main .dwm-form{background:#fff;padding:32px;border:1px solid var(--line)}
body main form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){font-family:inherit;font-size:16px;line-height:1.6;border:1px solid #8ba2af;border-radius:6px;padding:12px;background:white;color:var(--ink);inline-size:100%;min-inline-size:0;box-shadow:none}
body main form label{font-size:15px;line-height:1.75;font-weight:700;color:var(--ink)}body main form .consent{font-weight:400;font-size:14px}body main form :is(input[type=checkbox]){accent-color:var(--blue)}
body main :is(.page-intro,.customers-hero){padding-block:56px 40px;background:var(--paper);border-block-end:1px solid var(--line)}body main .page-intro h1,body main .customers-hero h1{font-size:var(--ui-h1);line-height:1.4;letter-spacing:0;color:var(--ink)}body main .page-intro .lead,body main .customers-hero p{font-size:19px;line-height:1.85}
@media(max-width:1000px){:root{--ui-gutter:24px}body.product-page main .product-hero-grid{gap:36px}body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){:root{--ui-gutter:16px;--ui-space:44px;--ui-h1:36px;--ui-h2:30px;--ui-h3:21px}body.product-page main .product-hero{padding-block:40px}body.product-page main .product-hero-grid{grid-template-columns:1fr;gap:32px;min-block-size:0}body.product-page main .product-hero-copy{max-inline-size:none}body.product-page main .product-hero-name{font-size:25px}body.product-page main .product-hero-description{font-size:17px}body.product-page main .product-hero-media{max-inline-size:560px;margin-inline:auto}body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section){grid-template-columns:1fr;gap:24px}body main :is(.cta-band,.one-cta,.serv-page .cta,.dwm-final){padding-block:40px}body main .contact-panel,body main .dwm-form{padding:24px 18px}body main :is(.page-intro,.customers-hero){padding-block:36px 28px}body.product-page main .product-section-nav>.wrap{gap:24px;min-block-size:60px}body.product-page main .product-section-nav a{font-size:13px}}
@media(max-width:540px){body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid){grid-template-columns:1fr}body main :is(.fams-capabilities,.one-feature-grid,.serv-page .features,.capability-grid)>article{padding:24px}body .button,body.product-page main .button{font-size:15px;padding:12px 20px}body.product-page main .product-hero .actions{gap:14px 22px}body main :is(.pv-faq,.fams-faq,.serv-page .faq,.dwm-faq,.faq-section) summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-hero *{animation:none!important;transition:none!important}}
body main .product-fit{background:#fff;border-block-end:1px solid var(--line);padding-block:18px;color:var(--muted);font-size:14px}body main .product-fit>.wrap{display:flex;justify-content:space-between;gap:20px;align-items:center}body main .product-fit p{font-size:14px;max-inline-size:760px}body main .pv-mobile-demo,body main .fams-mobile-cta{display:none!important}@media(max-width:800px){body main .product-fit>.wrap{display:block}body main .product-fit span{display:block;margin-block-end:6px}}
body[data-solution=itacone] .product-hero-image{object-position:0% center}body main .product-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}body main .product-story-steps{list-style:none;padding:0;margin:0}body main .product-story-steps li{display:flex;gap:24px;padding-block:24px;border-block-start:1px solid var(--line)}body main .product-story-number{font-size:14px;color:var(--blue);font-weight:700;padding-block-start:5px}body main .product-story-steps h3,body main .implementation-step h3{font-size:22px;margin:0 0 12px;line-height:1.6}body main .product-story-steps p,body main .implementation-step p{font-size:16px;line-height:1.85;color:var(--muted);margin:0}body main .implementation-step{border-block-start:1px solid var(--line);padding-block:24px}@media(max-width:800px){body main .product-story{grid-template-columns:1fr;gap:24px}}
body main .serv-page figcaption{color:#4b6573;font-size:12px}
.support-section{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding-block:48px;margin-block-end:64px;border-block:1px solid var(--line)}.support-section .eyebrow{margin-block-end:12px}.support-section p{max-inline-size:720px;margin-block-start:16px}.support-actions{display:flex;flex-direction:column;align-items:center;gap:16px}.support-actions>a:last-child{color:var(--muted);font-size:15px}.footer-contacts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:24px 48px;font-style:normal;padding-block:24px}.footer-contacts a{display:flex;flex-direction:column;gap:4px}.footer-contacts span{font-size:13px;color:var(--muted)}.footer-contacts bdi{font-size:15px}.footer-contacts a:hover,.support-actions>a:last-child:hover{color:var(--blue)}
@media(max-width:850px){.support-section{grid-template-columns:1fr;gap:24px}.support-actions{align-items:start}.footer-contacts{gap:24px}}
.evolution-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-block-start:1px solid var(--line)}.evolution-section .eyebrow{margin-block-end:16px}.evolution-section p{font-size:18px;line-height:1.9}.evolution-section .text-link{display:inline-flex;margin-block-start:24px}@media(max-width:850px){.evolution-section{grid-template-columns:1fr;gap:24px}.evolution-section p{font-size:17px}}

.site-header.wrap {
 inset-block-start: 0;
 inset-inline: 0;
 inline-size: 100%;
 padding-inline: max(24px, calc((100% - 1192px) / 2));
 border: 0;
 border-block-end: 1px solid #d9e5eb;
 border-radius: 0;
 background: #fbfdffbf;
 backdrop-filter: blur(18px);
 box-shadow: 0 4px 16px #102d4012;
 transition: transform .22s ease, visibility 0s;
}
.site-header.is-scrolled-away:not(:has(:focus-visible)) {
 transform: translateY(-100%);
 visibility: hidden;
 transition: transform .22s ease, visibility 0s .22s;
}
.site-header .nav-products > summary {
 justify-content: flex-start;
 gap: 6px;
}
.nav-chevron { flex: none; transition: transform .18s ease; }
.nav-products[open] > summary .nav-chevron { transform: rotate(180deg); }
.site-header > nav > .button.small > span { display: none; }
@media (min-width: 851px) {
 .site-header .product-menu {
  inset-block-start: 100%;
  inset-inline: max(24px, calc((100% - 1192px) / 2));
 }
}
@media (max-width: 850px) {
 .site-header.wrap { padding-inline: 16px; }
 .site-header nav { inset-block-start: 100%; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
 .site-header.wrap, .site-header.is-scrolled-away, .nav-chevron { transition: none; }
}

.site-header .menu-toggle .menu-icon-close,
.site-header .menu-toggle[aria-expanded=true] .menu-icon-open { display: none; }
.site-header .menu-toggle[aria-expanded=true] .menu-icon-close { display: inline; }
@media (max-width: 850px) {
 .site-header .menu-toggle {
  display: grid;
  place-items: center;
  flex: none;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 1px solid #bfd6df;
  border-radius: 9px;
  background: #eaf4f7;
  color: #174d63;
  cursor: pointer;
 }
 .site-header .menu-toggle:hover,
 .site-header .menu-toggle[aria-expanded=true] {
  background: #174d63;
  color: #fff;
 }
 .site-header .menu-toggle:focus-visible {
  outline: 2px solid #174d63;
  outline-offset: 3px;
 }
}

html[lang] .site-header .brand-caption {
 font-size: 15px;
 line-height: 1.3;
 max-inline-size: 260px;
}
@media (max-width: 1100px) {
 html[lang] .site-header .brand-caption { max-inline-size: 190px; }
}
@media (max-width: 580px) {
 html[lang] .site-header .brand-caption {
  font-size: 13px;
  max-inline-size: 175px;
 }
}

.sector-hero p { color: #e8f2f8; }

/* Keep customer marks in proportion and give wider wordmarks more room. */
.customers-grid img {
 inline-size: min(100%, 140px);
 block-size: 84px;
 object-fit: contain;
 mix-blend-mode: normal;
}
.customers-grid .customer-name {
 text-align: center;
 overflow-wrap: anywhere;
}
.trust-strip li { padding-inline: 8px; }
.trust-strip li img {
 inline-size: min(100%, 122px);
 block-size: 72px;
 object-fit: contain;
}
@media (max-width: 580px) {
 .customers-grid img { block-size: 72px; }
 .trust-strip li img { block-size: 58px; }
}
.customers-grid img[src$="/yousef-haddad.png"] { background: #173f58; padding: 10px; border-radius: 6px; }

.site-header .nav-contact { display: inline-flex; }
.site-header nav > .language {
 display: inline-grid;
 place-items: center;
 inline-size: 44px;
 block-size: 44px;
 padding: 0;
 border: 1px solid #d5e4eb;
 border-radius: 8px;
 color: #174d63;
}
.site-header nav > .language:hover { background: #eaf4f7; }
.site-header nav > .language:focus-visible {
 outline: 2px solid #174d63;
 outline-offset: 3px;
}
@media (max-width: 850px) {
 .site-header nav > a:not(.language),
 .site-header .nav-products > summary {
  display: flex;
  align-items: center;
  min-block-size: 44px;
 }
 .site-header nav { gap: 4px; }
}

.site-header .brand-caption,
.site-header nav > a:not(.button),
.site-header nav > a:not(.button):hover,
.site-header .nav-products > summary,
.site-header .nav-products[open] > summary {
 color: #174d63;
}
.site-header nav > a.active,
.site-header .nav-products > summary.active {
 text-decoration: underline;
 text-underline-offset: .25em;
}

.site-header.wrap {
 min-block-size: 68px;
 padding-block: 8px;
 background: #fff;
 box-shadow: none;
 border-block-end-color: #1523301a;
}
.site-header.wrap.is-glass { background: rgb(255 255 255 / 50%); }
.site-header nav > .language {
 border-color: transparent;
 border-radius: 50%;
}
.site-header nav > a.active,
.site-header .nav-products > summary.active {
 text-decoration-thickness: 1px;
 text-underline-offset: .4em;
}
@media (max-width: 850px) {
 .site-header.wrap { min-block-size: 62px; }
 .site-header .menu-toggle {
  background: transparent;
  border-color: transparent;
 }
 .site-header .menu-toggle:hover,
 .site-header .menu-toggle[aria-expanded=true] {
  background: #e4f0f5;
  color: #174d63;
 }
}

/* The industries index uses the full content column for its directory. */
body[data-page="industries"] main > .page-intro,
body[data-page="industries"] .sectors-layout {
 inline-size: min(100% - 32px, 1080px);
}
body[data-page="industries"] main > .page-intro {
 background: transparent;
 border: 0;
 padding-block: clamp(24px, 4vw, 48px) 18px;
}
body[data-page="industries"] .sectors-band {
 background: transparent;
 padding-block: 0 clamp(32px, 5vw, 56px);
}
body[data-page="industries"] .sectors-layout { display: block; }
body[data-page="industries"] .sectors-intro { display: none; }
body[data-page="industries"] .sector-grid {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: clamp(12px, 2vw, 22px);
}
body[data-page="industries"] .sector-tile {
 min-block-size: clamp(160px, 21vw, 245px);
}
body[data-page="industries"] .sector-tile h3 { font-size: clamp(18px, 2vw, 23px); }
@media (max-width: 580px) {
 body[data-page="industries"] .sector-grid { grid-template-columns: 1fr; }
 body[data-page="industries"] .sector-tile > div { padding: 16px; }
}

/* ITACOne module orbit */
body main .one-cycle {
 background: radial-gradient(ellipse at center, #104458, #092b40 76%);
}
body main .one-cycle .one-cycle-node {
 inline-size: 112px;
 min-block-size: 76px;
 padding: 8px 7px;
 gap: 4px;
 border-radius: 26px;
 border-color: #72d8df50;
 background: #103d52;
 font-size: 12px;
 line-height: 1.3;
}
body main .one-cycle .one-cycle-node svg {
 inline-size: 20px;
 block-size: 20px;
 flex: none;
}
body main .one-cycle .one-cycle-node[aria-expanded="true"] {
 background: #16586a;
 border-color: #70e9d9;
}
@media (max-width: 620px) {
 body main .one-cycle {
  padding: 14px;
  gap: 12px;
 }
 body main .one-cycle .one-cycle-node {
  inline-size: 100%;
  min-block-size: 82px;
  padding-inline: 5px;
  border-radius: 21px;
 }
}

.office-location {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
 align-items: center;
 gap: clamp(18px, 4vw, 48px);
 padding-block: clamp(28px, 5vw, 64px);
}
.office-location address { font-style: normal; }
.office-location iframe {
 display: block;
 inline-size: 100%;
 block-size: clamp(240px, 32vw, 360px);
 border: 1px solid #d9e5eb;
 border-radius: 16px;
}
@media (max-width: 680px) {
 .office-location { grid-template-columns: minmax(0, 1fr); }
}
