/* Shared refinements: content-led layouts, compact navigation and real visuals. */
.header-shell { gap:1rem; }
.brand img { width:156px; }
.header-actions { gap:.5rem; }
.desktop-nav { gap:.3rem; }
.desktop-nav .nav-link { padding-inline:.65rem; font-size:.82rem; }
.header-cta { min-height:40px; padding:.65rem .85rem; font-size:.74rem; }
.header-profile { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:40px; padding:.55rem .7rem; border:1px solid #c9e1e6; border-radius:.7rem; color:var(--teal-700); background:#f0fafa; font-size:.75rem; font-weight:750; white-space:nowrap; transition:background 180ms ease,border-color 180ms ease,transform 180ms ease; }
.header-profile:hover { background:#dff4f2; border-color:var(--teal-600); transform:translateY(-1px); }
.header-profile .nav-icon { width:1rem; height:1rem; }
.profile-short { display:none; }
.header-actions > .language-switcher { display:inline-flex; align-items:center; padding:3px; gap:2px; height:36px; border:1px solid #dbe7ec; border-radius:.65rem; background:#edf4f7; box-shadow:none; }
.language-switcher__button { display:grid; place-items:center; min-width:30px; min-height:28px; width:30px; height:28px; padding:0; border-radius:.45rem; font-size:.67rem; font-weight:800; color:#627183; transition:background 160ms ease,color 160ms ease,box-shadow 160ms ease; }
.language-switcher__button.is-active { background:var(--navy-900); color:#fff; box-shadow:0 2px 5px #0b234c1a; }
.language-switcher__button:not(.is-active):hover { color:var(--teal-700); background:#fff; }
.menu-toggle { width:42px; height:42px; min-width:42px; min-height:42px; border-radius:.7rem; box-shadow:none; }
.menu-glyph { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.menu-glyph path { transform-origin:center; transition:transform 200ms ease,opacity 160ms ease; }
.menu-toggle.is-open .menu-glyph path:first-child { transform:translateY(5px) rotate(45deg); }
.menu-toggle.is-open .menu-glyph path:nth-child(2) { opacity:0; }
.menu-toggle.is-open .menu-glyph path:last-child { transform:translateY(-5px) rotate(-45deg); }
.mobile-menu { position:absolute; top:calc(100% + .5rem); right:max(.75rem,calc((100% - var(--container))/2)); width:min(620px,calc(100% - 1.5rem)); max-height:calc(100dvh - var(--header-h) - 1.5rem); overflow-y:auto; padding:1rem; border:1px solid #d3e5e9; border-radius:1.1rem; background:linear-gradient(145deg,#fff,#f0f9f9); box-shadow:0 18px 55px #071a382e; animation:menu-open 180ms ease both; overscroll-behavior:contain; }
@keyframes menu-open { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
.mobile-menu__direct { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem; padding-bottom:.8rem; border-bottom:1px solid #dce8ed; }
.mobile-menu a:not(.button) { display:flex; align-items:center; gap:.5rem; min-height:44px; padding:.6rem .5rem; border-radius:.6rem; font-size:.8rem; font-weight:700; line-height:1.3; transition:background 180ms ease,color 180ms ease; }
.mobile-menu__direct a { justify-content:center; background:#edf5f7; }
.mobile-menu .nav-icon { flex-shrink:0; color:var(--teal-700); }
.mobile-menu a:not(.button):hover,.mobile-menu a[aria-current="page"] { background:#dbf2ef; color:var(--teal-700); }
.mobile-menu__groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding-block:1rem .8rem; }
.mobile-menu__groups > section { min-width:0; }
.mobile-menu__groups h2 { margin:0 0 .35rem .5rem; font-size:.62rem; line-height:1.4; letter-spacing:.1em; color:var(--ink-500); }
.mobile-menu__join { width:100%; min-height:44px; font-size:.8rem; }
.is-menu-open .mobile-sticky-cta { opacity:0; visibility:hidden; pointer-events:none; }

/* Original logo colour with a soft luminous halo, without a hard outline. */
.footer-brand img,.footer-brand .brand-logo-effect { filter:drop-shadow(0 0 3px #fffffff0) drop-shadow(0 0 13px #cefffa91); }
.footer-brand:hover .brand-logo-effect { filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 20px #a3fff4b3); transform:translateY(-1px); }
.footer-brand__logo { display:inline-block; position:relative; isolation:isolate; }
.footer-brand__logo::before { content:""; position:absolute; z-index:-1; inset:-.4rem -.6rem; background:radial-gradient(ellipse,#e7fffc8f,transparent 72%); filter:blur(7px); }
.footer-grid { grid-template-columns:1.15fr 1.25fr .8fr; gap:clamp(1.75rem,3vw,3rem); padding-block:2.75rem 2.2rem; }
.footer-brand p,.footer-brand address { line-height:1.65; }
.footer-links nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem .8rem; }
.footer-links nav a { align-items:center; min-height:38px; font-size:.83rem; line-height:1.35; }
.footer-links .nav-icon { display:block; width:1rem; height:1rem; margin:0; color:var(--teal-300); flex-shrink:0; }
.footer-links nav > .footer-profile { grid-column:1/-1; justify-content:center; margin-top:.3rem; border:1px solid #ffffff24; border-radius:.6rem; background:#ffffff08; }
.footer-legal { align-items:center; flex-wrap:wrap; }
.footer-legal__button { display:inline-flex; align-items:center; min-height:36px; padding:0; }
.footer-whatsapp { min-height:40px; }

/* Photo cards replace portrait placeholders and duplicate empty profiles. */
.people-layout { display:block; }
.people-layout .section-intro { max-width:none; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:0 2rem; margin-bottom:1.5rem; }
.people-layout .section-intro > .eyebrow,.people-layout .section-intro > h2,.people-layout .section-intro > p { grid-column:1; }
.people-layout .section-intro > p { max-width:70ch; margin-bottom:0; }
.people-layout .section-intro > .button { grid-column:2; grid-row:2/4; }
.role-photo-grid { display:grid; gap:1.1rem; min-width:0; }
.role-photo-grid--home { grid-template-columns:repeat(4,minmax(0,1fr)); }
.role-photo-grid--details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.role-photo-card { display:block; min-width:0; overflow:hidden; border:1px solid #dce8ed; border-radius:1.25rem; background:#fff; box-shadow:0 8px 25px #0b234c09; transition:transform 200ms ease,box-shadow 200ms ease; }
.role-photo-card > picture { display:block; aspect-ratio:16/10; overflow:hidden; background:#e3f0f0; }
.role-photo-card > picture > img { width:100%; height:100%; object-fit:cover; transition:transform 450ms ease; }
a.role-photo-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px #0b234c19; }
a.role-photo-card:hover img { transform:scale(1.035); }
.role-photo-card__body { padding:1rem; }
.role-photo-card__eyebrow { display:block; margin-bottom:.4rem; color:var(--teal-700); font-size:.63rem; line-height:1.3; letter-spacing:.09em; font-weight:800; }
.role-photo-card h3 { font-size:1.1rem; line-height:1.25; margin-bottom:.65rem; letter-spacing:-.025em; }
.role-photo-card__body p { margin-bottom:0; font-size:.92rem; line-height:1.65; }
.role-photo-grid--home h3 { margin-bottom:0; font-size:1rem; }
.imagery-note { font-size:.72rem; color:var(--ink-500); margin:1rem 0 0; }
.roles-overview .section-heading { max-width:780px; }
.role-photo-card[id],#company-profile { scroll-margin-top:calc(var(--header-h) + 1rem); }
.profile-resource { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid #ffffff26; }
.profile-resource h3 { color:#fff; margin-bottom:.35rem; font-size:1.05rem; }
.profile-resource p { margin:0; max-width:65ch; font-size:.85rem; }
.profile-resource .button { flex-shrink:0; min-height:44px; }

/* Keep the information in the focus strip visible at every breakpoint. */
.value-item { min-height:0; padding:1.1rem; align-items:center; }
.value-item > div { min-width:0; }
.value-item span { display:block; margin-top:.25rem; font-size:.72rem; line-height:1.4; }
.feature-card--refined { min-height:0; }

/* Legal documents use a readable content column and useful local navigation. */
.legal-hero { padding-block:3rem 1rem; }
.legal-hero h1 { max-width:none; font-size:clamp(2.1rem,4.5vw,3.7rem); }
.legal-lead { max-width:70ch; margin-bottom:1rem; font-size:1.05rem; }
.legal-date { margin:0; color:var(--ink-500); font-size:.8rem; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.legal-toc { position:sticky; top:calc(var(--header-h) + 1.25rem); padding:1.1rem; border:1px solid #dce8ed; border-radius:1rem; background:#fff; }
.legal-toc h2 { font-size:.85rem; letter-spacing:0; margin-bottom:.65rem; }
.legal-toc a { display:block; padding:.5rem 0; font-size:.8rem; line-height:1.45; color:var(--ink-700); }
.legal-toc a:hover { color:var(--teal-700); }
.legal-article { max-width:78ch; }
.legal-article article { margin-bottom:2rem; scroll-margin-top:calc(var(--header-h) + 1.25rem); }
.legal-article h2 { font-size:clamp(1.25rem,2vw,1.55rem); line-height:1.3; letter-spacing:-.025em; margin-bottom:.8rem; }
.legal-article p { font-size:.95rem; line-height:1.8; margin-bottom:.85rem; }
.legal-contact { margin-top:1.5rem; padding:1.5rem; border:1px solid #cde7e6; border-radius:1.2rem; background:#eaf7f5; }
.legal-contact .button { margin-top:.3rem; }
.legal-page .mobile-sticky-cta { display:none; }
.hero__mobile-visual > span { right:1.2rem; bottom:1.2rem; max-width:12ch; font-size:.9rem; line-height:1.15; text-align:right; }

@media (min-width:1280px) {
  .desktop-nav { display:flex; }
  .menu-toggle { display:none; }
  .header-cta { display:inline-flex; }
}
@media (max-width:1279px) {
  .desktop-nav,.header-cta { display:none; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .header-actions { margin-left:auto; }
  .header-shell { gap:.6rem; }
}
@media (max-width:1100px) {
  .hero { min-height:0; }
  .hero__grid { grid-template-columns:minmax(0,1fr); }
  .hero__visual { display:none; }
  .hero__mobile-visual { display:block; margin-block:1.2rem; height:300px; }
  .hero__copy { padding-block:0; }
  .hero h1 { max-width:none; }
  .value-strip { transform:none; margin-top:1.25rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .value-item:nth-child(even) { border-left:1px solid var(--line); }
  .value-item:nth-child(n+3) { border-top:1px solid var(--line); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-connect { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; }
  .footer-connect h2,.footer-whatsapp { margin:0; }
  .legal-layout { grid-template-columns:220px minmax(0,1fr); gap:2rem; }
}
@media (min-width:560px) and (max-width:1100px) {
  .hero__copy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem 1.5rem; align-items:center; }
  .hero__copy > .eyebrow { grid-column:1; margin:0; align-self:end; }
  .hero h1 { grid-column:1; margin:0; font-size:clamp(1.95rem,4vw,2.9rem); line-height:1.05; }
  html[lang="ms"] .hero h1 { font-size:clamp(1.95rem,4vw,2.9rem); }
  .hero__mobile-visual { grid-column:2; grid-row:1/3; width:100%; height:100%; min-height:240px; margin:0; }
  .hero__lead,.hero__actions,.hero__microcopy { grid-column:1/-1; margin:0; }
  .hero__lead { max-width:none; }
  .hero__actions { display:flex; }
  .hero__actions .button { flex:1; width:auto; }
  .hero__microcopy { justify-content:center; }
}
@media (max-width:900px) {
  .role-photo-grid--home { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .people-layout .section-intro { display:block; }
  .people-layout .section-intro > p { margin-bottom:1rem; }
  .legal-layout { display:block; }
  .legal-toc { display:flex; align-items:center; gap:1rem; overflow-x:auto; position:static; margin-bottom:1.5rem; padding:.75rem 1rem; }
  .legal-toc h2,.legal-toc a { flex-shrink:0; white-space:nowrap; margin:0; }
  .legal-toc a { padding:.3rem 0; font-size:.75rem; }
}
@media (max-width:767px) {
  .site-header > .container { width:calc(100% - 1.5rem); }
  .brand img { width:132px; }
  .header-profile { min-height:38px; font-size:.7rem; }
  .footer-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; padding-block:2rem 1.35rem; }
  .footer-brand img { width:184px; }
  .footer-links nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem .65rem; }
  .footer-links nav a { min-height:44px; font-size:.8rem; gap:.45rem; }
  .footer-connect { grid-column:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.3rem .8rem; }
  .footer-connect h2 { grid-column:1; margin:0; font-size:.9rem; }
  .footer-whatsapp { grid-column:1; grid-row:2; font-size:.95rem; margin:0; }
  .footer-connect .social-links { grid-column:2; grid-row:1/3; align-self:center; gap:.4rem; }
  .footer-connect .social-link { width:38px; height:40px; }
  .footer-bottom { gap:.35rem; padding-block:.85rem 1rem; }
  .footer-bottom p { font-size:.7rem; }
  .footer-legal { gap:.8rem; }
  .footer-legal__button { min-height:40px; font-size:.72rem; }
  .role-photo-grid { gap:.8rem; }
  .role-photo-grid--home .role-photo-card__body { padding:.8rem; }
  .role-photo-grid--home h3 { font-size:.87rem; line-height:1.3; }
  .role-photo-card__eyebrow { font-size:.57rem; }
  .profile-resource { align-items:flex-start; }
  .value-item { padding:.85rem; min-height:0; }
  .value-item strong { font-size:.8rem; }
  .value-item span { display:block; font-size:.68rem; }
  .value-item svg { width:1.6rem; height:1.6rem; }
  .legal-hero { padding-block:2rem .5rem; }
}
@media (max-width:559px) {
  .profile-full { display:none; }
  .profile-short { display:block; }
  .header-profile { gap:.3rem; padding:.45rem .5rem; }
  .hero h1 { font-size:clamp(2rem,9.6vw,3.35rem); max-width:none; line-height:1.04; }
  html[lang="en"] .hero h1 { font-size:clamp(2rem,11.6vw,3.8rem); }
  .hero__mobile-visual { height:clamp(210px,57vw,280px); margin-block:1.1rem; }
  .hero__microcopy { margin-top:1rem; }
  .hero__actions { gap:.65rem; }
  .role-photo-grid--details { grid-template-columns:minmax(0,1fr); gap:1.1rem; }
  .profile-resource { flex-direction:column; gap:1rem; }
  .profile-resource .button { width:100%; }
}
@media (max-width:767px) {
  .hero__microcopy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex-wrap:nowrap; gap:.35rem; width:100%; }
  .hero-benefit { min-width:0; justify-content:center; gap:.25rem; min-height:36px; padding:.45rem .3rem; }
  .hero-benefit > svg { width:.75rem; height:.75rem; padding:.1rem; }
  .hero__microcopy .hero-benefit > .hero-benefit__text { font-size:clamp(.68rem,2.9vw,.79rem); letter-spacing:-.025em; }
}
@media (max-width:390px) {
  .brand img { width:116px; }
  .header-profile { width:36px; min-height:38px; padding:.5rem; }
  .profile-short { display:none; }
  .header-actions { gap:.4rem; }
  .menu-toggle { width:40px; height:40px; min-width:40px; min-height:40px; }
  .mobile-menu { padding:.8rem; }
  .mobile-menu__groups { gap:.5rem; }
  .mobile-menu a:not(.button) { font-size:.75rem; gap:.4rem; }
}
@media (prefers-reduced-motion:reduce) {
  .mobile-menu { animation:none; }
  .menu-glyph path,.role-photo-card,.role-photo-card img,.header-profile { transition:none; }
  a.role-photo-card:hover,a.role-photo-card:hover img,.footer-brand:hover .brand-logo-effect { transform:none; }
}
