/* Homepage hero: centred copy, no device mockup. */
section.apc-hero.apc-hero--centered{position:relative;overflow:hidden;isolation:isolate}
section.apc-hero--centered .apc-hero-grid{display:flex!important;flex-direction:column;align-items:center;justify-content:center;max-width:920px!important;min-height:620px!important;margin:0 auto;grid-template-columns:none!important}
section.apc-hero--centered .apc-hero-copy{max-width:860px!important;width:100%;margin:0 auto!important;padding:40px 0 30px!important;text-align:center!important;display:flex;flex-direction:column;align-items:center}
section.apc-hero--centered .apc-eyebrow{justify-content:center;margin-left:auto;margin-right:auto}
section.apc-hero--centered h1{font-size:clamp(44px,6.4vw,84px)!important;line-height:1.02!important;letter-spacing:-.035em!important;max-width:15ch;margin-left:auto!important;margin-right:auto!important;text-wrap:balance}
section.apc-hero--centered .apc-lede{max-width:600px!important;margin-left:auto!important;margin-right:auto!important;text-align:center}
section.apc-hero--centered .apc-actions,section.apc-hero--centered .apc-pills{justify-content:center!important}
section.apc-hero--centered .apc-rating{justify-content:center}

/* Background: faint grid fading out, chrome ring, soft glow */
.apc-centre-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.apc-centre-grid{position:absolute;inset:0;background-image:linear-gradient(#7a52c214 1px,transparent 1px),linear-gradient(90deg,#7a52c214 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 60% 55% at 50% 45%,#000 20%,transparent 75%)}
.apc-centre-glow{position:absolute;left:50%;top:44%;width:min(900px,120vw);height:520px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,#b48cff3d,#d9c2ff1f 45%,transparent 75%);filter:blur(10px)}
.apc-centre-ring{position:absolute;left:50%;top:46%;width:min(760px,110vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;padding:1.5px;background:conic-gradient(from 200deg,#ffffff00,#c9adff99,#ffffffcc,#9a6ee066,#ffffff00 60%,#c9adff55,#ffffff00);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.7;animation:apc-ring-spin 40s linear infinite}
@keyframes apc-ring-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.apc-centre-ring{animation:none}}

@media (max-width:760px){
  section.apc-hero--centered .apc-hero-grid{min-height:0!important}
  section.apc-hero--centered .apc-hero-copy{padding:20px 0 10px!important}
  section.apc-hero--centered h1{font-size:clamp(36px,10.5vw,48px)!important}
  .apc-centre-grid{background-size:40px 40px}
  .apc-centre-ring{width:150vw;top:40%}
}

/* Cursor-reactive layer: spotlight grid, parallax, click ripple */
.apc-hero--centered{--mx:50%;--my:45%;--px:0;--py:0}
.apc-centre-spot{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;background-image:linear-gradient(#8c5ee6a8 1px,transparent 1px),linear-gradient(90deg,#8c5ee6a8 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle 230px at var(--mx) var(--my),#000,transparent 72%);mask-image:radial-gradient(circle 230px at var(--mx) var(--my),#000,transparent 72%)}
.apc-centre-cursor{position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;opacity:0;transition:opacity .5s ease;transform:translate3d(var(--mx),var(--my),0);background:radial-gradient(closest-side,#b48cff47,#e7d8ff1f 50%,transparent 75%);will-change:transform}
.apc-hero--centered.is-pointing .apc-centre-spot,.apc-hero--centered.is-pointing .apc-centre-cursor{opacity:1}
.apc-hero--centered .apc-centre-ring{translate:calc(var(--px) * -18px) calc(var(--py) * -14px)}
.apc-hero--centered .apc-centre-glow{translate:calc(var(--px) * 26px) calc(var(--py) * 20px)}
.apc-hero--centered .apc-centre-grid{translate:calc(var(--px) * -8px) calc(var(--py) * -6px)}
.apc-ripple{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;pointer-events:none;border:1.5px solid #b48cffaa;box-shadow:0 0 18px #c9adff66,inset 0 0 12px #ffffff80;animation:apc-ripple .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes apc-ripple{from{transform:scale(.4);opacity:.9}to{transform:scale(9);opacity:0}}
@media (hover:none),(prefers-reduced-motion:reduce){.apc-centre-spot,.apc-centre-cursor{display:none}.apc-hero--centered .apc-centre-ring,.apc-hero--centered .apc-centre-glow,.apc-hero--centered .apc-centre-grid{translate:none}}

/* Phones: hero fills the first screen */
@media (max-width:760px){
  section.apc-hero.apc-hero--centered{min-height:100vh;min-height:100svh;display:flex!important;flex-direction:column;justify-content:center;padding-bottom:24px!important}
  section.apc-hero--centered .apc-hero-grid{flex:1 0 auto;width:100%}
  section.apc-hero--centered .apc-hero-copy{gap:2px}
  section.apc-hero--centered .apc-actions{width:100%;flex-direction:column;align-items:stretch}
  section.apc-hero--centered .apc-actions .apc-button{width:100%;justify-content:center}
}
