/* Mach Advisory: extra styles for practice hubs, Why Mach and Contact (loaded after mach.css) */
.hub-lede{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px;align-items:end;padding:40px 12px 0}
.hub-lede .lede{max-width:62ch}
.hub-lede .ctas{justify-content:flex-end}
.tile-copy .pn{margin-bottom:16px}
.tile-copy h1 .light{display:block}
.tile-copy .ctas .btn{height:48px}
.rows.svc .row{grid-template-columns:56px minmax(0,3fr) minmax(0,5fr) 28px;align-items:start}
.rows.svc .row h3{transition:color .2s}
.rows.svc .row:hover h3{color:var(--c)}
.rows.svc .row .go{color:var(--text3);font-size:20px;transition:.2s}
.rows.svc .row:hover .go{color:var(--c);transform:translateX(4px)}
.rows.svc .row .chips{margin-top:14px}
.rows.svc .row .n{padding-top:6px;color:var(--c)}
.svc-cta{margin-top:20px;padding:34px 36px;border-radius:var(--r-panel);background:linear-gradient(160deg,rgba(47,107,245,.14),rgba(162,124,255,.08) 60%,transparent),var(--graphite);border:1px solid rgba(111,176,255,.3);display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.svc-cta h3{font-size:26px;margin:6px 0 6px}.svc-cta p{color:var(--text2);font-size:16.5px}
.deliv-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start}
.deliv-grid .sec-head{margin-bottom:0}.deliv-grid .btn{margin-top:30px}
.best{margin-top:auto;padding-top:14px;border-top:1px solid var(--stroke);font-size:14.5px;color:var(--text2)}.best b{display:block;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);font-weight:600;margin-bottom:2px}
.card.hot{border-color:rgba(111,176,255,.35);background:linear-gradient(160deg,rgba(47,107,245,.14),transparent 70%),var(--graphite)}
.ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ptiles a.tile{display:block;aspect-ratio:4/5;min-height:380px;transition:transform .3s,border-color .3s}
.ptiles a.tile:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.25)}
.ptiles .tile-fade{background:linear-gradient(0deg,rgba(5,5,6,.92) 0%,rgba(5,5,6,.5) 45%,transparent 75%)}
.ptiles .tile-copy{top:auto;left:26px;right:26px;bottom:26px;max-width:none;justify-content:flex-end}
.ptiles .tile-copy h3{font-size:clamp(24px,2.4vw,32px);margin-bottom:8px}
.ptiles .tile-copy .tagline{font-size:16px}
.ptiles .here{outline:2px solid var(--c);outline-offset:-2px}
.ptiles .you{position:absolute;top:20px;right:20px;z-index:3;padding:4px 12px;border-radius:999px;background:rgba(5,5,6,.65);border:1px solid var(--stroke);font-size:12px;color:var(--text);letter-spacing:.05em;text-transform:uppercase}
.table-wrap{overflow-x:auto;border-radius:32px;border:1px solid var(--stroke);background:var(--graphite)}
table.cmp{width:100%;border-collapse:collapse;min-width:640px}
table.cmp th,table.cmp td{padding:20px 24px;text-align:center;border-bottom:1px solid var(--stroke);font-size:16px}
table.cmp th:first-child,table.cmp td:first-child{text-align:left;font-weight:500}
table.cmp th{color:var(--text2);font-weight:500;font-size:14px}
table.cmp tr:last-child td{border-bottom:0}
table.cmp .us{background:rgba(47,107,245,.12);color:var(--text)}table.cmp th.us{color:var(--link);font-weight:600}
table.cmp th.us .mach-wordmark{display:block;width:120px;max-width:100%;height:auto;margin-inline:auto}
.yes{color:var(--good);font-weight:700}.no{color:var(--text3)}
.pillar .chips{margin-top:auto;padding-top:10px}
.ctas.left{justify-content:flex-start}
.contact-ctas{margin-top:22px}
.fn-more{justify-content:center}.fn-more h3{font-size:30px}
@media(max-width:1060px){
 .hub-lede,.deliv-grid{grid-template-columns:1fr;gap:28px}.hub-lede .ctas{justify-content:flex-start}
 .rows.svc .row{grid-template-columns:1fr;gap:10px}.rows.svc .row .go{display:none}
 .ptiles{grid-template-columns:1fr}.ptiles a.tile{aspect-ratio:auto;min-height:340px}
 .tile-copy{right:26px}
}
@media(max-width:700px){.svc-cta{padding:26px}.table-wrap{border-radius:22px}table.cmp th,table.cmp td{padding:14px 12px;font-size:14.5px}.hub-lede{padding:28px 0 0}}
/* hub hero titles: avoid orphaned ampersands */
.phero .tile-copy{max-width:660px}
.phero .tile-copy h1{font-size:clamp(34px,4.4vw,58px)}

.ct-hero .tile-copy{max-width:470px}

/* platform card: the engine under the three practices */
.ptiles.p4{grid-template-columns:repeat(4,1fr);gap:16px}
.ptiles.p4 .tile-copy{left:22px;right:22px;bottom:22px}.ptiles.p4 .tile-copy h3{font-size:clamp(20px,1.9vw,27px)}.ptiles.p4 .tile-copy .tagline{font-size:15px}
.ptiles .plat-tile{border-color:transparent}
.ptiles .plat-tile::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;z-index:3;background:conic-gradient(from 210deg,#ff6ec7,#ff9f0a,#ffe14d,#34d27b,#37d2ff,#5e5ce6,#a27cff,#ff6ec7);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ptiles .plat-tile::after{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:0 0 60px rgba(47,107,245,.28);pointer-events:none}
@media (max-width:1100px){.ptiles.p4{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.ptiles.p4{grid-template-columns:1fr}}
.ptiles.p4 a.tile{aspect-ratio:auto;min-height:420px;width:auto}
.plat-hero .tile-copy{max-width:540px}.plat-hero .tagline{max-width:460px}
@media (max-width:1100px){.ptiles.p4 a.tile{min-height:380px}}
