.ownership{--paper:#F6F3EE;--panel:#FFFDFA;--ink:#191817;--muted:#68615A;--line:#DED8CF;--edge:#C7BFB3;--iris:#6861D8}
.ownership *{box-sizing:border-box}
.ownership button:focus-visible{outline:2px solid var(--iris);outline-offset:4px}
.ownership{max-width:1360px;margin:0 auto;padding:72px 36px 0}
.ownership .partnership{display:grid;grid-template-columns:minmax(0,1fr) 144px minmax(0,1fr);align-items:stretch}
.ownership .panel{min-width:0;display:grid;grid-template-rows:200px 1fr 244px;border:1px solid var(--edge);border-radius:4px;background:var(--panel);overflow:hidden}
.ownership .illustrated-header{position:relative;overflow:hidden;background:var(--panel);border-bottom:1px solid var(--line)}
.ownership .scene-art{display:block;width:100%;height:100%;object-fit:cover}
.ownership .wall-logo,.ownership .software-logo{position:absolute;height:auto;display:block;z-index:1;pointer-events:none}
.ownership .wall-logo{width:43%;left:38%;top:15%}
.ownership .software-logo{width:25%;left:16.5%;top:14%}
.ownership .firm-work,.ownership .firmera-work{padding:24px 25px 22px}
.ownership .panel-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin:0 0 12px}
.ownership .eyebrow{font-size:9px;font-weight:600;letter-spacing:1.5px;line-height:1.4}
.ownership .quiet-label,.ownership .ownership-badge{font-size:9px;color:var(--muted);line-height:1.4}
.ownership .ownership-badge{white-space:nowrap}
.ownership .firm-work>h2,.ownership .firmera-work>h2{font:normal 25px/1.22 Georgia,serif;letter-spacing:-.5px;margin:0 0 21px}
.ownership .firm-work>h2{font-size:23px}
.ownership .responsibility{display:flex;align-items:flex-start;gap:13px;margin:0 0 17px}
.ownership .responsibility:last-child{margin-bottom:0}
.ownership .step{font:14px/1.5 Georgia,serif;color:var(--muted);padding-top:1px}
.ownership .responsibility h3{font-size:12px;line-height:1.45;font-weight:550;margin:0 0 4px}
.ownership .responsibility p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}
.ownership .services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
.ownership .service-node{border:0;padding:0 0 9px;background:none;min-width:0;display:flex;flex-direction:column;align-items:center;position:relative;min-height:78px}
.ownership .icon-wrap{display:block;width:44px;height:44px;transition:transform .3s ease;margin-bottom:8px}
.ownership .icon-wrap img{height:100%;width:100%;object-fit:contain;display:block}
.ownership .service-name{font-size:11px;line-height:1.4;text-align:center}
.ownership .service-node::after{content:'';position:absolute;bottom:0;left:38%;right:38%;height:1px;background:var(--ink);transform:scaleX(0);transition:transform .3s}
.ownership .service-node[aria-pressed=true]::after{transform:scaleX(1)}
.ownership .service-node:hover .icon-wrap,.ownership .service-node[aria-pressed=true] .icon-wrap{transform:translateY(-3px)}
.ownership .panel-footer{border-top:1px solid var(--line);background:var(--paper);padding:22px 25px;position:relative}
.ownership .detail-heading{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:8px}
.ownership .detail-index{font-size:9px;white-space:nowrap;color:var(--muted)}
.ownership .detail-index>span{font:18px Georgia,serif;color:var(--ink)}
.ownership .detail-heading h3{font:21px/1.25 Georgia,serif;letter-spacing:-.3px;margin:0}
.ownership #detail-copy{font-size:11px;line-height:1.65;color:var(--muted);margin:0 0 17px 48px;max-width:505px;min-height:36px}
.ownership .service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-left:48px;position:relative}
.ownership .service-steps::before{content:'';height:1px;background:var(--edge);position:absolute;top:12px;left:14px;right:14px}
.ownership .service-step{position:relative;min-width:0}
.ownership .service-step .stage-num{height:25px;width:25px;border:1px solid var(--edge);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;background:var(--paper);position:relative;margin-bottom:9px}
.ownership .stage-title{font-size:10px;font-weight:550;display:block;line-height:1.4}
.ownership .stage-note{font-size:9px;color:var(--muted);line-height:1.5;display:block;margin-top:3px}
.ownership .firm-result{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ownership .firm-result>.eyebrow{color:var(--muted);font-size:8px;margin-bottom:14px}
.ownership .result-heading{display:flex;align-items:center;gap:11px}
.ownership .result-heading img{height:34px;width:34px;object-fit:contain}
.ownership .result-heading h3{font:19px/1.25 Georgia,serif;letter-spacing:-.3px;margin:0}
.ownership .firm-result>p{font-size:11px;line-height:1.65;color:var(--muted);margin:11px 0 13px}
.ownership .result-status{display:flex;align-items:flex-start;gap:7px;font-size:9px;line-height:1.5}
.ownership .status-mark{width:15px;height:15px;border:1px solid var(--edge);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;flex:none}
.ownership .firm-result.changing .result-heading,.ownership .service-detail.changing .service-steps{animation:ow-content-in .4s ease both}
.ownership .ownership-line{text-align:center;margin:43px auto 0;max-width:860px}
.ownership .ownership-line h2{font:normal clamp(26px,3vw,37px)/1.28 Georgia,serif;letter-spacing:-.7px;margin:0}
.ownership .ownership-line h2 span{color:var(--muted)}
.ownership .ownership-line>p{font-size:11px;color:var(--muted);line-height:1.6;margin:16px auto 0}
@keyframes ow-orbit{to{transform:rotate(360deg)}}
@keyframes ow-icon-in{from{opacity:.2;transform:rotate(-20deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes ow-content-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1120px) and (min-width:861px){.ownership{padding-inline:26px}
.ownership .partnership{grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr)}
.ownership .firm-work,.ownership .firmera-work,.ownership .panel-footer{padding-inline:20px}
.ownership .quiet-label{display:none}
.ownership .panel{grid-template-rows:180px 1fr 254px}
.ownership .detail-heading{grid-template-columns:46px minmax(0,1fr);gap:8px}
.ownership .detail-heading h3{font-size:18px}
.ownership #detail-copy{margin-left:0}
.ownership .service-steps{margin-left:0;gap:9px}
.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:23px}}
@media(max-width:860px){.ownership{padding:36px 20px 30px}
.ownership .partnership{display:flex;flex-direction:column;max-width:510px;margin:auto}
.ownership .panel{grid-template-rows:180px auto auto}
.ownership .firm-work,.ownership .firmera-work{padding:24px 23px}
.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:25px;margin-bottom:24px}
.ownership .responsibility{gap:15px;margin-bottom:19px}
.ownership .responsibility h3{font-size:13px}
.ownership .responsibility p{font-size:11px}
.ownership .firm-result{min-height:176px}
.ownership .panel-footer{padding:23px}
.ownership .result-heading h3{font-size:21px}
.ownership .firm-result>p{font-size:11px;max-width:330px}
.ownership .firmera-panel{grid-template-rows:160px auto auto}
.ownership .services{gap:17px 10px}
.ownership .service-node{min-height:81px}
.ownership .icon-wrap{width:45px;height:45px}
.ownership .service-name{font-size:10px}
.ownership .quiet-label{font-size:8px}
.ownership .detail-heading{grid-template-columns:46px minmax(0,1fr);gap:8px}
.ownership .detail-heading h3{font-size:20px}
.ownership #detail-copy{font-size:11px;margin:0 0 19px;min-height:0}
.ownership .service-steps{margin:0;gap:10px}
.ownership .service-detail{min-height:258px}
.ownership .stage-title{font-size:10px}
.ownership .stage-note{font-size:9px}
.ownership .ownership-line{margin-top:38px}
.ownership .ownership-line h2{font-size:28px;line-height:1.32;letter-spacing:-.5px}
.ownership .ownership-line h2 span{display:block;margin-top:4px}
.ownership .ownership-line h2 br{display:none}
.ownership .ownership-line>p{font-size:11px;max-width:270px;margin-top:17px}
.ownership .support-scene .scene-art{object-fit:cover}
.ownership .software-logo{width:25%;top:14%;left:16.5%}}
@media(max-width:360px){.ownership{padding-inline:14px}
.ownership .firm-work,.ownership .firmera-work,.ownership .panel-footer{padding-inline:18px}
.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:23px}
.ownership .quiet-label{display:none}
.ownership .detail-heading h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ownership *,.ownership *::before,.ownership *::after{animation:none!important;transition:none!important}}
.ownership .wall-logo{left:48%;width:35%;top:12%}
.ownership .support-scene .scene-art{object-position:center top}
@media(max-width:860px){.ownership .firmera-panel{grid-template-rows:auto auto auto}
.ownership .support-scene{aspect-ratio:3/1}
.ownership .support-scene .scene-art{object-fit:cover}
.ownership .software-logo{top:14%}}
.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:30px;line-height:1.16;letter-spacing:-.6px;margin-bottom:23px;min-height:70px}
.ownership .firm-work .responsibility{margin-bottom:19px}
.ownership .firm-work .responsibility:last-child{margin-bottom:0}
.ownership .practice-scene .scene-art,.ownership .support-scene .scene-art{object-position:center top}
.ownership .wall-logo,.ownership .software-logo{width:min(40%,208px);left:50%;top:24%;transform:translate(-50%,-50%)}
.ownership .ownership-line{margin-top:38px}
.ownership .ownership-line h2{font-size:34px;line-height:1.2}
.ownership .ownership-line>p{font-size:12px;line-height:1.8;margin-top:14px;max-width:670px}
@media(max-width:1120px) and (min-width:861px){.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:26px;min-height:61px}
.ownership .detail-heading h3{font-size:18px}
.ownership .ownership-line h2{font-size:32px}}
@media(max-width:860px){.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:28px;min-height:0}
.ownership .firm-panel{grid-template-rows:180px auto auto}
.ownership .firmera-panel{grid-template-rows:auto auto auto}
.ownership .ownership-line h2{font-size:29px}
.ownership .ownership-line>p{font-size:11px;max-width:335px}
.ownership .ownership-line>p br{display:none}}
@media(max-width:360px){.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:26px}
.ownership .ownership-line h2{font-size:27px}}
/* Native section: isolated from the site's editorial heading rules. */
.ownership{font:15px/1.55 var(--sans);padding-top:12px;padding-bottom:20px;color:var(--ink)}
.ownership .responsibility h3{font-family:var(--sans);letter-spacing:0}
.ownership .eyebrow{margin:0}
.ownership .firm-result>.eyebrow{margin-bottom:14px}
.ownership button{color:inherit;font-family:inherit;cursor:pointer}
.ownership .scene-art{max-width:none}
.ownership .ownership-line>p{font-size:13px}
@media(max-width:860px){.ownership{padding-top:8px;padding-bottom:12px}.ownership .ownership-line>p{font-size:12px}}

/* One shared geometry for the end points, ring dots and center axis. */
.ownership .service-connection{--beacon:76px;--dot:8px;position:relative;align-self:stretch;min-width:0;--connector-ink:#918a81;z-index:2;pointer-events:none}
.ownership .connection-line{position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--edge);transform:translateY(-50%)}
.ownership .connection-line::before,.ownership .connection-line::after,.ownership .orbit::before,.ownership .orbit::after{content:'';position:absolute;width:var(--dot);height:var(--dot);border:1px solid var(--connector-ink);border-radius:50%;background:var(--paper);transform:translate(-50%,-50%);box-sizing:border-box}
.ownership .connection-line::before{top:50%;left:0}
.ownership .connection-line::after{top:50%;left:100%}
.ownership .service-beacon{position:absolute;width:var(--beacon);height:var(--beacon);top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid var(--edge);border-radius:50%;background:var(--paper);display:grid;place-items:center;z-index:1}
.ownership .service-beacon img{width:42px;height:42px;object-fit:contain}
.ownership .orbit{position:absolute;inset:-8px;border:1px solid var(--line);border-radius:50%;animation:ow-orbit 20s linear infinite}
.ownership .orbit::before{top:0;left:50%}
.ownership .orbit::after{top:100%;left:50%}
.ownership .connection-label{position:absolute;top:calc(50% + 57px);left:50%;transform:translateX(-50%);width:136px;margin:0;text-align:center;font:14px/1.3 Georgia,serif}
.ownership .connection-note{position:absolute;top:calc(50% + 81px);left:50%;transform:translateX(-50%);width:140px;margin:0;text-align:center;font-size:8px;color:var(--muted)}
.ownership.paused .orbit{animation-play-state:paused}
.ownership .service-beacon.changing img{animation:ow-icon-in .45s ease both}
.ownership .detail-heading{margin-bottom:12px}
.ownership #detail-copy,.ownership .service-steps{margin-left:56px}
.ownership .panel{grid-template-rows:200px 1fr 224px}
@media(min-width:861px) and (max-width:1120px){
 .ownership .service-connection{--beacon:66px;--dot:7px}
 .ownership .service-beacon img{width:36px;height:36px}
 .ownership .connection-label{font-size:12px;width:102px;top:calc(50% + 52px)}
 .ownership .connection-note{font-size:7px;width:102px;top:calc(50% + 75px)}
 .ownership .panel{grid-template-rows:180px 1fr 230px}
 .ownership #detail-copy,.ownership .service-steps{margin-left:0}
}
@media(max-width:860px){
 .ownership .service-connection{--beacon:70px;--dot:7px;height:164px;flex:none}
 .ownership .connection-line{top:0;left:50%;height:100%;width:1px;transform:translateX(-50%)}
 .ownership .connection-line::before{left:50%;top:0}
 .ownership .connection-line::after{left:50%;top:100%}
 .ownership .service-beacon img{width:37px;height:37px}
 .ownership .connection-label,.ownership .connection-note{left:calc(50% + 54px);transform:none;text-align:left;width:calc(50% - 57px)}
 .ownership .connection-label{top:55px;font-size:13px;line-height:1.4}
 .ownership .connection-note{top:96px;font-size:8px;line-height:1.5}
 .ownership .firm-panel{grid-template-rows:180px auto auto}
 .ownership .firmera-panel{grid-template-rows:auto auto auto}
 .ownership .service-detail{min-height:230px}
 .ownership #detail-copy,.ownership .service-steps{margin-left:0}
}
@media(max-width:360px){.ownership .connection-label{font-size:12px}.ownership .connection-note{font-size:7px}}
@media(prefers-reduced-motion:reduce){.ownership .orbit,.ownership .service-beacon.changing img{animation:none}}

/* Each step line runs precisely from one numbered circle to the next. */
.ownership .service-steps{--step-gap:14px;gap:var(--step-gap)}
.ownership .service-steps::before{display:none}
.ownership .service-step:not(:last-child)::before{content:'';position:absolute;left:12.5px;top:12px;width:calc(100% + var(--step-gap));height:1px;background:var(--edge)}
@media(min-width:861px) and (max-width:1120px){.ownership .service-steps{--step-gap:9px}}
@media(max-width:860px){.ownership .service-steps{--step-gap:10px}}

/* Compact ownership panels: aligned single-line headings and full-width responsibilities. */
.ownership{max-width:1600px;padding-inline:40px}
.ownership .partnership{grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr)}
.ownership .panel{container-type:inline-size;grid-template-rows:180px 1fr 208px}
.ownership .firm-work,.ownership .firmera-work{padding:24px}
.ownership .panel-title{margin-bottom:15px}
.ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:clamp(20px,4.5cqw,29px);line-height:1.25;letter-spacing:-.6px;min-height:0;margin-bottom:18px;white-space:nowrap}
.ownership .firm-work .responsibility{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:center;margin:0;padding:13px 0}
.ownership .firm-work .responsibility+.responsibility{border-top:1px solid var(--line)}
.ownership .responsibility>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.ownership .responsibility h3{font:550 14px/1.5 var(--sans);margin:0}
.ownership .responsibility p{font-size:12px;line-height:1.65;border-left:1px solid var(--line);padding-left:16px}
.ownership .step{font-size:16px;line-height:1.5;padding:0}
.ownership .services{gap:16px 12px}
.ownership .service-node{min-height:76px}
.ownership .service-name{font-size:12px}
.ownership .panel-footer{padding:24px}
.ownership .detail-heading{grid-template-columns:36px minmax(0,1fr);gap:12px}
.ownership #detail-copy,.ownership .service-steps{margin-left:48px}
.ownership #detail-copy{min-height:36px;margin-bottom:18px}
.ownership .detail-heading h3{font-size:20px}
.ownership .firm-result>p{font-size:12px;max-width:440px}
.ownership .stage-title{font-size:11px}
.ownership .stage-note{font-size:10px}
@media(min-width:861px) and (max-width:1120px){
 .ownership{padding-inline:24px}
 .ownership .partnership{grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr)}
 .ownership .panel{grid-template-rows:170px 1fr 238px}
 .ownership .firm-work,.ownership .firmera-work,.ownership .panel-footer{padding:20px}
 .ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:clamp(17px,4.4cqw,23px);letter-spacing:-.5px}
 .ownership .responsibility>div{gap:10px}
 .ownership .responsibility h3{font-size:12px}
 .ownership .responsibility p{font-size:11px;padding-left:10px}
 .ownership .service-name{font-size:11px}
 .ownership #detail-copy,.ownership .service-steps{margin-left:0}
 .ownership .detail-heading h3{font-size:19px}
}
@media(max-width:860px){
 .ownership{padding-inline:20px}
 .ownership .partnership{max-width:560px}
 .ownership .firm-panel{grid-template-rows:180px auto auto}
 .ownership .firmera-panel{grid-template-rows:auto auto auto}
 .ownership .firm-work,.ownership .firmera-work,.ownership .panel-footer{padding:24px}
 .ownership .firm-work>h2,.ownership .firmera-work>h2{font-size:clamp(26px,6.2cqw,32px);white-space:normal;max-width:440px;margin-bottom:22px;text-wrap:pretty}
 .ownership .responsibility>div{grid-template-columns:1fr;gap:5px}
 .ownership .responsibility h3{font-size:14px}
 .ownership .responsibility p{font-size:12px;border:0;padding:0}
 .ownership .firm-work .responsibility{padding:16px 0;align-items:start}
 .ownership .step{font-size:15px}
 .ownership .firm-result{min-height:190px}
 .ownership .detail-heading h3{font-size:21px}
 .ownership #detail-copy,.ownership .service-steps{margin-left:0}
 .ownership #detail-copy{min-height:0}
 .ownership .service-detail{min-height:230px}
}
@media(max-width:360px){
 .ownership{padding-inline:14px}
 .ownership .firm-work,.ownership .firmera-work,.ownership .panel-footer{padding:20px}
 .ownership .service-name{font-size:11px}
 .ownership .stage-title{font-size:10px}
 .ownership .stage-note{font-size:9px}
}
