
.grapr-landing{ --ll-navy:#1A2840; --ll-navy-2:#233453; --ll-navy-3:#2E4369; --ll-orange:#FF7A59; --ll-orange-2:#ff9276;
  font-family:'Hanken Grotesk', system-ui, -apple-system, sans-serif; -webkit-font-smoothing:antialiased; }
.grapr-landing .ll-display{ font-family:'Hanken Grotesk', system-ui, sans-serif; font-weight:800; letter-spacing:-.025em; line-height:1.06; }
.grapr-landing p, .grapr-landing .ll-price li{ font-family:'Fraunces', Georgia, serif; }
.grapr-landing .ll-mono{ font-family:'JetBrains Mono', ui-monospace, monospace; font-variant-numeric:tabular-nums; }
.grapr-landing .ll-eyebrow{ font-family:'JetBrains Mono', monospace; font-size:.72rem; font-weight:500; letter-spacing:.26em; text-transform:uppercase; }
.grapr-landing .text-orange{ color:var(--ll-orange); }
.ll-dark{ position:relative; overflow:hidden; color:#fff;
  background: radial-gradient(1100px 520px at 78% -8%, rgba(255,122,89,.16), transparent 58%),
    linear-gradient(168deg, var(--ll-navy-3) 0%, var(--ll-navy-2) 48%, var(--ll-navy) 100%); }
.ll-dark .text-soft{ color:rgba(255,255,255,.64)!important; }
.ll-grid::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(900px 520px at 26% 4%, #000 0%, transparent 72%);
  mask-image:radial-gradient(900px 520px at 26% 4%, #000 0%, transparent 72%); }
.ll-dark > .container,.ll-dark > nav{ position:relative; z-index:1; }
.ll-radar{ position:absolute; width:560px; height:560px; right:-160px; top:-130px; border-radius:50%; z-index:0; pointer-events:none; opacity:.5;
  background:repeating-radial-gradient(circle at center, rgba(255,255,255,.06) 0 1px, transparent 1px 48px); }
.ll-radar::after{ content:""; position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg, rgba(255,122,89,.30), rgba(255,122,89,0) 26%); animation:ll-spin 8s linear infinite; }
.ll-nav{ background:rgba(26,40,64,.82); backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid rgba(255,255,255,.08); }
.ll-nav .navbar-brand,.ll-nav .nav-link{ color:rgba(255,255,255,.82); }
.ll-nav .nav-link{ font-weight:500; } .ll-nav .nav-link:hover{ color:#fff; }
.grapr-landing .btn-ll{ background:var(--ll-orange); border:1px solid var(--ll-orange); color:#fff; font-weight:600; border-radius:10px; transition:.2s ease; }
.grapr-landing .btn-ll:hover{ background:var(--ll-orange-2); border-color:var(--ll-orange-2); color:#fff; transform:translateY(-1px); }
.grapr-landing .btn-ghost{ background:transparent; border:1px solid rgba(255,255,255,.28); color:#fff; font-weight:600; border-radius:10px; transition:.2s ease; }
.grapr-landing .btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.06); color:#fff; }
.ll-chip{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.03em; color:rgba(255,255,255,.74); border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:.3rem .72rem; white-space:nowrap; }
.ll-feed{ background:rgba(18,28,46,.5); border:1px solid rgba(255,255,255,.1); border-radius:18px; backdrop-filter:blur(8px); box-shadow:0 36px 80px -34px rgba(0,0,0,.75); }
.ll-feed-head{ border-bottom:1px solid rgba(255,255,255,.08); }
.ll-live{ display:inline-flex; align-items:center; gap:.45rem; font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.18em; color:var(--ll-orange); }
.ll-live i{ width:7px; height:7px; border-radius:50%; background:var(--ll-orange); animation:ll-pulse 1.8s ease-out infinite; }
.ll-row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.72rem .15rem; border-bottom:1px solid rgba(255,255,255,.06); opacity:0; transform:translateY(8px); animation:ll-rise .55s cubic-bezier(.2,.7,.3,1) forwards; }
.ll-row:last-child{ border-bottom:0; }
.ll-row .nm{ font-weight:600; color:#fff; font-size:.92rem; }
.ll-row .lc{ font-family:'JetBrains Mono',monospace; font-size:.68rem; color:rgba(255,255,255,.5); }
.ll-tag{ font-family:'JetBrains Mono',monospace; font-size:.64rem; color:var(--ll-orange); border:1px solid rgba(255,122,89,.42); border-radius:6px; padding:.06rem .4rem; }
.ll-val{ font-family:'JetBrains Mono',monospace; font-weight:700; color:#fff; font-size:.9rem; }
.ll-signal{ height:100%; background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:16px; padding:1.45rem; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ll-signal:hover{ transform:translateY(-5px); border-color:var(--ll-orange); box-shadow:0 24px 44px -28px rgba(255,122,89,.45); }
.ll-signal .ico{ width:46px; height:46px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; font-size:1.4rem; background:rgba(255,122,89,.14); }
.ll-step .num{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:2.5rem; color:var(--ll-orange); line-height:1; }
.ll-step-rule{ height:1px; background:linear-gradient(90deg,var(--ll-orange),transparent); margin:.55rem 0 1rem; }
.ll-aud{ height:100%; border:1px solid var(--bs-border-color); border-radius:14px; padding:1.2rem; background:var(--bs-tertiary-bg); transition:border-color .2s ease, transform .2s ease; }
.ll-aud:hover{ border-color:var(--ll-orange); transform:translateY(-3px); }
.ll-fiche{ background:linear-gradient(168deg,#233453 0%,#1A2840 100%); border:1px solid rgba(255,255,255,.1); border-radius:18px; backdrop-filter:blur(8px); box-shadow:0 36px 80px -34px rgba(0,0,0,.75); color:#fff; }
.ll-fiche .kpi{ border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:.7rem .9rem; }
.ll-fiche .kpi .lbl{ font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.ll-fiche .kpi .val{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.05rem; }
.ll-fiche .kpi.hot{ border-color:rgba(255,122,89,.55); background:rgba(255,122,89,.08); }
.ll-fiche .kpi.hot .val{ color:var(--ll-orange); }
.ll-fiche table{ width:100%; border-collapse:collapse; font-family:'JetBrains Mono',monospace; font-size:.74rem; font-variant-numeric:tabular-nums; }
.ll-fiche th{ font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.45); font-weight:500; text-align:right; padding:.35rem .4rem; border-bottom:1px solid rgba(255,255,255,.1); }
.ll-fiche th:first-child, .ll-fiche td:first-child{ text-align:left; }
.ll-fiche td{ text-align:right; padding:.42rem .4rem; border-bottom:1px solid rgba(255,255,255,.06); color:rgba(255,255,255,.82); }
.ll-fiche tr:last-child td{ border-bottom:0; }
.ll-fiche .up{ color:#5fd39a; } .ll-fiche .tag{ font-family:'JetBrains Mono',monospace; font-size:.66rem; color:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:.2rem .6rem; }
.ll-fiche .ok{ color:#5fd39a; }
.grapr-landing .ll-faq-acc .accordion-button{ font-weight:600; color:var(--bs-emphasis-color); }
.grapr-landing .ll-faq-acc .accordion-button:not(.collapsed){ color:var(--ll-orange); background:rgba(255,122,89,.08); box-shadow:none; }
.grapr-landing .ll-faq-acc .accordion-button:focus{ box-shadow:0 0 0 .2rem rgba(255,122,89,.25); }
.grapr-landing .ll-faq-acc .accordion-body{ font-family:'Fraunces', Georgia, serif; }
.grapr-landing .ll-video-shell{ position:relative; width:min(100%,304px); aspect-ratio:9/16; margin-inline:auto; overflow:hidden; border-radius:18px; background:var(--ll-navy); border:1px solid rgba(26,40,64,.18); box-shadow:0 36px 80px -34px rgba(0,0,0,.8); }
.grapr-landing .ll-video-trigger{ position:relative; display:block; width:100%; height:100%; padding:0; border:0; background:transparent; color:#fff; cursor:pointer; text-decoration:none; }
.grapr-landing .ll-video-trigger img{ width:100%; height:100%; object-fit:cover; }
.grapr-landing .ll-video-trigger::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(11,19,32,.48) 100%); }
.grapr-landing .ll-video-play{ position:absolute; z-index:1; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:64px; height:64px; padding-left:4px; border-radius:50%; color:#fff; background:var(--ll-orange); border:2px solid rgba(255,255,255,.82); box-shadow:0 16px 36px rgba(0,0,0,.32); font-size:1.35rem; transition:transform .2s ease,background .2s ease; }
.grapr-landing .ll-video-trigger:hover .ll-video-play{ transform:translate(-50%,-50%) scale(1.06); background:var(--ll-orange-2); }
.grapr-landing .ll-video-trigger:focus-visible{ outline:3px solid var(--ll-orange); outline-offset:4px; }
.grapr-landing .ll-video-shell iframe{ display:block; width:100%; height:100%; border:0; }
.grapr-landing .ll-video-meta{ font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--bs-secondary-color); }
.grapr-landing .ll-cta-grappy{ display:block; width:100%; max-width:260px; height:auto; margin-inline:auto; border-radius:18px; border:1px solid rgba(255,255,255,.12); box-shadow:0 36px 80px -34px rgba(0,0,0,.8); }
.grapr-landing .ll-premium-badge{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:.68rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--ll-orange); border:1px solid rgba(255,122,89,.5); border-radius:999px; padding:.32rem .9rem; background:rgba(255,122,89,.07); }
.ll-js .ll-reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.ll-js .ll-reveal.is-in{ opacity:1; transform:none; }
.ll-price{ position:relative; height:100%; display:flex; flex-direction:column; background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:16px; padding:1.6rem; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ll-price:hover{ transform:translateY(-5px); border-color:var(--ll-orange); box-shadow:0 24px 44px -28px rgba(255,122,89,.45); }
.ll-price.is-featured{ border-color:var(--ll-orange); box-shadow:0 18px 40px -26px rgba(255,122,89,.5); position:relative; }
.ll-price .plan{ font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ll-orange); }
.ll-price .amount{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:2.6rem; color:var(--bs-emphasis-color); line-height:1; }
.ll-price .amount small{ font-size:.95rem; font-weight:600; color:var(--bs-secondary-color); font-family:'Hanken Grotesk',sans-serif; }
.ll-billing{ display:inline-flex; gap:.25rem; padding:.25rem; border:1px solid var(--bs-border-color); border-radius:999px; background:var(--bs-tertiary-bg); }
.ll-billing button{ border:0; border-radius:999px; padding:.45rem .85rem; background:transparent; color:var(--bs-secondary-color); font-weight:700; }
.ll-billing button.is-active{ color:#fff; background:var(--ll-orange); }
.ll-price .annual-only{ display:none; }
[data-price-cycle="annual"] .ll-price .monthly-only{ display:none; }
[data-price-cycle="annual"] .ll-price .annual-only{ display:inline; }
.ll-price .annual-note{ min-height:1.35rem; color:var(--bs-secondary-color); font-size:.78rem; }
.ll-enrichment{ border:1px solid var(--bs-border-color); border-radius:16px; padding:1.5rem; background:var(--bs-tertiary-bg); }
.ll-enrichment .pack{ border:1px solid var(--bs-border-color); border-radius:10px; padding:.7rem .8rem; font-family:'JetBrains Mono',monospace; font-size:.82rem; }
.ll-price ul{ list-style:none; padding:0; margin:0; }
.ll-price li{ padding:.28rem 0; color:var(--bs-secondary-color); font-size:.9rem; }
.ll-price li::before{ content:"✓"; color:var(--ll-orange); font-weight:700; margin-right:.5rem; }
.ll-badge-feat{ position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:var(--ll-orange); color:#fff; font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; border-radius:999px; padding:.22rem .7rem; white-space:nowrap; z-index:2; }
.ll-promo-seal{ position:absolute; top:-14px; right:-14px; z-index:1; width:92px; height:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-radius:50%; background:var(--ll-orange); color:#fff; font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:.62rem; line-height:1.05; letter-spacing:.02em; text-transform:uppercase; transform:rotate(12deg); box-shadow:0 12px 26px -10px rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.55); padding:8px; }
.ll-promo-seal span{ display:block; }
@media (max-width:576px){ .ll-promo-seal{ width:76px; height:76px; top:-12px; right:-4px; font-size:.54rem; } }
.ll-promo-banner{ display:inline-block; margin-top:.9rem; background:var(--ll-orange); color:#fff; font-weight:700; font-size:1rem; padding:.55rem 1.3rem; border-radius:999px; }
.ll-contact-card{ background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:16px; padding:1.6rem; }
.ll-plan-switch{ display:flex; flex-wrap:wrap; gap:.4rem; }
.ll-plan-opt{ flex:1 1 auto; min-width:0; padding:.45rem .7rem; border-radius:999px; border:1px solid var(--bs-border-color); background:transparent; color:var(--bs-secondary-color); font-size:.85rem; font-weight:600; cursor:pointer; }
.ll-plan-opt:hover{ border-color:var(--ll-orange); color:var(--bs-emphasis-color); }
.ll-plan-opt.is-on{ border-color:var(--ll-orange); background:var(--ll-orange); color:#fff; }
.ll-chips{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.5rem; }
#si-dept-hint{ margin-top:.4rem; }
.ll-dept-chip{ display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .3rem .25rem .6rem; border-radius:999px; border:1px solid var(--ll-orange); background:color-mix(in srgb, var(--ll-orange) 14%, transparent); color:var(--bs-emphasis-color); font-size:.85rem; line-height:1.2; }
.ll-dept-chip-x{ border:0; background:transparent; color:var(--ll-orange); font-size:1.05rem; line-height:1; padding:0 .25rem; cursor:pointer; border-radius:999px; }
.ll-dept-chip-x:hover,.ll-dept-chip-x:focus-visible{ background:var(--ll-orange); color:#fff; }
.grapr-landing .form-control,.grapr-landing .form-select{ border-radius:10px; }
@media (max-width:575.98px){ .grapr-landing .row.g-5{ --bs-gutter-x:1.5rem; } } /* conteneur fluide : padding 12px < demi-gouttière g-5 (24px) = scroll horizontal */
.ll-hp{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.ll-foot-link{ color:rgba(255,255,255,.64); text-decoration:none; font-size:.85rem; }
.ll-foot-link:hover{ color:#fff; }
@keyframes ll-spin{ to{ transform:rotate(360deg); } }
@keyframes ll-pulse{ 0%{ box-shadow:0 0 0 0 rgba(255,122,89,.55);} 70%{ box-shadow:0 0 0 9px rgba(255,122,89,0);} 100%{ box-shadow:0 0 0 0 rgba(255,122,89,0);} }
@keyframes ll-rise{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .ll-radar::after,.ll-live i{ animation:none; } .ll-row{ opacity:1; transform:none; animation:none; } .ll-js .ll-reveal{ opacity:1; transform:none; } }
.sg{--night:#0f1a30;--coral:#ff6b4a;--mist:#eef1f7;--paper:#fff;--ink:#172033;--muted:#62708a;--line:#d8deea;--soft:#fff2ee;--ok:#216b51}.sg *{box-sizing:border-box}.sg{scroll-behavior:smooth}.sg{margin:0;background:var(--mist);color:var(--ink);font-family:"Fraunces",Georgia,serif}.sg button,.sg select,.sg input{font:inherit}.sg button{cursor:pointer}.sg button:focus-visible,.sg a:focus-visible,.sg select:focus-visible,.sg input:focus-visible,.sg summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.sg [hidden]{display:none!important}.sg .wrap{width:min(1240px,calc(100% - 40px));margin:auto}.sg .demo-banner{position:sticky;top:0;z-index:20;padding:7px 20px;background:var(--coral);color:#291108;text-align:center;font:700 12px/1.35 "Hanken Grotesk",sans-serif}.sg .site-header{position:sticky;top:30px;z-index:15;background:var(--night);border-bottom:1px solid #ffffff1f}.sg .header-inner,.sg .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px}.sg .brand,.sg .dialog-mark{color:#fff;text-decoration:none;font:800 24px "Hanken Grotesk",sans-serif;letter-spacing:-.05em}.sg .brand span,.sg .dialog-mark span{color:var(--coral)}.sg .header-link{padding:9px 13px;border:1px solid #ffffff52;border-radius:6px;color:#fff;text-decoration:none;font:700 12px "Hanken Grotesk",sans-serif}.sg .hero{background:var(--night);color:#fff;padding:34px 0 44px}.sg .hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:54px;align-items:center}.sg .territory,.sg .section-kicker{margin:0 0 12px;color:#ff9c87;font:700 12px/1.4 "Hanken Grotesk",sans-serif}.sg .hero h1{max-width:760px;margin:0;font:800 clamp(38px,4.5vw,60px)/.98 "Hanken Grotesk",sans-serif;letter-spacing:-.052em}.sg .hero-copy{max-width:720px;margin:20px 0 0;color:#cbd3e1;font-size:17px;line-height:1.55}.sg .snapshot{padding:23px 24px;background:#fff;color:var(--ink);box-shadow:14px 14px 0 #091225}.sg .snapshot>p:first-child{margin:0 0 17px;font:700 14px "Hanken Grotesk",sans-serif}.sg .metric-grid{display:grid;gap:0;border-block:1px solid var(--line)}.sg .metric-grid div{padding:12px 0}.sg .metric-grid div+div{border-top:1px solid var(--line)}.sg .metric-grid strong{display:block;font:800 clamp(20px,2vw,28px) "Hanken Grotesk",sans-serif;letter-spacing:-.035em}.sg .metric-grid span{display:block;margin-top:3px;color:var(--muted);font:600 11px "Hanken Grotesk",sans-serif}.sg .coverage{margin:15px 0 0;color:var(--muted);font:500 11px/1.45 "Hanken Grotesk",sans-serif}.sg .explorer,.sg .companies{padding:66px 0}.sg .section-heading,.sg .companies-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:60px;align-items:end;margin-bottom:26px}.sg .section-heading h2,.sg .companies-heading h2,.sg .methodology h2{margin:0;font:800 clamp(28px,3.4vw,43px)/1.05 "Hanken Grotesk",sans-serif;letter-spacing:-.04em}.sg .section-heading>p,.sg .companies-heading>p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.sg .filters{display:grid;grid-template-columns:1fr 1fr 1.25fr auto;gap:13px;align-items:end;padding:18px;background:#fff;border:1px solid var(--line)}.sg .filters>div{display:grid;gap:7px}.sg .filters label{font:700 12px "Hanken Grotesk",sans-serif}.sg .filters select{width:100%;min-height:44px;padding:9px 32px 9px 11px;border:1px solid #bec8d7;border-radius:5px;background:#fff;color:var(--ink);font:650 13px "Hanken Grotesk",sans-serif}.sg .check{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 8px}.sg .check input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--coral)}.sg .filter-reset{min-height:44px;border:0;background:none;color:var(--muted);font:700 12px "Hanken Grotesk",sans-serif;text-decoration:underline;text-underline-offset:4px}.sg .selection-panel{margin:16px 0 34px;padding:24px;background:var(--night);color:#fff}.sg .selection-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #ffffff27}.sg .selection-intro p{max-width:650px;margin:0;color:#bfc9d9;font-size:14px}.sg .selection-intro>strong{white-space:nowrap;font:800 25px "Hanken Grotesk",sans-serif}.sg .selection-metrics{display:grid;grid-template-columns:1.35fr repeat(3,1fr);margin:0}.sg .selection-metrics div{min-width:0;padding:19px 18px 17px 0}.sg .selection-metrics div+div{padding-left:18px;border-left:1px solid #ffffff27}.sg .selection-metrics dt{color:#aeb9ca;font:600 11px "Hanken Grotesk",sans-serif}.sg .selection-metrics dd{margin:6px 0 0;overflow-wrap:anywhere;font:800 clamp(17px,1.9vw,24px) "Hanken Grotesk",sans-serif}.sg .selection-metrics small{display:block;margin-top:5px;color:#aeb9ca;font:600 10px "Hanken Grotesk",sans-serif}.sg .activate-button{width:100%;min-height:48px;padding:12px 18px;border:0;border-radius:6px;background:var(--coral);color:#291108;font:800 14px "Hanken Grotesk",sans-serif}.sg .activate-button:disabled{cursor:not-allowed;opacity:.48}.sg .zero-note{margin:12px 0 0;color:#ffd3c9;font:650 12px "Hanken Grotesk",sans-serif}.sg .chart-title{margin:0;font:800 18px "Hanken Grotesk",sans-serif}.sg .chart-help{margin:6px 0 15px;color:var(--muted);font-size:13px}.sg .sector-chart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sg .sector-chip{display:grid;grid-template-columns:minmax(0,1fr) 70px auto;gap:10px;align-items:center;min-width:0;padding:10px 11px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;font:650 12px "Hanken Grotesk",sans-serif}.sg .sector-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg .sector-chip i{height:6px;background:linear-gradient(90deg,var(--night) calc(var(--share)*100%),#dfe4ed 0)}.sg .sector-chip strong{font-size:11px}.sg .sector-chip[aria-pressed="true"]{border-color:var(--coral);background:var(--soft);color:#8f321e}.sg .sector-chip[aria-pressed="true"] i{background:linear-gradient(90deg,var(--coral) calc(var(--share)*100%),#f0d7d0 0)}.sg .companies{padding-top:12px}.sg .table-shell{overflow:auto;background:#fff;border:1px solid var(--line)}.sg table{width:100%;min-width:1460px;border-collapse:collapse;font:600 12px/1.35 "Hanken Grotesk",sans-serif}.sg th,.sg td{max-width:270px;padding:13px 12px;border-bottom:1px solid #e2e7ef;text-align:left;vertical-align:top}.sg thead th{position:sticky;top:0;background:#e6ebf3;color:#4a5870;font-size:10px;z-index:1}.sg tbody tr:hover{background:#f8faff}.sg td strong,.sg td span,.sg .company-cell strong,.sg .company-cell span{display:block}.sg .company-cell span,.sg td span{margin-top:4px;color:var(--muted);font-size:10px}.sg .rank{color:var(--muted);font-weight:800}.sg .number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sg .cash{color:#174f3e;font-weight:800}.sg .masked{display:inline-block!important;filter:blur(4px);user-select:none}.sg .table-note{margin:10px 0 0;color:var(--muted);font:500 11px "Hanken Grotesk",sans-serif}.sg .methodology{padding:64px 0;background:#fff;border-top:1px solid var(--line)}.sg .method-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.sg .methodology p{color:var(--muted);font-size:15px;line-height:1.68}.sg .faq details{padding:15px 0;border-bottom:1px solid var(--line)}.sg .faq summary{cursor:pointer;font:750 14px/1.4 "Hanken Grotesk",sans-serif}.sg .faq p{margin-bottom:0;font-size:13px}.sg .footer-inner{color:#8d99ac;font:600 11px "Hanken Grotesk",sans-serif}.sg footer{background:#091225}.sg dialog{width:min(620px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:5px;color:var(--ink);box-shadow:0 32px 100px #0008}.sg dialog::backdrop{background:#071024d9}.sg .dialog-head{display:flex;justify-content:space-between;gap:20px;padding:23px 25px;background:var(--night);color:#fff}.sg .dialog-mark{display:block;margin-bottom:15px;font-size:18px}.sg .dialog-head h2{margin:0;font:800 26px/1.1 "Hanken Grotesk",sans-serif}.sg .icon-button{align-self:flex-start;width:34px;height:34px;border:1px solid #ffffff3d;border-radius:50%;background:none;color:#fff;font:500 23px/1 "Hanken Grotesk",sans-serif}.sg .dialog-body{padding:22px 25px 24px}.sg .dialog-body>p:first-child{margin-top:0;color:var(--muted);font-size:14px}.sg .pricing{display:grid;gap:9px;margin:18px 0;padding:0;border:0}.sg .pricing legend{margin-bottom:9px;font:750 13px "Hanken Grotesk",sans-serif}.sg .pricing label{display:flex;gap:11px;padding:13px;border:1px solid var(--line);cursor:pointer}.sg .pricing label:has(input:checked){border-color:var(--coral);background:var(--soft)}.sg .pricing input{margin-top:3px;accent-color:var(--coral)}.sg .pricing strong,.sg .pricing small{display:block;font-family:"Hanken Grotesk",sans-serif}.sg .pricing small{margin-top:3px;color:var(--muted)}.sg .dialog-note,.sg .checkout-note{color:var(--muted);font:500 12px/1.5 "Hanken Grotesk",sans-serif}.sg .local-confirmation{padding:11px 13px;background:#e6f4ee;color:var(--ok);font:700 12px/1.5 "Hanken Grotesk",sans-serif}.sg .checkout-note{text-align:center}@media(max-width:900px){.sg .hero-grid,.sg .section-heading,.sg .companies-heading,.sg .method-grid{grid-template-columns:1fr}.sg .hero-grid{gap:28px}.sg .snapshot{box-shadow:none}.sg .filters{grid-template-columns:1fr 1fr}.sg .selection-metrics{grid-template-columns:1fr 1fr}.sg .selection-metrics div:nth-child(3){border-left:0}.sg .sector-chart{grid-template-columns:1fr 1fr}.sg .method-grid{gap:30px}}@media(max-width:620px){.sg .wrap{width:min(100% - 24px,1240px)}.sg .demo-banner{padding-inline:10px}.sg .site-header{top:46px}.sg .header-inner{min-height:56px}.sg .header-link{font-size:11px}.sg .hero{padding:26px 0 32px}.sg .hero h1{font-size:37px}.sg .hero-copy{font-size:15px}.sg .explorer,.sg .companies,.sg .methodology{padding-block:44px}.sg .section-heading,.sg .companies-heading{gap:16px}.sg .filters{grid-template-columns:1fr}.sg .selection-panel{padding:18px}.sg .selection-intro{display:block}.sg .selection-intro>strong{display:block;margin-top:12px}.sg .selection-metrics{grid-template-columns:1fr}.sg .selection-metrics div+div{padding-left:0;border-left:0;border-top:1px solid #ffffff27}.sg .sector-chart{grid-template-columns:1fr}.sg .footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:16px}.sg .dialog-head,.sg .dialog-body{padding-inline:18px}}@media(prefers-reduced-motion:reduce){.sg{scroll-behavior:auto}}.sg .hero-grid{grid-template-columns:minmax(0,1fr);max-width:1240px}.sg .hero h1{max-width:1000px;font-size:clamp(34px,4vw,54px)}.sg .hero-copy{max-width:900px}.sg .number,.sg .selection-metrics dd{font-variant-numeric:tabular-nums;letter-spacing:.015em}.sg table{min-width:1280px}
.sg .identity-placeholder{display:block;color:var(--muted);font-style:italic}.sg .checkout-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sg .checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.sg .checkout-fields label{display:grid;gap:6px;color:var(--muted);font:700 12px 'Hanken Grotesk',sans-serif}.sg .checkout-fields label:first-child{grid-column:1/-1}.sg .checkout-fields input{min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:5px}.sg .dialog-actions{display:grid;gap:10px}.sg .question-link{text-align:center;color:var(--night);font:700 13px 'Hanken Grotesk',sans-serif;text-underline-offset:4px}.sg .sg-whatsapp{position:fixed;z-index:30;right:20px;bottom:20px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#25d366;color:#082d18;box-shadow:0 8px 24px #0004;text-decoration:none;font:800 11px 'Hanken Grotesk',sans-serif}.sg dialog[open]~.sg-whatsapp{z-index:0}@media(max-width:620px){.sg .checkout-fields{grid-template-columns:1fr}.sg .checkout-fields label:first-child{grid-column:auto}} .sg{color-scheme:light}.sg dialog{background:var(--paper);color:var(--ink)}.sg .checkout-fields input{background:#fff;color:var(--ink)}.sg .sg-whatsapp{color:#fff}.sg .sg-whatsapp svg{width:28px;height:28px;fill:currentColor} .sg .identity-placeholder{filter:blur(5px);user-select:none}.sg .subscription-end{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:24px;max-width:1000px;margin:24px auto 0;padding:20px 24px;background:var(--soft);border:1px solid var(--line);border-radius:16px;text-align:left}.sg .subscription-grappy{display:block;width:80px;height:96px;overflow:hidden;border-radius:12px}.sg .subscription-grappy img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}.sg .subscription-end p{color:var(--ink);margin:0;font-size:20px;line-height:1.45}.sg .subscription-end .activate-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:auto;min-width:160px;padding:14px 24px}
.sg .city-explorer{margin:16px 0}.sg .city-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:30px;align-items:end;margin-bottom:13px}.sg .city-heading h3{margin:0;font:800 20px/1.2 "Hanken Grotesk",sans-serif}.sg .city-heading p{margin:0;color:var(--muted);font:500 12px/1.5 "Hanken Grotesk",sans-serif}.sg .city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px}.sg .city-choice{display:grid;min-width:0;gap:8px;padding:13px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;font-family:"Hanken Grotesk",sans-serif}.sg .city-choice>strong{font-size:15px}.sg .city-choice[aria-pressed="true"]{border-color:var(--coral);background:var(--soft);box-shadow:inset 0 0 0 1px var(--coral)}.sg .city-count{color:var(--muted);font-size:11px}.sg .city-count b{color:var(--ink);font-size:17px}.sg .city-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.sg .city-metrics span,.sg .city-metrics b{display:block;min-width:0}.sg .city-metrics b{margin-top:3px;color:var(--ink);font-size:11px;overflow-wrap:anywhere}.sg .city-all{align-content:center}.sg .city-all span{color:var(--muted);font-size:11px}@media(max-width:620px){.sg .city-heading{grid-template-columns:1fr;gap:7px}.sg .city-grid{grid-template-columns:1fr}.sg .city-choice{width:100%}}

@media(max-width:640px){.sg .subscription-end{grid-template-columns:64px minmax(0,1fr);gap:16px;padding:20px}.sg .subscription-grappy{width:64px;height:80px}.sg .subscription-end p{font-size:18px}.sg .subscription-end .activate-button{grid-column:1 / -1;width:100%;min-width:0}}
.sg .sourcing-video{padding:0 0 64px}.sg .sourcing-video-content{width:min(100%,1040px);min-width:0;margin:auto}.sg .sourcing-video h2{max-width:860px;margin:0 0 22px;font:800 clamp(28px,3.4vw,43px)/1.05 "Hanken Grotesk",sans-serif;letter-spacing:-.04em}.sg .sourcing-video-frame{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--night);border:1px solid var(--line);border-radius:16px}.sg .sourcing-video-frame iframe{display:block;width:100%;height:100%;border:0}.sg .sourcing-video-fallback{margin:12px 0 0;color:var(--muted);font:600 13px/1.5 "Hanken Grotesk",sans-serif}.sg .sourcing-video-fallback a{color:var(--night);text-underline-offset:4px}.sg .sourcing-video-summary{max-width:860px;margin:28px 0 0}.sg .sourcing-video-summary h3{margin:0 0 10px;font:800 20px/1.25 "Hanken Grotesk",sans-serif;letter-spacing:-.02em}.sg .sourcing-video-summary p{margin:0 0 10px;color:var(--muted);font-size:15px;line-height:1.68}.sg .other-departments{padding:8px 0 64px}.sg .other-departments h2{margin:0 0 16px;font:800 clamp(22px,2.6vw,30px)/1.15 "Hanken Grotesk",sans-serif;letter-spacing:-.03em}.sg .other-departments ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.sg .other-departments a{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--night);background:#fff;font:650 14px/1.3 "Hanken Grotesk",sans-serif;text-decoration:none}.sg .other-departments a:hover{border-color:var(--night)}@media(max-width:620px){.sg .sourcing-video{padding-bottom:44px}.sg .sourcing-video h2{margin-bottom:16px}.sg .sourcing-video-frame{border-radius:10px}}
.sg .demo-banner{top:56px}