/* Aithical Hub — inner-page motion and the Insights family (hub, blog, news, case studies, resources, articles).
   Pairs with assets/fx.js and assets/insights-feed.js. Uses the colour and type tokens of the page chrome. */

/* ---- tilt + light */
.fx-tilt{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform;position:relative}
.fx-tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(91,140,255,.16),transparent 55%)}
.fx-tilt:hover::after{opacity:1}

/* ---- reading progress */
.read-bar{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;pointer-events:none}
.read-bar i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#5B8CFF,#8E6BFF 55%,#E04FB4)}

/* ---- 3D ring of labels */
.orbit{position:relative;height:clamp(300px,34vw,440px);perspective:1100px;display:grid;place-items:center}
.orbit-tilt{transform-style:preserve-3d;transform:rotateX(14deg)}
.orbit-ring{position:relative;width:1px;height:1px;transform-style:preserve-3d;animation:orbitSpin 38s linear infinite}
.orbit:hover .orbit-ring{animation-play-state:paused}
.orbit-i{position:absolute;left:0;top:0;translate:-50% -50%;white-space:nowrap;font-family:var(--f-wide);font-size:clamp(15px,1.5vw,22px);letter-spacing:.02em;
  padding:10px 16px;border-radius:999px;border:1px solid rgba(91,140,255,.38);background:rgba(10,14,26,.72);color:var(--plaster);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.orbit-i:nth-child(3n+2){border-color:rgba(142,107,255,.45)}.orbit-i:nth-child(3n){border-color:rgba(224,79,180,.42)}
.orbit-core{position:absolute;inset:auto;display:grid;place-items:center;text-align:center;gap:4px;width:clamp(130px,12vw,170px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(91,140,255,.4),rgba(142,107,255,.18) 45%,rgba(7,10,18,.9) 75%);border:1px solid rgba(91,140,255,.35);box-shadow:0 0 80px rgba(91,140,255,.25)}
.orbit-core b{font-family:var(--f-wide);font-size:clamp(34px,3.4vw,52px);line-height:1;color:var(--plaster)}
.orbit-core small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
@keyframes orbitSpin{to{transform:rotateY(360deg)}}

/* ---- content-type tiles */
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tile a{display:flex;flex-direction:column;gap:14px;min-height:300px;padding:26px 24px;border-radius:16px;text-decoration:none;color:inherit;
  background:linear-gradient(160deg,rgba(91,140,255,.12),rgba(12,16,28,.7) 45%);border:1px solid var(--ink-rule,#252B42);position:relative;overflow:hidden}
.tile:nth-child(2) a{background:linear-gradient(160deg,rgba(142,107,255,.14),rgba(12,16,28,.7) 45%)}
.tile:nth-child(3) a{background:linear-gradient(160deg,rgba(224,79,180,.12),rgba(12,16,28,.7) 45%)}
.tile:nth-child(4) a{background:linear-gradient(160deg,rgba(111,133,127,.18),rgba(12,16,28,.7) 45%)}
.tile .tile-n{font-family:var(--f-wide);font-size:clamp(48px,5vw,84px);line-height:.9;color:var(--plaster)}
.tile h3{font-family:var(--f-display);font-size:clamp(22px,2vw,30px);letter-spacing:-.02em;margin-top:auto}
.tile p{color:var(--mist);font-size:14.5px;line-height:1.5}
.tile .tile-go{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--plaster-2);display:flex;align-items:center;gap:8px}
.tile .tile-go i{display:inline-block;width:28px;height:1px;background:currentColor;transition:width .4s}
.tile a:hover .tile-go i,.tile a:focus-visible .tile-go i{width:52px}
.tile .tile-live{position:absolute;top:22px;right:22px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7FE3B5;display:flex;align-items:center;gap:6px}
.tile .tile-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#7FE3B5;box-shadow:0 0 0 0 rgba(127,227,181,.6);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(127,227,181,0)}100%{box-shadow:0 0 0 0 rgba(127,227,181,0)}}

/* ---- pulse (hub) */
.pulse{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(24px,4vw,64px);align-items:center}
.fd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fd-fallback{color:var(--mist);font-size:15px;line-height:1.6;border:1px dashed rgba(236,239,244,.2);border-radius:12px;padding:22px}
.fd-fallback a{color:var(--plaster)}

/* ---- feed items */
.fd-list{display:grid;gap:28px}
.fd-day{display:flex;align-items:center;gap:16px;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--plaster-2);margin:8px 0 14px}
.fd-day i{flex:1;height:1px;background:linear-gradient(90deg,rgba(236,239,244,.25),transparent)}
.fd-dayg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fd-i{background:rgba(12,16,28,.7);border:1px solid var(--ink-rule,#252B42);border-radius:12px;padding:20px 20px 16px;display:flex;flex-direction:column;gap:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fd-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:11px!important;letter-spacing:.08em;color:var(--mist)}
.fd-src{color:var(--plaster-2)}
.fd-topic,.fd-ch{border:1px solid rgba(236,239,244,.16);border-radius:999px;padding:2px 8px}
.fd-new{background:rgba(127,227,181,.12);color:#9BEFC8;border:1px solid rgba(127,227,181,.35);border-radius:999px;padding:2px 8px}
.fd-t{font-family:var(--f-display);font-size:clamp(17px,1.25vw,20px);line-height:1.25;letter-spacing:-.01em}
.fd-t a{color:var(--plaster);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s}
.fd-t a:hover,.fd-t a:focus-visible{background-size:100% 1px}
.fd-arr{font-style:normal;color:var(--fuchsine);margin-left:6px;display:inline-block;transition:transform .3s}
.fd-t a:hover .fd-arr{transform:translate(3px,-3px)}
.fd-x{color:var(--mist);font-size:14px;line-height:1.55}
.fd-when{margin-top:auto;font-size:11px!important;color:var(--stone)}
.fd-p .fd-t{font-size:16.5px}
.fd-more{margin-top:24px}
.fd-empty{color:var(--mist)}
.fd-chips small{color:var(--mist);margin-left:4px}
.ip-filter a[aria-current=true]{border-color:var(--fuchsine);color:var(--plaster);background:rgba(91,140,255,.12)}
.feed-note{color:var(--mist);font-size:13px;margin-top:20px;max-width:70ch}

/* ---- story cards (articles, case studies, resources) */
.st-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.st-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.st a{display:flex;flex-direction:column;gap:12px;height:100%;padding:24px 22px;border-radius:14px;text-decoration:none;color:inherit;background:rgba(12,16,28,.7);border:1px solid var(--ink-rule,#252B42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.st .st-k{font-size:10.5px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--fuchsine);display:flex;gap:10px;flex-wrap:wrap}
.st .st-k span+span{color:var(--mist)}
.st h3{font-family:var(--f-display);font-size:clamp(20px,1.6vw,25px);line-height:1.15;letter-spacing:-.02em}
.st p{color:var(--mist);font-size:14.5px;line-height:1.55}
.st .st-by{margin-top:auto;font-size:11.5px!important;color:var(--stone);letter-spacing:.06em}
.st .st-go{font-size:12.5px;color:var(--plaster-2);display:flex;gap:8px;align-items:center}
.st .st-go i{display:inline-block;width:22px;height:1px;background:currentColor;transition:width .4s}
.st a:hover .st-go i,.st a:focus-visible .st-go i{width:44px}
.st-badge{display:inline-block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:3px 9px;border:1px solid rgba(127,227,181,.35);color:#9BEFC8}
.st-badge.client{border-color:rgba(224,79,180,.4);color:#F1A6DA}

/* ---- horizontal pinned gallery */
.hs{overflow:hidden}
.hs-pin{position:relative}
.hs-track{display:flex;gap:16px;width:max-content;padding-right:8vw;perspective:1100px}
.hs-card{width:clamp(300px,30vw,440px);flex:0 0 auto;transform-style:preserve-3d}
.hs-card a{min-height:360px}
.hs-bar{height:2px;background:rgba(236,239,244,.12);margin-top:26px;border-radius:2px;overflow:hidden}
.hs-bar i{display:block;height:100%;background:var(--fuchsine);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:899px),(prefers-reduced-motion:reduce){.hs-track{width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-right:0}.hs-card{width:auto}.hs-bar{display:none}}

/* ---- marquee */
.marq{overflow:hidden;border-block:1px solid rgba(236,239,244,.1);padding:22px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-t{display:flex;gap:48px;width:max-content;animation:marq 42s linear infinite}
.marq:hover .marq-t{animation-play-state:paused}
.marq-t span{font-family:var(--f-wide);font-size:clamp(26px,3.4vw,54px);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(236,239,244,.45);white-space:nowrap}
.marq-t span:nth-child(odd){color:var(--plaster);-webkit-text-stroke:0}
.marq-t span::after{content:"✦";margin-left:48px;color:var(--fuchsine);-webkit-text-stroke:0;font-size:.5em;vertical-align:middle}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---- article / case study / guide pages */
.art{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:start}
.art-side{position:sticky;top:110px;display:grid;gap:22px}
.art-side .mono{font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.art-toc ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;border-left:1px solid rgba(7,10,18,.14)}
.art-toc a{display:block;padding:5px 0 5px 14px;margin-left:-1px;border-left:2px solid transparent;color:#4A5366;text-decoration:none;font-size:14px;line-height:1.35;transition:color .25s,border-color .25s}
.art-toc a:hover,.art-toc a.on{color:var(--carbon);border-left-color:var(--fuchsine-deep)}
.art-facts{display:grid;gap:12px;border-top:1px solid rgba(7,10,18,.12);padding-top:18px}
.art-facts p{font-size:14px;color:#2A3142;line-height:1.45}
.art-facts b{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);font-weight:500;margin-bottom:2px}
.art-share{display:flex;flex-wrap:wrap;gap:8px}
.art-share a,.art-share button{font:inherit;font-size:12.5px;border:1px solid rgba(7,10,18,.18);border-radius:999px;padding:7px 12px;color:var(--carbon);background:none;text-decoration:none;cursor:pointer}
.art-share a:hover,.art-share button:hover{border-color:var(--fuchsine-deep);color:var(--fuchsine-deep)}
.art-body{max-width:70ch;display:grid;gap:18px;color:#2A3142}
.art-body .art-lede{font-family:var(--f-display);font-size:clamp(21px,1.9vw,27px);line-height:1.4;color:var(--carbon);letter-spacing:-.01em}
.art-body h2{font-family:var(--f-display);font-size:clamp(24px,2.2vw,34px);letter-spacing:-.025em;line-height:1.12;color:var(--carbon);margin-top:26px;scroll-margin-top:110px}
.art-body h3{font-family:var(--f-display);font-size:19px;color:var(--carbon);margin-top:8px}
.art-body p,.art-body li{font-size:17.5px;line-height:1.7}
.art-body ul,.art-body ol{padding-left:22px;display:grid;gap:8px}
.art-body ul.check{list-style:none;padding-left:0}
.art-body ul.check li{position:relative;padding-left:34px}
.art-body ul.check li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--fuchsine-deep)}
.art-body a{color:var(--fuchsine-deep);text-underline-offset:3px}
.art-body pre{background:#0E1220;color:#DDE2EA;border-radius:12px;padding:18px 20px;overflow:auto;font-size:13.5px;line-height:1.6}
.art-body blockquote{border-left:3px solid var(--fuchsine-deep);padding:4px 0 4px 20px;font-family:var(--f-display);font-size:clamp(20px,1.7vw,24px);line-height:1.4;color:var(--carbon)}
.art-call{border:1px solid rgba(47,83,217,.3);background:rgba(47,83,217,.06);border-radius:12px;padding:16px 18px;font-size:15px!important;line-height:1.6}
.art-call.warn{border-color:rgba(190,120,20,.4);background:rgba(240,170,40,.08)}
.art-src{border-top:1px solid rgba(7,10,18,.12);padding-top:18px;margin-top:10px}
.art-src ol{font-size:14.5px}
.art-src li{font-size:14.5px!important;line-height:1.5!important}
.art-stats{list-style:none;margin:6px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.art-stats li{border:1px solid rgba(7,10,18,.12);border-radius:12px;padding:16px}
.art-stats b{display:block;font-family:var(--f-wide);font-size:clamp(28px,2.6vw,40px);color:var(--fuchsine-deep);line-height:1}
.art-stats span{font-size:13.5px;color:#4A5366;line-height:1.4;display:block;margin-top:8px}
.art-hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}
.art-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

/* ---- About additions */
.ab-principles .hs-card a{min-height:320px}
.ab-principles .n{font-family:var(--f-wide);font-size:clamp(56px,6vw,96px);line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(91,140,255,.7)}

@media (max-width:1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-dayg,.st-grid,.art-next{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.tiles,.fd-dayg,.fd-grid,.st-grid,.st-grid.two,.art,.art-next,.art-stats,.hs-track{grid-template-columns:minmax(0,1fr)}.art-side{position:static}.tile a{min-height:220px}.hs-card a,.ab-principles .hs-card a{min-height:0}.orbit{height:300px}.orbit-i{font-size:13px;padding:8px 12px}.orbit-i:nth-child(n+7){display:none}.orbit-core{width:112px}.orbit-core b{font-size:30px}}
@media (prefers-reduced-motion:reduce){.orbit-ring,.marq-t,.tile .tile-live::before{animation:none}.fx-tilt{transition:none}}

/* ---- print: guides and articles print as clean documents */
@media print{
  body{background:#fff!important;color:#000!important}
  header,nav.menu,footer,.loader,canvas,.read-bar,.art-side .art-share,.hg-acts,.hg-meta,#contact,.stmt,.sa-launch,.art-next-sec,.skip{display:none!important}
  .hero{min-height:0!important;padding:0 0 12pt!important;background:none!important}
  .hero h1,.hero .hg-sub{color:#000!important}
  .chapter{background:#fff!important;padding:0!important;clip-path:none!important}
  .art{display:block}.art-side{position:static;margin-bottom:12pt}
  .art-body p,.art-body li{font-size:11pt}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
}

/* ---- legal pages: hero meta, at-a-glance cards, summary tables (added 25 Oct 2026) */
.lg-hmeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lg-hmeta span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--plaster-2);border:1px solid rgba(236,239,244,.18);border-radius:999px;padding:6px 11px;background:rgba(12,16,28,.5)}
.lg-gl{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg-g > div,.lg-g > a{display:flex;flex-direction:column;gap:12px;height:100%;padding:24px 22px;border-radius:14px;background:rgba(12,16,28,.72);border:1px solid var(--ink-rule,#252B42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;color:inherit;transition:border-color .3s,box-shadow .4s}
.lg-g > a:hover,.lg-g > a:focus-visible,.lg-g > div:hover{border-color:rgba(91,140,255,.6);box-shadow:0 16px 50px -24px rgba(91,140,255,.55)}
.lg-g h3{font-family:var(--f-display);font-size:clamp(18px,1.4vw,22px);letter-spacing:-.015em;line-height:1.2;word-break:break-word}
.lg-g p:not(.st-k){color:var(--mist);font-size:14.5px;line-height:1.55}
.lg-sumtab{margin-top:22px;overflow-x:auto;border:1px solid var(--ink-rule,#252B42);border-radius:14px;background:rgba(12,16,28,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lg-sumtab table,.lg-table{width:100%;border-collapse:collapse;font-size:14px}
.lg-sumtab caption{text-align:left;padding:16px 18px 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.lg-sumtab th,.lg-sumtab td{text-align:left;vertical-align:top;padding:12px 18px;border-top:1px solid rgba(236,239,244,.08);color:var(--plaster-2);line-height:1.5}
.lg-sumtab thead th{color:var(--mist);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.lg-sumtab tbody th{color:var(--plaster);font-weight:500}
.lg-table{margin:6px 0 8px;border:1px solid rgba(7,10,18,.12);border-radius:10px;overflow:hidden;display:block;overflow-x:auto}
.lg-table caption{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);padding:0 0 8px}
.lg-table th,.lg-table td{text-align:left;vertical-align:top;padding:10px 12px;border-top:1px solid rgba(7,10,18,.1);font-size:14.5px;line-height:1.5;color:#2A3142}
.lg-table thead th{border-top:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);font-weight:500}
.lg-table code,.lg-body code{font-family:var(--f-mono,ui-monospace,monospace);font-size:13px;background:rgba(47,83,217,.08);padding:1px 6px;border-radius:5px}
.lg-print{font:inherit;font-size:14.5px;color:var(--carbon);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lg-print:hover{color:var(--fuchsine-deep)}
@media (max-width:1100px){.lg-gl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.lg-gl{grid-template-columns:minmax(0,1fr)}.lg-sumtab th,.lg-sumtab td{padding:10px 12px;font-size:13px}}
