*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);font-size:1rem;line-height:1.68;color:var(--n900);background:var(--wh);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
h1,h2,h3,h4{font-family:var(--fd);line-height:1.15;letter-spacing:-.025em;word-spacing:0.12em}
.skip-link{position:absolute;top:-40px;left:0;background:var(--t400);color:var(--wh);padding:8px 16px;z-index:1000;font-family:var(--fb);border-radius:0 0 var(--rmd) 0}
.skip-link:focus{top:0}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.container--wide{max-width:1380px;margin:0 auto;padding:0 2rem}
.section{padding:5.5rem 0}

/* scroll reveal */
@media(prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(16px);transition:opacity 350ms cubic-bezier(.4,0,.2,1),transform 350ms cubic-bezier(.4,0,.2,1);animation:rv-fallback 0s 1.5s forwards}
  @keyframes rv-fallback{to{opacity:1;transform:none}}
  .rv.on{opacity:1;transform:none;animation:none}
  .rv-l{transform:translateX(-10px)}
  .rv-r{transform:translateX(10px)}
  .rv-s{transform:scale(.97)}
  .d1{transition-delay:40ms}.d2{transition-delay:80ms}.d3{transition-delay:120ms}
  .d4{transition-delay:160ms}.d5{transition-delay:200ms}
}

@media(max-width:620px){
  .container{padding:0 1.25rem}
  .section{padding:3.5rem 0}
}

/* Accessibility */
:focus-visible {
  outline: 2px solid var(--t400);
  outline-offset: 2px;
}

/* Premium Split Hero */
.pg-hero.split-hero {
  padding: 8rem 0 5rem;
  background: var(--n950);
  text-align: left;
}
.split-hero-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 4rem;
  align-items: center;
}
.split-hero-text {
  max-width: 600px;
}
.split-hero-text .pg-hero__sub {
  margin: 0;
}
.split-hero-img {
  border-radius: var(--r2xl);
  overflow: hidden;
  box-shadow: 0 20px 48px rgba(0,0,0,0.2);
  aspect-ratio: 4/3;
  width: 100%;
}
.split-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 900px) {
  .split-hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .split-hero-text {
    margin: 0 auto;
  }
}
