.hero{background-color:var(--color-dark);width:100%;min-height:520px;padding:var(--space-16) 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__bg-image{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero--with-image:before{content:"";z-index:1;background:linear-gradient(100deg,#1a1a2ef0 0%,#741f8abd 50%,#5c147073 100%);position:absolute;inset:0}.hero--no-image:before{content:"";z-index:1;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-dark) 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;max-width:800px;padding:0 var(--space-6);position:relative}.hero__eyebrow{font-size:.8rem;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.14em;color:var(--color-primary-glow);margin-bottom:var(--space-3)}.hero__title{font-family:var(--font-heading);font-size:var(--text-display);font-weight:var(--font-bold);letter-spacing:-.02em;text-wrap:balance;color:var(--color-text-on-dark);margin-bottom:var(--space-4);line-height:var(--leading-tight)}.hero__accent{color:var(--color-primary-glow)}.hero__subtitle{font-size:var(--text-xl);font-weight:var(--font-light);color:#ffffffe0;margin-bottom:var(--space-8);line-height:var(--leading-normal);max-width:52ch;margin-left:auto;margin-right:auto}.hero__children{margin-top:var(--space-6)}.hero--left{justify-content:flex-start}.hero--left .hero__content{text-align:left;width:100%;max-width:none;padding-left:max(var(--space-6), calc((100vw - var(--container-max)) / 2 + var(--space-6)));padding-right:var(--space-6)}.hero--left .hero__title{max-width:22ch}.hero--left .hero__subtitle{margin-left:0;margin-right:0}.hero__cta{margin-top:var(--space-8);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:var(--color-text-on-dark);font-size:var(--text-base);font-weight:var(--font-bold);border-radius:var(--radius-sm);letter-spacing:.5px;transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:14px 40px;text-decoration:none;display:inline-block;box-shadow:0 4px 16px #741f8a4d}.hero__cta:hover{background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-glow));box-shadow:var(--shadow-glow);transform:translateY(-1px)}.hero__cta:active{transform:translateY(0)}@media (max-width:1279px){.hero{min-height:400px}.hero__subtitle{font-size:var(--text-lg)}}@media (max-width:767px){.hero{min-height:300px;padding:var(--space-12) 0}.hero__subtitle{font-size:var(--text-base);margin-bottom:var(--space-4)}.hero__cta{font-size:var(--text-sm);padding:12px 28px}}
.section{padding:80px 0;position:relative;overflow:hidden}.section__inner{max-width:var(--container-max);padding:0 var(--space-6);z-index:2;margin:0 auto;position:relative}.section--white{background:var(--color-bg);color:var(--color-text)}.section--light{background:var(--color-bg-alt);color:var(--color-text)}.section--lavender{background:var(--color-surface-tint);color:var(--color-text)}.section--dark{background:radial-gradient(ellipse 80% 60% at 20% 0%, #741f8a59, transparent 60%), var(--color-dark);color:var(--color-text-on-dark)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,.section--dark h5,.section--dark h6{color:var(--color-text-on-dark)}.section--dark p{color:#ffffffb3}.section--purple{background:linear-gradient(135deg, var(--color-primary) 0%, #5c1470 100%);color:var(--color-text-on-dark)}.section--purple h1,.section--purple h2,.section--purple h3,.section--purple h4,.section--purple h5,.section--purple h6{color:var(--color-text-on-dark)}.section--purple p{color:#fffc}.section--has-bg-image{background-position:50%;background-repeat:no-repeat;background-size:cover}.section--has-bg-image:before{content:"";z-index:1;background:#1a1a2ed9;position:absolute;inset:0}.section--pad-sm{padding:48px 0}.section--pad-lg{padding:128px 0}@media (max-width:767px){.section{padding:48px 0}.section--pad-sm{padding:32px 0}.section--pad-lg{padding:72px 0}}@media (min-width:768px) and (max-width:1279px){.section{padding:64px 0}.section--pad-sm{padding:40px 0}.section--pad-lg{padding:96px 0}}
