/* ==========================================================================
   FWG · مجموعة اف دبليو جي الاستشارية — site styles
   The attached design, rebuilt: same palette, type, cards and rhythm,
   with one consistent scale and cleaner details.
   Layout: 1200px container · centred section heads · bordered white cards on a warm off-white page
   ========================================================================== */
@font-face{font-family:"Rubik";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/rubik-arabic-300.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Rubik";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/rubik-arabic-400.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Rubik";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/rubik-arabic-500.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Rubik";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/rubik-arabic-600.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Rubik";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/rubik-arabic-700.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Rubik";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/rubik-arabic-800.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Rubik";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/rubik-latin-300.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Rubik";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/rubik-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Rubik";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/rubik-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Rubik";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/rubik-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Rubik";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/rubik-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Rubik";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/rubik-latin-800.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* the attached site's own tokens */
  --bg:#fbfaf8; --fg:#0d111b; --card:#ffffff;
  --primary:#101934; --primary-2:#1c2746; --on-primary:#fbfaf8; --on-primary-2:rgba(251,250,248,.78); --on-primary-3:rgba(251,250,248,.56);
  --primary-soft:#e7ebf6;
  --muted:#f4f3f0; --tint:#f8f7f5; --muted-fg:#60636a; --fg-2:#3b3f48;
  --gold:#b48b39; --gold-2:#bfa060; --gold-ink:#8a6a28; --gold-soft:#f6ead1;
  --mint:#afe5d5; --mint-soft:#e1f8f1;
  --border:#e6e4e1; --border-2:#d9d6d1;
  --wa:#25d366; --wa-ink:#0f6b3a; --wa-soft:#e6f8ee;
  --radius:12px; --radius-lg:16px; --radius-xl:24px;
  --shadow-soft:0 1px 2px rgba(15,17,34,.04);
  --shadow:0 1px 2px rgba(15,17,34,.04),0 8px 24px -12px rgba(15,17,34,.08);
  --shadow-lift:0 1px 2px rgba(15,17,34,.05),0 18px 40px -22px rgba(15,17,34,.22);
  --font:"Rubik","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --container:1200px; --gutter:16px; --header:68px;
  --ease:cubic-bezier(.4,0,.2,1);
  color-scheme:light;
}
@media (min-width:768px){:root{--gutter:24px}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.7;font-feature-settings:"kern","liga","calt";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
html[dir=rtl] body{line-height:1.85}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}
.on-dark :focus-visible{outline-color:var(--gold-2)}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.num{font-variant-numeric:tabular-nums}
.nowrap{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:var(--primary);color:var(--on-primary);padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;transition:top .2s}
.skip:focus{top:12px}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.icon{width:1.15em;height:1.15em;flex:none}
[dir=ltr] .flip{transform:scaleX(-1)}

/* ---------------------------------------------------------------- type */
/* section labels: large enough to read, gold, framed by two short rules when centred */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.6;color:var(--gold-ink);letter-spacing:0}
[lang=en] .eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.eyebrow.gold{color:var(--gold)}
.sec-head .eyebrow::before,.sec-head .eyebrow::after,.cta .eyebrow::before,.cta .eyebrow::after{content:"";flex:none;width:24px;height:1px;background:currentColor;opacity:.55}
.sec-head.start .eyebrow::after{display:none}
.h1{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.35;font-weight:600;letter-spacing:0}
[lang=en] .h1{line-height:1.12;letter-spacing:-.02em}
.h2{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.45;font-weight:600}
[lang=en] .h2{line-height:1.18;letter-spacing:-.015em}
.h3{font-size:1.08rem;line-height:1.55;font-weight:600}
.lead{font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.8;color:var(--muted-fg)}
.muted{color:var(--muted-fg)}
.small{font-size:14px;line-height:1.75}
.hl{color:var(--gold)}

/* ---------------------------------------------------------------- buttons */
.btn{--h:48px;display:inline-flex;align-items:center;justify-content:center;gap:.55em;height:var(--h);padding-inline:22px;border-radius:12px;font-size:15px;font-weight:500;white-space:nowrap;border:1px solid transparent;transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}
.btn .icon{width:16px;height:16px}
.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px rgba(16,25,52,.2)}
.btn-primary:hover{background:var(--primary-2);box-shadow:0 10px 24px -14px rgba(16,25,52,.6);transform:translateY(-1px)}
.btn-ghost{color:var(--fg)}
.btn-ghost:hover{background:var(--muted)}
.btn-outline{background:var(--card);border-color:var(--border);color:var(--fg)}
.btn-outline:hover{border-color:var(--border-2);background:var(--bg)}
.btn-gold{background:var(--gold);color:var(--primary);font-weight:600}
.btn-gold:hover{background:#c39a45;transform:translateY(-1px);box-shadow:0 10px 24px -14px rgba(0,0,0,.5)}
.btn-ghost-light{color:var(--on-primary)}
.btn-ghost-light:hover{background:rgba(255,255,255,.08)}
.btn-sm{--h:38px;padding-inline:16px;font-size:14px;border-radius:10px}
.btn-block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--fg)}
.link-arrow .icon{width:15px;height:15px;transition:transform .2s var(--ease)}
.link-arrow:hover .icon{transform:translateX(-3px)}
[dir=ltr] .link-arrow:hover .icon{transform:scaleX(-1) translateX(-3px)}

/* ---------------------------------------------------------------- header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(251,250,248,.86);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(230,228,225,.85);transition:box-shadow .2s var(--ease)}
.site-header.scrolled{box-shadow:0 6px 24px -18px rgba(15,17,34,.35)}
.site-header .bar{display:flex;align-items:center;gap:20px;height:var(--header)}
.brand{display:inline-flex;align-items:center;flex:none;color:var(--primary);border-radius:8px}
.brand svg{height:42px;width:auto}
.nav{display:none;align-items:center;justify-content:center;gap:30px;flex:1}
.nav a{position:relative;padding-block:6px;font-size:14px;font-weight:500;color:var(--muted-fg);white-space:nowrap;transition:color .15s}
.nav a:hover{color:var(--fg)}
.nav a[aria-current=page]{color:var(--fg)}
.nav a[aria-current=page]::after{content:"";position:absolute;inset-inline:0;bottom:-2px;height:2px;border-radius:2px;background:var(--fg)}
.actions{display:flex;align-items:center;gap:6px;margin-inline-start:auto}
.lang{display:inline-flex;align-items:center;gap:6px;height:38px;padding-inline:10px;border-radius:10px;font-size:13px;font-weight:600;color:var(--fg-2);transition:background-color .15s}
.lang:hover{background:var(--muted)}
.lang .icon{width:16px;height:16px}
.actions .btn-sm{display:none}
.burger{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--fg)}
.burger:hover{background:var(--muted)}
.burger .icon{width:22px;height:22px}
@media (min-width:640px){.actions .btn-sm{display:inline-flex}}
@media (min-width:960px){.nav{display:flex}.burger{display:none}.actions{margin-inline-start:0}}
.mobile-nav{position:fixed;inset:calc(var(--header) + env(safe-area-inset-top,0px)) 0 0 0;z-index:49;background:var(--bg);padding:12px var(--gutter) calc(32px + env(safe-area-inset-bottom,0px));overflow-y:auto;border-top:1px solid var(--border)}
.mobile-nav a.item{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--border);font-size:18px;font-weight:500}
.mobile-nav a.item[aria-current=page]{color:var(--gold-ink)}
.mobile-nav a.item .icon{width:18px;height:18px;color:var(--muted-fg)}
.mobile-nav .btn{margin-top:20px;width:100%}
body.menu-open{overflow:hidden}

/* ---------------------------------------------------------------- sections */
.section{padding-block:clamp(64px,8vw,96px);border-top:1px solid var(--border)}
.section.tint{background:var(--tint)}
.section.compact{padding-block:clamp(48px,6vw,72px)}
.section.flush{border-top:0}
.sec-head{max-width:46rem;margin-inline:auto;text-align:center;margin-bottom:clamp(36px,5vw,56px)}
.sec-head .h2{margin-top:10px}
.sec-head .lead{margin-top:12px}
.sec-head.start{margin-inline:0;text-align:start}
.rule{display:block;width:44px;height:2px;border-radius:2px;background:var(--gold);margin:18px auto 0}
.sec-head.start .rule{margin-inline:0}

.grid{display:grid;gap:20px}
.g2{grid-template-columns:1fr}
.g3,.g4,.g5{grid-template-columns:1fr}
@media (min-width:640px){.g2,.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.narrow{max-width:960px;margin-inline:auto}
/* odd counts: rows stay centred instead of leaving a gap at the end */
.flow{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.flow > *{flex:0 0 100%;min-width:0}
.flow > .card{height:auto}
@media (min-width:640px){.flow > *{flex-basis:calc((100% - 20px)/2)}}
@media (min-width:1024px){.flow.f3 > *{flex-basis:calc((100% - 40px)/3)}}
.narrower{max-width:768px;margin-inline:auto}

/* ---------------------------------------------------------------- cards */
.card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;min-width:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}
.card.hover:hover,a.card:hover{border-color:rgba(180,139,57,.38);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.card .h3{margin-top:16px}
.card .h3:first-child{margin-top:0}
.card p.body{margin-top:8px;font-size:14px;line-height:1.8;color:var(--muted-fg)}
.chip-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fffaf1;border:1px solid rgba(180,139,57,.32);color:var(--gold-ink);flex:none}
.chip-icon svg{width:20px;height:20px}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.idx{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--muted-fg);direction:ltr}
.idx.gold{font-family:var(--font);font-weight:700;font-size:12px;letter-spacing:.18em;color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;border-radius:999px;background:var(--muted);padding:5px 12px;font-size:12.5px;font-weight:500;color:var(--fg-2);line-height:1.5}
.chip.line{background:var(--card);border:1px solid var(--border)}
.chip.more{background:none;color:var(--muted-fg);padding-inline:6px}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 12px;font-size:11.5px;font-weight:600;line-height:1.5;background:var(--muted);color:var(--fg-2)}
.badge.gold{background:var(--gold-soft);color:var(--gold-ink);border:1px solid rgba(180,139,57,.28)}
.gold-line{display:block;width:28px;height:2px;border-radius:2px;background:var(--gold);margin-bottom:16px}

/* ---------------------------------------------------------------- home hero */
.hero{position:relative;padding-block:clamp(72px,10vw,120px) clamp(56px,8vw,96px);text-align:center}
.hero .pill{display:inline-flex;align-items:center;gap:10px;max-width:100%;border:1px solid rgba(180,139,57,.32);background:linear-gradient(180deg,#fff,#fffaf1);border-radius:999px;padding:9px 20px;font-size:clamp(13.5px,3.7vw,15.5px);font-weight:500;line-height:1.6;color:var(--fg-2);box-shadow:0 1px 2px rgba(15,17,34,.04),0 14px 30px -22px rgba(138,106,40,.6)}
.hero .pill svg{flex:none;width:14px;height:14px;color:var(--gold)}
.hero .pill b{font-weight:600;color:var(--fg)}
.hero .pill .dot{flex:none;width:4px;height:4px;border-radius:50%;background:var(--gold-2)}
[lang=en] .hero .pill{font-size:clamp(11px,3vw,12.5px);letter-spacing:.14em;text-transform:uppercase}
.hero .h1{margin-top:28px}
.hero .lead{max-width:40rem;margin:24px auto 0}
.hero .btn-row{margin-top:36px}
/* "Riyadh · capital of decision": a signature line under the buttons */
.hero .caption{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:44px;font-size:clamp(14px,3.8vw,16px);font-weight:500;line-height:1.6;color:var(--fg-2)}
.hero .caption .icon{width:17px;height:17px;color:var(--gold)}
.hero .caption .sep{flex:none;width:5px;height:5px;margin-inline:4px;background:var(--gold-2);transform:rotate(45deg)}
.hero .caption .g{font-weight:600;color:var(--gold-ink)}
.hero .caption .ln{--a:rgba(180,139,57,0);--b:rgba(180,139,57,.75);flex:none;width:clamp(22px,6vw,64px);height:1px;background:linear-gradient(90deg,var(--a),var(--b))}
.hero .caption .ln:last-child,[dir=rtl] .hero .caption .ln:first-child{background:linear-gradient(90deg,var(--b),var(--a))}
[dir=rtl] .hero .caption .ln:last-child{background:linear-gradient(90deg,var(--a),var(--b))}
[lang=en] .hero .caption{font-size:clamp(11px,3vw,12.5px);letter-spacing:.2em;text-transform:uppercase}

/* ---------------------------------------------------------------- stats */
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;text-align:center}
@media (min-width:768px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat .v{font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}
.stat .l{margin-top:6px;font-size:13.5px;font-weight:500;color:var(--muted-fg)}
.stats.boxed .stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 16px}
.stats.boxed .stat .v{font-size:clamp(1.7rem,2.6vw,2.1rem)}

/* ---------------------------------------------------------------- principles: one framed panel, four numbered pillars */
.pillars{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-soft)}
@media (min-width:640px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.pillars{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pillar{position:relative;background:var(--card);padding:clamp(28px,3vw,38px) clamp(22px,2.4vw,30px) clamp(28px,3vw,36px);transition:background-color .25s var(--ease)}
.pillar::before{content:"";position:absolute;top:0;inset-inline-start:clamp(22px,2.4vw,30px);width:36px;height:2px;background:var(--gold);transition:width .35s var(--ease)}
.pillar:hover{background:#fffdf8}
.pillar:hover::before{width:72px}
.pillar .pn{display:block;font-size:clamp(2.2rem,3.4vw,2.85rem);font-weight:300;line-height:1;color:var(--gold);letter-spacing:.01em}
.pillar .h3{margin-top:22px;font-size:1.18rem}
.pillar .body{margin-top:10px;font-size:14.5px;line-height:1.9;color:var(--muted-fg)}

/* ---------------------------------------------------------------- practices */
.practice{display:flex;flex-direction:column;height:100%;padding:28px}
.practice::before{content:"";position:absolute;top:-1px;inset-inline:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transform:scaleX(.16);transform-origin:var(--o,right);transition:transform .45s var(--ease)}
[dir=ltr] .practice::before{--o:left}
.practice:hover::before{transform:scaleX(1)}
.pr-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pr-k{font-size:13.5px;font-weight:600;color:var(--gold-ink)}
.pr-k b{font-weight:600;letter-spacing:.06em}
[lang=en] .pr-k{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.practice .h3{margin-top:22px;font-size:1.28rem}
.practice p.body{margin-top:10px;font-size:14.5px}
.pr-list{display:grid;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.pr-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.65;color:var(--fg-2)}
.pr-list li::before{content:"";flex:none;width:5px;height:5px;margin-top:.66em;background:var(--gold);transform:rotate(45deg)}
.pr-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px}
.pr-foot .more{font-size:13px;font-weight:500;color:var(--muted-fg)}

/* ---------------------------------------------------------------- method: a stepped line, numbered nodes */
.steps{display:grid;grid-template-columns:1fr;max-width:1100px;margin-inline:auto}
.step{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:18px;padding-bottom:30px}
.step:last-child{padding-bottom:0}
.step .sn{grid-row:1 / span 2;position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--card);border:1px solid rgba(180,139,57,.5);color:var(--gold-ink);font-size:14px;font-weight:600;letter-spacing:.04em;box-shadow:0 0 0 6px var(--tint)}
.step .h3{margin-top:10px;font-size:1.14rem}
.step .body{grid-column:2;margin-top:6px;font-size:14.5px;line-height:1.9;color:var(--muted-fg)}
.step::before{content:"";position:absolute;inset-inline-start:24px;top:48px;bottom:0;width:1px;background:rgba(180,139,57,.38)}
.step:last-child::before{display:none}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
  .step{display:block;padding-bottom:0}
  .step .h3{margin-top:22px}
  .step .body{margin-top:8px}
  .step::before{inset-inline-start:48px;inset-inline-end:-28px;top:24px;bottom:auto;width:auto;height:1px}
}

/* ---------------------------------------------------------------- sectors: a hairline table */
.sectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:1000px;margin-inline:auto;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden}
@media (min-width:768px){.sectors{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sectors li{display:flex;align-items:center;justify-content:center;gap:10px;min-height:80px;padding:16px 14px;background:var(--card);text-align:center;font-size:15px;font-weight:500;line-height:1.55;color:var(--fg-2);transition:background-color .2s,color .2s}
.sectors li:hover{background:#fffdf8;color:var(--fg)}
.sectors .sx{flex:none;display:grid;width:10px;height:10px;color:var(--gold)}
.sectors .sx svg{width:100%;height:100%}

/* ---------------------------------------------------------------- why: numbered rows */
.why{display:grid;grid-template-columns:1fr;column-gap:56px;max-width:1040px;margin-inline:auto;border-bottom:1px solid var(--border)}
@media (min-width:860px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}}
.why li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:28px 0;border-top:1px solid var(--border)}
.why .wn{min-width:2.1ch;font-size:clamp(1.8rem,2.6vw,2.3rem);font-weight:300;line-height:1;color:var(--gold)}
.why .h3{font-size:1.14rem}
.why .body{margin-top:8px;font-size:14.5px;line-height:1.95;color:var(--muted-fg)}
.pill-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:880px;margin-inline:auto}
.pill-cloud span{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500;color:var(--fg-2)}

/* people (home) */
.people{display:grid;gap:20px;grid-template-columns:1fr;max-width:620px;margin-inline:auto}
@media (min-width:560px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
.person{display:block;overflow:hidden;padding:0}
.person .ph{aspect-ratio:4/3;background:linear-gradient(180deg,#0f1a33,#16213f);overflow:hidden}
.person .ph img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s var(--ease)}
.person:hover .ph img{transform:scale(1.035)}
.person .cap{padding:16px 20px 18px}
.person .cap .h3{margin:0;font-size:1.05rem}
.person .cap p{margin-top:2px;font-size:14px;color:var(--gold)}
.center-btn{display:flex;justify-content:center;margin-top:36px}

/* ---------------------------------------------------------------- logos */
.logo-img{display:block;width:calc(var(--lw) * var(--ls,52px));max-width:min(100%,var(--lmax,180px));height:auto;object-fit:contain}
/* client logos: rows of white tiles gliding past (two on the home page, three on the clients page) */
.mq-stack{display:grid;gap:16px}
.marquee{--tw:188px;--th:100px;--ls:60px;--gap:16px;position:relative;overflow:hidden;direction:ltr;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mq-stack.lg .marquee{--tw:216px;--th:116px;--ls:68px}
.mq-track{display:flex;width:max-content;animation:mq var(--dur,80s) linear infinite}
.marquee.rev .mq-track{animation-direction:reverse}
.marquee:hover .mq-track,.marquee:focus-within .mq-track{animation-play-state:paused}
.mq-set{display:flex;flex:none;gap:var(--gap);padding-right:var(--gap)}
.mq-item{flex:none;display:grid;place-items:center;width:var(--tw);height:var(--th);padding:14px 18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.mq-item:hover{border-color:rgba(180,139,57,.4);box-shadow:var(--shadow)}
.mq-item .logo-img{width:calc(var(--lw) * var(--ls));max-width:100%;max-height:100%;height:auto;object-fit:contain}
@keyframes mq{to{transform:translateX(-50%)}}
@media (max-width:640px){.marquee{--tw:150px;--th:84px;--ls:48px;--gap:12px}.mq-stack{gap:12px}.mq-stack.lg .marquee{--tw:164px;--th:92px;--ls:52px}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none!important}.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.mq-set[aria-hidden]{display:none}}

/* personalities: photo, Snapchat badge, name and handle — as in the company profile */
.persona-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1024px){.persona-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* the full list: rows stay centred whatever the count */
.persona-grid.all{display:flex;flex-wrap:wrap;justify-content:center}
.persona-grid.all > li{flex:0 0 calc((100% - 14px)/2)}
@media (min-width:720px){.persona-grid.all > li{flex-basis:calc((100% - 28px)/3)}}
@media (min-width:1024px){.persona-grid.all > li{flex-basis:calc((100% - 42px)/4)}}
.persona{min-width:0}
.pc{display:flex;align-items:center;gap:14px;height:100%;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.pc:hover{border-color:rgba(180,139,57,.42);box-shadow:var(--shadow)}
.pc .av{position:relative;flex:none;width:58px;height:58px;padding:2px;border-radius:50%;background:linear-gradient(145deg,#dcbc78,#a77f30)}
.pc .av img{width:100%;height:100%;border-radius:50%;border:2px solid var(--card);object-fit:cover;background:var(--muted)}
.pc .sb{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fffc00;border:2px solid var(--card);color:#111}
.pc .sb svg{width:13px;height:13px}
.pc .tx{display:flex;flex-direction:column;min-width:0}
.pc .nm{display:-webkit-box;overflow:hidden;font-size:14.5px;font-weight:600;line-height:1.45;color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.pc .hd{overflow:hidden;margin-top:1px;font-size:12.5px;line-height:1.5;color:var(--muted-fg);direction:ltr;unicode-bidi:isolate;text-overflow:ellipsis;white-space:nowrap}
[dir=rtl] .pc .hd{text-align:right}
@media (max-width:559px){.pc{flex-direction:column;gap:10px;padding:18px 10px;text-align:center}.pc .tx{align-items:center;max-width:100%}[dir=rtl] .pc .hd{text-align:center}}
.more-line{margin-top:28px;text-align:center;font-size:14px;font-weight:500;color:var(--muted-fg)}
.more-line b{color:var(--fg);font-weight:600}

/* ---------------------------------------------------------------- dark bands */
.band{position:relative;overflow:hidden;background:var(--primary);color:var(--on-primary)}
.band .eyebrow{color:var(--gold-2)}
.band .lead{color:var(--on-primary-2)}
.band .h2{color:var(--on-primary)}
.cta{padding-block:clamp(72px,9vw,104px);text-align:center;border-top:0}
.cta .h2{max-width:44rem;margin:12px auto 0}
.cta .lead{max-width:38rem;margin:16px auto 0}
.cta .btn-row{margin-top:32px}
.cta-box{border-radius:var(--radius-xl);padding:clamp(40px,6vw,64px) clamp(20px,5vw,56px);text-align:center}
.pattern{position:absolute;inset:0;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'><g fill='%23B49B57'><rect x='13' y='9' width='2' height='10'/><rect x='9' y='13' width='10' height='2'/></g></svg>");background-size:28px 28px}
.deco{position:absolute;pointer-events:none;opacity:.28}
.deco.a{inset-inline-end:-40px;top:40px;width:120px;height:120px;color:var(--mint)}
.deco.b{inset-inline-start:40px;bottom:40px;width:80px;height:80px;color:var(--gold)}
.deco svg{width:100%;height:100%}
@media (max-width:700px){.deco.b{display:none}.deco.a{width:84px;height:84px;opacity:.2}}

/* inner page hero */
.page-hero{text-align:center;border-top:0}
.page-hero .inner{position:relative;max-width:48rem;margin-inline:auto;padding-block:clamp(64px,9vw,104px)}
.gpill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(180,139,57,.42);background:rgba(255,255,255,.05);border-radius:999px;padding:8px 18px;font-size:14px;font-weight:600;line-height:1.6;color:var(--gold-2)}
[lang=en] .gpill{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase}
.gpill svg{width:13px;height:13px}
.page-hero h1{margin-top:24px;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.3;font-weight:700;color:var(--on-primary)}
[lang=en] .page-hero h1{line-height:1.12;letter-spacing:-.02em}
.page-hero .lead{margin:22px auto 0;max-width:42rem;font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--on-primary-2)}
.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px;margin:36px auto 0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);overflow:hidden}
.hero-stats div{padding:18px 12px;text-align:center}
.hero-stats div + div{border-inline-start:1px solid rgba(255,255,255,.14)}
.hero-stats dt{font-size:1.6rem;font-weight:600;color:var(--gold-2);line-height:1.2}
.hero-stats dd{margin-top:4px;font-size:13px;color:var(--on-primary-2)}

/* ---------------------------------------------------------------- about */
.prose{max-width:46rem;margin-inline:auto;display:grid;gap:20px;font-size:clamp(1.02rem,1.3vw,1.12rem);line-height:2;color:var(--fg-2)}
[lang=en] .prose{line-height:1.8}
.prose p:first-child{font-weight:500;color:var(--fg)}
.feature .chip-icon{margin-bottom:4px}
.message{display:grid;grid-template-columns:1fr;overflow:hidden;padding:0;max-width:1000px;margin-inline:auto}
@media (min-width:860px){.message{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
.message .txt{padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;justify-content:center}
.message .txt p.body{margin-top:16px;font-size:15.5px;line-height:2.05;color:var(--fg-2)}
[lang=en] .message .txt p.body{line-height:1.8}
.message .sig{margin-top:22px;font-size:14px;font-weight:600}
.message .sig span{font-weight:400;color:var(--muted-fg);margin-inline-start:6px}
.message .btn-row{justify-content:flex-start;margin-top:24px}
.message .ph{background:linear-gradient(180deg,#121c37,#1a2444);min-height:300px}
.message .ph img{width:100%;height:100%;object-fit:cover;object-position:top center}
@media (min-width:860px){.message .ph{order:2}}
.vm .card p{margin-top:12px;font-size:1.1rem;line-height:1.95;color:var(--fg-2)}
.story .badge{margin-bottom:4px}
.quote-card{display:flex;flex-direction:column;gap:18px;height:100%;padding:28px}
.quote-card .q{flex:1;font-size:14.5px;line-height:1.95;color:var(--fg-2)}
.quote-card .q::before{content:"”";display:block;font-size:42px;line-height:.6;color:var(--gold);margin-bottom:12px;font-family:Georgia,serif}
[dir=rtl] .quote-card .q::before{content:"“"}
.quote-card footer{font-size:12.5px;font-weight:600;color:var(--muted-fg);border-top:1px solid var(--border);padding-top:14px}
.promise{max-width:860px;margin-inline:auto;border:1px solid rgba(180,139,57,.35);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffdf8,var(--card));padding:clamp(28px,5vw,52px)}
.promise ol{display:grid;gap:14px;max-width:560px;margin:28px auto 0}
.promise li{display:flex;align-items:flex-start;gap:14px;font-size:15px;line-height:1.8;color:var(--fg-2)}
.promise li .n{display:grid;place-items:center;flex:none;width:28px;height:28px;margin-top:1px;border-radius:50%;background:var(--gold-soft);color:var(--gold-ink);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}

/* accreditation cards */
.acc-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.acc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.acc{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 16px 18px;text-align:center}
.acc .lgbox{display:grid;place-items:center;width:100%;height:96px;padding:10px;border-radius:var(--radius);background:var(--tint);border:1px solid var(--border)}
.acc .nm{font-size:14px;font-weight:500;line-height:1.55}
.acc .no{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:var(--muted-fg)}
.acc .no b{font-weight:600;color:var(--gold-ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* ---------------------------------------------------------------- team */
.leader{display:grid;grid-template-columns:1fr;overflow:hidden;padding:0}
@media (min-width:860px){.leader{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.leader .ph{order:2}}
.leader .ph{position:relative;min-height:300px;background:linear-gradient(180deg,#121c37,#1a2444)}
.leader .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.leader .txt{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;justify-content:center}
.leader .nm{margin-top:14px;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;line-height:1.35}
.leader .nm:first-child{margin-top:0}
.leader .role{margin-top:2px;font-size:14px;font-weight:500;color:var(--gold)}
.leader .bio{margin-top:16px;font-size:15px;line-height:1.95;color:var(--muted-fg)}
[lang=en] .leader .bio{line-height:1.75}
.leader .chips{margin-top:20px}
.leader .btn{margin-top:24px;align-self:flex-start}
.leaders{display:grid;gap:24px;max-width:1000px;margin-inline:auto}
.leader.secondary .nm{font-size:clamp(1.3rem,2.2vw,1.6rem)}
.member{display:flex;flex-direction:column;height:100%}
.member .top{display:flex;align-items:center;gap:14px}
.mono{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:var(--radius);background:var(--gold-soft);color:var(--gold-ink);font-weight:700;font-size:15px}
.member .nm{font-size:1.02rem;font-weight:600;line-height:1.45}
.member .rl{font-size:13px;font-weight:500;color:var(--gold);line-height:1.5}
.member .bio{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:14px;line-height:1.85;color:var(--muted-fg)}

/* ---------------------------------------------------------------- services */
.svc-hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(160deg,var(--card) 10%,var(--tint) 60%,#f3efe6);padding:clamp(32px,5vw,56px)}
.svc-hero .h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.35;font-weight:600;margin-top:10px}
[lang=en] .svc-hero .h1{line-height:1.12}
.svc-hero .lead{max-width:44rem;margin-top:16px}
.svc-hero .btn{margin-top:28px}
.svc-hero .deco{opacity:.12;width:200px;height:200px;inset-inline-end:-40px;top:-40px;color:var(--gold)}
.arm{scroll-margin-top:calc(var(--header) + 20px)}
.arm + .arm{margin-top:clamp(56px,7vw,80px)}
.arm-head{display:flex;align-items:center;gap:16px}
.arm-head .chip-icon{width:52px;height:52px}
.arm-head .h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.arm-intro{max-width:46rem;margin-top:16px;font-size:16px;line-height:1.9;color:var(--fg-2)}
.arm .grid{margin-top:28px}
.svc{padding:22px}
.svc .t{display:flex;align-items:flex-start;gap:10px}
.svc .t svg{width:18px;height:18px;flex:none;margin-top:4px;color:var(--gold)}
.svc .t h3{font-size:1rem;font-weight:600;line-height:1.6}
.svc p{margin-top:8px;font-size:14px;line-height:1.85;color:var(--muted-fg)}
.box{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--tint);padding:clamp(28px,5vw,48px)}

/* ---------------------------------------------------------------- pricing */
.plans{display:grid;gap:20px;grid-template-columns:1fr;align-items:stretch}
@media (min-width:900px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan{display:flex;flex-direction:column;border-radius:18px;padding:28px}
.plan.featured{border-color:rgba(180,139,57,.55);box-shadow:0 1px 2px rgba(15,17,34,.04),0 24px 48px -28px rgba(180,139,57,.55)}
.plan .badge{position:absolute;top:-13px;inset-inline-end:24px}
.plan .nm{font-size:1.3rem;font-weight:700}
.plan .ds{margin-top:4px;min-height:48px;font-size:14px;color:var(--muted-fg)}
.plan .price{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.plan .price b{display:block;font-size:1.15rem;font-weight:700}
.plan .price span{display:block;margin-top:2px;font-size:12.5px;color:var(--muted-fg)}
.plan ul{display:grid;gap:11px;margin-top:20px;flex:1}
.plan li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.65;color:var(--fg-2)}
.plan li svg{width:16px;height:16px;flex:none;margin-top:4px;color:var(--gold)}
.plan .btn{margin-top:26px}
.faq{display:grid;gap:12px;max-width:768px;margin-inline:auto}
.faq .card{padding:22px 24px}
.faq h3{font-size:1.02rem;font-weight:600;line-height:1.6}
.faq p{margin-top:8px;font-size:14.5px;line-height:1.9;color:var(--muted-fg)}

/* ---------------------------------------------------------------- contact */
.contact-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:1024px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
.info-list{display:grid;gap:14px;align-content:start}
.info{display:flex;align-items:center;gap:16px;padding:18px 20px}
.info h3{font-size:14px;font-weight:600}
.info p{margin-top:2px;font-size:14px;color:var(--muted-fg)}
.info a:hover{color:var(--fg)}
.info.note{display:block;background:#fffaf0;border-color:rgba(180,139,57,.35)}
.info.note .t{font-size:12px;font-weight:600;color:var(--gold-ink)}
.info.note p{margin-top:6px;line-height:1.85;color:var(--fg-2)}
.info.wa{background:var(--wa-soft);border-color:rgba(37,211,102,.35)}
.info.wa .chip-icon{background:var(--wa);border-color:transparent;color:#fff}
.info.wa h3{color:var(--wa-ink)}
.info.wa:hover{border-color:rgba(37,211,102,.7);box-shadow:var(--shadow)}
.form{padding:clamp(22px,3.5vw,32px)}
.form h2{font-size:1.35rem;font-weight:600}
.form .sub{margin-top:4px;font-size:14px;color:var(--muted-fg)}
.fields{display:grid;gap:16px;margin-top:22px;grid-template-columns:1fr}
@media (min-width:640px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fields .full{grid-column:1/-1}}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:13.5px;font-weight:500}
.field label .req{color:var(--gold-ink);margin-inline-start:2px}
.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);font-size:15px;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:130px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2360636a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-size:16px;background-position:left 12px center;padding-inline-end:38px}
[dir=ltr] .field select{background-position:right 12px center}
.field input::placeholder,.field textarea::placeholder{color:#9a9ca3}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,25,52,.08)}
.field.invalid input,.field.invalid textarea{border-color:#b32228;box-shadow:0 0 0 3px rgba(179,34,40,.08)}
.field .err{font-size:12.5px;color:#b32228}
.form .btn{margin-top:20px}
.form .consent{margin-top:12px;font-size:12.5px;color:var(--muted-fg);text-align:center}
.sent{margin-top:16px;border:1px solid rgba(43,116,64,.3);background:#eef7f1;border-radius:var(--radius);padding:16px 18px;font-size:14px;line-height:1.85}
.sent b{display:block;color:#205c33}
.sent .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sent textarea{width:100%;margin-top:12px;min-height:150px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:13.5px;background:#fff}
.offices-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.offices-head .h2{margin-top:6px;font-size:clamp(1.6rem,2.8vw,2.2rem)}
.offices-head p{font-size:14.5px;color:var(--muted-fg)}
.office{display:flex;flex-direction:column;gap:14px;padding:22px}
.office .meta{margin-top:auto}
.office .top{display:flex;align-items:center;gap:14px}
.office .top .chip-icon{width:46px;height:46px}
.office h3{font-size:1.15rem;font-weight:600;line-height:1.4;margin-top:6px}
.office .ct{font-size:12px;color:var(--muted-fg)}
[lang=en] .office .ct{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.office .addr{border-top:1px solid var(--border);padding-top:12px;font-size:14.5px;line-height:1.75;color:var(--fg-2)}
.office .meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted-fg);direction:ltr;justify-content:flex-end}
[dir=ltr] .office .meta{justify-content:flex-start}
.office .meta a{display:inline-flex;align-items:center;gap:6px}
.office .meta a:hover{color:var(--fg)}
.office .meta svg{width:14px;height:14px}
.office.hq{border-color:rgba(180,139,57,.5);background:linear-gradient(180deg,#fffdf8,var(--card))}
.office.hq h3{font-size:1.5rem}
.office.hq .chip-icon{background:var(--gold-soft);color:var(--gold-ink)}
.office.hq .badge{background:var(--gold-soft);color:var(--gold-ink)}
.branches{display:grid;gap:16px;grid-template-columns:1fr;margin-top:16px}
@media (min-width:720px){.branches{grid-template-columns:repeat(2,minmax(0,1fr))}}
.map-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}
.map-head h2{font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:600}
.map-head a{font-size:14px;font-weight:600;color:var(--gold-ink)}
.map-head a:hover{text-decoration:underline;text-underline-offset:4px}
.map{overflow:hidden;padding:0;height:clamp(300px,40vw,440px)}
.map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.85)}
.map .static{display:grid;place-items:center;height:100%;background:linear-gradient(135deg,#eef0f4,#f7f5f0);text-align:center;padding:24px}
.map .static .pinbox{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--gold-ink);margin:0 auto 14px;box-shadow:var(--shadow)}
.map .static .pinbox svg{width:24px;height:24px}

/* ---------------------------------------------------------------- founder */
.f-hero{min-height:min(82vh,760px);display:flex;align-items:center;justify-content:center;text-align:center;border-top:0}
.f-hero .inner{position:relative;padding-block:96px}
.f-hero h1{margin-top:36px;font-size:clamp(2.2rem,6vw,5rem);line-height:1.35;font-weight:600;color:var(--on-primary)}
[lang=en] .f-hero h1{line-height:1.12;letter-spacing:-.02em}
.f-hero h1 .soft{color:rgba(255,255,255,.88)}
.f-hero .down{display:block;margin:48px auto 0;width:22px;height:22px;color:var(--on-primary-3)}
.profile{display:grid;gap:clamp(28px,5vw,56px);grid-template-columns:1fr;align-items:center;max-width:1040px;margin-inline:auto}
@media (min-width:860px){.profile{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.profile .frame{order:2}}
.frame{border:1px solid rgba(180,139,57,.45);border-radius:22px;padding:8px;background:var(--card);box-shadow:var(--shadow);max-width:360px;margin-inline:auto;width:100%}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;border-radius:16px;background:#121c37}
.profile .nm{margin-top:10px;font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:600;line-height:1.35}
.profile .roles{margin-top:10px;font-size:14px;font-weight:500;color:var(--gold)}
.profile .pos{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:14.5px;line-height:1.85;color:var(--fg-2)}
.profile .bio{margin-top:14px;font-size:clamp(1rem,1.3vw,1.08rem);line-height:2;color:var(--muted-fg)}
[lang=en] .profile .bio{line-height:1.75}
.whoami .prose p:first-child{font-weight:400;color:var(--fg-2)}
.roles5{display:grid;gap:14px;grid-template-columns:repeat(1,minmax(0,1fr));margin-top:48px}
@media (min-width:600px){.roles5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.roles5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.roles5 .card{padding:20px}
.roles5 .card .h3{font-size:.98rem;margin-top:0}
.roles5 .card p{margin-top:8px;font-size:13.5px;line-height:1.8;color:var(--muted-fg)}
/* roles, board seats and memberships: each position sits right with its company */
.seats{display:grid;gap:14px;grid-template-columns:1fr;max-width:1000px;margin-inline:auto}
@media (max-width:759px){.seats{gap:10px}}
@media (min-width:760px){.seats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.seat{display:flex;align-items:center;gap:16px;min-width:0;padding:clamp(14px,2vw,18px) clamp(16px,2.4vw,22px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.seat:hover{border-color:rgba(180,139,57,.4);box-shadow:var(--shadow)}
.seat .mk{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#fffaf1;border:1px solid rgba(180,139,57,.32);color:var(--gold)}
.seat .mk svg{width:13px;height:13px}
.seat .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.seat .rl{font-size:13px;font-weight:600;line-height:1.55;color:var(--gold-ink)}
[lang=en] .seat .rl{font-size:12.5px;letter-spacing:.02em}
.seat .org{font-size:16px;font-weight:600;line-height:1.6;color:var(--fg)}
.edu .yr{font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--gold)}
.edu .h3{margin-top:10px}
.edu p{margin-top:4px;font-size:14px;color:var(--muted-fg)}
.courses{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.courses li{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:13px;color:var(--muted-fg);background:var(--card)}
.courses li b{font-weight:600;color:var(--fg-2)}
.partnership{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:30px 20px 24px}
.partnership .plogo{display:grid;place-items:center;width:100%;height:76px}
.partnership .plogo .logo-img{width:calc(var(--lw) * var(--pk,1) * 66px);max-width:200px;max-height:76px;height:auto;object-fit:contain}
.partnership .badge{background:var(--card);border:1px solid var(--border);font-weight:500}
.impact{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:720px){.impact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1100px){.impact{grid-template-columns:repeat(7,minmax(0,1fr))}}
.impact .it{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 10px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:rgba(255,255,255,.03)}
.impact .v{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;line-height:1.2;direction:ltr;font-variant-numeric:tabular-nums}
.impact .x{margin-top:6px;min-height:20px;font-size:12.5px;font-weight:600;color:var(--gold-2);direction:ltr}
.impact .x:empty{visibility:hidden}
.impact .rl{width:28px;height:1px;background:rgba(180,139,57,.6);margin:12px 0}
.impact .l{font-size:12.5px;line-height:1.7;color:var(--on-primary-2)}
.adds{max-width:960px;margin:32px auto 0;border:1px solid rgba(180,139,57,.35);border-radius:var(--radius-xl);background:#fffaf0;padding:clamp(22px,4vw,32px)}
.adds h3{font-size:12.5px;font-weight:700;color:var(--gold-ink)}
[lang=en] .adds h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.adds ul{display:grid;gap:10px 28px;grid-template-columns:1fr;margin-top:16px}
@media (min-width:700px){.adds ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
.adds li{display:flex;gap:10px;font-size:14.5px;line-height:1.8;color:var(--fg-2)}
.adds li::before{content:"";flex:none;width:6px;height:6px;margin-top:.72em;border-radius:50%;background:var(--gold)}
.philo{max-width:48rem;margin-inline:auto;text-align:center}
.philo .qi{display:grid;place-items:center;width:44px;height:44px;margin:0 auto;color:var(--gold)}
.philo .qi svg{width:30px;height:30px}
.philo blockquote{margin-top:18px;font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:600;line-height:1.9}
[lang=en] .philo blockquote{line-height:1.5}
.philo .motto{margin-top:28px;font-size:13.5px;font-weight:600;color:var(--gold)}
.philo .by{margin-top:8px;font-size:14px;color:var(--muted-fg)}

/* ---------------------------------------------------------------- policy */
.policy-hero{background:linear-gradient(180deg,rgba(231,235,246,.55),rgba(231,235,246,.2));border-top:0;text-align:center}
.policy-hero .ic{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:var(--primary-soft);color:var(--primary)}
.policy-hero .ic svg{width:24px;height:24px}
.policy-hero .meta{margin-top:10px;font-size:13.5px;color:var(--muted-fg)}
.policy-hero .lead{max-width:40rem;margin:14px auto 0;font-size:15px}
.notfound{min-height:56vh;display:grid;align-content:center}
.notfound .meta{margin:0 0 6px;font-size:15px;font-weight:600;letter-spacing:.2em;color:var(--gold-ink,var(--muted-fg))}
.notfound .btn-row{margin-top:28px}
.policy{max-width:820px;margin-inline:auto;padding:clamp(24px,4vw,40px)}
.policy section + section{margin-top:28px}
.policy section{border-inline-start:2px solid var(--border);padding-inline-start:20px}
.policy h2{display:flex;gap:10px;font-size:1.12rem;font-weight:600;line-height:1.6}
.policy h2 .n{color:var(--gold-ink);font-variant-numeric:tabular-nums}
.policy p,.policy li{margin-top:8px;font-size:15px;line-height:1.95;color:var(--fg-2)}
[lang=en] .policy p,[lang=en] .policy li{line-height:1.75}
.policy ul{margin-top:6px}
.policy li{position:relative;padding-inline-start:18px}
.policy li::before{content:"";position:absolute;inset-inline-start:2px;top:.85em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.policy a{color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-color:rgba(16,25,52,.3);text-underline-offset:4px}

/* ---------------------------------------------------------------- footer */
.site-footer{border-top:1px solid var(--border);background:var(--bg)}
.foot{display:grid;gap:40px;grid-template-columns:1fr;padding-block:64px 40px}
@media (min-width:720px){.foot{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.foot{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.3fr)}}
.foot .brand svg{height:48px}
.foot .tag{margin-top:18px;max-width:24rem;font-size:15px;line-height:1.9;color:var(--muted-fg)}
.foot .motto{margin-top:18px;font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-fg);direction:ltr;text-align:left}
[dir=rtl] .foot .motto{text-align:right}
.foot h4,.acc-strip h4{font-size:12.5px;font-weight:600;color:var(--fg);margin-bottom:14px}
[lang=en] .foot h4,[lang=en] .acc-strip h4{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.foot ul.links{display:grid;gap:10px}
.foot ul.links a{font-size:14px;color:var(--fg-2);transition:color .15s}
.foot ul.links a:hover{color:var(--fg)}
.foot .col + .col h4.mt,.foot h4.mt{margin-top:28px}
.foot p.t{font-size:14px;line-height:1.85;color:var(--fg-2)}
.foot a.u:hover{color:var(--fg);text-decoration:underline;text-underline-offset:4px}
/* official accreditations: their own row under the columns */
.acc-strip{border-top:1px solid var(--border);padding-block:28px 32px}
.acc-strip h4{margin-bottom:16px}
.acc-strip ul{display:grid;gap:14px 20px;grid-template-columns:1fr}
@media (min-width:560px){.acc-strip ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.acc-strip ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
.acc-strip li{display:flex;align-items:center;gap:12px;min-width:0}
.acc-strip .mk{display:grid;place-items:center;flex:none;min-width:56px;max-width:112px;height:56px;padding-inline:10px;border-radius:12px;background:var(--card);border:1px solid var(--border)}
.acc-strip .mk img{max-width:92px;max-height:36px;width:auto;height:auto;object-fit:contain}
.acc-strip .tx{display:flex;flex-direction:column;min-width:0;line-height:1.5}
.acc-strip .nm{font-size:13.5px;color:var(--fg-2)}
.acc-strip .no{font-size:12px;font-weight:600;color:var(--gold-ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.legal{border-top:1px solid var(--border)}
.legal .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-block:20px calc(20px + env(safe-area-inset-bottom,0px));font-size:12.5px;color:var(--muted-fg)}
.legal a:hover{color:var(--fg)}
.site-footer.after-band{border-top:0}

/* ---------------------------------------------------------------- whatsapp */
.wa-fab{position:fixed;inset-inline-end:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;height:54px;border-radius:999px;background:var(--wa);color:#fff;box-shadow:0 12px 28px -12px rgba(15,107,58,.7),0 2px 6px rgba(0,0,0,.12);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.wa-fab .ic{display:grid;place-items:center;width:54px;height:54px;flex:none}
.wa-fab .ic svg{width:26px;height:26px}
.wa-fab .tx{max-width:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:600;opacity:0;transition:max-width .35s var(--ease),opacity .25s,padding .35s var(--ease)}
.wa-fab:hover,.wa-fab:focus-visible{transform:translateY(-2px)}
.wa-fab:hover .tx,.wa-fab:focus-visible .tx{max-width:240px;opacity:1;padding-inline-end:20px}

/* ---------------------------------------------------------------- reveal (content is always readable; below-the-fold blocks glide 14px) */
@media (prefers-reduced-motion:no-preference){
  .rv{transition:transform .8s var(--ease)}
  .rv.pre{transform:translateY(14px)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}}

@media print{.site-header,.wa-fab,.mobile-nav{display:none!important}.band{background:#fff;color:#000}.mq-track{animation:none!important}.mq-set[aria-hidden]{display:none}.marquee{-webkit-mask-image:none;mask-image:none}}
