/* generated by design/source/render.py from partials/site.css; edit the source, not this file */
/* Roboto, self-hosted (no request to Google; privacy policy section 3). Files: design/html/assets/fonts/, Fontsource @fontsource/roboto 5.2.5,
   SIL Open Font License 1.1 (assets/fonts/OFL.txt). Same weights and subsets the site used from Google Fonts: 300, 400, 500, 900;
   latin, latin-ext (e.g. ā, ē) and symbols (arrows, circles, check mark). Generated once from the Fontsource CSS; paths are relative to css/. */
@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(../assets/fonts/roboto-symbols-300-normal.woff2) format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(../assets/fonts/roboto-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(../assets/fonts/roboto-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/roboto-symbols-400-normal.woff2) format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/roboto-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/roboto-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/roboto-symbols-500-normal.woff2) format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/roboto-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/roboto-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/roboto-symbols-900-normal.woff2) format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/roboto-latin-ext-900-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/roboto-latin-900-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  /* black & white only (CI "schwarz-weiß"); colour comes from photography */
  --paper:#ffffff;      /* base */
  --cream:#f5f5f5;      /* light grey alternate */
  --line:#e6e6e6;       /* hairlines */
  --ink:#0b0b0b;        /* black */
  --muted:#6b6b6b;
  --glass:#161617;      /* navbar / panel dark grey */
  --sky:#ffffff;        /* legacy token: highlight on dark surfaces */
  --sky-2:#f5f5f5;
  --petrol:#161617;     /* legacy token → dark grey */
  --deep:#161617;       /* legacy token → dark grey */
  --col:calc(100% / 12);
  --pad:clamp(20px,3.2vw,48px);
  --nav:58px;
}
*{box-sizing:border-box;margin:0;padding:0;font-style:normal!important}
em,i,cite,address{font-style:normal}
button,input,select,textarea{font-family:inherit}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:Roboto,system-ui,sans-serif;font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg,canvas{display:block}
svg[viewBox="0 0 16 16"]{width:14px;height:14px;flex:none}
.label{font-size:11.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase}
.label i{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:10px;vertical-align:1px}
.btn{display:inline-flex;align-items:center;gap:14px;height:44px;padding:0 18px;font-size:13px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);transition:background .25s,color .25s}
.btn svg{width:14px;height:14px;transition:transform .25s}
.btn:hover{background:#000}
.btn:hover svg{transform:translateX(3px)}
.btn:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.btn.light{background:var(--paper);color:var(--ink)}
.btn.light:hover{background:var(--sky)}
.wrap{width:100%}
.rule{border-top:1px solid var(--line)}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ---------- header (Rothschild & Co structure: business lines left, company right) ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:40;color:#f5f5f7;--g:rgba(34,34,36,.74)}   /* the bar's surface lives on .in; open panels are siblings of it, so each blur sees the page */
.top .in{background:rgba(22,22,23,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}
.top.solid .in{background:rgba(22,22,23,.82)}
.top .logo{color:#f5f5f7}
.top .in{height:var(--nav);display:flex;align-items:center;gap:52px;padding:0 var(--pad)}
.top .logo{display:flex;align-items:center}
.top .logo svg{display:block;height:44px;width:auto}   /* stacked logo (token above 'BLACK MANTA'), the only logo in use */
.top nav ul{display:flex;align-items:center;gap:30px;list-style:none}
.top .secondary{margin-left:auto}
.top .secondary ul{gap:22px}
.nav-btn,.nav-link{position:relative;display:inline-flex;align-items:center;gap:7px;height:var(--nav);background:none;border:0;cursor:pointer;color:#f5f5f7;font:inherit;font-size:12.5px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.secondary .nav-btn,.secondary .nav-link{font-size:10.5px;color:rgba(245,245,247,.82)}
.secondary .nav-btn:hover,.secondary .nav-link:hover{color:#f5f5f7}
.nav-btn::before,.nav-link::before{content:"";position:absolute;left:0;right:0;bottom:calc(50% - 12px);height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-btn:hover::before,.nav-link:hover::before,.nav-btn[aria-expanded="true"]::before,.nav-link[aria-current="page"]::before,.nav-btn[aria-current="page"]::before{transform:scaleX(1)}
.nav-btn:focus-visible,.nav-link:focus-visible{outline:2px solid var(--sky);outline-offset:-6px}
.mega{position:absolute;top:var(--nav);left:0;right:0;color:#f5f5f7;background:#161617;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 30px 50px -30px rgba(0,0,0,.5)}
.mega-in{display:grid;grid-template-columns:4fr 8fr;padding:0 var(--pad)}
.mega-intro{padding:40px 40px 48px 0;border-right:1px solid rgba(255,255,255,.12)}
.mega-title{display:block;font-size:30px;font-weight:300;letter-spacing:-.01em;margin-bottom:10px}
.mega-intro p{font-size:14.5px;color:rgba(245,245,247,.72);max-width:360px}
.mega-links{list-style:none;display:grid;grid-template-columns:1fr 1fr;align-content:start;padding:28px 0 36px 40px;column-gap:40px}
.mega-links a{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:padding .25s,color .25s}
.mega-links a:hover{padding-left:8px;color:var(--sky)}
.mega-links small{font-size:12.5px;letter-spacing:0;text-transform:none;color:rgba(245,245,247,.6);margin-top:3px}
.search-btn{width:40px;justify-content:center;margin-left:-38px;margin-right:-10px}
.search-btn svg{width:17px;height:17px}
.search-btn::before{display:none}
.search-btn:hover,.search-btn[aria-expanded="true"]{color:var(--sky)}
.sr{position:absolute;left:-9999px}
.search-in{padding:36px var(--pad) 44px}
.search-panel form{display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:14px}
.search-panel form svg{width:26px;height:26px;color:rgba(245,245,247,.7)}
.search-panel input{flex:1;background:none;border:0;color:#f5f5f7;font-size:clamp(24px,2.6vw,36px);font-weight:300;letter-spacing:-.01em}
.search-panel input::placeholder{color:rgba(245,245,247,.45)}
.search-panel input:focus{outline:none}
.quick{margin-top:26px}
.quick-title{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,245,247,.6);margin-bottom:10px}
.quick ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.quick a{display:inline-block;border:1px solid rgba(255,255,255,.2);padding:7px 14px;font-size:13px;transition:background .2s,color .2s}
.quick a:hover{background:#f5f5f7;color:#161617}
.mega-groups{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;padding:28px 0 36px 40px}
.mega-groups .mega-links{display:block;padding:0}
.grp{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);padding:14px 0 6px}
.mobile-menu .m-grp{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);padding:12px 0 2px}
.burger{display:none;margin-left:auto;align-items:center;gap:10px;background:none;border:0;cursor:pointer;color:#f5f5f7;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.burger span{display:block;width:22px;height:1px;background:currentColor}
.burger .bars{display:flex;flex-direction:column;gap:6px}
.burger b{font-weight:400}
.mobile-menu{position:absolute;top:var(--nav);left:0;right:0;height:calc(calc(100vh / var(--z)) - var(--nav));overflow:auto;color:#f5f5f7;background:rgba(22,22,23,.94);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);padding:10px var(--pad) 40px}
.mobile-menu details{border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-menu summary{list-style:none;padding:18px 0;font-size:15px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:flex;justify-content:space-between}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary::after{content:"+";font-weight:300}
.mobile-menu details[open] summary::after{content:"–"}
.mobile-menu details ul{list-style:none;padding:0 0 14px}
.mobile-menu details a{display:block;padding:9px 0;font-size:14px;color:rgba(245,245,247,.75)}
.mobile-menu .m-link{display:block;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px;letter-spacing:.1em;text-transform:uppercase}
/* Invest: the investor entry point. Navbar button = the only filled element in the bar (white on the dark bar, black on glass) */
.nav-link.nav-cta,.nav-btn.nav-cta{height:34px;padding:0 13px 0 16px;gap:9px;background:#ffcc00;color:#0b0b0b;font-weight:500;transition:background .25s,color .25s}
.nav-link.nav-cta::before,.nav-btn.nav-cta::before{display:none}
.nav-link.nav-cta:hover,.nav-btn.nav-cta:hover,.nav-btn.nav-cta[aria-expanded="true"]{background:#fff}   /* yellow like the site's other Invest buttons; white on hover/open */
.nav-cta svg{width:10px;height:10px;transition:transform .25s}
.nav-cta[aria-expanded="true"] svg{transform:rotate(180deg)}
/* Invest dropdown: intro + 'View all current offerings' button, other Invest links right */
.mi-intro{display:flex;flex-direction:column;align-items:flex-start}
.mi-intro .btn{margin-top:22px}
/* yellow of the live blackmanta.capital button ('Tokenize your assets': #ffcc00, black text, white on hover): user-approved
   exception to the black & white UI, used only for 'View all current offerings' in the Invest dropdown */
.btn.btn-yellow{background:#ffcc00;color:#0b0b0b}
.btn.btn-yellow:hover{background:#fff;color:#0b0b0b}
/* mobile menu: Invest button on top (yellow, as the Invest dropdown's 'View all current offerings') */
.mobile-menu .m-cta{display:flex;justify-content:space-between;width:100%;height:52px;margin:12px 0 8px}

/* open menus (dropdowns, search, mobile menu): dark grey frosted glass, original light-on-dark colours. Bar and panel each
   carry their own blur (siblings, not nested: a backdrop blur inside another blur would only see the parent), same tint. */
/* menus (dropdowns, search, mobile menu): open and close instantly, no animation (user decision). Dark grey glass on
   bar and panel (sibling blur layers, so each blur sees the page). */
.top.glass .in{background:var(--g);-webkit-backdrop-filter:saturate(35%) blur(30px);backdrop-filter:saturate(35%) blur(30px)}
.mega,.mobile-menu{background:var(--g);-webkit-backdrop-filter:saturate(35%) blur(30px);backdrop-filter:saturate(35%) blur(30px)}

/* ---------- 00 hero ---------- */
.hero{position:relative;min-height:calc(100vh / var(--z));max-height:1032px;overflow:hidden;display:flex;background:linear-gradient(to bottom,#0182e7 0%,#0182e7 26.0%,#0089e7 33.4%,#0193e8 40.8%,#339eea 48.2%,#52aaec 55.6%,#6fb5ed 63.0%,#89c0ef 70.4%,#9fcbef 77.8%,#afd4f0 85.2%,#c0dbf0 92.6%,#c9def1 100.0%)}
.hero .bg{position:absolute;left:50%;bottom:0;height:74%;width:auto;max-width:none;transform:translateX(-50%);-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent)}
.hero-in{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto 1fr auto}
.hero .top-row{grid-column:1/-1;grid-row:1;padding:calc(var(--nav) + clamp(48px,calc(9.5vh / var(--z)),96px)) var(--pad) 0;text-align:center}
.hero .hero-tag{display:block;font-size:clamp(12px,1.1vw,16px);font-weight:500;letter-spacing:.32em;margin-right:-.32em;text-transform:uppercase;color:rgba(255,255,255,.92)}
.hero h1{margin-top:16px;font-weight:900;font-size:clamp(32px,4.9vw,72px);line-height:1;letter-spacing:0;text-transform:uppercase;color:#fff;text-wrap:balance}
.hero .hero-sub{max-width:620px;margin:24px auto 0;font-size:clamp(15px,1.2vw,17px);line-height:1.5;font-weight:300;color:#fff;text-wrap:balance}
.hero .side{grid-column:4/5;grid-row:1;align-self:end;padding:0 var(--pad) 6px 28px}
.hero .side p.intro{font-size:13px;line-height:1.75;letter-spacing:.04em;color:var(--ink);margin-bottom:24px}
.hero .btns{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.hero .btns .btn{justify-content:space-between}

/* ---------- partners banner ---------- */
.partners{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;display:grid;grid-template-columns:auto 1fr;align-items:center}
.partners-cap{align-self:stretch;display:flex;align-items:center;padding:32px 28px 32px var(--pad);margin-right:8px;border-right:1px solid #cfcfcf;font-size:11.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.logo-marquee{display:flex;overflow:hidden;padding:30px 0 34px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-row{display:flex;flex:none;list-style:none;animation:logos 90s linear infinite}
.logo-row li{flex:none}
.logo-row a{display:block;position:relative;padding:0 6px}
.logo-row img{display:block;height:76px;width:auto;transition:opacity .35s}
.logo-row .bw{opacity:.7}
.logo-row .col{position:absolute;top:0;left:6px;opacity:0}
.logo-row a:hover .bw,.logo-row a:focus-visible .bw{opacity:0}
.logo-row a:hover .col,.logo-row a:focus-visible .col{opacity:1}
@keyframes logos{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion: reduce){.logo-marquee{overflow-x:auto}.logo-row{animation:none}.logo-row[aria-hidden]{display:none}}



/* ---------- 01 proof: scroll-fill statement ---------- */
.fill{background:var(--cream);padding:clamp(80px,10vw,150px) var(--pad) 0}
.fill h2{font-weight:300;font-size:clamp(40px,7.4vw,112px);line-height:1;letter-spacing:-.02em;text-transform:uppercase;max-width:1250px}
.fill h2 span{color:#c2c9c6;transition:color .35s}
.fill h2 span.on{color:var(--ink)}
.proofs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(60px,8vw,120px);border-top:1px solid var(--line)}
.proofs > div{padding:28px 28px 56px 0;border-right:1px solid var(--line)}
.proofs > div + div{padding-left:28px}
.proofs > div:last-child{border-right:0}
.proofs .n{font-size:12px;letter-spacing:.14em;color:var(--petrol);font-weight:400}
.proofs h3{font-weight:400;font-size:26px;letter-spacing:-.01em;margin:26px 0 10px}
.proofs p{font-size:14.5px;color:#2a3131}

/* ---------- 02 one roof: pillars ---------- */
.roof{display:grid;grid-template-columns:5fr 7fr;border-top:1px solid var(--line)}
.roof .intro{padding:clamp(60px,7vw,110px) var(--pad);border-right:1px solid var(--line)}
.roof h2,.sec-h{font-weight:300;font-size:clamp(36px,4.2vw,58px);line-height:1.05;letter-spacing:-.02em;margin:18px 0 22px}
.roof .intro p{max-width:420px;font-size:15.5px;color:#2a3131;margin-bottom:30px}
.roof .cards{padding:clamp(28px,3vw,44px);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pcard{position:relative;min-height:250px;padding:26px;color:var(--paper);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s}
.pcard h3{font-weight:300;font-size:30px;letter-spacing:-.01em;line-height:1.1}
.pcard p{font-size:14px;opacity:.85;margin-top:8px;max-width:260px}
.c1,.c2,.c3,.c4{background:var(--glass)}
.pcard{border:1px solid rgba(255,255,255,.06);transition:transform .35s,background .35s}
.pcard{min-height:340px}
.pcard .ph{position:absolute;inset:0;background-size:cover;background-position:center}
.pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 22%),linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 28%,rgba(0,0,0,.25) 58%,rgba(0,0,0,.05) 100%);transition:opacity .4s}
.pcard > *:not(.ph){position:relative;z-index:1}
.pcard h3{position:relative;display:inline-block}
.pcard h3::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.pcard:hover h3::after,.pcard:focus-visible h3::after{transform:scaleX(1)}
.c1 .ph{background-position:center 60%}
.c2 .ph{background-position:center 78%}
.c3 .ph{background-position:center 92%}
.c4 .ph{background-position:center 95%}

.roof .also{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:18px 22px;font-size:14px}

/* ---------- 03 how it works ---------- */
.how{background:var(--sky);padding:clamp(60px,7vw,100px) var(--pad);}
.how .head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.how .head h2{margin:14px 0 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid rgba(13,18,19,.25)}
.steps > div{padding:26px 26px 30px 0;border-right:1px solid rgba(13,18,19,.25)}
.steps > div + div{padding-left:26px}
.steps > div:last-child{border-right:0}
.steps .num{font-size:56px;font-weight:300;line-height:1;letter-spacing:-.03em}
.steps h3{font-weight:400;font-size:22px;margin:22px 0 8px}
.steps p{font-size:14.5px}

/* ---------- 04 for investors ---------- */
.inv{padding:clamp(28px,3vw,44px)}
.inv .panel{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:var(--paper);min-height:520px;position:relative;overflow:hidden}
.inv .txt{padding:clamp(40px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:2}
.inv h2{color:var(--paper)}
.inv p{max-width:430px;font-size:15.5px;opacity:.9;margin-bottom:28px}
.inv .small{font-size:12px;opacity:.7;max-width:460px;margin-top:26px;line-height:1.55}
.inv .pic{position:relative}
.inv .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.inv .vline{position:absolute;top:0;bottom:0;width:1px;background:rgba(251,250,246,.25);z-index:3}

/* ---------- 05 track record marquee ---------- */
.track{border-top:1px solid var(--line);padding:56px 0 64px}
.track .head{padding:0 var(--pad);display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.track .head h2{margin:14px 0 0}
.marquee{overflow:hidden;margin-top:42px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .row{display:flex;gap:12px;width:max-content;animation:mq 48s linear infinite}
.marquee .row.rev{animation-direction:reverse;margin-top:12px}
.marquee:hover .row{animation-play-state:paused}
.deal{display:flex;align-items:baseline;gap:14px;padding:6px 40px;white-space:nowrap;border-left:1px solid var(--line);color:var(--ink);transition:color .3s}
.deal b{font-weight:300;font-size:clamp(22px,2vw,30px);letter-spacing:-.01em}
.deal em{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.marquee .row{gap:0}
.marquee .row.rev{margin-top:22px}
.deal:hover b{color:#6b6b6b}
@keyframes mq{to{transform:translateX(-50%)}}


/* ---------- 07 newsroom ---------- */
.news{padding:clamp(50px,6vw,90px) var(--pad);border-top:1px solid var(--line)}
.news .meta{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.news h2{font-weight:300;font-size:clamp(64px,15vw,230px);line-height:.85;letter-spacing:-.04em;text-transform:uppercase;margin:16px 0 26px;border-bottom:1px solid var(--line);padding-bottom:18px}
.news ul{list-style:none}
.news li a{display:grid;grid-template-columns:140px 160px 1fr 30px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:400;transition:padding .3s}
.news li a:hover{padding-left:10px}
.news li .d,.news li .t{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400}

/* ---------- scroll & intro motion (In Revenue patterns 1, 4, 5, 7) ---------- */
/* 1 hero: lines rise from behind a mask once on load */
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero h1 .ln > span{display:block;animation:lnUp 1.25s cubic-bezier(.16,1,.3,1) both}
.hero h1 .ln:nth-child(2) > span{animation-delay:.1s}
.hero .hero-tag{animation:fadeUp 1s cubic-bezier(.16,1,.3,1) .05s both}
.hero .hero-sub{animation:fadeUp 1.1s cubic-bezier(.16,1,.3,1) .45s both}
@keyframes lnUp{from{transform:translateY(105%)}to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* 4 and 5 are driven by the scroll script via the independent `translate` property */
@media (prefers-reduced-motion: reduce){
  .hero h1 .ln > span,.hero .hero-tag,.hero .hero-sub{animation:none}
}
/* 7 footer: the page lifts away and uncovers a footer that waits underneath (pure CSS, moves 1:1 with scroll) */
@media (min-width: 1001px) and (min-height: 720px){
  main.wrap{position:relative;z-index:1;background:var(--paper);box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
  footer{position:sticky;bottom:0;z-index:0}
}
/* ---------- footer (In Revenue structure: continues the closing grid) ---------- */
footer{--ink:#fff;--paper:#0b0b0b;--line:rgba(255,255,255,.14);--muted:rgba(255,255,255,.58);background:var(--paper);color:var(--ink)}
footer .frow{display:grid;grid-template-columns:minmax(300px,1fr) 2fr}
footer .frow + .frow{border-top:1px solid var(--line)}
footer .fl{border-right:1px solid var(--line);padding:40px var(--pad)}
footer .fr{padding:40px var(--pad)}
.f-news .flogo{display:flex;align-items:center;color:var(--ink)}
/* footer left/right edges use the same side inset as full-bleed sections (clamp 24-64px) */
footer .fl{padding-left:clamp(24px,4vw,64px)}
footer .fr{padding-right:clamp(24px,4vw,64px)}
.f-news .flogo svg{display:block;height:116px;width:auto}
.f-news h3{font-size:clamp(17px,1.35vw,22px);font-weight:300;letter-spacing:-.01em;align-self:center;white-space:nowrap}
.nl{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:10px}
.nl button{justify-content:space-between;justify-self:start;width:auto;padding:0 22px;gap:24px}   /* compact: as wide as its label */
.nl input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #0b0b0b inset}
.nl input,.nl select{min-width:0;border:1px solid rgba(255,255,255,.26);border-radius:0;background:transparent;padding:0 14px;height:48px;font:inherit;font-size:14px;color:var(--ink);transition:border-color .2s}
.nl input::placeholder{color:rgba(255,255,255,.45)}
.nl select{-webkit-appearance:none;appearance:none;padding-right:36px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.2'/%3E%3C/svg%3E") right 14px center/10px 6px no-repeat}
.nl select:invalid{color:rgba(255,255,255,.45)}
.nl select option{color:#0b0b0b;background:#fff}
.nl input:hover,.nl select:hover{border-color:rgba(255,255,255,.5)}
.nl input:focus,.nl select:focus{outline:none;border-color:var(--ink)}
.nl .err{border-color:#ff6b6b}
.nl button{border:0;cursor:pointer;border-radius:0;height:48px}
footer .btn:hover{background:#d9d9d9}
.nl-done{display:none;font-size:15px;line-height:1.5;padding:12px 0 2px;border-top:1px solid var(--ink)}
.nl-box.done .nl{display:none}
.nl-box.done .nl-done{display:block}
.f-links .addr{font-size:13px;line-height:1.65;color:var(--muted)}
.f-links .addr b{font-weight:500;color:var(--ink)}
.f-links .addr p + p{margin-top:14px}
.f-links .addr-in{width:fit-content}   /* companies stacked, one under another */
.f-links .addr-in p + p{margin-top:16px}
.f-links .addr a{color:var(--ink)}
.f-links .addr a:hover{text-decoration:underline;text-underline-offset:2px}
.fnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px clamp(20px,2vw,32px)}   /* three even columns of 4-5 links */
@media (max-width: 1199px){.fnav{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px}}
.fgrp + .fgrp{margin-top:28px}
.fgrp h4{font-size:13px;font-weight:500;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.fgrp li{list-style:none;font-size:13px;line-height:1.4;margin-bottom:8px;color:var(--muted)}
.fgrp a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s,color .2s}
.fgrp a:hover{color:var(--ink);background-size:100% 1px}
.f-legal .fl,.f-legal .fr{padding-top:20px;padding-bottom:20px;font-size:12px;color:var(--muted)}
.f-legal .fr{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end}
.f-legal a:hover{color:var(--ink)}
/* ---------- 08 closing + footer ---------- */
.consent{font-size:12px;color:var(--muted);margin-top:10px;max-width:520px}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width: 1000px){
  footer .frow,.f-news .fr{grid-template-columns:1fr}
  footer .fl{border-right:0;border-bottom:1px solid var(--line)}
  .nl{grid-template-columns:1fr 1fr}
  .nl h3,.nl #nl-email,.nl select,.nl button{grid-column:1/-1}
  .nl h3{margin-bottom:8px}
  .fnav{grid-template-columns:1fr 1fr}
  .f-legal .fr{justify-content:flex-start}
  .partners{grid-template-columns:1fr;gap:0;padding:0}
  .partners-cap{padding:22px var(--pad) 0;border-right:0;margin-right:0}
  .logo-marquee{padding:10px 0 24px}
  .logo-row img{height:60px}
  .top nav{display:none}
  .burger{display:inline-flex;margin-left:0}
  .top .in{gap:14px}
  .search-btn{margin-left:auto;margin-right:0}
  .top .in{background:rgba(22,22,23,.82)}
  .roof,.inv .panel,.close{grid-template-columns:1fr}
  .hero{max-height:none;min-height:auto;background:linear-gradient(#0083e6 0 660px,var(--paper) 660px)}
  .hero .bg{top:190px;height:470px;bottom:auto;left:0;width:100%;transform:none;object-fit:cover;object-position:center bottom;-webkit-mask-image:none;mask-image:none}
  .hero .top-row{grid-column:1/-1;min-height:660px;padding-right:var(--pad)}
  .hero .side{grid-column:1/-1;grid-row:2;padding:32px var(--pad) 40px;background:var(--paper)}
    .proofs,.steps{grid-template-columns:1fr 1fr}
  .proofs > div:nth-child(2),.steps > div:nth-child(2),.metrics > div:nth-child(2){border-right:0}
  .proofs > div:nth-child(3),.steps > div:nth-child(3){padding-left:0}
  .roof .intro{border-right:0;border-bottom:1px solid var(--line)}
  .inv .pic{min-height:280px}
  footer .cols{grid-template-columns:1fr 1fr}
  .news li a{grid-template-columns:110px 1fr 24px}
  .news li .t{display:none}
}
@media (max-width: 600px){
  .roof .cards,.proofs,.steps,.metrics{grid-template-columns:1fr}
  .proofs > div,.steps > div,.metrics > div{border-right:0!important;padding-left:0!important;border-bottom:1px solid var(--line)}
  .metrics > div{border-bottom-color:rgba(251,250,246,.3)}
  footer .cols{grid-template-columns:1fr}
  .news li a{grid-template-columns:1fr 24px}
  .news li .d{grid-column:1/-1}
}

/* ================= solution pages (T2: Tokenization, Securitization, Tied Agent, Advisory) ================= */
.sp-hero{position:relative;min-height:calc(92vh / var(--z));max-height:1000px;overflow:hidden;display:flex;background:var(--sp-sky,linear-gradient(#8ea0b8,#cad9dd))}
.sp-hero .bg{position:absolute;left:50%;bottom:0;height:64%;width:auto;max-width:none;transform:translateX(-50%);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 22%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 22%);mask-composite:intersect}
.sp-hero-in{position:relative;z-index:2;width:100%;padding:calc(var(--nav) + clamp(40px,calc(8vh / var(--z)),88px)) var(--pad) 0;text-align:center;color:var(--ink)}
.crumbs{display:flex;justify-content:center;gap:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,11,11,.6)}
.crumbs a:hover{color:var(--ink)}
.sp-hero h1{margin-top:18px;font-weight:900;font-size:clamp(30px,4.4vw,64px);line-height:1;text-transform:uppercase;text-wrap:balance}
.sp-sub{max-width:560px;margin:22px auto 0;font-size:clamp(15px,1.2vw,17px);line-height:1.55;color:rgba(11,11,11,.8);text-wrap:balance}
.sp-hero .btn{margin-top:30px}
.sp-sec{padding:clamp(72px,8vw,128px) clamp(24px,4vw,64px);border-top:1px solid var(--line)}
.sp-sec .label{display:block;color:var(--muted)}
.sp-sec .sec-h{margin:14px 0 22px;max-width:16em}
.sp-lead{font-size:clamp(16px,1.25vw,18px);line-height:1.65;color:#333;max-width:36em}
.sp-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,6vw,120px);align-items:start}
.sp-mini{font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:6px 0 14px}
.sp-list{list-style:none;border-top:1px solid var(--ink)}
.sp-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.45}
.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink)}
.sp-grid > div{padding:26px 28px 0 0}
.sp-grid > div + div{padding-left:28px;border-left:1px solid var(--line)}
.sp-grid h3,.sp-svc h4{font-size:19px;font-weight:400;line-height:1.3;margin-bottom:10px}
.sp-grid p,.sp-svc p{font-size:14.5px;line-height:1.65;color:var(--muted)}
.sp-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);margin-top:clamp(40px,5vw,64px)}
.sp-svc h3{font-size:clamp(22px,1.9vw,28px);font-weight:300;padding-bottom:16px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sp-svc h3 small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sp-svc h4{font-size:16px;font-weight:500;margin:22px 0 6px}
.sp-rows{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink)}
.sp-rows > div{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(24px,4vw,80px);padding:26px 0;border-bottom:1px solid var(--line)}
.sp-rows h3{font-size:clamp(19px,1.6vw,23px);font-weight:400;line-height:1.3}
.sp-rows p{font-size:16px;line-height:1.7;color:#333;max-width:44em}
.sp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,4vw,64px);margin-top:clamp(40px,5vw,64px)}
.sp-grid3 > div{padding:24px 0 30px;border-top:1px solid var(--ink)}
.sp-grid3 h3{font-size:19px;font-weight:400;line-height:1.3;margin-bottom:10px}
.sp-grid3 p{font-size:14.5px;line-height:1.65;color:var(--muted)}
.sp-hero.dark .sp-hero-in{color:#fff}
.sp-hero.dark .crumbs{color:rgba(255,255,255,.7)}
.sp-hero.dark .crumbs a:hover{color:#fff}
.sp-hero.dark .sp-sub{color:rgba(255,255,255,.85)}
.sp-hero.dark .btn{background:#fff;color:var(--ink)}
.sp-hero.dark .btn:hover{background:#e6e6e6}
.sp-grid3.cols4{grid-template-columns:repeat(4,1fr)}
.sp-paths{display:grid;gap:0;border-top:1px solid var(--ink)}
.sp-paths a{display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding:22px 0;border-bottom:1px solid var(--line)}
.sp-paths b{font-size:clamp(20px,1.7vw,24px);font-weight:300}
.sp-paths span{grid-column:1;font-size:14.5px;line-height:1.6;color:var(--muted)}
.sp-paths svg{grid-row:1/3;grid-column:2;align-self:center;width:16px;height:16px;transition:transform .25s}
.sp-paths a:hover svg{transform:translateX(4px)}
.sp-paths a:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.sp-note{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,96px);margin-top:clamp(40px,5vw,64px);padding-top:26px;border-top:1px solid var(--ink)}
.sp-note p{font-size:16px;line-height:1.7;color:#333;max-width:46em}
.sp-note .sp-mini{margin-top:0}
.sp-note .sp-contact{margin-top:0;padding-top:0;border-top:0}
.eform input[type=file]{padding:10px;font-size:13.5px}
.eform select{font:inherit;font-size:15px;color:var(--ink);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230b0b0b' stroke-width='1.2'/%3E%3C/svg%3E") right 14px center/10px 6px no-repeat;border:1px solid #cfcfcf;border-radius:0;padding:12px 36px 12px 14px;-webkit-appearance:none;appearance:none;cursor:pointer}
.eform select:invalid{color:#8a8a8a}
.eform select:focus{outline:none;border-color:var(--ink)}
.eform .opts{grid-column:1/-1;border:0;padding:0;margin:0}
.eform .opts > span{display:block;font-size:13px;margin-bottom:8px}
.eform .opts .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 16px}
.eform .opts label{display:flex;gap:8px;align-items:center;font-size:14px}
.eform .opts input{width:16px;height:16px;accent-color:#0b0b0b}
.eform .opts.err > span{color:#b00020}
.sp-hero.cover .bg{inset:0;left:0;bottom:auto;height:100%;width:100%;transform:none;object-fit:cover;-webkit-mask-image:none;mask-image:none}
.sp-hero.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.74),rgba(11,11,11,.64) 50%,rgba(11,11,11,.74));z-index:1}
.sp-hero.cover{min-height:calc(78vh / var(--z));align-items:center}
.sp-hero.cover .sp-hero-in{padding-bottom:clamp(56px,calc(8vh / var(--z)),96px)}
.sp-exec{background:var(--cream)}
.sp-exec .big{font-size:clamp(24px,2.6vw,38px);font-weight:300;line-height:1.3;letter-spacing:-.01em;max-width:28em;margin-top:18px}
.sp-exec p:last-child{margin-top:22px;max-width:44em;color:var(--muted);font-size:16px;line-height:1.65}
.sp-enq{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(40px,6vw,120px);align-items:start}
.sp-contact{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.sp-contact b{display:block;font-size:17px;font-weight:400;color:var(--ink);margin-top:4px}
.sp-contact a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.eform fieldset{border:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 16px;margin-bottom:28px}
.eform legend{grid-column:1/-1;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.eform .f{display:flex;flex-direction:column;gap:6px}
.eform .f.wide{grid-column:1/-1}
.eform label{font-size:13px;color:var(--ink)}
.eform input,.eform textarea{font:inherit;font-size:15px;color:var(--ink);background:transparent;border:1px solid #cfcfcf;border-radius:0;padding:12px 14px;transition:border-color .2s}
.eform textarea{min-height:110px;resize:vertical}
.eform input:hover,.eform textarea:hover{border-color:#9a9a9a}
.eform input:focus,.eform textarea:focus{outline:none;border-color:var(--ink)}
.eform .err{border-color:#b00020}
.eform .chk{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:#333;margin-top:12px}
.eform .chk input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:#0b0b0b;padding:0}
.eform .chk.err span{color:#b00020}
.eform .chk + .note{margin-top:18px}
.eform .note{font-size:12.5px;line-height:1.6;color:var(--muted);margin:16px 0 22px}
.eform .note a{text-decoration:underline;text-underline-offset:2px}
.eform-done{display:none;font-size:clamp(20px,1.8vw,26px);font-weight:300;line-height:1.4;padding-top:18px;border-top:1px solid var(--ink)}
.eform.done form{display:none}
.eform.done .eform-done{display:block}
.form-err{margin:14px 0 0;font-size:15px;line-height:1.5;color:#b00020}
.nl .form-err{color:#ff6b6b}
@media (max-width: 1100px) and (min-width: 1001px){.sp-grid3.cols4{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 1000px){
  .sp-hero{min-height:auto;max-height:none}
  .sp-hero-in{padding-bottom:360px}
  .sp-hero .bg{height:340px}
  .sp-intro,.sp-enq,.sp-svc,.sp-grid3,.sp-grid3.cols4,.sp-note{grid-template-columns:1fr}
  .sp-rows > div{grid-template-columns:1fr;gap:10px}
  .sp-grid{grid-template-columns:1fr 1fr}
  .sp-grid > div{padding:24px 16px 24px 0}
  .sp-grid > div + div{padding-left:0;border-left:0}
  .sp-grid > div:nth-child(2n){padding-left:16px;border-left:1px solid var(--line)}
  .sp-grid > div:nth-child(n+3){border-top:1px solid var(--line)}
  .eform fieldset{grid-template-columns:1fr}
  .eform .opts .grid{grid-template-columns:1fr 1fr}
  .sp-hero.cover .sp-hero-in{padding-bottom:64px}
  .sp-hero.cover .bg{height:100%}
}
@media (max-width: 600px){
  .sp-grid{grid-template-columns:1fr}
  .sp-grid > div,.sp-grid > div:nth-child(2n){padding:22px 0;border-left:0}
  .sp-grid > div + div{border-top:1px solid var(--line)}
}
.inl{text-decoration:underline;text-underline-offset:2px;color:var(--ink)}

/* ===== richer solution-page components (first used on Tokenization) ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink)}
.stats > div{padding:28px 28px 4px 0}
.stats > div + div{padding-left:28px;border-left:1px solid var(--line)}
.stats b{display:block;font-size:clamp(44px,4.6vw,72px);font-weight:300;letter-spacing:-.03em;line-height:1}
.stats span{display:block;margin-top:14px;font-size:14px;line-height:1.55;color:var(--muted);max-width:22em}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,112px);align-items:center}
.split-media{margin:0;aspect-ratio:11/14;max-height:min(680px,calc(78vh / var(--z)));overflow:hidden;background:#d9d9d9}   /* capped: no oversized photo box on wide screens */
.split-media img{display:block;width:100%;height:100%;object-fit:cover}
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;margin:34px 0 0;padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.flow b{display:block;font-size:17px;font-weight:400;line-height:1.3}
.flow span{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:4px}
.flow svg{width:18px;height:18px;color:var(--muted)}
.instr{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.instr > div{border-top:1px solid var(--line);padding-top:16px}
.instr h3{font-size:16px;font-weight:500;margin-bottom:6px}
.instr p{font-size:14px;line-height:1.6;color:var(--muted)}
.sp-dark{background:#0b0b0b;color:#fff;border-top-color:#0b0b0b}
.sp-dark .label{color:rgba(255,255,255,.55)}
.sp-dark .sec-h{color:#fff}
.sp-dark .sp-grid3 > div{border-top-color:rgba(255,255,255,.4)}
.sp-dark .sp-grid3 p{color:rgba(255,255,255,.62)}
.ind{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.4vw,24px);margin-top:clamp(40px,5vw,64px)}
.ind figure{margin:0;aspect-ratio:3/4;overflow:hidden;background:#d9d9d9}
.ind img{display:block;width:100%;height:100%;object-fit:cover}
.ind h3{font-size:20px;font-weight:400;margin:18px 0 8px}
.ind p{font-size:14px;line-height:1.6;color:var(--muted)}
.process{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);margin-top:clamp(40px,5vw,64px)}
.process::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--ink)}
.process > div{position:relative;padding-top:36px}
.process > div::before{content:"";position:absolute;top:0;left:0;width:13px;height:13px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px var(--cream)}
.process h3{font-size:clamp(22px,1.9vw,28px);font-weight:300;line-height:1.2;margin-bottom:10px}
.process h3 small{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.process h4{font-size:15px;font-weight:500;margin:20px 0 6px}
.process h4 + p,.process ul p{font-size:14.5px;color:var(--muted)}
.stats.cols3{grid-template-columns:repeat(3,1fr)}
.process p{font-size:15px;line-height:1.65;color:#333;max-width:30em}
.ind.cols4{grid-template-columns:repeat(4,1fr)}
@media (max-width: 1200px){.ind{grid-template-columns:repeat(3,1fr)}.ind.cols4{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 1000px){
  .stats,.stats.cols3{grid-template-columns:1fr 1fr}
  .stats > div:nth-child(3){padding-left:0;border-left:0}
  .stats > div:nth-child(n+3){border-top:1px solid var(--line);margin-top:24px}
  .split{grid-template-columns:1fr}
  .split-media{aspect-ratio:4/3}
  .ind,.ind.cols4{grid-template-columns:1fr 1fr}
  .process{grid-template-columns:1fr}
  .process::before{left:6px;right:auto;top:6px;bottom:0;width:1px;height:auto}
  .process > div{padding:0 0 8px 36px}
}
@media (max-width: 600px){
  .stats,.stats.cols3{grid-template-columns:1fr}
  .stats > div,.stats > div + div{padding:22px 0;border-left:0}
  .stats > div + div{border-top:1px solid var(--line);margin-top:0}
  .stats > div:nth-child(n+3){margin-top:0}
  .flow{grid-template-columns:1fr;gap:6px}
  .flow svg{transform:rotate(90deg)}
  .instr,.ind,.ind.cols4{grid-template-columns:1fr}
  .ind figure{aspect-ratio:4/3}
}
.sp-exec .process p:last-child{margin-top:0}
.process > div > h4 ~ p,.sp-exec .process > div > h4 ~ p:last-child{font-size:14.5px;line-height:1.6;color:var(--muted);max-width:30em;margin-top:0}
/* process line that draws itself with scroll (data-draw); stages switch on as the line reaches them */
.process[data-draw]::before{transform:scaleX(var(--prog,1));transform-origin:left center}
.process[data-draw] > div{transition:opacity .5s ease}
.process[data-draw].live > div{opacity:.32}
.process[data-draw].live > div.on{opacity:1}
.process[data-draw] > div::before{transition:background .35s ease,box-shadow .35s ease}
.process[data-draw].live > div:not(.on)::before{background:var(--cream);box-shadow:0 0 0 6px var(--cream),inset 0 0 0 1px var(--ink)}
.process[data-draw] > div.opt::before{background:var(--cream);box-shadow:0 0 0 6px var(--cream);border:1px dashed var(--ink);box-sizing:border-box}
.process[data-draw]::after{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--line);z-index:-1}
.process[data-draw]{z-index:0}
@media (max-width: 1000px){
  .process[data-draw]::before{transform:scaleY(var(--prog,1));transform-origin:center top}
  .process[data-draw]::after{left:6px;right:auto;top:6px;bottom:0;width:1px;height:auto}
}
/* two large photo cards (reuse homepage .pcard look) */
.practice{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.4vw,24px);margin-top:clamp(40px,5vw,64px)}
.practice .pcard{min-height:clamp(320px,32vw,460px)}
.process.cols4{grid-template-columns:repeat(4,1fr)}
.sp-dark .sp-note{border-top-color:rgba(255,255,255,.4)}
.sp-dark .sp-note p{color:rgba(255,255,255,.72)}
.sp-dark .sp-mini,.sp-dark .sp-contact{color:rgba(255,255,255,.6)}
.sp-dark .sp-contact b,.sp-dark .sp-contact a{color:#fff}
.sp-plain .process > div::before{box-shadow:0 0 0 6px var(--paper)}
@media (max-width: 1000px){.practice{grid-template-columns:1fr}.process.cols4{grid-template-columns:1fr}}

/* ===== people ===== */
.page-head{padding:calc(var(--nav) + clamp(56px,8vw,112px)) clamp(24px,4vw,64px) clamp(48px,5vw,72px)}
.page-head .crumbs{justify-content:flex-start}
.page-head h1{font-weight:300;font-size:clamp(44px,5.6vw,84px);line-height:1.02;letter-spacing:-.025em;margin:22px 0 22px}
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,48px) clamp(16px,2vw,28px);margin-top:clamp(32px,4vw,56px)}
.person figure{margin:0;aspect-ratio:1;overflow:hidden;background:#d9d9d9}
.person img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.person h3{font-size:19px;font-weight:400;margin:16px 0 4px}
.person .role{font-size:13.5px;line-height:1.5;color:var(--muted)}
.person details{margin-top:12px;border-top:1px solid var(--line)}
.person summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.person summary::-webkit-details-marker{display:none}
.person summary::after{content:"+";font-size:16px;font-weight:300;letter-spacing:0}
.person details[open] summary::after{content:"\2013"}
.person details p{font-size:14px;line-height:1.65;color:var(--muted);padding-bottom:6px}
.sp-dark .person .role,.sp-dark .person details p{color:rgba(255,255,255,.62)}
.sp-dark .person details{border-top-color:rgba(255,255,255,.2)}
.sp-dark .person figure{background:#222}
/* contact block with portrait */
.sp-contact.face{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center}
.sp-contact.face img{display:block;width:120px;height:120px;object-fit:cover}
@media (max-width: 1100px){.people{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 760px){.people{grid-template-columns:1fr 1fr}}
/* intro + enquiry card (first section of the service pages) */
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(40px,6vw,120px);align-items:start}
.cta-card{background:var(--cream);padding:clamp(26px,2.4vw,36px)}
.cta-card .label{display:block;color:var(--muted)}
.cta-card h3{font-size:clamp(22px,1.8vw,26px);font-weight:300;line-height:1.2;letter-spacing:-.01em;margin:12px 0 10px}
.cta-card p{font-size:14.5px;line-height:1.6;color:var(--muted);margin-bottom:26px}
.cta-who{display:flex;align-items:center;gap:14px;margin:22px 0 24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--muted)}
.cta-who b{display:block;font-weight:400;font-size:14.5px;color:var(--ink)}
.cta-who .faces{display:flex;flex:none}
.cta-who img{width:48px;height:48px;object-fit:cover;border:2px solid var(--cream)}
.cta-who img + img{margin-left:-12px}
.cta-card .btn{width:100%;justify-content:space-between;height:48px}
@media (max-width: 1000px){.intro-grid{grid-template-columns:1fr;gap:36px}}
/* end-of-page enquiry band (service pages) */
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding:clamp(48px,5vw,80px) clamp(24px,4vw,64px);background:var(--paper);border-top:1px solid var(--line)}
.cta-band .label{display:block;color:var(--muted)}
.cta-band h2{font-weight:300;font-size:clamp(30px,3.2vw,48px);letter-spacing:-.02em;line-height:1.05;margin-top:10px}
.cta-band .btn{height:52px;padding:0 24px}
/* enquiry page */
.enq{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(40px,6vw,120px);align-items:start}
.enq-aside{position:sticky;top:calc(var(--nav) + 32px)}
.enq-aside p{font-size:14.5px;line-height:1.65;color:var(--muted);margin-top:14px;max-width:24em}
.enq-steps{list-style:none;margin-top:26px;border-top:1px solid var(--line)}
.enq-steps li{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.enq-steps b{display:block;font-weight:400;font-size:15px;color:var(--ink);margin-bottom:2px}
.eform fieldset[data-topic]{display:none}
.eform fieldset[data-topic].show{display:grid;animation:fold .45s ease both}
@keyframes fold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.eform .note.privacy{margin-top:4px}
@media (max-width: 1000px){.enq{grid-template-columns:1fr}.enq-aside{position:static}}
@media (prefers-reduced-motion: reduce){.eform fieldset[data-topic].show{animation:none}}
/* "Ready to start?" band as a sky bookend: the page's hero sky with the tip of its building rising in */
.cta-band.sky{--tipr:clamp(0px,9vw,200px);position:relative;overflow:hidden;align-items:center;min-height:clamp(260px,24vw,360px);border-top:0;
  background:linear-gradient(180deg,var(--br)) right top/var(--tipr) 100% no-repeat,linear-gradient(180deg,var(--bl))}   /* sky sampled from the photo's left (--bl) and right (--br) edge at 9 heights: the photo sits seamlessly, no fade */
.cta-band.sky > div{position:relative;z-index:1}
.cta-band.sky .label{color:rgba(11,11,11,.6)}
.cta-band.sky .btn{margin-top:26px}
.cta-band .tip{position:absolute;right:var(--tipr,clamp(0px,9vw,200px));bottom:0;height:100%;width:auto;max-width:none;pointer-events:none}   /* crisp, no fade */
.cta-band.sky.bleed .tip{left:0;right:0;width:100%;object-fit:cover;object-position:center top}   /* photo spans the whole band (Who we are) */
.cta-band.sky.dark h2{color:#fff}
.cta-band.sky.dark .label{color:rgba(255,255,255,.65)}
.cta-band.sky.dark .btn{background:#fff;color:var(--ink)}
.cta-band.sky.dark .btn:hover{background:#e6e6e6}
/* phones: a thinner band; heading and button sit on the sky, the building tip rises in on the right */
@media (max-width: 760px){.cta-band.sky{--tipr:0px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:200px;padding-top:28px;padding-bottom:28px}
  .cta-band.sky .tip{height:100%;right:0;transform:translateX(22%)}   /* nudged right by a share of its own width: wide and narrow photos alike */
  .cta-band.sky h2{font-size:28px}
  .cta-band.sky .btn{margin-top:18px;height:46px}}
/* who we are */
.entities{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);margin-top:clamp(40px,5vw,64px)}
.entities > div{border-top:1px solid rgba(255,255,255,.4);padding-top:24px}
.entities h3{font-size:clamp(22px,1.9vw,28px);font-weight:300}
.entities .tag{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:8px 0 14px}
.entities p{font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.72);max-width:34em}
.face-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1vw,16px);margin-top:clamp(32px,4vw,48px)}
.face-strip img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .6s ease}
@media (max-width: 1000px){.entities{grid-template-columns:1fr}.face-strip{grid-template-columns:repeat(3,1fr)}}
.who-cards{grid-template-columns:repeat(4,1fr)}.who-cards .pcard{min-height:clamp(300px,26vw,400px)}@media (max-width: 1000px){.who-cards{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.who-cards{grid-template-columns:1fr}}
@media (max-width: 600px){.who-cards .pcard{min-height:240px}}
/* regulation (document layout) */
.tbc{display:inline-block;padding:2px 8px;border:1px solid var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);vertical-align:1px}
.reg-head{border-bottom:1px solid var(--ink)}
.reg-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--line)}
.reg-facts > div{padding:18px 24px 0 0}
.reg-facts > div + div{padding-left:24px;border-left:1px solid var(--line)}
.reg-facts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.reg-facts dd{margin-top:8px;font-size:clamp(20px,1.7vw,26px);font-weight:300}
.legal{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:clamp(40px,6vw,120px);padding:clamp(56px,6vw,96px) clamp(24px,4vw,64px) clamp(80px,9vw,140px)}
.legal-toc{position:sticky;top:calc(var(--nav) + 32px);align-self:start}
.legal-toc ol{list-style:none;counter-reset:toc;margin-top:18px;border-top:1px solid var(--ink)}
.legal-toc li{counter-increment:toc;border-bottom:1px solid var(--line)}
.legal-toc a{display:flex;gap:14px;padding:11px 0;font-size:14px;color:var(--muted);transition:color .2s}
.legal-toc a::before{content:counter(toc,decimal-leading-zero);font-size:11px;letter-spacing:.08em;padding-top:2px;min-width:18px}
.legal-toc a:hover,.legal-toc a.on{color:var(--ink)}
.legal-body{max-width:820px}
.legal-body section{padding-bottom:clamp(44px,4.5vw,64px);margin-bottom:clamp(44px,4.5vw,64px);border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav) + 32px)}
.legal-body .no{display:block;font-size:12px;letter-spacing:.14em;color:var(--muted)}
.legal-body h2{margin:10px 0 20px;font-size:clamp(26px,2.2vw,34px);font-weight:300;letter-spacing:-.015em;line-height:1.15}
.legal-body h3{margin:28px 0 8px;font-size:16px;font-weight:500}
.legal-body p{font-size:16px;line-height:1.75;color:#333}
.legal-body p + p{margin-top:14px}
.reg-table{margin-top:28px;border-top:1px solid var(--ink)}
.reg-table > div{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6}
.reg-table dt{color:var(--muted)}
.reg-list{list-style:none;margin:20px 0 22px;border-top:1px solid var(--ink)}
.reg-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.reg-grid{margin-top:28px;border-top:1px solid var(--ink);font-size:15px;line-height:1.5}
.reg-grid > div{display:grid;grid-template-columns:1.1fr .8fr 1.4fr 1.4fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.reg-grid .rg-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.reg-updated{font-size:13px!important;color:var(--muted)!important}
.docs{list-style:none;margin-top:8px;border-top:1px solid var(--ink)}
.docs a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;transition:padding .3s}
.docs .fmt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.docs a:hover{padding-left:8px}
.docs a svg{transition:transform .25s}
.docs a:hover svg{transform:translateX(4px)}
@media (max-width: 1000px){
  .legal{grid-template-columns:1fr}
  .legal-toc{position:static}
  .reg-facts{grid-template-columns:1fr 1fr}
  .reg-facts > div:nth-child(3){padding-left:0;border-left:0}
  .reg-facts > div:nth-child(n+3){margin-top:18px;border-top:1px solid var(--line)}
  .reg-grid .rg-h{display:none}
  .reg-grid > div{grid-template-columns:1fr;gap:4px}
  .reg-grid > div span:first-child{font-weight:500}
  .reg-table > div{grid-template-columns:1fr;gap:2px}
}
.entities .more{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.entities .more svg{transition:transform .25s}
.entities .more:hover svg{transform:translateX(4px)}
/* careers */
.apply .btn{margin-top:32px;text-transform:none;letter-spacing:.02em;font-size:15px}
/* contact */
.contact-list{background:var(--cream);padding:6px clamp(24px,2.4vw,36px)}   /* grey box (same grey as the cta cards), no black rule on top */
.contact-list > div{padding:20px 0;border-bottom:1px solid rgba(11,11,11,.08)}
.contact-list > div:last-child{border-bottom:0}
.contact-list dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-list dd{margin-top:6px;font-size:16px;line-height:1.6}
.contact-list a{border-bottom:1px solid rgba(11,11,11,.2);transition:border-color .2s}
.contact-list a:hover{border-color:var(--ink)}
/* newsroom */
.nr{padding:0 clamp(24px,4vw,64px) clamp(64px,7vw,110px)}
.nr-bar{position:sticky;top:var(--nav);z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:16px 0;background:var(--paper);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.nr-filters{display:flex;flex-wrap:wrap;gap:6px}
.nr-f{font:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.nr-f span{margin-left:6px;color:var(--muted)}
.nr-f:hover{border-color:var(--ink)}
.nr-f[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.nr-f[aria-pressed="true"] span{color:rgba(255,255,255,.6)}
.nr-search{position:relative;flex:0 1 320px}
.nr-search input{width:100%;font:inherit;font-size:15px;padding:10px 0 10px 28px;border:0;border-bottom:1px solid var(--ink);background:transparent;outline:none;border-radius:0}
.nr-search::before{content:"";position:absolute;left:0;top:50%;width:13px;height:13px;margin-top:-9px;border:1.4px solid var(--ink);border-radius:50%}
.nr-search::after{content:"";position:absolute;left:12px;top:50%;width:6px;height:1.4px;margin-top:4px;background:var(--ink);transform:rotate(45deg)}
.nr-status{display:flex;gap:14px;align-items:center;padding:14px 0 0;font-size:13px;color:var(--muted);min-height:20px}
.nr-status button{font:inherit;font-size:13px;background:none;border:0;padding:0;color:var(--ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.nr-year{display:grid;grid-template-columns:minmax(90px,180px) 1fr;gap:clamp(20px,3vw,48px);padding-top:clamp(32px,3.5vw,48px)}
.nr-year h2{font-size:clamp(28px,2.6vw,40px);font-weight:300;letter-spacing:-.02em;line-height:1;padding-top:16px}
.nr-list{list-style:none;border-top:1px solid var(--ink)}
.nr-item{border-bottom:1px solid var(--line)}
.nr-row{display:grid;grid-template-columns:120px 130px minmax(0,1fr) auto 20px;gap:20px;align-items:baseline;padding:18px 0;cursor:pointer;list-style:none;transition:padding .25s}
.nr-row::-webkit-details-marker{display:none}
.nr-row.static{cursor:default}
a.nr-row:hover,summary.nr-row:hover{padding-left:8px}
.nr-date{font-size:13px;color:var(--muted);white-space:nowrap}
.nr-type{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nr-title{font-size:clamp(16px,1.2vw,18px);line-height:1.45}
.nr-src{font-size:13px;color:var(--muted);white-space:nowrap}
.nr-go{align-self:center;justify-self:end;width:16px;height:16px;position:relative}
.nr-go svg{width:16px;height:16px;display:block;transition:transform .25s}
a.nr-row:hover .nr-go svg{transform:translateX(4px)}
summary .nr-go::before,summary .nr-go::after{content:"";position:absolute;left:2px;right:2px;top:50%;height:1.2px;background:var(--ink);transition:transform .3s}
summary .nr-go::after{transform:rotate(90deg)}
details[open] summary .nr-go::after{transform:rotate(0)}
.nr-more{padding:0 0 26px calc(120px + 130px + 40px);max-width:calc(250px + 40px + 760px)}
.nr-more p{font-size:15.5px;line-height:1.7;color:#333}
.nr-more p + p{margin-top:12px}
.nr-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px!important}
.nr-act{font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--ink);transition:background .2s,color .2s}
.nr-act:hover{background:var(--ink);color:var(--paper)}
.nr-empty{padding:40px 0;color:var(--muted)}
.nr-press{border-top:1px solid var(--ink)}
.nr-press-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,6vw,120px)}
.nr-contact{margin-top:22px;font-size:15px;line-height:1.7}
.kit-intro{margin-top:14px;font-size:15px;color:#333}
.kit{margin-top:22px;border-top:1px solid var(--ink)}
.kit-row{display:grid;grid-template-columns:minmax(160px,1fr) 1.4fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.kit-row b{display:block;font-weight:400;font-size:16px}
.kit-row span{display:block;margin-top:4px;font-size:13px;color:var(--muted);line-height:1.5}
.kit-row ul{list-style:none}
.kit-row li + li{margin-top:6px}
.kit-row a{font-size:14px;border-bottom:1px solid var(--line)}
.kit-row a:hover{border-color:var(--ink)}
.nr-about{margin-top:clamp(48px,5vw,72px);padding-top:26px;border-top:1px solid var(--line);max-width:60em}
.nr-about h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:var(--muted)}
.nr-about p{margin-top:12px;font-size:14.5px;line-height:1.7;color:#333}
@media (max-width: 1000px){
  .nr-year{grid-template-columns:1fr;gap:12px}.nr-year h2{position:static}
  .nr-row{grid-template-columns:auto 1fr 20px;gap:6px 14px}
  .nr-row .nr-title{grid-column:1/3;grid-row:2}.nr-row .nr-src{grid-column:1/3;grid-row:3}.nr-row .nr-go{grid-column:3;grid-row:1/3}
  .nr-more{padding-left:0}
  .nr-press-grid,.kit-row{grid-template-columns:1fr}
  .nr-search{flex-basis:100%}
  .nr-bar{position:static}
}
/* article */
.art{padding:calc(var(--nav) + clamp(48px,7vw,96px)) clamp(24px,4vw,64px) clamp(64px,7vw,110px)}
.art-head,.art-body,.art-foot{max-width:760px;margin:0 auto}
.art-head .crumbs{justify-content:flex-start}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:28px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.art-head h1{margin-top:16px;font-size:clamp(32px,3.6vw,52px);font-weight:300;line-height:1.1;letter-spacing:-.02em;padding-bottom:clamp(28px,3vw,40px);border-bottom:1px solid var(--ink)}
.art-body{padding-top:clamp(28px,3vw,40px)}
.art-body p,.art-body li{font-size:17px;line-height:1.75;color:#262626}
.art-body p + p,.art-body ul + p,.art-body p + ul,.art-body .tbl + p{margin-top:18px}
.art-body h2{margin:44px 0 14px;font-size:clamp(22px,1.9vw,28px);font-weight:300;line-height:1.25}
.art-body h3{margin:36px 0 10px;font-size:18px;font-weight:500;line-height:1.35}
.art-body ul{margin:16px 0 0;padding-left:20px}
.art-body li + li{margin-top:8px}
.art-body .credit{font-size:13px;color:var(--muted);margin-top:36px}
.tbl{margin-top:22px;overflow-x:auto}
.tbl table{border-collapse:collapse;width:100%;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.tbl thead th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--ink)}
.tbl tbody th{font-weight:500}
.art-foot{margin-top:clamp(48px,5vw,72px);padding-top:24px;border-top:1px solid var(--ink)}
.art-foot .back{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.art-pager{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.art-pager a{display:block;padding:18px 0;border-top:1px solid var(--line)}
.art-pager a span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.art-pager a b{display:block;margin-top:6px;font-weight:400;font-size:15px;line-height:1.4}
.art-pager .next{text-align:right}
.art-pager a:hover b{text-decoration:underline;text-underline-offset:3px}
@media (max-width: 700px){.art-pager{grid-template-columns:1fr}.art-pager .next{text-align:left}}
/* site search (navbar panel) */
.ss-results{margin-top:8px;max-height:calc(calc(100vh / var(--z)) - var(--nav) - 190px);overflow-y:auto;overscroll-behavior:contain}
.ss-item{display:block;padding:16px 12px;margin:0 -12px;border-bottom:1px solid rgba(255,255,255,.12);color:#f5f5f7;transition:background .15s}
.ss-item:hover,.ss-item[aria-selected="true"]{background:rgba(255,255,255,.08)}
.ss-k{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,245,247,.55)}
.ss-item b{display:block;margin-top:5px;font-weight:400;font-size:18px;line-height:1.35}
.ss-s{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:rgba(245,245,247,.7);max-width:70em}
.ss-results mark,.sr-list mark{background:none;color:inherit;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ss-all{display:inline-flex;gap:10px;margin-top:20px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#f5f5f7;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px}
.ss-all:hover{border-color:#f5f5f7}
.ss-none{padding:18px 0;font-size:15px;color:rgba(245,245,247,.7)}
/* search results page */
.srch{padding:0 clamp(24px,4vw,64px) clamp(64px,7vw,110px);min-height:calc(50vh / var(--z))}
.sr-form{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:12px;max-width:900px}
.sr-form input{flex:1;font:inherit;font-size:clamp(22px,2.4vw,32px);font-weight:300;border:0;background:none;outline:none;padding:4px 0;border-radius:0}
.sr-form svg{width:24px;height:24px}
.sr-kinds{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.sr-count{margin-top:18px;font-size:13px;color:var(--muted)}
.sr-list{margin-top:12px;border-top:1px solid var(--ink);max-width:900px}
.sr-item{display:block;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .25s}
.sr-item:hover{padding-left:8px}
.sr-item .ss-k{color:var(--muted)}
.sr-item b{display:block;margin-top:6px;font-weight:400;font-size:clamp(18px,1.5vw,21px);line-height:1.35}
.sr-item .ss-s{display:block;margin-top:6px;font-size:15px;line-height:1.6;color:#444}
.nr-item.hit{background:linear-gradient(90deg,rgba(11,11,11,.04),rgba(11,11,11,0))}
/* capital market listings */
.lst-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,120px);align-items:start}
.lst-steps{list-style:none;counter-reset:st;border-top:1px solid var(--ink)}
.lst-steps li{counter-increment:st;display:grid;grid-template-columns:48px 1fr;padding:20px 0;border-bottom:1px solid var(--line);font-size:clamp(17px,1.4vw,20px);font-weight:300;line-height:1.4}
.lst-steps li::before{content:counter(st,decimal-leading-zero);font-size:12px;letter-spacing:.1em;color:var(--muted);padding-top:5px}
.sp-rows > div > div p + p{margin-top:12px}
.lst-facts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,4vw,64px);margin-top:clamp(40px,5vw,64px)}
.lst-facts li{padding:22px 0;border-top:1px solid var(--ink);font-size:clamp(17px,1.4vw,20px);font-weight:300;line-height:1.4}
.sp-dark .inl{color:#fff}
@media (max-width: 1000px){.lst-services{grid-template-columns:1fr}.lst-facts{grid-template-columns:1fr}}
.practice.cols3{grid-template-columns:repeat(3,1fr)}@media (max-width: 1000px){.practice.cols3{grid-template-columns:1fr}}
.mega-more{display:inline-block;margin-top:10px;color:#f5f5f7;border-bottom:1px solid rgba(255,255,255,.4)}.mega-more:hover{border-color:#f5f5f7}
.adv-cards{padding-bottom:clamp(80px,9vw,140px)}
/* hero variant: photo runs edge to edge (no side fade), only a soft top fade into the sky */
.sp-hero.wide .bg{left:0;right:0;width:100%;height:var(--bgh,64%);transform:none;object-fit:cover;object-position:var(--bgp,center top);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%);mask-image:linear-gradient(to bottom,transparent,#000 24%)}
.sp-hero.tall .bg{height:68%}
@media (max-width: 1000px){.sp-hero.tall .bg{height:380px}.sp-hero.tall .sp-hero-in{padding-bottom:400px}}
/* press */
.pr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(40px,6vw,120px)}
.pr-contact{background:var(--cream);padding:clamp(26px,2.4vw,36px);align-self:start}   /* grey box, as the contact details on the Contact page */
.pr-agency{margin-top:16px;font-size:clamp(18px,1.5vw,22px);font-weight:300;line-height:1.45}
.pr-latest{list-style:none;margin-top:16px;border-top:1px solid var(--ink)}
.pr-latest a{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);transition:padding .25s}
.pr-latest a:hover{padding-left:8px}
.pr-latest time{font-size:13px;color:var(--muted);padding-top:2px}
.pr-latest span{font-size:16px;line-height:1.45}
.pr-more{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:14px}
.kit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2vw,32px);margin-top:clamp(40px,5vw,64px)}
.kit-card figure{aspect-ratio:4/5;background:#e9e9e9;overflow:hidden}
.kit-card img{width:100%;height:100%;object-fit:cover}
.kit-logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#0b0b0b;color:#fff;padding:22%}
.kit-logo svg{width:auto;height:100%;max-width:100%}
.kit-card h3{margin-top:16px;font-size:18px;font-weight:400}
.kit-role{margin-top:4px;font-size:13px;color:var(--muted);line-height:1.5}
.kit-card ul{list-style:none;margin-top:12px;border-top:1px solid var(--line)}
.kit-card li a{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;transition:padding .2s}
.kit-card li a:hover{padding-left:6px}
.pr-about{border-top:1px solid var(--line)}
.pr-about p{margin-top:14px;font-size:15px;line-height:1.75;color:#333;max-width:60em}
.nr-topress{padding-top:0}
.nr-presslink{display:grid;grid-template-columns:120px 1fr 20px;align-items:center;gap:20px;padding:26px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:padding .25s}
.nr-presslink:hover{padding-left:8px}
.nr-presslink b{font-weight:300;font-size:clamp(20px,1.8vw,26px)}
@media (max-width: 1000px){.pr-grid{grid-template-columns:1fr}.kit-grid{grid-template-columns:1fr 1fr}.pr-latest a{grid-template-columns:1fr;gap:4px}.nr-presslink{grid-template-columns:1fr 20px}.nr-presslink .label{grid-column:1/3}}
/* faq accordions (FAQ page, Wallet Card) */
.faq .legal-toc ol{margin-top:22px}
.legal-toc a span{margin-left:auto;font-size:12px;color:var(--muted)}
.faq-search{display:block}
.faq-search input{width:100%;font:inherit;font-size:15px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);background:none;outline:none;border-radius:0}
.faq-group{padding-bottom:clamp(40px,4vw,56px)}
.faq-group + .faq-group{padding-top:4px}
.faq-group h2{margin:0 0 18px;font-size:clamp(24px,2vw,30px);font-weight:300;letter-spacing:-.01em;scroll-margin-top:calc(var(--nav) + 32px)}
.faq-sub{margin:26px 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:var(--muted)}
.faq-item{border-top:1px solid var(--line)}
.faq-group .faq-item:last-of-type,.wc-faq .faq-item:last-of-type{border-bottom:1px solid var(--line)}
.faq-item summary{display:grid;grid-template-columns:1fr 18px;gap:20px;align-items:center;padding:18px 0;cursor:pointer;list-style:none;font-size:17px;line-height:1.45;transition:padding .25s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{padding-left:6px}
.faq-item i{position:relative;width:14px;height:14px}
.faq-item i::before,.faq-item i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.2px;background:var(--ink);transition:transform .3s}
.faq-item i::after{transform:rotate(90deg)}
.faq-item[open] i::after{transform:rotate(0)}
.faq-a{padding:0 0 24px;max-width:46em}
.faq-a p,.faq-a li{font-size:15.5px;line-height:1.7;color:#333}
.faq-a p + p,.faq-a ul + p,.faq-a p + ul,.faq-a ul + h4{margin-top:12px}
.faq-a ul{padding-left:20px}
.faq-a li + li{margin-top:4px}
.faq-a h4{margin-top:16px;font-size:15px;font-weight:500}
.faq-empty{padding:30px 0;color:var(--muted)}
.legal-body section.faq-group{border-bottom:0;margin-bottom:0}
/* wallet card */
.wc-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,120px);align-items:center;padding:calc(var(--nav) + clamp(48px,7vw,96px)) clamp(24px,4vw,64px) clamp(56px,7vw,110px);background:linear-gradient(180deg,#f3f3f1,#fff)}
.wc-hero .crumbs{justify-content:flex-start}
.wc-hero h1{margin-top:22px;font-weight:900;font-size:clamp(36px,4.6vw,68px);line-height:1;text-transform:uppercase;letter-spacing:-.01em}
.wc-hero h1 small{display:block;font-size:.32em;font-weight:400;letter-spacing:.2em;margin-bottom:10px}
.wc-hero .sp-lead{margin-top:22px}
.wc-buy{margin-top:32px;padding-top:24px;border-top:1px solid var(--ink);max-width:30em}
.wc-price{font-size:clamp(32px,3vw,44px);font-weight:300;letter-spacing:-.02em}
.wc-vat{margin-top:4px;font-size:13.5px;color:var(--muted)}
.wc-buy .btn{margin-top:22px}
.wc-note{margin-top:14px;font-size:13px;color:var(--muted)}
.wc-visual{display:flex;justify-content:center;perspective:1200px}
.wc-card{position:relative;width:min(100%,480px);aspect-ratio:85.6/54;border-radius:18px;background:linear-gradient(135deg,#1a1a1a 0%,#0b0b0b 55%,#262626 100%);color:#fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.06) inset;transform:rotateY(-14deg) rotateX(8deg);transition:transform .8s ease}
.wc-card:hover{transform:rotateY(0) rotateX(0)}
.wc-logo{position:absolute;left:8%;top:12%;width:34%}
.wc-logo svg{width:100%;height:auto}
.wc-name{position:absolute;left:8%;bottom:12%;font-size:clamp(12px,1.1vw,15px);letter-spacing:.2em;text-transform:uppercase}
.wc-eth{position:absolute;right:8%;bottom:12%;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.wc-specs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,120px)}
.wc-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink)}
.wc-facts > div{padding:20px 24px 0 0}
.wc-facts > div + div{padding-left:24px;border-left:1px solid var(--line)}
.wc-facts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wc-facts dd{margin-top:8px;font-size:clamp(17px,1.4vw,21px);font-weight:300}
.wc-faq{border-top:1px solid var(--line)}
.wc-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:clamp(40px,6vw,120px);align-items:start}
.wc-faq-grid > div:first-child{position:sticky;top:calc(var(--nav) + 32px)}
.wc-more{margin-top:16px;font-size:14px;color:var(--muted)}
@media (max-width: 1000px){
  .wc-hero,.wc-specs,.wc-faq-grid{grid-template-columns:1fr}
  .wc-faq-grid > div:first-child{position:static}
  .wc-facts{grid-template-columns:1fr 1fr}
  .wc-facts > div:nth-child(3){padding-left:0;border-left:0}
  .wc-facts > div:nth-child(n+3){margin-top:16px;border-top:1px solid var(--line)}
  .wc-card{transform:none}
}
.faq-intro p{font-size:15.5px;line-height:1.7;color:#333;margin-bottom:14px;max-width:46em}
/* wallet card hero: cut-out card floating over a soft neutral shadow */
.wc-hero{background:radial-gradient(120% 90% at 75% 45%,#ffffff 0%,#f4f4f2 55%,#ebebe8 100%)}
.wc-stage{position:relative;width:82%;max-width:520px;margin-top:clamp(40px,6vw,96px)}
.wc-stage img{display:block;width:100%;height:auto}
.wc-stage .wc-shadow{position:absolute;inset:0}
.wc-stage .wc-img{position:relative;animation:wc-float 7s ease-in-out infinite}
@keyframes wc-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-.6deg)}}
@media (prefers-reduced-motion: reduce){.wc-stage .wc-img{animation:none}}
.page-head.ph-compact{padding-bottom:0}.page-head.ph-compact + .sp-sec{border-top:0;padding-top:clamp(28px,3vw,44px)}
/* listings: partner exchanges as small grey cards, logos in colour */
.xcards{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1vw,16px);margin-top:clamp(32px,3.5vw,48px)}
.xcard{display:flex;flex-direction:column;height:100%;padding:20px 20px 16px;background:#f4f4f2;transition:background .25s}
.xcard:hover{background:#ebebe8}
.xcard-logo{display:flex;align-items:center;height:70px;margin-bottom:16px}
.xcard-logo img{display:block;width:auto;max-width:100%}
.xcard-name{padding-top:12px;border-top:1px solid rgba(11,11,11,.12);font-size:15px;line-height:1.35}
.xcard-type{margin-top:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (max-width: 1000px){.xcards{grid-template-columns:1fr 1fr}}
a[data-planned]{pointer-events:none;cursor:default}
/* current offerings */
.of-filters{display:flex;flex-wrap:wrap;gap:6px}
.of-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.2vw,20px)}
.of-card a{display:flex;flex-direction:column;height:100%;padding:24px 24px 20px;background:#f4f4f2;transition:background .25s}
/* Current offerings page (hybrid): dark header, light page below; offering cards in their light grey (#f4f4f2) */
.of-dark .page-head{background:#161617;--ink:#f5f5f7;--line:rgba(255,255,255,.14);--muted:rgba(255,255,255,.6);color:var(--ink)}
.of-dark .page-head .crumbs{color:rgba(255,255,255,.6)}
.of-dark .page-head + .sp-sec{border-top:0}
.of-card a:hover{background:#ebebe8}
.of-tags{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.of-card h3{margin-top:10px;font-size:clamp(20px,1.6vw,24px);font-weight:400;line-height:1.25}
.of-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;padding:14px 0;border-top:1px solid var(--ink);border-bottom:1px solid rgba(11,11,11,.12)}
.of-head span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.of-head b{font-weight:300;font-size:clamp(22px,1.8vw,28px);letter-spacing:-.01em}
.of-card dl{margin-top:4px;flex:1}
.of-card dl div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(11,11,11,.08);font-size:14px}
.of-card dt{color:var(--muted)}
.of-card dd{text-align:right}
.of-more{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.of-more svg{width:14px;transition:transform .25s}
.of-card a:hover .of-more svg{transform:translateX(4px)}
.of-note{margin-top:24px;max-width:60em;font-size:13px;line-height:1.6;color:var(--muted)}
.of-past{background:#f4f4f2;border-top:0;--line:rgba(11,11,11,.1)}   /* past offerings on light grey (same tone as the offering cards) */
.of-past-tbl table{font-size:14px}
.of-past-tbl td,.of-past-tbl th{white-space:nowrap}
.of-past-tbl tbody th{font-weight:400}
/* offering detail */
.of-head-sec .of-tags{margin-top:28px}
.of-head-sec h1{margin-top:12px}
.of-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--ink)}
.of-strip div{padding:16px 24px 0 0}
.of-strip div + div{padding-left:24px;border-left:1px solid var(--line)}
.of-strip dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.of-strip dd{margin-top:6px;font-size:clamp(20px,1.7vw,26px);font-weight:300}
.of-contact{margin-top:22px;font-size:14px;color:var(--muted)}
.of-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:clamp(40px,6vw,110px);padding:clamp(48px,5vw,80px) clamp(24px,4vw,64px) clamp(56px,6vw,90px);border-top:1px solid var(--line)}
.of-main h2{margin:44px 0 14px;font-size:clamp(22px,1.9vw,28px);font-weight:300;line-height:1.25}
.of-main h2:first-child{margin-top:0}
.of-main h3{margin:24px 0 8px;font-size:16px;font-weight:500;line-height:1.4}
.of-main p,.of-main li{font-size:16px;line-height:1.75;color:#333}
.of-main p + p{margin-top:14px}
.of-main ul{padding-left:20px;margin-top:12px}
.of-lead{font-size:clamp(18px,1.4vw,21px)!important;font-weight:300;line-height:1.55!important;color:var(--ink)!important}
.of-facts{position:sticky;top:calc(var(--nav) + 24px);align-self:start;padding:26px 24px;background:#f4f4f2}
.kf-name{font-size:15px}
.kf-label{display:block;margin-top:18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kf-amount{margin-top:4px;font-size:clamp(26px,2.2vw,34px);font-weight:300;letter-spacing:-.01em}
.kf-for{margin-top:8px;font-size:13px;color:var(--muted)}
.kf-for span{display:block}
.of-table{margin-top:18px;border-top:1px solid var(--ink)}
.of-table div{display:grid;grid-template-columns:minmax(120px,44%) 1fr;gap:12px;padding:8px 0;border-bottom:1px solid rgba(11,11,11,.08);font-size:13.5px;line-height:1.45}
.of-table dt{color:var(--muted)}
.kf-text{margin-top:14px;font-size:13px;line-height:1.6;color:#444}
.kf-doc{margin-top:12px;font-size:13px;font-weight:500}
.kf-invest{margin-top:20px;width:100%;justify-content:space-between}
/* offer page layout: product photo beside the name in the dark header; wide key-facts card that fits one screen (facts in two columns) */
.of-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,560px);gap:clamp(40px,5vw,88px);align-items:center}   /* same columns as .of-body: the photo is exactly as wide as the key-facts card below */
.of-hero-img{margin:0;aspect-ratio:4/3;overflow:hidden;background:#2a2a2c}
.of-hero-img img{display:block;width:100%;height:100%;object-fit:cover}
.of-body{grid-template-columns:minmax(0,1fr) minmax(440px,560px)!important;gap:clamp(40px,5vw,88px)}
.of-facts .of-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.of-facts .of-table dt{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.of-facts .of-table dd{margin-top:2px;font-size:14px;line-height:1.4}
/* top section: summary left, near-square Invest tile right, spanning the section's height */
.kf-top{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:16px;align-items:stretch}
.kf-sum > :first-child{margin-top:0}
.of-facts .kf-top .kf-invest{width:auto;height:auto;min-height:120px;margin:0;padding:16px;flex-direction:column;align-items:flex-start;justify-content:space-between}
.of-facts .kf-top .kf-invest svg{align-self:flex-end;width:18px;height:18px}
/* notes: two narrow columns in small type, everything visible */
.kf-notes{margin-top:14px;padding-top:12px;border-top:1px solid rgba(11,11,11,.12);column-count:2;column-gap:20px}
.kf-notes > *{break-inside:avoid}
.of-facts .kf-notes .kf-doc{margin:0 0 3px;font-size:12px}
.of-facts .of-table div{display:block;padding:7px 0}
/* compact rhythm so the whole card fits one laptop screen (1440x900) */
.of-facts{padding:24px 26px}
.of-facts .kf-sum .kf-label{margin-top:14px}
.of-facts .kf-sum .kf-amount{font-size:clamp(24px,1.9vw,28px)}
.of-facts .kf-sum .kf-for{margin-top:6px;font-size:12.5px;line-height:1.4}
.of-facts .kf-sum .kf-for span{display:inline}   /* eligibility on one line */
.of-facts .of-table{margin-top:18px}
.of-facts .of-table div{padding:7px 0}
.of-facts .of-table dt{line-height:1.35}
.of-facts .of-table dd{margin-top:3px;font-size:13.5px;line-height:1.4}
.of-facts .of-table + .of-table{margin-top:0;border-top:0}
.of-side{align-self:stretch;min-width:0;display:flex;flex-direction:column}
.of-stick{flex:1 1 auto}   /* runs the full length of the offer text, so the card can stay pinned until the text ends */
.of-side .of-facts{position:sticky;top:calc(var(--nav) + 24px)}   /* pinned below the navbar; cards taller than the screen get a negative top (scripts.html) */
@media (max-width: 1000px){.of-side .of-facts{position:static}}
.of-facts > .kf-notes{margin-top:20px;padding-top:16px;border-top:1px solid rgba(11,11,11,.12);column-count:1}   /* general notes close the key-facts card: one column, below a divider */
.of-facts > .kf-notes .kf-text{margin:14px 0 0;font-size:13px;line-height:1.6;color:#444}   /* same size as the former separate notes box */
.of-facts > .kf-notes .kf-text:first-child{margin-top:0}
/* product-specific notes inside the card: documentation list (compact, ruled like the fact tables) + notes unique to the offer */
.kf-docs{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;padding-top:10px;border-top:1px solid var(--ink);font-size:12.5px;line-height:1.4}
.of-facts .kf-product .kf-text{margin-top:6px;font-size:11.5px;line-height:1.45;color:var(--muted)}
.kf-group{margin-top:18px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}   /* sub-heading inside the key-facts card (Underlying, Conditions, Service Providers) */
.of-facts .kf-group + .of-table{margin-top:8px}
.of-facts .kf-notes .kf-doc{font-size:11.5px}
.of-facts .kf-top .kf-invest{min-height:104px}
@media (max-width: 600px){.kf-notes{column-count:1}}
@media (max-width: 1000px){
  .of-hero{grid-template-columns:1fr;gap:28px}
  .of-hero-img{aspect-ratio:16/9}
  .of-body{grid-template-columns:1fr!important}
}
.of-body.no-facts{grid-template-columns:minmax(0,1fr)!important}   /* offers without a key-facts block in the source (ETH+, USD3): text uses the width */
.of-body.no-facts .of-main{max-width:860px}
/* offer text: one document format for all offer pages (black/white/grey only, no icons) */
.of-main .of-thesis{margin:0 0 clamp(32px,3vw,44px);padding-left:22px;border-left:3px solid var(--ink);font-size:clamp(22px,1.9vw,28px)!important;font-weight:300;line-height:1.35!important;color:var(--ink)!important;max-width:none}
.of-main .of-sec{margin:clamp(44px,4vw,64px) 0 0;padding-bottom:0;border-bottom:0}   /* overrides the generic .legal-body section rule */
.of-main h2.of-sh{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:12.5px;font-weight:500;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}
.of-fn{font-size:.75em;vertical-align:super;line-height:0}
.of-main p,.of-main ul{max-width:68ch}
.of-main p.of-footnote{font-size:12.5px;line-height:1.6;color:var(--muted)}
.of-main ul{list-style:none;padding-left:0}
.of-main ul li{position:relative;padding-left:24px}
.of-main ul li + li{margin-top:6px}
.of-main ul li::before{content:"";position:absolute;left:4px;top:calc(.875em - 3.5px);width:7px;height:7px;box-sizing:border-box;border:1px solid var(--ink);border-radius:50%}   /* open circle bullets */
/* highlights: two columns of items separated by hairlines (no boxes) */
.hl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.hl{padding:16px 0 18px;border-top:1px solid var(--line)}
.hl:nth-child(-n+2){padding-top:0;border-top:0}   /* first row sits directly under the subheader's hairline */
.of-main .hl h3{margin:0;font-size:15.5px;font-weight:500;line-height:1.4}
.of-main .hl p,.of-main .hl li{margin-top:8px;font-size:14px;line-height:1.6;color:#444;max-width:none}
/* 'About ...' sections: plain text with role line and web row (no box) */
.of-entity{padding:0;border:0}
.of-role{display:block;margin-bottom:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.of-main .of-entity p{max-width:none}
.of-main .of-web{display:flex;gap:16px;align-items:baseline;margin-top:16px!important;padding-top:12px;border-top:1px solid var(--line);font-size:14px}
.of-web span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
/* team / management: profile rows */
.of-person{padding:18px 0;border-top:1px solid var(--line)}
.of-person:last-of-type{border-bottom:1px solid var(--line)}
.of-main h2.of-sh + .of-person{padding-top:0;border-top:0}   /* the subheader's hairline already separates the first profile */
.of-main .op-name{font-size:16.5px;font-weight:500;color:var(--ink)}
.of-main .op-role{margin-top:2px!important;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.op-bio{margin-top:10px}
.of-main .op-bio p,.of-main .op-bio li{font-size:14.5px;line-height:1.65}
@media (max-width: 600px){.hl-grid{grid-template-columns:1fr}.hl:nth-child(2){padding-top:16px;border-top:1px solid var(--line)}.of-main .of-thesis{padding-left:16px}}
.of-legal{background:#f4f4f2;border-top:0}   /* legal information block on light grey */
.of-legal .of-disclaimer{background:#e6e6e3}   /* marketing disclaimer: a darker grey panel than the legal information block */
.of-legal-text{max-width:60em;margin-top:18px}
.of-legal-text p{font-size:14px;line-height:1.7;color:#444}
.of-legal-text p + p{margin-top:12px}
.of-disclaimer{max-width:60em;margin-top:32px;padding:22px 24px;background:#f4f4f2}
@media (min-width: 1001px){   /* legal text and disclaimer stay left of the key-facts card's left edge: same columns as .of-body */
  .of-legal{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,560px);column-gap:clamp(40px,5vw,88px);row-gap:0;align-content:start}
  .of-legal > *{grid-column:1;min-width:0}
}
.of-disclaimer h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:var(--muted)}
.of-disclaimer p{margin-top:10px;font-size:12px;line-height:1.6;color:#555}
/* legal gate */
html.gated{overflow:hidden}
.gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(11,11,11,.72)}
.gate[hidden]{display:none}
.gate-box{width:min(760px,100%);max-height:calc(calc(100vh / var(--z)) - 48px);overflow:auto;padding:clamp(24px,3vw,40px);background:#fff}
.gate-box h2{margin-top:10px;font-size:clamp(24px,2.2vw,32px);font-weight:300}
.gate-text h3{margin-top:22px;font-size:15px;font-weight:500}
.gate-text p{margin-top:8px;font-size:13.5px;line-height:1.65;color:#444}
.gate-q{margin-top:24px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:12px}
.gate-actions .btn{height:auto;min-height:44px;padding:12px 18px;text-transform:none;letter-spacing:.01em;font-size:14px;text-align:left}
.gate-close{font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}
@media (max-width: 1000px){.of-grid{grid-template-columns:1fr}.of-body{grid-template-columns:1fr}.of-facts{position:static}.of-strip{grid-template-columns:1fr}.of-strip div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
@media (min-width: 1001px) and (max-width: 1250px){.of-grid{grid-template-columns:1fr 1fr}}
.of-card a{padding:0 0 20px}
.of-card .of-tags,.of-card h3,.of-card .of-head,.of-card dl,.of-foot{margin-left:24px;margin-right:24px}
.of-img{display:block;aspect-ratio:2/1;overflow:hidden;margin-bottom:20px;background:#ddd}
.of-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.of-card a:hover .of-img img{transform:scale(1.03)}
.of-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.of-foot .of-more{margin-top:0}
.of-for{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.of-for img{display:block;border-radius:50%}
.of-banner{margin:0;height:clamp(240px,30vw,440px);overflow:hidden}
.of-banner img{display:block;width:100%;height:100%;object-fit:cover}
/* offer pages, hybrid (all offer pages, body.offer-dark): dark header block (title, subtitle, key figures, contact),
   then the photo banner, then the light document (text, key-facts panel, legal notes, disclaimer) */
.offer-dark .of-head-sec{background:#161617;--ink:#f5f5f7;--line:rgba(255,255,255,.12);--muted:rgba(255,255,255,.55);color:var(--ink)}
.offer-dark .of-head-sec .crumbs{color:rgba(255,255,255,.6)}
.offer-dark .of-head-sec .of-strip{border-top-color:rgba(255,255,255,.2)}
.offer-dark .of-head-sec .of-strip dd{font-variant-numeric:tabular-nums lining-nums}
.offer-dark .of-head-sec .sp-lead,.offer-dark .of-head-sec .of-contact{color:rgba(255,255,255,.72)}
.offer-dark .of-head-sec .inl{color:#f5f5f7}
/* wide screens (>=1800px): the whole site at 115 %, the size of one Safari zoom step (cmd +), chosen by the user;
   the content block (1440px x 1.15) stays centred by the common frame below. Very large 1:1 displays (>=3000px) get 140 %.
   --z keeps vh-based heights at their real screen size (render.py converts every Nvh to calc(Nvh / var(--z))). */
html{--z:1}
@media (min-width: 1800px){html{zoom:1.15;--z:1.15}}
@media (min-width: 3000px){html{zoom:1.4;--z:1.4}}
/* document pages (Regulation, FAQ): centred by the common wide-screen frame below (a separate max-width here stacked with the frame and squeezed the text) */
.cards .pcard{min-height:0;aspect-ratio:37/34}   /* solution cards keep their near-square shape at every width (no cropped building tops on wide screens) */
/* split sections (photo/drawing left, text right): the media column is exactly as wide as the capped media box (--mw), so
   the picture's left edge sits on the page's left margin and the text follows at the normal gap, close to the picture */
@media (min-width: 1001px){
  .split{--mw:calc(min(680px,calc(78vh / var(--z))) * 11 / 14);gap:clamp(40px,4.5vw,96px);grid-template-columns:min(41.6%, var(--mw)) minmax(0,1fr)}
  .split > .split-media{justify-self:start;width:100%}
  .split-top{align-items:start}   /* text starts level with the top of the picture (Careers) */
}
.apply-inline{margin-top:clamp(40px,4vw,56px)}
.apply-inline h3{margin:0 0 24px}   /* Careers: application box below the 'Four areas' list (cta-card style) */
.faq .legal-toc ol{border-top:0;margin-top:14px}   /* FAQ: the search underline is the only rule above the topics */
/* people and press: content block at most 1440px wide on large screens, backgrounds stay edge to edge */
.page-narrow main > section{padding-left:max(clamp(24px,4vw,64px), calc((100% - 1440px) / 2));padding-right:max(clamp(24px,4vw,64px), calc((100% - 1440px) / 2))}
/* wide screens: one common side margin for every section on every page (content block max 1440px, centred), as in the
   Securitization vehicle section. Backgrounds, photos and colour bands still run edge to edge (they belong to the section
   box, not its padding); full-width figures excluded. Standard rule for every page, Current offerings included. */
@media (min-width: 1800px){
  main > :not(.cta-band):not(figure){padding-left:calc((100% - 1440px) / 2) !important;padding-right:calc((100% - 1440px) / 2) !important}
  /* navbar, dropdown/search panels, footer and 'Ready to start' bands follow the same frame (all pages) */
  .top .in,.mega-in,.search-in{padding-left:calc((100% - 1440px) / 2);padding-right:calc((100% - 1440px) / 2)}
  footer .frow{padding-left:calc((100% - 1440px) / 2);padding-right:calc((100% - 1440px) / 2)}
  footer .fl{padding-left:0}
  footer .fr{padding-right:0}
  main > .cta-band{padding-left:calc((100% - 1440px) / 2) !important;padding-right:calc((100% - 1440px) / 2) !important}
  .cta-band.sky{--tipr:calc((100% - 1440px) / 2)}
}

/* ================= mobile: compact layout for every page (user request 03.10.2026) =================
   Placed last so it wins over the earlier responsive rules. Tablet (<=1000px) keeps figure rows and image tiles in one
   row; phones (<=600px) get tighter spacing, smaller type and multi-column grids instead of long single-column lists. */
@media (max-width: 1000px){
  /* headline figures: always one row */
  .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stats.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats > div,.stats > div + div,.stats > div:nth-child(3),.stats > div:nth-child(n+3){margin-top:0;border-top:0}
  .stats > div{padding:22px 14px 4px 0}
  .stats > div + div,.stats > div:nth-child(3){padding-left:14px;border-left:1px solid var(--line)}
  .stats b{font-size:clamp(20px,4.4vw,36px);letter-spacing:-.02em}
  .stats span{margin-top:8px;font-size:clamp(11px,1.7vw,13px);line-height:1.45}
  /* image tiles: three per row (four-item sets two per row) */
  .ind{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ind.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xcards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .face-strip{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width: 600px){
  /* sections and headings */
  .sp-sec{padding:44px 20px}
  .sec-h,.roof h2,.sp-sec .sec-h{font-size:28px;margin:10px 0 14px}
  .sp-lead{font-size:15px;line-height:1.6}
  p.big{font-size:19px;line-height:1.35}
  .page-head{padding:calc(var(--nav) + 30px) 20px 26px}
  .page-head h1{font-size:34px;margin:14px 0 12px}
  .reg-facts{margin-top:22px}
  .reg-facts dd{font-size:18px}
  /* service-page heroes and closing bands */
  .sp-hero-in{padding-top:calc(var(--nav) + 30px);padding-bottom:270px}
  .sp-hero .bg,.sp-hero.wide .bg{height:260px}
  .sp-hero.tall .sp-hero-in{padding-bottom:300px}
  .sp-hero.tall .bg{height:290px}
  .sp-hero .btn{margin-top:22px}
  .cta-band{padding:34px 20px;gap:16px}
  /* figure rows */
  .stats{margin-top:24px}
  .stats > div{padding:16px 8px 2px 0}
  .stats > div + div,.stats > div:nth-child(3){padding-left:8px}
  /* image tiles */
  .ind{gap:18px 10px;margin-top:24px}
  .ind figure{aspect-ratio:3/4}
  .ind.cols4 figure{aspect-ratio:4/3}
  .ind h3{font-size:15px;margin:10px 0 4px}
  .ind p{font-size:12.5px;line-height:1.5}
  /* text grids: two columns instead of a long list */
  .sp-grid3,.sp-grid3.cols4{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:24px}
  .sp-grid3 > div{padding:14px 0 16px}
  .sp-grid3 h3{font-size:15px;margin-bottom:6px}
  .sp-grid3 p{font-size:12.5px;line-height:1.5}
  .instr{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
  .instr > div{padding-top:12px}
  .instr h3{font-size:14px}
  .instr p{font-size:12px;line-height:1.5}
  .process{gap:18px;margin-top:24px}
  .process > div{padding-bottom:0}
  .process h3{font-size:20px;margin-bottom:6px}
  .process p{font-size:14px;line-height:1.55}
  .sp-rows{margin-top:24px}
  .sp-rows > div{padding:16px 0;gap:6px}
  .sp-rows h3{font-size:17px}
  .sp-rows p{font-size:14px;line-height:1.6}
  .split{gap:22px}
  .split-media{aspect-ratio:16/10}
  .wrap-anim{max-height:260px}
  /* image cards */
  .roof .intro{padding:44px 20px}
  .roof .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:20px}
  .pcard{padding:16px}
  .pcard h3{font-size:19px}
  .pcard p{font-size:11.5px;line-height:1.4;margin-top:4px}
  .cards .pcard{aspect-ratio:3/4}
  .practice,.practice.cols3{gap:10px;margin-top:24px}
  .practice .pcard{min-height:190px}
  .intro-grid{gap:24px}
  .cta-card{padding:22px}
  .cta-card p{margin-bottom:18px}
  .xcards{gap:8px;margin-top:24px}
  .xcard{padding:12px 10px 10px}
  .xcard-logo{height:44px;margin-bottom:10px}
  .xcard-logo img{max-height:44px}
  .xcard-name{padding-top:8px;font-size:12.5px}
  /* team and press kit */
  .people{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px;margin-top:20px}
  .person h3{font-size:14px;margin:8px 0 2px;line-height:1.3}
  .person .role{font-size:11.5px;line-height:1.4}
  .person details{margin-top:6px}
  .person summary{font-size:10px;padding:7px 0}
  .person details p{font-size:12.5px}
  .kit-grid{gap:20px 12px;margin-top:24px}
  .kit-card figure{aspect-ratio:1}
  .kit-card h3{font-size:15px;margin-top:10px}
  .kit-role{font-size:12px}
  .kit-card li a{font-size:12.5px;padding:7px 0}
  /* Invest: current offerings two per row, facts stacked (label over value); past offerings table tighter */
  .of-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .of-card a{padding:0 0 14px}
  .of-img{aspect-ratio:4/3;margin-bottom:10px}
  .of-card .of-tags,.of-card h3,.of-card .of-head,.of-card dl,.of-foot{margin-left:12px;margin-right:12px}
  .of-card .of-tags{font-size:9.5px;letter-spacing:.08em;line-height:1.4}
  .of-card h3{font-size:15px;margin-top:6px;line-height:1.25}
  .of-card .of-head{flex-direction:column;align-items:flex-start;gap:2px;margin-top:10px;padding:8px 0}
  .of-card .of-head span{font-size:10px}
  .of-card .of-head b{font-size:17px}
  .of-card dl div{display:block;padding:5px 0}
  .of-card dt{font-size:10.5px;line-height:1.35}
  .of-card dd{text-align:left;font-size:12.5px;line-height:1.35}
  .of-foot{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px}
  .of-for,.of-more{font-size:10.5px}
  .of-past-tbl table{font-size:12.5px}
  .of-past-tbl th,.of-past-tbl td{padding:8px 12px 8px 0}
  /* offer pages: key figures in one row, tighter text */
  .of-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .of-strip div,.of-strip div + div{padding:12px 8px 0 0;border-top:0}
  .of-strip div + div{padding-left:8px;border-left:1px solid var(--line)}
  .of-strip dt{font-size:9.5px;letter-spacing:.08em}
  .of-strip dd{font-size:16px}
  .of-lead{font-size:16.5px!important}
  /* newsroom */
  .nr-bar{padding:12px 0;gap:10px}
  .nr-f{padding:7px 10px;font-size:11px}
  .nr-year{padding-top:24px;gap:8px}
  .nr-year h2{font-size:24px;padding-top:0}
  .nr-row{padding:12px 0;gap:3px 12px}
  .nr-title{font-size:15px;line-height:1.4}
  .nr-more p{font-size:14.5px;line-height:1.6}
  /* documents: Regulation, FAQ, offer pages, articles */
  .legal-body section{padding-bottom:32px;margin-bottom:32px}
  .legal-body h2{font-size:23px;margin:8px 0 14px}
  .legal-body p{font-size:15px;line-height:1.65}
  .legal-toc a{padding:8px 0;font-size:13px}
  .faq-group{padding-bottom:28px}
  .faq-group h2{font-size:22px;margin-bottom:12px}
  .faq-item summary{padding:13px 0;gap:14px;font-size:15.5px}
  .faq-a p,.faq-a li{font-size:14.5px;line-height:1.65}
  .art{padding:calc(var(--nav) + 28px) 20px 48px}
  .art-head h1{font-size:28px}
  /* wallet card */
  .wc-hero{padding:calc(var(--nav) + 30px) 20px 36px;gap:20px}
  .wc-hero h1{font-size:32px}
  .wc-stage{width:72%;margin-top:6px}
  /* contact details */
  .contact-list > div{padding:14px 0}
  /* footer */
  footer .fl,footer .fr{padding-top:26px;padding-bottom:26px}
  .f-news .flogo svg{height:72px}
  .nl{gap:8px}
  .nl #nl-email,.nl select{grid-column:auto}
  .nl input,.nl select,.nl button{height:44px;font-size:13px}
  .f-links .addr-in{width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
  .f-links .addr-in p:nth-child(1){grid-column:1;grid-row:1}
  .f-links .addr-in p:nth-child(2){grid-column:1;grid-row:2}   /* the two company addresses above each other */
  .f-links .addr-in p:nth-child(3){grid-column:2;grid-row:1}
  .f-links .addr-in p:nth-child(4){grid-column:2;grid-row:2;align-self:start}   /* BaFin-ID / Bak Nr. and email on the right */
  .f-links .addr{font-size:12px;line-height:1.55}
  .f-links .addr p + p{margin-top:0}
  .fnav{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px}
  .fgrp + .fgrp{margin-top:18px}
  .fgrp h4{font-size:12px;padding-bottom:7px;margin-bottom:8px}
  .fgrp li{font-size:12px;margin-bottom:6px}
  .f-legal .fl,.f-legal .fr{padding-top:14px;padding-bottom:14px}
}

/* mobile audit fixes (03.10.2026) */
.art-body,.legal-body,.faq-a,.nr-more{overflow-wrap:anywhere}   /* long source URLs wrap instead of widening the page */
@media (max-width: 1000px){.burger{min-height:44px;padding:0 2px}}   /* comfortable tap target for the menu button */
@media (max-width: 600px){
  .of-card .of-tags,.of-card .of-head span,.of-strip dt{font-size:10.5px}
  .person summary{font-size:10.5px}
  .wc-hero h1 small{font-size:11px}
}
@media (max-width: 1000px){a.back,.entities .more{display:inline-flex;align-items:center;min-height:40px}}
@media (max-width: 1000px){.split{grid-template-columns:minmax(0,1fr)}}   /* content can never widen the single column */
.apply-inline .btn{text-transform:none;letter-spacing:.01em}   /* email address written as an address, fits narrow phones */


/* advisory pages: the two other practices as wide, low cards above the Ready-to-start band */
.sp-sec.adv-more{padding-top:clamp(40px,4vw,64px);padding-bottom:clamp(40px,4vw,64px)}
.practice.more{margin-top:0}
.practice.more .pcard{min-height:clamp(180px,14vw,230px)}
@media (max-width: 600px){.practice.more .pcard{min-height:150px}}

/* contact page: compact enquiry card below the page title */
.page-head.ph-split{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;column-gap:clamp(40px,6vw,120px)}   /* same columns as .enq below: the card is as wide as the contact box */
.page-head.ph-split .crumbs,.page-head.ph-split h1{grid-column:1 / -1}
.page-head.ph-split h1{margin-bottom:0}
.enq-mini{grid-column:1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:clamp(24px,2.4vw,36px);padding:16px 16px 16px 22px}
.enq-mini h3{margin:4px 0 0;font-size:18px}
.enq-mini .btn{width:auto;height:44px;gap:14px}
@media (max-width: 1000px){.page-head.ph-split{grid-template-columns:minmax(0,1fr)}}
@media (max-width: 400px){.enq-mini{flex-direction:column;align-items:stretch;gap:14px}.enq-mini .btn{justify-content:space-between}}

/* enquiry page: contact card of the chosen topic (replaces "How it works"); the label lines up with the form's
   "Your enquiry" legend and the grey box with the first form field */
.enq-aside .ec-label{max-width:none;font-size:12px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 40.8px}   /* level with the legend; 40.8px = legend gap 14 + Topic label 20.8 + 6, so the box starts level with the Topic input */
.enq-contact{background:var(--cream);padding:22px}
.enq-aside .ec-block > p{margin:0 0 18px;max-width:none;font-size:14.5px;line-height:1.6;color:var(--muted)}
.ec-person{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-top:1px solid var(--line)}
.ec-block > .ec-person:first-child{padding-top:0;border-top:0}
.ec-person:last-child{padding-bottom:0}
.ec-person img,.ec-ini{flex:none;width:112px;height:140px;object-fit:cover;object-position:50% 25%}   /* 4:5 portraits */
.ec-ini{display:grid;place-items:center;background:#e6e6e3;font-size:18px;letter-spacing:.06em;color:var(--muted)}
.enq-aside .ec-name{margin:2px 0 0;max-width:none;font-size:17px;line-height:1.3;color:var(--ink)}
.ec-role{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.ec-person a{display:inline-block;margin-top:8px;font-size:14px;color:var(--ink);border-bottom:1px solid currentColor;overflow-wrap:anywhere}
@media (max-width: 1000px){.enq-aside .ec-label{margin-bottom:14px}}
@media (max-width: 400px){.enq-contact{padding:18px}.ec-person{gap:16px}.ec-person img,.ec-ini{width:92px;height:115px}.ec-person a{font-size:13px}}

/* tied agent: "How it works" as a dark band, each point under a large title */
.lead-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,88px);margin-top:clamp(36px,4vw,56px)}
.lead-grid > div{padding:26px 0 34px;border-top:1px solid rgba(255,255,255,.22)}
.lead-grid h3{font-size:clamp(26px,2.5vw,38px);font-weight:300;line-height:1.15;letter-spacing:-.015em;color:#fff;max-width:16em}
.lead-grid p{margin-top:16px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.62);max-width:34em}
@media (max-width: 760px){.lead-grid{grid-template-columns:minmax(0,1fr)}.lead-grid > div{padding:20px 0 26px}}
/* tied agent: plug-and-play on white; the plug slides into the socket as the section scrolls into view (scripts.html) */
.plug-sec{background:#fff}
.plug{display:block;width:100%;height:auto;margin:clamp(28px,3.4vw,48px) 0 clamp(8px,1vw,16px);overflow:visible}
.plug line{stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke}
.plug rect,.plug circle{fill:#fff;stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke}
.plug .plug-head rect:not(.prong){fill:var(--ink)}
.plug .prong{fill:#fff}
.plug .plug-led{transition:fill .3s ease,stroke .3s ease,filter .3s ease}
.plug.on .plug-led{fill:#22c55e;stroke:#16a34a;filter:drop-shadow(0 0 10px rgba(34,197,94,.9))}   /* green 'connected' light: approved colour exception (user request 04.10.2026) */
@media (max-width: 600px){.plug{margin-top:22px}}
.sp-exec .big a.inl{text-decoration-thickness:1px;text-underline-offset:.14em;transition:opacity .2s}.sp-exec .big a.inl:hover{opacity:.6}

/* listings, Why Europe: heading and an index stay pinned on the left while the three points scroll past on the right;
   the index marks the point currently in view (scripts.html) */
.ss{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:clamp(32px,6vw,120px);align-items:start}
.ss-head{position:sticky;top:calc(var(--nav) + 48px)}
.ss-index{list-style:none;margin-top:clamp(28px,3vw,44px);border-top:1px solid var(--line)}
.ss-index li{border-bottom:1px solid var(--line)}
.ss-index a{position:relative;display:block;padding:12px 0 12px 22px;font-size:14px;line-height:1.4;color:var(--muted);transition:color .25s}
.ss-index a::before{content:"";position:absolute;left:0;top:50%;width:10px;height:1px;background:currentColor;transition:width .25s}
.ss-index a:hover,.ss-index a.on{color:var(--ink)}
.ss-index a.on::before{width:14px;height:2px;margin-top:-.5px}
.ss-items article{padding:clamp(28px,3vw,44px) 0 clamp(40px,5vw,72px);border-top:1px solid var(--ink);scroll-margin-top:calc(var(--nav) + 24px)}
.ss-items article:first-child{padding-top:0;border-top:0}
.ss-items h3{font-size:clamp(28px,2.8vw,42px);font-weight:300;line-height:1.12;letter-spacing:-.02em;max-width:14em}
.ss-items h3 + div{margin-top:clamp(18px,2vw,28px)}
.ss-items p{font-size:16px;line-height:1.75;color:#333;max-width:40em}
.ss-items p + p{margin-top:14px}
@media (max-width: 1000px){.ss{grid-template-columns:minmax(0,1fr);gap:28px}.ss-head{position:static}.ss-index{display:none}
  .ss-items article:first-child{padding-top:0}.ss-items p{font-size:15px;line-height:1.65}}


/* ===== Who we are: an editorial page, unlike the solution pages ===== */
/* hero: belief statement left (vertically centred), tall photo bleeding to the right edge; a dot block assembles above the title */
.wa-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:calc(100vh / var(--z));max-height:1100px;background:#fff}
main > section.wa-hero{padding-right:0 !important}
.wa-hero-text{position:relative;display:grid;grid-template-rows:auto 1fr;padding:calc(var(--nav) + 28px) clamp(32px,5vw,96px) clamp(40px,calc(6vh / var(--z)),80px) clamp(24px,4vw,64px)}
@media (min-width: 1800px){.wa-hero-text{padding-left:0}}
.wa-hero-text .crumbs{justify-content:flex-start}
.wa-hero-copy{align-self:center;padding-top:clamp(48px,calc(8vh / var(--z)),96px);margin-bottom:clamp(56px,calc(11vh / var(--z)),120px)}
.wa-hero-text > :not(canvas){position:relative;z-index:1}
.wa-hero-copy > *{animation:wa-rise .9s cubic-bezier(.2,.7,.2,1) both}
.wa-hero-copy > :nth-child(2){animation-delay:.08s}.wa-hero-copy > :nth-child(3){animation-delay:.16s}.wa-hero-copy > :nth-child(4){animation-delay:.26s}
@keyframes wa-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.wa-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.wa-eyebrow{font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.wa-belief{margin-top:clamp(16px,calc(2vh / var(--z)),24px);font-size:clamp(44px,5vw,86px);font-weight:300;line-height:1;letter-spacing:-.035em;color:var(--ink)}
.wa-belief-p{margin-top:clamp(24px,calc(3.4vh / var(--z)),40px);max-width:31em;font-size:clamp(17px,1.35vw,20px);font-weight:300;line-height:1.6;color:#333}
.wa-hero-img{position:relative;margin:0;overflow:hidden;background:#a9d6dc}
.wa-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;animation:wa-settle 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes wa-settle{from{transform:scale(1.06)}to{transform:none}}
@media (prefers-reduced-motion: reduce){.wa-hero-img img,.wa-hero-copy > *{animation:none}}
@media (max-width: 1000px){.wa-hero{grid-template-columns:minmax(0,1fr);min-height:0;max-height:none}
  .wa-hero-img{order:-1;height:min(78vw,560px);margin-top:var(--nav)}
  .wa-hero-text{padding:28px clamp(20px,4vw,48px) 56px}.wa-hero-copy{padding-top:28px}.wa-grid{display:none}}
/* our record: one paragraph, years in black */
.rec{margin-top:clamp(20px,2.4vw,32px);max-width:30em;font-size:clamp(24px,2.5vw,38px);font-weight:300;line-height:1.38;letter-spacing:-.015em;color:#8c8c8c}
.rec b{font-weight:400;color:var(--ink)}
.rec-more{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(28px,3vw,40px);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:3px}
.rec-more svg{width:14px;height:14px}
.rec-more:hover{opacity:.6}
@media (max-width: 600px){.rec{font-size:22px}}
/* structure: one asset, structured, tokenized and distributed. Pinned on desktop; scroll drives the animation (scripts.html) */
.ani{position:relative}
.ani::after{content:"";display:block;height:calc(110vh / var(--z))}   /* scroll distance while pinned; the stage itself is only as tall as its content */
.ani-stick{position:sticky;top:calc(var(--nav) + clamp(24px,calc(5vh / var(--z)),56px));display:flex;flex-direction:column;gap:clamp(20px,calc(3vh / var(--z)),36px);
  height:calc(calc(100vh / var(--z)) - var(--nav) - 2 * clamp(24px,calc(5vh / var(--z)),56px));min-height:520px;max-height:900px}   /* fills the screen while pinned: same space below the legal line as above the title */
.ani-cv{display:block;width:100%;height:clamp(300px,calc(46vh / var(--z)),440px)}
@media (max-width: 760px){.ani::after{display:none}.ani-stick{position:static;gap:28px;height:auto;min-height:0}}
@media (prefers-reduced-motion: reduce){.ani::after{display:none}.ani-stick{position:static;height:auto;min-height:0}.ani-cvw{flex:none;height:clamp(260px,calc(32vh / var(--z)),340px)}}
.ent-note{margin-top:calc(-1 * clamp(20px,calc(3vh / var(--z)),36px) + 14px);font-size:13px;line-height:1.6;color:var(--muted)}
/* where we are: dotted world map (Robinson projection) in the hero's dot language, regions labelled */
.wa-map .sec-h{max-width:none}
.dm{position:relative;max-width:1180px;margin:clamp(40px,5vw,72px) auto 0}
.dm-svg{display:block;width:100%;height:auto}
.dm-land{fill:none;stroke:#d3d3cf;stroke-width:2.6;stroke-linecap:round}
.dm-lead path{fill:none;stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.mk{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ink)}
.mk-l{position:absolute;transform:translate(0,-50%);font-size:12.5px;line-height:1;white-space:nowrap;color:var(--ink);text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff}
.mk-l.r{transform:translate(-100%,-50%)}
.dm-cap{max-width:1180px;margin:20px auto 0;font-size:13px;color:var(--muted)}
.dm-list{display:none}
@media (max-width: 760px){.mk{width:5px;height:5px;margin:-2.5px 0 0 -2.5px}.dm-lead,.mk-l{display:none}.dm-list{display:block}}
.wa-team-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,420px);gap:clamp(40px,6vw,96px);align-items:stretch;margin-top:clamp(32px,4vw,56px)}
.wa-faces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.wa-faces img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.wa-team-firms{display:flex;flex-direction:column}
.wa-team-firms .label{display:block;margin-bottom:14px}
.wa-team-firms .firms{flex:1;grid-auto-rows:1fr}
.wa-team-btn{margin-top:clamp(28px,3vw,40px)}
.firms{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.firms li{display:flex;align-items:center;justify-content:center;min-height:clamp(64px,5vw,84px);padding:12px;border-bottom:1px solid var(--line);text-align:center}
.firms li:nth-child(2n+1){border-right:1px solid var(--line)}
.firms img{display:block;max-width:min(130px,72%);max-height:34px;width:auto;height:auto;filter:brightness(0);opacity:.55;transition:opacity .3s}
.firms li:hover img{opacity:.9}
.firms img.grey{filter:grayscale(1);opacity:.5;max-height:46px}
.firms img.ec{max-width:min(150px,84%);max-height:40px;opacity:.75}
.firms img.wide{max-width:min(160px,86%);opacity:.7}   /* boxed logo (white letters on a square): greyscale, not a silhouette */
@media (max-width: 1000px){.wa-team-grid{grid-template-columns:1fr}}
/* structure plate: the drawing sits on a light grey plate; five numbered station cells along its foot */
.ani-plate{background:#0b0b0b;--line:rgba(255,255,255,.18);--ink:#fff;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;max-height:700px}
.ani-cvw{position:relative;flex:1 1 auto;min-height:220px}   /* the drawing takes all the plate height left above the station strip */
.ani-cvw .ani-cv{position:absolute;inset:0;width:100%;height:100%}
.ani-st{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.ani-st li{position:relative;padding:16px clamp(10px,1.6vw,22px) 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-align:center;transition:opacity .2s linear}
.ani-st li + li::before{content:"";position:absolute;left:0;top:-28px;bottom:0;border-left:1px solid var(--line)}
@media (max-width: 760px){.ani-cvw{flex:none;height:220px}.ani-st li{padding:12px 4px 14px;font-size:9px;letter-spacing:.08em;line-height:1.35}.ani-st li + li::before{top:-16px}}
/* Where we are on black: white dots and names, land as dark grey dots */
.wa-map{background:#0b0b0b;color:#fff;border-top:0;--ink:#fff;--line:rgba(255,255,255,.14);--muted:rgba(255,255,255,.6)}
.wa-map .dm-land{stroke:#6e6e6e;stroke-width:3}
.wa-map .mk{width:8px;height:8px;margin:-4px 0 0 -4px;box-shadow:0 0 0 3px #0b0b0b}
.wa-map .mk-l{text-shadow:0 0 3px #0b0b0b,0 0 3px #0b0b0b,0 0 3px #0b0b0b}
/* Regulatory information: no numbering in the contents or the sections; headings carry the structure by weight */
.reg-doc .legal-toc a::before{content:none}
.reg-doc .legal-body h2{margin-top:0;font-weight:500}
.reg-doc .legal-body h3{font-weight:700}
/* structure animation: replay button, phones only; appears once a run has finished */
.ani-replay{display:none}
@media (max-width: 760px){
  .ani-replay{display:flex;align-items:center;justify-content:center;position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(11,11,11,.45);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s ease,color .2s}
  .ani-replay.on{opacity:1;pointer-events:auto}
  .ani-replay:active{color:var(--ink)}
  .ani-replay svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
}
/* offer pages: team portraits (from the current site) beside each profile, round, in colour */
.of-person.has-photo{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:start}
.op-photo{display:block;width:88px;height:88px;border-radius:50%;object-fit:cover;background:#f4f4f2}
@media (max-width: 760px){.of-person.has-photo{grid-template-columns:64px minmax(0,1fr);gap:14px}.op-photo{width:64px;height:64px}}
/* offer pages: content images from the current site (charts, plans, project photos, partner logos) */
.of-fig{margin:24px 0 8px}
.of-fig img{display:block;width:100%;height:auto}
.of-fig.narrow img{width:auto;max-width:min(100%,360px)}
.of-fig.logos img{max-width:min(100%,560px)}
.of-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:24px 0 8px}
.of-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.of-gallery img:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.of-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px;max-width:60em}
.of-logos img{display:block;width:100%;height:auto;filter:grayscale(1);opacity:.8;transition:filter .3s,opacity .3s;mix-blend-mode:multiply}   /* partner logos: colour on hover */
.of-logos img:hover{filter:none;opacity:1}
@media (max-width: 600px){.of-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Current offerings: BMCP Markets banner below Past offerings, in the style of an offer page header (dark block,
   tags, title, three key figures, photo on the right) */
.mk-band{background:#161617;--ink:#f5f5f7;--line:rgba(255,255,255,.12);--muted:rgba(255,255,255,.55);color:var(--ink);border-top:0}
.mk-band .of-tags{margin-top:0}
.mk-band .mk-title{margin:12px 0 18px;font-weight:300;font-size:clamp(40px,4.4vw,68px);line-height:1.02;letter-spacing:-.025em;color:#f5f5f7}
.mk-band .sp-lead{color:rgba(255,255,255,.72)}
.mk-band .of-strip{border-top-color:rgba(255,255,255,.2)}
.mk-band .of-strip dd{font-variant-numeric:tabular-nums lining-nums}
.mk-band .mk-btn{margin-top:clamp(28px,3vw,36px);background:#fff;color:#0b0b0b}
.mk-band .mk-btn:hover{background:#e6e6e6}
.mk-band .of-contact{color:rgba(255,255,255,.55);font-size:13px}
@media (max-width: 760px){.mk-band .mk-title{font-size:32px}}
/* Contact us: the contact box beside the form stays in place (no sticky scrolling, no reveal) */
.enq.contact .enq-aside{position:static}
/* navbar labels never wrap ("About us" / "Contact us" broke onto two lines around 1000-1040px and pushed "More" off centre) */
.nav-btn,.nav-link{white-space:nowrap}
/* "More" dropdown: links run top to bottom, then left to right (two columns of three) */
#m-more .mega-links{grid-auto-flow:column;grid-template-rows:repeat(3,auto)}
/* Group structure: three columns (entity, address, commercial register) */
@media (min-width: 1001px){.reg-grid.rg-3 > div{grid-template-columns:1fr 1.2fr 1.6fr}}
/* footer bottom row: contact e-mail first, at the left of the legal links column */
.f-legal .f-mail{margin-right:auto;color:var(--ink)}
@media (max-width: 760px){.f-legal .f-mail{flex-basis:100%;margin-right:0}}
/* Imprint and Privacy Policy (sober legal documents, same frame as Regulatory information): lists with small circles */
.doc-legal .legal-body ul{list-style:none;margin:14px 0 18px;padding:0}
.doc-legal .legal-body li{position:relative;padding-left:20px;font-size:16px;line-height:1.7;color:#333}
.doc-legal .legal-body li + li{margin-top:8px}
.doc-legal .legal-body li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border:1px solid var(--ink);border-radius:50%}
.doc-legal .legal-body p a.inl{word-break:break-word}
.doc-legal .reg-table{margin-top:20px}
/* footer: wider left column (companies 2 x 2, each name on one line); the right side (newsletter, links) is shorter */
.f-links .addr b{white-space:nowrap}
/* newsletter form: heading, Email and Subscribe on one line; first name, last name and country below
   (first name / last name under Email, country under Subscribe) */
.nl{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:0}
.nl h3{grid-column:1;margin:0 clamp(16px,2.4vw,40px) 0 0;white-space:nowrap}
.nl #nl-email{grid-column:2}
.nl button{grid-column:3;justify-self:end;width:150px;padding:0 16px;gap:14px}   /* same width as the country field below it */
.nl-more{grid-column:2 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px;gap:10px;margin-top:10px}   /* always shown */
.nl-more select{grid-column:auto}
@media (min-width: 761px) and (max-width: 1279px){   /* heading above; Email + Subscribe; extra fields below */
  .nl{grid-template-columns:minmax(0,1fr) auto}
  .nl h3{grid-column:1 / -1;margin:0 0 12px}
  .nl #nl-email{grid-column:1}.nl button{grid-column:2}
  .nl-more{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px}}
@media (max-width: 760px){   /* phones */
  .nl{grid-template-columns:minmax(0,1fr) auto}
  .nl h3{grid-column:1 / -1;margin:0 0 10px}
  .nl #nl-email{grid-column:1}.nl button{grid-column:2}
  .nl-more{grid-column:1 / -1;grid-template-columns:1fr 1fr}
  .nl-more select{grid-column:1 / -1}
  .nl-more{margin-top:8px}}
/* black plate: replay button in white */
.ani-plate .ani-replay{color:rgba(255,255,255,.6)}
/* Advisory: practice cards in a white section directly below the photo hero (no hairline, less top padding) */
.adv-cards-plain{border-top:0;padding-top:clamp(40px,4vw,64px)}
.adv-cards-plain .practice{margin-top:0}

/* keyboard focus on the search fields (WCAG 2.4.7, BMCP Guidelines 5.2): their outline is off, so the underline doubles instead (no layout shift) */
.nr-search input:focus-visible,.faq-search input:focus-visible{box-shadow:0 1px 0 var(--ink)}
.sr-form:focus-within{box-shadow:0 1px 0 var(--ink)}
.search-panel input:focus-visible{box-shadow:0 2px 0 rgba(245,245,247,.7)}

/* risk warning next to the yield claims (BMCP Guidelines 4.1): as large as the text it qualifies and never lighter or fainter */
.of-risk{margin-top:14px;max-width:36em;font-size:clamp(16px,1.25vw,18px);line-height:1.6;font-weight:500}
.offer-dark .of-head-sec .of-risk,.of-dark .page-head .of-risk{color:#f5f5f7}
.kf-risk{margin-top:16px;font-size:13.5px;line-height:1.5;font-weight:500;color:var(--ink)}

