/* Baldacci 2026/27 — catalogue page; all selectors use bf- to avoid theme collisions. */
.bf-page{--bf-gold:#cca06f;--bf-ink:#121212;--bf-light:#f8f8f8;--bf-navy:#040a1f;color:var(--bf-ink);font-family:'Cormorant Garamond',Georgia,serif;max-width:1360px;padding:0 clamp(18px,3vw,50px);margin:0 auto}
.bf-page *, .bf-modal *{box-sizing:border-box}
.bf-page button,.bf-page input,.bf-modal button,.bf-modal input{font-family:inherit}
.bf-page button:focus-visible,.bf-page input:focus-visible,.bf-modal button:focus-visible,.bf-modal input:focus-visible{outline:2px solid var(--bf-gold,#cca06f);outline-offset:3px}
.bf-demo-body{margin:0;background:#fff;color:#121212}
.bf-intro{text-align:center;padding:74px 15px 48px;max-width:900px;margin:0 auto}
.bf-eyebrow{font-family:Arial,sans-serif;font-size:11px;line-height:1.6;letter-spacing:.22em;font-weight:500;color:#a8865a;margin:0 0 19px}
.bf-intro .bf-eyebrow span{display:inline-block;padding:0 8px;color:#b7b7b7}
.bf-intro h1,.bf-request h2,.bf-modal-dialog h2{font-family:'Crimson Text',Georgia,serif;color:#cca06f;font-weight:400;line-height:1.1;margin:0}
.bf-intro h1{font-size:clamp(40px,5vw,68px)}
.bf-gold-rule{display:block;width:54px;height:2px;background:#cca06f;margin:25px auto 22px}
.bf-intro>p:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(19px,2vw,24px);line-height:1.5;max-width:720px;margin:auto;color:#121212}
.bf-catalogue-section{padding:24px 0 75px}
.bf-section-topline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e6e2dc;padding:18px 0 22px;gap:12px;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.17em;color:#8c734f}
.bf-section-title{display:flex;align-items:center;gap:12px}.bf-mini-rule{width:22px;height:1px;background:#cca06f;display:block}.bf-section-years{color:#777}
.bf-reader{display:grid;grid-template-columns:174px minmax(0,1fr);background:#f8f8f8;border:1px solid #eceae6;min-width:0;width:100%;position:relative;isolation:isolate}
.bf-thumbs{border-right:1px solid #e4e1db;display:flex;flex-direction:column;min-height:0;background:#f2f1ee}
.bf-thumbs-heading{height:57px;min-height:57px;border-bottom:1px solid #e4e1db;display:flex;align-items:center;justify-content:space-between;padding:0 19px;font:10px Arial,sans-serif;letter-spacing:.16em;color:#6c665e}
.bf-thumbs-heading span{font-size:11px;letter-spacing:0;color:#8b8984}
.bf-thumbs-scroll{height:654px;max-height:calc(100vh - 130px);overflow-y:auto;overscroll-behavior:contain;padding:14px 19px 16px;scrollbar-width:thin;scrollbar-color:#c7b08f transparent}
.bf-thumb{appearance:none;display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;background:transparent;border:1px solid transparent;border-radius:0;padding:9px 8px 8px;margin-bottom:8px;cursor:pointer;color:#555;transition:background .18s,border-color .18s;min-height:146px}
.bf-thumb:hover{background:#fff}.bf-thumb.is-current{background:#fff;border-color:#cca06f}
.bf-thumb-image{width:74px;height:105px;display:flex;align-items:center;justify-content:center;background:#e5e2db;box-shadow:0 2px 7px rgba(4,10,31,.08);overflow:hidden}
.bf-thumb-image img{width:100%;height:100%;display:block;object-fit:cover}
.bf-thumb-number{font:10px Arial,sans-serif;letter-spacing:.08em;color:#6a6156}.bf-thumb.is-current .bf-thumb-number{color:#987040}
.bf-viewer{min-width:0;display:flex;flex-direction:column;position:relative}
.bf-viewer-top{height:57px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e7e3;font:10px Arial,sans-serif;letter-spacing:.13em;color:#86775f}
.bf-tool-text{appearance:none;display:flex;gap:7px;align-items:center;border:0;background:transparent;color:#6d665c;padding:8px;cursor:pointer;font:10px Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.bf-tool-text:hover{color:#cca06f}.bf-thumbs-toggle{visibility:hidden;pointer-events:none}.bf-expand-icon{font-size:17px;line-height:1}
.bf-stage{min-height:0;flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(19px,3vw,38px) clamp(17px,3vw,41px) 28px;background:linear-gradient(145deg,#fafafa,#f2f1ef);overflow:hidden}
.bf-spread{position:relative;width:min(100%,895px);aspect-ratio:1.41421356;box-shadow:0 15px 22px rgba(4,10,31,.13),0 2px 5px rgba(4,10,31,.1);perspective:2000px;background:#fff;transform-style:preserve-3d;contain:layout}
.bf-spread::after{content:"";width:2px;position:absolute;z-index:10;top:0;bottom:0;left:calc(50% - 1px);pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.17),rgba(255,255,255,.26))}
.bf-page-face{position:absolute;top:0;bottom:0;width:50%;background:#fff;overflow:hidden}.bf-page-face-left{left:0}.bf-page-face-right{right:0}
.bf-page-face img,.bf-turn img,.bf-mobile-sheet img{width:100%;height:100%;display:block;object-fit:fill;user-select:none;max-width:none}
.bf-turn{position:absolute;left:50%;top:0;bottom:0;width:50%;z-index:20;transform-style:preserve-3d;transform:rotateY(0deg);transform-origin:left center;visibility:hidden;pointer-events:none;will-change:transform}
.bf-turn.bf-turn-forward{left:50%;transform-origin:left center;transform:rotateY(0deg)}
.bf-turn.bf-turn-backward{left:0;transform-origin:right center;transform:rotateY(0deg)}
.bf-turn.bf-turn-active{visibility:visible;transition:transform 720ms cubic-bezier(.42,.05,.28,1)}
.bf-turn.bf-turn-forward.bf-turn-active{transform:rotateY(-180deg)}
.bf-turn.bf-turn-backward.bf-turn-active{transform:rotateY(180deg)}
.bf-turn-front,.bf-turn-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:white;overflow:hidden}
.bf-turn-back{transform:rotateY(180deg)}
.bf-turn-front::after,.bf-turn-back::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.07),transparent 28%,transparent 75%,rgba(0,0,0,.10))}
.bf-mobile-sheet{display:none}
.bf-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:12px Arial,sans-serif;letter-spacing:.08em;padding:13px 18px;background:rgba(255,255,255,.95);color:#796442;box-shadow:0 4px 18px rgba(0,0,0,.07);z-index:40;white-space:nowrap}
.bf-loading[hidden]{display:none}
.bf-toolbar{height:66px;background:#040a1f;display:flex;justify-content:center;align-items:center;gap:27px;padding:8px 12px;color:#fff}
.bf-nav-arrow{appearance:none;width:41px;height:41px;border:1px solid rgba(255,255,255,.24);background:transparent;color:white;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s}
.bf-nav-arrow:hover:not(:disabled){color:#cca06f;border-color:#cca06f}.bf-nav-arrow:disabled{opacity:.27;cursor:default}
.bf-nav-next{border-color:#cca06f;color:#cca06f}
.bf-page-counter{font:12px Arial,sans-serif;letter-spacing:.15em;display:flex;align-items:center;gap:17px;min-width:138px;justify-content:center;font-variant-numeric:tabular-nums}
.bf-counter-divider{height:18px;width:1px;background:#cca06f}.bf-page-counter span:last-child{color:#aa9f8f}
.bf-jump-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:12px 18px 14px;background:#fff;color:#5a5249;min-height:61px}
.bf-jump-row label{font:10px Arial,sans-serif;letter-spacing:.15em}.bf-jump-form{display:flex;border:1px solid #e4ded5;height:34px}
.bf-jump-form input{appearance:textfield;background:transparent;border:0;width:92px;padding:0 9px;font:12px Arial,sans-serif;color:#121212;outline:none}
.bf-jump-form input::-webkit-inner-spin-button{-webkit-appearance:none}
.bf-jump-form button{border:0;border-left:1px solid #e4ded5;cursor:pointer;background:#f8f8f8;font:10px Arial,sans-serif;letter-spacing:.05em;padding:0 12px;color:#806343}.bf-jump-form button:hover{background:#eee8df}
.bf-status{font:11px Arial,sans-serif;letter-spacing:0;color:#866a47;margin:0;min-width:0}
.bf-request{display:flex;align-items:center;justify-content:space-between;gap:36px;border-top:1px solid #eee8de;padding:65px 7px 90px;margin:0 0 20px}
.bf-request-copy{max-width:760px}.bf-request .bf-eyebrow{margin-bottom:10px}.bf-request h2{font-size:clamp(34px,3vw,48px)}
.bf-request-copy>p:last-child{font-size:21px;line-height:1.45;max-width:710px;margin:16px 0 0}
.bf-gold-button{appearance:none;border:0;border-radius:0;cursor:pointer;background:#cca06f;color:white;min-height:61px;min-width:202px;padding:20px 30px;letter-spacing:.14em;font:11px Arial,sans-serif;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:18px;transition:background .2s,transform .2s}
.bf-gold-button:hover{background:#bd8d57;transform:translateY(-1px)}
.bf-modal[hidden]{display:none}.bf-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;z-index:100000}
.bf-modal-backdrop{position:absolute;inset:0;background:rgba(4,10,31,.65)}
.bf-modal-dialog{--bf-gold:#cca06f;position:relative;background:#fff;padding:clamp(28px,4vw,55px);width:min(100%,505px);font-family:'Cormorant Garamond',Georgia,serif;box-shadow:0 17px 65px rgba(0,0,0,.25)}
.bf-modal-dialog h2{font-size:40px}.bf-modal-dialog>p:not(.bf-eyebrow){font-size:19px;line-height:1.4}.bf-modal-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font:30px Arial,sans-serif;cursor:pointer}
.bf-modal-dialog form{display:flex;flex-direction:column;gap:12px}.bf-modal-dialog label{font:11px Arial,sans-serif;letter-spacing:.08em}
.bf-modal-dialog input{width:100%;height:48px;border:1px solid #ddd;padding:10px 14px;font:15px Arial,sans-serif}.bf-modal-dialog .bf-gold-button{margin-top:8px}
.bf-modal-dialog .bf-demo-disclaimer{font:12px/1.5 Arial,sans-serif!important;color:#947e60;margin:16px 0 0}
.bf-reader:fullscreen,.bf-reader:-webkit-full-screen{width:100%;height:100%;background:#f8f8f8;grid-template-columns:174px minmax(0,1fr);border:0}
.bf-reader:fullscreen .bf-thumbs-scroll{height:calc(100vh - 57px);max-height:none}
.bf-reader:fullscreen .bf-stage{min-height:0;flex:1}
.bf-reader:fullscreen .bf-spread{width:min(100%,calc((100vh - 210px) * 1.41421))}
@media(max-width:980px){.bf-reader{grid-template-columns:125px minmax(0,1fr)}.bf-thumbs-scroll{padding:9px}.bf-thumbs-heading{padding:0 11px}.bf-thumb-image{width:65px;height:92px}.bf-thumb{min-height:130px}}
@media(max-width:760px){
  .bf-page{padding:0 16px}.bf-intro{padding:55px 0 30px}.bf-catalogue-section{padding-top:17px;padding-bottom:38px}
  .bf-reader,.bf-reader:fullscreen{grid-template-columns:minmax(0,1fr)}
  .bf-thumbs{display:none;position:absolute;z-index:30;left:0;top:57px;bottom:127px;width:148px;box-shadow:8px 0 18px rgba(0,0,0,.12)}
  .bf-reader.bf-show-thumbs .bf-thumbs{display:flex}.bf-thumbs-scroll{height:100%;max-height:none}
  .bf-thumbs-toggle{visibility:visible;pointer-events:auto}.bf-viewer-top{padding:0 10px}.bf-viewer-label{font-size:9px;letter-spacing:.07em}
  .bf-stage{padding:23px 20px;min-height:430px}.bf-spread{display:none}
  .bf-mobile-sheet{display:block;aspect-ratio:595.276/841.89;width:min(100%,360px);background:#fff;box-shadow:0 10px 20px rgba(4,10,31,.15);overflow:hidden;opacity:1;transition:opacity 180ms ease,transform 180ms ease;transform:translateX(0)}
  .bf-mobile-sheet img{aspect-ratio:595.276/841.89;object-fit:fill}
  .bf-mobile-sheet.is-changing{opacity:.45;transform:translateX(-8px)}
  .bf-toolbar{height:60px;gap:20px}.bf-jump-row{min-height:67px;padding:12px 9px;gap:9px}
  .bf-reader:fullscreen .bf-stage{min-height:0;flex:1;padding:8px}.bf-reader:fullscreen .bf-mobile-sheet{width:min(96%,calc((100vh - 192px) * .7071))}
  .bf-request{flex-direction:column;align-items:flex-start;padding:45px 0 65px;gap:26px}.bf-request-copy>p:last-child{font-size:19px}
}
@media(max-width:420px){.bf-stage{min-height:375px;padding:15px}.bf-viewer-label{display:none}.bf-viewer-top{justify-content:space-between}.bf-jump-row label{font-size:9px}.bf-jump-form input{width:78px}}
@media(prefers-reduced-motion:reduce){.bf-turn.bf-turn-active,.bf-mobile-sheet,.bf-gold-button{transition-duration:0ms!important}}

/* V3: maximum 1430px content grid, single-page cover, stable page-turn layout. */
.bf-page{width:100%;max-width:1430px;padding-left:clamp(18px,2vw,30px);padding-right:clamp(18px,2vw,30px)}
.bf-intro{max-width:1000px}
.bf-intro h1{font-size:clamp(35px,4.7vw,64px)}
.bf-heading-divider{color:#b6aba0;font-weight:400;padding:0 .15em}
.bf-heading-years{color:#cca06f;white-space:nowrap}
.bf-stage{min-height:560px;transition:none}
.bf-spread{width:min(100%,980px);aspect-ratio:1.41421356;perspective:2200px;transform-style:preserve-3d;contain:none;transition:opacity 130ms ease}
.bf-mobile-sheet{display:block;width:min(48%,480px);aspect-ratio:595.276/841.89;background:#fff;box-shadow:0 14px 25px rgba(4,10,31,.15);overflow:hidden;transition:opacity 135ms ease}
.bf-mobile-sheet img{width:100%;height:100%;display:block;object-fit:fill}
.bf-stage.bf-is-solo{min-height:560px}
.bf-spread[hidden],.bf-mobile-sheet[hidden],.bf-turn[hidden]{display:none!important}
.bf-spread .bf-page-face{transform:translateZ(0);backface-visibility:hidden}
.bf-turn{visibility:visible;will-change:transform;transform-style:preserve-3d;transform:rotateY(0)}
.bf-turn.bf-turn-active{transition:transform 700ms cubic-bezier(.32,.08,.22,1)}
.bf-turn-front,.bf-turn-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:flat}
.bf-stage.bf-is-switching .bf-spread,.bf-stage.bf-is-switching .bf-mobile-sheet{opacity:.05}
.bf-thumb{min-height:146px}
@media(max-width:760px){
 .bf-stage,.bf-stage.bf-is-solo{min-height:430px}
 .bf-mobile-sheet{width:min(100%,360px);transition:opacity 135ms ease}
 .bf-mobile-sheet.is-changing{opacity:1;transform:none}
 .bf-intro h1{font-size:clamp(34px,7vw,48px)}
 .bf-reader:fullscreen .bf-mobile-sheet{width:min(96%,calc((100vh - 192px) * .7071))}
}
@media(max-width:420px){.bf-stage,.bf-stage.bf-is-solo{min-height:375px}}
@media(prefers-reduced-motion:reduce){.bf-spread,.bf-mobile-sheet{transition:none!important}}
/* Keep both surfaces of the 3D sheet in their own compositor layers. */
.bf-turn-front,.bf-turn-back{transform-style:preserve-3d}
.bf-turn-front{transform:translateZ(.5px)}
.bf-turn-back{transform:rotateY(180deg) translateZ(.5px)}
.bf-turn-front img,.bf-turn-back img{backface-visibility:visible;-webkit-backface-visibility:visible;transform:translateZ(.1px)}
