/* HyperGoo v1.8: subject home with dedicated Topic Ninja library. */
.main-header{min-height:82px}
.main-header nav{gap:27px}
.category-home-hero{min-height:420px;padding-top:45px;padding-bottom:40px}
.category-home-hero .heroart{height:320px}
.category-home-hero h1{font-size:clamp(42px,4.6vw,62px)}
.category-home-hero .lede{max-width:560px}
.hero-about{max-width:550px;margin-top:15px;color:var(--muted);font-size:12px}
.hero-about summary{display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  list-style:none;color:#a5babb;border-bottom:1px solid #506263;padding:10px 0 7px;
  font-size:12px;line-height:1.35;transition:color .2s,border-color .2s}
.hero-about summary::-webkit-details-marker{display:none}
.hero-about summary::after{content:'+';color:var(--cyan);font-weight:700;font-size:16px}
.hero-about[open] summary::after{content:'−'}
.hero-about summary:hover{color:var(--ink);border-color:var(--cyan)}
.hero-about summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.hero-about-copy{margin:15px 0 0;padding:3px 0 3px 16px;border-left:2px solid #375957}
.hero-about-copy p{color:#a7b9ba;font-size:12px;line-height:1.75;margin:0 0 12px}
.hero-about-copy p:last-child{margin-bottom:0}
.category-selection{padding:20px 0 35px;scroll-margin-top:25px}
.category-selection .sectiontop{margin-bottom:23px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.category-panel{position:relative;min-height:285px;border-radius:17px;border:1px solid #31505a;
  overflow:hidden;display:flex;isolation:isolate;padding:30px 31px;transition:transform .2s,border-color .2s,box-shadow .2s;
  background:linear-gradient(120deg,#103035 0%,#0c1c23 70%)}
.category-panel:hover,.category-panel:focus-visible{transform:translateY(-4px);border-color:#a1e2a4;box-shadow:0 17px 40px #0005}
.category-panel-copy{position:relative;z-index:2;width:66%;display:flex;flex-direction:column;align-items:flex-start}
.category-panel .eyebrow{color:#c1f578;margin:0 0 26px}
.category-panel h3{font-size:clamp(28px,3vw,41px);line-height:1;letter-spacing:-1.7px;margin:0 0 16px;font-weight:690}
.category-panel h3 span{color:#c1f578;font-size:23px;vertical-align:middle;font-weight:500}
.category-panel-copy>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#c0d2d0;margin:0;max-width:280px}
.category-panel small{margin-top:auto;padding-top:22px;color:#9bd3d6;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700}
.category-visual{position:absolute;inset:0 0 0 49%;z-index:1;display:block;overflow:hidden}
.category-visual:before{content:"";position:absolute;inset:20px -60px -75px 0;border-radius:50%;border:1px solid #8bc0c12e;transform:rotate(-25deg)}
.category-visual img{position:absolute;display:block;object-fit:cover;aspect-ratio:16/9;border-radius:12px;
  box-shadow:0 15px 40px #0008;border:1px solid #b6e3dd3b}
.category-visual .main-visual{height:150px;width:265px;max-width:none;right:-55px;top:37px;transform:rotate(-9deg)}
.category-visual .secondary-visual{height:95px;width:168px;max-width:none;right:75px;bottom:9px;transform:rotate(10deg)}
.cat-experiences{background:linear-gradient(120deg,#14333e 0%,#101c29 73%);border-color:#315568}
.cat-experiences .eyebrow{color:#90e2ed}
.cat-experiences h3 span{color:#90e2ed}
.cat-tools{background:linear-gradient(120deg,#252936 0%,#131921 76%);border-color:#4c4a61}
.cat-tools .eyebrow{color:#f5d492}
.cat-tools h3 span{color:#f5d492}
.cat-learn{background:linear-gradient(120deg,#25362a 0%,#141f1e 76%);border-color:#4b6246}
.cat-learn .eyebrow{color:#caf38a}
.cat-learn h3 span{color:#caf38a}
.home-collection{padding:54px 0 32px;border-top:1px solid #263a3c;scroll-margin-top:20px}
.home-collection .sectiontop{margin-bottom:26px;gap:30px}
.home-collection .sectiontop .eyebrow{margin:0 0 9px;color:var(--lime)}
.home-collection .sectiontop h2{margin:0}
.home-collection .sectiontop .muted{max-width:320px;line-height:1.7;text-align:right}
.home-collection .grid{gap:20px}
.learn-preview{border:1px solid #345650;border-radius:15px;
  background:linear-gradient(115deg,#142a29,#0d1a1f);padding:28px;
  display:flex;align-items:center;justify-content:space-between;gap:32px}
.learn-preview .eyebrow{color:var(--cyan);margin:0 0 10px}
.learn-preview h3{margin:0 0 10px;font-size:clamp(23px,2.6vw,33px);letter-spacing:-.8px}
.learn-preview p:not(.eyebrow){max-width:620px;color:#adbdba;font-size:13px;line-height:1.7;margin:0}
.learn-open{flex-shrink:0;min-height:48px;display:inline-flex;align-items:center;gap:16px;
  border-radius:8px;background:var(--lime);color:#102018;padding:14px 20px;
  font-size:13px;font-weight:750}
.learn-open:hover,.learn-open:focus-visible{background:#d5ffa0}
.learn-open span{font-size:18px}
.topic-ninja-page{padding-bottom:10px}
.topic-page-intro{max-width:850px;padding-bottom:15px}
.topic-page-intro .crumb{display:inline-block;margin-bottom:28px;font-size:12px;color:#b5c7c5;
  border-bottom:1px solid #537271;padding-bottom:8px}
.topic-page-intro h1{font-size:clamp(37px,4vw,58px);margin:17px 0 24px}
.topic-page-intro>p:last-child{max-width:750px;font-size:14px;color:var(--muted);line-height:1.8}
.topic-ninja-page>.topic-directory{margin:15px 0 20px}
.back-to-categories{text-align:right;margin:29px 0 0;font-size:12px;color:#a9d8d2}
.back-to-categories a{border-bottom:1px solid #5e8d89;padding-bottom:6px}
.back-to-categories a:hover{color:var(--lime)}
.topic-directory{border:1px solid #344c48;background:linear-gradient(140deg,#101f21,#0c171a);
  border-radius:18px;padding:27px 26px;margin-top:14px}
.topic-directory-head{display:flex;align-items:end;justify-content:space-between;gap:20px}
.topic-directory-head .eyebrow{margin:0 0 9px;color:var(--cyan)}
.topic-directory-head h3{font-size:clamp(21px,2vw,29px);margin:0;letter-spacing:-.6px}
.topic-directory-head .search{min-width:260px;max-width:400px}
.topic-directory #topic-count{margin:17px 0 16px;font-size:12px}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.topic-entry{min-width:0;min-height:63px;display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:13px 15px;background:#17282b;border:1px solid #2e4547;border-radius:9px;
  color:#e5f2f0;font-size:12px;line-height:1.5;transition:background .15s,border-color .15s}
.topic-entry:hover,.topic-entry:focus-visible{background:#20393c;border-color:#a6e6b4}
.topic-entry span{min-width:0;overflow-wrap:anywhere}
.topic-entry small{flex-shrink:0;font-size:9px;letter-spacing:.8px;color:#91d8ca}
.topic-directory #topic-empty{padding:20px;text-align:center;color:var(--muted)}
.category-intro{max-width:850px;padding-bottom:32px}
.category-intro .crumb{display:inline-block;margin-bottom:28px;font-size:12px;color:#b5c7c5;
  border-bottom:1px solid #537271;padding-bottom:8px}
.category-intro h1{margin:20px 0 22px}
.category-intro>p:last-child{max-width:675px;font-size:15px;line-height:1.8}
.catalog-section{padding:14px 0 40px}
.catalog-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:12px}
.catalog-topline .eyebrow{margin:0 0 12px}
.catalog-section #count{margin:0 0 20px}
.catalog-section .grid{padding-bottom:10px}
.catalog-section .card h3{font-size:21px}
.category-callout{margin:0 0 25px}
.learn-highlights{border:1px solid #354947;background:linear-gradient(140deg,#112523,#0d191d);border-radius:16px;padding:25px 26px}
.learn-highlights .eyebrow{margin:0 0 18px;color:#c1f578}
.topic-chips{display:flex;gap:9px;flex-wrap:wrap}
.topic-chips a{display:inline-block;background:#223b35;border:1px solid #44645b;color:#e0f2e9;
  padding:12px 16px;border-radius:20px;font-size:12px}
.topic-chips a:hover{border-color:#c1f578}
@media(max-width:1000px){
 .category-panel{min-height:265px;padding:26px}
 .category-visual .secondary-visual{right:40px}
 .main-header nav{gap:15px}
 .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .main-header{gap:12px}
 .main-header nav{order:3;justify-content:space-between;width:100%;font-size:12px;gap:10px}
 .category-home-hero{padding-top:35px;padding-bottom:20px}
 .category-home-hero .heroart{height:220px}
 .category-grid{grid-template-columns:1fr;gap:15px}
 .category-panel{min-height:235px;padding:25px}
 .category-panel-copy{width:70%}
 .category-panel h3{font-size:34px}
 .category-panel .eyebrow{margin-bottom:21px}
 .category-visual{left:50%}
 .category-visual .main-visual{right:-90px;top:25px}
 .category-visual .secondary-visual{right:7px;bottom:18px}
 .catalog-topline{align-items:start;flex-direction:column}
 .catalog-topline .search{width:100%}
 .catalog-topline input{width:100%}
 .category-intro{padding-top:30px}
 .home-collection{padding:40px 0 25px}
 .home-collection .sectiontop .muted{max-width:none;text-align:left}
 .learn-preview{align-items:stretch;flex-direction:column;gap:21px;padding:21px}
 .learn-open{justify-content:center;align-self:flex-start}
 .topic-directory{padding:19px}
 .topic-directory-head{align-items:start;flex-direction:column}
 .topic-directory-head .search{width:100%;max-width:none}
}
@media(max-width:430px){
 .main-header nav a{font-size:11px}
 .main-header nav a:last-child{display:inline}
 .category-panel-copy{width:78%}
 .category-panel h3{font-size:31px}
 .category-panel-copy>p:not(.eyebrow){font-size:12px}
 .category-visual{opacity:.73;left:46%}
 .category-visual .main-visual{right:-120px}
 .category-visual .secondary-visual{right:-3px}
 .topic-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.category-panel{transition:none}}

/* v2.1 — Topic Ninja brand artwork, top right of the Learn intro */
.topic-page-intro{
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,350px);
  align-items:center;
  gap:clamp(22px,4vw,58px);
  padding-top:34px;
  padding-bottom:22px;
}
.topic-intro-copy{min-width:0}
.topic-intro-copy>p:last-child{max-width:670px;font-size:14px;color:var(--muted);line-height:1.8}
.topic-intro-art{margin:0;width:100%;min-width:0;justify-self:end}
.topic-intro-art img{display:block;width:100%;height:auto;border-radius:16px;
  border:1px solid rgba(133,212,204,.22);
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}
@media(max-width:760px){
  .topic-page-intro{grid-template-columns:1fr;padding-top:30px;gap:20px}
  .topic-intro-art{width:min(310px,80%);justify-self:center}
}
