/* Useful company resources, source-backed people and focused service pages. */
.story-resource-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:24px 34px;width:100%}
.story-resource-links>div{display:flex;flex-direction:column;gap:8px}
.profile-download{gap:22px!important;line-height:1.6;white-space:normal}
.profile-file-info{display:block;color:var(--muted);font-family:var(--sans);font-size:11px;line-height:1.7;margin-top:8px}
.profile-resource{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:30px 40px}
.profile-resource h2{font-size:26px;font-family:var(--sans)}
.team-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:30px}
.team-heading h2,.case-heading h2{font-size:clamp(30px,3.4vw,48px);max-width:760px;line-height:1.25}
html[lang=ar] .team-heading h2,html[lang=ar] .case-heading h2{line-height:1.5;font-size:clamp(29px,3vw,44px)}
.team-heading>div{flex-shrink:0}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.team-profile{min-width:0;background:#f6f6f6;border:1px solid #e8e8e8}
.team-profile>img{width:100%;height:280px;object-fit:cover;object-position:50% 30%;filter:saturate(.7)}
.team-profile>div{padding:24px}
.team-role{color:#b42420;font-size:12px;line-height:1.7;margin-bottom:12px;min-height:40px}
.team-profile h3{font-family:var(--sans);font-size:20px;letter-spacing:-.02em;line-height:1.4;overflow-wrap:break-word}
html[dir=rtl] .team-profile h3{text-align:right}
.team-bio{font-size:14px;line-height:1.85;color:var(--muted);margin-top:14px}
.case-section{border-top:1px solid var(--line)}
.case-heading{margin-bottom:28px}
.case-heading>p{max-width:730px;font-size:15px;line-height:1.85;color:var(--muted);margin-top:16px}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-card{display:flex;align-items:flex-start;flex-direction:column;padding:30px;border:1px solid var(--line);min-width:0;background:#fafafa}
.case-index{font-family:var(--sans);color:var(--red);font-size:12px;font-weight:700;margin-bottom:22px}
.case-card h3{font-size:clamp(22px,2vw,29px);line-height:1.4;overflow-wrap:break-word}
.case-card>p{font-size:15px;color:var(--muted);line-height:1.85;margin-block:16px 24px}
.case-card .text-link{margin-top:auto;font-size:13px;gap:24px;line-height:1.6}
.service-detail-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.service-detail-copy,.service-audience{min-width:0}
.service-lead{font-size:18px;line-height:1.85;color:#555;margin-bottom:32px;max-width:740px}
.service-detail-body h2{font-size:clamp(25px,2.5vw,35px);line-height:1.4;letter-spacing:-.02em}
html[lang=ar] .service-detail-body h2{line-height:1.6;letter-spacing:0}
.service-deliverables{padding:0;margin:24px 0 32px;list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.service-deliverables li{font-size:16px;line-height:1.8;padding-block:18px;padding-inline-start:26px;border-bottom:1px solid var(--line);position:relative}
.service-deliverables li::before{content:'↗';position:absolute;inset-inline-start:0;color:var(--red)}
.service-detail-copy>.button{font-size:13px;max-width:100%;line-height:1.7}
.service-audience{padding:30px;background:#f5f5f5;border-top:2px solid var(--red)}
.service-audience>ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:16px;font-size:15px;line-height:1.7;color:#555}
.service-profile-resource{border-top:1px solid var(--line);padding-top:24px}
.service-profile-resource .text-link{font-size:13px}
@media(max-width:1000px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-heading{flex-direction:column;gap:20px}.service-detail-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px}.service-audience{padding:24px}}
@media(max-width:600px){
 .story-resource-links{gap:22px;flex-direction:column}
 .profile-resource{align-items:flex-start;flex-direction:column;gap:20px;padding-block:26px 32px}
 .profile-file-info{font-size:10px}
 .team-grid,.case-grid,.service-detail-body{grid-template-columns:minmax(0,1fr)}
 .team-grid{gap:18px}
 .team-profile>img{height:auto;max-height:360px;aspect-ratio:1.1;object-position:50% 28%}
 .team-profile>div{padding:22px}
 .team-role{min-height:0;margin-bottom:10px}
 .team-bio{margin-top:12px}
 .case-card{padding:24px}
 .case-heading>p{font-size:14px}
 .case-card>p{font-size:14px}
 .case-index{margin-bottom:16px}
 .service-detail-body{gap:30px}
 .service-lead{font-size:16px;margin-bottom:26px}
 .service-deliverables li{font-size:15px;padding-block:16px}
 .service-audience{padding:24px}
 .service-detail-main .compact-contact .button{line-height:1.6;max-width:100%}
}

/* Clear next steps with native disclosure controls and stable reading. */
.header-project-link{display:none}
@media(min-width:1101px){
 .header-project-link{display:inline-flex;align-items:center;gap:20px;max-width:260px;min-height:44px;font-size:13px;line-height:1.5;font-weight:700;border-bottom:1px solid currentColor}
 .header-project-link>span:last-child{color:var(--red);font-size:20px;flex:none}
 .header-project-link:hover{color:var(--red)}
}
.nav-services{border-bottom:1px solid var(--line)}
.nav-services>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px;font-size:clamp(17px,1.7vw,22px);font-weight:700;line-height:1.45;list-style:none;cursor:pointer}
.nav-services>summary::-webkit-details-marker,.faq-item>summary::-webkit-details-marker{display:none}
.nav-services>summary::marker,.faq-item>summary::marker{content:''}
.nav-service-plus,.faq-plus{display:block;width:18px;height:18px;position:relative;flex:0 0 18px;color:var(--red)}
.nav-service-plus::before,.nav-service-plus::after,.faq-plus::before,.faq-plus::after{content:'';position:absolute;inset:8px 1px auto;height:2px;background:currentColor}
.nav-service-plus::after,.faq-plus::after{transform:rotate(90deg);transition:transform .2s ease}
.nav-services[open]>summary .nav-service-plus::after,.faq-item[open]>summary .faq-plus::after{transform:rotate(0)}
.nav-services>summary:hover,.nav-services[open]>summary{color:var(--red)}
.nav-service-links{padding-inline-start:18px;padding-bottom:12px;border-inline-start:2px solid #ededed;margin-bottom:8px}
.mobile-nav .nav-service-links>a{font-size:15px;font-weight:500;padding-block:13px;border-bottom:0;line-height:1.6;animation:none!important}
.mobile-nav .nav-service-links>a:first-child{font-size:12px;color:var(--muted);font-weight:700}
.mobile-nav .nav-service-links>a[aria-current=page]{color:var(--red);font-weight:700}
.nav-services>summary:focus-visible,.faq-item>summary:focus-visible{outline:2px solid var(--red);outline-offset:-3px}
html[lang] .hero .hero-copy h1{font-size:clamp(36px,3.4vw,62px);line-height:1.18}
html[lang=ar] .hero .hero-copy h1{line-height:1.5;letter-spacing:0}
.hero-copy>.button{max-width:100%;text-align:start;line-height:1.6}
.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,88px);border-top:1px solid var(--line)}
.faq-heading,.faq-list{min-width:0}
.faq-heading h2{font-size:clamp(30px,3.6vw,48px);line-height:1.3;max-width:440px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-block:23px;list-style:none;cursor:pointer}
.faq-item h3{font:700 17px/1.6 var(--sans);letter-spacing:0}
.faq-plus{margin-top:4px}
.faq-answer{padding-block:0 25px;padding-inline-end:38px}
.faq-answer>p{font-size:15px;line-height:1.85;color:var(--muted);text-wrap:pretty}
.faq-item[open]>summary h3{color:var(--red)}
html[lang=ar] .faq-heading h2{line-height:1.5}
html[lang=ar] .faq-item h3,html[lang=ar] .nav-services>summary,html[lang=ar] .header-project-link{font-weight:500}
@media(max-width:850px){.faq-section{grid-template-columns:minmax(0,1fr);gap:30px}.faq-heading h2{max-width:none}}
@media(max-width:600px){
 html[lang] .hero .hero-copy h1{font-size:clamp(30px,7.6vw,43px)}
 .nav-services>summary{font-size:18px;padding-block:16px}
 .mobile-nav .nav-service-links>a{font-size:14px;padding-block:12px}
 .faq-item>summary{padding-block:20px;gap:18px}
 .faq-item h3{font-size:16px}
 .faq-answer{padding-inline-end:28px;padding-bottom:22px}
 .faq-answer>p{font-size:14px;line-height:1.85}
}
@media(prefers-reduced-motion:reduce){.nav-service-plus::after,.faq-plus::after{transition:none}}

/* One Arabic family for components that specify a font explicitly. */
html[lang=ar]{--sans:GESS,Arabic,Tahoma,sans-serif;--serif:GESS,Arabic,Tahoma,sans-serif}
html[lang=ar] :is(.profile-file-info,.team-profile h3,.faq-item h3,.case-index,.nav-service-links a,.header-project-link){font-family:GESS,Arabic,Tahoma,sans-serif;font-weight:500;letter-spacing:0;font-synthesis:none}
html[lang=ar] :is(.brand,.brand strong,.footer-brand,.contact-signature,.contact-signature strong,.contact-email,.contact-phone,.language-current,.language-option-code){font-family:Sans,Arial,sans-serif}
html[lang=ar] :is(.brand small,.contact-signature small){font-family:Sans,Arial,sans-serif}
.language-option:not([lang=ar]){font-family:Sans,Arial,sans-serif}
.language-option[lang=ru]{font-family:Arabic,Arial,sans-serif}
.language-option[lang=zh]{font-family:'Microsoft YaHei','PingFang SC',sans-serif}
.no-script-languages{display:flex;flex-wrap:wrap;gap:14px;padding:calc(var(--header-height,82px) + 20px) 5% 20px;background:#fff;color:#111}
.no-script-languages a{padding:10px;border-bottom:1px solid #ddd;min-height:44px}
.hero-copy,.contact-copy,.service-title,.footer-links,.form-row>*{min-width:0}
.hero-copy :is(h1,.hero-intro),.page-cover h1,.history-cover h1{word-break:normal;overflow-wrap:break-word}
.contact-email{overflow-wrap:anywhere}
#enquiry-form{scroll-margin-top:calc(var(--header-height,82px) + 26px)}
@media(max-width:600px){
 .intro-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center;line-height:1.75}
 .intro-strip .strip-divider{display:none}
 .intro-strip>span:not(.strip-divider){min-width:0;overflow-wrap:break-word}
 form :is(input,select,textarea){font-size:16px;line-height:1.6;min-height:48px;max-width:100%}
 form textarea{min-height:132px}
 .button{min-height:48px;white-space:normal}
 .button>span:first-child{min-width:0}
 .button>span:last-child{flex-shrink:0}
 .footer-links>a,.footer-links>button{min-height:44px;display:inline-flex;align-items:center}
 html[lang=ar] .hero .hero-copy h1{line-height:1.6}
 html[lang=ar] :is(.profile-file-info,.team-role,.form-note){line-height:1.9}
}
