:root {
    --color-brown: #3B2412;
    --color-brown-dark: #2A1A0C;
    --color-gold: #C9A24B;
    --color-gold-bright: #E0BE72;
    --color-bg: #FAF7F2;
    --color-text: #1C1712;
    --color-text-muted: #6B5D4F;
    --color-surface: #FFFFFF;
    --color-border: rgba(59, 36, 18, 0.12);

    --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro", "Segoe UI", Tahoma, Arial, sans-serif;

    --header-height: 4.5rem;
    --radius: 0.75rem;
    --shadow-sm: 0 1px 3px rgba(28, 23, 18, 0.08);
    --shadow-md: 0 8px 24px rgba(28, 23, 18, 0.12);

    --ease-spring: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-color-scheme: dark) {
    :root {
        --color-brown: #5A3A20;
        --color-gold: #E0BE72;
        --color-bg: #141110;
        --color-text: #F3EEE6;
        --color-text-muted: #B8AA98;
        --color-surface: #1E1915;
        --color-border: rgba(224, 190, 114, 0.16);
    }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
    margin: 0;
    font: 100%/1.5 var(--font-sans);
    background: var(--color-bg);
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

h1, h2, h3 { line-height: 1.1; letter-spacing: -0.02em; font-weight: 700; margin: 0 0 0.5em; }
h1 { font-size: clamp(2.25rem, 5vw + 1rem, 4rem); line-height: 1.05; }
h2 { font-size: clamp(1.75rem, 3vw + 1rem, 2.75rem); }
h3 { font-size: clamp(1.25rem, 1.5vw + 1rem, 1.75rem); }
p { margin: 0 0 1em; letter-spacing: 0; }
.section-subtitle { color: var(--color-text-muted); max-width: 42rem; }

.container { max-width: 72rem; margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 3rem); }
section { padding-block: clamp(3rem, 8vw, 6rem); }

:is(a, button, [role="button"], input[type="submit"], input[type="button"], input[type="reset"]):active {
    transform: scale(0.97);
    transition: transform 100ms ease-out;
}

.preloader {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-brown);
    transition: opacity 500ms var(--ease-spring), filter 500ms var(--ease-spring), transform 500ms var(--ease-spring);
}
.preloader__logo {
    width: clamp(64px, 12vw, 120px);
    height: auto;
    opacity: 0;
    transform: scale(0.85);
    animation: preloader-in 900ms var(--ease-spring) forwards;
    position: relative;
    z-index: 1;
}
.preloader__glow {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 40vmin;
    height: 40vmin;
    border-radius: 50%;
    background: radial-gradient(circle, var(--color-gold) 0%, transparent 70%);
    opacity: 0;
    animation: preloader-glow 900ms ease-out forwards;
}
@keyframes preloader-in {
    from { opacity: 0; transform: scale(0.85); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes preloader-glow {
    0% { opacity: 0; }
    50% { opacity: 0.55; }
    100% { opacity: 0; }
}
.preloader.is-hidden {
    opacity: 0;
    filter: blur(8px);
    transform: scale(1.03);
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
    .preloader__logo, .preloader__glow { animation: none; opacity: 1; }
    .preloader.is-hidden { filter: none; transform: none; transition: opacity 200ms ease; }
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: color-mix(in srgb, var(--color-bg) 70%, transparent);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-block-end: 1px solid transparent;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}
.site-header.is-scrolled {
    border-block-end-color: var(--color-border);
    box-shadow: var(--shadow-sm);
}
.site-header__inner {
    max-width: 72rem;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 4vw, 3rem);
    height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.site-header__brand { display: flex; align-items: center; gap: 0.6rem; }
.site-header__logo { width: 2.25rem; height: 2.25rem; }
.site-header__name { font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; }

.site-nav { display: flex; align-items: center; gap: clamp(0.75rem, 2vw, 1.5rem); }
.site-nav a { font-size: 0.95rem; padding-block: 0.25rem; position: relative; }
.site-nav a::after {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: -2px;
    width: 0;
    height: 2px;
    background: var(--color-gold);
    transition: width 200ms var(--ease-spring);
}
.site-nav a:hover::after { width: 0; }
.site-nav__lang {
    border: 1px solid var(--color-border);
    border-radius: 999px;
    padding: 0.3rem 0.9rem;
}

.site-header__toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}
.site-header__toggle span { width: 22px; height: 2px; background: currentColor; border-radius: 2px; }

@media (max-width: 1024px) {
    body.nav-is-open { overflow: hidden; }
    .site-header__toggle { display: flex; }
    .site-nav {
        position: fixed;
        inset-inline-end: 0;
        inset-block: 0;
        top: var(--header-height);
        width: min(80vw, 20rem);
        flex-direction: column;
        align-items: stretch;
        background: color-mix(in srgb, var(--color-bg) 92%, transparent);
        backdrop-filter: blur(24px) saturate(180%);
        -webkit-backdrop-filter: blur(24px) saturate(180%);
        padding: 1.5rem;
        transform: translateX(100%);
        transition: transform 350ms var(--ease-spring);
        box-shadow: var(--shadow-md);
    }
    [dir="rtl"] .site-nav { transform: translateX(-100%); }
    .site-nav.is-open { transform: translateX(0); }
    .site-nav a { padding-block: 0.75rem; border-block-end: 1px solid var(--color-border); }
}
@media (prefers-reduced-motion: reduce) {
    .site-nav { transition: none; }
}

.btn {
    display: inline-block;
    padding: 0.85rem 1.75rem;
    border-radius: 999px;
    background: var(--color-brown);
    color: var(--color-bg);
    font-weight: 600;
    border: none;
    cursor: pointer;
}
.btn:hover { background: var(--color-brown-dark); }
.btn--gold { background: var(--color-gold); color: var(--color-brown-dark); }
.link-button {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}


.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 600ms var(--ease-spring), transform 600ms var(--ease-spring);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    .reveal { transform: none; transition: opacity 300ms ease; }
}

.hero {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    min-height: calc(100vh - var(--header-height));
    justify-content: center;
}
.hero__eyebrow { color: var(--color-gold); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.85rem; }
.hero p { color: var(--color-text-muted); max-width: 40rem; font-size: 1.1rem; }

.services__grid, .clients__grid, .about__grid {
    display: grid;
    gap: clamp(1rem, 3vw, 2rem);
    margin-block-start: 2rem;
}
.services__grid { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.service-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1.75rem;
    box-shadow: var(--shadow-sm);
}
.service-card h3 { color: var(--color-brown); }
@media (prefers-color-scheme: dark) { .service-card h3 { color: var(--color-gold); } }

.about {
    background: var(--color-brown);
    color: var(--color-bg);
    border-radius: var(--radius);
    margin-inline: clamp(1.25rem, 4vw, 3rem);
    padding: clamp(2rem, 6vw, 4rem);
}
.about p { color: color-mix(in srgb, var(--color-bg) 85%, transparent); font-size: 1.05rem; max-width: 48rem; }

.clients-slider {
    overflow: hidden;
    position: relative;
    margin-block-start: 2rem;
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.clients-slider__track {
    display: flex;
    gap: clamp(2rem, 5vw, 4rem);
    width: max-content;
    cursor: grab;
    animation: clients-scroll 30s linear infinite;
}
.clients-slider__track.is-dragging { animation-play-state: paused; cursor: grabbing; }
.clients-slider:hover .clients-slider__track { animation-play-state: paused; }
.clients-slider__track img {
    height: 3rem;
    width: auto;
    opacity: 0.7;
    filter: grayscale(1);
    user-select: none;
    -webkit-user-drag: none;
}
@keyframes clients-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
[dir="rtl"] .clients-slider__track { animation-name: clients-scroll-rtl; }
@keyframes clients-scroll-rtl {
    from { transform: translateX(0); }
    to { transform: translateX(50%); }
}
@media (prefers-reduced-motion: reduce) {
    .clients-slider__track { animation: none; overflow-x: auto; }
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: clamp(1.25rem, 3vw, 2rem);
    margin-block-start: 2rem;
}
.post-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
}
.post-card img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.post-card__body { padding: 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.post-card__date { color: var(--color-text-muted); font-size: 0.85rem; }
.post-card__excerpt { color: var(--color-text-muted); flex: 1; }

.post-single { max-width: 48rem; margin-inline: auto; }
.post-single__cover { border-radius: var(--radius); margin-block-end: 1.5rem; aspect-ratio: 16/9; object-fit: cover; }
.post-single__meta { color: var(--color-text-muted); margin-block-end: 1.5rem; }
.post-single__body :is(h2, h3) { color: var(--color-brown); margin-block-start: 1.5em; }
.post-single__body img { border-radius: var(--radius); margin-block: 1rem; }

.pagination { display: flex; gap: 0.75rem; justify-content: center; margin-block-start: 2.5rem; }
.pagination a, .pagination span {
    padding: 0.5rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
}
.pagination a:hover { background: var(--color-surface); }

.contact-form { display: grid; gap: 1rem; max-width: 40rem; margin-block-start: 2rem; }
.contact-form__row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.form-field { display: flex; flex-direction: column; gap: 0.4rem; }
.form-field label { font-size: 0.9rem; font-weight: 600; }
.form-field input, .form-field textarea {
    font: inherit;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    background: var(--color-surface);
    color: var(--color-text);
}
.form-field input:focus, .form-field textarea:focus {
    outline: 2px solid var(--color-gold);
    outline-offset: 1px;
}
.form-honeypot { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.flash { padding: 1rem 1.25rem; border-radius: var(--radius); margin-block-end: 1rem; }
.flash--success { background: color-mix(in srgb, #2e7d32 15%, var(--color-surface)); color: #1b5e20; }
.flash--error { background: color-mix(in srgb, #c62828 15%, var(--color-surface)); color: #b71c1c; }

.site-footer { background: var(--color-brown); color: var(--color-bg); margin-block-start: 4rem; }
.site-footer__inner {
    max-width: 72rem;
    margin-inline: auto;
    padding: clamp(2rem, 6vw, 4rem) clamp(1.25rem, 4vw, 3rem);
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}
.site-footer__logo { width: 2.5rem; margin-block-end: 0.5rem; }
.site-footer a { opacity: 0.85; }
.site-footer a:hover { opacity: 1; }
.site-footer__links { display: flex; flex-direction: column; gap: 0.5rem; }
.site-footer__bottom { border-block-start: 1px solid rgba(255,255,255,0.15); text-align: center; padding: 1rem; font-size: 0.85rem; opacity: 0.75; }

@media (max-width: 640px) {
    .contact-form__row { grid-template-columns: 1fr; }
    .post-grid, .services__grid { grid-template-columns: 1fr; }
}
@media (min-width: 641px) and (max-width: 1024px) {
    .post-grid, .services__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Public-site refinement layer */
:root {
    --color-brown: #3d291b;
    --color-brown-dark: #27180f;
    --color-gold: #b48a43;
    --color-gold-bright: #d4b572;
    --color-bg: #f5f0e8;
    --color-surface: #fbf8f2;
    --color-text: #211a15;
    --color-text-muted: #6e6257;
    --color-border: rgba(61, 41, 27, 0.15);
    --color-on-brand: #f8f1e7;
    --font-display: Baskerville, "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    --font-sans: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
    --font-arabic: "SF Arabic", "Noto Sans Arabic", "Geeza Pro", Tahoma, sans-serif;
    --header-height: 5.25rem;
    --radius: 0.9rem;
    --shadow-sm: 0 1px 2px rgba(47,31,20,.06), 0 8px 24px rgba(47,31,20,.04);
    --shadow-md: 0 18px 55px rgba(47,31,20,.13);
}
@media (prefers-color-scheme: dark) {
    :root {
        --color-brown: #d0ad71;
        --color-brown-dark: #ab8244;
        --color-bg: #17130f;
        --color-surface: #211b16;
        --color-text: #f5eee4;
        --color-text-muted: #bbae9f;
        --color-border: rgba(232,211,177,.14);
        --color-on-brand: #f8f1e7;
    }
}
html {
    scroll-padding-top: calc(var(--header-height) + 1rem);
    overflow-x: clip;
}
body {
    min-width: 20rem;
    overflow-x: clip;
    font: 400 1rem/1.72 var(--font-sans);
    background: radial-gradient(circle at 12% 6%, color-mix(in srgb, var(--color-gold) 8%, transparent), transparent 28rem), var(--color-bg);
    text-rendering: optimizeLegibility;
}
[lang="ar"] body { font-family: var(--font-arabic); line-height: 1.85; }
::selection { color: #27180f; background: var(--color-gold-bright); }
:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 4px; }
.skip-link { position: fixed; inset-block-start: .75rem; inset-inline-start: .75rem; z-index: 1000; padding: .7rem 1rem; color: var(--color-on-brand); background: #27180f; border-radius: .5rem; transform: translateY(-150%); transition: transform 180ms ease; }
.skip-link:focus { transform: translateY(0); }
h1, h2, h3 { font-family: var(--font-display); font-weight: 600; line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
[lang="ar"] :is(h1,h2,h3) { font-family: var(--font-arabic); font-weight: 700; line-height: 1.3; letter-spacing: 0; }
h1 { font-size: clamp(3rem, 7vw, 6.5rem); }
h2 { font-size: clamp(2.3rem, 4.5vw, 4.2rem); }
p { text-wrap: pretty; }
.container, .site-header__inner, .site-footer__inner { max-width: 79rem; }
section { padding-block: clamp(4.75rem, 9vw, 8.5rem); }
.section-head { display: grid; grid-template-columns: minmax(0,.8fr) minmax(18rem,1fr); gap: 2rem 6vw; align-items: end; }
.section-subtitle { max-width: 38rem; margin: 0; font-size: clamp(1rem,1.5vw,1.16rem); }
.section-action { margin-block-start: 2.5rem; }
.page-intro { padding-block: clamp(5rem,10vw,8rem); }
.page-intro > .section-subtitle { margin-block-start: 1.25rem; }

.site-header { background: color-mix(in srgb,var(--color-bg) 82%,transparent); backdrop-filter: blur(18px) saturate(130%); }
.site-header.is-scrolled { background: color-mix(in srgb,var(--color-bg) 94%,transparent); }
.site-header__logo { width: 2.6rem; height: 2.8rem; object-fit: contain; }
.site-header__name { font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; }
[lang="ar"] .site-header__name { font-family: var(--font-arabic); letter-spacing: 0; }
.site-nav { gap: clamp(.65rem,1.5vw,1.35rem); }
.site-nav a { color: var(--color-text-muted); font-size: .84rem; font-weight: 600; letter-spacing: .015em; transition: color 180ms ease; }
[lang="ar"] .site-nav a { letter-spacing: 0; }
.site-nav a::after { height: 1px; }
.site-nav a:hover { color: var(--color-text); }
.site-nav a[aria-current="page"] { color: var(--color-text); }
.site-nav a[aria-current="page"]::after { width: 100%; }
.site-nav__lang { color: var(--color-text) !important; border-color: color-mix(in srgb,var(--color-brown) 28%,transparent); }
.site-header__toggle { width: 2.75rem; height: 2.75rem; padding: .65rem; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text); }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3.2rem; padding: .78rem 1.4rem; border: 1px solid var(--color-brown-dark); border-radius: .5rem; background: var(--color-brown-dark); color: var(--color-on-brand); letter-spacing: .01em; box-shadow: 0 8px 22px rgba(47,31,20,.12); transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.btn::after { content: "\2192"; margin-inline-start: .7rem; font-size: 1em; line-height: 1; transition: transform 180ms ease; }
[dir="rtl"] .btn::after { content: "\2190"; }
.btn:hover { background: #4b3424; transform: translateY(-2px); box-shadow: 0 13px 28px rgba(47,31,20,.18); }
.btn:hover::after { transform: translateX(3px); }
[dir="rtl"] .btn:hover::after { transform: translateX(-3px); }
.btn--gold { background: var(--color-gold); border-color: var(--color-gold); color: #24170e; }
.btn--gold:hover { background: var(--color-gold-bright); border-color: var(--color-gold-bright); }

.hero { min-height: calc(100dvh - var(--header-height)); display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,.42fr); gap: clamp(2rem,6vw,6rem); overflow: hidden; }
.hero__content { position: relative; z-index: 1; padding-block: 5rem; }
.hero__eyebrow { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.7rem; font-size: .78rem; font-weight: 700; letter-spacing: .15em; }
.hero__eyebrow::before { content: ""; width: 2.5rem; height: 1px; background: currentColor; }
[lang="ar"] .hero__eyebrow { letter-spacing: .03em; }
.hero h1 { max-width: 10.5ch; }
.hero .hero__lead { max-width: 41rem; margin-block: 1.75rem 2.25rem; font-size: clamp(1.08rem,1.8vw,1.3rem); line-height: 1.68; }
.hero__mark { position: relative; aspect-ratio: .78; display: grid; place-items: center; }
.hero__mark::before, .hero__mark::after { content: ""; position: absolute; border: 1px solid color-mix(in srgb,var(--color-brown) 25%,transparent); }
.hero__mark::before { inset: 4%; border-radius: 52% 48% 44% 56% / 44% 55% 45% 56%; transform: rotate(8deg); }
.hero__mark::after { inset: 15%; border-radius: 50%; transform: rotate(-9deg); border-color: color-mix(in srgb,var(--color-gold) 45%,transparent); }
.hero__mark img { width: min(62%,14rem); position: relative; z-index: 1; filter: drop-shadow(0 18px 30px rgba(47,31,20,.15)); }
.hero__mark-label { position: absolute; inset-block-end: 7%; inset-inline-end: -1rem; color: var(--color-text-muted); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; }

.services__grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 0; margin-block-start: 4rem; border-block: 1px solid var(--color-border); }
.service-card { position: relative; min-height: 24rem; padding: clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,2.75rem); background: transparent; border: 0; border-inline-end: 1px solid var(--color-border); border-radius: 0; box-shadow: none; transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease; }
.service-card:last-child { border-inline-end: 0; }
.service-card::before { display: block; margin-block-end: clamp(4rem,8vw,7rem); color: var(--color-gold); font-size: .78rem; font-weight: 600; letter-spacing: .14em; }
.service-card:nth-child(1)::before { content: "01"; }.service-card:nth-child(2)::before { content: "02"; }.service-card:nth-child(3)::before { content: "03"; }
.service-card h3 { max-width: 13ch; }
.service-card p { margin-block-start: 1.2rem; color: var(--color-text-muted); }
.service-card:hover { z-index: 1; background: var(--color-surface); transform: translateY(-.4rem); box-shadow: var(--shadow-md); }

.clients-slider { margin-block-start: 4rem; padding-block: 2.5rem; border-block: 1px solid var(--color-border); }
.clients-slider__track { gap: clamp(3.5rem,8vw,7rem); align-items: center; animation-duration: 35s; touch-action: pan-y; }
.clients-slider__track img { height: clamp(2.2rem,4vw,3.25rem); max-width: 10rem; opacity: .55; filter: grayscale(1) contrast(.9); transition: opacity 200ms ease, filter 200ms ease, transform 200ms ease; }
.clients-slider__track img:hover { opacity: 1; filter: grayscale(0); transform: scale(1.04); }

.editorial-section + .editorial-section { padding-block-start: 2rem; }
.post-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(1.25rem,3vw,2.5rem); margin-block-start: 4rem; }
.post-card { grid-column: span 4; min-width: 0; border: 0; border-block-start: 1px solid color-mix(in srgb,var(--color-brown) 28%,transparent); border-radius: 0; background: transparent; box-shadow: none; padding-block-start: 1rem; transition: transform 240ms ease; }
.post-grid:not(.listing-grid) .post-card:first-child { grid-column: span 6; }
.post-grid:not(.listing-grid) .post-card:nth-child(2), .post-grid:not(.listing-grid) .post-card:nth-child(3) { grid-column: span 3; }
.post-card:hover { transform: translateY(-.35rem); }
.post-card img { aspect-ratio: 4/3; margin-block-end: 1.3rem; border-radius: .5rem; filter: saturate(.78) contrast(1.02); }
.post-card__body { align-items: flex-start; padding: 0; }
.post-card__date { order: -1; color: var(--color-gold); font-size: .76rem; font-weight: 700; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.post-card__body > a { color: var(--color-brown); font-weight: 700; text-decoration: underline; text-decoration-color: var(--color-gold); text-underline-offset: .3em; }

.about-wrap { padding-block: clamp(4rem,8vw,7rem); }
.about { position: relative; overflow: hidden; margin-inline: 0; padding: clamp(3rem,8vw,7rem); color: var(--color-on-brand); background: #302014; border-radius: 1.5rem; box-shadow: var(--shadow-md); }
.about::after { content: "§"; position: absolute; inset-inline-end: clamp(1rem,5vw,4rem); inset-block-start: 50%; transform: translateY(-50%); color: rgba(212,181,114,.11); font: 400 clamp(12rem,28vw,25rem)/1 var(--font-display); }
.about h2 { position: relative; z-index: 1; max-width: 9ch; color: var(--color-on-brand); }
.about p { position: relative; z-index: 1; margin-block-start: 2rem; color: rgba(248,241,231,.76); font-size: clamp(1.08rem,1.8vw,1.28rem); line-height: 1.75; }

.contact-section { display: grid; grid-template-columns: minmax(16rem,.7fr) minmax(0,1fr); gap: clamp(3rem,9vw,8rem); align-items: start; }
.contact-section__intro { position: sticky; top: calc(var(--header-height) + 2rem); }
.contact-section__intro .section-subtitle { margin-block-start: 1.25rem; }
.contact-form { max-width: none; margin: 0; padding: clamp(1.5rem,4vw,3rem); gap: 1.35rem; background: color-mix(in srgb,var(--color-surface) 76%,transparent); border: 1px solid var(--color-border); border-radius: 1.5rem; box-shadow: var(--shadow-sm); }
.form-field label { color: var(--color-text-muted); font-size: .78rem; letter-spacing: .05em; }
[lang="ar"] .form-field label { letter-spacing: 0; }
.form-field :is(input,textarea,select) { width: 100%; padding: .85rem 0; color: var(--color-text); background: transparent; border: 0; border-block-end: 1px solid color-mix(in srgb,var(--color-brown) 28%,transparent); border-radius: 0; outline: 0; transition: border-color 180ms ease, box-shadow 180ms ease; }
.form-field :is(input,textarea,select):focus { outline: 0; border-block-end-color: var(--color-gold); box-shadow: 0 1px 0 var(--color-gold); }
.contact-form .btn { justify-self: start; }

.post-single { max-width: 56rem; padding-block: clamp(4.5rem,8vw,7rem); }
.post-single h1 { font-size: clamp(2.8rem,6vw,5.2rem); }
.post-single__meta { padding-block-end: 1.2rem; border-block-end: 1px solid var(--color-border); font-variant-numeric: tabular-nums; }
.post-single__body { font-size: 1.08rem; line-height: 1.85; }
.post-single__body a { color: var(--color-brown); text-decoration: underline; text-decoration-color: var(--color-gold); text-underline-offset: .25em; }
.post-single__body :is(p,ul,ol,blockquote) { max-width: 68ch; }

.site-footer { color: rgba(248,241,231,.76); background: #2a1b12; }
.site-footer__inner { grid-template-columns: 1fr 1.35fr .75fr 1.3fr; padding-block: clamp(4rem,8vw,7rem); align-items: start; }
.site-footer__brand p, .site-footer__links > p { color: var(--color-on-brand); font-family: var(--font-display); font-size: 1.18rem; }
[lang="ar"] .site-footer__brand p, [lang="ar"] .site-footer__links > p { font-family: var(--font-arabic); }
.site-footer__contact strong { color: var(--color-on-brand); }
.site-footer__bottom { max-width: 79rem; margin-inline: auto; text-align: start; }

@media (max-width: 1024px) {
    .site-nav { inset-block: var(--header-height) auto; height: calc(100dvh - var(--header-height)); visibility: hidden; }
    .site-nav.is-open { visibility: visible; }
    .services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-card:nth-child(2) { border-inline-end: 0; }
    .service-card:nth-child(3) { grid-column: 1 / -1; border-block-start: 1px solid var(--color-border); }
    .site-footer__inner { grid-template-columns: 1fr 1.3fr; }
}
@media (prefers-color-scheme: dark) {
    .btn { color: #17130f; }
}
@media (max-width: 760px) {
    :root { --header-height: 4.5rem; }
    section { padding-block: 4.5rem; }
    .section-head, .contact-section { grid-template-columns: 1fr; }
    .hero { min-height: auto; grid-template-columns: 1fr; gap: 0; }
    .hero__content { padding-block: 5rem 1rem; }
    .hero__mark { width: min(75%,19rem); justify-self: end; }
    .hero__mark-label { display: none; }
    .services__grid { grid-template-columns: 1fr; }
    .service-card:nth-child(3) { grid-column: auto; }
    .service-card { min-height: auto; border-inline-end: 0; border-block-end: 1px solid var(--color-border); }
    .service-card::before { margin-block-end: 2.5rem; }
    .post-grid { grid-template-columns: 1fr; gap: 3rem; }
    .post-card, .post-grid:not(.listing-grid) .post-card:first-child, .post-grid:not(.listing-grid) .post-card:nth-child(2), .post-grid:not(.listing-grid) .post-card:nth-child(3) { grid-column: auto; }
    .about { border-radius: .9rem; }
    .contact-section__intro { position: static; }
    .site-footer__inner { grid-template-columns: 1fr; }
}

/* Preserve the compact shared components inside the administration shell. */
.admin-sidebar { background: #302014 !important; color: var(--color-on-brand) !important; }
.admin-main { min-width: 0; overflow-x: auto; }
.admin-shell .service-card { min-height: 0; padding: 1.75rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-sm); transform: none; }
.admin-shell .service-card::before, .admin-shell .btn::after { content: none; display: none; }
.admin-shell .contact-form { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
@media (max-width: 700px) {
    .admin-shell { flex-direction: column; }
    .admin-sidebar { width: 100% !important; }
    .admin-sidebar a { display: inline-block !important; }
}

/* Quala Coat heritage layer: warm editorial law-firm direction, adapted for Al-Qenaei & Partners. */
:root {
    --quala-ink: #2a120b;
    --quala-wine: #5a2918;
    --quala-gold: #dcb04d;
    --quala-gold-deep: #a37b20;
    --quala-paper: #fbfaf7;
    --quala-line: rgba(90, 41, 24, .15);
}
body {
    background:
        linear-gradient(rgba(251,250,247,.94), rgba(251,250,247,.94)),
        url("../img/quala/pattern_1.png") center top / 520px auto repeat;
}
.site-topbar {
    background: var(--quala-ink);
    color: rgba(251,250,247,.75);
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.site-topbar__inner {
    max-width: 79rem;
    min-height: 2.15rem;
    margin-inline: auto;
    padding-inline: clamp(1.25rem,4vw,3rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.site-topbar a { color: var(--quala-gold); font-weight: 700; }
.site-topbar__phone { direction: ltr; unicode-bidi: isolate; }
.site-header { --header-height: 5.15rem; }
.site-header__inner {
    height: var(--header-height);
    background: rgba(251,250,247,.92);
}
.site-header__brand { gap: .85rem; }
.site-header__logo { width: 4rem; height: 4.2rem; }
.site-header__name { color: var(--quala-wine); font-family: var(--font-display); font-size: 1.1rem; letter-spacing: .02em; }
.site-nav__links { display: flex; align-items: center; gap: clamp(.75rem,2vw,1.5rem); }
.site-nav a { text-transform: uppercase; font-size: .72rem; letter-spacing: .09em; }
.site-header__lang {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.65rem;
    padding:.55rem 1rem;
    margin-inline-start:.35rem;
    border:1px solid rgba(90,41,24,.22);
    border-radius:999px;
    color:var(--quala-wine);
    background:rgba(255,255,255,.55);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.04em;
    box-shadow:0 .35rem 1rem rgba(42,18,11,.06);
    transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.site-header__lang:hover, .site-header__lang:focus-visible {
    color:var(--quala-paper);
    background:var(--quala-wine);
    border-color:var(--quala-wine);
    box-shadow:0 .55rem 1.3rem rgba(42,18,11,.16);
    transform:translateY(-1px);
}
.site-nav__drawer-head, .site-nav__drawer-foot, .site-nav__backdrop { display: none; }
.hero {
    position: relative;
    isolation: isolate;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-block-start: clamp(.65rem, 1.4vw, 1.15rem);
    border-radius: clamp(.9rem, 2vw, 1.5rem);
    box-shadow: 0 1rem 2.5rem rgba(42,18,11,.12);
    min-height: clamp(18rem, 36svh, 24rem);
    padding-block: clamp(1.35rem, 2.4vw, 2rem);
}
/* A shorter hand-off keeps the first credibility section visually connected to the hero. */
#hero + .firm-intro { padding-block-start: clamp(2.75rem, 5vw, 4.5rem); }
.hero::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background: linear-gradient(90deg, rgba(251,250,247,.98) 0%, rgba(251,250,247,.88) 47%, rgba(251,250,247,.12) 100%);
    opacity: .92;
    transform: translateY(var(--hero-shift, 0px));
    transition: background-image 900ms ease, transform 120ms linear;
}
[dir="rtl"] .hero::before {
    background: linear-gradient(270deg, rgba(251,250,247,.98) 0%, rgba(251,250,247,.88) 47%, rgba(251,250,247,.12) 100%);
}
.hero__slides { position:absolute; inset:0; z-index:-3; overflow:hidden; }
.hero__slide {
    position:absolute;
    inset:-2rem 0;
    background-position:center;
    background-size:cover;
    opacity:0;
    transform:scale(1.04) translateY(var(--hero-shift,0));
    transition:opacity 1.1s ease, transform 7s ease;
}
.hero__slide.is-active { opacity:1; transform:scale(1) translateY(var(--hero-shift,0)); }
.hero::after {
    content: none;
    display: none;
}
.hero__content { max-width: 39rem; padding-block: .25rem 2.3rem; }
.hero__eyebrow { color: var(--quala-gold-deep); }
.hero h1 { color: var(--quala-wine); max-width: 10ch; font-size: clamp(2.8rem, 4.8vw, 4.9rem); }
.hero .hero__lead { color: #55443c; }
.hero__controls {
    position:absolute;
    z-index:2;
    inset-inline:0;
    inset-block-end:1.15rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.3rem;
    padding:0;
    color:rgba(255,255,255,.96);
}
.hero__controls button {
    display:grid;
    place-items:center;
    width:1.6rem;
    height:1.6rem;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:inherit;
    cursor:pointer;
    font-size:0;
    box-shadow:none;
    transition:transform .2s ease;
}
.hero__controls button::before {
    content:"";
    display:block;
    width:.42rem;
    height:.42rem;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.92);
    background:transparent;
    box-shadow:0 1px 5px rgba(0,0,0,.28);
    transition:width .2s ease,height .2s ease,background .2s ease,box-shadow .2s ease;
}
.hero__controls button[aria-current="true"]::before {
    width:.62rem;
    height:.62rem;
    background:#fff;
    box-shadow:0 1px 7px rgba(0,0,0,.32);
}
.hero__controls button:hover,
.hero__controls button:focus-visible {
    background:transparent;
    transform:scale(1.12);
    box-shadow:none;
}
.hero__controls button:hover::before,
.hero__controls button:focus-visible::before {
    background:#fff;
}
.hero__controls button[aria-current="true"]:hover::before,
.hero__controls button[aria-current="true"]:focus-visible::before {
    background:#fff;
}
.firm-intro {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(18rem,1fr);
    gap:clamp(2rem,7vw,7rem);
    align-items:start;
    padding-block-end:clamp(3rem,6vw,5rem);
    border-block-end:1px solid var(--quala-line);
}
.firm-intro__eyebrow { margin:0 0 1rem; color:var(--quala-gold-deep); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.firm-intro h2 { max-width:12ch; color:var(--quala-wine); }
.firm-intro__detail { max-width:42rem; padding-block-start:.4rem; }
.firm-intro__detail > p { margin:0; color:var(--color-text-muted); font-size:clamp(1.05rem,1.6vw,1.22rem); line-height:1.85; }
.firm-intro__link,
.news__more,
.journal__more { display:inline-flex; margin-block-start:1.5rem; color:var(--quala-wine); font-weight:700; text-decoration:underline; text-decoration-color:var(--quala-gold); text-underline-offset:.35em; }
.firm-intro__link.btn { min-height:3rem; color:#24170e; text-decoration:none; }
.practice-areas { padding-block-start:clamp(3.5rem,7vw,6rem); }
.practice-areas__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-block-start:3rem; border-block-start:1px solid var(--quala-line); }
.practice-areas__item { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:4.25rem; padding-inline:1rem; color:var(--quala-wine); border-block-end:1px solid var(--quala-line); font-family:var(--font-display); font-size:clamp(1.05rem,1.5vw,1.3rem); transition:background-color .22s ease,padding-inline .22s ease; }
.practice-areas__item:nth-child(odd) { border-inline-end:1px solid var(--quala-line); }
.practice-areas__item:hover,
.practice-areas__item:focus-visible { padding-inline:1.35rem; background:rgba(220,176,77,.1); }
.news,
.journal {
    position:relative;
    isolation:isolate;
    overflow:hidden;
}
.news::before {
    content:"NEWS";
    position:absolute;
    z-index:-1;
    inset-inline-end:-.07em;
    inset-block-start:.03em;
    color:rgba(90,41,24,.035);
    font:600 clamp(5rem,14vw,13rem)/.8 var(--font-display);
    letter-spacing:-.07em;
    pointer-events:none;
}
.journal::before {
    content:"JOURNAL";
    position:absolute;
    z-index:-1;
    inset-inline-end:-.07em;
    inset-block-start:.03em;
    color:rgba(90,41,24,.035);
    font:600 clamp(5rem,14vw,13rem)/.8 var(--font-display);
    letter-spacing:-.07em;
    pointer-events:none;
}
[lang="ar"] .news::before { content:"الأخبار"; letter-spacing:0; }
[lang="ar"] .journal::before { content:"المجلة"; letter-spacing:0; }
.news .section-head,
.journal .section-head { position:relative; z-index:1; }
.news__grid,
.journal__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.25rem,2.5vw,2rem); margin-block-start:3rem; }
.news__grid .post-card,
.journal__grid .post-card { grid-column:auto; min-width:0; }
.site-header__languages { display:inline-flex; align-items:center; min-height:2.65rem; margin-inline-start:.35rem; padding:.18rem; border:1px solid rgba(90,41,24,.2); border-radius:999px; background:rgba(255,255,255,.36); box-shadow:0 .35rem 1rem rgba(42,18,11,.06); }
.site-header__languages a { display:inline-flex; align-items:center; justify-content:center; min-width:2.8rem; min-height:2.15rem; padding-inline:.55rem; border-radius:999px; color:var(--quala-wine); font-size:.7rem; font-weight:700; letter-spacing:.02em; transition:background-color .2s ease,color .2s ease; }
.site-header__languages a[aria-current="true"] { color:var(--quala-paper); background:var(--quala-wine); }
.site-header__languages a:hover,
.site-header__languages a:focus-visible { background:rgba(90,41,24,.1); }
.site-header__languages a[aria-current="true"]:hover,
.site-header__languages a[aria-current="true"]:focus-visible { background:var(--quala-wine); }
@media (max-width:760px) {
    .hero { margin-block-start: .5rem; border-radius: .9rem; min-height: clamp(18rem, 48svh, 23rem); padding-block: 1.25rem 2.5rem; }
    #hero + .firm-intro { padding-block-start: 2.75rem; }
    .hero__content { padding-block: .35rem 1.75rem; }
    .hero__controls { inset-block-end: .65rem; }
    .firm-intro { grid-template-columns:1fr; gap:1.25rem; padding-block-end:3.25rem; }
    .firm-intro h2 { max-width:16ch; }
    .practice-areas__list { grid-template-columns:1fr; }
    .practice-areas__item:nth-child(odd) { border-inline-end:0; }
    .site-header__inner { display:grid; grid-template-columns:auto 1fr auto; column-gap:.5rem; }
    .site-header__brand { min-width:0; padding-inline:.15rem; justify-self:start; }
    .site-header__name { display:none; }
    .site-header__languages { flex:0 0 auto; min-height:2.5rem; margin-inline:0; justify-self:center; }
    .site-header__languages a { min-width:2.15rem; min-height:2rem; padding-inline:.32rem; }
    .site-header__toggle { justify-self:end; }
}

/* Footer: a floating legal desk rather than a generic end-of-page block. */
.site-footer {
    position:relative;
    margin-block-start:clamp(4rem,9vw,8rem);
    padding:0 clamp(1rem,3vw,2.5rem) 1.25rem;
    color:rgba(251,250,247,.72);
    background:transparent;
}
.site-footer__shell {
    position:relative;
    overflow:hidden;
    max-width:79rem;
    margin-inline:auto;
    border:1px solid rgba(220,176,77,.25);
    border-radius:clamp(1.25rem,2.3vw,2rem);
    background:
        radial-gradient(circle at 88% 10%, rgba(220,176,77,.16), transparent 19rem),
        linear-gradient(135deg, #32170e, #5a2918 72%, #402012);
    box-shadow:0 1.5rem 4.5rem rgba(42,18,11,.22);
}
.site-footer__shell::after {
    content:"";
    position:absolute;
    width:34rem;
    height:15rem;
    inset-inline-end:-9rem;
    inset-block-end:-10rem;
    border:1px solid rgba(220,176,77,.18);
    border-radius:50%;
    touch-action:pan-y;
}
.site-footer__cta {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,5vw,4.5rem);
    border-block-end:1px solid rgba(220,176,77,.24);
    background:rgba(20,8,4,.17);
}
.site-footer__eyebrow { margin:0 0 .7rem; color:var(--quala-gold); font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.site-footer__cta h2 { max-width:19ch; margin:0; color:var(--quala-paper); font-size:clamp(1.8rem,3.3vw,3.1rem); }
.site-footer__cta p:not(.site-footer__eyebrow) { max-width:37rem; margin:.9rem 0 0; color:rgba(251,250,247,.74); }
.site-footer__cta-link {
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:.7rem;
    min-height:3.15rem;
    padding:.7rem 1.1rem .7rem 1.35rem;
    border:1px solid rgba(220,176,77,.58);
    border-radius:999px;
    color:var(--quala-paper);
    font-size:.82rem;
    font-weight:700;
    transition:color .2s ease, background-color .2s ease, transform .2s var(--ease-spring);
}
.site-footer__cta-link span { display:grid; place-items:center; width:1.45rem; height:1.45rem; border-radius:50%; color:var(--quala-ink); background:var(--quala-gold); }
.site-footer__cta-link span svg { width:.85rem; height:.85rem; }
[dir="rtl"] .site-footer__cta-link span { transform:rotate(180deg); }
.site-footer__cta-link:hover, .site-footer__cta-link:focus-visible { color:var(--quala-ink); background:var(--quala-gold); transform:translateY(-2px); }
.site-footer__cta-link:hover span, .site-footer__cta-link:focus-visible span { background:var(--quala-paper); }
.site-footer__inner {
    position:relative;
    z-index:1;
    max-width:none;
    padding:clamp(2.2rem,5vw,4rem) clamp(1.5rem,5vw,4.5rem);
    grid-template-columns:1.2fr 1.3fr 1fr;
    gap:clamp(1.75rem,4vw,4rem);
}
.site-footer__logo {
    width:5rem;
    margin-block-end:1.1rem;
    filter:none;
    opacity:1;
    /* Preserve the logo's original gold-and-wine artwork; reversing it made it disappear into the footer. */
}
.site-footer__brand > p:not(.site-footer__brand-note) { margin:0; color:var(--quala-paper); font-size:1.22rem; }
.site-footer__brand-note { max-width:17rem; margin:1rem 0 0; color:rgba(251,250,247,.62); font-size:.88rem; }
.site-footer__column-title { margin:0 0 1.05rem; color:var(--quala-gold); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
[lang="ar"] .site-footer__eyebrow, [lang="ar"] .site-footer__column-title { letter-spacing:0; }
.site-footer__contact { display:grid; align-content:start; gap:.7rem; }
.site-footer__contact p { margin:0; font-size:.88rem; line-height:1.65; }
.site-footer__contact strong { display:block; margin-block-end:.12rem; color:rgba(251,250,247,.55); font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.site-footer__contact a, .site-footer__links a { color:rgba(251,250,247,.82); }
.site-footer__links { gap:.65rem; }
.site-footer__links a { width:max-content; max-width:100%; font-size:.88rem; transition:color .18s ease, transform .18s ease; }
.site-footer__links a:hover, .site-footer__links a:focus-visible { color:var(--quala-gold); transform:translateX(.2rem); }
[dir="rtl"] .site-footer__links a:hover, [dir="rtl"] .site-footer__links a:focus-visible { transform:translateX(-.2rem); }
.site-footer__bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    max-width:79rem;
    margin:0 auto;
    padding:1rem clamp(.5rem,2vw,1.25rem) 0;
    border:0;
    color:var(--color-text-muted);
    font-size:.72rem;
}
.site-footer__bottom p { margin:0; }
.site-footer__bottom a { color:var(--quala-wine); font-weight:700; }
.site-footer__bottom-links { display:flex; align-items:center; gap:1rem; }
.site-footer__credit { display:inline-flex; align-items:center; gap:.3rem; padding-inline-start:1rem; border-inline-start:1px solid rgba(90,41,24,.18); color:var(--color-text-muted); }
.site-footer__credit a { color:var(--quala-gold-deep); }
.site-footer__credit a:hover, .site-footer__credit a:focus-visible { color:var(--quala-wine); }
@media (max-width:600px) { .site-footer__bottom-links { flex-wrap:wrap; gap:.5rem 1rem; } }
@media (max-width:1024px) { .site-footer__inner { grid-template-columns:1fr 1fr; } .site-footer__brand { grid-column:1 / -1; } }
@media (max-width:760px) {
    .site-footer { padding-inline:1rem; }
    .site-footer__shell { border-radius:1.15rem; }
    .site-footer__cta { align-items:center; flex-direction:column; gap:1.35rem; text-align:center; }
    .site-footer__cta-link { width:100%; justify-content:center; }
    .site-footer__inner { grid-template-columns:1fr; padding:2rem 1.5rem 2.2rem; }
    .site-footer__brand { grid-column:auto; text-align:center; }
    .site-footer__brand .site-footer__logo,
    .site-footer__brand-note { margin-inline:auto; }
    .site-footer__contact strong { color:var(--quala-gold); }
    .social-links--footer { justify-content:center; }
    .site-footer__links { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:center; column-gap:1.5rem; row-gap:.65rem; text-align:center; }
    .site-footer__links > p { flex-basis:100%; }
    .site-footer__links a { width:auto; }
    .site-footer__bottom { align-items:flex-start; flex-direction:column; gap:.35rem; padding-inline:.4rem; }
}
.btn {
    border-radius: 999px;
    text-transform: uppercase;
    font-size: .74rem;
    letter-spacing: .12em;
    background: var(--quala-wine);
    border-color: var(--quala-wine);
}
.btn--gold { background: var(--quala-gold); border-color: var(--quala-gold); }
.section-head h2 { color: var(--quala-wine); }
.services__grid { border-color: var(--quala-line); }
.service-card { background: rgba(255,255,255,.52); }
.service-card h3 { color: var(--quala-wine); }
.service-card::before { color: var(--quala-gold-deep); }
.service-card:hover { background: #fff; }
.clients-slider { border-color: var(--quala-line); }
.about {
    background:
        linear-gradient(90deg, rgba(42,18,11,.96), rgba(90,41,24,.9)),
        url("../img/quala/about_feat_bg_2.jpg") center/cover;
    border-radius: 0;
}
.about::after { content: "§"; color: rgba(220,176,77,.15); }
.post-card { border-block-start-color: var(--quala-gold-deep); }
.post-card__body > a { color: var(--quala-wine); }
.contact-form { border-radius: 0; background: rgba(255,255,255,.72); }
.site-footer {
    background:
        linear-gradient(rgba(42,18,11,.97), rgba(42,18,11,.97)),
        url("../img/quala/pattern_1.png") center/520px repeat;
}
.site-footer__bottom { border-color: rgba(220,176,77,.28); }
@media (max-width: 760px) {
    .site-topbar__inner { justify-content: center; }
    .site-topbar__inner span { display: none; }
    .hero::before { opacity: .82; }
    .hero::after { width: 12rem; height: 12rem; inset-inline-end: -2rem; }
}
@media (max-width: 1024px) {
    .site-nav {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        width:min(25rem,88vw);
        padding:0;
        background:var(--quala-ink);
        color:var(--quala-paper);
        box-shadow:-1.5rem 0 4rem rgba(20,8,4,.3);
        z-index:1002;
    }
    [dir="rtl"] .site-nav { box-shadow:1.5rem 0 4rem rgba(20,8,4,.3); }
    .site-nav__drawer-head {
        display:grid;
        grid-template-columns:3.4rem 1fr 2.5rem;
        gap:1rem;
        align-items:center;
        padding:1.5rem;
        border-block-end:1px solid rgba(220,176,77,.25);
    }
    .site-nav__drawer-head img { width:3.4rem; height:3.6rem; object-fit:contain; }
    .site-nav__drawer-head strong { display:block; color:var(--quala-gold); font-family:var(--font-display); font-size:1.05rem; }
    .site-nav__drawer-head span { display:block; margin-block-start:.3rem; color:rgba(251,250,247,.58); font-size:.65rem; line-height:1.4; }
    .site-nav__close { border:0; background:transparent; color:var(--quala-paper); font-size:2rem; cursor:pointer; }
    .site-nav__links { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:1rem 1.5rem; }
    .site-nav__links > a {
        display:flex;
        align-items:center;
        min-height:3.25rem;
        padding-inline:.25rem;
        border-block-end:1px solid rgba(255,255,255,.09);
        color:var(--quala-paper);
        font-size:.76rem;
    }
    .site-nav__links > a::before {
        content:"0" counter(nav-item);
        counter-increment:nav-item;
        width:2.25rem;
        color:var(--quala-gold);
        font-size:.62rem;
    }
    .site-nav__links { counter-reset:nav-item; }
    .site-header__lang { margin-inline-start:auto; margin-inline-end:.65rem; min-height:2.45rem; padding:.45rem .85rem; }
    .site-nav__drawer-foot {
        display:flex;
        flex-direction:column;
        gap:.5rem;
        margin-block-start:auto;
        padding:1.5rem;
        background:rgba(0,0,0,.18);
        color:rgba(251,250,247,.58);
        font-size:.7rem;
    }
    .site-nav__drawer-foot a { color:var(--quala-gold); font-size:.85rem; direction:ltr; unicode-bidi:isolate; }
    .site-nav__backdrop {
        position:fixed;
        inset:0;
        z-index:1001;
        width:100%;
        height:100%;
        border:0;
        background:rgba(25,10,5,.58);
        opacity:0;
        visibility:hidden;
        transition:opacity .35s ease,visibility .35s ease;
    }
    body.nav-is-open .site-nav__backdrop { display:block; opacity:1; visibility:visible; }
}
@media (prefers-reduced-motion: reduce) {
    .hero::after { transform: none; }
    .hero__slide,
    .hero__slide.is-active { transition:none; transform:none; }
}

/* Integrated header system
   The navigation is intentionally treated as one piece of warm glass: wine-tinted,
   parchment-backed, and edged with an antique-gold hairline rather than a generic
   white overlay. */
:root {
    --nav-glass: rgba(251, 250, 247, .76);
    --nav-glass-strong: rgba(251, 250, 247, .91);
    --nav-wine-glass: rgba(90, 41, 24, .07);
    --nav-highlight: rgba(255, 255, 255, .62);
    --nav-shadow: 0 1.15rem 3.5rem rgba(42, 18, 11, .10), 0 1px 0 rgba(255,255,255,.65) inset;
}

.site-header {
    background: transparent;
    border: 0;
    isolation: isolate;
}
.site-header::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: var(--nav-glass);
    border-block-end: 1px solid rgba(90, 41, 24, .13);
    box-shadow: 0 1px 0 var(--nav-highlight) inset;
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
    pointer-events: none;
}
.site-header__inner {
    position: relative;
    background: transparent;
}
.site-header.is-scrolled::before {
    background: var(--nav-glass-strong);
    box-shadow: var(--nav-shadow);
}
.site-header__brand {
    position: relative;
    min-height: 4.3rem;
    padding: .3rem .65rem .3rem .3rem;
    border: 1px solid transparent;
    border-radius: .7rem;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.site-header__brand:hover,
.site-header__brand:focus-visible {
    background: var(--nav-wine-glass);
    border-color: rgba(163, 123, 32, .24);
    transform: translateY(-1px);
}
.site-header__logo {
    filter: drop-shadow(0 4px 8px rgba(42,18,11,.12));
    transition: transform .35s var(--ease-spring);
}
.site-header__brand:hover .site-header__logo { transform: rotate(-3deg) scale(1.03); }

.site-nav {
    padding: .42rem .55rem;
    border: 1px solid rgba(90, 41, 24, .13);
    border-radius: .8rem;
    background: rgba(255, 255, 255, .22);
    box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, 0 .45rem 1.4rem rgba(42,18,11,.035);
    -webkit-backdrop-filter: blur(12px) saturate(125%);
    backdrop-filter: blur(12px) saturate(125%);
}
.site-nav__links > a {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding-inline: .7rem;
    border-radius: .45rem;
    transition: color .22s ease, background-color .22s ease, transform .22s var(--ease-spring);
}
.site-nav__links > a::after { inset-inline: .7rem; }
.site-nav__links > a:hover,
.site-nav__links > a:focus-visible,
.site-nav__links > a[aria-current="page"],
.site-nav__links > a[aria-current="location"] {
    background: rgba(90, 41, 24, .075);
    color: var(--quala-wine);
    transform: translateY(-1px);
}
.site-nav__links > a[aria-current="page"],
.site-nav__links > a[aria-current="location"] {
    box-shadow: 0 1px 0 rgba(220,176,77,.33) inset;
}
.site-header__lang {
    position: relative;
    overflow: hidden;
    background: rgba(255,255,255,.3);
    border-color: rgba(90,41,24,.2);
}
.site-header__lang::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 22%, rgba(255,255,255,.42) 49%, transparent 76%);
    transform: translateX(-120%);
    transition: transform .5s var(--ease-spring);
}
.site-header__lang:hover::before,
.site-header__lang:focus-visible::before { transform: translateX(120%); }
.site-header__toggle {
    position: relative;
    background: rgba(255,255,255,.3);
    border-color: rgba(90,41,24,.2);
    box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 .35rem 1rem rgba(42,18,11,.06);
    transition: background-color .25s ease, border-color .25s ease, transform .25s var(--ease-spring);
}
.site-header__toggle:hover,
.site-header__toggle:focus-visible {
    background: rgba(90,41,24,.08);
    border-color: rgba(163,123,32,.46);
    transform: translateY(-1px);
}
.site-header__toggle span { transition: transform .25s var(--ease-spring), opacity .2s ease; }

@media (max-width: 1024px) {
    .site-header__inner { background: transparent; }
    .site-nav {
        top: var(--header-height);
        height: calc(100dvh - var(--header-height));
        overflow-y: auto;
        overscroll-behavior: contain;
        border: 0;
        border-inline-start: 1px solid rgba(163,123,32,.32);
        border-start-start-radius: 1.4rem;
        border-end-start-radius: 1.4rem;
        overflow-x: hidden;
        background:
            linear-gradient(145deg, rgba(251,250,247,.94), rgba(244,235,220,.88)),
            url("../img/quala/pattern_1.png") center/520px repeat;
        color: var(--quala-ink);
        box-shadow: -1.5rem 0 4rem rgba(42,18,11,.19), 1px 0 0 rgba(255,255,255,.7) inset;
        -webkit-backdrop-filter: blur(22px) saturate(125%);
        backdrop-filter: blur(22px) saturate(125%);
    }
    [dir="rtl"] .site-nav {
        border-inline-start: 0;
        border-inline-end: 1px solid rgba(163,123,32,.32);
        box-shadow: 1.5rem 0 4rem rgba(42,18,11,.19), -1px 0 0 rgba(255,255,255,.7) inset;
    }
    .site-nav__drawer-head {
        padding: 1.15rem 1.5rem;
        background: rgba(90,41,24,.055);
        border-block-end-color: rgba(163,123,32,.3);
    }
    .site-nav__drawer-head strong { color: var(--quala-wine); }
    .site-nav__drawer-head span { color: var(--color-text-muted); }
    .site-nav__close {
        width: 2.45rem;
        height: 2.45rem;
        border: 1px solid rgba(90,41,24,.17);
        border-radius: 50%;
        color: var(--quala-wine);
        background: rgba(255,255,255,.35);
        transition: background-color .22s ease, transform .22s var(--ease-spring);
    }
    .site-nav__close:hover,
    .site-nav__close:focus-visible { background: rgba(90,41,24,.08); transform: rotate(6deg); }
    .site-nav__links { padding: 1rem 1.5rem; }
    .site-nav__links > a {
        min-height: 3.45rem;
        color: var(--quala-wine);
        border-block-end-color: rgba(90,41,24,.13);
    }
    .site-nav__links > a:hover,
    .site-nav__links > a:focus-visible,
    .site-nav__links > a[aria-current="page"],
    .site-nav__links > a[aria-current="location"] {
        background: rgba(90,41,24,.075);
        color: var(--quala-ink);
    }
    .site-nav__drawer-foot {
        background: rgba(90,41,24,.07);
        border-block-start: 1px solid rgba(163,123,32,.2);
        color: var(--color-text-muted);
    }
    .site-nav__drawer-foot a { color: var(--quala-wine); }
    .social-links--drawer {
        margin-block-start: .35rem;
        padding-block-start: .85rem;
        border-block-start: 1px solid rgba(90,41,24,.14);
    }
    .social-links--drawer a {
        width: 2.5rem;
        height: 2.5rem;
        color: var(--quala-wine);
        border-color: rgba(90,41,24,.22);
        background: rgba(255,255,255,.4);
        font-size: .9rem;
    }
    .social-links--drawer a:hover,
    .social-links--drawer a:focus-visible {
        color: var(--quala-paper);
        background: var(--quala-wine);
        border-color: var(--quala-wine);
    }
    .site-nav__backdrop {
        background: rgba(42,18,11,.38);
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
    }
}

@supports not ((backdrop-filter: blur(1px))) {
    .site-header::before { background: rgba(251,250,247,.97); }
    .site-nav { background: rgba(251,250,247,.98); }
    .site-nav__backdrop { background: rgba(42,18,11,.52); }
}

@media (prefers-reduced-motion: reduce) {
    .site-header__brand,
    .site-header__logo,
    .site-nav__links > a,
    .site-header__lang,
    .site-header__toggle,
    .site-header__toggle span,
    .site-nav__close,
    .site-header__lang::before {
        transition: none;
    }
}

/* Shared social profiles: compact in the utility bar, richer in the footer. */
.site-topbar__actions {
    display:flex;
    align-items:center;
    gap:.85rem;
}
.social-links {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.4rem;
}
.social-links a {
    display:inline-grid;
    place-items:center;
    border:1px solid currentColor;
    border-radius:50%;
    transition:transform .22s var(--ease-spring), background-color .22s ease, color .22s ease, border-color .22s ease;
}
.social-links svg {
    width:1em;
    height:1em;
    fill:currentColor;
}
.social-links--top a {
    width:1.65rem;
    height:1.65rem;
    color:rgba(251,250,247,.72);
    border-color:rgba(220,176,77,.28);
    font-size:.72rem;
}
.social-links--top a:hover,
.social-links--top a:focus-visible {
    color:var(--quala-ink);
    background:var(--quala-gold);
    border-color:var(--quala-gold);
    transform:translateY(-2px);
}
.social-links--footer { margin-block-start:1rem; }
.social-links--footer a {
    width:2.25rem;
    height:2.25rem;
    color:var(--quala-gold);
    border-color:rgba(220,176,77,.35);
    background:rgba(255,255,255,.035);
    font-size:.95rem;
}
.social-links--footer a:hover,
.social-links--footer a:focus-visible {
    color:var(--quala-ink);
    background:var(--quala-gold);
    border-color:var(--quala-gold);
    transform:translateY(-3px);
}
@media (max-width:760px) {
    .site-topbar__inner { justify-content:center; }
    .site-topbar__actions { gap:.65rem; }
    .social-links--top { gap:.28rem; }
    .social-links--top a { width:1.5rem; height:1.5rem; font-size:.65rem; }
}
@media (prefers-reduced-motion:reduce) {
    .social-links a { transition:none; }
    .social-links a:hover, .social-links a:focus-visible { transform:none; }
}

/* Consultation area: a warmer, contained destination at the end of the page. */
.contact-section {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(2rem,5vw,4.5rem);
    border:1px solid rgba(163,123,32,.3);
    border-radius:clamp(1.15rem,2.4vw,2rem);
    background:
        linear-gradient(125deg, rgba(61,28,17,.98), rgba(91,43,25,.95)),
        url("../img/quala/pattern_1.png") center/520px repeat;
    box-shadow:0 1.35rem 3.5rem rgba(42,18,11,.16);
}
.contact-section::before {
    content:"";
    position:absolute;
    z-index:-1;
    width:22rem;
    height:22rem;
    inset-inline-start:-10rem;
    inset-block-end:-13rem;
    border:1px solid rgba(220,176,77,.28);
    border-radius:50%;
}
.contact-section__intro { color:var(--quala-paper); }
.contact-section__intro h2 { color:var(--quala-paper); }
.contact-section__intro .section-subtitle { color:rgba(251,250,247,.74); }
.contact-section__intro::before {
    content:"";
    display:block;
    width:3.25rem;
    height:1px;
    margin-block-end:1.25rem;
    background:var(--quala-gold);
}
.contact-form {
    position:relative;
    z-index:1;
    padding:clamp(1.35rem,3vw,2.4rem);
    border:1px solid rgba(255,255,255,.64);
    border-radius:1.3rem;
    background:rgba(251,250,247,.96);
    box-shadow:0 1rem 2.5rem rgba(20,8,4,.18), inset 0 1px 0 #fff;
}
.contact-form .form-field { gap:.5rem; }
.contact-form .form-field label { color:var(--quala-wine); font-size:.74rem; font-weight:700; }
.contact-form .form-field :is(input,textarea,select) {
    padding:.8rem .95rem;
    border:1px solid rgba(90,41,24,.18);
    border-radius:.7rem;
    background:rgba(255,255,255,.86);
    box-shadow:none;
}
.contact-form .form-field textarea { min-height:8.5rem; resize:vertical; }
.contact-form .form-field :is(input,textarea,select):focus {
    border-color:var(--quala-gold-deep);
    box-shadow:0 0 0 3px rgba(220,176,77,.2);
}
.contact-form .btn { min-height:3.2rem; margin-block-start:.4rem; border-radius:999px; }
@media (max-width:760px) {
    .contact-section { padding:1.5rem; border-radius:1.15rem; }
    .contact-section__intro { position:static; }
    .contact-section__intro::before { margin-block-end:1rem; }
    .contact-form { padding:1.15rem; border-radius:1rem; }
}

/* Keep the footer as a floating card after the legacy theme layers load. */
.site-footer { background:transparent; }
.site-footer__bottom { border:0; }

/* About the firm: an editorial dossier that gives the firm's positioning room to lead. */
.firm-intro {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    grid-template-columns:minmax(0,.94fr) minmax(19rem,1.06fr);
    gap:clamp(2.25rem,7vw,7.5rem);
    margin-block:clamp(1.25rem,3vw,2.75rem) clamp(1rem,3vw,2.5rem);
    padding:clamp(2rem,5.5vw,5.25rem);
    border:1px solid rgba(163,123,32,.28);
    border-radius:clamp(1.15rem,2.2vw,1.85rem);
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,242,231,.9)),
        url("../img/quala/pattern_1.png") center/520px repeat;
    box-shadow:0 1.25rem 3.25rem rgba(42,18,11,.09), inset 0 1px 0 rgba(255,255,255,.85);
}
.firm-intro::before {
    content:"";
    position:absolute;
    z-index:-1;
    width:clamp(15rem,29vw,28rem);
    aspect-ratio:1;
    inset-inline-end:clamp(-12rem,-8vw,-4rem);
    inset-block-end:clamp(-16rem,-14vw,-7rem);
    border:1px solid rgba(163,123,32,.22);
    border-radius:50%;
    box-shadow:0 0 0 2.5rem rgba(220,176,77,.045), 0 0 0 5.5rem rgba(90,41,24,.025);
}
.firm-intro__copy { position:relative; z-index:1; }
.firm-intro__eyebrow {
    display:flex;
    align-items:center;
    gap:.7rem;
    margin-block-end:1.35rem;
    color:var(--quala-gold-deep);
    font-size:.7rem;
    letter-spacing:.13em;
}
.firm-intro h2 { max-width:11ch; margin:0; color:var(--quala-wine); font-size:clamp(2.25rem,4vw,4.35rem); line-height:1.06; }
.firm-intro__detail {
    position:relative;
    z-index:1;
    max-width:39rem;
    padding:clamp(1.35rem,2.7vw,2.25rem);
    border:1px solid rgba(90,41,24,.13);
    border-radius:1rem;
    background:rgba(255,255,255,.54);
    box-shadow:0 .75rem 2rem rgba(42,18,11,.055);
}
.firm-intro__detail > p { color:#554139; font-size:clamp(1.02rem,1.45vw,1.17rem); line-height:1.85; }
.firm-intro__link.btn {
    min-height:3.1rem;
    margin-block-start:1.65rem;
    padding-inline:1.35rem;
    color:#2a120b;
    box-shadow:0 .65rem 1.3rem rgba(163,123,32,.19);
}
.firm-intro__link.btn:hover, .firm-intro__link.btn:focus-visible { box-shadow:0 .9rem 1.65rem rgba(163,123,32,.28); }
@media (max-width:760px) {
    .firm-intro { grid-template-columns:1fr; gap:1.5rem; margin-block:1rem; padding:1.5rem; border-radius:1.1rem; }
    .firm-intro__eyebrow { margin-block-end:1rem; }
    .firm-intro h2 { max-width:13ch; }
    .firm-intro__detail { padding:1.25rem; border-radius:.85rem; }
}

/* Services: four considered practice cards, with line-art cues rather than stock imagery. */
.services {
    position:relative;
    isolation:isolate;
    overflow:hidden;
}
.services::before {
    content:"SERVICES";
    position:absolute;
    z-index:-1;
    inset-inline-end:-.07em;
    inset-block-start:.03em;
    color:rgba(90,41,24,.035);
    font:600 clamp(5rem,14vw,13rem)/.8 var(--font-display);
    letter-spacing:-.07em;
    pointer-events:none;
}
[lang="ar"] .services::before { content:"خدماتنا"; letter-spacing:0; }
.services .section-head { position:relative; z-index:1; }
.services__grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:1rem;
    margin-block-start:clamp(3.5rem,6vw,4.5rem);
    border:0;
}
.service-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    min-height:22rem;
    padding:clamp(1.45rem,2.3vw,2.2rem);
    border:1px solid rgba(90,41,24,.13);
    border-radius:1.15rem;
    background:rgba(255,255,255,.72);
    box-shadow:0 .55rem 1.45rem rgba(42,18,11,.055);
    text-align:center;
    transition:transform .24s var(--ease-spring), box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}
.service-card::before { content:none; display:none; }
.service-card__icon {
    display:grid;
    place-items:center;
    width:3.35rem;
    height:3.35rem;
    margin-inline:auto;
    margin-block-end:clamp(1.5rem,3vw,2.4rem);
    border:1px solid rgba(163,123,32,.48);
    border-radius:50%;
    color:var(--quala-wine);
    background:linear-gradient(135deg, rgba(220,176,77,.17), rgba(255,255,255,.7));
}
.service-card__icon svg { width:1.65rem; height:1.65rem; }
.service-card h3 { max-width:14ch; margin:0 auto; color:var(--quala-wine); font-size:clamp(1.3rem,1.75vw,1.65rem); line-height:1.18; }
.service-card p { margin:1rem 0 1.5rem; color:var(--color-text-muted); font-size:.92rem; line-height:1.72; }
.service-card__link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    width:max-content;
    margin-inline:auto;
    margin-block-start:auto;
    padding-block-start:1rem;
    border-block-start:1px solid rgba(90,41,24,.13);
    color:var(--quala-wine);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.service-card__link span { color:var(--quala-gold-deep); font-size:1.2em; line-height:1; transition:transform .2s ease; }
.service-card:hover, .service-card:focus-within { z-index:1; border-color:rgba(163,123,32,.42); background:#fff; box-shadow:0 1rem 2.25rem rgba(42,18,11,.13); transform:translateY(-.4rem); }
.service-card__link:hover, .service-card__link:focus-visible { color:var(--quala-gold-deep); }
.service-card__link:hover span, .service-card__link:focus-visible span { transform:translateX(.24rem); }
[dir="rtl"] .service-card__link:hover span, [dir="rtl"] .service-card__link:focus-visible span { transform:translateX(-.24rem); }
[lang="ar"] .service-card__link { letter-spacing:0; text-transform:none; }
@media (max-width:1024px) { .services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .service-card { min-height:19rem; } }
@media (max-width:640px) { .services__grid { grid-template-columns:1fr; gap:.85rem; margin-block-start:2rem; } .service-card { min-height:0; } }
@media (prefers-reduced-motion:reduce) { .service-card, .service-card__link span { transition:none; } .service-card:hover, .service-card:focus-within { transform:none; } }

/* Practice areas: an image-led, adaptable practice index. */
.practice-areas {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding-block:clamp(4.75rem, 9vw, 8.5rem);
    padding-inline:clamp(1.25rem,4vw,3rem);
    background:#f9f8f6;
}
.practice-areas::before {
    content:"PRACTICE";
    position:absolute;
    z-index:-1;
    inset-inline-end:-.07em;
    inset-block-start:.03em;
    color:rgba(90,41,24,.035);
    font:600 clamp(5rem,14vw,13rem)/.8 var(--font-display);
    letter-spacing:-.07em;
    pointer-events:none;
}
[lang="ar"] .practice-areas::before { content:"الممارسة"; letter-spacing:0; }
.practice-areas .section-head { position:relative; z-index:1; }
.practice-areas__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(1.25rem,2.5vw,2rem);
    margin-block-start:3rem;
}
.practice-card { min-width:0; }
.practice-card__image {
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    border:1px solid rgba(90,41,24,.12);
    border-radius:1rem;
    background:linear-gradient(135deg, #5a2918, #a37b20);
    box-shadow:0 .65rem 1.5rem rgba(42,18,11,.075);
}
.practice-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.practice-card__image:hover img, .practice-card__image:focus-visible img { filter:saturate(1.05) contrast(1.03); transform:scale(1.065); }
.practice-card__placeholder { display:grid; width:100%; height:100%; place-items:center; color:rgba(251,250,247,.78); font:400 clamp(4rem,8vw,7rem)/1 var(--font-display); }
.practice-card h3 { margin:1.15rem 0 .65rem; color:var(--quala-wine); font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.18; }
.practice-card__link { display:inline-flex; align-items:center; gap:.5rem; color:#5e5149; font-size:.8rem; font-weight:700; letter-spacing:.035em; }
.practice-card__link span { color:var(--quala-gold-deep); font-size:1.2em; line-height:1; transition:transform .2s ease; }
.practice-card__link:hover, .practice-card__link:focus-visible { color:var(--quala-wine); }
.practice-card__link:hover span, .practice-card__link:focus-visible span { transform:translateX(.28rem); }
[dir="rtl"] .practice-card__link:hover span, [dir="rtl"] .practice-card__link:focus-visible span { transform:translateX(-.28rem); }
[lang="ar"] .practice-card__link { letter-spacing:0; }
@media (max-width:900px) { .practice-areas__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .practice-areas__grid { grid-template-columns:1fr; gap:2rem; margin-block-start:2rem; } .practice-areas::before { font-size:4.5rem; } }
@media (max-width:600px) { .services::before, #clients::before, .news::before, .journal::before { font-size:4.5rem; } }
@media (max-width:900px) { .news__grid, .journal__grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-block-start:2.5rem; } }
@media (max-width:600px) { .news__grid, .journal__grid { grid-template-columns:1fr; gap:1.5rem; margin-block-start:2rem; } }
@media (prefers-reduced-motion:reduce) { .practice-card__image img, .practice-card__link span { transition:none; } .practice-card__image:hover img, .practice-card__image:focus-visible img { transform:none; } }

/* Compact four-column treatment for the full practice collection. */
.practice-areas__grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(1rem,1.75vw,1.45rem);
    margin-block-start:2.5rem;
}
.practice-card { position:relative; padding-block-end:.3rem; text-align:center; }
.practice-card__image {
    aspect-ratio:16/9;
    border-radius:.8rem;
    box-shadow:0 .45rem 1.1rem rgba(42,18,11,.065);
}
.practice-card__image::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg, transparent 56%, rgba(42,18,11,.18));
    opacity:0;
    transition:opacity .25s ease;
}
.practice-card__image { position:relative; }
.practice-card:hover .practice-card__image::after, .practice-card:focus-within .practice-card__image::after { opacity:1; }
.practice-card h3 {
    margin: .9rem 0 .4rem;
    color:var(--quala-wine);
    font-size:clamp(1.2rem,1.6vw,1.5rem);
    line-height:1.2;
}
.practice-card__link { justify-content:center; gap:.38rem; color:#6a5b52; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.practice-card__link span { font-size:1.2em; line-height:1; }
.practice-card:hover h3, .practice-card:focus-within h3 { color:var(--quala-ink); }
[lang="ar"] .practice-card__link { letter-spacing:0; text-transform:none; }
@media (max-width:1100px) { .practice-areas__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:800px) { .practice-areas__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .practice-areas__grid { grid-template-columns:1fr; gap:1.55rem; } .practice-card h3 { font-size:1.25rem; } }
@media (prefers-reduced-motion:reduce) { .practice-card__image::after { transition:none; } }

/* Trusted By: a composed credibility rail with controlled motion. */
#clients {
    position:relative;
    isolation:isolate;
    overflow:hidden;
}
#clients::before {
    content:"TRUSTED";
    position:absolute;
    z-index:-1;
    inset-inline-end:-.07em;
    inset-block-start:.03em;
    color:rgba(90,41,24,.035);
    font:600 clamp(5rem,14vw,13rem)/.8 var(--font-display);
    letter-spacing:-.07em;
    pointer-events:none;
}
[lang="ar"] #clients::before { content:"موثوقية"; letter-spacing:0; }
#clients .section-head { position:relative; z-index:1; }
.clients-slider {
    position:relative;
    margin-block-start:3rem;
    padding:0;
    border:1px solid rgba(163,123,32,.26);
    border-radius:1.15rem;
    background:linear-gradient(135deg, rgba(255,255,255,.78), rgba(248,242,231,.72));
    box-shadow:0 .8rem 2.1rem rgba(42,18,11,.055);
    -webkit-mask-image:none;
    mask-image:none;
    direction:ltr;
    overflow:visible;
}
.clients-slider::before, .clients-slider::after {
    content:"";
    position:absolute;
    z-index:2;
    inset-block:0;
    width:clamp(1rem,4vw,4.5rem);
    pointer-events:none;
}
.clients-slider::before { inset-inline-start:0; background:linear-gradient(90deg, rgba(250,247,240,.98), transparent); }
.clients-slider::after { inset-inline-end:0; background:linear-gradient(270deg, rgba(250,247,240,.98), transparent); }
.clients-slider__track {
    gap:clamp(1.15rem,2.8vw,2.8rem);
    padding:clamp(1.25rem,2.5vw,2rem) clamp(1rem,3vw,2.5rem);
    animation:none !important;
    touch-action:pan-y;
    cursor:grab;
}
.clients-slider__viewport {
    overflow:hidden;
    direction:ltr;
}
.clients-slider__track img {
    box-sizing:content-box;
    width:clamp(5.5rem,9vw,7.5rem);
    height:clamp(2.4rem,3.8vw,3.25rem);
    max-width:none;
    padding:.8rem 1rem;
    border:1px solid rgba(90,41,24,.1);
    border-radius:.65rem;
    background:rgba(255,255,255,.68);
    object-fit:contain;
    opacity:.64;
    filter:grayscale(1) sepia(.08) contrast(.88);
    transition:opacity .22s ease, filter .22s ease, transform .22s var(--ease-spring), border-color .22s ease, background-color .22s ease;
}
.clients-slider__track img:hover { border-color:rgba(163,123,32,.46); background:#fff; opacity:1; filter:grayscale(0) contrast(1); transform:translateY(-.2rem); }
.clients-slider__track.is-dragging { cursor:grabbing; }
@media (max-width:600px) {
    .clients-slider::before, .clients-slider::after { width:1.5rem; }
    .clients-slider__track { gap:1rem; padding:1.15rem 1rem; }
    .clients-slider__track img { width:5.25rem; height:2.25rem; padding:.65rem .8rem; }
}
@media (prefers-reduced-motion:reduce) { .clients-slider__track { overflow-x:auto; animation:none; } }

/* Contact telephone control: country is explicit and the dialling code stays visible. */
.phone-field {
    display:grid;
    grid-template-columns:minmax(7.6rem, .92fr) auto minmax(0, 1fr);
    align-items:stretch;
    overflow:hidden;
    border:1px solid rgba(90,41,24,.18);
    border-radius:.78rem;
    background:rgba(255,255,255,.78);
    transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.phone-field:focus-within {
    border-color:var(--quala-gold);
    background:#fff;
    box-shadow:0 0 0 .22rem rgba(163,123,32,.12);
}
.phone-field select,
.phone-field input {
    min-width:0;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.phone-field select {
    padding:.82rem .45rem .82rem .9rem;
    color:var(--quala-wine);
    font-family:inherit;
    font-size:.78rem;
    font-weight:650;
    cursor:pointer;
}
.phone-field__code {
    display:flex;
    align-items:center;
    padding-inline:.62rem;
    border-inline:1px solid rgba(90,41,24,.13);
    background:rgba(248,242,231,.72);
    color:var(--quala-wine);
    font-size:.86rem;
    font-weight:750;
    direction:ltr;
    unicode-bidi:isolate;
}
.phone-field input { padding:.82rem .9rem !important; }
[dir="rtl"] .phone-field { direction:rtl; }
[dir="rtl"] .phone-field__code { direction:ltr; }

/* A direct, unobtrusive WhatsApp route when the admin has enabled it. */
.whatsapp-float {
    position:fixed;
    z-index:900;
    inset-inline-end:clamp(1rem, 2.2vw, 1.8rem);
    inset-block-end:clamp(1rem, 2.2vw, 1.8rem);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:3.5rem;
    min-height:3.5rem;
    padding:0;
    border:1px solid rgba(220,176,77,.4);
    border-radius:50%;
    background:linear-gradient(150deg, var(--quala-wine), #5a2918);
    color:var(--quala-paper);
    box-shadow:0 .8rem 2.1rem rgba(42,18,11,.28), 0 0 0 .38rem rgba(163,123,32,.1);
    line-height:1;
    text-decoration:none;
    transition:transform .22s var(--ease-spring), background-color .22s ease, box-shadow .22s ease;
}
.whatsapp-float::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:-.42rem;
    border:1px solid rgba(163,123,32,.3);
    border-radius:inherit;
    animation:whatsapp-pulse 2.8s ease-out infinite;
}
.whatsapp-float svg { width:1.56rem; height:1.56rem; flex:0 0 auto; fill:currentColor; }
.whatsapp-float:hover,
.whatsapp-float:focus-visible {
    background:linear-gradient(150deg, #5a2918, var(--quala-wine));
    color:var(--quala-paper);
    transform:translateY(-.18rem) scale(1.05);
    box-shadow:0 1rem 2.35rem rgba(42,18,11,.34), 0 0 0 .38rem rgba(163,123,32,.14);
}
.whatsapp-float:focus-visible { outline:2px solid var(--quala-gold); outline-offset:3px; }
@keyframes whatsapp-pulse { 0%, 72%, 100% { opacity:.1; transform:scale(.94); } 36% { opacity:.76; transform:scale(1.04); } }
@media (max-width:600px) {
    .phone-field { grid-template-columns:minmax(6.6rem, .92fr) auto minmax(0, 1fr); }
    .phone-field select { padding-inline-start:.65rem; font-size:.7rem; }
    .phone-field__code { padding-inline:.45rem; }
}
@media (prefers-reduced-motion:reduce) {
    .phone-field, .whatsapp-float { transition:none; }
    .whatsapp-float::before { animation:none; }
}

/* Typography system: a restrained geometric voice with reliable multilingual wrapping. */
:root {
    --font-display: "Manrope", "Avenir Next", "Segoe UI", Arial, sans-serif;
    --font-sans: "Manrope", "Avenir Next", "Segoe UI", Arial, sans-serif;
    --font-arabic: "Noto Sans Arabic", "SF Arabic", Tahoma, sans-serif;
}
body { font-size:1rem; line-height:1.72; }
:is(h1, h2, h3) {
    font-family:var(--font-display);
    font-weight:700;
    letter-spacing:-.028em;
    line-height:1.1;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:manual;
}
h1 {
    max-inline-size:19ch;
    margin-block-end:.42em;
    font-size:clamp(2.35rem, 4.8vw, 4.75rem);
    font-weight:800;
    line-height:1.04;
}
h2 {
    max-inline-size:24ch;
    margin-block-end:.5em;
    font-size:clamp(1.9rem, 3.1vw, 3.2rem);
    line-height:1.1;
}
h3 {
    max-inline-size:28ch;
    margin-block-end:.58em;
    font-size:clamp(1.12rem, 1.45vw, 1.55rem);
    line-height:1.22;
}
p { max-inline-size:72ch; }
[lang="ar"] :is(h1, h2, h3) {
    font-family:var(--font-arabic);
    font-weight:700;
    letter-spacing:0;
    line-height:1.36;
    text-wrap:balance;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
}
[lang="ar"] h1 { font-weight:800; line-height:1.28; }
.site-header__name,
.site-nav__drawer-head strong,
.site-footer__brand p,
.site-footer__links > p { font-family:var(--font-display); letter-spacing:-.018em; }
.firm-intro h2 { max-inline-size:12ch; font-size:clamp(2.05rem, 3.55vw, 3.6rem); line-height:1.09; }
.site-footer__cta h2 { max-inline-size:21ch; font-size:clamp(1.75rem, 2.7vw, 2.7rem); line-height:1.13; }
.post-single h1 { max-inline-size:17ch; font-size:clamp(2.25rem, 4.5vw, 4.5rem); }
@media (max-width:600px) {
    h1 { max-inline-size:16ch; font-size:clamp(2.2rem, 10.5vw, 3.3rem); }
    h2 { max-inline-size:19ch; font-size:clamp(1.75rem, 8vw, 2.35rem); }
    h3 { font-size:1.16rem; }
    .firm-intro h2 { max-inline-size:14ch; font-size:clamp(1.9rem, 8.8vw, 2.75rem); }
}

/* Contact destination: direct firm details, location and enquiry in one clear path. */
:root {
    --font-display:"Cormorant Garamond", Georgia, serif;
    --font-arabic:"Noto Naskh Arabic", Tahoma, serif;
}
:is(h1, h2, h3) { font-weight:600; letter-spacing:-.024em; font-optical-sizing:auto; }
h1 { font-weight:700; line-height:1.02; }
[lang="ar"] :is(h1, h2, h3) { font-weight:700; letter-spacing:0; }

.contact-section {
    display:block;
    scroll-margin-block-start:11rem;
    padding:clamp(1.25rem,3vw,2rem);
    color:var(--quala-ink);
    border:0;
    border-radius:1.25rem;
    background:var(--quala-paper);
    box-shadow:0 1.15rem 3.4rem rgba(42,18,11,.11);
}
.contact-section::before { display:none; }
.contact-section::after {
    content:"CONTACT";
    position:absolute;
    z-index:-1;
    inset-inline-end:-.07em;
    inset-block-start:.03em;
    color:rgba(90,41,24,.035);
    font:600 clamp(5rem,14vw,13rem)/.8 var(--font-display);
    letter-spacing:-.07em;
    pointer-events:none;
}
[lang="ar"] .contact-section::after { content:"تواصل"; letter-spacing:0; }
.contact-section__intro {
    position:relative;
    top:auto;
    z-index:1;
    display:block;
    max-width:72rem;
    margin-inline:auto;
    padding:clamp(1.25rem,3vw,2.4rem) clamp(.2rem,2vw,1.5rem) clamp(1.65rem,3.5vw,2.7rem);
    color:var(--quala-ink);
    text-align:start;
}
.contact-section__intro::before { display:none; }
.contact-section__intro h2 { max-inline-size:18ch; margin:0; color:var(--quala-ink); line-height:1.1; }
.contact-section__channels { grid-column:1 / -1; }
.contact-section__channels {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    margin-block-start:clamp(1.6rem,3vw,2.5rem);
    gap:.7rem;
}
.contact-channel {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
    gap:.4rem;
    padding:2.1rem 1.25rem 1.5rem;
    border:1px solid rgba(90,41,24,.1);
    border-radius:1rem;
    background:linear-gradient(180deg, #fff, #fdfaf4);
    color:var(--quala-ink);
    text-align:center;
    text-decoration:none;
    box-shadow:0 .45rem 1.1rem rgba(42,18,11,.045);
    transition:transform .25s var(--ease-spring), border-color .25s ease, box-shadow .25s ease;
}
.contact-channel:hover,
.contact-channel:focus-visible {
    border-color:rgba(220,176,77,.5);
    color:var(--quala-ink);
    transform:translateY(-.2rem);
    box-shadow:0 1.1rem 2.2rem rgba(42,18,11,.12), 0 0 0 1px rgba(220,176,77,.14) inset;
}
.contact-channel__icon {
    display:grid;
    flex:0 0 auto;
    width:3.1rem;
    height:3.1rem;
    margin-block-start:-2.75rem;
    place-items:center;
    border-radius:50%;
    color:var(--quala-paper);
    background:linear-gradient(150deg, var(--quala-wine), #5a2918);
    box-shadow:0 .4rem 1rem rgba(90,41,24,.28), 0 0 0 4px #fff;
    transition:transform .25s var(--ease-spring);
}
.contact-channel:hover .contact-channel__icon,
.contact-channel:focus-visible .contact-channel__icon { transform:scale(1.06) rotate(-4deg); }
.contact-channel__icon svg { width:1.3rem; height:1.3rem; }
.contact-channel small,
.contact-channel strong { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contact-channel small { margin-block-start:.3rem; color:var(--quala-gold-deep); font-size:.66rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.contact-channel strong { font-size:.92rem; font-weight:700; }
[lang="ar"] .contact-channel small { letter-spacing:0; text-transform:none; }
@media (prefers-reduced-motion:reduce) { .contact-channel, .contact-channel__icon { transition:none; } }
.contact-section__body {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    overflow:hidden;
    border-radius:1rem;
    background:#fff;
}
.contact-section__map {
    position:relative;
    margin:clamp(1.4rem,3.2vw,2.6rem);
    overflow:hidden;
    border-radius:.9rem;
    background:#e7e1d8;
}
.contact-section__map iframe { display:block; width:100%; height:100%; min-height:0; border:0; filter:grayscale(.7) sepia(.12) contrast(.92); }
/* A branded pin marker standing in for our own mark on the map card. Google's own pin,
   controls and attribution live inside the cross-origin iframe and are untouched. */
.contact-section__map-pin {
    position:absolute;
    z-index:1;
    inset-inline-start:50%;
    inset-block-start:50%;
    width:3.6rem;
    height:3.6rem;
    margin-inline-start:-1.8rem;
    margin-block-start:-3.5rem;
    transform:rotate(-45deg);
    transform-origin:center;
    border-radius:50% 50% 50% 0;
    background:linear-gradient(135deg, var(--quala-gold), var(--quala-wine));
    box-shadow:0 .6rem 1.4rem rgba(42,18,11,.35);
    pointer-events:none;
}
.contact-section__map-pin::after {
    content:"";
    position:absolute;
    inset-inline-start:50%;
    inset-block-end:-.55rem;
    width:.5rem;
    height:.2rem;
    margin-inline-start:-.25rem;
    border-radius:50%;
    background:rgba(42,18,11,.28);
    filter:blur(1px);
}
.contact-section__map-pin-body {
    position:absolute;
    inset:.3rem;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--quala-paper);
    box-shadow:inset 0 0 0 1px rgba(220,176,77,.4);
    overflow:hidden;
}
.contact-section__map-pin-body img { width:78%; height:78%; object-fit:contain; transform:rotate(45deg); }
@media (max-width:600px) {
    .contact-section__map-pin { width:2.9rem; height:2.9rem; margin-inline-start:-1.45rem; margin-block-start:-2.85rem; }
}
.contact-section__form { padding:0; }
.contact-section .flash { margin:clamp(1.2rem,2.5vw,2rem) clamp(1.2rem,3vw,2.6rem) 0; }
.contact-section .contact-form { padding-inline:clamp(1.4rem,3.2vw,2.6rem); padding-block:0; border:0; border-radius:0; background:#fff; box-shadow:none; }
/* The head now sits above the map/form split, spanning both columns, so the map only
   tracks the height of the actual form fields (full name through send message). */
.contact-section__body > .contact-form__head { grid-column:1 / -1; }
.contact-form__head {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.6rem;
    padding:clamp(1.4rem,3.2vw,2.6rem) clamp(1.4rem,3.2vw,2.6rem) 1.5rem;
    margin-block-end:clamp(1.2rem,2.6vw,1.8rem);
    border-block-end:1px solid rgba(90,41,24,.13);
    background:#fff;
    text-align:center;
}
.contact-form__head h3 {
    max-inline-size:22ch;
    margin:0 auto;
    color:var(--quala-ink);
    font-size:clamp(1.65rem,2.3vw,2.15rem);
    line-height:1.08;
    text-wrap:balance;
}
.contact-form__head > div > p { max-inline-size:37ch; margin:.45rem auto 0; color:rgba(42,18,11,.62); font-size:.82rem; line-height:1.6; }
.contact-form__required-note {
    position:absolute;
    inset-inline-end:clamp(1.4rem,3.2vw,2.6rem);
    inset-block-start:clamp(1.4rem,3.2vw,2.6rem);
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:.4rem;
    margin:0;
    color:rgba(42,18,11,.6);
    font-size:.67rem;
    font-weight:750;
    letter-spacing:.035em;
    text-transform:uppercase;
    white-space:nowrap;
}
.contact-form__required-note svg { width:.95rem; height:.95rem; fill:none; stroke:var(--quala-gold-deep); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-section .contact-form .form-field { gap:.48rem; }
.contact-section .contact-form .form-field label { display:flex; align-items:center; gap:.25rem; color:var(--quala-ink); font-size:.7rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.form-field__required { color:var(--quala-gold-deep); font-size:.9rem; line-height:1; }
.form-field__optional { margin-inline-start:auto; color:rgba(42,18,11,.46); font-size:.61rem; font-weight:700; letter-spacing:.03em; }
.contact-section .contact-form .form-field :is(input,textarea,select) { min-height:3.05rem; padding:.8rem .95rem; border:1px solid rgba(90,41,24,.14); border-radius:.72rem; background:#faf9f6; color:var(--quala-ink); }
.contact-section .contact-form .form-field :is(input,textarea)::placeholder { color:rgba(42,18,11,.4); opacity:1; }
.contact-section .contact-form .form-field textarea { min-height:9.75rem; }
.contact-section .contact-form .form-field :is(input,textarea,select):focus { border-color:var(--quala-gold-deep); background:#fff; box-shadow:0 0 0 3px rgba(220,176,77,.16); }
.contact-section .contact-form .form-field :is(input,textarea):user-invalid { border-color:rgba(135,48,36,.55); }
.contact-section .contact-form .btn { width:100%; justify-content:center; min-height:3.3rem; margin-block-start:.5rem; }
[lang="ar"] :is(.contact-section .contact-form .form-field label,.contact-form__required-note,.form-field__optional) { letter-spacing:0; text-transform:none; }
@media (max-width:850px) {
    .contact-section__channels { grid-template-columns:1fr; max-width:34rem; }
    .contact-section__body { grid-template-columns:1fr; }
    .contact-section__body > .contact-form__head { order:-2; }
    .contact-section__form { order:-1; }
    .contact-section__map { border-start-start-radius:0; border-start-end-radius:0; }
    .contact-section__map iframe { min-height:20rem; }
}
@media (max-width:600px) {
    .contact-section { padding:.7rem; border-radius:1rem; }
    .contact-section__intro { padding:1.6rem .8rem 1.5rem; }
    .contact-channel { padding:.8rem .9rem; }
    .contact-section__map iframe { min-height:17rem; }
    .contact-section .contact-form { padding:1.2rem; }
    .contact-form__head { flex-direction:column; gap:.5rem; padding:1.2rem 1.2rem 1rem; }
    .contact-form__required-note { position:static; margin-block-start:.15rem; }
}

/* International telephone entry: searchable countries with flags and a clean local-number field. */
.contact-section .contact-form { gap:1rem; }
.contact-section .contact-form__row { display:contents; }
.contact-section .contact-form .form-field { width:100%; }
.contact-section .phone-field {
    display:block;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.contact-section .phone-field:focus-within { border:0; background:transparent; box-shadow:none; }
.contact-section .phone-field .iti { display:block; width:100%; }
.contact-section .phone-field .iti {
    --iti-border-color:rgba(90,41,24,.16);
    --iti-hover-color:rgba(220,176,77,.1);
    --iti-icon-color:var(--quala-wine);
    --iti-spacer-horizontal:1.05rem;
    --iti-flag-width:28px;
}
.contact-section .phone-field .iti__tel-input {
    width:100%;
    min-height:3.4rem;
    padding-inline-start:8.75rem !important;
    border:1px solid rgba(90,41,24,.14) !important;
    border-radius:.75rem !important;
    background:#faf9f6 !important;
    font-size:.98rem;
}
.contact-section .phone-field .iti__tel-input:focus { border-color:var(--quala-gold-deep) !important; background:#fff !important; box-shadow:0 0 0 3px rgba(220,176,77,.16) !important; }
.contact-section .phone-field .iti__country-container { inset-inline-start:0; }
.contact-section .phone-field .iti__selected-country {
    min-width:6.9rem;
    min-height:calc(3.4rem - 2px);
    border-inline-end:1px solid rgba(90,41,24,.16);
    border-radius:.75rem 0 0 .75rem;
    background:transparent;
    transition:background-color .2s ease;
}
.contact-section .phone-field .iti__selected-country-primary { display:flex; align-items:center; justify-content:flex-start; gap:.6rem; padding-inline-start:1.1rem; }
.contact-section .phone-field .iti__selected-country:hover { background:rgba(220,176,77,.1); }
.contact-section .phone-field .iti__selected-dial-code { margin-inline:.3rem 1.1rem; color:var(--quala-ink); font-size:.98rem; font-weight:600; }
@media (prefers-reduced-motion:reduce) { .contact-section .phone-field .iti__selected-country { transition:none; } }
.contact-section .phone-field :is(.iti__dropdown-content,.iti__country-selector) {
    z-index:1001;
    width:100%;
    min-width:100%;
    max-width:calc(100vw - 2rem);
    margin-block-start:.45rem;
    overflow:hidden;
    border:1px solid rgba(90,41,24,.18);
    border-radius:.9rem;
    background:#fff;
    box-shadow:0 1rem 2.6rem rgba(42,18,11,.18);
}
.contact-section .phone-field .iti__search-input-wrapper { margin:.65rem .65rem .5rem; border:1px solid rgba(90,41,24,.15); border-radius:.62rem; background:#faf9f6; }
.contact-section .phone-field .iti__search-input {
    width:100%;
    min-height:2.65rem;
    margin:0;
    padding-inline-start:2.5rem;
    padding-inline-end:2.35rem;
    border:0;
    border-radius:.62rem;
    background:transparent;
    color:var(--quala-ink);
    font:inherit;
}
.contact-section .phone-field .iti__search-input:focus { outline:0; box-shadow:inset 0 0 0 2px rgba(220,176,77,.26); }
.contact-section .phone-field .iti__search-icon { color:var(--quala-wine); }
.contact-section .phone-field .iti__country-list { max-height:15rem; padding-block:.25rem .45rem; scrollbar-color:rgba(90,41,24,.34) transparent; }
.contact-section .phone-field .iti__country-list::-webkit-scrollbar { width:.45rem; }
.contact-section .phone-field .iti__country-list::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(90,41,24,.28); }
.contact-section .phone-field .iti__country { gap:.1rem; padding:.66rem .85rem; color:var(--quala-ink); font-size:.86rem; }
.contact-section .phone-field .iti__country-name { font-weight:600; }
.contact-section .phone-field .iti__country:has(.iti__country-check) { background:rgba(220,176,77,.16); }
.contact-section .phone-field .iti__country:hover,
.contact-section .phone-field .iti__country.iti__highlight { background:rgba(220,176,77,.12); }
.contact-section .phone-field .iti__dial-code { margin-inline-start:.5rem; color:rgba(42,18,11,.56); font-variant-numeric:tabular-nums; }
[dir="rtl"] .contact-section .phone-field .iti { direction:ltr; }
[dir="rtl"] .contact-section .phone-field .iti__dropdown-content { direction:rtl; text-align:start; }
[dir="rtl"] .contact-section .phone-field .iti__selected-country { border-radius:0 .75rem .75rem 0; border-inline:0 1px solid rgba(90,41,24,.16); }
[dir="rtl"] .contact-section .phone-field .iti__tel-input { padding-inline-start:1rem !important; padding-inline-end:8.75rem !important; }
[dir="rtl"] .contact-section .phone-field .iti__country-container { inset-inline:auto 0; }

/* The telephone library promotes country selection to a mobile sheet; give that system surface the same considered finish as the form. */
.iti--fullscreen-popup {
    padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    justify-content:flex-end;
    background:rgba(42,18,11,.48);
    backdrop-filter:blur(3px);
}
.iti--fullscreen-popup .iti__country-selector {
    width:min(100%, 28rem);
    max-height:min(72vh, 38rem);
    margin:0 auto;
    overflow:hidden;
    border:0;
    border-radius:1rem;
    background:#fff;
    box-shadow:0 1.4rem 3.5rem rgba(22,8,4,.28);
}
.iti--fullscreen-popup .iti__search-input-wrapper {
    margin:.75rem .75rem .55rem;
    border:1px solid rgba(90,41,24,.16);
    border-radius:.68rem;
    background:#faf9f6;
}
.iti--fullscreen-popup .iti__search-input {
    min-height:2.8rem;
    padding-inline-start:2.55rem;
    padding-inline-end:2.4rem;
    border:0;
    border-radius:.68rem;
    background:transparent;
    color:var(--quala-ink);
    font:inherit;
}
.iti--fullscreen-popup .iti__search-input:focus { outline:0; box-shadow:inset 0 0 0 2px rgba(220,176,77,.26); }
.iti--fullscreen-popup .iti__search-icon { color:var(--quala-wine); }
.iti--fullscreen-popup .iti__country-list { max-height:calc(min(72vh, 38rem) - 4.75rem); padding-block:.25rem .5rem; scrollbar-color:rgba(90,41,24,.34) transparent; }
.iti--fullscreen-popup .iti__country-list::-webkit-scrollbar { width:.45rem; }
.iti--fullscreen-popup .iti__country-list::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(90,41,24,.28); }
.iti--fullscreen-popup .iti__country { gap:.1rem; padding:.7rem .95rem; color:var(--quala-ink); font-size:.9rem; }
.iti--fullscreen-popup .iti__country-name { font-weight:600; }
.iti--fullscreen-popup .iti__country:has(.iti__country-check) { background:rgba(220,176,77,.16); }
.iti--fullscreen-popup .iti__country:hover,
.iti--fullscreen-popup .iti__country.iti__highlight { background:rgba(220,176,77,.12); }
.iti--fullscreen-popup .iti__dial-code { margin-inline-start:.5rem; color:rgba(42,18,11,.56); font-variant-numeric:tabular-nums; }

/* One shadow language across every card-like surface, matching .practice-card__image. */
.service-card,
.contact-channel {
    box-shadow: 0 .45rem 1.1rem rgba(42,18,11,.065);
}
.post-card {
    padding: 1.1rem 1.1rem 1.4rem;
    border: 1px solid rgba(90,41,24,.08);
    border-radius: .9rem;
    background: rgba(255,255,255,.7);
    box-shadow: 0 .45rem 1.1rem rgba(42,18,11,.065);
    transition: transform 240ms ease, box-shadow 240ms ease;
}
.post-card:hover { box-shadow: 0 .75rem 1.75rem rgba(42,18,11,.1); }

/* Cookie consent: bottom-anchored, dismissible, accept-all / necessary-only / customize. */
.btn--ghost { background:transparent; border-color:rgba(90,41,24,.22); color:var(--quala-ink); box-shadow:none; }
.btn--ghost:hover, .btn--ghost:focus-visible { background:rgba(90,41,24,.06); border-color:rgba(90,41,24,.32); }
.site-footer__cookie-link {
    padding:0;
    border:0;
    background:none;
    color:var(--quala-wine);
    font:inherit;
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
}
.site-footer__cookie-link:hover, .site-footer__cookie-link:focus-visible { color:var(--quala-gold-deep); }
.cookie-consent {
    position:fixed;
    z-index:1200;
    inset-inline:0;
    inset-block-end:0;
    display:flex;
    justify-content:center;
    padding:1rem clamp(1rem,3vw,2rem);
    pointer-events:none;
}
.cookie-consent[hidden] { display:none; }
.cookie-consent__panel[hidden] { display:none; }
.cookie-consent__panel {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:1.25rem 2rem;
    width:100%;
    max-width:56rem;
    padding:1.5rem clamp(1.25rem,3vw,2rem);
    border:1px solid rgba(220,176,77,.3);
    border-radius:1.15rem;
    background:var(--quala-paper);
    box-shadow:0 1.25rem 3.2rem rgba(42,18,11,.24);
    pointer-events:auto;
}
.cookie-consent__panel--prefs { flex-direction:column; align-items:stretch; max-width:34rem; }
.cookie-consent__copy { flex:1 1 auto; min-width:16rem; }
.cookie-consent__title { margin:0 0 .35rem; color:var(--quala-ink); font-family:var(--font-display); font-size:1.25rem; font-weight:700; }
.cookie-consent__message { margin:0; color:rgba(42,18,11,.66); font-size:.85rem; line-height:1.6; }
.cookie-consent__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; flex:0 0 auto; }
.cookie-consent__panel--prefs .cookie-consent__actions { justify-content:flex-end; margin-block-start:.5rem; }
.cookie-consent .btn { min-height:2.7rem; padding-inline:1.1rem; font-size:.72rem; }
.cookie-consent .btn::after { content:none; }
.cookie-consent__category { padding-block:1rem; border-block-start:1px solid rgba(90,41,24,.12); }
.cookie-consent__category-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.cookie-consent__category-title { color:var(--quala-ink); font-weight:700; font-size:.88rem; }
.cookie-consent__category-desc { margin:.4rem 0 0; color:rgba(42,18,11,.6); font-size:.78rem; line-height:1.55; }
.cookie-consent__toggle--locked { color:var(--quala-gold-deep); font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.cookie-consent__switch { position:relative; display:inline-block; width:2.6rem; height:1.5rem; flex:0 0 auto; }
.cookie-consent__switch input { position:absolute; inset:0; margin:0; opacity:0; cursor:pointer; }
.cookie-consent__switch span { position:absolute; inset:0; border-radius:999px; background:rgba(90,41,24,.22); transition:background-color .2s ease; }
.cookie-consent__switch span::before { content:""; position:absolute; inset-block-start:.18rem; inset-inline-start:.18rem; width:1.14rem; height:1.14rem; border-radius:50%; background:#fff; box-shadow:0 .1rem .3rem rgba(42,18,11,.3); transition:transform .2s ease; }
.cookie-consent__switch input:checked + span { background:var(--quala-gold); }
[dir="rtl"] .cookie-consent__switch input:checked + span::before { transform:translateX(-1.1rem); }
[dir="ltr"] .cookie-consent__switch input:checked + span::before { transform:translateX(1.1rem); }
.cookie-consent__switch input:focus-visible + span { outline:2px solid var(--quala-gold-deep); outline-offset:2px; }
@media (max-width:640px) {
    .cookie-consent { padding:.6rem; }
    .cookie-consent__panel { flex-direction:column; align-items:stretch; gap:.9rem; max-height:calc(100dvh - 1.2rem); padding:1.1rem 1.1rem 1.25rem; overflow-y:auto; }
    .cookie-consent__copy { flex:0 1 auto; }
    .cookie-consent__title { font-size:1.05rem; }
    .cookie-consent__message { font-size:.78rem; }
    .cookie-consent__actions { justify-content:stretch; gap:.5rem; }
    .cookie-consent__actions .btn { flex:1 1 auto; min-height:2.5rem; }
}
@media (prefers-reduced-motion:reduce) { .cookie-consent__switch span, .cookie-consent__switch span::before { transition:none; } }
@media (prefers-reduced-motion: reduce) { .post-card { transition: none; } }
