/* RBD Investments: one dark design system, in the family of the Remarkable by Design agency site.
   Tokens -> base -> chrome -> components -> pages -> motion. Content is visible by default; motion only enhances. */
@font-face{font-family:'Michroma';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/michroma-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-wght-normal.woff2) format('woff2')}

:root{
  --bg:#F4F6FB;--bg2:#EAEFF8;
  --text:#0E1320;--text2:#4A5568;--text3:#232A38;
  --blue:#2B5FEA;--blue2:#2B5FEA;--lilac:#7B6CF0;
  --line:rgba(14,19,32,.1);--line2:rgba(43,95,234,.32);
  --panel:rgba(255,255,255,.72);--panel2:#fff;
  --amber:#7A4700;
  --display:'Michroma','Eurostile','Arial',sans-serif;--body:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ease:cubic-bezier(.22,.7,.2,1);
  --g:max(clamp(16px,4vw,40px),env(safe-area-inset-left,0px));
  --hh:72px;--sp:92px;
  color-scheme:light;box-sizing:border-box;
  interpolate-size:allow-keywords;
}
*,*::before,*::after{box-sizing:inherit}
html{background:var(--bg);scroll-padding-top:var(--sp);-webkit-text-size-adjust:100%}
html:has(nav.secnav){--sp:148px}
@media(max-width:1199px){html:has(nav.secnav){--sp:92px}}
body{margin:0;background:transparent;color:var(--text2);font-family:var(--body);font-size:17px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
/* atmosphere: slow drifting light, then static grain on top, both behind all content */
body::before{content:"";position:fixed;inset:-12%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 52% 42% at 14% 4%,rgba(43,95,234,.17),transparent 70%),radial-gradient(ellipse 40% 34% at 92% 14%,rgba(123,108,240,.11),transparent 70%),radial-gradient(ellipse 46% 38% at 78% 92%,rgba(43,95,234,.08),transparent 70%);}
html::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
canvas.fx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
img{max-width:100%}[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
p{margin:0}
.w{width:min(1180px,calc(100% - 2*var(--g)));margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:60;padding:10px 18px;border-radius:999px;background:#fff;color:#000;font-weight:600;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
::selection{background:rgba(43,95,234,.25)}

/* type */
h1,h2,h3,h4{margin:0;color:var(--text);font-weight:600}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:.005em;text-wrap:balance}
h1{font-size:clamp(28px,4.3vw,56px);line-height:1.14}
h2{font-size:clamp(22px,2.7vw,34px);line-height:1.22}
h3{font-size:clamp(18px,1.7vw,21px);line-height:1.3;letter-spacing:-.005em}
h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:22px 0 8px}
h4:first-child{margin-top:0}
.lead{font-size:clamp(17px,1.5vw,19.5px);line-height:1.6;color:var(--text3);max-width:60ch}
p+p{margin-top:12px}
strong,b{color:var(--text);font-weight:600}
.eyebrow{display:flex;align-items:center;gap:12px;font:600 12px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(43,95,234,.12)}
.eyebrow::after{content:"";flex:0 1 44px;height:1px;background:linear-gradient(90deg,rgba(43,95,234,.55),transparent)}
.num{font-family:var(--display);font-size:12px;letter-spacing:.14em;color:var(--blue)}

/* chrome */
header{position:sticky;top:0;z-index:30;height:var(--hh);display:flex;align-items:center;background:linear-gradient(180deg,rgba(244,246,251,.95),rgba(244,246,251,.8));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(14,19,32,.08)}
header .w{display:flex;justify-content:space-between;align-items:center}
#prog{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--blue2),var(--lilac));opacity:.85}
.logo{display:inline-flex;align-items:center;gap:16px;position:relative;z-index:31}
.logo .mk{font-family:var(--display);font-weight:400;font-size:30px;line-height:30px;letter-spacing:1.8px;color:var(--text)}
.logo .rl{width:1px;height:26px;background:rgba(14,19,32,.3)}
.logo .nm{font-family:var(--display);font-weight:400;font-size:10.5px;line-height:15.75px;letter-spacing:2.52px;text-transform:uppercase;color:var(--text2)}
.burger{position:relative;z-index:31;width:46px;height:46px;border-radius:50%;border:1px solid rgba(14,19,32,.25);background:rgba(255,255,255,.6);cursor:pointer;display:grid;place-content:center;gap:5px;transition:border-color .2s var(--ease),background .2s var(--ease)}
.burger:hover{border-color:rgba(43,95,234,.7);background:rgba(43,95,234,.08)}
.burger i{display:block;width:18px;height:1.5px;background:var(--text);border-radius:2px;transition:transform .2s var(--ease),opacity .15s}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:25;overflow-y:auto;padding:calc(var(--hh) + 28px) 0 40px;background:#F4F6FB;visibility:hidden;opacity:0;transition:opacity .4s var(--ease),visibility 0s linear .4s}
.menu.open{visibility:visible;opacity:1;transition:opacity .4s var(--ease)}
.menu .w{display:flex;flex-direction:column}
.menu a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:clamp(14px,2.2vw,24px) 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:clamp(20px,3.6vw,40px);line-height:1.2;color:var(--text);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease),color .3s,padding-left .35s var(--ease)}
.menu.open a{opacity:1;transform:none}
.menu.open a:nth-child(1){transition-delay:.08s,.08s,0s,0s}.menu.open a:nth-child(2){transition-delay:.14s,.14s,0s,0s}.menu.open a:nth-child(3){transition-delay:.2s,.2s,0s,0s}.menu.open a:nth-child(4){transition-delay:.26s,.26s,0s,0s}.menu.open a:nth-child(5){transition-delay:.32s,.32s,0s,0s}
.menu a small{font:600 12px/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--text2);text-align:right}
.menu a:hover,.menu a[aria-current=page]{color:var(--blue)}
html.menu-open{overflow:hidden}

footer.ft{padding-block:56px 30px;border-top:1px solid var(--line);margin-top:clamp(40px,6vw,88px)}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}
.ft-brand p{margin-top:16px;font-size:15px;max-width:34ch}
.ft-h{display:block;margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.ft-map{display:flex;flex-direction:column;gap:6px}
.ft-map a{font-size:15px;color:var(--text3);width:max-content;transition:color .3s}
.ft-map a:hover{color:var(--blue)}
.ft-bot{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}
@media(max-width:760px){.ft-top{grid-template-columns:1fr;gap:28px}}

/* layout */
main{display:block}
section{padding-block:clamp(36px,5.2vw,72px)}
section+section{border-top:1px solid var(--line)}
section.hero+section{border-top:0}
.head{display:flex;flex-direction:column;gap:14px;max-width:760px;margin-bottom:clamp(22px,3vw,36px)}
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:22px;padding-block:clamp(48px,8vw,112px) clamp(32px,5vw,64px)}
.hero.sm{padding-block:clamp(36px,5.5vw,72px) clamp(10px,2vw,24px)}
.hero h1{max-width:20ch}
.hero::after{content:"";position:absolute;z-index:-1;right:-3%;top:2%;width:min(560px,56vw);aspect-ratio:640/520;background:url(net.svg) center/contain no-repeat;opacity:.5;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 35%,transparent);mask-image:radial-gradient(closest-side,#000 35%,transparent)}
.hero.sm::after{opacity:.32;width:min(420px,46vw);top:-4%}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.grid{display:grid;gap:clamp(14px,1.6vw,20px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3,.g5{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:960px){.g3,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.g2,.g3,.g5{grid-template-columns:1fr}}

/* surfaces */
.card,.glass{position:relative;border-radius:18px;background:var(--panel);border:1px solid var(--line);min-width:0}
.card::before,.glass::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(43,95,234,.45),transparent);opacity:.55;pointer-events:none}
.card{padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;gap:12px;transition:border-color .4s var(--ease),transform .4s var(--ease),background .4s var(--ease)}
.card:hover{border-color:var(--line2);background:var(--panel2);transform:translateY(-2px)}
.glass{padding:clamp(24px,4vw,52px);display:flex;flex-direction:column;gap:18px}
.glass.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px)}
@media(max-width:860px){.glass.split{grid-template-columns:1fr}}
.tag{display:inline-flex;align-self:flex-start;padding:4px 11px;border-radius:999px;font-size:12px;letter-spacing:.06em;font-weight:600;color:var(--blue);background:rgba(43,95,234,.07);border:1px solid rgba(43,95,234,.2)}
ul.b{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
ul.b li{position:relative;padding-left:20px;font-size:16px;color:var(--text2)}
ul.b li::before{content:"";position:absolute;left:2px;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.card p,.glass p{font-size:16px}
.card h3+p,.card h3+ul{margin-top:0}

/* buttons: compact pills */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid rgba(14,19,32,.25);background:rgba(255,255,255,.55);color:var(--text);font:600 14.5px/1.2 var(--body);cursor:pointer;transition:border-color .35s var(--ease),background .35s var(--ease),transform .35s var(--ease),color .3s}
.btn:hover{border-color:rgba(43,95,234,.7);background:rgba(43,95,234,.08);transform:translateY(-1px)}
.btn:not(.ghost){background:#0E1320;border-color:#0E1320;color:#fff}
.btn:not(.ghost):hover{background:var(--blue);border-color:var(--blue);color:#fff}

/* flags and qualifications: always legible */
.flag{display:inline-block;padding:7px 12px;border-radius:12px;font-size:13.5px;line-height:1.45;font-weight:500;color:var(--amber);background:rgba(255,176,32,.14);border:1px solid rgba(160,100,0,.4)}
.flag b{color:var(--amber);font-weight:700}
.flag.pend{color:#1B3FAE;background:rgba(43,95,234,.08);border-color:rgba(43,95,234,.35)}
.must{padding:12px 16px;border-radius:12px;font-size:15.5px;color:var(--text);background:rgba(255,255,255,.8);border-left:2px solid var(--blue)}

/* disclosure: contained, plus/minus, smooth where supported */
details.more{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);transition:border-color .2s var(--ease),background .2s var(--ease)}
details.more[open]{border-color:var(--line2);background:rgba(255,255,255,.85)}
details.more>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:12px 18px;cursor:pointer;font-size:15.5px;font-weight:600;color:var(--text);border-radius:14px;transition:color .3s,background .3s}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary:hover{background:rgba(43,95,234,.06);color:var(--text)}
details.more>summary:focus-visible{outline-offset:-2px}
details.more .c{display:none}details.more[open] .o{display:none}details.more[open] .c{display:inline}
details.more>summary i{position:relative;flex:none;width:22px;height:22px;border-radius:50%;border:1px solid rgba(43,95,234,.5)}
details.more>summary i::before,details.more>summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:var(--blue);transition:transform .35s var(--ease)}
details.more>summary i::after{transform:rotate(90deg)}
details.more[open]>summary i::after{transform:rotate(0)}
details.more .mc{padding:4px 18px 20px}
details.more .mc h3{font-size:17px;margin:20px 0 8px}
details.more .mc h3:first-child{margin-top:8px}
details.more .mc p,details.more .mc li{font-size:15.5px}
details.more .mc .grid{margin-top:12px}
details.more .mc .card{background:rgba(244,246,251,.7)}
.card details.more{margin-top:6px}
@supports (interpolate-size:allow-keywords){
  details.more::details-content{block-size:0;overflow:clip;transition:block-size .2s var(--ease),content-visibility .2s allow-discrete}
  details.more[open]::details-content{block-size:auto}
}

ol.run{list-style:none;counter-reset:r;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
ol.run li{counter-increment:r;padding:14px;border-radius:12px;border:1px solid var(--line);font-size:14.5px;line-height:1.45;color:var(--text2)}
ol.run li::before{content:"0" counter(r);display:block;font-family:var(--display);font-size:11px;letter-spacing:.1em;color:var(--blue);margin-bottom:6px}
ol.run li b{display:block;color:var(--text);font-size:15px;margin-bottom:3px}
@media(max-width:960px){ol.run{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){ol.run{grid-template-columns:1fr}}

/* home capability tiles: whole-tile links with arrow cue */
a.card-link{padding-bottom:58px;color:inherit}
a.card-link .num{margin-bottom:2px}
a.card-link .arr{position:absolute;right:20px;bottom:18px;width:34px;height:34px;display:grid;place-content:center;border-radius:50%;border:1px solid rgba(43,95,234,.4);color:var(--blue);font-size:15px;line-height:1;transition:transform .4s var(--ease),background .35s,color .35s}
a.card-link:hover .arr{transform:translate(2px,-2px);background:var(--blue);color:#fff}
a.card-link:hover h3{color:var(--blue)}
a.card-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:18px}
.tilesnote{margin-top:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* ecosystem: contents bar and two-column capability sections */
nav.toc{display:block;position:sticky;top:var(--hh);z-index:20;background:rgba(244,246,251,.96);border-bottom:1px solid var(--line);font-size:inherit;color:inherit}
nav.toc ol{list-style:none;margin:0;padding:9px 0;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between}
nav.toc a{display:inline-flex;gap:7px;padding:6px 11px;border-radius:999px;font-size:12.5px;white-space:nowrap;font-weight:600;color:var(--text2);border:1px solid var(--line);transition:border-color .3s,color .3s,background .3s}
nav.toc a span{font-family:var(--display);font-size:10.5px;color:var(--blue);padding-top:1px}
nav.toc a:hover,nav.toc a[aria-current=true]{color:var(--text);border-color:rgba(43,95,234,.6);background:rgba(43,95,234,.08)}
@media(max-width:1199px){nav.toc{position:static;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}nav.toc ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}nav.toc a{border-radius:12px;white-space:normal}}
@media(max-width:700px){nav.toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){nav.toc ol{grid-template-columns:1fr}}
.cap{scroll-margin-top:0}
.cap-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:start}
.cap-l{display:flex;flex-direction:column;gap:16px}
.cap-l .num{font-size:clamp(28px,3.4vw,44px);letter-spacing:.04em;color:rgba(43,95,234,.4);line-height:1}
.cap-l h2{font-size:clamp(22px,2.5vw,32px)}
.cap-r{min-width:0}
.cap-r .hero-cta{margin-top:18px}
@media(max-width:860px){.cap-grid{grid-template-columns:1fr}}

/* forms: dark, quiet */
.form{display:grid;gap:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}
.field{display:grid;gap:7px;min-width:0}
.field label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text2)}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border-radius:12px;border:1px solid rgba(14,19,32,.22);background:#fff;color:var(--text);font:400 16px var(--body);transition:border-color .3s,background .3s,box-shadow .3s}
.field select option{background:#fff;color:var(--text)}
.field textarea{min-height:130px;resize:vertical}
.field input::placeholder{color:#6B7587}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(43,95,234,.5)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,95,234,.18);background:#fff}
.hint{font-size:14px;color:var(--text2)}
.out{display:none;padding:16px 18px;border-radius:14px;background:rgba(43,95,234,.06);border:1px solid rgba(43,95,234,.28)}
.out.show{display:block}
.out pre{white-space:pre-wrap;margin:12px 0;font:inherit;font-size:15px;color:var(--text3)}
.out strong{color:var(--text)}

dl{margin:0}dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600}dd{margin:2px 0 0;color:var(--text3)}

/* scroll reveal: elements are visible by default; JS adds .rv only when they scroll into view */
.rv{animation:rv .2s var(--ease) both}
@keyframes rv{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .menu a{opacity:1;transform:none}
}
@media print{body::before,html::after,canvas.fx,.hero::after{display:none}}

@media(min-width:861px){.cap-l{position:sticky;top:calc(var(--sp) + 16px)}}
.cgrid{align-items:start;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
@media(max-width:860px){.cgrid{grid-template-columns:1fr}}

/* headings kept in a strict outline: when a level is clamped, the original look is kept by class */
.h4s,details.more .mc h3.h4s{font-family:var(--body);font-weight:600;font-size:12px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:22px 0 8px}
.h3s,details.more .mc .h3s{font-family:var(--body);font-weight:600;font-size:clamp(18px,1.7vw,21px);line-height:1.3;letter-spacing:-.005em;color:var(--text)}
details.more .mc .h3s{font-size:17px}
.h2s{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.7vw,34px);line-height:1.22;letter-spacing:.005em}

/* ---- v36: editorial capability sections ---- */
section.cap{border-top:1px solid var(--line);padding-top:clamp(32px,4.5vw,56px)}
.cap-l .num{display:flex;align-items:center;gap:14px}
.cap-l .num::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,var(--blue),transparent)}
details.more{border-radius:12px}
details.more[open]{background:linear-gradient(180deg,rgba(232,235,252,.85),rgba(242,244,251,.9));border-color:rgba(43,95,234,.32)}
details.more>summary{min-height:56px}
details.more>summary i{width:28px;height:28px;border:1.5px solid var(--blue);background:#fff}
details.more[open]>summary i{background:var(--blue)}
details.more[open]>summary i::before,details.more[open]>summary i::after{background:#fff}
details.more>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;box-shadow:0 0 0 5px rgba(43,95,234,.15)}

/* ---- v36: venture profiles ---- */
.vm{margin:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(236,238,252,.7),rgba(246,247,252,.9))}
.vm img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.vm figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--text2)}
.vm+.vm{margin-top:14px}
.vm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vm-row .vm{margin:0}
.arch{display:block;width:100%;height:auto}
.arch text{font-family:var(--body);font-size:14px;font-weight:600;fill:#232A38}
.arch .a1{fill:rgba(43,95,234,.16);stroke:rgba(43,95,234,.5)}.arch .a2{fill:rgba(130,110,230,.14);stroke:rgba(110,90,210,.45)}
.arch .a3{fill:#fff;stroke:rgba(43,95,234,.35)}.arch .a4{fill:rgba(35,42,56,.08);stroke:rgba(35,42,56,.4)}
.arch .ln{stroke:rgba(43,95,234,.5);stroke-width:1.5;fill:none;stroke-dasharray:3 3}
@media(max-width:480px){.vm-row{grid-template-columns:1fr 1fr;gap:10px}.vm{padding:8px}}



/* ================= v38 ================= */
.btn{min-height:44px;justify-content:center}
.btn .ar{display:inline-block;transition:transform .2s var(--ease)}
.btn:hover .ar{transform:translate(2px,-2px)}
.logo{flex:none}

/* surface hierarchy: matte variations, corner details, a slow line of light */
.card::after,.glass::after{content:"";position:absolute;right:12px;bottom:12px;width:14px;height:14px;pointer-events:none;border-right:1px solid rgba(43,95,234,.35);border-bottom:1px solid rgba(43,95,234,.35);border-radius:0 0 4px 0}
a.card-link::after{display:none}
.glass{overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(236,238,252,.6))}
.glass>*{position:relative;z-index:1}
.hero::before{content:"";position:absolute;z-index:-1;right:2%;top:6%;width:min(380px,40vw);aspect-ratio:1;pointer-events:none;opacity:.5;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%232B5FEA'%3E%3Ccircle cx='100' cy='100' r='96' stroke-opacity='.25' stroke-dasharray='2 6'/%3E%3Ccircle cx='100' cy='100' r='64' stroke-opacity='.3'/%3E%3Ccircle cx='100' cy='100' r='30' stroke-opacity='.25' stroke-dasharray='1 5'/%3E%3Ccircle cx='100' cy='4' r='3.5' fill='%232B5FEA' stroke='none'/%3E%3Ccircle cx='164' cy='100' r='2.5' fill='%237B6CF0' stroke='none'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:orbit 140s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero.sm::before{opacity:.35;width:min(300px,34vw)}
@media(max-width:700px){.hero::before{display:none}}

/* venture profiles v2: project containers */
.vp2{position:relative;overflow:hidden;margin-top:clamp(20px,2.6vw,32px);padding:clamp(20px,3vw,40px);border-radius:24px;border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(232,236,252,.72) 60%,rgba(240,236,252,.7));box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 24px 50px -34px rgba(20,40,110,.35)}
.vp2:nth-of-type(2){background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(238,234,252,.74) 60%,rgba(232,236,252,.7))}
.vp2::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 100% 0%,rgba(43,95,234,.1),transparent 70%)}
.vp2>*{position:relative}
.vp2-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,3.5vw,52px);align-items:center}
.vp2-t{display:flex;flex-direction:column;gap:14px;min-width:0}
.vp2-t h3{font-size:clamp(26px,3vw,38px);line-height:1.15}
.vp2-t .lead{font-size:clamp(16px,1.35vw,18px);max-width:none}
.vp-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.vp-h .num{font-size:clamp(26px,3vw,38px);color:rgba(43,95,234,.4);line-height:1}
.stage{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--blue)}
.vlinks{display:flex;flex-wrap:wrap;gap:14px 12px;align-items:flex-start;margin:6px 0 0}
.vb{display:flex;flex-direction:column;gap:6px;max-width:300px}
.vsub{font-size:13px;line-height:1.4;color:var(--text2)}
.chip{display:inline-flex;align-self:center;padding:8px 14px;border-radius:12px;border:1px dashed rgba(122,71,0,.5);color:var(--amber);font-size:13px;line-height:1.35;font-weight:600;background:rgba(255,248,235,.85)}
.vp2-m{min-width:0}
.vp2 .vm{margin:0;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.7);box-shadow:0 30px 60px -36px rgba(20,40,110,.5)}
.vp2 .vm img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.vp2 .vm figcaption{margin-top:9px;font-size:13px;line-height:1.45;color:var(--text2)}
.vp2 .vm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vp2 .vm.sec{margin-top:14px;max-width:420px}
.vp2-d{margin-top:22px;display:grid;gap:10px}
.vp2 .arch-fig{max-width:460px;margin-top:6px}
@media(max-width:900px){.vp2-top{grid-template-columns:1fr}}
@media(max-width:560px){.vp2 .vm-row{grid-template-columns:1fr;gap:12px}.vp2 .vm.phone{max-width:380px;margin-inline:auto}.vp2 .vm.sec{max-width:none}.vb{max-width:none;width:100%}.vb .btn{width:100%}}

/* home venture teasers with preview */
a.card-link.vt{padding:0 0 58px;overflow:hidden;gap:12px}
a.card-link.vt>*:not(.vt-img){margin-inline:clamp(20px,2.2vw,26px)}
a.card-link.vt .vt-img{display:block;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--line);background:#E7EDF8}
a.card-link.vt .vt-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s var(--ease)}
a.card-link.vt .num{margin-top:4px}

/* ================= agency only: dark theme, scoped to body.dark ================= */
html:has(body.dark){--bg:#0B1120;background:#0B1120;color-scheme:dark}
body.dark{--bg:#0B1120;--bg2:#111A2E;--text:#F1F4FA;--text2:#AEB8CB;--text3:#D3DAE8;--blue:#8FB0FF;--blue2:#6F95FF;--lilac:#B3A6FF;
  --line:rgba(255,255,255,.1);--line2:rgba(143,176,255,.42);--panel:rgba(20,29,50,.72);--panel2:#18233D;--amber:#FFC877;color-scheme:dark;background:#0B1120}
body.dark::before{background:radial-gradient(ellipse 52% 42% at 14% 4%,rgba(79,120,255,.22),transparent 70%),radial-gradient(ellipse 40% 34% at 92% 14%,rgba(150,130,255,.15),transparent 70%),radial-gradient(ellipse 46% 38% at 78% 92%,rgba(79,120,255,.1),transparent 70%)}
html:has(body.dark)::after{filter:invert(1);opacity:.07}
body.dark ::selection{background:rgba(143,176,255,.35)}
body.dark header{background:linear-gradient(180deg,rgba(11,17,32,.95),rgba(11,17,32,.82));border-bottom-color:rgba(255,255,255,.08)}
body.dark .logo .rl{background:rgba(255,255,255,.35)}
body.dark .burger{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
body.dark .burger:hover{border-color:rgba(143,176,255,.8);background:rgba(143,176,255,.12)}
body.dark .menu{background:#0B1120}
body.dark .skip{background:#F1F4FA;color:#0B1120}
body.dark .card,body.dark .glass{background:var(--panel)}
body.dark .card,body.dark .glass{background-image:linear-gradient(180deg,rgba(255,255,255,.04),transparent 40%)}
body.dark .glass{background:linear-gradient(135deg,rgba(24,35,61,.82),rgba(17,25,45,.7))}
body.dark .card:hover{background-color:var(--panel2)}
body.dark .card::after,body.dark .glass::after{border-color:rgba(143,176,255,.4)}
body.dark .tag{background:rgba(143,176,255,.1);border-color:rgba(143,176,255,.3)}
body.dark .btn{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:var(--text)}
body.dark .btn:hover{border-color:rgba(143,176,255,.8);background:rgba(143,176,255,.14)}
body.dark .btn:not(.ghost){background:#E8EEFF;border-color:#E8EEFF;color:#0B1120}
body.dark .btn:not(.ghost):hover{background:#fff;border-color:#fff;color:#0B1120}
body.dark .flag{color:var(--amber);background:rgba(255,184,64,.12);border-color:rgba(255,200,119,.45)}
body.dark .flag b{color:var(--amber)}
body.dark .flag.pend{color:#C6D6FF;background:rgba(143,176,255,.12);border-color:rgba(143,176,255,.4)}
body.dark .must{background:rgba(255,255,255,.05)}
body.dark details.more{background:rgba(20,29,50,.6)}
body.dark details.more[open]{background:linear-gradient(180deg,rgba(30,42,78,.8),rgba(20,29,52,.85));border-color:rgba(143,176,255,.4)}
body.dark details.more>summary:hover{background:rgba(143,176,255,.1)}
body.dark details.more>summary i{background:#0B1120;border-color:var(--blue)}
body.dark details.more[open]>summary i{background:var(--blue)}
body.dark details.more[open]>summary i::before,body.dark details.more[open]>summary i::after{background:#0B1120}
body.dark details.more .mc .card{background:rgba(11,17,32,.55)}
body.dark ol.run li{background:rgba(255,255,255,.03)}
body.dark .field input,body.dark .field select,body.dark .field textarea{background:#0F1730;border-color:rgba(255,255,255,.22);color:var(--text)}
body.dark .field select option{background:#0F1730;color:var(--text)}
body.dark .field input::placeholder{color:#8A96AE}
body.dark .field input:focus,body.dark .field select:focus,body.dark .field textarea:focus{background:#101A38;box-shadow:0 0 0 3px rgba(143,176,255,.25)}
body.dark .out{background:rgba(143,176,255,.08);border-color:rgba(143,176,255,.35)}
body.dark .hero::after{filter:brightness(1.8);opacity:.55}
body.dark .hero::before{filter:brightness(1.7)}
body.dark a.card-link:hover .arr{color:#0B1120}

@media print{.hero::before{display:none}}

a.card-link.vt .vt-img{aspect-ratio:1.83/1}

.tag{color:#1B43B8}
body.dark .tag{color:var(--blue)}
@media(max-width:560px){.vp2{padding:14px;border-radius:20px}.vp2 .vm{padding:8px}}

/* ===== v39 mobile pass: tap areas, venture media, full-size links ===== */
.logo{padding-block:7px;margin-block:-7px}
.ft-map{gap:0}
.ft-map a{display:inline-flex;align-items:center;min-height:44px}
nav.toc a{min-height:44px;align-items:center}
nav.toc ol{gap:8px}
.fs{display:inline-flex;align-items:center;min-height:44px;margin-top:2px;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fs:hover{color:#1B43B8}
body.dark .fs:hover{color:#C6D6FF}
.vm-slot{display:grid;gap:14px;margin-top:6px}
.vm-slot:empty{display:none}
.vm-slot .vm{max-width:560px}
@media(max-width:480px){
  .vp2 .vm-row{grid-template-columns:1fr}
  .vp2 .vm.phone{max-width:none;margin-inline:0}
  .vm-slot .vm{max-width:none}
  .vp2 .vm .fs{font-size:13.5px}
}
@media(max-width:480px){.vp2-d .vm{padding:6px;border-radius:14px}.vp2-d .mc{padding-inline:12px}}
html.js .vm figcaption .fs{display:flex;width:max-content;max-width:100%}

/* v39b: narrowest phones, classic 15px scrollbar. Fonts and tracking unchanged; only spacing tightens. */
.burger{flex:none}
@media(max-width:359px){
  header .w{width:calc(100% - 8px)}
  .logo{gap:4px}
}

/*  in-page screenshot viewer (native dialog). The trigger is a button, shown only when scripts run. */
.fs{display:none;font-family:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
html.js .fs{display:inline-flex}
html.lb-open{overflow:hidden;scrollbar-gutter:stable}
dialog.lb{width:min(96vw,1100px);max-width:none;max-height:92vh;max-height:92dvh;margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--text);box-shadow:0 40px 90px -30px rgba(10,20,60,.55);overflow:hidden}
dialog.lb::backdrop{background:rgba(10,16,34,.72)}
.lb-in{display:flex;flex-direction:column;max-height:92vh;max-height:92dvh}
.lb-bar{display:flex;justify-content:flex-end;padding:8px 8px 0}
.lb-x{min-width:44px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(14,19,32,.3);background:#fff;color:var(--text);font:600 14.5px/1.2 var(--body);cursor:pointer}
.lb-x:hover{border-color:var(--blue)}
.lb-x:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.lb-s{overflow:auto;padding:8px 12px;min-height:0;-webkit-overflow-scrolling:touch}
.lb-s img{display:block;max-width:100%;max-height:68vh;max-height:68dvh;width:auto;height:auto;margin:0 auto;object-fit:contain;border-radius:10px;border:1px solid var(--line)}
.lb-c{margin:0;padding:6px 16px 16px;font-size:13.5px;line-height:1.5;color:var(--text2)}
@media(max-width:480px){dialog.lb{width:100vw;max-height:100vh;max-height:100dvh;border-radius:0;border-width:0}.lb-in{max-height:100vh;max-height:100dvh}.lb-s img{max-height:none;width:100%;height:auto}.lb-s{padding:6px 8px}}

/* ================= v42: one surface per content group, hairlines instead of nested boxes, shorter motion ================= */
:root{--r:18px}
/* surfaces: one tint per group, consistent radius, no competing glow */
.card,.glass,.vp2{border-radius:var(--r)}
.card{background-color:var(--panel);transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.card::before,.glass::before{opacity:.35}
.glass{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(240,242,252,.6))}
.vp2{background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(240,242,252,.66));box-shadow:0 22px 46px -36px rgba(20,40,110,.3)}
.vp2:nth-of-type(2){background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(240,242,252,.66))}
.vp2::before{display:none}
/* labels: plain small caps text rather than another pill */
.tag{padding:0;border:0;background:none;border-radius:0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
/* disclosures: hairline rows, not boxes within boxes */
details.more{border:0;border-top:1px solid var(--line);border-radius:0;background:none}
details.more:last-child{border-bottom:1px solid var(--line)}
details.more[open]{background:none}
details.more>summary{border-radius:10px;padding-inline:4px;transition:color .2s,background-color .2s}
details.more .mc{padding:4px 4px 20px}
details.more .mc .card{background:none;border-color:var(--line)}
.vp2-d{display:block;margin-top:22px}
.card details.more{margin-top:10px}
/* notes */
.must{background:none;padding:2px 0 2px 14px;border-left:2px solid var(--blue)}
ol.run li{border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 4px 4px}
/* capability column rhythm */
.cap-r{display:flex;flex-direction:column;gap:16px}
.cap-r>ul.b li{font-size:17px;color:var(--text)}
/* ventures: image sits directly on the surface */
.vp2 .vm{padding:0;border:0;background:none;box-shadow:none;border-radius:0}
.vp2 .vm img{border-radius:12px;box-shadow:0 24px 50px -30px rgba(20,40,110,.55)}
.vp2 .vm figcaption{margin-top:10px}
.vm-slot .vm{padding:0}
.vp2-d .vm{padding:0}
.vp2 .vm.arch-fig{padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.6);margin:10px 0 4px}
/* motion: short and restrained */
.btn{transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s,transform .2s var(--ease)}
.btn:hover{transform:none}
.btn .ar{transition:transform .2s var(--ease)}
a.card-link .arr{transition:transform .2s var(--ease),background-color .2s,color .2s}
nav.toc a{transition:border-color .2s,color .2s,background-color .2s}
.menu{transition:opacity .22s var(--ease),visibility 0s linear .22s}
.menu.open{transition:opacity .22s var(--ease)}
.menu a{transition:opacity .2s var(--ease),transform .2s var(--ease),color .2s}
.menu.open a:nth-child(n){transition-delay:.03s}
.menu.open a:nth-child(2){transition-delay:.06s}.menu.open a:nth-child(3){transition-delay:.09s}.menu.open a:nth-child(4){transition-delay:.12s}.menu.open a:nth-child(5){transition-delay:.15s}
@supports (interpolate-size:allow-keywords){details.more::details-content{transition:block-size .18s var(--ease),content-visibility .18s allow-discrete}}
.hero.off::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none!important}}
/* agency dark counterparts */
body.dark .must{background:none;border-left-color:var(--blue)}
body.dark details.more{background:none;border-color:rgba(255,255,255,.12)}
body.dark details.more[open]{background:none}
body.dark .vp2 .vm.arch-fig{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
body.dark .card,body.dark .grid>.card:nth-child(n){background-color:rgba(255,255,255,.04)}
#partnership{display:flex;flex-direction:column;gap:18px}
body.dark .tag{background:none;border:0}
#capabilities-note{padding-top:clamp(18px,3vw,32px)}

/*  roles list and agency lines (plain text, no extra boxes) */
dl.roles{display:grid;gap:0;margin:0}
dl.roles>div{display:grid;grid-template-columns:minmax(88px,120px) minmax(0,1fr);gap:4px 16px;padding:12px 0;border-top:1px solid var(--line)}
dl.roles>div:last-child{border-bottom:1px solid var(--line)}
dl.roles dt{font-family:var(--display);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);padding-top:3px}
dl.roles dd{margin:0;color:var(--text2);font-size:16px}
@media(max-width:480px){dl.roles>div{grid-template-columns:1fr}}
.cap-r .ag{font-size:15.5px;color:var(--text3);padding-left:14px;border-left:1px solid var(--line2)}
#service-investment p{max-width:70ch}

/* ================= v46: light consistency pass =================
   Scale: radius 12 / 18 / 999, hairline borders, two shadows. Icons are one SVG-mask arrow and one cross, drawn with currentColor.
   Motion: 140-200ms state changes only; nothing loops on a card; ambient layers stay subordinate. */
:root{--r-s:12px;--sh1:0 14px 34px -26px rgba(20,40,110,.45);--sh2:0 24px 50px -30px rgba(20,40,110,.55);--t:.18s;
  --i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6'/%3E%3C/svg%3E");
  --i-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 4l8 8M12 4l-8 8'/%3E%3C/svg%3E")}
/* arrow icon: same glyph, size and stroke everywhere */
.ar,.arr,a.card-link .arr{font-size:0;line-height:0}
.ar::before,.arr::before{content:"";display:block;width:1.05rem;height:1.05rem;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat}
.ar{display:inline-flex;align-items:center;vertical-align:middle}
.ar::before{width:15px;height:15px}
a.card-link .arr::before{width:16px;height:16px}
/* press and keyboard states; focus is an outline, never a glow */
.btn:active,.lb-x:active{transform:translateY(1px);transition-duration:.1s}
a.card-link:active .arr{transform:none}
.burger:focus-visible,.lb-x:focus-visible,.btn:focus-visible,a.card-link:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
body.dark :focus-visible{outline-color:#8FB0FF}
/* viewer close: label plus cross */
.lb-x{display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:border-color var(--t) var(--ease),background-color var(--t) var(--ease)}
.lb-x::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--i-x) center/contain no-repeat;mask:var(--i-x) center/contain no-repeat}
/* "view full-size" link gets the same arrow as other external-ish actions */
.fs{transition:color var(--t) var(--ease)}
/* home venture thumbnails: framed preview, not a nested website */
a.card-link.vt .vt-img{position:relative;background:#E7EDF8;box-shadow:inset 0 -1px 0 var(--line)}
a.card-link.vt .vt-img img{object-fit:cover;object-position:top center;transition:none}
a.card-link.vt .vt-img::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(14,19,32,.1)}
.vt-tag{position:absolute;left:10px;top:10px;padding:3px 9px;border-radius:999px;background:rgba(244,246,251,.94);border:1px solid var(--line2);font:600 11px/1.3 var(--body);letter-spacing:.04em;color:var(--text2);pointer-events:none}
a.card-link.vt .vt-img img[src*="dalos"]{object-fit:cover;object-position:center top}
/* profile media: one legible primary screen, secondary media in the disclosure */
.vp2 .vm img{border:1px solid rgba(14,19,32,.16)}
.vp2 .vm-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start}
.vp2 .vm-row .vm.phone{flex:0 1 min(46%,300px);min-width:0}
@media(max-width:1099px){.vp2 .vm-row .vm.phone{flex:0 1 min(100%,300px)}}
@media(max-width:560px){.vp2 .vm-row .vm.phone{flex-basis:100%;max-width:340px;margin-inline:0}}
/* dark capture: contained on a neutral mat with a visible edge so it reads as an interface */
/* surfaces: one shadow scale */
.vp2{box-shadow:var(--sh1)}
.card,.vp2 .vm img,.btn{transition-duration:var(--t)}
/* texture stays faint and fixed behind content; no extra blur layers */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.btn:active,.lb-x:active{transform:none}}
/* secondary phone in the disclosure keeps phone proportions */
.vm-slot .vm.phone{max-width:300px}

/* ================= Venture containers: equal frames and shells =================
   One closed layout for all three ventures: identical grid, one 4:3 media frame, stage label above the name,
   action zone bottom-aligned to the frame. Screenshots are never edited; they are contained (or, for the tall phone screen, cropped by CSS only,
   with the whole image one click away in the viewer). */
.vp2-top{align-items:stretch}
@media(min-width:901px){.vp2-t .vlinks{margin-top:auto;padding-top:8px}.vp2-m{align-self:start}.vp2-m .vm figcaption{min-height:calc(2.9em + 46px)}}
.vp2 .mf{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;padding:10px;border-radius:var(--r-s);border:1px solid var(--line2);background:#E4EAF7}
.vp2 .mf img{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.vp2 .vm.ph{max-width:none;margin-inline:0}
.vp2 .vm-row .vm.ph{flex:1 1 100%}
/* MYM showcase: one reusable composition (stacked copy beside the genuine home screenshot) inside the shared media frame.
   Everything scales with the frame's own width (container units), so it holds at any thumbnail or profile width. CSS crop only; the viewer shows the whole file. */
.vp2 .vm.ph{max-width:none;margin-inline:0}
.vp2 .vm-row .vm.ph{flex:1 1 100%}
.ms{container-type:inline-size}
.ms,.vp2 .mf.ms,a.card-link.vt .vt-img.ms{display:flex;align-items:flex-start;justify-content:space-between;gap:0;padding:0;
  background:radial-gradient(70% 90% at 78% 38%,rgba(109,76,255,.17),rgba(109,76,255,0) 70%),radial-gradient(rgba(43,95,234,.1) 1px,transparent 1.2px) 0 0/14px 14px,linear-gradient(135deg,#F5F3FF 0%,#E6ECF8 100%)}
.ms .ms-copy{align-self:center;flex:1 1 0;min-width:0;margin-left:6cqw;display:flex;flex-direction:column;gap:1.4cqw;font-family:var(--body);font-weight:800;font-size:clamp(12.5px,4.4cqw,28px);line-height:1.12;letter-spacing:-.02em;color:#101826}
.ms .ms-l{display:block;white-space:nowrap}
.ms .ms-l b{font-weight:800;color:#5B3FD6}
.ms img{flex:none;width:44cqw;height:auto;aspect-ratio:auto;margin:5cqw 4cqw 0 2cqw;border:3px solid #101826;border-bottom:0;border-radius:12% 12% 0 0 / 6.5% 6.5% 0 0;box-shadow:0 10px 30px rgba(60,40,160,.22),0 2px 6px rgba(14,19,32,.18);object-fit:fill}
.vp2 .mf.ms{padding:0}
.vp2 .mf.ms img{width:44cqw;height:auto;object-fit:fill;border:3px solid #101826;border-bottom:0;border-radius:12% 12% 0 0 / 6.5% 6.5% 0 0;box-shadow:0 10px 30px rgba(60,40,160,.22),0 2px 6px rgba(14,19,32,.18)}
a.card-link.vt .vt-img.ms img{width:44cqw;height:auto;object-fit:fill;object-position:center}
a.card-link.vt .vt-img.ms{background:radial-gradient(70% 90% at 78% 38%,rgba(109,76,255,.17),rgba(109,76,255,0) 70%),radial-gradient(rgba(43,95,234,.1) 1px,transparent 1.2px) 0 0/14px 14px,linear-gradient(135deg,#F5F3FF 0%,#E6ECF8 100%)}
.ms .vt-tag{left:6cqw;right:auto;top:auto;bottom:3cqw}
.cn{display:none}
html.js .cn{display:inline}
html:not(.js) .vp2 .mf.ms,html:not(.js) a.card-link.vt .vt-img.ms{aspect-ratio:auto;padding-bottom:5cqw}
html:not(.js) .ms img{border-bottom:3px solid #101826;border-radius:12% / 6.5%}
/* home cards: same frame, text zone and status zone */
a.card-link.vt{display:flex;flex-direction:column}
a.card-link.vt>p:has(.flag){margin-top:auto}
@media(max-width:560px){.vp2 .mf{padding:8px}}

/* Venture action zone sits at the bottom of the text column at every width; spare height from the equaliser goes above it */
.vp2-t .vlinks{margin-top:auto;padding-top:8px}



/* ================= Shared page components ================= */
.col{display:flex;flex-direction:column;gap:16px}
.vp-status{margin:0}
.vp2-t .must{font-size:15px}

/* contents bars: sections nav (sticky) and the six-capability chips (in flow) */
nav.secnav ol{justify-content:flex-start;gap:8px}
nav.secnav a{padding:6px 14px}
nav.capnav{position:static;background:none;border:0;margin-top:18px}
nav.capnav ol{padding:0}
@media(max-width:700px){
  nav.secnav ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  nav.secnav li{display:flex}
  nav.secnav a{width:100%;justify-content:center;padding:6px 4px;white-space:normal;text-align:center;font-size:12px;border-radius:12px;min-height:44px}
}

/* About: editorial sections (why, what, who, where) */
.ab{padding-top:0}
.ab-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);padding-top:clamp(28px,4vw,52px);border-top:1px solid var(--line)}
.ab-l{display:flex;flex-direction:column;gap:12px;align-content:start}
@media(min-width:861px){.ab-l{position:sticky;top:calc(var(--sp) + 16px);align-self:start}}
.ab-r{display:flex;flex-direction:column;gap:16px;min-width:0}
.ab-r>p{font-size:17px;line-height:1.7;color:var(--text3);max-width:64ch;margin:0}
.ab-r a:not(.btn){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.ab-r .roles{margin-top:2px}
.locs{display:flex;flex-wrap:wrap;gap:12px 40px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.locs span{font-family:var(--display);font-size:clamp(18px,2.2vw,24px);letter-spacing:.01em;color:var(--text)}
@media(max-width:860px){.ab-grid{grid-template-columns:minmax(0,1fr)}}

/* Contact: optional note tool */
.prep{max-width:760px}
.prep h2.h3s{margin:6px 0 8px}
.must{border-radius:0}

/* Stacked venture profiles: spare height from equalising sits below the media, not between the stage note and the screenshot */
@media(max-width:900px){.vp2-top{align-content:start}}


/* Contact form: honeypot, status and error states */
.cf-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.cf-status,.cf-error{margin:0;font-size:15px}
.cf-status:empty{display:none}
.cf-status{padding:14px 16px;border-radius:12px;background:rgba(43,95,234,.06);border:1px solid rgba(43,95,234,.28);color:var(--text)}
.cf-error{padding:14px 16px;border-radius:12px;background:#FFF1F0;border:1px solid #D92D20;color:#912018}
.cf-fe{display:block;font-size:14px;color:#B42318}
.form [aria-invalid="true"]{border-color:#D92D20}
.btn[disabled]{opacity:.6;cursor:progress}
body.dark .cf-status{background:rgba(143,176,255,.08);border-color:rgba(143,176,255,.35)}
body.dark .cf-error{background:rgba(217,45,32,.12);border-color:#F97066;color:#FDA29B}
body.dark .cf-fe{color:#FDA29B}
.cf-fe[hidden],.cf-error[hidden]{display:none}
.form .row2{align-items:start}
.form .field{align-content:start}
/* Header gutters matched to remarkablebydesign.agency: 16px + clamp(0px,2.5vw,48px), 20px at 640px and below. Header only. */
header .w{width:100%;max-width:none;margin-inline:0;padding-inline:calc(16px + clamp(0px,2.5vw,48px))}
@media(max-width:640px){header .w{padding-inline:20px}}
@media(max-width:359px){header .w{padding-inline:clamp(4px,calc((100vw - 310px)/2),20px)}}
