/*
Theme Name: TracKey
Theme URI: https://trackey.ai
Author: TracKey
Description: Non-financial Risk Advisory — custom theme v2
Version: 2.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Private
Text Domain: trackey
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Space+Grotesk:wght@300;400;500;600&display=swap');

/* ── Variables ───────────────────────────────────────── */
:root {
  --cream:  #ebe6dc;
  --gold:   #b99b6c;
  --forest: #343d39;
  --navy:   #21334d;
  --gold-d: #a0875a;
  --cream-d:#ddd6c8;
  --white:  #f9f7f3;
  --fd: 'Playfair Display', Georgia, serif;
  --fb: 'Space Grotesk', system-ui, sans-serif;
  --t: .28s ease;
}
*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--fb); background:var(--cream); color:var(--forest);
  -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }

/* ── Type ────────────────────────────────────────────── */
h1,h2,h3,h4 { font-family:var(--fd); color:var(--navy); line-height:1.12; font-weight:500; }
h1 { font-size:clamp(2.8rem,5vw,4.6rem); }
h2 { font-size:clamp(2rem,3.5vw,3rem); }
h3 { font-size:clamp(1.2rem,2vw,1.55rem); }
h4 { font-size:1.05rem; }
p  { line-height:1.75; font-size:.98rem; }
.label {
  font-family:var(--fb); font-size:.68rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
  display:block; margin-bottom:.85rem;
}

/* ── Layout ──────────────────────────────────────────── */
.wrap { max-width:1160px; margin-inline:auto; padding-inline:clamp(1.2rem,4vw,2.5rem); }
.section { padding-block:clamp(4.5rem,9vw,8rem); }
.section--sm { padding-block:clamp(3rem,5vw,5rem); }

/* ── Header ──────────────────────────────────────────── */
.site-header {
  background:var(--navy); height:76px; display:flex; align-items:center;
  position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(185,155,108,.1);
  padding-inline: clamp(1.5rem,3vw,3rem);
}
.logo { font-family:var(--fd); font-size:1.5rem; font-weight:600;
  color:var(--cream); letter-spacing:.04em; flex-shrink:0; }
.logo:hover { color:var(--gold); }
.hnav { flex:1; display:flex; align-items:center; justify-content:center; gap:2.5rem; }
.hnav a { font-size:.75rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(235,230,220,.65); padding-bottom:.2rem; border-bottom:1px solid transparent;
  transition:color var(--t), border-color var(--t); }
.hnav a:hover, .hnav a.on { color:#b99b6c; border-bottom-color:#b99b6c; }
/* WP nav_menu outputs ul > li > a */
.hnav ul { display:flex; align-items:center; gap:2.5rem; list-style:none; margin:0; padding:0; }
.hnav ul li { margin:0; padding:0; }
.hnav ul li a {
  font-size:.75rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(235,230,220,.65); transition:color var(--t);
  padding-bottom:.2rem; border-bottom:1px solid transparent; display:block;
}
.hnav ul li a:hover,
.hnav ul li.current-menu-item > a,
.hnav ul li.current_page_item > a { color:var(--gold); border-bottom-color:var(--gold); }

/* Language switcher (works standalone + Polylang) */
.lang-switcher { position:relative; flex-shrink:0; }
.lang-btn {
  background:transparent; border:1px solid rgba(185,155,108,.3);
  color:rgba(235,230,220,.7); font-family:var(--fb); font-size:.68rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  padding:.35rem .75rem; cursor:pointer; display:flex; align-items:center; gap:.35rem;
  transition:all var(--t);
}
.lang-btn:hover { border-color:var(--gold); color:var(--gold); }
.lang-arr { font-size:.55rem; line-height:1; }
.lang-drop {
  position:absolute; top:calc(100% + 6px); right:0;
  background:var(--navy); border:1px solid rgba(185,155,108,.25);
  min-width:62px; display:none; z-index:200;
}
.lang-switcher:hover .lang-drop,
.lang-switcher:focus-within .lang-drop { display:block; }
.lang-drop ul { list-style:none; margin:0; padding:0; }
.lang-drop a,
.lang-drop li a {
  display:block; padding:.45rem .8rem; font-size:.68rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(235,230,220,.5);
  transition:color var(--t); cursor:pointer;
}
.lang-drop a:hover, .lang-drop a.on,
.lang-drop li a:hover, .lang-drop li.current-lang a { color:var(--gold); }

/* Footer langs */
.langs { display:flex; gap:.5rem; }
.langs a { font-size:.68rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(235,230,220,.35); transition:color var(--t); }
.langs a.on, .langs a:hover { color:var(--gold); }

/* ── Buttons ─────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--fb); font-size:.78rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; padding:.85rem 1.9rem;
  border:1px solid transparent; cursor:pointer; transition:all var(--t); }
.btn-gold   { background:var(--gold); color:var(--navy); border-color:var(--gold); }
.btn-gold:hover { background:var(--gold-d); border-color:var(--gold-d); }
.btn-ghost  { background:transparent; color:var(--cream); border-color:rgba(185,155,108,.45); }
.btn-ghost:hover { background:var(--gold); color:var(--navy); border-color:var(--gold); }
.btn-navy   { background:var(--navy); color:var(--cream); }
.btn-navy:hover { background:var(--forest); }
.btn-outline-dark { background:transparent; color:var(--navy); border-color:rgba(52,61,57,.3); }
.btn-outline-dark:hover { border-color:var(--navy); background:var(--navy); color:var(--cream); }
.arr { transition:transform var(--t); }
.btn:hover .arr { transform:translateX(3px); }

/* ── Hero ────────────────────────────────────────────── */
.hero { background:var(--navy); min-height:92vh; display:flex; align-items:center;
  position:relative; overflow:hidden; }
.hero::after { content:''; position:absolute; bottom:0; inset-inline:0; height:1px;
  background:linear-gradient(to right,transparent,rgba(185,155,108,.4),transparent); }
.hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.hero-label { display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
.hero-label::before { content:''; width:32px; height:1px; background:var(--gold); flex-shrink:0; }
.hero-label span { font-size:.68rem; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold); }
.hero h1 { color:var(--cream); font-weight:400; font-size:clamp(2.6rem,4.5vw,4.2rem);
  line-height:1.08; margin-bottom:1.75rem; }
.hero h1 em { font-style:italic; color:var(--gold); }
.hero-text { font-size:1rem; color:rgba(235,230,220,.6); max-width:460px;
  line-height:1.8; margin-bottom:2.5rem; }
.hero-btns { display:flex; gap:.85rem; flex-wrap:wrap; margin-bottom:3rem; }
.hero-right { position:relative; }
.hero-img-wrap { width:100%; aspect-ratio:4/5; overflow:hidden;
  background:linear-gradient(160deg,#1e304a,#2d4a6b); }
.hero-img-wrap img { width:100%; height:100%; object-fit:cover;
  filter:brightness(.75) saturate(.6); }
.hero-card { position:absolute; bottom:-2rem; left:-2.5rem; z-index:2;
  background:var(--cream); padding:1.5rem 2rem; width:260px;
  border-left:2px solid var(--gold); box-shadow:0 20px 60px rgba(0,0,0,.25); }
.hero-card-label { font-size:.62rem; font-weight:600; letter-spacing:.15em;
  text-transform:uppercase; color:var(--gold); margin-bottom:.6rem; }
.hero-card-text { font-family:var(--fd); font-size:1rem; font-weight:500;
  color:var(--navy); line-height:1.35; }

/* ── Trust bar ───────────────────────────────────────── */
.trust-bar { background:var(--cream-d); padding-block:1.5rem;
  border-bottom:1px solid rgba(52,61,57,.08); }
.trust-inner { display:flex; align-items:center; justify-content:center;
  gap:3rem; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:.75rem; }
.trust-dot { width:4px; height:4px; background:var(--gold); flex-shrink:0; }
.trust-text { font-size:.78rem; font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; color:rgba(52,61,57,.6); }

/* ── Intro ───────────────────────────────────────────── */
.section-intro { background:var(--cream); }
.intro-centered { max-width:780px; margin-inline:auto; text-align:center; }
.intro-centered h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:400;
  line-height:1.25; margin-bottom:1.5rem; }
.intro-centered h2 em { font-style:italic; color:var(--gold); }
.intro-centered p { font-size:1.05rem; color:rgba(52,61,57,.75);
  line-height:1.85; max-width:600px; margin-inline:auto; }

/* ── Service cards (home) ────────────────────────────── */
.section-services { background:var(--white); }
.sh { display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:3rem; gap:2rem; }
.sh-left h2 { max-width:480px; }
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(52,61,57,.1); border:1px solid rgba(52,61,57,.1); }
.card { background:var(--white); padding:2.75rem 2.25rem; position:relative;
  overflow:hidden; transition:background var(--t); }
.card::after { content:''; position:absolute; top:0; inset-inline:0; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform var(--t); }
.card:hover::after { transform:scaleX(1); }
.card:hover { background:#f2ede5; }
.card-num { font-family:var(--fd); font-size:3.5rem; font-weight:400;
  color:rgba(185,155,108,.18); line-height:1; margin-bottom:1.5rem; }
.card h3 { font-size:1.25rem; font-weight:500; margin-bottom:.85rem; line-height:1.25; }
.card p { font-size:.9rem; color:rgba(52,61,57,.75); line-height:1.75; margin-bottom:1.5rem; }

/* ── Split — When to call us ─────────────────────────── */
.section-split { background:var(--forest); }
.split-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.split-left h2 { color:var(--cream); font-weight:400; margin-bottom:1.5rem; }
.split-left p { color:rgba(235,230,220,.6); font-size:1rem; line-height:1.8; margin-bottom:2.5rem; }
.use-list { display:flex; flex-direction:column; }
.use-item { display:flex; align-items:flex-start; gap:1.25rem; padding:1.1rem 0;
  border-bottom:1px solid rgba(255,255,255,.07); transition:padding var(--t); }
.use-item:first-child { border-top:1px solid rgba(255,255,255,.07); }
.use-item:hover { padding-left:.5rem; }
.use-n { font-family:var(--fd); font-size:1.3rem; color:rgba(185,155,108,.3);
  font-weight:400; line-height:1; flex-shrink:0; min-width:2rem; padding-top:.1rem; }
.use-t { font-size:.92rem; color:rgba(235,230,220,.7); line-height:1.5; padding-top:.15rem; }
.split-right { position:relative; }
.split-img { width:100%; aspect-ratio:3/4; overflow:hidden;
  background:linear-gradient(160deg,#1a2d42,#2a4060); }
.split-img img { width:100%; height:100%; object-fit:cover; filter:brightness(.7) saturate(.5); }
.split-badge { position:absolute; bottom:-1.5rem; right:-1.5rem;
  background:var(--gold); color:var(--navy); padding:1.5rem 2rem; width:220px; }
.split-badge-t { font-size:.8rem; font-weight:500; line-height:1.4; }

/* ── Why TracKey ─────────────────────────────────────── */
.section-why { background:var(--cream); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.why-img { width:100%; aspect-ratio:4/5; overflow:hidden;
  background:linear-gradient(160deg,#1e304a,#2a4060); position:relative; }
.why-img img { width:100%; height:100%; object-fit:cover; filter:brightness(.65) saturate(.5); }
.why-tag { position:absolute; top:2rem; right:-1.5rem;
  background:var(--navy); color:var(--cream); padding:1rem 1.5rem;
  font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.why-right h2 { margin-bottom:1.5rem; }
.why-right > p { font-size:1rem; color:rgba(52,61,57,.75); line-height:1.8; margin-bottom:2rem; }
.check-list { display:flex; flex-direction:column; margin-bottom:2.5rem; }
.check-item { display:flex; align-items:flex-start; gap:1rem; padding:1rem 0;
  border-bottom:1px solid rgba(52,61,57,.08); }
.check-item:first-child { border-top:1px solid rgba(52,61,57,.08); }
.check-icon { width:20px; height:20px; flex-shrink:0; margin-top:.1rem;
  display:flex; align-items:center; justify-content:center; }
.check-icon::after { content:''; display:block; width:8px; height:8px;
  border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:rotate(-45deg) translate(1px,-2px); }
.check-text h4 { font-family:var(--fd); font-size:.98rem; font-weight:500;
  color:var(--navy); margin-bottom:.2rem; }
.check-text p { font-size:.85rem; color:rgba(52,61,57,.65); line-height:1.6; }

/* ── CTA banner ──────────────────────────────────────── */
.section-cta { background:var(--navy); padding-block:clamp(3.5rem,7vw,6rem); }
.cta-inner { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; }
.cta-left .label { color:var(--gold); }
.cta-left h2 { color:var(--cream); font-weight:400;
  font-size:clamp(1.8rem,3.5vw,2.8rem); margin-bottom:.75rem; }
.cta-left p { color:rgba(235,230,220,.55); font-size:.95rem; max-width:480px; }
.cta-right { display:flex; flex-direction:column; gap:.85rem; align-items:flex-end; }

/* ── Page hero ───────────────────────────────────────── */
.phero { background:var(--navy); padding-block:calc(76px + 5rem) 5rem; position:relative; }
.phero::after { content:''; position:absolute; bottom:0; inset-inline:0; height:1px;
  background:linear-gradient(to right,transparent,rgba(185,155,108,.35),transparent); }
.phero h1 { color:var(--cream); font-weight:400; margin-top:.5rem; }
.phero p  { color:rgba(235,230,220,.6); font-size:1.05rem; max-width:500px;
  line-height:1.8; margin-top:1.25rem; }

/* ── Services detail ─────────────────────────────────── */
.svc-detail { padding-block:4rem; border-bottom:1px solid rgba(52,61,57,.07); }
.svc-detail:last-child { border:none; }
.svc-hd { display:flex; align-items:flex-start; gap:2.5rem; margin-bottom:2.5rem; }
.svc-idx { font-family:var(--fd); font-size:4rem; font-weight:400;
  color:rgba(185,155,108,.18); line-height:1; flex-shrink:0; }
.svc-hd > div { padding-top:.5rem; }
.svc-hd h2 { font-size:clamp(1.6rem,3vw,2.4rem); font-weight:400; }
.svc-bd { display:grid; grid-template-columns:1.5fr 1fr; gap:4rem;
  padding-left:calc(4rem + 2.5rem); align-items:start; }
.svc-desc p { font-size:.98rem; line-height:1.8; color:rgba(52,61,57,.8); margin-bottom:1.2rem; }
.svc-meta { display:flex; flex-direction:column; gap:1.4rem; padding:1.75rem 2rem;
  border:1px solid rgba(52,61,57,.1); border-left:2px solid var(--gold); }
.ml { font-size:.65rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:.25rem; }
.mv { font-size:.9rem; color:var(--forest); }

/* ── Experience grid ─────────────────────────────────── */
.exp-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:rgba(185,155,108,.1); border:1px solid rgba(185,155,108,.1); margin-top:3rem; }
.exp-card { background:var(--navy); padding:2.5rem; transition:background var(--t); }
.exp-card:hover { background:rgba(185,155,108,.05); }
.exp-card h4 { font-family:var(--fd); font-size:1.05rem; font-weight:500;
  color:var(--cream); margin-bottom:.85rem; }
.exp-card p { font-size:.85rem; color:rgba(235,230,220,.5); line-height:1.75; }

/* ── Due Diligence Process ───────────────────────────── */
.dd-section { background:var(--cream); padding-block:clamp(4.5rem,8vw,7rem); }
.dd-hd { display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:3rem; gap:2rem; flex-wrap:wrap; }
.dd-hd h2 { color:var(--navy); font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:400; margin:0; }
.dd-hd p { font-size:.85rem; color:rgba(52,61,57,.55); max-width:280px;
  text-align:right; line-height:1.6; }
.dd-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.dd-card { background:var(--white); padding:2.5rem 1.75rem 2.75rem;
  border:1px solid rgba(52,61,57,.08); border-top:2px solid var(--gold); }
.dd-card + .dd-card { border-left:none; }
.dd-step { font-family:var(--fd); font-size:.7rem; font-weight:500; letter-spacing:.18em;
  color:var(--gold); opacity:.7; display:block; margin-bottom:1.5rem; }
.dd-icon { width:38px; height:38px; margin-bottom:1.5rem; color:var(--forest); }
.dd-card h4 { font-family:var(--fd); font-size:1rem; font-weight:500;
  color:var(--forest); margin-bottom:1.1rem; line-height:1.35; }
.dd-card p { font-size:.84rem; color:rgba(52,61,57,.6); line-height:1.8; }
.dd-footer { border:1px solid rgba(52,61,57,.08); border-top:none;
  background:var(--forest); padding:1.4rem 2rem;
  display:flex; align-items:center; gap:1.5rem; }
.dd-footer::before { content:''; width:24px; height:1px; background:var(--gold); flex-shrink:0; }
.dd-footer p { font-size:.82rem; font-weight:500; color:rgba(235,230,220,.75); }
.dd-footer strong { color:var(--gold); font-weight:600; }

/* ── Team ────────────────────────────────────────────── */
.section-team { background:var(--white); }
.team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px;
  background:rgba(52,61,57,.08); border:1px solid rgba(52,61,57,.08); margin-top:3rem; }
.tmember { background:var(--white); overflow:hidden; }
.tmember-img { width:100%; aspect-ratio:3/2;
  background:linear-gradient(160deg,#1e304a,#2f4a6e); position:relative; }
.tmember-img-lbl { position:absolute; bottom:0; inset-inline:0;
  padding:1.5rem 2rem; background:linear-gradient(to top,rgba(33,51,77,.9),transparent); }
.tmember-name { font-family:var(--fd); font-size:1.6rem; font-weight:500; color:var(--cream); }
.tmember-role { font-size:.68rem; font-weight:600; letter-spacing:.15em;
  text-transform:uppercase; color:var(--gold); margin-top:.25rem; display:block; }
.tmember-body { padding:2rem 2.25rem; }
.tmember-intro { font-size:.95rem; color:rgba(52,61,57,.75); line-height:1.8; margin-bottom:2rem; }
.tmember-focus-lbl { font-size:.62rem; font-weight:600; letter-spacing:.15em;
  text-transform:uppercase; color:var(--gold); display:block; margin-bottom:.85rem; }
.tmember-focus ul { display:flex; flex-direction:column; gap:.55rem;
  padding-left:0; list-style:none; }
.tmember-focus ul li { font-size:.88rem; color:rgba(52,61,57,.65); line-height:1.5;
  padding-left:1.25rem; position:relative; }
.tmember-focus ul li::before { content:'—'; position:absolute; left:0;
  color:var(--gold); font-size:.75rem; top:.05rem; }

/* ── How we work ─────────────────────────────────────── */
.hww-section { background:var(--navy); padding-block:clamp(4rem,7vw,6.5rem); }
.hww-inner { display:grid; grid-template-columns:1fr 2fr; gap:5rem; align-items:start; }
.hww-left h2 { font-family:var(--fd); font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:400; color:var(--cream); line-height:1.2; }
.hww-right { border-left:1px solid rgba(185,155,108,.2); padding-left:4rem; }
.hww-right p { font-size:.98rem; color:rgba(235,230,220,.6); line-height:1.85; margin-bottom:1.4rem; }
.hww-right p:last-child { margin-bottom:0; }
.hww-right p strong { color:var(--cream); font-weight:500; }

/* ── Contact ─────────────────────────────────────────── */
.contact-simple { max-width:520px; }
.contact-actions { display:flex; gap:1.25rem; flex-wrap:wrap; margin-bottom:2rem; }
.contact-note { font-size:.8rem; color:rgba(52,61,57,.4); line-height:1.6; margin-bottom:2.5rem; }
.contact-location { display:flex; align-items:center; gap:.55rem;
  font-size:.78rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(52,61,57,.45); }

/* ── Footer ──────────────────────────────────────────── */
.site-footer { background:var(--navy); padding-block:4rem;
  border-top:1px solid rgba(185,155,108,.12); }
.footer-top { display:grid; grid-template-columns:1.8fr 1fr 1fr; gap:4rem;
  padding-bottom:3.5rem; border-bottom:1px solid rgba(255,255,255,.06); }
.fl-brand .logo { margin-bottom:1.25rem; display:block; }
.fl-brand p { font-size:.83rem; color:rgba(235,230,220,.38); line-height:1.7;
  margin-bottom:.3rem; max-width:250px; }
.fl-heading { font-size:.62rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold); margin-bottom:1.35rem; }
.fl-links { display:flex; flex-direction:column; gap:.75rem; }
.fl-links li { margin:0; }
.fl-links a { font-size:.83rem; color:rgba(235,230,220,.45); transition:color var(--t); }
.fl-links a:hover { color:var(--gold); }
.footer-langs { display:flex; gap:.6rem; margin-top:1.75rem; }
.footer-bottom { padding-top:2rem; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:.5rem; }
.footer-bottom p { font-size:.7rem; color:rgba(235,230,220,.2); }

/* ── Hamburger ───────────────────────────────────────── */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .5rem;
  margin-left: .5rem;
  flex-shrink: 0;
  height: 76px;
}
.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #ebe6dc;
  transition: transform .25s ease, opacity .25s ease;
  transform-origin: center;
}
.site-header.nav-open .hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header.nav-open .hamburger span:nth-child(2) { opacity: 0; }
.site-header.nav-open .hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  .dd-grid { grid-template-columns: repeat(2,1fr); }
  .dd-card + .dd-card { border-left: 1px solid rgba(52,61,57,.08); }
  .dd-card:nth-child(n+3) { border-top: none; }
  .process-steps { grid-template-columns: repeat(2,1fr); gap: 2.5rem 2rem; }
  .process-steps::before { display: none; }
  .split-grid { grid-template-columns: 1fr; gap: 3rem; }
  .split-right { display: none; }
  .why-grid { grid-template-columns: 1fr; gap: 3rem; }
  .why-img { display: none; }
  .hww-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .hww-right { border-left: none; padding-left: 0; border-top: 1px solid rgba(185,155,108,.2); padding-top: 2rem; }
  .svc-bd { grid-template-columns: 1fr; padding-left: 0; gap: 2rem; }
  .sh { flex-direction: column; align-items: flex-start; }
  .dd-hd { flex-direction: column; align-items: flex-start; }
  .dd-hd p { text-align: left; max-width: 100%; }
  .cta-inner { grid-template-columns: 1fr; gap: 2rem; }
  .cta-right { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 860px) {
  .site-header { height: auto; min-height: 76px; flex-wrap: wrap; align-items: stretch; }
  .logo   { order: 1; display: flex; align-items: center; }
  .lang-switcher { order: 2; margin-left: auto; display: flex; align-items: center; }
  .hamburger { display: flex; order: 3; }
  .hnav, .hnav ul {
    display: none;
    order: 4;
    width: 100%;
    flex: 0 0 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: #21334d;
    border-top: 1px solid rgba(185,155,108,.2);
    padding: 1.25rem clamp(1.5rem,5vw,3rem) 2rem;
  }
  .site-header.nav-open .hnav,
  .site-header.nav-open .hnav ul { display: flex; }
  .hnav a,
  .hnav ul li, .hnav ul li a {
    display: block;
    width: 100%;
    color: #d4cec5 !important;
    font-size: .85rem !important;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(185,155,108,.1) !important;
    border-left: none !important;
    padding: .7rem 0 !important;
    list-style: none;
  }
  .hnav a:hover, .hnav a.on,
  .hnav ul li a:hover, .hnav ul li.current-menu-item > a {
    color: #b99b6c !important;
  }
  .hero-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero-img-wrap { aspect-ratio: 4/3; }
  .hero-card { position: static; }
  .hero-btns { flex-direction: column; }
  .hero-btns .btn { text-align: center; justify-content: center; }
  .cards-3 { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .dd-grid { grid-template-columns: 1fr; }
  .dd-card + .dd-card { border-left: 1px solid rgba(52,61,57,.08); border-top: none; }
  .process-steps { grid-template-columns: 1fr; gap: 2rem; }
  .exp-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 2.5rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .section { padding-block: clamp(3rem,8vw,5rem); }
  .section--sm { padding-block: clamp(2rem,5vw,3.5rem); }
  .svc-hd { gap: 1rem; }
  .svc-idx { font-size: 2.5rem; }
}
