/* Top Loader Book page (output/top-loader-book-2026-11-09/build_toploaderbook.py). The renders sit in a white studio
   that darkens toward the top. The hero band carries the same vertical gradient as the hero still's left edge,
   so the still fades into it with no seam; the film band and image backdrops use the floor color at its foot (#f3f2f3). */
.tb-page{--tb-bg:#f3f2f3;--tb-hero:linear-gradient(180deg,#d8d6d9 6%,#dcdcdd 17%,#e7e7e8 28%,#eeedef 39%,#f0eff0 50%,#f1f1f1 61%,#f2f1f2 72%,#f3f2f2 83%,#f3f2f3 94%);--tb-ink:#1d1d1f;--tb-grey:#6e6e73;--tb-accent:#0b6bcb}
.tb-hero{position:relative;overflow:hidden;background:var(--tb-bg) var(--tb-hero);color:var(--tb-ink);min-height:clamp(560px,46vw,780px);display:flex;align-items:center;padding:clamp(40px,5vw,72px) 5%;box-sizing:border-box}
.tb-hero-copy{position:relative;z-index:1;width:min(38%,540px)}
.tb-hero .eyebrow,.tb-film .eyebrow{color:var(--tb-grey)}
.tb-hero h1{color:var(--tb-ink);font-size:clamp(48px,6.2vw,88px);line-height:1;margin:10px 0 12px;letter-spacing:-.015em}
.tb-tagline{font-size:clamp(22px,2.4vw,30px);line-height:1.25;margin:0 0 18px;color:var(--tb-ink)}
.tb-tagline em{color:var(--tb-grey);font-style:normal}
.tb-intro{font-size:clamp(17px,1.6vw,19px);line-height:1.6;margin:0 0 24px;max-width:560px;color:#3a3a3c}
.tb-actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.tb-actions .button{display:inline-block}
.tb-link{font-weight:600;color:var(--tb-accent);text-underline-offset:4px}
.tb-price{font-size:clamp(20px,1.9vw,24px);font-weight:600;line-height:1.2;margin:0 0 20px;color:var(--tb-ink)}
.tb-small{font-size:14px;line-height:1.5;margin:16px 0 0;color:var(--tb-grey)}
/* the hero render fills the band's height, anchored right; a mask fades its plain studio on the left into the band */
.tb-hero-media{position:absolute;top:0;right:0;bottom:0;margin:0;aspect-ratio:16/9;height:100%}
.tb-hero-media img{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.tb-open{background:var(--tb-bg);color:var(--tb-ink);text-align:center;padding:clamp(36px,5vw,72px) 5% 0;scroll-margin-top:var(--gg-header-h,64px);position:relative;margin-top:-1px}
.tb-open h2{color:var(--tb-ink);margin:8px 0 18px}
.tb-open .eyebrow{color:var(--tb-grey)}
.tb-open-video{display:block;width:100%;max-width:1200px;height:auto;margin:0 auto;background:var(--tb-bg);-webkit-mask-image:radial-gradient(ellipse 72% 78% at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 72% 78% at 50% 50%,#000 72%,transparent 100%)}
.tb-open-copy{max-width:640px;margin:4px auto 0;font-size:clamp(17px,1.6vw,19px);line-height:1.6;color:#3a3a3c}
.tb-open-more{margin:14px 0 0}
.tb-film{background:var(--tb-bg);color:var(--tb-ink);text-align:center;padding:clamp(28px,4vw,56px) 5% clamp(40px,5vw,72px);scroll-margin-top:var(--gg-header-h,64px);position:relative;margin-top:-1px}
.tb-film h2{color:var(--tb-ink);margin:8px 0 24px}
.tb-page h2 em{font-style:normal;color:var(--tb-grey)}
.tb-film video{display:block;width:100%;max-width:1100px;height:auto;margin:0 auto;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.14)}
.tb-caption{font-size:14px;color:var(--tb-grey);margin:12px 0 0}
.tb-how,.tb-colors{padding:clamp(52px,7vw,92px) 5% 0;max-width:1200px;margin:0 auto;scroll-margin-top:var(--gg-header-h,64px)}
.tb-how h2,.tb-colors h2{margin:8px 0 24px}
.tb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tb-grid article{background:#fff;border:1px solid #e3e3e6;border-radius:20px;padding:12px 12px 22px}
.tb-grid img,.tb-color-grid img,.tb-gallery img{display:block;width:100%;height:auto;border-radius:12px;background:var(--tb-bg)}
.tb-grid h3{margin:16px 10px 6px;font-size:24px}
.tb-grid p{margin:0 10px;line-height:1.6}
.tb-lede{margin:-8px 0 22px;line-height:1.6;max-width:640px}
.tb-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tb-color-grid figure,.tb-gallery figure{margin:0}
.tb-color-grid figcaption,.tb-gallery figcaption{margin:8px 4px 0;font-size:15px;color:var(--tb-grey)}
.tb-details{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(52px,7vw,92px) 5% 0;max-width:1200px;margin:0 auto;scroll-margin-top:var(--gg-header-h,64px)}
.tb-spec h2{margin:8px 0 8px}
.tb-spec .tb-actions{margin-top:24px}
.tb-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tb-gallery a,.tb-color-grid a,.tb-grid a{display:block;overflow:hidden;border-radius:12px}
.tb-gallery img,.tb-color-grid img,.tb-grid img{transition:transform .35s ease}
.tb-gallery a:hover img,.tb-color-grid a:hover img,.tb-grid a:hover img{transform:scale(1.03)}
.tb-back{margin:22px 0 0}
.tb-back a{font-weight:600;color:var(--tb-accent);text-underline-offset:4px}
.tb-page>.enh-section{width:90%;max-width:1200px;margin-left:auto;margin-right:auto;padding-bottom:clamp(40px,6vw,72px);box-sizing:border-box}
@media(max-width:1080px){.tb-hero{display:flex;flex-direction:column-reverse;align-items:stretch;min-height:0;padding:0 0 clamp(32px,6vw,52px);background:var(--tb-bg)}.tb-hero-media{position:relative;height:auto;width:100%}.tb-hero-media img{-webkit-mask-image:none;mask-image:none}.tb-hero-copy{width:auto;max-width:640px;padding:4px 5% 0}}
@media(max-width:900px){.tb-details{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.tb-hero-media{aspect-ratio:4/3}.tb-hero-media img{object-position:100% 50%}.tb-grid,.tb-color-grid{grid-template-columns:minmax(0,1fr)}.tb-gallery{gap:10px}.tb-gallery figcaption,.tb-color-grid figcaption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.tb-gallery img,.tb-color-grid img,.tb-grid img{transition:none}}
