.opening.opening--campaign{height:auto;min-height:calc(100svh - var(--header-h) - 8px);overflow:visible}
.opening--campaign .opening__copy{gap:clamp(16px,1.7vw,28px);padding:30px clamp(22px,3vw,55px) 36px}
.opening--campaign h1{font-size:clamp(56px,6.7vw,126px);max-width:100%;margin:0}
.opening--campaign .opening__description{font-size:clamp(18px,1.65vw,29px);max-width:100%;margin:0;line-height:1.35}
.opening-payment-link{color:var(--accent);font-size:clamp(14px,1.15vw,18px);font-weight:500;text-decoration:underline;text-underline-offset:4px;line-height:1.5;text-align:center;max-width:100%}
.opening-payment-link:hover{text-decoration-thickness:2px}
.opening-payment-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.payment-options{margin:40px 0;padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:130px;max-width:850px}
.payment-options h2{font-size:clamp(28px,3vw,42px);margin-bottom:14px}
.payment-options p{font-size:18px;line-height:1.6;margin-bottom:14px}
.payment-options strong{color:var(--accent)}
.opening--campaign .opening__figure{position:relative;height:auto;align-self:stretch;min-height:0;max-height:none;margin:0}
.opening--campaign .opening__figure .opening__photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover}
.opening-page:has(.opening--campaign) .site-footer{margin-top:0}
@media(max-width:760px){.opening.opening--campaign{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}.opening--campaign .opening__copy{padding:26px 20px 32px;gap:20px}.opening--campaign h1{font-size:clamp(48px,11vw,78px)}.opening--campaign .opening__description{font-size:19px}.opening--campaign .opening__figure{height:55svh;min-height:260px}.opening--campaign .opening__copy>.button{min-width:0;max-width:100%}}
