/* Hardbodies Live casting: invitation and accessible application. */
html { scroll-padding-top: 100px; }
.header nav .nav-casting { color:#ffa3ce; }
.header nav .nav-casting:hover { color:#fff; }
.casting-hero-link { display:inline-flex; gap:9px; align-items:center; flex-wrap:wrap; margin-top:19px; color:#ff99c7; font:800 13px/1.4 "Barlow Condensed",sans-serif; letter-spacing:.12em; text-decoration:underline; text-underline-offset:5px; }
.casting-hero-link strong { color:#ffe0ef; }
.casting-hero-link:hover,.casting-hero-link:hover strong { color:#fff; }
.casting { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 5% 5%,#87225f 0%,#46183d 28%,#180b1c 69%,#130914 100%); border-top:1px solid #6d2d53; border-bottom:1px solid #6d2d53; }
.casting::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.45; background:repeating-linear-gradient(115deg,transparent 0 118px,#b4518930 118px 119px,transparent 119px 238px); pointer-events:none; }
.casting-layout { display:grid; grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr); gap:clamp(30px,6vw,90px); align-items:start; }
.casting-intro { padding-top:23px; }
.casting-stamp { display:inline-block; border:1px solid #fc84c3; border-radius:50px; padding:10px 19px; margin-bottom:35px; background:#e9318a29; color:#ffadd4; font:900 17px/1 "Barlow Condensed",sans-serif; letter-spacing:.16em; transform:rotate(-3deg); }
.casting h2 { font-size:clamp(65px,7vw,110px); line-height:.91; margin:14px 0 29px; letter-spacing:-.032em; }
.casting h2 em { font-size:.84em; color:#ff91c6; }
.casting-lede { color:#ffdfef; font-size:15px; line-height:1.87; max-width:510px; }
.casting-steps { display:grid; gap:0; margin:46px 0 26px; border-top:1px solid #ad5a88; }
.casting-steps>div { display:flex; gap:22px; padding:22px 0; border-bottom:1px solid #784263; }
.casting-steps>div>span { color:#ff77b5; font:900 38px/.95 "Barlow Condensed",sans-serif; }
.casting-steps strong { font:900 23px/1 "Barlow Condensed",sans-serif; letter-spacing:.06em; color:#fff5fa; }
.casting-steps p { font-size:12px; color:#d8b4c9; line-height:1.8; margin:7px 0 0; }
.casting-note { color:#ccacc0; font-size:11px; line-height:1.7; max-width:460px; }
.casting-form { background:#fff5fa; color:#361528; padding:38px; border:1px solid #ffaad0; border-radius:20px; box-shadow:0 32px 85px #12020d99; }
.casting-form-title { border-bottom:1px solid #eec2d6; padding-bottom:24px; margin-bottom:24px; }
.casting-form-title span { color:#d12a7a; font-size:11px; letter-spacing:.19em; font-weight:900; }
.casting-form-title h3 { color:#351328; font:900 clamp(34px,3vw,47px)/1 "Barlow Condensed",sans-serif; margin:10px 0; }
.casting-form-title p { color:#86647a; font-size:12px; line-height:1.65; margin:0; }
.casting-form label:not(.casting-consent) { display:flex; flex-direction:column; gap:8px; font-size:10px; font-weight:900; letter-spacing:.11em; margin-bottom:18px; }
.casting-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.casting-form input:not([type=checkbox]),.casting-form select,.casting-form textarea { display:block; width:100%; min-width:0; border:1px solid #e5bed0; background:#fff; border-radius:8px; padding:13px 14px; color:#361528; font:400 13px/1.45 "DM Sans",sans-serif; letter-spacing:normal; outline:none; }
.casting-form input::placeholder,.casting-form textarea::placeholder { color:#b58fa5; }
.casting-form input:focus,.casting-form select:focus,.casting-form textarea:focus { border-color:#e8338a; box-shadow:0 0 0 3px #ff5aac24; }
.casting-form textarea { resize:vertical; }
.casting-photo-checklist { border:1px dashed #d95b99; background:#ffe4f0; border-radius:12px; padding:18px 20px; margin:25px 0 20px; }
.casting-photo-checklist>strong { display:flex; gap:10px; flex-wrap:wrap; align-items:center; font:900 21px/1 "Barlow Condensed",sans-serif; }
.casting-photo-checklist>strong span { font:900 10px "DM Sans",sans-serif; letter-spacing:.06em; color:#bb206d; }
.casting-photo-checklist p { margin:9px 0 0; color:#6f405d; font-size:12px; line-height:1.7; }
.casting-consent { display:flex; align-items:flex-start; gap:11px; margin:13px 0; font-size:12px; color:#6b4258; line-height:1.65; cursor:pointer; }
.casting-consent input { margin:4px 0 0; accent-color:#d92881; width:17px; height:17px; flex-shrink:0; }
.casting-submit { width:100%; padding-inline:15px; margin-top:24px; cursor:pointer; }
.casting-copy { display:block; margin:16px auto; color:#b92373; background:transparent; border:0; text-decoration:underline; text-underline-offset:4px; font-size:12px; font-weight:800; cursor:pointer; }
.casting-copy:hover { color:#81164b; }
.casting-disclaimer { font-size:11px; line-height:1.7; color:#846579; text-align:center; margin:15px 0 0; }
.casting-message { padding:14px 16px; background:#ffe2ee; color:#5e2945; border-left:3px solid #df2c88; border-radius:5px; font-size:12px; line-height:1.7; margin-top:18px; }
.casting-form--embedded { padding-bottom:30px; }
.casting-embed-surface { margin:0 -12px; min-height:560px; }
.casting-embed-surface iframe { display:block; width:100%; max-width:100%; border:0; background:transparent; }
.casting-embed-note,.casting-fallback { margin:18px auto 0; color:#79566d; font-size:11px; line-height:1.75; text-align:center; max-width:560px; }
.casting-fallback { margin-top:11px; }
.casting-fallback a { color:#b82272; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.casting-fallback a:hover { color:#7f174f; }
@media(max-width:940px) { .casting-layout { grid-template-columns:1fr; gap:35px; } .casting-intro { padding-top:0; } .casting-stamp { margin-bottom:20px; } .casting h2 { font-size:clamp(60px,11vw,95px); } .casting-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; border:0; margin:28px 0 15px; } .casting-steps>div { display:block; padding:18px; border:1px solid #8e4c71; border-radius:12px; background:#2b102b99; } .casting-steps>div>span { display:block; margin-bottom:12px; } }
@media(max-width:620px) { .casting-layout { gap:25px; } .casting-stamp { font-size:14px; } .casting h2 { font-size:clamp(51px,12.2vw,72px); } .casting-steps { grid-template-columns:1fr; gap:8px; } .casting-steps>div { display:flex; gap:17px; padding:16px; } .casting-steps>div>span { margin:0; } .casting-form { padding:28px 20px; } .casting-form--embedded { padding:25px 16px; } .casting-embed-surface { margin:0 -10px; } .casting-two { grid-template-columns:1fr; gap:0; } .casting-submit { font-size:15px; } .casting-hero-link { font-size:12px; } }
