/* A single editorial title, followed immediately by dates and the income promise. */
.campaign-hero{--campaign-ink:#181818;--campaign-pink:#b83b7b;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);max-width:1600px;margin:0 auto;padding:24px 24px 0;background:#fff;color:var(--campaign-ink)}


.campaign-title-panel{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:32px 28px 32px 4px;text-align:center}
.campaign-hero .campaign-heading{position:static;display:block;margin:0;width:100%;font:400 24px/1.7 var(--serif);letter-spacing:.02em;white-space:normal}
.campaign-hero .campaign-heading span{writing-mode:horizontal-tb}
.campaign-hero .campaign-heading>span{display:block;margin:0}
.campaign-hero .campaign-heading .copy-marker{display:inline}
.campaign-hero .campaign-heading .campaign-promise{font-size:clamp(15px,1.55vw,24px);line-height:1.8;letter-spacing:.025em;white-space:nowrap}
.campaign-hero .campaign-heading .campaign-project{margin-top:22px;font-size:clamp(25px,3vw,46px);line-height:1.5;letter-spacing:-.025em;white-space:nowrap}
.campaign-hero .campaign-heading .campaign-audition{margin-top:15px;font-size:clamp(18px,1.85vw,28px);line-height:1.8;letter-spacing:.045em;white-space:nowrap}
.campaign-photo{grid-column:2;grid-row:1;position:relative;min-width:0;overflow:hidden;aspect-ratio:1.08;background:#e7eef0}
.campaign-photo-crop{position:absolute;inset:0;overflow:hidden}
.campaign-photo-crop img{display:block;width:100%;height:100%;object-fit:cover;object-position:54% center}
.campaign-period{margin-top:24px;font:400 clamp(10px,.96vw,14px)/1.9 var(--serif);letter-spacing:.025em;color:#181818}
.campaign-period-label{display:block;font:500 11px/1.8 var(--sans);letter-spacing:.15em;margin-bottom:6px}
.campaign-period-dates{display:block;white-space:nowrap}
.campaign-assurance{width:100%;max-width:480px;margin-top:38px;padding:20px 10px;background:#f4f8fa;font:500 clamp(15px,1.3vw,20px)/1.9 var(--serif);letter-spacing:.025em}
.campaign-assurance>span{display:block;white-space:nowrap}
.campaign-assurance strong{font-size:clamp(23px,2.15vw,32px);font-weight:600;line-height:1.65;color:var(--campaign-pink);margin-right:.12em}
@media(min-width:761px) and (max-width:1050px){
 .campaign-hero{padding:18px 18px 0;grid-template-columns:minmax(0,47%) minmax(0,53%)}
 .campaign-title-panel{padding:20px 18px 20px 0}
 .campaign-hero .campaign-heading .campaign-promise{font-size:14px;letter-spacing:0}
 .campaign-hero .campaign-heading .campaign-project{font-size:clamp(22px,2.8vw,29px);margin-top:17px;letter-spacing:-.025em}
 .campaign-hero .campaign-heading .campaign-audition{font-size:17px;letter-spacing:0;margin-top:12px}
 .campaign-photo{aspect-ratio:auto;min-height:450px}
 .campaign-period{font-size:10px;margin-top:20px;letter-spacing:0}
 .campaign-assurance{margin-top:25px;font-size:14px;padding:15px 7px}.campaign-assurance strong{font-size:24px}
}
@media(max-width:760px){
 .campaign-hero{display:flex;flex-direction:column;padding:20px 20px 0;gap:0;max-width:580px}

 .campaign-photo{width:100%;aspect-ratio:1/1.05}
 .campaign-photo-crop img{object-position:53% center}
 .campaign-photo::after{content:"";position:absolute;inset:77% 0 0;background:linear-gradient(transparent,#ffffffdc);pointer-events:none}
 .campaign-title-panel{position:relative;z-index:1;padding:0;margin-top:-17px}
 .campaign-hero .campaign-heading .campaign-promise{font-size:clamp(13px,3.9vw,21px);line-height:1.8;letter-spacing:.015em}
 .campaign-hero .campaign-heading .campaign-project{font-size:clamp(23px,6.8vw,37px);line-height:1.5;letter-spacing:-.015em;margin-top:12px}
 .campaign-hero .campaign-heading .campaign-audition{font-size:clamp(19px,5.1vw,28px);line-height:1.8;letter-spacing:.025em;margin-top:8px}
 .campaign-period{margin-top:17px;font-size:11px;letter-spacing:0}
 .campaign-period-label{font-size:10px;margin-bottom:4px}
 .campaign-assurance{margin-top:25px;padding:16px 8px;font-size:clamp(14px,3.8vw,21px);line-height:1.9;letter-spacing:.02em}
 .campaign-assurance strong{font-size:clamp(24px,6.7vw,35px)}
}
@media(max-width:360px){
 .campaign-hero{padding-inline:16px}.campaign-hero .campaign-heading .campaign-project{font-size:23px}
 .campaign-hero .campaign-heading .campaign-audition{font-size:17px;letter-spacing:0}.campaign-period{font-size:10px}
}

/* The floating link opens the first entry invitation after the project details. */

.floating-entry{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:14px 24px;border:1px solid var(--pink);background:var(--pink);color:#fff;box-shadow:0 6px 24px #542c4526;font:400 16px/1.7 var(--serif);letter-spacing:.04em;transition:background .2s,box-shadow .2s}
.floating-entry:hover{background:var(--pink-hover);box-shadow:0 8px 26px #542c4533}
.floating-entry-arrow{font:400 22px/1 var(--sans);margin-left:8px}
.floating-entry[hidden],.modal-open .floating-entry{display:none}
footer{padding-bottom:125px}
@media(max-width:760px){.floating-entry{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-width:360px;margin-inline:auto;min-height:56px;padding:13px 20px;font-size:15px;gap:12px}.floating-entry .line-word{font-size:12px}footer{padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))}}
