@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-normal.woff2") format("woff2");font-display:swap;font-style:normal}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-italic.woff2") format("woff2");font-display:swap;font-style:italic}
@font-face{font-family:"DM Sans";src:url("fonts/dm-sans-latin-normal.woff2") format("woff2");font-display:swap;font-style:normal}

:root{--pc-ink:#1a1c19;--pc-paper:#f1eee6;--pc-paper-deep:#e4ded1;--pc-oak:#a98052;--pc-gold:#a8864d;--pc-line:rgba(26,28,25,.16);--pc-serif:"Cormorant Garamond",Georgia,serif;--pc-sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.mdl-collection-piece{margin:0;background:var(--pc-paper);color:var(--pc-ink);font:400 16px/1.65 var(--pc-sans);-webkit-font-smoothing:antialiased}
body.mdl-collection-piece img{display:block;max-width:100%;height:auto}
body.mdl-collection-piece a{color:inherit}
.ea11y-skip-to-content-link{position:fixed;z-index:1200;top:10px;left:10px;padding:10px 14px;background:var(--pc-ink);color:#fff!important;font-size:.75rem;text-decoration:none;transform:translateY(-160%);transition:transform .2s ease}
.ea11y-skip-to-content-link:focus,.ea11y-skip-to-content-link:focus-visible{transform:none}
.piece-page{overflow:clip}
.piece-wrap{width:min(calc(100% - 64px),1280px);margin-inline:auto}
.piece-kicker{margin:0 0 18px;color:var(--pc-oak);font-size:.68rem;font-weight:600;letter-spacing:.2em;line-height:1.4;text-transform:uppercase}
.piece-page h1,.piece-page h2,.piece-page h3{font-family:var(--pc-serif);font-weight:400}
.piece-page h2{margin:0;font-size:clamp(3rem,5.4vw,5.7rem);letter-spacing:-.045em;line-height:.96}
.piece-page h2 em,.piece-page h1 em{color:var(--pc-oak);font-weight:400}
.piece-link{display:inline-flex;align-items:center;gap:15px;width:max-content;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:.69rem;font-weight:600;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.piece-link span{transition:transform .3s ease}.piece-link:hover span{transform:translateX(5px)}
.piece-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-width:224px;padding:16px 18px;border:1px solid var(--pc-ink);background:var(--pc-ink);color:#fff!important;font-size:.69rem;font-weight:600;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:background .3s,color .3s}
.piece-button:hover{background:transparent;color:var(--pc-ink)!important}
.piece-progress{position:fixed;z-index:1002;top:0;left:0;width:100%;height:2px;pointer-events:none}.piece-progress span{display:block;width:100%;height:100%;background:var(--pc-gold);transform:scaleX(0);transform-origin:left}

/* Hero: the image stage follows the photograph's native 4:3 ratio. */
.piece-hero{padding:100px 18px 18px;background:var(--pc-paper-deep)}
.piece-hero__inner{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);width:min(100%,1500px);margin:auto;background:#ebe6dc}
.piece-hero__copy{display:flex;min-width:0;flex-direction:column;padding:clamp(38px,4.2vw,72px)}
.piece-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 clamp(50px,8vw,110px);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase}.piece-breadcrumb a{text-decoration:none}.piece-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.piece-title{margin:0;font-size:clamp(4.25rem,7vw,7.5rem);letter-spacing:-.06em;line-height:.78}.piece-title em{display:block;margin-top:.14em;font-size:.75em;line-height:.9}
.piece-hero__intro{max-width:500px;margin:34px 0 0;font:400 clamp(1.2rem,1.7vw,1.55rem)/1.35 var(--pc-serif)}
.piece-hero__actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:38px}
.piece-hero__media{position:relative;align-self:center;width:100%;aspect-ratio:4/3;background:#c6beb0;overflow:hidden}
.piece-hero__slide{position:absolute;inset:0;display:grid;margin:0;place-items:center;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}.piece-hero__slide.is-active{opacity:1;visibility:visible}
.piece-hero__slide img{width:100%;height:100%;object-fit:contain}
.piece-hero__index{position:absolute;z-index:2;top:18px;right:20px;color:#fff;font:400 .75rem var(--pc-serif);text-shadow:0 1px 8px rgba(0,0,0,.35)}
.piece-hero__caption{position:absolute;z-index:2;right:16px;bottom:16px;margin:0;padding:9px 12px;background:rgba(241,238,230,.9);font-size:.59rem;letter-spacing:.13em;text-transform:uppercase;backdrop-filter:blur(10px)}
.piece-gallery-nav{position:absolute;z-index:3;left:16px;bottom:16px;display:flex;align-items:center;padding:5px;background:rgba(241,238,230,.92);backdrop-filter:blur(10px)}
.piece-gallery-nav button{display:grid;width:35px;height:35px;padding:0;border:0;background:transparent;place-items:center;color:inherit;cursor:pointer}.piece-gallery-nav button:hover{background:rgba(26,28,25,.08)}
.piece-gallery-count{min-width:58px;text-align:center;font-size:.61rem;letter-spacing:.13em}

/* Chapters are content-sized: no fixed heights, no clipping, no dead viewport gaps. */
.piece-intro{padding:clamp(80px,9vw,132px) 0}
.piece-intro__grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(50px,10vw,160px);align-items:start}
.piece-intro h2{max-width:900px}.piece-intro h2 em{display:block}
.piece-intro__body{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,70px);margin-top:44px;align-items:start}
.piece-intro__lead{margin:0;font:400 clamp(1.45rem,2.2vw,2rem)/1.38 var(--pc-serif)}
.piece-intro__body p:last-child{margin:0;color:#4f524e;font-size:.92rem;line-height:1.85}

.piece-image-stage{display:grid;grid-template-columns:minmax(0,113.3svh) minmax(260px,340px);width:min(100%,calc(113.3svh + 340px));margin:0 auto;padding:clamp(12px,1.5vw,22px);background:var(--pc-ink)}
.piece-image-stage__frame{display:contents}
.piece-image-stage img{width:100%;max-height:80svh;object-fit:contain}
.piece-image-stage figcaption{display:flex;margin:0;padding:clamp(28px,4vw,56px);align-items:flex-end;background:#242621;color:#e8e4da;font:400 clamp(1.15rem,1.7vw,1.5rem)/1.45 var(--pc-serif)}

.piece-design{padding:clamp(80px,9vw,126px) 0}
.piece-design__head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(48px,9vw,140px);align-items:end;margin-bottom:58px}
.piece-design__head>p{max-width:510px;margin:0 0 8px;color:#494d49;line-height:1.8}
.piece-features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pc-line);border-bottom:1px solid var(--pc-line)}
.piece-feature{padding:30px clamp(24px,3vw,44px) 36px;border-right:1px solid var(--pc-line)}.piece-feature:first-child{padding-left:0}.piece-feature:last-child{padding-right:0;border-right:0}
.piece-feature__number{color:var(--pc-gold);font:400 1rem var(--pc-serif)}
.piece-feature h3{margin:28px 0 14px;font-size:clamp(2rem,2.8vw,2.75rem);letter-spacing:-.025em;line-height:1}
.piece-feature p{margin:0;color:#555954;font-size:.85rem;line-height:1.78}

.piece-detail{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);background:var(--pc-ink);color:#f3f0e8}
.piece-detail__media{display:grid;margin:0;padding:clamp(14px,1.5vw,22px);place-items:center;background:#252722}
.piece-detail__media img{width:100%;height:auto;max-height:80svh;object-fit:contain}
.piece-detail__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,6vw,96px)}
.piece-detail__copy .piece-kicker{color:#c5a36e}.piece-detail__copy h2{font-size:clamp(3.2rem,5vw,5.25rem)}.piece-detail__copy h2 em{display:block;color:#c5a36e}
.piece-detail__copy>p:not(.piece-kicker){max-width:540px;margin:28px 0 0;color:#d1d0c9;font-size:.91rem;line-height:1.84}
.piece-facts{display:grid;grid-template-columns:repeat(2,1fr);margin:42px 0 0;border-top:1px solid rgba(255,255,255,.18)}.piece-facts div{padding:18px 12px 0 0}.piece-facts dt{color:#9e9f97;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}.piece-facts dd{margin:3px 0 0;font:400 1.15rem var(--pc-serif)}

.piece-craft{padding:clamp(80px,9vw,126px) 0}
.piece-craft__grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(54px,10vw,150px);align-items:start}
.piece-craft__intro h2{font-size:clamp(3.2rem,5vw,5.2rem)}.piece-craft__intro>p:last-child{max-width:430px;margin:28px 0 0;color:#515550;line-height:1.8}
.piece-craft__list{margin:0;padding:0;border-top:1px solid var(--pc-line);list-style:none;counter-reset:craft}
.piece-craft__list li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--pc-line);counter-increment:craft}.piece-craft__list li::before{content:"0" counter(craft);color:var(--pc-gold);font:400 1rem var(--pc-serif)}
.piece-craft__list h3{margin:0 0 10px;font-size:clamp(1.8rem,2.6vw,2.55rem);line-height:1}.piece-craft__list p{max-width:620px;margin:0;color:#555954;font-size:.88rem;line-height:1.78}

.piece-options{padding:clamp(80px,9vw,126px) 0;background:var(--pc-paper-deep)}
.piece-options__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(54px,10vw,150px);align-items:start}
.piece-options__intro h2{font-size:clamp(3.2rem,5vw,5.2rem)}.piece-options__intro>p:last-child{max-width:460px;margin:28px 0 0;line-height:1.8}
.piece-options__list{border-top:1px solid var(--pc-line)}.piece-option{border-bottom:1px solid var(--pc-line)}
.piece-option summary{display:grid;grid-template-columns:42px 1fr 22px;gap:12px;align-items:center;padding:22px 0;cursor:pointer;list-style:none}.piece-option summary::-webkit-details-marker{display:none}.piece-option__number{color:var(--pc-gold);font-family:var(--pc-serif)}
.piece-option summary h3{margin:0;font:600 .76rem/1.4 var(--pc-sans);letter-spacing:.1em;text-transform:uppercase}.piece-option__plus{position:relative;width:20px;height:20px}.piece-option__plus::before,.piece-option__plus::after{content:"";position:absolute;top:9px;left:3px;width:14px;height:1px;background:currentColor;transition:transform .25s}.piece-option__plus::after{transform:rotate(90deg)}.piece-option[open] .piece-option__plus::after{transform:none}
.piece-option__body{padding:0 20px 22px 54px}.piece-option__body p{margin:0;line-height:1.78}.piece-options__note{margin:28px 0 0;font:italic 1.25rem var(--pc-serif)}

.piece-related{padding:18px;background:var(--pc-paper)}
.piece-related__card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);width:min(100%,1500px);margin:auto;background:#d8d0c1;text-decoration:none}
.piece-related__media{display:grid;margin:0;padding:clamp(12px,1.4vw,20px);place-items:center;background:#c6bcad}.piece-related__media img{width:100%;height:auto;max-height:80svh;object-fit:contain;transition:transform .7s ease}.piece-related__card:hover .piece-related__media img{transform:scale(.985)}
.piece-related__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(54px,7vw,104px)}.piece-related__copy h2{font-size:clamp(3.3rem,5.4vw,5.8rem)}.piece-related__copy h2 em{display:block}.piece-related__copy>p:not(.piece-kicker){max-width:430px;margin:26px 0 32px;line-height:1.78}

.piece-commission{padding:clamp(86px,10vw,150px) 24px;background:var(--pc-ink);color:#f5f2ea;text-align:center}.piece-commission__inner{max-width:980px;margin:auto}.piece-commission .piece-kicker{color:#d5ba88}.piece-commission h2{font-size:clamp(4rem,7vw,7.4rem)}.piece-commission h2 em{display:block;color:#d5ba88}.piece-commission p{max-width:600px;margin:26px auto 34px;font:400 clamp(1.2rem,1.7vw,1.5rem)/1.45 var(--pc-serif)}.piece-commission .piece-button{border-color:#fff;background:#fff;color:var(--pc-ink)!important}.piece-commission .piece-button:hover{background:transparent;color:#fff!important}
.piece-back{padding:24px;background:#11130f;color:#ece8df;text-align:center}.piece-back a{font-size:.65rem;letter-spacing:.16em;text-decoration:none;text-transform:uppercase}.piece-back a:hover{text-decoration:underline;text-underline-offset:5px}

[data-piece-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}[data-piece-reveal].is-visible{opacity:1;transform:none}

@media (min-width:1181px){body.mdl-collection-piece .mdl-nav-container{width:min(calc(100% - 80px),1360px)}body.mdl-collection-piece .mdl-nav-left,body.mdl-collection-piece .mdl-nav-right{gap:26px}}
@media (min-width:901px) and (max-width:1180px){body.mdl-collection-piece .mdl-nav-container{width:calc(100% - 40px)}body.mdl-collection-piece .mdl-nav-left,body.mdl-collection-piece .mdl-nav-right{gap:18px}}

@media (max-width:960px){
  .piece-wrap{width:min(calc(100% - 40px),1280px)}
  .piece-hero{padding:78px 10px 10px}.piece-hero__inner{grid-template-columns:1fr}.piece-hero__copy{padding:48px 24px 52px}.piece-breadcrumb{margin-bottom:58px}.piece-title{font-size:clamp(4rem,14vw,6.5rem)}.piece-hero__media{aspect-ratio:4/3}
  .piece-intro__grid,.piece-intro__body,.piece-design__head,.piece-craft__grid,.piece-options__grid{grid-template-columns:1fr}.piece-intro__grid,.piece-craft__grid,.piece-options__grid{gap:42px}.piece-intro__body{gap:24px;margin-top:34px}.piece-design__head{gap:28px;margin-bottom:46px}
  .piece-image-stage{display:block;width:100%}.piece-image-stage__frame{display:block}.piece-image-stage img{width:100%;max-height:none}.piece-image-stage figcaption{padding:26px 22px 30px}
  .piece-features{grid-template-columns:1fr}.piece-feature,.piece-feature:first-child,.piece-feature:last-child{padding:28px 0 32px;border-right:0;border-bottom:1px solid var(--pc-line)}.piece-feature:last-child{border-bottom:0}
  .piece-detail{grid-template-columns:1fr}.piece-detail__copy{padding:72px 24px 78px}.piece-detail__media img{max-height:none}
  .piece-related__card{grid-template-columns:1fr}.piece-related__media img{max-height:none}.piece-related__copy{padding:64px 24px 72px}
}

@media (max-width:620px){
  .piece-wrap{width:calc(100% - 32px)}.piece-page h2{font-size:clamp(2.85rem,13vw,4.1rem)}
  .piece-hero{padding-inline:0;padding-bottom:0}.piece-hero__copy{padding-inline:16px}.piece-title{font-size:clamp(3.75rem,19vw,5.4rem)}.piece-hero__intro{font-size:1.22rem}.piece-hero__actions{align-items:flex-start;flex-direction:column}.piece-hero__media{width:100%;aspect-ratio:4/3}.piece-hero__caption{right:8px;bottom:58px;max-width:200px}.piece-gallery-nav{left:8px;bottom:8px}.piece-hero__index{top:10px;right:10px}
  .piece-intro,.piece-design,.piece-craft,.piece-options{padding:76px 0}.piece-intro__grid,.piece-craft__grid,.piece-options__grid{gap:36px}
  .piece-image-stage{display:block;width:100%;padding:8px}.piece-image-stage__frame{display:block}.piece-image-stage img{max-height:none;width:100%}.piece-image-stage figcaption{padding:24px 16px 28px;font-size:1.1rem}
  .piece-detail__media{padding:8px}.piece-detail__copy{padding:66px 16px 72px}.piece-facts{grid-template-columns:1fr 1fr}.piece-facts dd{font-size:1.05rem}
  .piece-craft__list li{grid-template-columns:40px 1fr;gap:12px}.piece-option__body{padding-left:42px}
  .piece-related{padding:8px}.piece-related__media{padding:8px}.piece-related__copy{padding:58px 16px 66px}
  .piece-commission{padding:84px 16px}.piece-commission h2{font-size:clamp(3.5rem,17vw,5.3rem)}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-piece-reveal]{opacity:1;transform:none}}
