/* User v2: retain the whole image, never crop the source artwork. */
.public-hero.cover-banner{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;isolation:auto;background:#faf3e7}
.cover-banner .banner-art{position:relative;width:100%;height:auto;max-width:1440px;left:auto;top:auto;transform:none;z-index:auto;order:0;overflow:hidden;border-radius:16px 16px 0 0}
.banner-art img{width:100%;height:auto;max-width:100%;object-fit:contain;display:block}
.banner-art:after{display:none}
.cover-banner .hero-copy{order:1;position:relative;width:100%;max-width:none;padding:34px 44px;display:grid;grid-template-columns:1.1fr 1fr;gap:10px 30px;align-items:center}
.cover-banner .hero-copy .eyebrow{grid-column:1/-1;margin:0}
.cover-banner .hero-copy h1{font-size:34px;line-height:1.45;text-shadow:none;grid-row:2/4}
.cover-banner .hero-copy h1 br{display:none}
.cover-banner .hero-copy p{margin:0;text-shadow:none;font-size:14px}
.cover-banner .hero-copy .actions{margin:0}
.cover-banner .hero-caption{top:12px;bottom:auto;right:12px;z-index:1}
.program-grid{grid-template-columns:repeat(auto-fit,minmax(280px,320px));justify-content:start;gap:26px}
.program-card{width:320px;max-width:100%}
.program-card .art,.public-detail .art{width:320px;max-width:100%;height:auto!important;aspect-ratio:3/2;background:none;border-radius:12px;flex-shrink:0;overflow:visible}
.art img{width:100%;height:auto;display:block;object-fit:contain;border-radius:inherit}
.art:before,.art:after{display:none!important}
.public-detail{grid-template-columns:320px minmax(0,1fr);align-items:start}
.public-detail .art{position:sticky;top:24px}
.program-mini .mini-art{width:76px;height:auto;aspect-ratio:3/2;min-height:0;flex-shrink:0;background:none}
.member-nav{display:flex;align-items:center;gap:14px;font-size:12px;white-space:nowrap}
.member-nav a:hover{text-decoration:underline}
.public-header{gap:22px}.public-nav{gap:24px}
.member-panel{width:min(100%,520px);margin:0 auto 70px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:14px}
.signup-panel{width:min(100%,680px)}.member-panel h2{font-size:18px;margin:12px 0 22px}.member-panel input{font-size:15px}
.auth-submit{width:100%;margin-top:18px;min-height:48px;font-size:14px}.auth-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:22px;font-size:12px}
.consent-copy{background:#f5f7f0;padding:18px;font-size:12px;margin-bottom:16px;border-radius:8px}.consent-copy .textlink{margin-top:12px;display:inline-block}
.member-error{font-size:12px;color:#a34539;margin-bottom:20px}.member-error[hidden]{display:none}
.my-application-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-bottom:25px}.my-application{border:1px solid var(--line);padding:26px;border-radius:12px;background:#fff}.my-application h2{font-size:20px;margin:16px 0}.my-application p{font-size:11px;color:var(--muted);margin-bottom:20px}
@media(max-width:1000px){.public-header{gap:14px}.public-nav{gap:15px}.member-nav{gap:10px;font-size:11px}.public-header>.btn{padding:10px 14px}.public-detail{gap:28px}}
@media(max-width:760px){.public-hero.cover-banner{height:auto;min-height:0}.cover-banner .hero-copy{padding:26px 22px;display:block}.cover-banner .hero-copy h1{font-size:26px;margin:14px 0}.cover-banner .hero-copy h1 br{display:none}.cover-banner .hero-copy p{font-size:13px;max-width:none;margin:12px 0 20px}.cover-banner .hero-copy .eyebrow{font-size:9px}.cover-banner .hero-caption{font-size:7px;top:8px;right:8px}.public-header{padding:14px 20px;gap:10px}.public-header .brand-logo{width:90px}.member-nav{margin-left:auto;font-size:11px;gap:10px}.public-header>.btn{margin-left:0;padding:8px 11px}.mobile-public-toggle{padding:5px}.public-nav{order:5}.program-grid{grid-template-columns:minmax(0,320px);justify-content:center;gap:22px}.program-card{width:320px;max-width:100%}.public-detail{display:flex;flex-direction:column;gap:26px}.public-detail .art{position:static;margin:0 auto}.member-panel{padding:24px 18px;margin-bottom:40px}.member-panel input{font-size:16px}.auth-links{gap:14px}.public-header .member-nav .btn{font-size:11px;padding:4px}.my-application{padding:22px}}
