/* scoped by scripts/v4/sync-assets.mjs: projects */
/* pages_projects: ../../projects/index.html, SMX01, Cyberjaya, Horizon AI adoption, ATP Token (layout only, text untouched) */

/* hero */
:where(body[data-v4~="projects"]) .pp-hero .h1{font-size:clamp(33px,3.1vw,45px);line-height:1.22}
@media (min-width:981px){:where(body[data-v4~="projects"]) .pp-hero .hero-grid .copy{padding-top:129px}}
:where(body[data-v4~="projects"]) .pp-hero .lead{max-width:34em}
:where(body[data-v4~="projects"]) .pp-hero .crumb{margin-bottom:0}
:where(body[data-v4~="projects"]) .h1 .h1-sub{display:block;font-size:.6em;line-height:1.32;margin-top:.4em}
:where(body[data-v4~="projects"]) .sh.stack .d{max-width:44em}
@media (max-width:759px){:where(body[data-v4~="projects"]) .sec .sh.long .h2{font-size:min(27px,calc((100vw - 39px) / var(--w)))}:where(body[data-v4~="projects"]) .sec .sh .h2{font-size:27px}}
:where(body[data-v4~="projects"]) .pj-logo{height:33px;width:auto}
:where(body[data-v4~="projects"]) .pj-plogos{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:3px}
:where(body[data-v4~="projects"]) .pj-plogos .lb{font-size:12px;letter-spacing:0;color:var(--muted);margin-right:6px}
:where(body[data-v4~="projects"]) .pj-plogos .chip{background:#fff;border:1px solid var(--line)}

/* stats */
:where(body[data-v4~="projects"]) .stats .v small.pre{margin:0 6px 0 0;color:var(--muted)}
:where(body[data-v4~="projects"]) .stats .v sup{font-size:.36em;vertical-align:top;margin-left:2px;color:var(--orange)}
:where(body[data-v4~="projects"]) .pj-stats .stats{border-top:0}
:where(body[data-v4~="projects"]) .pj-fn{margin-top:15px}
:where(body[data-v4~="projects"]) .pj-fn+.pj-fn{margin-top:3px}

/* overview (highlights) */
:where(body[data-v4~="projects"]) .pj-ov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:63px;align-items:center}
:where(body[data-v4~="projects"]) .pj-ovl{display:grid;gap:21px}
:where(body[data-v4~="projects"]) .pj-ovl .t{display:grid;gap:18px}
:where(body[data-v4~="projects"]) .pj-prose{display:grid;gap:12px}
:where(body[data-v4~="projects"]) .pj-fit{display:grid;gap:3px;background:#fff;border-left:3px solid var(--orange);border-radius:0 12px 12px 0;padding:15px 21px}
:where(body[data-v4~="projects"]) .pj-fit b{font-size:12px;letter-spacing:0;color:var(--orange-d);font-weight:500}
:where(body[data-v4~="projects"]) .pj-fit span{color:var(--ink);font-size:15px;line-height:1.65}
:where(body[data-v4~="projects"]) .pj-facts{margin-top:57px}
:where(body[data-v4~="projects"]) .pj-facts dd em{font-style:normal;font-weight:400;color:var(--muted);font-size:15px}
:where(body[data-v4~="projects"]) .pj-facts.one{grid-template-columns:1fr;margin-top:24px}
:where(body[data-v4~="projects"]) .sec.tint .pj-facts>div{border-color:rgba(20,18,16,.1)}
@media (max-width:981px){:where(body[data-v4~="projects"]) .pj-ov{grid-template-columns:1fr;gap:33px}}

/* kpi cards */
:where(body[data-v4~="projects"]) .pj-kpi{gap:9px}
:where(body[data-v4~="projects"]) .pj-kpi .kv{font:500 clamp(30px,2.6vw,39px)/1 var(--latin);color:var(--orange)}
:where(body[data-v4~="projects"]) .pj-kpi .kv small{font-size:.45em;color:var(--ink);margin-left:3px}
:where(body[data-v4~="projects"]) .pj-kpi .kl{font-size:12px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="projects"]) .pj-kpi h3{font-size:18px;margin-top:6px}
:where(body[data-v4~="projects"]) .pj-kpi p{font-size:15px;line-height:1.7}

/* certs */
:where(body[data-v4~="projects"]) .pj-certs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:33px;align-items:center;margin-top:21px;background:#fff;border-radius:var(--r);padding:27px 27px}
:where(body[data-v4~="projects"]) .pj-certs h3{font-size:18px}
:where(body[data-v4~="projects"]) .pj-certs p{font-size:15px;margin-top:3px}
:where(body[data-v4~="projects"]) .pj-certs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px}
:where(body[data-v4~="projects"]) .pj-certs li{display:inline-flex;align-items:center;gap:6px;height:33px;padding:0 15px;border-radius:999px;background:var(--tint);color:var(--ink);font:500 15px/1 var(--latin)}
:where(body[data-v4~="projects"]) .ck{width:15px;height:15px;color:var(--orange);flex:none}
@media (max-width:861px){:where(body[data-v4~="projects"]) .pj-certs{grid-template-columns:1fr;gap:15px}}

/* tabs + tables */
:where(body[data-v4~="projects"]) .pj-tabs{margin-bottom:21px}
:where(body[data-v4~="projects"]) .tbl.kv table{min-width:0}
:where(body[data-v4~="projects"]) .tbl.kv tbody th{width:26%}
@media (max-width:639px){:where(body[data-v4~="projects"]) .tbl.kv th,:where(body[data-v4~="projects"]) .tbl.kv td{display:block;width:auto!important;padding:12px 15px}:where(body[data-v4~="projects"]) .tbl.kv tbody th{padding-bottom:0;background:#fff;color:var(--muted);font-size:12px}:where(body[data-v4~="projects"]) .tbl.kv tr{display:block;border-bottom:1px solid var(--line)}:where(body[data-v4~="projects"]) .tbl.kv tr:last-child{border-bottom:0}:where(body[data-v4~="projects"]) .tbl.kv th,:where(body[data-v4~="projects"]) .tbl.kv td{border-bottom:0}}

/* connectivity hub */
:where(body[data-v4~="projects"]) .pj-hub{position:relative;aspect-ratio:1/1;max-width:519px;margin-inline:auto;background:#fff;border-radius:24px}
:where(body[data-v4~="projects"]) .pj-hub .ln{position:absolute;inset:0;width:100%;height:100%}
:where(body[data-v4~="projects"]) .pj-hub .ln path{fill:none;stroke:var(--orange);stroke-width:.5;stroke-dasharray:1.6 1.4;vector-effect:non-scaling-stroke;stroke-width:1.6}
:where(body[data-v4~="projects"]) .pj-hub .nd{position:absolute;width:max-content;max-width:46%;transform:translate(-50%,-50%);display:grid;gap:2px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 15px;min-width:120px}
:where(body[data-v4~="projects"]) .pj-hub .nd b{font-weight:500;color:var(--ink);font-size:15px}
:where(body[data-v4~="projects"]) .pj-hub .nd span{font-size:12px;color:var(--muted)}
:where(body[data-v4~="projects"]) .pj-hub .a{left:22%;top:22%}:where(body[data-v4~="projects"]) .pj-hub .b{left:78%;top:22%}:where(body[data-v4~="projects"]) .pj-hub .c{left:22%;top:78%}:where(body[data-v4~="projects"]) .pj-hub .d{left:78%;top:78%}
:where(body[data-v4~="projects"]) .pj-hub .core{left:50%;top:50%;background:var(--orange);border-color:var(--orange);padding:18px 21px}
:where(body[data-v4~="projects"]) .pj-hub .core b{color:#fff;font:500 21px/1.2 var(--latin)}:where(body[data-v4~="projects"]) .pj-hub .core span{color:rgba(255,255,255,.88)}
@media (max-width:519px){:where(body[data-v4~="projects"]) .pj-hub .nd{min-width:0;padding:9px}:where(body[data-v4~="projects"]) .pj-hub .nd b{font-size:12px}:where(body[data-v4~="projects"]) .pj-hub .nd span{font-size:12px}}
:where(body[data-v4~="projects"]) .pj-cn .rows>div:first-child{border-top:0;padding-top:0}

/* partnership: panel header (shared with the network figure) */
:where(body[data-v4~="projects"]) .pj-lyr .ph,:where(body[data-v4~="projects"]) .pj-net .ph{justify-self:stretch;display:flex;justify-content:space-between;align-items:baseline;margin-bottom:21px}
:where(body[data-v4~="projects"]) .pj-lyr .ph h3,:where(body[data-v4~="projects"]) .pj-net .ph h3{font-size:18px}
:where(body[data-v4~="projects"]) .pj-lyr .ph span,:where(body[data-v4~="projects"]) .pj-net .ph span{font-size:12px;color:var(--muted)}

:where(body[data-v4~="projects"]) .pj-roles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:21px;align-items:stretch}
:where(body[data-v4~="projects"]) .pj-pic figure,:where(body[data-v4~="projects"]) .pj-pic .photo{height:100%}
:where(body[data-v4~="projects"]) .pj-pic .photo{min-height:321px}
@media (max-width:861px){:where(body[data-v4~="projects"]) .pj-roles{grid-template-columns:1fr}:where(body[data-v4~="projects"]) .pj-pic .photo{aspect-ratio:3/2;min-height:0;height:auto}}
:where(body[data-v4~="projects"]) .pj-role .k,:where(body[data-v4~="projects"]) .pj-scope .k{color:var(--orange-d)}
:where(body[data-v4~="projects"]) .pj-list,:where(body[data-v4~="projects"]) .pj-scope ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
:where(body[data-v4~="projects"]) .pj-list li,:where(body[data-v4~="projects"]) .pj-scope li{display:grid;grid-template-columns:18px 1fr;gap:9px;font-size:15px;line-height:1.6;align-items:start}
:where(body[data-v4~="projects"]) .pj-list .ck,:where(body[data-v4~="projects"]) .pj-scope .ck{margin-top:3px}
:where(body[data-v4~="projects"]) .pj-scope.main{border-color:rgba(254,80,0,.45)}
:where(body[data-v4~="projects"]) .pj-scope.opt{background:var(--warm);border-color:transparent}
:where(body[data-v4~="projects"]) .pj-scope h3{padding-bottom:15px;border-bottom:1px solid var(--line)}

/* steps */
:where(body[data-v4~="projects"]) .steps h3 .st-s{display:block;font:500 12px/1.4 var(--latin);color:var(--muted);letter-spacing:0;margin-top:3px}
:where(body[data-v4~="projects"]) .steps>div.is-now::before{color:var(--orange-d);border-bottom-color:var(--orange)}
:where(body[data-v4~="projects"]) .steps>div.is-now::after{box-shadow:0 0 0 6px rgba(254,80,0,.18)}
:where(body[data-v4~="projects"]) .pj-e2e{background:#fff;border-radius:24px;padding:39px 45px}
:where(body[data-v4~="projects"]) .pj-e2e .sh{margin-bottom:36px}
:where(body[data-v4~="projects"]) .pj-e2e .pj-h3{font-size:clamp(21px,2vw,27px)}
:where(body[data-v4~="projects"]) .pj-e2e .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 0}
@media (max-width:759px){:where(body[data-v4~="projects"]) .pj-e2e{padding:27px 21px}:where(body[data-v4~="projects"]) .pj-e2e .steps{grid-template-columns:1fr 1fr}}
@media (max-width:420px){:where(body[data-v4~="projects"]) .pj-e2e .steps{grid-template-columns:1fr}}

/* cyberjaya pod + network */
:where(body[data-v4~="projects"]) .pj-pod{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:57px;align-items:start}
@media (max-width:981px){:where(body[data-v4~="projects"]) .pj-pod{grid-template-columns:1fr;gap:27px}}
:where(body[data-v4~="projects"]) .pj-net{background:#fff;border-radius:24px;padding:27px}
:where(body[data-v4~="projects"]) .pj-net .lanes{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:9px}
:where(body[data-v4~="projects"]) .pj-net .lane{display:grid;gap:2px;text-align:center;border:1px solid var(--line);border-radius:12px;padding:12px 9px}
:where(body[data-v4~="projects"]) .pj-net .lane b{font-weight:500;color:var(--ink);font-size:15px}
:where(body[data-v4~="projects"]) .pj-net .lane span{font-size:12px;color:var(--muted)}
:where(body[data-v4~="projects"]) .pj-net .lane.l0{background:var(--tint-2);border-color:rgba(254,80,0,.3)}
:where(body[data-v4~="projects"]) .pj-net .wires{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:9px;height:27px}
:where(body[data-v4~="projects"]) .pj-net .wires i{justify-self:center;width:2px;background:var(--line-2)}
:where(body[data-v4~="projects"]) .pj-net .wires i.l0{background:var(--orange);width:3px}:where(body[data-v4~="projects"]) .pj-net .wires i.l1{background:var(--sky)}
:where(body[data-v4~="projects"]) .pj-net .nodes,:where(body[data-v4~="projects"]) .pj-net .nvl{display:grid;gap:2px;text-align:center;border-radius:12px;padding:15px 12px}
:where(body[data-v4~="projects"]) .pj-net .nodes{background:var(--ink)}:where(body[data-v4~="projects"]) .pj-net .nodes b{color:#fff;font-weight:500;font-size:15px}:where(body[data-v4~="projects"]) .pj-net .nodes span{color:rgba(255,255,255,.72);font-size:12px}
:where(body[data-v4~="projects"]) .pj-net .nvl{border:1px solid var(--line)}:where(body[data-v4~="projects"]) .pj-net .nvl b{color:var(--ink);font-weight:500;font-size:15px}:where(body[data-v4~="projects"]) .pj-net .nvl span{font-size:12px;color:var(--muted)}
:where(body[data-v4~="projects"]) .pj-net .fine{margin-top:12px}
@media (max-width:519px){:where(body[data-v4~="projects"]) .pj-net{padding:21px 15px}:where(body[data-v4~="projects"]) .pj-net .lanes,:where(body[data-v4~="projects"]) .pj-net .wires{grid-template-columns:1fr 1fr 1fr;gap:6px}:where(body[data-v4~="projects"]) .pj-net .lane b{font-size:12px}:where(body[data-v4~="projects"]) .pj-net .lane span{font-size:12px}}
:where(body[data-v4~="projects"]) .pj-why{margin-top:27px;background:#fff;border-radius:var(--r);padding:21px 24px;display:grid;gap:9px;border-left:3px solid var(--orange)}
:where(body[data-v4~="projects"]) .pj-why b{color:var(--ink);font-weight:500}
:where(body[data-v4~="projects"]) .pj-why p{font-size:15px}

/* resources */
:where(body[data-v4~="projects"]) .pj-post .photo{position:relative}
:where(body[data-v4~="projects"]) .pj-post .src{position:absolute;left:12px;bottom:12px;z-index:1;background:#fff;color:var(--ink);font-size:12px;padding:3px 9px;border-radius:999px}
:where(body[data-v4~="projects"]) .pj-post .link{justify-self:start}
:where(body[data-v4~="projects"]) .pj-rel{display:flex;flex-wrap:wrap;gap:12px 15px;align-items:center;margin-top:48px;padding-top:27px;border-top:1px solid var(--line)}
:where(body[data-v4~="projects"]) .pj-rel b{font-weight:500;color:var(--ink);font-size:15px}
:where(body[data-v4~="projects"]) .pj-rel>div{display:flex;flex-wrap:wrap;gap:9px}
:where(body[data-v4~="projects"]) .pj-chip{background:#fff;border:1px solid var(--line);color:var(--ink);transition:border-color .2s,color .2s}
:where(body[data-v4~="projects"]) .pj-chip:hover{border-color:var(--orange);color:var(--orange)}
:where(body[data-v4~="projects"]) .sec.tight .pj-rel{margin-top:0;padding-top:0;border-top:0}
@media (max-width:861px){:where(body[data-v4~="projects"]) .posts{grid-template-columns:1fr}}

/* service pages */
:where(body[data-v4~="projects"]) .pj-cards .card h3{font-size:18px}
:where(body[data-v4~="projects"]) .pj-cards .card .k{color:var(--orange-d);line-height:1.5}
:where(body[data-v4~="projects"]) .pj-cards.cases .card{padding:33px 33px}
:where(body[data-v4~="projects"]) .pj-plist{list-style:none;margin:6px 0 0;padding:15px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
:where(body[data-v4~="projects"]) .pj-plist li{display:grid;gap:3px;align-content:start}
:where(body[data-v4~="projects"]) .pj-plist b{font:500 27px/1 var(--latin);color:var(--orange)}
:where(body[data-v4~="projects"]) .pj-plist span{font-size:12px;line-height:1.55}
@media (max-width:519px){:where(body[data-v4~="projects"]) .pj-plist{grid-template-columns:1fr}}
:where(body[data-v4~="projects"]) .pj-code{background:var(--dark);border-radius:var(--r);padding:21px 27px;display:grid;gap:12px;overflow-x:auto}
:where(body[data-v4~="projects"]) .pj-code pre{margin:0;color:#FFE3CB;font:400 15px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}
:where(body[data-v4~="projects"]) .tbl code,:where(body[data-v4~="projects"]) .faq code,:where(body[data-v4~="projects"]) .note-bar code{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tint-2);color:var(--orange-d);padding:1px 6px;border-radius:3px}
:where(body[data-v4~="projects"]) .tbl thead th{white-space:nowrap}
:where(body[data-v4~="projects"]) .note-bar a,:where(body[data-v4~="projects"]) .faq .a a{color:var(--ink);border-bottom:1px solid currentColor}
:where(body[data-v4~="projects"]) .note-bar a:hover,:where(body[data-v4~="projects"]) .faq .a a:hover{color:var(--orange)}
:where(body[data-v4~="projects"]) .faq .a strong{color:var(--ink);font-weight:500}
:where(body[data-v4~="projects"]) .pj-partners{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:39px;align-items:end}
:where(body[data-v4~="projects"]) .pj-partners .marks{display:flex;flex-wrap:wrap;gap:12px}
:where(body[data-v4~="projects"]) .pj-mark{display:grid;gap:9px;background:#fff;border-radius:var(--r);padding:18px 21px;min-width:240px;transition:box-shadow .3s}
:where(body[data-v4~="projects"]) .pj-mark:hover{box-shadow:0 12px 30px rgba(150,56,33,.10)}
:where(body[data-v4~="projects"]) .pj-mark img{height:30px;width:auto}
:where(body[data-v4~="projects"]) .pj-mark span{font-size:12px}
:where(body[data-v4~="projects"]) .pj-partners .more{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
@media (max-width:900px){:where(body[data-v4~="projects"]) .pj-partners{grid-template-columns:1fr}:where(body[data-v4~="projects"]) .pj-partners .more{justify-content:flex-start}:where(body[data-v4~="projects"]) .pj-mark{min-width:0;flex:1 1 219px}}

/* ../../projects/index.html overview cards */
:where(body[data-v4~="projects"]) .pj-fps{display:grid;grid-template-columns:1fr 1fr;gap:24px}
:where(body[data-v4~="projects"]) .pj-fp{display:grid;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
:where(body[data-v4~="projects"]) .pj-fp:hover{transform:translateY(-3px);box-shadow:0 18px 39px rgba(150,56,33,.10)}
:where(body[data-v4~="projects"]) .pj-fp .photo{border-radius:0;aspect-ratio:16/10;position:relative}
:where(body[data-v4~="projects"]) .pj-fp .photo img{transition:transform .8s var(--ease)}
:where(body[data-v4~="projects"]) .pj-fp:hover .photo img{transform:scale(1.03)}
:where(body[data-v4~="projects"]) .pj-fp .src{position:absolute;right:15px;bottom:15px;z-index:1;font-size:12px;color:var(--ink);background:rgba(255,255,255,.9);padding:3px 9px;border-radius:999px}
:where(body[data-v4~="projects"]) .pj-fp .pj-fit{min-height:87px;align-content:start}
:where(body[data-v4~="projects"]) .pj-fp .body{display:grid;gap:15px;align-content:start;padding:30px 33px 33px}
:where(body[data-v4~="projects"]) .pj-fp .chip{justify-self:start}
:where(body[data-v4~="projects"]) .pj-fp .for{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:500}
:where(body[data-v4~="projects"]) .pj-fp h3{font-size:clamp(21px,2vw,27px)}
:where(body[data-v4~="projects"]) .pj-fp .d{font-size:15px;color:var(--ink)}
:where(body[data-v4~="projects"]) .pj-fp .pj-fit{background:var(--tint)}
:where(body[data-v4~="projects"]) .pj-fpf{display:grid;margin:3px 0 6px}
:where(body[data-v4~="projects"]) .pj-fpf>div{display:grid;grid-template-columns:87px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
:where(body[data-v4~="projects"]) .pj-fpf dt{color:var(--muted)}:where(body[data-v4~="projects"]) .pj-fpf dd{margin:0;color:var(--ink);font-weight:500}
:where(body[data-v4~="projects"]) .pj-fpf dd em{font-style:normal;font-weight:400;color:var(--muted)}
:where(body[data-v4~="projects"]) .pj-fp .link{justify-self:start;margin-top:auto}
@media (max-width:900px){:where(body[data-v4~="projects"]) .pj-fps{grid-template-columns:1fr}:where(body[data-v4~="projects"]) .pj-fp .body{padding:24px 21px 27px}}

/* step numbers as real text (v1 text nodes), counter switched off */
:where(body[data-v4~="projects"]) .steps.pj-n>div::before{content:"";height:12px}
:where(body[data-v4~="projects"]) .steps.pj-n .st-n{position:absolute;left:0;top:0;font:500 12px/1 var(--latin);color:var(--orange)}
:where(body[data-v4~="projects"]) .steps.pj-n>div{position:relative}

:where(body[data-v4~="projects"]) .stats .v{white-space:nowrap}
@media (max-width:600px){:where(body[data-v4~="projects"]) .stats .v{font-size:30px}}









:where(body[data-v4~="projects"]) *,:where(body[data-v4~="projects"]) *::before,:where(body[data-v4~="projects"]) *::after{letter-spacing:0!important}

/* ================= flagship banner (fx), editorial layout 2026-09-28 =================
   Crumb top-left, caption top-right; headline block bottom-left (cols 1-8); a foot row with the key facts
   (location / capacity / status) and the partner line. The dark wash sits only where the text sits:
   a corner glow behind the headline block plus a low band behind the foot row; the photo stays clear top-right. */
:where(body[data-v4~="projects"]) .fx-hero{--wash:20,10,5;position:relative;isolation:isolate;display:flex;min-height:clamp(690px,calc(100vh - 81px),840px);overflow:hidden;background:#1F0F07;color:#fff}
:where(body[data-v4~="projects"]) .fx-hero .fx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.02);animation:fxIn 1.6s var(--ease) both}
:where(body[data-v4~="projects"]) .fx-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
 radial-gradient(125% 115% at 0% 100%,rgba(var(--wash),.9) 0%,rgba(var(--wash),.78) 36%,rgba(var(--wash),.42) 56%,rgba(var(--wash),0) 78%),
 linear-gradient(0deg,rgba(var(--wash),.72) 0%,rgba(var(--wash),.3) 18%,rgba(var(--wash),0) 34%),
 linear-gradient(90deg,rgba(var(--wash),.42) 0%,rgba(var(--wash),.24) 36%,rgba(var(--wash),0) 58%),
 linear-gradient(180deg,rgba(var(--wash),.34) 0%,rgba(var(--wash),0) 18%)}
@keyframes fxIn{from{transform:scale(1.07);opacity:.6}to{transform:scale(1.02);opacity:1}}
@media (prefers-reduced-motion:reduce){:where(body[data-v4~="projects"]) .fx-hero .fx-bg{animation:none}}
:where(body[data-v4~="projects"]) .fx-in{position:relative;flex:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;column-gap:var(--col-gap,24px);padding-block:36px 39px}
:where(body[data-v4~="projects"]) .fx-in>*{grid-column:1/-1}
:where(body[data-v4~="projects"]) .fx-hero .crumb{position:static;align-self:start;margin:0;color:rgba(255,255,255,.72);font-size:12px}
:where(body[data-v4~="projects"]) .fx-hero .crumb a:hover{color:#fff}
:where(body[data-v4~="projects"]) .fx-cap{position:absolute;z-index:1;top:36px;right:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));font-size:12px;line-height:1.4;color:rgba(255,255,255,.72)}
:where(body[data-v4~="projects"]) .fx-copy{grid-column:1/9;align-self:end;display:grid;gap:24px;justify-items:start;padding-top:96px}
:where(body[data-v4~="projects"]) .fx-ey{display:inline-flex;align-items:center;gap:9px;padding:6px 12px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:500 12px/1.4 var(--font);text-transform:uppercase;color:#fff}
:where(body[data-v4~="projects"]) .fx-ey::before{content:"";width:6px;height:6px;background:var(--orange);flex:none}
:where(body[data-v4~="projects"]) .fx-h1{color:#fff;font:500 clamp(45px,5.2vw,75px)/1.08 var(--font);max-width:13em;text-wrap:balance}
:where(body[data-v4~="projects"]) .fx-h1 .h1-sub{display:block;font-size:max(.4em,21px);line-height:1.45;margin-top:.6em;color:rgba(255,255,255,.88);font-weight:400;max-width:24em}
:where(body[data-v4~="projects"]) .fx-lead{font-size:clamp(15px,1.2vw,18px);line-height:1.8;color:rgba(255,255,255,.8);max-width:34em}
:where(body[data-v4~="projects"]) .fx-copy .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
:where(body[data-v4~="projects"]) .fx-hero .btn-glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.56);color:#fff;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}
:where(body[data-v4~="projects"]) .fx-hero .btn-glass:hover{background:rgba(255,255,255,.26);color:#fff}
:where(body[data-v4~="projects"]) .fx-foot{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:48px;row-gap:21px;align-items:flex-end;margin-top:57px;padding-top:24px;border-top:1px solid rgba(255,255,255,.24)}
:where(body[data-v4~="projects"]) .fx-kf{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;margin:0}
:where(body[data-v4~="projects"]) .fx-kf>div{display:grid;gap:6px;padding-right:36px;margin-right:36px;border-right:1px solid rgba(255,255,255,.24)}
:where(body[data-v4~="projects"]) .fx-kf>div:last-child{border-right:0;margin-right:0;padding-right:0}
:where(body[data-v4~="projects"]) .fx-kf dt{font-size:12px;line-height:1.4;color:rgba(255,255,255,.62)}
:where(body[data-v4~="projects"]) .fx-kf dd{margin:0;font:500 18px/1.35 var(--font);color:#fff}
:where(body[data-v4~="projects"]) .fx-pl{margin-left:auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:6px 18px;text-align:right}
:where(body[data-v4~="projects"]) .fx-pl .lb{font-size:12px;line-height:1.4;color:rgba(255,255,255,.62)}
:where(body[data-v4~="projects"]) .fx-pl .pl{font:500 15px/1.35 var(--latin);color:#fff}
:where(body[data-v4~="projects"]) .fx-pl .pl+.pl{padding-left:18px;border-left:1px solid rgba(255,255,255,.24)}
@media (max-width:1260px){:where(body[data-v4~="projects"]) .fx-pl{margin-left:0;justify-content:flex-start;text-align:left}}
@media (max-width:981px){:where(body[data-v4~="projects"]) .fx-copy{grid-column:1/-1}}
@media (max-width:759px){
 :where(body[data-v4~="projects"]) .fx-hero{min-height:0}
 :where(body[data-v4~="projects"]) .fx-hero::after{background:linear-gradient(180deg,rgba(var(--wash),.3) 0%,rgba(var(--wash),.1) 14%,rgba(var(--wash),.7) 34%,rgba(var(--wash),.92) 56%,#1F0F07 100%)}
 :where(body[data-v4~="projects"]) .fx-in{padding-block:24px 30px}
 :where(body[data-v4~="projects"]) .fx-cap{top:180px}
 :where(body[data-v4~="projects"]) .fx-copy{gap:18px;padding-top:201px}
 :where(body[data-v4~="projects"]) .fx-h1{font-size:36px;line-height:1.16}
 :where(body[data-v4~="projects"]) .fx-h1 .h1-sub{font-size:18px}
 :where(body[data-v4~="projects"]) .fx-lead{font-size:15px}
 :where(body[data-v4~="projects"]) .fx-foot{margin-top:36px;padding-top:6px;row-gap:18px}
 :where(body[data-v4~="projects"]) .fx-kf{grid-template-columns:1fr;width:100%}
 :where(body[data-v4~="projects"]) .fx-kf>div{grid-template-columns:72px 1fr;gap:12px;align-items:baseline;padding:12px 0;margin:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
 :where(body[data-v4~="projects"]) .fx-kf>div:last-child{border-bottom:0}
 :where(body[data-v4~="projects"]) .fx-kf dd{font-size:15px}
 :where(body[data-v4~="projects"]) .fx-pl{gap:6px 15px}
 :where(body[data-v4~="projects"]) .fx-pl .lb{width:100%}
 :where(body[data-v4~="projects"]) .fx-pl .pl+.pl{padding-left:15px}
}

/* highlights: v1 order, copy left / facts right on the 12-column grid */
:where(body[data-v4~="projects"]) .fx-ov{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap,24px);gap:39px var(--col-gap,24px);align-items:start}
:where(body[data-v4~="projects"]) .fx-ov>.pj-ovl{grid-column:1/7}
:where(body[data-v4~="projects"]) .fx-ov>.fx-facts{grid-column:8/13;margin:0;border-top:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .fx-facts>div{padding-block:15px}
@media (max-width:981px){:where(body[data-v4~="projects"]) .fx-ov>.pj-ovl,:where(body[data-v4~="projects"]) .fx-ov>.fx-facts{grid-column:1/-1}}

/* page polish */
body.fx:where([data-v4~="projects"]) main .wrap:has(> .faq)>.sh{align-self:start}
body.fx:where([data-v4~="projects"]) .pj-pic .photo{aspect-ratio:auto;height:100%}
body.fx:where([data-v4~="projects"]) .pj-pic figure{height:100%}
body.fx:where([data-v4~="projects"]) .pj-roles .grid{gap:21px}
body.fx:where([data-v4~="projects"]) .sec+.sec:not(.tint):not(.warm){border-top:0}

/* ../../projects/index.html overview banner (v1 page-hero + project index) */
:where(body[data-v4~="projects"]) .fx-page{position:relative;overflow:hidden;padding-block:96px 90px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="projects"]) .fx-row{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap,24px);row-gap:57px;align-items:end}
:where(body[data-v4~="projects"]) .fx-l{grid-column:1/7;display:grid;gap:24px;justify-items:start}
:where(body[data-v4~="projects"]) .fx-l .h1{font-size:clamp(39px,4.2vw,60px);line-height:1.18}
:where(body[data-v4~="projects"]) .fx-l .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
:where(body[data-v4~="projects"]) .fx-idx{grid-column:8/13;display:grid}
:where(body[data-v4~="projects"]) .fx-idx .eyebrow{margin-bottom:18px}
:where(body[data-v4~="projects"]) .fx-idx a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:3px;padding:24px 0;border-top:1px solid var(--line);transition:border-color .25s}
:where(body[data-v4~="projects"]) .fx-idx a:last-child{border-bottom:1px solid var(--line)}
:where(body[data-v4~="projects"]) .fx-idx .n{grid-column:1;font:500 12px/1.4 var(--latin);color:var(--orange-d)}
:where(body[data-v4~="projects"]) .fx-idx strong{grid-column:1;font:500 clamp(27px,2.5vw,36px)/1.2 var(--latin);color:var(--ink)}
:where(body[data-v4~="projects"]) .fx-idx small{grid-column:1;font-size:15px;color:var(--body)}
:where(body[data-v4~="projects"]) .fx-idx i{grid-column:2;grid-row:1/4;align-self:center;display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:background .25s,color .25s,border-color .25s,transform .35s var(--ease)}
:where(body[data-v4~="projects"]) .fx-idx i svg{width:15px;height:15px}
:where(body[data-v4~="projects"]) .fx-idx a:hover strong{color:var(--orange)}
:where(body[data-v4~="projects"]) .fx-idx a:hover i{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateX(3px)}
@media (max-width:981px){:where(body[data-v4~="projects"]) .fx-l,:where(body[data-v4~="projects"]) .fx-idx{grid-column:1/-1}:where(body[data-v4~="projects"]) .fx-page{padding-block:60px 57px}}
@media (max-width:759px){:where(body[data-v4~="projects"]) .fx-l .h1{font-size:33px}}
body.fx:where([data-v4~="projects"]) .pj-fp .body{display:flex;flex-direction:column;align-items:stretch}
body.fx:where([data-v4~="projects"]) .pj-fp .body>.chip,body.fx:where([data-v4~="projects"]) .pj-fp .body>.link{align-self:flex-start}
body.fx:where([data-v4~="projects"]) .pj-fp .body>.link{margin-top:auto}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf{margin-bottom:12px}
@media (max-width:900px){body.fx:where([data-v4~="projects"]) .stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}}
@media (max-width:759px){body.fx:where([data-v4~="projects"]) .fx-in .crumb{margin-top:0}body.fx:where([data-v4~="projects"]) .stats .v{font-size:30px}}
body.fx:where([data-v4~="projects"]) main .wrap:has(> .faq)>*{min-width:0}
@media (max-width:981px){body.fx:where([data-v4~="projects"]) main .wrap:has(> .faq)>.sh{grid-column:1/-1;position:static;margin-bottom:36px}body.fx:where([data-v4~="projects"]) main .wrap:has(> .faq)>.faq{grid-column:1/-1}}
@media (max-width:759px){body.fx:where([data-v4~="projects"]) .sec .sh.long .h2{font-size:min(27px,calc((100vw - 42px) / var(--w)))!important}}

/* ================= flagship pages follow the service-page logic (2026-09-28) =================
   Photo hero kept; every section below is white with a hairline between (as on the service pages), no tinted bands.
   Panels that used to sit white on a grey band become #F6F5F2 surfaces, the same neutral as the service cards. */
body.fx:where([data-v4~="projects"]) .pj-fit,body.fx:where([data-v4~="projects"]) .pj-certs,body.fx:where([data-v4~="projects"]) .pj-hub,body.fx:where([data-v4~="projects"]) .pj-net,body.fx:where([data-v4~="projects"]) .pj-why,body.fx:where([data-v4~="projects"]) .pj-fp .pj-fit{background:#F6F5F2}
body.fx:where([data-v4~="projects"]) .pj-certs li{background:#fff}
body.fx:where([data-v4~="projects"]) .pj-hub .nd:not(.core){background:#fff;border-color:transparent}
body.fx:where([data-v4~="projects"]) .pj-net .lane:not(.l0),body.fx:where([data-v4~="projects"]) .pj-net .nvl{background:#fff;border-color:transparent}
body.fx:where([data-v4~="projects"]) .pj-e2e{background:none;border-radius:0;padding:48px 0 0;border-top:1px solid var(--line)}
body.fx:where([data-v4~="projects"]) .pj-facts>div{border-color:var(--line)}
@media (max-width:759px){body.fx:where([data-v4~="projects"]) .pj-e2e{padding:36px 0 0}}

/* ================= responsibility scope (2026-09-28) =================
   One encoding per owner, used in the layer diagram, the card frame, the label marker and the tick:
   KONST = solid orange · client = ink outline · optional (可委託) = dashed orange */
:where(body[data-v4~="projects"]) .pj-stk{display:grid;gap:9px;margin:0 0 36px}
:where(body[data-v4~="projects"]) .pj-stk .ly{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center}
:where(body[data-v4~="projects"]) .pj-stk .lk{font:500 12px/1.4 var(--font);text-transform:uppercase;color:var(--muted)}
:where(body[data-v4~="projects"]) .pj-stk .bar{display:flex;gap:9px;min-height:57px}
:where(body[data-v4~="projects"]) .pj-stk .own{white-space:nowrap;display:flex;align-items:center;gap:9px;padding:0 21px;border-radius:12px;font-size:15px;font-weight:500;color:var(--ink)}
:where(body[data-v4~="projects"]) .pj-stk .own i{width:9px;height:9px;flex:none}
:where(body[data-v4~="projects"]) .pj-stk .own-k{flex:1;background:var(--orange);color:#fff}
:where(body[data-v4~="projects"]) .pj-stk .own-k i{background:#fff}
:where(body[data-v4~="projects"]) .pj-stk .own-c{flex:1.45;border:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .pj-stk .own-c i{border:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .pj-stk .own-o{flex:1;border:2px dashed var(--orange);color:var(--orange-d)}
:where(body[data-v4~="projects"]) .pj-stk .own-o i{border:1px dashed var(--orange)}
:where(body[data-v4~="projects"]) .pj-scope{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:21px;overflow:hidden}
:where(body[data-v4~="projects"]) .pj-scope .sc-h{display:grid;gap:9px;padding:27px 30px 24px}
:where(body[data-v4~="projects"]) .pj-scope ul{padding:24px 30px 33px;gap:12px}
:where(body[data-v4~="projects"]) .pj-scope li{grid-template-columns:18px 1fr;gap:12px;color:var(--ink)}
:where(body[data-v4~="projects"]) .pj-scope .ck{width:18px;height:18px;margin-top:3px}
:where(body[data-v4~="projects"]) .pj-scope .ck-o{fill:none;stroke-width:1.5}
:where(body[data-v4~="projects"]) .pj-scope .ck-p{fill:none;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter}
:where(body[data-v4~="projects"]) .pj-scope .k{display:inline-flex;align-items:center;gap:9px;justify-self:start;min-height:27px;font:500 12px/1.4 var(--font);text-transform:uppercase}
:where(body[data-v4~="projects"]) .pj-scope .k i{width:9px;height:9px;flex:none}
:where(body[data-v4~="projects"]) .pj-scope h3{padding:0;border:0;font-size:clamp(21px,1.8vw,24px)}
/* KONST scope: solid orange */
:where(body[data-v4~="projects"]) .pj-scope.main{border:1px solid var(--orange);background:#fff}
:where(body[data-v4~="projects"]) .pj-scope.main .sc-h{background:var(--orange)}
:where(body[data-v4~="projects"]) .pj-scope.main .k{color:#fff}:where(body[data-v4~="projects"]) .pj-scope.main .k i{background:#fff}
:where(body[data-v4~="projects"]) .pj-scope.main h3{color:#fff}
:where(body[data-v4~="projects"]) .pj-scope.main .ck-o{fill:var(--orange);stroke:var(--orange)}
:where(body[data-v4~="projects"]) .pj-scope.main .ck-p{stroke:#fff}
/* client scope: ink outline */
:where(body[data-v4~="projects"]) .pj-scope.alt{border:1px solid var(--ink);background:#fff}
:where(body[data-v4~="projects"]) .pj-scope.alt .sc-h{border-bottom:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .pj-scope.alt .k{color:var(--ink)}:where(body[data-v4~="projects"]) .pj-scope.alt .k i{border:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .pj-scope.alt .ck-o{stroke:var(--ink)}
:where(body[data-v4~="projects"]) .pj-scope.alt .ck-p{stroke:var(--ink)}
/* optional: dashed orange + 可委託 tag */
:where(body[data-v4~="projects"]) .pj-scope.opt{border:2px dashed var(--orange);background:#fff}
:where(body[data-v4~="projects"]) .pj-scope.opt .sc-h{border-bottom:1px dashed rgba(254,80,0,.5)}
:where(body[data-v4~="projects"]) .pj-scope.opt .k{color:var(--orange-d);padding:3px 12px 3px 9px;border:1px dashed var(--orange);border-radius:999px}
:where(body[data-v4~="projects"]) .pj-scope.opt .k i{border:1px dashed var(--orange);border-radius:50%}
:where(body[data-v4~="projects"]) .pj-scope.opt h3{color:var(--orange-d)}
:where(body[data-v4~="projects"]) .pj-scope.opt .ck-o{stroke:var(--orange)}
:where(body[data-v4~="projects"]) .pj-scope.opt .ck-p{stroke:var(--orange)}
@media (max-width:861px){
 :where(body[data-v4~="projects"]) .pj-stk .ly{grid-template-columns:1fr;gap:9px}
 :where(body[data-v4~="projects"]) .pj-stk .ly+.ly{margin-top:9px}
 :where(body[data-v4~="projects"]) .pj-stk .bar{min-height:48px}
 :where(body[data-v4~="projects"]) .pj-stk .own{padding:0 15px;font-size:15px}
 :where(body[data-v4~="projects"]) .pj-stk .own-o{flex:none}
 :where(body[data-v4~="projects"]) .pj-scope .sc-h{padding:24px 24px 18px}:where(body[data-v4~="projects"]) .pj-scope ul{padding:21px 24px 27px}
}

/* ================= ../../projects/index.html flagship cards, editorial banner (2026-09-28) =================
   name block bottom-left on the photo (wash only behind it), caption top-right, key facts as one row */
:where(body[data-v4~="projects"]) .pj-fp .photo{aspect-ratio:4/3}
:where(body[data-v4~="projects"]) .pj-fp .photo::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 85% at 0% 100%,rgba(20,10,5,.82) 0%,rgba(20,10,5,.52) 38%,rgba(20,10,5,0) 70%)}
:where(body[data-v4~="projects"]) .pj-fp .src{top:18px;right:18px;bottom:auto;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.36);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
:where(body[data-v4~="projects"]) .pj-fp .fp-ov{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;gap:9px;justify-items:start;padding:0 33px 30px}
:where(body[data-v4~="projects"]) .pj-fp .fp-ov .chip{background:var(--orange)!important;color:#fff!important;border:0}
:where(body[data-v4~="projects"]) .pj-fp .fp-ov .for{font-size:12px;line-height:1.4;color:rgba(255,255,255,.72);font-weight:500;margin-top:6px}
:where(body[data-v4~="projects"]) .pj-fp .fp-ov h3{color:#fff;font-size:clamp(27px,2.6vw,39px);line-height:1.15}
:where(body[data-v4~="projects"]) .pj-fp:hover .fp-ov h3{color:#fff}
:where(body[data-v4~="projects"]) .pj-fp .body{padding-top:27px}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf>div{grid-template-columns:1fr;gap:6px;padding:15px 18px 15px 0;border-bottom:0}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf>div+div{padding-left:18px;border-left:1px solid var(--line)}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf dt{font-size:12px;line-height:1.4}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf dd{font-size:15px;line-height:1.45}
body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf dd em{display:block;font-size:12px}
@media (max-width:900px){:where(body[data-v4~="projects"]) .pj-fp .fp-ov{padding:0 21px 21px}:where(body[data-v4~="projects"]) .pj-fp .src{top:15px;right:15px}}
@media (max-width:759px){
 body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf{grid-template-columns:1fr}
 body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf>div{grid-template-columns:72px 1fr;gap:12px;padding:12px 0}
 body.fx:where([data-v4~="projects"]) .pj-fp .pj-fpf>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
}


/* ================= partnership: layered responsibility diagram (2026-09-28) =================
   Three owner bands, top to bottom: client (software layer) / KONST (cluster layer) / facility operator (site layer).
   Same owner encoding as the scope section: KONST = solid orange · client = ink outline · facility operator = neutral grey.
   The owner cards below reuse the scope-card frame in the colour of their band. */
:where(body[data-v4~="projects"]) .pj-lyr{--fac:#9A958E;--fac-bg:#EFEDE8;display:grid}
:where(body[data-v4~="projects"]) .pj-lyr .lys{display:grid;gap:9px}
:where(body[data-v4~="projects"]) .pj-lyr .ly{display:grid;grid-template-columns:249px minmax(0,1fr);border-radius:18px;overflow:hidden;min-height:78px}
:where(body[data-v4~="projects"]) .pj-lyr .who{display:grid;grid-template-columns:9px minmax(0,1fr);align-content:center;column-gap:12px;row-gap:3px;padding:18px 24px}
:where(body[data-v4~="projects"]) .pj-lyr .who>*{grid-column:2}
:where(body[data-v4~="projects"]) .pj-lyr .who b{font:500 18px/1.35 var(--font);color:var(--ink)}
:where(body[data-v4~="projects"]) .pj-lyr .who b span{font:inherit;color:inherit}
:where(body[data-v4~="projects"]) .pj-lyr .who>span{font-size:12px;line-height:1.55;color:var(--body)}
:where(body[data-v4~="projects"]) .pj-lyr .who .lb{grid-row:1;color:var(--muted)}
:where(body[data-v4~="projects"]) .pj-lyr .mk{grid-column:1;grid-row:1;align-self:center;width:9px;height:9px}
:where(body[data-v4~="projects"]) .pj-lyr .ly-f .mk,:where(body[data-v4~="projects"]) .pj-lyr .ly-f .who b{grid-row:2}
:where(body[data-v4~="projects"]) .pj-lyr .its{display:grid;align-content:center;gap:9px;padding:15px 18px}
:where(body[data-v4~="projects"]) .pj-lyr .it{display:inline-flex;align-items:center;min-height:42px;padding:9px 18px;border-radius:12px;font-size:15px;line-height:1.5;color:var(--ink)}
/* client: ink outline */
:where(body[data-v4~="projects"]) .pj-lyr .ly-c{border:1px solid var(--ink);background:#fff}
:where(body[data-v4~="projects"]) .pj-lyr .ly-c .who{border-right:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-c .mk{border:1px solid var(--ink)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-c .its{justify-items:start}
:where(body[data-v4~="projects"]) .pj-lyr .ly-c .it{padding-left:0}
/* KONST: solid orange */
:where(body[data-v4~="projects"]) .pj-lyr .ly-k{border:1px solid var(--orange);background:#fff}
:where(body[data-v4~="projects"]) .pj-lyr .ly-k .who{background:var(--orange)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-k .who b{color:#fff;font:600 24px/1.2 var(--latin)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-k .who span{color:rgba(255,255,255,.92)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-k .mk{background:#fff}
:where(body[data-v4~="projects"]) .pj-lyr .grp{display:inline-flex;align-items:center;gap:9px;font:500 12px/1.4 var(--font);color:var(--orange-d)}
:where(body[data-v4~="projects"]) .pj-lyr .grp i{width:9px;height:9px;background:var(--orange);flex:none}
:where(body[data-v4~="projects"]) .pj-lyr .pts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
:where(body[data-v4~="projects"]) .pj-lyr .pt{display:grid;gap:3px;align-content:start;background:var(--tint);border:1px solid rgba(254,80,0,.28);border-radius:12px;padding:12px 15px}
:where(body[data-v4~="projects"]) .pj-lyr .pt b{font-weight:500;color:var(--ink);font-size:15px;margin-bottom:3px}
:where(body[data-v4~="projects"]) .pj-lyr .pt span{font-size:12px;color:var(--body);line-height:1.55}
:where(body[data-v4~="projects"]) .pj-lyr .ly-k.is-opt .grp i{background:none;border:1px dashed var(--orange);border-radius:50%}
:where(body[data-v4~="projects"]) .pj-lyr .ly-k.is-opt .pt{background:#fff;border:1px dashed var(--orange)}
/* facility operator: neutral grey */
:where(body[data-v4~="projects"]) .pj-lyr .ly-f{background:var(--fac-bg)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-f .who{border-right:1px solid rgba(20,18,16,.1)}
:where(body[data-v4~="projects"]) .pj-lyr .ly-f .mk{background:var(--fac)}
:where(body[data-v4~="projects"]) .pj-lyr .fits{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
:where(body[data-v4~="projects"]) .pj-lyr .ly-f .it{background:#fff}
:where(body[data-v4~="projects"]) .pj-lyr .sep{font-style:normal;color:var(--fac);font-size:0;width:0;overflow:hidden}
:where(body[data-v4~="projects"]) .pj-lyr .hubnote{font-size:15px;color:var(--body);max-width:52em;margin-top:21px}
@media (max-width:861px){
 :where(body[data-v4~="projects"]) .pj-lyr .ly{grid-template-columns:1fr;min-height:0}
 :where(body[data-v4~="projects"]) .pj-lyr .who{padding:15px 18px}
 :where(body[data-v4~="projects"]) .pj-lyr .ly-c .who{border-right:0;border-bottom:1px solid var(--ink)}
 :where(body[data-v4~="projects"]) .pj-lyr .ly-f .who{border-right:0;border-bottom:1px solid rgba(20,18,16,.1)}
 :where(body[data-v4~="projects"]) .pj-lyr .its{padding:12px}
 :where(body[data-v4~="projects"]) .pj-lyr .ly-c .it{padding-left:6px}
 :where(body[data-v4~="projects"]) .pj-lyr .pts{grid-template-columns:1fr 1fr}
 :where(body[data-v4~="projects"]) .pj-lyr .it{min-height:36px;padding:6px 12px}
 :where(body[data-v4~="projects"]) .pj-lyr .ly-k .who b{font-size:21px}
}
/* owner cards (scope-card frame) */
:where(body[data-v4~="projects"]) .pj-owns{margin-top:24px}
:where(body[data-v4~="projects"]) .pj-own .sc-b{display:grid;gap:18px;align-content:start;padding:24px 30px 33px}
:where(body[data-v4~="projects"]) .pj-own .sc-b ul{padding:0}
:where(body[data-v4~="projects"]) .pj-own .sc-b p{font-size:15px;line-height:1.7}
:where(body[data-v4~="projects"]) .pj-own .tags{display:flex;flex-wrap:wrap;gap:6px}
:where(body[data-v4~="projects"]) .pj-scope.fac{--fac:#9A958E;border:0;background:var(--warm)}
:where(body[data-v4~="projects"]) .pj-scope.fac .sc-h{background:#EFEDE8}
:where(body[data-v4~="projects"]) .pj-scope.fac .k{color:var(--body)}:where(body[data-v4~="projects"]) .pj-scope.fac .k i{background:var(--fac)}
:where(body[data-v4~="projects"]) .pj-scope.fac .ck-o{fill:var(--fac);stroke:var(--fac)}
:where(body[data-v4~="projects"]) .pj-scope.fac .ck-p{stroke:#fff}
:where(body[data-v4~="projects"]) .pj-scope.fac .chip{background:#fff}
:where(body[data-v4~="projects"]) .pj-roles.pj-owns .grid{align-content:stretch}
:where(body[data-v4~="projects"]) .pj-roles.pj-owns .pj-own{height:100%}
@media (max-width:861px){:where(body[data-v4~="projects"]) .pj-own .sc-b{padding:21px 24px 27px}}
/* SMX01 partnership: group photo full width above the partner cards; crop keeps everyone (people sit in the lower 55%) */
:where(body[data-v4~="projects"]) .pj-grouppic{margin:48px 0 21px}
@media (max-width:861px){:where(body[data-v4~="projects"]) .pj-grouppic{margin-top:30px}}
:where(body[data-v4~="projects"]) .pj-grouppic .photo img{object-position:center 78%}
