/* Services v2 */
/* The first headline line needs ~13x its font size, so it tops out at 108px to stay on one line in the content container. */
.svcs .ph h1{font-size:clamp(2.75rem,min(7vw,11.5vh),6.75rem)}
.tl{margin-top:clamp(1.75rem,4.5vh,3rem);border-top:1px solid var(--rule)}
.tl-h{display:flex;justify-content:space-between;padding:.875rem 0;font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
#tlw{color:var(--acc-txt)}
.tl-t{position:relative;padding:1.75rem 0 4.75rem}
.tl-ax{position:relative;height:1rem;margin-bottom:1rem;border-bottom:1px solid var(--rule-2)}
.tl-ax span{position:absolute;top:0;transform:translateX(-50%);font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;color:var(--t4)}
.tl-ax span:first-child{transform:none}.tl-ax span:last-child{transform:translateX(-100%)}
.tl-ln{position:relative;display:flex;align-items:center;gap:1rem}
.tl-ln small{position:absolute;left:0;bottom:calc(100% + .5rem);font-family:var(--mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.tl-bar{position:relative;flex:1;height:3px;background:var(--rule)}
.tl-bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--acc);box-shadow:0 0 12px oklch(0.62 0.2 275 / .6)}
.tl-who{position:absolute;right:0;bottom:calc(100% + .375rem);font-size:.8125rem;color:var(--t3)}.tl-who b{font-weight:500;color:var(--t2)}
.tl-ms{position:absolute;left:0;right:0;top:calc(1.75rem + 2rem + 1px)}
.tl-m{position:absolute;top:-6px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.625rem;cursor:pointer}
.tl-m:first-child{transform:none;align-items:flex-start}.tl-m:last-child{transform:translateX(-100%);align-items:flex-end}
.tl-m>i{width:13px;height:13px;background:var(--ink);border:1px solid var(--t4);transition:background .3s,border-color .3s,box-shadow .3s}
.tl-m span{display:flex;flex-direction:column;align-items:inherit;gap:.125rem;white-space:nowrap}
.tl-m em{font-style:normal;font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t4)}
.tl-m b{font-size:.875rem;font-weight:500;color:var(--t3);transition:color .3s}
.tl-m.past>i{background:var(--acc);border-color:var(--acc)}
.tl-m.on>i{background:var(--acc-txt);border-color:var(--acc-txt);box-shadow:0 0 0 4px oklch(0.62 0.2 275 / .22),0 0 14px oklch(0.62 0.2 275 / .9)}
.tl-m.on b,.tl-m:hover b{color:var(--t1)}.tl-m.on em{color:var(--acc-txt)}
.tl-f{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,4vw,3.5rem);padding-top:1.25rem;border-top:1px solid var(--rule-2)}
.tl-d{display:flex;flex-direction:column;gap:.375rem;min-height:4.25rem;transition:opacity .3s}
.tl-d.sw{opacity:0}
.tl-d small{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-txt)}
.tl-d b{font-size:1.25rem;font-weight:500;letter-spacing:-.02em}.tl-d span{font-size:.9375rem;color:var(--t3)}
.tl-o small{display:block;font-family:var(--mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:.5rem}
.tl-o ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.375rem}
.tl-o li{font-size:.8125rem;padding:.3125rem .625rem;border:1px solid var(--rule-2);color:var(--t4);opacity:.35;transition:opacity .4s,color .4s,border-color .4s}
.tl-o li.got{opacity:1;color:var(--t1);border-color:var(--rule)}
@media(max-width:860px){.tl-m b{display:none}.tl-m em{font-size:.5rem}.tl-f{grid-template-columns:1fr}.tl-who{display:none}}
/* principles */
.sx3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.sx3 li{padding:1.75rem 2rem 0 0;display:flex;flex-direction:column;gap:.75rem;min-width:0}
.sx3 li+li{padding-left:2rem;border-left:1px solid var(--rule-2)}
.sx3 li>span{font-family:var(--mono);font-size:.75rem;color:var(--acc-txt)}
.sx3 li>b{font-size:1.25rem;font-weight:500;letter-spacing:-.02em}
.sx3 li>p{font-size:1rem;line-height:1.6;color:var(--t3)}
@media(max-width:860px){.sx3{grid-template-columns:1fr}.sx3 li,.sx3 li+li{padding:1.5rem 0;border-left:0;border-bottom:1px solid var(--rule-2)}}
/* gap rows */
.gp{margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--rule)}
.gp-r{display:grid;grid-template-columns:2.5rem 10rem minmax(0,1.4fr) minmax(0,1fr) 1.5rem;gap:1.5rem;align-items:baseline;padding:1.75rem 0;border-bottom:1px solid var(--rule-2);color:inherit;text-decoration:none;transition:background .3s}
.gp-r:hover{background:oklch(1 0 0 / .02)}
.gp-n{font-family:var(--mono);font-size:.75rem;color:var(--acc-txt)}
.gp-r small{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.gp-r q{font-size:clamp(1.25rem,2vw,1.625rem);font-weight:500;letter-spacing:-.025em;line-height:1.25;color:var(--t1);quotes:"“" "”";text-wrap:pretty}
.gp-a{display:flex;flex-direction:column;gap:.25rem}.gp-a b{font-weight:500}.gp-a em{font-style:normal;font-size:.875rem;color:var(--t3)}
.gp-g{font-style:normal;color:var(--t4);transition:transform .3s,color .3s}.gp-r:hover .gp-g{transform:translateX(4px);color:var(--t1)}
@media(max-width:900px){.gp-r{grid-template-columns:2rem minmax(0,1fr);gap:.5rem 1rem}.gp-r small,.gp-r q,.gp-a{grid-column:2}.gp-g{display:none}}
/* service sections */
.sv2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.sv2.fl>.sec-h{order:2}
.sv2>*{min-width:0}
.sv-l{list-style:none;margin:1.5rem 0 0;padding:0;border-top:1px solid var(--rule)}
.sv-l li{padding:.75rem 0;border-bottom:1px solid var(--rule-2);font-size:.9375rem;color:var(--t2)}
.sv-x{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.sv-x>span{font-size:.8125rem;color:var(--t4)}
.dl-lb{font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:.75rem}
.sh{background:#f6f5f1;color:#17171a;border-radius:4px;padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 30px 60px -20px oklch(0 0 0 / .6);font-size:.875rem}
.sh-h{display:flex;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid #dedbd2;font-size:.6875rem;color:#6d6a62}
.sh-h small{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase}
.sh h5{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;letter-spacing:-.03em;margin:1rem 0 1.25rem}
.sh-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dedbd2;border:1px solid #dedbd2;margin-bottom:1.25rem}
.sh-k div{background:#f6f5f1;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.25rem}.sh-k b{font-size:1.75rem;font-weight:500;letter-spacing:-.03em;line-height:1}.sh-k span{font-size:.75rem;color:#6d6a62}
.sh-tr{display:grid;grid-template-columns:7rem minmax(0,1fr) 2.5rem;gap:1rem;align-items:center;padding:.5625rem 0;border-bottom:1px solid #e6e3da}
.sh-tr.th{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:#8a867d}
.sh-tr>span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.sh-tr.w2{grid-template-columns:minmax(0,1fr) auto}.sh-tr.w3{grid-template-columns:4rem minmax(0,1fr) auto}
.sh-bar{height:6px;background:#e6e3da}.sh-bar i{display:block;height:100%}.sh-bar i.g{background:#2f8a5b}.sh-bar i.w{background:#c08a1e}.sh-bar i.b{background:#c0452f}
.sh-s{font-size:.8125rem;color:#6d6a62}.sh-s.d{color:#2f8a5b}.sh-s.n{color:#3f44c9}
.sh-st{font-size:.75rem;font-weight:500}.sh-st.g{color:#2f8a5b}.sh-st.w{color:#a5760f}.sh-st.b{color:#c0452f}
.sh .mo{font-family:var(--mono);font-size:.75rem;color:#6d6a62}
.sh-ph{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:1rem}
.sh-ph span{padding-top:.5rem;border-top:3px solid #dedbd2;font-size:.75rem;color:#8a867d}.sh-ph span.d{border-color:#17171a;color:#17171a}.sh-ph span.n{border-color:#3f44c9;color:#3f44c9;font-weight:500}
.sh-big{display:flex;align-items:baseline;gap:.75rem;margin-top:1.25rem}.sh-big b{font-size:2rem;font-weight:500;letter-spacing:-.03em}.sh-big span{color:#6d6a62}
.sh-f{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid #dedbd2;font-size:.6875rem;color:#8a867d}
@media(max-width:960px){.sv2{grid-template-columns:minmax(0,1fr)}.sv2.fl>.sec-h{order:0}}
/* platform */
.pf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--rule)}
.pf-r{display:grid;grid-template-columns:28px minmax(0,1fr);gap:1rem 1.25rem;padding:1.75rem 2rem 1.75rem 0;color:inherit;text-decoration:none;transition:background .3s}
.pf-r+.pf-r{padding-left:2rem;padding-right:0;border-left:1px solid var(--rule-2)}
.pf-r:hover{background:oklch(1 0 0 / .02)}
.pf-r img{width:28px;height:28px}
.pf-r>span:nth-child(2){display:flex;flex-direction:column;gap:.5rem}
.pf-r small{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.pf-r b{font-size:1.25rem;font-weight:500;letter-spacing:-.02em}.pf-r em{font-style:normal;font-size:.9375rem;line-height:1.6;color:var(--t3)}
.pf-r .lnk{grid-column:2}
@media(max-width:860px){.pf{grid-template-columns:1fr}.pf-r,.pf-r+.pf-r{padding:1.5rem 0;border-left:0;border-bottom:1px solid var(--rule-2)}}
.sv2 .sec-h{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.sv2 .sec-h .h-l{margin-top:1.25rem}.sv2 .sec-h .copy{margin-top:1.25rem}
.tl-t{padding-top:1.25rem}
.tl-ms{top:calc(1.25rem + 2rem + 1px)}
