:root{--background:#f7f5fb;--foreground:#1c1649;--primary:#3e469b;--primary-deep:#24296c;--pink:#ec2c8c;--white:#fff;--border:rgba(62,70,155,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font-family:"Trebuchet MS",Arial,Helvetica,sans-serif}a{color:inherit}
.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate;background:radial-gradient(circle at 0 0,rgba(96,137,222,.62),transparent 42rem),radial-gradient(circle at 100% 100%,rgba(236,44,140,.24),transparent 34rem),linear-gradient(135deg,#f7f9ff 0,#fff 55%,#fff4f8 100%)}
.hero:before{content:"";position:absolute;inset:0;z-index:-3;opacity:.14;background-image:radial-gradient(rgba(62,70,155,.38) .8px,transparent .8px);background-size:20px 20px;mask-image:linear-gradient(90deg,#000,transparent 45%)}
.ribbon{position:absolute;z-index:-2;border-radius:50%;filter:blur(28px)}.ribbon-one{width:26rem;height:26rem;right:-13rem;bottom:-13rem;background:rgba(236,44,140,.18)}.ribbon-two{width:24rem;height:24rem;left:-12rem;top:-12rem;background:rgba(62,70,155,.16)}
.topbar,.hero-content,footer{width:min(1180px,calc(100% - 3rem));margin-inline:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 0}.brand{display:flex;align-items:baseline;gap:.42rem;text-decoration:none;color:var(--primary);font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:-.05em}.brand span{font-weight:300}.brand strong{font-weight:900}.office{border:1px solid var(--border);border-radius:999px;padding:.65rem 1rem;color:var(--primary);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.hero-content{display:grid;grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);grid-template-areas:"visual copy";gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:2.5rem 0 4rem}.copy{grid-area:copy;max-width:650px}.eyebrow{margin:0 0 1rem;color:var(--pink);font-weight:900;letter-spacing:.18em;text-transform:uppercase}h1{margin:0;color:var(--primary-deep);font-size:clamp(3.35rem,5.3vw,5.4rem);line-height:.93;letter-spacing:-.075em;text-wrap:balance}h1>span,h1 em span{display:block}h1 em{color:var(--pink);font-style:normal}.intro{max-width:590px;margin:1.7rem 0 0;color:#5d587b;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.65}
.socials{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.socials a{min-height:46px;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--border);border-radius:999px;padding:.72rem 1rem;background:rgba(255,255,255,.78);color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,color .18s ease}.socials a:hover,.socials a:focus-visible{color:var(--pink);transform:translateY(-2px);box-shadow:0 .75rem 1.5rem rgba(62,70,155,.12);outline:none}
.visual{grid-area:visual;position:relative;align-self:stretch;min-height:590px;display:flex;align-items:center;justify-content:center}.campaign-art{position:relative;z-index:1;display:block;width:min(42vw,560px);height:auto;object-fit:contain;filter:drop-shadow(0 1.7rem 1.8rem rgba(26,20,84,.28))}
footer{display:flex;justify-content:space-between;gap:1rem 2rem;padding:1.1rem 0 1.4rem;border-top:1px solid var(--border);color:rgba(36,41,108,.74);font-size:.72rem;font-weight:700;letter-spacing:.035em}footer p{margin:0}
@media(max-width:850px){.topbar{padding-top:1.2rem}.hero-content{grid-template-columns:1fr;grid-template-areas:"copy" "visual";gap:2.4rem;padding-top:3rem}.copy{max-width:100%}h1{max-width:12ch}.visual{min-height:560px}.campaign-art{width:min(92vw,690px)}footer{flex-direction:column;text-align:center}}
@media(max-width:520px){.topbar,.hero-content,footer{width:min(100% - 2rem,1180px)}.office{max-width:8.5rem;padding:.5rem .72rem;text-align:center;font-size:.65rem}.hero-content{padding-top:3.5rem}h1{font-size:clamp(3.2rem,16vw,5rem)}.intro{line-height:1.55}.socials a{flex:1 1 auto;justify-content:center}.visual{min-height:480px}.campaign-art{width:min(110vw,560px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
