:root{
  --ink:#11231d;
  --ink-2:#18332a;
  --paper:#f2f1ea;
  --paper-2:#ecebe4;
  --white:#fbfbf7;
  --accent:#b9d7e4;
  --accent-rgb:185,215,228;
  --accent-surface:#cbe1e9;
  --line:rgba(17,35,29,.22);
  --line-light:rgba(251,251,247,.22);
  --muted:rgba(17,35,29,.66);
  --wrap:1180px;
  --header-h:84px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit}
button,input,textarea,select{font:inherit}
img,svg{display:block;max-width:100%}
.wrap{width:min(var(--wrap),calc(100% - 56px));margin-inline:auto}

[data-i18n-en]{display:none!important}
body.lang-en [data-i18n-de]{display:none!important}
body.lang-en [data-i18n-en]{display:revert!important}

.site-head{position:fixed;z-index:50;inset:0 0 auto;color:var(--white);transition:background-color .28s ease,border-color .28s ease,transform .28s ease}
.site-head.is-scrolled,body:not(.home) .site-head{background:rgba(17,35,29,.96);border-bottom:1px solid rgba(251,251,247,.12)}
.head-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{position:relative;z-index:4;flex:0 0 auto}
.logo a{text-decoration:none;color:inherit}
.provisional-logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:31px;height:31px;flex:0 0 auto;overflow:visible}
.logo-mark-frame,.logo-mark-route{fill:none;vector-effect:non-scaling-stroke}
.logo-mark-frame{stroke:rgba(251,251,247,.42);stroke-width:1}
.logo-mark-route{stroke:var(--accent);stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter}
.logo-mark circle{fill:var(--accent)}
.wordmark{display:flex;flex-direction:column;justify-content:center;min-width:91px;line-height:1}
.wordmark-top{font:500 7.5px/1 "IBM Plex Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(251,251,247,.58);margin-bottom:3px}
.wordmark-bottom{font:600 16px/.9 "Archivo",sans-serif;letter-spacing:-.035em;color:var(--white)}
.custom-logo-link{display:flex;align-items:center}
.custom-logo{display:block;width:auto;max-width:220px;max-height:40px}
.site-nav{margin-left:auto}
.site-nav-list{list-style:none;display:flex;align-items:center;gap:30px;margin:0;padding:0}
.site-nav-list a{position:relative;text-decoration:none;font-size:12px;font-weight:500;color:rgba(251,251,247,.72);letter-spacing:.02em;padding:10px 0}
.site-nav-list a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-nav-list a:hover,.site-nav-list a:focus-visible{color:var(--white)}
.site-nav-list a:hover:after,.site-nav-list a:focus-visible:after{transform:scaleX(1)}
.head-tools{display:flex;align-items:center;gap:18px;position:relative;z-index:4}
.lang-toggle{display:flex;align-items:center;gap:3px}
.lang-toggle button{appearance:none;border:0;background:transparent;color:inherit;opacity:.48;font:500 11px "IBM Plex Sans",sans-serif;letter-spacing:.08em;padding:7px 5px;cursor:pointer;border-bottom:1px solid transparent}
.lang-toggle button.active{opacity:1;border-bottom-color:currentColor}
.menu-toggle{display:none;width:36px;height:36px;border:0;background:transparent;padding:9px;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:1px;background:currentColor;margin:5px 0;transition:transform .25s ease,opacity .25s ease}

.hero{position:relative;min-height:820px;height:min(100svh,900px);overflow:hidden;background:var(--ink);color:var(--white);isolation:isolate}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,35,29,.05) 0%,rgba(17,35,29,.02) 62%,rgba(17,35,29,.72) 100%);pointer-events:none}
.production-plot{position:absolute;z-index:-2;inset:0;pointer-events:none;overflow:hidden}
.production-plot svg{width:100%;height:100%}
.plot-line,.plot-zone,.plot-route{fill:none;vector-effect:non-scaling-stroke}
.plot-line{stroke:rgba(251,251,247,.30);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;animation:plotDraw .95s cubic-bezier(.22,.72,.25,1) forwards}
.line-two{animation-delay:.10s}.line-three{animation-delay:.20s}.line-four{animation-delay:.30s}
.plot-line-accent{stroke:rgba(var(--accent-rgb),.62);stroke-width:1.4}
.plot-zone{stroke:rgba(251,251,247,.21);stroke-width:1;stroke-dasharray:4 5}
.plot-zone-small{stroke:rgba(var(--accent-rgb),.30)}
.plot-zone-open{stroke-dasharray:none}
.plot-label{fill:rgba(251,251,247,.48);font:500 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}
.plot-coordinate{fill:rgba(var(--accent-rgb),.50);font:500 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}
.plot-route{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:.075 .925;stroke-dashoffset:1;opacity:0;filter:url(#softGlow);animation:routeSignal 5.8s .9s cubic-bezier(.45,0,.55,1) infinite}
.plot-route-secondary{stroke-width:1.55;filter:none;animation-delay:3.8s}
.plot-node{opacity:0;animation:nodeEnter .42s cubic-bezier(.2,.8,.2,1) forwards;color:var(--accent)}
.plot-node[data-node="security"]{animation-delay:.55s}.plot-node[data-node="crew"]{animation-delay:.66s}.plot-node[data-node="power"]{animation-delay:.77s}.plot-node[data-node="site"]{animation-delay:.88s}.plot-node[data-node="staging"]{animation-delay:.99s}.plot-node[data-node="technical"]{animation-delay:1.10s}
.plot-node .node-ring{fill:rgba(var(--accent-rgb),.015);stroke:rgba(var(--accent-rgb),.58);stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;transition:transform .28s ease,fill .28s ease,stroke .28s ease}
.plot-node .node-core{fill:var(--accent);transform-box:fill-box;transform-origin:center;transition:transform .28s ease}
.plot-node text{fill:rgba(251,251,247,.52);font:500 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;transition:fill .28s ease}
.plot-node.is-active .node-ring{transform:scale(1.52);fill:rgba(var(--accent-rgb),.10);stroke:var(--accent);filter:url(#softGlow)}
.plot-node.is-active .node-core{transform:scale(1.55)}
.plot-node.is-active text{fill:var(--white)}
@keyframes plotDraw{to{stroke-dashoffset:0}}
@keyframes nodeEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes routeSignal{0%,28%{opacity:0;stroke-dashoffset:1}34%{opacity:.95}72%{opacity:.72;stroke-dashoffset:-.12}80%,100%{opacity:0;stroke-dashoffset:-.28}}

.hero-layout{position:relative;z-index:2;min-height:820px;height:100%;padding-top:calc(var(--header-h) + 76px);padding-bottom:38px;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto auto;column-gap:24px}
.eyebrow{grid-column:1/-1;align-self:start;text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:rgba(251,251,247,.62);animation:softEnter .65s .1s ease both}
.hero-title{grid-column:1/11;align-self:center;font:500 clamp(52px,5.7vw,88px)/.94 "Archivo",sans-serif;letter-spacing:-.052em;margin:42px 0 54px;text-wrap:balance;animation:titleEnter .75s .08s cubic-bezier(.2,.75,.25,1) both}
.hero-lower{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:48px;animation:softEnter .72s .22s ease both}
.hero-proof{grid-column:1/6;display:flex;gap:10px 30px;flex-wrap:wrap;color:rgba(251,251,247,.54);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.hero-proof span{display:flex;align-items:center;gap:9px}
.hero-proof span:before{content:"";width:22px;height:1px;background:rgba(var(--accent-rgb),.68)}
.hero-copy{grid-column:8/-1;max-width:510px;justify-self:end}
.hero-copy .hero-claim{font:600 14px/1.2 "IBM Plex Sans",sans-serif;letter-spacing:.02em;color:var(--accent);margin:0 0 18px}
.hero-copy p{font-size:18px;line-height:1.55;margin:0 0 28px;color:rgba(251,251,247,.78)}
.text-link{display:inline-flex;gap:12px;align-items:center;text-decoration:none;border-bottom:1px solid rgba(var(--accent-rgb),.76);padding-bottom:5px;font-weight:500;transition:color .25s ease,border-color .25s ease}
.link-arrow{width:18px;height:18px;flex:0 0 auto;overflow:visible;transition:transform .25s ease}
.link-arrow path{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.text-link:hover,.text-link:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}
.text-link:hover .link-arrow,.text-link:focus-visible .link-arrow,.contact-mail:hover .link-arrow,.contact-mail:focus-visible .link-arrow{transform:translate(4px,-4px)}
.hero-segments{grid-column:1/-1;width:min(860px,100%);margin-inline:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-light);animation:softEnter .72s .3s ease both}
.hero-segments a{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;min-height:68px;padding:0 10px 0 0;text-decoration:none;border-right:1px solid var(--line-light);color:rgba(251,251,247,.64);overflow:hidden}
.hero-segments a+ a{padding-left:10px}
.hero-segments a:last-child{border-right:0}
.hero-segments a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.75,.25,1)}
.hero-segments span{font-size:9px;letter-spacing:.1em;color:rgba(251,251,247,.38)}
.hero-segments strong{font:500 11px/1.2 "IBM Plex Sans",sans-serif;color:inherit;white-space:normal}
.hero-segments a:hover,.hero-segments a:focus-visible,.hero-segments a.is-active{color:var(--white)}
.hero-segments a:hover:after,.hero-segments a:focus-visible:after,.hero-segments a.is-active:after{transform:scaleX(1)}
@keyframes titleEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes softEnter{from{opacity:0}to{opacity:1}}

section:not(.hero){padding:126px 0;border-top:1px solid var(--line)}
.section-label{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600;margin:8px 0 28px;color:rgba(17,35,29,.58)}
.editorial-grid{display:grid;grid-template-columns:1fr 2fr;gap:82px}
.editorial-copy h2,.criteria h2,.market h2,.contact h2{font:500 clamp(40px,5vw,70px)/1 "Archivo",sans-serif;letter-spacing:-.042em;margin:0 0 40px;text-wrap:balance}
.editorial-copy>p{max-width:760px;font-size:20px;line-height:1.55;color:var(--muted);margin:0}

.focus{background:var(--white)}
.section-head{display:block;width:100%;max-width:900px;margin:0 0 56px;padding:0}
.section-head .section-label{margin:0 0 20px;padding:0}
.section-head h2{font:500 clamp(44px,5.2vw,74px)/.98 "Archivo",sans-serif;letter-spacing:-.045em;margin:0;padding:0;text-align:left;text-wrap:balance}
.focus-list{display:block;border-top:1px solid var(--line)}
.focus-list article{position:relative;display:grid;grid-template-columns:60px 300px minmax(0,1fr);gap:28px;align-items:baseline;padding:26px 0 28px;background:transparent;border-bottom:1px solid var(--line);text-align:left;min-height:0}
.focus-list article>span{display:block;margin:0;font:500 11px/1 "IBM Plex Sans",sans-serif;letter-spacing:.11em;color:rgba(17,35,29,.48)}
.focus-list h3{margin:0;font:500 22px/1.08 "Archivo",sans-serif;letter-spacing:-.025em;max-width:none}
.focus-list p{margin:0;max-width:none;color:var(--muted);line-height:1.35;font-size:15px;white-space:nowrap}
.focus-list article:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.75,.25,1)}
.focus-list article:hover:after,.focus-list article:focus-within:after{transform:scaleX(1)}

.criteria{background:var(--paper-2)}
.criteria-layout{display:block}
.criteria-summary{max-width:880px;color:var(--muted);font-size:18px;line-height:1.55;margin:24px 0 0}
.criteria-icons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:46px;margin-top:64px;align-items:start}
.criteria-item{min-width:0}
.criteria-icon{width:46px;height:46px;margin-bottom:24px;color:var(--ink)}
.criteria-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.criteria-label{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:rgba(17,35,29,.52);margin-bottom:10px}
.criteria-value{font:500 21px/1.15 "Archivo",sans-serif;letter-spacing:-.02em;color:var(--ink);max-width:210px}


.operating-model{background:var(--paper);color:var(--ink);padding:82px 0 104px;border-top:1px solid var(--line)}
.operating-model .operating-model-head{max-width:980px;margin:0 0 42px;text-align:left}
.operating-model .section-label{margin:0 0 18px;color:rgba(17,35,29,.58)}
.operating-model-head h2{font:500 clamp(44px,5.2vw,68px)/1 "Archivo",sans-serif;letter-spacing:-.045em;margin:0;text-wrap:balance;color:var(--ink)}
.operating-model-head h2 span{display:inline}
.operating-model-intro{max-width:700px;margin:20px 0 0;font-size:18px;line-height:1.5;color:rgba(17,35,29,.68)}
.approach-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.approach-card{position:relative;min-height:330px;padding:34px 32px 34px;background:var(--white);color:var(--ink);border:1px solid rgba(17,35,29,.14);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.25,1),box-shadow .22s ease}
.approach-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(17,35,29,.10)}
.approach-card .card-trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.approach-card .card-trace rect{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:90 760;stroke-dashoffset:850;animation:cardTrace 5s linear infinite}
.approach-card:nth-child(2) .card-trace rect{animation-delay:1.65s}
.approach-card:nth-child(3) .card-trace rect{animation-delay:3.3s}
.operating-model.is-visible .approach-card{animation:approachIn .55s cubic-bezier(.2,.75,.25,1) forwards}
.operating-model.is-visible .approach-card:nth-child(2){animation-delay:.14s}
.operating-model.is-visible .approach-card:nth-child(3){animation-delay:.28s}
.approach-number{display:block;height:58px;margin:0 0 50px;font:500 58px/1 "Archivo",sans-serif;letter-spacing:-.05em;color:var(--accent)}
.approach-card h3{min-height:29px;margin:0 0 15px;font:500 26px/1.05 "Archivo",sans-serif;letter-spacing:-.025em;color:var(--ink)}
.approach-card p{margin:0;max-width:420px;font-size:16px;line-height:1.55;color:rgba(17,35,29,.68)}
@keyframes approachIn{to{opacity:1;transform:none}}
@keyframes cardTrace{0%{stroke-dashoffset:850;opacity:0}12%{opacity:1}82%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}

.market{background:var(--paper)}
.market-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:110px;align-items:end}
.market-copy>p:not(.section-label){font-size:19px;color:var(--muted);max-width:700px}
.thesis-list{border-top:1px solid var(--line)}
.thesis-item{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:24px 0 25px;border-bottom:1px solid var(--line);align-items:start}
.thesis-item>span{font:500 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;color:rgba(17,35,29,.48);padding-top:4px}
.thesis-item strong{display:block;font:500 20px "Archivo",sans-serif;letter-spacing:-.018em;margin-bottom:7px}
.thesis-item p{margin:0;color:var(--muted);max-width:460px}

.contact{position:relative;overflow:hidden;background:var(--accent-surface);border-top:0!important;padding-bottom:136px!important}
.contact-plot{position:absolute;inset:0 0 0 47%;pointer-events:none;opacity:.22}
.contact-plot svg{width:100%;height:100%}
.contact-plot path{fill:none;stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.contact-plot circle{fill:var(--ink)}
.contact-inner{position:relative;z-index:2}
.contact .section-label{color:rgba(17,35,29,.62)}
.contact h2{max-width:900px;margin-top:44px}
.contact-inner>p:not(.section-label){font-size:20px;max-width:600px}
.contact-mail{display:inline-flex;align-items:center;gap:20px;margin-top:48px;font:500 clamp(25px,3vw,40px) "Archivo",sans-serif;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:8px;transition:gap .25s ease,opacity .25s ease}
.contact-mail:hover,.contact-mail:focus-visible{gap:26px;opacity:.78}

.site-foot{background:var(--ink);color:rgba(251,251,247,.58)}
.foot-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px}
.foot-links{display:flex;gap:24px}.foot-links a{text-decoration:none}.foot-links a:hover{color:var(--white)}

.default-main{padding:calc(var(--header-h) + 100px) 0 120px;min-height:72vh}
.content-wrap{max-width:850px}
.page-title,.post-summary h1{font:500 clamp(42px,6vw,80px)/1 "Archivo",sans-serif;letter-spacing:-.045em;margin:0 0 48px}
.post-summary{padding:42px 0;border-bottom:1px solid var(--line)}
.post-summary h1{font-size:42px;margin-bottom:20px}.post-summary h1 a{text-decoration:none}
.entry-content{font-size:18px}.entry-content h2,.entry-content h3{font-family:"Archivo",sans-serif}.entry-content a{text-decoration-thickness:1px;text-underline-offset:3px}
.text-link-dark{border-bottom-color:rgba(17,35,29,.45)}

.reveal{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}

:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

@media(max-width:960px){
  :root{--header-h:76px}
  .site-nav-list{gap:19px}.site-nav-list a{font-size:11px}
  .hero-title{grid-column:1/-1}
  .hero-copy{grid-column:7/-1}
  .criteria-layout,.market-layout{gap:70px}
  .operator-grid{grid-template-columns:1.25fr .75fr;gap:55px}
}

@media(max-width:760px){
  .wrap{width:min(var(--wrap),calc(100% - 32px))}
  .site-head{background:rgba(17,35,29,.94);border-bottom:1px solid rgba(251,251,247,.1)}
  .logo-mark{width:28px;height:28px}.wordmark{min-width:82px}.wordmark-top{font-size:7px}.wordmark-bottom{font-size:15px}.custom-logo{max-width:180px;max-height:34px}
  .site-nav{position:fixed;inset:0;background:var(--ink);display:flex;align-items:center;padding:100px 24px 50px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
  .site-nav.is-open{opacity:1;visibility:visible}
  .site-nav-list{display:block;width:100%}
  .site-nav-list li{border-bottom:1px solid rgba(251,251,247,.15)}
  .site-nav-list a{display:block;padding:18px 0;font:500 30px "Archivo",sans-serif;color:var(--white)}
  .site-nav-list a:after{display:none}
  .menu-toggle{display:block}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}

  .hero{min-height:auto}
  .production-plot{left:-45%;right:-34%;opacity:.72}
  .production-plot svg{min-width:1080px;width:160%;transform:translateX(-15%)}
  .hero-layout{min-height:780px;padding-top:122px;padding-bottom:26px;display:block}
  .eyebrow{font-size:9px;max-width:260px}
  .hero-title{font-size:clamp(50px,15vw,69px);line-height:.94;margin:76px 0 58px;max-width:690px}
  .hero-lower{display:block;margin:0 0 56px}
  .hero-proof{display:none}
  .hero-copy{max-width:520px}
  .hero-copy .hero-claim{font-size:13px;margin-bottom:14px}
  .hero-copy p{font-size:16px}
  .hero-segments{grid-template-columns:1fr 1fr;width:100%}
  .hero-segments a,.hero-segments a+ a{min-height:60px;padding:0 10px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);grid-template-columns:28px 1fr}
  .hero-segments a:nth-child(2n){border-right:0}
  .hero-segments a:nth-child(n+3){border-bottom:0}
  .hero-segments strong{font-size:11px;white-space:normal;line-height:1.25}
  .plot-label,.plot-coordinate,.plot-node text{display:none}

  section:not(.hero){padding:82px 0}
  .editorial-grid,.criteria-layout,.operator-grid,.market-layout{grid-template-columns:1fr;gap:34px}
  .section-head{margin-bottom:42px}
  .editorial-copy h2,.criteria h2,.market h2,.contact h2,.section-head h2{font-size:42px}
  .editorial-copy>p,.criteria-intro>p:not(.section-label),.market-copy>p:not(.section-label){font-size:17px}
  .focus-list article{grid-template-columns:44px 1fr;gap:12px;padding:22px 0 24px}
  .focus-list h3{font-size:21px}
  .focus-list p{grid-column:2;white-space:normal;font-size:15px}
  .focus-list article>span{margin-top:3px;font-size:10px}
  .focus-list h3{font-size:21px}
  .focus-list p{grid-column:2;font-size:15px}
  .criteria-icons{grid-template-columns:1fr 1fr;gap:40px 26px;margin-top:46px}
  .criteria-item{min-width:0}
  .criteria-icon{width:42px;height:42px;margin-bottom:18px}
  .criteria-label{margin-bottom:8px}
  .criteria-value{max-width:none;font-size:19px}
  .focus-list{grid-template-columns:1fr}
  .operating-model{padding:76px 0 88px;background:var(--paper);color:var(--ink)}
  .operating-model-head{margin-bottom:42px}
  .operating-model-head h2{font-size:48px}
  .operating-model-intro{font-size:17px;margin:24px 0 0}
  .approach-cards{grid-template-columns:1fr;gap:16px}
  .approach-card{min-height:auto;padding:30px 26px 32px;background:var(--white);color:var(--ink)}
  .approach-number{font-size:52px;margin-bottom:52px}
  .approach-card h3{font-size:25px;margin:0 0 14px;color:var(--ink)}
  .approach-card p{font-size:16px;color:rgba(17,35,29,.68)}
  .operator-grid{gap:52px}.big-line{font-size:48px}.operator-copy{font-size:17px}
  .market-layout{gap:54px}.thesis-item{grid-template-columns:42px 1fr;gap:12px}.thesis-item strong{font-size:18px}.thesis-item p{font-size:15px}
  .contact-plot{left:20%;opacity:.12}.contact{padding-bottom:92px!important}.contact-mail{font-size:24px;word-break:break-all}
  .foot-inner{min-height:110px;align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .plot-line,.plot-route,.plot-node,.hero-title,.hero-lower,.hero-segments,.eyebrow{animation:none!important;opacity:1;stroke-dashoffset:0}
  .plot-node .node-ring,.plot-node .node-core,.plot-node text,.hero-segments a:after,.focus-list article:after,.link-arrow{transition:none}
  .reveal,.big-line span,.approach-card{opacity:1;transform:none;transition:none}.approach-card .card-trace rect{animation:none!important;opacity:.30;stroke-dashoffset:0}
}


/* =========================================================
   APPROACH CARDS - CONTINUOUS MOVING BORDER
========================================================= */

.approach-cards {
  position: relative;
}

.approach-card {
  position: relative;
  background: rgba(251,251,247,.90);
  border: 1px solid rgba(var(--accent-rgb),.30);
  box-shadow: none;
  transition:
    opacity .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background-color .22s ease;
}

/* The border animation is continuous and starts at the same time on all cards. */
.approach-card .card-trace rect {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 90 300;
  stroke-dashoffset: 0;
  opacity: .52;
  animation: cardTraceAmbient 5s linear infinite;
  animation-delay: 0s;
}

/* Hover/focus: freeze every card. The active card gets a complete static outline. */
.approach-cards.has-active-card .approach-card .card-trace rect {
  animation-play-state: paused;
}

.approach-cards.has-active-card .approach-card:not(.is-card-active) {
  opacity: .22;
  transform: none;
}

.approach-card.is-card-active {
  opacity: 1;
  background: rgba(251,251,247,.96);
  border-color: rgba(var(--accent-rgb),.72);
  box-shadow: 0 18px 40px rgba(17,35,29,.09);
  transform: none;
}

.approach-card.is-card-active .card-trace rect {
  stroke-dasharray: 390 0;
  stroke-dashoffset: 0;
  opacity: 1;
  animation: none;
}

@keyframes cardTraceAmbient {
  0% {
    stroke-dashoffset: 0;
    opacity: .48;
  }
  12% {
    opacity: .82;
  }
  52% {
    opacity: .82;
  }
  100% {
    stroke-dashoffset: -390;
    opacity: .48;
  }
}

/* Accent colour for selected text, matching CTA/highlights. */
::selection {
  background: var(--accent);
  color: var(--ink);
}

::-moz-selection {
  background: var(--accent);
  color: var(--ink);
}

@media (max-width: 760px) {
  .approach-card {
    background: rgba(251,251,247,.90);
  }
}

@media (prefers-reduced-motion: reduce) {
  .approach-card,
  .approach-cards.has-active-card .approach-card:not(.is-card-active),
  .approach-card.is-card-active {
    transition: none;
  }

  .approach-card .card-trace rect,
  .approach-card.is-card-active .card-trace rect {
    animation: none!important;
    stroke-dasharray: 390 0;
    stroke-dashoffset: 0;
    opacity: .60;
  }
}


/* =========================================================
   TEAM TEASER
========================================================= */
.team-teaser{background:var(--paper-2);border-top:1px solid var(--line)}
.team-teaser-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.team-teaser-copy{max-width:760px}
.team-teaser-copy h2{font:500 clamp(42px,5.2vw,72px)/1 "Archivo",sans-serif;letter-spacing:-.045em;margin:0 0 34px}
.team-teaser-copy>p:not(.section-label){font-size:20px;line-height:1.55;color:var(--muted);max-width:720px}
.team-teaser-copy .text-link{margin-top:26px}
.team-teaser-people{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-self:stretch;align-items:end}
.team-teaser-person{display:block;text-decoration:none;color:var(--ink);min-width:0}
.team-teaser-person img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#d7d5ce;filter:saturate(.88);transition:transform .35s ease,filter .35s ease}
.team-teaser-person:hover img,.team-teaser-person:focus-visible img{transform:translateY(-4px);filter:saturate(1)}
.team-teaser-name{display:block;margin-top:14px;font:500 17px/1.1 "Archivo",sans-serif;letter-spacing:-.02em}
.team-teaser-role{display:block;margin-top:5px;font:500 10px/1.1 "IBM Plex Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(17,35,29,.48)}

/* =========================================================
   TEAM PAGE
========================================================= */
.team-page{background:var(--paper)}
.team-page-hero{position:relative;overflow:hidden;padding:calc(var(--header-h) + 92px) 0 108px;background:var(--ink);color:var(--white)}
.team-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:70px;align-items:end;min-height:470px}
.team-page-hero-copy{position:relative;z-index:2;max-width:850px}
.team-page-hero .section-label{color:rgba(251,251,247,.55);margin:0 0 22px}
.team-page-hero h1{max-width:860px;font:500 clamp(54px,7vw,96px)/.95 "Archivo",sans-serif;letter-spacing:-.052em;margin:0 0 34px}
.team-page-hero .team-page-hero-copy>p:not(.section-label){max-width:720px;font-size:19px;line-height:1.55;color:rgba(251,251,247,.72);margin:0}
.team-hero-route{position:absolute;inset:0 0 0 auto;width:48%;pointer-events:none;opacity:.72}
.team-hero-route svg{width:100%;height:100%}
.team-hero-route path{fill:none;stroke:rgba(251,251,247,.18);stroke-width:1;vector-effect:non-scaling-stroke}
.team-hero-route path:nth-of-type(2){stroke:rgba(var(--accent-rgb),.55)}
.team-hero-route circle{fill:var(--accent)}

.team-roster{padding:116px 0 124px;background:var(--white);border-top:1px solid var(--line)}
.team-roster-list{display:grid;gap:120px}
.team-person{position:relative;display:grid;grid-template-columns:72px minmax(0,5.2fr) minmax(0,6.8fr);gap:28px;align-items:start}
.team-person-marc{grid-template-columns:72px minmax(0,6.8fr) minmax(0,5.2fr)}
.team-person-marc .team-photo{grid-column:3;grid-row:1}
.team-person-marc .team-person-copy{grid-column:2;grid-row:1;align-self:center}
.team-person-index{padding-top:8px;font:500 13px/1 "IBM Plex Sans",sans-serif;letter-spacing:.16em;color:rgba(17,35,29,.42)}
.team-photo{position:relative;aspect-ratio:4/5;background:#d7d5ce;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.9);transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .4s ease}
.team-person:hover .team-photo img,.team-person:focus-within .team-photo img{transform:scale(1.035);filter:saturate(1)}
.team-photo-line{position:absolute;left:0;bottom:0;width:34%;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(.2);transition:transform .45s cubic-bezier(.2,.75,.25,1)}
.team-person:hover .team-photo-line,.team-person:focus-within .team-photo-line{transform:scaleX(1)}
.team-person-copy{padding-top:12px;max-width:620px}
.team-kicker{font:500 10px/1 "IBM Plex Sans",sans-serif;letter-spacing:.14em;color:rgba(17,35,29,.46);margin:0 0 16px}
.team-person h2{font:500 clamp(34px,4vw,52px)/.98 "Archivo",sans-serif;letter-spacing:-.035em;margin:0 0 10px}
.team-role{font:500 14px/1.35 "IBM Plex Sans",sans-serif;color:var(--ink);margin:0 0 24px}
.team-person>p:not(.team-kicker):not(.team-role){font-size:16px;line-height:1.58;color:var(--muted);margin:0 0 17px;max-width:590px}
.team-person.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.75,.25,1)}
.team-person.reveal.is-visible{opacity:1;transform:none}
.team-person-marc.reveal{transition-delay:.12s}

.team-experience{margin-top:118px;padding-top:34px;border-top:1px solid var(--line);overflow:hidden}
.team-experience-head{display:flex;align-items:baseline;gap:28px;margin-bottom:28px}
.team-experience-head .section-label{margin:0;flex:0 0 auto}
.team-experience-head>p:not(.section-label){margin:0;color:var(--muted);font-size:14px}
.experience-marquee{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-track{display:flex;width:max-content;animation:experienceMarquee 28s linear infinite}
.experience-track span{display:flex;align-items:center;justify-content:center;min-width:190px;height:88px;padding:0 30px;border-right:1px solid var(--line);font:600 11px/1 "IBM Plex Sans",sans-serif;letter-spacing:.12em;color:rgba(17,35,29,.45);white-space:nowrap}
@keyframes experienceMarquee{to{transform:translateX(-50%)}}

@media (max-width:760px){
  .team-page-hero{padding:120px 0 78px}
  .team-page-hero-grid{grid-template-columns:1fr;gap:30px;min-height:auto}
  .team-page-hero h1{font-size:48px;margin-bottom:28px}
  .team-page-hero .team-page-hero-copy>p:not(.section-label){font-size:17px}
  .team-hero-route{position:relative;width:100%;height:180px;opacity:.55}
  .team-roster{padding:82px 0 92px}
  .team-roster-list{gap:76px}
  .team-person,.team-person-marc{grid-template-columns:1fr;gap:20px}
  .team-person-marc .team-photo{grid-column:auto;grid-row:auto}
  .team-person-marc .team-person-copy{grid-column:auto;grid-row:auto;align-self:auto}
  .team-person-index{padding-top:0}
  .team-person-copy{padding-top:0}
  .team-person h2{font-size:38px}
  .team-experience{margin-top:78px}
  .team-experience-head{display:block}
  .team-experience-head>p:not(.section-label){margin-top:12px}
  .experience-track span{min-width:160px;height:72px;padding:0 22px}
}


/* v1.13.2 hero alignment fix */
.hero-segments{
  width:100%;
  margin-inline:0;
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.hero-segments a{
  min-width:0;
}
.hero-segments strong{
  overflow-wrap:anywhere;
}
@media (max-width:1100px) and (min-width:761px){
  .hero-segments a{
    grid-template-columns:20px minmax(0,1fr);
    padding-right:8px;
  }
  .hero-segments a + a{
    padding-left:8px;
  }
  .hero-segments strong{
    font-size:10px;
    line-height:1.18;
  }
}

/* v1.14.1: search-profile consistency */
.criteria-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.criteria-value br {
  display: block;
}
.criteria-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 761px) {
  .criteria-icons {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .criteria-label {
    min-height: 1.2em;
  }
  .criteria-value {
    min-height: 2.3em;
  }
}


/* v1.14.2: corrected hero composition and home team teaser */
.hero {
  height: auto;
  min-height: calc(100svh - 32px);
}

.hero-layout {
  min-height: 0;
  height: auto;
  padding-top: calc(var(--header-h) + 52px);
  padding-bottom: 26px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.hero-main {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
  gap: 56px;
  align-items: end;
  margin-top: clamp(48px, 7vh, 84px);
  margin-bottom: 36px;
}

.hero-title {
  grid-column: 1;
  max-width: 820px;
  margin: 0;
  align-self: end;
}

.hero-copy {
  grid-column: 2;
  width: 100%;
  max-width: 520px;
  justify-self: end;
  align-self: end;
}

.hero-copy p {
  margin-bottom: 22px;
}

.hero-segments {
  width: 100%;
  margin: 0;
  flex: 0 0 auto;
}

.team-teaser-grid {
  display: block;
}

.team-teaser-copy {
  max-width: 900px;
}

@media (max-width: 900px) and (min-width: 761px) {
  .hero-main {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
    gap: 36px;
  }

  .hero-copy p {
    font-size: 16px;
  }

  .hero-segments strong {
    font-size: 9.5px;
  }
}

@media (max-width: 760px) {
  .hero {
    min-height: 0;
  }

  .hero-layout {
    padding-top: 116px;
    padding-bottom: 22px;
  }

  .hero-main {
    display: block;
    margin-top: 48px;
    margin-bottom: 30px;
  }

  .hero-title {
    max-width: none;
    margin: 0 0 40px;
  }

  .hero-copy {
    max-width: 560px;
  }
}


/* v1.14.4: hero width, alignment and six-vertical rail */
.hero-layout {
  width: min(1360px, calc(100% - 56px));
}

.hero-main {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
  gap: 64px;
  align-items: end;
  margin-top: clamp(48px, 7vh, 84px);
  margin-bottom: 36px;
}

.hero-title {
  grid-column: 1;
  max-width: 820px;
  margin: 0;
}

.hero-copy {
  grid-column: 2;
  width: 100%;
  max-width: 500px;
  justify-self: end;
  align-self: end;
}

.hero-segments {
  width: 100%;
  margin: 0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.hero-segments a {
  min-width: 0;
}

.hero-segments strong {
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .hero-layout {
    width: min(1320px, calc(100% - 48px));
  }

  .hero-main {
    grid-template-columns: minmax(0, 1.85fr) minmax(300px, .9fr);
    gap: 44px;
  }

  .hero-copy {
    max-width: 460px;
  }

  .hero-segments a {
    grid-template-columns: 20px minmax(0, 1fr);
    padding-right: 8px;
  }

  .hero-segments a + a {
    padding-left: 8px;
  }

  .hero-segments strong {
    font-size: 10px;
    line-height: 1.18;
  }
}

@media (max-width: 760px) {
  .hero-layout {
    width: min(var(--wrap), calc(100% - 32px));
  }

  .hero-main {
    display: block;
    margin-top: 48px;
    margin-bottom: 30px;
  }
}

/* =========================================================
   v1.14.5 - restore v1.10 hero composition, extended to 6 verticals
========================================================= */
.hero {
  position: relative;
  min-height: 820px;
  height: min(100svh, 900px);
  overflow: hidden;
  background: var(--ink);
  color: var(--white);
  isolation: isolate;
}

.hero-layout {
  position: relative;
  z-index: 2;
  width: min(var(--wrap), calc(100% - 56px));
  min-height: 820px;
  height: 100%;
  padding-top: calc(var(--header-h) + 76px);
  padding-bottom: 38px;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto auto;
  column-gap: 24px;
}

.hero-title {
  grid-column: 1 / 11;
  align-self: center;
  max-width: none;
  margin: 42px 0 54px;
  font: 500 clamp(52px, 5.7vw, 88px) / .94 "Archivo", sans-serif;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.hero-lower {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  align-items: end;
  margin-bottom: 48px;
}

.hero-proof {
  grid-column: 1 / 6;
  min-height: 1px;
}

.hero-copy {
  grid-column: 8 / -1;
  width: 100%;
  max-width: 510px;
  justify-self: end;
  align-self: end;
}

.hero-copy p {
  font-size: 18px;
  line-height: 1.55;
  margin: 0 0 28px;
}

.hero-segments {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--line-light);
}

.hero-segments a {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  min-height: 68px;
  padding: 0 14px 0 0;
  text-decoration: none;
  border-right: 1px solid var(--line-light);
  color: rgba(251, 251, 247, .64);
  overflow: hidden;
}

.hero-segments a + a {
  padding-left: 14px;
}

.hero-segments a:last-child {
  border-right: 0;
}

.hero-segments strong {
  min-width: 0;
  font: 500 11px / 1.2 "IBM Plex Sans", sans-serif;
  color: inherit;
  white-space: nowrap;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .hero-segments a {
    grid-template-columns: 22px minmax(0, 1fr);
    padding-right: 8px;
  }

  .hero-segments a + a {
    padding-left: 8px;
  }

  .hero-segments strong {
    font-size: 10px;
    line-height: 1.15;
  }
}

@media (max-width: 760px) {
  .hero {
    min-height: auto;
    height: auto;
  }

  .hero-layout {
    width: min(var(--wrap), calc(100% - 32px));
    min-height: 780px;
    height: auto;
    padding-top: 116px;
    padding-bottom: 22px;
    display: block;
  }

  .hero-title {
    max-width: none;
    margin: 76px 0 40px;
    font-size: clamp(50px, 15vw, 69px);
    line-height: .94;
  }

  .hero-lower {
    display: block;
    margin: 0 0 30px;
  }

  .hero-copy {
    max-width: 560px;
  }

  .hero-copy p {
    font-size: 16px;
    margin-bottom: 22px;
  }

  .hero-segments {
    grid-template-columns: 1fr 1fr;
  }

  .hero-segments a,
  .hero-segments a + a {
    min-height: 60px;
    padding: 0 10px;
    grid-template-columns: 28px minmax(0, 1fr);
    border-right: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
  }

  .hero-segments a:nth-child(2n) {
    border-right: 0;
  }

  .hero-segments a:nth-child(n + 5) {
    border-bottom: 0;
  }

  .hero-segments strong {
    font-size: 11px;
    line-height: 1.25;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-title,
  .hero-lower,
  .hero-segments {
    animation: none !important;
  }
}

/* v1.14.8: dark green experience marquee with cream logos */
.team-experience .experience-marquee {
  background: var(--ink);
  border-top: 1px solid rgba(251,251,247,.12);
  border-bottom: 1px solid rgba(251,251,247,.12);
}

.team-experience .experience-track {
  display: flex;
  width: max-content;
  animation: experienceMarquee 30s linear infinite;
  will-change: transform;
}

.team-experience .experience-logo {
  flex: 0 0 230px;
  width: 230px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  border-right: 1px solid rgba(251,251,247,.10);
  color: var(--white);
  white-space: nowrap;
}

.team-experience .experience-logo img {
  width: auto;
  max-width: 160px;
  max-height: 44px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(95%) sepia(9%) saturate(360%) hue-rotate(16deg) brightness(105%) contrast(96%);
  opacity: .92;
}

.team-experience .experience-logo-text {
  font: 600 17px/1 "IBM Plex Sans",sans-serif;
  letter-spacing: .12em;
}

.team-experience .experience-logo-onestly {
  font: 600 21px/.95 "Archivo",sans-serif;
  letter-spacing: -.04em;
}

.team-experience .experience-logo-ebs {
  text-align: center;
  font: 600 18px/1 "IBM Plex Sans",sans-serif;
  letter-spacing: .07em;
}

.team-experience .experience-logo-ebs small {
  display: block;
  margin-top: 7px;
  font-size: 8px;
  letter-spacing: .14em;
  opacity: .72;
}

.team-experience .experience-logo-yale {
  font: 600 34px/1 Georgia,serif;
  letter-spacing: -.03em;
}

@media (max-width:760px){
  .team-experience .experience-logo {
    flex-basis: 180px;
    width: 180px;
    height: 78px;
    padding: 0 20px;
  }
  .team-experience .experience-logo img {
    max-width: 130px;
    max-height: 34px;
  }
  .team-experience .experience-logo-text {font-size:13px}
  .team-experience .experience-logo-onestly {font-size:17px}
  .team-experience .experience-logo-ebs {font-size:14px}
  .team-experience .experience-logo-ebs small {font-size:7px}
  .team-experience .experience-logo-yale {font-size:28px}
}

/* v1.14.8: logo-led experience marquee */
.team-experience .experience-logo img {
  width: auto;
  max-width: 170px;
  max-height: 46px;
  object-fit: contain;
  display: block;
  filter: brightness(0) saturate(100%) invert(95%) sepia(9%) saturate(360%) hue-rotate(16deg) brightness(105%) contrast(96%);
  opacity: .94;
}
.team-experience .experience-logo:nth-child(8n+2) img { max-width: 145px; }
.team-experience .experience-logo:nth-child(8n+7) img { max-width: 175px; }
.team-experience .experience-logo:nth-child(8n+8) img { max-width: 115px; max-height: 42px; }
@media (max-width:760px){
  .team-experience .experience-logo img { max-width: 135px; max-height: 38px; }
  .team-experience .experience-logo:nth-child(8n+2) img { max-width: 118px; }
  .team-experience .experience-logo:nth-child(8n+7) img { max-width: 145px; }
  .team-experience .experience-logo:nth-child(8n+8) img { max-width: 95px; max-height: 34px; }
}


/* v1.14.9: move selected experience banner directly below Team hero */
.team-experience-banner {
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: var(--ink);
}

.team-experience-banner .experience-marquee {
  width: 100%;
  border: 0;
  background: var(--ink);
  overflow: hidden;
}

.team-experience-banner .experience-track {
  display: flex;
  width: max-content;
  animation: experienceMarquee 32s linear infinite;
  will-change: transform;
}

.team-experience-banner .experience-logo {
  flex: 0 0 220px;
  width: 220px;
  height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 26px;
  border-right: 1px solid rgba(251,251,247,.10);
}

.team-experience-banner .experience-logo img {
  display: block;
  width: auto;
  max-width: 160px;
  max-height: 52px;
  object-fit: contain;
  filter: none;
  opacity: .94;
}

.team-experience-banner .experience-logo:nth-child(8n+2) img { max-width: 74px; max-height: 54px; }
.team-experience-banner .experience-logo:nth-child(8n+3) img { max-width: 170px; max-height: 50px; }
.team-experience-banner .experience-logo:nth-child(8n+4) img { max-width: 170px; max-height: 46px; }
.team-experience-banner .experience-logo:nth-child(8n+5) img { max-width: 174px; max-height: 48px; }
.team-experience-banner .experience-logo:nth-child(8n+6) img { max-width: 168px; max-height: 46px; }
.team-experience-banner .experience-logo:nth-child(8n+7) img { max-width: 168px; max-height: 52px; }
.team-experience-banner .experience-logo:nth-child(8n+8) img { max-width: 138px; max-height: 58px; }

@media (max-width:760px) {
  .team-experience-banner .experience-logo {
    flex-basis: 170px;
    width: 170px;
    height: 80px;
    padding: 0 18px;
  }
  .team-experience-banner .experience-logo img {
    max-width: 128px;
    max-height: 40px;
  }
  .team-experience-banner .experience-logo:nth-child(8n+2) img { max-width: 58px; max-height: 42px; }
  .team-experience-banner .experience-logo:nth-child(8n+8) img { max-width: 104px; max-height: 44px; }
}

/* v1.14.9: no role-kickers above team names */
.team-kicker { display: none !important; }

/* v1.15.0: additional selected experience marks */
.team-experience-banner .experience-logo-f1 img {
  max-width: 175px;
  max-height: 48px;
}

.team-experience-banner .experience-logo-rar img {
  max-width: 175px;
  max-height: 48px;
}

@media (max-width: 760px) {
  .team-experience-banner .experience-logo-f1 img,
  .team-experience-banner .experience-logo-rar img {
    max-width: 135px;
    max-height: 40px;
  }
}


/* v1.15.1: remove empty hero proof slot */
.hero-lower {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
}
.hero-copy {
  grid-column: 7 / -1;
}
@media (max-width: 960px) {
  .hero-copy {
    grid-column: 7 / -1;
  }
}
@media (max-width: 760px) {
  .hero-lower {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    grid-column: 1 / -1;
  }
}

/* v1.15.1: keep every marquee logo inside its mobile cell */
@media (max-width: 760px) {
  .team-experience-banner .experience-logo {
    flex: 0 0 170px;
    width: 170px;
    min-width: 170px;
    max-width: 170px;
    padding-inline: 14px;
    overflow: hidden;
  }
  .team-experience-banner .experience-logo img {
    width: auto;
    max-width: 100% !important;
    max-height: 40px !important;
    object-fit: contain;
  }
  .team-experience-banner .experience-logo-f1 img,
  .team-experience-banner .experience-logo-rar img {
    max-width: 100% !important;
    max-height: 40px !important;
  }
}


/* v1.15.2: editable experience logo band */
.team-experience-banner {
  background: var(--ink);
  color: var(--white);
  overflow: hidden;
}

.team-experience-banner .experience-banner-wrap {
  max-width: var(--wrap);
}

.team-experience-banner .experience-banner-head {
  padding: 26px 0 0;
}

.team-experience-banner .experience-banner-head .section-label {
  margin: 0;
  color: rgba(251, 251, 247, 0.5);
}

.team-experience-banner .experience-marquee {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(251, 251, 247, 0.12);
  border-bottom: 1px solid rgba(251, 251, 247, 0.12);
  margin-top: 16px;
}

.team-experience-banner .experience-track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: experienceMarquee 28s linear infinite;
  will-change: transform;
}

.team-experience-banner .experience-logo {
  flex: 0 0 240px;
  width: 240px;
  min-width: 240px;
  height: 96px;
  padding: 0 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(251, 251, 247, 0.08);
  box-sizing: border-box;
}

.team-experience-banner .experience-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 54px;
  object-fit: contain;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 0.94;
}

.team-experience-banner .experience-marquee-single .experience-track {
  animation: experienceMarqueeSingle 14s linear infinite;
}

@keyframes experienceMarqueeSingle {
  from { transform: translateX(110vw); }
  to { transform: translateX(-360px); }
}

@media (max-width: 760px) {
  .team-experience-banner .experience-banner-head {
    padding-top: 20px;
  }

  .team-experience-banner .experience-logo {
    flex-basis: 180px;
    width: 180px;
    min-width: 180px;
    height: 78px;
    padding: 0 18px;
  }

  .team-experience-banner .experience-logo img {
    max-width: 100%;
    max-height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .team-experience-banner .experience-track,
  .team-experience-banner .experience-marquee-single .experience-track {
    animation: none;
    transform: none;
  }
}


/* v1.15.3: equal-height team image / copy rows, crop portrait from bottom */
.team-roster-list .team-person {
  align-items: stretch;
}
.team-roster-list .team-photo {
  height: 100%;
  min-height: 620px;
  aspect-ratio: auto;
}
.team-roster-list .team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.team-roster-list .team-person-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 960px) {
  .team-roster-list .team-photo {
    min-height: 520px;
  }
}
@media (max-width: 760px) {
  .team-roster-list .team-person {
    align-items: start;
  }
  .team-roster-list .team-photo {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
  .team-roster-list .team-person-copy {
    display: block;
  }
}

/* Legal pages */
.legal-page{background:var(--paper);color:var(--ink);min-height:100vh}
.legal-hero{padding:150px 0 52px;background:var(--ink);color:var(--white)}
.legal-hero .section-label{margin-bottom:16px;color:rgba(251,251,247,.62)}
.legal-hero h1{margin:0;font-family:"Archivo",sans-serif;font-size:clamp(44px,7vw,82px);line-height:.98;letter-spacing:-.055em}
.legal-content{padding:72px 0 110px}
.legal-wrap{max-width:860px;margin-left:auto;margin-right:auto}
.legal-prose h2{font-family:"Archivo",sans-serif;font-size:22px;line-height:1.15;letter-spacing:-.025em;margin:48px 0 14px}
.legal-prose h2:first-child{margin-top:0}
.legal-prose p{margin:0 0 18px;color:rgba(17,35,29,.78);font-size:16px;line-height:1.72}
.legal-prose a{text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:720px){.legal-hero{padding:120px 0 38px}.legal-content{padding:48px 0 80px}.legal-wrap{width:min(100% - 40px,860px)}.legal-prose h2{margin-top:36px}}
