/* =========================================================
   AEO RANK™ - custom styles for /company/<slug> pages
   + small additions to the main page (links to dossiers).
   Built on top of style.css tokens; no overrides of core rules.
   ========================================================= */

/* ---------- main page additions ---------- */
.card-t a{color:inherit;text-decoration:none;background:linear-gradient(90deg,var(--g),var(--c)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.card-t a:hover{background-size:100% 1px}
.co-more{margin-top:14px;width:100%;justify-content:space-between;padding:13px 18px;font-size:13px}
.co-more svg{width:16px;height:16px}
.leader-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.bleaders li a{color:inherit;text-decoration:none}
.bleaders li a:hover{color:var(--g)}
.rt-r .nm a{position:relative}

/* ---------- company page: hero ---------- */
#coBg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.95}
.co-hero .h1{white-space:nowrap}
.co-crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-bottom:18px;font:500 11px/1.3 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);pointer-events:auto}
.co-crumbs a{color:var(--ink2);text-decoration:none;transition:color .3s}
.co-crumbs a:hover{color:var(--g)}
.co-crumbs i{font-style:normal;color:var(--g);opacity:.6}
.co-crumbs span[aria-current]{color:var(--ink)}

.co-score{display:grid;gap:16px}
.co-score-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.co-emb{width:clamp(104px,9vw,150px);height:auto;flex:none;overflow:visible;filter:drop-shadow(0 0 18px rgba(124,255,178,.25))}
.co-emb .r1,.co-emb .r2,.co-emb .r3{transform-box:view-box;transform-origin:100px 100px}
.co-emb .r1{animation:coSpin 38s linear infinite}
.co-emb .r2{animation:coSpin 22s linear infinite reverse}
.co-emb .r3{animation:coSpin 60s linear infinite}
.co-emb text{font:800 34px/1 var(--f-d);letter-spacing:-.04em}
@keyframes coSpin{to{transform:rotate(360deg)}}
.co-big{display:block;font:800 clamp(52px,5vw,84px)/.9 var(--f-d);letter-spacing:-.05em;color:var(--tc,var(--g));margin:4px 0 8px}
.co-score small{font:500 11px/1.3 var(--f-m);letter-spacing:.1em;color:var(--ink3);text-transform:uppercase}
.co-score .eyebrow{margin-bottom:0}
.co-rank{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:14px;border-top:1px dashed var(--line2);font:500 11px/1.2 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.co-rank b{font:800 22px/1 var(--f-d);color:#fff;letter-spacing:-.02em}
.co-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--tc) 55%,transparent);color:var(--tc);background:color-mix(in oklab,var(--tc) 10%,transparent);font:600 10px/1 var(--f-m);letter-spacing:.12em}
.co-hero .trust b.org{font-size:clamp(14px,1.15vw,18px)}

/* ---------- passport ---------- */
.co-dl{display:grid;gap:0}
.co-dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.co-dl div:last-child{border-bottom:0}
.co-dl dt{font:500 10.5px/1.5 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.co-dl dd{margin:0;font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.co-dl dd a{color:var(--c);text-decoration:none}
.co-dl dd a:hover{text-decoration:underline}
.co-bars{display:grid;gap:14px}
.co-bar{display:grid;grid-template-columns:40px minmax(0,1fr) 74px;gap:14px;align-items:center}
.co-bar .L{font:800 30px/1 var(--f-d);color:var(--bc);text-shadow:0 0 20px var(--bc)}
.co-bar h4{font-size:14.5px;margin:0 0 7px}
.co-bar .meter{height:6px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.co-bar .meter i{display:block;height:100%;width:var(--w);background:var(--bc);box-shadow:0 0 12px var(--bc);transform:scaleX(0);transform-origin:0;transition:transform 1.6s var(--ease) .2s}
.co-bars.in .meter i{transform:none}
.co-bar .v{text-align:right;font:800 22px/1 var(--f-d);color:var(--bc)}
.co-bar .v small{display:block;font:500 10px/1 var(--f-m);color:var(--ink3);letter-spacing:.08em;margin-top:5px}

/* ---------- text blocks ---------- */
.co-panel h4{display:flex;align-items:center;gap:10px}
.co-panel h4 .ic{width:26px;height:26px}
.co-panel p:last-child{margin-bottom:0}
.co-note{font:400 12.5px/1.5 var(--f-m);color:var(--ink3);margin:0 0 12px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.03)}
.co-hl{color:var(--g);font-weight:600;white-space:nowrap}
.co-lim{border-color:rgba(255,200,87,.28);background:linear-gradient(155deg,rgba(255,200,87,.07),transparent 60%)}
.co-lim h4{color:var(--a)}
.co-who h4{color:var(--c)}
.co-desc{columns:2 340px;column-gap:28px;margin-top:22px}
.co-desc p{break-inside:avoid}
.co-desc p:first-child:first-letter{font:800 3em/.8 var(--f-d);float:left;margin:6px 10px 0 0;color:var(--tc,var(--g))}
.co-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.co-chips .chip{font-size:12px;padding:9px 13px}

/* ---------- verification ---------- */
.co-status{display:grid;gap:10px}
.co-st{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.co-st .s{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:700 14px/1 var(--f-m);color:#021;background:var(--sc)}
.co-st p{margin:0;font-size:14.5px;color:var(--ink)}
.co-st.ok{--sc:var(--g)}.co-st.mid{--sc:var(--a)}.co-st.no{--sc:var(--r)}
.co-st.no{border-color:rgba(255,94,108,.25)}
.co-depth{margin-top:14px;display:flex;gap:14px;align-items:center}
.co-depth b{font:800 40px/1 var(--f-d);color:var(--tc,var(--g));letter-spacing:-.04em}
.co-depth p{margin:0;font-size:14px}

/* ---------- navigation between dossiers ---------- */
.co-nav a small{display:block;font:500 11px/1 var(--f-m);letter-spacing:.12em;color:var(--ink3);text-transform:uppercase;margin-bottom:10px}
.co-near{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.co-near a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid var(--line);text-decoration:none;background:rgba(255,255,255,.02);transition:border-color .3s,transform .5s var(--ease)}
.co-near a:hover{border-color:var(--g);transform:translateY(-3px)}
.co-near .p{font:800 20px/1 var(--f-d);color:var(--tc,var(--g))}
.co-near .n{font:600 14px/1.25 var(--f-b);color:#fff;overflow-wrap:anywhere}
.co-near .c{font:400 11px/1.3 var(--f-m);color:var(--ink3);display:block;margin-top:3px}
.co-near .s{font:700 15px/1 var(--f-d);color:var(--ink)}
.co-near a.cur{border-color:color-mix(in oklab,var(--tc) 60%,transparent);background:color-mix(in oklab,var(--tc) 8%,transparent)}

/* ---------- responsive ---------- */
@media (max-width:1280px){.co-near{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1024px){.co-score-top{grid-template-columns:auto minmax(0,1fr)}}
@media (max-width:760px){
  .co-dl div{grid-template-columns:minmax(0,1fr);gap:4px}
  .co-bar{grid-template-columns:30px minmax(0,1fr) 56px;gap:10px}
  .co-bar .L{font-size:24px}.co-bar .v{font-size:18px}
  .co-near{grid-template-columns:minmax(0,1fr)}
  .co-desc{columns:1}
  .co-emb{width:96px}
  .co-big{font-size:54px}
  .co-crumbs{font-size:10px}
  .co-hero .hero-cta .btn{white-space:normal;text-align:left}
}
@media (prefers-reduced-motion:reduce){.co-emb .r1,.co-emb .r2,.co-emb .r3{animation:none}}

/* panel headings on dossier pages are real <h2> (SEO H2 structure), styled like h4 */
.co-ph{font:600 18px/1.3 var(--f-b);letter-spacing:0;margin:0 0 12px;display:flex;align-items:center;gap:10px;color:#fff;text-wrap:balance}
.co-ph .ic{width:26px;height:26px;flex:none}
.co-lim .co-ph{color:var(--a)}.co-who .co-ph{color:var(--c)}
.co-panel ul.dash li{font-size:14.5px}
.co-page .contour li p{color:var(--ink)}
.co-page .mega .ln{max-width:none}
.co-page .faq-i h3{font:600 16.5px/1.3 var(--f-b)}

/* ---------- case gallery (dossier #1, data from company portfolio) ---------- */
.co-link{color:var(--c);text-decoration:none;border-bottom:1px solid rgba(65,227,255,.35)}
.co-link:hover{border-color:var(--c)}
.co-cases-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:22px 0 18px;background:rgba(4,7,10,.5)}
.co-cases-sum div{padding:18px 16px;border-right:1px solid var(--line)}
.co-cases-sum div:last-child{border-right:0}
.co-cases-sum b{display:block;font:800 clamp(24px,2.4vw,38px)/1 var(--f-d);letter-spacing:-.03em;margin-bottom:8px;background:linear-gradient(90deg,var(--g),var(--c));-webkit-background-clip:text;background-clip:text;color:transparent}
.co-cases-sum span{font-size:12.5px;line-height:1.35;color:var(--ink2);display:block}
.co-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.co-case{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.01) 40%,rgba(124,255,178,.02));transition:transform .5s var(--ease),border-color .4s}
.co-case:hover{transform:translateY(-5px);border-color:rgba(124,255,178,.45)}
.co-case-img{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#0a1210;border-bottom:1px solid var(--line)}
.co-case-img img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.85) contrast(1.02);transition:transform 1.2s var(--ease),filter .5s}
.co-case:hover .co-case-img img{transform:scale(1.05);filter:none}
.co-case-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,7,10,.85));pointer-events:none}
.co-case-img figcaption{position:absolute;left:14px;bottom:10px;z-index:2;font:800 34px/1 var(--f-d);letter-spacing:-.05em;color:var(--g);text-shadow:0 0 18px rgba(124,255,178,.5)}
.co-case-b{display:flex;flex-direction:column;gap:10px;padding:18px 18px 16px;flex:1}
.co-case-n{font:500 10.5px/1.4 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.co-case h3{font:700 18px/1.2 var(--f-d);letter-spacing:-.015em;margin:0;color:#fff}
.co-case-site{margin:-4px 0 0;font:400 12px/1.3 var(--f-m);color:var(--c)}
.co-case-vis{display:grid;grid-template-columns:auto minmax(20px,1fr) auto;align-items:end;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035)}
.co-case-vis span{font:700 20px/1 var(--f-d);color:var(--ink2);letter-spacing:-.02em}
.co-case-vis span.to{color:var(--g);font-size:26px;text-align:right}
.co-case-vis small{display:block;font:500 9.5px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.co-case-vis i{height:2px;margin-bottom:9px;background:linear-gradient(90deg,var(--ink3),var(--g));position:relative}
.co-case-vis i:after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--g);border-right:0}
.co-case-m{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.co-case-m div{padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.co-case-m b{display:block;font:800 18px/1 var(--f-d);color:#fff;letter-spacing:-.02em;margin-bottom:5px}
.co-case-m small{display:block;font-size:12px;line-height:1.3;color:var(--ink2)}
.co-case-b p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink2)}
.co-case-f{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.co-case-f span{font:500 10.5px/1.2 var(--f-m);letter-spacing:.04em;padding:6px 9px;border-radius:999px;border:1px solid var(--line2);color:var(--ink2)}
.co-case-f span:first-child{border-color:rgba(124,255,178,.4);color:var(--g)}
.co-case-go{display:inline-flex;align-items:center;gap:8px;font:600 12.5px/1 var(--f-b);color:var(--g)}
.co-case-go svg{width:14px;height:14px;transition:transform .4s var(--ease)}
.co-case:hover .co-case-go svg{transform:translateX(4px)}
@media (max-width:1280px){.co-cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .co-cases{grid-template-columns:minmax(0,1fr)}
  .co-cases-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-cases-sum div{border-bottom:1px solid var(--line)}
  .co-cases-sum div:nth-child(2n){border-right:0}
  .co-cases-sum div:nth-last-child(-n+2){border-bottom:0}
}

/* ---------- shared: header blog link + footer nav (all pages) ---------- */
.hdr-link{padding:11px 15px!important}
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 22px;padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--line);font:500 11px/1.4 var(--f-m);letter-spacing:.12em;text-transform:uppercase}
.foot-nav a{color:var(--ink2);text-decoration:none;transition:color .3s}
.foot-nav a:hover{color:var(--g)}
@media (max-width:1024px){.hdr-link{display:none!important}}
@media (max-width:760px){.foot-nav{gap:10px 16px}}
