/* The same photographic opening as the modules, with the live sponsor gallery intact. */
.sp-page { --module-paper:var(--cream,#faf9f3); --module-tint:#eaf1e8; overflow-x:clip; }
.sp-page main { overflow:clip; }
.sp-page > header.header.header { margin-bottom:calc(-1 * var(--marketing-header-height)); }
.sp-photo-hero .module-hero-inner { width:var(--marketing-hero-width); max-width:1600px; margin-inline:auto; }
.sp-photo-hero .module-hero-photo img { width:78%; object-position:55% center; }
.sp-photo-hero h1 { font-family:'Roboto Flex',Roboto,Arial,sans-serif; font-size:clamp(46px,4.6vw,76px); font-weight:740; line-height:1.02; letter-spacing:-.055em; color:#041e20; }
.sp-photo-hero .mp-breadcrumb { display:flex; align-items:center; gap:12px; color:#4d6760; }
.sp-photo-hero .mp-breadcrumb a { text-decoration:underline; text-underline-offset:5px; }
.sp-photo-hero .mp-actions { display:flex; align-items:center; flex-wrap:wrap; }
.sp-photo-hero .button { border-radius:7px; min-height:48px; font-size:14px; gap:15px; }
.sp-photo-hero .button.outline { background:#fffdf7e6; border-color:#698c86; }
.sp-photo-hero .module-note { font-size:clamp(28px,2.4vw,40px); }
.sp-hero-partner-card { position:absolute; right:2%; bottom:50px; width:350px; max-width:37%; padding:25px; background:#fffef9; border:1px solid #e3e8df; border-radius:15px; transform:rotate(-4deg); box-shadow:0 18px 50px #15312626; }
.sp-partner-heading { display:flex; align-items:center; gap:10px; padding-bottom:17px; border-bottom:1px solid #dce4dc; font-size:14px; font-weight:650; }
.sp-partner-heading .action-icon { width:24px; height:24px; color:var(--green); }
.sp-hero-identity { padding-block:25px; }
.sp-hero-identity .sp-identity { height:85px; font-size:70px; }
.sp-partner-moments { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding-top:17px; border-top:1px solid #dce4dc; }
.sp-partner-moments>span { display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; font-size:10px; line-height:1.4; color:#527267; }
.sp-partner-moments .action-icon { width:22px; height:22px; }
.sp-hero-partner-card>.handwritten { display:block; font-size:27px; line-height:1.1; margin-top:20px; color:var(--green); }
.sp-story h2,.sp-studio h2,.sp-reach h2,.sp-contact h2 { font-family:'Roboto Flex',Roboto,Arial,sans-serif; font-weight:740; letter-spacing:-.055em; color:#041e20; }
.sp-story { text-align:left; padding-block:100px 115px; }
.sp-story>.wrap { display:grid; grid-template-columns:.95fr 1.05fr; gap:9%; align-items:center; }
.sp-story h2 { font-size:clamp(36px,3.5vw,55px); }
.sp-story .wrap>div>p:last-child { max-width:470px; margin:26px 0 0; font-size:18px; line-height:1.65; color:#4d646d; }
.sp-page .sp-story .sp-collage { max-width:470px; margin:0 auto 55px; }
.sp-reach { padding-block:110px; }
.sp-reach ol { gap:0; }
.sp-reach li { position:relative; border:0; padding:0 0 38px; gap:23px; }
.sp-reach li:last-child { padding-bottom:0; }
.sp-reach li:not(:last-child)::after { content:''; position:absolute; top:48px; bottom:10px; left:23px; border-left:1px dashed #8eac91; }
.sp-reach li>span { width:48px; height:48px; background:#eaf1e8; border:0; font-size:12px; font-weight:650; }
.sp-reach h3 { font-size:22px; letter-spacing:-.025em; margin-top:8px; }
.sp-reach li p { font-size:16px; }
.sp-contact { position:relative; isolation:isolate; padding-block:100px; background:#eaf0e6; }
.sp-contact::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#eaf0e6 15%,#eaf0e6e8 48%,#eaf0e6b3),url('/img/home-concept/sponsoring-course.webp') center/cover; }
.sp-contact>.wrap { gap:8%; }
.sp-contact>.wrap>div:last-child { align-items:flex-start; }
@media(min-width:761px) and (max-width:1100px) {
    .sp-photo-hero .module-hero-photo::after { background:linear-gradient(180deg,#faf9f3eb,transparent 140px),linear-gradient(90deg,var(--module-paper) 35%,#faf9f3ed 47%,#faf9f38c 57%,transparent 68%); }
    .sp-photo-hero .module-hero-copy { width:53%; }
    .sp-photo-hero h1 { font-size:clamp(43px,5.3vw,58px); }
    .sp-photo-hero .module-note { font-size:30px; }
    .sp-hero-partner-card { width:290px; padding:20px; }
    .sp-story>.wrap { gap:5%; }
    .sp-story .wrap>div>p:last-child { font-size:16px; }
}
@media(max-width:760px) {
    .sp-photo-hero .module-hero-inner { width:calc(100% - 40px); }
    .sp-photo-hero h1 { font-size:clamp(40px,10.5vw,65px); }
    .sp-photo-hero .module-note { font-size:clamp(27px,6.8vw,39px); }
    .sp-photo-hero .module-hero-photo img { width:100%; height:55%; object-position:52% center; }
    .sp-photo-hero .mp-actions { gap:10px; }
    .sp-photo-hero .button { font-size:12px; padding-inline:10px; gap:8px; }
    .sp-hero-partner-card { position:relative; right:auto; bottom:auto; margin:180px 0 0 auto; width:290px; max-width:87%; padding:20px; }
    .sp-partner-heading { font-size:12px; }
    .sp-hero-identity { padding-block:18px; }
    .sp-hero-identity .sp-identity { height:65px; font-size:55px; }
    .sp-partner-moments>span { font-size:9px; }
    .sp-hero-partner-card>.handwritten { font-size:24px; }
    .sp-story { padding-block:65px 80px; }
    .sp-story>.wrap { grid-template-columns:1fr; gap:38px; }
    .sp-story h2 { font-size:36px; }
    .sp-story .wrap>div>p:last-child { font-size:16px; margin-top:22px; }
    .sp-page .sp-story .sp-collage { width:calc(100% - 15px); max-width:430px; margin-bottom:50px; }
    .sp-reach { padding-block:70px; }
    .sp-reach h3 { font-size:20px; }
    .sp-reach li p { font-size:15px; }
    .sp-contact { padding-block:65px; }
    .sp-contact::before { background:linear-gradient(90deg,#eaf0e6f5,#eaf0e6d9),url('/img/home-concept/sponsoring-course.webp') center/cover; }
    .sp-contact>.wrap>div:last-child { margin-top:28px; }
}
