/* site.css */
/* KONST Group website v2 · design system
   Brand: KONST Brand Identity Guidelines 2026.07 v1.0 (colour 75/20/5, TASA Orbiter + vivo Sans TC, solid icons, cutting-line device)
   Family look shared with Horizon AI (isometric diagrams, tinted wash heroes), accent = 曙光橙 */




:root{
  --orange:#FE5000; --orange-d:#DB480B; --peach:#FFAE62; --peach-l:#FFD6B0; --dusk:#963821; --sky:#00AED6;
  --tint:#FFF6EF; --tint-2:#FFEDE0;
  --paper:#FFFFFF; --warm:#F6F5F2; --warm-2:#EFEDE8; --line:#E6E3DD; --line-2:#D9D8D6;
  --ink:#141210; --body:#4A463F; --muted:#888B8D; --dark:#171412; --dark-2:#221E1B;
  --gutter:90px; --sec:120px; --max:1440px; --r:15px;
  --latin:"TASA Orbiter","Helvetica Neue",Arial,sans-serif;
  --cjk:"vivo Sans TC","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  --font:"TASA Orbiter","vivo Sans TC","PingFang TC","Noto Sans TC",sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:1101px){:root{--gutter:39px;--sec:96px}}
@media (max-width:759px){:root{--gutter:21px;--sec:72px}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--body);font:400 15px/1.75 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4{color:var(--ink);margin:0;font-weight:500;letter-spacing:0;text-wrap:balance;word-break:keep-all;line-break:strict}
p{margin:0;text-wrap:pretty;line-break:strict}
.nb{white-space:nowrap}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:9px;z-index:100;background:var(--ink);color:#fff;padding:9px 15px;border-radius:9px}
.skip:focus{left:12px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}

/* ---------- type scale ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font:500 12px/1.4 var(--font);letter-spacing:0;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:6px;height:6px;background:var(--orange);flex:none}
.eyebrow.on-dark{color:rgba(255,255,255,.7)} .eyebrow.on-dark::before{background:var(--peach)}
.h1{font-size:clamp(39px,4.6vw,63px);line-height:1.18}
.h2{font-size:clamp(27px,3vw,42px);line-height:1.28}
.h3{font-size:clamp(18px,1.5vw,21px);line-height:1.45}
.lead{font-size:clamp(15px,1.2vw,18px);line-height:1.8;color:var(--body);max-width:36em}
.small{font-size:15px;line-height:1.7}
.fine{font-size:12px;line-height:1.7;color:var(--muted)}
.num{font-family:var(--latin);font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 24px;border-radius:999px;font:500 15px/1 var(--font);border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease);white-space:nowrap}
.btn svg{width:15px;height:15px}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-d)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--orange);color:var(--orange)}
.btn-glass{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(15px) saturate(1.3)}
.btn-glass:hover{background:rgba(255,255,255,.3)}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{color:var(--orange)}
.btn-sm{height:39px;padding:0 18px;font-size:15px}
.link{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .2s}
.link:hover{color:var(--orange)}
.link svg{width:15px;height:15px}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- header: v1 (8765) copy lives in v1-header.css ---------- */

/* ---------- breadcrumb ---------- */
.crumb{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;color:var(--muted);margin-bottom:27px}
.crumb a:hover{color:var(--orange)}
.crumb span[aria-hidden]{opacity:.5}

/* ---------- heroes ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#FFE3CB 0%,#FFF1E6 30%,#FFFFFF 62%)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:57px;align-items:center;padding-block:87px 96px;position:relative;z-index:1}
.hero-grid .copy{display:grid;gap:27px;align-content:center}
.hero-grid .ill{position:relative}
.hero-grid .ill svg{width:100%;height:auto}
.hero .proof{display:flex;flex-wrap:wrap;gap:9px 27px;margin-top:9px;font-size:15px;color:var(--body)}
.hero .proof b{font:500 21px/1 var(--latin);color:var(--ink);margin-right:6px}
.hero-lines{position:absolute;right:-60px;top:-39px;width:519px;opacity:.08;pointer-events:none;z-index:0}
@media (max-width:981px){.hero-grid{grid-template-columns:1fr;padding-block:57px 63px;gap:33px}}

.hero-page{padding-block:72px 63px;background:linear-gradient(118deg,#FFEBDB 0%,#FFF7F1 34%,#FFFFFF 64%);border-bottom:1px solid var(--line)}
.hero-page .row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:57px;align-items:end}
.hero-page .row>div{display:grid;gap:21px}
@media (max-width:981px){.hero-page .row{grid-template-columns:1fr;gap:24px}}

.hero-photo{position:relative;min-height:min(78vh,759px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--dark)}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,20,18,.15) 0%,rgba(23,20,18,.1) 40%,rgba(80,30,12,.78) 100%),linear-gradient(90deg,rgba(150,56,33,.35),transparent 60%);z-index:1}
.hero-photo .wrap{position:relative;z-index:2;padding-block:120px 72px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end}
.hero-photo h1,.hero-photo h2{color:#fff}
.hero-photo .lead{color:rgba(255,255,255,.86)}
.hero-photo .cap{position:absolute;right:var(--gutter);top:99px;z-index:2;font-size:12px;color:rgba(255,255,255,.7)}
@media (max-width:981px){.hero-photo .wrap{grid-template-columns:1fr}}

/* ---------- sections ---------- */
.sec{padding-block:var(--sec)}
.sec.tint{background:var(--tint)}
.sec.warm{background:var(--warm)}
.sec.dark{background:var(--dark);color:rgba(255,255,255,.72)}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec.tight{padding-block:calc(var(--sec)*.6)}
.sec+.sec:not(.tint):not(.warm):not(.dark){border-top:1px solid var(--line)}
.sh{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:end;margin-bottom:57px}
.sh .t{display:grid;gap:18px}
.sh .d{display:grid;gap:18px;justify-items:start}
.sh.stack{grid-template-columns:1fr;max-width:819px}
.sh.center{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:819px;margin-inline:auto}
@media (max-width:981px){.sh{grid-template-columns:1fr;gap:21px;margin-bottom:39px}}

/* ---------- cards ---------- */
.grid{display:grid;gap:21px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1101px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:861px){.g3{grid-template-columns:1fr}}
@media (max-width:639px){.g2,.g4{grid-template-columns:1fr}}
.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px 27px;display:flex;flex-direction:column;gap:15px;transition:border-color .25s,transform .35s var(--ease),box-shadow .35s var(--ease)}
.sec.tint .card,.sec.warm .card{border-color:transparent}
a.card:hover,.card.hov:hover{transform:translateY(-3px);box-shadow:0 18px 39px rgba(150,56,33,.10);border-color:rgba(254,80,0,.35)}
.card .ic{width:45px;height:45px;color:var(--orange)}
.card .k{font:500 12px/1 var(--latin);letter-spacing:0;color:var(--muted);text-transform:uppercase}
.card h3{font-size:21px;line-height:1.45}
.card p{font-size:15px;line-height:1.75}
.card .more{margin-top:auto;padding-top:9px}
.card .tags{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;height:27px;padding:0 12px;border-radius:999px;background:var(--warm);font-size:12px;color:var(--body)}
.sec.warm .chip,.sec.tint .chip{background:#fff}
.chip.o{background:var(--tint-2);color:var(--orange-d)}
.card.fill{background:var(--warm);border-color:transparent}

/* pain cards */
.pain .card{gap:15px}
.pain .q{font-size:clamp(18px,1.6vw,24px);line-height:1.5;color:var(--ink);font-weight:500}
.pain .q::before{content:"“";color:var(--orange);font:500 36px/0 var(--latin);vertical-align:-9px;margin-right:3px}
.pain .ans{padding-top:15px;border-top:1px solid var(--line);display:grid;gap:9px}
.pain .ans b{font-weight:500;color:var(--orange-d);font-size:12px;letter-spacing:0}

/* brand trio */
.brands{display:grid;gap:21px}
.brand-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:39px 48px}
.brand-row .ill{max-width:459px;justify-self:center;width:100%}
.brand-row .body{display:grid;gap:15px;align-content:center}
.brand-row .n{font:500 12px/1 var(--latin);color:var(--muted)}
.brand-row .name{font:500 30px/1.2 var(--latin);color:var(--ink)}
.brand-row .role{font-size:18px;color:var(--ink);font-weight:500}
.brand-row ul{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}
@media (max-width:900px){.brand-row{grid-template-columns:1fr;padding:27px 24px;gap:24px}}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}
.trio>a{display:grid;gap:15px;padding:33px 30px 33px;border-right:1px solid var(--line);transition:background .25s}
.trio>a:last-child{border-right:0}
.trio>a:hover{background:var(--tint)}
.trio .ill{height:189px;display:flex;align-items:center;justify-content:center}
.trio .ill svg{max-height:189px;width:auto}
.trio .name{font:500 24px/1.2 var(--latin);color:var(--ink)}
.trio .role{font-size:12px;letter-spacing:0;color:var(--orange-d);font-weight:500}
@media (max-width:900px){.trio{grid-template-columns:1fr}.trio>a{border-right:0;border-bottom:1px solid var(--line)}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.stats.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stats>div{padding:27px 24px 9px 0;display:grid;gap:9px;align-content:start}
.stats>div+div{padding-left:24px;border-left:1px solid var(--line)}
.stats .v{font:500 clamp(33px,3.4vw,51px)/1 var(--latin);color:var(--orange);letter-spacing:0}
.stats .v small{font-size:.42em;color:var(--ink);margin-left:3px;font-weight:500}
.stats .l{font-size:15px;color:var(--ink);font-weight:500}
.stats .s{font-size:12px;color:var(--muted);line-height:1.6}
.sec.dark .stats{border-color:rgba(255,255,255,.14)} .sec.dark .stats>div+div{border-color:rgba(255,255,255,.14)} .sec.dark .stats .l{color:#fff} .sec.dark .stats .v{color:var(--peach)}
@media (max-width:900px){.stats,.stats.c3{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div:nth-child(odd){padding-left:0;border-left:0}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:0;counter-reset:st;position:relative}
.steps>div{position:relative;padding:0 24px 0 0;display:grid;gap:12px;align-content:start}
.steps>div::before{counter-increment:st;content:counter(st,decimal-leading-zero);font:500 12px/1 var(--latin);color:var(--orange);display:flex;align-items:center;gap:12px;padding-bottom:21px;border-bottom:1.5px solid var(--line);margin-bottom:9px}
.steps>div::after{content:"";position:absolute;left:0;top:33px;width:9px;height:9px;border-radius:50%;background:var(--orange);transform:translateY(-3px)}
.steps h3{font-size:18px}
.steps p{font-size:15px}
.steps .tag{justify-self:start}
@media (max-width:981px){.steps{grid-template-columns:1fr 1fr;gap:36px 0}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}

/* ---------- split (sticky media + list) ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:63px;align-items:start}
.split .stick{position:sticky;top:111px}
.split .ill{background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px}
.sec.tint .split .ill,.sec.warm .split .ill{border-color:transparent}
.rows{display:grid}
.rows>div{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}
.rows>div:last-child{border-bottom:1px solid var(--line)}
.rows .ic{width:36px;height:36px;color:var(--orange)}
.rows h3{font-size:18px;margin-bottom:6px}
.rows p{font-size:15px}
@media (max-width:981px){.split{grid-template-columns:1fr;gap:33px}.split .stick{position:static}}

/* ---------- tabs ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:27px}
.tabs button{height:39px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:15px;color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabpanel[hidden]{display:none}

/* ---------- table ---------- */
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.tbl table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.65;min-width:639px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:15px 21px;border-bottom:1px solid var(--line)}
.tbl thead th{font-weight:500;font-size:12px;color:var(--muted);background:var(--warm)}
.tbl tbody th{font-weight:500;color:var(--ink);background:#FCFBFA;width:22%}
.tbl tr:last-child>*{border-bottom:0}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:grid;grid-template-columns:1fr 27px;gap:21px;align-items:center;padding:24px 0;cursor:pointer;font-size:18px;color:var(--ink);font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:27px;height:27px;border-radius:50%;border:1px solid var(--line);position:relative}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq .a{padding:0 48px 27px 0;font-size:15px;display:grid;gap:9px}

/* ---------- specs dl ---------- */
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.spec>div{display:grid;grid-template-columns:40% 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
.spec dt{color:var(--muted)} .spec dd{margin:0;color:var(--ink);font-weight:500}
@media (max-width:759px){.spec{grid-template-columns:1fr}}

/* ---------- compute table ---------- */
.filters{display:flex;flex-wrap:wrap;gap:9px 21px;align-items:center;justify-content:space-between;margin-bottom:21px}
.filters .chips{display:flex;flex-wrap:wrap;gap:9px}
.filters button{height:39px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:15px;color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
.filters select{height:39px;border-radius:999px;border:1px solid var(--line);padding:0 36px 0 15px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23141210' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 15px center;appearance:none;font:inherit;font-size:15px;color:var(--ink)}
.ctable{border-top:1.5px solid var(--ink)}
.crow{display:grid;grid-template-columns:1.1fr 1.3fr 1fr 1.1fr 1.1fr .8fr 1.25fr 120px;gap:15px;align-items:center;padding:21px 3px;border-bottom:1px solid var(--line);font-size:15px;transition:background .2s}
.crow.head{font-size:12px;color:var(--muted);padding-block:15px;letter-spacing:0}
.crow:not(.head):hover{background:var(--tint)}
.crow .gpu{font:500 15px/1.3 var(--latin);color:var(--orange)}
.crow .loc b{display:block;color:var(--ink);font-weight:500;font-size:15px}
.crow .loc span{font-size:12px;color:var(--muted)}
.crow .price{text-align:right}
.crow .price b{font:500 21px/1 var(--latin);color:var(--ink)}
.crow .price small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.crow .go{justify-self:end}
.crow .cool{display:inline-flex;height:27px;padding:0 9px;border-radius:999px;background:var(--tint-2);color:var(--orange-d);font-size:12px;align-items:center}
@media (max-width:1101px){
  .crow.head{display:none}
  .crow{grid-template-columns:1fr 1fr;gap:6px 15px;padding:21px 0}
  .crow .price{text-align:left}
  .crow .go{justify-self:start}
  .crow>.hide-m{display:none}
}

/* ---------- media ---------- */
.photo{border-radius:var(--r);overflow:hidden;position:relative;background:var(--warm)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.warm::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,174,98,.10),rgba(150,56,33,.22));mix-blend-mode:multiply;pointer-events:none}
.ratio-169{aspect-ratio:16/9}.ratio-32{aspect-ratio:3/2}.ratio-219{aspect-ratio:21/9}.ratio-45{aspect-ratio:4/5}
.cap{font-size:12px;color:var(--muted);margin-top:9px}

/* project cards */
.proj{display:grid;grid-template-columns:1fr 1fr;gap:21px}
.proj a{display:grid;gap:18px}
.proj .photo{aspect-ratio:4/3}
.proj .photo img{transition:transform .8s var(--ease)}
.proj a:hover .photo img{transform:scale(1.03)}
.proj .meta{display:flex;justify-content:space-between;gap:15px;align-items:baseline}
.proj h3{font-size:21px}
.proj .for{font-size:12px;color:var(--orange-d);font-weight:500}
@media (max-width:759px){.proj{grid-template-columns:1fr}}

/* news / article cards */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 21px}
.post{display:grid;gap:15px;align-content:start}
.post .photo{aspect-ratio:16/10}
.post .photo img{transition:transform .8s var(--ease)}
.post:hover .photo img{transform:scale(1.03)}
.post .m{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted)}
.post .m b{color:var(--orange-d);font-weight:500}
.post h3{font-size:18px;line-height:1.55}
.post:hover h3{color:var(--orange)}
.post p{font-size:15px;color:var(--body)}
@media (max-width:981px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:639px){.posts{grid-template-columns:1fr}}
.press{display:flex;flex-wrap:wrap;gap:9px 36px;align-items:center;padding:27px 0;border-block:1px solid var(--line);font:500 15px/1 var(--latin);color:var(--muted)}
.press span:first-child{font:500 12px var(--font);letter-spacing:0;text-transform:uppercase}

/* ---------- article ---------- */
.article-head{padding-block:63px 39px;background:linear-gradient(118deg,#FFF1E6 0%,#FFFFFF 50%)}
.article-head .in{max-width:900px;display:grid;gap:21px}
.article-cover{max-width:1260px;margin:0 auto;padding-inline:var(--gutter)}
.article-cover .photo{aspect-ratio:16/8}
.article{display:grid;grid-template-columns:240px minmax(0,681px);gap:72px;justify-content:center;padding-block:63px 24px}
.toc{position:sticky;top:111px;align-self:start;display:grid;gap:3px;font-size:12px}
.toc b{font-size:12px;letter-spacing:0;color:var(--muted);text-transform:uppercase;font-weight:500;margin-bottom:9px}
.toc a{padding:6px 0 6px 15px;border-left:1.5px solid var(--line);color:var(--body);line-height:1.5}
.toc a:hover,.toc a.on{border-color:var(--orange);color:var(--ink)}
.prose{font-size:18px;line-height:1.9;color:#3D3A35}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:27px;line-height:1.4;margin-top:2.2em;scroll-margin-top:99px}
.prose h3{font-size:21px;margin-top:1.8em;scroll-margin-top:99px}
.prose a{color:var(--orange-d);border-bottom:1px solid rgba(254,80,0,.35)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose strong,.prose b{color:var(--ink);font-weight:500}
.prose blockquote{margin:1.6em 0;padding:3px 0 3px 21px;border-left:3px solid var(--orange);color:var(--ink);font-size:18px}
.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.65}
.prose .tbl{margin-block:1.6em}
.prose .tbl table{min-width:561px}
.prose img{border-radius:12px}
.prose code{font-size:.9em;background:var(--warm);padding:2px 6px;border-radius:3px}
.byline{display:flex;flex-wrap:wrap;gap:9px 21px;font-size:12px;color:var(--muted)}
.byline b{color:var(--ink);font-weight:500}
.art-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:39px;padding-top:24px;border-top:1px solid var(--line)}
@media (max-width:999px){.article{grid-template-columns:1fr;gap:24px}.toc{position:static;display:none}}
.source-card{display:grid;grid-template-columns:1fr auto;gap:21px;align-items:center;background:var(--warm);border-radius:var(--r);padding:27px 27px;margin-top:33px}
.source-card .k{font-size:12px;letter-spacing:0;text-transform:uppercase;color:var(--muted)}
.source-card h3{font-size:18px;margin-top:6px}
@media (max-width:639px){.source-card{grid-template-columns:1fr}}

/* ---------- CTA band ---------- */
.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#963821 0%,#DB480B 34%,#FE5000 62%,#FF8F41 100%);color:#fff}
.cta .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:end;padding-block:111px}
.cta h2{color:#fff;font-size:clamp(30px,3.4vw,51px);line-height:1.25}
.cta p{color:rgba(255,255,255,.88);font-size:18px;max-width:32em}
.cta .d{display:grid;gap:27px;justify-items:start}
.cta .lines{position:absolute;right:-4%;top:50%;transform:translateY(-50%);height:128%;width:auto;opacity:.16;z-index:0}
@media (max-width:900px){.cta .wrap{grid-template-columns:1fr;padding-block:81px}.cta .lines{height:90%;right:-30%}}

/* ---------- footer ---------- */
.site-footer{background:#fff;border-top:1px solid var(--line);padding-block:72px 33px;font-size:15px}
.ft{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:39px}
.ft .brand{display:grid;gap:18px;align-content:start}
.ft .brand img{height:27px;width:auto}
.ft .brand p{color:var(--body);max-width:22em}
.ft h4{font:500 12px/1 var(--font);letter-spacing:0;text-transform:uppercase;color:var(--muted);margin-bottom:15px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ft a:hover{color:var(--orange)}
.ft-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:57px;padding-top:21px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.ft-b nav{display:flex;flex-wrap:wrap;gap:21px}
.ft-addr{display:grid;gap:3px;color:var(--body)}
@media (max-width:999px){.ft{grid-template-columns:1fr 1fr}.ft .brand{grid-column:1/-1}}

/* ---------- new-copy marker (review mode: ?mark) ---------- */
html.mark .nc{background:linear-gradient(transparent 62%,rgba(0,174,214,.22) 0);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.mark-note{display:none}
html.mark .mark-note{display:block;position:fixed;left:15px;bottom:15px;z-index:60;background:var(--ink);color:#fff;font-size:12px;padding:9px 15px;border-radius:9px;max-width:279px}

/* ---------- motion ---------- */
.rv{transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js .rv:not(.in){opacity:0;transform:translateY(18px)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html.js .rv:not(.in){opacity:1;transform:none}}

/* utilities */
.mt-s{margin-top:15px}.mt{margin-top:33px}.mt-l{margin-top:57px}
.center{text-align:center}
.max-820{max-width:819px}
.note-bar{font-size:12px;color:var(--muted);margin-top:21px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}


/* ================= v2.1 · 2026-09-25 · clean minimal pass (Racketon + LEEVI references) =================
   line icons v0.2, line-art isometric diagrams, tiles instead of gradient washes, inset CTA block */
.s,.a,.w{fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter}.s{stroke:currentColor}.w{stroke:currentColor;fill:var(--ic-bg,#fff)}.a{stroke:#FE5000}.af{fill:#FE5000}
.ic{color:var(--ink)}
:root{--tint:#FFF7F1;--tint-2:#FFEADB;--warm:#F5F4F1}
h1,h2{font-weight:500}
.h1{font-size:clamp(36px,4.2vw,57px);line-height:1.2}
.h2{font-size:clamp(27px,2.7vw,39px);line-height:1.32}

/* hero → two rounded tiles */
.hero{background:#fff}
.hero::after,.hero-lines{display:none}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:15px;padding-block:24px 9px;align-items:stretch}
.hero-grid .copy{background:var(--tint-2);border-radius:24px;padding:57px 48px 51px;align-content:end;min-height:519px;position:relative}
.hero-grid .copy::before{content:"";position:absolute;left:48px;top:48px;width:45px;height:51px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 207 240'%3E%3Cg fill='none' stroke='%231A1714' stroke-width='5'%3E%3Cpath d='M69.16,101.36L42,0H0l27.16,101.37c3.27,12.21,3.27,25.06,0,37.27L0,240h42l27.16-101.36c3.27-12.21,3.27-25.06,0-37.27h0Z'/%3E%3Cpath d='M141.16,101.36L114,0h-42l27.16,101.37c3.27,12.21,3.27,25.06,0,37.27l-27.16,101.37h42l27.16-101.36c3.27-12.21,3.27-25.06,0-37.27v-.02Z'/%3E%3Cpath d='M207,0h-63l27.16,101.36c3.27,12.21,3.27,25.07,0,37.28l-27.16,101.36h63V0Z'/%3E%3C/g%3E%3C/svg%3E")}
.hero-grid .copy .crumb{position:absolute;right:48px;top:51px;margin:0}
.hero-grid .ill{background:var(--warm);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:39px}
.hero-grid .ill svg{max-height:459px}
@media (max-width:981px){.hero-grid{grid-template-columns:1fr}.hero-grid .copy{min-height:0;padding:96px 27px 36px}.hero-grid .copy::before{left:27px;top:33px}.hero-grid .copy .crumb{position:static}}
.hero-page{background:#fff}

/* cards: quiet fill, no borders */
.card{background:var(--warm);border-color:transparent;padding:33px 27px}
.sec.warm .card,.sec.tint .card{background:#fff}
a.card:hover,.card.hov:hover{box-shadow:none;border-color:transparent;background:var(--tint-2);transform:none}
.card .ic{width:39px;height:39px;--ic-bg:var(--warm)}
a.card:hover .ic{--ic-bg:var(--tint-2)}
.card h3{font-size:18px}
.pain .q::before{display:none}
.pain .ans{border-color:rgba(26,23,20,.12)}
.rows .ic{width:33px;height:33px}

/* sections: calmer backgrounds */
.sec.tint{background:#FBF9F6}
.sec+.sec:not(.tint):not(.warm):not(.dark){border-top:0}
.sh{margin-bottom:48px}

/* brand rows & layers list (Foundry reference) */
.brand-row{background:var(--warm);border:0}
.sec.tint .brand-row{background:#fff}
.layers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:57px;align-items:center}
.layers .ill svg{width:100%;height:auto}
.layer-list{border-top:1px solid var(--ink)}
.layer-list>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:24px 33px;border-radius:18px;position:relative;transition:background .2s}
.layer-list>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transition:opacity .2s}   /* straight rule under each row (a border would follow the 18px radius) */
.layer-list>a:hover .nm{color:var(--orange)}
.layer-list .no{font:500 12px/1 var(--latin);letter-spacing:0;color:var(--muted)}
.layer-list .nm{font:400 clamp(27px,2.8vw,39px)/1.1 var(--latin);color:var(--ink);margin-top:9px;display:block;transition:color .2s}
.layer-list .rl{font-size:15px;color:var(--ink);margin-top:9px;display:block}
.layer-list ul{list-style:none;margin:0;padding:0;display:grid}
.layer-list li{font-size:15px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--body)}
.layer-list li:last-child{border-bottom:0}
@media (max-width:981px){.layers{grid-template-columns:1fr}.layer-list>a{grid-template-columns:1fr}}
@media (max-width:600px){.layer-list>a{padding:24px 21px}}

/* CTA → inset tinted block (LEEVI) */
.cta{background:#fff;color:var(--ink);padding-block:0 96px}
.cta .lines{display:none}
.cta .wrap{padding-block:0}
.cta .box{position:relative;background:var(--tint-2);border-radius:24px;padding:120px 57px 57px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:39px;align-items:end}
.cta .box::before{content:"";position:absolute;left:57px;top:48px;width:48px;height:57px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 207 240'%3E%3Cg fill='none' stroke='%231A1714' stroke-width='5'%3E%3Cpath d='M69.16,101.36L42,0H0l27.16,101.37c3.27,12.21,3.27,25.06,0,37.27L0,240h42l27.16-101.36c3.27-12.21,3.27-25.06,0-37.27h0Z'/%3E%3Cpath d='M141.16,101.36L114,0h-42l27.16,101.37c3.27,12.21,3.27,25.06,0,37.27l-27.16,101.37h42l27.16-101.36c3.27-12.21,3.27-25.06,0-37.27v-.02Z'/%3E%3Cpath d='M207,0h-63l27.16,101.36c3.27,12.21,3.27,25.07,0,37.28l-27.16,101.36h63V0Z'/%3E%3C/g%3E%3C/svg%3E")}
.cta h2{color:var(--ink);font-size:clamp(27px,3.2vw,45px)}
.cta p{color:var(--body)}
.cta .d{justify-items:start}
.cta .btn-white{background:var(--orange);color:#fff} .cta .btn-white:hover{background:var(--orange-d);color:#fff}
.cta .btn-glass{background:transparent;border-color:var(--ink);color:var(--ink);backdrop-filter:none} .cta .btn-glass:hover{border-color:var(--orange);color:var(--orange)}
@media (max-width:900px){.cta .box{grid-template-columns:1fr;padding:105px 27px 36px}.cta .box::before{left:27px;top:36px}}
.site-footer{border-top:0;padding-top:24px}

/* home carousel hero (Racketon) + finder */
.hc{padding-top:15px}
.hc-stage{position:relative;border-radius:24px;overflow:hidden;height:min(76vh,720px);min-height:519px;background:var(--dark)}
.hc-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility .8s}
.hc-slide.on{opacity:1;visibility:visible}
.hc-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6s var(--ease)}
.hc-slide.on img{transform:scale(1)}
.hc-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,10,.10) 30%,rgba(60,24,10,.72) 100%)}
.hc-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 57px 117px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:39px;align-items:end;color:#fff}
.hc-copy h1,.hc-copy h2{color:#fff;font-size:clamp(33px,4vw,57px);line-height:1.2}
.hc-copy .eyebrow{color:rgba(255,255,255,.8)} .hc-copy .eyebrow::before{background:var(--peach)}
.hc-copy .t{display:grid;gap:18px}
.hc-copy .d{display:grid;gap:21px;justify-items:start}
.hc-copy .d p{color:rgba(255,255,255,.86);font-size:15px;line-height:1.8}
.hc-copy .src{font-size:12px;color:rgba(255,255,255,.7)}
.hc-ctrl{position:absolute;right:57px;top:39px;z-index:3;display:flex;gap:15px;align-items:center;color:#fff;font:500 12px var(--latin)}
.hc-ctrl button{width:39px;height:39px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);backdrop-filter:blur(9px);color:#fff;cursor:pointer;display:grid;place-items:center}
.hc-ctrl button:hover{background:rgba(255,255,255,.28)}
.hc-dots{display:flex;gap:6px} .hc-dots i{width:21px;height:2px;background:rgba(255,255,255,.4)} .hc-dots i.on{background:#fff}
.finder{position:relative;z-index:4;margin:-45px auto 0;max-width:1041px;background:#fff;border-radius:999px;box-shadow:0 21px 60px rgba(20,18,16,.10);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;align-items:center;padding:9px 9px 9px 12px}
.finder label{display:grid;gap:2px;padding:6px 24px;border-right:1px solid var(--line);font-size:12px;color:var(--muted)}
.finder label:nth-of-type(3){border-right:0}
.finder select{border:0;background:transparent;font:500 15px var(--font);color:var(--ink);padding:0;appearance:none;cursor:pointer}
.finder .btn{height:51px}
@media (max-width:981px){.hc-copy{grid-template-columns:1fr;padding:0 24px 96px;gap:15px}.hc-ctrl{right:24px;top:24px}.finder{border-radius:21px;grid-template-columns:1fr;margin:-33px 15px 0;padding:12px}.finder label{border-right:0;border-bottom:1px solid var(--line);padding:9px 12px}.finder .btn{justify-content:center}}

/* v2.2 · Apple design pass: size-specific tracking, press feedback, translucent chrome, a11y media */
.h1,.hc-copy h1,.hc-copy h2,.cta h2,.layer-list .nm,.brand-row .name,.stats .v{letter-spacing:0}
.h2{letter-spacing:0}
.eyebrow,.fine,.crow.head{letter-spacing:0}
.btn{transition:background .2s,color .2s,border-color .2s,transform .12s ease-out}
.btn:active,.tabs button:active,.filters button:active,.hc-ctrl button:active{transform:scale(.97)}
a.card:active,.post:active,.layer-list>a:active{transform:scale(.99)}
.hc-slide{transition:opacity .9s cubic-bezier(.2,.7,.2,1),visibility .9s}
@media (prefers-reduced-transparency:reduce){.btn-glass,.hc-ctrl button{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}.hc-ctrl button{color:var(--ink)}}
@media (prefers-contrast:more){.card,.brand-row{border:1px solid var(--ink)}.fine,.eyebrow{color:var(--body)}}
@media (prefers-reduced-motion:reduce){.hc-slide img{transform:none!important}}

.finder{grid-template-columns:1fr 1fr auto;max-width:819px}
.finder label:nth-of-type(2){border-right:0}

/* v2.3 · clean backgrounds (no logo underlay) + Liquid Glass */
.hero-grid .copy::before,.cta .box::before{content:none}
.hero-grid .copy{padding-top:48px}
.cta .box{padding-top:72px}
.glass{background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 18px 48px rgba(20,18,16,.08)}
.hero-grid .copy{background:linear-gradient(135deg,rgba(255,234,219,.9),rgba(255,246,239,.72));position:relative;overflow:hidden}
.hero-grid .copy::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(254,80,0,.18),transparent 70%);pointer-events:none}
.hero-grid .ill{background:linear-gradient(180deg,#F7F6F3,#EFEDE8);position:relative}
.finder{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
.hc-copy .d{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:21px;padding:27px}
.card{background:linear-gradient(180deg,#F7F6F3,#F2F0EC)}
@media (prefers-reduced-transparency:reduce){.glass,.finder,.hc-copy .d{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}.hc-copy .d{background:rgba(23,20,18,.82)}}








/* v2.4 · CTA box spans the container */
.cta .wrap{display:block}
.photo-band{padding-top:24px}
.photo-band .photo{aspect-ratio:21/8;border-radius:24px}
@media (max-width:759px){.photo-band .photo{aspect-ratio:4/3}}

/* v2.5 · skill pass: accessibility (WCAG AA), mobile-native, Emil polish, motion audit */
:root{--muted:#65686A;--orange-t:#B94016;--ease-io:cubic-bezier(.4,0,.2,1)}
html{-webkit-tap-highlight-color:transparent}
a,button,summary,select,label,[role=tab]{touch-action:manipulation}
.btn,.tabs button,.filters button,.hc-ctrl button,summary{-webkit-user-select:none;user-select:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.sec.dark :focus-visible,.hc-stage :focus-visible{outline-color:#fff}
.crow .gpu,.chip.o,.crow .cool,.post .m b,.proj .for,.trio .role,.pain .ans b,.prose a{color:var(--orange-t)}
.stats .v{font-variant-numeric:tabular-nums}
.btn-glass{-webkit-backdrop-filter:blur(15px) saturate(1.3)}
.hc-ctrl button{-webkit-backdrop-filter:blur(9px)}
.pain .ans{margin-top:auto}
.card{background:var(--warm);transition:background-color .2s ease,transform .15s ease-out}
.sec.warm .card,.sec.tint .card{background:#fff}
.sec.warm a.card:hover,.sec.tint a.card:hover{background:var(--tint-2)}
a.card,.post,.layer-list>a{transition:background-color .2s ease,transform .15s ease-out}
.tabs button,.filters button{transition:transform .12s ease-out,border-color .15s ease,color .15s ease,background-color .15s ease}
.tabs button[aria-selected="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
@media (hover:hover) and (pointer:fine){.tabs button:hover,.filters button:hover{border-color:var(--orange)}}
@media (hover:none){a.card:hover,.card.hov:hover{background:var(--warm)}.sec.warm a.card:hover,.sec.tint a.card:hover{background:#fff}.post:hover h3{color:var(--ink)}.proj a:hover .photo img,.post:hover .photo img{transform:none}}
.wrap{padding-inline:max(var(--gutter),env(safe-area-inset-left,0px)) max(var(--gutter),env(safe-area-inset-right,0px))}
.mark-note{bottom:calc(15px + env(safe-area-inset-bottom,0px))}
.hc-stage{height:min(76vh,720px);height:min(76svh,720px);touch-action:pan-y}
.hero-photo{min-height:min(78svh,759px)}
@media (pointer:coarse){
 .field input:not([type=checkbox]),.field select,.field textarea,.filters select,.finder select{font-size:18px}
 .btn-sm,.tabs button,.filters button,.filters select,.hc-ctrl button,.reg-chips button{height:45px;min-width:45px}
 .crumb a,.ft ul a,.ft-b a,.crow .link{display:inline-flex;align-items:center;min-height:45px}
}
.ft .ft-h{font:500 12px/1 var(--font);text-transform:uppercase;color:var(--muted);margin:0 0 15px}
.hero-grid .ill.map-wrap{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:stretch}
/* reveal: short, capped stagger; hands control back to component transitions when done */
.rv{transition:none}
html.js .rv:not(.done){transition:opacity .5s var(--ease),transform .5s var(--ease)}
html.js .rv:not(.in){opacity:0;transform:translateY(12px)}
/* carousel: incoming slide fades over a held outgoing slide; copy follows */
.hc-slide{z-index:0;transition:opacity 0s linear .9s,visibility 0s linear .9s}
.hc-slide.on{z-index:1;transition:opacity .9s var(--ease-io),visibility 0s}
.hc-stage.ready .hc-slide:not(.on) .hc-copy{opacity:0;transform:translateY(9px);transition:opacity .25s ease,transform 0s linear .25s}
.hc-stage.ready .hc-slide.on .hc-copy{transition:opacity .5s var(--ease) .36s,transform .6s var(--ease) .36s}
.hc-dots i{position:relative;overflow:hidden}
.hc-dots i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.hc-dots i.on{background:rgba(255,255,255,.4)}
.hc-stage.run .hc-dots i.on::after{animation:hcProgress 7s linear forwards}
.hc-stage:not(.run) .hc-dots i.on::after{transform:scaleX(1)}
@keyframes hcProgress{to{transform:scaleX(1)}}
/* illustrations: dashed flow lines drift slowly, orange accent lines draw once */
.hero-grid .ill polyline[stroke-dasharray],.layers .ill polyline[stroke-dasharray]{animation:railFlow 15s linear infinite;animation-play-state:paused}
.ill.in-view polyline[stroke-dasharray]{animation-play-state:running}
@keyframes railFlow{to{stroke-dashoffset:-84}}
html.js .ill .acc{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.77,0,.175,1) .15s}
html.js .ill.seen .acc{stroke-dashoffset:0}
[role=tabpanel]:not([hidden]):not(header.v1h *){animation:panelIn .18s ease-out}
@keyframes panelIn{from{opacity:0}}
@supports selector(::details-content){.faq details{interpolate-size:allow-keywords}.faq details::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size .3s var(--ease),opacity .2s ease,content-visibility .3s allow-discrete}.faq details[open]::details-content{block-size:auto;opacity:1}}
.wmap .halo{animation-iteration-count:2!important}
.wmap a:focus-visible .pin{stroke:var(--ink);stroke-width:3}
@media (prefers-reduced-motion:reduce){

 html.js .rv:not(.in){transform:none}
 html.js .rv:not(.done){transition:opacity .3s ease!important;transition-delay:0s!important}
 .hc-slide img{transform:none!important}
 .ill polyline,.wmap .halo,.hc-dots i::after{animation:none!important}
 html.js .ill .acc{stroke-dashoffset:0}
 a.card:active,.post:active,.layer-list>a:active,.btn:active{transform:none}
}

*,*::before,*::after{letter-spacing:0!important}

/* v2.6 · icons: single colour (matches Figma Icon System v0.2 mono) */
.ic .a{stroke:currentColor}
.ic .af{fill:currentColor}

/* ===== v3 · restore v1 (8765) home hero, finder, globe atlas, list, flagship and CTA ===== */
/* page offset for the fixed v1 header (81px); photo-hero pages sit under the transparent header */
body{padding-top:81px}
body.photo-hero{padding-top:0}

/* home hero: full-bleed v1 carousel */
.hc.full{padding-top:0}
.hc.full>.wrap{max-width:none;padding-inline:0}
.hc.full .hc-stage{border-radius:0;height:843px;min-height:0}
.hc.full .hc-slide::after{background:linear-gradient(180deg,rgba(20,14,10,.28) 0%,rgba(20,14,10,.05) 30%,rgba(20,14,10,.18) 62%,rgba(40,18,8,.62) 100%)}
.hc.full .hc-copy{padding:0 var(--gutter) 132px;grid-template-columns:minmax(0,1fr) minmax(0,480px);max-width:none;justify-content:space-between}
.hc.full .hc-copy h1,.hc.full .hc-copy h2{font-size:clamp(36px,3.6vw,51px);line-height:1.15}
.hc.full .hc-copy .d{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
.hc.full .hc-copy .meta{font-size:15px;color:rgba(255,255,255,.85)} .hc.full .hc-copy .meta b{font:500 24px/1 var(--latin);color:#fff;margin-right:6px}
.hc.full .hc-ctrl{top:auto;bottom:66px;right:auto;left:50%;transform:translateX(-50%);gap:21px}
.hc.full .hc-ctrl button{background:none;border:0;width:30px;height:30px;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:18px}
.hc.full .hc-ctrl>span,.hc.full .hc-dots{display:none}
.hc.full .hc-cap{position:absolute;right:var(--gutter);top:105px;z-index:3;font-size:12px;color:rgba(255,255,255,.75)}
.hc.full .finder{margin:-42px auto 72px;max-width:1101px;height:75px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.72));border:1px solid rgba(255,255,255,.85);box-shadow:0 21px 60px rgba(20,18,16,.12);padding:9px 9px 9px 27px;grid-template-columns:1fr 1fr auto}
.hc.full .finder label{grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:12px;border-right:1px solid var(--line);padding:6px 18px 6px 0}
.hc.full .finder label+label{padding-left:18px}
.hc.full .finder select{font-weight:400;font-size:15px;width:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23141210' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right center}
.hc.full .finder .btn{background:var(--ink);height:45px;margin-left:12px}
.hc.full .finder .btn:hover{background:#000}
@media (max-width:981px){.hc.full .hc-stage{height:720px}.hc.full .hc-copy{grid-template-columns:1fr;padding:0 21px 120px}.hc.full .finder{height:auto;border-radius:21px;grid-template-columns:1fr;margin:-30px 15px 48px;padding:12px}.hc.full .finder label,.hc.full .finder label+label{border-right:0;padding:9px 6px;border-bottom:1px solid var(--line)}.hc.full .finder .btn{margin:9px 0 0;justify-content:center}}

/* v1 section heading: h2 with muted second line, lead right-aligned to the top */
.sh.v1 .t h2 .subtle{color:var(--muted);font-weight:400}
.sh.v1 .d{align-self:start;justify-items:end;text-align:right;padding-top:9px}
@media (max-width:981px){.sh.v1 .d{justify-items:start;text-align:left}}

/* globe atlas (original experience.js) */
.globe-stage{position:relative;height:561px;padding:24px 27px;background:#F3F2EF;border-radius:15px;overflow:hidden}
.globe-stage>.eyebrow{position:relative;z-index:2}
.globe-surface{position:absolute;top:87px;left:50%;width:861px;height:861px;transform:translateX(-50%);cursor:grab}
.globe-surface canvas{width:861px;height:861px;display:block}
#globe-markers{position:absolute;inset:0}
.globe-pin{position:absolute;width:33px;height:33px;border-radius:50%;background:#292F33;border:1px solid #fff;color:#fff;font:400 12px/1 var(--latin);display:grid;place-items:center;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .2s,background .2s;padding:0}
.globe-pin small{position:absolute;top:39px;left:50%;transform:translateX(-50%);background:#fff;color:var(--muted);font-size:12px;padding:3px 9px;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.globe-pin:hover small,.globe-pin:focus-visible small{opacity:1}
.globe-pin:hover,.globe-pin.selected,.globe-pin.active{background:var(--orange)}
.globe-pin.dim{opacity:.35}
.globe-footer{position:absolute;left:27px;right:27px;bottom:24px;display:flex;justify-content:space-between;align-items:end;font-size:12px;color:var(--muted);z-index:2}
.globe-footer button{background:none;border:0;border-bottom:1px solid currentColor;font-size:12px;color:var(--ink);cursor:pointer;padding:0 0 3px}
.globe-note{position:absolute;left:27px;bottom:51px;font-size:12px;color:var(--muted);z-index:2;margin:0}
@media (max-width:759px){.globe-stage{height:360px}.globe-surface{width:561px;height:561px;top:72px}.globe-surface canvas{width:561px;height:561px}.globe-note{display:none}}

/* v1 list: chips, 8 columns, compare */
.v1list .lhead{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:48px 0 21px}
.v1list .lhead h3{font-size:21px;display:flex;align-items:center;gap:12px}
.v1list .lhead h3::before{content:"";width:6px;height:6px;background:var(--orange)}
.v1list .lhead .meta{font-size:12px;color:var(--muted);text-align:right;display:grid;gap:6px}
.v1list .chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}
.v1list .chips button{height:48px;padding:0 21px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:15px;color:var(--ink);cursor:pointer}
.v1list .chips button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
.v1list .crow{grid-template-columns:120px 153px 105px 126px 141px 87px 204px 210px;gap:0 15px;padding:24px 0}
.v1list .crow .loc b{font-size:15px}
.v1list .crow .price small{margin-top:6px}
.v1list .crow .price .sales{display:inline;color:var(--orange-t);border-bottom:1px solid currentColor;margin-left:6px;font-size:12px}
.v1list .crow .acts{display:flex;justify-content:flex-end;align-items:center;gap:18px;font-size:12px}
.v1list .crow .acts label{display:inline-flex;gap:6px;align-items:center;color:var(--body);cursor:pointer}
.v1list .crow .acts input{accent-color:var(--orange);width:15px;height:15px}
.v1list .fineprint{font-size:12px;color:var(--muted);margin-top:21px}
.v1list .more{margin-top:24px}
.cmp-tray{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);z-index:40;background:rgba(20,18,16,.92);color:#fff;border-radius:999px;padding:9px 9px 9px 24px;display:flex;align-items:center;gap:15px;font-size:15px;transition:transform .3s var(--ease);backdrop-filter:blur(12px)}
.cmp-tray.on{transform:translate(-50%,0)}
.cmp-tray:not(.on){visibility:hidden;transition:transform .3s var(--ease),visibility 0s .3s}   /* taller wrapped tray on phones peeked above the fold */
.cmp-tray button{height:39px;border-radius:999px;border:0;padding:0 18px;cursor:pointer;font-size:15px}
.cmp-tray .go{background:var(--orange);color:#fff}
.cmp-tray .clr{background:transparent;color:rgba(255,255,255,.75)}
dialog.cmp{border:0;border-radius:21px;padding:0;max-width:960px;width:calc(100% - 30px);box-shadow:0 30px 90px rgba(0,0,0,.25)}
dialog.cmp::backdrop{background:rgba(20,18,16,.4)}
dialog.cmp .in{padding:36px}
dialog.cmp h3{font-size:24px;margin-bottom:18px}
dialog.cmp .x{position:absolute;right:18px;top:18px;width:39px;height:39px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}
@media (max-width:1101px){.v1list .crow{grid-template-columns:1fr 1fr}.v1list .crow .acts{justify-content:flex-start}}

/* v1 flagship cards */
.v1proj{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.v1proj a{display:grid;gap:15px}
.v1proj .pimg{position:relative;height:390px;border-radius:15px;overflow:hidden;background:var(--orange)}
.v1proj .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.v1proj a:hover .pimg img{transform:scale(1.03)}
.v1proj .plabel{position:absolute;left:21px;top:21px;background:#fff;color:#342B26;font:500 12px/1 var(--latin);padding:9px 12px;border-radius:3px}
.v1proj .parrow{position:absolute;right:21px;bottom:21px;width:51px;height:51px;border-radius:50%;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#fff;display:grid;place-items:center;font-size:18px}
.v1proj .pcap{position:absolute;left:21px;bottom:18px;background:#fff;color:var(--muted);font-size:12px;padding:3px 9px;border-radius:3px}
.v1proj .ptitle{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.v1proj .ptitle h3{font-size:21px}
.v1proj .ptitle span{color:var(--orange-t);font-size:15px;font-weight:500}
.v1proj p{font-size:15px}
@media (max-width:759px){.v1proj{grid-template-columns:1fr}.v1proj .pimg{height:270px}}

/* v1 CTA: full-bleed orange band, centred */
.cta{background:var(--orange);color:#fff;padding:0}
.cta .wrap{display:block;padding-block:0}
.cta .box{background:none;border-radius:0;padding:147px 0 150px;display:grid;justify-items:center;text-align:center;grid-template-columns:1fr;gap:0}
.cta .box::before{content:none}
.cta h2{color:#fff;font-size:clamp(36px,4.2vw,60px);line-height:1.1;max-width:18em}
.cta .d{justify-items:center;gap:0}
.cta p{color:#FFE1C8;font-size:15px;margin:21px 0 36px;max-width:40em}
.cta .actions{justify-content:center}
.cta .btn-white,.cta .btn-glass{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.65);color:#fff;backdrop-filter:blur(15px) saturate(1.3);-webkit-backdrop-filter:blur(15px) saturate(1.3)}
.cta .btn-white:hover,.cta .btn-glass:hover{background:rgba(255,255,255,.32);color:#fff}
.cta .lines{display:block;position:absolute;right:-60px;top:50%;height:130%;transform:translateY(-50%);opacity:.12}
.cta{position:relative;overflow:hidden}
.site-footer{padding-top:72px;border-top:0}

/* three layers: build up bottom-to-top, focus one layer on hover / click */
.layers .ly{transition:opacity .45s var(--ease),transform .8s var(--ease)}
html.js .layers .ill:not(.seen) .ly{opacity:0}
html.js .layers .ill:not(.seen) .ly1{transform:translateY(36px)}
html.js .layers .ill:not(.seen) .ly2{transform:translateY(60px)}
html.js .layers .ill:not(.seen) .ly3{transform:translateY(84px)}
.layers .ill.seen .ly2{transition-delay:.35s}.layers .ill.seen .ly3{transition-delay:.7s}  /* Konstra -> Glows -> Horizon */
.layers .ill.done .ly{transition-delay:0s!important;transition-duration:.3s}
.layers[data-on] .ly{opacity:.22}
.layers[data-on="1"] .ly1,.layers[data-on="2"] .ly2,.layers[data-on="3"] .ly3{opacity:1;transform:translateY(-6px)}
.layers .ly{cursor:pointer}
.layer-list>a.on .nm{color:var(--orange)}
.layer-list>a.on{background:rgba(254,80,0,.06)}
.layer-list>a.on::after,.layer-list>a:has(+a.on)::after{opacity:0}   /* the tinted row reads as one rounded panel: no rule lines touching it */
@media (prefers-reduced-motion:reduce){html.js .layers .ill:not(.seen) .ly{opacity:1;transform:none}}
/* v3.1 · icons are single colour everywhere */
.card .ic,.rows .ic,.need .ic,.svc-lines .ic,.pain .ic{color:var(--ink)}

.cta .lines{display:none!important}

/* ===== v3.2 · strict 12-column grid (1260 content = 1440 − 2×90, 12 cols, 24 gutter), 24px vertical rhythm ===== */
:root{--cols:12;--col-gap:24px}
@media (max-width:1101px){:root{--col-gap:24px}}
@media (max-width:759px){:root{--col-gap:12px}}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}
.c-1-6{grid-column:1/7}.c-7-12{grid-column:7/13}.c-8-12{grid-column:8/13}.c-1-12{grid-column:1/13}.c-1-5{grid-column:1/6}.c-1-7{grid-column:1/8}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
@media (max-width:981px){.g12>[class*="c-"],.g12>[class*="span-"]{grid-column:1/-1}}
/* section heading: title cols 1–6, lead cols 8–12 top-aligned with the h2 */
.sh{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);row-gap:18px;align-items:start;margin-bottom:48px}
.sh .t{grid-column:1/7}
.sh .d{grid-column:8/13;padding-top:27px}
.sh.v1 .d{padding-top:27px}
.sh.stack .t,.sh.center .t{grid-column:1/-1}
@media (max-width:981px){.sh .t,.sh .d{grid-column:1/-1;padding-top:0}}
/* card grids snap to the 12-col gutters */
.grid{gap:var(--col-gap)}
.posts{column-gap:var(--col-gap);row-gap:36px}
.proj,.v1proj{gap:var(--col-gap)}
/* two-column layouts: cols 1–6 | 8–12 */
.split,.layers,.stp,.hero-grid,.hero-page .row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}
.split>.stick,.layers>.ill,.stp>.stp-l,.hero-page .row>div:first-child{grid-column:1/7}
.split>div:last-child,.layers>.layer-list,.stp>.stp-r,.hero-page .row>div:last-child{grid-column:8/13}
.hero-grid>.copy{grid-column:1/7}.hero-grid>.ill{grid-column:7/13}
@media (max-width:981px){.split>*,.layers>*,.stp>*,.hero-grid>*,.hero-page .row>*{grid-column:1/-1!important}}
/* list rows and tables keep hairline rules on the grid edges */
.ctable,.layer-list,.svc-lines,.faq{margin-inline:0}
/* designer check: add ?grid to any URL to see the 12 columns */
html.show-grid body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;
  background:repeating-linear-gradient(90deg,rgba(254,80,0,.07) 0 calc((min(100vw,1440px) - 2*var(--gutter) - 11*var(--col-gap))/12),transparent 0 calc((min(100vw,1440px) - 2*var(--gutter) - 11*var(--col-gap))/12 + var(--col-gap)));
  background-origin:content-box;padding-inline:calc((100vw - min(100vw,1440px))/2 + var(--gutter));background-clip:content-box}
.brand-row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);padding:48px 0}
.brand-row>.ill{grid-column:1/7;padding-inline:24px}
.brand-row>.body{grid-column:8/12}
.stats{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--col-gap)}
.stats.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stats>div,.stats>div+div{padding:27px 0 9px;border-left:0}
.stats>div{border-top:1px solid var(--line)}
.stats{border-top:0}
@media (max-width:981px){.brand-row{padding:30px 24px}.brand-row>.ill,.brand-row>.body{grid-column:1/-1;padding-inline:0}}

/* ===== v3.3 · v1 footer, unified section headings, roomier sections ===== */
/* footer (v1) */
.site-footer.v1{background:#fff;border-top:1px solid var(--line);padding:72px 0 30px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}
.footer-brand{grid-column:1/4;display:grid;gap:15px;align-content:start}
.footer-brand img{height:24px;width:auto}
.footer-tag{color:var(--body)}
.footer-cols{grid-column:5/7;display:grid;gap:9px;align-content:start}
.footer-addr{grid-column:span 3;display:grid;gap:9px;align-content:start;color:var(--body);line-height:1.8}
.footer-cols .ft-h,.footer-addr .ft-h{font:500 12px/1.4 var(--font);color:var(--muted);text-transform:none;margin:0 0 6px}
.footer-cols a{color:var(--ink)} .footer-cols a:hover,.footer-mail:hover{color:var(--orange)}
.footer-mail{color:var(--ink);border-bottom:1px solid var(--line);justify-self:start}
.footer-mid{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:21px;border-top:1px solid var(--line)}
.footer-iso{width:39px;height:39px;opacity:.8}
.footer-social{display:flex;gap:18px;align-items:center}
.footer-social a{display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center}
.footer-social span{display:block;background:var(--ink);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.footer-social a:hover span{background:var(--orange)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:21px;padding-top:21px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.footer-legal{display:flex;gap:21px}
.footer-legal a:hover{color:var(--orange)}
@media (max-width:981px){.footer-brand,.footer-cols,.footer-addr{grid-column:1/-1;margin-bottom:24px}}
/* sections: roomier rhythm + hairline divider between same-colour sections */
:root{--sec:150px}
@media (max-width:1101px){:root{--sec:105px}}
@media (max-width:759px){:root{--sec:72px}}
.sec+.sec:not(.tint):not(.warm):not(.dark){border-top:0;position:relative}
.sec+.sec:not(.tint):not(.warm):not(.dark)::before{content:"";position:absolute;top:0;left:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));right:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));height:1px;background:var(--line)}
/* one heading system everywhere: eyebrow 12 · h2 36 · lead 15 — same size, same position */
main .sh{margin-bottom:60px}
main .sh .t{gap:18px}
main .sh h2,main .sh .h2{font-size:clamp(27px,2.5vw,36px)!important;line-height:1.35!important;font-weight:500!important;margin:0!important}
main .sh .lead,main .sh .d p{font-size:15px!important;line-height:1.8!important;color:var(--body)!important;max-width:none}
main .sh .d{padding-top:30px}
main .sh .eyebrow{font-size:12px!important}
.lead{font-size:15px;line-height:1.8}
.card p,.rows p,.steps p,.stp-card p,.post p{font-size:15px;line-height:1.75}
.card h3{font-size:18px}
/* cards are always open: nothing inside a card is collapsed */
.card details>summary{list-style:none;pointer-events:none}
.card details>summary::-webkit-details-marker{display:none}
/* ../compute/index.html atlas hero (v1) */
.atlas-hero{position:relative;background:#F3F2EF;height:600px;overflow:hidden}
.atlas-hero .ah-copy{position:relative;z-index:2;padding-top:66px;display:grid;gap:18px;max-width:480px}
.atlas-hero .globe-surface{top:120px;left:56%}
.atlas-hero .ah-foot{position:absolute;left:0;right:0;bottom:30px;z-index:2;display:flex;justify-content:space-between;align-items:end;font-size:12px;color:var(--muted)}
.atlas-hero .ah-foot .globe-note{position:static}
.atlas-hero .ah-foot>div{display:flex;gap:24px;align-items:center}
.atlas-hero .ah-foot button{background:none;border:0;border-bottom:1px solid currentColor;font-size:12px;color:var(--ink);cursor:pointer;padding:0 0 3px}
.finder.three{position:relative;z-index:4;margin:-42px auto 0;max-width:1101px;height:75px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.8));border:1px solid rgba(255,255,255,.9);box-shadow:0 21px 60px rgba(20,18,16,.1);padding:9px 9px 9px 27px;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center}
.finder.three label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:12px;color:var(--muted);border-right:1px solid var(--line);padding:6px 18px}
.finder.three label:first-child{padding-left:0}
.finder.three label:nth-of-type(3){border-right:0}
.finder.three select{border:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23141210' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right center;appearance:none;font:400 15px var(--font);color:var(--ink);width:100%;cursor:pointer}
.finder.three .btn{background:var(--ink);height:45px;margin-left:12px}
@media (max-width:981px){.atlas-hero{height:519px}.atlas-hero .globe-surface{left:50%}.finder.three{height:auto;border-radius:21px;grid-template-columns:1fr;margin:-30px 15px 0;padding:12px}.finder.three label,.finder.three label:first-child{border-right:0;border-bottom:1px solid var(--line);padding:9px 6px}.finder.three .btn{margin:9px 0 0;justify-content:center}}

/* v3.4: one section-head layout site-wide (stacked: eyebrow, title, description below) so long titles never collide */
main .sh:not(.v1){display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:var(--col-gap);row-gap:18px;align-items:start;max-width:none}
main .sh:not(.v1) .t{grid-column:1/10!important}
main .sh:not(.v1) .d{grid-column:1/8!important;padding-top:0!important;justify-items:start;text-align:left}
main .sh:not(.v1) h2{white-space:normal!important;text-wrap:balance}
main .sh.center:not(.v1) .t,main .sh.center:not(.v1) .d{grid-column:3/11!important;justify-items:center;text-align:center}
@media (max-width:981px){main .sh:not(.v1) .t,main .sh:not(.v1) .d{grid-column:1/-1!important}}
/* FAQ: title left, questions right */
main .wrap:has(> .faq){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:start}
main .wrap:has(> .faq)>*{grid-column:1/-1}
main .wrap:has(> .faq)>.sh{grid-column:1/5;margin-bottom:0;position:sticky;top:120px}
main .wrap:has(> .faq)>.sh .t,main .wrap:has(> .faq)>.sh .d{grid-column:1/-1!important}
main .wrap:has(> .faq)>.faq{grid-column:6/13}
main .wrap:has(> .faq)>.sh h2{font-size:27px!important}
.faq summary{font-size:15px;padding:27px 0}
.faq summary i{border:0;border-radius:0}
.faq summary i::before,.faq summary i::after{background:var(--orange);width:12px;height:2px}
@media (max-width:981px){main .wrap:has(> .faq)>.sh,main .wrap:has(> .faq)>.faq{grid-column:1/-1;position:static}main .wrap:has(> .faq)>.sh{margin-bottom:39px}}
main .wrap:has(> .faq)>.sh{align-self:start}

/* v35.css */
/* v3.5 · product banners, service chain, news alignment, Liquid Glass */
.hero.hero-full{background:#fff!important;overflow:visible}
.hero.hero-full::after{display:none}
.hero.hero-full .hero-lines{display:none}
.hero.hero-full .hero-grid{display:block!important;padding-block:48px 0!important}
.hero.hero-full .copy{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap,24px);row-gap:21px;align-items:end;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;min-height:0!important}
.hero.hero-full .copy>*{grid-column:8/13}
.hero.hero-full .copy>.crumb,.hero.hero-full .copy>.eyebrow{grid-column:1/-1}
.hero.hero-full .copy>.h1{grid-column:1/8;grid-row:3/span 4;align-self:start;font-size:clamp(39px,4.2vw,60px)!important;line-height:1.2!important}
.hero.hero-full .copy>.lead{font-size:15px!important;line-height:1.8}
.hero.hero-full .hero-kpi{grid-column:1/8;grid-row:auto}
@media (max-width:981px){.hero.hero-full .copy>*,.hero.hero-full .copy>.h1{grid-column:1/-1;grid-row:auto}}

/* five service lines as one chain, left to right */
.svc-lines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:0!important;position:relative;counter-reset:s}
.svc-lines::before{content:"";position:absolute;left:30px;right:30px;top:72px;height:0;border-top:1.5px dashed var(--orange);opacity:.6}
.svc-lines a{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 60px auto auto 1fr;justify-items:start;gap:12px!important;padding:30px 24px 30px!important;border-bottom:0!important;border-left:1px solid var(--line);position:relative;min-height:300px;align-content:start}
.svc-lines a:first-child{border-left:0}
.svc-lines .ic{width:45px!important;height:45px!important;padding:9px;background:#fff;border:1px solid var(--line);border-radius:50%;position:relative;z-index:1;box-sizing:content-box}
.svc-lines b{font-size:21px!important}
.svc-lines .go{align-self:end;justify-self:start!important}
@media (hover:hover){.svc-lines a:hover .ic{border-color:var(--orange);color:var(--orange)}}
@media (max-width:981px){.svc-lines{grid-template-columns:1fr}.svc-lines::before{left:51px;right:auto;top:30px;bottom:30px;border-top:0;border-left:1.5px dashed var(--orange)}.svc-lines a{grid-template-columns:auto 1fr auto!important;grid-template-rows:auto;min-height:0;border-left:0;border-top:1px solid var(--line);align-items:center}.svc-lines .n{display:none}.svc-lines .en{display:none}}

/* news cards: links sit on one baseline */
.posts .post{display:flex!important;flex-direction:column}
.posts .post .link{margin-top:auto!important}
.posts .post h3{margin-bottom:24px}
.grid .card[href]{display:flex;flex-direction:column}
.grid .card[href] .more,.grid .card[href] .link{margin-top:auto}

/* Liquid Glass accents */
.glass,.hero-full .hero-kpi,.cmp-tray,.hc .ctrl,.finder{-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
.cmp-tray{background:rgba(255,255,255,.66)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 18px 48px rgba(26,23,20,.14),inset 0 1px 0 #fff!important}
@media (prefers-reduced-transparency:reduce){.hero.hero-full .ill .glass-chip,.cmp-tray{background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}}

*,*::before,*::after{letter-spacing:0!important}
.hero.hero-full .copy::after,.hero.hero-full .copy::before{display:none!important}
.hero.hero-full .copy .crumb{position:static!important;grid-row:1}
.hero.hero-full .copy>.eyebrow{grid-row:2;margin-top:18px}
.hero.hero-full .copy>.h1{grid-row:3/5!important;align-self:end}
.hero.hero-full .copy>.lead{grid-row:3;align-self:end}
.hero.hero-full .copy>.actions{grid-row:4;align-self:end}
@media (max-width:981px){.hero.hero-full .copy>*{grid-row:auto!important}}
.svc-lines::before{top:93px;left:54px;right:calc(20% - 54px)}
.svc-lines a{border-left:0!important;border-top:1px solid var(--line)}
.svc-lines .ic{margin-left:-9px}
@media (max-width:981px){.svc-lines::before{top:30px;left:39px;right:auto}.svc-lines .ic{margin-left:0}}
.hc.full{overflow:hidden;max-width:100vw}html,body{overflow-x:clip}

/* v3.9 · service banner: full-bleed flat light band, one large isometric scene drawn with the illustration kit
   (_build/hero_visuals.py on iso.py, inline SVG), one light Liquid Glass stat card on the content grid.
   Height is fitted by v36.js so band + card always sit above the fold (fallback below). */
.hero.hero-full .ill.hv{position:relative;display:block;width:auto;margin:48px 0 0;height:clamp(300px,calc(100svh - 468px),540px);border-radius:0;overflow:visible;padding:0!important;border:0!important;isolation:isolate;background:none!important;box-shadow:none!important}
.hero.hero-full .ill.hv::before,.hero.hero-full .ill.hv::after{display:none!important}
.hv-bleed{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:0;background:linear-gradient(180deg,#FFFFFF 0%,#FAF8F5 100%);box-shadow:inset 0 1px 0 rgba(26,23,20,.06),inset 0 -1px 0 rgba(26,23,20,.06)}
.hv-stage{position:absolute;z-index:1;top:18px;bottom:18px;left:calc(42px + clamp(264px,23vw,318px) + 30px);right:0}
.hero.hero-full .ill.hv .hv-stage svg[data-hv]{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block;overflow:visible}
svg[data-hv] *{vector-effect:non-scaling-stroke}
@media (prefers-reduced-motion:no-preference){
 svg[data-hv] .hv-float{animation:hvFloat 9s ease-in-out infinite alternate}
 @keyframes hvFloat{from{transform:translateY(1.5px)}to{transform:translateY(-1.5px)}}
 svg[data-hv] .hv-ring{transform-box:fill-box;transform-origin:center;animation:hvRing 3.6s cubic-bezier(.22,.61,.36,1) infinite}
 @keyframes hvRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
 svg[data-hv] .hv-rise{animation:hvRise 8s linear infinite}
 @keyframes hvRise{0%{transform:translateY(0);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateY(var(--h));opacity:0}}
 svg[data-hv] .hv-scan{animation:hvScan 10s ease-in-out infinite alternate}
 @keyframes hvScan{from{transform:translate(0,0)}to{transform:translate(var(--dx),var(--dy))}}
 svg[data-hv] .hv-inst{animation:hvInst 13s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.45s)}
 @keyframes hvInst{0%,62%,100%{opacity:1;transform:translateY(0)}72%,84%{opacity:.14;transform:translateY(3px)}}
}
.hv-card{position:absolute;z-index:2;left:42px;top:50%;transform:translateY(-50%);width:clamp(264px,23vw,318px);display:grid;gap:9px;padding:27px 30px 30px;border-radius:21px;
 background:linear-gradient(155deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.38) 100%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 3px rgba(150,56,33,.05),0 30px 60px -18px rgba(150,56,33,.2);
 -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
.hv-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(160deg,#fff 0%,rgba(255,255,255,.35) 38%,rgba(255,174,98,.35) 100%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.hv-e{font-size:12px;line-height:1.5;font-weight:500;color:#6B645E}
.hv-v{font:500 clamp(45px,4.4vw,72px)/1 var(--latin);color:#FE5000;font-variant-numeric:tabular-nums;white-space:nowrap}
.hv-v small{font-size:.33em;margin-left:6px;font-weight:500;color:#963821}
.hv-s{padding-top:12px;border-top:1px solid rgba(150,56,33,.12);font-size:12px;line-height:1.6;color:#6B645E}
@media (prefers-reduced-transparency:reduce){.hv-card{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (max-width:1101px){.hv-card{left:27px}}
@media (max-width:759px){
 .hero.hero-full .ill.hv{margin-top:24px;height:clamp(300px,calc(100svh - 660px),420px);border-radius:0}
 .hv-stage{left:0;right:0;top:6px;bottom:84px}
 .hv-card{left:12px;right:12px;bottom:12px;top:auto;transform:none;width:auto;max-width:none;padding:15px 18px;border-radius:15px;grid-template-columns:1fr auto;align-items:end;gap:3px 12px;background:linear-gradient(155deg,rgba(255,255,255,.84),rgba(255,255,255,.6))}
 .hv-e{grid-column:1}.hv-v{grid-column:2;grid-row:1/span 2;font-size:36px}.hv-s{grid-column:1;padding-top:0;border-top:0}
}

/* v3.11 · banner stat: premium float callout (no box) — light TASA numerals, eyebrow, hairline, caption */
.hv-card{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:0!important;gap:0!important;width:clamp(240px,21vw,300px)}
.hv-card::before,.hv-card::after{display:none!important}
.hv-e{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;font-weight:500;color:#4A443F}
.hv-e::before{content:"";width:6px;height:6px;background:#FE5000;flex:none}
.hv-v{font-weight:200!important;font-size:clamp(78px,7.2vw,108px)!important;line-height:.9!important;color:#FE5000;margin:15px 0 18px -3px;font-variant-numeric:tabular-nums}
.hv-v small{font-size:.2em!important;font-weight:400!important;color:#963821!important;margin-left:9px!important;vertical-align:.15em}
.hv-s{position:relative;padding-top:12px!important;border-top:0!important;font-size:12px;line-height:1.6;color:#5E5751}
.hv-s::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(26,23,20,.42),rgba(26,23,20,.06))}
@media (max-width:759px){
 .hv-card{left:15px!important;right:15px!important;bottom:12px!important;width:auto!important;display:grid!important;grid-template-columns:1fr auto;align-items:end;gap:3px 12px!important;padding:12px 0 0!important;background:linear-gradient(0deg,rgba(250,248,245,.96) 55%,rgba(250,248,245,0))!important}
 .hv-v{font-size:48px!important;margin:0!important;grid-column:2;grid-row:1/span 2}
 .hv-s{padding-top:6px!important}.hv-s::before{display:none}
}

/* v36.css */
/* v3.6 · banner illustration, card rhythm, one process line, FAQ size, quiet related row
   every px is a multiple of 3; letter-spacing 0 */

/* ---------- 1 · service banner: see v35.css (v3.6 block) + _build/hero_visuals.py ---------- */

/* ---------- 2 · cards: safe padding · title · hairline · body ---------- */
main .bc{padding:36px}
main .bc .bd{gap:0}
main .bc .bd>h3{padding-bottom:18px}
main .bc .bd>.bd-b{gap:15px;padding-top:18px;border-top:1px solid rgba(20,18,16,.1)}
main .bc .bd-b b{margin-bottom:3px}
main .bc.t-org .bd>.bd-b{border-top-color:rgba(255,255,255,.35)}
main .ic-card .bc-top+.bd,main .ic-card .bc-top+h3{margin-top:42px}
main .num-card{gap:0}
main .num-card>.kv{margin-bottom:18px}
main .num-card>.kl+.ks{margin-top:12px;padding-top:12px;border-top:1px solid rgba(20,18,16,.1)}
main .num-card.t-org>.kl+.ks{border-top-color:rgba(255,255,255,.35)}
main .num-card>.open{margin-top:18px;padding-top:15px}
main .brand-card .open{margin-top:6px;padding-top:15px;border-top:1px solid rgba(20,18,16,.1)}
main a.path h3.big+p{padding-top:18px;border-top:1px solid rgba(20,18,16,.1)}
main .svc{gap:0}
main .svc>.chip{margin-bottom:18px}
main .svc>h3{padding-bottom:15px}
main .svc>h3+p{padding-top:15px;border-top:1px solid rgba(20,18,16,.1)}
main .svc>.svc-b{padding-top:24px}
/* core cards() */
main .card{padding:36px 33px}
main .card>.ic{margin-bottom:15px}
main .card>h3+p{padding-top:15px;border-top:1px solid var(--line)}
main .sec.warm .card>h3+p,main .sec.tint .card>h3+p{border-top-color:rgba(20,18,16,.1)}
@media (max-width:759px){
 main .bc{padding:27px}
 main .ic-card .bc-top+.bd,main .ic-card .bc-top+h3{margin-top:30px}
 main .card{padding:30px 27px}
 main .svc{padding:27px}
}

/* ---------- 3 · one process pattern: thin line, a numbered node per step ---------- */
/* shared node: 42px ring, number inside; line: 1.5px orange dashed through the node centres */
main .chain-card{padding:42px 36px}
main .chain li{gap:12px;padding-right:24px}
main .chain li>b{margin-top:9px}
main .chain p{padding-right:0;font-size:15px;line-height:1.75}
/* core steps() (counter numbers) and the v1 text-number variant (.pj-n .st-n) */
main .steps{gap:0}
main .steps>div{position:relative;padding:63px 24px 0 0!important;display:grid;gap:12px;align-content:start}
main .steps>div::before,main .steps.pj-n>div>.st-n{position:absolute!important;left:0;top:0;z-index:1;box-sizing:border-box;width:42px!important;height:42px!important;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--ink);display:grid!important;place-items:center;padding:0!important;margin:0!important;border:0!important;font:500 12px/1 var(--latin)!important;color:var(--ink)!important}
main .steps.pj-n>div::before{display:none!important}
main .steps>div::after{content:""!important;position:absolute!important;left:0!important;right:0!important;top:21px!important;width:auto!important;height:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:none!important;border-top:1.5px dashed var(--orange);z-index:0}
main .steps>div:last-child::after{right:auto!important;width:21px!important}
main .steps>div.is-now::before,main .steps.pj-n>div.is-now>.st-n{background:var(--orange);box-shadow:none;color:#fff!important}
main .steps h3{font-size:18px;line-height:1.45}
main .steps p:empty{display:none}
@media (max-width:981px){main .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}}
/* mobile: the same line turns vertical */
@media (max-width:759px){
 main .steps,main .pj-e2e .steps{grid-template-columns:1fr!important;row-gap:0!important}
 main .steps>div{padding:9px 0 30px 63px!important;min-height:72px}
 main .steps>div::before,main .steps.pj-n>div>.st-n{top:0}
 main .steps>div::after{left:21px!important;right:auto!important;top:0!important;bottom:0!important;width:0!important;border-top:0;border-left:1.5px dashed var(--orange)}
 main .steps>div:first-child::after{top:21px!important}
 main .steps>div:last-child::after{bottom:auto!important;height:21px!important;width:0!important}
 main .steps>div:only-child::after{display:none}
 main .chain-card{padding:27px 24px}
 main .chain li{grid-template-columns:42px minmax(0,1fr);align-items:start;column-gap:21px;row-gap:9px;padding:0 0 27px}
 main .chain li>.n,main .chain li>.ic{grid-row:1/span 3}
 main .chain li>b,main .chain li>p,main .chain li>.chip{grid-column:2;margin-top:0}
 main .chain li>b{padding-top:9px}
 main .chain li::after{top:0;bottom:0}
 main .chain li:first-child::after{top:21px}
 main .chain li:last-child::after{height:21px}
}

/* ---------- 4 · FAQ: larger questions, title left / list right, orange plus ---------- */
main .faq summary{font-size:18px!important;font-weight:500!important;line-height:1.5;padding:27px 0;color:var(--ink)}
@media (max-width:759px){main .faq summary{padding:24px 0}}

/* ---------- 5 · related services: a quiet supporting row ---------- */
main .sec.rel-sec{padding-block:72px}
main .sh.sh-rel{margin-bottom:24px!important}
main .sh.sh-rel .h2{font-size:21px!important;line-height:1.4!important}
.rel-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--col-gap)}
.rel-i{display:grid;grid-template-columns:minmax(0,1fr) 18px;column-gap:18px;row-gap:6px;align-items:center;padding:21px 0 24px;border-top:1px solid var(--line);color:var(--body);text-decoration:none}
.rel-t{font-size:18px;line-height:1.45;font-weight:500;color:var(--ink);transition:color .2s ease}
.rel-d{grid-column:1;font-size:15px;line-height:1.6;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-a{grid-column:2;grid-row:1/span 2;width:18px;height:18px;color:var(--muted);transition:color .2s ease,transform .2s ease}
.rel-a svg{width:18px;height:18px;display:block}
@media (hover:hover) and (pointer:fine){.rel-i:hover .rel-t,.rel-i:hover .rel-a{color:var(--orange)}.rel-i:hover .rel-a{transform:translateX(3px)}}
.rel-i:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media (max-width:759px){
 main .sec.rel-sec{padding-block:57px}
 .rel-list{grid-template-columns:1fr}
 .rel-i{padding:18px 0}
 .rel-i:last-child{border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){.rel-a{transition:none}}

*,*::before,*::after{letter-spacing:0!important}
/* icon row has one height (48 or 57 px icons) so titles in a row start on one line */
main .ic-card>.bc-top{min-height:57px}
@media (max-width:759px){main .ic-card>.bc-top{min-height:0}}

/* ---------- 6 · number safe zone: big figures scale to the card, never touch the edge ---------- */
main .num-card,main .svc-n,main .stats>div{container-type:inline-size}
main .num-card>.kv{font-size:clamp(33px,25cqi,84px)!important;white-space:nowrap;max-width:100%}
main .num-card>.kv.sm{font-size:clamp(21px,12cqi,39px)!important;white-space:normal}
main .svc-n .kv{font-size:clamp(33px,24cqi,57px)!important;white-space:nowrap}
main .num-card{padding:36px}
main .stats>div .v{font-size:clamp(24px,18cqi,51px)!important}
@media (max-width:759px){main .stats>div .v{white-space:normal!important}}
/* stats row: 2 × 2 on phones (overrides the v3.2 four-column rule), one column on the narrowest screens */
@media (max-width:759px){main .stats,main .stats.c3{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:12px}}
@media (max-width:360px){main .stats,main .stats.c3{grid-template-columns:1fr!important}}

/* subheading when one section carries two lists */
main .sub-h{font-size:18px;line-height:1.45;font-weight:500;color:var(--ink);margin:0 0 18px}
/* v3.7 · stacked process strips: 105px apart with a faint hairline; each subheading sits 18px above its own strip, 51px below the line */
main .bento+.sub-h{margin-top:54px;padding-top:51px;border-top:1px solid rgba(20,18,16,.08)}
main .bento:has(>.chain-card)+.bento:has(>.chain-card){margin-top:54px;padding-top:51px;border-top:1px solid rgba(20,18,16,.08)}
@media (max-width:759px){main .bento+.sub-h,main .bento:has(>.chain-card)+.bento:has(>.chain-card){margin-top:45px;padding-top:45px}}

/* ---------- 7 · no outer frames: wrappers around a whole block sit on the section itself ---------- */
main .chain-card,main .spec-card,main .bars-card,main .flow-card{background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;min-height:0!important}
main .tbl{border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;border-top:1px solid var(--line)!important}
main .tbl tr:last-child>*{border-bottom:1px solid var(--line)}
main .tbl tbody th{background:none!important}
main .pj-e2e{background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
@media (max-width:759px){main .chain-card{padding:0!important}}

/* ---------- 8 · one card surface: neutral, no border, one radius, one padding; a single orange emphasis card per page ---------- */
main .sec.warm,main .sec.tint{background:#F6F5F2!important}
main .bc:not(.chain-card):not(.spec-card):not(.bars-card):not(.flow-card),main .svc,main .card,main .source-card{border-radius:21px!important;box-shadow:none!important;border:0!important}
main .bc:not(.t-org):not(.chain-card):not(.spec-card):not(.bars-card):not(.flow-card),main .svc,main .card,main .source-card{background:#F6F5F2!important;color:var(--body)}
main .sec.warm :is(.bc:not(.t-org):not(.chain-card):not(.spec-card):not(.bars-card):not(.flow-card),.svc,.card,.source-card),main .sec.tint :is(.bc:not(.t-org):not(.chain-card):not(.spec-card):not(.bars-card):not(.flow-card),.svc,.card,.source-card){background:#FFFFFF!important}
main .bc.t-org{background:#FE5000!important}
main .bc .chip,main .svc .chip,main .card .chip{background:#FFFFFF!important;color:var(--ink)}
main .sec.warm .bc .chip,main .sec.tint .bc .chip,main .sec.warm .card .chip,main .sec.tint .card .chip{background:#F6F5F2!important}
main .ill-card,main .case-card .case-ill{background:none}
@media (hover:hover) and (pointer:fine){
 main a.card:hover,main a.bc:not(.t-org):hover,main a.svc:hover{background:#EFEDE9!important}
 main .sec.warm a.card:hover,main .sec.tint a.card:hover{background:#FFFFFF!important}
 main a.card:hover .ic,main a.bc:hover .ic,main a.svc:hover .ic{color:var(--orange)}
}
main .card .ic{--ic-bg:transparent}
/* guideline 6.0 · key figures in TASA Orbiter, highlighted in 曙光橙 on neutral cards */
main .num-card:not(.t-org)>.kv{color:#FE5000}
main .num-card:not(.t-org)>.kv small{color:var(--ink)}

/* ---------- 9 · PROBLEM → SOLUTION pairs (v3.7): both heads as column labels, one row per pair ---------- */
/* 問題 = quiet neutral surface, muted text · 解法 = white card, ink text · the thin orange arrow is the only link between them */
main .ps-heads,main .ps-row{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)}
main .ps-heads{align-items:start;margin-bottom:48px}
main .ps-h{display:grid;gap:18px;align-content:start}
main .ps-h .t{display:grid;gap:18px}
main .ps-h .h2{font-size:clamp(24px,2.4vw,33px);line-height:1.36}
main .ps-h .d{display:grid;gap:15px}
main .ps-h .d .lead{font-size:15px;line-height:1.8}
main .ps-hp .h2{color:var(--body)}
main .ps-rows{list-style:none;margin:0;padding:0;display:grid;gap:18px}
main .ps-row{align-items:stretch}
main .ps-p,main .ps-s{display:flex;flex-direction:column;gap:12px;min-width:0}
main .ps-c{flex:1 1 auto;display:flex;flex-direction:column;border-radius:21px;padding:30px 33px}
main .ps-pc{background:#ECEAE6}
main .ps-sc{background:#FFFFFF}
main .ps-top{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:18px}
main .ps-tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:12px;font:500 12px/1 var(--font)}
main .ps-pc .ps-tag{background:rgba(20,18,16,.07);color:var(--muted)}
main .ps-sc .ps-tag{background:var(--ink);color:#FFFFFF}
main .ps-sc .ps-tag.x{background:#F6F5F2;color:var(--muted)}
main .ps-top .k{font:500 12px/1 var(--latin);color:var(--muted);text-transform:uppercase}
main .ps-c h3{margin:0;padding-bottom:15px;font-size:18px;line-height:1.45;font-weight:500}
main .ps-c h3+p{margin:0;padding-top:15px;border-top:1px solid rgba(20,18,16,.1);font-size:15px;line-height:1.75}
main .ps-pc h3{color:var(--body)}
main .ps-pc h3+p{color:var(--muted)}
main .ps-sc h3{font-size:21px;color:var(--ink)}
main .ps-sc h3+p{color:var(--body)}
main .ps-c .svc-l{margin-top:auto;padding-top:18px}
main .ps-s>.num-card{flex:0 0 auto;padding:30px 33px}
main .ps-ar{display:flex;align-items:center;justify-content:center;color:var(--orange)}
main .ps-ar svg{width:42px;height:12px;display:block}
main .ps-ar.none svg{display:none}
/* one card answering several: it keeps its own height (centred); a thin orange bracket gathers the several side */
main .ps-row.mp:not(.ms)>.ps-pan>.ps-s>.ps-c,main .ps-row.ms:not(.mp)>.ps-pan>.ps-p>.ps-c{flex:0 0 auto}
main .ps-row.mp:not(.ms)>.ps-pan>.ps-s,main .ps-row.ms:not(.mp)>.ps-pan>.ps-p{justify-content:center}
main .ps-ar{position:relative}
main .ps-row.mp .ps-ar::before,main .ps-row.ms .ps-ar::after{content:"";position:absolute;top:48px;bottom:48px;width:9px;border:1.5px solid var(--orange);opacity:.55}
main .ps-row.mp .ps-ar::before{left:9px;border-left:0;border-radius:0 9px 9px 0}
main .ps-row.ms .ps-ar::after{right:9px;border-right:0;border-radius:9px 0 0 9px}
main .ps-after{margin-top:72px}
/* four problems answered together: problems as a 2 × 2 block so both sides stay close in height */
main .ps-row.p2 .ps-p{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
main .ps-row.p2 .ps-pc{padding:27px}
@media (max-width:981px){main .ps-heads,main .ps-row{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}main .ps-ar svg{width:30px}}
/* phones: each pair stacks · problem, down arrow, solution */
@media (max-width:759px){
 main .ps-heads{grid-template-columns:1fr;row-gap:36px;margin-bottom:39px}
 main .ps-gap{display:none}
 main .ps-row{grid-template-columns:1fr}
 main .ps-rows{gap:36px}
 main .ps-ar{height:42px}
 main .ps-ar svg{width:30px;transform:rotate(90deg)}
 main .ps-row.p2 .ps-p{grid-template-columns:1fr}
 main .ps-row .ps-ar::before,main .ps-row .ps-ar::after{display:none}
 main .ps-p.none,main .ps-ar.none{display:none}
 main .ps-c,main .ps-s>.num-card{padding:24px}
 main .ps-after{margin-top:48px}
}

/* ---------- 9b · PROBLEM → SOLUTION layout variants for review (v3.8) ----------
   ?ps=a stacked narrative rows · ?ps=b two-column table · ?ps=c tabs by problem (accordion on phones) → .ps-va / .ps-vb / .ps-vc
   one shared markup (pages_services.ps_block); the toggle only adds .ps-va / .ps-vb / .ps-vc to .ps-sec. Default = 9 above. */
main .ps-tab,main .ps-cols{display:none}
main .ps-pan{display:contents}

/* ===== a · stacked narrative rows ===== */
/* one head: problem title left (col 1–6); problem lead, then the solution heading + lead, on the right (col 8–12) */
main .ps-sec.ps-va .ps-heads{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);row-gap:0;margin-bottom:57px}
main .ps-sec.ps-va .ps-h{display:contents}
main .ps-sec.ps-va .ps-gap{display:none}
main .ps-sec.ps-va .ps-hp>.t{grid-column:1/7;grid-row:1/span 3}
main .ps-sec.ps-va .ps-hp>.d{grid-column:8/13;grid-row:1;padding-top:30px}
main .ps-sec.ps-va .ps-hp .h2{color:var(--ink)}
main .ps-sec.ps-va .ps-hs>.t{grid-column:8/13;grid-row:2;gap:12px;margin-top:27px;padding-top:24px;border-top:1px solid rgba(20,18,16,.1)}
main .ps-sec.ps-va .ps-hs .h2{font-size:21px;line-height:1.45;color:var(--ink)}
main .ps-sec.ps-va .ps-hs>.d{grid-column:8/13;grid-row:3;margin-top:12px}
main .ps-sec.ps-va .ps-rows{gap:0;border-top:1px solid rgba(20,18,16,.12);counter-reset:psr}
main .ps-sec.ps-va .ps-row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:start;padding:42px 0;border-bottom:1px solid rgba(20,18,16,.12);counter-increment:psr}
main .ps-sec.ps-va .ps-row::before{content:counter(psr,decimal-leading-zero);grid-column:1/3;grid-row:1/span 3;font:500 15px/1 var(--latin);color:var(--muted);padding-top:6px}
main .ps-sec.ps-va .ps-p,main .ps-sec.ps-va .ps-ar,main .ps-sec.ps-va .ps-s{grid-column:3/13}
main .ps-sec.ps-va .ps-p{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:36px;justify-content:stretch}
main .ps-sec.ps-va .ps-pc{background:none;border-radius:0;padding:0;max-width:720px}
main .ps-sec.ps-va .ps-pc .ps-top{margin-bottom:12px}
main .ps-sec.ps-va .ps-pc h3{padding-bottom:9px;font-size:18px;color:var(--body)}
main .ps-sec.ps-va .ps-pc h3+p{padding-top:0;border-top:0;color:var(--muted)}
main .ps-sec.ps-va .ps-pc .svc-l{padding-top:12px}
main .ps-sec.ps-va .ps-ar{position:relative;display:flex;justify-content:flex-start;align-items:center;height:30px;margin:21px 0}
main .ps-sec.ps-va .ps-ar svg{width:30px;height:12px;transform:rotate(90deg);transform-origin:center;margin-left:-9px}
main .ps-sec.ps-va .ps-ar::before{display:none}
main .ps-sec.ps-va .ps-ar::after{content:"";display:block;position:absolute;left:36px;right:0;top:50%;bottom:auto;width:auto;border:0;border-top:1px solid rgba(20,18,16,.1);border-radius:0;opacity:1}
main .ps-sec.ps-va .ps-p.none,main .ps-sec.ps-va .ps-ar.none{display:none}
main .ps-sec.ps-va .ps-s{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:18px}
main .ps-sec.ps-va .ps-row>.ps-pan>.ps-s>.ps-c,main .ps-sec.ps-va .ps-row>.ps-pan>.ps-p>.ps-c{flex:none}
main .ps-sec.ps-va .ps-sc{padding:30px 33px}
main .ps-sec.ps-va .ps-row.p2 .ps-p{grid-template-columns:none;gap:0 36px}
main .ps-sec.ps-va .ps-row.p2 .ps-pc{padding:0}

/* ===== b · two-column table ===== */
main .ps-sec.ps-vb .ps-heads{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;margin-bottom:48px}
main .ps-sec.ps-vb .ps-gap{display:none}
main .ps-sec.ps-vb .ps-hs{padding-left:33px}
main .ps-sec.ps-vb .ps-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:sticky;top:93px;z-index:5;background:#F6F5F2;box-shadow:inset 0 -1px 0 rgba(20,18,16,.18)}
main .ps-sec.ps-vb .ps-cols span{padding:18px 33px 18px 0;font-size:15px;line-height:1.5;font-weight:500;color:var(--muted)}
main .ps-sec.ps-vb .ps-cols span+span{padding-left:33px;color:var(--ink);background:#FFFFFF;border-radius:21px 21px 0 0}
main .ps-sec.ps-vb .ps-rows{gap:0}
main .ps-sec.ps-vb .ps-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
main .ps-sec.ps-vb .ps-ar{display:none}
main .ps-sec.ps-vb .ps-p,main .ps-sec.ps-vb .ps-s{display:flex;flex-direction:column;gap:0;justify-content:flex-start!important}
main .ps-sec.ps-vb .ps-p{padding:0 33px 0 0}
main .ps-sec.ps-vb .ps-s{background:#FFFFFF;padding:0 33px}
main .ps-sec.ps-vb .ps-row+.ps-row>.ps-pan>.ps-p{border-top:1px solid rgba(20,18,16,.12)}
main .ps-sec.ps-vb .ps-row+.ps-row>.ps-pan>.ps-s{box-shadow:inset 0 1px 0 rgba(20,18,16,.08)}
main .ps-sec.ps-vb .ps-row:last-child>.ps-pan>.ps-s{border-radius:0 0 21px 21px}
main .ps-sec.ps-vb .ps-row:first-child>.ps-pan>.ps-s{border-radius:0 0 0 0}
main .ps-sec.ps-vb .ps-row:only-child>.ps-pan>.ps-s{border-radius:0 0 21px 21px}
main .ps-sec.ps-vb .ps-c{flex:none!important;background:none;border-radius:0;padding:33px 0}
main .ps-sec.ps-vb .ps-c+.ps-c{border-top:1px dashed rgba(20,18,16,.12)}
main .ps-sec.ps-vb .ps-top{min-height:12px;margin-bottom:12px}
main .ps-sec.ps-vb .ps-row:not(:has(.k,.x)) .ps-top{display:none}
main .ps-sec.ps-vb .ps-top .ps-tag:not(.x){display:none}
main .ps-sec.ps-vb .ps-c h3{font-size:18px;padding-bottom:12px}
main .ps-sec.ps-vb .ps-c h3+p{padding-top:0;border-top:0}
main .ps-sec.ps-vb .ps-pc h3{color:var(--body)}
main .ps-sec.ps-vb .ps-sc h3{position:relative;padding-left:21px}
main .ps-sec.ps-vb .ps-sc h3::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:var(--orange)}
main .ps-sec.ps-vb .ps-sc h3+p{padding-left:21px}
main .ps-sec.ps-vb .ps-s>.num-card{margin:33px 0 0;background:#FE5000!important;padding:27px 30px}
main .ps-sec.ps-vb .ps-row.p2 .ps-p{display:flex}
main .ps-sec.ps-vb .ps-row.p2 .ps-pc{padding:27px 0}
main .ps-sec.ps-vb .ps-ar::before,main .ps-sec.ps-vb .ps-ar::after{display:none}

/* ===== c · tabs by problem (phones: accordion) ===== */
main .ps-sec.ps-vc .ps-rows{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:repeat(var(--n),auto) 1fr;column-gap:48px;row-gap:0;align-items:start}
main .ps-sec.ps-vc .ps-row{display:contents}
main .ps-sec.ps-vc .ps-tab{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;column-gap:18px;width:100%;margin:0;padding:24px 21px;border:0;border-top:1px solid rgba(20,18,16,.12);border-radius:0;background:none;text-align:left;font:inherit;color:var(--body);cursor:pointer;transition:background-color .2s ease,color .2s ease}
main .ps-sec.ps-vc .ps-row:last-child .ps-tab{border-bottom:1px solid rgba(20,18,16,.12)}
main .ps-sec.ps-vc .ps-tl{display:grid;gap:6px}
main .ps-sec.ps-vc .ps-tt{font-size:18px;line-height:1.45;font-weight:500}
main .ps-sec.ps-vc .ps-tab .ps-tag{justify-self:start;grid-column:1;margin-top:9px}
main .ps-sec.ps-vc .ps-tab i{grid-column:2;grid-row:1;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);justify-self:center;color:var(--muted)}
main .ps-sec.ps-vc .ps-row.is-on .ps-tab{background:#FFFFFF;border-radius:15px;border-color:transparent;color:var(--ink)}
main .ps-sec.ps-vc .ps-row.is-on .ps-tab i{color:var(--orange)}
main .ps-sec.ps-vc .ps-row.is-on+.ps-row .ps-tab{border-top-color:transparent}
main .ps-sec.ps-vc .ps-tab:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
@media (hover:hover) and (pointer:fine){main .ps-sec.ps-vc .ps-row:not(.is-on) .ps-tab:hover{color:var(--ink)}main .ps-sec.ps-vc .ps-row:not(.is-on) .ps-tab:hover i{color:var(--orange)}}
main .ps-sec.ps-vc .ps-pan{display:none;grid-column:2;grid-row:1/span var(--n1)}
main .ps-sec.ps-vc .ps-row.is-on .ps-pan{display:flex;flex-direction:column}
main .ps-sec.ps-vc .ps-p{display:grid;gap:24px}
main .ps-sec.ps-vc .ps-pc{background:none;border-radius:0;padding:0}
main .ps-sec.ps-vc .ps-pc .ps-top{margin-bottom:12px}
main .ps-sec.ps-vc .ps-pc h3{padding-bottom:9px;color:var(--body)}
main .ps-sec.ps-vc .ps-pc h3+p{padding-top:0;border-top:0;color:var(--muted)}
main .ps-sec.ps-vc .ps-ar{position:relative;justify-content:flex-start;height:30px;margin:21px 0}
main .ps-sec.ps-vc .ps-ar svg{width:30px;transform:rotate(90deg);margin-left:-9px}
main .ps-sec.ps-vc .ps-ar::before{display:none}
main .ps-sec.ps-vc .ps-ar::after{content:"";display:block;position:absolute;left:36px;right:0;top:50%;bottom:auto;width:auto;border:0;border-top:1px solid rgba(20,18,16,.1);border-radius:0;opacity:1}
main .ps-sec.ps-vc .ps-p.none,main .ps-sec.ps-vc .ps-ar.none{display:none}
main .ps-sec.ps-vc .ps-s{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;justify-content:stretch!important}
main .ps-sec.ps-vc .ps-row.p2 .ps-p{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}
main .ps-sec.ps-vc .ps-row.p2 .ps-pc{padding:0}

@media (max-width:981px){
 main .ps-sec.ps-va .ps-row::before{grid-column:1/13;grid-row:auto;padding:0 0 18px}
 main .ps-sec.ps-va .ps-p,main .ps-sec.ps-va .ps-ar,main .ps-sec.ps-va .ps-s{grid-column:1/13}
 main .ps-sec.ps-vc .ps-rows{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:30px}
}
@media (max-width:759px){
 main .ps-sec.ps-va .ps-heads{grid-template-columns:1fr;margin-bottom:39px}
 main .ps-sec.ps-va .ps-hp>.t,main .ps-sec.ps-va .ps-hp>.d,main .ps-sec.ps-va .ps-hs>.t,main .ps-sec.ps-va .ps-hs>.d{grid-column:1;grid-row:auto}
 main .ps-sec.ps-va .ps-hp>.d{padding-top:21px}
 main .ps-sec.ps-va .ps-row{grid-template-columns:1fr;padding:36px 0}
 main .ps-sec.ps-va .ps-row::before{grid-column:1}
 main .ps-sec.ps-va .ps-p,main .ps-sec.ps-va .ps-ar,main .ps-sec.ps-va .ps-s{grid-column:1}
 main .ps-sec.ps-va .ps-p,main .ps-sec.ps-va .ps-s{grid-auto-flow:row;row-gap:24px}
 main .ps-sec.ps-va .ps-s{row-gap:12px}
 main .ps-sec.ps-va .ps-ar{height:30px;margin:18px 0}
 main .ps-sec.ps-va .ps-ar svg{transform:rotate(90deg)}
 main .ps-sec.ps-va .ps-sc{padding:24px}

 main .ps-sec.ps-vb .ps-heads{grid-template-columns:1fr;row-gap:36px;margin-bottom:39px}
 main .ps-sec.ps-vb .ps-hs{padding-left:0}
 main .ps-sec.ps-vb .ps-cols{display:none}
 main .ps-sec.ps-vb .ps-rows{gap:24px}
 main .ps-sec.ps-vb .ps-row{grid-template-columns:1fr}
 main .ps-sec.ps-vb .ps-p{padding:0;border-top:1px solid rgba(20,18,16,.12)!important}
 main .ps-sec.ps-vb .ps-p.none{display:none}
 main .ps-sec.ps-vb .ps-s{border-radius:21px!important;box-shadow:none!important;padding:0 24px}
 main .ps-sec.ps-vb .ps-c{padding:24px 0}
 main .ps-sec.ps-vb .ps-top .ps-tag:not(.x){display:inline-flex}
 main .ps-sec.ps-vb .ps-s>.num-card{margin-top:24px}

 main .ps-sec.ps-vc .ps-rows{display:block}
 main .ps-sec.ps-vc .ps-row{display:block;border-top:1px solid rgba(20,18,16,.12)}
 main .ps-sec.ps-vc .ps-row:last-child{border-bottom:1px solid rgba(20,18,16,.12)}
 main .ps-sec.ps-vc .ps-tab{border:0!important;padding:21px 0;border-radius:0!important;background:none!important}
 main .ps-sec.ps-vc .ps-tab i{transform:rotate(135deg)}
 main .ps-sec.ps-vc .ps-row.is-on .ps-tab i{transform:rotate(-45deg)}
 main .ps-sec.ps-vc .ps-row:last-child .ps-tab{border-bottom:0}
 main .ps-sec.ps-vc .ps-pan{padding:0 0 30px}
 main .ps-sec.ps-vc .ps-row.p2 .ps-p{grid-template-columns:1fr}
 main .ps-sec.ps-vc .ps-sc,main .ps-sec.ps-vc .ps-s>.num-card{padding:24px}
}
@media (prefers-reduced-motion:reduce){main .ps-sec.ps-vc .ps-tab{transition:none}}

/* ---------- 10 · grov service pages (ATP, Horizon AI 導入) on the service-page system (v3.8) ---------- */
/* request sample: a neutral surface like every other card, no dark panel */
.svc-grov main .pj-code{background:#F6F5F2;border-radius:21px;padding:27px 33px;gap:15px}
.svc-grov main .pj-code pre{color:var(--ink);font-size:15px}
.svc-grov main .pj-code+.bento,.svc-grov main .bento+.bento,.svc-grov main .bento+.pj-code{margin-top:var(--col-gap)}
.svc-grov main .bento+.note-bar{margin-top:21px}
.svc-grov main .tx-card .bc-top+.bd{margin-top:42px}
.svc-grov main .bc .pj-plist{margin-top:6px;border-top-color:rgba(20,18,16,.1)}
.svc-grov main .bc>.svc-l{margin-top:auto;padding-top:18px}
/* related row: partner marks carry their logo in place of the title */
.rel-logo{display:block;height:27px;width:auto}
.rel-marks+.rel-links{margin-top:0}
.rel-marks .rel-i:last-child{border-bottom:0}
@media (max-width:759px){.svc-grov main .pj-code{padding:21px 24px}.svc-grov main .pj-code pre{font-size:12px}.svc-grov main .tx-card .bc-top+.bd{margin-top:30px}.rel-marks .rel-i:last-child{border-bottom:0}}
/* flagship pages: related links use the same quiet row (after the resource posts it sits 57px below them) */
main .posts+.pj-relrow{margin-top:57px}
main .pj-relrow>.sub-h{margin-bottom:18px}
@media (max-width:759px){.svc-grov .hero-full .copy>.h1{font-size:min(39px,8.4vw)!important}}

/* ---------- 9 · v3.9 related row: 2.5x the air above it (72 -> 180, phones 57 -> 144), no divider over it ----------
   service / flagship / grov pages share .rel-sec (pages_services.related, pages_projects.related_of / rel_of);
   flagship posts + related row: 57 -> 144; article prose 「相關服務：」 / 「相關產品與服務：」 line (.rel-p, normalize.py): 20 -> 51 */
main .sec.rel-sec{padding-top:180px}
main .sec.rel-sec::before{display:none!important;content:none!important}
main .sec.rel-sec{border-top:0!important}
main .posts+.pj-relrow{margin-top:144px;padding-top:0;border-top:0}
main .prose p.rel-p{margin-top:51px;padding-top:0;border-top:0}
@media (max-width:759px){
 main .sec.rel-sec{padding-top:144px}
 main .posts+.pj-relrow{margin-top:108px}
 main .prose p.rel-p{margin-top:42px}
}

/* ---------- 12 · v3.9 number / stat cards: content from the top; label, figure, 人數上限, hairline and body share
   one set of row tracks across a row (subgrid), so every hairline and baseline lines up.
   A size container cannot be a subgrid, so in these rows the container moves from the card to the grid (.bento /
   .stats) and the figure size is worked out from the card's share of it: --s = columns spanned of 12 (card width =
   s/12 of the grid minus its share of the gaps), --n = stats columns. Same result as the per-card 25cqi / 18cqi. ---------- */
main .num-card{justify-content:flex-start;align-content:start}
main .num-card>.kv small.pre{line-height:1}
@supports (grid-template-rows:subgrid){
 main .bento:not(:has(>:not(.num-card))){container-type:inline-size;--pad:72px}
 main .bento:not(:has(>:not(.num-card)))>.num-card{container-type:normal;display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0;align-content:start;--s:4;
  --cw:calc(var(--s) * 100cqi / 12 - (1 - var(--s) / 12) * var(--col-gap) - var(--pad))}
 main .bento:not(:has(>:not(.num-card)))>.num-card:has(>.ks){grid-row:span 3}
 main .bento:not(:has(>:not(.num-card)))>.num-card:has(>.open){grid-row:span 4}
 main .bento:not(:has(>:not(.num-card)))>.num-card>*{align-self:start}
 main .bento:not(:has(>:not(.num-card)))>.num-card>.kv{align-self:last baseline;font-size:clamp(33px,calc(var(--cw) * .25),84px)!important}
 main .bento:not(:has(>:not(.num-card)))>.num-card>.kv.sm{font-size:clamp(21px,calc(var(--cw) * .12),39px)!important}
 main .bento>.num-card.span-3{--s:3} main .bento>.num-card.span-6{--s:6} main .bento>.num-card.span-8{--s:8} main .bento>.num-card.span-12{--s:12}
 main .stats{container-type:inline-size;--n:4}
 main .stats.c3{--n:3}
 main .stats>div{container-type:normal;grid-row:span 3;grid-template-rows:subgrid;row-gap:9px}
 main .stats>div>.v{align-self:last baseline;font-size:clamp(24px,calc((100cqi - (var(--n) - 1) * var(--col-gap)) / var(--n) * .18),51px)!important}
 @media (max-width:1101px){main .bento>.num-card:is(.span-3,.span-4){--s:6} main .bento>.num-card.span-4:last-child:nth-child(odd){--s:12}}
 @media (max-width:981px){main .gp .gp-ev .stats{--n:2}}
 @media (max-width:900px){main .fx .stats{--n:2}}
 @media (max-width:759px){main .stats,main .stats.c3{--n:2}}
 @media (max-width:759px){main .bento>.num-card{--s:6!important} main .bento>.num-card:last-child:nth-child(odd),main .bento>.num-card.cmp{--s:12!important}}
 @media (max-width:360px){main .stats,main .stats.c3{--n:1}}
}

/* ---------- 11 · v3.9 service rail: one card width (never below 300 px, phones 270 px); the figure column takes the
   free width (it is a size container, so it would otherwise collapse), short labels and the link stay on one line ---------- */
main .rail{grid-auto-columns:max(300px,calc((100% - 11*var(--col-gap))/12*4 + 3*var(--col-gap)))}
main .svc{min-width:0}
main .svc>.svc-b{align-items:flex-end}
main .svc-b>.svc-n{flex:1 1 auto;min-width:0}
main .svc-n .kv,main .svc-n .kl,main .svc-n .u{white-space:nowrap}
main .svc-n .kl{overflow:hidden;text-overflow:ellipsis;max-width:100%}
main .svc-b>.arr{flex:none}
@media (max-width:1101px){main .rail{grid-auto-columns:max(300px,calc((100% - var(--col-gap))/2.2))}}
@media (max-width:759px){main .rail{grid-auto-columns:max(270px,84%)}}
/* even spacing above related rows: flagship inline row matches the ~219px content gap of .rel-sec pages */
main .posts+.pj-relrow{margin-top:216px}
@media (max-width:759px){main .posts+.pj-relrow{margin-top:150px}}

/* ---------- 13 · v3.10 heading breaks (normalize.py heads()): Latin terms inside CJK headings stay whole ---------- */
main :is(h1,h2,h3) .nbh{white-space:nowrap}

/* ---------- 14 · v3.10 sub-block spacing tokens: a new sub-block inside a section never sits on the block above it,
   and a hairline always has air on both sides.
   --sub-gap  : cards / block -> next sub-block heading (no hairline)       desktop 132 · phones 84
   --line-gap : content -> hairline and hairline -> heading (x2 = sub-gap)   desktop 66  · phones 42
   --fn-gap   : block -> its footnote (「＊ …」, note bars, disclaimers)        desktop 36  · phones 30 ---------- */
:root{--sub-gap:132px;--line-gap:66px;--fn-gap:36px}
@media (max-width:759px){:root{--sub-gap:84px;--line-gap:42px;--fn-gap:30px}}
/* flagship: 「從場地設計到叢集維運…」 after the stat cards (cyberjaya) */
main .pj-e2e.mt-l{margin-top:var(--sub-gap)}
.fx main .pj-e2e.mt-l{margin-top:var(--line-gap);padding-top:var(--line-gap)!important}
/* service pages: second step list under a hairline (e.g. ../konstra-ai/site/index.html 場地整備五項) */
main .bento+.sub-h{margin-top:var(--line-gap);padding-top:var(--line-gap)}
@media (max-width:759px){main .bento+.sub-h{margin-top:var(--line-gap);padding-top:var(--line-gap)}}
/* flagship: diagram label 「合作架構」 / 「三網分離架構」 gets its own room above the diagram */
main .pj-lyr .ph{margin-bottom:30px}
@media (max-width:981px){main .pj-pod{gap:42px}}
/* article tag row and group spirit / quote rules: text no longer sits on the hairline */
main .art-tags{margin-top:var(--line-gap);padding-top:var(--line-gap)}
main .gp-sp-foot{margin-top:calc(var(--line-gap) - 24px);padding-top:var(--line-gap)}
main .gp-2r blockquote{margin-top:var(--line-gap);padding-top:var(--line-gap)}
/* footnotes: clear air between a block and its 「＊ …」 note (consecutive notes stay together) */
main :not(.pj-fn)+p.pj-fn{margin-top:var(--fn-gap)}
.svc-grov main .bento+.note-bar,main .bento+.note-bar{margin-top:var(--fn-gap)}
main .parts+p.fine,main .rows+p.fine{margin-top:var(--fn-gap)}
/* compute site panels keep the note pinned to the panel bottom (margin-top:auto); the extra air goes in padding */
main .cd-panel>:is(.cd-act,.cd-tl)+p.fine{padding-top:calc(var(--fn-gap) - 18px)}
/* home: globe card -> 「探索可交付算力」 list is its own sub-block */
main .globe-stage+.v1list{margin-top:calc(var(--sub-gap) - 12px)}
/* FAQ questions use the same phrase joints as headings (normalize heads()) */
main .faq summary{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
main .faq summary .nbh{white-space:nowrap}
.cta .nw,.kf .nw{white-space:nowrap}

/* v1-header.css */
/* v1 (8765) header, menu bar, mega menus, language switch and mobile nav.
   Generated from the live v1 stylesheets (style.css + theme.css): every rule that styles an element
   inside v1's <header>, in the original order, with the selector scoped to header.v1h
   (each rule gains the same +0,1,1 so the v1 cascade is unchanged). Declarations are verbatim.
   Inherited values from v1 :root/body are applied on header.v1h itself.
   The only non-v1 rules are the neutralising block at the top and the Liquid Glass block at the end. Do not hand-edit; re-extract. */


@property --edge-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
/* ---- neutralise v2 base rules that would otherwise reach into the header (site.css element rules) ---- */
:where(html) header.v1h{text-rendering:auto;-webkit-font-smoothing:auto;-webkit-text-size-adjust:auto;text-size-adjust:auto;-webkit-tap-highlight-color:rgba(0,0,0,.4)}
header.v1h :where(img,svg){max-width:none;display:revert}
header.v1h :where(a){color:revert;text-decoration:revert}
header.v1h :where(button){font:revert;color:revert}
header.v1h :where(a,button,summary,select,label,[role=tab]){touch-action:revert;user-select:revert;-webkit-user-select:revert}
header.v1h :where(.small){font-size:revert;line-height:revert}
header.v1h :where(:focus-visible){outline:revert;outline-offset:revert;border-radius:revert}

/* ---- v1 :root / body values (custom properties + inherited properties) ---- */
:where(:root) header.v1h{--orange:#FE5000;--peach:#FFAE62;--red:#963821;--gray:#E6E4DF;--ink:#111110;--blue:#00AED6;--line:#E6E4DF}
:where(:root) header.v1h{--radius-control:15px;--radius-card:24px;--radius-panel:33px;--space-edge:clamp(24px,5vw,87px);--title-display:clamp(36px,4.3vw,63px);--title-section:clamp(27px,3vw,45px);--title-card:clamp(21px,1.6vw,27px);--text-body:15px}
:where(:root) header.v1h{--edition-line:#E6E4DF;--edition-muted:#8A877F}
:where(:root) header.v1h{--konst-orange:#FE5000;--konst-dawn:#FFAE62;--konst-gray:#E6E4DF;--action-radius:3px}
:where(:root) header.v1h{--radius-control:15px;--radius-card:24px;--radius-panel:33px;--space-edge:clamp(24px,5vw,87px);--title-display:clamp(36px,4.3vw,63px);--title-section:clamp(27px,3vw,45px);--title-card:clamp(21px,1.6vw,27px);--text-body:15px}
:where(:root) header.v1h{--title-display:clamp(33px,3.2vw,45px);--title-section:clamp(24px,2.3vw,33px);--title-card:clamp(18px,1.35vw,21px);--ink-2:#111110;--muted-2:#5F5D59;--line-2:#E6E4DF;--paper:#F3F2EF}
:where(:root) header.v1h{--gutter:90px;--space-edge:90px;--grid-gap:24px}
@media (max-width: 1101px){:where(:root) header.v1h{--gutter:39px;--space-edge:39px}}
@media (max-width: 759px){:where(:root) header.v1h{--gutter:21px;--space-edge:21px}}
:where(*) header.v1h{letter-spacing:0!important}
:where(:root) header.v1h{--r-card:15px;--r-pill:999px;--band:#FE5000;--band-ink:#fff;--title-display:clamp(39px,4.6vw,63px);--title-section:clamp(30px,3.1vw,45px);--title-card:21px}
:where(:root) header.v1h{--s0:#FFFFFF;--s1:#F3F2EF;--band:#FE5000;--band-soft:#FFD6B0;--ink:#111110;--ink-2:#111110;--body:#5F5D59;--muted:#8A877F;--muted-2:#8A877F;--line:#E6E4DF;--line-2:#E6E4DF;--orange:#FE5000;--peach:#FFAE62;--red:#963821;--paper:#F3F2EF;--gutter:90px;--space-edge:90px;--grid-gap:24px;--sec:120px;--r-card:15px;--r-pill:999px;--r-input:12px;--title-display:clamp(45px,5.4vw,75px);--title-section:clamp(33px,3.3vw,48px);--title-card:21px;--text-body:15px;--header-h:81px}
@media (max-width: 1101px){:where(:root) header.v1h{--gutter:39px;--space-edge:39px;--sec:87px}}
@media (max-width: 759px){:where(:root) header.v1h{--gutter:21px;--space-edge:21px;--sec:63px}}
:where(*) header.v1h{letter-spacing:0!important}
:where(:root) header.v1h{--title-display:clamp(39px,4.8vw,63px)}
:where(:root) header.v1h{--s0:#F3F2EF;--s1:#FFFFFF;--paper:#F3F2EF;--card:#FFFFFF;--line:#DEDDD9;--line-2:#DEDDD9;--glow:#FFC9AE}
:where(:root) header.v1h{--title-display:clamp(36px,3.6vw,51px);--title-section:clamp(27px,2.6vw,39px);--title-card:21px}
:where(:root) header.v1h{--s0:#FFFFFF;--s1:#F3F2EF;--paper:#F3F2EF;--line:#E6E4DF;--line-2:#E6E4DF;--glass:rgba(255,255,255,.72);--glass-line:rgba(255,255,255,.85)}
:where(:root) header.v1h{--content-max:1281px}
@media (min-width: 1461px){:where(:root) header.v1h{--gutter:max(90px,calc((100vw - var(--content-max))/2))}}
:where(:root) header.v1h{--sec:150px;--grid-gap:33px}
@media (max-width: 1101px){:where(:root) header.v1h{--sec:105px;--grid-gap:24px}}
@media (max-width: 759px){:where(:root) header.v1h{--sec:72px;--grid-gap:21px}}
:where(body) header.v1h{color:var(--ink);font-family:Tasa,Vivo,sans-serif;font-size:15px;line-height:1.5}
:where(html body) header.v1h{letter-spacing:0!important}
:where(body) header.v1h{letter-spacing:0}
:where(body) header.v1h{color:var(--ink-2);line-height:1.75}
:where(body) header.v1h{font-size:15px;line-height:1.7}
:where(body) header.v1h{color:var(--ink)!important;font-size:15px!important;line-height:1.7!important}
/* ---- v1 rules (theme.css + style.css order) ---- */
*.v1h:is(header),header.v1h *{box-sizing:border-box}
header.v1h a{color:inherit;text-decoration:none}
header.v1h button{font:inherit}
header.v1h button,header.v1h a{touch-action:manipulation}
header.v1h button{cursor:pointer}
header.v1h a,header.v1h button{outline-offset:6px}
header.v1h a:focus-visible,header.v1h button:focus-visible{outline:2px solid var(--red)}
header.v1h button{color:inherit}
header.v1h:is(header){height:93px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #eee}
header.v1h .brand{padding:15px 0}
header.v1h .brand img{display:block;width:153px;height:auto;min-height:24px}
header.v1h nav{display:flex;gap:27px;font-size:15px}
header.v1h nav a:hover{color:var(--red)}
header.v1h .header-actions{display:flex;align-items:center;gap:24px}
header.v1h .button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 24px;border:0;border-radius:3px;font-size:15px;font-weight:500;transition:background .2s,transform .2s}
header.v1h .button:hover{transform:translateY(-2px)}
header.v1h .dark{background:var(--ink);color:white}
header.v1h .dark:hover{background:var(--red)}
header.v1h .small{padding:12px 18px;gap:18px}
header.v1h #menu{display:none;background:none;border:0;font-size:24px}
@media (max-width: 1101px){header.v1h nav{gap:18px}}
@media (max-width: 1101px){header.v1h .header-actions{gap:15px}}
@media (max-width: 759px){header.v1h:is(header){height:75px;padding:0 6%}}
@media (max-width: 759px){header.v1h .brand img{width:129px}}
@media (max-width: 759px){header.v1h .header-actions > .button{display:none}}
@media (max-width: 759px){header.v1h #menu{display:block}}
@media (max-width: 759px){header.v1h nav{display:none;position:absolute;top:75px;left:0;right:0;padding:24px;background:white;box-shadow:0 12px 21px #0001}}
@media (max-width: 759px){header.v1h nav.open{display:flex;flex-direction:column}}
@media (prefers-reduced-motion: reduce){*.v1h:is(header),header.v1h *,.v1h:is(header)::before,header.v1h ::before,.v1h:is(header)::after,header.v1h ::after{animation:none!important;transition:none!important}}
@media (max-width: 1050px){header.v1h:is(header) nav{display:none;position:absolute;top:93px;left:0;right:0;padding:24px 5%;background:white;box-shadow:0 12px 21px #0001}}
@media (max-width: 1050px){header.v1h:is(header) nav.open{display:flex;flex-direction:column}}
@media (max-width: 1050px){header.v1h #menu{display:block}}
@media (max-width: 759px){header.v1h:is(header) nav{top:75px}}
header.v1h .button,header.v1h .button.dark,header.v1h .button.small{border-radius:var(--radius-control)!important}
@supports (corner-shape:squircle){header.v1h .button{corner-shape:squircle}}
header.v1h .button.dark{background:#FE5000!important;border-color:#FE5000!important;color:white!important}
header.v1h .button.dark:hover{background:#dd4700!important;border-color:#dd4700!important}
header.v1h .complete-product-menu .product-directory{position:fixed;top:87px;left:var(--space-edge);right:var(--space-edge);width:auto;max-width:1401px;margin:auto;display:grid;grid-template-columns:261px 1fr;background:#fff;border:1px solid #E6E4DF;border-radius:24px;padding:33px;gap:39px;max-height:calc(100dvh - 111px);overflow:auto;box-shadow:0 18px 45px #1c22231a}
header.v1h .product-category-tabs{display:flex;flex-direction:column;align-items:stretch;gap:0}
header.v1h .product-category-tabs button{border:0;background:none;text-align:left;padding:21px 9px;border-bottom:1px solid #e7e4df;font-size:15px;color:#343739;cursor:pointer}
header.v1h .product-category-tabs [aria-selected="true"]{color:#FE5000;border-bottom:2px solid #FE5000}
header.v1h .product-category-content a{display:block!important;padding:15px 3px!important;border-bottom:1px solid #eee!important}
header.v1h .product-category-content strong{font-size:15px}
header.v1h .product-category-content small{display:block;font-size:15px;color:#656a6e;margin-top:9px;line-height:1.7}
header.v1h .product-category-content [hidden]{display:none!important}
header.v1h .directory-all{color:#FE5000!important;margin-top:12px}
@media (max-width: 999px){header.v1h .complete-product-menu .product-directory{top:75px;grid-template-columns:210px 1fr}}
@media (max-width: 759px){header.v1h .complete-product-menu .product-directory{position:static;display:block;padding:15px;width:100%;max-height:none;box-shadow:none;margin-top:12px;border-radius:15px}}
@media (max-width: 759px){header.v1h .product-category-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:21px}}
@media (max-width: 759px){header.v1h .product-category-tabs button{font-size:15px;padding:15px 9px}}
@media (max-width: 759px){header.v1h .product-category-content small{font-size:12px}}
@media (max-width: 759px){header.v1h .button{min-height:48px}}
header.v1h:is(header) summary{list-style:none}
header.v1h:is(header) summary::marker,header.v1h:is(header) summary::-webkit-details-marker{display:none;content:''}
header.v1h:is(header) .nav-product > summary::after{content:'⌄';display:inline-block;margin-left:6px;font-size:12px;color:#757b7c}
@media (max-width: 759px){header.v1h .header-actions{gap:15px!important}}
@media (max-width: 759px){header.v1h:is(header) .brand{max-width:150px}}
header.v1h .button{border-radius:9px}
header.v1h .mega-menu small{display:block;color:#777;font-size:9px;margin-top:6px}
@media (max-width: 699px){header.v1h .mega-menu{max-height:65vh;overflow:auto}}
html body *.v1h:is(header),html body header.v1h *{letter-spacing:0!important}
header.v1h summary{text-wrap:balance;word-break:normal;overflow-wrap:normal;line-break:strict}
header.v1h .keep-ending{white-space:nowrap}
header.v1h .ui-line-icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.12em;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
header.v1h .nav-projects .mega-menu{width:291px}
header.v1h .nav-projects .mega-menu a{gap:24px}
header.v1h .button{position:relative;isolation:isolate;transition:transform .16s ease,border-color .2s ease,box-shadow .2s ease}
header.v1h .button::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--edge-angle,0deg),transparent 0deg,transparent 200deg,#b7c1c9 250deg,#FE5000 295deg,transparent 350deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;opacity:0}
header.v1h .button:hover::after,header.v1h .button:focus-visible::after,header.v1h .button.is-pressed::after{opacity:1;animation:cta-edge .8s ease-out 1}
header.v1h .button:active,header.v1h .button.is-pressed{transform:translateY(1px) scale(.985)}
header.v1h .button:focus-visible{outline:2px solid #FE5000;outline-offset:3px}
@media (max-width: 759px){header.v1h .nav-projects .mega-menu{width:100%}}
@media (prefers-reduced-motion: reduce){header.v1h .button,header.v1h .button::after{animation:none!important;transition:none!important}}
@media (prefers-reduced-motion: reduce){header.v1h .button:active,header.v1h .button.is-pressed{transform:none}}
@media (prefers-reduced-motion: reduce){header.v1h .button:hover,header.v1h .button:focus-visible{border-color:#FE5000}}
header.v1h:is(header) #nav{gap:clamp(12px,1.4vw,24px)}
header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{font-size:12px;white-space:nowrap}
header.v1h:is(header) .brand img{width:141px}
@media (min-width: 1251px){header.v1h:is(header){gap:21px;padding-left:3vw;padding-right:3vw}}
@media (min-width: 1251px){header.v1h .header-actions .button.small{padding:12px 18px;font-size:12px}}
@media (max-width: 1248px){header.v1h:is(header) #nav{display:none}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open{display:flex}}
@media (max-width: 1248px){header.v1h:is(header) #menu{display:block}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open{position:absolute;top:90px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:21px 5vw;background:#fff;border-bottom:1px solid #ddd;max-height:calc(100dvh - 90px);overflow:auto;z-index:20}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open > a,header.v1h:is(header) #nav.open > details{padding:12px 0}}
@media (max-width: 1248px){header.v1h:is(header) #nav .mega-menu{position:static;width:100%;box-shadow:none;margin-top:12px}}
@media (max-width: 1248px){header.v1h .header-actions #menu{display:block}}
@media (max-width: 759px){header.v1h:is(header) #nav.open{top:75px;max-height:calc(100dvh - 75px)}}
header.v1h:is(header) #nav > .mobile-nav-action{display:none}
header.v1h .header-actions .calculator-nav{font-size:12px;white-space:nowrap;padding:12px 0}
header.v1h .header-actions .calculator-nav:hover{color:#fe5000}
header.v1h .header-actions{gap:21px}
@media (max-width: 1248px){header.v1h:is(header) .header-actions > .desktop-nav-action{display:none!important}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open > .mobile-nav-action{display:block}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open > .mobile-nav-action[href="../ai-training-calculator/index.html"]{border-top:1px solid #ddd;margin-top:12px;padding-top:24px}}
header.v1h .keep-ending{display:inline!important;font:inherit!important;color:inherit!important;letter-spacing:0!important;line-height:inherit!important;white-space:nowrap!important;margin:0!important;padding:0!important;vertical-align:baseline!important;float:none!important}
header.v1h .button{border-radius:var(--action-radius)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;transition:border-color .2s ease,background-color .2s ease,color .2s ease!important;border-width:1px;border-style:solid}
header.v1h .button::after{display:none!important;animation:none!important}
header.v1h .button.dark{background:#111110;border-color:#111110;color:#fff}
header.v1h .button:hover,header.v1h .button:focus-visible,header.v1h .button.is-pressed{border-color:#FE5000!important;box-shadow:inset 0 0 0 1px #FE5000!important;transform:none!important}
header.v1h .button:focus-visible{outline:2px solid #FE5000;outline-offset:3px}
header.v1h .button.dark:hover{background:#242424}
header.v1h .button:active{border-color:#8A877F!important}
header.v1h .header-actions .button{border-radius:3px!important}
@media (prefers-reduced-motion: reduce){header.v1h .button{transition:none!important}}
header.v1h .button,header.v1h .button.dark,header.v1h .button.small{border-radius:var(--radius-control)!important}
@supports (corner-shape:squircle){header.v1h .button{corner-shape:squircle}}
header.v1h .button.dark{background:#FE5000!important;border-color:#FE5000!important;color:white!important}
header.v1h .button.dark:hover{background:#dd4700!important;border-color:#dd4700!important}
header.v1h .complete-product-menu .product-directory{position:fixed;top:87px;left:var(--space-edge);right:var(--space-edge);width:auto;max-width:1401px;margin:auto;display:grid;grid-template-columns:261px 1fr;background:#fff;border:1px solid #E6E4DF;border-radius:24px;padding:33px;gap:39px;max-height:calc(100dvh - 111px);overflow:auto;box-shadow:0 18px 45px #1c22231a}
header.v1h .product-category-tabs{display:flex;flex-direction:column;align-items:stretch;gap:0}
header.v1h .product-category-tabs button{border:0;background:none;text-align:left;padding:21px 9px;border-bottom:1px solid #e7e4df;font-size:15px;color:#343739;cursor:pointer}
header.v1h .product-category-tabs [aria-selected="true"]{color:#FE5000;border-bottom:2px solid #FE5000}
header.v1h .product-category-content a{display:block!important;padding:15px 3px!important;border-bottom:1px solid #eee!important}
header.v1h .product-category-content strong{font-size:15px}
header.v1h .product-category-content small{display:block;font-size:15px;color:#656a6e;margin-top:9px;line-height:1.7}
header.v1h .product-category-content [hidden]{display:none!important}
header.v1h .directory-all{color:#FE5000!important;margin-top:12px}
@media (max-width: 999px){header.v1h .complete-product-menu .product-directory{top:75px;grid-template-columns:210px 1fr}}
@media (max-width: 759px){header.v1h .complete-product-menu .product-directory{position:static;display:block;padding:15px;width:100%;max-height:none;box-shadow:none;margin-top:12px;border-radius:15px}}
@media (max-width: 759px){header.v1h .product-category-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:21px}}
@media (max-width: 759px){header.v1h .product-category-tabs button{font-size:15px;padding:15px 9px}}
@media (max-width: 759px){header.v1h .product-category-content small{font-size:12px}}
@media (max-width: 759px){header.v1h .button{min-height:48px}}
header.v1h:is(header) summary{list-style:none}
header.v1h:is(header) summary::marker,header.v1h:is(header) summary::-webkit-details-marker{display:none;content:''}
header.v1h:is(header) .nav-product > summary::after{content:'⌄';display:inline-block;margin-left:6px;font-size:12px;color:#757b7c}
@media (max-width: 759px){header.v1h .header-actions{gap:15px!important}}
@media (max-width: 759px){header.v1h:is(header) .brand{max-width:150px}}
header.v1h:is(header) #nav > details.nav-product{position:relative}
header.v1h:is(header) #nav > details.nav-product > summary{display:inline-flex;align-items:center;border-radius:9px}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory){position:absolute;top:calc(100% + 6px);left:-9px;min-width:237px;width:auto;max-height:none;display:grid;gap:2px;padding:9px;background:#fff;border:1px solid #E6E4DF;border-radius:15px;box-shadow:0 18px 45px #1c22231a;z-index:40}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a{display:block;padding:12px 15px;border-radius:9px;font-size:15px;line-height:1.5;color:#1a1c1e;white-space:nowrap}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a:hover{background:#fbf6f1;color:#fe5000}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) small{font-size:12px;color:#777;margin-top:3px}
header.v1h:is(header) #nav > details.nav-product[open] > summary{color:#fe5000}
header.v1h:is(header) .nav-product > summary::after{transition:transform .15s}
header.v1h:is(header) #nav > details.nav-product[open] > summary::after{transform:rotate(180deg);color:#fe5000}
@media (max-width: 1248px){header.v1h:is(header) #nav > details.nav-product > summary{display:flex;align-items:center;width:100%}}
@media (max-width: 1248px){header.v1h:is(header) #nav > details.nav-product > summary::after{margin-left:auto}}
@media (max-width: 1248px){header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory){position:static;min-width:0;width:100%;margin-top:9px;padding:3px 0 9px 15px;border:0;border-left:2px solid #f1e6dd;border-radius:0;box-shadow:none}}
@media (max-width: 1248px){header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a{white-space:normal;padding:9px}}
*.v1h:is(header),header.v1h *,.v1h:is(header)::before,header.v1h ::before,.v1h:is(header)::after,header.v1h ::after{letter-spacing:0!important}
header.v1h:is(header){padding:0 var(--gutter)!important}
@media (max-width: 759px){header.v1h:is(header){padding:0 var(--gutter)!important}}
@media (max-width: 1050px){header.v1h:is(header) nav{padding:24px var(--gutter)!important}}
@media (min-width: 1251px){header.v1h:is(header){padding-left:var(--gutter)!important}}
@media (min-width: 1251px){header.v1h:is(header){padding-right:var(--gutter)!important}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open{padding:21px var(--gutter)!important}}
header.v1h:is(header){box-sizing:border-box}
header.v1h:is(header){background:#ffffffd9!important;-webkit-backdrop-filter:blur(21px) saturate(1.35);backdrop-filter:blur(21px) saturate(1.35);border-bottom:1px solid #eeebe6!important}
header.v1h .button,header.v1h .button.dark,header.v1h .button.small{border-radius:var(--r-pill)!important}
header.v1h .button{padding:12px 21px!important;min-height:45px!important;font-size:15px!important;font-weight:500!important;gap:9px!important;justify-content:center!important}
header.v1h .button.dark{background:var(--ink-2)!important;border-color:var(--ink-2)!important;color:#fff!important}
header.v1h .button.dark:hover{background:#FE5000!important;border-color:#FE5000!important}
header.v1h:is(header) .header-actions .button{background:#FE5000!important;border-color:#FE5000!important;padding:9px 18px!important;min-height:39px!important;font-size:12px!important}
header.v1h:is(header) .header-actions .button:hover{background:#dd4700!important}
*.v1h:is(header),header.v1h *,.v1h:is(header)::before,header.v1h ::before,.v1h:is(header)::after,header.v1h ::after{letter-spacing:0!important}
header.v1h small{font-size:15px!important;color:var(--muted)!important}
header.v1h .button,header.v1h .button.dark,header.v1h .button.small,header.v1h .product-category-tabs button{border-radius:var(--r-pill)!important}
header.v1h .button{display:inline-flex!important;align-items:center;justify-content:center!important;gap:9px!important;padding:0 21px!important;height:45px!important;min-height:0!important;font-size:15px!important;font-weight:500!important;border:1px solid transparent!important;background:var(--orange)!important;color:#fff!important;box-shadow:none!important;transition:background .18s,border-color .18s,color .18s!important}
header.v1h .button:hover{background:#DD4700!important}
header.v1h .button.dark{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
header.v1h .button.dark:hover{background:#333!important;border-color:#333!important}
header.v1h .button.small{height:39px!important;padding:0 18px!important;font-size:12px!important}
header.v1h:is(header){position:fixed!important;top:0;left:0;right:0;z-index:80!important;height:var(--header-h)!important;padding:0 var(--gutter)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px;background:var(--s0)!important;border-bottom:1px solid var(--line)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:background .25s,border-color .25s,color .25s}
header.v1h:is(header) .brand img{width:117px!important;height:auto!important;display:block}
header.v1h:is(header) #nav{display:flex!important;gap:27px!important;align-items:center;margin:0 auto}
header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{font-size:15px!important;font-weight:500!important;color:var(--ink)!important;padding:9px 2px!important}
header.v1h:is(header) #nav > a:hover,header.v1h:is(header) #nav > details > summary:hover,header.v1h:is(header) #nav > details[open] > summary{color:var(--orange)!important}
header.v1h:is(header) .nav-product > summary::after{content:'⌄'!important;font-size:12px;margin-left:6px;color:inherit!important}
header.v1h:is(header) .header-actions{gap:21px!important}
header.v1h:is(header) .header-actions .calculator-nav{font-size:15px!important;font-weight:500!important;color:var(--ink)!important;padding:0!important}
header.v1h:is(header) .header-actions .button{height:39px!important;padding:0 18px!important;font-size:12px!important;background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
header.v1h:is(header) .header-actions .button:hover{background:var(--orange)!important;border-color:var(--orange)!important}
body.photo-hero header:not(.scrolled).v1h:is(header){background:transparent!important;border-bottom-color:transparent!important}
body.photo-hero header:not(.scrolled).v1h:is(header) #nav > a,body.photo-hero header:not(.scrolled).v1h:is(header) #nav > details > summary,body.photo-hero header:not(.scrolled).v1h:is(header) .calculator-nav,body.photo-hero header:not(.scrolled).v1h:is(header) #menu{color:#fff!important}
body.photo-hero header:not(.scrolled).v1h:is(header) .brand img{filter:brightness(0) invert(1)}
body.photo-hero header:not(.scrolled).v1h:is(header) .header-actions .button{background:#ffffff26!important;border-color:#ffffff80!important;color:#fff!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory){border:0!important;box-shadow:0 21px 60px #11111014!important;border-radius:var(--r-card)!important;padding:9px!important;top:calc(100% + 9px)!important}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a{border-radius:9px!important;color:var(--ink)!important}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a:hover{background:var(--s1)!important;color:var(--ink)!important}
header.v1h .product-directory{top:calc(var(--header-h) + 9px)!important;border:0!important;box-shadow:0 21px 60px #11111014!important;border-radius:var(--r-card)!important}
header.v1h .product-category-tabs [aria-selected="true"]{color:var(--orange)!important;border-bottom-color:var(--orange)!important}
@media (max-width: 1248px){header.v1h:is(header) #nav.open{top:var(--header-h)!important;padding:15px var(--gutter) 24px!important;border:0!important;box-shadow:0 21px 60px #11111014}}
@media (max-width: 1248px){header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{color:var(--ink)!important}}
@media (max-width: 1248px){body.photo-hero header:not(.scrolled).v1h:is(header) #nav.open a,body.photo-hero header:not(.scrolled).v1h:is(header) #nav.open summary{color:var(--ink)!important}}
@media (max-width: 1248px){header.v1h:is(header) #nav:not(.open){display:none!important}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;position:absolute!important;left:0;right:0;top:var(--header-h)!important;background:#fff!important;padding:12px var(--gutter) 24px!important;gap:0!important;max-height:calc(100dvh - var(--header-h));overflow:auto}}
@media (max-width: 1248px){header.v1h:is(header) #nav.open > a,header.v1h:is(header) #nav.open > details{padding:12px 0!important;border-bottom:1px solid var(--line)}}
@media (max-width: 1248px){header.v1h:is(header) #menu{display:block!important;background:none;border:0;font-size:21px;color:var(--ink)}}
header.v1h:is(header){background:#F1F1EFE6!important;border-bottom:0!important}
header.scrolled.v1h:is(header){border-bottom:1px solid var(--line)!important}
header.v1h:is(header) #nav{margin:0 39px 0 auto!important;gap:27px!important}
header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{font-size:12px!important;font-weight:400!important}
header.v1h:is(header) .header-actions .calculator-nav{font-size:12px!important;font-weight:400!important}
header.v1h:is(header) .header-actions .button{background:transparent!important;border:0!important;color:var(--ink)!important;padding:0!important;height:auto!important;font-size:12px!important;font-weight:400!important}
header.v1h:is(header) .header-actions .button:hover{color:var(--orange)!important}
body.photo-hero header:not(.scrolled).v1h:is(header) .header-actions .button{background:transparent!important;border:0!important;color:#fff!important;backdrop-filter:none!important}
body:not(.photo-hero) header.v1h:is(header){background:#F3F2EF!important}
body:not(.photo-hero) header.v1h:is(header){background:var(--glass)!important}
header.v1h:is(header){background:var(--glass)!important;-webkit-backdrop-filter:blur(21px) saturate(1.35)!important;backdrop-filter:blur(21px) saturate(1.35)!important;border-bottom:1px solid #ffffff00!important}
header.scrolled.v1h:is(header){border-bottom:1px solid var(--line)!important}
header.v1h:is(header) #nav{margin:0 auto!important;gap:27px!important}
header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{font-size:15px!important;font-weight:500!important}
header.v1h:is(header) .header-actions .calculator-nav{font-size:15px!important;font-weight:500!important}
header.v1h:is(header) .header-actions .button{display:inline-flex!important;align-items:center;justify-content:center;height:39px!important;padding:0 18px!important;font-size:12px!important;font-weight:500!important;border-radius:var(--r-pill)!important;background:var(--ink)!important;border:1px solid var(--ink)!important;color:#fff!important}
header.v1h:is(header) .header-actions .button:hover{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
body.photo-hero header:not(.scrolled).v1h:is(header){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.photo-hero header:not(.scrolled).v1h:is(header) .header-actions .button{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory),header.v1h .product-directory{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);border:1px solid var(--glass-line)!important}
header.v1h:is(header){background:rgba(255,255,255,.9)!important}
header.v1h:is(header) .header-actions .button{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
header.v1h:is(header) .header-actions .button:hover{background:var(--ink)!important;border-color:var(--ink)!important}
body.photo-hero header:not(.scrolled).v1h:is(header) .header-actions .button{background:var(--orange)!important;border-color:var(--orange)!important}
header.v1h .product-directory{background:rgba(255,255,255,.96)!important;border:1px solid var(--line)!important;box-shadow:0 21px 60px #11111014!important}
header.v1h .product-category-tabs button{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:15px 9px!important;background:transparent!important;color:var(--ink)!important;font-size:15px!important;text-align:left}
header.v1h .product-category-tabs [aria-selected="true"]{color:var(--orange)!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
header.v1h .product-category-tabs button:hover{color:var(--orange)!important}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory){background:rgba(255,255,255,.96)!important;border:1px solid var(--line)!important}
header.v1h .ui-line-icon{stroke-width:2.2!important}
header.v1h nav a:hover,header.v1h:is(header) #nav a:hover,header.v1h:is(header) #nav > details > summary:hover,header.v1h:is(header) #nav > details.nav-product > .mega-menu a:hover,header.v1h:is(header) #nav > details.nav-product > .mega-menu a:hover *{color:var(--orange)!important}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a:hover{background:#FFF1E8!important}
header.v1h a:focus-visible,header.v1h button:focus-visible,header.v1h summary:focus-visible{outline:2px solid var(--orange)!important;outline-offset:2px}
header.v1h .header-actions{display:flex;align-items:center;gap:15px}
header.v1h .lang-switch{position:relative}
header.v1h .lang-switch > summary{list-style:none;display:inline-flex;align-items:center;gap:6px;height:39px;padding:0 15px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;background:#fff;user-select:none}
header.v1h .lang-switch > summary::-webkit-details-marker{display:none}
header.v1h .lang-switch > summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s}
header.v1h .lang-switch[open] > summary svg{transform:rotate(180deg)}
header.v1h .lang-switch > summary:hover{border-color:var(--ink)}
header.v1h .lang-switch .lang-menu{position:absolute;right:0;top:calc(100% + 9px);min-width:141px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 12px 33px rgba(0,0,0,.08);z-index:60}
header.v1h .lang-switch .lang-menu a{display:flex!important;justify-content:space-between;align-items:center;padding:9px 12px!important;border-radius:9px;font-size:12px!important;color:var(--ink)!important;margin:0!important}
header.v1h .lang-switch .lang-menu a:hover{background:#FFF1E8;color:var(--orange)!important}
header.v1h .lang-switch .lang-menu a[aria-current]::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange)}
.photo-hero header:not(.scrolled).v1h:is(header) .lang-switch > summary{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.6);color:#fff}
@media (max-width: 900px){header.v1h .lang-switch{display:none}}
header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{font-weight:500!important;letter-spacing:0}
header.v1h:is(header) #nav > details[open] > summary{font-weight:600!important;color:var(--orange)!important}
header.v1h:is(header) #nav > a,header.v1h:is(header) #nav > details > summary{font-weight:400!important;font-size:15px!important}
header.v1h:is(header) .header-actions .calculator-nav{font-weight:400!important}
@keyframes cta-edge{from{--edge-angle:0deg}to{--edge-angle:360deg}}
/* ---- v2 addition (not in v1): once the page has scrolled, the menu bar turns into Liquid Glass ---- */
header.v1h.scrolled:is(header){background:rgba(255,255,255,.6)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;backdrop-filter:blur(24px) saturate(180%)!important;border-bottom:1px solid rgba(17,17,16,.08)!important}
@media (prefers-reduced-transparency:reduce){header.v1h.scrolled:is(header){background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* ---- v2 addition (designer round 2): one weight scale for the menu bar and menus: items 500, titles 500, descriptions 400 ---- */
header.v1h.v1h:is(header) :is(#nav>a,#nav>details>summary,#nav>details[open]>summary,.calculator-nav,.header-actions .button,.lang-switch>summary,.lang-menu a,.product-category-tabs button,.product-category-tabs [aria-selected="true"],.product-category-content a strong,.mega-menu:not(.product-directory)>a,.directory-all){font-weight:500!important}
header.v1h.v1h:is(header) :is(.mega-menu small,.product-category-content small){font-weight:400!important}
/* ---- v2 addition: the mega panels are solid, nothing behind them shows through ---- */
header.v1h.v1h:is(header) #nav .mega-menu,header.v1h.v1h:is(header) .lang-menu{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1}
header.v1h.v1h:is(header) #nav .mega-menu.product-directory{height:auto!important;max-height:none!important;overflow:visible}

/* current-page indicator (core.header(cur) + v1-header.js fallback, 2026-09-27)
   top level: the item holding the current page = orange + 2px underline; menu items: orange title + orange left bar */
header.v1h .sr-cur{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
header.v1h:is(header) #nav > a.is-cur,header.v1h:is(header) #nav > details > summary.is-cur,header.v1h .header-actions > a.calculator-nav.is-cur{color:#FE5000}
header.v1h:is(header) #nav > a.is-cur,header.v1h:is(header) #nav > details > summary.is-cur > .nl,header.v1h .header-actions > a.calculator-nav.is-cur{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}
header.v1h .product-category-tabs button.has-cur{position:relative;padding-right:24px}
header.v1h .product-category-tabs button.has-cur::after{content:"";position:absolute;right:9px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#FE5000}
header.v1h .product-category-content a.is-cur{position:relative;padding-left:18px!important;background:#FBF6F1}
header.v1h .product-category-content a.is-cur::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:#FE5000}
header.v1h .product-category-content a.is-cur strong{color:#FE5000}
header.v1h .product-category-content a.directory-all.is-cur{background:none;color:#FE5000}
header.v1h .product-category-content a.directory-all.is-cur::before{display:none}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a.is-cur{position:relative;color:#FE5000!important;background:#FBF6F1}
header.v1h:is(header) #nav > details.nav-product > .mega-menu:not(.product-directory) a.is-cur::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:#FE5000}
@media (max-width:1248px){
  header.v1h .product-category-tabs button.has-cur::after{top:12px;right:0;margin-top:0}
  header.v1h:is(header) #nav.open > a.mobile-nav-action.is-cur{color:#FE5000;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}
}
/* v2 · 2026-09-29 · designer: no dropdown caret on desktop nav items (mobile drawer keeps its indicator) */
@media (min-width: 1248px){header.v1h:is(header) .nav-product > summary::after{content:none!important;display:none!important}}
/* v2 · 2026-09-29 · designer: no dropdown carets anywhere (mobile drawer + language switch) */
header.v1h:is(header) .nav-product > summary::after,header.v1h:is(header) #nav > details.nav-product > summary::after{content:none!important;display:none!important}
header.v1h .lang-switch > summary svg{display:none!important}

/* footer.css */
/* KONST site footer (v2 redesign). Warm, calm, orange accent; 12-column grid; every value a multiple of 3.
   Markup: FOOTER in _build/core.py. Class prefix kf- (no overlap with the old .site-footer / .footer-* rules). */
.kf{--kf-ink:#141210;--kf-body:#4A463F;--kf-muted:#65686A;--kf-line:#E6E3DD;--kf-warm:#F6F5F2;--kf-orange:#FE5000;
  background:var(--kf-warm);color:var(--kf-body);font:400 15px/1.8 "TASA Orbiter","vivo Sans TC","PingFang TC","Noto Sans TC",sans-serif;letter-spacing:0;
  padding:48px 0 30px;border-top:3px solid var(--kf-orange);position:relative}
.kf a{color:inherit;text-decoration:none;transition:color .15s ease}
.kf a:hover{color:var(--kf-orange)}
.kf :focus-visible{outline:2px solid var(--kf-orange);outline-offset:3px;border-radius:3px}

/* CTA band */
.kf-cta{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;background:#fff;border:1px solid var(--kf-line);border-radius:18px;padding:30px 36px}
.kf-cta-t{grid-column:1/8;display:grid;gap:6px}
.kf-k{margin:0;display:inline-flex;align-items:center;gap:9px;font-size:12px;line-height:1.4;font-weight:500;color:var(--kf-muted);text-transform:uppercase}
.kf-k::before{content:"";width:6px;height:6px;background:var(--kf-orange);flex:none}
.kf-cta-h{margin:0;font-size:27px;line-height:1.35;font-weight:500;color:var(--kf-ink)}
.kf-cta-a{grid-column:8/13;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 24px}
.kf-btn{display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 24px;border-radius:999px;background:var(--kf-orange);color:#fff!important;font-weight:500;white-space:nowrap;transition:background .2s ease}
.kf-btn:hover{background:#DB480B}
.kf-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kf-mail{color:var(--kf-ink);border-bottom:1px solid var(--kf-line);padding-bottom:3px;justify-self:start}

/* main grid: brand 1-3 · explore 4-5 · resources 6-7 · stakeholders 8-9 · offices 10-12 */
.kf-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:36px;margin-top:60px}
.kf-brand{grid-column:1/4;display:grid;gap:12px;align-content:start}
.kf-brand img{height:24px;width:auto;display:block}
.kf-tag{margin:6px 0 0;font-size:18px;line-height:1.5;color:var(--kf-ink);font-weight:500}
.kf-en{margin:0;font-size:12px;line-height:1.6;color:var(--kf-muted)}
.kf-trust{display:flex;align-items:center;gap:24px;margin-top:15px}
.kf-iso{width:42px;height:42px;display:block;opacity:.85}
.kf-social{display:flex;gap:9px}
.kf-social a{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#fff;border:1px solid var(--kf-line);transition:border-color .15s ease,background .15s ease}
.kf-social span{display:block;width:18px;height:18px;background:var(--kf-ink);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;transition:background .15s ease}
.kf-social a:hover{border-color:var(--kf-orange)}
.kf-social a:hover span{background:var(--kf-orange)}
.kf-col{display:grid;gap:6px;align-content:start}
.kf-col>a{color:var(--kf-ink);justify-self:start}
.kf-map{grid-column:4/6}
.kf-res{grid-column:6/8}
.kf-stake{grid-column:8/10}
.kf-offices{grid-column:10/13;gap:15px}
.kf-h{margin:0 0 9px;font-size:12px;line-height:1.4;font-weight:500;color:var(--kf-muted)}
.kf-office h3{margin:0 0 3px;font-size:12px;line-height:1.5;font-weight:500;color:var(--kf-orange)}
.kf-office p{margin:0;color:var(--kf-body);font-size:15px;line-height:1.8}
.kf-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:48px;padding-top:21px;border-top:1px solid var(--kf-line);font-size:12px;color:var(--kf-muted)}
.kf-legal{display:flex;flex-wrap:wrap;gap:6px 24px}

@media (max-width:1260px){
  .kf-brand{grid-column:1/-1}
  .kf-map{grid-column:1/4}
  .kf-res{grid-column:4/7}
  .kf-stake{grid-column:7/10}
  .kf-offices{grid-column:10/13}
}
@media (max-width:981px){
  .kf-cta-t,.kf-cta-a{grid-column:1/-1}
  .kf-cta-a{justify-content:flex-start;margin-top:18px}
  .kf-map{grid-column:1/7}
  .kf-res{grid-column:7/13}
  .kf-stake{grid-column:1/7}
  .kf-offices{grid-column:7/13}
}
@media (max-width:759px){
  .kf{padding:36px 0 24px}
  .kf-cta{padding:24px 21px;border-radius:15px;column-gap:12px}
  .kf-cta-h{font-size:21px}
  .kf-grid{column-gap:12px;row-gap:30px;margin-top:42px}
  .kf-offices{grid-column:1/-1;grid-template-columns:1fr 1fr;column-gap:12px}
  .kf-offices>.kf-h,.kf-offices>.kf-mail{grid-column:1/-1}
  .kf-col>a{min-height:36px;display:inline-flex;align-items:center}
  .kf-bottom{flex-direction:column-reverse;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.kf *{transition:none!important}}

*,*::before,*::after{letter-spacing:0!important}
main:has(section.cta) ~ footer .kf-cta,main:has(section.cta) ~ * .kf-cta{display:none}

/* pages/articles.css */
/* scoped by scripts/v4/sync-assets.mjs: articles */
/* pages_articles · blog / case studies / newsroom (page-specific additions only) */
:where(body[data-v4~="articles"]){--col:993px;--ncol:879px}
:where(body[data-v4~="articles"]) .back{display:inline-flex;font-size:15px;color:var(--muted);justify-self:start}
:where(body[data-v4~="articles"]) .back:hover{color:var(--orange)}
:where(body[data-v4~="articles"]) .article-head .in{max-width:var(--col);margin:0 auto}
:where(body[data-v4~="articles"]) .article-head.nw .in{max-width:var(--ncol)}
:where(body[data-v4~="articles"]) .art-h1{font-size:clamp(27px,3.2vw,45px);line-height:1.34}
:where(body[data-v4~="articles"]) .article-head .lead{max-width:none}
:where(body[data-v4~="articles"]) .article-cover{max-width:calc(var(--col) + 2*var(--gutter))}
:where(body[data-v4~="articles"]) .article-cover.nw{max-width:calc(var(--ncol) + 2*var(--gutter))}
:where(body[data-v4~="articles"]) .article-cover .photo{aspect-ratio:16/9}
:where(body[data-v4~="articles"]) .article-cover.nw .photo{aspect-ratio:3/2}
:where(body[data-v4~="articles"]) .art-wrap{max-width:calc(var(--col) + 2*var(--gutter))}
@media (min-width:1002px){:where(body[data-v4~="articles"]) .article{grid-template-columns:240px minmax(0,681px);justify-content:space-between;gap:48px}}
:where(body[data-v4~="articles"]) .toc a.sub{padding-left:27px;font-size:12px}
:where(body[data-v4~="articles"]) .toc{max-height:calc(100vh - 141px);overflow:auto}

/* service cards at the end of an article */
:where(body[data-v4~="articles"]) .svc{display:grid;gap:12px;margin-top:39px}
:where(body[data-v4~="articles"]) .svc .eyebrow{margin-bottom:6px}
:where(body[data-v4~="articles"]) .svc a{display:grid;grid-template-columns:45px minmax(0,1fr) 21px;gap:18px;align-items:center;padding:21px 21px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .25s,box-shadow .35s var(--ease)}
:where(body[data-v4~="articles"]) .svc a:hover{border-color:rgba(254,80,0,.35);box-shadow:0 12px 30px rgba(150,56,33,.08)}
:where(body[data-v4~="articles"]) .svc .ic{width:39px;height:39px;color:var(--orange)}
:where(body[data-v4~="articles"]) .svc .t{display:grid;gap:2px}
:where(body[data-v4~="articles"]) .svc .k{font:500 12px/1.4 var(--latin);letter-spacing:0;text-transform:uppercase;color:var(--muted)}
:where(body[data-v4~="articles"]) .svc h3{font-size:18px;line-height:1.45}
:where(body[data-v4~="articles"]) .svc p{font-size:15px;line-height:1.6}
:where(body[data-v4~="articles"]) .svc .go{color:var(--orange)} :where(body[data-v4~="articles"]) .svc .go svg{width:18px;height:18px}
:where(body[data-v4~="articles"]) .art-more{padding-block:72px var(--sec)}

/* featured card (blog, case studies, newsroom) */
:where(body[data-v4~="articles"]) .feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;margin-bottom:63px;padding-bottom:63px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="articles"]) .feat .photo{aspect-ratio:16/9}
:where(body[data-v4~="articles"]) .feat .photo img{transition:transform .8s var(--ease)}
:where(body[data-v4~="articles"]) .feat:hover .photo img{transform:scale(1.03)}
:where(body[data-v4~="articles"]) .feat .t{display:grid;gap:18px;align-content:center;justify-items:start}
:where(body[data-v4~="articles"]) .feat .m{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted)}
:where(body[data-v4~="articles"]) .feat .m b{color:var(--orange-d);font-weight:500}
:where(body[data-v4~="articles"]) .feat h2{font-size:clamp(24px,2.1vw,30px);line-height:1.42}
:where(body[data-v4~="articles"]) .feat:hover h2{color:var(--orange)}
:where(body[data-v4~="articles"]) .feat p{font-size:15px}
:where(body[data-v4~="articles"]) .case-list .feat{margin-bottom:0;padding-bottom:0;border-bottom:0}
@media (max-width:861px){:where(body[data-v4~="articles"]) .feat{grid-template-columns:1fr;gap:21px;margin-bottom:48px;padding-bottom:48px}}

:where(body[data-v4~="articles"]) .posts.blog .photo,:where(body[data-v4~="articles"]) .art-more .photo,:where(body[data-v4~="articles"]) .sec.warm .posts .photo{aspect-ratio:16/9}
:where(body[data-v4~="articles"]) .posts.blog .post p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
:where(body[data-v4~="articles"]) .posts [hidden],:where(body[data-v4~="articles"]) .feat[hidden]{display:none}
:where(body[data-v4~="articles"]) .blog-list .filters{margin-bottom:39px}

/* newsroom */
:where(body[data-v4~="articles"]) .hero-page+.wrap .press{border-top:0}
:where(body[data-v4~="articles"]) .news-body{max-width:var(--ncol);margin:0 auto;padding-block:48px 9px;font-size:18px;line-height:1.9}
:where(body[data-v4~="articles"]) .news-body .source-card{margin-top:27px}
:where(body[data-v4~="articles"]) .news-body .source-card h3{line-height:1.5}
:where(body[data-v4~="articles"]) .news-body .source-card .fine{margin-top:6px}
:where(body[data-v4~="articles"]) .news-rel .card h3{font-size:18px;line-height:1.55}
:where(body[data-v4~="articles"]) .news-rel .card .k{line-height:1.5;letter-spacing:0;text-transform:none}
@media (max-width:759px){:where(body[data-v4~="articles"]) .press{gap:9px 21px;font-size:15px}:where(body[data-v4~="articles"]) .news-body{padding-top:33px;font-size:15px}:where(body[data-v4~="articles"]) .source-card .btn{justify-self:start}}
:where(body[data-v4~="articles"]) .sh.row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:21px 39px}
:where(body[data-v4~="articles"]) .sh.row .d{justify-items:end}
:where(body[data-v4~="articles"]) .article>div{min-width:0}
@media (max-width:999px){:where(body[data-v4~="articles"]) .article{grid-template-columns:minmax(0,1fr)}}
:where(body[data-v4~="articles"]) .article-head .in>*{min-width:0;max-width:100%}
:where(body[data-v4~="articles"]) .art-h1,:where(body[data-v4~="articles"]) .feat h2,:where(body[data-v4~="articles"]) .post h3,:where(body[data-v4~="articles"]) .source-card h3,:where(body[data-v4~="articles"]) .prose h2,:where(body[data-v4~="articles"]) .prose h3,:where(body[data-v4~="articles"]) .svc h3,:where(body[data-v4~="articles"]) .news-rel h3{overflow-wrap:break-word}
@media (max-width:759px){:where(body[data-v4~="articles"]) .art-h1,:where(body[data-v4~="articles"]) .feat h2,:where(body[data-v4~="articles"]) .post h3,:where(body[data-v4~="articles"]) .source-card h3,:where(body[data-v4~="articles"]) .prose h2,:where(body[data-v4~="articles"]) .prose h3,:where(body[data-v4~="articles"]) .svc h3,:where(body[data-v4~="articles"]) .news-rel h3{overflow-wrap:anywhere}}
@media (max-width:759px){:where(body[data-v4~="articles"]) .prose .tbl table{min-width:639px}:where(body[data-v4~="articles"]) .prose .tbl th:first-child,:where(body[data-v4~="articles"]) .prose .tbl td:first-child{min-width:96px}}









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

/* end-of-article spacing (2026-09-28): the source card / service cards get a full section of air before the next block.
   News: the grey MORE NEWS band starts var(--sec) below the last card. Blog / case study: KEEP READING sits below a
   hairline, with generous space on both sides of it. */
:where(body[data-v4~="articles"]) .news-body{padding-bottom:var(--sec)}
:where(body[data-v4~="articles"]) .art-more{position:relative;margin-top:72px;padding-block:96px var(--sec)}
@media (max-width:759px){:where(body[data-v4~="articles"]) .art-more{margin-top:48px;padding-top:72px}}
:where(body[data-v4~="articles"]) .art-more::before{content:"";position:absolute;top:0;left:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));right:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));height:1px;background:var(--line)}

/* article typesetting (2026-09-29, STYLE-GUIDE 2.2): reading measure, CJK line-break rules, card system for the end-of-article blocks */
:where(body[data-v4~="articles"]) .prose{max-width:38em}                                   /* 18px x 38em = 684px: 36 to 38 CJK characters per line, also when the TOC column drops out */
:where(body[data-v4~="articles"]) .prose :is(p,li,td,th,blockquote,figcaption),:where(body[data-v4~="articles"]) .article-head .lead,:where(body[data-v4~="articles"]) .news-body p{text-wrap:pretty;line-break:strict;word-break:normal;overflow-wrap:break-word;hanging-punctuation:none}
@media (max-width:759px){:where(body[data-v4~="articles"]) .prose :is(p,li,blockquote,figcaption),:where(body[data-v4~="articles"]) .article-head .lead,:where(body[data-v4~="articles"]) .news-body p{overflow-wrap:anywhere}}
:where(body[data-v4~="articles"]) .prose p+p{margin-top:1.1em}
:where(body[data-v4~="articles"]) .prose li>p{margin:0}
:where(body[data-v4~="articles"]) .prose .tbl th,:where(body[data-v4~="articles"]) .prose .tbl td{text-wrap:pretty}
:where(body[data-v4~="articles"]) .prose .tbl :is(th,td):first-child{min-width:6.6em}
:where(body[data-v4~="articles"]) .prose h2+*,:where(body[data-v4~="articles"]) .prose h3+*{margin-top:.8em}
:where(body[data-v4~="articles"]) .toc a{text-wrap:balance;line-break:strict}
/* end-of-article service links: no wrapping panel, each link is one neutral card (no border), like every other card on the site */
:where(body[data-v4~="articles"]) main .article .svc,:where(body[data-v4~="articles"]) main .news-body .svc{gap:12px;background:none!important;border-radius:0!important;padding:0!important;min-height:0!important;margin-top:var(--line-gap)}
:where(body[data-v4~="articles"]) main .article .svc a,:where(body[data-v4~="articles"]) main .news-body .svc a{border:0;background:#F6F5F2;border-radius:21px;padding:27px 30px;box-shadow:none}
:where(body[data-v4~="articles"]) main .article .svc a:hover,:where(body[data-v4~="articles"]) main .news-body .svc a:hover{background:#EFEDE9;box-shadow:none}
@media (max-width:759px){:where(body[data-v4~="articles"]) main .article .svc a,:where(body[data-v4~="articles"]) main .news-body .svc a{padding:24px 21px;grid-template-columns:39px minmax(0,1fr) 18px;gap:15px}}
/* 2026-09-29 · tables: fixed layout so no column collapses; first column a readable label width */
:where(body[data-v4~="articles"]) .prose .tbl table{table-layout:fixed;width:100%}
:where(body[data-v4~="articles"]) .prose .tbl :is(th,td):first-child{width:22%;min-width:0}
:where(body[data-v4~="articles"]) .prose .tbl :is(th,td){word-break:normal;overflow-wrap:break-word;line-break:strict;vertical-align:top}
@media (max-width:759px){:where(body[data-v4~="articles"]) .prose .tbl table{min-width:639px}:where(body[data-v4~="articles"]) .prose .tbl :is(th,td):first-child{width:117px}}
@media (max-width:759px){:where(body[data-v4~="articles"]) .prose .tbl table:not(:has(tr > :nth-child(4))){min-width:0!important}:where(body[data-v4~="articles"]) .prose .tbl table:not(:has(tr > :nth-child(3))) :is(th,td):first-child{width:36%}}

/* pages/compute-detail.css */
/* scoped by scripts/v4/sync-assets.mjs: compute-detail */
/* compute-detail: /compute/<site>/ 機房詳細規格頁 (pages_compute.site_page) */
:where(body[data-v4~="compute-detail"]) .num{font-family:var(--latin);font-variant-numeric:tabular-nums}
:where(body[data-v4~="compute-detail"]) .cd-ln{display:block}
:where(body[data-v4~="compute-detail"]) .cd-ln.muted{color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-a{color:var(--ink);border-bottom:1px solid var(--line-2);transition:color .2s,border-color .2s}
:where(body[data-v4~="compute-detail"]) .cd-a:hover{color:var(--orange);border-color:var(--orange)}

/* ---- hero ---- */
:where(body[data-v4~="compute-detail"]) .cd-hero{position:relative;overflow:hidden;padding-block:72px 0}
:where(body[data-v4~="compute-detail"]) .cd-hero .hero-lines{position:absolute;right:-60px;top:-30px;width:420px;height:auto;opacity:.05;pointer-events:none}
:where(body[data-v4~="compute-detail"]) .cd-hero .wrap{position:relative;z-index:1}
:where(body[data-v4~="compute-detail"]) .cd-hero .row{align-items:end}
:where(body[data-v4~="compute-detail"]) .cd-tag{display:flex;flex-wrap:wrap;align-items:center;gap:9px 15px;font-size:15px;color:var(--body)}
:where(body[data-v4~="compute-detail"]) .cd-tag .chip{font:500 12px/1 var(--latin)}
:where(body[data-v4~="compute-detail"]) .cd-st{display:inline-flex;align-items:center;gap:9px;font-size:15px;color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-st i{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(254,80,0,.15)}
:where(body[data-v4~="compute-detail"]) .cd-facts{margin:0;border-top:1.5px solid var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-facts>div{display:grid;grid-template-columns:111px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
:where(body[data-v4~="compute-detail"]) .cd-facts dt{font-size:12px;line-height:1.75;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-facts dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:57px;border-top:1px solid var(--line)}
:where(body[data-v4~="compute-detail"]) .cd-figs>div{display:grid;gap:9px;align-content:start;padding:30px 24px 36px;border-left:1px solid var(--line)}
:where(body[data-v4~="compute-detail"]) .cd-figs>div:first-child{border-left:0;padding-left:0}
:where(body[data-v4~="compute-detail"]) .cd-figs .v{font:500 clamp(33px,3.4vw,48px)/1 var(--latin);color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-figs .v small{font-size:.5em;margin-left:3px;color:var(--body)}
:where(body[data-v4~="compute-detail"]) .cd-figs .v.sm{font-size:clamp(21px,1.9vw,27px);line-height:1.2}
:where(body[data-v4~="compute-detail"]) .cd-figs .l{font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-figs .s{font-size:12px;color:var(--body);font-family:var(--latin);font-variant-numeric:tabular-nums}

/* ---- spec sheet + pricing ---- */
:where(body[data-v4~="compute-detail"]) .cd-spec{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:start}
:where(body[data-v4~="compute-detail"]) .cd-sheet{display:grid;gap:0;border-top:1.5px solid var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-grp{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--line-2)}
:where(body[data-v4~="compute-detail"]) .cd-gh{display:grid;gap:6px;align-content:start;font-size:15px;line-height:1.4;color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-gh span{font:500 12px/1 var(--latin);color:var(--orange-d)}
:where(body[data-v4~="compute-detail"]) .cd-grp dl{margin:0;display:grid}
:where(body[data-v4~="compute-detail"]) .cd-grp dl>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:12px 0;border-top:1px solid var(--line)}
:where(body[data-v4~="compute-detail"]) .cd-grp dl>div:first-child{border-top:0;padding-top:0}
:where(body[data-v4~="compute-detail"]) .cd-grp dl>div:last-child{padding-bottom:0}
:where(body[data-v4~="compute-detail"]) .cd-grp dt{font-size:12px;line-height:1.9;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-grp dd{margin:0;font-size:15px;line-height:1.7;color:var(--ink);font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
:where(body[data-v4~="compute-detail"]) .cd-tags{display:flex;flex-wrap:wrap;gap:6px}
:where(body[data-v4~="compute-detail"]) .cd-note{margin-top:18px}

:where(body[data-v4~="compute-detail"]) .cd-price{position:sticky;top:111px}
:where(body[data-v4~="compute-detail"]) .cd-price-in{display:grid;gap:18px;padding:30px 27px;border-radius:var(--r);background:var(--warm)}
:where(body[data-v4~="compute-detail"]) .cd-amt{display:grid;gap:6px}
:where(body[data-v4~="compute-detail"]) .cd-rent{font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-amt b{font:500 clamp(42px,4vw,57px)/1 var(--latin);color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-unit{font-size:12px;color:var(--body)}
:where(body[data-v4~="compute-detail"]) .cd-pr{display:grid;gap:6px;padding-top:15px;border-top:1px solid var(--line-2)}
:where(body[data-v4~="compute-detail"]) .cd-pr .l{font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-pr .v{font-size:15px;line-height:1.6;color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-terms{display:flex;flex-wrap:wrap;gap:6px}
:where(body[data-v4~="compute-detail"]) .cd-term{display:inline-flex;align-items:baseline;gap:3px;height:33px;align-items:center;padding:0 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--body)}
:where(body[data-v4~="compute-detail"]) .cd-term b{font-size:15px;font-weight:500;color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-act{display:grid;gap:9px;padding-top:6px}
:where(body[data-v4~="compute-detail"]) .cd-act .btn{justify-content:center;width:100%}
:where(body[data-v4~="compute-detail"]) .cd-copy{background:#fff}

/* ---- delivery + location ---- */
:where(body[data-v4~="compute-detail"]) .cd-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:21px}
:where(body[data-v4~="compute-detail"]) .cd-panel{display:flex;flex-direction:column;gap:18px;background:#fff;border-radius:var(--r);padding:33px 30px}
:where(body[data-v4~="compute-detail"]) .cd-panel>.fine:last-child{margin-top:auto}
:where(body[data-v4~="compute-detail"]) .cd-tl{list-style:none;margin:6px 0 0;padding:0;display:grid;position:relative}
:where(body[data-v4~="compute-detail"]) .cd-tl::before{content:"";position:absolute;left:6px;top:24px;bottom:24px;width:1.5px;background:var(--line-2)}
:where(body[data-v4~="compute-detail"]) .cd-tl li{position:relative;display:grid;grid-template-columns:36px 72px minmax(0,1fr);gap:0 12px;align-items:baseline;padding:18px 0 18px 33px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--body)}
:where(body[data-v4~="compute-detail"]) .cd-tl li:last-child{border-bottom:0}
:where(body[data-v4~="compute-detail"]) .cd-tl .dot{position:absolute;left:0;top:24px;width:12px;height:12px;border-radius:50%;background:#fff;border:1.5px solid var(--line-2)}
:where(body[data-v4~="compute-detail"]) .cd-tl li.on .dot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 3px rgba(254,80,0,.15)}
:where(body[data-v4~="compute-detail"]) .cd-tl .st{font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-tl b{font-size:18px;font-weight:500;line-height:1.3;color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-tl .nt{color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-tl li.on .st{color:var(--orange-d)}

:where(body[data-v4~="compute-detail"]) .cd-loc{display:grid;gap:15px}
:where(body[data-v4~="compute-detail"]) .cd-map{width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;background:var(--warm)}
:where(body[data-v4~="compute-detail"]) .cd-map .land{fill:none;stroke:#CFCAC2;stroke-width:3.6;stroke-linecap:round}
:where(body[data-v4~="compute-detail"]) .cd-map .o{fill:var(--muted);opacity:.55}
:where(body[data-v4~="compute-detail"]) .cd-map .pin{fill:var(--orange);stroke:#fff;stroke-width:2}
:where(body[data-v4~="compute-detail"]) .cd-map .halo{fill:var(--orange);opacity:.16;transform-box:fill-box;transform-origin:center;animation:cdPulse 2.8s var(--ease) infinite}
:where(body[data-v4~="compute-detail"]) .cd-map text{font:500 15px/1 var(--font);fill:var(--ink);paint-order:stroke;stroke:var(--warm);stroke-width:6px;stroke-linejoin:round}
@keyframes cdPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@media (prefers-reduced-motion:reduce){:where(body[data-v4~="compute-detail"]) .cd-map .halo{animation:none}}
:where(body[data-v4~="compute-detail"]) .cd-mini{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px 18px}
:where(body[data-v4~="compute-detail"]) .cd-mini>div{display:grid;gap:3px}
:where(body[data-v4~="compute-detail"]) .cd-mini dt{font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-mini dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}

/* ---- comparison table ---- */
:where(body[data-v4~="compute-detail"]) .cd-cmp{min-width:900px!important;font-variant-numeric:tabular-nums}
:where(body[data-v4~="compute-detail"]) .cd-cmp th,:where(body[data-v4~="compute-detail"]) .cd-cmp td{font-size:15px}
:where(body[data-v4~="compute-detail"]) .cd-cmp thead th{white-space:nowrap}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th{width:24%!important}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th{background:#fff!important}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th>b,:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th>span{display:block}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th>span{font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th .cd-a{font-weight:500}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th>.chip{display:inline-flex;width:auto;margin-top:6px;color:var(--orange-d);background:#fff}
:where(body[data-v4~="compute-detail"]) .cd-cmp td,:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th>*{white-space:nowrap}
:where(body[data-v4~="compute-detail"]) .cd-cmp tbody th{min-width:201px}
:where(body[data-v4~="compute-detail"]) .cd-cmp .r{text-align:right;white-space:nowrap}
:where(body[data-v4~="compute-detail"]) .cd-cmp td b{font:500 18px/1 var(--latin);color:var(--ink)}
:where(body[data-v4~="compute-detail"]) .cd-cmp tr.me>*{background:var(--tint)!important}
:where(body[data-v4~="compute-detail"]) .cd-cap{margin:-30px 0 18px}

/* ---- related ---- */
:where(body[data-v4~="compute-detail"]) .cd-alt h3{font-size:18px}
:where(body[data-v4~="compute-detail"]) .cd-alt p{font-size:15px;color:var(--body)}
:where(body[data-v4~="compute-detail"]) .cd-alt-price{display:block;margin-top:12px;font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-detail"]) .cd-alt-price b{font:500 21px/1 var(--latin);color:var(--ink);margin-right:3px}

/* ---- responsive ---- */
@media (max-width:1101px){
  :where(body[data-v4~="compute-detail"]) .cd-spec{grid-template-columns:minmax(0,1fr) 330px;gap:30px}
  :where(body[data-v4~="compute-detail"]) .cd-grp{grid-template-columns:1fr;gap:15px}
}
@media (max-width:981px){
  :where(body[data-v4~="compute-detail"]) .cd-spec{grid-template-columns:1fr}
  :where(body[data-v4~="compute-detail"]) .cd-price{position:static}
  :where(body[data-v4~="compute-detail"]) .cd-duo{grid-template-columns:1fr}
  :where(body[data-v4~="compute-detail"]) .cd-figs{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:39px}
  :where(body[data-v4~="compute-detail"]) .cd-figs>div:nth-child(3){border-left:0;padding-left:0}
  :where(body[data-v4~="compute-detail"]) .cd-figs>div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:759px){
  :where(body[data-v4~="compute-detail"]) .cd-hero{padding-top:48px}
  :where(body[data-v4~="compute-detail"]) .cd-figs>div{padding:21px 12px 24px}
  :where(body[data-v4~="compute-detail"]) .cd-grp dl>div{grid-template-columns:1fr;gap:3px}
  :where(body[data-v4~="compute-detail"]) .cd-facts>div{grid-template-columns:90px minmax(0,1fr);gap:12px}
  :where(body[data-v4~="compute-detail"]) .cd-panel{padding:27px 21px}
  :where(body[data-v4~="compute-detail"]) .cd-tl li{grid-template-columns:30px minmax(0,1fr);padding:15px 0 15px 30px}
  :where(body[data-v4~="compute-detail"]) .cd-tl .nt{grid-column:2;margin-top:3px}
  :where(body[data-v4~="compute-detail"]) .cd-price-in{padding:27px 21px}
  :where(body[data-v4~="compute-detail"]) .cd-cap{margin-top:-18px}
}

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

/* pages/compute-v1.css */
/* scoped by scripts/v4/sync-assets.mjs: compute-v1 */
/* v1 (8765) /aidc/ page (全球算力) styles for ../../compute/index.html
   Generated from the live v1 stylesheets (style.css + theme.css): every rule that styles an element of v1's
   /aidc/ <main> (hero, globe, finder, list, compare tray, dialog, toast, CTA; in every state the page's script
   produces), in the original order, with the selector scoped to :is(main#main.v1c,#main .v1c) (each rule gains the same +1,1,1,
   so the v1 cascade is unchanged and v2 site.css cannot override it). Declarations are verbatim.
   Values v1 inherits from :root/body are applied on the scope root itself.
   Used by ../../compute/index.html (<main class="... v1c">) and by the home 全球算力 list (<div class="v1c"> wrapping .network-atlas). Do not hand-edit; re-extract. */


@property --edge-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
/* ---- neutralise v2 rules that would otherwise reach in here (site.css / v35.css / page css), generated from a leak scan ---- */
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){text-rendering:auto;-webkit-font-smoothing:auto;-webkit-text-size-adjust:auto;text-size-adjust:auto;-webkit-tap-highlight-color:rgba(0,0,0,.4)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(img),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(svg){max-width:revert;display:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(a){color:revert;text-decoration-line:revert;text-decoration-thickness:revert;text-decoration-style:revert;text-decoration-color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(button){font-style:revert;font-variant-ligatures:revert;font-variant-caps:revert;font-variant-numeric:revert;font-variant-east-asian:revert;font-variant-alternates:revert;font-variant-position:revert;font-variant-emoji:revert;font-weight:revert;font-stretch:revert;font-size:revert;line-height:revert;font-family:revert;font-optical-sizing:revert;font-size-adjust:revert;font-kerning:revert;font-feature-settings:revert;font-variation-settings:revert;font-language-override:revert;color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(h1),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(h2),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(h3),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(h4){color:revert;margin-top:revert;margin-right:revert;margin-bottom:revert;margin-left:revert;font-weight:revert;text-wrap-mode:revert;text-wrap-style:revert;word-break:revert;line-break:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(p){margin-top:revert;margin-right:revert;margin-bottom:revert;margin-left:revert;text-wrap-mode:revert;text-wrap-style:revert;line-break:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(:focus-visible){outline-color:revert;outline-style:revert;outline-width:revert;outline-offset:revert;border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.eyebrow){display:revert;align-items:revert;row-gap:revert;column-gap:revert;font-style:revert;font-variant-ligatures:revert;font-variant-caps:revert;font-variant-numeric:revert;font-variant-east-asian:revert;font-variant-alternates:revert;font-variant-position:revert;font-variant-emoji:revert;font-weight:revert;font-stretch:revert;font-size:revert;line-height:revert;font-family:revert;font-optical-sizing:revert;font-size-adjust:revert;font-kerning:revert;font-feature-settings:revert;font-variation-settings:revert;font-language-override:revert;text-transform:revert;color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.eyebrow)::before{content:revert;width:revert;height:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;flex-grow:revert;flex-shrink:revert;flex-basis:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.lead){font-size:revert;line-height:revert;color:revert;max-width:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.small){font-size:revert;line-height:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.chip){display:revert;align-items:revert;height:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert;border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;font-size:revert;color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(h1),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(h2){font-weight:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder){position:revert;z-index:revert;margin-top:revert;margin-right:revert;margin-bottom:revert;margin-left:revert;max-width:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert;box-shadow:revert;display:revert;grid-template-columns:revert;row-gap:revert;column-gap:revert;align-items:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder label){display:revert;row-gap:revert;column-gap:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert;border-right-width:revert;border-right-style:revert;border-right-color:revert;font-size:revert;color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder label:nth-of-type(3)){border-right-width:revert;border-right-style:revert;border-right-color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder select){border-top-width:revert;border-right-width:revert;border-bottom-width:revert;border-left-width:revert;border-top-style:revert;border-right-style:revert;border-bottom-style:revert;border-left-style:revert;border-top-color:revert;border-right-color:revert;border-bottom-color:revert;border-left-color:revert;border-image-source:revert;border-image-slice:revert;border-image-width:revert;border-image-outset:revert;border-image-repeat:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;font-style:revert;font-variant-ligatures:revert;font-variant-caps:revert;font-variant-numeric:revert;font-variant-east-asian:revert;font-variant-alternates:revert;font-variant-position:revert;font-variant-emoji:revert;font-weight:revert;font-stretch:revert;font-size:revert;line-height:revert;font-family:revert;font-optical-sizing:revert;font-size-adjust:revert;font-kerning:revert;font-feature-settings:revert;font-variation-settings:revert;font-language-override:revert;color:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert;appearance:revert;cursor:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder){border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert;grid-template-columns:revert;margin-top:revert;margin-right:revert;margin-bottom:revert;margin-left:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder label){border-right-width:revert;border-right-style:revert;border-right-color:revert;border-bottom-width:revert;border-bottom-style:revert;border-bottom-color:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.fine),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.eyebrow){color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder){grid-template-columns:revert;max-width:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder label:nth-of-type(2)){border-right-width:revert;border-right-style:revert;border-right-color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder){background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;border-top-width:revert;border-right-width:revert;border-bottom-width:revert;border-left-width:revert;border-top-style:revert;border-right-style:revert;border-bottom-style:revert;border-left-style:revert;border-top-color:revert;border-right-color:revert;border-bottom-color:revert;border-left-color:revert;border-image-source:revert;border-image-slice:revert;border-image-width:revert;border-image-outset:revert;border-image-repeat:revert;backdrop-filter:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.glass),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.hc-copy .d){backdrop-filter:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(a),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(button),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(summary),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(select),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(label),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where([role="tab"]){touch-action:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(:focus-visible){outline-color:revert;outline-style:revert;outline-width:revert;outline-offset:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.field input:not([type="checkbox"])),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.field select),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.field textarea),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.filters select),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder select){font-size:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-stage){position:revert;height:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert;overflow-x:revert;overflow-y:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-surface){position:revert;top:revert;left:revert;width:revert;height:revert;transform:revert;cursor:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-surface canvas){width:revert;height:revert;display:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(#globe-markers){position:revert;top:revert;right:revert;bottom:revert;left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin){position:revert;width:revert;height:revert;border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;border-top-width:revert;border-right-width:revert;border-bottom-width:revert;border-left-width:revert;border-top-style:revert;border-right-style:revert;border-bottom-style:revert;border-left-style:revert;border-top-color:revert;border-right-color:revert;border-bottom-color:revert;border-left-color:revert;border-image-source:revert;border-image-slice:revert;border-image-width:revert;border-image-outset:revert;border-image-repeat:revert;color:revert;font-style:revert;font-variant-ligatures:revert;font-variant-caps:revert;font-variant-numeric:revert;font-variant-east-asian:revert;font-variant-alternates:revert;font-variant-position:revert;font-variant-emoji:revert;font-weight:revert;font-stretch:revert;font-size:revert;line-height:revert;font-family:revert;font-optical-sizing:revert;font-size-adjust:revert;font-kerning:revert;font-feature-settings:revert;font-variation-settings:revert;font-language-override:revert;display:revert;align-items:revert;justify-items:revert;cursor:revert;transform:revert;transition-behavior:revert;transition-duration:revert;transition-timing-function:revert;transition-delay:revert;transition-property:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin small){position:revert;top:revert;left:revert;transform:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;color:revert;font-size:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert;border-top-left-radius:revert;border-top-right-radius:revert;border-bottom-right-radius:revert;border-bottom-left-radius:revert;white-space-collapse:revert;text-wrap-mode:revert;opacity:revert;pointer-events:revert;transition-behavior:revert;transition-duration:revert;transition-timing-function:revert;transition-delay:revert;transition-property:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin:hover small),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin:focus-visible small){opacity:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin:hover),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin.selected),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-pin.active){background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-footer){position:revert;left:revert;right:revert;bottom:revert;display:revert;justify-content:revert;align-items:revert;font-size:revert;color:revert;z-index:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-footer button){background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;border-top-width:revert;border-right-width:revert;border-left-width:revert;border-top-style:revert;border-right-style:revert;border-left-style:revert;border-top-color:revert;border-right-color:revert;border-left-color:revert;border-image-source:revert;border-image-slice:revert;border-image-width:revert;border-image-outset:revert;border-image-repeat:revert;border-bottom-width:revert;border-bottom-style:revert;border-bottom-color:revert;font-size:revert;color:revert;cursor:revert;padding-top:revert;padding-right:revert;padding-bottom:revert;padding-left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-note){position:revert;left:revert;bottom:revert;font-size:revert;color:revert;z-index:revert;margin-top:revert;margin-right:revert;margin-bottom:revert;margin-left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-stage){height:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-surface){width:revert;height:revert;top:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-surface canvas){width:revert;height:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.globe-note){display:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.lead){font-size:revert;line-height:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.atlas-hero){position:revert;background-image:revert;background-position-x:revert;background-position-y:revert;background-size:revert;background-repeat:revert;background-attachment:revert;background-origin:revert;background-clip:revert;background-color:revert;height:revert;overflow-x:revert;overflow-y:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.atlas-hero .globe-surface){top:revert;left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.atlas-hero){height:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.atlas-hero .globe-surface){left:revert}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.glass),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.hero-full .hero-kpi),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.cmp-tray),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.hc .ctrl),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) :where(.finder){backdrop-filter:revert}
/* v2 addition: rows hidden by the home list filter (site.js sets [hidden]) */
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results>article.machine[hidden][hidden][hidden]{display:none!important}

/* ---- v1 :root / body values (custom properties + inherited properties) ---- */
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--orange:#FE5000;--peach:#FFAE62;--red:#963821;--gray:#E6E4DF;--ink:#111110;--blue:#00AED6;--line:#E6E4DF}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--radius-control:15px;--radius-card:24px;--radius-panel:33px;--space-edge:clamp(24px,5vw,87px);--title-display:clamp(36px,4.3vw,63px);--title-section:clamp(27px,3vw,45px);--title-card:clamp(21px,1.6vw,27px);--text-body:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--edition-line:#E6E4DF;--edition-muted:#8A877F}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--konst-orange:#FE5000;--konst-dawn:#FFAE62;--konst-gray:#E6E4DF;--action-radius:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--radius-control:15px;--radius-card:24px;--radius-panel:33px;--space-edge:clamp(24px,5vw,87px);--title-display:clamp(36px,4.3vw,63px);--title-section:clamp(27px,3vw,45px);--title-card:clamp(21px,1.6vw,27px);--text-body:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--title-display:clamp(33px,3.2vw,45px);--title-section:clamp(24px,2.3vw,33px);--title-card:clamp(18px,1.35vw,21px);--ink-2:#111110;--muted-2:#5F5D59;--line-2:#E6E4DF;--paper:#F3F2EF}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--gutter:90px;--space-edge:90px;--grid-gap:24px}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--gutter:39px;--space-edge:39px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--gutter:21px;--space-edge:21px}}
:where(body[data-v4~="compute-v1"]) :where(*) :is(main#main.v1c,#main .v1c){letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--r-card:15px;--r-pill:999px;--band:#FE5000;--band-ink:#fff;--title-display:clamp(39px,4.6vw,63px);--title-section:clamp(30px,3.1vw,45px);--title-card:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--s0:#FFFFFF;--s1:#F3F2EF;--band:#FE5000;--band-soft:#FFD6B0;--ink:#111110;--ink-2:#111110;--body:#5F5D59;--muted:#8A877F;--muted-2:#8A877F;--line:#E6E4DF;--line-2:#E6E4DF;--orange:#FE5000;--peach:#FFAE62;--red:#963821;--paper:#F3F2EF;--gutter:90px;--space-edge:90px;--grid-gap:24px;--sec:120px;--r-card:15px;--r-pill:999px;--r-input:12px;--title-display:clamp(45px,5.4vw,75px);--title-section:clamp(33px,3.3vw,48px);--title-card:21px;--text-body:15px;--header-h:81px}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--gutter:39px;--space-edge:39px;--sec:87px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--gutter:21px;--space-edge:21px;--sec:63px}}
:where(body[data-v4~="compute-v1"]) :where(*) :is(main#main.v1c,#main .v1c){letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--title-display:clamp(39px,4.8vw,63px)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--s0:#F3F2EF;--s1:#FFFFFF;--paper:#F3F2EF;--card:#FFFFFF;--line:#DEDDD9;--line-2:#DEDDD9;--glow:#FFC9AE}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--title-display:clamp(36px,3.6vw,51px);--title-section:clamp(27px,2.6vw,39px);--title-card:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--s0:#FFFFFF;--s1:#F3F2EF;--paper:#F3F2EF;--line:#E6E4DF;--line-2:#E6E4DF;--glass:rgba(255,255,255,.72);--glass-line:rgba(255,255,255,.85)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--content-max:1281px}
@media (min-width: 1461px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--gutter:max(90px,calc((100vw - var(--content-max))/2))}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--sec:150px;--grid-gap:33px}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--sec:105px;--grid-gap:24px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){--sec:72px;--grid-gap:21px}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){color:var(--ink);font-family:Tasa,Vivo,sans-serif;font-size:15px;line-height:1.5}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){letter-spacing:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){color:var(--ink-2);line-height:1.75}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){font-size:15px;line-height:1.7}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c){color:var(--ink)!important;font-size:15px!important;line-height:1.7!important}
/* ---- v1 rules (theme.css + style.css order) ---- */
:where(body[data-v4~="compute-v1"]) *#main.v1c:is(main),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) *{box-sizing:border-box}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) a{color:inherit;text-decoration:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{font:inherit}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) a,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{touch-action:manipulation}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button{cursor:pointer}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) a,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{outline-offset:6px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) a:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select:focus-visible{outline:2px solid var(--red)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button{color:inherit}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 24px;border:0;border-radius:3px;font-size:15px;font-weight:500;transition:background .2s,transform .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:hover{transform:translateY(-2px)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .dark{background:var(--ink);color:white}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .dark:hover{background:var(--red)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .small{padding:12px 18px;gap:18px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button span{font-size:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow{font-size:12px;font-weight:500;letter-spacing:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1{font-size:clamp(42px,4.3vw,69px);line-height:1.2;font-weight:500;letter-spacing:0;margin:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{margin:0 5%;padding:30px 0 36px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 3.1fr;gap:30px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) form#search{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;align-items:center}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #search label{font-size:12px;color:#555;border-left:1px solid var(--line);padding:0 21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{display:block;width:100%;min-height:33px;border:0;background:transparent;color:var(--ink);font-size:15px;margin-top:6px;padding-right:18px}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{grid-template-columns:1fr}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1{font-size:39px;line-height:1.25}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{margin:0 6%;padding:24px 0}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) form#search{grid-template-columns:1fr 1fr;gap:21px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #search label{padding:0 9px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #search button{padding:12px;min-height:60px}}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) *#main.v1c:is(main),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) *,:where(body[data-v4~="compute-v1"]) #main.v1c:is(main)::before,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) ::before,:where(body[data-v4~="compute-v1"]) #main.v1c:is(main)::after,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) ::after{animation:none!important;transition:none!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:99px 5%}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:45px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{margin-top:0;color:var(--red)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2{font-size:clamp(30px,3.1vw,48px);font-weight:500;line-height:1.25;letter-spacing:0;margin:15px 0 0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .subtle{color:#77716d}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{max-width:381px;color:#68635f;font-size:15px;line-height:1.7}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin{cursor:pointer;outline:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin circle{transition:r .2s,fill .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin:hover circle,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin:focus circle{r:8;fill:var(--red)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin.selected circle{fill:var(--red);stroke:var(--peach);stroke-width:5}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin text{font-family:Tasa,Vivo,sans-serif;paint-order:stroke;stroke:#F3F2EF;stroke-width:3px;fill:#5a3424;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin.dim{opacity:.16}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar{display:flex;align-items:center;justify-content:space-between;margin:36px 0 21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chips{display:flex;gap:9px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip{border:1px solid var(--line);background:white;border-radius:3px;padding:9px 18px;font-size:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip.active{background:var(--ink);border-color:var(--ink);color:white}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #result-count{font-size:15px;color:#6f6965}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine{border:1px solid var(--line);padding:24px;transition:border .2s,background .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine:hover{border-color:var(--orange);background:#fffdfb}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine h3{font-size:27px;font-weight:500;margin:21px 0 6px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .fineprint{font-size:12px;color:#716d68;line-height:1.65;max-width:960px;margin-top:24px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .empty{grid-column:1/-1;background:#F3F2EF;padding:45px;text-align:center}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .empty p{color:#746e67}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .empty button{border:0;background:var(--ink);color:white;padding:12px 21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray{position:fixed;z-index:35;bottom:21px;left:50%;transform:translateX(-50%);padding:15px 21px;background:white;box-shadow:0 6px 36px #0003;border:1px solid #ddd;display:flex;gap:24px;align-items:center;border-radius:6px;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray[hidden]{display:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray > span{font-size:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray > button:not(.button){border:0;background:none;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray button:disabled{opacity:.4;cursor:not-allowed}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog{border:0;border-radius:6px;padding:45px;max-width:861px;width:calc(100% - 39px);max-height:85vh;overflow:auto;box-shadow:0 21px 81px #0004}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog::backdrop{background:#17120eb3;backdrop-filter:blur(6px)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:30px;width:39px;height:39px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog h2{font-size:30px;margin-bottom:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog table{border-collapse:collapse;width:100%;font-size:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog td{padding:12px 9px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog th{font-weight:500;background:#F3F2EF;width:25%}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .dialog-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .outline{background:white;border:1px solid var(--line)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);z-index:60;background:#111110;color:white;padding:12px 21px;border-radius:3px;max-width:90%;font-size:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .reveal{animation:appear .7s ease both}
@media (max-width: 1050px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 1050px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{max-width:309px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:66px 6%}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{display:block;margin-bottom:30px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{margin-top:21px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2{font-size:30px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar{align-items:flex-start;gap:9px;flex-direction:column}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip{padding:9px 12px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar > p{margin:0}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results{grid-template-columns:1fr}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine{padding:21px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray{bottom:12px;gap:15px;padding:12px;max-width:calc(100% - 21px)}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray > span{font-size:12px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray .button{font-size:12px;padding:9px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compare-tray > button:not(.button){font-size:12px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog{padding:39px 18px 24px;width:calc(100% - 21px)}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog table{font-size:12px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog td{padding:9px 6px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) dialog h2{font-size:24px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .map-pin text{font-size:15px}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .more-results{text-align:center;margin-top:27px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .more-results button[hidden]{display:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .motion-ready{opacity:.15;transform:translateY(21px);transition:opacity .8s ease,transform .8s ease}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .motion-ready.in-view{opacity:1;transform:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--orange);z-index:50;width:var(--progress,0%);pointer-events:none}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .motion-ready{opacity:1;transform:none}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.small,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{border-radius:var(--radius-control)!important}
@supports (corner-shape:squircle){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{corner-shape:squircle}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder button[type="submit"]{background:#FE5000!important;border-color:#FE5000!important;color:white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark:hover{background:#dd4700!important;border-color:#dd4700!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline{background:linear-gradient(140deg,#ffffffd9,#f0f1f3a6)!important;backdrop-filter:blur(15px);border:1px solid #E6E4DF!important;color:#24282a!important;box-shadow:inset 0 1px 0 #fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{border-radius:var(--radius-panel)!important;background:radial-gradient(ellipse at 90% 130%,#FE500080,transparent 55%),linear-gradient(125deg,#141a1e,#303d45 55%,#12181d)!important;color:#fff!important;isolation:isolate;position:relative;overflow:hidden;border:1px solid #78828a!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::before{display:block!important;content:''!important;position:absolute!important;inset:0!important;background:repeating-linear-gradient(115deg,transparent 0 117px,#ffffff09 120px,transparent 120px)!important;opacity:1!important;pointer-events:none;z-index:-1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::after{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta p{color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button{color:#20282c!important;background:linear-gradient(140deg,#fff,#d6dce0)!important;border:1px solid white!important;box-shadow:inset 0 1px 0 white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button:hover{border-color:#FE5000!important;box-shadow:0 0 0 2px #FE5000!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{padding:21px 24px!important;text-align:left;border-bottom:1px solid #E6E4DF!important;vertical-align:top}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table thead th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tbody th{background:#f5f5f2!important;color:#41474a!important;font-weight:500}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{background:#fff!important;color:#202426!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child td,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child th{border-bottom:0!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{border-radius:24px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{min-height:48px}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .heading-phrase{white-space:nowrap;font:inherit;color:inherit}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .heading-phrase{white-space:normal}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::before,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::after{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:radial-gradient(ellipse at 100% 120%,#fe500060,transparent 52%),linear-gradient(125deg,#151c20,#344047 58%,#182025)!important;border:1px solid #778189!important;border-radius:var(--radius-panel)!important;isolation:isolate;min-height:321px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{content:''!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;background:repeating-linear-gradient(115deg,transparent 0 117px,#ffffff08 120px,transparent 120px)!important;z-index:-1!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{color:white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{color:white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:#e1e4e6!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{border-radius:24px!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{position:relative;overflow:hidden}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.42}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield path{fill:none;stroke:#dce5e9;stroke-width:.65;stroke-dasharray:180 780;animation:material-ray 12s linear infinite;animation-delay:calc(var(--ray)*-.8s)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield path:nth-child(3n){stroke:#FFAE62}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{position:relative;z-index:1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button{background:linear-gradient(115deg,#F3F2EF 5%,#c7d0d5 30%,#F3F2EF 48%,#b9c4cc 74%,#F3F2EF 95%)!important;background-size:240% 100%!important;background-position:30% 0!important;transition:background-position .75s ease,border-color .25s ease!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button:focus-visible{background-position:85% 0!important}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield path{animation:none;stroke-dasharray:none;opacity:.4}}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button{transition:none!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-mobile-break{display:none}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-mobile-break{display:block}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{font-size:24px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2 .heading-phrase{white-space:nowrap}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h3{font-weight:450;letter-spacing:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) p{line-height:1.85}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{border-radius:9px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{position:relative;z-index:3}
:where(body[data-v4~="compute-v1"]) .finder-page#main.v1c:is(main) .finder{margin-top:39px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .motion-ready.in-view{opacity:1;transform:none}
@media (max-width: 699px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{margin:0!important;border-radius:0!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow{font-size:12px!important}
html body:where([data-v4~="compute-v1"]) *#main.v1c:is(main),html body:where([data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) *{letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h3{text-wrap:balance;word-break:normal;overflow-wrap:normal;line-break:strict}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) p,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) td{text-wrap:pretty;line-break:strict;word-break:normal}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .keep-ending{white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .ui-line-icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.12em;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{position:relative;isolation:isolate;transition:transform .16s ease,border-color .2s ease,box-shadow .2s ease}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--edge-angle,0deg),transparent 0deg,transparent 200deg,#b7c1c9 250deg,#FE5000 295deg,transparent 350deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;opacity:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:hover::after,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:focus-visible::after,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.is-pressed::after{opacity:1;animation:cta-edge .8s ease-out 1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:active,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.is-pressed{transform:translateY(1px) scale(.985)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:focus-visible{outline:2px solid #FE5000;outline-offset:3px}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button::after{animation:none!important;transition:none!important}}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:active,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.is-pressed{transform:none}}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:focus-visible{border-color:#FE5000}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .brand-cta{margin:0;padding:0;background:#F3F2EF;color:#111110;border-top:1px solid #E6E4DF}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .explore{background:#F3F2EF}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:30px;align-items:start}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-stage{position:sticky;top:111px;min-width:0;overflow:hidden}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-surface{height:561px;position:relative;overflow:hidden;margin:0 -21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-surface canvas{width:100%;height:100%;display:block}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin{position:absolute;transform:translate(-50%,-50%);width:33px;height:33px;border:1px solid #fff;border-radius:50%;background:#292f33;color:#fff;cursor:pointer;font:12px Tasa,Vivo,sans-serif;box-shadow:0 2px 9px #121a2020;z-index:2}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin small{display:none;position:absolute;top:39px;left:50%;transform:translateX(-50%);padding:6px 9px;background:white;color:#20292d;white-space:nowrap;border-radius:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin.selected{background:#FE5000;z-index:3;outline:2px solid #fe500055;outline-offset:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin:hover small,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin:focus-visible small,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin.selected small{display:block}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin.dim{opacity:.28}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-footer{display:flex;justify-content:space-between;align-items:center;gap:21px;font-size:12px;color:#59656c;border-top:1px solid #d7dfe2;padding-top:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-footer button{background:none;border:none;font:inherit;cursor:pointer;color:#20292e}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-note{font-size:12px;color:#64717a;margin-top:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel{background:#ffffffed;border:1px solid #E6E4DF;border-radius:15px;padding:27px;box-shadow:0 9px 24px #121a2005;min-width:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading h3{font-size:21px;font-weight:450;margin:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading > span{font-size:9px;color:#8A877F}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .results-toolbar{display:block;margin:21px 0 9px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .chips{gap:6px;flex-wrap:wrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .chip{font-size:12px;padding:6px 9px;background:#fff;border-color:#E6E4DF}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .chip.active{background:#F3F2EF;border-color:#ced6db}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel #result-count{font-size:12px;color:#8A877F;margin:15px 0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .results{display:block}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{position:relative;border:0;border-top:1px solid #E6E4DF;border-radius:0;padding:21px 0;display:grid;grid-template-columns:1fr auto;gap:9px 15px;background:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine:hover{background:none;border-top-color:#FE5000}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine h3{font-size:21px;margin:2px 0;font-weight:500}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .more-results{display:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .explore > .fineprint{font-size:12px;max-width:759px;margin:27px 0 0 auto;line-height:1.8}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .empty{padding:24px 0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .brand-cta.compact-cta{padding:75px 5%;background:#fff;border:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;min-height:321px;display:grid;place-items:center;background:#181c20}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-panel::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#111923ad,#161e2566,#111923a6)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content{text-align:center;color:#fff;padding:48px 24px;max-width:849px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content h2{font-size:clamp(30px,3.4vw,48px);font-weight:450;line-height:1.3;margin:0 0 15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content h2 br{display:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content > p:not(.eyebrow){font-size:12px;margin:0 0 24px;color:#e3e6e8}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .metal-button{background:radial-gradient(ellipse at var(--metal-x,25%) 0%,#fff 0%,#edf1f4 30%,#c9d0d7 65%,#f2f5f7 100%);color:#20272d;border:1px solid #fff;border-radius:6px;box-shadow:inset 0 1px 1px #fff,0 3px 9px #0002;padding:12px 21px;min-height:45px;font-size:12px}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{gap:21px;grid-template-columns:1fr 1fr}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel{padding:21px}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-surface{height:459px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{grid-template-columns:1fr}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-stage{position:relative;top:0}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-surface{height:360px;margin:0}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-footer{font-size:12px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel{padding:21px 15px;border-radius:12px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading h3{font-size:18px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading > span{font-size:9px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine h3{font-size:21px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .brand-cta.compact-cta{padding:48px 6%}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{min-height:300px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content{padding:39px 21px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content h2{font-size:30px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-content > p:not(.eyebrow){font-size:12px;line-height:1.7}}
@media (min-width: 762px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel{height:759px;display:flex;flex-direction:column}}
@media (min-width: 762px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .results{overflow:auto;min-height:0;flex:1;padding-right:9px;scrollbar-width:thin;scrollbar-color:#c4cdd2 transparent}}
@media (min-width: 762px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .results:focus-visible{outline:2px solid #FE5000;outline-offset:3px}}
@media (min-width: 762px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .results-toolbar{flex-shrink:0}}
@media (min-width: 762px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel #result-count{margin-bottom:3px}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{background:linear-gradient(90deg,#121b22c9,#121b2255 70%,transparent)}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin{width:27px;height:27px;font-size:9px}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin small{top:33px}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:0 5vw 66px!important;max-width:none!important;width:auto!important;position:relative!important;transform:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{display:block!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas > .network-panel{width:100%;margin-top:54px;border-radius:0;box-shadow:none;border:0;background:transparent;padding:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .network-panel-heading{margin-bottom:24px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article{min-width:0;border:1px solid #d5dadd;padding:24px;border-radius:9px;background:#fff}
@media (max-width: 1248px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 900px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form{flex-wrap:wrap}}
@media (max-width: 600px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results{grid-template-columns:1fr}}
@media (max-width: 600px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas > .network-panel{margin-top:36px}}
@media (max-width: 600px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:0 6vw 45px!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{display:block!important;padding:27px 30px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr 219px;gap:24px;align-items:end}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search label{display:flex;flex-direction:column;gap:12px;min-width:0;border:0;padding:0;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search select{width:100%;min-width:0;padding:9px;border:1px solid #E6E4DF;border-radius:6px;background:white;font-size:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search .button{white-space:nowrap;min-height:45px;padding:12px 21px}
@media (max-width: 801px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search{grid-template-columns:1fr 1fr;gap:21px}}
@media (max-width: 801px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search .button{width:100%}}
@media (max-width: 429px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search{grid-template-columns:1fr}}
@media (max-width: 429px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{padding:24px 21px!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas > .network-panel{height:auto;max-height:none;display:block}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .network-panel .results{height:auto;max-height:none;min-height:0;flex:none;overflow:visible;padding:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{height:auto;max-height:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .explore{height:auto;overflow:visible}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{align-content:start}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .keep-ending{display:inline!important;font:inherit!important;color:inherit!important;letter-spacing:0!important;line-height:inherit!important;white-space:nowrap!important;margin:0!important;padding:0!important;vertical-align:baseline!important;float:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .metal-button{border-radius:var(--action-radius)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;transition:border-color .2s ease,background-color .2s ease,color .2s ease!important;border-width:1px;border-style:solid}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button::after{display:none!important;animation:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark{background:#111110;border-color:#111110;color:#fff}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline{background:#fff;border-color:#bdbdbb;color:#111110}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button{background:#fff;color:#111110;border-color:#aaaead}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.is-pressed{border-color:#FE5000!important;box-shadow:inset 0 0 0 1px #FE5000!important;transform:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:focus-visible{outline:2px solid #FE5000;outline-offset:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark:hover{background:#242424}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button:hover{background:#fffaf5}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:active{border-color:#8A877F!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:linear-gradient(115deg,#fff 0%,#fff5ec 46%,#ffd6b0 100%);border:1px solid #e9d7c5;border-radius:9px;min-height:291px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{background:none;border-top:3px solid #FE5000;inset:auto 6% 0;height:3px;z-index:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{color:#111110}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{color:#111110}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:#6c655f}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button{border-color:#8A877F;background:#fff}
@media (max-width: 699px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{min-height:279px}}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{transition:none!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.small,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{border-radius:var(--radius-control)!important}
@supports (corner-shape:squircle){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{corner-shape:squircle}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder button[type="submit"]{background:#FE5000!important;border-color:#FE5000!important;color:white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark:hover{background:#dd4700!important;border-color:#dd4700!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline{background:linear-gradient(140deg,#ffffffd9,#f0f1f3a6)!important;backdrop-filter:blur(15px);border:1px solid #E6E4DF!important;color:#24282a!important;box-shadow:inset 0 1px 0 #fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{border-radius:var(--radius-panel)!important;background:radial-gradient(ellipse at 90% 130%,#FE500080,transparent 55%),linear-gradient(125deg,#141a1e,#303d45 55%,#12181d)!important;color:#fff!important;isolation:isolate;position:relative;overflow:hidden;border:1px solid #78828a!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::before{display:block!important;content:''!important;position:absolute!important;inset:0!important;background:repeating-linear-gradient(115deg,transparent 0 117px,#ffffff09 120px,transparent 120px)!important;opacity:1!important;pointer-events:none;z-index:-1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::after{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta p{color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button{color:#20282c!important;background:linear-gradient(140deg,#fff,#d6dce0)!important;border:1px solid white!important;box-shadow:inset 0 1px 0 white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button:hover{border-color:#FE5000!important;box-shadow:0 0 0 2px #FE5000!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{padding:21px 24px!important;text-align:left;border-bottom:1px solid #E6E4DF!important;vertical-align:top}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table thead th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tbody th{background:#f5f5f2!important;color:#41474a!important;font-weight:500}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{background:#fff!important;color:#202426!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child td,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child th{border-bottom:0!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{border-radius:24px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{min-height:48px}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .heading-phrase{white-space:nowrap;font:inherit;color:inherit}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .heading-phrase{white-space:normal}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::before,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::after{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:radial-gradient(ellipse at 100% 120%,#fe500060,transparent 52%),linear-gradient(125deg,#151c20,#344047 58%,#182025)!important;border:1px solid #778189!important;border-radius:var(--radius-panel)!important;isolation:isolate;min-height:321px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{content:''!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;background:repeating-linear-gradient(115deg,transparent 0 117px,#ffffff08 120px,transparent 120px)!important;z-index:-1!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{color:white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{color:white!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:#e1e4e6!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{border-radius:24px!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{position:relative;overflow:hidden}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.42}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield path{fill:none;stroke:#dce5e9;stroke-width:.65;stroke-dasharray:180 780;animation:material-ray 12s linear infinite;animation-delay:calc(var(--ray)*-.8s)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield path:nth-child(3n){stroke:#FFAE62}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{position:relative;z-index:1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button{background:linear-gradient(115deg,#F3F2EF 5%,#c7d0d5 30%,#F3F2EF 48%,#b9c4cc 74%,#F3F2EF 95%)!important;background-size:240% 100%!important;background-position:30% 0!important;transition:background-position .75s ease,border-color .25s ease!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button:focus-visible{background-position:85% 0!important}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-lightfield path{animation:none;stroke-dasharray:none;opacity:.4}}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button{transition:none!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-mobile-break{display:none}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .cta-mobile-break{display:block}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{font-size:24px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2 .heading-phrase{white-space:nowrap}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1{font-size:var(--title-display)!important;font-weight:500!important;line-height:1.28!important;letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{font-size:var(--title-section)!important;font-weight:500!important;line-height:1.38!important;letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h3{font-size:var(--title-card)!important;font-weight:500!important;line-height:1.45!important;letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow{font-size:12px!important;font-weight:500!important;letter-spacing:0!important;line-height:1.6}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{font-size:15px!important;line-height:1.8!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{font-size:15px!important;line-height:1.7!important;padding:15px 15px!important;border-bottom:1px solid var(--line-2)!important;text-align:left;vertical-align:top}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table thead{background:#F3F2EF!important;color:var(--ink-2)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table th{font-weight:500!important;background:#F3F2EF!important;color:var(--ink-2)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:linear-gradient(118deg,#963821 0%,#c9430a 38%,#fe5000 68%,#ffae62 100%)!important;border:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{opacity:.6!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:#fff3ea!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:21px 5vw 60px!important;border:1px solid var(--line-2)!important;border-radius:15px!important;background:#fff}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:15px 6vw 39px!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:87px 5%}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:57px 6%}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) thead th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) tbody th{background:#F3F2EF!important;color:var(--ink-2)!important}
:where(body[data-v4~="compute-v1"]) *#main.v1c:is(main),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) *,:where(body[data-v4~="compute-v1"]) #main.v1c:is(main)::before,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) ::before,:where(body[data-v4~="compute-v1"]) #main.v1c:is(main)::after,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) ::after{letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{margin:0 var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:99px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:66px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .brand-cta.compact-cta{padding:75px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .brand-cta.compact-cta{padding:48px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:0 var(--gutter) 66px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:21px var(--gutter) 60px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:15px var(--gutter) 39px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:87px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding:57px var(--gutter)!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder{margin:0 var(--gutter)!important}}
@media (max-width: 600px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{margin:0 var(--gutter) 45px!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .finder,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{box-sizing:border-box}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline{background:linear-gradient(135deg,#ffffffd6 0%,#ffffff8c 100%)!important;background-size:auto!important;background-position:0 0!important;-webkit-backdrop-filter:blur(21px) saturate(1.35)!important;backdrop-filter:blur(21px) saturate(1.35)!important;border:1px solid #ffffffc7!important;box-shadow:inset 0 1px 0 #fff,0 9px 30px #1c161014!important;color:var(--ink-2)!important;transition:background .2s,border-color .2s!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline:hover{background:linear-gradient(135deg,#fffaf5f0,#ffffffb8)!important;border-color:#ffd6b0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta::before{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{background:linear-gradient(135deg,#ffffffe6,#ffffffb3)!important;-webkit-backdrop-filter:blur(21px) saturate(1.3);backdrop-filter:blur(21px) saturate(1.3);border:1px solid #ffffff!important;box-shadow:0 18px 51px #1c16100f!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search select{border-color:#E6E4DF!important;background:#ffffffcc!important;border-radius:9px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table{border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--line-2)!important;border-radius:12px!important;overflow:hidden;width:100%!important;background:#fff;margin:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{border:0!important;border-bottom:1px solid var(--line-2)!important;font-size:15px!important;line-height:1.7!important;padding:15px 15px!important;text-align:left!important;vertical-align:top!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child > td,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child > th{border-bottom:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) thead th{background:#F3F2EF!important;font-weight:500!important;color:var(--ink-2)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) tbody th{background:#faf8f4!important;font-weight:500!important;color:var(--ink-2)!important;width:24%}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1{font-size:var(--title-display)!important;font-weight:600!important;line-height:1.12!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{font-size:var(--title-section)!important;font-weight:600!important;line-height:1.25!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h3{font-size:var(--title-card)!important;font-weight:600!important;line-height:1.4!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{font-size:15px!important;line-height:1.75!important;color:#5b5752!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.small,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder button[type="submit"],:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip{border-radius:var(--r-pill)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{padding:12px 21px!important;min-height:45px!important;font-size:15px!important;font-weight:500!important;gap:9px!important;justify-content:center!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button span{font-size:15px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder button[type="submit"]{background:var(--ink-2)!important;border-color:var(--ink-2)!important;color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder button[type="submit"]:hover{background:#FE5000!important;border-color:#FE5000!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{display:inline-block;padding:6px 12px;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:12px!important;line-height:1!important;color:var(--ink-2)!important;background:#fff;margin-bottom:18px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{margin:0 0 18px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{position:relative!important;z-index:4;margin:-45px auto 72px!important;width:min(1101px,calc(100% - 2*var(--gutter)))!important;padding:9px 9px 9px 27px!important;border-radius:var(--r-pill)!important;background:#ffffffe6!important;border:1px solid #fff!important;box-shadow:0 18px 51px #1c161014!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search{display:flex!important;align-items:center;gap:0!important;grid-template-columns:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search label{flex:1;display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:6px 18px;border-left:1px solid var(--line-2);font-size:12px;color:var(--muted-2)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search label:first-child{border-left:0;padding-left:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search select{border:0!important;background:transparent!important;font-size:15px!important;color:var(--ink-2);padding:9px 0!important;min-width:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search .button{flex:none;margin-left:12px;padding:12px 24px!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{padding:15px!important;border-radius:24px!important;margin-top:-30px!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search label{border:1px solid var(--line-2);border-radius:12px;padding:9px 15px}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search .button{grid-column:1/-1;margin:0}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{width:calc(100% - 39px)!important;margin:-24px auto 39px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search{grid-template-columns:1fr!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{width:max-content!important;max-width:100%;justify-self:start}
:where(body[data-v4~="compute-v1"]) *#main.v1c:is(main),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) *,:where(body[data-v4~="compute-v1"]) #main.v1c:is(main)::before,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) ::before,:where(body[data-v4~="compute-v1"]) #main.v1c:is(main)::after,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) ::after{letter-spacing:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1{font-size:var(--title-display)!important;font-weight:600!important;line-height:1.08!important;margin:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{font-size:var(--title-section)!important;font-weight:600!important;line-height:1.18!important;margin:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h3{font-size:var(--title-card)!important;font-weight:600!important;line-height:1.4!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) p,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) td,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) th{color:inherit}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{font-size:15px!important;line-height:1.75!important;color:var(--body)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) small{font-size:15px!important;color:var(--muted)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow{font-size:12px!important;font-weight:500!important;line-height:1!important;color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{display:inline-block!important;width:max-content!important;max-width:100%;padding:9px 12px!important;border:1px solid var(--line)!important;border-radius:var(--r-pill)!important;background:var(--s0)!important;color:var(--ink)!important;margin:0 0 21px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.small,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder button[type="submit"],:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #search .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip{border-radius:var(--r-pill)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button{display:inline-flex!important;align-items:center;justify-content:center!important;gap:9px!important;padding:0 21px!important;height:45px!important;min-height:0!important;font-size:15px!important;font-weight:500!important;border:1px solid transparent!important;background:var(--orange)!important;color:#fff!important;box-shadow:none!important;transition:background .18s,border-color .18s,color .18s!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button span{font-size:15px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button:hover{background:#DD4700!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.dark:hover{background:#333!important;border-color:#333!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .metal-button{background:var(--s0)!important;border-color:var(--line)!important;color:var(--ink)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button:hover{border-color:var(--ink)!important;background:var(--s0)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.small{height:39px!important;padding:0 18px!important;font-size:12px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 24px 60px #11111014!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder #search select{color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > section,:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > div > section,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section.explore{background:var(--s0)!important;color:var(--ink)!important;border-bottom:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section{padding-top:var(--sec)!important;padding-bottom:var(--sec)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{max-width:none!important;margin-bottom:57px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2{max-width:22ch}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:39px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{max-width:420px!important;margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table{border:0!important;border-radius:var(--r-card)!important;overflow:hidden;background:var(--s0)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{font-size:15px!important;padding:15px 18px!important;border-bottom:1px solid var(--line)!important;color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) thead th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) tbody th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) th{background:var(--s1)!important;font-weight:600!important;color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table td{color:var(--body)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child > td,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table tr:last-child > th{border-bottom:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select{border-radius:var(--r-input)!important;border:1px solid var(--line)!important;background:var(--s1)!important;font-size:15px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip{border:1px solid var(--line)!important;background:var(--s0)!important;color:var(--ink)!important;padding:9px 15px!important;font-size:12px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip.active{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{padding:0 var(--gutter) var(--sec)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:#2A1208 url('/assets/legacy/home-hero.jpg') center/cover no-repeat!important;border:0!important;border-radius:var(--r-card)!important;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;padding:81px var(--gutter)!important;position:relative;overflow:hidden}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#2A1208cc,#2A120866)!important;display:block!important;z-index:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{position:relative;z-index:1;max-width:759px;margin:0 auto}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{color:#fff!important;margin:0 0 15px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:#FFF3EA!important;font-size:15px!important;margin:0 0 27px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button:hover{background:#fff!important;border-color:#fff!important;color:var(--ink)!important}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{display:block!important}}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{margin-top:15px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{min-height:0;padding:57px 24px!important}}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;gap:15px!important;align-items:end!important}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search label{display:flex!important;flex-direction:column;gap:9px;border:0!important;padding:0!important;font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search select{width:100%;padding:12px 15px!important;border:1px solid var(--line)!important;border-radius:var(--r-input)!important;background:var(--s1)!important;font-size:15px!important}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search .button{width:auto!important;height:45px!important;grid-column:auto!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search{display:flex!important;grid-template-columns:none!important;gap:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search label{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:6px 18px!important;border-left:1px solid var(--line)!important;flex:1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search label:first-child{border-left:0!important;padding-left:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search select{border:0!important;background:transparent!important;padding:9px 0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search .button{height:45px!important;margin-left:12px}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search{grid-template-columns:1fr 1fr!important}}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search .button{grid-column:1/-1!important}}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search label{border:1px solid var(--line)!important;border-radius:12px;padding:9px 15px!important}}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search .button{grid-column:1/-1!important;margin:0}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder form#search{grid-template-columns:1fr!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:48px!important;align-items:start!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas > .network-panel{margin-top:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading h3{font-size:var(--title-card)!important;margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading > span{font-size:12px!important;color:var(--muted)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--grid-gap)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{background:var(--s1)!important;border:0!important;border-radius:var(--r-card)!important;padding:24px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .results-toolbar{margin:24px 0 15px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .explore > .fineprint{max-width:none!important;margin:33px 0 0!important;font-size:12px!important;color:var(--muted)!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{grid-template-columns:1fr!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results{grid-template-columns:1fr!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results,:where(body[data-v4~="compute-v1"]) .finder-page#main.v1c:is(main) #results,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results{display:grid!important;grid-template-columns:1fr!important;gap:0!important;border-top:1px solid var(--line)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{display:grid!important;grid-template-columns:minmax(150px,1.1fr) minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1.1fr) minmax(120px,.8fr) auto!important;grid-template-areas:"top name specs term price actions"!important;align-items:center!important;gap:0 24px!important;padding:21px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;transition:background .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine:hover{background:var(--s1)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine h3{grid-area:name;margin:0!important;font-size:18px!important;line-height:1.3!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:15px 0 9px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #result-count{font-size:12px!important;color:var(--muted)!important;margin:0!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;grid-template-areas:"top top price" "name name price" "specs term actions"!important;gap:9px 15px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine{grid-template-columns:1fr!important;grid-template-areas:"top" "name" "specs" "term" "price" "actions"!important}}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > section,:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > div > section,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section.explore{background:transparent!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table{background:#FFFFFF!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .chip,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{background:transparent!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) thead th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) tbody th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) th{background:#F3F2EF!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select,:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search select{background:#FFFFFF!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{background:#FFFFFF!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h1{font-weight:500!important;line-height:1.15!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{font-weight:500!important;line-height:1.25!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) h3{font-weight:500!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2 .subtle{color:var(--muted)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{display:inline-flex!important;align-items:center;gap:9px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:12px!important;text-transform:uppercase;color:var(--ink)!important;margin:0 0 21px!important;width:auto!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow::before{content:'';width:6px;height:6px;background:var(--orange);flex:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,1fr) minmax(0,6fr)!important;align-items:start!important;gap:0!important;margin-bottom:48px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{grid-column:1/-1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > div{grid-column:1;max-width:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > div{display:contents}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{grid-column:3;max-width:none!important;margin:15px 0 0!important;font-size:15px!important;color:var(--body)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.outline,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .button.metal-button{border-color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto!important;grid-template-areas:"top top price" "name name price" "specs term actions"!important;gap:6px 15px!important;padding:18px 0!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{grid-template-columns:1fr!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{grid-column:1;justify-self:start}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,1fr) minmax(0,6fr)!important;margin-bottom:48px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > div{display:contents!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading .eyebrow{grid-column:1/-1!important;grid-row:1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2{grid-column:1!important;grid-row:2!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{grid-column:3!important;grid-row:2!important;margin:9px 0 0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow::before{content:''!important;display:inline-block!important;width:6px!important;height:6px!important;background:var(--orange)!important;border-radius:0!important;margin:0!important;flex:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow{display:inline-flex!important;align-items:center!important;gap:9px!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{grid-template-columns:1fr!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{grid-column:1!important;grid-row:auto!important;margin-top:12px!important;justify-self:start!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine:hover{background:var(--s1)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) table{background:#FFFFFF!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) thead th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) tbody th,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) th{background:var(--s1)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select,:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) form#search select{background:var(--s1)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .home-finder{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.72))!important;-webkit-backdrop-filter:blur(21px) saturate(1.35);backdrop-filter:blur(21px) saturate(1.35);border:1px solid var(--glass-line)!important;box-shadow:inset 0 1px 0 #fff,0 24px 60px #11111014!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button{-webkit-backdrop-filter:none;backdrop-filter:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{display:block!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas > .network-panel{margin-top:39px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:minmax(150px,1.1fr) minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1.1fr) minmax(120px,.8fr) auto!important;grid-template-areas:"top name specs term price actions"!important;gap:0 24px!important;padding:21px 0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine h3{align-self:start}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;grid-template-areas:"top top price" "name name price" "specs term actions"!important;gap:9px 15px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:1fr!important;grid-template-areas:"top" "name" "specs" "term" "price" "actions"!important}}
@media (prefers-reduced-motion: no-preference){:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > section.reveal,:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > div > section.reveal{opacity:0;transform:translateY(27px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}}
@media (prefers-reduced-motion: no-preference){:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > section.reveal.is-in,:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main) > div > section.reveal.is-in{opacity:1;transform:none}}
@media (prefers-reduced-motion: no-preference){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background-attachment:scroll;background-position:center calc(50% + var(--py2,0px))!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{padding:0!important;margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:var(--orange)!important;border-radius:0!important;min-height:0;padding:120px var(--gutter)!important;display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--grid-gap);align-items:end;text-align:left!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::before,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel::after{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{max-width:none!important;margin:0!important;display:contents}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{grid-column:1;font-size:clamp(36px,4.2vw,60px)!important;line-height:1.1!important;color:#fff!important;margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){grid-column:2;grid-row:2;color:#FFE1C8!important;font-size:15px!important;margin:0 0 21px!important;align-self:end}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button{grid-column:2;grid-row:3;justify-self:start;background:#fff!important;border-color:#fff!important;color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button:hover{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{grid-template-columns:1fr!important;padding:72px var(--gutter)!important}}
@media (max-width: 999px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow),:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button{grid-column:1!important;grid-row:auto!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel-heading h3::before{content:'';display:inline-block;width:6px;height:6px;background:var(--orange);margin-right:9px;vertical-align:middle;position:relative;top:-1px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .chip.active,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .chip.active{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .chip:hover:not(.active){border-color:var(--orange)!important;color:var(--orange)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine:hover{background:#FFF7F2!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero{position:relative;isolation:isolate;margin:24px var(--gutter) 0!important;padding:0!important;height:600px;border-radius:var(--r-card)!important;background:var(--s1)!important;border:0!important;overflow:hidden}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .atlas-copy{position:absolute;left:39px;top:39px;z-index:2;max-width:561px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .atlas-copy h1{margin:18px 0 0!important;font-size:clamp(36px,4vw,57px)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .atlas-copy .lead{margin:15px 0 0!important;font-size:15px!important;color:var(--body)!important;max-width:459px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-stage{position:absolute!important;inset:0!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:hidden!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-surface{position:absolute!important;left:50%;top:150px;transform:translateX(-50%);width:min(900px,100%)!important;height:900px!important;margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-surface canvas{width:100%!important;height:100%!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-footer{position:absolute!important;right:39px;bottom:75px;left:auto!important;z-index:2;display:flex;gap:18px;align-items:center;border:0!important;padding:0!important;margin:0!important;color:var(--muted)!important;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-footer button{color:var(--ink)!important;font-size:12px!important;background:transparent;border:0;cursor:pointer}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-note{position:absolute!important;left:39px;bottom:75px;z-index:2;margin:0!important;font-size:12px!important;color:var(--muted)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-finder{margin:-45px auto 0!important;z-index:5}
:where(body[data-v4~="compute-v1"]) .atlas-page#main.v1c:is(main) #overview .section.explore{padding-top:96px!important}
:where(body[data-v4~="compute-v1"]) .atlas-page#main.v1c:is(main) .network-atlas > .network-panel{margin-top:0!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero{height:540px}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-surface{top:219px;height:720px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero{height:561px;margin:15px var(--gutter) 0!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .atlas-copy{left:21px;right:21px;top:24px;max-width:none}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-surface{top:321px;width:150%!important;height:561px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-footer,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-note{display:none!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-finder{margin:-30px auto 0!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center!important;gap:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content{display:flex!important;flex-direction:column;align-items:center;max-width:861px!important;margin:0 auto!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{margin:0!important;text-align:center!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){margin:21px 0 36px!important;max-width:639px;text-align:center!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button{margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow{gap:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .eyebrow::before{margin-right:9px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > *{align-self:center!important;justify-self:center!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button{display:inline-flex!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .ui-line-icon{stroke-width:2.2!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .sales-link{color:var(--orange)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .sales-link:hover{color:#e94800!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading{margin-bottom:63px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:var(--s1)!important;color:var(--ink)!important;padding:141px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{color:var(--ink)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:var(--body)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button:hover{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{padding:87px var(--gutter)!important}}
@media (min-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .section-heading > p{justify-self:end!important;text-align:right!important;max-width:519px!important;margin-left:auto!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,1.05fr) minmax(201px,auto);gap:0 24px;padding:0 0 15px;border-bottom:1px solid var(--ink);font-size:12px;color:var(--muted);letter-spacing:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar{margin-bottom:39px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,1.05fr) minmax(201px,auto)!important;grid-template-areas:none!important;gap:0 24px!important;align-items:start!important;padding:45px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;font-size:15px;color:var(--ink)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine > *{grid-area:auto!important;min-width:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine:hover{background:transparent!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-model h3{margin:0 0 9px!important;font-size:21px!important;font-weight:500!important;color:var(--orange)!important;line-height:1.2!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place strong{display:block;font-weight:500;font-size:15px;margin-bottom:6px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place span{display:block;font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-nodes,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-mem,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-fabric,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-cool{padding-top:2px;line-height:1.6;color:var(--body)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:right}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong{display:block;font-size:24px;font-weight:500;color:var(--orange);line-height:1.1}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong em{font-style:normal;font-size:15px;margin-left:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;justify-self:end}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions button{background:var(--ink);color:#fff;border:0;border-radius:var(--r-pill);padding:9px 18px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions button:hover{background:var(--orange)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions label{font-size:12px;color:var(--body);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions input[type="checkbox"]{accent-color:var(--orange)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine .m-price{font-size:inherit}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head{display:none}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:21px 24px!important;padding:33px 0!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:left}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{flex-direction:row;align-items:center;justify-self:start;grid-column:1/-1}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:1fr!important;gap:15px!important}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{flex-wrap:wrap}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta{padding:0!important;margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{background:var(--orange)!important;color:#fff!important;border-radius:0!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:150px var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content h2{color:#fff!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content > p:not(.eyebrow){color:#FFE1C8!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button{background:rgba(255,255,255,.2)!important;border:1px solid rgba(255,255,255,.65)!important;color:#fff!important;-webkit-backdrop-filter:blur(18px) saturate(1.3)!important;backdrop-filter:blur(18px) saturate(1.3)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -9px 21px rgba(255,255,255,.1),0 12px 33px rgba(120,30,0,.25)!important;padding:15px 27px!important;font-size:15px!important;transition:background .25s,transform .3s cubic-bezier(.2,.7,.2,1)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-content .button:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .button:hover{background:rgba(255,255,255,.34)!important;border-color:#fff!important;color:#fff!important;transform:translateY(-2px)!important}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta .cta-panel{padding:87px var(--gutter)!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .mo{opacity:0;transform:translateY(21px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--mo-d,0ms)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .mo.mo-in{opacity:1;transform:none}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .mo.motion-ready{opacity:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .mo.motion-ready.mo-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .mo{opacity:1;transform:none;transition:none}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine{transition:background .3s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .compact-cta,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .brand-cta.compact-cta{padding-bottom:0!important;margin-bottom:0!important}
:where(body[data-v4~="compute-v1"]) main#main.v1c:is(main){padding-bottom:0!important;margin-bottom:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{grid-template-columns:minmax(0,1.35fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.6fr) minmax(0,1.15fr) minmax(231px,auto)!important;gap:0 21px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head{padding:0 0 12px;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{align-items:center!important;padding:18px 0!important;font-size:12px!important;line-height:1.45!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-model h3{font-size:15px!important;margin:0 0 3px!important;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place strong{font-size:15px;margin-bottom:3px;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-nodes,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-mem,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-fabric,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-cool{padding:0;font-size:12px;color:var(--body);line-height:1.45}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:right}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong{font-size:18px;line-height:1.2;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong em{font-size:12px;margin-left:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong i{font-style:normal;font-size:12px;color:var(--muted);font-weight:400;margin-left:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{font-size:12px;margin-top:3px;line-height:1.5;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price .sales-link{font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{flex-direction:row!important;align-items:center!important;gap:15px!important;justify-self:end}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions button{padding:9px 15px;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions label{font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar{margin-bottom:27px!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px 24px!important;padding:24px 0!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:left}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{justify-self:start;grid-column:1/-1}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-model h3,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place strong,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place span,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{white-space:normal}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .explore .section-heading h2 .subtle{color:var(--muted);font-weight:400}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas{display:block!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin{width:33px!important;height:33px!important;font-size:12px!important;background:#292F33!important;border:1px solid #fff!important;transition:background .2s,transform .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin:hover,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-pin.selected{background:var(--orange)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas > .network-panel{margin-top:63px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .network-panel-heading{margin-bottom:33px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .network-panel-heading h3{font-size:21px!important;font-weight:500!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .network-panel-heading > span{font-size:12px!important;letter-spacing:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .results-toolbar{margin:0 0 36px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas .chip,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .chip{padding:12px 21px!important;font-size:15px!important;border-radius:var(--r-pill)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.95fr) minmax(0,1.05fr) minmax(0,1fr) minmax(201px,auto)!important;gap:0 21px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head{padding:0 0 15px;font-size:12px;color:var(--muted)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{padding:27px 0!important;align-items:center!important;font-size:15px!important;line-height:1.55!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-model h3{font-size:18px!important;margin:0 0 6px!important;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place strong{font-size:15px;font-weight:500;margin-bottom:3px;white-space:normal}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place span{display:block;font-size:12px;color:var(--muted);white-space:normal;overflow:visible;line-height:1.5}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-nodes span,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-mem span{display:block;line-height:1.45}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-nodes,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-mem,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-fabric,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-cool{font-size:15px;color:var(--body)}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:right}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong{display:block;font-size:18px;font-weight:500;color:var(--orange);line-height:1.2;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong i{font-style:normal;font-size:12px;color:var(--muted);font-weight:400;margin:0 9px 0 0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong em{font-style:normal;font-size:12px;margin-left:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6;white-space:normal}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price .sales-link{font-size:12px;margin-left:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{flex-direction:row!important;align-items:center!important;gap:15px!important;justify-self:end}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions button{padding:9px 18px;font-size:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions label{font-size:12px}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:24px 0!important}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:left}}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{justify-self:start;grid-column:1/-1}}
@media (max-width: 759px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine{grid-template-columns:1fr!important}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.05fr) minmax(0,1fr) minmax(0,1.1fr) minmax(249px,auto)!important;gap:0 24px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-model h3{margin:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place strong{display:block;margin-bottom:6px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place span{display:block;font-size:12px;color:var(--muted);line-height:1.55;white-space:nowrap;overflow:visible}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price .sales-link{white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{gap:21px!important}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-place span,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{white-space:normal}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{grid-template-columns:minmax(0,1.1fr) minmax(0,1.15fr) minmax(0,.95fr) minmax(0,1.05fr) minmax(0,1fr) minmax(0,.85fr) minmax(210px,1.15fr) minmax(249px,auto)!important;gap:0 21px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{text-align:right;min-width:0;overflow:visible}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{display:block;text-align:right;white-space:nowrap}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{letter-spacing:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price .sales-link{margin-left:6px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head span:nth-child(7){text-align:right}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price small{text-align:left}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{grid-template-columns:minmax(120px,1fr) minmax(150px,1.3fr) minmax(99px,.9fr) minmax(126px,1.05fr) minmax(141px,1.15fr) minmax(84px,.75fr) minmax(204px,1.5fr) minmax(186px,auto)!important;gap:0 15px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine > *{min-width:0}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-fabric,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-cool{white-space:normal;overflow-wrap:anywhere}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{gap:15px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price{padding-right:36px;box-sizing:border-box}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head span:nth-child(7){padding-right:36px;box-sizing:border-box}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price strong em,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price .sales-link{margin-right:0}
@media (max-width: 1101px){:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-price,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head span:nth-child(7){padding-right:0}}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-head,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results > article.machine,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .machine{grid-template-columns:minmax(120px,1fr) minmax(150px,1.3fr) minmax(99px,.9fr) minmax(126px,1.05fr) minmax(141px,1.15fr) minmax(84px,.75fr) minmax(204px,1.5fr) 210px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{width:210px;justify-self:stretch;justify-content:flex-end}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero{margin:0!important;border-radius:0!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .atlas-copy{left:var(--gutter)!important;top:57px!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-note{left:var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero .globe-footer{right:var(--gutter)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) a:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) button:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) select:focus-visible,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) input:focus-visible{outline:2px solid var(--orange)!important;outline-offset:2px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions button{background:transparent!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;padding:0 0 3px!important;font-size:12px!important;font-weight:500;line-height:1.4;transition:color .2s,border-color .2s}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions button:hover{background:transparent!important;color:var(--orange)!important;border-color:var(--orange)!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .machine .m-actions{gap:21px!important}
@keyframes appear{from{opacity:.15;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes cta-edge{from{--edge-angle:0deg}to{--edge-angle:360deg}}
@keyframes material-ray{to{stroke-dashoffset:-960}}
/* ---- v2 addition (not in v1): phones (<759px) — no row wider than the viewport; each row becomes a stacked card ---- */
@media (max-width:759px){
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .atlas-hero,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .globe-stage{overflow-x:clip!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel,:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) #results.results{min-width:0!important;max-width:100%!important;overflow:visible!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-panel .results-head.results-head{display:none!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"model model" "place place" "nodes mem" "fabric cool" "price price" "actions actions"!important;column-gap:18px!important;row-gap:12px!important;width:auto!important;min-width:0!important;max-width:100%!important;padding:21px 0!important;align-items:start!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>*{min-width:0!important;width:auto!important;max-width:100%!important;display:block!important;text-align:left!important;justify-self:stretch!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-model{grid-area:model!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-place{grid-area:place!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-nodes{grid-area:nodes!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-mem{grid-area:mem!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-fabric{grid-area:fabric!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-cool{grid-area:cool!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-price{grid-area:price!important;display:flex!important;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-actions{grid-area:actions!important;display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>:is(.m-nodes,.m-mem,.m-fabric,.m-cool)::before{display:block;font-size:12px;line-height:1.5;color:var(--muted,#8A877F);margin-bottom:3px}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-nodes::before{content:"規模"}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-mem::before{content:"顯存"}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-fabric::before{content:"GPU Fabric"}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine>.m-cool::before{content:"冷卻"}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .network-atlas #results>article.machine.machine :is(span,strong,small,a){overflow-wrap:anywhere}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar .chips{flex-wrap:nowrap!important}
:where(body[data-v4~="compute-v1"]) :is(main#main.v1c,#main .v1c) .results-toolbar .chips .chip{white-space:nowrap!important;flex:none!important}
}

/* pages/delivery.css */
/* scoped by scripts/v4/sync-assets.mjs: delivery */
/* ../../konstra-ai/compute-delivery/index.html (pages_delivery.py) · only page-level arrangement of existing components
   every px is a multiple of 3 (1px hairlines excepted); letter-spacing 0 */

/* SOLUTION: mode number + brand chip in the card's top row, anchor link at the card foot */
:where(body[data-v4~="delivery"]) main.cd .cd-tag{display:inline-flex;align-items:center;gap:12px}
:where(body[data-v4~="delivery"]) main.cd .cd-no{font:500 12px/1 var(--latin);color:var(--muted);font-variant-numeric:tabular-nums}
:where(body[data-v4~="delivery"]) main.cd .cd-modes .bc{min-height:0}
:where(body[data-v4~="delivery"]) main.cd .cd-go{margin-top:auto;padding-top:0;align-self:flex-start}
:where(body[data-v4~="delivery"]) main.cd .cd-modes .bd{margin-bottom:30px}

/* FEATURE 01-03 head: number before the title, platform line above the lead */
:where(body[data-v4~="delivery"]) main.cd .cd-n{font:500 1em/1 var(--latin);color:var(--muted);margin-right:18px;font-variant-numeric:tabular-nums}
:where(body[data-v4~="delivery"]) main.cd .sh .d p.cd-brand{font:500 15px/1.6 var(--latin)!important;color:var(--ink)!important;margin:0}
:where(body[data-v4~="delivery"]) main.cd .cd-feats .ic-card{min-height:0}

/* FEATURE fact rows: label column + chips / scale / figure, hairline between rows */
:where(body[data-v4~="delivery"]) main.cd .cd-facts{min-height:0;padding:15px 36px;gap:0}
:where(body[data-v4~="delivery"]) main.cd .cd-g{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:24px;align-items:start;padding:24px 0}
:where(body[data-v4~="delivery"]) main.cd .cd-g+.cd-g{border-top:1px solid rgba(20,18,16,.1)}
:where(body[data-v4~="delivery"]) main.cd .cd-k{font-size:12px;line-height:1.6;font-weight:500;color:var(--muted);padding-top:6px}
:where(body[data-v4~="delivery"]) main.cd .cd-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px}
:where(body[data-v4~="delivery"]) main.cd .cd-facts .chip{height:33px;padding:0 15px;font-size:15px;color:var(--ink);background:#FFFFFF!important;white-space:nowrap}
:where(body[data-v4~="delivery"]) main.cd .cd-facts .chip small{font-size:12px;margin-left:9px;color:var(--orange-t);font-weight:500}
:where(body[data-v4~="delivery"]) main.cd .cd-facts .chip.o{background:#FFEDE0!important;color:var(--orange-t)}
:where(body[data-v4~="delivery"]) main.cd .cd-flow{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;margin:0}
:where(body[data-v4~="delivery"]) main.cd .cd-flow i{font-style:normal;font:400 18px/1 var(--latin);color:var(--muted)}
:where(body[data-v4~="delivery"]) main.cd .cd-scale{display:grid;gap:12px;max-width:630px}
:where(body[data-v4~="delivery"]) main.cd .cd-sl{display:flex;justify-content:space-between;gap:24px;font:500 15px/1.4 var(--latin);color:var(--ink)}
:where(body[data-v4~="delivery"]) main.cd .cd-bar{position:relative;height:12px}
:where(body[data-v4~="delivery"]) main.cd .cd-bar::before{content:"";position:absolute;left:6px;right:6px;top:6px;border-top:1.5px solid var(--ink)}
:where(body[data-v4~="delivery"]) main.cd .cd-bar::after,:where(body[data-v4~="delivery"]) main.cd .cd-bar i{content:"";position:absolute;top:0;width:12px;height:12px;border-radius:50%;box-sizing:border-box}
:where(body[data-v4~="delivery"]) main.cd .cd-bar::after{left:0;background:#FFFFFF;box-shadow:inset 0 0 0 1.5px var(--ink)}
:where(body[data-v4~="delivery"]) main.cd .cd-bar i{right:0;background:var(--ink)}
:where(body[data-v4~="delivery"]) main.cd .cd-scale .ks{margin:0}
:where(body[data-v4~="delivery"]) main.cd .cd-num{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 15px}
:where(body[data-v4~="delivery"]) main.cd .cd-num .kv{color:var(--ink)}

/* comparison table (variant-B columns): label column on the grey band, one white column per delivery model,
   columns = the 12-col grid (3 + 3 + 3 + 3, gap 24), sticky column names */
:where(body[data-v4~="delivery"]) main.cd .cd-cmp{overflow:visible;border:0!important;background:none!important;margin:0 -24px}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp table{border-collapse:separate;border-spacing:24px 0;table-layout:fixed;width:100%;min-width:0;font-size:15px;line-height:1.75}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp :is(th,td){border:0!important;padding:21px 24px 24px;vertical-align:top;text-align:left;background:none}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp thead th{position:sticky;top:93px;z-index:2;padding:18px 24px;font-size:15px;line-height:1.5;font-weight:500;color:var(--ink);background:#FFFFFF!important;border-radius:21px 21px 0 0;box-shadow:inset 0 -1px 0 rgba(20,18,16,.18)}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp thead th:first-child{color:var(--muted);background:#F6F5F2!important;border-radius:0;padding-left:0}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp tbody th{padding-left:0;font-weight:500;color:var(--ink);width:auto}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp tbody td{background:#FFFFFF;color:var(--body)}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp tbody tr+tr th{box-shadow:inset 0 1px 0 rgba(20,18,16,.12)}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp tbody tr+tr td{box-shadow:inset 0 1px 0 rgba(20,18,16,.08)}
:where(body[data-v4~="delivery"]) main.cd .cd-cmp tbody tr:last-child td{border-radius:0 0 21px 21px}

/* no hairline next to the grey band (3.1: grey sections are not ruled) */
:where(body[data-v4~="delivery"]) main.cd .sec.tint+.sec::before{display:none}

/* BENEFIT pillar list */
:where(body[data-v4~="delivery"]) main.cd .cd-ul{list-style:none;margin:0;padding:0;display:grid}
:where(body[data-v4~="delivery"]) main.cd .cd-ul li{padding:9px 0;font-size:15px;line-height:1.75}
:where(body[data-v4~="delivery"]) main.cd .cd-ul li:first-child{padding-top:0}
:where(body[data-v4~="delivery"]) main.cd .cd-ul li+li{border-top:1px solid rgba(20,18,16,.1)}

/* LINKS: related row with four entries (tag line above each title) */
:where(body[data-v4~="delivery"]) main.cd .cd-rel{grid-template-columns:repeat(4,minmax(0,1fr))}
:where(body[data-v4~="delivery"]) main.cd .cd-rel .rel-k{grid-column:1;font-size:12px;line-height:1.6;font-weight:500;color:var(--muted)}
:where(body[data-v4~="delivery"]) main.cd .cd-rel .rel-a{grid-row:1/span 3}
:where(body[data-v4~="delivery"]) main.cd .cd-rel .rel-d{white-space:normal}
:where(body[data-v4~="delivery"]) main.cd .rel-sec .sh-rel .d{margin-top:0}

/* FAQ: the answer's first sentence */
:where(body[data-v4~="delivery"]) main.cd .cd-first{font-weight:500;color:var(--ink)}

@media (max-width:1101px){
 :where(body[data-v4~="delivery"]) main.cd .cd-rel{grid-template-columns:repeat(2,minmax(0,1fr))}
 :where(body[data-v4~="delivery"]) main.cd .cd-g{grid-template-columns:minmax(0,1fr);row-gap:12px}
 :where(body[data-v4~="delivery"]) main.cd .cd-k{padding-top:0}
}
@media (max-width:981px){
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp{overflow-x:auto;margin:0 -39px;padding:0 39px 12px 15px;-webkit-overflow-scrolling:touch}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp table{min-width:840px;border-spacing:12px 0}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp thead th{position:static}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp thead th:first-child{width:120px}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp :is(tbody th,thead th:first-child){position:sticky;left:0;z-index:1;background:#F6F5F2!important}
}
@media (max-width:759px){
 :where(body[data-v4~="delivery"]) main.cd .cd-facts{padding:6px 24px}
 :where(body[data-v4~="delivery"]) main.cd .cd-g{padding:21px 0}
 :where(body[data-v4~="delivery"]) main.cd .cd-facts .chip{height:30px;padding:0 12px;font-size:12px}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp{margin:0 -21px;padding:0 21px 12px 9px}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp table{min-width:780px;font-size:15px}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp :is(th,td){padding:18px 18px 21px}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp tbody th,:where(body[data-v4~="delivery"]) main.cd .cd-cmp thead th:first-child{padding-left:12px}
 :where(body[data-v4~="delivery"]) main.cd .cd-cmp thead th:first-child{width:114px}
 :where(body[data-v4~="delivery"]) main.cd .cd-rel{grid-template-columns:1fr}
 :where(body[data-v4~="delivery"]) main.cd .cd-modes .bd{margin-bottom:24px}
}

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

/* pages/group.css */
/* scoped by scripts/v4/sync-assets.mjs: group */
/* pages_group · ../../group/index.html About KONST: quiet editorial layout on the 12-column grid, hairline dividers */
body.gp:where([data-v4~="group"]){--g:var(--col-gap,24px)}
/* section rhythm and section heads use the site system (.sec = var(--sec), main .sh = 60px) */

/* hero */
:where(body[data-v4~="group"]) .gp-hero{padding-block:72px 0}
:where(body[data-v4~="group"]) .gp-hero .crumb{position:static;margin:0 0 72px}
:where(body[data-v4~="group"]) .gp-hrow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:33px;align-items:end;padding-bottom:72px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="group"]) .gp-ht{grid-column:1/8;display:grid;gap:24px}
:where(body[data-v4~="group"]) .gp-h1{font:500 clamp(45px,5.8vw,84px)/1.08 var(--font);color:var(--ink)}
:where(body[data-v4~="group"]) .gp-hd{grid-column:8/13;display:grid;gap:27px;justify-items:start}
:where(body[data-v4~="group"]) .gp-hd .lead{font-size:18px;line-height:1.8;color:var(--body);max-width:none}
:where(body[data-v4~="group"]) .gp-hd .actions{display:flex;flex-wrap:wrap;gap:12px}
:where(body[data-v4~="group"]) .gp-pics{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:var(--g);padding-block:48px 0}
:where(body[data-v4~="group"]) .gp-pics .photo{border-radius:18px;aspect-ratio:2/1;height:auto}
:where(body[data-v4~="group"]) .gp-p1{grid-column:1/-1}
:where(body[data-v4~="group"]) .gp-p1 img{object-position:center 42%}
@media (max-width:981px){:where(body[data-v4~="group"]) .gp-ht,:where(body[data-v4~="group"]) .gp-hd{grid-column:1/-1}:where(body[data-v4~="group"]) .gp-hero .crumb{margin-bottom:39px}:where(body[data-v4~="group"]) .gp-hrow{padding-bottom:48px}}
@media (max-width:759px){:where(body[data-v4~="group"]) .gp-hero{padding-top:39px}:where(body[data-v4~="group"]) .gp-h1{font-size:45px}:where(body[data-v4~="group"]) .gp-hd .lead{font-size:15px}:where(body[data-v4~="group"]) .gp-pics{padding-top:30px}:where(body[data-v4~="group"]) .gp-pics .photo{aspect-ratio:3/2}}

/* brand spirit: brand orange band, white type, blooming line mark */
:where(body[data-v4~="group"]) .gp-spirit{padding-block:var(--sec);background:#FE5000;color:#fff}
:where(body[data-v4~="group"]) .gp-sp{display:grid;gap:39px}
:where(body[data-v4~="group"]) .gp-spirit .eyebrow.on-dark{color:rgba(255,255,255,.86)}
:where(body[data-v4~="group"]) .gp-spirit .eyebrow.on-dark::before{background:#fff}
:where(body[data-v4~="group"]) .gp-sp-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:24px;align-items:end}
:where(body[data-v4~="group"]) .gp-sp-en{grid-column:1/-1;grid-row:1;font:500 clamp(48px,7.4vw,108px)/1.02 var(--latin);color:#fff;margin:0}
:where(body[data-v4~="group"]) .gp-sp-en span{color:#FFD9C2}
:where(body[data-v4~="group"]) .gp-bloom{grid-column:10/13;grid-row:1;justify-self:end;align-self:end;width:min(100%,204px);height:auto;overflow:visible;margin-bottom:0}
:where(body[data-v4~="group"]) .gp-sp-foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:12px;padding-top:30px;border-top:1px solid rgba(255,255,255,.36)}
:where(body[data-v4~="group"]) .gp-sp-zh{grid-column:1/6;font-size:21px;line-height:1.6;color:#fff}
:where(body[data-v4~="group"]) .gp-sp-p{grid-column:8/13;font-size:15px;line-height:1.85;color:rgba(255,255,255,.9)}
@media (max-width:1260px){:where(body[data-v4~="group"]) .gp-bloom{grid-column:1/-1;grid-row:1;justify-self:end;width:156px;margin:0}:where(body[data-v4~="group"]) .gp-sp-en{grid-row:2}}
@media (max-width:981px){:where(body[data-v4~="group"]) .gp-sp-zh,:where(body[data-v4~="group"]) .gp-sp-p{grid-column:1/-1}}
@media (max-width:759px){:where(body[data-v4~="group"]) .gp-sp{gap:27px}:where(body[data-v4~="group"]) .gp-sp-en{font-size:45px}:where(body[data-v4~="group"]) .gp-sp-zh{font-size:18px}:where(body[data-v4~="group"]) .gp-bloom{width:120px}}
/* dial mark, one slot missing (icon-system vocabulary): 2-unit monoline on the 48 grid, flat terminals, mitre joins,
   white strokes, light-peach square centre. On reveal the ring strokes draw in sequence (the up-right slot stays empty),
   the forward stroke draws out last, then a peach pulse runs along it every few seconds.
   Fully drawn and static under reduced motion or without JS. */
:where(body[data-v4~="group"]) .gp-bloom .dz-r,:where(body[data-v4~="group"]) .gp-bloom .dz-f,:where(body[data-v4~="group"]) .gp-bloom .dz-u{fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter}
:where(body[data-v4~="group"]) .gp-bloom .dz-r,:where(body[data-v4~="group"]) .gp-bloom .dz-f{stroke:#fff}
:where(body[data-v4~="group"]) .gp-bloom .dz-u{stroke:#FFD6B0;opacity:0}
:where(body[data-v4~="group"]) .gp-bloom .dz-c{fill:#FFD6B0}
:where(body[data-v4~="group"]) .gp-bloom .dz-c{transform-box:view-box;transform-origin:50% 50%}
@media (prefers-reduced-motion:no-preference){
 html.js :where(body[data-v4~="group"]) .gp-bloom:not(.in) .dz-r,html.js :where(body[data-v4~="group"]) .gp-bloom:not(.in) .dz-f{stroke-dasharray:1 1;stroke-dashoffset:1}
 html.js :where(body[data-v4~="group"]) .gp-bloom:not(.in) .dz-c{opacity:0}
 :where(body[data-v4~="group"]) .gp-bloom.in .dz-c{animation:dzC .5s cubic-bezier(.22,1,.36,1) both}
 :where(body[data-v4~="group"]) .gp-bloom.in .dz-r{stroke-dasharray:1 1;animation:dzD .45s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.2s + var(--i) * 55ms)}
 :where(body[data-v4~="group"]) .gp-bloom.in .dz-f{stroke-dasharray:1 1;animation:dzD .8s cubic-bezier(.65,0,.35,1) 1.25s both}
 :where(body[data-v4~="group"]) .gp-bloom.in .dz-u{stroke-dasharray:.14 1.2;animation:dzU 4.2s cubic-bezier(.45,0,.55,1) 2.4s infinite}
}
@keyframes dzC{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes dzD{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes dzU{0%{stroke-dashoffset:.14;opacity:1}38%{stroke-dashoffset:-1;opacity:1}39%,100%{stroke-dashoffset:-1;opacity:0}}

/* perspective: heading cols 1-6, prose cols 8-12 (no photo) */
:where(body[data-v4~="group"]) .gp-2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:39px;align-items:start}
:where(body[data-v4~="group"]) .gp-2l{grid-column:1/7}
:where(body[data-v4~="group"]) .gp-2l .sh{margin-bottom:0}
:where(body[data-v4~="group"]) .gp-2r{grid-column:8/13;font-size:18px;line-height:1.9}
:where(body[data-v4~="group"]) .gp-2r blockquote{margin:39px 0 0;padding:27px 0 0;border:0;border-top:1px solid var(--ink);font-size:21px;line-height:1.6;color:var(--ink)}
@media (min-width:981px){:where(body[data-v4~="group"]) .gp-2l{position:sticky;top:120px}}
@media (max-width:981px){:where(body[data-v4~="group"]) .gp-2l,:where(body[data-v4~="group"]) .gp-2r{grid-column:1/-1}:where(body[data-v4~="group"]) .gp-2r{font-size:15px}}

/* mission / vision */
:where(body[data-v4~="group"]) .gp-mv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
:where(body[data-v4~="group"]) .gp-card{display:grid;gap:12px;align-content:start;background:#fff;border-radius:18px;padding:36px 33px 39px}
:where(body[data-v4~="group"]) .gp-card .ic{width:39px;height:39px;color:var(--orange);margin-bottom:27px}
:where(body[data-v4~="group"]) .gp-card .k{font:500 12px/1.4 var(--latin);text-transform:uppercase;color:var(--orange-d);padding-bottom:15px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="group"]) .gp-card h3{font-size:21px;line-height:1.45;margin-top:6px}
:where(body[data-v4~="group"]) .gp-card p{font-size:15px;line-height:1.8}
@media (max-width:981px){:where(body[data-v4~="group"]) .gp-mv{grid-template-columns:1fr}:where(body[data-v4~="group"]) .gp-card{padding:27px 24px 30px}:where(body[data-v4~="group"]) .gp-card .ic{margin-bottom:12px}}

/* three brands */
:where(body[data-v4~="group"]) .gp-brands{border-top:1px solid var(--line)}
:where(body[data-v4~="group"]) .gp-brand{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:27px;align-items:center;padding-block:48px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="group"]) .gp-brand .ill{grid-column:1/7;background:var(--warm);border-radius:18px;padding:36px 48px;display:flex;justify-content:center}
:where(body[data-v4~="group"]) .gp-brand .ill svg{width:100%;max-width:459px;height:auto}
:where(body[data-v4~="group"]) .gp-brand .body{grid-column:8/13;display:grid;gap:12px;justify-items:start}
:where(body[data-v4~="group"]) .gp-brand .n{font:500 12px/1.4 var(--latin);color:var(--muted)}
:where(body[data-v4~="group"]) .gp-brand .name{font:500 clamp(30px,2.9vw,42px)/1.15 var(--latin);color:var(--ink)}
:where(body[data-v4~="group"]) .gp-brand .role{font-size:18px;color:var(--ink);font-weight:500;margin-bottom:6px}
:where(body[data-v4~="group"]) .gp-brand p{font-size:15px;line-height:1.8}
:where(body[data-v4~="group"]) .gp-brand .flow{color:var(--orange-d);font-weight:500;padding-top:12px;border-top:1px solid var(--line);justify-self:stretch}
:where(body[data-v4~="group"]) .gp-brand .actions{margin-top:9px}
@media (max-width:981px){:where(body[data-v4~="group"]) .gp-brand .ill,:where(body[data-v4~="group"]) .gp-brand .body{grid-column:1/-1}:where(body[data-v4~="group"]) .gp-brand{padding-block:33px}:where(body[data-v4~="group"]) .gp-brand .ill{padding:24px}}

/* evidence: four stats across the 12 columns (3 each), note underneath (no photo) */
:where(body[data-v4~="group"]) .gp-ev{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g)}
:where(body[data-v4~="group"]) .gp-evr{grid-column:1/-1;display:grid;gap:27px}
body.gp:where([data-v4~="group"]) .gp-ev .stats{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--g);border-top:0}
body.gp:where([data-v4~="group"]) .gp-ev .stats>div{border-top:1px solid rgba(20,18,16,.14);border-left:0;padding:24px 0 30px}
body.gp:where([data-v4~="group"]) .gp-ev .stats .v{font-size:clamp(39px,4vw,57px)}
@media (max-width:981px){body.gp:where([data-v4~="group"]) .gp-ev .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:759px){body.gp:where([data-v4~="group"]) .gp-ev .stats .v{font-size:33px}}

/* milestones timeline: one connecting line, a node per milestone */
:where(body[data-v4~="group"]) .gp-tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--g);position:relative}
:where(body[data-v4~="group"]) .gp-tl::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--line-2)}
:where(body[data-v4~="group"]) .gp-tl li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:45px 24px 0 0}
:where(body[data-v4~="group"]) .gp-tl .dot{position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--ink)}
:where(body[data-v4~="group"]) .gp-tl li.now .dot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 6px rgba(254,80,0,.16)}
:where(body[data-v4~="group"]) .gp-tl .d{font:500 27px/1 var(--latin);color:var(--ink)}
:where(body[data-v4~="group"]) .gp-tl li.now .d{color:var(--orange)}
:where(body[data-v4~="group"]) .gp-tl .k{font:500 12px/1.4 var(--latin);text-transform:uppercase;color:var(--muted);margin-top:9px}
:where(body[data-v4~="group"]) .gp-tl h3{font-size:18px;line-height:1.55;min-height:3.1em}
:where(body[data-v4~="group"]) .gp-tl .link{margin-top:auto}
:where(body[data-v4~="group"]) .gp-tl h3{margin-bottom:15px}
:where(body[data-v4~="group"]) .gp-mpics{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:var(--g);margin-top:72px;align-items:start}
/* two equal 3:2 photos (the handshake keeps every face in frame at its native ratio) */
:where(body[data-v4~="group"]) .gp-mpics>figure{grid-column:span 6}
:where(body[data-v4~="group"]) .gp-mpics .photo{border-radius:18px;aspect-ratio:3/2}
:where(body[data-v4~="group"]) .gp-mpics .gp-hs img{object-position:center 30%}
@media (max-width:981px){
 :where(body[data-v4~="group"]) .gp-tl{grid-template-columns:1fr;row-gap:36px;padding-left:36px}
 :where(body[data-v4~="group"]) .gp-tl::before{left:6px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
 :where(body[data-v4~="group"]) .gp-tl li{padding:0}
 :where(body[data-v4~="group"]) .gp-tl .dot{left:-36px}
 :where(body[data-v4~="group"]) .gp-tl .d{font-size:21px}
 :where(body[data-v4~="group"]) .gp-tl h3{min-height:0;margin-bottom:0}
 :where(body[data-v4~="group"]) .gp-tl .link{margin-top:6px}
 :where(body[data-v4~="group"]) .gp-mpics>figure{grid-column:1/-1}
 :where(body[data-v4~="group"]) .gp-mpics{margin-top:48px}
}

:where(body[data-v4~="group"]) *,:where(body[data-v4~="group"]) *::before,:where(body[data-v4~="group"]) *::after{letter-spacing:0!important}
:where(body[data-v4~="group"]) .gp-hero{padding-bottom:120px}
@media (max-width:1101px){:where(body[data-v4~="group"]) .gp-hero{padding-bottom:96px}}
@media (max-width:759px){:where(body[data-v4~="group"]) .gp-hero{padding-bottom:60px}}
/* milestone count: four nodes on one line (desktop); the mobile rule above stays a single column */
@media (min-width:981px){:where(body[data-v4~="group"]) .gp-tl.n4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* section rhythm (2026-09-28): white hero, orange spirit, white perspective / mission / brands (one hairline between),
   grey evidence band, white milestones, orange CTA. Mission cards sit on #F6F5F2 in a white section;
   a white section that follows a tinted band gets no hairline at the band edge. */
:where(body[data-v4~="group"]) .gp-mvsec .gp-card{background:#F6F5F2}
body.gp:where([data-v4~="group"]) .sec:is(.tint,.warm)+.sec::before{display:none}
body.gp:where([data-v4~="group"]) .sec:is(.tint,.warm)+.sec{border-top:0}

/* pages/home.css */
/* scoped by scripts/v4/sync-assets.mjs: home */
/* home · v1 sections restored + new additions */
:where(body[data-v4~="home"]) .need .need-ill{height:210px;margin:-12px -9px 6px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px}
:where(body[data-v4~="home"]) .need .need-ill svg{max-height:195px;width:auto;max-width:100%}
:where(body[data-v4~="home"]) .need .ic{width:36px;height:36px}
:where(body[data-v4~="home"]) .svc-lines{border-top:1px solid var(--line)}
:where(body[data-v4~="home"]) .svc-lines a{display:grid;grid-template-columns:60px 42px 1fr 1fr 30px;align-items:center;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);transition:background .2s}
:where(body[data-v4~="home"]) .svc-lines .n{font-size:12px;color:var(--muted)}
:where(body[data-v4~="home"]) .svc-lines .ic{width:30px;height:30px}
:where(body[data-v4~="home"]) .svc-lines b{font-size:21px;font-weight:500;color:var(--ink)}
:where(body[data-v4~="home"]) .svc-lines .en{font:500 12px var(--latin);color:var(--muted)}
:where(body[data-v4~="home"]) .svc-lines .go{color:var(--orange);justify-self:end}
:where(body[data-v4~="home"]) .svc-lines .go svg{width:18px;height:18px}
@media (hover:hover){:where(body[data-v4~="home"]) .svc-lines a:hover{background:var(--tint)}:where(body[data-v4~="home"]) .svc-lines a:hover b{color:var(--orange)}}
@media (max-width:759px){:where(body[data-v4~="home"]) .svc-lines a{grid-template-columns:36px 30px 1fr 24px}:where(body[data-v4~="home"]) .svc-lines .en{display:none}}
:where(body[data-v4~="home"]) .stp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}
:where(body[data-v4~="home"]) .stp-l .stick{position:sticky;top:111px;display:grid;gap:18px}
:where(body[data-v4~="home"]) .stp-stage{position:relative;margin-top:18px;background:#fff;border-radius:21px;aspect-ratio:4/3;overflow:hidden}
:where(body[data-v4~="home"]) .stp-scene{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .45s var(--ease)}
:where(body[data-v4~="home"]) .stp-scene.on{opacity:1}
:where(body[data-v4~="home"]) .stp-scene svg{max-height:84%;width:auto;max-width:100%}
:where(body[data-v4~="home"]) .stp-scene figcaption{position:absolute;left:24px;bottom:21px;font-size:12px;color:var(--muted)}
:where(body[data-v4~="home"]) .stp-r{display:grid;gap:15px}
:where(body[data-v4~="home"]) .stp-card{background:#fff;border-radius:18px;padding:30px 30px 27px;display:grid;gap:12px;justify-items:start;border-left:3px solid transparent;transition:border-color .25s,box-shadow .25s;cursor:default}
:where(body[data-v4~="home"]) .stp-card.on{border-left-color:var(--orange);box-shadow:0 18px 42px rgba(150,56,33,.07)}
:where(body[data-v4~="home"]) .stp-card .k{font:500 12px var(--latin);color:var(--muted)}
:where(body[data-v4~="home"]) .stp-card h3{font-size:21px}
@media (max-width:981px){:where(body[data-v4~="home"]) .stp{grid-template-columns:1fr}:where(body[data-v4~="home"]) .stp-l .stick{position:static}}
:where(body[data-v4~="home"]) .post .link{margin-top:6px}

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

/* phones: the four GPU chips stay on one line */
@media (max-width:759px){:where(body[data-v4~="home"]) #explore .chips{flex-wrap:nowrap;gap:6px}:where(body[data-v4~="home"]) #explore .chips button{white-space:nowrap;flex:none;padding-inline:15px}}

/* pages/misc.css */
/* scoped by scripts/v4/sync-assets.mjs: misc */
/* pages_misc · contact / privacy / 404 / ai-training-calculator */
:where(body[data-v4~="misc"]) [hidden]{display:none!important}

/* ---------- shared form fields ---------- */
:where(body[data-v4~="misc"]) .field{display:grid;gap:9px;align-content:start}
:where(body[data-v4~="misc"]) .field>label{font-size:15px;font-weight:500;color:var(--ink);line-height:1.4}
:where(body[data-v4~="misc"]) .field .req{color:var(--orange);margin-left:2px}
:where(body[data-v4~="misc"]) .field input:not([type=checkbox]),:where(body[data-v4~="misc"]) .field select,:where(body[data-v4~="misc"]) .field textarea{width:100%;height:57px;border-radius:12px;border:1px solid transparent;background:var(--warm);padding:0 18px;font:inherit;font-size:15px;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
:where(body[data-v4~="misc"]) .field textarea{height:auto;min-height:168px;padding:15px 18px;resize:vertical;line-height:1.7}
:where(body[data-v4~="misc"]) .field select{padding-right:45px;background:var(--warm) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141210' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 18px center;text-overflow:ellipsis}
:where(body[data-v4~="misc"]) .field input::placeholder,:where(body[data-v4~="misc"]) .field textarea::placeholder{color:var(--muted)}
:where(body[data-v4~="misc"]) .field input:hover,:where(body[data-v4~="misc"]) .field select:hover,:where(body[data-v4~="misc"]) .field textarea:hover{border-color:var(--line-2)}
:where(body[data-v4~="misc"]) .field input:focus,:where(body[data-v4~="misc"]) .field select:focus,:where(body[data-v4~="misc"]) .field textarea:focus{outline:none;border-color:var(--orange);background-color:#fff;box-shadow:0 0 0 3px rgba(254,80,0,.12)}
:where(body[data-v4~="misc"]) .field input[readonly]{color:var(--body);background:var(--warm-2)}
:where(body[data-v4~="misc"]) .field.flash select{animation:flash 1.2s var(--ease)}
@keyframes flash{0%,40%{border-color:var(--orange);background-color:var(--tint-2)}100%{}}
:where(body[data-v4~="misc"]) .field.invalid input,:where(body[data-v4~="misc"]) .field.invalid select,:where(body[data-v4~="misc"]) .field.invalid textarea{border-color:var(--orange-d);background-color:#fff}

/* ---------- contact ---------- */
:where(body[data-v4~="misc"]) .cat-grid{align-items:stretch}
:where(body[data-v4~="misc"]) .cat-card{gap:12px}
:where(body[data-v4~="misc"]) .cat-card .top{display:flex;justify-content:space-between;align-items:flex-start}
:where(body[data-v4~="misc"]) .cat-card .k{font-size:12px}
:where(body[data-v4~="misc"]) .cat-card h3{word-break:keep-all}
:where(body[data-v4~="misc"]) .cat-card ul{list-style:none;margin:3px 0 0;padding:15px 0 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:15px}
:where(body[data-v4~="misc"]) .cat-card li{position:relative;padding-left:15px}
:where(body[data-v4~="misc"]) .cat-card li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;background:var(--orange)}
:where(body[data-v4~="misc"]) .cat-card .pick{margin-top:auto;align-self:flex-start;background:none;border:0;border-bottom:1px solid currentColor;padding:15px 0 2px;border-radius:0;cursor:pointer;font-size:15px}
:where(body[data-v4~="misc"]) .cat-card .pick svg{width:15px;height:15px}
:where(body[data-v4~="misc"]) .cat-card.on{border-color:var(--orange)!important;box-shadow:0 0 0 1px var(--orange)}
:where(body[data-v4~="misc"]) .cat-card.on .pick{color:var(--orange)}

:where(body[data-v4~="misc"]) .contact-form-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:72px;align-items:start}
:where(body[data-v4~="misc"]) .form-col{display:grid;gap:39px}
:where(body[data-v4~="misc"]) .form-col .t{display:grid;gap:18px}
:where(body[data-v4~="misc"]) .inquiry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 21px}
:where(body[data-v4~="misc"]) .inquiry .wide{grid-column:1/-1}
:where(body[data-v4~="misc"]) .consent{display:flex!important;gap:9px;align-items:center;font-size:15px;color:var(--body);cursor:pointer}
:where(body[data-v4~="misc"]) .consent input{width:21px;height:21px;accent-color:var(--orange);margin:0;flex:none}
:where(body[data-v4~="misc"]) .consent a{color:var(--ink);border-bottom:1px solid currentColor}
:where(body[data-v4~="misc"]) .consent a:hover{color:var(--orange)}
:where(body[data-v4~="misc"]) .submit{display:grid;gap:15px;justify-items:start}
:where(body[data-v4~="misc"]) .submit .status{font-size:15px;color:var(--ink)}
:where(body[data-v4~="misc"]) .submit .status:empty{display:none}
:where(body[data-v4~="misc"]) .submit .after{display:flex;flex-wrap:wrap;gap:12px}
:where(body[data-v4~="misc"]) .submit .after:not(:has(:not([hidden]))){display:none}
:where(body[data-v4~="misc"]) .contact-aside{position:sticky;top:111px;display:grid;gap:24px}
:where(body[data-v4~="misc"]) .direct{display:grid;gap:18px;padding:27px;border-radius:var(--r);background:var(--warm)}
:where(body[data-v4~="misc"]) .direct .mail{display:flex;align-items:center;gap:12px;font:500 18px/1.3 var(--latin);color:var(--ink);word-break:break-all}
:where(body[data-v4~="misc"]) .direct .mail .ic{width:33px;height:33px;color:var(--orange);flex:none}
:where(body[data-v4~="misc"]) .direct .mail:hover{color:var(--orange)}
:where(body[data-v4~="misc"]) .direct dl{margin:0;display:grid;gap:15px;padding-top:15px;border-top:1px solid var(--line)}
:where(body[data-v4~="misc"]) .direct dt{font:500 12px/1 var(--latin);letter-spacing:0;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
:where(body[data-v4~="misc"]) .direct dd{margin:0;font-size:15px;color:var(--ink);line-height:1.6}
@media (max-width:981px){:where(body[data-v4~="misc"]) .contact-form-grid{grid-template-columns:1fr;gap:48px}:where(body[data-v4~="misc"]) .contact-aside{position:static}}
@media (max-width:639px){:where(body[data-v4~="misc"]) .inquiry{grid-template-columns:1fr}}

/* ---------- privacy ---------- */
:where(body[data-v4~="misc"]) .legal-head .in{max-width:none}
:where(body[data-v4~="misc"]) .legal-head .crumb{margin-bottom:9px}
:where(body[data-v4~="misc"]) .legal{display:grid;grid-template-columns:219px minmax(0,759px);gap:72px;justify-content:center;padding-block:57px 120px}
:where(body[data-v4~="misc"]) .legal-body{font-size:18px;line-height:1.9}
:where(body[data-v4~="misc"]) .legal-body h2{font-size:21px;margin-top:2.4em;padding-top:1.4em;border-top:1px solid var(--line)}
:where(body[data-v4~="misc"]) .legal-body h2:first-of-type{margin-top:1.8em}
:where(body[data-v4~="misc"]) .legal-body>p:first-child{font-size:18px;color:var(--ink);line-height:1.85}
:where(body[data-v4~="misc"]) .legal-body li::marker{color:var(--orange)}
:where(body[data-v4~="misc"]) .legal-contact{margin-top:2.6em;background:var(--warm);border-radius:var(--r);padding:27px 33px;scroll-margin-top:99px}
:where(body[data-v4~="misc"]) .legal-contact h2{margin:0 0 9px;padding:0;border:0;font-size:21px}
@media (max-width:999px){:where(body[data-v4~="misc"]) .legal{grid-template-columns:1fr;gap:0;padding-block:33px 87px}}

/* ---------- 404 ---------- */
:where(body[data-v4~="misc"]) .nf{position:relative;overflow:hidden;background:linear-gradient(118deg,#FFE3CB 0%,#FFF1E6 30%,#FFFFFF 62%);padding-bottom:var(--sec)}
:where(body[data-v4~="misc"]) .nf .hero-lines{opacity:.07}
:where(body[data-v4~="misc"]) .nf-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:57px;align-items:center;padding-block:72px 57px}
:where(body[data-v4~="misc"]) .nf .copy{display:grid;gap:21px;align-content:center}
:where(body[data-v4~="misc"]) .nf-code{display:flex;font:500 clamp(120px,16vw,219px)/.9 var(--latin);color:var(--orange);letter-spacing:0}
:where(body[data-v4~="misc"]) .nf-code span{display:inline-block;transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js :where(body[data-v4~="misc"]) .nf-code span{animation:nfin .8s var(--ease) both}
:where(body[data-v4~="misc"]) .nf-code span:nth-child(2){animation-delay:.08s}:where(body[data-v4~="misc"]) .nf-code span:nth-child(3){animation-delay:.16s}
@keyframes nfin{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
:where(body[data-v4~="misc"]) .nf .ill svg{width:100%;height:auto;max-width:561px;margin-inline:auto}
:where(body[data-v4~="misc"]) .nf-exits{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
:where(body[data-v4~="misc"]) .nf-brands{display:grid;gap:2px;margin-top:2px}
:where(body[data-v4~="misc"]) .nf-brands a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line);font-size:15px}
:where(body[data-v4~="misc"]) .nf-brands a b{font:500 15px/1.3 var(--latin);color:var(--ink)}
:where(body[data-v4~="misc"]) .nf-brands a span{color:var(--muted);font-size:12px;text-align:right}
:where(body[data-v4~="misc"]) .nf-brands a:hover b{color:var(--orange)}
@media (max-width:981px){:where(body[data-v4~="misc"]) .nf-grid{grid-template-columns:1fr;gap:24px;padding-block:48px 39px}:where(body[data-v4~="misc"]) .nf .ill{max-width:459px}:where(body[data-v4~="misc"]) .nf-exits{grid-template-columns:1fr}}

/* ---------- calculator ---------- */
:where(body[data-v4~="misc"]) .hero-page .h1 .o{color:var(--orange)}
:where(body[data-v4~="misc"]) .calc-sec{--calc-top:calc(var(--header-h,81px) + 24px)}
:where(body[data-v4~="misc"]) .calc-sec :is(output,.parts dd,.gtbl td,.reco-item .p b,.reco-item .m b){font-family:var(--latin);font-variant-numeric:tabular-nums}
:where(body[data-v4~="misc"]) .calc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:start}
:where(body[data-v4~="misc"]) .calc-side{grid-column:1/6;position:sticky;top:var(--calc-top);max-height:calc(100vh - var(--calc-top) - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;background:var(--warm);border-radius:var(--r)}
:where(body[data-v4~="misc"]) .calc-side::-webkit-scrollbar{width:6px}
:where(body[data-v4~="misc"]) .calc-side::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
:where(body[data-v4~="misc"]) .calc-side::-webkit-scrollbar-track{background:transparent}
:where(body[data-v4~="misc"]) .calc-form{display:grid;gap:27px;padding:36px 33px}
:where(body[data-v4~="misc"]) .calc-form>.eyebrow{padding-bottom:21px;border-bottom:1px solid var(--line-2)}
:where(body[data-v4~="misc"]) .calc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 15px}
:where(body[data-v4~="misc"]) .calc-fields .field{gap:9px}
:where(body[data-v4~="misc"]) .calc-fields .field>label{font-size:12px;font-weight:500;color:var(--muted);line-height:1.4}
:where(body[data-v4~="misc"]) .calc-fields .field :is(input,select){height:48px;background-color:#fff;font-weight:500}
:where(body[data-v4~="misc"]) .calc-fields .field input[readonly]{background:var(--warm-2);color:var(--body)}
:where(body[data-v4~="misc"]) .calc-form .btn{justify-self:start}
:where(body[data-v4~="misc"]) .calc-main{grid-column:6/13;display:grid;grid-template-columns:minmax(0,1fr);gap:72px;min-width:0}
:where(body[data-v4~="misc"]) .calc-result{display:grid;gap:24px;background:var(--warm);border-radius:var(--r);padding:36px 36px 33px}
:where(body[data-v4~="misc"]) .calc-result .total{display:flex;align-items:baseline;gap:15px;flex-wrap:wrap}
:where(body[data-v4~="misc"]) .calc-result output{font:500 clamp(66px,7vw,111px)/.9 var(--latin);color:var(--orange);letter-spacing:0}
:where(body[data-v4~="misc"]) .calc-result .total span{font-size:15px;color:var(--muted)}
:where(body[data-v4~="misc"]) .bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--warm-2)}
:where(body[data-v4~="misc"]) .bar span{height:100%;transition:width .3s ease-out}
:where(body[data-v4~="misc"]) .bar span+span{box-shadow:inset 2px 0 0 var(--warm)}
:where(body[data-v4~="misc"]) .parts{margin:0;display:grid;gap:0;border-top:1px solid var(--line-2)}
:where(body[data-v4~="misc"]) .parts>div{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
:where(body[data-v4~="misc"]) .parts i{width:9px;height:9px;display:block;border-radius:50%}
:where(body[data-v4~="misc"]) .parts dt{color:var(--body)}
:where(body[data-v4~="misc"]) .parts dd{margin:0;font-weight:500;font-size:15px;line-height:1;color:var(--ink)}
:where(body[data-v4~="misc"]) .calc-result .fine{margin:0;font-size:12px;color:var(--muted)}
:where(body[data-v4~="misc"]) .calc-block{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
:where(body[data-v4~="misc"]) main .calc-main .sh.calc-sh{margin-bottom:0!important;row-gap:12px}
:where(body[data-v4~="misc"]) main .calc-main .sh.calc-sh .t{gap:12px}
:where(body[data-v4~="misc"]) main .calc-main .sh.calc-sh:not(.v1) .d{grid-column:1/-1!important;padding-top:0!important}
:where(body[data-v4~="misc"]) main .calc-main .sh.calc-sh .d p{text-wrap:pretty;word-break:normal;line-break:strict}
:where(body[data-v4~="misc"]) main .calc-main .sh.calc-sh h2{font-size:clamp(24px,2vw,27px)!important;line-height:1.4!important}
:where(body[data-v4~="misc"]) .reco-list{display:grid;gap:9px}
:where(body[data-v4~="misc"]) .reco-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 15px;align-items:center;background:var(--warm);border-radius:12px;padding:18px 21px;transition:background .2s,transform .3s var(--ease)}
:where(body[data-v4~="misc"]) .reco-item:hover{background:var(--warm-2);transform:translateY(-2px)}
:where(body[data-v4~="misc"]) .reco-item .g{font:500 15px/1.3 var(--latin);color:var(--orange)}
:where(body[data-v4~="misc"]) .reco-item .l{font-size:15px;color:var(--ink);font-weight:500}
:where(body[data-v4~="misc"]) .reco-item .m{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px 15px;font-size:12px;color:var(--muted)}
:where(body[data-v4~="misc"]) .reco-item .m b{color:var(--ink);font-weight:500}
:where(body[data-v4~="misc"]) .reco-item .p{text-align:right;font-size:12px;color:var(--muted);line-height:1.3}
:where(body[data-v4~="misc"]) .reco-item .p b{display:block;font-weight:500;font-size:21px;line-height:1.1;color:var(--ink)}
:where(body[data-v4~="misc"]) .reco-empty{font-size:15px;background:var(--warm);border-radius:12px;padding:18px 21px;margin:0}
:where(body[data-v4~="misc"]) .calc-block .actions{margin-top:3px}
:where(body[data-v4~="misc"]) .calc-gpus .tbl{border:0;border-radius:0;background:none}
:where(body[data-v4~="misc"]) .calc-gpus .tbl table{min-width:561px}
:where(body[data-v4~="misc"]) .calc-gpus .tbl thead th{background:none;border-bottom:1px solid var(--ink);padding:12px 15px 12px 0}
:where(body[data-v4~="misc"]) .calc-gpus .tbl th,:where(body[data-v4~="misc"]) .calc-gpus .tbl td{padding:15px 15px 15px 0}
:where(body[data-v4~="misc"]) .calc-gpus .tbl tbody th{background:none;width:30%}
:where(body[data-v4~="misc"]) .calc-gpus .tbl td:last-child,:where(body[data-v4~="misc"]) .calc-gpus .tbl thead th:last-child{text-align:right;padding-right:0}
:where(body[data-v4~="misc"]) .gtbl .chip{height:24px;font-size:12px;margin-left:9px;vertical-align:1px}
:where(body[data-v4~="misc"]) .gtbl tr.deliver th{color:var(--orange-d)}
@media (max-width:1101px){:where(body[data-v4~="misc"]) .calc{grid-template-columns:minmax(0,1fr);row-gap:48px}:where(body[data-v4~="misc"]) .calc-side,:where(body[data-v4~="misc"]) .calc-main{grid-column:1/-1}:where(body[data-v4~="misc"]) .calc-side{position:static;max-height:none;overflow:visible}}
@media (max-width:639px){:where(body[data-v4~="misc"]) .calc-form{padding:27px 21px;gap:24px}:where(body[data-v4~="misc"]) .calc-result{padding:27px 21px}:where(body[data-v4~="misc"]) .calc-fields{grid-template-columns:1fr;gap:18px}:where(body[data-v4~="misc"]) .calc-main{gap:57px}:where(body[data-v4~="misc"]) .reco-item{grid-template-columns:1fr}:where(body[data-v4~="misc"]) .reco-item .p{text-align:left}}

/* line-break polish */
:where(body[data-v4~="misc"]) .hero-page .lead,:where(body[data-v4~="misc"]) .nf .lead,:where(body[data-v4~="misc"]) .cat-card p,:where(body[data-v4~="misc"]) .cat-card li,:where(body[data-v4~="misc"]) .reco-h p{word-break:normal;line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}
:where(body[data-v4~="misc"]) .gtbl th[scope=row]{white-space:nowrap}
:where(body[data-v4~="misc"]) .legal-body .legal-contact h2{margin:0 0 9px!important;padding:0;border:0}
:where(body[data-v4~="misc"]) .legal{justify-content:start}
:where(body[data-v4~="misc"]) .nf .hero-lines{top:24px;right:24px;width:420px}









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

/* pages/newsroom.css */
/* scoped by scripts/v4/sync-assets.mjs: newsroom */
/* pages_articles · ../../media/index.html Newsroom: featured story + two stacked stories, then an even grid.
   Cards carry no panel: rounded image, source · date line, title, hairline under the text block. */
body.nr:where([data-v4~="newsroom"]){--g:var(--col-gap,24px);--nr-r:18px}

/* heading: eyebrow, big title, lead (stacked) */
:where(body[data-v4~="newsroom"]) .nr-hero{padding-block:72px 57px}
:where(body[data-v4~="newsroom"]) .nr-hero .crumb{position:static;margin:0 0 57px}
:where(body[data-v4~="newsroom"]) .nr-hero .wrap>.eyebrow{margin-bottom:24px}
:where(body[data-v4~="newsroom"]) .nr-h1{font:500 clamp(42px,5.4vw,78px)/1.1 var(--font);color:var(--ink);max-width:12em}
:where(body[data-v4~="newsroom"]) .nr-lead{margin-top:27px;font-size:18px;line-height:1.8;color:var(--body)}
@media (max-width:759px){:where(body[data-v4~="newsroom"]) .nr-hero{padding-block:39px 36px}:where(body[data-v4~="newsroom"]) .nr-hero .crumb{margin-bottom:33px}:where(body[data-v4~="newsroom"]) .nr-h1{font-size:39px}:where(body[data-v4~="newsroom"]) .nr-lead{font-size:15px;margin-top:18px}}

body.nr:where([data-v4~="newsroom"]) .nr-sec{padding-block:96px}
body.nr:where([data-v4~="newsroom"]) .nr-sec+.nr-sec{padding-top:24px}
body.nr:where([data-v4~="newsroom"]) .nr-sec+.nr-sec::before{display:none}
body.nr:where([data-v4~="newsroom"]) .nr-sec .sh{margin-bottom:39px}
@media (max-width:759px){body.nr:where([data-v4~="newsroom"]) .nr-sec{padding-block:57px}body.nr:where([data-v4~="newsroom"]) .nr-sec .sh{margin-bottom:27px}}

/* shared card: no panel, the image and the type carry it */
:where(body[data-v4~="newsroom"]) .nr-card{display:flex;flex-direction:column;gap:24px;background:none;color:var(--ink);min-width:0}
:where(body[data-v4~="newsroom"]) .nr-card .photo{flex:none;border-radius:var(--nr-r);overflow:hidden;isolation:isolate}
:where(body[data-v4~="newsroom"]) .nr-card .photo img{transition:transform .9s var(--ease)}
:where(body[data-v4~="newsroom"]) .nr-card:hover .photo img{transform:scale(1.03)}
:where(body[data-v4~="newsroom"]) .nr-card .t{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1 1 auto;min-width:0;padding:0 0 24px;border-bottom:1px solid var(--line)}
:where(body[data-v4~="newsroom"]) .nr-card .m{display:flex;flex-wrap:wrap;align-items:center;gap:3px 0;font:500 12px/1.4 var(--latin);text-transform:uppercase;color:var(--muted)}
:where(body[data-v4~="newsroom"]) .nr-card .m b{font-weight:500;color:var(--ink)}
:where(body[data-v4~="newsroom"]) .nr-card .m b::after{content:"";display:inline-block;width:1px;height:9px;margin:0 12px;background:var(--line-2);vertical-align:-1px}
:where(body[data-v4~="newsroom"]) .nr-card time{font:inherit;color:var(--muted)}
:where(body[data-v4~="newsroom"]) .nr-card h3{font-weight:500;color:var(--ink);overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:6px;transition:text-decoration-color .25s var(--ease)}
:where(body[data-v4~="newsroom"]) .nr-card:hover h3,:where(body[data-v4~="newsroom"]) .nr-card:focus-visible h3{text-decoration-color:currentColor}
:where(body[data-v4~="newsroom"]) .nr-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:12px;font-weight:500;color:var(--muted);transition:color .2s}
:where(body[data-v4~="newsroom"]) .nr-go svg{width:12px;height:12px;transition:transform .25s var(--ease)}
:where(body[data-v4~="newsroom"]) .nr-card:hover .nr-go{color:var(--orange)}
:where(body[data-v4~="newsroom"]) .nr-card:hover .nr-go svg{transform:translate(2px,-2px)}
:where(body[data-v4~="newsroom"]) .nr-card:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:6px}

/* latest: 7 + 5 columns, the two right stories together match the featured height */
:where(body[data-v4~="newsroom"]) .nr-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:48px;align-items:stretch}
:where(body[data-v4~="newsroom"]) .nr-f{grid-column:1/8}
:where(body[data-v4~="newsroom"]) .nr-f .photo{aspect-ratio:16/9}
:where(body[data-v4~="newsroom"]) .nr-f h3{font-size:clamp(21px,2vw,27px);line-height:1.45;margin-bottom:12px}
:where(body[data-v4~="newsroom"]) .nr-side{grid-column:8/13;display:grid;grid-template-rows:1fr 1fr;row-gap:30px;min-height:0}
:where(body[data-v4~="newsroom"]) .nr-s{flex-direction:row;gap:21px;min-height:0}
:where(body[data-v4~="newsroom"]) .nr-s .photo{width:42%;height:auto;aspect-ratio:auto;align-self:stretch}
:where(body[data-v4~="newsroom"]) .nr-s .t{padding-top:3px}
:where(body[data-v4~="newsroom"]) .nr-s h3{font-size:18px;line-height:1.5;margin-bottom:12px}
@media (max-width:1101px){:where(body[data-v4~="newsroom"]) .nr-f,:where(body[data-v4~="newsroom"]) .nr-side{grid-column:1/-1}:where(body[data-v4~="newsroom"]) .nr-side{grid-template-rows:none;row-gap:36px}:where(body[data-v4~="newsroom"]) .nr-s .photo{min-height:210px}}
@media (max-width:639px){
 :where(body[data-v4~="newsroom"]) .nr-top{row-gap:36px}
 :where(body[data-v4~="newsroom"]) .nr-card{gap:18px}
 :where(body[data-v4~="newsroom"]) .nr-s{flex-direction:column}
 :where(body[data-v4~="newsroom"]) .nr-s .photo{width:100%;min-height:0;aspect-ratio:16/9}
 :where(body[data-v4~="newsroom"]) .nr-s .t{padding-top:0}
 :where(body[data-v4~="newsroom"]) .nr-f h3{font-size:21px}
}

/* all stories: even grid, every hairline on one line */
:where(body[data-v4~="newsroom"]) .nr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--g);row-gap:57px;align-items:stretch}
:where(body[data-v4~="newsroom"]) .nr-g .photo{aspect-ratio:16/10}
:where(body[data-v4~="newsroom"]) .nr-g h3{font-size:18px;line-height:1.55;margin-bottom:12px}
@media (max-width:981px){:where(body[data-v4~="newsroom"]) .nr-grid{grid-template-columns:1fr 1fr;row-gap:48px}}
@media (max-width:639px){:where(body[data-v4~="newsroom"]) .nr-grid{grid-template-columns:1fr;row-gap:36px}}
@media (prefers-reduced-motion:reduce){:where(body[data-v4~="newsroom"]) .nr-card .photo img,:where(body[data-v4~="newsroom"]) .nr-card h3,:where(body[data-v4~="newsroom"]) .nr-go,:where(body[data-v4~="newsroom"]) .nr-go svg{transition:none}:where(body[data-v4~="newsroom"]) .nr-card:hover .photo img{transform:none}}

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

/* pages/pages_services.css */
/* scoped by scripts/v4/sync-assets.mjs: pages_services */
/* pages_services v2.4 · bento layout (only additions on top of site.css)
   one idea per card · 12-col grid (gap = --col-gap) · radius 24 · tones: warm / white-line / tint, one orange card per page
   every px is a multiple of 3; letter-spacing 0 */
:where(body[data-v4~="pages_services"]) [role=tabpanel][hidden],:where(body[data-v4~="pages_services"]) .stab-p[hidden]{display:none!important}

/* ---------- bento grid ---------- */
:where(body[data-v4~="pages_services"]) .bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--col-gap);grid-auto-flow:row dense}
:where(body[data-v4~="pages_services"]) .bento+.bento,:where(body[data-v4~="pages_services"]) .bento+.more{margin-top:var(--col-gap)}
:where(body[data-v4~="pages_services"]) .bento>.span-3{grid-column:span 3}:where(body[data-v4~="pages_services"]) .bento>.span-4{grid-column:span 4}:where(body[data-v4~="pages_services"]) .bento>.span-6{grid-column:span 6}:where(body[data-v4~="pages_services"]) .bento>.span-8{grid-column:span 8}:where(body[data-v4~="pages_services"]) .bento>.span-12{grid-column:1/-1}
:where(body[data-v4~="pages_services"]) .bento>.r2,:where(body[data-v4~="pages_services"]) .bento>.tall{grid-row:span 2}
:where(body[data-v4~="pages_services"]) .bento>.flip{grid-column:7/13}
:where(body[data-v4~="pages_services"]) .bc{position:relative;border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:18px;min-height:240px;color:var(--body)}
:where(body[data-v4~="pages_services"]) .t-warm{background:#F5F4F1}:where(body[data-v4~="pages_services"]) .t-tint{background:#FFEADB}:where(body[data-v4~="pages_services"]) .t-line{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
:where(body[data-v4~="pages_services"]) .t-org{background:#FE5000;color:#fff}
:where(body[data-v4~="pages_services"]) .t-org h3,:where(body[data-v4~="pages_services"]) .t-org .kv,:where(body[data-v4~="pages_services"]) .t-org .kl,:where(body[data-v4~="pages_services"]) .t-org .ks,:where(body[data-v4~="pages_services"]) .t-org .bd-b,:where(body[data-v4~="pages_services"]) .t-org .open,:where(body[data-v4~="pages_services"]) .t-org .open b{color:#fff}
:where(body[data-v4~="pages_services"]) .bc h3{font-size:21px;line-height:1.45;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
:where(body[data-v4~="pages_services"]) .bc .chip{background:#fff;color:var(--ink);height:27px}
:where(body[data-v4~="pages_services"]) .bc.t-line .chip{background:var(--warm)}
:where(body[data-v4~="pages_services"]) .bc .ic{width:48px;height:48px;color:var(--ink);--ic-bg:transparent}
:where(body[data-v4~="pages_services"]) .bc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
:where(body[data-v4~="pages_services"]) .bc>.bd,:where(body[data-v4~="pages_services"]) .bc>h3{margin-top:auto}
/* card copy: always visible (title 21, body 15) */
:where(body[data-v4~="pages_services"]) .bd{display:grid;gap:9px}
:where(body[data-v4~="pages_services"]) .bd-b{display:grid;gap:9px;font-size:15px;line-height:1.75}
:where(body[data-v4~="pages_services"]) .bd-b b{display:block;font-size:12px;line-height:1.6;color:var(--muted);font-weight:500}
:where(body[data-v4~="pages_services"]) .open{display:grid;gap:6px;font-size:15px;line-height:1.75}
:where(body[data-v4~="pages_services"]) .open b{color:var(--ink);font-weight:500;margin-right:9px}
:where(body[data-v4~="pages_services"]) .cmp .open,:where(body[data-v4~="pages_services"]) .num-card .open{margin-top:9px;padding-top:12px;border-top:1px solid rgba(20,18,16,.1)}
:where(body[data-v4~="pages_services"]) .t-org .open{border-color:rgba(255,255,255,.35)}
:where(body[data-v4~="pages_services"]) .step-card{gap:24px}
:where(body[data-v4~="pages_services"]) .step-card .sn{font:500 clamp(39px,3.6vw,57px)/1 var(--latin);color:var(--orange)}
/* number card */
:where(body[data-v4~="pages_services"]) .num-card{justify-content:flex-end;gap:12px}
:where(body[data-v4~="pages_services"]) .kv{font:500 clamp(48px,5.4vw,84px)/1 var(--latin);color:var(--ink);font-variant-numeric:tabular-nums}
:where(body[data-v4~="pages_services"]) .kv small{font-size:.33em;margin-left:6px;font-weight:500}
:where(body[data-v4~="pages_services"]) .kv small.pre{margin:0 9px 0 0;font-family:var(--font)}
:where(body[data-v4~="pages_services"]) .kv.sm{font-size:clamp(27px,2.7vw,39px);line-height:1.25}
:where(body[data-v4~="pages_services"]) .kl{font-size:15px;line-height:1.6;color:var(--ink);font-weight:500}
:where(body[data-v4~="pages_services"]) .ks{font-size:12px;line-height:1.6;color:var(--muted)}
:where(body[data-v4~="pages_services"]) .cmp{min-height:300px;justify-content:space-between}

/* illustration card */
:where(body[data-v4~="pages_services"]) .ill-card{padding:36px;align-items:center;justify-content:center}
:where(body[data-v4~="pages_services"]) .ill-card svg{width:100%;height:auto;max-height:480px}
:where(body[data-v4~="pages_services"]) .ill-card.wide{min-height:0}:where(body[data-v4~="pages_services"]) .ill-card.wide svg{max-height:420px;width:auto;max-width:100%}
:where(body[data-v4~="pages_services"]) .case-ill{height:189px;display:flex;align-items:center;justify-content:center}
:where(body[data-v4~="pages_services"]) .case-ill svg{max-height:189px;width:auto;max-width:100%}

/* titles-only sequence: nodes on one orange dashed flow */
:where(body[data-v4~="pages_services"]) .chain-card{min-height:0;padding:39px 30px}
:where(body[data-v4~="pages_services"]) .chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
:where(body[data-v4~="pages_services"]) .chain li{position:relative;display:grid;gap:15px;justify-items:start;align-content:start;padding-right:12px}
:where(body[data-v4~="pages_services"]) .chain li::after{content:"";position:absolute;left:0;right:0;top:21px;border-top:1.5px dashed var(--orange);z-index:0}
:where(body[data-v4~="pages_services"]) .chain li:last-child::after{right:auto;width:21px}
:where(body[data-v4~="pages_services"]) .chain .n,:where(body[data-v4~="pages_services"]) .chain .ic{position:relative;z-index:1;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--ink);display:grid;place-items:center;font:500 12px/1 var(--latin);color:var(--ink)}
:where(body[data-v4~="pages_services"]) .chain .ic{padding:9px;box-sizing:border-box;--ic-bg:#fff}
:where(body[data-v4~="pages_services"]) .chain b{font-weight:500;font-size:18px;line-height:1.45;color:var(--ink)}
:where(body[data-v4~="pages_services"]) .chain p{font-size:15px;line-height:1.7;padding-right:12px}
:where(body[data-v4~="pages_services"]) .chain .chip{height:24px;font-size:12px}

/* three-step concept flow */
:where(body[data-v4~="pages_services"]) .flow-card{min-height:0}
:where(body[data-v4~="pages_services"]) .flow3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--col-gap)}
:where(body[data-v4~="pages_services"]) .flow3 li{display:grid;gap:9px;align-content:start;position:relative;padding-right:24px}
:where(body[data-v4~="pages_services"]) .flow3 li+li::before{content:"";position:absolute;left:-18px;top:3px;width:9px;height:9px;border-top:1.5px solid var(--orange);border-right:1.5px solid var(--orange);transform:rotate(45deg)}
:where(body[data-v4~="pages_services"]) .flow3 .n{font:500 12px/1 var(--latin);color:var(--orange)}
:where(body[data-v4~="pages_services"]) .flow3 b{font-weight:500;font-size:21px;color:var(--ink)}
:where(body[data-v4~="pages_services"]) .flow3 span:last-child{font-size:15px}

/* spec sheet */
:where(body[data-v4~="pages_services"]) .spec-card{min-height:0;gap:30px}
:where(body[data-v4~="pages_services"]) .spec-hi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--col-gap)}
:where(body[data-v4~="pages_services"]) .spec-hi>div{display:grid;gap:9px;align-content:start}
:where(body[data-v4~="pages_services"]) .sl{font-size:12px;color:var(--muted);font-weight:500}
:where(body[data-v4~="pages_services"]) .sv{font:500 clamp(21px,2.1vw,30px)/1.35 var(--latin);color:var(--ink)}
:where(body[data-v4~="pages_services"]) .spec-more{max-width:none}

/* bars (execution time) */
:where(body[data-v4~="pages_services"]) .bars-card{min-height:0}
:where(body[data-v4~="pages_services"]) .bars-cap,:where(body[data-v4~="pages_services"]) .bars li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr) minmax(0,1fr);gap:var(--col-gap);align-items:center}
:where(body[data-v4~="pages_services"]) .bars-cap{font-size:12px;color:var(--muted);font-weight:500}
:where(body[data-v4~="pages_services"]) .bars-cap span:last-child{text-align:right}
:where(body[data-v4~="pages_services"]) .bars{list-style:none;margin:0;padding:0}
:where(body[data-v4~="pages_services"]) .bars li{padding:21px 0;border-top:1px solid var(--line)}
:where(body[data-v4~="pages_services"]) .bars li:first-child{margin-top:12px}
:where(body[data-v4~="pages_services"]) .bl{font-size:15px}:where(body[data-v4~="pages_services"]) .bl b{display:block;color:var(--ink);font-weight:500;font-size:18px}
:where(body[data-v4~="pages_services"]) .bar{height:12px;border-radius:12px;background:var(--warm);overflow:hidden}
:where(body[data-v4~="pages_services"]) .bar i{display:block;height:100%;border-radius:12px;background:var(--orange)}
:where(body[data-v4~="pages_services"]) .bars li:not(:first-child) .bar i{background:var(--ink)}
:where(body[data-v4~="pages_services"]) .bt{font:500 21px/1.2 var(--latin);color:var(--ink);text-align:right;white-space:nowrap}

/* ---------- service cards + draggable rail ---------- */
:where(body[data-v4~="pages_services"]) .svc{position:relative;border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:12px;min-height:420px;color:var(--body);transition:background-color .2s ease}
:where(body[data-v4~="pages_services"]) .svc h3{font-size:clamp(24px,2.1vw,30px);line-height:1.3}
:where(body[data-v4~="pages_services"]) .svc>p{font-size:15px;line-height:1.7;max-width:22em}
:where(body[data-v4~="pages_services"]) .svc-b{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
:where(body[data-v4~="pages_services"]) .svc-n{display:grid;gap:6px;justify-items:start}
:where(body[data-v4~="pages_services"]) .svc .kv{font-size:clamp(39px,3.6vw,57px)}
:where(body[data-v4~="pages_services"]) .svc-n .u{margin-top:9px}
:where(body[data-v4~="pages_services"]) .svc .chip{align-self:flex-start;background:#fff;height:27px}
:where(body[data-v4~="pages_services"]) .svc.t-line .chip{background:var(--warm)}
:where(body[data-v4~="pages_services"]) .u{font-size:15px;font-weight:500;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:2px}
:where(body[data-v4~="pages_services"]) .arr{flex:none;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;transition:background-color .2s ease,transform .2s ease}
:where(body[data-v4~="pages_services"]) .arr svg{width:15px;height:15px}
@media (hover:hover) and (pointer:fine){:where(body[data-v4~="pages_services"]) .svc:hover .arr,:where(body[data-v4~="pages_services"]) a.bc:hover .arr,:where(body[data-v4~="pages_services"]) .svc-l:hover .arr{background:var(--orange)}:where(body[data-v4~="pages_services"]) .svc:hover .u,:where(body[data-v4~="pages_services"]) .svc-l:hover .u{color:var(--orange)}}
:where(body[data-v4~="pages_services"]) .svc-l{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;align-self:stretch}
:where(body[data-v4~="pages_services"]) a.svc:active,:where(body[data-v4~="pages_services"]) a.bc:active{transform:scale(.99)}
:where(body[data-v4~="pages_services"]) .rail-w{position:relative}
:where(body[data-v4~="pages_services"]) .rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 11*var(--col-gap))/12*4 + 3*var(--col-gap));gap:var(--col-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}
:where(body[data-v4~="pages_services"]) .rail::-webkit-scrollbar{display:none}
:where(body[data-v4~="pages_services"]) .rail.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
:where(body[data-v4~="pages_services"]) .rail.drag a{pointer-events:none}
:where(body[data-v4~="pages_services"]) .rail>.svc{scroll-snap-align:start}
:where(body[data-v4~="pages_services"]) .rail-c{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}
:where(body[data-v4~="pages_services"]) .rb{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background-color .15s ease,color .15s ease,opacity .15s ease}
:where(body[data-v4~="pages_services"]) .rb svg{width:15px;height:15px}:where(body[data-v4~="pages_services"]) .rb[data-dir="-1"] svg{transform:rotate(180deg)}
:where(body[data-v4~="pages_services"]) .rb:hover{background:var(--ink);color:#fff}:where(body[data-v4~="pages_services"]) .rb:disabled{opacity:.3;cursor:default;background:#fff;color:var(--ink)}
:where(body[data-v4~="pages_services"]) .rail-w.fits .rail-c{display:none}
:where(body[data-v4~="pages_services"]) .rel .svc{min-height:360px}

/* category groups: chip label + v1 line + rail */
:where(body[data-v4~="pages_services"]) .cat+.cat{margin-top:57px}
:where(body[data-v4~="pages_services"]) .cat-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px 18px;margin-bottom:24px}
:where(body[data-v4~="pages_services"]) .chip.on{background:var(--orange);color:#fff;height:33px;padding:0 15px;font-size:15px}
:where(body[data-v4~="pages_services"]) .cat-p{font-size:15px;line-height:1.8;max-width:48em;margin:0}
:where(body[data-v4~="pages_services"]) .cat-p b{color:var(--ink);font-weight:500;margin-right:9px}

/* brand / path cards */
:where(body[data-v4~="pages_services"]) .brand-card{gap:9px}
:where(body[data-v4~="pages_services"]) .brand-ill{height:240px;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
:where(body[data-v4~="pages_services"]) .brand-ill svg{max-height:240px;width:auto;max-width:100%}
:where(body[data-v4~="pages_services"]) .brand-card .n{font:500 12px/1 var(--latin);color:var(--muted)}
:where(body[data-v4~="pages_services"]) .bname{font:500 clamp(27px,2.6vw,36px)/1.2 var(--latin);color:var(--ink)}
:where(body[data-v4~="pages_services"]) .brole{font-size:15px;color:var(--orange-t,#B94016);font-weight:500;margin-bottom:9px}
:where(body[data-v4~="pages_services"]) .brand-card .open{margin-bottom:15px}
:where(body[data-v4~="pages_services"]) a.path{min-height:360px}
:where(body[data-v4~="pages_services"]) a.path h3.big{font-size:clamp(27px,2.6vw,36px);line-height:1.25;margin-top:auto}
:where(body[data-v4~="pages_services"]) a.path p{max-width:30em}
:where(body[data-v4~="pages_services"]) .hero-kpi{display:flex;flex-wrap:wrap;gap:9px 27px;font-size:15px;color:var(--body)}
:where(body[data-v4~="pages_services"]) .hero-kpi b{font:500 27px/1 var(--latin);color:var(--ink);margin-right:6px}

/* faq split */
:where(body[data-v4~="pages_services"]) .faq-split .faq-h{display:grid;gap:18px}

/* ---------- responsive ---------- */
@media (max-width:1101px){
 :where(body[data-v4~="pages_services"]) .bento>.span-3{grid-column:span 6}
 :where(body[data-v4~="pages_services"]) .bento>.span-4{grid-column:span 6}
 :where(body[data-v4~="pages_services"]) .bento>.span-4:last-child:nth-child(odd){grid-column:1/-1}
 :where(body[data-v4~="pages_services"]) .bento>.span-6.r2,:where(body[data-v4~="pages_services"]) .bento>.flip{grid-column:1/-1;grid-row:auto}
 :where(body[data-v4~="pages_services"]) .bento>.tall{grid-row:auto}
 :where(body[data-v4~="pages_services"]) .ill-card svg{max-height:390px}
 :where(body[data-v4~="pages_services"]) .rail{grid-auto-columns:calc((100% - var(--col-gap))/2.2)}
 :where(body[data-v4~="pages_services"]) .chain{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:30px}
}
@media (max-width:759px){
 :where(body[data-v4~="pages_services"]) .bento>*{grid-column:1/-1!important}
 :where(body[data-v4~="pages_services"]) .bento>.num-card{grid-column:span 6!important}
 :where(body[data-v4~="pages_services"]) .bento>.num-card:last-child:nth-child(odd),:where(body[data-v4~="pages_services"]) .bento>.cmp{grid-column:1/-1!important}
 :where(body[data-v4~="pages_services"]) .bc{padding:24px;min-height:0;gap:15px}
 :where(body[data-v4~="pages_services"]) .num-card{min-height:180px}
 :where(body[data-v4~="pages_services"]) .bc .ic{width:39px;height:39px}
 :where(body[data-v4~="pages_services"]) .bc h3{font-size:18px}
 :where(body[data-v4~="pages_services"]) .kv{font-size:45px}
 :where(body[data-v4~="pages_services"]) .ill-card{padding:21px}:where(body[data-v4~="pages_services"]) .ill-card svg{max-height:270px}
 :where(body[data-v4~="pages_services"]) .chain{grid-template-columns:1fr;row-gap:0}
 :where(body[data-v4~="pages_services"]) .chain li{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:15px;padding:9px 0}
 :where(body[data-v4~="pages_services"]) .chain li::after{left:21px;right:auto;top:0;bottom:0;width:0;border-top:0;border-left:1.5px dashed var(--orange)}
 :where(body[data-v4~="pages_services"]) .chain li:first-child::after{top:30px}:where(body[data-v4~="pages_services"]) .chain li:last-child::after{bottom:auto;height:30px;width:0}
 :where(body[data-v4~="pages_services"]) .chain .chip{grid-column:2}
 :where(body[data-v4~="pages_services"]) .chain b{font-size:15px}
 :where(body[data-v4~="pages_services"]) .flow3{grid-template-columns:1fr;gap:21px}:where(body[data-v4~="pages_services"]) .flow3 li+li::before{display:none}
 :where(body[data-v4~="pages_services"]) .spec-hi{grid-template-columns:1fr;gap:18px}
 :where(body[data-v4~="pages_services"]) .bars-cap{display:none}
 :where(body[data-v4~="pages_services"]) .bars li{grid-template-columns:minmax(0,1fr) auto;gap:9px 15px}:where(body[data-v4~="pages_services"]) .bars .bar{grid-column:1/-1;grid-row:2}
 :where(body[data-v4~="pages_services"]) .rail{grid-auto-columns:84%}
 :where(body[data-v4~="pages_services"]) .svc{min-height:360px;padding:24px}
 :where(body[data-v4~="pages_services"]) .brand-ill{height:189px}:where(body[data-v4~="pages_services"]) .brand-ill svg{max-height:189px}
 :where(body[data-v4~="pages_services"]) .case-ill{height:150px}:where(body[data-v4~="pages_services"]) .case-ill svg{max-height:150px}
 :where(body[data-v4~="pages_services"]) .rail-c{display:none}
}
/* line breaking: headings keep phrases whole on desktop (wbr hints in markup); phones fall back to normal CJK breaking */
@media (max-width:759px){:where(body[data-v4~="pages_services"]) main .h1,:where(body[data-v4~="pages_services"]) main .h2,:where(body[data-v4~="pages_services"]) main h3,:where(body[data-v4~="pages_services"]) main .cta h2,:where(body[data-v4~="pages_services"]) main summary{overflow-wrap:anywhere}}
:where(body[data-v4~="pages_services"]) .faq summary,:where(body[data-v4~="pages_services"]) .kl,:where(body[data-v4~="pages_services"]) .ks,:where(body[data-v4~="pages_services"]) .bd-b p,:where(body[data-v4~="pages_services"]) .svc>p{text-wrap:pretty}

:where(body[data-v4~="pages_services"]) *,:where(body[data-v4~="pages_services"]) *::before,:where(body[data-v4~="pages_services"]) *::after{letter-spacing:0!important}
:where(body[data-v4~="pages_services"]) .faq-split{align-items:start}
/* v2.4.1 fixes */
:where(body[data-v4~="pages_services"]) .faq-split>.stick{align-self:start}
:where(body[data-v4~="pages_services"]) .chain li:first-child::after{left:21px}
:where(body[data-v4~="pages_services"]) main :is(.h1,.h2,h3,.lead,p,summary,b){overflow-wrap:anywhere}
:where(body[data-v4~="pages_services"]) .bc.span-6 .ic,:where(body[data-v4~="pages_services"]) .bc.span-8 .ic{width:57px;height:57px}
:where(body[data-v4~="pages_services"]) .bc.span-6>.bd h3,:where(body[data-v4~="pages_services"]) .bc.span-8>.bd h3{font-size:24px}
/* v2.4.2 · copy always open: titles align across a row (content from the top) */
:where(body[data-v4~="pages_services"]) .bc>.bd{margin-top:18px}
:where(body[data-v4~="pages_services"]) .ic-card{gap:0}
:where(body[data-v4~="pages_services"]) .ic-card .bc-top+.bd,:where(body[data-v4~="pages_services"]) .ic-card .bc-top+h3{margin-top:39px}
:where(body[data-v4~="pages_services"]) .num-card>.open{margin-top:12px}
:where(body[data-v4~="pages_services"]) .cat-legend{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--col-gap);margin-bottom:39px}
:where(body[data-v4~="pages_services"]) .cat-legend>div{display:grid;gap:12px;align-content:start;justify-items:start}
:where(body[data-v4~="pages_services"]) .cat-legend .span-3{grid-column:span 3}:where(body[data-v4~="pages_services"]) .cat-legend .span-4{grid-column:span 4}:where(body[data-v4~="pages_services"]) .cat-legend .span-6{grid-column:span 6}:where(body[data-v4~="pages_services"]) .cat-legend .span-12{grid-column:1/-1}
@media (max-width:981px){:where(body[data-v4~="pages_services"]) .cat-legend>div{grid-column:1/-1!important}}

/* pages/projects.css */
/* 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%}

/* regionmap.css */
/* region dot maps (home atlas + ../compute/index.html hero) · replaces the 3D globe · all px multiples of 3 */
.rmaps{margin:0 0 72px}
.rm-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.rm{position:relative;display:flex;flex-direction:column;gap:18px;transition:opacity .3s var(--ease,ease)}
.rm-hit{position:absolute;inset:-9px;z-index:1;background:none;border:0;border-radius:24px;cursor:pointer;padding:0}
.rm-hit:focus-visible{outline:2px solid var(--orange,#FE5000);outline-offset:3px}
.rm-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rm-h h3{margin:0;font-size:24px;line-height:1.2;font-weight:600;color:var(--ink,#141210)}
.rm-h .en{font-size:15px;color:var(--muted,#888B8D)}
.rm-h .n{margin-left:auto;font-size:15px;color:var(--muted,#65686A)}
.rm-h .n b{font-weight:600;color:var(--ink,#141210);font-variant-numeric:tabular-nums}
.rm-map{position:relative;aspect-ratio:3/2;max-width:100%;border-radius:18px;background:var(--warm,#F5F4F1);overflow:hidden;transition:background .3s var(--ease,ease)}
.rm-map svg{display:block;width:100%;height:100%}
.rm-map path{fill:none;stroke-linecap:round;stroke-width:6.6}
.rm-map .l{stroke:#D9D8D6}
.rm-map .h{stroke:#FFD6B0;transition:stroke .3s var(--ease,ease)}
.rm-pin{position:absolute;z-index:2;width:33px;height:33px;transform:translate(-50%,-50%);padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.rm-pin i{display:block;width:15px;height:15px;border-radius:50%;background:var(--orange,#FE5000);box-shadow:0 0 0 3px #fff,0 3px 9px rgba(20,18,16,.18);transition:transform .25s var(--ease,ease),box-shadow .25s var(--ease,ease)}
.rm-pin:hover i,.rm-pin:focus-visible i,.rm-pin.sel i{transform:scale(1.2);box-shadow:0 0 0 3px #fff,0 0 0 9px rgba(254,80,0,.18),0 3px 9px rgba(20,18,16,.18)}
.rm-pin:focus-visible{outline:none}
.rm-pin.dim i{background:#B9B7B3}
.rm-pin .lab{position:absolute;top:calc(50% + var(--dy,0px));transform:translateY(-50%);display:flex;align-items:center;gap:6px;white-space:nowrap;pointer-events:none}
.rm-pin.r .lab{left:30px}.rm-pin.l .lab{right:30px;flex-direction:row-reverse}
.rm-pin .lab b{font-size:15px;line-height:1;font-weight:500;color:var(--ink,#141210);text-shadow:0 0 6px #fff,0 0 3px #fff}
.rm-pin .lab em{font-style:normal;font-size:12px;line-height:1;padding:6px 6px;border-radius:6px;background:#fff;color:var(--ink,#141210);box-shadow:inset 0 0 0 1px var(--line,#E6E3DD);font-variant-numeric:tabular-nums}
.rm-pin.l .lab em:last-of-type{margin-left:0}
.rm-pin.sel .lab b{font-weight:600}
.rm-pin.sel .lab em{background:var(--orange,#FE5000);color:#fff;box-shadow:none}
.rm-pin.dim .lab{opacity:.45}
.rm-c{margin:0;font-size:15px;line-height:1.6;color:var(--muted,#65686A)}
.rm-c .sel{color:var(--ink,#141210);font-weight:600}
@media (hover:hover){.rm:hover .rm-map{background:var(--warm-2,#EFEDE8)}}
.rm.on .rm-map{background:var(--tint,#FFF6EF)}
.rmaps.picked .rm:not(.on){opacity:.42}
.rmaps.picked .rm:not(.on) .rm-map .h{stroke:#D9D8D6}
.rm-foot{display:flex;justify-content:space-between;align-items:center;gap:21px;margin-top:30px;font-size:12px;color:var(--muted,#65686A)}
.rm-foot p{margin:0}
.rm-foot button{background:none;border:0;font:inherit;font-size:15px;color:var(--ink,#141210);cursor:pointer;padding:0;border-bottom:1px solid currentColor}
@media (max-width:900px){
  .rm-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:81%;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;margin:0 calc(var(--gutter,21px)*-1);padding:9px var(--gutter,21px) 12px;scroll-padding:0 var(--gutter,21px);scrollbar-width:none}
  .rm-row::-webkit-scrollbar{display:none}
  .rm{scroll-snap-align:start}
  .rm-hit{inset:0}
  .rm-h h3{font-size:21px}
  .rm-pin .lab b{font-size:12px}.rm-pin .lab em{font-size:9px;padding:3px 6px}.rm-pin .lab{gap:3px}.rm-pin.r .lab{left:24px}.rm-pin.l .lab{right:24px}
  .rm-foot{flex-direction:column;align-items:flex-start;gap:12px}
}
@media (prefers-reduced-motion:reduce){.rm,.rm-map,.rm-pin i,.rm-pin span{transition:none}}

*,*::before,*::after{letter-spacing:0!important}
/* ../compute/index.html hero: copy on top, the three maps below (the hero no longer hosts an absolute-positioned globe) */
:is(main#main.v1c,#main .v1c) .atlas-hero{height:auto!important;padding:39px max(39px,calc((100% - 1260px) / 2)) 99px!important}
:is(main#main.v1c,#main .v1c) .atlas-hero .atlas-copy{position:static!important;max-width:561px}
:is(main#main.v1c,#main .v1c) .atlas-hero .rmaps{position:relative;z-index:2;margin:48px 0 0}
:is(main#main.v1c,#main .v1c) .atlas-hero .rm-map{background:#fff}
:is(main#main.v1c,#main .v1c) .atlas-hero .rm.on .rm-map{background:var(--tint,#FFF6EF)}
@media (hover:hover){:is(main#main.v1c,#main .v1c) .atlas-hero .rm:hover .rm-map{background:#FBFAF8}}
@media (max-width:759px){:is(main#main.v1c,#main .v1c) .atlas-hero{padding:24px 21px 72px!important}
  :is(main#main.v1c,#main .v1c) .atlas-hero .rmaps{margin-top:36px}
  :is(main#main.v1c,#main .v1c) .atlas-hero .rm-row{margin:0 -21px;padding:9px 21px 12px;scroll-padding:0 21px}}

/* feature-map.css */
/* feature map (_build/feature_map.py, feature-map.js): numbered legend + large drawing with markers + glass popover,
   then every item as a full card below.
   svg.iso .fm-part[data-fm] = one mapped part; .fm-mk[data-fm] = its numbered marker. .fm-on on the svg = one part
   selected: it stays at full strength with an orange outline, the other parts fall to .25, its marker turns orange. */
svg.iso.fm .fm-part,svg.iso.fm .fm-mk{cursor:pointer}
svg.iso.fm-on .fm-part:not(.fm-cur){opacity:.25}
svg.iso.fm-on>:not(.fm-part):not(.fm-mks):not(style){opacity:.5}
svg.iso.fm-on .fm-cur :is(polygon,polyline,path,circle,ellipse,rect):not(.flow-d):not([fill="#FE5000"]){stroke:#FE5000}
svg.iso.fm-on .fm-cur .lbl text{fill:#FE5000}
svg.iso .fm-mk circle{fill:#fff;stroke:#1A1714}
svg.iso .fm-mk text{fill:#1A1714;pointer-events:none}
svg.iso.fm-on .fm-mk.fm-cur circle{fill:#FE5000;stroke:#FE5000}
svg.iso.fm-on .fm-mk.fm-cur text{fill:#fff}
.fmap.fm-big svg.iso :is(polygon,polyline,path,ellipse,circle,rect){vector-effect:non-scaling-stroke}   /* ink lines stay 0.75 px at any scale */

.fmap{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
/* ---- 1. overview: legend (3 / 12) + drawing (9 / 12), fits one 1440x900 viewport */
.fm-ov{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.fm-side{grid-column:span 3;position:sticky;top:111px;align-self:start}
.fm-leg{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.fm-lb{appearance:none;display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:12px 15px 12px 12px;border:0;border-radius:12px;background:transparent;font:inherit;font-size:15px;line-height:1.45;font-weight:500;color:var(--ink,#1A1714);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fm-lb .ic{width:24px;height:24px;flex:none}
.fm-lt{min-width:0;text-wrap:pretty}
.fm-lb:hover,.fm-lb.fm-act{background:#F6F5F2}
.fm-lb[aria-expanded="true"]{background:#F6F5F2;box-shadow:inset 0 0 0 1px rgba(254,80,0,.5)}
.fm-lb:focus{outline:none}
.fm-lb:focus-visible{outline:2px solid #FE5000;outline-offset:-2px}
.fm-ill{grid-column:span 9;position:relative;background:#F6F5F2;border-radius:24px;padding:36px 42px;display:flex;align-items:center;justify-content:center;height:clamp(420px,calc(100vh - 210px),600px);box-sizing:border-box;overflow:hidden}
.fm-ill svg{display:block;width:auto;height:100%;max-width:100%;max-height:100%}
.fmap.fm-c3 .fm-ill{height:clamp(390px,calc(100vh - 240px),540px)}

/* glass popover (light Liquid Glass): white translucent + blur, fine border, soft shadow, small pointer */
.fm-pop{position:absolute;left:0;top:0;z-index:3;width:300px;max-width:calc(100% - 24px);box-sizing:border-box;padding:18px 21px 21px;border-radius:18px;
  background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
  border:1px solid rgba(20,18,16,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(20,18,16,.06),0 18px 42px -15px rgba(20,18,16,.3);
  text-align:left;visibility:hidden;opacity:0;transform:translateY(3px) scale(.98);pointer-events:none}
.fm-pop.on{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.fm-arr{position:absolute;width:12px;height:12px;box-sizing:border-box;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:solid rgba(20,18,16,.09);border-width:0 0 1px 1px;clip-path:polygon(0 0,0 100%,100% 100%);pointer-events:none}
.fm-pop[data-side="r"] .fm-arr{left:-6px;top:var(--ay,50%);margin-top:-6px;transform:rotate(45deg)}
.fm-pop[data-side="l"] .fm-arr{right:-6px;top:var(--ay,50%);margin-top:-6px;transform:rotate(225deg)}
.fm-pop[data-side="d"] .fm-arr{top:-6px;left:var(--ax,50%);margin-left:-6px;transform:rotate(135deg)}
.fm-pop[data-side="u"] .fm-arr{bottom:-6px;left:var(--ax,50%);margin-left:-6px;transform:rotate(315deg)}
.fm-pt{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;font-size:15px;line-height:1.45;font-weight:500;color:var(--ink,#1A1714)}
.fm-pt .fm-n{background:#FE5000;border-color:#FE5000;color:#fff}
.fm-pb{display:grid;gap:9px;font-size:15px;line-height:1.65;color:var(--body,#3A3632)}
.fm-pb p{margin:0;text-wrap:pretty}
.fm-pb b{display:block;margin-bottom:0;font-size:12px;line-height:1.6;font-weight:400;color:var(--muted,#65686A)}

/* ---- 2. every item in full, always visible (fm-c4 = 4 per row, fm-c3 = 3 per row) */
.fm-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:15px}
.fmap.fm-c3 .fm-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.fmap.fm-c2 .fm-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.fm-i{background:#fff;border-radius:18px;padding:24px 24px 27px;box-shadow:inset 0 0 0 1px rgba(20,18,16,.1);outline:1.5px solid transparent;outline-offset:-1.5px;-webkit-tap-highlight-color:transparent;scroll-margin-top:99px}
.fm-i.fm-act{outline-color:#FE5000;box-shadow:none}
.fm-top{display:flex;align-items:flex-start;gap:12px}
.fm-top .ic{width:27px;height:27px;flex:none;margin-top:-3px}
.fm-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;margin-top:1px;border-radius:50%;box-sizing:border-box;border:1.2px solid #1A1714;background:#fff;font-size:12px;line-height:1;font-weight:500;color:#1A1714;font-variant-numeric:tabular-nums}
.fm-lb .fm-n{margin-top:0}
.fm-i.fm-act .fm-n,.fm-lb.fm-act .fm-n,.fm-lb[aria-expanded="true"] .fm-n{background:#FE5000;border-color:#FE5000;color:#fff}
.fm-i h3{margin:0;font-size:18px;line-height:1.45;font-weight:500;color:var(--ink,#1A1714)}
.fm-b{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:3px}
.fm-b:focus{outline:none}
.fm-b:focus-visible{outline:2px solid #FE5000;outline-offset:3px}
.fm-d{display:grid;align-content:start;gap:15px;margin-top:18px;padding-left:33px;font-size:15px;line-height:1.7;color:var(--body,#3A3632)}
.fm-d p{margin:0;text-wrap:pretty}
.fm-d b{display:block;margin-bottom:3px;font-size:12px;line-height:1.6;font-weight:400;color:var(--muted,#65686A)}

@media (max-width:1101px){
  .fm-side{grid-column:span 4}
  .fm-ill{grid-column:span 8;padding:24px;height:clamp(390px,calc(100vh - 210px),540px)}
  .fmap.fm-c4 .fm-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* phones: drawing on top, then the cards as a numbered accordion (collapsed only when feature-map.js runs) */
@media (max-width:759px){
  .fmap{gap:12px}
  .fm-ov{display:block}
  .fm-side,.fm-pop{display:none}
  .fm-ill{height:auto;padding:18px;border-radius:15px}
  .fm-ill svg{width:100%;height:auto;max-height:54vh}
  .fmap .fm-list,.fmap.fm-c4 .fm-list,.fmap.fm-c3 .fm-list{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:9px}
  .fm-i{padding:0;border-radius:15px}
  .fm-top{padding:15px 15px 15px 18px;align-items:center}
  .fm-top .ic{margin-top:0}
  .fm-i h3{flex:1;font-size:15px}
  .fm-b{display:block;width:100%}
  .fmap.fm-js .fm-b::after{content:"";float:right;width:6px;height:6px;margin:6px 3px 0 12px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
  .fmap.fm-js .fm-i.fm-open .fm-b::after{transform:translateY(3px) rotate(225deg)}
  .fm-d{margin:0;padding:0 18px 21px 51px;gap:12px}
  .fmap.fm-js .fm-i:not(.fm-open) .fm-d{display:none}
}
@media (prefers-reduced-motion:no-preference){
  svg.iso.fm .fm-part,svg.iso.fm>*{transition:opacity .3s ease}
  .fm-i{transition:background-color .25s ease,outline-color .25s ease}
  .fm-lb{transition:background-color .2s ease,box-shadow .2s ease}
  .fm-pop{transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
  .fm-pop.on{transition:opacity .18s ease,transform .18s ease,visibility 0s}
  .fm-n,svg.iso .fm-mk circle,svg.iso .fm-mk text{transition:fill .2s ease,stroke .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
}

*,*::before,*::after{letter-spacing:0!important}

/* ill-motion.css */
/* ill-motion: calm, purposeful motion for the isometric line illustrations (svg.iso, drawn by _build/iso.py).
   Hooks set in iso.py: .fl routed orange flow (.flow-b line, .flow-d dash overlay, .flow-e end dot)  .flow legacy dashed flow  .subj the one orange subject  .acc orange solid line
   .led rack status LED  .ping sensor  .air airflow arrow (--dx/--dy = unit direction)  .g-gauge .ndl needle  .g-spark .spk sparkline
   .alt[data-alt] alternative scenes in one drawing (only .cur is shown).
   ill-motion.js adds html.im, and on each svg: .im-seen once it has been on screen, .im-in while it is on screen.
   Without JS or with reduced motion every drawing is shown complete and still. */

/* alternative scenes: only the current one is visible (also without JS) */
svg.iso .alt:not(.cur){opacity:0;pointer-events:none}

/* selectable cards that drive an .alt scene (../konstra-ai/mep/index.html air / liquid) */
.bc.alt-tab{cursor:pointer;background:#F5F4F1;box-shadow:none;transition:background-color .3s ease,box-shadow .3s ease;-webkit-tap-highlight-color:transparent}
.bc.alt-tab.on{background:#fff;box-shadow:inset 0 0 0 1px #FE5000}
.bc.alt-tab:focus{outline:none}
.bc.alt-tab:focus-visible{outline:2px solid #FE5000;outline-offset:3px}

@media (prefers-reduced-motion:no-preference){
  /* every infinite loop waits for the drawing to be on screen */
  html.im svg.iso:not(.im-in) *{animation-play-state:paused!important}
  html.im svg.iso .alt:not(.cur) *{animation-play-state:paused!important}

  /* flow: dashes travel along their path (84 = common multiple of the 3/3, 4/3 and 2/2 dash periods) */
  html.im svg.iso polyline[stroke-dasharray]:not(.flow){animation:none}
  html.im svg.iso polyline.flow{animation:imFlow 16s linear infinite}
  /* routed flows (iso.flow): solid orange run stays put, only its faint white dash overlay travels (period 12 -> 84) */
  html.im svg.iso path.flow-d{animation:imFlow 16s linear infinite}
  @keyframes imFlow{to{stroke-dashoffset:-84}}

  /* the orange subject settles in: short rise with a fade */
  html.im svg.iso .subj{transition:opacity .8s cubic-bezier(.22,.61,.36,1) .3s,transform 1s cubic-bezier(.22,.61,.36,1) .3s}
  html.im svg.iso:not(.im-seen) .subj,html.im svg.iso .alt:not(.cur) .subj{opacity:0;transform:translateY(6px);transition-delay:0s}

  /* accent lines draw once */
  html.im svg.iso .acc{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s cubic-bezier(.77,0,.175,1) .2s}
  html.im svg.iso.im-seen .acc{stroke-dashoffset:0}

  /* signals */
  html.im svg.iso .led{animation:imLed 4.2s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.6s)}
  @keyframes imLed{0%,100%{opacity:1}50%{opacity:.25}}
  html.im svg.iso .ping{transform-box:fill-box;transform-origin:center;animation:imPing 4.8s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.2s)}
  @keyframes imPing{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.55}}
  html.im svg.iso .air{animation:imAir 3.6s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.9s)}
  @keyframes imAir{0%{transform:translate(calc(var(--dx,0) * -3px),calc(var(--dy,0) * -3px));opacity:.35}45%{opacity:1}100%{transform:translate(calc(var(--dx,0) * 3px),calc(var(--dy,0) * 3px));opacity:.35}}
  html.im svg.iso .g-gauge .ndl{transform-box:fill-box;transform-origin:0 100%;rotate:-70deg;transition:rotate 1.4s cubic-bezier(.22,.61,.36,1) .5s;animation:imNeedle 6s ease-in-out 2s infinite}
  html.im svg.iso.im-seen .g-gauge .ndl{rotate:0deg}
  @keyframes imNeedle{0%,100%{transform:rotate(0deg)}35%{transform:rotate(-7deg)}70%{transform:rotate(4deg)}}
  html.im svg.iso .g-spark .spk{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.45,0,.2,1) .4s}
  html.im svg.iso.im-seen .g-spark .spk{stroke-dashoffset:0}
  html.im svg.iso .g-spark .spk-tip{opacity:0;transition:opacity .3s ease 1.9s}
  html.im svg.iso.im-seen .g-spark .spk-tip{opacity:1}

  /* alternative scenes crossfade */
  html.im svg.iso .alt{transition:opacity .6s ease}
}

*,*::before,*::after{letter-spacing:0!important}

/* spec-switch.css */
/* spec model switcher (_build/spec_switch.py, spec-switch.js): v1 GPU chip pills above the spec table.
   The heads and tables of all models sit stacked in one grid cell; only .on is visible, so nothing jumps. */
.spsw-st{display:grid;grid-template-columns:minmax(0,1fr)}
.spsw-st>.spsw-v{grid-area:1/1;min-width:0;visibility:hidden}
.spsw-st>.spsw-v.on{visibility:visible}
.spsw .sh{margin-bottom:30px}
.spsw-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.spsw-tabs [role=tab]{height:48px;min-width:96px;padding:0 21px;border-radius:999px;border:1px solid var(--line,#E4DFDA);background:#fff;font:inherit;font-size:15px;font-weight:500;color:var(--ink,#1A1714);cursor:pointer;-webkit-tap-highlight-color:transparent}
.spsw-tabs [role=tab]:hover{border-color:#FE5000;color:#FE5000}
.spsw-tabs [role=tab][aria-selected=true]{background:#FE5000;border-color:#FE5000;color:#fff}
.spsw-tabs [role=tab]:focus{outline:none}
.spsw-tabs [role=tab]:focus-visible{outline:2px solid #FE5000;outline-offset:3px}
.spsw [role=tabpanel]:focus{outline:none}
.spsw [role=tabpanel]:focus-visible{outline:2px solid #FE5000;outline-offset:6px;border-radius:6px}
.spsw [role=tabpanel] .fine{margin:18px 0 0}
@media (max-width:759px){.spsw-tabs [role=tab]{flex:1 1 0;min-width:0;padding:0 12px}}
@media (prefers-reduced-motion:no-preference){.spsw-tabs [role=tab]{transition:background-color .2s ease,border-color .2s ease,color .2s ease}}

*,*::before,*::after{letter-spacing:0!important}

/* fonts.css */
/* 取代設計稿 fonts-lock.css（12.6 MB，內嵌字型）。
   沿用現有網站的字型載入：TASA Orbiter 由 Google Fonts <link> 載入（root layout），
   vivo Sans TC 使用 public/fonts 內既有檔案。堆疊順序 = 逐字元 fallback 順序：
   Latin／數字／西文標點 → TASA；U+30FB「・」→ KONST Dot（TASA 的中點置中於全形寬度）；其餘 → vivo。 */
@font-face{font-family:"vivo Sans TC";src:url("/fonts/vivo-sans-tw-vf.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"KONST Dot";src:url("/fonts/konst-dot.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+30FB}
html,body,body *,*::before,*::after,*::marker,
input,button,select,textarea,optgroup,option,svg text,svg tspan{font-family:"TASA Orbiter","KONST Dot","vivo Sans TC",system-ui,sans-serif!important}
:root{--font:"TASA Orbiter","KONST Dot","vivo Sans TC",system-ui,sans-serif;--latin:"TASA Orbiter","KONST Dot","vivo Sans TC",system-ui,sans-serif}

*,*::before,*::after{letter-spacing:0!important}

/* text selection: brand orange block, white text (inverted on orange surfaces) */
::selection{background:#FE5000;color:#fff}
.cta ::selection,.gp-spirit ::selection,[class*="orange"] ::selection,.btn-primary::selection,.btn-primary ::selection{background:#fff;color:#FE5000}
