/* Shared focused homepage, specialist services and project details. */
.direct-home{--gutter:max(4.2vw,calc((100vw - 1600px)/2))}
.direct-section{padding:80px var(--gutter)}
.direct-hero{padding:143px var(--gutter) 68px;background:var(--ink);color:var(--paper)}
.direct-eyebrow{display:flex;justify-content:space-between;gap:24px;font:11px/1.6 var(--mono);color:#b9b9ae}
.direct-opening{display:grid;grid-template-columns:1.9fr 1fr;gap:6%;align-items:end;margin-top:40px}
.direct-opening h1{font-size:clamp(55px,6.1vw,102px);letter-spacing:-.058em;line-height:1.02;font-weight:500}
.direct-opening h1 span{color:var(--accent)}
.direct-intro{padding-bottom:5px;max-width:350px}.direct-intro p{font-size:22px;line-height:1.45}.direct-intro p+p{font-size:16px;line-height:1.6;color:#b9b9ae;margin-top:16px}.direct-intro .button{margin-top:30px;gap:22px}
.direct-section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.direct-section-top h2{font-size:clamp(35px,3.5vw,56px);line-height:1.08;letter-spacing:-.04em}.direct-section-top>a,.capability-list a{font:12px/1.6 var(--mono);text-decoration:underline;text-underline-offset:5px}.direct-section-top>p{font-size:17px;max-width:320px;color:var(--muted)}
.direct-work{padding-top:42px;padding-bottom:72px}.direct-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.direct-project{min-width:0}.direct-project>a:first-child{display:block}.direct-project-visual{height:280px;padding:27px 25px 0;overflow:hidden;background:#c1b0ed}.direct-project-visual img{display:block;width:100%;height:auto;box-shadow:0 8px 30px #14141325;transition:transform .3s}.direct-project>a:hover img{transform:translateY(-5px)}.direct-project-kamo .direct-project-visual{background:#d8d1bd}.direct-project-hurghada-news .direct-project-visual{background:#172d3d}
.direct-project h3{display:flex;justify-content:space-between;gap:10px;font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:22px 0 10px}.direct-project h3>span{font-size:20px}.direct-project p{font-size:15px;line-height:1.65;color:var(--muted);max-width:38ch}.direct-project-type{display:block;font:9px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-top:17px}.direct-project-external{display:inline-block;font:11px/1.6 var(--mono);margin-top:14px;text-decoration:underline;text-underline-offset:4px}
.direct-capabilities{background:#e5e5dd}.direct-capabilities .direct-section-top{margin-bottom:40px}.capability-list article{display:grid;grid-template-columns:55px 1.2fr 1fr;gap:30px;border-top:1px solid #c6c6ba;padding:32px 0}.capability-list article:last-child{padding-bottom:0}.capability-number{font:11px/1.6 var(--mono);color:var(--muted);padding-top:7px}.capability-list h3{font-size:clamp(27px,2.8vw,43px);line-height:1.12;letter-spacing:-.035em}.capability-list p{font-size:16px;line-height:1.7;margin-bottom:18px;color:#51534b}.capability-links{display:flex;gap:12px 24px;flex-wrap:wrap}
.direct-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:45px}.direct-process li{border-top:1px solid var(--line);padding-top:22px}.direct-process li>span{font:10px/1.7 var(--mono);color:var(--muted)}.direct-process h3{font-size:24px;line-height:1.2;letter-spacing:-.03em;margin:20px 0 14px}.direct-process p{font-size:16px;line-height:1.7;color:var(--muted)}
.direct-contact{background:var(--ink);color:var(--paper);padding-top:60px;padding-bottom:70px}.direct-contact-row{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;margin-top:30px;align-items:end}.direct-contact h2{font-size:clamp(45px,5.5vw,86px);line-height:1.04;letter-spacing:-.05em}.direct-contact-row p{font-size:18px;line-height:1.6;color:#c1c1b5;max-width:420px;margin-bottom:23px}.direct-email{display:block;margin-top:22px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.direct-home .footer{padding-top:34px;padding-bottom:28px}.direct-home .footer-services{display:none}
/* The Work page gives every project a route into its full case study. */
.direct-work-page .direct-projects{row-gap:50px}.direct-work-page .direct-project-visual{height:300px}.direct-work-page .page-heading h1{font-size:clamp(55px,7vw,100px)}.direct-work-page .concepts{padding-top:30px}.direct-work-page .reputation-thumbnail{display:flex;flex-direction:column;justify-content:center;background:#e6d5bd;color:#462e21;gap:24px;padding:30px}.reputation-thumbnail strong{font:38px/1.1 Georgia,serif}.reputation-thumbnail span{font:10px/1.6 var(--mono)}
@media(max-width:1000px){.direct-opening{grid-template-columns:1.6fr 1fr;gap:30px}.direct-intro p{font-size:19px}.direct-projects{gap:20px}.direct-project-visual{height:235px;padding:20px 18px 0}.direct-project h3{font-size:22px}.capability-list article{grid-template-columns:30px 1fr 1fr;gap:25px}}
@media(max-width:700px){.direct-section{padding:50px 6vw}.direct-hero{padding:119px 6vw 45px}.direct-eyebrow{font-size:9px;gap:18px}.direct-eyebrow>span{max-width:135px;text-align:right}.direct-opening{display:block;margin-top:31px}.direct-opening h1{font-size:clamp(30px,9.8vw,60px);line-height:1.06}.direct-intro{max-width:450px;margin-top:25px;padding:0}.direct-intro p{font-size:18px;max-width:340px}.direct-intro p+p{font-size:14px;max-width:310px;margin-top:10px}.direct-intro .button{margin-top:23px}.direct-section-top{align-items:start;gap:20px;margin-bottom:26px}.direct-section-top h2{font-size:34px}.direct-section-top>a{font-size:10px;max-width:110px;text-align:right;padding-top:8px}.direct-work{padding-top:34px;padding-bottom:45px}.direct-projects{grid-template-columns:1fr;gap:32px}.direct-project-visual,.direct-work-page .direct-project-visual{height:230px;padding:23px 25px 0}.direct-project-at8 .direct-project-visual img{width:78%;margin:0 auto}.direct-project h3{font-size:25px;margin-top:17px}.direct-project p{font-size:15px;max-width:none}.direct-project-type{margin-top:12px}.direct-capabilities .direct-section-top{display:block}.direct-section-top>p{font-size:15px;margin-top:20px;max-width:260px}.capability-list article{grid-template-columns:22px 1fr;gap:16px;padding:26px 0}.capability-list article>div{grid-column:2}.capability-list h3{font-size:28px}.capability-list p{font-size:15px;margin-bottom:15px}.capability-links{gap:15px}.capability-list a{font-size:11px}.direct-process ol{grid-template-columns:1fr;gap:25px}.direct-process h3{margin:13px 0 10px;font-size:25px}.direct-process p{font-size:15px}.direct-contact-row{grid-template-columns:1fr;gap:27px;margin-top:25px}.direct-contact h2{font-size:44px}.direct-contact-row p{font-size:16px}.direct-contact .direct-eyebrow{max-width:275px}.direct-work-page .reputation-thumbnail{padding:25px}.direct-work-page .reputation-thumbnail strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){.direct-project-visual img{transition:none}.direct-project>a:hover img{transform:none}}

/* A concise view of the systems behind the case studies. */
.page-action{margin-top:28px;max-width:100%;white-space:normal}
.specialist-link{margin-top:14px}
.system-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0 0 50px;padding:0;counter-reset:system-step;gap:1px;background:var(--line);border:1px solid var(--line)}
.system-flow li{background:var(--paper);padding:25px 22px;counter-increment:system-step;min-width:0}
.system-flow li::before{content:"0" counter(system-step);display:block;font:10px/1.6 var(--mono);color:var(--muted);margin-bottom:18px}
.system-flow strong{display:block;font-size:19px;line-height:1.25;letter-spacing:-.02em;margin-bottom:12px}
.system-flow span{display:block;font-size:14px;line-height:1.6;color:var(--muted)}
.case-detail-capture img{display:block;width:100%;height:auto}
.page-intro .related-work{font-size:15px;margin-top:26px}
@media(max-width:900px){.system-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.system-flow{grid-template-columns:1fr;margin-bottom:35px}.system-flow li{padding:20px}.system-flow li::before{margin-bottom:12px}.page-action{font-size:11px;gap:15px}}

.specialist-service .page-heading h1{font-size:clamp(44px,6vw,96px);max-width:1250px}
.specialist-service .page-feature>div>a{display:inline-block;min-height:44px;padding:9px 0}
