/* Shared visual system for the MMC UAE custom WordPress theme. */
:root{--ink:#112137;--paper:#f5f7fb;--blue:#2349c5;--line:#dbe2ed;--muted:#4d5e75;--navy:#101d35;--ice:#e9efff;--signal:#dff792;--radius:18px}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
header,.wrap{width:min(100% - 64px,1260px);padding-inline:0}
header{min-height:78px;height:auto;padding-block:13px;gap:25px}
.topline{background:var(--navy);padding-inline:max(32px,calc((100% - 1260px)/2));font-size:.73rem;letter-spacing:.03em}
.logo img{width:144px}
#navigation{gap:clamp(12px,1.7vw,26px);font-weight:650}
#navigation a:hover,.text-link:hover{color:var(--blue)}
#navigation .button:hover{color:white}
.button{min-height:46px;border-radius:8px;font:700 .87rem/1.3 system-ui,sans-serif;gap:12px;padding:13px 17px;text-align:center}
.button:hover{background:#18369a;border-color:#18369a}
.button.light:hover{background:var(--ice);border-color:var(--blue)}
.button.dark:hover{background:#233a5e;border-color:#233a5e}
.eyebrow{letter-spacing:.12em}
h1,h2,h3{font-weight:680}
h1{letter-spacing:-.052em}
h2{font-size:clamp(28px,3.2vw,43px);letter-spacing:-.04em}
h3{letter-spacing:-.022em}
section{padding-block:clamp(36px,6vw,78px)}
.text-link,.section-head>a{color:var(--blue);font-weight:700;font-size:.9rem;text-underline-offset:4px}
.text-link:hover,.section-head>a:hover{text-decoration:underline}
.home-hero{margin-top:24px;border:0;padding:clamp(26px,5vw,68px);background:var(--navy);color:white;border-radius:24px;position:relative;isolation:isolate;overflow:hidden}
.home-hero::before,.svc-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 50%,#2a4384,transparent 72%),repeating-linear-gradient(90deg,transparent 0 47px,#aabfff12 47px 48px)}
.home-hero h1{font-size:clamp(38px,5.45vw,76px)}
.home-hero .eyebrow,.band .eyebrow{color:var(--signal)}
.home-hero p,.band p{color:#d6e2fa}
.home-hero .button:first-child,.band .button{background:var(--signal);border-color:var(--signal);color:var(--navy)}
.home-hero .button.light{color:white;border-color:#8a9bbb}
.home-hero .button.light:hover{background:#253859}
.home-feature{min-width:0;display:grid;gap:13px;padding:22px;border:1px solid #879ed864;border-radius:var(--radius);background:#d8e4ff15}
.home-feature>img{width:100%;height:clamp(170px,26vw,350px);object-fit:contain;border-radius:10px;background:#e9effb}
.home-feature-label,.industry-link{display:flex;justify-content:space-between;gap:10px;font-weight:650}
.home-feature:hover{background:#d8e4ff25}
.home-hero+section{border-top:0}
.home-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-services article,.product,.product-help,.product-content>div,.page-content .source-content{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,3vw,30px);min-width:0}
.home-services svg,.svc-card svg{color:var(--blue);background:var(--ice);border-radius:10px;padding:9px;width:48px;height:48px}
.home-services h3 a:hover{color:var(--blue)}
.home-services p{margin-bottom:0}
.product{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.product .arrow{margin-top:auto;font-weight:700;font-size:.85rem}
.card-image{border-radius:11px;background:#f0f3f9;margin:0 0 20px;padding:12px}
.card-image img{height:100%;mix-blend-mode:multiply}
.tag{color:var(--blue);font-weight:700}
.band,.contact{border-radius:24px;padding:clamp(22px,5vw,60px)}
.band{background:var(--navy)}
.contact{background:var(--ice);margin:24px 0 35px;gap:clamp(20px,5vw,70px)}
.contact-form{border-radius:var(--radius)}
.contact-form input:not([type=checkbox]):not([type=submit]),.contact-form textarea,input,select{border-radius:8px}
.contact-form input[type=submit]{border-radius:8px}
footer{padding-block:30px 45px}
footer a:hover{text-decoration:underline}
footer>div:first-child>a{font-weight:800;font-size:1.15rem;color:var(--ink)}
.page-heading{padding-block:clamp(30px,5vw,60px) 32px}
.page-content .source-content{max-width:1040px;padding:clamp(18px,5vw,58px)}
.page-content .source-content> :first-child{margin-top:0}
.catalog-filters{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.catalog-filters label{margin-top:0;font-weight:650}
.product-index{display:flex;flex-flow:row wrap;align-items:center;gap:8px;width:auto;padding:12px 0 0;margin-bottom:26px}
.product-index a{border:1px solid var(--line);border-radius:100px;background:white;padding:7px 13px;color:var(--blue);font-size:.85rem;font-weight:650}
.product-index a:hover{background:var(--ice)}
.product-page .svc-crumb{display:flex;flex-flow:row wrap;width:auto;padding:12px 0 19px;margin:0}
.product-page .svc-crumb>*+*::before{content:"/";margin-right:12px;color:var(--muted)}
.product-page .svc-crumb a{color:var(--blue)}
.producthero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);padding:0;gap:clamp(20px,5vw,64px)}
.product-visual{min-height:350px;aspect-ratio:1.25;background:linear-gradient(145deg,#fff,#e9eef8);border-radius:var(--radius);border:1px solid var(--line)}
.product-visual img{mix-blend-mode:multiply;max-height:100%;width:100%;object-fit:contain}
.product-content{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:20px;align-items:start;padding-top:25px}
.product-content>div{padding:clamp(17px,4vw,46px)}
.product-content .source-content h2{font-size:clamp(24px,2.3vw,32px)}
.product-help{background:var(--ice);position:sticky;top:48px}
.product-help h2{font-size:1.65rem}
.product-help .text-link{display:block;margin-top:14px}
.product-subsection{border-top:1px solid var(--line);margin-top:32px;padding-top:20px}
.product-subsection .gallery{margin-top:15px}
.product-document{display:flex;gap:10px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);color:var(--blue)}
.product-page [id],.svc [id]{scroll-margin-top:55px}
.svc{--svc-accent:var(--signal);--svc-night:var(--navy);--svc-border:var(--line);--group:#a9c2ff}
.svc-security{--group:#cdbaff}.svc-operations{--group:#97e4cc}.svc-foundation{--group:#9ce3fe}
.svc-hero{position:relative;isolation:isolate;gap:clamp(16px,4vw,50px);padding:clamp(22px,5vw,65px);border-radius:24px;align-items:center}
.svc-hero-copy{padding:0}
.svc-hero h1{font-size:clamp(35px,5.15vw,71px);font-weight:680}
.svc-visual{display:block;background:#24395780;border:1px solid #a7bdf256;border-radius:var(--radius);padding:clamp(16px,2.5vw,29px)}
.svc-visual .svc-panel-top{align-items:center;color:var(--group);font-size:.76rem}
.svc-panel-top svg{width:43px;height:43px;background:#a7bdf228;border-radius:10px;padding:9px}
.svc-visual ul,.svc-visual ol{margin:15px 0 0;padding:0;list-style:none;counter-reset:priority}
.svc-visual li{padding:12px 0;border-top:1px solid #a7bdf250;color:#f2f6ff;font-size:.93rem;font-weight:650}
.svc-visual li:last-child{padding-bottom:0}
.svc-visual ol li::before{counter-increment:priority;content:counter(priority,decimal-leading-zero);color:var(--group);margin-right:12px;font-size:.75rem}
.svc-visual a{display:flex;justify-content:space-between;gap:10px}
.svc-visual a:hover{text-decoration:underline}
.svc #service-guide>.svc-block:first-child{border-top:0}
.svc-card,.svc-tile,.svc-brief{border-radius:var(--radius)}
.svc-card{padding:22px}
.svc-card svg{margin-bottom:13px}
.svc-scope article{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:10px;padding:16px}
.svc-brief{background:var(--ice)}
@media(max-width:1120px){.home-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 header{flex-wrap:wrap;min-height:72px}
 .menu{display:block;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:9px 14px;font:650 .9rem system-ui,sans-serif;cursor:pointer}
 #navigation{display:none;width:100%;flex-direction:column;align-items:stretch;padding:0 0 12px}
 #navigation.open{display:flex}
 .primary-menu{display:grid;gap:14px}
 .primary-menu .sub-menu{position:static;width:auto;box-shadow:none;padding:6px 0 0 12px}
 .product-content{grid-template-columns:minmax(0,1fr)}
 .product-help{position:static}
}
@media(max-width:700px){
 header,.wrap{width:calc(100% - 32px)}
 .topline{padding-inline:16px}
 .home-hero,.producthero,.svc-hero,.svc-detail{grid-template-columns:minmax(0,1fr)}
 .home-hero h1,.svc-hero h1{font-size:clamp(33px,8.5vw,48px)}
 .home-hero{margin-top:14px}
 .producthero .product-summary{grid-row:1}
 .product-visual{min-height:0;aspect-ratio:1.25}
 .catalog-filters>div+div{margin-top:12px}
}
@media(max-width:430px){.home-services{grid-template-columns:1fr}.svc-hero,.home-hero,.contact{border-radius:16px}.svc-hero,.home-hero{padding:20px}}

/* Editorial composition: full-width photography, grouped navigation and open reading layouts. */
:root{--paper:#fff;--ink:#162741;--navy:#102544;--blue:#174b9b;--muted:#485b75;--line:#d8e3f2;--ice:#edf4ff;--signal:#a9d8ff;--radius:8px}
.site-header{position:relative;z-index:4;min-height:70px;width:min(100% - 64px,1260px);padding:10px 20px;border:1px solid var(--line);border-radius:12px;margin:16px auto;background:#f8fbff}
.mmc-home .site-header{position:absolute;top:0;left:50%;transform:translateX(-50%);margin:16px 0 0;background:#f8fbffed;backdrop-filter:blur(12px)}
.admin-bar.mmc-home .site-header{top:32px}
.site-header .button.dark{background:var(--signal);border-color:var(--signal);color:var(--navy);border-radius:40px;padding-inline:20px}
#navigation .button.dark:hover{background:#90c6fa;color:var(--navy)}
.nav-disclosure{padding:0;border:0}
.nav-disclosure summary{list-style:none;display:flex;align-items:center;gap:6px}
.nav-disclosure summary::-webkit-details-marker{display:none}
.nav-disclosure summary .nav-chevron{display:block;flex:0 0 14px;width:14px;height:14px;transition:transform .18s ease}
.nav-disclosure[open] summary .nav-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.nav-disclosure summary .nav-chevron{transition:none}}
.nav-mega,.nav-small{position:absolute;top:calc(100% + 7px);padding:24px;background:#f8fbff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 44px #12294d20}
.nav-mega{left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.nav-mega .nav-group-title{font-size:1rem;letter-spacing:0;margin:0 0 9px}
.nav-mega ul{padding:0;margin:0;list-style:none}
.nav-mega li a,.nav-small a{display:block;padding:5px 0;font-weight:500}
.nav-small{right:110px;min-width:180px}
.nav-all{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}
.home-main{width:auto;max-width:none}
.home-main> :not(.home-hero){width:min(100% - 64px,1260px);margin-inline:auto}
.home-hero{position:relative;display:grid;align-items:end;min-height:clamp(535px,52vw,740px);margin:0;border-radius:0;padding:130px max(32px,calc((100% - 1260px)/2)) clamp(58px,8vw,105px);background:#102544;color:#fff}
.home-hero::before{background:linear-gradient(90deg,#0b1b35f2 0%,#0b1b35c9 34%,#0b1b353b 75%),linear-gradient(0deg,#0b1b3582,transparent 55%)}
.home-hero h1{font-size:clamp(41px,5.3vw,77px);font-weight:470;max-width:13ch;margin:14px 0 21px;line-height:1.03}
.home-hero p{color:#f4f8ff;font-size:1.04rem;max-width:46ch}
.home-hero .eyebrow{color:#c8e5ff}
.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.home-shortcuts>a{display:grid;grid-template-columns:1fr auto;gap:7px 18px;padding:23px clamp(12px,2.5vw,33px);align-items:end}
.home-shortcuts>a:first-child{padding-left:0}
.home-shortcuts>a+a{border-left:1px solid var(--line)}
.home-shortcuts .eyebrow{grid-column:1/-1}
.home-shortcuts strong{font-size:clamp(16px,1.75vw,23px);font-weight:550;line-height:1.22}
.home-shortcuts a:hover strong{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.home-services article{border:0;border-top:1px solid var(--line);border-radius:0;background:var(--ice)}
.home-services h3,.svc-card h3{font-weight:570}
.band{background:var(--navy);border-radius:8px}
.band p{color:#dbeaff}
.contact{background:var(--ice);border-radius:8px}
.product-visual{background:#f3f7fd}
.product,.product-content>div,.page-content .source-content{border-radius:8px}
.product-content>div,.page-content .source-content{padding-inline:0;border:0}
.product-content .source-content> :first-child{margin-top:20px}
.product-visual img,.card-image img{mix-blend-mode:multiply}
.product-visual,.card-image{background:#eff4fb}
.product-index a{color:var(--blue)}
.svc-hero{background:#edf4ff;color:var(--ink);border-radius:8px}
.svc-hero::before{background:radial-gradient(ellipse at 95% 50%,#daeaff,transparent 70%)}
.svc-hero p{color:var(--muted)}
.svc-hero h1{font-weight:480;line-height:1.03}
.svc-kicker{color:var(--blue)}
.svc-actions .button{background:var(--blue);border-color:var(--blue);color:white}
.svc-actions .button:hover,.button:hover{background:#103575;border-color:#103575;color:white}
.svc-jump{color:var(--blue)}
.svc-visual{background:#132e56;color:white;border-color:#132e56;--group:#b9ddff}
.svc-visual li{border-color:#ffffff36}
.svc-visual li a{color:white}
.svc-card:hover,.svc-card:focus-within,.svc-tile:hover{background:#f0f6ff;border-color:#9dbbeb}
.svc-card h3 span,.svc-tile span,.svc-scope article>span{color:var(--blue)}
.svc-card h3 a::after{border-radius:8px}
.svc-scope article>span{background:var(--ice)}
.svc-brief,.svc-card,.svc-tile{border-radius:8px}
.svc-card p{font-size:.94rem}
@media(max-width:900px){
 .site-header{padding:10px 16px}
 .site-header:has(#navigation.open){background:#f8fbff}
 .nav-mega,.nav-small{position:static;padding:14px 0 0;border:0;box-shadow:none}
 .nav-mega{grid-template-columns:repeat(2,minmax(0,1fr));max-height:48vh;overflow:auto}
}
@media(max-width:782px){.admin-bar.mmc-home .site-header{top:46px}}
@media(max-width:700px){
 .site-header,.home-main> :not(.home-hero){width:calc(100% - 32px)}
 .home-hero{min-height:540px;padding:120px 20px 47px}
 .home-hero::before{background:linear-gradient(0deg,#0b1b35f2 0%,#0b1b35b8 56%,#0b1b3547)}
 .home-shortcuts{grid-template-columns:1fr}
 .home-shortcuts>a,.home-shortcuts>a+a{padding:13px 0;border-left:0}
 .home-shortcuts>a+a{border-top:1px solid var(--line)}
 .home-shortcuts>a{gap:3px 10px}
}

/* Shared editorial layout for company, industry and case-study pages. */
.company-crumb{display:flex;flex-flow:row wrap;width:auto;padding:8px 0 18px;margin:0}
.company-crumb>*+*::before{content:"/";margin-right:10px;color:var(--muted)}
.company-crumb a{color:var(--blue)}
.company-hero{display:grid;gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(22px,5vw,64px);background:linear-gradient(120deg,#edf4ff,#e2eeff);border-radius:var(--radius)}
.company-hero h1{font-size:clamp(36px,5vw,67px);font-weight:520;overflow-wrap:anywhere}
.company-hero .intro{margin-bottom:12px}
.company-hero-media:has(.company-cover){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.company-cover img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:var(--radius)}
.company-page .page-content{padding-top:25px}
.company-page .page-content .source-content{max-width:84ch}
.company-directory{padding-top:40px}
.company-directory .card-image img{mix-blend-mode:normal;width:100%;object-fit:cover;border-radius:6px}
.company-directory .card-image{padding:0}
.form-guide{border:1px solid var(--line);background:var(--ice);border-radius:8px;padding:10px 13px;margin:14px 0;color:var(--blue);font-size:.9rem}
.form-guide summary{font-weight:650}
.form-guide ul{padding-left:20px;margin:8px 0 0;color:var(--ink)}
.enquiry-context{color:var(--blue);font-weight:650}
@media(max-width:700px){.company-hero-media:has(.company-cover){grid-template-columns:1fr}}

.home-jump{display:flex;flex-flow:row wrap;align-items:center;gap:10px 25px;padding:15px 0;border-bottom:1px solid var(--line)}
.home-jump span{color:var(--muted);font-weight:650}
.home-jump a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.home-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(20px,6vw,80px)}
.home-jump+.home-editorial{border-top:0}
.home-editorial p{margin-top:0;font-size:1.06rem}
.home-main>section[id]{scroll-margin-top:48px}
.home-stories .card-image img{width:100%;object-fit:cover;mix-blend-mode:normal}
.home-faq summary{font-weight:650;color:var(--blue)}
.home-faq details p{margin:10px 0 0}
@media(max-width:700px){.home-editorial{grid-template-columns:1fr}.home-jump span{flex-basis:100%}}

.approach-steps {
    list-style: none;
    counter-reset: approach;
    margin: 0;
    padding: 0;
}
.approach-steps li {
    counter-increment: approach;
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    column-gap: .75rem;
    border-top: 1px solid var(--line);
    padding: 1rem 0;
}
.approach-steps li::before {
    content: counter(approach, decimal-leading-zero);
    color: var(--blue);
    font-weight: 700;
}
.approach-steps h3, .approach-steps p { margin: 0; }
.approach-steps p { grid-column: 2; margin-top: .25rem; }

/* Contact Form 7 can wrap adjacent labels in a generated paragraph. */
.mmc-enquiry-fields > p { display: contents; }
.mmc-enquiry-fields > br,
.mmc-enquiry-fields > p > br { display: none; }
.mmc-enquiry-fields label { min-width: 0; }
.mmc-enquiry-fields .wpcf7-form-control-wrap { min-width: 0; }

#enquiry-form {
    border-radius: 16px;
    border-top: 4px solid var(--blue);
    box-shadow: 0 12px 28px #16356a12;
}
#enquiry-form h3 { font-size: 1.5rem; }
#enquiry-form .mmc-enquiry-fields :is(input, textarea, select) {
    width: 100%;
    min-width: 0;
    border: 1px solid #aebdd2;
    border-radius: 8px;
    background: #f8fbff;
    font: inherit;
    font-weight: 400;
    font-size: 16px;
    padding: 11px 12px;
}
#enquiry-form .mmc-enquiry-fields textarea { min-height: 110px; }
#enquiry-form .wpcf7-submit { width: 100%; }
 .mmc-phone-field {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.mmc-phone-field legend { padding: 0; font-size: 13px; font-weight: 600; }
.mmc-phone-row {
    display: grid;
    grid-template-columns: minmax(0, 8rem) minmax(0, 1fr);
    margin-top: 5px;
    border: 1px solid #aebdd2;
    border-radius: 8px;
    background: #f8fbff;
}
.mmc-phone-row > p { display: contents; }
.mmc-phone-row br { display: none; }
.mmc-phone-row .wpcf7-form-control-wrap { margin: 0; }
#enquiry-form .mmc-phone-row :is(select, input) {
    border: 0;
    background: transparent;
    min-height: 46px;
}
#enquiry-form .mmc-phone-row select {
    border-right: 1px solid #aebdd2;
    border-radius: 7px 0 0 7px;
    padding-inline: 9px;
    text-overflow: ellipsis;
}
.mmc-phone-row .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Homepage solution browsing and project planning. */
.home-solutions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}
.solution-panel {
    padding: clamp(22px, 3vw, 36px);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: linear-gradient(140deg, var(--ice), white 75%);
}
.solution-number { color: var(--blue); font-size: .8rem; font-weight: 700; }
.solution-panel h3 { margin: 22px 0 12px; }
.solution-panel h3 a { font-size: clamp(21px, 2vw, 27px); line-height: 1.2; }
.solution-related { display: block; margin-top: 10px; color: var(--blue); font-size: .88rem; }
.solution-related:hover { text-decoration: underline; }
.home-technology {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: clamp(24px, 6vw, 80px);
    border-block: 1px solid var(--line);
}
.home-technology h2 { font-size: clamp(27px, 3vw, 36px); }
.technology-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.technology-links a { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 24px; background: var(--ice); border: 1px solid var(--line); border-radius: 8px; }
.technology-links strong { grid-column: 1 / -1; font-size: 2.1rem; letter-spacing: .04em; color: var(--navy); }
.technology-links a:hover { border-color: var(--blue); }
.technology-links span { font-size: .85rem; }
.story-attribution { max-width: 70ch; margin-bottom: 28px; }
.story-card dl { margin: 0 0 24px; }
.story-card dt { margin-top: 14px; color: var(--blue); font-size: .78rem; font-weight: 700; }
.story-card dd { margin: 4px 0 0; color: var(--muted); font-size: .93rem; line-height: 1.6; }
.planning-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.planning-guides article { min-width: 0; padding: 28px; background: var(--ice); border-top: 3px solid var(--blue); }
.planning-guides h3 { font-size: 1.45rem; margin-top: 16px; }
.planning-guides details { border-block: 1px solid var(--line); margin-block: 22px; padding-block: 15px; }
.planning-guides summary { cursor: pointer; font-weight: 650; color: var(--blue); }
.planning-guides ul { padding-left: 20px; }
.planning-guides li + li { margin-top: 10px; }
.planning-guides details p { font-size: .9rem; }
@media (max-width: 1000px) {
    .home-solutions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-technology { grid-template-columns: 1fr; }
    .planning-guides { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .home-solutions, .technology-links { grid-template-columns: 1fr; }
}

/* Keep filled calls to action legible inside rich-text content. */
.source-content a.button:not(.light){color:#fff;text-decoration:none}
.source-content a.button:not(.light):hover{color:#fff}

@media (max-width:480px) {
    .mmc-phone-row { grid-template-columns:minmax(0,1fr); }
    #enquiry-form .mmc-phone-row select {
        border-right:0;
        border-bottom:1px solid #aebdd2;
        border-radius:7px 7px 0 0;
        padding-inline:12px;
    }
    #enquiry-form .mmc-phone-row input { border-radius:0 0 7px 7px; }
}

/* Shared, server-rendered FAQ. Native details supports keyboard and no-JS use. */
.mmc-faq{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:clamp(32px,6vw,100px);padding:clamp(40px,6vw,88px) 0;margin-top:32px;border-top:1px solid #ccd6e0;scroll-margin-top:100px}
.mmc-faq-intro h2{font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:-.035em;margin:16px 0 20px;max-width:380px}
.mmc-faq-intro p{color:#526276;margin-bottom:24px;max-width:310px}
.mmc-faq-list{border-top:1px solid #ccd6e0;min-width:0}
.mmc-faq-item{border-bottom:1px solid #ccd6e0}
.mmc-faq-item summary{list-style:none;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;gap:16px;align-items:start;padding:24px 8px;cursor:pointer;font-size:18px;font-weight:600;line-height:1.45;color:#142b45}
.mmc-faq-item summary::-webkit-details-marker{display:none}
.mmc-faq-number{color:#59718c;font-size:12px;font-weight:500;padding-top:5px}
.mmc-faq-icon{position:relative;width:20px;height:24px}
.mmc-faq-icon:before,.mmc-faq-icon:after{content:"";position:absolute;background:currentColor;top:11px;left:3px;width:14px;height:2px}
.mmc-faq-icon:after{transform:rotate(90deg)}
.mmc-faq-item[open] .mmc-faq-icon:after{transform:rotate(0)}
.mmc-faq-item[open]{background:#f3f7fb}
.mmc-faq-item summary:hover{color:#0669b2}
.mmc-faq-item summary:focus-visible{outline:3px solid #0671c9;outline-offset:3px}
.mmc-faq-answer{padding:0 48px 24px 52px;color:#43556a;line-height:1.75}
.mmc-faq-answer p{margin:0;overflow-wrap:anywhere}
@media(max-width:760px){.mmc-faq{grid-template-columns:1fr;gap:28px}.mmc-faq-intro h2{max-width:none}.mmc-faq-item summary{font-size:16px;gap:10px;grid-template-columns:22px minmax(0,1fr) 20px;padding:20px 4px}.mmc-faq-answer{padding:0 30px 22px 36px}}

/* Industry applications: shared structure, application-specific guidance. */
.industry-page [id]{scroll-margin-top:55px}
.ind-hero{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white;border-radius:24px;overflow:hidden;min-width:0}
.ind-hero-copy{padding:clamp(25px,4.5vw,58px);align-self:center}
.ind-hero .eyebrow{color:var(--signal);font-size:.73rem}
.ind-hero h1{font-size:clamp(36px,4.4vw,61px);line-height:1.06;margin:22px 0}
.ind-hero p{color:#d6e2fa;line-height:1.7;font-size:1.02rem}
.ind-hero .button{background:var(--signal);color:var(--navy);border-color:var(--signal)}
.ind-hero .button:hover{background:#c9ec72}
.ind-secondary{color:white;font-size:.87rem;text-underline-offset:5px}
.ind-secondary:hover{text-decoration:underline}
.ind-hero-media{position:relative;min-height:380px;background:#233b58;display:flex;flex-direction:column}
.ind-hero-media>img{width:100%;height:100%;min-height:380px;object-fit:cover;flex:1}
.ind-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:20px;background:#101d35e8;color:#e2ebff;font-size:.7rem;letter-spacing:.06em}
.ind-use-cases{display:flex;flex-wrap:wrap;gap:12px 26px;padding:23px 0;border-bottom:1px solid var(--line);font-size:.83rem;font-weight:650}
.ind-use-cases>span:first-child{color:var(--muted);font-weight:400}
.ind-use-cases>span:not(:first-child)::before{content:'•';color:var(--blue);margin-right:10px}
.ind-overview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,7vw,90px);align-items:center}
.ind-overview h2{margin-bottom:0}.ind-overview>p{font-size:1.1rem;line-height:1.8;color:var(--muted)}
.ind-priorities{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ind-grid>*{min-width:0}.ind-grid h3{font-size:1.35rem;line-height:1.3;margin:20px 0 12px}.ind-grid p{color:var(--muted);font-size:.96rem;line-height:1.75;margin-bottom:0}
.ind-priorities article{padding:27px;background:white;border:1px solid var(--line);border-radius:16px}
.ind-number{display:inline-flex;width:42px;height:42px;border-radius:50%;background:var(--ice);color:var(--blue);align-items:center;justify-content:center;font-size:.8rem;font-weight:700}
.ind-products>a{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:start;transition:border-color .2s}
.ind-products>a:hover,.ind-directory>a:hover{border-color:var(--blue)}
.ind-products img{height:200px;width:100%;object-fit:contain}
.ind-products .text-link{margin-top:auto;padding-top:8px}
.ind-planning{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,7vw,90px);background:var(--ice);padding:clamp(25px,5vw,55px);border-radius:24px}
.ind-planning p{color:var(--muted);line-height:1.7}.ind-planning ol{list-style:none;counter-reset:brief;margin:0;padding:0;align-self:center}
.ind-planning li{counter-increment:brief;display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #c4d0e8;font-weight:600;line-height:1.5}
.ind-planning li::before{content:counter(brief,decimal-leading-zero);color:var(--blue);font-size:.8rem;padding-top:3px}
.ind-directory>a{padding:26px;border:1px solid var(--line);border-radius:16px;background:white}
.ind-directory h3{display:flex;justify-content:space-between;gap:10px}.ind-directory h3 span{color:var(--blue)}.ind-directory .eyebrow{font-size:.65rem;color:var(--blue)}
@media(max-width:900px){.ind-hero{grid-template-columns:1fr}.ind-hero-media{min-height:250px;max-height:330px}.ind-hero-media>img{min-height:250px}.ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ind-overview,.ind-planning{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.ind-grid{grid-template-columns:1fr}.ind-hero h1{font-size:38px}.ind-hero-copy{padding:27px 23px}.ind-hero .actions{align-items:start;gap:20px}.ind-use-cases{gap:12px 18px}.ind-caption{font-size:.6rem}.ind-overview>p{font-size:1rem}.ind-products img{height:190px}}

/* Shared footer: explicit groups and comfortable touch targets at every width. */
.site-footer{display:block;margin-top:48px;padding:56px 0 0;background:var(--navy);border:0;color:#d6e2f3;font-size:14px;line-height:1.6}
.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);padding-bottom:40px}
.site-footer .footer-brand{max-width:320px}
.site-footer nav.footer-links{display:block}
.site-footer .footer-links ul{list-style:none;margin:0;padding:0}
.site-footer .footer-links li{margin:0;padding:0}
.site-footer .footer-logo{display:inline-flex;margin-bottom:20px}
.site-footer .footer-logo img{display:block;width:144px;height:auto;filter:brightness(0) invert(1)}
.site-footer p{color:#c0cde0;margin:0 0 12px;font-size:14px}
.site-footer h2{color:white;font-size:13px;letter-spacing:.09em;text-transform:uppercase;margin:0 0 16px;line-height:1.5}
.site-footer .footer-links a{display:inline-block;padding:7px 0;max-width:100%;overflow-wrap:anywhere;text-underline-offset:4px}
.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:16px;padding:22px 0;border-top:1px solid #ffffff26;font-size:12px;color:#b7c6dd}
.site-footer a:hover{color:white;text-decoration:underline}
.site-footer a:focus-visible{outline-color:#afceff}
@media(max-width:900px){.site-footer .footer-grid{grid-template-columns:1fr 1fr}.site-footer .footer-brand{max-width:440px}}
@media(max-width:540px){.site-footer{margin-top:32px;padding-top:36px}.site-footer .footer-grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.site-footer .footer-brand{grid-column:auto}.site-footer .footer-bottom{flex-direction:column;gap:10px}}

/* Fortra portfolio directory and product briefs. */
.fortra-categories { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 40px; }
.fortra-categories a { padding:10px 14px; border:1px solid var(--line); border-radius:6px; font-size:.85rem; background:var(--ice); }
.fortra-category { margin:42px 0; scroll-margin-top:120px; }
.fortra-category > h3 { font-size:1.65rem; margin-bottom:22px; }
.fortra-directory .svc-card h4 { font-size:1.18rem; line-height:1.35; margin:0 0 14px; }
.fortra-directory .svc-card .text-link { display:inline-block; margin-top:16px; font-size:.85rem; }
.fortra-page h1, .fortra-page .svc-crumb, .fortra-directory .svc-card h4 { overflow-wrap:anywhere; }

/* Vendor directory: useful with JavaScript disabled, searchable when available. */
.security-vendor-directory .vendor-search { max-width:720px; margin:28px 0; }
.vendor-search label { display:block; font-weight:700; margin-bottom:10px; }
.vendor-search input { width:100%; min-height:48px; padding:12px 16px; font:inherit; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--navy); }
.vendor-search input:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.security-vendor-directory h4 { margin:0 0 12px; font-size:1.25rem; }
.security-vendor-directory .text-link { display:inline-block; margin:8px 0; }
.vendor-products { margin-top:18px; border-top:1px solid var(--line); padding-top:14px; }
.vendor-products summary { cursor:pointer; font-weight:600; color:var(--navy); }
.vendor-products ul { padding-left:18px; margin:16px 0 0; }
.vendor-products li { margin:10px 0; font-size:.9rem; line-height:1.55; }
.vendor-products a { text-decoration:underline; text-underline-offset:3px; }
.vendor-card[hidden], .vendor-group[hidden], .vendor-search[hidden] { display:none; }
.security-vendor-page h1, .security-vendor-page .svc-crumb, .vendor-products a { overflow-wrap:anywhere; }

/* Locally hosted manufacturer marks and product imagery. */
.vendor-logo { height:100px; padding:18px 22px; border:1px solid var(--line); border-radius:8px; display:flex; align-items:center; justify-content:center; margin:0 0 22px; overflow:hidden; }
.vendor-logo-light { background:#fff; }
.vendor-logo-dark { background:#172c4c; border-color:#172c4c; }
.vendor-logo img { display:block; max-width:100%; width:auto; max-height:62px; height:auto; object-fit:contain; }
.vendor-logo-hero { display:inline-flex; min-width:180px; max-width:300px; height:86px; margin:0 0 24px; }
.security-product-visual { margin:0; padding:20px; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.security-product-visual img { display:block; width:100%; height:auto; max-height:400px; object-fit:contain; border-radius:6px; }
.security-product-visual figcaption { margin-top:14px; font-size:.72rem; line-height:1.5; color:#53677e; }
.vendor-hero-media { min-width:0; align-self:center; }
.vendor-hero-media .security-product-visual { box-shadow:0 20px 45px #162c4c0b; }
.product-visual-compact { padding:10px; margin:0 0 20px; border-radius:8px; }
.product-visual-compact img { width:100%; height:170px; object-fit:contain; }
.vendor-products .vendor-product-link { display:grid; grid-template-columns:86px 1fr; align-items:center; gap:12px; text-decoration:none; }
.vendor-product-link > span { text-decoration:underline; text-underline-offset:3px; }
.vendor-product-link .product-visual-compact { margin:0; padding:4px; }
.vendor-product-link .product-visual-compact img { height:54px; }
.vendor-card .vendor-products li { margin:14px 0; list-style:none; }
.vendor-card .vendor-products ul { padding-left:0; }
@media(max-width:640px) {
 .vendor-logo-hero { max-width:240px; }
 .vendor-hero-media { margin-top:8px; }
 .security-product-visual { padding:12px; }
 .product-visual-compact img { height:160px; }
 .vendor-product-link .product-visual-compact img { height:50px; }
}

.vendor-logo-black { background:#000; border-color:#000; }
.product-image-full { display:block; cursor:zoom-in; }

/* One horizontal vendor carousel for infrastructure and cybersecurity. */
.home-vendors { scroll-margin-top:110px; }
.home-vendor-carousel { position:relative; }
.home-vendor-logos { display:flex; gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:8px 2px 18px; scrollbar-width:thin; scrollbar-color:#9aabc1 #eef3fa; }
.home-vendor-link { display:block; flex:0 0 calc((100% - 80px)/6); min-width:0; border-radius:8px; scroll-snap-align:start; }
.home-vendor-link .vendor-logo { height:100px; padding:16px; margin:0 0 9px; transition:box-shadow .15s ease; }
.home-vendor-link .vendor-logo img { max-height:54px; }
.home-vendor-link > span { display:block; font-size:.78rem; line-height:1.4; color:var(--navy); }
.home-vendor-link:hover .vendor-logo { box-shadow:0 5px 16px #172c4c1a; }
.home-vendor-link:focus-visible, .home-vendor-logos:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.home-vendor-controls { display:flex; justify-content:flex-end; gap:8px; margin-bottom:12px; }
.home-vendor-controls[hidden] { display:none; }
.home-vendor-controls button { width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--navy); font-size:1.3rem; cursor:pointer; }
.home-vendor-controls button:hover { background:var(--ice); }
.home-vendor-controls button:disabled { opacity:.35; cursor:default; }
.home-vendor-controls button:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.home-vendor-footer { margin-top:14px; }
.home-vendor-footer a { margin-left:12px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1000px) { .home-vendor-link { flex-basis:calc((100% - 48px)/4); } }
@media(max-width:540px) {
 .home-vendor-logos { gap:12px; }
 .home-vendor-link { flex-basis:calc((100% - 24px)/2.5); }
 .home-vendor-link .vendor-logo { height:82px; padding:12px; }
 .home-vendor-link .vendor-logo img { max-height:48px; }
 .home-vendor-link > span { font-size:.72rem; overflow-wrap:anywhere; }
 .home-vendor-footer a { display:block; margin:8px 0 0; }
}
/* Keep brochure imagery within the product column at intermediate widths. */
.producthero > .product-visual { width:100%; min-width:0; overflow:hidden; }
.producthero > .product-summary { min-width:0; }
@media(max-width:900px) {
 .producthero { grid-template-columns:minmax(0,1fr); gap:28px; }
 .producthero > .product-summary { grid-row:1; }
 .producthero > .product-visual { min-height:0; aspect-ratio:1.25; }
}
#specifications th, #overview table th, #overview table td { overflow-wrap:anywhere; }
#overview table th, #overview table td { padding-right:14px; }
/* Editorial guides retain readable measure beside the existing service directory. */
.editorial-article{max-width:1120px}.editorial-section{max-width:850px;margin:0 0 2.25rem}.editorial-section p{line-height:1.8;margin:1rem 0}.editorial-section h2{font-size:clamp(1.45rem,2.6vw,2.1rem);line-height:1.25}.editorial-table{overflow-x:auto;margin:2rem 0}.editorial-table table{width:100%;border-collapse:collapse;min-width:540px}.editorial-table caption{text-align:left;font-weight:700;margin-bottom:1rem}.editorial-table th,.editorial-table td{padding:1rem;text-align:left;border-bottom:1px solid #d6dce2;vertical-align:top}.editorial-table th{background:#f1f5f8}.solution-topics{margin:2rem 0}.solution-topics summary{font-weight:700;cursor:pointer;padding:1rem;background:#f1f5f8}

/* A single contact invitation after imported case study content. */
.source-content .case-study-cta{margin-top:48px;padding:clamp(24px,4vw,40px);background:var(--mist,#f1f5f8);border-top:2px solid var(--blue)}
.source-content .case-study-cta h2{margin:0 0 16px;font-size:clamp(26px,3vw,36px);line-height:1.15}
.source-content .case-study-cta p{margin:0 0 24px;line-height:1.6}
.source-content .case-study-cta .button{display:inline-flex;gap:24px;align-items:center}

/* Consistent manufacturer case studies and product stories. */
.case-study-page .company-hero h1{font-size:clamp(32px,3.6vw,54px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:normal}
.case-study-page .company-cover img{aspect-ratio:1.4;object-fit:contain;background:#fff}
.case-study-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:clamp(32px,6vw,88px);padding-top:56px;align-items:start}
.case-study-nav{position:sticky;top:64px;min-width:0}
.case-study-nav nav{display:grid;margin:20px 0 24px;border-top:1px solid var(--line)}
.case-study-nav nav a{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45;text-decoration:none}
.case-study-nav nav a:hover{color:var(--blue)}
.case-study-nav nav span{color:var(--blue);font-size:11px;padding-top:3px}
.case-study-note{font-size:13px;line-height:1.6;color:var(--muted)}
.case-study-article{min-width:0;max-width:100%;font-size:17px;line-height:1.75}
.case-study-section{padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.case-study-section-heading{display:flex;gap:18px;align-items:baseline;margin-bottom:22px}
.case-study-section-heading>span{font-size:12px;color:var(--blue);flex:none}
.case-study-article .case-study-section-heading h2{font-size:clamp(24px,2.6vw,34px);line-height:1.2;letter-spacing:-.025em;margin:0}
.case-study-section-body> :first-child{margin-top:0}
.case-study-section-body> :last-child{margin-bottom:0}
.case-study-section-body p{margin:0 0 20px}
.case-study-section-body ul,.case-study-section-body ol{padding-left:22px;margin:0 0 24px}
.case-study-section-body li{padding-left:6px;margin-bottom:12px}
.case-study-section-body li::marker{color:var(--blue)}
.case-study-article .case-study-image{margin:28px 0;background:#f1f5f8;border:1px solid var(--line);padding:12px;border-radius:8px;overflow:hidden}
.case-study-article .case-study-image img{width:100%;height:auto;max-height:600px;object-fit:contain;margin:0}
.case-study-article h3{font-size:23px;line-height:1.35}
.case-study-article .case-study-cta{margin-top:0;border-radius:8px}
.case-study-directory .products{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-study-directory .product{display:flex;flex-direction:column;min-width:0}
.case-study-directory .product h3{font-size:21px;line-height:1.3;overflow-wrap:normal}
.case-study-directory .product .arrow{margin-top:auto}
.case-study-directory .card-image{height:auto;aspect-ratio:1.8;margin:0 0 24px;background:#f1f5f8}
.case-study-directory .card-image img{height:100%;object-fit:contain}
@media(max-width:1000px){.case-study-directory .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .case-study-layout{grid-template-columns:1fr;gap:32px;padding-top:32px}
 .case-study-nav{position:static}
 .case-study-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;margin-bottom:16px}
 .case-study-nav nav a{font-size:13px}
 .case-study-note{margin:12px 0}
 .case-study-article{font-size:16px}
 .case-study-section{padding-bottom:28px;margin-bottom:28px}
 .case-study-section-heading{gap:12px}
 .case-study-directory .products{grid-template-columns:1fr}
}
.case-study-article .case-study-section{border-top:0;padding-top:0}

/* Responsive HTML hero: eager image below the existing gradient overlay. */
.home-hero-media{position:absolute;inset:0;z-index:-2;display:block;pointer-events:none}
.home-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
@media(max-width:700px){.home-hero-media img{object-position:65% center}}
