.catalog-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);border-bottom:1px solid var(--ink)}.catalog-copy{padding:clamp(44px,7vw,96px)}.catalog-copy h1{margin:0;font-family:var(--gothic);font-size:clamp(3.2rem,8vw,8rem);font-weight:500;line-height:1;letter-spacing:-.05em}.catalog-photo{margin:0;border-left:1px solid var(--ink);background:#fff}.catalog-photo img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}.catalog-tools{position:sticky;top:66px;z-index:50;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:18px 32px;background:rgba(243,240,233,.96);border-bottom:1px solid var(--ink);backdrop-filter:blur(12px)}.search-wrap{position:relative;max-width:720px}.search-wrap label{position:absolute;left:0;top:50%;transform:translateY(-50%);font-family:var(--gothic);font-size:.78rem;letter-spacing:.12em}.search-wrap input{width:100%;padding:12px 42px 12px 108px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;outline:0;font-size:1.05rem}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 2px 0 var(--accent)}.clear-search{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:6px;color:var(--muted);background:transparent;border:0;cursor:pointer}.result-count{font-family:var(--gothic);font-size:.85rem;white-space:nowrap}.catalog-body{max-width:var(--max);margin:0 auto;padding:70px 32px 140px}.genus{margin:0 0 80px}.genus-head{display:grid;grid-template-columns:1fr auto;align-items:end;padding:0 0 14px;border-bottom:1px solid var(--ink)}.genus-head h2{margin:0;font-family:var(--gothic);font-size:clamp(1.8rem,3vw,3rem);font-weight:500}.genus-head span{color:var(--muted);font-family:var(--gothic);font-size:.78rem}.species-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.species-card{position:relative;display:block;min-width:0;padding:16px 16px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}.species-card:nth-child(3n+1){border-left:1px solid var(--line)}.species-card:hover{background:#fff}.species-card figure{position:relative;margin:0 0 18px;aspect-ratio:3/2;overflow:hidden;background:#fff}.species-card img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .45s ease}.species-card:hover img{transform:scale(1.025)}.species-card .number{position:absolute;top:10px;left:10px;z-index:1;padding:2px 7px;color:#fff;background:var(--ink);font-family:var(--gothic);font-size:.68rem}.species-card h3{margin:0;font-family:var(--gothic);font-size:1.18rem;font-weight:600;line-height:1.45}.species-card .latin{margin:5px 0 0;color:var(--muted);font-family:var(--gothic);font-size:.78rem;font-style:italic}.empty-state{display:none;padding:80px 0;border-bottom:1px solid var(--ink);text-align:center}.empty-state strong{display:block;font-family:var(--gothic);font-size:1.6rem}.empty-state p{color:var(--muted)}
.species-layout{display:grid;grid-template-columns:310px minmax(0,1fr);max-width:var(--max);margin:0 auto}.species-index{position:sticky;top:66px;height:calc(100vh - 66px);padding:30px 24px;border-right:1px solid var(--ink);overflow:auto}.species-index h2{margin:0 0 20px;font-family:var(--gothic);font-size:.82rem;letter-spacing:.14em}.species-index input{width:100%;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;outline:0}.species-index-list{margin-top:18px}.species-index-list a{display:block;padding:7px 0;color:var(--muted);border-bottom:1px solid var(--line);text-decoration:none;font-size:.85rem;line-height:1.5}.species-index-list a:hover,.species-index-list a.current{color:var(--accent)}.species-main{min-width:0;padding:clamp(38px,6vw,88px)}.back-link{display:inline-block;margin-bottom:42px;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.08em}.species-title h1{margin:0;font-family:var(--gothic);font-size:clamp(2.8rem,6vw,6.5rem);font-weight:500;line-height:1.1;letter-spacing:-.04em}.species-title .latin{margin:12px 0 0;color:var(--muted);font-family:var(--gothic);font-size:1.12rem;font-style:italic}.species-hero{margin:58px 0 42px;background:#fff;border:1px solid var(--line)}.species-hero img{display:block;width:100%;max-height:780px;object-fit:contain}.species-description{display:grid;grid-template-columns:120px minmax(0,620px);gap:30px;padding:32px 0 70px;border-bottom:1px solid var(--ink)}.species-description h2{margin:0;font-family:var(--gothic);font-size:.78rem;letter-spacing:.15em}.species-description p{margin:0}.gallery-title{margin:70px 0 18px;font-family:var(--gothic);font-size:.78rem;letter-spacing:.15em}.species-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.species-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#fff;border:1px solid var(--line)}
@media(max-width:900px){.catalog-intro{grid-template-columns:1fr}.catalog-photo{border-left:0;border-top:1px solid var(--ink)}.catalog-photo img{min-height:0}.catalog-tools{top:58px;grid-template-columns:1fr;padding:14px 20px}.result-count{display:none}.catalog-body{padding:48px 20px 90px}.species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.species-card:nth-child(3n+1){border-left:0}.species-card:nth-child(2n+1){border-left:1px solid var(--line)}.species-layout{grid-template-columns:1fr}.species-index{position:static;height:auto;border-right:0;border-bottom:1px solid var(--ink)}.species-index-list{display:none}.species-index:focus-within .species-index-list{display:block}.species-main{padding:42px 20px 90px}.species-description{grid-template-columns:1fr;gap:10px}.species-gallery{grid-template-columns:1fr}}@media(max-width:540px){.species-grid{grid-template-columns:1fr}.species-card,.species-card:nth-child(2n+1),.species-card:nth-child(3n+1){border-left:1px solid var(--line)}.catalog-copy{padding:52px 20px}.catalog-copy h1{font-size:3.5rem}.search-wrap label{font-size:.66rem}.search-wrap input{padding-left:82px}}
/* Compact framing; preserve the specimen grid and search behavior. */
.catalog-intro{max-width:var(--max);margin:auto;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr)}.catalog-copy{padding:28px}.catalog-copy h1{font-size:clamp(2rem,4vw,3rem);line-height:1.25;letter-spacing:0}.catalog-photo{display:flex;align-items:center;background:var(--paper-deep)}.catalog-photo img{height:auto;min-height:0;max-height:280px;object-fit:contain}.catalog-tools{top:var(--header-height);padding:12px 28px;background:#fff}.catalog-body{padding-top:32px;padding-bottom:48px}.genus{margin-bottom:40px}.genus-head h2{font-size:1.8rem}.species-index{top:var(--header-height);height:calc(100vh - var(--header-height))}.species-main{padding:32px}.species-title h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.4}.back-link{margin-bottom:20px;font-size:.875rem;text-decoration:underline}.species-hero{margin:24px 0}.gallery-title{margin-top:32px}.species-card:hover img{transform:none}.species-card h3{text-decoration:underline;text-underline-offset:4px}.species-card .latin,.genus-head span,.species-index-list a{font-size:.875rem}.species-index input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.clear-search{min-width:44px;min-height:44px}.species-index-list a{padding:12px 0}.species-description{padding-bottom:32px}.search-wrap label{font-size:.875rem}.search-wrap input{padding-left:100px}
@media(max-width:900px){.catalog-intro{grid-template-columns:1fr 1fr}.catalog-copy{padding:24px 20px}.catalog-photo{border-top:0}.catalog-tools{top:var(--header-height)}.species-index{position:static;height:auto}.species-main{padding:28px 20px}.catalog-body{padding:32px 20px 48px}}
@media(max-width:540px){.catalog-intro{grid-template-columns:1fr}.catalog-copy{padding:24px 16px 16px}.catalog-copy h1{font-size:2rem}.catalog-photo{border-top:1px solid var(--line);padding:8px}.catalog-photo img{max-height:180px}.catalog-tools{padding:10px 16px}.search-wrap input{padding-left:80px;font-size:1rem}.search-wrap label{font-size:.875rem}}

.catalog-copy h1,.genus-head h2,.species-card h3,.species-title h1,.empty-state strong{font-family:var(--gothic);font-weight:700;letter-spacing:.01em}.species-card .latin,.species-title .latin{font-family:Georgia,"Times New Roman",serif}.search-wrap label{letter-spacing:0}

/* Keep Japanese catalog headings consistently Gothic on macOS and Windows. */
.catalog-copy h1,
.genus-head h2,
.species-card h3,
.species-title h1,
.empty-state strong{
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}

/* The species name is enough identification; decorative sequence numbers add noise. */
.species-card .number{display:none}

.catalog-copy h1{white-space:nowrap;font-size:clamp(1.9rem,4vw,3rem)}
.catalog-copy .lead{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}

@media(max-width:620px){.catalog-copy h1{white-space:normal;font-size:2rem}}

/* Reserve enough width for the unbroken Japanese title. */
.catalog-intro{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.catalog-copy h1{white-space:nowrap;font-family:var(--gothic);font-size:clamp(1rem,2.7vw,2rem);letter-spacing:0}.catalog-copy{min-width:0}.catalog-copy .lead{font-family:var(--gothic)}.result-count{display:block}.search-wrap{min-width:0}
@media(max-width:900px){.catalog-intro{grid-template-columns:1fr}.catalog-copy h1{font-size:clamp(1rem,5.2vw,2rem)}.catalog-photo{border-left:0;border-top:1px solid var(--line)}.catalog-photo img{max-height:260px}}

/* Search: a white input field, explicit label and immediate result feedback. */
.catalog-tools{display:grid;grid-template-columns:minmax(0,720px) auto;align-items:center;gap:16px 28px;background:#fff;padding:20px max(20px,calc((100vw - 1064px)/2));border-bottom:1px solid var(--line)}
.search-wrap{position:relative;width:100%;max-width:none;min-width:0}
.search-wrap label{position:static;display:block;transform:none;font-size:.875rem;font-weight:600;letter-spacing:0;margin-bottom:8px;color:var(--ink)}
.search-wrap input{display:block;width:100%;height:52px;padding:12px 84px 12px 16px;border:1px solid #7c8986;border-radius:0;background:#fff;color:var(--ink);font-size:1rem;box-shadow:none}
.search-wrap input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);box-shadow:none}
.search-wrap input::placeholder{color:#68736f;opacity:1}
.search-wrap input::-webkit-search-cancel-button{-webkit-appearance:none}
.search-wrap .clear-search{position:absolute;right:5px;top:calc(1.575rem + 12px);transform:none;min-height:44px;min-width:64px;padding:8px;background:#fff;color:var(--accent);font-size:.875rem;text-decoration:underline;text-underline-offset:3px}
.clear-search[hidden]{display:none!important}
.search-hint{margin:8px 0 0;font-size:.875rem;line-height:1.6;color:var(--muted)}
.result-count{display:block;font-size:.875rem;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:600px){.catalog-tools{grid-template-columns:1fr;gap:10px;padding:16px}.result-count{text-align:right}.search-hint{font-size:.875rem}}

/* スマホでは検索欄を非固定　*/
@media (max-width: 600px) {
  .catalog-tools {
    position: static;
    top: auto;
  }
}

