:root {
  --paper: #e5e2da;
  --ink: #171918;
  --muted: #686b66;
  --accent: #a68d62;
  --line: rgba(23,25,24,.2);
  --pad: clamp(24px, 4.4vw, 76px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}
.grain {
  position: fixed;
  inset: -50%;
  z-index: 20;
  pointer-events: none;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.detail-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  height: 112px;
  padding: 30px var(--pad);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  color: #ece8df;
  font-family: Arial, sans-serif;
  font-size: .65rem;
  letter-spacing: .2em;
}
.detail-wordmark { color: inherit; text-decoration: none; line-height: 1.35; }
.detail-wordmark span { display: block; }
.detail-position { margin: 0; text-align: center; line-height: 1.7; color: rgba(236,232,223,.62); }
.detail-back { justify-self: end; display: flex; gap: 15px; color: inherit; text-decoration: none; }
.detail-back i { font-style: normal; transition: transform .3s ease; }
.detail-back:hover i { transform: translateX(-5px); }

.detail-hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(430px, 1.12fr) minmax(400px, .88fr);
  background: #131514;
  color: #ece8df;
}
.detail-image { position: relative; min-height: 100svh; margin: 0; overflow: hidden; }
.detail-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 72%, #131514 100%); }
.detail-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 44%; filter: saturate(.76); animation: detailReveal 1.4s cubic-bezier(.22,.8,.2,1) both; }
.detail-image figcaption { position: absolute; z-index: 2; left: var(--pad); bottom: 34px; font-family: Arial, sans-serif; font-size: .7rem; letter-spacing: .2em; color: rgba(236,232,223,.65); }
.detail-title {
  position: relative;
  min-height: 100svh;
  padding: clamp(130px, 15vw, 210px) var(--pad) 65px clamp(50px, 6vw, 105px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.roman { position: absolute; top: 5%; right: 2%; font-family: "Cormorant Garamond", serif; font-size: clamp(13rem, 27vw, 28rem); font-style: italic; line-height: .8; color: rgba(201,183,143,.04); }
.detail-kicker { position: relative; margin: 0 0 55px; padding-bottom: 17px; border-bottom: 1px solid rgba(236,232,223,.2); font-family: Arial, sans-serif; font-size: .72rem; letter-spacing: .22em; color: #bea66f; }
.detail-title h1 { position: relative; margin: 0; font-size: clamp(4.5rem, 9vw, 9.5rem); font-weight: 300; line-height: .92; letter-spacing: .14em; }
.detail-title .english { position: relative; margin-top: 18px; font-family: "Cormorant Garamond", serif; font-size: clamp(2rem, 3.5vw, 4rem); font-style: italic; color: #aa9874; }
.detail-subtitle { position: relative; margin: 42px 0 0; font-size: 1.05rem; letter-spacing: .18em; color: rgba(236,232,223,.72); }
.detail-intro { position: relative; max-width: 520px; margin: auto 0 0; font-size: .96rem; line-height: 2.05; letter-spacing: .055em; color: rgba(236,232,223,.63); }

.detail-story { padding: clamp(115px, 13vw, 190px) var(--pad); }
.story-heading { display: grid; grid-template-columns: minmax(210px,.62fr) 1.38fr; gap: clamp(40px,7vw,120px); }
.story-heading p { margin: 15px 0 0; font-family: Arial,sans-serif; font-size: .72rem; letter-spacing: .22em; color: var(--accent); }
.story-heading h2 { margin: 0; font-size: clamp(3rem, 6.5vw, 7rem); font-weight: 300; line-height: 1.28; letter-spacing: .08em; }
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 8vw, 130px); margin: clamp(90px,11vw,155px) 0 0 29%; }
.story-column { border-top: 1px solid var(--line); padding-top: 23px; }
.story-column h3 { margin: 0 0 32px; font-family: Arial,sans-serif; font-size: .72rem; font-weight: 400; letter-spacing: .2em; color: var(--accent); }
.story-column p { margin: 0; font-size: 1rem; line-height: 2.2; letter-spacing: .055em; color: #565a56; }

.detail-data { display: grid; grid-template-columns: 1.1fr repeat(3,1fr); gap: 30px; margin-top: clamp(100px,12vw,165px); padding-top: 25px; border-top: 1px solid var(--line); }
.detail-data > p { margin: 0; font-family: Arial,sans-serif; font-size: .72rem; letter-spacing: .22em; color: var(--accent); }
.detail-data dt { margin-bottom: 10px; font-family: Arial,sans-serif; font-size: .68rem; letter-spacing: .16em; color: #858881; }
.detail-data dd { margin: 0; font-size: .9rem; letter-spacing: .06em; }

.detail-navigation { min-height: 280px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.detail-navigation a { position: relative; padding: 60px var(--pad); display: flex; flex-direction: column; justify-content: center; color: inherit; text-decoration: none; transition: background .35s ease; }
.detail-navigation a:hover { background: rgba(23,25,24,.04); }
.detail-navigation a + a { border-left: 1px solid var(--line); text-align: right; align-items: flex-end; }
.detail-navigation small { margin-bottom: 18px; font-family: Arial,sans-serif; font-size: .68rem; letter-spacing: .2em; color: #83867f; }
.detail-navigation strong { font-size: clamp(1.6rem, 3vw, 3.2rem); font-weight: 300; letter-spacing: .11em; }
.detail-navigation span { margin-top: 10px; font-family: "Cormorant Garamond",serif; font-size: 1.35rem; font-style: italic; color: var(--accent); }
.detail-footer { min-height: 145px; padding: 0 var(--pad); display: flex; justify-content: space-between; align-items: center; background:#111313; color:#70736e; font-family:Arial,sans-serif; font-size:.65rem; letter-spacing:.2em; }
.detail-footer a { color:#c5baa1; text-decoration:none; }
.detail-footer p { margin:0; }

body.tone-blue { --paper:#dce1df; --accent:#607f82; }
body.tone-earth { --paper:#dfd8cc; --accent:#8c704e; }
body.tone-gold { --paper:#dfd8c9; --accent:#967443; }
body.tone-ivory { --paper:#e8e5de; --accent:#8d7d60; }

@keyframes detailReveal { from { opacity:0; transform:scale(1.07); } to { opacity:1; transform:scale(1); } }
@media (max-width:760px) {
  .detail-header { height:88px; padding-top:22px; grid-template-columns:1fr 1fr; }
  .detail-position { display:none; }
  .detail-back span { display:none; }
  .detail-hero { display:flex; flex-direction:column; }
  .detail-image { min-height:74svh; height:74svh; }
  .detail-image::after { background:linear-gradient(0deg,#131514 0%,transparent 25%); }
  .detail-title { min-height:auto; padding:80px var(--pad) 85px; }
  .detail-title h1 { font-size:clamp(4.1rem,20vw,6.5rem); }
  .detail-intro { margin-top:65px; }
  .story-heading { grid-template-columns:1fr; gap:40px; }
  .story-heading h2 { font-size:clamp(2.8rem,13vw,4.8rem); }
  .story-grid { grid-template-columns:1fr; margin:75px 0 0; }
  .detail-data { grid-template-columns:1fr; gap:28px; }
  .detail-data > p { margin-bottom:12px; }
  .detail-navigation { min-height:230px; }
  .detail-navigation a { padding:40px 22px; }
  .detail-navigation strong { font-size:1.25rem; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Radiolaria — expanded editorial page */
.radiolaria-expanded .section-index { margin:0 0 28px; font-family:Arial,sans-serif; font-size:.72rem; letter-spacing:.24em; color:var(--accent); }
.radiolaria-world { position:relative; min-height:100svh; overflow:hidden; background:#071118; color:#f0eee8; }
.radiolaria-world > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.76) brightness(.72); }
.radiolaria-world::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,8,11,.75),rgba(4,8,11,.05) 48%,rgba(4,8,11,.48)); }
.world-copy { position:relative; z-index:1; width:min(520px,42vw); padding:clamp(130px,15vw,220px) 0 110px var(--pad); }
.world-copy h2 { margin:0 0 55px; font-size:clamp(3rem,6vw,7.3rem); font-weight:300; line-height:1.28; letter-spacing:.08em; }
.world-copy > p:not(.section-index) { max-width:430px; margin:0 0 24px; font-size:1rem; line-height:2.15; letter-spacing:.055em; color:rgba(240,238,232,.72); }
.world-whisper { position:absolute; z-index:2; right:var(--pad); bottom:50px; margin:0; font-family:Arial,sans-serif; font-size:.66rem; line-height:1.75; letter-spacing:.25em; color:rgba(240,238,232,.55); }
.radiolaria-origin { padding:clamp(120px,14vw,210px) var(--pad); }
.chapter-title { display:grid; grid-template-columns:.5fr 1fr; column-gap:6vw; align-items:end; }
.chapter-title .section-index { grid-column:1; align-self:start; }
.chapter-title h2 { grid-column:2; grid-row:1 / span 2; margin:0; font-size:clamp(4rem,9vw,10rem); font-weight:300; line-height:.98; letter-spacing:.13em; }
.chapter-title span { grid-column:2; margin-top:25px; font-family:"Cormorant Garamond",serif; font-size:clamp(1.5rem,2.3vw,2.8rem); font-style:italic; color:var(--accent); }
.origin-layout { display:grid; grid-template-columns:.72fr 1fr; gap:8vw; margin-top:clamp(100px,12vw,180px); }
.origin-lead { margin:0; font-size:clamp(1.7rem,3.2vw,3.7rem); line-height:1.65; letter-spacing:.08em; }
.origin-text { display:grid; grid-template-columns:1fr 1fr; gap:4vw; }
.origin-text p { margin:0; font-size:1rem; line-height:2.2; letter-spacing:.05em; color:#565a56; }
.morphology-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(100px,11vw,160px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.morphology-grid article { min-height:270px; padding:30px clamp(20px,3vw,48px) 38px 0; }
.morphology-grid article + article { border-left:1px solid var(--line); padding-left:clamp(20px,3vw,48px); }
.morphology-grid span,.translation-notes span { font-family:Arial,sans-serif; font-size:.68rem; letter-spacing:.2em; color:var(--accent); }
.morphology-grid h3 { margin:52px 0 8px; font-size:clamp(1.6rem,2.4vw,2.8rem); font-weight:300; letter-spacing:.1em; }
.morphology-grid p { margin:0 0 28px; font-family:Arial,sans-serif; font-size:.65rem; letter-spacing:.2em; color:#858881; }
.morphology-grid small { display:block; max-width:290px; font-size:.88rem; line-height:1.9; color:#666a65; }
.radiolaria-translation { min-height:100svh; display:grid; grid-template-columns:.72fr 1.15fr .72fr; background:#111413; color:#eceae4; }
.translation-heading { padding:clamp(100px,11vw,170px) 3.5vw clamp(80px,8vw,130px) var(--pad); display:flex; flex-direction:column; }
.translation-heading h2 { margin:0 0 55px; font-size:clamp(3rem,5vw,6.4rem); font-weight:300; line-height:1.35; letter-spacing:.09em; }
.translation-heading > p:last-child { margin:auto 0 0; max-width:340px; font-size:1rem; line-height:2.1; color:rgba(236,234,228,.6); }
.translation-image { min-height:100svh; overflow:hidden; }
.translation-image img { width:100%; height:100%; object-fit:cover; object-position:50% 36%; filter:saturate(.55); }
.translation-notes { margin:0; padding:clamp(110px,13vw,190px) var(--pad) 90px 3.5vw; list-style:none; display:flex; flex-direction:column; justify-content:center; }
.translation-notes li { display:grid; grid-template-columns:38px 1fr; gap:15px; padding:32px 0; border-top:1px solid rgba(236,234,228,.18); }
.translation-notes li:last-child { border-bottom:1px solid rgba(236,234,228,.18); }
.translation-notes b { display:block; margin-bottom:13px; font-size:1.25rem; font-weight:300; letter-spacing:.12em; }
.translation-notes small { display:block; font-size:.84rem; line-height:1.9; color:rgba(236,234,228,.55); }
.radiolaria-product { padding:clamp(115px,13vw,190px) var(--pad); background:#e9e7e1; }
.product-heading { display:grid; grid-template-columns:.48fr 1fr .72fr; gap:5vw; align-items:end; }
.product-heading .section-index { align-self:start; }
.product-heading h2 { margin:0; font-size:clamp(2.4rem,4.8vw,5.4rem); font-weight:300; line-height:.95; letter-spacing:.13em; }
.product-heading span { display:block; margin-top:24px; font-family:"Cormorant Garamond",serif; font-size:clamp(1.5rem,2.4vw,2.8rem); letter-spacing:.08em; color:var(--accent); }
.product-heading > p:last-child { margin:0; max-width:390px; font-size:1rem; line-height:2.1; letter-spacing:.05em; color:#5d615c; }
.product-group-heading { display:grid; grid-template-columns:48px 1fr minmax(260px,.7fr); gap:24px; align-items:end; margin-top:clamp(95px,11vw,160px); padding-bottom:22px; border-bottom:1px solid var(--line); }
.product-group-heading > span { font-family:"Cormorant Garamond",serif; font-size:1.25rem; font-style:italic; color:var(--accent); }
.product-group-heading h3 { margin:0; font-size:clamp(1.8rem,3vw,3.4rem); font-weight:300; letter-spacing:.1em; }
.product-group-heading p { margin:9px 0 0; font-family:Arial,sans-serif; font-size:.66rem; letter-spacing:.2em; color:#858881; }
.product-group-heading small { justify-self:end; max-width:360px; font-size:.9rem; line-height:1.8; color:#666a65; }
.product-gallery { display:grid; grid-template-columns:1.3fr .7fr; grid-template-rows:1fr 1fr; gap:clamp(14px,1.7vw,28px); margin-top:clamp(24px,3vw,46px); }
.product-shot { margin:0; }
.product-shot-main { grid-row:span 2; }
.product-shot-media { height:clamp(320px,34vw,520px); overflow:hidden; background:#303130; }
.product-shot-main .product-shot-media { height:100%; min-height:780px; }
.product-shot-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .8s cubic-bezier(.22,.8,.2,1); }
.product-shot-main .product-shot-media img { object-position:center 44%; }
.product-shot:hover .product-shot-media img { transform:scale(1.025); }
.shot-placeholder { aspect-ratio:4/3; padding:24px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg,#d5d4ce,#c4c4bf); border:1px solid rgba(23,25,24,.12); color:#797b77; }
.product-shot-main .shot-placeholder { height:100%; min-height:680px; aspect-ratio:auto; }
.product-shot-wide .shot-placeholder { aspect-ratio:2.07/1; }
.shot-placeholder span,.shot-placeholder small { font-family:Arial,sans-serif; font-size:.64rem; letter-spacing:.2em; }
.shot-placeholder b { align-self:center; font-family:"Cormorant Garamond",serif; font-size:clamp(1.8rem,3.6vw,4.4rem); font-weight:300; letter-spacing:.12em; color:rgba(23,25,24,.2); }
.shot-placeholder small { align-self:flex-end; }
.product-shot figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.product-shot figcaption span { font-size:.9rem; letter-spacing:.12em; }
.product-shot figcaption small { font-size:.7rem; color:#7d807b; }
.product-wireframe { margin:clamp(55px,7vw,100px) 0 0 26%; }
.product-wireframe > div { height:clamp(300px,36vw,560px); overflow:hidden; background:#303130; }
.product-wireframe img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.product-wireframe figcaption,.image-file-gallery figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.product-wireframe figcaption span,.image-file-gallery figcaption span { font-size:.9rem; letter-spacing:.1em; }
.product-wireframe figcaption small,.image-file-gallery figcaption small { font-family:Arial,sans-serif; font-size:.65rem; letter-spacing:.16em; color:#7d807b; }
.image-file-heading { margin-top:clamp(120px,14vw,210px); }
.image-file-gallery { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(18px,2.2vw,38px); margin-top:clamp(24px,3vw,46px); }
.image-file-gallery figure { margin:0; }
.image-file-gallery figure > div { height:clamp(360px,42vw,650px); overflow:hidden; background:#172229; }
.image-file-gallery img,.image-file-gallery video { width:100%; height:100%; display:block; object-fit:cover; transition:transform .8s cubic-bezier(.22,.8,.2,1); }
.image-file-gallery figure:hover img { transform:scale(1.02); }
.image-file-movie > div { position:relative; }
.image-file-movie video { object-position:center; }
.movie-mark { position:absolute; right:18px; bottom:18px; padding:8px 11px; background:rgba(15,18,18,.72); color:#eceae4; font-family:Arial,sans-serif; font-size:.62rem; letter-spacing:.16em; backdrop-filter:blur(8px); }
.product-information { display:grid; grid-template-columns:1fr .8fr; gap:clamp(70px,10vw,160px); margin-top:clamp(110px,13vw,190px); }
.product-summary h3 { margin:0 0 45px; font-size:clamp(2.4rem,4.5vw,5.4rem); font-weight:300; line-height:1.45; letter-spacing:.08em; }
.product-summary > p:not(.section-index) { max-width:620px; margin:0 0 22px; font-size:1rem; line-height:2.15; color:#5d615c; }
.product-includes ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.product-includes li { display:grid; grid-template-columns:45px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid var(--line); }
.product-includes li > span { font-family:Arial,sans-serif; font-size:.68rem; letter-spacing:.18em; color:var(--accent); }
.product-includes b { display:block; margin-bottom:10px; font-size:1rem; font-weight:300; letter-spacing:.08em; }
.product-includes small { display:block; font-size:.8rem; line-height:1.8; color:#777a75; }
.product-spec { display:grid; grid-template-columns:1.15fr repeat(4,1fr); gap:28px; margin:clamp(100px,11vw,160px) 0 0; padding-top:24px; border-top:1px solid var(--line); }
.product-spec > p { margin:0; font-family:Arial,sans-serif; font-size:.68rem; letter-spacing:.22em; color:var(--accent); }
.product-spec dt { margin-bottom:10px; font-family:Arial,sans-serif; font-size:.64rem; letter-spacing:.16em; color:#858881; }
.product-spec dd { margin:0; font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.04em; }
.product-note { margin:30px 0 0; font-size:.73rem; line-height:1.8; color:#858881; }
.radiolaria-closing { padding:clamp(110px,13vw,190px) var(--pad); background:#151817; color:#eceae4; }
.radiolaria-closing blockquote { margin:0; font-size:clamp(3rem,7vw,8rem); font-weight:300; line-height:1.35; letter-spacing:.13em; }
.radiolaria-closing .detail-data { color:#eceae4; border-color:rgba(236,234,228,.18); }
.radiolaria-closing .detail-data dd { color:rgba(236,234,228,.72); }

@media (max-width:900px) {
  .chapter-title { grid-template-columns:1fr; }
  .chapter-title .section-index,.chapter-title h2,.chapter-title span { grid-column:1; grid-row:auto; }
  .origin-layout { grid-template-columns:1fr; }
  .radiolaria-translation { grid-template-columns:1fr 1.2fr; }
  .translation-notes { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); padding:0 var(--pad) 80px; }
  .translation-notes li { padding-right:20px; }
  .translation-notes li:last-child { border-bottom:0; }
  .product-heading { grid-template-columns:1fr 1.4fr; }
  .product-heading > p:last-child { grid-column:2; }
  .product-gallery { grid-template-columns:1fr 1fr; grid-template-rows:auto auto; }
  .product-group-heading { grid-template-columns:42px 1fr; }
  .product-group-heading small { grid-column:2; justify-self:start; margin-top:8px; }
  .product-shot-main { grid-column:1/-1; grid-row:auto; }
  .product-shot-main .product-shot-media { min-height:0; height:72svh; }
  .product-shot:not(.product-shot-main) .product-shot-media { height:52svh; }
  .product-spec { grid-template-columns:1fr 1fr; }
  .product-spec > p { grid-column:1/-1; }
}
@media (max-width:760px) {
  .world-copy { width:auto; padding:110px var(--pad) 120px; }
  .world-copy h2 { margin-top:42svh; font-size:clamp(2.7rem,12vw,4.5rem); }
  .world-whisper { display:none; }
  .chapter-title h2 { font-size:clamp(3.8rem,18vw,6.3rem); }
  .origin-text,.morphology-grid { grid-template-columns:1fr; }
  .morphology-grid article { min-height:auto; padding:30px 0 36px!important; }
  .morphology-grid article + article { border-left:0; border-top:1px solid var(--line); }
  .morphology-grid h3 { margin-top:30px; }
  .radiolaria-translation { display:flex; flex-direction:column; }
  .translation-heading { min-height:72svh; }
  .translation-image { min-height:80svh; height:80svh; }
  .translation-notes { display:block; padding:48px var(--pad) 80px; }
  .translation-notes li:last-child { border-bottom:1px solid rgba(236,234,228,.18); }
  .product-heading,.product-information { grid-template-columns:1fr; }
  .product-heading > p:last-child { grid-column:auto; margin-top:28px; }
  .product-gallery { grid-template-columns:1fr 1fr; gap:30px 12px; margin-top:30px; }
  .product-group-heading { margin-top:85px; }
  .product-wireframe { margin-left:0; }
  .product-wireframe > div { height:48svh; }
  .image-file-gallery { grid-template-columns:1fr; gap:48px; }
  .image-file-gallery figure > div { height:58svh; }
  .product-shot-main .product-shot-media { height:70svh; }
  .product-shot:not(.product-shot-main) .product-shot-media { height:48svh; }
  .product-shot figcaption { display:block; }
  .product-shot figcaption small { display:block; margin-top:6px; line-height:1.6; }
  .shot-placeholder { padding:15px; }
  .shot-placeholder b { font-size:1.35rem; }
  .shot-placeholder small { display:none; }
  .product-spec { grid-template-columns:1fr; }
  .radiolaria-closing blockquote { font-size:clamp(2.6rem,12vw,4.4rem); }
}

/* Explanatory copy, distinct from labels, numbering and captions. */
.detail-intro,
.story-column p,
.world-copy > p:not(.section-index),
.origin-text p,
.morphology-grid small,
.translation-heading > p:last-child,
.translation-notes small,
.product-heading > p:last-child,
.product-summary > p:not(.section-index),
.product-includes small {
  font-size: clamp(1.06rem, 1.18vw, 1.18rem);
}
.detail-data dd,
.product-includes b,
.product-spec dd {
  font-size: 1rem;
}
.product-note {
  font-size: .9rem;
}

/* Cults3D cards on published sculpture pages. */
.cults-card {
  --cults-text: var(--ink);
  --cults-muted: #686b66;
  --cults-border: rgba(23, 25, 24, .35);
  --cults-hover: rgba(23, 25, 24, .035);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 24px;
  width: min(100%, 760px);
  margin-top: 16px;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--cults-border);
  color: var(--cults-text);
  text-decoration: none;
  transition: background-color .4s ease;
}
.radiolaria-closing .cults-card {
  --cults-text: #eceae4;
  --cults-muted: #c5baa1;
  --cults-border: rgba(236, 234, 228, .35);
  --cults-hover: rgba(236, 234, 228, .05);
}
.cults-card-label, .cults-card-action {
  grid-column: 1;
  font: 400 .65rem/1.8 Arial, sans-serif;
  letter-spacing: .16em;
  color: var(--cults-muted);
}
.cults-card-title {
  grid-column: 1;
  font: 300 clamp(1.25rem, 2vw, 1.8rem)/1.6 "Noto Serif JP", serif;
  letter-spacing: .08em;
}
.cults-card-action { margin-top: 8px; }
.cults-card-arrow {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  font: 300 1.8rem/1 "Cormorant Garamond", serif;
  transition: transform .4s ease;
}
.cults-card:hover, .cults-card:focus-visible { background-color: var(--cults-hover); }
.cults-card:hover .cults-card-arrow, .cults-card:focus-visible .cults-card-arrow { transform: translate(3px, -3px); }
.cults-card:focus-visible { outline: 1px solid var(--cults-text); outline-offset: 6px; }
