@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--bg:#131716;--panel:#1c2220;--line:#354039;--ink:#eee9df;--muted:#a7b1a8;--gold:#d0a775}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:transparent;border-radius:3px;padding:10px 16px}button:hover{background:#334039}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}header{padding:24px 4%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#131716f5;z-index:4;backdrop-filter:blur(12px)}.brand{display:flex;gap:13px;color:var(--ink);font-size:30px;align-items:center}.brand span{font-size:13px;letter-spacing:2.8px}.brand small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-top:6px}nav{display:flex;gap:6px;margin:auto}nav [data-page]{border:0;font-size:13px;color:var(--muted);padding:10px 12px}nav [data-page].active{color:var(--gold);background:#253029}.round{border-radius:40px;font-size:12px}main{max-width:1600px;margin:auto;padding:0 4% 70px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--gold);text-transform:uppercase}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,6vw,86px);line-height:1.02;margin:20px 0}h2{font-size:42px;margin:12px 0 20px}h3{font-size:29px;margin:12px 0}.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:440px;align-items:center;gap:8%;padding:45px 0 40px}.hero p{color:var(--muted);line-height:1.8;max-width:420px}.heroArt{position:relative;background:#e5e2d9;border-radius:4px;overflow:hidden;height:350px;cursor:pointer}.heroArt img{width:100%;height:100%;object-fit:contain;display:block;min-height:0}.artLabel{position:absolute;bottom:0;left:0;right:0;background:#eae8e1e8;color:#343d34;padding:12px 16px;display:flex;justify-content:space-between;font-size:11px}.stats{display:flex;gap:32px;margin-top:30px}.stats strong{font:32px Georgia;display:block}.stats span{font-size:10px;letter-spacing:1px;color:var(--muted)}.sectionHead{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-top:14px}.sectionHead h2{font-size:34px}.sectionHead p{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:10px;margin:15px 0 20px;flex-wrap:wrap}.toolbar input{flex:1;min-width:210px}.toolbar input,.toolbar select{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:13px;border-radius:3px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.chips button{border-radius:30px;padding:7px 14px;font-size:12px;color:var(--muted)}.chips button.active{background:var(--gold);color:#171c18;border-color:var(--gold)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.card{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel);position:relative}.cardImage{width:100%;height:230px;background:#e9e6df;padding:0;border:0;border-radius:0;display:block;overflow:hidden}.cardImage:hover{background:#e9e6df}.cardImage img{height:100%;width:100%;object-fit:contain;display:block}.placeholder{color:#727d72;font:26px Georgia;display:grid;place-items:center;height:100%;padding:25px;text-align:center}.cardInfo{padding:20px}.cardInfo .eyebrow{font-size:9px;letter-spacing:1.5px}.cardInfo h3{margin:8px 0 15px;font-size:27px}.cardInfo h3 button{font:inherit;text-align:left;padding:0;border:0}.cardInfo h3 button:hover{background:none;color:var(--gold)}.specLine{font-size:12px;color:var(--muted);display:flex;gap:16px;padding-top:13px;border-top:1px solid var(--line)}.cardBottom{display:flex;justify-content:space-between;align-items:center;margin-top:17px;font-size:10px;color:var(--muted)}.compareToggle{font-size:11px;padding:6px 9px}.badge{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--gold)}.subtle{color:var(--muted);font-size:12px;line-height:1.7}.pageIntro{padding:65px 0 30px;max-width:780px}.pageIntro p{color:var(--muted);line-height:1.8}.regionCard{padding:28px;border:1px solid var(--line);border-radius:4px;background:linear-gradient(145deg,#26312a,#191e1b)}.regionCard p{color:var(--muted);line-height:1.7;font-size:13px}.regionCard small{color:var(--gold);font-size:10px}.regionCard button{margin-top:16px}.regionCard .count{float:right;font:40px Georgia;color:#6e8271}.steelGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steelCard{border-top:2px solid var(--gold);background:var(--panel);padding:25px}.steelCard p{color:var(--muted);line-height:1.7}.steelCard button{font-size:12px}.note{padding:18px 22px;border:1px solid var(--line);background:#212a23;line-height:1.7;font-size:13px;color:var(--muted);margin:25px 0}.videoCard{border:1px solid var(--line);padding:25px;background:var(--panel)}.videoCard h3{font-size:26px}.videoCard p{color:var(--muted);line-height:1.7;font-size:13px}footer{border-top:1px solid var(--line);padding:30px 4%;display:flex;gap:30px;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}footer button{font-size:11px}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;width:min(1200px,94vw);max-height:94vh;padding:0}dialog::backdrop{background:#050a08ce;backdrop-filter:blur(6px)}.close{position:sticky;float:right;top:14px;right:14px;margin:14px;z-index:3;background:#141a17df;border-radius:50%;width:38px;height:38px;padding:0}.detailGrid{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;padding:0 35px 35px;clear:both}.galleryMain{background:#e9e6df;height:370px;border:0;width:100%;padding:0}.galleryMain:hover{background:#e9e6df}.galleryMain img{width:100%;height:100%;object-fit:contain;display:block}.thumbs{display:flex;overflow:auto;gap:8px;margin:12px 0}.thumbs button{min-width:72px;width:72px;height:65px;padding:2px;background:#eee9df}.thumbs button.selected{border:2px solid var(--gold)}.thumbs img{width:100%;height:100%;object-fit:contain}.detailTitle h2{font-size:45px;line-height:1.08;margin-bottom:12px}.detailTitle .actions{display:flex;gap:10px;margin:20px 0}.detailTitle p{line-height:1.8;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:24px 0}.metric{background:var(--panel);padding:18px 12px}.metric strong{font:25px Georgia;display:block}.metric span{display:block;font-size:9px;letter-spacing:.7px;color:var(--muted);margin-top:6px}.detailsSection{padding:28px 35px;border-top:1px solid var(--line)}.detailsSection h3{font-size:30px}.twoCols{display:grid;grid-template-columns:1fr 1fr;gap:30px}.row{display:flex;justify-content:space-between;gap:25px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.row span:first-child{color:var(--muted)}.row span:last-child{text-align:right;max-width:65%}.sources{font-size:12px;line-height:1.8}.sources li{margin:9px 0}.detailsSection details{margin:20px 0;color:var(--muted);font-size:12px}.detailsSection summary{cursor:pointer;color:var(--gold);margin-bottom:15px}.videoLinks a{display:block;margin:15px 0}.noResults{padding:70px;text-align:center;color:var(--muted);grid-column:1/-1}#compareBar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:6;padding:12px 18px;border:1px solid var(--gold);border-radius:6px;background:#1c271ff5;box-shadow:0 10px 50px #000;display:flex;align-items:center;gap:20px;font-size:12px}#compareBar[hidden]{display:none}#compareBar button{background:var(--gold);color:#172018;border:0;white-space:nowrap}#compareBody{padding:25px 35px 40px;clear:both}.compareColumns{display:grid;gap:18px}.compareCol{min-width:0}.compareCol img{width:100%;height:210px;object-fit:contain;background:#e9e6df}.compareCol h3{font-size:26px}.scaleRow{height:20px;background:#252e27;margin:15px 0;position:relative}.scaleRow i{display:block;height:100%;background:linear-gradient(90deg,#6e8975,var(--gold))}.compareMetric{min-height:80px;padding:15px 0;border-top:1px solid var(--line);font:24px Georgia}.compareMetric small{display:block;font:10px 'DM Sans';color:var(--muted);margin-bottom:7px}#zoom{width:96vw}#zoom img{width:100%;max-height:80vh;object-fit:contain;background:#eee9df}#zoom p{padding:0 20px;color:var(--muted);font-size:12px}body.modalOpen{overflow:hidden}@media(max-width:1000px){header{gap:10px;padding:16px 3%;flex-wrap:wrap}.brand{margin-right:auto}nav{order:3;width:100%;justify-content:center}.hero{gap:4%}.grid,.steelGrid{grid-template-columns:repeat(2,1fr)}.detailGrid{gap:20px;padding:0 20px 25px}.galleryMain{height:290px}}@media(max-width:650px){main{padding:0 5% 45px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-top:30px}.hero h1{font-size:58px}.heroArt{height:270px}.hero p{font-size:13px}.stats{gap:35px;margin-top:22px}.grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.cardImage{height:155px}.cardInfo{padding:12px}.cardInfo h3{font-size:21px}.specLine{gap:7px;flex-wrap:wrap;font-size:10px}.cardBottom{gap:5px;align-items:start;flex-direction:column}.eyebrow{font-size:9px}.toolbar{gap:7px}.toolbar select{flex:1;min-width:90px;font-size:12px;padding:10px}.toolbar input{width:100%;flex-basis:100%}.sectionHead h2{font-size:29px}.sectionHead p{max-width:100px;text-align:right}.detailGrid,.twoCols{display:block}.detailTitle{margin-top:25px}.detailTitle h2{font-size:39px}.detailsSection{padding:25px 20px}.galleryMain{height:300px}.steelGrid{grid-template-columns:1fr}.pageIntro{padding-top:35px}.pageIntro h1{font-size:52px}.regionCard{padding:20px}.regionCard h3{font-size:27px}.compareColumns{gap:12px}.compareCol img{height:100px}.compareCol h3{font-size:20px}.compareMetric{font-size:20px}#compareBody{padding:20px 15px}#compareBar{width:93%;gap:12px;justify-content:space-between}footer{flex-wrap:wrap;gap:16px;padding:25px 5%}.round{font-size:10px;padding:8px 11px}.brand span{font-size:11px}nav [data-page]{font-size:11px;padding:8px 10px}.metrics{margin:20px 0}.metric strong{font-size:22px}}
img{display:block}.thumbs{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.mobileHint{display:none}@media(max-width:650px){nav [data-page],.chips button,.compareToggle{min-height:40px}.close{width:44px;height:44px}.compareColumns{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:220px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:15px}.compareCol{scroll-snap-align:start}.compareCol img{height:160px}.mobileHint{display:block;color:var(--gold);font-size:12px}}
.compareCol h3{min-height:105px}.compareCol>p.subtle{min-height:40px}@media(max-width:650px){.compareCol h3{min-height:105px}.compareCol>p.subtle{min-height:40px}}
.historyGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.makerStory{padding:30px;border:1px solid var(--line);background:linear-gradient(140deg,#242b24,#151a17)}.makerStory p{color:var(--muted);font-size:14px;line-height:1.9;max-width:780px}.makerStory h3{font-size:36px}.detailsSection .makerStory{border:0;padding:10px 0;background:none}@media(max-width:650px){.historyGrid{grid-template-columns:1fr}.makerStory{padding:22px}.makerStory h3{font-size:32px}}
.labBench{display:grid;grid-template-columns:1.5fr 1fr;border:1px solid var(--line);background:linear-gradient(140deg,#202b25,#151c18);border-radius:5px;overflow:hidden;margin:20px 0 40px}.diagram{padding:25px;border-right:1px solid var(--line)}.diagram svg{width:100%;display:block;max-height:400px}.labControls{padding:30px;display:flex;flex-direction:column;justify-content:center}.labControls label{display:block;font-size:13px;margin-bottom:20px}.labControls input{width:100%;accent-color:var(--gold);margin:20px 0}.labControls p{font-size:13px;line-height:1.8;color:var(--muted)}.rangeEnds{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.lessonGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.lesson{border:1px solid var(--line);padding:28px}.lesson h3{font-size:32px}.lesson p{color:var(--muted);font-size:14px;line-height:1.9}.lesson .number{font:40px Georgia;color:var(--gold);opacity:.65}.geometryPrompt{margin:18px 0;padding:15px;border-left:2px solid var(--gold);color:var(--muted);font-size:13px;line-height:1.8}@media(max-width:650px){nav{justify-content:flex-start;overflow-x:auto;white-space:nowrap}nav [data-page]{flex-shrink:0}.labBench,.lessonGrid{grid-template-columns:1fr}.diagram{padding:12px;border-right:0;border-bottom:1px solid var(--line)}.labControls{padding:22px}.lesson{padding:23px}}
.comparisonPhotoLabel{font-size:10px;line-height:1.5;min-height:30px;color:var(--gold)}nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}



/* Keep the source photo intact and place its caption outside the image. */
.heroArt {display:grid;grid-template-rows:minmax(0,1fr) auto}
.artLabel {position:static}
#zoomImage {clear:both}
#zoomImage img {display:block;max-height:76vh}
.photoLink { padding: 4px 0; margin-left: 12px; color: var(--gold); border: 0; text-decoration: underline; }
.photoLink:hover { background: transparent; }

/* Screening room */
.filmIntro .filmTotals,.filmByline,.videoCard .filmByline{font-size:12px;color:var(--muted)}
.filmIntro { padding-bottom: 16px; }
.filmDesk, .filmCounts, .filmResults { max-width: 1120px; }
.filmDesk {
  margin: 8px 0 18px;
  padding: clamp(14px, 2.4vw, 26px);
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--panel);
}
.filmToolbar, .filmFacets { display: grid; gap: 12px 16px; }
.filmToolbar { grid-template-columns: minmax(0, 2fr) minmax(12rem, 1fr); }
.filmFacets { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; }
.filmDesk label { display: grid; min-width: 0; gap: 5px; color: var(--muted); font-size: 13px; }
.filmDesk input, .filmDesk select {
  width: 100%; min-width: 0; min-height: 44px;
  padding: 9px 10px; color: var(--ink); color-scheme: dark;
  background: var(--bg); border: 1px solid #67796b; border-radius: 3px;
}
.filmDesk input::placeholder { color: var(--muted); }
.filmViewBar, .filmModes { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.filmViewBar { justify-content: space-between; gap: 10px; margin-top: 16px; }
.filmModes button, #filmClear, .filmMore { min-height: 40px; padding: 8px 13px; font-size: 13px; }
.filmModes button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: #171c18; }
#filmClear { color: var(--gold); }
#filmClear:disabled { color: var(--muted); border-color: transparent; background: transparent; cursor: default; }
.filmCounts { margin: 20px 0 10px; color: var(--muted); }
.filmCounts p { margin: 4px 0; }
.filmCounts #filmCount { color: var(--ink); font-size: 15px; font-weight: 600; }
.filmResults { margin-bottom: 38px; }
.filmGroup { border-bottom: 1px solid var(--line); }
.filmGroup:first-child { border-top: 1px solid var(--line); }
.filmGroup > summary {
  display: grid; grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 12px; align-items: center; padding: 14px 10px;
  color: var(--ink); font: 21px/1.25 Georgia, serif; cursor: pointer; list-style: none;
}
.filmGroup > summary::-webkit-details-marker { display: none; }
.filmGroup > summary::before {
  content: ''; display: block; width: 7px; height: 7px;
  border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold);
  transform: rotate(-45deg);
}
.filmGroup[open] > summary::before { transform: rotate(45deg); }
.filmGroup[open] > summary, .filmGroup > summary:hover { background: #232c26; }
.filmGroup > summary small { color: var(--muted); font: 13px/1.4 'DM Sans',sans-serif; }
.filmGroupBody { margin: 0 8px 16px 18px; padding-left: 18px; border-left: 2px solid var(--line); }
.filmResultList { display: block; margin: 0; padding: 0; list-style: none; }
.filmResultList .videoCard {
  padding: 16px 4px; min-width: 0; border: 0; border-bottom: 1px solid var(--line);
  background: transparent; overflow-wrap: anywhere;
}
.filmResults .videoCard h3 { max-width: 60ch; font-size: clamp(21px, 2.2vw, 26px); }
.filmResults .videoCard p { max-width: 82ch; }
.filmTopics { color: var(--gold); font-size: 12px; line-height: 1.65; }
.filmResults .filmKnives { max-width: 80ch; padding-top: 2px; }
.filmResults .filmKnives summary { width: fit-content; padding: 5px 0; }
.filmResults .filmKnives li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 10px; padding-block: 3px; }
.filmResults .filmKnives .filmMatch { color: var(--muted); }
.filmMore { margin: 14px 0 2px; color: var(--gold); }
.filmDesk :focus-visible, .filmResults :focus-visible {
  outline: 2px solid #efc789; outline-offset: 3px;
}
.videoCard h3{margin:4px 0 8px;font-size:24px;line-height:1.2}
.videoCard h3 a{color:var(--ink);font:inherit;text-decoration:none}
.videoCard h3 a:hover,.videoCard h3 a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.videoCard p,.knifeFilms li p{margin:4px 0 8px}
.filmContext{border-left:2px solid var(--gold);padding-left:9px}
.filmKnives{width:100%;margin-top:auto;padding-top:10px}
.filmKnives summary,.filmMatch{color:var(--gold);font-size:12px}
.filmKnives summary{cursor:pointer}
.filmKnives ul,.knifeFilms ul{list-style:none;padding:0;margin:0}
.filmKnives li{border-top:1px solid var(--line);padding:7px 0;line-height:1.4}
.filmKnives li button{padding:3px 0;background:transparent;border:0;text-align:left;font-size:13px;color:var(--ink)}
.filmKnives li button:hover{text-decoration:underline;text-underline-offset:3px}
.filmMatch{display:block}
.knifeFilms ul{margin-bottom:20px}
.knifeFilms li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.knifeFilms li p{font-size:13px;color:var(--muted);line-height:1.6}
.knifeFilms li .filmByline{font-size:12px;margin:4px 0}
.knifeFilms h3{scroll-margin-top:20px}
.knifeFilms h3 small{font-size:18px;color:var(--muted)}
.detailTitle .actions{flex-wrap:wrap}
@media (max-width: 720px) {
  .filmToolbar, .filmFacets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

  .filmGroupBody { margin-left: 7px; margin-right: 0; padding-left: 12px; }
  .filmDesk input, .filmDesk select { font-size: 16px; }
  .knifeFilms li { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 460px) {
  .filmToolbar { grid-template-columns: minmax(0, 1fr); }
  .filmModes button, #filmClear, .filmMore { min-height: 44px; padding-inline: 10px; }
  .filmGroup > summary { padding-inline: 4px; gap: 8px; font-size: 19px; }
}

.grindEvidence{margin:22px 0;padding:18px 22px;background:var(--panel,#1b211e);border-left:2px solid var(--gold)}
.grindEvidence h4{font:25px Georgia,serif;margin:8px 0 10px}
.grindEvidence p,.grindIndex>p{max-width:80ch;line-height:1.65}
.grindEvidence .sources{margin-top:12px;line-height:1.8}
.grindIndex{margin:38px 0;border-top:1px solid var(--line);padding-top:28px}
.grindIndex summary{cursor:pointer;padding:10px 0;color:var(--gold)}.grindTable{overflow:auto}
.grindTable table{width:100%;border-collapse:collapse}.grindTable th,.grindTable td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);font-size:13px}
.grindTable td button{padding:0;background:transparent;color:var(--gold);border:0;text-align:left;font:inherit}

#featureSlot{min-width:0}
.featureBar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}
.featureBar p{margin:0;font-size:13px;line-height:1.45}
.featureBar span{color:var(--muted);white-space:nowrap}
.featureBar button{flex:none;font-size:12px}
#featurePicker{width:min(525px,94vw);max-height:90vh;max-height:90dvh}
#featureForm{padding:clamp(18px,4vw,32px)}
#featureTitle{font-size:clamp(27px,4vw,36px);margin:8px 0 14px}
#featureControls{min-width:0;margin:0;padding:0;border:0}
#featureControls legend{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:14px}
#featureControls>label{display:block;font-size:13px;margin-bottom:6px}
#featureSearch{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:11px;width:100%}
#featureCount{margin:9px 0}
.featureOptions{overflow:auto;max-height:32vh;border-block:1px solid var(--line);overscroll-behavior:contain}
.featureOptions label{display:flex;gap:10px;align-items:center;cursor:pointer;padding:8px 5px;font-size:14px}
.featureOptions label:has(:checked){background:var(--panel)}
.featureOptions input{accent-color:var(--gold)}
.featureOptions small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
#featureMessage{font-size:13px;color:var(--gold);line-height:1.5}
.featureActions{display:flex;justify-content:flex-end;gap:8px}
#featureSave{border-color:var(--gold)}
@media(max-width:560px){.featureBar{align-items:flex-start;flex-direction:column;gap:7px}.featureOptions{max-height:26vh}}

.cardGrind { margin: 12px 0 0; line-height: 1.4; }
.cardGrind small { display: block; color: var(--muted); font-size: 11px; }
.cardGrind span { display: block; margin-top: 2px; font-size: 14px; }

.originGrid .originPlace { margin: -4px 0 18px; color: var(--muted); font-size: 13px; }
.regionCard h4 { margin: 14px 0 6px; font: 21px/1.23 Georgia, serif; color: var(--ink); }
.regionCard h4 + p { margin-top: 0; }
.originSources { display: grid; gap: 5px; margin-bottom: 20px; font-size: 13px; line-height: 1.4; }
.originNotes { border-top: 1px solid var(--line); padding: 10px 0; margin-bottom: 6px; }
.originNotes summary { cursor: pointer; color: var(--muted); font-size: 13px; }

.curIntro { padding-bottom: 12px; }
.curPicks, .curMatrix, .curColumns { display: grid; gap: 16px; }
.curPicks { grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr)); }
.curPicks article, .curList { padding: 21px; border: 1px solid var(--line); background: var(--panel); border-radius: 4px; }
.curPicks h3, .curList h3 { font: 25px/1.18 Georgia, serif; margin: 8px 0; }
.curPicks p, .curEntry p { line-height: 1.55; color: var(--muted); margin: 8px 0; }
.curPicks small, .curBadge, .curCount { font-size: 12px; color: var(--gold); }
.curCoverage, .curRegion { margin: 36px 0; }
.curCoverage h2, .curRegion h2 { font: clamp(30px,4vw,45px)/1.12 Georgia, serif; margin: 8px 0; }
.curCoverage > p, .curRegion > p { max-width: 83ch; line-height: 1.6; }
.curMatrix { grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); gap: 8px; margin-top: 15px; }
.curMatrix button { text-align: left; padding: 12px; }
.curMatrix b, .curMatrix span { display: block; }
.curMatrix span, .curRelated small { color: var(--muted); font-size: 12px; margin-top: 4px; }
.curMatrix [aria-pressed=true] { border-color: var(--gold); background: var(--panel); }
.curRegion { scroll-margin-top: 95px; }
.curColumns { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; margin-top: 18px; }
.curList ul { list-style: none; padding: 0; margin: 0; }
.curEntry { padding: 18px 0; border-top: 1px solid var(--line); }
.curEntry:last-child { padding-bottom: 0; }
.curEntry h4 { font: 21px/1.23 Georgia,serif; margin: 5px 0; }
.curBadge { display: inline-block; font-weight: 600; }
.cur-owned { color: #abd2aa; }
.cur-incoming, .cur-unconfirmed { color: #e9bc7c; }
.curRelated { margin-top: 9px; }
.curRelated small, .curRelated button { display: block; }
.curRelated button { color: var(--gold); padding: 4px 0; text-align: left; font-size: 13px; border: none; }
.curCraft { font-size: 13px; }
@media(max-width:760px){.curColumns { grid-template-columns: 1fr; }.curList { padding: 16px; }.curRegion { scroll-margin-top: 140px; }}
.originCabinet { display: inline-block; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; margin-bottom: 4px; }
.regGroup { margin: 24px 0; }
.regGroup h2 { font: 29px Georgia,serif; }
.regGroup h2 small { color: var(--muted); font-size: 17px; }
.creditIndex { padding: 0; list-style: none; }
.creditIndex li { padding: 8px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 1px solid var(--line); }
.creditIndex button { padding: 0; text-align: left; border: none; color: var(--gold); }
.creditIndex span { font-size: 13px; color: var(--muted); }
@media (max-width:600px){ .creditIndex li { grid-template-columns: 1fr; } }

.regionalSharpeners > h3 { font: clamp(25px, 3vw, 34px)/1.2 Georgia,serif; margin: 6px 0; }
.regionalSharpeners .curPicks h4 { font: 23px/1.2 Georgia,serif; margin: 8px 0; }
.regionalSharpeners .originNotes { margin-top: 16px; }
.grindPlay { margin: 40px 0; }
.grindPlay h2,.grindIndex h2 { margin: 8px 0; }
.grindPlayBench { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; align-items: center; }
.grindStage { padding: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 4px; }
.grindStage svg { display: block; width: 100%; height: auto; max-height: 325px; }
.grindStopControl label,.grindStopControl output { display: block; }
.grindStopControl label { font-size: 13px; color: var(--muted); }
.grindStopControl output { font: 24px/1.3 Georgia,serif; margin: 5px 0; }
.grindStopControl input { width: 100%; height: 22px; accent-color: var(--gold); margin: 6px 0; }
.grindStopControl p,.grindPlay > p { line-height: 1.55; }
.grindStopButtons { display: flex; gap: 5px; flex-wrap: wrap; }
.grindStopButtons button { font-size: 12px; padding: 5px 8px; }
.grindStopButtons [aria-pressed=true] { border-color: var(--gold); color: var(--gold); }
.grindMatches { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,235px),1fr)); gap: 9px 20px; list-style: none; padding: 0; }
.grindMatches li,.grindProducer li { border-top: 1px solid var(--line); padding: 8px 0; }
.grindMatches button,.grindProducer button { padding: 0; color: var(--gold); border: 0; text-align: left; }
.grindMatches small,.grindProducer li span,.grindProducer small { display: block; margin-top: 4px; font-size: 13px; color: var(--muted); }
.grindProducer { border-top: 1px solid var(--line); }
.grindIndex .grindProducer summary { display: list-item; padding: 12px 4px; color: var(--ink); cursor: pointer; }
.grindProducer summary::marker { color: var(--gold); }
.grindProducer summary small { margin-left: 1.4em; }
.grindGroupCount { color: var(--muted); font-size: 13px; }
.grindProducer ul { list-style: none; padding: 0 0 0 22px; margin: 0 0 12px; }
@media(max-width:720px){.grindPlayBench { grid-template-columns: 1fr; gap: 12px; }.grindStage svg { max-height: 235px; }}

.cardHeel { margin: 0 0 12px; padding: 8px 11px; border-left: 2px solid var(--gold); background: var(--bg); }
.cardHeel strong, .cardHeel span { display: block; }
.cardHeel strong { color: var(--gold); font-size: 14px; }
.cardHeel span, .metric small, .compareMetric .heelRank { margin-top: 3px; color: var(--muted); font-size: 12px; }
.metric small, .compareMetric .heelRank { display: block; line-height: 1.4; }
.heelEvidence { margin: 18px 0; padding: 14px 18px; border: 1px solid var(--line); border-left: 2px solid var(--gold); }
.heelEvidence h4 { margin: 0; font-size: 16px; }
.heelEvidence p { margin: 6px 0; }
.heelEvidence .sources { margin-top: 10px; }

.materialRow small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.materialNotes dl > div { margin: 0 0 12px; }
.materialNotes dt { font-weight: 600; color: var(--ink); }
.materialNotes dd { margin: 3px 0 0; line-height: 1.5; overflow-wrap: anywhere; }

.prepRanks {padding-left:2.2rem}.prepRanks li {padding:.65rem .3rem;border-bottom:1px solid var(--line)}.prepRanks li::marker {color:var(--gold)}.prepRanks p {margin:.35rem 0;color:var(--muted)}

.choilGap{display:block;color:#474e49;font-size:11px;line-height:1.3}.galleryMain .choilGap{font-size:16px}.galleryMain:disabled{cursor:default}

.thumbs button{position:relative}.choilTag{position:absolute;bottom:1px;left:1px;padding:1px 4px;background:#18201e;color:#fff;font-size:10px;line-height:1.4}

.grindEvidence summary{cursor:pointer;padding:.5em 0}.choilEvidence{display:flex;flex-wrap:wrap;gap:12px}.choilEvidence figure{margin:0;flex:1 1 110px}.choilEvidence img{display:block;width:100%;height:175px;object-fit:contain;background:#e9e6df}.choilEvidence figcaption{font-size:.8em;margin:.4em 0}

/* Shared display choice for grouped knife lists. */
.knifeListToggle {display:flex;gap:4px;margin:14px 0;flex-wrap:wrap}
.knifeListToggle button {min-height:44px}
.knifeListToggle button[aria-pressed="true"] {background:var(--gold);color:var(--bg);border-color:var(--gold)}
.knifeListRow .knifeListPhoto {display:none}
.knifeListText {min-width:0}
.knifeListThumbnails .knifeListRow {display:flex;gap:14px;align-items:center}
.knifeListThumbnails .knifeListRow .knifeListPhoto {display:block;flex:0 0 180px;width:180px;height:112px;overflow:hidden;background:#eee9df;border:1px solid var(--line);padding:4px;border-radius:4px}
.knifeListPhoto img {display:block;width:100%;height:100%;object-fit:contain}
.knifeListPhoto .placeholder {font-size:10px;color:#26352b}
.creditIndex li {display:block}
.creditIndex .knifeListText {display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}
@media(max-width:600px){
  .knifeListThumbnails .knifeListRow .knifeListPhoto {flex-basis:128px;width:128px;height:88px}
  .creditIndex .knifeListText {grid-template-columns:1fr}
}

.knifeListThumbnails .grindMatches {grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr))}

/* Keep the knife close control within reach while the content scrolls. */
#detail[open] {display:flex;flex-direction:column;height:94vh;height:94dvh;max-height:94vh;max-height:94dvh;overflow:hidden}
#detail > .close {position:static;float:none;align-self:flex-end;flex-shrink:0;margin:10px 14px}
#detailBody {min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.knifeCloseBar {flex-shrink:0;padding:10px 18px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel)}
.knifeCloseBar .closeKnifeBottom {position:static;float:none;display:block;width:100%;height:auto;min-height:52px;margin:0;padding:12px 20px;border-radius:5px;background:var(--gold);color:var(--bg);font-weight:600}

.carePaths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.carePaths article{border:1px solid var(--line,#ccc);padding:18px;border-radius:8px}.carePaths h4{font-size:19px;margin:0 0 12px}.carePaths strong{font-size:14px}.carePaths p{font-size:14px;line-height:1.65}.careStones{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:20px 0}.careStones figure{margin:0;min-width:0}.careStones img{width:100%;height:150px;object-fit:contain;background:#fff;border-radius:6px;padding:10px;box-sizing:border-box}.careStones figcaption{font-size:13px;line-height:1.5;margin-top:10px}.careStones small{display:block;margin:7px 0}.careSection summary{min-height:44px;align-content:center}@media(max-width:800px){.carePaths{grid-template-columns:1fr}.careStones{grid-template-columns:repeat(2,minmax(0,1fr))}}
.careSequence{list-style:none;padding:0;display:flex;gap:12px;overflow-x:auto;margin:16px 0;align-items:flex-start}.careSequence li{flex:0 0 125px;font-size:12px;line-height:1.5}.careSequence li+li:before{content:'→';display:block;color:var(--gold,#aa9165)}.careSequence li:first-child:before{content:'Start';display:block;color:var(--gold,#aa9165)}.careSequence img{display:block;width:125px;height:92px;object-fit:contain;background:#fff;border-radius:5px;padding:5px;box-sizing:border-box;margin:5px 0}.careSequence span,.careSequence small{display:block}.carePaths{grid-template-columns:1fr}.carePaths article{display:block}.carePaths p{max-width:80ch}
.careSequence li.careAlternative:before{content:'or';font-weight:600}
.careRationale{border-left:3px solid var(--gold,#b79b70);padding:1px 20px;margin:24px 0}.careRationale h4{font-size:19px}.careSources{padding-left:20px}.careSources li{margin:12px 0}.careSources small{display:block;color:var(--muted,#a8aaa2);line-height:1.55;margin-top:4px}.careSequence li{flex-basis:160px}.careSequence img{width:160px;height:125px}
.careTableWrap{overflow-x:auto;margin:18px 0}.careTable{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.careTable th,.careTable td{text-align:left;vertical-align:top;padding:13px;border-bottom:1px solid var(--line,#394039);min-width:150px}.careTable th{color:var(--gold,#b79b70)}
.prepFitGroup{margin:30px 0}.prepExperiment{border-left:3px solid var(--gold,#b79b70);padding:4px 20px}.prepExperiment .knifeListRow{margin:12px 0}
/* Two reading styles share one collection and one evidence base. */
.flavorBar{max-width:1600px;margin:0 auto;padding:16px 4% 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.flavorBar [role=group],.knifeFlavor{display:flex;gap:5px;flex-wrap:wrap}.flavorBar button,.knifeFlavor button{font-size:12px;min-height:40px;padding:8px 13px}.flavorBar button[aria-pressed=true],.knifeFlavor button[aria-pressed=true]{background:#d0a775;color:#131716;border-color:#d0a775}#flavorNote{font-size:12px;color:var(--muted)}.knifeFlavor{margin:16px 0}.editionDisclosure{border-top:1px solid var(--line);padding:14px 0}.editionDisclosure>summary{cursor:pointer;min-height:44px;align-content:center;color:var(--gold)}.editionDisclosure .detailsSection{border-top:0}.flavorVanilla .storyBasis{display:none}.flavorVanilla .detailTitle h2{font-size:38px}.flavorVanilla .detailTitle p{line-height:1.6}.careQuickPaths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.careQuickPaths>div{border:1px solid var(--line);padding:14px;border-radius:6px}.careQuickPaths h4{margin:0 0 10px}.careQuickPaths p{font-size:12px;line-height:1.5}.careQuickPaths .careSequence{gap:8px}.careQuickPaths .careSequence img{height:65px}.flavorVanilla .hero{min-height:350px;padding-top:24px}.flavorVanilla .hero h1{font-size:clamp(42px,5vw,64px)}@media(max-width:800px){.careQuickPaths{grid-template-columns:1fr}.flavorBar{padding-top:12px}}@media(min-width:651px) and (max-width:1250px){header{flex-wrap:wrap;gap:12px}header nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start;white-space:nowrap}header nav [data-page]{flex-shrink:0}header .round{margin-left:auto}}
/* Vanilla: a crisp, light working reference. */
body.flavorVanilla{--bg:#f3f5f6;--panel:#ffffff;--line:#d1dbe1;--ink:#152b39;--muted:#506572;--gold:#215d7b;color-scheme:light;font-family:'DM Sans',sans-serif;font-size:14px}
.flavorVanilla header{background:#f3f5f6f5;padding-block:16px;border-bottom:1px solid #bccbd4}
.flavorVanilla .brand span{font-weight:700;letter-spacing:1.8px}
.flavorVanilla h1,.flavorVanilla h2,.flavorVanilla h3,.flavorVanilla h4,.flavorVanilla .curCoverage h2,.flavorVanilla .curRegion h2,.flavorVanilla .regGroup h2,.flavorVanilla .regionalSharpeners>h3,.flavorVanilla .curPicks h3,.flavorVanilla .curList h3,.flavorVanilla .curEntry h4,.flavorVanilla .regionalSharpeners .curPicks h4,.flavorVanilla .filmGroup>summary,.flavorVanilla .grindStopControl output{font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:-.035em}
.flavorVanilla h1{font-size:clamp(38px,4.5vw,62px);line-height:1.07}.flavorVanilla h2{font-size:30px}.flavorVanilla h3{font-size:22px}.flavorVanilla h4{letter-spacing:-.01em}
.flavorVanilla .eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700}
.flavorVanilla button{border-radius:5px}.flavorVanilla button:hover,.flavorVanilla .filmGroup[open]>summary,.flavorVanilla .filmGroup>summary:hover{background:#e4edf2}
.flavorVanilla nav [data-page].active{background:#e1ebf1;color:#174e6b;box-shadow:inset 0 -2px #215d7b;border-radius:0}
.flavorVanilla .flavorBar button[aria-pressed=true],.flavorVanilla .knifeFlavor button[aria-pressed=true],.flavorVanilla .chips button.active,.flavorVanilla .filmModes button[aria-pressed=true]{background:#215d7b;color:#fff;border-color:#215d7b}
.flavorVanilla main{max-width:1440px}.flavorVanilla .hero{grid-template-columns:1fr 1fr;min-height:0;padding:28px 0 30px;gap:6%}.flavorVanilla .hero h1{max-width:9em;margin:12px 0}.flavorVanilla .hero p{line-height:1.65;max-width:42ch}.flavorVanilla .heroArt{height:250px;border:1px solid var(--line);border-radius:5px;background:#fff}
.flavorVanilla .artLabel{background:#edf2f5;color:#304e61;font-size:10px;letter-spacing:.03em}
.flavorVanilla .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.flavorVanilla .card{border-radius:6px;box-shadow:0 2px 5px #18384d05}.flavorVanilla .cardImage{height:190px;background:#fff}.flavorVanilla .cardInfo{padding:16px}.flavorVanilla .cardInfo h3{font-size:20px;line-height:1.25;letter-spacing:-.025em}.flavorVanilla .cardGrind span{font-size:12px}.flavorVanilla .sectionHead{padding-top:22px}.flavorVanilla .sectionHead h2{font-size:25px}.flavorVanilla .pageIntro{padding:38px 0 22px}.flavorVanilla .pageIntro p{line-height:1.65;max-width:65ch}
.flavorVanilla .regionCard,.flavorVanilla .makerStory,.flavorVanilla .note,.flavorVanilla .labBench{background:var(--panel)}.flavorVanilla .regionCard,.flavorVanilla .makerStory,.flavorVanilla .lesson,.flavorVanilla .curList,.flavorVanilla .curPicks article{border-radius:6px}.flavorVanilla .regionCard h4,.flavorVanilla .makerStory h3,.flavorVanilla .lesson h3{font-size:23px}.flavorVanilla .makerStory p,.flavorVanilla .lesson p{line-height:1.7}.flavorVanilla .lesson .number{font:600 24px 'DM Sans',sans-serif}
.flavorVanilla .close{background:#e5edf2;color:var(--ink)}.flavorVanilla dialog{box-shadow:0 20px 90px #152b3940;border-radius:10px}.flavorVanilla dialog::backdrop{background:#19354875}.flavorVanilla .detailTitle h2{font-size:34px;letter-spacing:-.04em}.flavorVanilla .metric strong,.flavorVanilla .compareMetric{font-family:'DM Sans',sans-serif;font-weight:500}.flavorVanilla .metric{padding:13px 12px}.flavorVanilla .metric strong{font-size:22px}.flavorVanilla .detailsSection h3{font-size:25px}.flavorVanilla .editionDisclosure{padding:8px 28px}.flavorVanilla .editionDisclosure>.detailsSection{padding-inline:0}.flavorVanilla .editionDisclosure>summary{font-size:14px;font-weight:600}.flavorVanilla .careSection details{font-size:13px}.flavorVanilla .careQuickPaths>div{background:var(--panel)}
.flavorVanilla #compareBar{background:#fff;box-shadow:0 8px 35px #14374d30}.flavorVanilla #compareBar button{color:white}.flavorVanilla .scaleRow{background:#e2ebf0}.flavorVanilla .scaleRow i{background:linear-gradient(90deg,#91b2c5,#215d7b)}.flavorVanilla .filmDesk input,.flavorVanilla .filmDesk select{color-scheme:light;border-color:#b4c5d0}.flavorVanilla .cur-owned{color:#226643}.flavorVanilla .cur-incoming,.flavorVanilla .cur-unconfirmed{color:#89551d}.flavorVanilla .grindStage svg text,.flavorVanilla .diagram svg text{fill:var(--ink)}
/* Chocolate: a spacious editorial catalog, with a warm, dark palette. */
body.flavorChocolate{--bg:#211c25;--panel:#2b2530;--line:#4c404e;--ink:#f5ede1;--muted:#c0b2be;--gold:#d5b581;color-scheme:dark;font-size:16px}
.flavorChocolate header{background:#211c25f5;padding-block:22px}.flavorChocolate .brand span{letter-spacing:3.6px}.flavorChocolate button{border-radius:0}.flavorChocolate button:hover,.flavorChocolate .filmGroup[open]>summary,.flavorChocolate .filmGroup>summary:hover{background:#3a2f3d}.flavorChocolate nav [data-page].active{background:transparent;color:var(--gold);box-shadow:inset 0 -1px var(--gold)}
.flavorChocolate .flavorBar button[aria-pressed=true],.flavorChocolate .knifeFlavor button[aria-pressed=true]{background:#d5b581;color:#211c25;border-color:#d5b581}.flavorChocolate .flavorBar{padding-top:23px}.flavorChocolate main{max-width:1500px}.flavorChocolate .hero{grid-template-columns:.85fr 1.15fr;gap:7%;padding:54px 0 66px}.flavorChocolate .hero h1{font-size:clamp(60px,6.9vw,100px);letter-spacing:-.035em}.flavorChocolate .hero p{font-size:16px;line-height:1.9;max-width:37ch}.flavorChocolate .heroArt{height:400px;border-radius:0;background:#eee9e0}.flavorChocolate .artLabel{background:#e9e1d5;color:#4b3741;padding:14px 18px;letter-spacing:.06em}.flavorChocolate .featureBar{padding-top:7px}.flavorChocolate .sectionHead{padding-top:34px}.flavorChocolate .sectionHead h2{font-size:43px}.flavorChocolate .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 30px}.flavorChocolate .card{border:0;border-radius:0;background:transparent;border-bottom:1px solid var(--line)}.flavorChocolate .cardImage{height:330px;background:#ece6dd}.flavorChocolate .cardInfo{padding:25px 8px 30px}.flavorChocolate .cardInfo h3{font-size:36px;line-height:1.1}.flavorChocolate .cardInfo .eyebrow{letter-spacing:2.1px}.flavorChocolate .specLine{font-size:13px}.flavorChocolate .cardGrind{max-width:48ch}.flavorChocolate .pageIntro{padding-top:70px;max-width:820px}.flavorChocolate .pageIntro h1{letter-spacing:-.025em}.flavorChocolate .pageIntro p{font-size:17px;line-height:1.85}
.flavorChocolate .regionCard,.flavorChocolate .makerStory{background:#2b2530;border-radius:0}.flavorChocolate .note{background:#302831}.flavorChocolate .labBench{background:linear-gradient(140deg,#322936,#251e2a);border-radius:0}.flavorChocolate .makerStory{padding:36px}.flavorChocolate .makerStory h3{font-size:42px}.flavorChocolate .makerStory p{font-size:16px;line-height:1.9}.flavorChocolate .lesson{padding:35px;border:0;border-top:1px solid var(--line)}.flavorChocolate .lesson h3{font-size:36px}.flavorChocolate .lesson p{font-size:16px;line-height:1.85}.flavorChocolate .curPicks article,.flavorChocolate .curList{border-radius:0;padding:28px}.flavorChocolate .curEntry{padding-block:24px}.flavorChocolate .curEntry h4{font-size:24px}.flavorChocolate .curEntry p{font-size:15px;line-height:1.8}.flavorChocolate .curColumns{gap:28px}.flavorChocolate .close{background:#382c3c}.flavorChocolate dialog{border-radius:2px}.flavorChocolate dialog::backdrop{background:#100b16d6}.flavorChocolate .detailTitle h2{font-size:49px}.flavorChocolate .detailTitle p{font-size:16px;line-height:1.85}.flavorChocolate .detailsSection{padding-block:36px}.flavorChocolate .detailsSection>p{max-width:78ch;line-height:1.8}.flavorChocolate .detailsSection details{font-size:14px;line-height:1.8}.flavorChocolate .carePaths article{border-radius:0;background:var(--panel);padding:24px}.flavorChocolate .carePaths p{font-size:15px;line-height:1.8}.flavorChocolate #compareBar{background:#302735f5}.flavorChocolate .scaleRow{background:#403445}.flavorChocolate .scaleRow i{background:linear-gradient(90deg,#8b707d,#d5b581)}.flavorChocolate .filmDesk input,.flavorChocolate .filmDesk select{border-color:#746478}.flavorChocolate .knifeCloseBar .closeKnifeBottom{border-radius:0}.flavorChocolate .grindStage{border-radius:0}
body :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:1050px){.flavorVanilla .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flavorChocolate .heroArt{height:330px}.flavorChocolate .hero h1{font-size:68px}.flavorChocolate .cardImage{height:270px}}
@media(max-width:750px){.flavorVanilla .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flavorVanilla .hero{gap:22px}.flavorVanilla .cardImage{height:180px}.flavorChocolate .hero{padding:30px 0 40px}.flavorChocolate .hero h1{font-size:61px}.flavorChocolate .grid{gap:20px}.flavorChocolate .cardImage{height:240px}.flavorChocolate .cardInfo h3{font-size:29px}}
@media(max-width:650px){.flavorVanilla .hero h1{font-size:42px}.flavorVanilla .heroArt{height:245px}.flavorVanilla .cardInfo{padding:13px}.flavorVanilla .cardInfo h3{font-size:18px}.flavorVanilla .detailTitle h2{font-size:31px}.flavorVanilla .pageIntro h1{font-size:40px}.flavorVanilla .editionDisclosure{padding-inline:20px}.flavorChocolate .heroArt{height:300px}.flavorChocolate .grid{grid-template-columns:1fr}.flavorChocolate .cardImage{height:270px}.flavorChocolate .cardInfo{padding:22px 4px 28px}.flavorChocolate .cardInfo h3{font-size:34px}.flavorChocolate .pageIntro{padding-top:40px}.flavorChocolate .pageIntro h1{font-size:56px}.flavorChocolate .detailTitle h2{font-size:41px}.flavorChocolate .makerStory,.flavorChocolate .lesson{padding:24px}.flavorBar{align-items:flex-start;gap:8px}#flavorNote{width:100%}.careQuickPaths .careSequence{flex-wrap:wrap}.flavorChocolate .curList{padding:20px}}

/* Keep list toggles legible when touch browsers retain the hover state. */
.flavorVanilla .knifeListToggle button{color:var(--ink);background:var(--panel)}
.flavorVanilla .knifeListToggle button:hover{color:var(--ink);background:#e4edf2}
.flavorVanilla .knifeListToggle button[aria-pressed="true"],
.flavorVanilla .knifeListToggle button[aria-pressed="true"]:hover,
.flavorVanilla .knifeListToggle button[aria-pressed="true"]:active{color:#fff;background:#215d7b;border-color:#215d7b}
/* The photographed geometry is part of the story, not buried in source notes. */
.geometryStory{margin:12px 0 26px}.geometryVerdict{border-left:3px solid var(--gold);padding:4px 22px;margin:22px 0}.geometryVerdict>span{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.geometryVerdict h4{font-size:24px;margin:10px 0}.geometryStory p{line-height:1.75;max-width:78ch}.traceHero{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0 16px}.traceHero figure{margin:0;min-width:0;background:var(--panel);border:1px solid var(--line);padding:18px}.traceHero img{height:360px;width:100%;object-fit:contain;background:#edf0ed}.traceHero figcaption{font-size:12px;line-height:1.5;margin-top:14px;color:var(--muted)}.traceDrawing{width:100%;height:360px;color:var(--gold)}.traceDrawing text{font:12px 'DM Sans',sans-serif;fill:var(--ink)}.traceLegend{font-size:12px;color:var(--muted)}.traceLegend span{color:var(--ink);font-weight:600}.geometryInterpretation{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:26px 0}.geometryInterpretation h4{font-size:18px;margin:0}.geometryMethod{line-height:1.8;padding-left:24px}.geometryMethod li{margin:12px 0}.geometryStory details>svg{max-width:600px;display:block}.geometryShowcase,.geometryPurpose{padding:30px 0;border-top:1px solid var(--line);margin-bottom:30px}.geometryShowcase>p,.geometryPurpose>p{max-width:80ch;line-height:1.8;color:var(--muted)}.geometryShowcaseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.geometryShowcaseGrid button{text-align:left;padding:18px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}.geometryShowcaseGrid img{height:240px;width:100%;object-fit:contain;background:#edf0ed}.geometryShowcaseGrid span,.geometryShowcaseGrid small,.geometryShowcaseGrid b{display:block;margin-top:14px}.geometryShowcaseGrid span{font-size:18px}.geometryShowcaseGrid small{line-height:1.6;color:var(--muted)}.geometryShowcaseGrid b{font-size:12px;color:var(--gold)}.flavorVanilla .geometryVerdict{background:#edf3f6}.flavorChocolate .geometryVerdict{background:#302831}.flavorVanilla .geometryStory svg text{fill:var(--ink)}
@media(max-width:700px){.traceHero,.geometryInterpretation{grid-template-columns:1fr}.traceHero img,.traceDrawing{height:300px}.geometryShowcaseGrid{grid-template-columns:1fr}.geometryShowcaseGrid img{height:270px}.geometryVerdict{padding-inline:14px}.geometryStory>h3{font-size:26px}}
.sharedStart>p,.sharedReality p,.sharedLiving p{line-height:1.8;max-width:80ch;color:var(--muted)}.sharedPicks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:26px 0}.sharedPicks article{border:1px solid var(--line);background:var(--panel)}.sharedPicks article>div{padding:22px}.sharedPhoto{display:block;width:100%;height:190px;background:#fff;padding:0;border:0}.sharedPhoto img{width:100%;height:100%;object-fit:contain}.sharedPicks h3{font-size:23px}.sharedPicks h3 button{font:inherit;border:0;padding:0;text-align:left}.sharedPicks p{font-size:14px;line-height:1.7;color:var(--muted)}.sharedHabit,.sharedKnifeCare{background:var(--panel);border-left:3px solid var(--gold);padding:18px 22px;margin:24px 0}.sharedHabit p,.sharedKnifeCare p{line-height:1.7;margin-bottom:0}.sharedKnifeCare button{margin-top:12px;font-size:12px}.sharedReality,.sharedLiving{padding:30px 0;border-top:1px solid var(--line);margin-top:32px}.sharedGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:22px;align-items:start}.sharedGroup{border:1px solid var(--line);border-top:3px solid var(--gold);padding:24px;background:var(--panel)}.sharedGroup>p{line-height:1.75;color:var(--muted)}.sharedGroup .sharedCue{font-weight:600;color:var(--ink)}.sharedGroup h3{font-size:25px}.sharedGroup summary,.sharedLiving summary{min-height:44px;align-content:center;cursor:pointer;color:var(--gold)}.sharedKnifeList .knifeListRow{border-top:1px solid var(--line);padding:14px 0}.sharedKnifeName{text-align:left;padding:0;border:0;line-height:1.5;color:var(--gold)}.sharedKnifeList p{font-size:12px;line-height:1.6;color:var(--muted);margin:7px 0}.sharedIncoming{display:flex;gap:10px;align-items:center;min-height:44px}.sharedIncoming input{width:20px;height:20px;accent-color:var(--gold)}.shared-easy{border-top-color:#4d8c70}.shared-edge{border-top-color:#ad8846}.shared-semi{border-top-color:#6588a0}.shared-reactive{border-top-color:#ad6f5a}.flavorVanilla .sharedPicks article,.flavorVanilla .sharedGroup{border-radius:6px}.sharedLiving details{margin:16px 0}.knifeListThumbnails .sharedKnifeList .knifeListRow{flex-wrap:wrap}
@media(max-width:800px){.sharedPicks,.sharedGroups{grid-template-columns:1fr}.sharedPicks article>div,.sharedGroup{padding:18px}.sharedPhoto{height:210px}}

.sharedHandling{padding:30px 0;border-top:1px solid var(--line);margin-top:30px}.sharedHandling p{line-height:1.8;max-width:80ch;color:var(--muted)}.sharedHandling summary{min-height:44px;align-content:center;color:var(--gold);cursor:pointer}

.sharedBlockHead{gap:16px;flex-wrap:wrap}.sharedBlockHead h2{margin:0}.sharedBlockHead button{min-height:48px;padding:12px 20px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-weight:600}.sharedBlockHead button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.sharedBlockStatus{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

#chooseFeature{display:none}

.knifeShops{border-top:1px solid var(--line);margin-top:48px;padding:44px 0}.knifeShops>p{max-width:78ch;line-height:1.75;color:var(--muted)}.knifeShopGroup{border-top:1px solid var(--line)}.knifeShopGroup summary{cursor:pointer;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:20px;font-weight:600;color:var(--ink)}.knifeShopGroup summary span{font-size:12px;color:var(--muted);font-weight:400}.knifeShopGroup summary:after{content:'+';color:var(--gold);font-size:24px}.knifeShopGroup[open] summary:after{content:'−'}.knifeShopGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 0 24px}.knifeShopGrid article{background:var(--panel);border:1px solid var(--line);padding:18px 20px}.knifeShopGrid h3{font-size:20px;margin:6px 0 10px}.knifeShopGrid h3 a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.knifeShopGrid p{color:var(--muted);line-height:1.6;margin:0}.knifeShopGrid .knifeShopPlace{text-transform:uppercase;font-size:10px;letter-spacing:1px;color:var(--gold);font-weight:600}@media(max-width:700px){.knifeShopGrid{grid-template-columns:1fr}.knifeShopGroup summary{font-size:18px}}


nav a {display:inline-block;color:inherit;text-decoration:none;padding:12px 10px;border-radius:4px;font-size:13px;white-space:nowrap}nav a.active {color:var(--accent);box-shadow:inset 0 -2px currentColor}nav a:focus-visible,.knifePermalink:focus-visible{outline:2px solid currentColor;outline-offset:3px}.knifePermalink{display:inline-flex;align-items:center;padding:12px;border:1px solid currentColor;border-radius:4px}.publicInfo{max-width:850px;margin:4rem auto;padding:0 1.25rem}.publicInfo p{line-height:1.7}.publicInfo h2{margin-top:2rem}.shopFilters{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.shopFilters label{display:grid;gap:6px;flex:1;min-width:160px}.shopFilters input,.shopFilters select{width:100%;padding:12px;background:var(--panel);color:var(--ink);border:1px solid currentColor}.shopLinks{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.shopTag{display:inline-block;font-size:12px;border:1px solid currentColor;border-radius:20px;padding:4px 9px;margin:3px 4px 3px 0}.knifeShopGrid article{scroll-margin-top:100px}