/* Acacia Pulse child theme: emerald-glass identity; font rules inherited and preserved. */
:root {
  --ink: #101d35;
  --forest: #11213e;
  --forest-2: #1b3456;
  --stone: #ecebe6;
  --paper: #faf8f3;
  --copper: #c8a575;
  --copper-2: #ead5b3;
  --muted: #667287;
  --line: rgba(16, 29, 53, .12);
  --light-line: rgba(255, 255, 255, .14);
  --container: 1240px;
  --shadow: 0 24px 72px rgba(16, 29, 53, .12);
}

html { scroll-padding-top: 96px; }
body { background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
html[lang="en"] body,
html[lang="en"] .site-header,
html[lang="en"] .site-footer { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3 { letter-spacing: 0; }
h1, h2, h3 { text-wrap: balance; }
h1 em, h2 em { color: var(--copper-2); background: linear-gradient(105deg, #e5c99b 5%, #b98c50 95%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* A calm glass header that sharpens into a floating control bar while scrolling. */
.site-header { border-bottom-color: rgba(255,255,255,.16); transition: background .28s ease, box-shadow .28s ease, border-color .28s ease; }
.site-header.scrolled { background: rgba(13, 27, 49, .84); border-bottom-color: rgba(255,255,255,.14); backdrop-filter: blur(18px) saturate(145%); -webkit-backdrop-filter: blur(18px) saturate(145%); box-shadow: 0 12px 38px rgba(5, 13, 28, .18); }
.header-inner { min-height: 86px; }
.brand { gap: 13px; }
.brand img { filter: drop-shadow(0 3px 12px rgba(255,255,255,.12)); }
.brand-copy strong { font-size: 15px; letter-spacing: -.025em; }
.site-nav { gap: clamp(15px, 2vw, 27px); }
.site-nav a { font-size: 13px; color: rgba(255,255,255,.8); }
.site-nav a::after { height: 2px !important; transform: scaleX(.35); transform-origin: right center; transition: transform .24s ease; }
html[dir="ltr"] .site-nav a::after { transform-origin: left center; }
.site-nav a:hover::after, .site-nav a.active::after { transform: scaleX(1); }
.header-cta, .language-switch { border-radius: 999px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.header-cta { padding: 11px 18px; border-color: rgba(255,255,255,.4); }
.header-cta:hover, .language-switch:hover { background: rgba(200,165,117,.16); }
.language-switch { min-width: 44px; min-height: 42px; }
.menu-toggle { border: 1px solid rgba(255,255,255,.28); border-radius: 50%; width: 43px; height: 43px; padding: 7px; }
.menu-toggle:hover { border-color: var(--copper); background: rgba(200,165,117,.12); }

/* Editorial architecture hero: warm metal accents, soft light, existing Acacia artwork. */
.hero { min-height: min(860px, 100svh); padding-top: 166px; padding-bottom: 64px; background: radial-gradient(ellipse at 74% 48%, rgba(69,94,129,.34), transparent 38%), linear-gradient(125deg, #101e38 0%, #14294a 66%, #10203b 100%); }
.hero::before { content: ""; position: absolute; z-index: 0; width: min(54vw, 720px); aspect-ratio: 1; inset-inline-end: -18%; top: 8%; border: 1px solid rgba(234,213,179,.16); border-radius: 50%; box-shadow: inset 0 0 0 42px rgba(255,255,255,.018), inset 0 0 0 84px rgba(255,255,255,.014); pointer-events: none; }
.hero::after { content: ""; position: absolute; z-index: 0; inset-inline: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(234,213,179,.58), transparent); }
.hero-grid-lines { opacity: .11; background-size: 25% 100%, 100% 180px; }
.hero-layout { grid-template-columns: minmax(0, .94fr) minmax(390px, 1.06fr); gap: clamp(40px, 6.4vw, 92px); }
.hero-content { max-width: 650px; }
.hero h1 { max-width: 760px; font-size: clamp(58px, 7.1vw, 102px); line-height: 1.02; letter-spacing: -.065em; }
html[lang="ar"] .hero h1 { line-height: 1.24; letter-spacing: 0; }
.hero-summary { max-width: 555px; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.82; color: rgba(255,255,255,.74); }
.hero-visual { height: min(56vw, 600px); min-height: 440px; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; box-shadow: 0 34px 100px rgba(3,11,25,.36); }
.hero-visual::after { inset: 13px; border-color: rgba(255,255,255,.46); border-radius: 11px; }
.hero-visual img { filter: saturate(.84) contrast(1.06); }
.hero-visual-tint { background: linear-gradient(135deg, rgba(13,27,49,.28), transparent 46%, rgba(200,165,117,.14)), linear-gradient(0deg, rgba(13,27,49,.24), transparent 44%); }
.hero-spec { padding: 10px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(13,27,49,.48); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.hero-spec-top { top: 27px; }
.hero-spec-bottom { bottom: 27px; }
.hero-assurance { margin-top: 48px; color: rgba(255,255,255,.68); }
.hero-assurance i { width: 5px; height: 5px; box-shadow: 0 0 0 5px rgba(200,165,117,.15); }
.hero-actions { gap: 18px; }

/* Clearer page openings and more generous section rhythm. */
.page-banner { padding: 178px 0 88px; min-height: 350px; border-bottom: 1px solid rgba(255,255,255,.12); background-color: #122340; background-image: radial-gradient(ellipse at 82% 35%, rgba(200,165,117,.13), transparent 33%), linear-gradient(125deg, rgba(13,27,49,.98), rgba(27,52,86,.92)); }
.page-banner::after { content: ""; position: absolute; width: min(34vw, 450px); aspect-ratio: 1; inset-inline-end: -8%; top: -44%; border: 1px solid rgba(234,213,179,.17); border-radius: 50%; box-shadow: inset 0 0 0 34px rgba(255,255,255,.018), inset 0 0 0 68px rgba(255,255,255,.014); pointer-events: none; }
.page-banner h1 { max-width: 900px; font-size: clamp(42px, 5.4vw, 72px); line-height: 1.12; letter-spacing: -.045em; }
html[lang="ar"] .page-banner h1 { line-height: 1.28; letter-spacing: 0; }
.page-banner-summary { max-width: 650px; font-size: 17px; line-height: 1.9; }
.section { padding-block: clamp(82px, 9vw, 132px); }
.section-stone { background: linear-gradient(145deg, #efeee9, #e8e9e5); }
.eyebrow { gap: 12px; margin-bottom: 20px; color: #8f6d40; font-size: 10px; letter-spacing: .13em; }
.eyebrow span { width: 34px; height: 2px; }
.eyebrow-light { color: var(--copper-2); }
h2 { font-size: clamp(35px, 4vw, 58px); line-height: 1.14; }
.heading-row { margin-bottom: 48px; }
.heading-row h2 { max-width: 740px; }
.heading-note { line-height: 1.85; }
.lead { line-height: 1.8; }

/* Cards use soft depth and purposeful hover, without changing content or data. */
.services-grid { gap: 14px; border: 0; }
.service-card { min-height: 310px; border: 1px solid rgba(16,29,53,.09); border-radius: 17px; padding: 30px; background: rgba(255,255,255,.68); box-shadow: 0 8px 26px rgba(16,29,53,.035); transition: transform .28s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease, border-color .28s ease, background .28s ease, color .28s ease; }
.service-card::before { content: ""; position: absolute; inset-inline: 18px; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--copper), transparent); opacity: .55; transform: scaleX(.35); transition: transform .28s ease, opacity .28s ease; }
.service-card:hover, .service-card:focus-within { transform: translateY(-6px); border-color: rgba(200,165,117,.58); box-shadow: 0 20px 42px rgba(16,29,53,.12); }
.service-card:hover::before, .service-card:focus-within::before { transform: scaleX(1); opacity: 1; }
.service-card.featured { background: linear-gradient(150deg, #14294a, #101e38); border-color: rgba(234,213,179,.35); box-shadow: 0 18px 42px rgba(16,29,53,.14); }
.service-card.featured::before { opacity: .9; }
.service-index { margin-bottom: 28px; }
.service-icon { display: grid; place-items: center; width: 54px; height: 48px; padding: 8px; margin-bottom: 24px; border: 1px solid rgba(200,165,117,.32); border-radius: 13px; background: rgba(200,165,117,.08); }
.service-card h3 { line-height: 1.38; }
.service-card p { line-height: 1.8; }
.projects-grid { gap: 22px; }
.project-image { border-radius: 16px; box-shadow: 0 12px 32px rgba(16,29,53,.10); }
.project-large .project-image { border-radius: 20px; }
.project-image img { transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .35s; }
.project-card:hover img { transform: scale(1.055); }
.project-category { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 7px 13px; }
.project-meta h3 { font-size: 20px; }

/* Keep the 3D carousel geometry intact while refining the glass surfaces. */
.acacia-client-carousel-slide { border-radius: 22px; border-color: rgba(255,255,255,.78); background: rgba(255,255,255,.79); box-shadow: 0 25px 65px rgba(16,29,53,.11); backdrop-filter: blur(17px) saturate(125%); -webkit-backdrop-filter: blur(17px) saturate(125%); }
.acacia-client-carousel-slide.is-current { box-shadow: 0 32px 78px rgba(16,29,53,.17); }
.acacia-client-carousel-button { border-radius: 50%; border-color: rgba(16,29,53,.13); box-shadow: 0 9px 24px rgba(16,29,53,.08); transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.acacia-client-carousel-button:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,29,53,.14); background: var(--paper); }

.about-composition { border-radius: 24px; }
.about-card-main { border-radius: 16px; background: linear-gradient(145deg, #183052, #101e38); }
.about-card-quote { border-radius: 14px; box-shadow: 0 18px 44px rgba(16,29,53,.14); }
.strengths-list { border-top-color: rgba(16,29,53,.14); }
.strength-card { padding-block: 25px; transition: padding .22s ease, border-color .22s ease; }
.strength-card:hover { padding-inline-start: 9px; border-bottom-color: rgba(200,165,117,.65); }
.method-section { background: radial-gradient(ellipse at 85% 10%, rgba(200,165,117,.14), transparent 35%), linear-gradient(135deg, #101e38, #1b3456); }
.method-list li { transition: padding .22s ease, border-color .22s ease; }
.method-list li:hover { padding-inline-start: 10px; border-bottom-color: rgba(234,213,179,.42); }
.method-no { font-size: 14px; }

/* Friendly, calm forms and obvious keyboard focus. */
.contact-section { background: radial-gradient(ellipse at 12% 16%, rgba(200,165,117,.12), transparent 32%), linear-gradient(135deg, #142746, #1b3456); }
.contact-form { padding: clamp(24px, 3.5vw, 40px); border: 1px solid rgba(255,255,255,.55); border-radius: 20px; box-shadow: 0 26px 72px rgba(3,11,25,.2); }
.contact-form input, .contact-form select, .contact-form textarea { border-radius: 10px; background: #fcfbf8; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { background: #fff; border-color: var(--copper); box-shadow: 0 0 0 4px rgba(200,165,117,.16); }
.contact-form .button { border-radius: 999px; }
.page-cta { background: linear-gradient(100deg, #fff, #f6f2ea); }
.page-cta .button { border-radius: 999px; }
.site-footer { background: #0d1a30; }
.footer-top { padding-bottom: 31px; }
.back-top { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid rgba(234,213,179,.23); border-radius: 999px; transition: background .2s ease, border-color .2s ease; }
.back-top:hover { background: rgba(200,165,117,.12); border-color: rgba(234,213,179,.52); }

.button, .header-cta, .language-switch, .filter-btn { border-radius: 999px; }
.button { position: relative; overflow: hidden; padding: 15px 23px; box-shadow: 0 8px 22px rgba(4,14,29,.08); transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease; }
.button::before { content: ""; position: absolute; z-index: 0; inset-block: 0; inset-inline-start: -70%; width: 42%; transform: skewX(-22deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent); transition: inset-inline-start .55s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(4,14,29,.17); }
.button:hover::before { inset-inline-start: 130%; }
.button > * { position: relative; z-index: 1; }
.button-copper { background: linear-gradient(110deg, #c8a575, #dec298); }
.button-copper:hover { background: linear-gradient(110deg, #d5b483, #ead5b3); }
.text-link { transition: color .2s ease; }
.text-link:hover { color: #956c36; }
.text-link span { transition: transform .25s cubic-bezier(.2,.8,.2,1); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid rgba(200,165,117,.82); outline-offset: 3px; }
main section[id], main [id] { scroll-margin-top: 100px; }

@media (min-width: 981px) {
  .hero-layout { align-items: center; }
  .hero-visual { min-height: 500px; }
}
@media (max-width: 980px) {
  .hero { min-height: 0; }
  .hero-layout { grid-template-columns: 1fr; gap: 32px; }
  .hero-content { max-width: 760px; }
  .hero-visual { height: clamp(350px, 52vw, 510px); min-height: 350px; max-width: 780px; }
  .hero h1 { max-width: 750px; }
}
@media (max-width: 720px) {
  .header-inner { min-height: 73px; }
  .hero { padding: 124px 0 42px; }
  .hero h1 { font-size: clamp(44px, 11.7vw, 70px); line-height: 1.07; }
  html[lang="ar"] .hero h1 { line-height: 1.27; }
  .hero-visual { height: clamp(285px, 72vw, 390px); min-height: 285px; border-radius: 15px; }
  .hero-visual::after { inset: 10px; }
  .hero-spec { padding: 8px 10px; font-size: 10px; }
  .hero-assurance { margin-top: 30px; }
  .page-banner { padding: 133px 0 60px; min-height: 0; }
  .page-banner h1 { font-size: clamp(36px, 9.5vw, 56px); }
  html[lang="ar"] .page-banner h1 { line-height: 1.3; }
  .page-banner-summary { font-size: 15px; }
  .heading-row { margin-bottom: 34px; }
  .services-grid { gap: 11px; }
  .service-card { min-height: 290px; padding: 21px; border-radius: 14px; }
  .service-index { margin-bottom: 20px; }
  .service-icon { margin-bottom: 18px; }
  .projects-grid { gap: 18px; }
  .project-image, .project-large .project-image { border-radius: 14px; }
  .contact-form { border-radius: 17px; }
  .acacia-client-carousel-slide { border-radius: 18px; }
  .site-nav { top: 73px; border-radius: 0 0 0 18px; box-shadow: 0 24px 46px rgba(4,14,29,.22); }
  .site-nav a { padding-block: 14px; }
}
@media (max-width: 430px) {
  .hero { padding-top: 112px; }
  .hero h1 { font-size: 43px; line-height: 1.1; }
  html[lang="ar"] .hero h1 { font-size: 40px; line-height: 1.3; }
  .hero-summary { font-size: 15px; line-height: 1.8; }
  .hero-visual { height: 285px; min-height: 0; }
  .hero-spec-top { top: 21px; }
  .hero-spec-bottom { bottom: 21px; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card, .services-section .service-card { min-height: 260px; }
  .contact-form { padding: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .button:hover, .service-card:hover, .text-link:hover span { transform: none !important; }
  .button::before { display: none; }
}


/* ACACIA PULSE — emerald glass identity, preserving the existing font system. */
:root {
  --ink: #0b1b19;
  --forest: #071916;
  --forest-2: #163b35;
  --stone: #e8f0ec;
  --paper: #f5faf7;
  --copper: #45d7a4;
  --copper-2: #c3ffeb;
  --muted: #607871;
  --line: rgba(11, 27, 25, .13);
  --light-line: rgba(255, 255, 255, .16);
  --shadow: 0 24px 72px rgba(7, 28, 24, .16);
  --acacia-cyan: #63dff5;
  --acacia-glow: rgba(69, 215, 164, .22);
}

body { background: var(--paper); color: var(--ink); }
h1 em, h2 em { color: var(--copper-2); background: linear-gradient(105deg, #c3ffeb 2%, #4ce4b2 48%, #74d8f0 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.site-header { border-bottom-color: rgba(190, 255, 230, .17); }
.site-header.scrolled { background: rgba(6, 25, 21, .84); border-bottom-color: rgba(142, 255, 218, .2); box-shadow: 0 12px 38px rgba(2, 14, 11, .25); }
.site-nav a::after { background: linear-gradient(90deg, var(--copper), var(--acacia-cyan)); box-shadow: 0 0 14px rgba(99, 223, 245, .38); }
.header-cta { border-color: rgba(185, 255, 230, .42); }
.header-cta:hover, .language-switch:hover { background: rgba(69, 215, 164, .16); border-color: rgba(112, 255, 219, .72); }
.menu-toggle:hover { border-color: var(--copper); background: rgba(69, 215, 164, .13); }

.hero {
  background: radial-gradient(ellipse at 72% 39%, rgba(50, 185, 149, .23), transparent 38%), radial-gradient(ellipse at 18% 76%, rgba(48, 184, 215, .12), transparent 35%), linear-gradient(125deg, #071815 0%, #0b2924 62%, #0c332d 100%);
}
.hero::before {
  border-color: rgba(129, 255, 218, .2);
  box-shadow: inset 0 0 0 42px rgba(255, 255, 255, .018), inset 0 0 0 84px rgba(85, 232, 190, .035), 0 0 90px rgba(49, 210, 174, .08);
  animation: acacia-ring-turn 52s linear infinite;
}
.hero::after { background: linear-gradient(90deg, transparent, rgba(103, 242, 200, .74), rgba(99, 223, 245, .52), transparent); background-size: 240% 100%; animation: acacia-line-glide 8s ease-in-out infinite; }
.hero-grid-lines { opacity: .14; }
.hero-visual { border-color: rgba(180, 255, 230, .3); box-shadow: 0 34px 100px rgba(1, 13, 10, .42), 0 0 46px rgba(69, 215, 164, .1); }
.hero-visual::after { border-color: rgba(183, 255, 235, .54); }
.hero-visual-tint { background: linear-gradient(135deg, rgba(7, 31, 26, .28), transparent 46%, rgba(99, 223, 245, .16)), linear-gradient(0deg, rgba(7, 31, 26, .28), transparent 44%); }
.hero-spec { border-color: rgba(185, 255, 230, .25); background: rgba(7, 31, 26, .5); }
.hero-assurance i { box-shadow: 0 0 0 5px rgba(69, 215, 164, .18); }
.page-banner { background-color: #0a2722; background-image: radial-gradient(ellipse at 82% 35%, rgba(69, 215, 164, .17), transparent 34%), radial-gradient(ellipse at 10% 90%, rgba(99, 223, 245, .1), transparent 34%), linear-gradient(125deg, rgba(6, 25, 21, .99), rgba(22, 59, 53, .96)); border-bottom-color: rgba(178, 255, 229, .18); }
.page-banner::after { border-color: rgba(160, 255, 224, .2); box-shadow: inset 0 0 0 34px rgba(255, 255, 255, .018), inset 0 0 0 68px rgba(69, 215, 164, .035); }
.eyebrow { color: #238769; }
.eyebrow-light { color: #baffea; }
.section-stone { background: linear-gradient(145deg, #edf4f0, #e4eee9); }
.service-card { border-color: rgba(11, 46, 39, .11); background: rgba(255, 255, 255, .74); }
.service-card::before { background: linear-gradient(90deg, transparent, #43d9a6, #63dff5, transparent); }
.service-card:hover, .service-card:focus-within { border-color: rgba(50, 207, 155, .62); box-shadow: 0 20px 42px rgba(7, 48, 39, .15), 0 0 26px rgba(69, 215, 164, .12); }
.service-card.featured { background: radial-gradient(ellipse at 84% 8%, rgba(69, 215, 164, .18), transparent 38%), linear-gradient(150deg, #123e35, #071a17); border-color: rgba(132, 255, 218, .38); box-shadow: 0 18px 46px rgba(4, 32, 26, .22); }
.service-icon { border-color: rgba(69, 215, 164, .38); background: rgba(69, 215, 164, .1); }
.project-image { box-shadow: 0 14px 38px rgba(7, 40, 33, .13); }
.project-category { border-color: rgba(173, 255, 225, .38); background: rgba(7, 31, 26, .32); backdrop-filter: blur(8px); }
.acacia-client-carousel-slide { border-color: rgba(194, 255, 236, .86); background: rgba(251, 255, 253, .8); box-shadow: 0 25px 65px rgba(7, 40, 33, .13); }
.acacia-client-carousel-slide.is-current { border-color: rgba(69, 215, 164, .68); box-shadow: 0 32px 78px rgba(7, 40, 33, .18), 0 0 34px rgba(69, 215, 164, .14); }
.acacia-client-carousel-button { border-color: rgba(23, 89, 72, .2); color: #103c32; box-shadow: 0 9px 24px rgba(7, 40, 33, .1); }
.acacia-client-carousel-button:hover { border-color: #45d7a4; background: #0b3028; color: #d7fff1; box-shadow: 0 14px 30px rgba(7, 40, 33, .2), 0 0 20px rgba(69, 215, 164, .22); }
.acacia-client-carousel-slide h2 { color: var(--ink); }
.about-card-main { background: radial-gradient(ellipse at 80% 0%, rgba(69, 215, 164, .18), transparent 42%), linear-gradient(145deg, #164139, #071a17); }
.about-card-quote { border-color: rgba(69, 215, 164, .24); }
.strengths-list { border-top-color: rgba(11, 27, 25, .16); }
.strength-card:hover { border-bottom-color: rgba(69, 215, 164, .82); }
.method-section { background: radial-gradient(ellipse at 85% 10%, rgba(69, 215, 164, .18), transparent 36%), radial-gradient(ellipse at 16% 90%, rgba(99, 223, 245, .1), transparent 35%), linear-gradient(135deg, #071a17, #163b35); }
.method-list li:hover { border-bottom-color: rgba(195, 255, 235, .48); }
.contact-section { background: radial-gradient(ellipse at 12% 16%, rgba(69, 215, 164, .17), transparent 34%), radial-gradient(ellipse at 92% 82%, rgba(99, 223, 245, .1), transparent 36%), linear-gradient(135deg, #0b2924, #163b35); }
.contact-form { border-color: rgba(190, 255, 231, .6); background: rgba(249, 253, 250, .96); box-shadow: 0 26px 72px rgba(1, 18, 14, .26), 0 0 44px rgba(69, 215, 164, .08); }
.contact-form input, .contact-form select, .contact-form textarea { background: #fbfdfb; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #35c995; box-shadow: 0 0 0 4px rgba(69, 215, 164, .18); }
.page-cta { background: linear-gradient(100deg, #fff, #eaf5ef); }
.site-footer { background: radial-gradient(ellipse at 80% 0%, rgba(69, 215, 164, .12), transparent 42%), #071613; }
.back-top { border-color: rgba(176, 255, 225, .28); }
.back-top:hover { background: rgba(69, 215, 164, .14); border-color: rgba(176, 255, 225, .6); }
.button-copper { color: #062019; background: linear-gradient(110deg, #55e5b1, #94f5d1 57%, #93eafa); box-shadow: 0 9px 25px rgba(47, 207, 157, .22); }
.button-copper:hover { color: #061b15; background: linear-gradient(110deg, #8df3ce, #baffea 58%, #c0f4ff); }
.text-link:hover { color: #138c69; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline-color: rgba(69, 215, 164, .9); }

/* Lightweight motion graphics: a 2D architectural network canvas is paused off-screen. */
.hero { overflow: hidden; }
.hero-layout { position: relative; z-index: 2; }
.acacia-architecture-field { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; opacity: .62; }
.acacia-scroll-meter { position: fixed; z-index: 9998; inset-block-start: 0; inset-inline-start: 0; width: 100%; height: 2px; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, #45d7a4, #63dff5); box-shadow: 0 0 12px rgba(99, 223, 245, .56); pointer-events: none; }
html[dir="rtl"] .acacia-scroll-meter { transform-origin: right center; }

/* Pointer-driven glass reflections and subtle image parallax. */
.hero-visual, .service-card, .project-image, .contact-form, .acacia-client-carousel-slide { position: relative; isolation: isolate; }
.hero-visual::before, .service-card::after, .project-image::after, .contact-form::after, .acacia-client-carousel-slide::after {
  content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none; opacity: 0;
  background: radial-gradient(420px circle at var(--acacia-pointer-x, 50%) var(--acacia-pointer-y, 50%), rgba(69, 215, 164, .25), rgba(99, 223, 245, .09) 36%, transparent 68%);
  transition: opacity .32s ease;
}
.hero-visual::before { z-index: 2; }
.hero-visual.acacia-spotlit::before, .service-card.acacia-spotlit::after, .project-image.acacia-spotlit::after, .contact-form.acacia-spotlit::after, .acacia-client-carousel-slide.acacia-spotlit::after { opacity: .9; }
.service-card > *, .contact-form > *, .acacia-client-carousel-slide > * { position: relative; z-index: 1; }
.hero-visual img { transition: transform .7s cubic-bezier(.2, .7, .2, 1), filter .45s ease; }
.hero-visual.acacia-spotlit img { transform: translate3d(var(--acacia-image-x, 0px), var(--acacia-image-y, 0px), 0) scale(1.045); filter: saturate(1.1) contrast(1.06); }
.project-image img { transition: transform .72s cubic-bezier(.2, .7, .2, 1), filter .4s ease; }
.project-image.acacia-spotlit img { transform: translate3d(var(--acacia-image-x, 0px), var(--acacia-image-y, 0px), 0) scale(1.075); filter: saturate(1.18) contrast(1.05); }
.service-card.acacia-spotlit { box-shadow: 0 22px 48px rgba(7, 48, 39, .15), 0 0 28px rgba(69, 215, 164, .12); }
.acacia-client-carousel-slide.acacia-spotlit { border-color: rgba(69, 215, 164, .82); }
.acacia-magnetic { translate: var(--acacia-mx, 0px) var(--acacia-my, 0px); transition: translate .28s cubic-bezier(.2, .8, .2, 1); }

/* A soft cursor aura follows the real pointer; it never replaces the native cursor. */
.acacia-cursor-glow, .acacia-cursor-ring { position: fixed; z-index: 9999; top: 0; left: 0; display: block; pointer-events: none; will-change: transform; }
.acacia-cursor-glow { width: 250px; height: 250px; border-radius: 50%; opacity: .28; mix-blend-mode: screen; background: radial-gradient(circle, rgba(72, 225, 176, .28), rgba(99, 223, 245, .11) 34%, transparent 72%); filter: blur(2px); }
.acacia-cursor-ring { width: 28px; height: 28px; border: 1px solid rgba(171, 255, 229, .8); border-radius: 50%; background: rgba(69, 215, 164, .07); box-shadow: 0 0 18px rgba(69, 215, 164, .24); transition: width .22s ease, height .22s ease, border-color .22s ease, background .22s ease; }
body.acacia-cursor-hover .acacia-cursor-ring { width: 46px; height: 46px; border-color: rgba(99, 223, 245, .92); background: rgba(69, 215, 164, .12); }

/* Responsive navigation becomes an emerald glass panel with a cascading reveal. */
.menu-toggle { position: relative; overflow: hidden; }
.menu-toggle span { position: absolute; left: 50%; width: 20px; height: 2px; margin: 0; border-radius: 2px; background: linear-gradient(90deg, #c3ffeb, #63dff5); transform-origin: center; transition: transform .28s cubic-bezier(.2, .8, .2, 1), opacity .2s ease, width .2s ease; }
.menu-toggle span:first-child { transform: translate(-50%, -6px); }
.menu-toggle span:nth-child(2) { transform: translate(-50%, 0); }
.menu-toggle span:last-child { transform: translate(-50%, 6px); }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translate(-50%, 0) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; width: 6px; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translate(-50%, 0) rotate(-45deg); }
@media (max-width: 720px) {
  .site-nav { background: rgba(5, 25, 21, .9); border: 1px solid rgba(108, 240, 197, .2); backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%); }
  .site-nav.open { background: rgba(5, 25, 21, .96); box-shadow: 0 24px 55px rgba(1, 17, 13, .4), 0 0 32px rgba(69, 215, 164, .12); animation: acacia-menu-panel .34s cubic-bezier(.2, .8, .2, 1) both; }
  .site-nav.open a { opacity: 0; animation: acacia-menu-link .44s cubic-bezier(.2, .8, .2, 1) forwards; }
  .site-nav.open a:nth-child(1) { animation-delay: .03s; }
  .site-nav.open a:nth-child(2) { animation-delay: .07s; }
  .site-nav.open a:nth-child(3) { animation-delay: .11s; }
  .site-nav.open a:nth-child(4) { animation-delay: .15s; }
  .site-nav.open a:nth-child(5) { animation-delay: .19s; }
  .site-nav.open a:nth-child(6) { animation-delay: .23s; }
}

@keyframes acacia-ring-turn { to { transform: rotate(360deg); } }
@keyframes acacia-line-glide { 0%, 100% { background-position: 100% 0; opacity: .58; } 50% { background-position: 0 0; opacity: 1; } }
@keyframes acacia-menu-panel { from { opacity: 0; transform: translateY(-9px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes acacia-menu-link { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

@media (hover: hover) and (pointer: fine) {
  .site-nav a:hover { color: #d6fff1; text-shadow: 0 0 16px rgba(99, 223, 245, .28); }
  .service-card:hover { transform: translateY(-7px) scale(1.012); }
  .project-card:hover .project-image { box-shadow: 0 24px 55px rgba(7, 40, 33, .2), 0 0 28px rgba(69, 215, 164, .12); }
  .hero-visual:hover { box-shadow: 0 40px 100px rgba(1, 13, 10, .46), 0 0 54px rgba(69, 215, 164, .16); }
}
@media (pointer: coarse) {
  .acacia-cursor-glow, .acacia-cursor-ring { display: none !important; }
  .service-card:active { transform: scale(.99); }
}
@media (max-width: 430px) {
  .acacia-architecture-field { opacity: .42; }
  .hero::before { width: 96vw; inset-inline-end: -50%; top: 12%; }
  .acacia-scroll-meter { height: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero::before, .hero::after { animation: none !important; }
  .acacia-cursor-glow, .acacia-cursor-ring, .acacia-architecture-field { display: none !important; }
  .acacia-scroll-meter { transition: none !important; }
  .acacia-magnetic { translate: none !important; }
  .site-nav.open, .site-nav.open a { animation: none !important; opacity: 1 !important; transform: none !important; }
  .hero-visual.acacia-spotlit img, .project-image.acacia-spotlit img { transform: none !important; }
}


/* Official Acacia mark: compact bilingual horizontal lockup, derived from the supplied artwork. */
.brand { align-items: center; gap: 11px; }
.brand-logo.acacia-pulse-mark {
  display: block; flex: 0 0 auto; width: 44px !important; height: 44px !important;
  object-fit: contain; padding: 1px; border: 1px solid rgba(173,255,225,.3);
  border-radius: 13px; background: rgba(255,255,255,.035);
  filter: drop-shadow(0 4px 12px rgba(69,215,164,.18));
  transition: transform .3s cubic-bezier(.2,.8,.2,1), filter .3s ease, border-color .3s ease;
}
.brand:hover .brand-logo.acacia-pulse-mark,
.brand:focus-visible .brand-logo.acacia-pulse-mark {
  transform: translateY(-2px) rotate(-3deg) scale(1.04);
  border-color: rgba(99,223,245,.72);
  filter: drop-shadow(0 5px 16px rgba(69,215,164,.36));
}
.brand-copy.acacia-pulse-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.brand-copy .acacia-pulse-wordmark {
  display: block; width: 102px; height: auto; max-height: 47px; object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(99,223,245,.1));
}
.brand-copy strong.acacia-pulse-sr {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}
.brand-copy.acacia-pulse-copy small { margin-top: 1px; color: rgba(210,255,239,.58); font-size: 8px; letter-spacing: .2em; }

/* More tactile depth: restrained 3D tilt on cards and the hero, never on the logo carousel. */
.service-card.acacia-tilt-live,
.project-card.acacia-tilt-live,
.hero-visual.acacia-tilt-live { transform-style: preserve-3d; will-change: transform; }
.service-card.acacia-tilt-live.acacia-tilt-active:hover {
  transform: perspective(920px) rotateX(var(--acacia-tilt-x,0deg)) rotateY(var(--acacia-tilt-y,0deg)) translateY(-6px) scale(1.008);
}
.project-card.acacia-tilt-live.acacia-tilt-active:hover {
  transform: perspective(1100px) rotateX(var(--acacia-tilt-x,0deg)) rotateY(var(--acacia-tilt-y,0deg)) translateY(-4px);
}
.hero-visual.acacia-tilt-live.acacia-tilt-active:hover {
  transform: perspective(1250px) rotateX(var(--acacia-tilt-x,0deg)) rotateY(var(--acacia-tilt-y,0deg)) translateY(-3px);
}

/* A single soft light sweep gives project photography a polished glass finish. */
.project-image::before {
  content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(115deg, transparent 0 39%, rgba(234,255,248,.36) 49%, rgba(99,223,245,.14) 53%, transparent 63%);
  transform: translateX(-125%); opacity: 0; mix-blend-mode: screen;
}
.project-card:hover .project-image::before,
.project-card:focus-within .project-image::before { opacity: 1; animation: acacia-image-glint .82s cubic-bezier(.18,.7,.25,1) both; }
.project-image img { backface-visibility: hidden; }
@keyframes acacia-image-glint { from { transform: translateX(-125%); } to { transform: translateX(125%); } }

@media (max-width: 720px) {
  .brand { gap: 8px; }
  .brand-logo.acacia-pulse-mark { width: 38px !important; height: 38px !important; border-radius: 11px; }
  .brand-copy .acacia-pulse-wordmark { width: 83px; max-height: 39px; }
  .brand-copy.acacia-pulse-copy small { font-size: 7px; letter-spacing: .16em; }
}
@media (max-width: 390px) {
  .brand-logo.acacia-pulse-mark { width: 34px !important; height: 34px !important; }
  .brand-copy .acacia-pulse-wordmark { width: 74px; max-height: 35px; }
  .brand { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-logo.acacia-pulse-mark { transition: none !important; }
  .brand:hover .brand-logo.acacia-pulse-mark,
  .brand:focus-visible .brand-logo.acacia-pulse-mark { transform: none !important; }
  .service-card.acacia-tilt-live,
  .project-card.acacia-tilt-live,
  .hero-visual.acacia-tilt-live { will-change: auto; transform: none !important; }
  .project-card:hover .project-image::before,
  .project-card:focus-within .project-image::before { animation: none !important; display: none; }
}

/* Keep the site-wide client stage centered, including the existing Clients-page carousel. */
.clients-grid.acacia-clients-carousel,
.clients-grid.acacia-home-client-carousel {
  width: min(100%, 980px);
  max-width: 980px;
  margin-inline: auto !important;
}
.clients-grid.acacia-clients-carousel > .client-card.acacia-client-carousel-slide,
.clients-grid.acacia-home-client-carousel > .client-card.acacia-home-client-slide {
  inset-inline-start: auto;
  left: 50%;
}

/* Homepage featured-client carousel: one glass card stays on the page's true center line. */
.clients-grid.acacia-home-client-carousel {
  --acacia-home-card-width: min(31vw, 300px);
  --acacia-home-card-offset: 76%;
  position: relative;
  display: block;
  height: 370px;
  min-height: 370px;
  padding: 12px 0 20px;
  overflow: hidden;
  perspective: 1100px;
  transform-style: preserve-3d;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  display: flex;
  width: var(--acacia-home-card-width);
  height: 270px;
  min-height: 270px;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 22px 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 50px rgba(7,28,24,.11), inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(15px) saturate(125%);
  backdrop-filter: blur(15px) saturate(125%);
  text-align: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%,-50%) scale(.72);
  transition: transform .52s cubic-bezier(.2,.78,.2,1), opacity .38s ease, box-shadow .3s ease, border-color .3s ease, visibility .38s;
  will-change: transform, opacity;
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-current {
  z-index: 5;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  border-color: rgba(69,215,164,.65);
  box-shadow: 0 28px 68px rgba(7,28,24,.18), 0 0 0 1px rgba(69,215,164,.15), inset 0 1px 0 #fff;
  transform: translate(-50%,-50%) translateZ(44px) scale(1);
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-prev,
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-next {
  z-index: 4;
  opacity: .78;
  visibility: visible;
  pointer-events: auto;
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-prev {
  transform: translate(calc(-50% - var(--acacia-home-card-offset)),-50%) rotateY(25deg) scale(.84);
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-next {
  transform: translate(calc(-50% + var(--acacia-home-card-offset)),-50%) rotateY(-25deg) scale(.84);
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-prev-2,
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-next-2 {
  z-index: 2;
  opacity: .27;
  visibility: visible;
  pointer-events: none;
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-prev-2 {
  transform: translate(calc(-50% - 145%),-50%) rotateY(32deg) scale(.68);
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-next-2 {
  transform: translate(calc(-50% + 145%),-50%) rotateY(-32deg) scale(.68);
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-hidden {
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%,-50%) scale(.55);
}
.acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-current:hover {
  border-color: rgba(69,215,164,.9);
  box-shadow: 0 32px 76px rgba(7,28,24,.2), 0 0 28px rgba(69,215,164,.18);
  transform: translate(-50%,calc(-50% - 4px)) translateZ(52px) scale(1.02);
}
.acacia-home-client-carousel .client-logo {
  width: min(82%, 210px);
  max-width: 210px;
  height: 132px;
  margin: 0;
  object-fit: contain;
  object-position: center;
  -webkit-user-drag: none;
}
.acacia-home-client-carousel .client-card h2 {
  max-width: 100%;
  margin: 0;
  color: #0b1b19;
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.4;
  text-align: center;
}
.clients-grid.acacia-home-client-carousel[dir="rtl"] > .client-card.acacia-home-client-slide.is-prev {
  transform: translate(calc(-50% + var(--acacia-home-card-offset)),-50%) rotateY(-25deg) scale(.84);
}
.clients-grid.acacia-home-client-carousel[dir="rtl"] > .client-card.acacia-home-client-slide.is-next {
  transform: translate(calc(-50% - var(--acacia-home-card-offset)),-50%) rotateY(25deg) scale(.84);
}
.clients-grid.acacia-home-client-carousel[dir="rtl"] > .client-card.acacia-home-client-slide.is-prev-2 {
  transform: translate(calc(-50% + 145%),-50%) rotateY(-32deg) scale(.68);
}
.clients-grid.acacia-home-client-carousel[dir="rtl"] > .client-card.acacia-home-client-slide.is-next-2 {
  transform: translate(calc(-50% - 145%),-50%) rotateY(32deg) scale(.68);
}
.acacia-home-client-controls { justify-content: center; gap: 18px; margin: 8px auto 0; }
.acacia-home-client-controls .acacia-client-carousel-button {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(11,27,25,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: #0b1b19;
  box-shadow: 0 8px 22px rgba(7,28,24,.09);
  font: inherit;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
  transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.acacia-home-client-controls .acacia-client-carousel-button:hover,
.acacia-home-client-controls .acacia-client-carousel-button:focus-visible {
  border-color: #45d7a4;
  background: #0b1b19;
  color: #fff;
  transform: translateY(-2px);
}
.acacia-home-client-controls .acacia-client-carousel-button:focus-visible,
.clients-grid.acacia-home-client-carousel:focus-visible { outline: 3px solid rgba(69,215,164,.8); outline-offset: 4px; }
.acacia-home-client-carousel.is-dragging,
.acacia-home-client-carousel.is-dragging * { cursor: grabbing !important; }

@media (max-width: 700px) {
  .clients-grid.acacia-home-client-carousel {
    --acacia-home-card-width: min(70vw, 310px);
    --acacia-home-card-offset: 68%;
    width: 100%;
    height: 330px;
    min-height: 330px;
  }
  .acacia-home-client-carousel > .client-card.acacia-home-client-slide {
    height: 255px;
    min-height: 255px;
    padding: 18px 16px;
    border-radius: 19px;
  }
  .acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-prev-2,
  .acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-next-2 { opacity: 0; visibility: hidden; }
  .acacia-home-client-carousel .client-logo { height: 118px; }
  .acacia-home-client-carousel .client-card h2 { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .acacia-home-client-carousel > .client-card.acacia-home-client-slide,
  .acacia-home-client-controls .acacia-client-carousel-button { transition-duration: .01ms; transition-delay: 0ms; }
  .acacia-home-client-carousel > .client-card.acacia-home-client-slide.is-current:hover { transform: translate(-50%,-50%) translateZ(44px) scale(1); }
}


/* Preview update 1.3.0: six bilingual project stages with an accessible automatic crossfade. */
.hero-visual {
  background-color: #092a24;
  background-image: linear-gradient(145deg, rgba(5,27,22,.08), rgba(5,27,22,.18)), url("./hero-stages/06-handover.webp");
  background-position: center;
  background-size: cover;
}
.hero-visual img[src*="hero-architecture.svg"] { opacity: 0 !important; }
.hero-visual img.acacia-engineering-hero-image { opacity: 1; object-fit: cover; object-position: center; }

/* The user requested client identities, not a client-count statistic or carousel numbering. */
.proof-strip .metrics-grid > .metric-card:has([data-metric-value="clients"]) { display: none !important; }

.clients-grid.acacia-home-client-showcase {
  width: min(100%, 1120px);
  max-width: 1120px;
  min-height: 0;
  height: auto;
  margin: 0 auto !important;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  justify-items: stretch;
  gap: clamp(12px, 2vw, 24px);
  position: relative;
  overflow: visible;
  perspective: none;
  transform-style: flat;
  user-select: auto;
  -webkit-user-select: auto;
}
.acacia-home-client-showcase > .client-card.acacia-home-client-card {
  position: relative;
  inset: auto;
  display: flex;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 212px;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 16px;
  overflow: hidden;
  border: 1px solid rgba(69, 215, 164, .22);
  border-radius: 20px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 16px 42px rgba(7, 40, 33, .08), inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  text-align: center;
  cursor: default;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.acacia-home-client-showcase > .client-card.acacia-home-client-card:hover {
  border-color: rgba(69, 215, 164, .66);
  box-shadow: 0 22px 48px rgba(7, 40, 33, .14), 0 0 24px rgba(69, 215, 164, .1);
  transform: translateY(-3px);
}
.acacia-home-client-showcase .client-logo {
  display: block;
  width: min(100%, 190px);
  max-width: 190px;
  height: 112px;
  margin: 0;
  object-fit: contain;
  object-position: center;
  -webkit-user-drag: none;
}
.acacia-home-client-showcase .client-card h2 {
  max-width: 100%;
  margin: 0;
  color: #0b1b19;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.45;
  text-align: center;
  overflow-wrap: anywhere;
}
.acacia-home-client-card { position: relative; isolation: isolate; }
.acacia-home-client-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(280px circle at var(--acacia-pointer-x, 50%) var(--acacia-pointer-y, 50%), rgba(69,215,164,.18), rgba(99,223,245,.06) 38%, transparent 70%);
  transition: opacity .3s ease;
}
.acacia-home-client-card.acacia-spotlit::after { opacity: .9; }
.acacia-home-client-card > * { position: relative; z-index: 1; }

@media (max-width: 760px) {
  .clients-grid.acacia-home-client-showcase {
    width: min(100%, 560px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .acacia-home-client-showcase > .client-card.acacia-home-client-card {
    min-height: 170px;
    padding: 16px 12px;
    border-radius: 17px;
  }
  .acacia-home-client-showcase .client-logo { height: 86px; }
  .acacia-home-client-showcase .client-card h2 { font-size: clamp(12px, 3.2vw, 15px); }
}
@media (max-width: 360px) {
  .acacia-home-client-showcase > .client-card.acacia-home-client-card { min-height: 156px; padding: 14px 9px; }
  .acacia-home-client-showcase .client-logo { height: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .acacia-home-client-showcase > .client-card.acacia-home-client-card,
  .acacia-home-client-showcase > .client-card.acacia-home-client-card:hover { transition: none; transform: none; }
}


/* Six-stage, bilingual home hero: staged image crossfades, glass controls, and safe mobile spacing. */
.hero-visual.acacia-hero-slideshow { isolation: isolate; }
.hero-visual img.acacia-hero-stage-layer {
  position: absolute !important;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: translate3d(var(--acacia-image-x, 0px), var(--acacia-image-y, 0px), 0) scale(1.055);
  transition: opacity 1s cubic-bezier(.2,.72,.22,1), transform 6.6s cubic-bezier(.2,.72,.22,1);
  will-change: opacity, transform;
  -webkit-user-drag: none;
}
.hero-visual img.acacia-hero-stage-layer.is-active {
  opacity: 1;
  transform: translate3d(var(--acacia-image-x, 0px), var(--acacia-image-y, 0px), 0) scale(1);
}
.hero-visual.acacia-hero-slideshow .hero-visual-tint { z-index: 1; pointer-events: none; }
.hero-visual.acacia-hero-slideshow .hero-spec { z-index: 3; }
.hero-visual.acacia-hero-slideshow .hero-spec-top {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: calc(100% - 44px);
  line-height: 1.35;
}
.acacia-hero-stage-number {
  color: #8bf1c7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  font-variant-numeric: tabular-nums;
}
.acacia-hero-stage-title { color: #fff; font-size: 12px; font-weight: 650; }
.hero-visual.acacia-hero-slideshow .hero-spec-bottom {
  bottom: 76px;
  max-width: calc(100% - 44px);
  border-radius: 14px;
  line-height: 1.5;
  text-wrap: balance;
}
.acacia-hero-stage-controls {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: calc(100% - 34px);
  padding: 7px 10px;
  transform: translateX(-50%);
  direction: ltr;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(5, 25, 21, .62);
  box-shadow: 0 10px 30px rgba(2, 12, 10, .2), inset 0 1px 0 rgba(255,255,255,.1);
  -webkit-backdrop-filter: blur(14px) saturate(135%);
  backdrop-filter: blur(14px) saturate(135%);
}
.acacia-hero-stage-toggle {
  display: grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.23);
  border-radius: 50%;
  background: rgba(255,255,255,.09);
  color: #fff;
  font: inherit;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.acacia-hero-stage-toggle:hover,
.acacia-hero-stage-toggle:focus-visible {
  border-color: rgba(139,241,199,.7);
  background: rgba(69,215,164,.2);
  color: #b7ffe1;
  transform: scale(1.06);
}
.acacia-hero-stage-dots { display: flex; align-items: center; justify-content: center; gap: 5px; }
.acacia-hero-stage-dot {
  display: grid;
  width: 13px;
  height: 22px;
  flex: 0 0 13px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  transition: flex-basis .24s ease;
}
.acacia-hero-stage-dot > span {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  transition: width .24s ease, background .24s ease, box-shadow .24s ease;
}
.acacia-hero-stage-dot[aria-current="true"] { flex-basis: 23px; }
.acacia-hero-stage-dot[aria-current="true"] > span {
  width: 18px;
  background: #8bf1c7;
  box-shadow: 0 0 12px rgba(139,241,199,.52);
}
.acacia-hero-stage-dot:hover > span { background: #fff; }
.acacia-hero-stage-controls button:focus-visible { outline: 2px solid #a7f8d7; outline-offset: 3px; }

@media (max-width: 540px) {
  .hero-visual.acacia-hero-slideshow .hero-spec-top { gap: 7px; }
  .acacia-hero-stage-title { font-size: 11px; }
  .hero-visual.acacia-hero-slideshow .hero-spec-bottom { bottom: 68px; font-size: 10px; }
  .acacia-hero-stage-controls { bottom: 13px; gap: 7px; padding: 5px 8px; }
  .acacia-hero-stage-toggle { flex-basis: 29px; width: 29px; height: 29px; }
  .acacia-hero-stage-dots { gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual img.acacia-hero-stage-layer,
  .hero-visual img.acacia-hero-stage-layer.is-active,
  .acacia-hero-stage-toggle,
  .acacia-hero-stage-dot,
  .acacia-hero-stage-dot > span { transition: none; }
  .hero-visual img.acacia-hero-stage-layer,
  .hero-visual img.acacia-hero-stage-layer.is-active { transform: none; }
}
