.competitors-hero h1 { font-size:clamp(2.4rem,4.3vw,3.9rem); line-height:1.07; }
.competitors-hero { grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr); gap:55px; }
.competitor-section-intro { max-width:790px; margin-bottom:30px; }
.competitor-approach { margin-top:32px; }
.competitor-placement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:36px; }
.competitor-placement { display:flex; min-width:0; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:24px; background:#fff; text-decoration:none; box-shadow:0 14px 34px rgba(12,42,81,.055); transition:transform 180ms ease,box-shadow 180ms ease; }
.competitor-placement:hover { transform:translateY(-4px); box-shadow:0 20px 40px rgba(12,42,81,.12); }
.competitor-placement:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.competitor-placement-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:22px; color:var(--blue); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.competitor-placement-top>span:last-child { font-size:1.15rem; line-height:1; }
.competitor-placement h3 { margin-bottom:12px; font-size:1.45rem; overflow-wrap:anywhere; }
.competitor-placement>p { flex:1; color:var(--muted); font-size:.85rem; }
.competitor-anchor { padding:15px 18px; margin:0 0 22px; border-radius:14px; background:var(--tint); }
.competitor-anchor>span { display:block; margin-bottom:5px; color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.competitor-anchor strong { font-size:.9rem; color:var(--navy); }
.competitor-placement-action { display:flex; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid var(--line); color:var(--blue); font-size:.75rem; font-weight:800; }
.competitor-subheading { margin-top:36px; }
.competitor-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.competitor-results>div { padding:34px; border:1px solid rgba(255,255,255,.22); border-radius:24px; background:rgba(255,255,255,.09); }
.competitor-results strong { display:block; margin-bottom:24px; color:white; font-size:clamp(4rem,7vw,6rem); font-weight:900; letter-spacing:-.06em; line-height:1; }
.competitor-results strong>span { color:#8be7f6; font-size:.42em; letter-spacing:-.03em; }
.competitor-results>div>span { display:block; margin-bottom:12px; color:#fff; font-size:1.05rem; font-weight:800; }
.competitor-results p { color:#d2e5f8; font-size:.83rem; }
.competitor-results-note { margin-top:30px; color:#d2e5f8; font-size:.8rem; max-width:900px; }
@media(max-width:1000px) { .competitor-placement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .competitors-hero { grid-template-columns:1fr; gap:36px; }.competitor-results { gap:16px; }.competitor-results>div { padding:24px; } }
@media(max-width:620px) { .competitor-placement-grid,.competitor-results { grid-template-columns:1fr; }.competitor-placement { padding:26px; }.competitors-hero h1 { font-size:clamp(2.3rem,9.5vw,3.4rem); }.competitor-results>div { padding:30px; } }
@media(prefers-reduced-motion:reduce) { .competitor-placement { transition:none; }.competitor-placement:hover { transform:none; } }

.case-shell>p,.case-shell>.competitor-subheading { max-width:790px; }
.competitor-placement-grid--context { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:620px) { .competitor-placement-grid--context { grid-template-columns:1fr; } }

html { scroll-padding-top:100px; }

.competitors-hero .giants-numbers { grid-template-columns:1fr; }
