/* Shared category cards: geometry here, category accents in --desk / --wash. */
.collection-page{background:#faf9fc}
.collection-world{--desk:#7450be;--wash:#f0eafa;--ink:#292334;padding-bottom:40px}
.collection-world[data-desk=hosting-servers]{--desk:#6466ae;--wash:#efeff9}
.collection-world[data-desk=cybersecurity]{--desk:#675084;--wash:#efebf5}
.collection-world[data-desk=software]{--desk:#646177;--wash:#edecf2}
.collection-world[data-desk=networking]{--desk:#526f9f;--wash:#edf1f8}
.collection-world[data-desk=tech-news]{--desk:#875b9f;--wash:#f2ebf6}
.collection-heading{padding-top:30px}
.collection-heading .breadcrumb{font-size:12px;color: #695873;margin-bottom:22px}
.collection-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:35px;align-items:center;min-height:260px;border-bottom:1px solid #e8e2ef;padding:20px 0 32px}
.collection-intro .eyebrow{font-size:11px;color:var(--desk);letter-spacing:.13em;font-weight:700;margin:0 0 18px}
.collection-intro h1{font-size:clamp(30px,3.3vw,48px);letter-spacing:-.045em;line-height:1.15;margin:0}
.collection-description{max-width:65ch;font-size:15px;line-height:1.8;color:#776b85;margin:20px 0}
.collection-motto{font-size:13px;font-weight:650;color:var(--desk);display:flex;align-items:center;gap:12px}
.collection-motto:before{content:'';width:27px;height:1px;background:currentColor}
.collection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 0 24px}
.collection-toolbar h2{font-size:19px;letter-spacing:-.03em;margin:0}
.collection-trail{min-width:0}
.collection-trail h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.collection-trail a{color:var(--desk)}
.collection-trail a:hover{text-decoration:underline}
.collection-trail [aria-hidden]{color:#95889e;font-weight:400}
.collection-trail [aria-current]{min-width:0;overflow-wrap:anywhere}
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.collection-story{position:relative;isolation:isolate;min-width:0;height:auto;min-height:300px;padding:29px 30px 25px;background:#fff;border:1px solid color-mix(in srgb,var(--desk) 24%,#fff);border-radius:16px;display:flex;flex-direction:column;transition:border-color .22s,box-shadow .22s,background .22s}
.collection-story:hover{border-color:color-mix(in srgb,var(--desk) 50%,#fff);background:color-mix(in srgb,var(--desk) 2%,#fff);box-shadow:0 13px 30px -26px color-mix(in srgb,var(--desk) 70%,transparent)}
.collection-story-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.collection-story-top>span:last-child{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px;color:#95889e;white-space:nowrap}
.collection-story-top .icon{width:13px;height:13px}
.collection-tag{font-size:11px;color:var(--desk)}
.collection-story-copy{display:block;min-width:0;overflow-wrap:anywhere}
.collection-story-copy :is(h2,h3){font-size:clamp(21px,1.45vw,25px);line-height:1.34;letter-spacing:-.035em;margin:0;max-width:none}
/* Extend the real article link across the card; keep topic/action links above it. */
.collection-story-copy :is(h2,h3) a::after{content:'';position:absolute;inset:0;z-index:1;border-radius:16px}
.collection-story-copy :is(h2,h3) a:focus-visible{outline:0}
.collection-story-copy :is(h2,h3) a:focus-visible::after{outline:2px solid var(--desk);outline-offset:3px}
.collection-story .collection-topic,.collection-story-bottom>a{position:relative;z-index:2}
.collection-story-copy p{font-size:14px;line-height:1.72;color:#80738c;margin:14px 0 20px;max-width:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.collection-story-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid #eee9f3;flex-wrap:wrap}
.collection-story-bottom time{font-size:11px;color:#9b8ea5}
.collection-story-bottom>a{display:flex;align-items:center;gap:12px;color:var(--desk);font-weight:650;font-size:12px}
.collection-story-bottom .icon{width:17px;height:17px;transition:transform .2s}
.collection-story:hover .collection-story-bottom .icon{transform:translateX(4px)}
.collection-empty,.collection-no-match{grid-column:1/-1;padding:45px;text-align:center;background:#fff;border:1px solid #e6dfed;border-radius:15px}
.collection-empty h2{font-size:24px}
.collection-empty p,.collection-no-match p{color: #695873;margin:15px 0 25px}
.collection-no-match button{border:0;background:var(--wash);color:var(--desk);border-radius:7px;padding:10px 20px;cursor:pointer}
.collection-page [hidden]{display:none!important}
.collection-page .pagination{padding:30px 0}
.collection-page .pagination a{padding:9px 18px;border:1px solid #e6dfed;border-radius:9px;background:white}
.collection-art{position:relative;min-height:225px;display:grid;place-items:center;color:var(--desk);overflow:hidden}
.collection-art:before{content:'';position:absolute;inset:10px 8%;background:radial-gradient(ellipse,var(--wash),transparent 70%);border-radius:50%}
.rack{position:relative;width:230px;transform:perspective(550px) rotateY(-18deg) rotateX(8deg);z-index:1}
.rack i{display:flex;align-items:center;gap:7px;height:45px;background:#fff;border:1px solid #c7c7e4;border-radius:8px;margin:10px 0;padding:15px;box-shadow:8px 10px 0 #dfdef075}
.rack b{height:4px;width:4px;border-radius:50%;background:var(--desk)}
.rack span{height:4px;width:80px;background:#e5e4f1;margin-left:auto;border-radius:3px}
.art-orbit{position:absolute;width:290px;height:180px;border:1px dashed #c8c5e0;border-radius:50%;transform:rotate(-20deg)}
.shield-rings{position:relative;width:220px;height:220px;display:grid;place-items:center}
.shield-rings span{position:absolute;border:1px solid #cfc3e0;border-radius:50%;inset:0}
.shield-rings span:nth-child(2){inset:23px;border-style:dashed}
.shield-rings span:nth-child(3){inset:46px;background:#fff9}
.shield-rings .icon{width:66px;height:66px;z-index:1;stroke-width:1}
.idea-orbit{position:relative;width:270px;height:220px}
.idea-core{position:absolute;left:83px;top:50px;font-size:98px;font-weight:300;line-height:1}
.idea-orbit i{position:absolute;width:230px;height:105px;border:1px solid #c8b0e6;border-radius:50%;left:20px;top:50px;transform:rotate(-30deg)}
.idea-orbit i:nth-of-type(2){transform:rotate(30deg)}
.idea-orbit i:nth-of-type(3){transform:rotate(90deg)}
.idea-orbit i:nth-of-type(4){width:10px;height:10px;background:var(--desk);left:222px;top:100px;border:0;animation:idea-pulse 4s ease-in-out infinite}
.idea-orbit b{position:absolute;font-size:24px;font-weight:300;left:20px;top:15px}
.idea-orbit b:last-child{left:auto;right:20px;top:170px}
.code-window{position:relative;width:240px;padding:17px 23px;border:1px solid #c9c3d8;border-radius:10px;background:#fffc;box-shadow:12px 12px 0 #e6e1ef;transform:rotate(-4deg)}
.code-window>div{display:flex;gap:5px}
.code-window i{width:5px;height:5px;background:#c6bfd4;border-radius:50%}
.code-window strong{display:block;font:300 40px monospace;margin:20px 0 15px}
.code-window>span{display:block;width:65%;height:4px;background:#ded8e9;margin:8px 0;border-radius:4px}
.code-window>span:nth-of-type(2){width:45%}
.code-window b{position:absolute;right:25px;bottom:20px;font:24px monospace}
.network-map{width:280px;height:210px;position:relative}
.network-map b{position:absolute;left:112px;top:78px;background:#fff;padding:12px;border:1px solid #b7c6dc;border-radius:15px;z-index:2}
.network-map b .icon{width:30px;height:30px;stroke-width:1}
.network-map i{position:absolute;width:15px;height:15px;background:#fff;border:1px solid #a8bbd7;border-radius:50%;left:35px;top:30px;z-index:1}
.network-map i:nth-child(2){left:230px;top:30px}
.network-map i:nth-child(3){left:40px;top:170px}
.network-map i:nth-child(4){left:230px;top:170px}
.network-map i:nth-child(5){left:130px;top:10px}
.network-map span{position:absolute;left:43px;top:37px;width:200px;height:143px;border:1px dashed #acbdd5;border-radius:20px}
.network-map span:nth-of-type(2){transform:rotate(35deg);width:230px;height:1px;left:25px;top:108px}
.network-map span:nth-of-type(3){transform:rotate(-35deg);width:230px;height:1px;left:25px;top:108px}
.news-signal{position:relative;width:240px;height:210px}
.news-signal i{position:absolute;bottom:25px;left:30px;width:35px;height:60px;background:#e3d2ef;border-radius:6px}
.news-signal i:nth-child(2){left:88px;height:105px;background:#d8c2e7}
.news-signal i:nth-child(3){left:146px;height:150px;background:#cbb0dd}
.news-signal span{position:absolute;left:18px;top:-20px;font:130px Manrope,sans-serif;font-weight:200;color:#9768b4}
.news-signal b{position:absolute;bottom:10px;left:15px;right:10px;border-bottom:1px solid #cdb6df}
.news-signal b:last-child{bottom:0;left:210px;width:8px;height:8px;top:30px;border:1px solid #cdb6df;border-radius:50%}
@keyframes idea-pulse{
50%{transform:scale(.7);opacity:.4}
}
/* Shared search/sort controls, enhanced from a native select. */
.collection-world .collection-controls{
  display:flex;
  align-items:center;
  gap:12px;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}

.collection-world .collection-filter,
.collection-world .collection-sort{
  min-height:46px;
  border:1px solid #ded5e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px -24px rgba(63,38,88,.5);
}

.collection-world .collection-filter{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:280px;
  padding:12px 15px;
}

.collection-world .collection-filter input{
  width:230px;
  min-width:0;
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
  font-size:12px;
  color:var(--ink);
}

.collection-world .collection-sort{
  position:relative;
}

.collection-world .collection-sort select{
  min-width:150px;
  padding:12px 38px 12px 15px;
  border:0;
  border-radius:0;
  background-color:transparent;
  color:#675d70;
  font:inherit;
  font-size:12px;
}

.collection-world .collection-filter:focus-within,
.collection-world .collection-sort:focus-within{background:color-mix(in srgb,var(--desk) 3%,white)}

.collection-world .collection-filter input:focus,
.collection-world .collection-filter input:focus-visible{
  outline:0;
  box-shadow:none;
}

.collection-world .collection-filter:focus-within{
  border-color:color-mix(in srgb,var(--desk) 60%,white);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--desk) 12%,transparent);
}

.collection-world .collection-native-sort{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.collection-world .collection-sort-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:168px;
  min-height:44px;
  padding:0 15px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#675d70;
  font-size:12px;
  text-align:start;
}

.collection-world .collection-sort-trigger:focus-visible{
  outline:0;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--desk) 60%,white);
}

.collection-world .collection-sort-arrow{
  width:7px;
  height:7px;
  border-right:1.5px solid #756a80;
  border-bottom:1.5px solid #756a80;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}

.collection-world .collection-sort-trigger[aria-expanded="true"] .collection-sort-arrow{
  transform:translateY(2px) rotate(225deg);
}

.collection-world .collection-sort-menu{
  position:absolute;
  z-index:20;
  top:calc(100% + 8px);
  inset-inline-end:0;
  width:190px;
  padding:6px;
  border:1px solid #ded5e8;
  border-radius:11px;
  background:#fff;
  box-shadow:0 18px 42px rgba(46,31,61,.14);
}

.collection-world .collection-sort-option{
  display:block;
  width:100%;
  padding:10px 11px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#5f5569;
  font-size:12px;
  text-align:start;
}

.collection-world .collection-sort-option:hover:not(:disabled),
.collection-world .collection-sort-option[aria-selected="true"]{
  background:var(--wash);
  color:var(--desk);
}

.collection-world .collection-sort-option:disabled{
  opacity:.5;
  cursor:not-allowed;
}

@media(max-width:650px){
  .collection-world .collection-controls{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    width:100%;
  }
  .collection-world .collection-filter{min-width:0;padding-inline:11px}
  .collection-world .collection-filter input{width:100%}
  .collection-world .collection-sort select{min-width:125px}
  .collection-world .collection-sort-trigger{width:136px;padding-inline:11px;gap:12px}
}
.collection-filter .icon{width:16px;height:16px;flex-shrink:0;color:#91869e}
.collection-controls{margin-inline-start:auto}
.collection-sort-arrow{flex-shrink:0}

@media(max-width:1000px){
.collection-intro{grid-template-columns:1.4fr 1fr;gap:10px}
.collection-art{transform:scale(.85)}
.collection-toolbar{flex-wrap:wrap}
.collection-art{min-width:0}
}
@media(max-width:650px){
.collection-heading{padding-top:22px}
.collection-intro{grid-template-columns:1fr;min-height:0;gap:0;padding:0 0 22px;position:relative}
.collection-intro-copy{position:relative;z-index:1}
.collection-art{display:none}
.collection-intro h1{font-size:32px}
.collection-description{font-size:14px;margin:17px 0}
.collection-motto{font-size:12px}
.collection-toolbar{gap:18px;padding:26px 0 20px}
.collection-grid{grid-template-columns:1fr;gap:22px}
.collection-story{min-height:0;padding:24px}
}
@media(prefers-reduced-motion:reduce){
.collection-world *{animation:none!important;transition:none!important}
.collection-story:hover{transform:none}
}
.collection-topic{display:inline-flex;align-items:center;width:fit-content;color:var(--desk);font-size:10px;font-weight:650;letter-spacing:.035em;min-width:0;overflow-wrap:anywhere}
.collection-topic:after{content:'↗';margin-left:7px;opacity:.55}
.collection-topic:hover{text-decoration:underline;color:var(--desk)}
.collection-intro h1 em {font-style:normal;color:#793ed8}
#category-articles{scroll-margin-top:80px}
