/* BooksFirst storefront v7 - September 2026
   Brand-led mobile redesign, cinematic loader, real BooksFirst photography,
   collection banners, company-profile pages and simplified checkout. */
:root{
  --v7-navy:#0b1c42;
  --v7-navy-2:#142d60;
  --v7-red:#e62c37;
  --v7-cream:#fff9f2;
  --v7-paper:#fffdf9;
  --v7-line:#e7e9ee;
  --v7-ink:#11192b;
  --v7-muted:#697180;
  --v7-ease:cubic-bezier(.2,.72,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',Arial,sans-serif;background:#fff;color:var(--v7-ink);text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden;touch-action:none}
body main{transition:opacity .22s ease,transform .22s ease}
body.is-page-leaving main{opacity:.15;transform:translateY(7px)}
.bf6-hero-copy h1,.bf6-hero-copy h2,.story-page-copy h1,.catalog-banner-copy h2,.profile-copy-block h2,.profile-section-heading h2,.csr-impact-lead h2,.library-editorial h2,.partner-intro h2,.story-page-copy h1,.checkout-page h1,.checkout-step-head h2{font-family:'Montserrat',Arial,sans-serif!important}

/* --------------------------------------------------------------------------
   Cinematic loader: a physical-feeling BooksFirst book opens, pages breathe,
   Reading is Magic appears on the inner page, then the brand resolves.
   -------------------------------------------------------------------------- */
.page-loader{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 36%,#1d3d79 0%,#0d234f 28%,#081935 63%,#061127 100%);transition:opacity .55s ease,visibility .55s ease}
.page-loader:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 18%,rgba(255,255,255,.04) 35%,transparent 49%),radial-gradient(circle at center,transparent 0 42%,rgba(0,0,0,.22) 100%);pointer-events:none}
.page-loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.cinema-loader{position:relative;width:min(760px,92vw);height:min(620px,92vh);display:grid;place-items:center;perspective:1600px}
.cinema-glow{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(55px);opacity:.22;animation:cinemaGlow 2.3s ease-in-out both}
.cinema-glow.glow-left{left:-80px;top:70px;background:#e62c37}
.cinema-glow.glow-right{right:-80px;bottom:40px;background:#7eb4ff;animation-delay:.15s}
.cinema-book-scene{position:absolute;left:50%;top:46%;width:420px;height:270px;transform:translate(-50%,-50%) rotateX(55deg) rotateZ(-4deg) scale(.76);transform-style:preserve-3d;animation:cinemaCamera 1.95s var(--v7-ease) both;filter:drop-shadow(0 60px 52px rgba(0,0,0,.35))}
.cinema-book{position:absolute;inset:0;transform-style:preserve-3d}
.cinema-book-back{position:absolute;inset:0;border-radius:12px;background:linear-gradient(145deg,#091b42,#142f67);box-shadow:inset 0 0 0 2px rgba(255,255,255,.06)}
.cinema-inside{position:absolute;top:8px;width:49.2%;height:254px;background:linear-gradient(90deg,#fffef9,#f6f0e8);overflow:hidden;border:1px solid rgba(0,0,0,.08);backface-visibility:hidden}
.cinema-inside-left{left:5px;border-radius:9px 2px 2px 8px;padding:38px 24px;transform-origin:right center}
.cinema-inside-left:after,.cinema-inside-right:after{content:"";position:absolute;top:0;bottom:0;width:22px;pointer-events:none}
.cinema-inside-left:after{right:0;background:linear-gradient(90deg,transparent,rgba(11,28,66,.10))}
.cinema-inside-right{right:5px;border-radius:2px 9px 8px 2px;display:grid;place-items:center;padding:28px;transform-origin:left center}
.cinema-inside-right:after{left:0;background:linear-gradient(90deg,rgba(11,28,66,.10),transparent)}
.cinema-inside-left span{display:block;color:var(--v7-red);font-size:11px;letter-spacing:.18em;font-weight:900;text-transform:uppercase;opacity:0;animation:insideCopy .35s ease 1.05s forwards}
.cinema-inside-left b{display:block;color:var(--v7-navy);font-size:27px;line-height:1.05;letter-spacing:-.045em;margin-top:7px;opacity:0;transform:translateY(9px);animation:insideCopy .4s ease 1.15s forwards}
.cinema-inside-right img{width:150px;max-width:90%;mix-blend-mode:multiply;opacity:0;transform:scale(.92);animation:insideMagic .45s ease 1.13s forwards}
.cinema-front-cover{position:absolute;right:0;top:0;width:50%;height:100%;z-index:12;border-radius:3px 13px 13px 4px;background:linear-gradient(145deg,#10295d 0%,#0a1d44 72%,#071630 100%);transform-origin:left center;transform:rotateY(0deg);transform-style:preserve-3d;backface-visibility:hidden;animation:openFrontCover 1.28s cubic-bezier(.22,.78,.15,1) .18s forwards;box-shadow:inset 12px 0 22px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.08)}
.cinema-front-cover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.06),transparent)}
.cover-mark{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);width:78%;padding:22px 18px;border-radius:10px;background:#fff;box-shadow:0 16px 26px rgba(0,0,0,.16)}
.cover-mark img{width:100%;display:block}
.cinema-front-cover>b{position:absolute;left:18px;right:18px;bottom:27px;color:#fff;font-size:8px;letter-spacing:.18em;text-align:center}
.cinema-front-cover>i{position:absolute;right:18px;top:18px;width:34px;height:5px;background:var(--v7-red);box-shadow:0 9px 0 var(--v7-red),0 18px 0 var(--v7-red);transform:skew(-14deg)}
.cinema-pages{position:absolute;top:11px;width:48.5%;height:248px;transform-style:preserve-3d;pointer-events:none}
.cinema-pages-left{left:8px;transform-origin:right center}.cinema-pages-right{right:8px;transform-origin:left center}
.cinema-pages i{position:absolute;inset:0;border-radius:7px 2px 2px 7px;border:1px solid rgba(12,29,68,.08);background:#fffefa;transform-origin:right center;opacity:.7}
.cinema-pages-right i{border-radius:2px 7px 7px 2px;transform-origin:left center}
.cinema-pages-left i:nth-child(1){animation:pageBreatheLeft .7s ease .72s both}.cinema-pages-left i:nth-child(2){animation:pageBreatheLeft .7s ease .82s both}.cinema-pages-left i:nth-child(3){animation:pageBreatheLeft .7s ease .91s both}
.cinema-pages-right i:nth-child(1){animation:pageBreatheRight .7s ease .72s both}.cinema-pages-right i:nth-child(2){animation:pageBreatheRight .7s ease .82s both}.cinema-pages-right i:nth-child(3){animation:pageBreatheRight .7s ease .91s both}
.cinema-bookmark{position:absolute;left:50%;top:2px;width:12px;height:100px;z-index:15;background:var(--v7-red);clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);transform:translateX(-50%) translateY(-55px);animation:bookmarkDrop .85s var(--v7-ease) .75s forwards}
.cinema-brand-lockup{position:absolute;left:50%;bottom:64px;transform:translateX(-50%) translateY(12px);width:min(320px,70vw);display:grid;justify-items:center;text-align:center;opacity:0;animation:brandResolve .48s ease 1.52s forwards}
.cinema-brand-lockup>img{width:min(220px,60vw);filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.cinema-brand-lockup p{color:rgba(255,255,255,.78);font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:12px 0 6px}
.cinema-brand-lockup strong{font-size:9px;color:#fff;letter-spacing:.03em}
.cinema-progress{position:absolute;bottom:32px;left:50%;width:150px;height:2px;transform:translateX(-50%);background:rgba(255,255,255,.14);overflow:hidden;border-radius:999px}
.cinema-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#fff,var(--v7-red));transform-origin:left;animation:cinemaProgress 1.95s linear both}
.page-loader.is-return-visit .cinema-book-scene{animation:returnBook .4s var(--v7-ease) both}.page-loader.is-return-visit .cinema-front-cover{animation:returnCover .35s var(--v7-ease) forwards}.page-loader.is-return-visit .cinema-brand-lockup{animation:returnBrand .28s ease .12s forwards}.page-loader.is-return-visit .cinema-progress span{animation:cinemaProgress .4s linear both}.page-loader.is-return-visit .cinema-inside-left span,.page-loader.is-return-visit .cinema-inside-left b,.page-loader.is-return-visit .cinema-inside-right img,.page-loader.is-return-visit .cinema-pages i,.page-loader.is-return-visit .cinema-bookmark{animation-duration:.18s;animation-delay:.08s}
@keyframes cinemaCamera{0%{opacity:0;transform:translate(-50%,-45%) rotateX(70deg) rotateZ(-7deg) scale(.58)}18%{opacity:1}68%{transform:translate(-50%,-50%) rotateX(53deg) rotateZ(-3deg) scale(.84)}100%{transform:translate(-50%,-53%) rotateX(47deg) rotateZ(0) scale(.92)}}
@keyframes openFrontCover{0%,12%{transform:rotateY(0)}72%,100%{transform:rotateY(-178deg)}}
@keyframes pageBreatheLeft{from{transform:rotateY(0)}to{transform:rotateY(4deg) translateZ(2px)}}
@keyframes pageBreatheRight{from{transform:rotateY(0)}to{transform:rotateY(-4deg) translateZ(2px)}}
@keyframes bookmarkDrop{0%{transform:translateX(-50%) translateY(-60px)}70%{transform:translateX(-50%) translateY(3px)}100%{transform:translateX(-50%) translateY(-3px)}}
@keyframes insideCopy{to{opacity:1;transform:none}}
@keyframes insideMagic{to{opacity:1;transform:none}}
@keyframes brandResolve{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes cinemaProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cinemaGlow{0%{opacity:0;transform:scale(.7)}100%{opacity:.22;transform:scale(1)}}
@keyframes returnBook{from{opacity:0;transform:translate(-50%,-48%) rotateX(60deg) scale(.72)}to{opacity:1;transform:translate(-50%,-52%) rotateX(48deg) scale(.88)}}
@keyframes returnCover{to{transform:rotateY(-178deg)}}
@keyframes returnBrand{to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* --------------------------------------------------------------------------
   Header + Reading is Magic brand moments
   -------------------------------------------------------------------------- */
.home-reading-magic{width:175px;margin-top:17px;mix-blend-mode:multiply;opacity:.9}
.footer-reading-magic{width:150px!important;margin:10px 0 12px!important;mix-blend-mode:multiply}
.page-reading-magic{display:block;width:180px;max-width:54%;margin:22px 0 0;mix-blend-mode:multiply}
.section-reading-magic{width:180px;max-width:80%;mix-blend-mode:multiply;margin:0 0 18px}
.bf6-hero-copy h1,.bf6-hero-copy h2{font-weight:750;letter-spacing:-.055em}
.bf6-hero-slide.is-active .bf6-hero-photo{animation:heroLens 7.2s ease-out both}
.bf6-hero-slide.is-active .bf6-hero-copy>*{animation:heroCopyIn .65s var(--v7-ease) both}
.bf6-hero-slide.is-active .bf6-hero-copy>*:nth-child(2){animation-delay:.05s}.bf6-hero-slide.is-active .bf6-hero-copy>*:nth-child(3){animation-delay:.1s}.bf6-hero-slide.is-active .bf6-hero-copy>*:nth-child(4){animation-delay:.15s}.bf6-hero-slide.is-active .bf6-hero-copy>*:nth-child(5){animation-delay:.2s}
@keyframes heroLens{from{transform:scale(1.02)}to{transform:scale(1.07)}}
@keyframes heroCopyIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Mobile navigation - explicit overlay fixes the previous unreliable menu.
   -------------------------------------------------------------------------- */
.mobile-nav-overlay{position:fixed;inset:0;z-index:490;background:rgba(4,14,34,.58);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}
.mobile-nav-overlay[hidden]{display:none}.mobile-nav-overlay.is-open{opacity:1}
.mobile-drawer{z-index:510!important}
.mobile-reading-magic,.mobile-menu-primary,.mobile-menu-grid,.mobile-menu-account,.mobile-menu-tag{display:none}

/* --------------------------------------------------------------------------
   Collection/category sliding banners
   -------------------------------------------------------------------------- */
.catalog-banner{padding-top:18px}
.catalog-banner-frame{position:relative;height:355px;border-radius:22px;overflow:hidden;background:var(--v7-navy);box-shadow:0 20px 52px rgba(11,28,66,.12)}
.catalog-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;overflow:hidden}
.catalog-banner-slide.is-active{opacity:1;visibility:visible;z-index:2}
.catalog-banner-photo{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.01);transition:transform 7s ease-out}
.catalog-banner-slide.is-active .catalog-banner-photo{transform:scale(1.07)}
.catalog-banner-copy{position:relative;z-index:3;width:min(610px,58%);height:100%;padding:52px 58px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.catalog-banner-copy>span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#ffb7bd}
.catalog-banner-copy h2{font-size:clamp(34px,3.5vw,54px);line-height:.98;letter-spacing:-.055em;margin:10px 0 13px;font-weight:780;color:#fff}
.catalog-banner-copy p{max-width:500px;font-size:11px;line-height:1.7;color:rgba(255,255,255,.82);margin:0 0 21px}
.catalog-banner-copy a{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:12px 17px;border-radius:999px;background:#fff;color:var(--v7-navy);font-size:9px;font-weight:850;transition:transform .2s ease,box-shadow .2s ease}
.catalog-banner-copy a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.2)}
.catalog-reading-magic{position:absolute;right:33px;bottom:34px;z-index:4;width:220px;max-width:25%;padding:9px 13px;border-radius:9px;background:rgba(255,255,255,.92);mix-blend-mode:normal;transform:rotate(-2deg);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.catalog-banner-controls{position:absolute;right:19px;top:18px;z-index:6;display:flex;align-items:center;gap:9px;padding:7px;border-radius:999px;background:rgba(7,20,47,.42);backdrop-filter:blur(8px)}
.catalog-banner-controls>button{width:30px;height:30px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:50%;cursor:pointer}
.catalog-banner-dots{display:flex;gap:5px}.catalog-banner-dots button{width:7px!important;height:7px!important;padding:0;border:0!important;background:rgba(255,255,255,.4)!important}.catalog-banner-dots button.is-active{background:#fff!important;transform:scale(1.25)}
.catalog-banner-progress{position:absolute;left:0;right:0;bottom:0;z-index:7;height:3px;background:rgba(255,255,255,.12)}.catalog-banner-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--v7-red),#fff);transform-origin:left}
@keyframes catalogProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.shop-top{padding-top:24px!important}
.shop-top .shop-title-row h1{font-family:'Montserrat',Arial,sans-serif;font-weight:780;letter-spacing:-.045em}

/* Stagger product grids on scroll without fake 3D theatrics. */
.catalog-grid .product-card{animation:productSettle .45s var(--v7-ease) both}
.catalog-grid .product-card:nth-child(2n){animation-delay:.035s}.catalog-grid .product-card:nth-child(3n){animation-delay:.07s}.catalog-grid .product-card:nth-child(4n){animation-delay:.105s}
@keyframes productSettle{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Company profile pages - editorial, factual, built around supplied photography.
   -------------------------------------------------------------------------- */
.page-cinematic-hero{padding-top:22px}.page-cinematic-hero .story-page-grid{border-radius:26px;overflow:hidden;background:linear-gradient(135deg,#fff9f3,#f4f7fc);box-shadow:0 22px 55px rgba(11,28,66,.08)}
.page-cinematic-hero .story-page-copy{padding:64px 58px}.page-cinematic-hero .story-page-copy h1{font-size:clamp(42px,5vw,70px);font-weight:780;line-height:.96;letter-spacing:-.06em;max-width:720px}.page-cinematic-hero .story-page-copy>p{font-size:12px;line-height:1.72;max-width:650px;color:#596273}.page-cinematic-hero .story-page-image{min-height:520px;background-size:cover;background-position:center;position:relative;overflow:hidden}.page-cinematic-hero .story-page-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(5,17,40,.42))}.page-cinematic-hero .story-page-image span{z-index:2;position:absolute;left:24px;bottom:22px;color:#fff;font-size:9px;letter-spacing:.18em;font-weight:900}
.profile-stat-band{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:26px;border:1px solid var(--v7-line);border-radius:18px;overflow:hidden}.profile-stat-band article{padding:30px 34px;background:#fff;border-right:1px solid var(--v7-line)}.profile-stat-band article:last-child{border-right:0}.profile-stat-band strong{display:block;color:var(--v7-red);font-size:34px;letter-spacing:-.05em}.profile-stat-band span{display:block;margin-top:5px;font-size:9px;line-height:1.55;color:var(--v7-muted);max-width:210px}
.profile-split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding-top:78px;padding-bottom:78px}.profile-photo-stack{position:relative;min-height:510px}.profile-photo-stack img:first-child{position:absolute;inset:0 15% 10% 0;width:85%;height:90%;object-fit:cover;border-radius:24px;box-shadow:0 24px 55px rgba(11,28,66,.13)}.profile-photo-stack img:last-child{position:absolute;right:0;bottom:0;width:44%;height:48%;object-fit:cover;border:8px solid #fff;border-radius:20px;box-shadow:0 18px 40px rgba(11,28,66,.15)}
.profile-copy-block h2{font-size:49px;line-height:1;letter-spacing:-.055em;margin:10px 0 16px;font-weight:780}.profile-copy-block>p{font-size:11px;line-height:1.75;color:var(--v7-muted);max-width:580px}.profile-service-list{display:grid;margin-top:26px;border-top:1px solid var(--v7-line)}.profile-service-list a{display:grid;grid-template-columns:42px 1fr;align-items:center;padding:13px 0;border-bottom:1px solid var(--v7-line);transition:padding .2s ease,color .2s ease}.profile-service-list a:hover{padding-left:6px;color:var(--v7-red)}.profile-service-list b{font-size:9px;color:var(--v7-red)}.profile-service-list span{font-size:11px;font-weight:800}
.profile-dark-section{background:linear-gradient(135deg,#091d46,#102d64);color:#fff;padding:72px 0}.profile-direction-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.profile-direction-grid h2{font-size:50px;line-height:1;letter-spacing:-.055em;margin:12px 0 18px}.profile-direction-grid p{font-size:11px;line-height:1.8;color:rgba(255,255,255,.78);max-width:680px}.profile-direction-grid blockquote{margin:26px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.18);font-size:17px;line-height:1.5;font-weight:650;letter-spacing:-.02em}
.profile-collection{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;padding-top:72px;padding-bottom:78px}.profile-collection h2{font-size:46px;line-height:1;letter-spacing:-.05em;margin:10px 0 14px}.profile-collection p{font-size:11px;line-height:1.75;color:var(--v7-muted);margin-bottom:20px}.profile-collection img{width:100%;height:410px;object-fit:cover;border-radius:23px;box-shadow:0 22px 48px rgba(11,28,66,.12)}
.partner-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:72px 0}.partner-intro h2{font-size:45px;line-height:1;letter-spacing:-.05em;margin:10px 0 14px}.partner-intro p{font-size:11px;line-height:1.75;color:var(--v7-muted)}.partner-name-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--v7-line);border-radius:18px;overflow:hidden}.partner-name-grid span{min-height:95px;display:grid;place-items:center;font-size:14px;font-weight:850;color:var(--v7-navy);background:#fff;border-right:1px solid var(--v7-line);border-bottom:1px solid var(--v7-line)}.partner-name-grid span:nth-child(even){border-right:0}.partner-name-grid span:nth-last-child(-n+2){border-bottom:0}
.partnership-models{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:76px}.partnership-models article{padding:28px 24px;border-radius:18px;background:#f7f9fc;border:1px solid #e7ebf1;min-height:220px}.partnership-models article b{color:var(--v7-red);font-size:9px}.partnership-models h3{font-size:19px;line-height:1.12;margin:25px 0 10px}.partnership-models p{font-size:9px;line-height:1.7;color:var(--v7-muted)}
.profile-campaign-section{background:var(--v7-navy);color:#fff;padding:72px 0}.profile-section-heading{max-width:850px;margin-bottom:28px}.profile-section-heading h2{font-size:43px;line-height:1;letter-spacing:-.05em;margin:10px 0}.profile-campaign-section .profile-section-heading h2{color:#fff}.impact-timeline{display:grid;border-top:1px solid var(--v7-line)}.impact-timeline article{display:grid;grid-template-columns:120px minmax(220px,1.2fr) 140px minmax(300px,1.5fr);gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--v7-line)}.impact-timeline article>span{font-size:9px;font-weight:850;color:var(--v7-red)}.impact-timeline article>b{font-size:11px;line-height:1.4}.impact-timeline article>strong{font-size:10px;color:var(--v7-red)}.impact-timeline article>p{font-size:9px;line-height:1.6;color:var(--v7-muted);margin:0}.profile-campaign-section .impact-timeline{border-color:rgba(255,255,255,.16)}.profile-campaign-section .impact-timeline article{border-color:rgba(255,255,255,.14)}.profile-campaign-section .impact-timeline article>b{color:#fff}.profile-campaign-section .impact-timeline article>p{color:rgba(255,255,255,.7)}
.csr-impact-lead{padding:78px 0;background:linear-gradient(135deg,#0b1c42,#15336e);color:#fff}.csr-impact-lead .shell{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.csr-impact-lead h2{font-size:52px;line-height:.98;letter-spacing:-.055em;margin:12px 0 18px}.csr-impact-lead p{font-size:11px;line-height:1.8;color:rgba(255,255,255,.78)}.csr-impact-lead img{width:100%;height:440px;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px rgba(0,0,0,.22)}.csr-portfolio{padding-top:72px;padding-bottom:80px}
.library-editorial{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:78px 0}.library-editorial-photo{position:relative;min-height:520px}.library-editorial-photo img:first-child{position:absolute;inset:0 18% 0 0;width:82%;height:100%;object-fit:cover;border-radius:24px}.library-editorial-photo img:last-child{position:absolute;right:0;bottom:26px;width:42%;height:42%;object-fit:cover;border:8px solid #fff;border-radius:18px;box-shadow:0 20px 38px rgba(11,28,66,.15)}.library-editorial h2{font-size:48px;line-height:1;letter-spacing:-.055em;margin:10px 0 15px}.library-editorial p{font-size:11px;line-height:1.75;color:var(--v7-muted)}.library-questions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.library-questions span{padding:12px 13px;border:1px solid var(--v7-line);border-radius:10px;font-size:9px;font-weight:760;background:#fff}.library-process{background:#f5f7fb;padding:54px 0}.library-process .shell{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.library-process article{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e9f0}.library-process b{font-size:10px;color:var(--v7-red)}.library-process h3{font-size:19px;margin:20px 0 8px}.library-process p{font-size:9px;line-height:1.65;color:var(--v7-muted)}.library-proof{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center;padding:78px 0}.library-proof h2{font-size:43px;line-height:1;letter-spacing:-.05em;margin:10px 0 14px}.library-proof p{font-size:11px;line-height:1.75;color:var(--v7-muted);margin-bottom:20px}.library-proof img{width:100%;height:390px;object-fit:cover;border-radius:22px}
.profile-fair-activities{grid-template-columns:repeat(3,1fr)!important}.profile-fair-activities article{min-height:150px}.contact-profile{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:72px 0}.contact-profile>img{width:100%;height:500px;object-fit:cover;border-radius:24px}.contact-profile h2{font-size:48px;line-height:1;margin:11px 0 9px}.contact-profile>div>p{font-size:13px;color:var(--v7-muted)}

/* --------------------------------------------------------------------------
   Checkout v7 - two steps, compact mobile hierarchy.
   -------------------------------------------------------------------------- */
.checkout-v7{max-width:1180px;padding-top:42px}.checkout-heading-v7 h1{font-size:48px;letter-spacing:-.055em;margin:6px 0 4px}.checkout-heading-v7 .checkout-heading-copy{font-size:10px;color:var(--v7-muted)}.checkout-progress-v7{max-width:420px;margin:18px 0 26px}.checkout-progress-v7 button{cursor:pointer}.checkout-v7-grid{grid-template-columns:minmax(0,1fr) 380px;gap:24px}.checkout-steps-card-v7{padding:32px;border-radius:22px;background:#fff;border:1px solid #e6e9ef;box-shadow:0 18px 46px rgba(11,28,66,.06)}.checkout-steps-card-v7 .checkout-step-head{margin-bottom:25px}.checkout-steps-card-v7 .checkout-step-head h2{font-size:31px;letter-spacing:-.045em}.checkout-section-label{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:27px 0 10px;padding-top:18px;border-top:1px solid #edf0f4}.checkout-section-label>span{font-size:10px;font-weight:850;color:var(--v7-navy)}.checkout-section-label>small{font-size:8px;color:var(--v7-muted)}.checkout-choice-grid-v7{grid-template-columns:1fr 1fr}.checkout-v7 input,.checkout-v7 select,.checkout-v7 textarea{font-family:'Montserrat',Arial,sans-serif}.checkout-v7 label{font-size:9px}.checkout-step-actions-v7{position:relative;margin-top:28px;padding-top:20px;border-top:1px solid #edf0f4}.checkout-inline-total{display:grid;gap:1px}.checkout-inline-total small{font-size:7px;color:var(--v7-muted);text-transform:uppercase;letter-spacing:.08em}.checkout-inline-total b{font-size:15px;color:var(--v7-navy)}.payment-choice-grid-v7{grid-template-columns:1fr 1fr}.mpesa-mark{background:#e8f7ed!important;color:#17783e!important}.checkout-summary-v7{top:128px;border-radius:22px;background:#0d234f}.checkout-summary-v7 .summary-books{max-height:320px;overflow:auto}.mobile-order-summary{display:none}.checkout-submit{min-width:235px}

/* smoother scroll reveals with small, editorial movement */
.reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .62s var(--v7-ease),transform .62s var(--v7-ease)}.reveal-on-scroll.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .impact-timeline article{grid-template-columns:100px 1fr 120px}.impact-timeline article>p{grid-column:2/-1}.partnership-models{grid-template-columns:1fr 1fr}.checkout-v7-grid{grid-template-columns:minmax(0,1fr) 330px}
}

@media(max-width:760px){
  /* Mobile shell and header */
  .shell{width:min(100% - 22px,680px)}
  .bf6-header{box-shadow:0 5px 18px rgba(11,28,66,.06)}
  .bf6-header-main{height:58px;min-height:58px}.bf6-header .brand img{width:106px}.mobile-search-wrap{padding-bottom:8px}.bf6-search{height:39px;border-radius:12px;background:#f5f7f9}.bf6-search input{font-size:9.5px;padding-left:13px}
  .mobile-nav-overlay{display:block}
  .mobile-drawer{display:flex!important;position:fixed!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;width:min(392px,92vw)!important;background:#fff!important;padding:0 0 28px!important;transform:translateX(-103%)!important;transition:transform .32s var(--v7-ease)!important;box-shadow:28px 0 70px rgba(4,16,40,.28)!important;border-radius:0 24px 24px 0;overflow:auto;overscroll-behavior:contain}
  .mobile-drawer.open{transform:translateX(0)!important}.mobile-drawer-brand{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:16px 18px 13px!important;margin:0!important}.mobile-drawer-brand img{width:112px!important}.mobile-drawer-brand button{width:34px!important;height:34px!important;font-size:21px!important;cursor:pointer}
  .mobile-reading-magic{display:grid;justify-items:start;gap:2px;margin:0 18px;padding:18px 0 14px;border-bottom:1px solid #eceff3}.mobile-reading-magic img{display:block;width:168px;mix-blend-mode:multiply}.mobile-reading-magic small{font-size:8px;color:var(--v7-muted);letter-spacing:.02em}
  .mobile-menu-primary{display:grid;padding:7px 18px 0}.mobile-menu-primary a{display:flex!important;align-items:center;justify-content:space-between;padding:13px 0!important;border-bottom:1px solid #f0f2f5!important;font-size:14px!important;font-weight:780!important;letter-spacing:-.02em}.mobile-menu-primary a b{font-size:7px;color:#a1a8b3;font-weight:800}
  .mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 18px}.mobile-menu-grid a{display:flex!important;align-items:center;min-height:47px;padding:11px!important;border:1px solid #e7eaf0!important;border-radius:12px;font-size:8.5px!important;font-weight:800!important;background:#fafbfc}
  .mobile-menu-account{display:flex;gap:16px;padding:0 18px 15px}.mobile-menu-account a{padding:0!important;border:0!important;font-size:8.5px!important;font-weight:800!important;color:var(--v7-red)}
  .mobile-menu-tag{display:block;padding:0 18px;font-size:8px;font-weight:850;color:var(--v7-navy)}.drawer-install{margin:0 18px 14px!important;min-height:46px}.menu-open:after{display:none!important}

  /* loader */
  .cinema-loader{height:min(580px,88vh)}.cinema-book-scene{width:310px;height:200px;top:43%}.cinema-inside{height:188px}.cinema-inside-left{padding:26px 16px}.cinema-inside-left b{font-size:19px}.cinema-inside-right{padding:17px}.cinema-inside-right img{width:116px}.cinema-pages{height:184px}.cover-mark{padding:15px 13px}.cinema-front-cover>b{font-size:6px;bottom:18px}.cinema-brand-lockup{bottom:78px}.cinema-brand-lockup>img{width:180px}.cinema-progress{bottom:48px}

  /* homepage hero */
  .bf6-hero-slider{min-height:520px}.bf6-hero-copy{min-height:520px;padding:31px 22px 28px;justify-content:flex-start}.bf6-hero-copy h1,.bf6-hero-copy h2{font-size:36px;line-height:.99;max-width:310px}.bf6-hero-copy p{max-width:290px;line-height:1.55}.home-reading-magic{width:142px;margin-top:12px}.bf6-hero-photo{background-position:65% center}.bf6-hero-slide:first-child .bf6-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,250,244,.08),rgba(255,250,244,.1))}

  /* category banner */
  .catalog-banner{width:100%;padding-top:0}.catalog-banner-frame{height:330px;border-radius:0;box-shadow:none}.catalog-banner-photo{background-position:center}.catalog-banner-copy{width:88%;padding:36px 23px 52px;justify-content:flex-end}.catalog-banner-copy h2{font-size:32px;max-width:300px}.catalog-banner-copy p{font-size:9px;line-height:1.55;max-width:290px;margin-bottom:15px}.catalog-banner-copy a{padding:10px 14px;font-size:8px}.catalog-reading-magic{right:14px;top:18px;bottom:auto;width:128px;max-width:42%;padding:6px 8px}.catalog-banner-controls{top:auto;bottom:14px;right:13px}.catalog-banner-controls>button{display:none}.catalog-banner-progress{height:2px}.shop-top{padding-top:18px!important}.shop-top .crumbs{display:none}.shop-title-row{padding-top:0!important}.shop-title-row h1{font-size:28px!important}.shop-title-row p{font-size:8.5px!important}
  .shop-toolbar{position:sticky;top:105px;z-index:80;background:#fff;padding-top:8px;padding-bottom:8px;border-bottom:1px solid #edf0f3}.shop-search{display:none}.toolbar-right{width:100%;justify-content:space-between}.toolbar-right .filter-toggle{min-width:110px}.toolbar-right form{flex:1}.toolbar-right select{width:100%}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.catalog-grid .product-card{min-width:0}.catalog-grid .product-cover{height:205px!important}.catalog-grid .product-info h3,.catalog-grid .product-title{font-size:9px!important;line-height:1.32}.catalog-grid .product-price{font-size:10px!important}.catalog-grid .product-card .quick-add button{font-size:7px!important;padding:0 6px!important}

  /* company/profile pages */
  .page-cinematic-hero{padding-top:0}.page-cinematic-hero .shell{width:100%}.page-cinematic-hero .story-page-grid{grid-template-columns:1fr!important;border-radius:0;box-shadow:none}.page-cinematic-hero .story-page-image{grid-row:1;min-height:340px}.page-cinematic-hero .story-page-copy{padding:28px 20px 32px}.page-cinematic-hero .story-page-copy h1{font-size:38px;line-height:.98}.page-cinematic-hero .story-page-copy>p{font-size:9.5px}.page-reading-magic{width:145px;margin-top:16px}.story-page-actions{gap:8px;flex-wrap:wrap}.story-page-actions .btn{min-height:42px}
  .story-features{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:12px!important}.story-features article{padding:14px!important;min-height:74px}.story-features article b{font-size:8px!important}.profile-stat-band{grid-template-columns:1fr;margin-top:16px}.profile-stat-band article{border-right:0;border-bottom:1px solid var(--v7-line);padding:22px}.profile-stat-band article:last-child{border-bottom:0}.profile-stat-band strong{font-size:30px}
  .profile-split,.profile-collection,.partner-intro,.csr-impact-lead .shell,.library-editorial,.library-proof,.contact-profile,.profile-direction-grid{grid-template-columns:1fr;gap:28px}.profile-split,.profile-collection,.partner-intro,.library-editorial,.library-proof,.contact-profile{padding-top:48px;padding-bottom:48px}.profile-photo-stack{min-height:390px}.profile-copy-block h2,.profile-collection h2,.partner-intro h2,.library-editorial h2,.library-proof h2,.contact-profile h2{font-size:34px}.profile-dark-section,.csr-impact-lead,.profile-campaign-section{padding:48px 0}.profile-direction-grid{gap:30px}.profile-direction-grid h2,.csr-impact-lead h2{font-size:36px}.profile-direction-grid blockquote{font-size:14px}.profile-collection img,.csr-impact-lead img,.library-proof img,.contact-profile>img{height:300px}.partner-name-grid span{min-height:72px;font-size:11px}.partnership-models{grid-template-columns:1fr 1fr;gap:8px;padding-bottom:48px}.partnership-models article{padding:20px;min-height:180px}.impact-timeline article{grid-template-columns:82px 1fr;gap:8px 14px;padding:17px 0}.impact-timeline article>strong{grid-column:1}.impact-timeline article>p{grid-column:2}.library-editorial-photo{min-height:390px}.library-questions{grid-template-columns:1fr 1fr}.library-process .shell{grid-template-columns:1fr 1fr;gap:8px}.library-process article{padding:18px}.profile-fair-activities{grid-template-columns:1fr 1fr!important}.contact-details-grid{grid-template-columns:1fr 1fr!important}

  /* checkout */
  .checkout-v7{width:100%;padding:24px 12px 88px}.checkout-heading-v7{padding:0 3px}.checkout-heading-v7 h1{font-size:34px}.checkout-heading-v7>a{display:none}.checkout-progress-v7{margin:14px 0 17px;max-width:none}.checkout-progress-v7 button{flex:1}.mobile-order-summary{display:block;margin-bottom:12px;border:1px solid #e5e9ef;border-radius:15px;background:#fff;overflow:hidden}.mobile-order-summary summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;cursor:pointer;font-size:8.5px;font-weight:780}.mobile-order-summary summary::-webkit-details-marker{display:none}.mobile-order-summary summary strong{font-size:10px;color:var(--v7-navy)}.mobile-order-summary>div{padding:0 14px 12px;border-top:1px solid #edf0f4}.mobile-order-summary article{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #f0f2f5}.mobile-order-summary article:last-child{border-bottom:0}.mobile-order-summary img{width:42px;height:56px;object-fit:cover;border-radius:5px}.mobile-order-summary b{display:block;font-size:7.5px;line-height:1.25}.mobile-order-summary small{display:block;font-size:6.5px;color:var(--v7-muted);margin-top:2px}.mobile-order-summary article>strong{font-size:7.5px}.checkout-v7-grid{display:block}.checkout-summary-v7{display:none}.checkout-steps-card-v7{padding:19px 15px 0;border-radius:18px;box-shadow:none}.checkout-steps-card-v7 .checkout-step-head{grid-template-columns:32px 1fr;margin-bottom:18px}.checkout-steps-card-v7 .checkout-step-head>span{width:30px;height:30px}.checkout-steps-card-v7 .checkout-step-head h2{font-size:24px}.checkout-choice-grid-v7,.payment-choice-grid-v7{grid-template-columns:1fr 1fr;gap:7px}.checkout-choice,.payment-choice{padding:12px!important;min-height:90px}.checkout-choice small,.payment-choice small{font-size:6.5px!important;line-height:1.35}.checkout-v7 .form-grid{grid-template-columns:1fr!important;gap:0}.checkout-v7 label{font-size:8px}.checkout-v7 input,.checkout-v7 select,.checkout-v7 textarea{min-height:46px;font-size:10px}.checkout-section-label{margin-top:20px}.checkout-section-label small{display:none}.checkout-step-actions-v7{position:sticky;bottom:64px;z-index:35;margin:24px -15px 0;padding:11px 15px calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 -12px 28px rgba(11,28,66,.08);border-top:1px solid #e5e9ef;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.checkout-step-actions-v7 .btn{min-height:47px}.checkout-step-actions-v7 .checkout-submit{min-width:0;width:100%}.checkout-step-actions-v7 .btn-outline{font-size:7px;padding:0 10px}.checkout-inline-total b{font-size:12px}.checkout-reassurance{gap:7px;flex-wrap:wrap}.checkout-note textarea{min-height:78px}
}

@media(max-width:480px){
  .catalog-grid .product-cover{height:186px!important}.catalog-banner-frame{height:315px}.catalog-banner-copy h2{font-size:29px}.partnership-models,.library-process .shell{grid-template-columns:1fr}.library-questions{grid-template-columns:1fr}.profile-fair-activities{grid-template-columns:1fr 1fr!important}.checkout-choice-grid-v7,.payment-choice-grid-v7{grid-template-columns:1fr 1fr}.checkout-choice,.payment-choice{padding:10px!important}.cinema-book-scene{width:286px;height:184px}.cinema-inside{height:172px}.cinema-pages{height:168px}.cinema-inside-left b{font-size:17px}.cinema-inside-right img{width:104px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.page-loader *,.bf6-hero-slide.is-active .bf6-hero-photo,.bf6-hero-slide.is-active .bf6-hero-copy>*,.catalog-banner-slide.is-active .catalog-banner-photo,.catalog-grid .product-card{animation:none!important}.page-loader{transition:none}.catalog-banner-slide,.mobile-drawer,.mobile-nav-overlay,body main{transition:none!important}.reveal-on-scroll{opacity:1!important;transform:none!important}
}
.bf7-reader-proof{gap:9px}.bf7-proof-stat{display:grid;gap:0;padding:8px 10px;border:1px solid rgba(11,28,66,.12);border-radius:10px;background:rgba(255,255,255,.72)}.bf7-proof-stat b{font-size:11px;color:var(--v7-navy)}.bf7-proof-stat small{font-size:6.5px;color:var(--v7-muted);white-space:nowrap}.bf7-reader-proof>span{margin-left:2px}
@media(max-width:760px){.bf7-reader-proof{display:none!important}}
@media(max-width:760px){body.menu-open .pwa-install-pill,body.menu-open .mobile-tab{opacity:0;pointer-events:none}}
