/* Academy and mentorship presell draft. Shared brand primitives live in main.css. */
[data-page="academy"] { --academy-accent: #ffa2b9; }
.academy-hero { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 740px; overflow: hidden; position: relative; padding: 70px var(--gutter) 60px; gap: 20px; }
.academy-hero-copy { position: relative; z-index: 2; }
.academy-hero h1 { font-size: clamp(70px, 7.5vw, 120px); line-height: .9; margin: 28px 0; letter-spacing: -.025em; }
.academy-hero h1 span, .academy-two-column h2 span, .academy-programs h2 span, .academy-work h2 span, .academy-mentor h2 span, .academy-process h2 span { color: var(--pink); }
.academy-lead { max-width: 465px; font-size: 16px; line-height: 1.75; }
.academy-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 30px; }
.academy-fine { font: 10px/1.8 var(--mono); margin-top: 24px; color: var(--muted); }
.academy-hero-visual { position: relative; align-self: stretch; min-width: 0; }
.academy-swirl { position: absolute; inset: -70px -90px -60px -20px; width: calc(100% + 110px); max-width: none; height: calc(100% + 130px); opacity: .62; mask-image: linear-gradient(90deg,transparent,#000 20%); }
.academy-frame { position: absolute; margin: 0; background: var(--ink); color: var(--bg); padding: 10px 10px 0; box-shadow: 0 20px 65px #0008; }
.academy-frame img { width: 100%; height:auto; aspect-ratio: 1.5; object-fit: cover; }
.academy-frame-main img { aspect-ratio:1.375; object-fit:contain; }
.academy-frame figcaption { font: 8px/1.5 var(--mono); display: flex; justify-content: space-between; gap: 8px; padding: 12px 3px; }
.academy-frame-main { top: 35px; left: 0; width: 96%; transform: rotate(-4deg); }
.academy-frame-small { top: 310px; right: -20px; width: 64%; transform: rotate(7deg); }
.academy-visual-note { position: absolute; bottom: 36px; left: 12px; font: 28px/.95 var(--display); color: var(--pink); transform: rotate(-4deg); }
.academy-ribbon { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: var(--pink); color: var(--bg); padding: 20px var(--gutter); font: 24px/1.1 var(--display); }
.academy-ribbon > :last-child { font-size: 34px; }
.academy-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; margin-top: 30px; }
.academy-prose { max-width: 535px; }
.academy-prose p + p { margin-top: 22px; }
.academy-programs { background: #171715; border-block: 1px solid var(--line); }
.academy-programs h2 { max-width: 720px; }
.academy-programs .section-heading > p { max-width: 310px; }
.academy-offer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.academy-offer { display: flex; flex-direction: column; border: 1px solid #56564f; padding: 40px; background: var(--bg); }
.academy-offer-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--pink); margin-bottom: 44px; }
.academy-offer-top > :last-child { font-size: 32px; }
.academy-offer h3 { font-size: clamp(46px,4.4vw,66px); margin-bottom: 20px; }
.academy-offer-tagline { font-size: 21px; color: var(--ink); margin-bottom: 14px; }
.academy-offer ul { list-style: none; padding: 0; margin: 30px 0 38px; }
.academy-offer li { border-top: 1px solid var(--line); padding: 13px 0; display: flex; gap: 14px; color: #d0cec6; font-size: 13px; }
.academy-offer li::before { content: '↗'; color: var(--pink); }
.academy-offer-bottom { margin-top: auto; }
.academy-offer-bottom .button { width: 100%; justify-content: space-between; }
.academy-offer-bottom p { font: 10px/1.7 var(--mono); margin-top: 16px; }
.academy-offer-mentorship { background: #2a1d22; border-color: #956271; }
.academy-offer-note { margin-top: 25px; font-size: 13px; text-align: center; }
.academy-offer-note a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.academy-work .section-heading > div:last-child { max-width: 340px; }
.academy-work .text-link { margin-top: 20px; }
.academy-work .art-gallery .artwork-link { aspect-ratio: 1.3; }
.academy-work img[src*="sower-character"] { object-fit: contain; background: #dbd8ca; }
.academy-work-caption { display: flex; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.academy-work-caption p { font-size: 12px; }
.academy-sequence { margin-top: 35px; }
.academy-sequence .art-gallery .artwork-link { aspect-ratio: 1.7; }
.academy-mentor { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: center; border-block: 1px solid var(--line); background: #171715; }
.academy-mentor figure { margin: 0; }
.academy-mentor figure img { width: 100%; height:auto; aspect-ratio: .88; object-position: center; }
.academy-mentor figcaption { font: 9px/1.8 var(--mono); color: var(--muted); padding-top: 18px; }
.academy-mentor h2 { font-size: clamp(44px,4.5vw,70px); margin: 24px 0 30px; }
.academy-mentor .signature { margin: 25px 0 10px; }
.academy-mentor .text-link { display: flex; width: fit-content; }
.academy-process ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; list-style: none; margin: 0; padding: 0; }
.academy-process li { border-top: 1px solid var(--line); padding-top: 24px; }
.academy-process li > span { color: var(--pink); }
.academy-process h3 { margin: 24px 0 18px; font-size: 34px; line-height: 1.04; }
.academy-process p { font-size: 14px; }
.academy-faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; }
.academy-faq h2 { margin-top: 25px; }
.academy-faq details:first-child { border-top: 1px solid var(--line); }
.academy-faq summary { padding-right: 35px; }
.academy-close { position: relative; overflow: hidden; background: #ff343b; color: #10100f; margin: 0 var(--gutter) 80px; padding: 65px; }
.academy-close > img { position: absolute; inset: 0 0 0 auto; height: 100%; width: 50%; opacity: .22; mix-blend-mode: multiply; }
.academy-close > div { position: relative; }
.academy-close .eyebrow, .academy-close p { color: #271210; }
.academy-close h2 { font-size: clamp(70px,8vw,112px); margin: 25px 0; }
.academy-close > div > p:not(.eyebrow) { max-width: 420px; }
.academy-close .academy-contact-note { font: 10px/1.8 var(--mono); margin-top: 20px; }
.academy-email { display: inline-block; font-size: 12px; margin-top: 7px; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
@media(min-width:1600px) { .academy-hero { min-height: 850px; } .academy-frame-small { top: 400px; } }
@media(max-width:1000px) { .academy-hero { padding-top: 55px; min-height: 680px; } .academy-hero h1 { font-size: 80px; } .academy-frame-main { top: 75px; } .academy-frame-small { top: 320px; width: 82%; } .academy-frame figcaption span { display:none; } .academy-two-column { gap: 40px; } .academy-offer { padding: 28px; } .academy-faq { gap: 35px; } .academy-mentor { gap: 40px; } }
@media(max-width:760px) {
 .academy-hero { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 25px; gap: 20px; }
 .academy-hero .eyebrow { font-size: 9px; }
 .academy-hero h1 { font-size: clamp(68px,15vw,106px); margin: 26px 0; }
 .academy-lead { font-size: 15px; }
 .academy-actions { gap: 20px; }
 .academy-hero-visual { height: 390px; margin-top: 10px; }
 .academy-swirl { inset: 0 -25px; width: calc(100% + 50px); height: 100%; mask-image: linear-gradient(180deg,transparent,#000 20%); }
 .academy-frame-main { top: 30px; left: 2%; width: 84%; }
 .academy-frame-small { top: 190px; right: 0; width: 58%; }
 .academy-visual-note { bottom: 18px; left: 0; font-size: 24px; }
 .academy-ribbon { font-size: 15px; gap: 12px; padding-block: 18px; }
 .academy-ribbon > :last-child { display: none; }
 .academy-two-column, .academy-offer-grid, .academy-mentor, .academy-faq { grid-template-columns: 1fr; gap: 32px; }
 .academy-programs h2 { font-size: 43px; }
 .academy-offer { padding: 26px; }
 .academy-offer-top { margin-bottom: 28px; }
 .academy-offer h3 { font-size: 51px; }
 .academy-offer-tagline { font-size: 19px; }
 .academy-offer-note { text-align: left; }
 .academy-work .art-gallery { grid-template-columns: 1fr; gap: 25px; }
 .academy-work .art-gallery .artwork-link { aspect-ratio: 1.5; }
 .academy-work-caption { flex-direction: column; gap: 10px; }
 .academy-sequence .art-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
 .academy-sequence .art-gallery .artwork-link { aspect-ratio: .8; }
 .academy-sequence .art-expand { display: none; }
 .academy-mentor figure { max-width: 450px; }
 .academy-process ol { grid-template-columns: 1fr; gap: 30px; }
 .academy-process h3 { margin-top: 15px; }
 .academy-faq { padding-top: 0; }
 .academy-close { margin-bottom: 50px; padding: 35px 25px; }
 .academy-close h2 { font-size: clamp(62px,13vw,90px); }
 .academy-close .eyebrow { font-size: 8px; }
}
@media(prefers-reduced-motion:reduce) { .academy-hero *, .academy-close * { animation:none!important; } }
.academy-builds { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; border-bottom:1px solid var(--line); }
.academy-builds h2 span,.academy-apply h2 span { color:var(--pink); }
.academy-builds ul { list-style:none; margin:0; padding:0; }
.academy-builds li { display:flex; gap:25px; border-top:1px solid var(--line); padding:24px 0; }
.academy-builds li>span { font:12px var(--mono); color:var(--pink); padding-top:7px; }
.academy-builds h3 { font-size:32px; line-height:1.1; margin-bottom:12px; }
.academy-apply { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; border-top:1px solid var(--line); background:#191918; margin-bottom:70px; }
.academy-apply h2 { font-size:80px; margin:24px 0; }
.academy-apply>div>p { max-width:360px; }
.academy-application-note { font-size:12px; margin-top:25px; }
.academy-apply form { display:grid; gap:22px; }
.academy-apply [hidden] { display:none; }
.academy-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.academy-apply label { display:grid; gap:8px; font-size:13px; color:var(--ink); }
.academy-apply input,.academy-apply select,.academy-apply textarea { width:100%; min-width:0; border:1px solid #66665d; border-radius:0; background:#10100f; color:var(--ink); font:14px/1.5 var(--body); padding:13px 14px; }
.academy-apply textarea { resize:vertical; }
.academy-apply input::placeholder,.academy-apply textarea::placeholder { color:#96968d; }
.academy-apply input:focus-visible,.academy-apply select:focus-visible,.academy-apply textarea:focus-visible { outline:2px solid var(--pink); outline-offset:3px; }
.academy-apply button.button { justify-content:space-between; border:0; }
.academy-form-note { font-size:11px; }
.application-draft { padding:28px; background:#262620; border:1px solid var(--pink); }
.application-draft h3 { font-size:34px; margin-bottom:15px; }
.application-draft pre { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.8 var(--mono); max-height:400px; overflow-y:auto; padding:18px; background:#10100f; margin:22px 0; }
.application-draft .text-link { background:none; border:0; padding:0; margin:20px 0; display:block; }
.application-draft h3:focus { outline:none; }
@media(max-width:760px) { .academy-builds,.academy-apply { grid-template-columns:1fr; gap:35px; } .academy-apply { margin-bottom:45px; } .academy-apply h2 { font-size:65px; } .academy-form-row { grid-template-columns:1fr; gap:22px; } .application-draft { padding:20px; } }
