.workshop-shell { padding-top:56px; padding-bottom:100px; min-height:75vh; }
.workshop-shell h1 { font-size:clamp(40px,5vw,68px); line-height:1.06; max-width:780px; }
.workshop-shell h2 { font-size:clamp(24px,3vw,36px); line-height:1.15; }
.workshop-lede { color:var(--f-muted); font-size:20px; line-height:1.6; margin:24px 0 32px; max-width:650px; }
.order-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:70px; align-items:start; }
.simple-list { padding:0; list-style:none; margin:28px 0; }
.simple-list li { padding:16px 0; border-bottom:1px solid var(--f-line); font-size:18px; }
.order-bump { margin-top:44px; padding:28px 0; border-top:2px solid var(--f-purple-light); border-bottom:1px solid var(--f-line); }
.bump-choice { display:flex; gap:16px; cursor:pointer; align-items:flex-start; }
.bump-choice strong { font-size:22px; display:block; }
.bump-price { display:block; font-size:16px; color:var(--f-purple-light); margin-top:8px; }
.workshop-shell input[type=checkbox] { width:22px; height:22px; flex:0 0 22px; accent-color:var(--f-purple); margin-top:3px; }
.order-bump p,.review-next p,.review-form > p,.submission-placeholder p { color:var(--f-muted); line-height:1.65; margin-top:18px; }
.order-bump .f-small { font-size:14px; }
.order-summary { padding:32px; border:1px solid var(--f-line); }
.order-summary h2 { font-size:28px; margin-bottom:28px; }
.summary-row,.summary-total { display:flex; justify-content:space-between; gap:20px; padding:18px 0; font-size:16px; }
.summary-row[hidden] { display:none; }
.summary-total { border-top:1px solid var(--f-line); margin-top:8px; font-size:28px; font-weight:600; }
.checkout-disabled { margin-top:28px; width:100%; cursor:not-allowed; opacity:.55; font:inherit; }
.order-summary > .f-small { margin-top:14px; }
.preview-notice { font-size:14px; color:var(--f-muted); line-height:1.6; padding-top:24px; margin-top:24px; border-top:1px solid var(--f-line); }
.preview-links { display:grid; gap:18px; margin-top:28px; font-size:14px; }
.preview-links a,.consent-row a,.policy-body a { color:var(--f-purple-light); }
.lesson-placeholder { aspect-ratio:16/9; display:grid; place-items:center; text-align:center; background:#151517; border:1px solid var(--f-line); margin-top:36px; }
.lesson-placeholder .f-eyebrow { display:block; margin-bottom:20px; }
.lesson-placeholder p { font-size:clamp(22px,3vw,36px); margin-bottom:18px; }
.lesson-bottom { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:56px; }
.review-next { border-left:1px solid var(--f-line); padding-left:40px; }
.review-next .f-button { margin-top:24px; }
.review-form,.policy-body { max-width:800px; margin-inline:auto; }
.review-form > h2 { font-size:24px; margin-top:40px; margin-bottom:24px; }
.submission-placeholder { border:1px dashed var(--f-line); padding:32px; margin:36px 0; }
.submission-placeholder h2 { font-size:22px; }
.consent-row { display:flex; align-items:flex-start; gap:16px; font-size:16px; line-height:1.65; }
.review-form .f-small { font-size:14px; }
.policy-body h1 { margin-bottom:28px; }
.policy-body h2 { margin:48px 0 20px; font-size:28px; }
.policy-body h3 { margin:28px 0 16px; font-size:20px; }
.policy-body p,.policy-body li { font-size:17px; line-height:1.7; color:var(--f-muted); margin-bottom:18px; }
.policy-body ul { padding-left:24px; }
.policy-body section { scroll-margin-top:100px; }
@media(max-width:760px){
 .workshop-shell { padding-top:32px; padding-bottom:60px; }
 .order-layout,.lesson-bottom { grid-template-columns:1fr; gap:36px; }
 .order-summary { padding:24px; }
 .review-next { border-left:0; border-top:1px solid var(--f-line); padding:32px 0 0; }
 .workshop-lede { font-size:18px; }
 .lesson-placeholder { padding:24px; }
 .lesson-placeholder .f-small { font-size:12px; }
 .lesson-placeholder .f-eyebrow { margin-bottom:10px; }
 .lesson-placeholder p { margin-bottom:10px; }
}

.customer-nav { color:var(--f-muted); font-size:14px; text-decoration:none; }
.customer-footer .footer-bottom { margin-top:0; border-top:0; padding-top:0; flex-wrap:wrap; }
.checkout-email { margin-top:36px; }
.checkout-email label,.email-access-form > label,.review-fields > label { display:block; font-size:15px; font-weight:600; margin-bottom:10px; }
.workshop-shell input:not([type=checkbox]):not([type=hidden]) { width:100%; min-height:54px; padding:12px 15px; border:1px solid #4a4a50; border-radius:4px; background:#151517; color:var(--f-ink); font:inherit; }
.checkout-email .f-small,.email-access-form + .f-small,.review-fields .f-small { margin-top:12px; line-height:1.65; }
.checkout-terms { margin-top:28px; font-size:14px; }
.checkout-submit { margin-top:28px; width:100%; justify-content:space-between; }
.checkout-submit:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.checkout-security { margin-top:14px; line-height:1.6; }
.checkout-access { border-top:1px solid var(--f-line); margin:24px 0; padding-top:24px; }
.checkout-access p { font-size:15px; line-height:1.65; color:var(--f-muted); }
.checkout-access strong { color:var(--f-ink); font-weight:600; }
.stripe-payment { scroll-margin-top:105px; margin-top:32px; }
.stripe-payment > .f-small { margin:18px 0 24px; max-width:580px; }
#checkout-element { min-height:360px; }
.access-panel { max-width:700px; margin-inline:auto; }
.email-access-form { max-width:520px; margin:32px 0 24px; }
.email-access-form .f-button { margin-top:20px; }
.account-note { margin-top:28px; font-size:14px; line-height:1.7; color:var(--f-muted); }
.account-note a { color:var(--f-purple-light); }
.workshop-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; }
.account-email { font-size:13px; color:var(--f-muted); overflow-wrap:anywhere; padding-top:4px; }
.workshop-video { width:100%; aspect-ratio:16/9; object-fit:contain; background:#050506; margin-top:36px; }
.sign-out { margin-top:40px; border-top:1px solid var(--f-line); padding-top:24px; }
.text-button { border:0; background:transparent; color:var(--f-muted); padding:6px 0; cursor:pointer; text-decoration:underline; text-underline-offset:5px; font-size:14px; }
.form-message { color:var(--f-purple-light); font-size:16px; margin-top:28px; max-width:700px; }
.form-message:empty { display:none; }
.review-submission { margin-top:36px; }
.review-fields { margin-bottom:40px; }
.review-fields label:not(:first-child) { margin-top:24px; }
.review-submission h2 { font-size:24px; margin-top:40px; margin-bottom:24px; }
.review-submission > .f-small { font-size:14px; color:var(--f-muted); margin-top:18px; line-height:1.65; }
.review-submission > .f-button { margin-top:32px; }
.review-status { margin-top:36px; padding-block:32px; border-top:1px solid var(--f-line); border-bottom:1px solid var(--f-line); }
.review-status .f-eyebrow { margin-bottom:16px; }
.review-status .f-small,.review-status .f-button { margin-top:22px; }
[hidden] { display:none !important; }
@media(max-width:760px){
 .workshop-heading { display:block; }
 .account-email { margin-top:-12px; }
 .customer-nav { font-size:12px; }
 .checkout-submit { font-size:16px; }
 .access-panel h1 { font-size:clamp(36px,7vw,54px); }
 .order-bump { margin-top:32px; }
}

.workshop-shell input[type=file] { padding:14px; font-size:15px; }
.workshop-shell input[type=file]::file-selector-button { background:#2d2d31; color:var(--f-ink); border:1px solid #4a4a50; border-radius:3px; padding:10px 14px; margin-right:14px; font:inherit; cursor:pointer; }
.upload-alternative { margin:24px 0; border-block:1px solid var(--f-line); padding:18px 0; }
.upload-alternative summary { color:var(--f-purple-light); cursor:pointer; font-size:15px; }
.upload-alternative label { display:block; font-size:15px; font-weight:600; margin:20px 0 10px; }
.operator-header h1 { font-size:clamp(40px,5vw,64px); }
.operator-review { border-top:1px solid var(--f-line); padding:36px 0; }
.operator-review-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:18px; }
.operator-review-heading .f-eyebrow { margin-bottom:12px; }
.operator-review-heading h2 { font-size:24px; overflow-wrap:anywhere; }
.operator-review-heading > .f-small { flex:0 0 auto; }
.operator-video { width:min(100%,720px); max-height:480px; background:#050506; margin-top:24px; }
.operator-link { margin-top:22px; color:var(--f-purple-light); }
.operator-reminder { max-width:760px; margin:24px 0; line-height:1.7; }
.operator-feedback { max-width:700px; }
.operator-feedback label { display:block; margin:20px 0 12px; font-size:15px; font-weight:600; }
.operator-feedback .f-button { margin-top:20px; }
@media(max-width:760px){.operator-review-heading { display:block; }.operator-review-heading > .f-small { margin-top:14px; }}
