/* Fade alternate homepage book artwork over the fully opaque primary image
   in both directions over 0.3 seconds. Never fade both layers: partial opacity
   on both exposes the white card background. Override the shared hover/focus
   rules that hide the primary, and retain the loader's alternate-ready gate. */
.ap-home-front-door .ap-home-volume-card__media--cover[data-ap-hover-cover] .ap-home-volume-hover-image--default{opacity:1;transition:none}
.ap-home-front-door .ap-home-volume-card__media--cover[data-ap-hover-cover] .ap-home-volume-hover-image--alt{transition:opacity .3s ease}
@media(prefers-reduced-motion:reduce){
  .ap-home-front-door .ap-home-volume-card__media--cover[data-ap-hover-cover] .ap-home-volume-hover-image{transition:none}
}
/* Short, native-scroll book reveal. Keep still imagery visible if video cannot play. */
.ap-home-front-door .ap-home-held-story{grid-column:1 / -1;min-width:0;height:auto}
.ap-home-held-story__sticky{position:relative}
.ap-home-held-story__media{position:relative;aspect-ratio:848 / 478;width:min(100%,760px,64svh);margin:0;overflow:hidden;background:transparent}
.ap-home-held-story__media img,.ap-home-held-story__media video{display:block;width:100%;height:100%;object-fit:contain}
.ap-home-held-story__media video{position:absolute;inset:0;opacity:0}
.ap-home-held-story.is-playing video{opacity:1}
.ap-home-held-story__media video[hidden]{display:none}
/* Reuse the Keep 80% slider's column sizes, gutters, snapping and controls.
   Preserve headings above media, and show all eight stats beneath their media. */
.ap-home-front-door .ap-home-proof-story-pair.ap-home-impact-section{display:block;min-width:0;container-type:inline-size}
.ap-home-front-door #ap-home-impact-track{grid-auto-columns:calc((100cqw - 32px) / 2);gap:64px;padding-block:40px 56px;padding-inline-end:20px;margin-block:-40px -56px}
.ap-home-front-door #ap-home-impact-track{
  --ap-carousel-inset:max(0px,calc((100vw - 100cqw) / 2));
  width:100vw;max-width:none;margin-left:calc(-1 * var(--ap-carousel-inset));
  padding-left:var(--ap-carousel-inset);scroll-padding-left:var(--ap-carousel-inset);
  overflow-y:hidden;scrollbar-width:none;
}
#ap-home-impact-track::-webkit-scrollbar{display:none}
@media(max-width:760px){.ap-home-front-door #ap-home-impact-track{grid-auto-columns:92cqw}}
@media(min-width:1280px){
  body:not(.ap-display-topbar) #ap-home-impact-track,
  body.ap-display-topbar.ap-topbar-nav-open #ap-home-impact-track{
    --ap-carousel-inset:0px;width:100%;max-width:100%;margin-left:0;margin-right:0;
    padding-left:0;scroll-padding-left:0;grid-auto-columns:calc((100% - 32px) / 2);
  }
}
#ap-home-impact-track > article{padding:0;min-width:0;grid-column:auto}
.ap-home-impact-stats .ap-home-live-numbers__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin-top:24px}
.ap-home-impact-stats .ap-home-live-number__value{font-size:clamp(24px,2.2vw,34px);overflow-wrap:anywhere}
.ap-home-impact-stats .ap-home-live-number__label{font-size:14px}
.ap-home-impact-section > .ap-carousel-controls{margin-top:1lh}
@media(max-width:767.98px){.ap-home-front-door #ap-home-impact-track{gap:48px}}
.ap-home-impact-media,.ap-home-impact-photo{position:relative;margin:0;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#eee}
.ap-home-impact-media img,.ap-home-impact-photo img{display:block;width:100%;height:100%;object-fit:cover}
.ap-home-impact-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#111}
.ap-home-impact-media > video[hidden]{display:none}
.ap-home-impact-play{position:absolute;left:12px;bottom:12px;border:1px solid #fff;border-radius:5px;background:#111c;color:#fff;padding:8px 12px;font-size:14px;cursor:pointer}
.ap-home-impact-media.is-pinned .ap-home-impact-play{display:none}
.ap-home-impact-caption{margin:10px 0 0;color:#475569;font-size:14px}
.ap-home-impact-play:focus-visible,.ap-home-impact-track:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
/* Reuse Play video styling for the newspaper's separate modal button while
   preserving its existing crop, external link, caption and hover alternate. */
.ap-home-news-frame{position:relative}
.ap-home-press-highlights{z-index:2}
.ap-home-press-highlights:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.ap-home-press-highlights-list{padding-left:1.25em;line-height:1.65}
.ap-home-press-highlights-list li+li{margin-top:12px}
body.dark-mode .ap-home-impact-caption{color:#cbd5e1}
/* Hover reveals an outlined Play link; only clicking assigns the video source. */
#ap-wall-track [data-wall-case="hemasiri"] .ap-wall-card__photo{position:relative;aspect-ratio:4 / 3;overflow:hidden}
#ap-wall-track > article[data-wall-case="hemasiri"] .ap-card-hover-image{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
.ap-wall-card__photo:has([data-testimonial-video]){position:relative}
.ap-wall-card__play{position:absolute;z-index:3;left:12px;bottom:12px;padding:8px 12px;border:1px solid #fff;border-radius:4px;background:rgba(0,0,0,.75);color:#fff!important;text-decoration:none;font-size:14px;font-weight:700;opacity:0}
.ap-wall-card:is(:hover,:focus-within) .ap-wall-card__play{opacity:1}
.ap-wall-card__photo [data-testimonial-video]{position:absolute;inset:0;z-index:4;width:100%;height:100%;background:#000;object-fit:contain}
.ap-wall-card__photo [data-testimonial-video][hidden]{display:none}
.ap-wall-card__photo.is-video-playing .ap-wall-card__play{visibility:hidden}
@media(hover:none){.ap-wall-card__play{opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-home-held-story__media video{display:none}}

/* Compact product area; each statistics heading owns one vertical list. */
.ap-home-front-door .ap-home-front-board > .ap-home-held-story{padding-block:0;margin-block:-20px}

/* Fill the card width explicitly; the inherited fixed media height must not
   shrink this portrait crop into a narrow strip. Show more newspaper; keep the link
   and show the complete supplied email alternate on hover/focus.
   Sales and cat-card films use their corrected landscape orientation at 16:9. */
#ap-home-impact-track .ap-home-news-media{position:relative;display:block;width:100%;height:auto;min-width:0;max-width:none;max-height:none;aspect-ratio:16 / 9;background:#fff}
#ap-home-impact-track .ap-home-news-media > picture{position:absolute;inset:0;display:block;width:100%;height:100%}
#ap-home-impact-track .ap-home-news-media img{width:100%;height:100%;object-fit:cover;object-position:center top}
#ap-home-impact-track .ap-home-news-media .ap-home-news-alt{object-fit:contain;object-position:center}
#ap-home-impact-track .ap-home-news-alt{position:absolute;inset:0;z-index:1;opacity:0;background:#fff;pointer-events:none}
#ap-home-impact-track .ap-home-proof-card--mirror:is(:hover,:focus-visible) .ap-home-news-alt{opacity:1}
.ap-home-impact-media.ap-home-impact-media--wide{aspect-ratio:16 / 9}

/* Give all three films identical 16:9 frames, edge-filling playback and hover
   loops. Keep the newspaper the same height. Press copy matches Keep 80% cards. */
#ap-home-impact-track .ap-home-proof-grid--front{gap:16px}
#ap-home-impact-track .ap-home-proof-card--mirror{border:0;border-radius:12px;background:transparent;box-shadow:none;transform:none;min-height:0;grid-template-rows:auto}
.ap-home-press-caption{display:block;padding:0;color:inherit}
.ap-home-press-caption > .ap-home-proof-card__title{margin:0;width:100%;max-width:440px}
.ap-home-press-caption > .ap-home-story-panel__text{margin:6px 0 0;padding:0;width:100%;max-width:440px;font-size:19px;text-wrap:pretty}

/* Fade alternates over 0.3s. Make the complete media surface clickable while
   retaining native video controls after explicit playback. */
#ap-home-impact-track .ap-home-news-alt{transition:opacity .3s ease}
.ap-home-impact-media{cursor:pointer}
.ap-home-impact-media > video{opacity:1;transition:opacity .3s ease,display .3s allow-discrete}
.ap-home-impact-media > video[hidden]{opacity:0}
@starting-style{.ap-home-impact-media > video:not([hidden]){opacity:0}}
/* The cat image spans two slots and uses the height otherwise occupied by
   statistics. On phones it fills one slot with a taller crop instead. */
#ap-home-impact-track > article[aria-labelledby="ap-home-impact-reading-title"]{grid-column:span 2}
#ap-home-impact-track [aria-labelledby="ap-home-impact-reading-title"] .ap-home-impact-media{aspect-ratio:2.2 / 1}
@media(max-width:760px){
  #ap-home-impact-track > article[aria-labelledby="ap-home-impact-reading-title"]{grid-column:auto}
  #ap-home-impact-track [aria-labelledby="ap-home-impact-reading-title"] .ap-home-impact-media{aspect-ratio:4 / 3}
}
@media(prefers-reduced-motion:reduce){
  #ap-home-impact-track .ap-home-news-alt,.ap-home-impact-media > video{transition:none}
}

/* Show 20% more of the original newspaper and Grow photographs with taller
   frames, keeping the photos edge-to-edge. Reveal more of the wide cat photo
   by reducing its panoramic crop; never add generated surroundings or bands. */
#ap-home-impact-track .ap-home-news-media,
#ap-home-impact-track [aria-labelledby="ap-home-story-title"] .ap-home-impact-media{aspect-ratio:40 / 27}
#ap-home-impact-track [aria-labelledby="ap-home-impact-reading-title"] .ap-home-impact-media{aspect-ratio:11 / 6}
@media(max-width:760px){
  #ap-home-impact-track [aria-labelledby="ap-home-impact-reading-title"] .ap-home-impact-media{aspect-ratio:16 / 9}
}

/* Keep news, Grow and Real sales aligned in taller matching 5:4 frames. */
#ap-home-impact-track .ap-home-news-media,
#ap-home-impact-track [aria-labelledby="ap-home-story-title"] .ap-home-impact-media,
#ap-home-impact-track [aria-labelledby="ap-home-sales-title"] .ap-home-impact-media{aspect-ratio:5 / 4}

/* Frame both faces in the main selfie; retain the printer photo's higher crop on hover. */
#ap-wall-track > article.ap-wall-card[data-wall-case="hemasiri"] .ap-card-hover-image:not(.ap-wall-card__photo--alt){object-position:center 60%}
#ap-wall-track > article.ap-wall-card[data-wall-case="hemasiri"] .ap-wall-card__photo--alt{object-position:center 15%}

/* Responsive picture adds format selection without adding a layout box. */
.ap-responsive-picture{display:contents}

/* Keep the 23 card descriptions accessible and included in native text selection,
   without consuming layout space or changing existing card dimensions. */
.ap-home-front-board .sr-only.ap-home-card-description{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:clip;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:normal;
  border:0;
  -webkit-user-select:text;
  user-select:text;
  pointer-events:none;
}

/* Separate press, growth/sales and books into three visible sections instead
   of carousel slides. Keep the supplied press quotation and attribution beside
   the newspaper, all live figures, local imagery and explicit video controls. */
/* Inset the year/month/day/country chevrons consistently inside their borders.
   Keep native selects and keyboard interaction, reserve text space, and let
   pointer clicks pass through the decorative local SVG to the select below. */
.ap-home-select-wrap{position:relative;display:block;min-width:0;}
.ap-home-select-wrap::after{
  content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;background-color:#0f172a;pointer-events:none;
  -webkit-mask:url('../icons/bi/chevron-down.svg') center / contain no-repeat;
  mask:url('../icons/bi/chevron-down.svg') center / contain no-repeat;
}
.ap-home-front-door .ap-home-select-wrap > .ap-home-account-select{
  appearance:none;-webkit-appearance:none;padding-right:38px;box-sizing:border-box;
}
body.dark-mode .ap-home-select-wrap::after{background-color:var(--ap-text,#cbd5e1);}
@media(forced-colors:active){
  .ap-home-select-wrap::after{display:none;}
  .ap-home-front-door .ap-home-select-wrap > .ap-home-account-select{appearance:auto;-webkit-appearance:auto;}
}
/* Reveal date-of-birth guidance immediately on hover or keyboard focus, even
   before signup scripts load. Preserve the existing click/touch toggle. */
.ap-home-account-field:has([data-ap-dob-help]:is(:hover,:focus-visible)) [data-ap-dob-help-bubble][hidden],
.ap-home-account-field [data-ap-dob-help-bubble][hidden]:hover{
  display:block;
}
[data-ap-dob-help-bubble]::before{
  content:"";
  position:absolute;
  bottom:100%;
  left:0;
  width:100%;
  height:10px;
}
/* Keep the supplied signup reassurance beside Terms in the existing ? design;
   reveal it above the trigger without moving the CTA or opening a modal. */
.ap-home-signup-help{position:relative;display:inline-block;margin-left:4px;vertical-align:middle;}
.ap-home-signup-help__tooltip{
  position:absolute;bottom:calc(100% + 8px);right:0;z-index:20;
  width:min(300px,calc(100vw - 48px));box-sizing:border-box;
  padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;
  background:#fff;color:#475569;font-size:14px;font-weight:400;line-height:1.5;
  text-align:left;visibility:hidden;opacity:0;
}
.ap-home-signup-help__tooltip::after{content:"";position:absolute;top:100%;left:0;width:100%;height:10px;}
/* Keep all eight signup reassurances in their supplied order, one per line. */
.ap-home-signup-help__tooltip > span{display:block;}
.ap-home-signup-help__tooltip > span + span{margin-top:6px;}
.ap-home-signup-help:hover .ap-home-signup-help__tooltip,
.ap-home-signup-help:focus-within .ap-home-signup-help__tooltip{visibility:visible;opacity:1;}
body.dark-mode .ap-home-signup-help__tooltip{background:var(--ap-surface-2,#191919);color:var(--ap-text,#cbd5e1);border-color:var(--ap-border,#404040);}
/* Match the open channel presentation: keep cover artwork inside its card,
   with title, author, description, ratings, sales and price outside below it.
   Preserve all existing book data, image links, menus and hover artwork. */
.ap-home-front-door .ap-home-front-block--published-books .ap-home-book-item{
  display:flex;
  flex-direction:column;
  min-width:0;
  align-self:start;
}
.ap-home-front-door .ap-home-book-item > .ap-home-volume-card{
  width:100%;
  box-sizing:border-box;
  transform:none;
}
.ap-home-front-door .ap-home-front-block--published-books .ap-home-book-item > .ap-home-volume-card__body{
  padding:14px 0 0;
  gap:12px;
}
/* Make homepage covers larger by giving the desktop shelf three equal columns
   instead of four; preserve each cover's aspect ratio and details below it. */
@media(min-width:992px){
  .ap-home-front-door .ap-home-front-block--published-books .ap-home-real-content-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.ap-home-front-door #ap-home-impact-track.ap-home-impact-sections{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-auto-flow:row;
  grid-auto-columns:auto;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  gap:72px;
  overflow:visible;
}
#ap-home-impact-track.ap-home-impact-sections > :is(article,section){
  grid-column:1;
  padding:0;
  margin:0;
  min-width:0;
}
#ap-home-impact-track.ap-home-impact-sections .ap-home-proof-grid--front{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:40px;
  align-items:start;
}
.ap-home-impact-sections .ap-home-news-frame{min-width:0;}
/* Give the newspaper a slightly taller 1.1:1 frame (previously 5:4), showing
   more of the existing clipping while preserving its crop, link and alternate. */
#ap-home-impact-track.ap-home-impact-sections .ap-home-news-media{aspect-ratio:11 / 10;}
.ap-home-impact-sections .ap-home-press-caption{padding:0;min-width:0;}
.ap-home-impact-sections .ap-home-press-quote{
  margin:20px 0 0;
  padding:0;
  border:0;
  background:transparent;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.3;
  font-style:normal;
  font-weight:700;
  letter-spacing:-.025em;
  text-wrap:pretty;
}
.ap-home-impact-sections .ap-home-press-byline,
.ap-home-impact-sections .ap-home-press-credit{
  margin:16px 0 0;
  font-size:14px;
  line-height:1.5;
  color:#64748b;
}
.ap-home-impact-sections .ap-home-press-lead{margin:0;font-size:18px;line-height:1.55;}
.ap-home-impact-sections .ap-home-press-intro{margin:24px 0 16px;font-size:18px;line-height:1.55;font-weight:400;}
.ap-home-impact-sections .ap-home-press-ideas{margin:0;padding-left:1.2em;font-size:18px;line-height:1.55;}
.ap-home-impact-sections .ap-home-press-ideas li + li{margin-top:10px;}
.ap-home-impact-sections .ap-home-press-source{display:inline-block;margin-top:16px;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:4px;}
.ap-home-growth-sales__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
.ap-home-growth-sales__columns > article{min-width:0;padding:0;margin:0;}
.ap-home-growth-sales__heading{margin:0 0 16px;font-size:22px;font-weight:700;line-height:1.25;}
/* One growth section: its title introduces two equal columns. Align headings,
   give both images identical 5:4 dimensions and show live metrics in two columns.
   Sales displays only total revenue and best-selling book revenue. */
#ap-home-impact-track.ap-home-impact-sections .ap-home-growth-sales{
  display:block;
  width:100%;
}
#ap-home-impact-track .ap-home-growth-sales > .ap-home-front-heading{margin:0 0 24px;}
#ap-home-impact-track .ap-home-growth-sales__columns{align-items:start;}
#ap-home-impact-track .ap-home-growth-sales__columns > :is(article,section){
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:0;
  width:100%;
  margin:0;
  padding:0;
}
#ap-home-impact-track .ap-home-growth-sales .ap-home-growth-sales__columns .ap-home-growth-sales__heading{
  margin:0 0 16px;
  min-height:1.25em;
  font-size:clamp(30px,3vw,40px);
  font-weight:700;
  line-height:1.25;
}
#ap-home-impact-track .ap-home-growth-sales .ap-home-impact-media{
  width:100%;
  height:auto;
  min-height:0;
  margin:0;
  aspect-ratio:5 / 4;
  box-sizing:border-box;
}
#ap-home-impact-track .ap-home-growth-sales .ap-home-live-numbers__grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:24px 0 0;
}
#ap-home-impact-track .ap-home-growth-sales .ap-home-live-number{min-height:68px;}
/* Let the book-at-home image span the screen edge to edge, independently of
   the content column and sidebar. Keep its heading in the normal text column. */
#ap-home-impact-track.ap-home-impact-sections .ap-home-impact-extra .ap-home-impact-media{
  width:var(--ap-book-viewport-width,100vw);
  max-width:none;
  margin-left:var(--ap-book-viewport-offset,calc((100% - 100vw) / 2));
  border-radius:0;
}
/* Each new section owns the existing alternating, torn-paper divider. Keep
   reach and sales together under their own equally large column headings. */
.ap-home-front-door #ap-home-impact-track.ap-home-impact-sections{gap:0;}
#ap-home-impact-track.ap-home-impact-sections > [data-paper-section]{padding:40px 0;}
#ap-home-impact-track.ap-home-impact-sections > [data-paper-section]::before{top:0;bottom:0;}
.ap-home-front-door .ap-home-final-groups > [data-paper-section]{padding:40px 0;}
.ap-home-front-door .ap-home-final-groups > [data-paper-section]::before{top:0;bottom:0;}
.ap-home-front-door .ap-home-front-board .ap-home-final-groups:is([data-ap-pay-section],[data-ap-wall-section]){gap:0;}
body.dark-mode .ap-home-impact-sections :is(.ap-home-press-byline,.ap-home-press-credit){color:#cbd5e1;}
@media(max-width:760px){
  .ap-home-front-door #ap-home-impact-track.ap-home-impact-sections{gap:0;}
  #ap-home-impact-track.ap-home-impact-sections .ap-home-proof-grid--front,
  .ap-home-growth-sales__columns{grid-template-columns:minmax(0,1fr);gap:28px;}
}
