.banner{background:transparent;color:var(--text-primary);padding:clamp(64px,12vh,120px) 0;text-align:center;position:relative}.banner__container{max-width:min(1100px,92vw);margin:0 auto;padding:0 clamp(16px,4vw,24px)}.banner__title{font-size:clamp(1.9rem,5.5vw,3rem);font-weight:800;line-height:1.15;margin:0 0 clamp(12px,2.5vw,16px)}.banner__title br{display:block;margin:clamp(16px,6vw,48px) 0}.banner .text-primary{color:var(--primary-color)}.banner__subtitle{font-size:clamp(1.0625rem,3.5vw,1.25rem);color:var(--text-secondary);margin:0 0 clamp(20px,4vw,28px);white-space:pre-line}.banner__quote{position:relative;margin:clamp(40px,6vw,72px) auto clamp(36px,6vw,64px);max-width:min(840px,90vw);border-left:4px solid var(--primary-color);padding:0 0 0 1.5rem;font-style:italic;color:var(--text-primary);text-align:left}.banner__quote:before{content:'"';font-size:2rem;color:var(--primary-color);font-weight:700;position:absolute;left:.25rem;top:-.25rem;line-height:1;font-family:serif}.banner__quote:after{content:none}.banner__quote-paragraph{margin:0 0 1rem;line-height:1.6}.banner__quote-paragraph:last-child{margin-bottom:0}.banner__quote-paragraph:last-child:after{content:'"';font-size:2rem;color:var(--primary-color);font-weight:700;font-family:serif;display:inline-block;line-height:0;height:0;width:0;overflow:visible;vertical-align:baseline;transform:translateX(4px);pointer-events:none}.banner__actions{display:flex;justify-content:center}.banner__button{font-weight:700;padding:clamp(12px,2.5vw,16px) clamp(20px,4.5vw,32px);border-radius:8px}@media (max-width:640px){.banner__quote{margin-bottom:clamp(56px,18vw,96px)}}