@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@theme inline{@keyframes scroll-fade-reveal-t { from { --scroll-fade-t: 0px; } to { --scroll-fade-t: var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-b { from { --scroll-fade-b: var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-b: 0px; } } @keyframes scroll-fade-reveal-s { from { --scroll-fade-s: 0px; } to { --scroll-fade-s: var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-e { from { --scroll-fade-e: var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-e: 0px; } }}@utility scroll-fade{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-y{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-x{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-t{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); }}@utility scroll-fade-b{--_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-l{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-r{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-s{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-e{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-*{--scroll-fade-size: calc(var(--spacing) * --value(integer)); --scroll-fade-size: --value([length], [percentage]);}@utility scroll-fade-t-*{--scroll-fade-t-size: calc(var(--spacing) * --value(integer)); --scroll-fade-t-size: --value([length], [percentage]);}@utility scroll-fade-b-*{--scroll-fade-b-size: calc(var(--spacing) * --value(integer)); --scroll-fade-b-size: --value([length], [percentage]);}@utility scroll-fade-s-*{--scroll-fade-s-size: calc(var(--spacing) * --value(integer)); --scroll-fade-s-size: --value([length], [percentage]);}@utility scroll-fade-e-*{--scroll-fade-e-size: calc(var(--spacing) * --value(integer)); --scroll-fade-e-size: --value([length], [percentage]);}@utility scroll-fade-none{--scroll-fade-mask: none;}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@theme inline{@keyframes tw-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }}@utility shimmer{--_spread: var(--shimmer-spread,calc(3ch + 40px)); --_base: currentColor; --_highlight: var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2))); background-image: var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread)))); background-repeat: no-repeat; background-size: calc(200% + var(--_spread) * 2) 100%; background-position: 0 0; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: var(--shimmer-text-fill,transparent); animation: tw-shimmer var(--shimmer-duration,2s) linear infinite; @variant dark { --_highlight: var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4))); } &:where([dir="rtl"], [dir="rtl"] *) { animation-direction: reverse; }}@utility shimmer-once{animation-iteration-count: 1;}@utility shimmer-reverse{animation-direction: reverse;}@utility shimmer-none{--shimmer-image: none; --shimmer-text-fill: currentColor;}@utility shimmer-color-*{--shimmer-color: --value(--color, [color]); --shimmer-color: color-mix(in oklch, --value(--color, [color]) calc(--modifier(integer) * 1%), transparent);}@utility shimmer-duration-*{--shimmer-duration: calc(--value(integer) * 1ms);}@utility shimmer-spread-*{--shimmer-spread: calc(var(--spacing) * --value(integer)); --shimmer-spread: --value([length], [percentage]);}@utility shimmer-angle-*{--shimmer-angle: calc(--value(integer) * 1deg);}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}
:root{--navy:#061426;--navy-2:#0b2038;--navy-3:#102b47;--cyan:#36d6c1;--blue:#6793ff;--gold:#e5ad50;--paper:#f5f8fb;--ink:#15263a;--muted:#9eb0c6;--line:#29435f;--white:#f2f7fd;--radius:.25rem;--background:#061426;--foreground:#f2f7fd;--card:#fff;--card-foreground:#15263a;--popover:#fff;--popover-foreground:#15263a;--primary:#188d93;--primary-foreground:#fff;--secondary:#dfe9f1;--secondary-foreground:#15263a;--muted-foreground:#64788f;--accent:#e6f6f3;--accent-foreground:#0b4e55;--destructive:#b33a3a;--border:#cbd8e3;--input:#b8c9d8;--ring:#36d6c1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--navy);color:var(--white);margin:0;font-family:Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#061426f5;border-bottom:1px solid #9eb0c633;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:36px;width:min(1380px,100% - 48px);min-height:76px;margin:auto;display:flex}.brand{letter-spacing:.04em;align-items:center;gap:11px;font-weight:900;display:flex}.brand>b{background:linear-gradient(135deg,var(--cyan),var(--blue));width:38px;height:38px;color:var(--navy);place-items:center;font-size:13px;display:grid}.brand>span{flex-direction:column;display:flex}.brand small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:8px}.header-inner nav{align-items:center;gap:25px;font-size:13px;font-weight:700;display:flex}.header-inner nav a:hover{color:var(--cyan)}.header-search{align-items:center;gap:6px;display:flex}.header-search svg{width:16px}.hero-shell,.explore-shell,.latest-shell{width:min(1380px,100% - 48px);margin-inline:auto}.hero-shell{background:radial-gradient(circle at 82% 20%,#36d6c12e,#0000 29%),radial-gradient(circle at 12% 90%,#6793ff33,#0000 38%),linear-gradient(145deg,#0d2845,#07182b);border:1px solid #9eb0c62e;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);min-height:430px;margin-top:34px;display:grid}.hero-copy{padding:72px 64px}.eyebrow{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:900}.hero-copy h1{color:#fff;letter-spacing:-.052em;max-width:790px;margin:0;font-size:clamp(48px,6vw,88px);line-height:.98}.hero-deck{color:#bfd0e1;max-width:690px;margin:26px 0;font-size:16px;line-height:1.65}.hierarchy{color:#a9bdd1;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:11px;font-size:11px;font-weight:800;display:flex}.hierarchy a{color:var(--cyan)}.hero-ledger{border-left:1px solid #9eb0c647;align-self:end;margin:54px;padding:28px 0 28px 42px}.hero-ledger>span{color:var(--cyan);letter-spacing:.14em;font-size:10px;font-weight:900}.hero-ledger>strong{margin-top:15px;font-size:74px;line-height:1;display:block}.hero-ledger p{color:var(--muted);margin:8px 0 32px}.hero-ledger div{border-top:1px solid var(--line);color:var(--muted);padding-top:18px}.hero-ledger b{color:#fff}.explore-shell,.latest-shell{padding:64px 0}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:32px}.search-form{width:min(510px,100%);color:var(--ink);background:#fff;grid-template-columns:24px 1fr auto;align-items:center;padding:6px 7px 6px 14px;display:grid}.search-form svg{color:#64788f;width:17px}.search-form input{height:38px;box-shadow:none;border:0}.search-form button{background:#0f7e82;border-radius:0;height:38px;padding-inline:18px}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sector-card{background:var(--navy-2);border:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:19px;min-height:124px;padding:24px;transition:all .2s;display:grid;position:relative}.sector-card:hover{border-color:var(--cyan);background:var(--navy-3);transform:translateY(-2px)}.sector-card>svg{width:31px;height:31px;color:var(--cyan)}.sector-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.sector-card h3{margin:5px 0 0;font-size:19px}.sector-card>strong{color:#d8e5f1;font-size:32px}.sector-card .sector-arrow{width:14px;height:14px;color:var(--muted);position:absolute;bottom:12px;right:17px}.latest-shell{border-top:1px solid var(--line)}.text-link{color:var(--cyan);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.text-link svg{width:16px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.report-card{color:var(--ink);background:#fff;overflow:hidden;box-shadow:0 16px 44px #0003}.report-card>a{height:100%;display:block}.report-cover{color:#fff;flex-direction:column;justify-content:flex-end;min-height:195px;padding:25px;display:flex;position:relative;overflow:hidden}.report-cover:after{content:"";clip-path:polygon(60% 0,100% 0,100% 100%,82% 100%);background:linear-gradient(110deg,#0000 50%,#ffffff17);position:absolute;inset:0}.report-cover span{color:var(--cyan);letter-spacing:.14em;font-size:9px;font-weight:900;position:absolute;top:23px}.report-cover strong{font-size:46px;line-height:1}.report-cover small{color:#b8cce0;margin-top:8px}.tone-cyan{background:linear-gradient(135deg,#08223b,#075d67)}.tone-blue{background:linear-gradient(135deg,#0a1c35,#244e89)}.tone-gold{background:linear-gradient(135deg,#101e31,#6a4b18)}.tone-teal{background:linear-gradient(135deg,#061d30,#126263)}.report-copy{padding:21px 22px 25px}.report-copy p{color:#5e748b;letter-spacing:.09em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:900}.report-copy h3{margin:0 0 11px;font-size:18px;line-height:1.34}.report-copy>span{color:#5a6d82;font-size:13px;line-height:1.55}.site-footer{border-top:1px solid var(--line);width:min(1380px,100% - 48px);color:var(--muted);grid-template-columns:1.5fr .8fr 1fr;gap:60px;margin:50px auto 0;padding:42px 0 55px;font-size:12px;line-height:1.6;display:grid}.site-footer strong{color:#fff;margin-bottom:10px;display:block}.site-footer a{margin:5px 0;display:block}.site-footer a:hover{color:var(--cyan)}@media (max-width:900px){.header-inner nav a:not(.header-search):not(:nth-child(2)){display:none}.hero-shell{grid-template-columns:1fr}.hero-copy{padding:55px 38px}.hero-ledger{display:none}.sector-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-direction:column;align-items:stretch}.search-form{width:100%}.site-footer{grid-template-columns:1fr 1fr}}@media (max-width:620px){.header-inner,.hero-shell,.explore-shell,.latest-shell,.site-footer{width:calc(100% - 28px)}.header-inner{min-height:68px}.header-inner nav{gap:13px}.hero-shell{min-height:380px;margin-top:14px}.hero-copy{padding:43px 24px}.hero-copy h1{font-size:45px}.hero-deck{font-size:14px}.hierarchy{flex-wrap:wrap}.sector-grid,.report-grid{grid-template-columns:1fr}.explore-shell,.latest-shell{padding:45px 0}.section-heading h2{font-size:26px}.site-footer{grid-template-columns:1fr;gap:27px}}.page-shell{width:min(1380px,100% - 48px);margin:0 auto;padding:34px 0 72px}.trail{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:7px;margin-bottom:20px;font-size:11px;font-weight:800;display:flex}.trail span{gap:7px;display:flex}.trail i{color:#58708a;font-style:normal}.trail a:hover,.trail b{color:var(--cyan)}.page-hero{background:radial-gradient(circle at 86% 10%,#36d6c124,transparent 30%),linear-gradient(140deg,var(--navy-3),var(--navy-2));border:1px solid var(--line);margin-bottom:38px;padding:55px 56px}.page-hero h1{color:#fff;letter-spacing:-.045em;max-width:980px;margin:0;font-size:clamp(40px,5vw,68px);line-height:1.02}.page-hero>p:last-child{color:#bed0e2;max-width:760px;margin:20px 0 0;line-height:1.7}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.directory-row{background:var(--navy-2);border:1px solid var(--line);grid-template-columns:1fr auto 24px;align-items:center;gap:20px;min-height:120px;padding:25px 28px;display:grid}.directory-row:hover{border-color:var(--cyan);background:var(--navy-3)}.directory-row span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.directory-row h2{margin:6px 0 0;font-size:20px}.directory-row strong{color:#dbe7f3;font-size:13px}.directory-row svg{width:18px;color:var(--cyan)}.latest-shell.inner{width:100%;padding-bottom:0}.section-heading.compact{align-items:center;margin-top:42px}.section-heading.compact>span{color:var(--muted);font-size:12px}.company-hero .fact-strip,.report-title .fact-strip{margin-top:32px}.fact-strip{background:var(--line);border:1px solid var(--line);flex-wrap:wrap;gap:1px;display:flex}.fact-strip span{min-width:170px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#0a1c30;flex:1;padding:14px 17px;font-size:11px}.fact-strip b{color:#fff;text-transform:none;letter-spacing:0;margin-top:5px;font-size:13px;display:block}.project-section{margin-top:42px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-grid a{background:var(--navy-2);border:1px solid var(--line);grid-template-columns:25px 1fr 18px;align-items:center;gap:13px;min-height:78px;padding:16px 18px;font-size:13px;font-weight:800;display:grid}.project-grid a:hover{border-color:var(--cyan)}.project-grid svg{width:20px;color:var(--cyan)}.project-grid svg:last-child{width:14px;color:var(--muted)}.project-register{margin:52px 0}.project-register>h2{font-size:30px}.project-register article{border-top:1px solid var(--line);padding:22px 0}.project-register h3{color:var(--cyan);margin:0 0 7px}.project-register p{max-width:850px;color:var(--muted);margin:0;line-height:1.65}.report-page{max-width:1180px}.report-document{background:var(--paper);color:var(--ink);box-shadow:0 30px 70px #00000047}.report-title{background:#fff;border-top:6px solid #159ca3;padding:70px 72px 48px}.report-title h1{letter-spacing:-.045em;max-width:900px;margin:0;font-size:clamp(38px,5vw,64px);line-height:1.03}.report-title>p:nth-of-type(2){color:#566b80;max-width:790px;margin:20px 0;line-height:1.7}.report-title .fact-strip{background:#d7e2ea;border-color:#d7e2ea}.report-title .fact-strip span{color:#607286;background:#edf3f7}.report-title .fact-strip b{color:var(--ink)}.ai-notice{color:#385968;background:#e5f5f4;border-block:1px solid #b7ddda;padding:23px 72px;font-size:13px;line-height:1.65}.ai-notice strong{color:#0d6e74}.report-toc{background:#eaf0f5;gap:0;padding:34px 72px;display:grid}.report-toc strong{margin-bottom:12px;font-size:19px}.report-toc a{color:#246c82;border-bottom:1px solid #cad6e0;padding:8px 0;font-size:13px}.report-section{border-top:1px solid #d3dfe8;padding:54px 72px;position:relative}.report-section .section-number{color:#9eafb9;letter-spacing:.12em;margin:0;font-size:12px;font-weight:900;position:absolute;top:57px;right:72px}.report-section h2{letter-spacing:-.025em;max-width:760px;margin:0 0 17px;font-size:30px}.report-section>p:not(.section-number){color:#425a70;max-width:820px;line-height:1.85}.evidence-note{color:#547083;background:#eef4f7;border-left:4px solid #159ca3;grid-template-columns:140px 1fr;gap:18px;margin-top:26px;padding:17px 19px;font-size:12px;line-height:1.55;display:grid}.evidence-note b{color:#1b4856}.project-table{border-top:1px solid #cbd8e2}.project-table div{border-bottom:1px solid #cbd8e2;grid-template-columns:1fr 1.5fr;gap:20px;padding:16px 0;font-size:13px;display:grid}.project-table span{color:#607386}.sources{background:#eef3f7}.sources a{color:#17485c}.ad-slot{color:#8a9aa6;text-align:center;background:#f8fafb;border-block:1px dashed #bccbd6;margin:0;padding:28px 72px}.ad-slot span{letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:900}.ad-slot p{margin:7px 0 0;font-size:11px}.comments{background:var(--navy-2);border:1px solid var(--line);margin-top:52px;padding:34px 38px}.comments .section-heading{margin-top:0}.moderation-note{max-width:900px;color:var(--muted);font-size:12px;line-height:1.65}.comment-list{margin:28px 0}.comment-list article{border-top:1px solid var(--line);padding:20px 0}.comment-list header{justify-content:space-between;gap:20px;display:flex}.comment-list time{color:var(--muted);font-size:11px}.comment-list p{color:#c2d1df;line-height:1.7}.comment-form{grid-template-columns:280px 1fr;gap:18px;margin-top:30px;display:grid}.comment-form label{color:#c9d8e5;gap:8px;font-size:12px;font-weight:800;display:grid}.comment-form label:nth-of-type(3){grid-area:1/2/span 2}.comment-form input,.comment-form textarea{color:var(--ink);background:#fff;border-radius:0}.comment-form>div{align-items:center;gap:14px;display:flex}.comment-form>div span{color:var(--muted);font-size:11px}.honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.empty-state{background:var(--navy-2);border:1px dashed var(--line);color:var(--muted);padding:25px}.search-form.large{max-width:720px;margin-top:30px}.policy-page{max-width:1000px}.policy-page>section{background:var(--paper);color:var(--ink);padding:20px 60px 55px}.policy-page>section h2{margin:38px 0 10px;font-size:25px}.policy-page>section p{color:#486075;line-height:1.85}@media (max-width:900px){.directory-grid,.project-grid{grid-template-columns:1fr 1fr}.page-hero{padding:44px 38px}.report-title,.report-section,.ai-notice,.report-toc,.ad-slot{padding-inline:42px}.report-section .section-number{right:42px}.comment-form{grid-template-columns:1fr}.comment-form label:nth-of-type(3){grid-area:auto}.policy-page>section{padding-inline:38px}}@media (max-width:620px){.page-shell{width:calc(100% - 28px);padding-top:20px}.page-hero{padding:36px 23px}.page-hero h1{font-size:40px}.directory-grid,.project-grid{grid-template-columns:1fr}.directory-row{grid-template-columns:1fr auto 18px;padding:20px}.report-title{padding:45px 24px 30px}.report-title h1{font-size:36px}.ai-notice,.report-toc,.report-section,.ad-slot{padding-inline:24px}.report-section .section-number{margin-bottom:8px;position:static}.report-section h2{font-size:25px}.evidence-note,.project-table div{grid-template-columns:1fr}.comments{padding:27px 22px}.policy-page>section{padding:8px 24px 40px}}.imported-report-html{color:var(--ink);line-height:1.72}.imported-report-html h3{color:#174d63;margin:1.75rem 0 .55rem;font-size:1.08rem}.imported-report-html h4{color:#486075;margin:1.25rem 0 .45rem;font-size:.98rem}.imported-report-html p,.imported-report-html ul,.imported-report-html ol{margin:.7rem 0}.imported-report-html ul,.imported-report-html ol{padding-left:1.35rem}.imported-report-html li{margin:.34rem 0}.imported-report-html .table-wrap{border:1px solid #cbd8e2;margin:1rem 0 1.4rem;overflow-x:auto}.imported-report-html table{border-collapse:collapse;width:100%;min-width:660px;font-size:.84rem}.imported-report-html th{color:#fff;text-align:left;background:#0b4058}.imported-report-html th,.imported-report-html td{vertical-align:top;border:1px solid #cbd8e2;padding:.58rem .62rem}.imported-report-html tr:nth-child(2n) td{background:#edf4f7}.imported-report-html .source-note{color:#547083;background:#eef6f8;border-left:3px solid #159ca3;margin:1rem 0;padding:.7rem .9rem;font-size:.83rem}.imported-report-html a{color:#006f82;text-underline-offset:2px;text-decoration:underline}.source-button{background:#0f7e82;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex;color:#fff!important}.source-button svg{width:15px}.section-heading search{width:min(510px,100%)}.account-link{border:1px solid var(--line);padding:8px 11px;color:var(--cyan)!important}.signout-link{font-size:11px;color:var(--muted)!important}.member-comment-form{grid-template-columns:1fr}.member-comment-form label:nth-of-type(2){grid-area:auto/1}.signin-callout{border:1px solid var(--line);background:#102b47;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:18px 20px;display:flex}.signin-callout p{color:var(--muted);margin:0;font-size:13px}.signin-callout a,.account-card>a{color:#fff;background:#0f7e82;padding:9px 13px;font-size:12px;font-weight:800}.account-page{max-width:1000px}.account-card{background:var(--paper);color:var(--ink);padding:30px 35px}.account-card dl{margin:0}.account-card dl div{border-bottom:1px solid #d4e0e8;grid-template-columns:160px 1fr;padding:16px 0;display:grid}.account-card dt{color:#65798c;text-transform:uppercase;font-size:12px;font-weight:800}.account-card dd{margin:0;font-weight:700}.account-card>a{margin-top:25px;display:inline-flex}.moderation-board{background:var(--navy-2);border:1px solid var(--line);padding:30px}.bootstrap-card{color:var(--ink);background:#e7f4f3;border-left:5px solid #159ca3;margin-bottom:25px;padding:24px}.bootstrap-card h2{margin-top:0}.bootstrap-card p{color:#526b7e}.moderation-list article{color:var(--ink);background:#fff;margin-top:16px;padding:22px}.moderation-list header{justify-content:space-between;gap:20px;display:flex}.moderation-list header span,.moderation-list small{color:#6a7c8d;font-size:11px}.moderation-list p{line-height:1.65}.moderation-list footer{gap:10px;margin-top:18px;display:flex}.category-bar{scrollbar-width:thin;background:#081a2e;border-top:1px solid #9eb0c621;overflow-x:auto}.category-bar>div{align-items:center;gap:4px;width:min(1380px,100% - 48px);min-width:max-content;margin:auto;padding:8px 0;display:flex}.category-bar a{color:#aebfd0;white-space:nowrap;padding:7px 12px;font-size:11px;font-weight:800}.category-bar a:hover{color:var(--cyan);background:#102b47}.category-bar .category-root{color:var(--cyan);border-right:1px solid var(--line);margin-right:4px;padding-left:0;padding-right:18px}.report-cover{padding:0}.report-cover>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.report-cover:before{content:"";z-index:1;background:linear-gradient(#030e1b0f 15%,#030e1bd6 100%);position:absolute;inset:0}.report-cover-label{z-index:2;flex-direction:column;justify-content:flex-end;min-height:195px;padding:22px 25px;display:flex;position:relative}.report-cover-label span{color:var(--cyan);letter-spacing:.14em;font-size:9px;font-weight:900;position:absolute;top:23px}.report-cover-label strong{font-size:46px;line-height:1}.report-cover-label small{color:#d3e2ef;margin-top:8px}.report-hero-image{margin:36px 0 0}.report-hero-image img{aspect-ratio:16/9;object-fit:cover;border:1px solid #c7d7e2;width:100%;display:block}.report-hero-image figcaption{color:#6c7e8e;margin-top:8px;font-size:11px;line-height:1.5}.policy-page>section ul{color:#486075;padding-left:1.25rem;line-height:1.8}.policy-page>section a{color:#00758a;text-underline-offset:2px;text-decoration:underline}.report-information-note{color:#4a6175;background:#e8f0f5;border-top:1px solid #cbd8e2;padding:24px 72px;font-size:12px;line-height:1.65}.report-information-note a{color:#087582;text-underline-offset:2px;font-weight:800;text-decoration:underline}.site-footer small{margin-top:18px;display:block}.signout-form{margin:0}.signout-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.auth-page{max-width:720px}.auth-card{background:var(--paper);color:var(--ink);border-top:5px solid #159ca3;padding:48px 52px;box-shadow:0 26px 65px #00000040}.auth-card h1{letter-spacing:-.035em;margin:0;font-size:42px}.auth-card>p:not(.eyebrow){color:#566b80;line-height:1.7}.auth-form{gap:17px;margin-top:28px;display:grid}.auth-form label{color:#385268;gap:7px;font-size:12px;font-weight:800;display:grid}.auth-form input{height:44px;color:var(--ink);background:#fff;border-radius:0}.auth-form button{background:#0f7e82;border-radius:0;width:max-content}.auth-form small{color:#6a7c8d}.auth-form output{color:#a63030;min-height:20px;font-size:12px}.auth-form p{color:#617487;margin:0;font-size:12px}.auth-form a,.auth-card>.text-link{color:#087582;font-weight:800}.auth-success,.auth-error,.dev-verification{margin:20px 0;padding:15px 17px;font-size:13px;line-height:1.6}.auth-success{color:#17654d;background:#e5f5f0}.auth-error{color:#8a2c2c;background:#fbeaea}.dev-verification{color:#486075;background:#e8f0f5;border-left:4px solid #159ca3}.dev-verification p{margin:5px 0}.dev-verification a{color:#087582;font-weight:800;text-decoration:underline}.comment-actions{justify-content:flex-end;display:flex}.comment-report-trigger{color:#8fa8bd;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px;text-decoration:underline}.comment-report-trigger:hover{color:var(--cyan)}.comment-report-form{border:1px solid var(--line);background:#102b47;grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) auto;align-items:end;gap:12px;width:100%;margin-top:12px;padding:16px;display:grid}.comment-report-form label{color:#c9d8e5;gap:6px;font-size:11px;font-weight:800;display:grid}.comment-report-form label span{color:var(--muted);font-weight:400}.comment-report-form select,.comment-report-form input{min-height:38px;color:var(--ink);background:#fff;border:1px solid #b8c8d5;padding:7px 9px}.comment-report-form>div{gap:8px;display:flex}.comment-system-message:empty{display:none}.comment-system-message{color:#d5e3ee;margin-top:18px;font-size:12px;display:block}@media (max-width:620px){.category-bar>div{width:calc(100% - 28px)}.report-cover-label{min-height:180px}.report-hero-image{margin-top:26px}.report-information-note{padding-inline:24px}.comment-report-form{grid-template-columns:1fr}.comment-report-form>div{flex-wrap:wrap}}
