:root{--cream:#f8f5ee;--forest:#193e36;--ink:#243e36;--rust:#ba6e39;--muted:#6f7a72;--line:#d7dcd2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{cursor:pointer}a{color:inherit}.container{max-width:1250px;margin:auto;padding:0 30px}header{border-bottom:1px solid var(--line);background:#f8f5eef0;position:sticky;top:0;z-index:4;backdrop-filter:blur(10px)}.top{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-family:'Source Serif 4',Georgia,serif;font-size:20px;font-weight:400;letter-spacing:-.01em;white-space:nowrap;color:#1B1A17}.brand svg{flex:none;display:block}.brand span{display:inline-block}nav{display:flex;gap:30px}nav a{text-decoration:none;font-size:13px}.hero{padding-top:104px;padding-bottom:104px;min-height:500px}.eyebrow{text-transform:uppercase;color:var(--rust);font-size:11px;letter-spacing:.14em;font-weight:750}.hero h1{font:normal clamp(56px,7vw,98px)/1.05 Georgia,serif;letter-spacing:-.065em;margin:26px 0}.hero h1 em{color:var(--rust);font-weight:normal}.hero p{font-size:19px;line-height:1.6;max-width:670px}.go{display:inline-block;background:var(--forest);color:white;padding:14px 22px;text-decoration:none;margin-top:18px}.statline{margin-top:26px;color:var(--muted);font-size:13px}.statline span{padding:0 13px}.domainarea{background:#eaece3;padding:72px 0}h2{font:normal clamp(32px,4vw,52px)/1.2 Georgia,serif;letter-spacing:-.035em;margin:16px 0 28px}.domains{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.domain{border:1px solid #cfd7cc;background:#f8f8f3;text-align:left;min-height:230px;padding:24px;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:transform .2s,border-color .2s}.domain:hover,.domain.selected{transform:translateY(-3px);border-color:var(--rust)}.domain strong{font:normal 24px/1.25 Georgia,serif}.domain .num{color:var(--rust);font-size:13px}.domain small{color:var(--muted);line-height:1.4}.gallery{padding-top:80px;padding-bottom:110px}.intro{color:var(--muted);max-width:600px}.tools{display:flex;gap:12px;margin-top:35px}.tools label:first-child{flex:1}.tools input,.tools select{background:#fff;border:1px solid var(--line);border-radius:2px;padding:15px;width:100%;color:var(--ink)}.tools button{background:none;border:0;color:var(--forest);padding:12px}.resultbar{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:28px}.tile{background:#fff;border:1px solid var(--line);padding:0;display:flex;flex-direction:column;text-align:left;color:var(--ink);min-width:0;transition:box-shadow .2s}.tile:hover{box-shadow:0 12px 30px #203e3419}.thumb{aspect-ratio:16/10;background:#e9e7df;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.thumb img{width:100%;height:100%;object-fit:cover}.missing{font:italic 19px Georgia,serif;color:#87928b;text-align:center;padding:20px}.tilemeta{padding:21px;display:flex;flex-direction:column;gap:10px}.tilemeta small{text-transform:uppercase;letter-spacing:.07em;color:var(--rust);font-size:10px}.tilemeta strong{font:normal 22px/1.25 Georgia,serif}.tilemeta span{font-size:12px;color:var(--muted)}.note{color:var(--muted);font-size:12px;margin-top:35px}footer{background:var(--forest);color:#eff2e9;padding:30px 0;font-size:13px}footer span{opacity:.5}footer a{float:right;text-decoration:none}.overlay{position:fixed;inset:0;z-index:15;background:var(--cream)}.overlay[hidden]{display:none}.viewerbar{height:64px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);align-items:center;padding:0 26px}.viewerbar button{background:none;border:0;color:var(--ink)}.viewermain{display:grid;grid-template-columns:minmax(0,1fr) 310px;height:calc(100vh - 64px)}.art{position:relative;background:#deded4;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab}.art img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;user-select:none}.noart{font:italic 26px Georgia,serif;color:#69746c}.zoom{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:#fff;display:flex;box-shadow:0 3px 15px #0002}.zoom button{border:0;padding:12px 16px;background:white}.zoom button:hover{background:#eee}.viewermain aside{padding:34px 28px;overflow:auto}.viewermain aside h2{font-size:35px}.viewermain aside p{color:var(--muted);line-height:1.6}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.sr,.skip:not(:focus){position:absolute;left:-10000px}.skip:focus{position:fixed;z-index:99;background:white;padding:12px}@media(max-width:950px){.domains{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.viewermain{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.viewermain aside{padding:16px 24px}.viewermain aside h2{font-size:22px;margin:8px 0}.viewermain aside hr,.viewermain aside .eyebrow:last-of-type,.viewermain aside #detailCategory{display:none}}@media(max-width:600px){.container{padding:0 18px}.top{height:60px}.brand{font-size:17px}nav{gap:13px}nav a{font-size:12px}.hero{padding-top:75px;padding-bottom:70px;min-height:auto}.hero p{font-size:16px}.domainarea{padding:55px 0}.domains{gap:8px}.domain{padding:15px;min-height:190px}.domain strong{font-size:19px}.cards{gap:10px}.tilemeta{padding:12px}.tilemeta strong{font-size:17px}.tools{flex-wrap:wrap}.tools label:first-child{flex-basis:100%}.tools label:nth-child(2){flex:1}.viewermain aside{max-height:180px}}
/* Book ThoughtTile interactive viewer — v2 */
.viewerbar{position:relative;z-index:5;gap:16px}
.vieweractions{display:flex;gap:18px;align-items:center}
.viewerbar button{min-height:42px;padding:8px 12px;border-radius:3px;cursor:pointer}
.viewerbar button:hover,.viewerbar button:focus-visible{background:#e6e9e0}
.viewermain{transition:grid-template-columns .2s ease}
.overlay.panel-hidden .viewermain{grid-template-columns:minmax(0,1fr) 0}
.overlay.panel-hidden .viewermain aside{display:none}
.art{min-width:0;min-height:0;cursor:default}
.art.is-zoomed{cursor:grab}
.art.is-zoomed:active{cursor:grabbing}
.art img{pointer-events:none;will-change:transform}
.art img[hidden],.noart[hidden]{display:none}
.zoom{z-index:8;align-items:center}
.zoom button{position:relative;z-index:9;min-width:50px;min-height:48px;cursor:pointer;touch-action:manipulation}
.zoom button:disabled{opacity:.4;cursor:not-allowed}
.zoom button:focus-visible{outline:2px solid var(--rust);outline-offset:-3px}
@media(max-width:950px){
 .overlay.panel-hidden .viewermain{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 0}
 .overlay.panel-hidden .viewermain aside{display:none}
 .viewerbar{padding:0 12px}
 .vieweractions{gap:4px}
 .viewerbar button{font-size:12px;padding:8px}
}

/* Viewer viewport sizing and fit scale — v3 */
.overlay{height:100vh;height:100dvh;bottom:auto;overflow:hidden}
.viewermain{height:calc(100% - 64px);min-height:0;overflow:hidden}
.art{height:100%;max-height:100%;overflow:hidden}
.art img{max-width:none;max-height:none;object-fit:fill;flex:none;display:block}
.zoom{bottom:14px}
@media(max-width:950px){
  .viewermain{height:calc(100% - 64px);min-height:0;overflow:hidden}
  .art{min-height:0}
}

/* Ingots collection identity */
.hero .descriptor{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(22px,2.7vw,30px);line-height:1.35;margin:10px 0 18px;color:var(--forest)}
.gallery .descriptor-small{font-family:'Source Serif 4',Georgia,serif;font-size:20px;margin:-14px 0 20px;color:var(--forest)}

/* Compact zoom dock: keep controls off the centre/bottom of the Ingot. */
.art .zoom{
  left:auto;
  right:10px;
  bottom:8px;
  transform:none;
  gap:0;
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 2px 9px #00000020;
  background:#fff;
}
.art .zoom button{
  min-width:30px;
  min-height:30px;
  height:30px;
  padding:3px 8px;
  font-size:13px;
  line-height:1;
}
.art .zoom button+button{border-left:1px solid var(--line)}
@media(max-width:600px){
 .art .zoom{right:6px;bottom:6px}
 .art .zoom button{min-width:30px;min-height:32px;height:32px}
}

/* Book Ingot editorial narratives: independently scrollable right-hand panel. */
.viewermain aside{overflow-y:auto;overscroll-behavior:contain}
.ingot-summary{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;padding-bottom:32px}
.ingot-summary h3{font-family:'Source Serif 4',Georgia,serif;font-size:21px;font-weight:500;line-height:1.3;margin:0 0 16px;color:var(--forest)}
.ingot-summary p{font-family:'IBM Plex Sans',Helvetica,sans-serif;font-size:14px;line-height:1.7;margin:0 0 14px;color:#393b34}
.ingot-summary p strong{font-weight:600;color:#1b1a17}
.ingot-summary[hidden]{display:none}

/* Resizable editorial pane: drag boundary between Ingot artwork and text. */
@media(min-width:951px){
  .viewermain{--detail-width:310px;grid-template-columns:minmax(0,1fr) 9px minmax(0,var(--detail-width));transition:none}
  .panel-resize{position:relative;z-index:3;min-width:0;background:#e0e2d9;border-left:1px solid #c9d0c5;border-right:1px solid #c9d0c5;cursor:col-resize;touch-action:none;display:flex;align-items:center;justify-content:center}
  .panel-resize:hover,.panel-resize:focus-visible,.overlay.is-resizing .panel-resize{background:#d1dbcF;outline:2px solid var(--forest);outline-offset:-2px}
  .resize-grip{display:block;width:3px;height:42px;border-left:1px solid #81958a;border-right:1px solid #81958a}
  .overlay.panel-hidden .viewermain{grid-template-columns:minmax(0,1fr) 0 0}
  .overlay.panel-hidden .panel-resize{display:none}
  .viewermain aside{min-width:0}
  body.ingot-panel-resizing{cursor:col-resize;user-select:none}
}
@media(max-width:950px){.panel-resize{display:none}}

/* Stacked small-screen viewer: adjustable horizontal boundary. */
@media(max-width:950px){
  .viewermain{
    --detail-height:34%;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) 14px minmax(0,var(--detail-height));
    transition:none;
  }
  .viewermain aside{
    min-height:0;
    max-height:none;
    height:100%;
    overflow-y:auto;
  }
  .panel-resize{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e0e2d9;
    border-top:1px solid #c9d0c5;
    border-bottom:1px solid #c9d0c5;
    cursor:row-resize;
    touch-action:none;
  }
  .panel-resize:hover,.panel-resize:focus-visible,body.ingot-panel-resizing .panel-resize{
    background:#d1dbcf;
    outline:2px solid var(--forest);
    outline-offset:-2px;
  }
  .resize-grip{
    display:block;
    width:48px;
    height:4px;
    border-top:1px solid #81958a;
    border-bottom:1px solid #81958a;
  }
  .overlay.panel-hidden .viewermain{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) 0 0;
  }
  .overlay.panel-hidden .panel-resize{display:none}
  body.ingot-panel-resizing{cursor:row-resize;user-select:none}
}
