:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{-webkit-text-size-adjust:100%}
img,svg{max-width:100%}
.ft-legal{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(201,169,107,.6)}

/* Layout: white page, light-green bands; sticky header; content in a 1160px column; plantation-row hero, dot-matrix map */
:root{
  --bg:#f1f4ed; --surface:#e6ede3; --card:#ffffff; --leaf:#d3ead0; --line:#d4dfd3;
  --ink:#0d3022; --muted:#3a5547; --green:#12553e; --brand:#12553e; --foot-bg:#12553e; --foot-fg:#ffffff; --green-ink:#ffffff;
  --accent:#1d6db5; --accent-soft:#e4effa; --todo:#b45309;
  --map-land:#d5e2d6; --map-hot:#2f8a55; --map-dim:#a9c7b2;
  --display:"Newsreader", "Noto Serif SC", Georgia, serif;
  --body:"Jost", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0b1510; --surface:#0f1d16; --card:#13241b; --leaf:#1b3527; --line:#243a2d;
  --ink:#ecf4ef; --muted:#b1c9ba; --green:#5fbf86; --brand:#8fd6aa; --foot-bg:#0a2a1f; --foot-fg:#e2efe6; --green-ink:#08130d;
  --accent:#78b6ee; --accent-soft:#16283a; --todo:#f0a24a;
  --map-land:#25392d; --map-hot:#6fd197; --map-dim:#2e5a40; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0b1510; --surface:#0f1d16; --card:#13241b; --leaf:#1b3527; --line:#243a2d;
  --ink:#ecf4ef; --muted:#b1c9ba; --green:#5fbf86; --brand:#8fd6aa; --foot-bg:#0a2a1f; --foot-fg:#e2efe6; --green-ink:#08130d;
  --accent:#78b6ee; --accent-soft:#16283a; --todo:#f0a24a;
  --map-land:#25392d; --map-hot:#6fd197; --map-dim:#2e5a40; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth; scroll-padding-top:84px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--body); font-size:16.5px; line-height:1.6;
  padding-left:max(0px, env(safe-area-inset-left,0px)); padding-right:max(0px, env(safe-area-inset-right,0px))}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:10; background:var(--bg)}
.wrap{max-width:1160px; margin:0 auto; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display); font-weight:600; line-height:1.15; text-wrap:balance; margin:0; letter-spacing:-.01em}
h1{font-size:clamp(2.1rem, 4.6vw, 3.5rem)}
h2{font-size:clamp(1.7rem, 3vw, 2.4rem)}
h3{font-size:1.25rem}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:4px}
.eyebrow{font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:var(--green); display:flex; align-items:center; gap:10px}
.eyebrow::before{content:""; width:22px; height:12px; flex-shrink:0; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22143%20126%20844%20441%22%3E%3Cpath%20d%3D%22M148.7%20560.6C157.7%20550.7%20185.8%20520.5%20195.6%20510.1L204.5%20500.7L297.2%20500.4C348.2%20500.3%20390.4%20499.9%20391.0%20499.5C393.5%20498.0%20389.1%20495.9%20371.7%20490.1C335.6%20478.3%20259.0%20454.6%20247.2%20451.7C244.9%20451.1%20243.0%20450.4%20243.0%20450.1C243.0%20449.8%20256.9%20435.6%20273.9%20418.6L304.8%20387.7L327.7%20396.8C340.2%20401.8%20355.4%20408.0%20361.5%20410.6C367.6%20413.1%20374.8%20416.0%20377.5%20417.0C380.2%20418.0%20390.8%20422.3%20401.0%20426.5C422.0%20435.2%20454.1%20448.1%20507.0%20469.4C546.7%20485.3%20553.0%20488.0%20553.0%20489.0C553.0%20489.3%20537.8%20504.7%20519.2%20523.2C488.0%20554.2%20484.9%20557.0%20478.0%20560.4C463.7%20567.3%20473.4%20567.0%20299.7%20567.0L142.8%20567.0L148.7%20560.6ZM671.5%20565.9C659.5%20564.0%20654.6%20560.2%20616.9%20523.1C597.6%20504.2%20582.2%20488.4%20582.7%20487.9C583.5%20487.1%20610.0%20473.9%20635.5%20461.5C643.7%20457.5%20661.3%20448.9%20674.5%20442.5C687.7%20436.0%20703.1%20428.6%20708.7%20426.0L718.8%20421.2L733.8%20436.8C742.0%20445.5%20751.2%20455.2%20754.1%20458.5C759.3%20464.3%20773.2%20478.9%20792.5%20498.8L801.5%20508.1L818.0%20507.8L834.5%20507.5L819.5%20491.5C811.2%20482.7%20797.1%20467.4%20788.0%20457.5C778.9%20447.7%20761.9%20429.2%20750.1%20416.5C738.3%20403.9%20728.4%20393.1%20728.0%20392.7C727.2%20391.8%20712.0%20398.8%20658.7%20424.8C642.9%20432.6%20623.4%20442.1%20615.2%20446.0C607.1%20449.9%20593.3%20456.6%20584.5%20460.9L568.5%20468.7L563.0%20466.5C560.0%20465.3%20553.2%20462.4%20548.0%20460.0C528.9%20451.5%20449.5%20418.8%20413.0%20404.4C401.2%20399.7%20388.4%20394.6%20384.5%20393.0C380.6%20391.4%20365.8%20385.5%20351.5%20379.9C337.2%20374.3%20325.2%20369.4%20324.8%20369.0C324.4%20368.7%20339.0%20353.5%20357.4%20335.2L390.7%20301.9L398.6%20305.5C402.9%20307.5%20420.7%20315.5%20438.0%20323.2C455.3%20330.9%20474.2%20339.4%20480.0%20342.0C485.8%20344.6%20495.0%20348.8%20500.5%20351.3C506.0%20353.7%20513.2%20357.0%20516.5%20358.5C519.8%20360.0%20527.0%20363.2%20532.5%20365.7C538.0%20368.2%20548.3%20372.9%20555.3%20376.1L568.1%20382.1L580.8%20376.1C587.8%20372.9%20603.4%20365.6%20615.5%20360.0C627.6%20354.3%20645.0%20346.2%20654.2%20341.9C663.4%20337.5%20671.1%20334.0%20671.4%20334.0C671.7%20334.0%20677.0%20331.6%20683.2%20328.6C693.6%20323.6%20741.1%20301.4%20743.6%20300.4C744.6%20299.9%20770.3%20326.7%20798.1%20357.1C804.9%20364.6%20824.2%20385.5%20841.0%20403.6C857.8%20421.7%20875.3%20440.8%20880.0%20446.0C884.6%20451.2%20890.9%20458.2%20894.0%20461.5C897.0%20464.8%20904.0%20472.7%20909.5%20479.0C915.0%20485.2%20922.2%20493.4%20925.5%20497.0C928.8%20500.7%20936.0%20508.8%20941.5%20514.9C947.0%20521.1%20956.7%20531.9%20963.0%20538.8C969.3%20545.8%20976.7%20554.2%20979.4%20557.5C982.1%20560.8%20985.0%20564.0%20985.7%20564.6C986.8%20565.5%20985.9%20565.9%20981.8%20566.3C973.4%20567.2%20677.0%20566.8%20671.5%20565.9ZM566.0%20355.7C563.2%20354.5%20535.0%20341.4%20512.0%20330.5C503.5%20326.5%20493.8%20322.0%20490.5%20320.5C485.4%20318.2%20457.6%20305.6%20435.5%20295.5C422.7%20289.7%20410.6%20283.9%20410.2%20283.6C409.8%20283.1%20483.9%20209.5%20486.8%20207.4C489.0%20205.9%20494.0%20210.3%20527.0%20242.5C540.0%20255.2%20589.4%20302.9%20610.7%20323.4C615.3%20327.8%20619.0%20331.7%20619.0%20332.0C619.0%20332.4%20614.4%20334.9%20608.8%20337.5C598.7%20342.3%20570.0%20355.9%20569.0%20356.5C568.7%20356.6%20567.4%20356.3%20566.0%20355.7ZM630.4%20304.8C622.2%20296.9%20600.4%20275.9%20582.0%20258.0C563.5%20240.1%20539.3%20217.0%20528.2%20206.5C517.1%20196.1%20508.0%20187.2%20508.0%20186.8C508.0%20186.3%20521.6%20172.5%20538.2%20156.1L568.5%20126.2L586.4%20143.4C618.1%20173.6%20725.1%20280.3%20724.7%20281.3C724.3%20282.7%20719.9%20285.0%20691.5%20298.1C677.2%20304.8%20661.3%20312.2%20656.1%20314.6C651.0%20317.0%20646.4%20319.0%20646.0%20319.0C645.6%20319.0%20638.6%20312.6%20630.4%20304.8Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22143%20126%20844%20441%22%3E%3Cpath%20d%3D%22M148.7%20560.6C157.7%20550.7%20185.8%20520.5%20195.6%20510.1L204.5%20500.7L297.2%20500.4C348.2%20500.3%20390.4%20499.9%20391.0%20499.5C393.5%20498.0%20389.1%20495.9%20371.7%20490.1C335.6%20478.3%20259.0%20454.6%20247.2%20451.7C244.9%20451.1%20243.0%20450.4%20243.0%20450.1C243.0%20449.8%20256.9%20435.6%20273.9%20418.6L304.8%20387.7L327.7%20396.8C340.2%20401.8%20355.4%20408.0%20361.5%20410.6C367.6%20413.1%20374.8%20416.0%20377.5%20417.0C380.2%20418.0%20390.8%20422.3%20401.0%20426.5C422.0%20435.2%20454.1%20448.1%20507.0%20469.4C546.7%20485.3%20553.0%20488.0%20553.0%20489.0C553.0%20489.3%20537.8%20504.7%20519.2%20523.2C488.0%20554.2%20484.9%20557.0%20478.0%20560.4C463.7%20567.3%20473.4%20567.0%20299.7%20567.0L142.8%20567.0L148.7%20560.6ZM671.5%20565.9C659.5%20564.0%20654.6%20560.2%20616.9%20523.1C597.6%20504.2%20582.2%20488.4%20582.7%20487.9C583.5%20487.1%20610.0%20473.9%20635.5%20461.5C643.7%20457.5%20661.3%20448.9%20674.5%20442.5C687.7%20436.0%20703.1%20428.6%20708.7%20426.0L718.8%20421.2L733.8%20436.8C742.0%20445.5%20751.2%20455.2%20754.1%20458.5C759.3%20464.3%20773.2%20478.9%20792.5%20498.8L801.5%20508.1L818.0%20507.8L834.5%20507.5L819.5%20491.5C811.2%20482.7%20797.1%20467.4%20788.0%20457.5C778.9%20447.7%20761.9%20429.2%20750.1%20416.5C738.3%20403.9%20728.4%20393.1%20728.0%20392.7C727.2%20391.8%20712.0%20398.8%20658.7%20424.8C642.9%20432.6%20623.4%20442.1%20615.2%20446.0C607.1%20449.9%20593.3%20456.6%20584.5%20460.9L568.5%20468.7L563.0%20466.5C560.0%20465.3%20553.2%20462.4%20548.0%20460.0C528.9%20451.5%20449.5%20418.8%20413.0%20404.4C401.2%20399.7%20388.4%20394.6%20384.5%20393.0C380.6%20391.4%20365.8%20385.5%20351.5%20379.9C337.2%20374.3%20325.2%20369.4%20324.8%20369.0C324.4%20368.7%20339.0%20353.5%20357.4%20335.2L390.7%20301.9L398.6%20305.5C402.9%20307.5%20420.7%20315.5%20438.0%20323.2C455.3%20330.9%20474.2%20339.4%20480.0%20342.0C485.8%20344.6%20495.0%20348.8%20500.5%20351.3C506.0%20353.7%20513.2%20357.0%20516.5%20358.5C519.8%20360.0%20527.0%20363.2%20532.5%20365.7C538.0%20368.2%20548.3%20372.9%20555.3%20376.1L568.1%20382.1L580.8%20376.1C587.8%20372.9%20603.4%20365.6%20615.5%20360.0C627.6%20354.3%20645.0%20346.2%20654.2%20341.9C663.4%20337.5%20671.1%20334.0%20671.4%20334.0C671.7%20334.0%20677.0%20331.6%20683.2%20328.6C693.6%20323.6%20741.1%20301.4%20743.6%20300.4C744.6%20299.9%20770.3%20326.7%20798.1%20357.1C804.9%20364.6%20824.2%20385.5%20841.0%20403.6C857.8%20421.7%20875.3%20440.8%20880.0%20446.0C884.6%20451.2%20890.9%20458.2%20894.0%20461.5C897.0%20464.8%20904.0%20472.7%20909.5%20479.0C915.0%20485.2%20922.2%20493.4%20925.5%20497.0C928.8%20500.7%20936.0%20508.8%20941.5%20514.9C947.0%20521.1%20956.7%20531.9%20963.0%20538.8C969.3%20545.8%20976.7%20554.2%20979.4%20557.5C982.1%20560.8%20985.0%20564.0%20985.7%20564.6C986.8%20565.5%20985.9%20565.9%20981.8%20566.3C973.4%20567.2%20677.0%20566.8%20671.5%20565.9ZM566.0%20355.7C563.2%20354.5%20535.0%20341.4%20512.0%20330.5C503.5%20326.5%20493.8%20322.0%20490.5%20320.5C485.4%20318.2%20457.6%20305.6%20435.5%20295.5C422.7%20289.7%20410.6%20283.9%20410.2%20283.6C409.8%20283.1%20483.9%20209.5%20486.8%20207.4C489.0%20205.9%20494.0%20210.3%20527.0%20242.5C540.0%20255.2%20589.4%20302.9%20610.7%20323.4C615.3%20327.8%20619.0%20331.7%20619.0%20332.0C619.0%20332.4%20614.4%20334.9%20608.8%20337.5C598.7%20342.3%20570.0%20355.9%20569.0%20356.5C568.7%20356.6%20567.4%20356.3%20566.0%20355.7ZM630.4%20304.8C622.2%20296.9%20600.4%20275.9%20582.0%20258.0C563.5%20240.1%20539.3%20217.0%20528.2%20206.5C517.1%20196.1%20508.0%20187.2%20508.0%20186.8C508.0%20186.3%20521.6%20172.5%20538.2%20156.1L568.5%20126.2L586.4%20143.4C618.1%20173.6%20725.1%20280.3%20724.7%20281.3C724.3%20282.7%20719.9%20285.0%20691.5%20298.1C677.2%20304.8%20661.3%20312.2%20656.1%20314.6C651.0%20317.0%20646.4%20319.0%20646.0%20319.0C645.6%20319.0%20638.6%20312.6%20630.4%20304.8Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.lede{color:var(--muted); font-size:1.08rem; max-width:62ch}
.mono{font-family:var(--mono); font-size:.8rem}
.todo{border:1px dashed var(--todo); color:var(--todo); padding:0 .4em; border-radius:4px}
section{padding-block:clamp(56px, 8vw, 96px)}
.band{background:var(--surface)}
.sec-head{display:grid; gap:12px; margin-bottom:36px}

/* header */
header.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
.top .wrap{display:flex; align-items:center; gap:20px; padding-block:12px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); flex-shrink:0}
.brand .lockup{height:46px; width:auto; aspect-ratio:1845/450; display:block; fill:var(--brand)}
@media (max-width:420px){.brand .lockup{height:34px}}
nav.main{display:flex; gap:18px; margin-left:auto}
nav.main a{color:var(--ink); text-decoration:none; font-weight:500; font-size:.93rem; white-space:nowrap}
nav.main a:hover{color:var(--green)}
.lang{display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; flex-shrink:0}
.lang button{border:0; background:transparent; color:var(--muted); font:600 .78rem var(--body); padding:6px 10px; cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--green); color:var(--green-ink)}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; padding:12px 22px; font:600 .95rem var(--body); text-decoration:none; white-space:nowrap; cursor:pointer; border:1.5px solid var(--green); transition:transform .15s, background .15s}
.btn.primary{background:var(--green); color:var(--green-ink)}
.btn.ghost{background:transparent; color:var(--green)}
.btn:hover{transform:translateY(-1px)}
.btn.sm{padding:8px 16px; font-size:.85rem}
@media (max-width:600px){.top .wrap{gap:10px}.lang button{padding:6px 8px}}
.menu-btn{display:none; margin-left:auto; background:none; border:1px solid var(--line); border-radius:8px; color:var(--ink); padding:6px 10px; font:600 .85rem var(--body)}
@media (max-width:1180px){
  nav.main{display:none; position:absolute; left:0; right:0; top:100%; background:var(--bg); flex-direction:column; gap:0; border-bottom:1px solid var(--line); padding:8px max(16px, env(safe-area-inset-left,0px))}
  nav.main.open{display:flex}
  nav.main a{padding:10px 0; border-bottom:1px solid var(--line)}
  .menu-btn{display:block; margin-left:0}
  .lang{margin-left:auto}
  .top .cta-top{display:none}
}

/* hero */
.hero{padding-block:clamp(40px,6vw,72px); overflow:hidden}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:center}
.hero-grid > *{min-width:0}
.hero .tag{font-family:var(--display); font-style:italic; color:var(--green); font-size:1.05rem}
.hero h1{margin:14px 0 18px}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
.hero-art{position:relative}
.hero-art svg{width:100%; height:auto; display:block; filter:drop-shadow(0 18px 40px rgba(18,58,43,.08))}
.badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:28px}
.badge{font-size:.78rem; font-weight:600; padding:5px 11px; border-radius:999px; background:var(--leaf); color:var(--ink)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr; gap:32px}.hero-art{max-width:560px}}

.mtn{fill:var(--map-dim); opacity:.75}
@media (prefers-reduced-motion: no-preference){
  .rise{transform-box:fill-box; animation:rise .9s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(.15s + var(--i) * .14s)}
  @keyframes rise{from{transform:translate(-40px, 90px); opacity:0}}
}
/* stats */
.stats{border-block:1px solid var(--line); background:var(--bg)}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:0}
.stat{padding:26px 24px; border-left:1px solid var(--line)}
.stat:first-child{border-left:0; padding-left:0}
.stat b{font-family:var(--display); font-size:2.3rem; font-weight:600; display:block; line-height:1; font-variant-numeric:tabular-nums; color:var(--green)}
.stat span{display:block; margin-top:8px; font-size:.88rem; color:var(--muted); line-height:1.35}
@media (max-width:860px){.stats .wrap{grid-template-columns:repeat(2,1fr)}.stat{border-left:0; border-top:1px solid var(--line)}.stat:nth-child(-n+2){border-top:0}.stat:nth-child(even){border-left:1px solid var(--line)}.stat:nth-child(odd){padding-left:0}}

/* about */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px}
.about-grid > *{min-width:0}
.timeline{list-style:none; padding:0; margin:20px 0 0; display:grid; gap:0}
.timeline li{display:grid; grid-template-columns:72px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--line)}
.timeline .yr{font-family:var(--mono); font-weight:500; color:var(--green)}
.approach{list-style:none; padding:0; margin:0; display:grid; gap:14px}
.approach li{display:grid; grid-template-columns:22px 1fr; gap:12px; align-items:start}
.approach li::before{content:""; width:12px; height:12px; margin-top:7px; border-radius:50% 0 50% 0; background:var(--green); transform:rotate(-12deg)}
.hrdf{margin-top:24px; padding:16px 18px; border-radius:12px; background:var(--accent-soft); color:var(--ink); font-size:.95rem}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}

/* services */
.svc-types{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-bottom:56px}
.svc-type{background:var(--bg); padding:22px}
.svc-type h3{font-size:1.1rem; margin-bottom:6px}
.svc-type p{color:var(--muted); font-size:.93rem}
@media (max-width:860px){.svc-types{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.svc-types{grid-template-columns:1fr}}
.areas{display:grid; gap:0}
.area{display:grid; grid-template-columns:280px 1fr; gap:32px; padding:28px 0; border-top:1px solid var(--line)}
.area > *{min-width:0}
.area h3{font-size:1.4rem}
.area .area-sub{color:var(--muted); font-size:.92rem; margin-top:8px}
.std-list{display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; list-style:none; padding:0; margin:0}
.std-list li{padding-left:16px; position:relative; font-size:.96rem}
.std-list li::before{content:""; position:absolute; left:0; top:.65em; width:6px; height:6px; border-radius:50%; background:var(--green)}
.std-list li small{display:block; color:var(--muted); font-size:.84rem}
@media (max-width:860px){.area{grid-template-columns:1fr; gap:16px}.std-list{grid-template-columns:1fr}}
.training{margin-top:40px; padding:24px; border-radius:14px; background:var(--surface)}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
.chip{font-size:.85rem; padding:6px 12px; border-radius:999px; background:var(--bg); border:1px solid var(--line)}

/* team */
.team{display:grid; grid-template-columns:1fr 1fr; gap:28px}
.person{background:var(--bg); border:1px solid var(--line); border-radius:18px; padding:28px; display:grid; gap:18px; align-content:start; min-width:0}
.person-head{display:flex; gap:16px; align-items:center}
.avatar{width:72px; height:72px; border-radius:50%; background:var(--leaf); display:grid; place-items:center; font-family:var(--display); font-size:1.5rem; color:var(--green); flex-shrink:0}
.person-head h3{font-size:1.35rem}
.person-head p{color:var(--muted); font-size:.92rem}
.person .bio{font-size:.96rem}
.creds{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.creds li{display:flex; justify-content:space-between; gap:12px; font-size:.9rem; padding-bottom:8px; border-bottom:1px dashed var(--line)}
.creds li .mono{color:var(--muted); text-align:right; flex-shrink:0; max-width:46%}
.contact-lines{display:grid; gap:6px; font-size:.93rem; padding-top:4px}
.contact-lines div{display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:10px; align-items:center}
.contact-lines dt{color:var(--muted); font-size:.84rem}
.contact-lines dd{margin:0; user-select:all; overflow-wrap:anywhere}
.copy{border:1px solid var(--line); background:transparent; color:var(--muted); border-radius:6px; font:500 .72rem var(--body); padding:2px 8px; cursor:pointer}
.person h4{margin:0; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--green)}
@media (max-width:860px){.team{grid-template-columns:1fr}}

/* audit log */
.log-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px}
.log-grid > *{min-width:0}
.tbl-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:12px}
table{border-collapse:collapse; width:100%; font-size:.9rem}
th,td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); white-space:nowrap}
th{font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); background:var(--surface); font-weight:600}
tr:last-child td{border-bottom:0}
td.num{font-family:var(--mono); font-variant-numeric:tabular-nums}
.role-lead{color:var(--green); font-weight:600}
.cb-chart{background:var(--bg); border:1px solid var(--line); border-radius:16px; padding:8px 22px 16px}
.cb-row,.cb-axis{display:grid; grid-template-columns:minmax(0,230px) minmax(0,1fr) 44px; gap:18px; align-items:center}
.cb-row{padding:9px 0; border-bottom:1px solid var(--line)}
.cb-name{font-weight:600; font-size:.92rem; line-height:1.25}
.cb-name small{display:block; font-weight:400; color:var(--muted); font-size:.78rem; margin-top:2px}
.cb-track{position:relative; height:12px; background:var(--surface); border-radius:6px}
.cb-track i{position:absolute; top:0; bottom:0; border-radius:6px; background:var(--map-dim)}
.cb-track i.on{background:var(--green)}
.cb-row .yr{font-family:var(--mono); font-size:.82rem; color:var(--muted); text-align:right; font-variant-numeric:tabular-nums}
.cb-axis{margin-top:10px}
.cb-ticks{position:relative; height:16px; font-family:var(--mono); font-size:.72rem; color:var(--muted)}
.cb-ticks span{position:absolute; top:0; transform:translateX(-50%)}
.cb-ticks span:first-child{transform:none}
@media (max-width:640px){.cb-chart{padding:4px 14px 12px}.cb-row,.cb-axis{grid-template-columns:minmax(0,108px) minmax(0,1fr) 38px; gap:10px}.cb-name{font-size:.82rem}.cb-name small{display:none}.cb-ticks .minor{display:none}}

/* map */
.map-tools{display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; margin-bottom:12px}
.cont-chips{display:flex; flex-wrap:wrap; gap:8px}
.cont-chips button{border:1.5px solid var(--line); background:var(--bg); color:var(--ink); border-radius:999px; padding:7px 14px; font:600 .86rem var(--body); cursor:pointer}
.cont-chips button small{font-family:var(--mono); color:var(--muted); margin-left:6px; font-weight:500}
.cont-chips button[aria-pressed="true"]{background:var(--ink); color:var(--bg); border-color:var(--ink)}
.cont-chips button[aria-pressed="true"] small{color:var(--bg); opacity:.75}
.tour{display:flex; align-items:center; gap:12px}
.tour-count{color:var(--muted); font-variant-numeric:tabular-nums; min-width:5ch}
.tour-bar{height:3px; background:var(--line); border-radius:2px; margin-bottom:16px; overflow:hidden}
.tour-bar i{display:block; height:100%; width:0; background:var(--green)}
.map-shell{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:stretch}
.map-shell > *{min-width:0}
.map-box{position:relative; background:var(--surface); border-radius:18px; padding:10px; overflow:hidden}
.map-box svg{width:100%; height:auto; display:block; aspect-ratio:1000/400}
.dots-land{stroke:var(--map-land); stroke-linecap:round; fill:none}
.ctry{fill:var(--map-hot); stroke:var(--surface); stroke-linejoin:round; cursor:pointer; transition:fill .2s}
.ctry:hover, .ctry.hover{fill:var(--green)}
.ctry.dim{fill:var(--map-dim)}
.ctry.active{fill:var(--accent)}
.ctry:focus{outline:none}
.ctry:focus-visible{stroke:var(--ink)}
.arc{fill:none; stroke:var(--accent); stroke-linecap:round}
.pin{cursor:pointer}
.pin .halo{fill:var(--map-hot); opacity:.25}
.pin .core{fill:var(--map-hot); stroke:var(--surface)}
.pin.active .core, .pin.active .halo{fill:var(--accent)}
.pin.hq .core, .pin.hq .halo{fill:var(--green)}
.pin.dim{opacity:.3}
.lbl{font-family:var(--body); font-weight:700; fill:var(--ink); paint-order:stroke; stroke:var(--surface); stroke-linejoin:round; pointer-events:none}
@media (prefers-reduced-motion: no-preference){.pin.active .halo{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.05}}}
.map-tip{position:absolute; pointer-events:none; background:var(--ink); color:var(--bg); font-size:.8rem; font-weight:600; padding:5px 10px; border-radius:6px; white-space:nowrap; transform:translate(-50%, calc(-100% - 10px))}
.map-reset{position:absolute; right:14px; bottom:14px; border:1px solid var(--line); background:var(--bg); color:var(--ink); border-radius:999px; padding:6px 12px; font:600 .78rem var(--body); cursor:pointer}
.map-side{display:flex; flex-direction:column}
.map-detail{padding:22px; border-radius:18px; background:var(--accent-soft); font-size:.95rem; flex:1; min-height:150px}
.map-detail .k{font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--accent); font-weight:700}
.map-detail b{display:block; font-family:var(--display); font-size:1.6rem; margin:4px 0 10px}
.country-groups{display:grid; grid-template-columns:2.2fr 1fr 1fr 1.4fr; gap:24px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line)}
@media (max-width:900px){.country-groups{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.country-groups{grid-template-columns:1fr}}
.cgroup h4{margin:0 0 6px; font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; color:var(--green); display:flex; justify-content:space-between}
.cgroup h4 span{font-family:var(--mono); color:var(--muted)}
.cgroup ul{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px}
.cgroup button{border:1px solid var(--line); background:var(--bg); color:var(--ink); border-radius:8px; padding:6px 10px; font:500 .88rem var(--body); cursor:pointer}
.cgroup button:hover{border-color:var(--green)}
.cgroup button[aria-current="true"]{background:var(--accent); border-color:var(--accent); color:var(--bg)}
.cgroup.dim{opacity:.4}
.legend{display:flex; gap:18px; flex-wrap:wrap; font-size:.82rem; color:var(--muted); margin-top:12px}
.legend i{display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:-1px}
@media (max-width:900px){.map-shell{grid-template-columns:1fr}}

/* contact */
.contact-grid{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:48px; align-items:start}
.contact-grid > *{min-width:0}
.tabs{display:inline-flex; background:var(--surface); border-radius:999px; padding:4px; margin-bottom:24px}
.tabs button{border:0; background:transparent; color:var(--muted); font:600 .92rem var(--body); padding:10px 18px; border-radius:999px; cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--green); color:var(--green-ink)}
form{display:grid; grid-template-columns:1fr 1fr; gap:16px}
form .full{grid-column:1/-1}
label{display:grid; gap:6px; font-size:.86rem; font-weight:600}
label .opt{font-weight:400; color:var(--muted)}
input,select,textarea{font:400 .98rem var(--body); color:var(--ink); background:var(--bg); border:1.5px solid var(--line); border-radius:10px; padding:11px 12px; width:100%; min-width:0}
input:focus,select:focus,textarea:focus{border-color:var(--green); outline:none}
textarea{min-height:110px; resize:vertical}
fieldset{border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; margin:0}
legend{font-size:.86rem; font-weight:600; padding:0 6px}
.checks{display:grid; grid-template-columns:1fr 1fr; gap:8px 16px}
.checks label{display:flex; gap:8px; align-items:center; font-weight:400; font-size:.92rem}
.checks input{width:auto}
.form-note{font-size:.82rem; color:var(--muted)}
.error{color:#c2410c; font-size:.86rem}
@media (max-width:640px){form{grid-template-columns:1fr}.checks{grid-template-columns:1fr}}
.done{border:1.5px solid var(--green); border-radius:16px; padding:24px; display:grid; gap:14px; background:var(--surface)}
.done h3{color:var(--green)}
.done-mark{width:72px; height:auto; aspect-ratio:844/441; fill:var(--brand)}
.done pre{white-space:pre-wrap; font-family:var(--mono); font-size:.8rem; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:12px; margin:0; max-height:220px; overflow:auto}
.done .row{display:flex; gap:10px; flex-wrap:wrap}
.contact-grid > aside{margin-top:72px}
@media (max-width:860px){.contact-grid > aside{margin-top:0}}
.office{display:grid; gap:18px; padding:26px; border-radius:16px; background:var(--bg); border:1px solid var(--line)}
.office h3{font-size:1.15rem}
.office-logo{display:block; width:200px; max-width:100%; height:auto; aspect-ratio:1845/450; fill:var(--brand); margin:14px 0 18px}
.office address{font-style:normal}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

footer{position:relative; overflow:hidden; background:var(--foot-bg); color:var(--foot-fg); padding-block:56px 44px}
footer::after{content:""; position:absolute; right:-6%; bottom:-28%; width:min(620px, 70vw); aspect-ratio:844/441; background:var(--foot-fg); opacity:.06; pointer-events:none; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22143%20126%20844%20441%22%3E%3Cpath%20d%3D%22M148.7%20560.6C157.7%20550.7%20185.8%20520.5%20195.6%20510.1L204.5%20500.7L297.2%20500.4C348.2%20500.3%20390.4%20499.9%20391.0%20499.5C393.5%20498.0%20389.1%20495.9%20371.7%20490.1C335.6%20478.3%20259.0%20454.6%20247.2%20451.7C244.9%20451.1%20243.0%20450.4%20243.0%20450.1C243.0%20449.8%20256.9%20435.6%20273.9%20418.6L304.8%20387.7L327.7%20396.8C340.2%20401.8%20355.4%20408.0%20361.5%20410.6C367.6%20413.1%20374.8%20416.0%20377.5%20417.0C380.2%20418.0%20390.8%20422.3%20401.0%20426.5C422.0%20435.2%20454.1%20448.1%20507.0%20469.4C546.7%20485.3%20553.0%20488.0%20553.0%20489.0C553.0%20489.3%20537.8%20504.7%20519.2%20523.2C488.0%20554.2%20484.9%20557.0%20478.0%20560.4C463.7%20567.3%20473.4%20567.0%20299.7%20567.0L142.8%20567.0L148.7%20560.6ZM671.5%20565.9C659.5%20564.0%20654.6%20560.2%20616.9%20523.1C597.6%20504.2%20582.2%20488.4%20582.7%20487.9C583.5%20487.1%20610.0%20473.9%20635.5%20461.5C643.7%20457.5%20661.3%20448.9%20674.5%20442.5C687.7%20436.0%20703.1%20428.6%20708.7%20426.0L718.8%20421.2L733.8%20436.8C742.0%20445.5%20751.2%20455.2%20754.1%20458.5C759.3%20464.3%20773.2%20478.9%20792.5%20498.8L801.5%20508.1L818.0%20507.8L834.5%20507.5L819.5%20491.5C811.2%20482.7%20797.1%20467.4%20788.0%20457.5C778.9%20447.7%20761.9%20429.2%20750.1%20416.5C738.3%20403.9%20728.4%20393.1%20728.0%20392.7C727.2%20391.8%20712.0%20398.8%20658.7%20424.8C642.9%20432.6%20623.4%20442.1%20615.2%20446.0C607.1%20449.9%20593.3%20456.6%20584.5%20460.9L568.5%20468.7L563.0%20466.5C560.0%20465.3%20553.2%20462.4%20548.0%20460.0C528.9%20451.5%20449.5%20418.8%20413.0%20404.4C401.2%20399.7%20388.4%20394.6%20384.5%20393.0C380.6%20391.4%20365.8%20385.5%20351.5%20379.9C337.2%20374.3%20325.2%20369.4%20324.8%20369.0C324.4%20368.7%20339.0%20353.5%20357.4%20335.2L390.7%20301.9L398.6%20305.5C402.9%20307.5%20420.7%20315.5%20438.0%20323.2C455.3%20330.9%20474.2%20339.4%20480.0%20342.0C485.8%20344.6%20495.0%20348.8%20500.5%20351.3C506.0%20353.7%20513.2%20357.0%20516.5%20358.5C519.8%20360.0%20527.0%20363.2%20532.5%20365.7C538.0%20368.2%20548.3%20372.9%20555.3%20376.1L568.1%20382.1L580.8%20376.1C587.8%20372.9%20603.4%20365.6%20615.5%20360.0C627.6%20354.3%20645.0%20346.2%20654.2%20341.9C663.4%20337.5%20671.1%20334.0%20671.4%20334.0C671.7%20334.0%20677.0%20331.6%20683.2%20328.6C693.6%20323.6%20741.1%20301.4%20743.6%20300.4C744.6%20299.9%20770.3%20326.7%20798.1%20357.1C804.9%20364.6%20824.2%20385.5%20841.0%20403.6C857.8%20421.7%20875.3%20440.8%20880.0%20446.0C884.6%20451.2%20890.9%20458.2%20894.0%20461.5C897.0%20464.8%20904.0%20472.7%20909.5%20479.0C915.0%20485.2%20922.2%20493.4%20925.5%20497.0C928.8%20500.7%20936.0%20508.8%20941.5%20514.9C947.0%20521.1%20956.7%20531.9%20963.0%20538.8C969.3%20545.8%20976.7%20554.2%20979.4%20557.5C982.1%20560.8%20985.0%20564.0%20985.7%20564.6C986.8%20565.5%20985.9%20565.9%20981.8%20566.3C973.4%20567.2%20677.0%20566.8%20671.5%20565.9ZM566.0%20355.7C563.2%20354.5%20535.0%20341.4%20512.0%20330.5C503.5%20326.5%20493.8%20322.0%20490.5%20320.5C485.4%20318.2%20457.6%20305.6%20435.5%20295.5C422.7%20289.7%20410.6%20283.9%20410.2%20283.6C409.8%20283.1%20483.9%20209.5%20486.8%20207.4C489.0%20205.9%20494.0%20210.3%20527.0%20242.5C540.0%20255.2%20589.4%20302.9%20610.7%20323.4C615.3%20327.8%20619.0%20331.7%20619.0%20332.0C619.0%20332.4%20614.4%20334.9%20608.8%20337.5C598.7%20342.3%20570.0%20355.9%20569.0%20356.5C568.7%20356.6%20567.4%20356.3%20566.0%20355.7ZM630.4%20304.8C622.2%20296.9%20600.4%20275.9%20582.0%20258.0C563.5%20240.1%20539.3%20217.0%20528.2%20206.5C517.1%20196.1%20508.0%20187.2%20508.0%20186.8C508.0%20186.3%20521.6%20172.5%20538.2%20156.1L568.5%20126.2L586.4%20143.4C618.1%20173.6%20725.1%20280.3%20724.7%20281.3C724.3%20282.7%20719.9%20285.0%20691.5%20298.1C677.2%20304.8%20661.3%20312.2%20656.1%20314.6C651.0%20317.0%20646.4%20319.0%20646.0%20319.0C645.6%20319.0%20638.6%20312.6%20630.4%20304.8Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22143%20126%20844%20441%22%3E%3Cpath%20d%3D%22M148.7%20560.6C157.7%20550.7%20185.8%20520.5%20195.6%20510.1L204.5%20500.7L297.2%20500.4C348.2%20500.3%20390.4%20499.9%20391.0%20499.5C393.5%20498.0%20389.1%20495.9%20371.7%20490.1C335.6%20478.3%20259.0%20454.6%20247.2%20451.7C244.9%20451.1%20243.0%20450.4%20243.0%20450.1C243.0%20449.8%20256.9%20435.6%20273.9%20418.6L304.8%20387.7L327.7%20396.8C340.2%20401.8%20355.4%20408.0%20361.5%20410.6C367.6%20413.1%20374.8%20416.0%20377.5%20417.0C380.2%20418.0%20390.8%20422.3%20401.0%20426.5C422.0%20435.2%20454.1%20448.1%20507.0%20469.4C546.7%20485.3%20553.0%20488.0%20553.0%20489.0C553.0%20489.3%20537.8%20504.7%20519.2%20523.2C488.0%20554.2%20484.9%20557.0%20478.0%20560.4C463.7%20567.3%20473.4%20567.0%20299.7%20567.0L142.8%20567.0L148.7%20560.6ZM671.5%20565.9C659.5%20564.0%20654.6%20560.2%20616.9%20523.1C597.6%20504.2%20582.2%20488.4%20582.7%20487.9C583.5%20487.1%20610.0%20473.9%20635.5%20461.5C643.7%20457.5%20661.3%20448.9%20674.5%20442.5C687.7%20436.0%20703.1%20428.6%20708.7%20426.0L718.8%20421.2L733.8%20436.8C742.0%20445.5%20751.2%20455.2%20754.1%20458.5C759.3%20464.3%20773.2%20478.9%20792.5%20498.8L801.5%20508.1L818.0%20507.8L834.5%20507.5L819.5%20491.5C811.2%20482.7%20797.1%20467.4%20788.0%20457.5C778.9%20447.7%20761.9%20429.2%20750.1%20416.5C738.3%20403.9%20728.4%20393.1%20728.0%20392.7C727.2%20391.8%20712.0%20398.8%20658.7%20424.8C642.9%20432.6%20623.4%20442.1%20615.2%20446.0C607.1%20449.9%20593.3%20456.6%20584.5%20460.9L568.5%20468.7L563.0%20466.5C560.0%20465.3%20553.2%20462.4%20548.0%20460.0C528.9%20451.5%20449.5%20418.8%20413.0%20404.4C401.2%20399.7%20388.4%20394.6%20384.5%20393.0C380.6%20391.4%20365.8%20385.5%20351.5%20379.9C337.2%20374.3%20325.2%20369.4%20324.8%20369.0C324.4%20368.7%20339.0%20353.5%20357.4%20335.2L390.7%20301.9L398.6%20305.5C402.9%20307.5%20420.7%20315.5%20438.0%20323.2C455.3%20330.9%20474.2%20339.4%20480.0%20342.0C485.8%20344.6%20495.0%20348.8%20500.5%20351.3C506.0%20353.7%20513.2%20357.0%20516.5%20358.5C519.8%20360.0%20527.0%20363.2%20532.5%20365.7C538.0%20368.2%20548.3%20372.9%20555.3%20376.1L568.1%20382.1L580.8%20376.1C587.8%20372.9%20603.4%20365.6%20615.5%20360.0C627.6%20354.3%20645.0%20346.2%20654.2%20341.9C663.4%20337.5%20671.1%20334.0%20671.4%20334.0C671.7%20334.0%20677.0%20331.6%20683.2%20328.6C693.6%20323.6%20741.1%20301.4%20743.6%20300.4C744.6%20299.9%20770.3%20326.7%20798.1%20357.1C804.9%20364.6%20824.2%20385.5%20841.0%20403.6C857.8%20421.7%20875.3%20440.8%20880.0%20446.0C884.6%20451.2%20890.9%20458.2%20894.0%20461.5C897.0%20464.8%20904.0%20472.7%20909.5%20479.0C915.0%20485.2%20922.2%20493.4%20925.5%20497.0C928.8%20500.7%20936.0%20508.8%20941.5%20514.9C947.0%20521.1%20956.7%20531.9%20963.0%20538.8C969.3%20545.8%20976.7%20554.2%20979.4%20557.5C982.1%20560.8%20985.0%20564.0%20985.7%20564.6C986.8%20565.5%20985.9%20565.9%20981.8%20566.3C973.4%20567.2%20677.0%20566.8%20671.5%20565.9ZM566.0%20355.7C563.2%20354.5%20535.0%20341.4%20512.0%20330.5C503.5%20326.5%20493.8%20322.0%20490.5%20320.5C485.4%20318.2%20457.6%20305.6%20435.5%20295.5C422.7%20289.7%20410.6%20283.9%20410.2%20283.6C409.8%20283.1%20483.9%20209.5%20486.8%20207.4C489.0%20205.9%20494.0%20210.3%20527.0%20242.5C540.0%20255.2%20589.4%20302.9%20610.7%20323.4C615.3%20327.8%20619.0%20331.7%20619.0%20332.0C619.0%20332.4%20614.4%20334.9%20608.8%20337.5C598.7%20342.3%20570.0%20355.9%20569.0%20356.5C568.7%20356.6%20567.4%20356.3%20566.0%20355.7ZM630.4%20304.8C622.2%20296.9%20600.4%20275.9%20582.0%20258.0C563.5%20240.1%20539.3%20217.0%20528.2%20206.5C517.1%20196.1%20508.0%20187.2%20508.0%20186.8C508.0%20186.3%20521.6%20172.5%20538.2%20156.1L568.5%20126.2L586.4%20143.4C618.1%20173.6%20725.1%20280.3%20724.7%20281.3C724.3%20282.7%20719.9%20285.0%20691.5%20298.1C677.2%20304.8%20661.3%20312.2%20656.1%20314.6C651.0%20317.0%20646.4%20319.0%20646.0%20319.0C645.6%20319.0%20638.6%20312.6%20630.4%20304.8Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
footer .wrap{position:relative; z-index:1; display:grid; gap:32px; font-size:.88rem; line-height:1.7}
.ft-logo{display:block; width:260px; max-width:100%; height:auto; aspect-ratio:1845/450; fill:var(--foot-fg)}
.ft-tag{font-family:var(--display); font-style:italic; opacity:.8; margin-top:10px}
.ft-cols{display:grid; grid-template-columns:1.3fr 1.3fr 1fr; gap:24px; padding-top:24px; border-top:1px solid color-mix(in srgb, var(--foot-fg) 22%, transparent)}
.ft-cols > div:last-child{text-align:right}
footer .muted{opacity:.72}
@media (max-width:760px){.ft-cols{grid-template-columns:1fr}.ft-cols > div:last-child{text-align:left}}

/* division gateway */
.gw{min-height:100svh; display:flex; flex-direction:column; gap:28px; padding-block:24px 20px; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px)); max-width:1240px; margin:0 auto}
.gw-top{display:flex; align-items:center; justify-content:space-between; gap:16px}
.gw-logo{height:52px; width:auto; aspect-ratio:1845/450; fill:var(--brand); display:block}
.gw-head{display:grid; gap:8px}
.gw-kicker{font-family:var(--display); font-style:italic; color:var(--green)}
.gw-head h1{font-size:clamp(2rem,4vw,3rem)}
.gw-panels{flex:1; display:flex; gap:16px; min-height:440px}
.gw-panel{position:relative; flex:1; min-width:0; overflow:hidden; border-radius:24px; padding:clamp(24px,3vw,40px); display:flex; flex-direction:column; gap:24px; text-decoration:none; color:var(--ink); transition:flex .5s cubic-bezier(.2,.8,.2,1), transform .3s}
.gw-panels:hover .gw-panel:hover{flex:1.25}
.gw-panel:focus-visible{outline:3px solid var(--accent); outline-offset:3px}
.gw-consult{background:var(--surface); border:1px solid var(--line)}
.gw-trade{background:var(--foot-bg); color:var(--foot-fg)}
.gw-art{position:absolute; pointer-events:none}
.gw-consult .gw-art{right:-6%; bottom:-4%; width:min(78%, 560px); height:auto; aspect-ratio:844/441; fill:var(--leaf)}
.gw-chart{left:0; right:0; bottom:0; width:100%; height:55%}
.gw-area{fill:var(--foot-fg); opacity:.06}
.gw-line{fill:none; stroke:var(--foot-fg); stroke-width:2; opacity:.35; vector-effect:non-scaling-stroke}
@media (prefers-reduced-motion: no-preference){.gw-line{stroke-dasharray:1; animation:draw 1.8s .3s cubic-bezier(.4,0,.2,1) both}@keyframes draw{from{stroke-dashoffset:1}}}
.gw-no{position:relative; font-family:var(--mono); font-size:.8rem; opacity:.7}
.gw-body{position:relative; display:grid; gap:12px; max-width:460px; margin-top:clamp(24px, 7vh, 88px)}
.gw-cta{margin-top:auto}
.gw-label{font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--green)}
.gw-trade .gw-label{color:var(--foot-fg); opacity:.75}
.gw-title{font-family:var(--display); font-weight:600; font-size:clamp(1.8rem,3.2vw,2.6rem); line-height:1.1; letter-spacing:-.01em}
.gw-desc{font-size:1.02rem; line-height:1.55; opacity:.85}
.gw-tags{font-family:var(--mono); font-size:.8rem; opacity:.75}
.gw-cta{position:relative; align-self:flex-start; display:inline-flex; align-items:center; gap:10px; font-weight:700; padding:12px 22px; border-radius:999px; background:var(--green); color:var(--green-ink)}
.gw-trade .gw-cta{background:var(--foot-fg); color:var(--foot-bg)}
.gw-cta svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s}
.gw-panel:hover .gw-cta svg{transform:translateX(4px)}
.gw-foot{font-size:.8rem; color:var(--muted); text-align:center}
@media (max-width:760px){.gw-panels{flex-direction:column; min-height:0}.gw-panel{min-height:300px}.gw-logo{height:40px}}

/* commodities placeholder */
.cm-div{font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--muted); padding-left:16px; border-left:1px solid var(--line)}
.cm-top .wrap{gap:16px}
.cm-hero{padding-block:clamp(56px,8vw,104px)}
.cm-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,440px); gap:48px; align-items:center}
.cm-grid h1{margin:14px 0 18px}
.cm-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:20px}
.cm-steps > div{background:var(--bg); border:1px dashed var(--line); border-radius:16px; padding:22px; display:grid; gap:8px; align-content:start}
.cm-steps p{color:var(--muted); font-size:.93rem}
@media (max-width:860px){.cm-grid{grid-template-columns:1fr}.cm-steps{grid-template-columns:1fr}}
@media (max-width:600px){.cm-div{display:none}}
.cm-card .contact-lines div{grid-template-columns:72px minmax(0,1fr) auto}
.cm-card h3 + p{margin-top:-12px}

/* commodities */
.cm-top .wrap{gap:18px}
.cm-nav{display:flex; gap:18px; margin-left:auto}
.cm-nav a{color:var(--ink); text-decoration:none; font-weight:500; font-size:.93rem; white-space:nowrap}
.cm-nav a:hover{color:var(--green)}
@media (max-width:1080px){.cm-nav{display:none}.cm-top .lang{margin-left:auto}}
@media (max-width:600px){.cm-cta-top{display:none}}
.cm-hero{padding-block:clamp(48px,7vw,96px)}
.cm-hero-grid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:56px; align-items:center}
.cm-hero-grid h1{margin:14px 0 18px}
.cm-stats{display:grid; grid-template-columns:1fr 1fr; align-self:center; gap:1px; margin:0; background:var(--line); border:1px solid var(--line); border-radius:20px; overflow:hidden}
.cm-stats > div{background:var(--bg); padding:32px 28px}
.cm-stats dt{font-family:var(--display); font-size:3.4rem; font-weight:600; color:var(--green); line-height:1; font-variant-numeric:tabular-nums}
.cm-stats dd{margin:8px 0 0; color:var(--muted); font-size:.9rem}
@media (max-width:900px){.cm-hero-grid{grid-template-columns:1fr; gap:32px}}
#cmChips{margin-bottom:24px}
.cm-sectors{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; align-items:start}
.sector{background:var(--bg); border:1px solid var(--line); border-radius:20px; padding:24px; display:grid; gap:14px; transition:opacity .3s, transform .3s, border-color .3s}
.sector.is-off{opacity:.32; transform:scale(.985)}
.sector.is-on{border-color:var(--green); box-shadow:0 0 0 1px var(--green)}
.sector header{display:flex; justify-content:space-between; align-items:center}
.sector-ico{width:44px; height:44px; border-radius:12px; background:var(--leaf); display:grid; place-items:center}
.sector-ico svg{width:24px; height:24px; fill:none; stroke:var(--green); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.sector-no{font-family:var(--mono); font-size:.78rem; color:var(--muted)}
.sector h3{font-size:1.3rem}
.sector-desc{color:var(--muted); font-size:.92rem; margin-top:-6px}
.sector-group{padding-top:12px; border-top:1px solid var(--line)}
.sector-group h4{margin:0 0 8px; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--green)}
.sector-group ul{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px}
.sector-group li{font-size:.85rem; padding:4px 10px; border-radius:999px; background:var(--surface); border:1px solid var(--line)}
@media (max-width:1000px){.cm-sectors{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:640px){.cm-sectors{grid-template-columns:1fr}}

.tn-shell{display:grid; gap:24px}
.tn-box{position:relative; background:var(--surface)}
.tn-box svg{width:100%; height:auto; display:block; aspect-ratio:790/364}
.tn-c{fill:var(--map-hot); stroke:var(--surface); stroke-width:.6; cursor:pointer; transition:fill .25s, opacity .25s}
.tn-c.hub{fill:var(--green)}
.tn-c:hover{fill:var(--green)}
.tn-c.active{fill:var(--accent)}
.tn-c.dim{opacity:.35}
.tn-base{fill:none; stroke:var(--accent); stroke-width:1.2; opacity:.18}
.tn-flow{fill:none; stroke:var(--accent); stroke-width:1.6; stroke-linecap:round; stroke-dasharray:3 9; opacity:.85}
@media (prefers-reduced-motion: no-preference){.tn-flow{animation:flow 1.6s linear infinite; animation-delay:calc(var(--d) * -1)}@keyframes flow{to{stroke-dashoffset:-24}}}
.tn-ship{fill:var(--accent)}
.tn-ship.back{fill:var(--green)}
.tn-r{transition:opacity .25s}
.tn-r.dim{opacity:.12}
.tn-r.active .tn-flow{stroke-width:2.4; opacity:1}
.tn-r.active .tn-base{opacity:.4}
.tn-n{cursor:pointer}
.tn-n .ring{fill:var(--accent); opacity:.18}
.tn-n.hub .ring{fill:var(--green); opacity:.25}
.tn-n .dot{fill:var(--bg); stroke:var(--accent); stroke-width:1.8}
.tn-n.hub .dot{fill:var(--green); stroke:var(--bg)}
.tn-n text{font:700 10px var(--body); fill:var(--ink); paint-order:stroke; stroke:var(--surface); stroke-width:3px; stroke-linejoin:round; pointer-events:none}
.tn-n.dim{opacity:.3}
@media (prefers-reduced-motion: no-preference){.tn-n .ring{animation:pulse2 2.4s ease-in-out infinite}.tn-n.hub .ring{animation-duration:1.6s}@keyframes pulse2{50%{opacity:.04}}}
.tn-side{display:grid; grid-template-columns:320px minmax(0,1fr); gap:28px; align-items:start}
.tn-groups{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px 24px}
@media (max-width:900px){.tn-side{grid-template-columns:1fr}.tn-groups{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.tn-groups{grid-template-columns:1fr}}

.qty{display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:16px}
@media (max-width:640px){.qty{grid-template-columns:1fr 1fr}.qty label:last-child{grid-column:1/-1}}
label .form-note{font-weight:400}
input[type=file]{padding:9px 10px; background:var(--bg); cursor:pointer; font-size:.9rem}
input[type=file]::file-selector-button{font:600 .85rem var(--body); color:var(--green-ink); background:var(--green); border:0; border-radius:999px; padding:7px 14px; margin-right:12px; cursor:pointer}
.form-actions{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.form-actions .form-note{flex:1; min-width:200px}

/* ==== refinement layer: quiet Straits sophistication ==== */
:root{ --line-strong:#c2d2c4; --tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M24%209c5%205%205%2010%200%2015c-5-5-5-10%200-15zM39%2024c-5%205-10%205-15%200c5-5%2010-5%2015%200zM24%2039c-5-5-5-10%200-15c5%205%205%2010%200%2015zM9%2024c5-5%2010-5%2015%200c-5%205-10%205-15%200z%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0%208a8%208%200%200%200%208-8M40%200a8%208%200%200%200%208%208M48%2040a8%208%200%200%200-8%208M8%2048a8%208%200%200%200-8-8%22%2F%3E%3Cpath%20d%3D%22M24%200v3M24%2045v3M0%2024h3M45%2024h3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --line-strong:#2f4a3a }}
:root[data-theme="dark"]{ --line-strong:#2f4a3a }
body{font-weight:400; font-size:17px; letter-spacing:.005em; -webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:400; letter-spacing:-.012em}
h1{font-size:clamp(2.5rem, 5vw, 4.3rem); line-height:1.04}
h2{font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.08}
h3{font-weight:500}
:lang(zh) h1, :lang(zh) h2, :lang(zh) h3, :lang(zh) .gw-title{font-family:"Noto Serif SC", serif; letter-spacing:0}
.lede{font-weight:300; font-size:1.12rem; line-height:1.7}
section{padding-block:clamp(72px, 10vw, 136px)}
.sec-head{gap:16px; margin-bottom:52px}
.eyebrow{font-size:.7rem; letter-spacing:.3em; font-weight:500}
.eyebrow::before{width:18px; height:10px}
.eyebrow::after{content:""; width:40px; height:1px; background:currentColor; opacity:.5}

/* header */
header.top{background:color-mix(in srgb, var(--bg) 94%, transparent); border-bottom-color:var(--line)}
.top .wrap{padding-block:16px}
nav.main a, .cm-nav a{font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; font-weight:500; position:relative; padding-block:6px}
nav.main a::after, .cm-nav a::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor; transition:right .35s ease}
nav.main a:hover::after, .cm-nav a:hover::after{right:0}
nav.main a:hover, .cm-nav a:hover{color:var(--ink)}
.lang{border:0; border-radius:0; gap:2px}
.lang button{background:none!important; color:var(--muted)!important; padding:6px 7px; font:500 .7rem var(--body); letter-spacing:.14em}
.lang button[aria-pressed="true"]{color:var(--ink)!important; box-shadow:inset 0 -1px 0 var(--ink)}

/* buttons: squared, tracked */
.btn{border-radius:2px; text-transform:uppercase; letter-spacing:.16em; font:500 .74rem var(--body); padding:16px 28px; border-width:1px}
.btn.sm{padding:11px 18px; font-size:.68rem}
.btn:hover{transform:none}
.btn.primary:hover{background:var(--ink); border-color:var(--ink)}
.btn.ghost:hover{background:var(--green); color:var(--green-ink)}
.copy{border-radius:2px; text-transform:uppercase; letter-spacing:.12em; font-size:.62rem}

/* hero: shophouse arch window */
.hero{padding-block:clamp(48px,7vw,96px) clamp(56px,7vw,96px)}
.hero .tag{font-size:1.15rem; font-weight:300}
.hero-art{padding:14px; border:1px solid var(--line-strong); border-radius:1000px 1000px 2px 2px; background:var(--bg)}
.hero-art svg{border-radius:1000px 1000px 0 0; filter:none}
.standards-line{margin-top:36px; padding-top:20px; border-top:1px solid var(--line); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); line-height:2}
.standards-line i{font-style:normal; color:var(--green); padding:0 6px}

/* Peranakan tile: frieze and faint ground on bands */
.frieze{height:30px; background:var(--green); opacity:.22; -webkit-mask:var(--tile) repeat-x 0 0/30px 30px; mask:var(--tile) repeat-x 0 0/30px 30px}
.frieze-foot{opacity:.35; margin-top:0}
.band, .stats{position:relative; isolation:isolate}
.band::before{content:""; position:absolute; inset:0; z-index:-1; background:var(--green); opacity:.05; -webkit-mask:var(--tile) repeat 0 0/56px 56px; mask:var(--tile) repeat 0 0/56px 56px; pointer-events:none}

/* stats */
.stats{border-block:0}
.stat{padding-block:40px}
.stat b{font-weight:300; font-size:3.2rem; letter-spacing:-.02em; font-variant-numeric:oldstyle-nums proportional-nums}
.stat span{font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; margin-top:14px; line-height:1.6}

/* surfaces: hairline, near-square */
.svc-types, .person, .office, .done, .training, .hrdf, .cb-chart, .map-box, .map-detail, .sector, .cm-stats, .cm-steps > div, .tbl-wrap, fieldset{border-radius:2px}
.svc-types{background:var(--line-strong); border-color:var(--line-strong)}
.svc-type{padding:30px 28px}
.svc-type h3{font-size:1.25rem}
.training{background:transparent; border:1px solid var(--line-strong); padding:32px}
.chip, .badge{border-radius:2px; background:transparent; border:1px solid var(--line-strong); font-size:.8rem; letter-spacing:.02em}
.hrdf{background:transparent; border:1px solid var(--line-strong); padding:20px 22px}
.area h3{font-size:1.6rem}
.std-list li::before{width:5px; height:5px; border-radius:0; transform:rotate(45deg)}
.timeline .yr{font-family:var(--display); font-size:1.15rem; font-variant-numeric:oldstyle-nums}
.approach li::before{border-radius:0; transform:rotate(45deg); width:7px; height:7px; margin-top:10px; margin-left:3px}

/* team: monogram seals */
.person{border-color:var(--line-strong); padding:36px}
.avatar{background:transparent; border:1px solid var(--green); box-shadow:inset 0 0 0 4px var(--bg), inset 0 0 0 5px var(--line-strong); font-style:italic; font-weight:300; font-size:1.45rem}
.person-head h3{font-size:1.7rem; font-weight:400}
.person h4, .cgroup h4, .sector-group h4{letter-spacing:.24em; font-size:.66rem; font-weight:500}
.creds li{border-bottom-style:solid; border-bottom-color:var(--line)}

/* chips and toggles */
.cont-chips button, .cgroup button, .sector-group li{border-radius:2px; background:transparent; font-weight:400}
.cont-chips button[aria-pressed="true"]{background:var(--green); border-color:var(--green); color:var(--green-ink)}
.cgroup button[aria-current="true"]{background:var(--green); border-color:var(--green); color:var(--green-ink)}
.tabs{background:transparent; border-radius:0; padding:0; gap:28px; border-bottom:1px solid var(--line-strong)}
.tabs button{border-radius:0; padding:12px 0; font:500 .72rem var(--body); text-transform:uppercase; letter-spacing:.18em; background:transparent!important}
.tabs button[aria-selected="true"]{color:var(--ink); box-shadow:inset 0 -2px 0 var(--green)}

/* map and detail cards */
.map-detail{background:var(--bg); border:1px solid var(--line-strong)}
.map-detail .k{color:var(--green); letter-spacing:.22em; font-weight:500}
.map-detail b{font-weight:400; font-size:1.8rem}
.map-box{border:1px solid var(--line)}
.map-reset{border-radius:2px; text-transform:uppercase; letter-spacing:.14em; font-size:.64rem}

/* forms: ruled lines */
label{font-size:.68rem; font-weight:500; text-transform:uppercase; letter-spacing:.16em; color:var(--muted)}
label .opt{text-transform:none; letter-spacing:0}
.checks label{text-transform:none; letter-spacing:0; font-size:.95rem; color:var(--ink)}
input,select,textarea{border:0; border-bottom:1px solid var(--line-strong); border-radius:0; background:transparent; padding:12px 2px; font-size:1rem; letter-spacing:0; text-transform:none; color:var(--ink)}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--green); box-shadow:0 1px 0 var(--green)}
textarea{border:1px solid var(--line-strong); padding:12px}
input[type=file]{border:1px dashed var(--line-strong); padding:10px}
input[type=file]::file-selector-button{border-radius:2px; text-transform:uppercase; letter-spacing:.14em; font-size:.66rem}
fieldset{border-color:var(--line-strong)}
legend{font-size:.68rem; text-transform:uppercase; letter-spacing:.16em; font-weight:500; color:var(--muted)}
.form-note{letter-spacing:0; text-transform:none}
.done{background:var(--bg); border-color:var(--line-strong)}

/* office / commodities cards */
.office{border-color:var(--line-strong); padding:32px}
.sector{border-color:var(--line-strong); padding:30px}
.sector-ico{border-radius:0; background:transparent; border:1px solid var(--line-strong)}
.sector h3{font-size:1.5rem; font-weight:400}
.cm-stats{background:var(--line-strong); border-color:var(--line-strong)}
.cm-stats dt{font-weight:300; font-variant-numeric:oldstyle-nums}
.cm-stats dd{font-size:.7rem; text-transform:uppercase; letter-spacing:.18em}

/* gateway: two arched doorways */
.gw{gap:36px; padding-block:32px 24px}
.gw-head{text-align:center; justify-items:center}
.gw-head h1{font-size:clamp(2.4rem, 4.6vw, 3.8rem)}
.gw-kicker{font-weight:300; font-size:1.1rem}
.gw-top .lang{margin-left:auto}
.gw-panels{gap:28px}
.gw-panel{border-radius:1000px 1000px 2px 2px / 300px 300px 2px 2px; align-items:center; text-align:center; padding:clamp(56px, 9vw, 120px) clamp(24px, 4vw, 56px) clamp(32px, 4vw, 48px)}
.gw-consult{border:1px solid var(--line-strong); background:var(--surface); box-shadow:inset 0 0 0 10px var(--bg), inset 0 0 0 11px var(--line-strong)}
.gw-trade{box-shadow:inset 0 0 0 10px var(--foot-bg), inset 0 0 0 11px color-mix(in srgb, var(--foot-fg) 28%, transparent)}
.gw-body{justify-items:center; margin-inline:auto}
.gw-title{font-weight:400; font-size:clamp(2rem, 3.4vw, 2.9rem)}
.gw-label{letter-spacing:.3em; font-weight:500; font-size:.68rem}
.gw-desc{font-weight:300}
.gw-tags{font-family:var(--body); text-transform:uppercase; letter-spacing:.18em; font-size:.66rem}
.gw-cta{align-self:center; border-radius:2px; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:500; padding:15px 28px}
.gw-no{font-family:var(--display); font-style:italic; font-size:1.05rem; opacity:.6}
.gw-consult .gw-art{right:50%; transform:translateX(50%); bottom:-2%; width:min(70%, 460px); opacity:.85}
.gw-panels:hover .gw-panel:hover{flex:1.12}
@media (max-width:760px){.gw-panel{border-radius:1000px 1000px 2px 2px / 160px 160px 2px 2px; padding-top:64px; min-height:380px}}


nav.main{gap:22px}
.cm-nav{gap:22px}
nav.main a, .cm-nav a{font-size:.68rem; letter-spacing:.14em}
@media (max-width:1180px){.cm-nav{display:none}.cm-top .lang{margin-left:auto}}
@media (min-width:1181px) and (max-width:1300px){.cm-div{display:none}}
.gw-consult .gw-art{opacity:.5}
.gw-body{margin-top:clamp(16px, 4vh, 48px)}
.band::before{opacity:.04}
/* footer */
footer{padding-block:72px 48px}
.ft-tag{font-weight:300; font-size:1.05rem}
.ft-cols{font-size:.84rem}

@media (min-width:1181px) and (max-width:1340px){.nav-div{display:none}}
/* ==== subtle gold accents ==== */
:root{ --gold:#b4935a; --gold-ink:#8c6c38; --gold-soft:#e6d8bd }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --gold:#c9aa72; --gold-ink:#d4b783; --gold-soft:#4a3f2a }}
:root[data-theme="dark"]{ --gold:#c9aa72; --gold-ink:#d4b783; --gold-soft:#4a3f2a }
.eyebrow::after{background:var(--gold); opacity:1}
.hero .tag, .gw-kicker, .ft-tag{color:var(--gold-ink)}
.hero-art{border-color:var(--gold-soft)}
.standards-line{border-top-color:var(--gold-soft)}
.standards-line i{color:var(--gold)}
.frieze{background:var(--gold); opacity:.45}
.frieze-foot{opacity:.6}
.stat{border-left-color:var(--gold-soft)}
.timeline .yr{color:var(--gold-ink); font-style:italic}
.approach li::before, .std-list li::before{background:var(--gold)}
.avatar{border-color:var(--gold); color:var(--green)}
.tabs button[aria-selected="true"]{box-shadow:inset 0 -2px 0 var(--gold)}
nav.main a::after, .cm-nav a::after{background:var(--gold)}
.lang button[aria-pressed="true"]{box-shadow:inset 0 -1px 0 var(--gold)}
.gw-consult{box-shadow:inset 0 0 0 10px var(--bg), inset 0 0 0 11px var(--gold-soft)}
.gw-trade{box-shadow:inset 0 0 0 10px var(--foot-bg), inset 0 0 0 11px color-mix(in srgb, var(--gold) 55%, transparent)}
.gw-no{color:var(--gold-ink); opacity:1}
.gw-trade .gw-no{color:var(--gold)}
.gw-cta svg{color:var(--gold)}
.gw-trade .gw-cta svg{color:var(--gold-ink)}
.ft-cols{border-top-color:color-mix(in srgb, var(--gold) 45%, transparent)}
footer .ft-tag{color:var(--gold)}
.map-detail .k{color:var(--gold-ink)}
.office .eyebrow::after, .person h4{color:var(--green)}
.sector-no, .gw-foot{color:var(--gold-ink)}

/* ==== contrast + weight pass ==== */
body{font-weight:420; color:var(--ink)}
h1,h2{font-weight:460}
h3{font-weight:520}
.lede, .gw-desc, .hero .tag, .gw-kicker, .ft-tag{font-weight:400}
.lede{color:var(--muted)}
.stat b, .cm-stats dt{font-weight:400}
.person-head h3, .sector h3, .map-detail b, .gw-title, .area h3, .svc-type h3{font-weight:480}
nav.main a, .cm-nav a, .btn, .tabs button, label, legend, .eyebrow, .stat span, .cm-stats dd, .gw-label, .gw-tags{font-weight:550}
nav.main a, .cm-nav a{color:var(--ink)}
.stat span, .cm-stats dd, .standards-line, label, legend{color:var(--muted)}
/* cards sit on the tinted page */
.svc-type, .person, .office, .sector, .cm-stats > div, .done, .map-detail, .cb-chart, .training, .hrdf, .hero-art{background:var(--card)}
.chip, .cgroup button, .sector-group li, .cont-chips button:not([aria-pressed="true"]), .copy, .map-reset{background:var(--card)}
.svc-types, .cm-stats{background:var(--line-strong)}
.map-box, .tn-box{background:var(--card)}
.dots-land{stroke:var(--map-land)}
header.top{background:color-mix(in srgb, var(--bg) 92%, transparent)}
/* theme switch */
.theme-toggle{display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border:1px solid var(--line-strong); background:transparent; color:var(--ink); border-radius:50%; cursor:pointer; transition:border-color .2s, color .2s}
.theme-toggle:hover{border-color:var(--gold); color:var(--gold-ink)}
.theme-toggle svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:block}
:root[data-theme="dark"] .theme-toggle .moon{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .theme-toggle .sun{display:block} :root:not([data-theme="light"]) .theme-toggle .moon{display:none}}
.gw-top{gap:12px}
.gw-top .lang{margin-left:auto}
@media (max-width:420px){.theme-toggle{width:30px; height:30px}}

@media (min-width:1181px) and (max-width:1340px){nav.main{gap:16px}.top .wrap{gap:14px}}
.menu-btn{border-radius:2px; border-color:var(--line-strong); text-transform:uppercase; letter-spacing:.14em; font:550 .66rem var(--body); padding:9px 12px; background:var(--card)}

/* ==== division lobby: songket gold net ==== */
#gateway{--lx-a:#ffffff; --lx-b:#eaf4ec; --lx-c:#c6dfcd; --lx-glow:rgba(214,172,82,.20); --lx-gold:#b08a3e; --lx-gold-ink:#8a6524; --lx-gold-soft:rgba(176,138,62,.6); --lx-cream:#0b3a2a; --lx-cream-dim:#2f4d3d; --lx-logo:#12553e; --lx-deep:#f6ecd2; --lx-net-op:.46; --lx-glint:rgba(232,182,72,.95); --lx-rebung-op:1; --lx-band:#12553e; --lx-p1:#ffffff; --lx-p2:#fbfcf7; --lx-line:rgba(176,138,62,.6); --lx-line-hover:rgba(160,120,45,1); --lx-sh:rgba(18,85,62,.28); --lx-art-op:.22; --lx-cta:#12553e; --lx-cta-fill:#12553e; --lx-scheme:light;
  position:relative; isolation:isolate; overflow:hidden; max-width:none; margin:0; min-height:100svh;
  background:radial-gradient(60% 40% at 50% 0%, var(--lx-glow), transparent 70%), radial-gradient(120% 80% at 50% 18%, var(--lx-a) 0%, var(--lx-b) 45%, var(--lx-c) 100%); color:var(--lx-cream); color-scheme:var(--lx-scheme);
  padding-block:calc(env(safe-area-inset-top,0px) + 54px) 54px}
#gateway > *{width:100%; max-width:1240px; margin-inline:auto; position:relative; z-index:1}
#gateway::before{content:""; position:absolute; inset:0; z-index:0; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23c9a96b%22%3E%3Cpath%20d%3D%22M32%200L64%2032L32%2064L0%2032Z%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%207L57%2032L32%2057L7%2032Z%22%20stroke-width%3D%22.35%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%2022c3%203%203%207%200%2010c-3-3-3-7%200-10zM42%2032c-3%203-7%203-10%200c3-3%207-3%2010%200zM32%2042c-3-3-3-7%200-10c3%203%203%207%200%2010zM22%2032c3-3%207-3%2010%200c-3%203-7%203-10%200z%22%20stroke-width%3D%22.7%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23c9a96b%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%221.1%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%220%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2232%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2232%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2264%22%20r%3D%22.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-size:64px 64px; opacity:var(--lx-net-op); pointer-events:none;
  -webkit-mask:radial-gradient(90% 75% at 50% 45%, #000 30%, transparent 100%); mask:radial-gradient(90% 75% at 50% 45%, #000 30%, transparent 100%)}
#gateway::after{content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55;
  background:linear-gradient(115deg, transparent 42%, var(--lx-glint) 50%, transparent 58%) 0 0/300% 100% no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000%22%3E%3Cpath%20d%3D%22M32%200L64%2032L32%2064L0%2032Z%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%207L57%2032L32%2057L7%2032Z%22%20stroke-width%3D%22.35%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%2022c3%203%203%207%200%2010c-3-3-3-7%200-10zM42%2032c-3%203-7%203-10%200c3-3%207-3%2010%200zM32%2042c-3-3-3-7%200-10c3%203%203%207%200%2010zM22%2032c3-3%207-3%2010%200c-3%203-7%203-10%200z%22%20stroke-width%3D%22.7%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23000%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%221.1%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%220%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2232%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2232%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2264%22%20r%3D%22.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 0/64px 64px repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000%22%3E%3Cpath%20d%3D%22M32%200L64%2032L32%2064L0%2032Z%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%207L57%2032L32%2057L7%2032Z%22%20stroke-width%3D%22.35%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%2022c3%203%203%207%200%2010c-3-3-3-7%200-10zM42%2032c-3%203-7%203-10%200c3-3%207-3%2010%200zM32%2042c-3-3-3-7%200-10c3%203%203%207%200%2010zM22%2032c3-3%207-3%2010%200c-3%203-7%203-10%200z%22%20stroke-width%3D%22.7%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23000%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%221.1%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%220%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2232%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2232%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2264%22%20r%3D%22.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 0/64px 64px repeat}
@media (prefers-reduced-motion: no-preference){#gateway::after{animation:glint 9s ease-in-out infinite}@keyframes glint{0%{background-position:120% 0}55%,100%{background-position:-60% 0}}}
@media (prefers-reduced-motion: reduce){#gateway::after{display:none}}

@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) #gateway{--lx-a:#134232; --lx-b:#0b2b20; --lx-c:#061a13; --lx-gold:#c9a96b; --lx-gold-ink:#c9a96b; --lx-gold-soft:rgba(201,169,107,.38); --lx-cream:#f1e9d6; --lx-cream-dim:rgba(241,233,214,.72); --lx-logo:#f1e9d6; --lx-deep:#061a13; --lx-net-op:.16; --lx-glint:rgba(255,226,160,.55); --lx-rebung-op:.55; --lx-p1:rgba(10,38,28,.82); --lx-p2:rgba(6,26,19,.92); --lx-line:rgba(201,169,107,.28); --lx-line-hover:rgba(201,169,107,.65); --lx-sh:rgba(0,0,0,.6); --lx-art-op:.12; --lx-glow:transparent; --lx-band:transparent; --lx-cta:#c9a96b; --lx-cta-fill:#c9a96b; --lx-scheme:dark;}}
:root[data-theme="dark"] #gateway{--lx-a:#134232; --lx-b:#0b2b20; --lx-c:#061a13; --lx-gold:#c9a96b; --lx-gold-ink:#c9a96b; --lx-gold-soft:rgba(201,169,107,.38); --lx-cream:#f1e9d6; --lx-cream-dim:rgba(241,233,214,.72); --lx-logo:#f1e9d6; --lx-deep:#061a13; --lx-net-op:.16; --lx-glint:rgba(255,226,160,.55); --lx-rebung-op:.55; --lx-p1:rgba(10,38,28,.82); --lx-p2:rgba(6,26,19,.92); --lx-line:rgba(201,169,107,.28); --lx-line-hover:rgba(201,169,107,.65); --lx-sh:rgba(0,0,0,.6); --lx-art-op:.12; --lx-glow:transparent; --lx-band:transparent; --lx-cta:#c9a96b; --lx-cta-fill:#c9a96b; --lx-scheme:dark;}
.gw-rebung{position:absolute!important; left:0; right:0; top:0; height:30px; max-width:none!important; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23c9a96b%22%20stroke-width%3D%22.9%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1%2039L16%203L31%2039%22%2F%3E%3Cpath%20d%3D%22M7%2039L16%2017L25%2039%22%2F%3E%3Cpath%20d%3D%22M16%2026l3%205l-3%205l-3-5z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M0%2039.5h32%22%20stroke%3D%22%23c9a96b%22%20stroke-width%3D%22.9%22%2F%3E%3C%2Fsvg%3E") repeat-x 0 2px/24px 28px var(--lx-band); opacity:var(--lx-rebung-op)}
.gw-rebung.down{top:auto; bottom:0; transform:scaleY(-1)}
#gateway .gw-top .gw-logo{fill:var(--lx-logo)}
#gateway .lang button{color:var(--lx-cream-dim)!important}
#gateway .lang button[aria-pressed="true"]{color:var(--lx-cream)!important; box-shadow:inset 0 -1px 0 var(--lx-gold)}
#gateway .theme-toggle{border-color:var(--lx-gold-soft); color:var(--lx-cream)}
#gateway .gw-head{gap:14px}
.gw-est{font-size:.68rem; letter-spacing:.42em; text-transform:uppercase; font-weight:550; color:var(--lx-gold-ink)}
.gw-est span{padding:0 .5em}
#gateway .gw-head h1{color:var(--lx-cream); font-weight:400; font-style:italic; font-size:clamp(2.6rem, 5.4vw, 4.6rem); letter-spacing:-.01em}
.gw-orn{display:flex; align-items:center; gap:12px; width:220px}
.gw-orn i{flex:1; height:1px; background:linear-gradient(90deg, transparent, var(--lx-gold))}
.gw-orn i:last-child{background:linear-gradient(90deg, var(--lx-gold), transparent)}
.gw-orn b{width:8px; height:8px; border:1px solid var(--lx-gold); transform:rotate(45deg)}
#gateway .gw-kicker{color:var(--lx-cream-dim); font-size:1.05rem}
#gateway .gw-panels{gap:clamp(18px, 3vw, 40px); margin-top:8px}
#gateway .gw-panel{background:linear-gradient(180deg, var(--lx-p1), var(--lx-p2)); border:1px solid var(--lx-gold-soft); color:var(--lx-cream);
  box-shadow:0 30px 60px -30px var(--lx-sh);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); transition:flex .6s cubic-bezier(.2,.8,.2,1), border-color .4s, box-shadow .4s}
#gateway .gw-panel:hover{border-color:var(--lx-gold); box-shadow:0 40px 80px -30px var(--lx-sh), 0 0 0 1px var(--lx-line)}
#gateway .gw-panel::before{content:""; position:absolute; inset:10px; border:1px solid var(--lx-line); border-radius:1000px 1000px 1px 1px / 290px 290px 1px 1px; pointer-events:none; transition:border-color .4s}
#gateway .gw-panel:hover::before{border-color:var(--lx-line-hover)}
@media (max-width:760px){#gateway .gw-panel::before{border-radius:1000px 1000px 1px 1px / 150px 150px 1px 1px}}
#gateway{padding-left:max(28px, env(safe-area-inset-left,0px)); padding-right:max(28px, env(safe-area-inset-right,0px))}
@media (max-width:520px){#gateway{padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px))}}
#gateway .gw-no{color:var(--lx-gold-ink); opacity:1; font-size:1.15rem}
#gateway .gw-label{color:var(--lx-gold-ink); opacity:1}
#gateway .gw-title{color:var(--lx-cream); font-weight:400}
#gateway .gw-desc{color:var(--lx-cream-dim)}
#gateway .gw-tags{color:var(--lx-cream-dim); opacity:.85}
#gateway .gw-cta{background:transparent; color:var(--lx-cta); border:1px solid var(--lx-cta); transition:background .3s, color .3s}
#gateway .gw-cta svg{color:currentColor}
#gateway .gw-panel:hover .gw-cta{background:var(--lx-cta-fill); color:var(--lx-deep)}
#gateway .gw-cta svg{color:var(--lx-gold)}
#gateway .gw-panel:hover .gw-cta svg{color:var(--lx-deep)}
#gateway .gw-consult .gw-art{fill:var(--lx-gold); opacity:var(--lx-art-op)}
#gateway .gw-area{fill:var(--lx-gold); opacity:.07}
#gateway .gw-line{stroke:var(--lx-gold); opacity:.45}
#gateway .gw-foot{color:var(--lx-cream-dim); opacity:.85; letter-spacing:.08em; font-size:.74rem}
@media (max-width:760px){#gateway{padding-block:calc(env(safe-area-inset-top,0px) + 44px) 48px}.gw-est{letter-spacing:.28em}}
#gateway .gw-panel{padding-top:clamp(44px, 5.5vw, 76px)}
#gateway .gw-body{margin-top:clamp(8px, 2.5vh, 28px)}
#gateway{padding-block:calc(env(safe-area-inset-top,0px) + 48px) 52px}
#gateway .gw-head{margin-top:-8px}

/* ==== single aesthetic: dark emerald and gold, always ==== */
:root:root:root{
  --bg:#0a1d15; --surface:#0d2419; --card:#10291f; --leaf:#1b3527; --line:#20402e; --line-strong:#2c4c39;
  --ink:#eef4ef; --muted:#b4cbbd; --green:#5fbf86; --brand:#e9dfc6; --foot-bg:#061710; --foot-fg:#ece3cc; --green-ink:#061a13;
  --accent:#78b6ee; --accent-soft:#16283a; --todo:#f0a24a;
  --map-land:#22412f; --map-hot:#5fbf86; --map-dim:#2a5a3f;
  --gold:#c9a96b; --gold-ink:#d4b783; --gold-soft:#4d4129;
  color-scheme:dark}
#gateway#gateway{--lx-a:#134232; --lx-b:#0b2b20; --lx-c:#061a13; --lx-gold:#c9a96b; --lx-gold-ink:#c9a96b; --lx-gold-soft:rgba(201,169,107,.38); --lx-cream:#f1e9d6; --lx-cream-dim:rgba(241,233,214,.72); --lx-logo:#f1e9d6; --lx-deep:#061a13; --lx-net-op:.16; --lx-glint:rgba(255,226,160,.55); --lx-rebung-op:.55; --lx-p1:rgba(10,38,28,.82); --lx-p2:rgba(6,26,19,.92); --lx-line:rgba(201,169,107,.28); --lx-line-hover:rgba(201,169,107,.65); --lx-sh:rgba(0,0,0,.6); --lx-art-op:.12; --lx-glow:transparent; --lx-band:transparent; --lx-cta:#c9a96b; --lx-cta-fill:#c9a96b; --lx-scheme:dark;}
.theme-toggle{display:none!important}
.band::before{background:var(--gold); opacity:.06}
.frieze{background:var(--gold); opacity:.5}
header.top{background:color-mix(in srgb, var(--bg) 90%, transparent); border-bottom-color:color-mix(in srgb, var(--gold) 22%, transparent)}
.btn.primary{background:var(--gold); border-color:var(--gold); color:#0a1d15}
.btn.primary:hover{background:#e0c48c; border-color:#e0c48c; color:#0a1d15}
.btn.ghost{color:var(--gold-ink); border-color:color-mix(in srgb, var(--gold) 70%, transparent)}
.btn.ghost:hover{background:var(--gold); border-color:var(--gold); color:#0a1d15}
.cont-chips button[aria-pressed="true"], .cgroup button[aria-current="true"]{background:var(--gold); border-color:var(--gold); color:#0a1d15}
input[type=file]::file-selector-button{background:var(--gold); color:#0a1d15}
footer::after{background:var(--gold); opacity:.06}

/* ==== inner pages: lobby emerald ==== */
:root:root:root:root{
  --bg:#0c2e22; --surface:rgba(40,110,80,.13); --card:#0e3326; --leaf:#1d4a37;
  --line:rgba(201,169,107,.17); --line-strong:rgba(201,169,107,.34);
  --ink:#f1e9d6; --muted:#cbc6b2; --green:#7cc79c; --brand:#f1e9d6; --foot-bg:#061a13; --foot-fg:#f1e9d6; --green-ink:#061a13;
  --accent:#e2c68e; --accent-soft:rgba(201,169,107,.12);
  --map-land:#1f4634; --map-hot:#3f8a62; --map-dim:#24533d;
  --gold:#c9a96b; --gold-ink:#d9be86; --gold-soft:rgba(201,169,107,.42)}
html, body{background:#0c2e22}
body{background:radial-gradient(130% 90% at 50% 8%, #134232 0%, #0e3226 50%, #0b2b20 100%) fixed #0c2e22}
#armConsulting, #armCommodities{position:relative; isolation:isolate}
#armConsulting::before, #armCommodities::before{content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23c9a96b%22%3E%3Cpath%20d%3D%22M32%200L64%2032L32%2064L0%2032Z%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%207L57%2032L32%2057L7%2032Z%22%20stroke-width%3D%22.35%22%20opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32%2022c3%203%203%207%200%2010c-3-3-3-7%200-10zM42%2032c-3%203-7%203-10%200c3-3%207-3%2010%200zM32%2042c-3-3-3-7%200-10c3%203%203%207%200%2010zM22%2032c3-3%207-3%2010%200c-3%203-7%203-10%200z%22%20stroke-width%3D%22.7%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23c9a96b%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%221.1%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%220%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%221.6%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-size:64px 64px; opacity:.075;
  -webkit-mask:radial-gradient(110% 80% at 50% 30%, #000 25%, transparent 100%); mask:radial-gradient(110% 80% at 50% 30%, #000 25%, transparent 100%)}
.band::before{display:none}
.band{background:var(--surface)}
.stats{background:transparent}
/* songket edging between sections */
.frieze{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23c9a96b%22%20stroke-width%3D%22.9%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1%2039L16%203L31%2039%22%2F%3E%3Cpath%20d%3D%22M7%2039L16%2017L25%2039%22%2F%3E%3Cpath%20d%3D%22M16%2026l3%205l-3%205l-3-5z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M0%2039.5h32%22%20stroke%3D%22%23c9a96b%22%20stroke-width%3D%22.9%22%2F%3E%3C%2Fsvg%3E") repeat-x 0 2px/24px 28px!important; -webkit-mask:none!important; mask:none!important; opacity:.6!important; height:30px; border-bottom:1px solid var(--line)}
.frieze-foot{opacity:.75!important}
header.top{background:color-mix(in srgb, #0b2b20 88%, transparent); border-bottom-color:var(--line-strong)}
body::before{background:#0b2b20}
/* type in the lobby voice */
h1, h2{color:var(--ink)}
.hero h1{font-style:normal}
.eyebrow{color:var(--gold-ink)}
.eyebrow::before{background:var(--gold)}
.lede{color:var(--muted)}
.stat b, .cm-stats dt{color:var(--gold-ink); font-style:italic}
.stat span, .cm-stats dd{color:var(--muted)}
.area h3, .svc-type h3, .sector h3, .person-head h3, .gw-title{color:var(--ink)}
.person h4, .cgroup h4, .sector-group h4, .map-detail .k, .office .eyebrow{color:var(--gold-ink)}
.person-head p, .sector-desc, .svc-type p, .area .area-sub{color:var(--muted)}
a{color:var(--accent)}
/* emerald panels with gold frames */
.svc-type, .person, .office, .sector, .cm-stats > div, .done, .map-detail, .cb-chart, .training, .hrdf, .map-box, .tn-box, .hero-art{background:linear-gradient(180deg, rgba(14,52,38,.86), rgba(7,30,22,.94)); border-color:var(--line-strong)}
.person, .office, .sector, .done, .training{outline:1px solid rgba(201,169,107,.16); outline-offset:-9px}
.svc-types, .cm-stats{background:var(--line-strong); border-color:var(--line-strong)}
.hero-art{border-color:var(--gold-soft)}
.hero-art svg{background:#0d3024}
.avatar{border-color:var(--gold); color:var(--gold-ink); box-shadow:inset 0 0 0 4px #0d3024, inset 0 0 0 5px var(--line-strong)}
.sector-ico{border-color:var(--gold-soft)}
.sector-ico svg{stroke:var(--gold-ink)}
.chip, .cgroup button, .sector-group li, .cont-chips button:not([aria-pressed="true"]), .copy, .map-reset{background:rgba(6,26,19,.55); border-color:var(--line-strong); color:var(--ink)}
.creds li{border-bottom-color:var(--line)}
.creds li .mono, .cb-row .yr, .sector-no{color:var(--gold-ink)}
input, select, textarea{border-bottom-color:var(--line-strong); color:var(--ink)}
textarea, input[type=file], fieldset{border-color:var(--line-strong); background:rgba(6,26,19,.35)}
select option{background:#0b2b20; color:var(--ink)}
input:focus, select:focus, textarea:focus{border-bottom-color:var(--gold); box-shadow:0 1px 0 var(--gold)}
.tabs{border-bottom-color:var(--line-strong)}
.tabs button{color:var(--muted)}
.tabs button[aria-selected="true"]{color:var(--ink)}
.cb-track{background:rgba(4,22,15,.45)}
.cb-track i.on{background:var(--gold)}
.tn-flow, .tn-base{stroke:var(--accent)}
.tn-ship{fill:var(--accent)}
.tn-ship.back{fill:var(--green)}
.tn-n .dot{fill:#0b2b20; stroke:var(--accent)}
.tn-n text, .pin text, .lbl{stroke:#0e3326}
.map-tip{background:var(--gold); color:#061a13}
.dots-land{stroke:var(--map-land)}
/* footer: the lobby's deepest green */
footer{background:linear-gradient(180deg, #0a281d, #082219)}
.ft-cols{border-top-color:var(--line-strong)}

.team.solo{grid-template-columns:minmax(0,1fr)}
.team.solo .person{padding:44px clamp(28px,4vw,56px)}
.team.solo .creds{columns:2; column-gap:48px; display:block}
.team.solo .creds li{break-inside:avoid; margin-bottom:8px}
@media (max-width:860px){.team.solo .creds{columns:1}}
.soon{color:var(--muted); font-style:italic}
.wa-btn{gap:10px}
.wa-btn svg, .wa-fab svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round; flex-shrink:0}
.wa-fab{position:fixed; z-index:30; right:calc(20px + env(safe-area-inset-right,0px)); bottom:calc(20px + env(safe-area-inset-bottom,0px)); display:inline-flex; align-items:center; gap:10px; padding:13px 20px; border-radius:999px; background:var(--gold); color:#0a1d15; text-decoration:none; font:550 .7rem var(--body); letter-spacing:.14em; text-transform:uppercase; box-shadow:0 14px 34px -12px rgba(0,0,0,.6), 0 0 0 1px rgba(255,236,190,.25) inset; transition:transform .2s, background .2s}
.wa-fab:hover{background:#e0c48c; transform:translateY(-2px)}
.wa-fab svg{width:18px; height:18px}
@media (max-width:600px){.wa-fab span{display:none}.wa-fab{padding:14px}}
.ft-wa{color:var(--gold-ink)}
.contact-lines dd{min-width:0}
.office .contact-lines{gap:14px}
.office .contact-lines div{grid-template-columns:minmax(0,1fr) auto; row-gap:3px}
.office .contact-lines dt{grid-column:1/-1}
.office .contact-lines dd{overflow-wrap:normal; word-break:normal; font-size:.95rem}
input.hp{position:absolute!important; left:-9999px!important; width:1px; height:1px; opacity:0}
