/* SECTION: Contact hub and website footer */

/* SECTION: Mid-page project call to action */
.mid-project-cta{position:relative;isolation:isolate;width:min(1400px,calc(100% - clamp(2.2rem,10vw,10rem)));margin:clamp(4rem,8vw,8rem) auto;padding:clamp(2.2rem,4.5vw,4.5rem);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(2rem,6vw,7rem);align-items:end;overflow:hidden;border-radius:clamp(24px,3vw,42px);background:#0b1816;color:#edf4f1;box-shadow:0 30px 80px rgba(8,16,15,.14)}
.mid-project-cta__glow{position:absolute;z-index:-1;inset:-60% -10% auto auto;width:65%;aspect-ratio:1;border-radius:42% 58% 65% 35%;background:radial-gradient(circle at 42% 48%,rgba(82,220,210,.28),rgba(82,220,210,.07) 42%,transparent 70%);filter:blur(12px);animation:midCtaDrift 9s ease-in-out infinite alternate;pointer-events:none}@keyframes midCtaDrift{to{transform:translate(-8%,12%) rotate(8deg) scale(1.08)}}
.mid-project-cta__copy>span{display:block;margin-bottom:1.4rem;color:#6ed7cf;font-size:.66rem;font-weight:600;letter-spacing:.2em}.mid-project-cta h2{max-width:850px;margin:0;font-size:clamp(2.7rem,5.2vw,5.7rem);font-weight:500;line-height:.95;letter-spacing:-.055em}.mid-project-cta__copy p{max-width:680px;margin:1.6rem 0 0;color:rgba(231,242,238,.58);font-size:.9rem;line-height:1.75}
.mid-project-cta__actions{display:grid;gap:.75rem}.mid-project-cta__actions a{min-height:58px;padding:0 1.2rem;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(110,215,207,.32);border-radius:999px;color:#edf4f1;text-decoration:none;font-size:.78rem;transition:transform .3s ease,background .3s ease,color .3s ease}.mid-project-cta__actions a:hover{transform:translateY(-3px);border-color:#6ed7cf}.mid-project-cta__actions .mid-project-cta__primary{border-color:#63d5cc;background:#63d5cc;color:#07100f}.mid-project-cta__actions .mid-project-cta__primary:hover{background:#82e4dc}
html[dir="rtl"] .mid-project-cta__copy>span{letter-spacing:0}html[dir="rtl"] .mid-project-cta h2{font-family:"IBM Plex Sans Arabic",Arial,sans-serif;font-weight:500;line-height:1.18;letter-spacing:0}
@media(max-width:850px){.mid-project-cta{grid-template-columns:1fr;align-items:start}.mid-project-cta__actions{grid-template-columns:1fr 1fr}.mid-project-cta__glow{width:100%;inset:-35% -30% auto auto}}
@media(max-width:560px){.mid-project-cta{width:calc(100% - 2.2rem);margin:4rem auto;padding:2rem 1.35rem;border-radius:24px}.mid-project-cta h2{font-size:clamp(2.45rem,12vw,3.5rem)}.mid-project-cta__actions{grid-template-columns:1fr}.mid-project-cta__actions a{min-height:54px}}
@media(prefers-reduced-motion:reduce){.mid-project-cta__glow{animation:none}.mid-project-cta__actions a{transition:none}}

.contact-hub{position:relative;padding:0!important;background:#eef2ef!important;color:#0a1110!important;overflow:hidden!important}
.contact-hub-inner{width:min(1400px,calc(100% - clamp(2.2rem,10vw,10rem)));margin:auto;padding:clamp(6rem,9vw,9rem) 0}
.contact-hub-heading{display:grid;grid-template-columns:.52fr 1.15fr .8fr;gap:clamp(2rem,5vw,6rem);align-items:start;margin-bottom:clamp(3.5rem,6vw,6rem)}
.contact-hub-heading>p{margin:.65rem 0 0;color:#168b85;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.contact-hub-heading h2{margin:0;font-size:clamp(3.25rem,6.2vw,6.4rem);font-weight:500;line-height:.9;letter-spacing:-.065em}.contact-hub-heading>span{max-width:420px;color:#68716e;font-size:.95rem;line-height:1.8;margin-top:.65rem}
.contact-methods{display:grid;grid-template-columns:1.2fr 1.1fr .9fr .9fr;gap:clamp(.8rem,1.25vw,1.25rem)}
.contact-method{position:relative;min-height:340px;padding:1.5rem clamp(1.25rem,2.6vw,2.5rem) 2rem;display:flex;flex-direction:column;justify-content:space-between;color:#0a1110;text-decoration:none;border:1px solid rgba(10,17,16,.14);border-radius:var(--df-card-radius,28px);background:rgba(255,255,255,.38);overflow:hidden;box-shadow:0 18px 48px rgba(10,17,16,.035);transition:background .35s ease,color .35s ease,transform .35s ease,box-shadow .35s ease}.contact-method:before{content:"";position:absolute;inset:0;background:#0c1715;transform:translateY(101%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.contact-method>*{position:relative;z-index:1}.contact-method:hover{color:#f0f6f3;transform:translateY(-6px);box-shadow:0 24px 58px rgba(10,17,16,.12)}.contact-method:hover:before{transform:none}.contact-method--primary{border-color:rgba(22,139,133,.28);background:rgba(83,207,198,.14)}.contact-method-no{font-size:.67rem;color:#168b85}.contact-method small{display:block;margin-bottom:.8rem;color:#168b85;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em}.contact-method h3{margin:0 0 .8rem;font-size:clamp(1.5rem,2.3vw,2.4rem);font-weight:550;letter-spacing:-.04em}.contact-method p{max-width:31ch;margin:0;color:#68716e;font-size:.86rem;line-height:1.65}.contact-method:hover p{color:rgba(240,246,243,.62)}.contact-method b{position:absolute;inset-inline-end:1.5rem;top:1.25rem;font-size:1.25rem;font-weight:400;transition:transform .3s ease}.contact-method:hover b{transform:translate(3px,-3px)}
.site-footer{position:relative;padding:clamp(4.5rem,7vw,7rem) clamp(1.1rem,5vw,5rem) 1.5rem;background:#08100f;color:#edf4f1}.site-footer-top{width:min(1400px,100%);margin:auto;display:grid;grid-template-columns:1.3fr .65fr .9fr .8fr;gap:clamp(2rem,5vw,5rem)}.site-footer-brand img{width:170px;height:auto}.site-footer-brand p{max-width:310px;margin:2rem 0 0;color:rgba(231,242,238,.55);font-size:.88rem;line-height:1.75}.site-footer-nav,.site-footer-office,.site-footer-action{display:flex;flex-direction:column;align-items:flex-start;gap:.72rem}.site-footer-nav>p,.site-footer-office>p,.site-footer-action>p{margin:0 0 .7rem;color:#6ed7cf;font-size:.65rem;text-transform:uppercase;letter-spacing:.17em}.site-footer-nav a{color:#edf4f1;text-decoration:none;font-size:.84rem;transition:.25s ease}.site-footer-nav a:hover{color:#6ed7cf;transform:translateX(3px)}.site-footer-office strong{font-size:.86rem;font-weight:500}.site-footer-office span{color:rgba(231,242,238,.5);font-size:.76rem}.site-footer-action a{width:100%;min-height:52px;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(110,215,207,.4);border-radius:999px;color:#edf4f1;text-decoration:none;font-size:.78rem;transition:.3s ease}.site-footer-action a:hover{background:#6ed7cf;color:#08100f}.site-footer-credential{width:min(1400px,100%);margin:clamp(3.5rem,6vw,6rem) auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;gap:1rem;color:rgba(231,242,238,.48);font-size:.68rem}.site-footer-credential img{width:56px;filter:grayscale(1) brightness(3)}.site-footer-credential strong{margin-inline-start:auto;color:#edf4f1;font-weight:500}.site-footer-wordmark{width:min(1400px,100%);margin:clamp(3rem,5vw,5rem) auto 0;overflow:hidden;color:#edf4f1;font-size:clamp(5rem,16.3vw,14rem);font-weight:600;line-height:.72;letter-spacing:-.085em;white-space:nowrap}.site-footer-bottom{width:min(1400px,100%);margin:2.3rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;gap:1rem;color:rgba(231,242,238,.44);font-size:.66rem}.site-footer-bottom p{margin:0}.site-footer-bottom a{color:#edf4f1;text-decoration:none}
html[dir="rtl"] .contact-hub-heading h2{font-family:"IBM Plex Sans Arabic",sans-serif;letter-spacing:-.035em;line-height:1.05}html[dir="rtl"] .contact-hub-heading>p,html[dir="rtl"] .contact-method small,html[dir="rtl"] .site-footer-nav>p,html[dir="rtl"] .site-footer-office>p,html[dir="rtl"] .site-footer-action>p{text-transform:none;letter-spacing:0}html[dir="rtl"] .contact-method h3{letter-spacing:0}html[dir="rtl"] .site-footer-nav a:hover{transform:translateX(-3px)}html[dir="rtl"] .site-footer-wordmark{direction:ltr;text-align:center;letter-spacing:-.085em}
@media(max-width:950px){.contact-hub-heading{grid-template-columns:1fr 1fr}.contact-hub-heading>p{grid-column:1/-1}.contact-methods{grid-template-columns:1fr 1fr}.contact-method{min-height:280px}.site-footer-top{grid-template-columns:1fr 1fr}.site-footer-brand{grid-row:span 2}.site-footer-action{margin-top:1rem}}
@media(max-width:620px){.contact-hub-inner{width:calc(100% - 2.2rem);padding:5rem 0}.contact-hub-heading{display:block}.contact-hub-heading h2{margin-top:1.7rem;font-size:clamp(3rem,14vw,4.5rem)}.contact-hub-heading>span{display:block;margin-top:1.5rem}.contact-methods{grid-template-columns:1fr;gap:.85rem}.contact-method,.contact-method:first-child{min-height:230px}.site-footer{padding:4.5rem 1.1rem 1.2rem}.site-footer-top{grid-template-columns:1fr 1fr;gap:2.8rem 1.2rem}.site-footer-brand{grid-column:1/-1;grid-row:auto}.site-footer-action{grid-column:1/-1}.site-footer-credential{align-items:flex-start;flex-wrap:wrap}.site-footer-credential strong{width:100%;margin-inline-start:0}.site-footer-wordmark{font-size:20vw;margin-top:3.5rem}.site-footer-bottom{display:grid;gap:.7rem}.site-footer-bottom p:nth-child(2){display:none}}

/* Background signature — decorative, never part of the footer's layout. */
.site-footer{isolation:isolate;overflow:hidden}
.site-footer-top,.site-footer-credential,.site-footer-bottom{position:relative;z-index:1}
.site-footer-wordmark{position:absolute;z-index:0;left:50%;bottom:-.12em;width:max-content;margin:0;color:#edf4f1;font-size:clamp(9rem,22vw,24rem);font-weight:600;line-height:.7;letter-spacing:-.085em;white-space:nowrap;opacity:.035;transform:translateX(-50%);pointer-events:none;user-select:none}
.site-footer-bottom{margin-top:clamp(3rem,5vw,4.5rem)}
html[dir="rtl"] .site-footer-wordmark{transform:translateX(-50%)}
@media(max-width:620px){.site-footer-wordmark{bottom:.05em;font-size:38vw;opacity:.03}.site-footer-bottom{margin-top:3rem}}

/* INTERACTION: Explicit actions for contact method cards */
.contact-method {
    cursor: pointer;
}

.contact-method-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    width: max-content;
    min-height: 42px;
    margin-top: 1.35rem;
    padding: .65rem .9rem;
    border: 1px solid #20c5c1;
    border-radius: 999px;
    background: #20c5c1;
    color: #08100f;
    font-size: .7rem;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .04em;
    box-shadow: 0 8px 22px rgba(32, 197, 193, .18);
    transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}

.contact-method-action i {
    font-style: normal;
    font-size: 1rem;
    line-height: 1;
    transition: transform .3s ease;
}

.contact-method:is(:hover, :focus-visible) {
    color: #f0f6f3;
    transform: translateY(-6px);
    box-shadow: 0 24px 58px rgba(10, 17, 16, .12);
}

.contact-method:is(:hover, :focus-visible)::before {
    transform: none;
}

.contact-method:is(:hover, :focus-visible) p {
    color: rgba(240, 246, 243, .72);
}

.contact-method:focus-visible {
    outline: 3px solid rgba(34, 198, 193, .48);
    outline-offset: 4px;
}

.contact-method:is(:hover, :focus-visible) .contact-method-action {
    background: #64d6cf;
    border-color: #64d6cf;
    transform: translateY(-2px);
}

.contact-method:is(:hover, :focus-visible) .contact-method-action i {
    transform: translate(3px, -3px);
}

html[dir="rtl"] .contact-method-action {
    letter-spacing: 0;
}

html[dir="rtl"] .contact-method:is(:hover, :focus-visible) .contact-method-action i {
    transform: translate(-3px, -3px);
}

@media(max-width:620px) {
    .contact-method-action {
        min-height: 40px;
        margin-top: 1rem;
        padding: .62rem .82rem;
        font-size: .68rem;
    }
}

@media(prefers-reduced-motion:reduce) {
    .contact-method,
    .contact-method::before,
    .contact-method-action,
    .contact-method-action i {
        transition: none !important;
    }
}
