:root{
  --paper:#f3eee6;--paper-deep:#eee7dc;--ink:#181713;--muted:#625d54;
  --green:#173b27;--gold:#b08d47;--line:rgba(74,65,52,.16);--soft:rgba(255,255,255,.20);
  --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}

.site-header{height:49px;background:#f7f2eb;border-bottom:1px solid rgba(44,38,30,.08);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.2vw;position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:11px;letter-spacing:.16em;font-size:16px;white-space:nowrap}
.brand-mark{width:29px;height:29px;border:1.2px solid #2b2a26;border-radius:50%;display:grid;place-items:center;font-style:italic;letter-spacing:0}
.main-nav{display:flex;gap:44px;font-size:14px}
.main-nav a{padding:16px 0 11px;border-bottom:2px solid transparent}
.main-nav a.active,.main-nav a:hover{border-color:#34352f}
.header-icons{justify-self:end;display:flex;gap:19px;align-items:center}.header-icons svg{width:18px;height:18px;stroke:#252520;fill:none;stroke-width:1.4}

.hero{position:relative;background:#161510;overflow:hidden}
.hero>img{width:100%;height:auto;display:block;image-rendering:auto}
.hero-hotspot{position:absolute;left:6.6%;top:72%;width:190px;height:43px;border-radius:2px;z-index:3}
.hero-hotspot:focus-visible{outline:2px solid #e2c887;outline-offset:3px}

.collection-wrap{background:linear-gradient(180deg,#f5f0e8 0%,#f0e9df 100%);border-top:1px solid rgba(82,72,58,.13);border-bottom:1px solid rgba(82,72,58,.13)}
.collection{width:min(var(--max),calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:35% 23% 42%;min-height:300px}
.collection-panel{padding:18px 27px;border-right:1px solid rgba(78,68,55,.12);min-width:0}.collection-panel:last-child{border-right:0}
.eyebrow{text-align:center;text-transform:uppercase;font:600 10px/1.2 Arial,sans-serif;letter-spacing:.13em;color:#5a554c;margin:0 0 13px}
.castle-info{position:relative;overflow:hidden;background:#e3d7d2}.castle-art{position:absolute;left:-2px;bottom:-5px;width:158px;height:175px;object-fit:contain;object-position:left bottom;opacity:.48;filter:grayscale(.9);mix-blend-mode:multiply}.castle-inner{position:relative;z-index:2}
.castle-info h2{font-size:39px;font-weight:400;line-height:1;margin:11px 0 8px;color:#1d2d23;letter-spacing:.04em}.castle-sub{font-size:18px;font-style:italic;margin-bottom:23px}.castle-copy{max-width:335px;margin:0 0 20px 34px;font-size:13px;line-height:1.55}.primary-btn{display:inline-flex;margin-left:56px;background:var(--green);border:1px solid var(--green);color:#f8f2e7;padding:10px 22px;font-size:13px}
.scene-list{border-top:1px solid rgba(65,57,47,.15)}.scene-row{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;height:31px;padding:0 8px;border-bottom:1px solid rgba(65,57,47,.13);font-size:12.5px;cursor:pointer}.scene-row.active{background:rgba(24,59,42,.075)}.scene-row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-play{width:21px;height:21px;border:1px solid #777;border-radius:50%;background:#f7f3eb;display:grid;place-items:center;padding:0;cursor:pointer;font-size:9px}.scene-row.active .scene-play{background:var(--green);color:white;border-color:var(--green)}.about-link{display:block;text-align:center;margin-top:13px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.score-heading{text-align:center;height:24px;display:flex;align-items:center;justify-content:center}.score-heading small{text-transform:uppercase;font:600 9px Arial,sans-serif;letter-spacing:.12em}.score-view{height:226px;background:#fff;overflow:hidden;box-shadow:0 3px 10px rgba(47,39,29,.09)}.score-view img{width:100%;height:100%;object-fit:cover;object-position:top center;cursor:zoom-in;image-rendering:auto}.score-controls{height:30px;background:#ebe5dc;border-top:1px solid rgba(80,69,55,.13);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;font:11px Arial,sans-serif}.score-controls .right{justify-self:end}.plain-btn{border:0;background:none;padding:0;cursor:pointer}

.featured-works{width:min(var(--max),calc(100% - 64px));margin:0 auto;padding:12px 0 20px}
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:166px;gap:12px}
.work-card,.buy-card{min-width:0;height:166px;background:rgba(249,246,240,.54);border:1px solid var(--line);border-radius:7px;overflow:hidden}
.work-card{display:grid;grid-template-columns:55% 45%}
.work-photo{min-width:0;height:100%;overflow:hidden;background:transparent;border:0;outline:0;box-shadow:none}.work-photo img{width:100%;height:100%;object-fit:cover;object-position:center;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;margin:0!important}
.work-content{padding:14px 14px 11px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.work-content h3{font-size:17px;font-weight:400;line-height:1.12;margin:0 0 3px}.work-kind{font-size:11px;margin-bottom:8px}.work-desc{font-size:11.5px;line-height:1.38;margin:0;color:#312e29}.work-actions{margin-top:auto;display:flex;justify-content:space-between;gap:10px;font:10px Arial,sans-serif}.action-btn{border:0;background:none;padding:0;cursor:pointer;white-space:nowrap}.action-btn:hover{text-decoration:underline}
.buy-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;padding:20px 28px}.download-icon{width:54px;height:54px;border:1px solid #222;border-radius:50%;display:grid;place-items:center;font:29px Arial,sans-serif;text-decoration:none;cursor:pointer}.buy-card h3{font-size:18px;font-weight:400;margin:0 0 5px}.buy-card p{font-size:12px;line-height:1.45;margin:0 0 10px}.buy-card a{font:10px Arial,sans-serif;letter-spacing:.03em}

.site-footer{border-top:1px solid rgba(77,68,56,.14);padding:12px 5vw 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:11px}.footer-nav{display:flex;gap:42px}.footer-icons{justify-self:end;display:flex;gap:18px}.footer-icons svg{width:17px;height:17px;stroke:#26251f;fill:none;stroke-width:1.4}

.audio-bar{position:fixed;left:50%;bottom:16px;transform:translate(-50%,18px);background:rgba(24,25,21,.96);color:#fff;z-index:90;padding:9px 13px;display:flex;align-items:center;gap:12px;min-width:min(520px,calc(100% - 26px));opacity:0;pointer-events:none;transition:.2s;box-shadow:0 16px 44px rgba(0,0,0,.25)}.audio-bar.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.audio-bar button{border:1px solid #a8a69e;background:transparent;color:white;width:30px;height:30px;border-radius:50%;cursor:pointer}.audio-meta{flex:1}.audio-meta b{font-weight:400}.audio-meta div{font:9px Arial,sans-serif;color:#c9c5bc;text-transform:uppercase;letter-spacing:.09em;margin-top:2px}
.preview-modal{position:fixed;inset:0;background:rgba(18,17,14,.78);display:none;align-items:center;justify-content:center;z-index:100;padding:22px}.preview-modal.show{display:flex}.preview-box{background:#f5f1e8;padding:12px;max-width:940px;width:min(940px,95vw);max-height:92vh;position:relative}.preview-box img{width:100%;max-height:86vh;object-fit:contain;background:#fff}.modal-close{position:absolute;right:-10px;top:-10px;width:36px;height:36px;border-radius:50%;border:1px solid #eee;background:#1d211c;color:#fff;font-size:21px;cursor:pointer}

.page-head{width:min(1180px,calc(100% - 48px));margin:50px auto 24px}.page-head h1{font-size:44px;font-weight:400;margin:0 0 8px;color:#1d2d23}.page-head p{color:var(--muted);font-size:15px;line-height:1.6;max-width:760px}.scores-grid{width:min(1180px,calc(100% - 48px));margin:0 auto 60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.score-card{border:1px solid var(--line);background:rgba(250,248,243,.62);padding:10px;display:flex;flex-direction:column;min-height:382px}.score-card .thumb{height:242px;background:#fff;overflow:hidden}.score-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:top;border:0;outline:0;box-shadow:none}.score-card h2{font-size:21px;font-weight:400;margin:12px 4px 3px}.score-meta{font:11px Arial,sans-serif;color:#655f56;margin:0 4px 10px}.score-actions{display:flex;gap:18px;margin:auto 4px 3px;font:10px Arial,sans-serif}.score-card.featured{border-color:#ad976b}.score-badge{font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#7b6640;margin:4px}
.about-page{width:min(780px,calc(100% - 48px));margin:60px auto 100px}.about-page h1{font-size:44px;font-weight:400;color:#1d2d23}.about-page p{font-size:17px;line-height:1.7;color:#3d3932}.about-page small{font:11px Arial,sans-serif;color:#777067}

@media(max-width:1080px) and (min-width:721px){.collection{width:calc(100% - 32px);grid-template-columns:35% 24% 41%}.collection-panel{padding:16px 16px}.castle-info h2{font-size:31px}.castle-sub{font-size:15px;margin-bottom:17px}.castle-copy{font-size:11.5px;margin-left:18px}.primary-btn{margin-left:28px;padding:9px 16px}.scene-row{font-size:11px;grid-template-columns:27px minmax(0,1fr) 25px;padding:0 7px}.score-view{height:205px}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:166px}.scores-grid{grid-template-columns:1fr 1fr}.hero-hotspot{left:6.7%;top:72%;width:170px;height:40px}}
@media(max-width:720px){.site-header{grid-template-columns:1fr auto;padding:0 16px}.main-nav{display:none}.brand{font-size:14px}.header-icons{display:none}.hero>img{width:145%;max-width:none;position:relative;left:50%;transform:translateX(-50%)}.hero-hotspot{left:6%;top:71%;width:145px;height:36px}.collection-wrap{border-top:0;margin-top:-1px}.collection{width:100%;display:block}.collection-panel{border-right:0;border-bottom:1px solid rgba(75,67,54,.12);padding:24px 20px}.castle-info h2{font-size:34px}.castle-copy,.primary-btn{margin-left:0}.score-view{height:auto;aspect-ratio:1739/1076}.score-view img{object-fit:contain;object-position:center}.featured-works{width:calc(100% - 24px)}.works-grid{grid-template-columns:1fr;grid-auto-rows:auto}.work-card,.buy-card{height:auto;min-height:190px}.work-card{grid-template-columns:56% 44%;align-items:stretch}.work-photo{height:100%;background:transparent;line-height:0}.work-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0!important;outline:0!important;box-shadow:none!important}.work-content{overflow:visible;padding:13px 14px 12px;min-height:190px}.work-content h3{font-size:16px;line-height:1.05}.work-kind{font-size:10.5px;margin-bottom:7px}.work-desc{font-size:10.5px;line-height:1.27}.work-actions{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;gap:8px;font-size:10px;flex-wrap:nowrap}.buy-card{grid-column:auto}.site-footer{grid-template-columns:1fr;gap:12px}.footer-nav{display:none}.footer-icons{justify-self:start}.scores-grid{grid-template-columns:1fr}.page-head{margin-top:35px}}

/* mini hero variants for inner pages */
.mini-hero{position:relative;min-height:238px;display:flex;align-items:flex-end;overflow:hidden;background-repeat:no-repeat;border-bottom:1px solid rgba(77,68,56,.14)}
.mini-hero__content{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:34px 0 28px;color:#f7f1e8}
.mini-hero__content h1{font-size:44px;font-weight:400;line-height:1.02;margin:0 0 10px;color:#fbf6ef}
.mini-hero__content p{margin:0;max-width:620px;font-size:15px;line-height:1.6;color:rgba(247,241,232,.92)}
.eyebrow-light{text-align:left;color:rgba(247,241,232,.78);margin-bottom:10px}
.mini-hero--scores{background-image:linear-gradient(90deg,rgba(12,11,10,.97) 0%,rgba(12,11,10,.86) 28%,rgba(12,11,10,.40) 48%,rgba(12,11,10,.14) 100%),url("assets/inner-hero-scores.png");background-size:cover;background-position:center center}
.mini-hero--about{background-image:linear-gradient(90deg,rgba(12,11,10,.97) 0%,rgba(12,11,10,.86) 28%,rgba(12,11,10,.40) 48%,rgba(12,11,10,.14) 100%),url("assets/inner-hero-about.png");background-size:cover;background-position:center center}
.scores-grid{margin-top:28px}
.about-page{margin-top:34px}
@media(max-width:720px){
  .mini-hero{min-height:164px}
  .mini-hero__content{width:calc(100% - 32px);padding:20px 0 18px}
  .mini-hero__content h1{font-size:29px;margin-bottom:6px}
  .mini-hero__content p{font-size:13px;line-height:1.45;max-width:92%}
  .eyebrow-light{margin-bottom:8px}
  .mini-hero--scores{background-position:center center}
  .mini-hero--about{background-image:linear-gradient(90deg,rgba(12,11,10,.97) 0%,rgba(12,11,10,.86) 28%,rgba(12,11,10,.40) 48%,rgba(12,11,10,.14) 100%),url("assets/inner-hero-about-mobile.png");background-size:cover;background-position:center center}
  .scores-grid{margin-top:20px}
}
