:root{--ink:#080a0d;--paper:#f2efe7;--acid:#d7ff42;--ember:#ff6b43;--violet:#8e7cff;--muted:#9ca3ad;--line:rgba(255,255,255,.14);--panel:#11151b;--panel2:#171c23;--max:1480px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.45}.grain{position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(22px,4vw,70px);background:rgba(8,10,13,.8);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#fff;font-weight:700;letter-spacing:.08em}.brand b{font-weight:400;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #fff;border-radius:50%;font-family:Georgia,serif;font-style:italic}.topbar nav{display:flex;gap:28px}.topbar nav a,.text-link{color:#fff;text-decoration:none}.pill{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:15px 24px;background:var(--acid);color:#0a0c0f;text-decoration:none;font-weight:800;cursor:pointer}.pill.small{padding:10px 17px;font-size:13px}.pill.wide{width:100%;font-size:16px}.hero{position:relative;min-height:88vh;padding:clamp(110px,14vw,220px) clamp(24px,6vw,96px) 90px;overflow:hidden}.eyebrow,.section-no,.summary-label{font-size:12px;letter-spacing:.24em;color:var(--acid);font-weight:800}.hero h1{position:relative;max-width:1250px;margin:25px 0 30px;font-size:clamp(54px,8.5vw,150px);line-height:.86;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.76)}.hero-copy{max-width:710px;font-size:clamp(18px,2vw,27px);color:#c5cad1}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:38px}.hero-stat{position:absolute;right:7vw;bottom:60px;display:flex;align-items:center;gap:18px}.hero-stat strong{font-size:70px;font-family:Georgia,serif;font-style:italic;color:var(--acid)}.hero-stat span{max-width:160px;color:var(--muted)}.hero-orbit{position:absolute;border:1px solid rgba(215,255,66,.32);border-radius:50%;filter:blur(.1px)}.orbit-a{width:58vw;height:58vw;right:-16vw;top:2vw}.orbit-b{width:36vw;height:36vw;right:-5vw;top:14vw;border-color:rgba(142,124,255,.35)}.manifesto,.packages-section,.builder{max-width:var(--max);margin:auto;padding:110px clamp(24px,5vw,75px)}.manifesto{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;border-top:1px solid var(--line)}h2{font-size:clamp(42px,5vw,78px);line-height:.96;letter-spacing:-.04em;margin:14px 0}.manifesto-copy{font-size:22px;color:#c8ccd2;padding-top:45px}.section-heading,.builder-intro{display:flex;gap:35px;align-items:flex-start;margin-bottom:55px}.section-heading p,.builder-intro p{color:var(--muted);font-size:18px}.package-rail{display:grid;grid-template-columns:repeat(6,minmax(260px,1fr));gap:14px;overflow-x:auto;padding-bottom:15px}.package-card{min-height:470px;background:linear-gradient(180deg,#151a21,#0e1116);border:1px solid var(--line);border-radius:22px;padding:25px;display:flex;flex-direction:column;position:relative;overflow:hidden}.package-card:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--violet);filter:blur(80px);opacity:.22;right:-50px;top:-20px}.package-card .order{font-family:Georgia,serif;font-style:italic;color:var(--acid);font-size:26px}.package-card h3{font-size:26px;line-height:1.05;margin:40px 0 12px}.package-card .tag{font-weight:800;color:#dce2e8}.package-card p{color:var(--muted)}.package-card .metric{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.package-card .metric strong{font-size:24px}.package-card button{margin-top:18px}.builder{padding-top:70px}.builder-intro{max-width:850px}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:28px}.builder-main{display:grid;gap:18px}.step-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,42px)}.step-title{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.step-title>b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--acid);color:var(--acid)}.step-title h3{margin:0;font-size:27px}.step-title p{margin:5px 0;color:var(--muted)}.selector-grid,.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{border:1px solid var(--line);border-radius:14px;padding:17px;background:var(--panel2);cursor:pointer;transition:.2s}.choice:hover,.choice.active{border-color:var(--acid);box-shadow:0 0 0 1px var(--acid) inset}.choice h4{margin:0 0 5px}.choice p{margin:0;color:var(--muted);font-size:13px}.choice .price{display:block;margin-top:12px;font-size:20px;font-weight:800}.plan-grid{margin-top:16px}.addon-list{display:grid;gap:8px;max-height:760px;overflow:auto;padding-right:5px}.addon-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0d1116}.addon-row h4{margin:0 0 4px}.addon-row p{margin:0;color:var(--muted);font-size:13px}.addon-controls{display:flex;align-items:center;gap:10px}.addon-controls input{width:70px}.level-badge{font-size:11px;color:var(--acid)}.filter-row{display:flex;gap:10px;margin-bottom:14px}.filter-row input{flex:1}.ghost{border:1px solid var(--line);background:transparent;color:#fff;border-radius:10px;padding:0 16px;cursor:pointer}.camera-levels{display:grid;gap:12px}.camera-level{border:1px solid var(--line);border-radius:15px;overflow:hidden}.camera-level summary{cursor:pointer;list-style:none;padding:18px;display:flex;justify-content:space-between;gap:15px;background:var(--panel2)}.camera-level summary::-webkit-details-marker{display:none}.camera-level .camera-options{padding:12px;display:grid;gap:8px}.camera-option{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px}.camera-option label{display:flex;gap:10px;align-items:center}.camera-option strong{white-space:nowrap}.fields{display:grid;gap:14px;margin-top:14px}.fields.two{grid-template-columns:1fr 1fr}.fields.three{grid-template-columns:1fr 1fr 1fr}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,textarea,select{width:100%;background:#0b0e12;border:1px solid #343b46;border-radius:10px;padding:13px;color:#fff;font:inherit}textarea{resize:vertical}.check{grid-template-columns:auto 1fr;align-items:flex-start}.check input{width:18px;height:18px;margin-top:3px}.contract-copy{background:#0c1015;border:1px solid var(--line);border-radius:14px;padding:20px;color:#c8ccd2}.contract-copy h4{color:#fff;font-size:20px}.summary-card{position:relative}.summary-sticky{position:sticky;top:95px;background:var(--paper);color:#111;border-radius:22px;padding:25px}.summary-sticky h3{font-size:27px}.summary-lines{border-top:1px solid #c9c6bd;border-bottom:1px solid #c9c6bd;padding:15px 0;margin:16px 0}.summary-line{display:flex;justify-content:space-between;gap:15px;padding:6px 0;font-size:13px}.summary-line span:last-child{font-weight:800}.summary-total,.summary-due{display:flex;justify-content:space-between;align-items:end;margin-top:13px}.summary-total strong{font-size:28px}.summary-due{color:#53565b;margin-bottom:20px}.summary-due strong{font-size:20px}.micro{font-size:11px;color:#6f7379;text-align:center}.form-message{font-size:12px;margin-top:10px;color:#a20}.loading{color:var(--muted)}footer{border-top:1px solid var(--line);padding:50px clamp(24px,5vw,75px);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}@media(max-width:1050px){.builder-layout{grid-template-columns:1fr}.summary-card{order:-1}.summary-sticky{position:relative;top:0}.manifesto{grid-template-columns:1fr}.topbar nav{display:none}}@media(max-width:680px){.hero{min-height:auto}.hero-stat{position:static;margin-top:55px}.selector-grid,.plan-grid,.fields.two,.fields.three{grid-template-columns:1fr}.addon-row{grid-template-columns:1fr}.package-rail{grid-template-columns:repeat(6,82vw)}.topbar{padding:14px 18px}.topbar .pill{display:none}.hero-actions{align-items:flex-start;flex-direction:column}footer{flex-direction:column}}
.payment-shell{max-width:1180px;margin:0 auto;padding:90px 24px;display:grid;grid-template-columns:1fr 380px;gap:25px}.payment-card,.schedule-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px}.payment-card h1{font-size:clamp(44px,6vw,80px);line-height:.95;margin:20px 0}.payment-amount{margin:30px 0;background:var(--paper);color:#111;border-radius:18px;padding:24px;display:grid;gap:5px}.payment-amount strong{font-size:36px}.payment-amount small{color:#666}.gateway-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gateway{border:1px solid var(--line);background:var(--panel2);color:#fff;border-radius:14px;padding:18px;text-align:left;cursor:pointer}.gateway strong,.gateway span{display:block}.gateway span{color:var(--muted);font-size:12px;margin-top:4px}.gateway.active{border-color:var(--acid)}.gateway-panel{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.hidden{display:none}.pin-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.pinbox{height:48px;border:1px solid #343b46;border-radius:10px;padding:12px;background:#0b0e12}.schedule-card{height:max-content}.schedule-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.schedule-row span small{display:block;color:var(--muted)}.schedule-row em{grid-column:1/-1;font-size:10px;font-style:normal;letter-spacing:.12em}.status.paid{color:var(--acid)}.status.due{color:#ffb05c}.paid-banner{padding:18px;background:rgba(215,255,66,.12);border:1px solid rgba(215,255,66,.4);border-radius:12px;margin:25px 0}@media(max-width:850px){.payment-shell{grid-template-columns:1fr}.pin-fields,.gateway-grid{grid-template-columns:1fr}}
.pin-secure-header {
    margin-bottom: 24px;
}

.pin-secure-kicker {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.7;
}

.pin-secure-header h2 {
    margin: 0 0 10px;
    font-size: 28px;
}

.pin-secure-header p {
    margin: 0;
    line-height: 1.6;
    opacity: 0.82;
}

.pin-payment-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0 26px;
}

.pin-payment-summary > div {
    padding: 16px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    background: rgba(255,255,255,0.035);
}

.pin-payment-summary span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.6;
}

.pin-payment-summary strong {
    display: block;
    font-size: 16px;
    line-height: 1.35;
}

.pin-secure-form {
    margin-top: 10px;
}

.pin-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.pin-field {
    display: block;
}

.pin-field-wide {
    grid-column: 1 / -1;
}

.pin-field-label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.pinbox {
    min-height: 54px;
    padding: 15px 16px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 12px;
    background: rgba(255,255,255,0.055);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.pinbox:focus-within {
    border-color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.075);
    box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
}

.pin-field-error {
    display: block;
    min-height: 18px;
    margin-top: 6px;
    font-size: 12px;
    color: #ff8068;
}

.pin-security-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 20px 0;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    background: rgba(255,255,255,0.025);
}

.pin-security-note strong {
    white-space: nowrap;
}

.pin-security-note span {
    line-height: 1.45;
    opacity: 0.72;
}

@media (max-width: 760px) {
    .pin-payment-summary {
        grid-template-columns: 1fr;
    }

    .pin-fields {
        grid-template-columns: 1fr;
    }

    .pin-field-wide {
        grid-column: auto;
    }

    .pin-security-note {
        display: block;
    }

    .pin-security-note strong {
        display: block;
        margin-bottom: 4px;
    }
}

body.modal-open {
    overflow: hidden;
}

.leep-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.leep-modal.hidden {
    display: none;
}

.leep-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
    backdrop-filter: blur(10px);
}

.leep-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(1080px, 100%);
    max-height: calc(100vh - 48px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;
    background: #11161c;
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.55);
}

.leep-modal-header {
    padding: 30px 34px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.leep-modal-header h2 {
    margin: 8px 0 8px;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1;
}

.leep-modal-header p {
    margin: 0;
    max-width: 720px;
    line-height: 1.6;
    opacity: 0.75;
}

.leep-modal-progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 18px 34px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.modal-progress-step {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
    color: inherit;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    text-align: left;
}

.modal-progress-step span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    flex: 0 0 auto;
}

.modal-progress-step.active {
    border-color: #d7ff2f;
    background: rgba(215, 255, 47, 0.06);
}

.modal-progress-step.active span {
    border-color: #d7ff2f;
}

.leep-modal-body {
    overflow-y: auto;
    padding: 30px 34px 34px;
}

.leep-modal-stage {
    display: block;
}

.leep-modal-stage.hidden {
    display: none;
}

.modal-stage-heading {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 24px;
}

.modal-stage-heading .section-no {
    margin-top: 5px;
}

.modal-stage-heading h3 {
    margin: 0 0 8px;
    font-size: 28px;
}

.modal-stage-heading p {
    margin: 0;
    line-height: 1.55;
    opacity: 0.72;
}

.modal-choice-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 22px;
}

.modal-choice-bar .gateway {
    width: 100%;
    min-height: 78px;
    text-align: left;
}

.modal-actions {
    margin-top: 28px;
}

.modal-actions-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.modal-review-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.modal-review-grid > div {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
}

.modal-review-grid span {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.58;
}

.modal-review-grid strong {
    display: block;
    font-size: 17px;
    line-height: 1.4;
}

.configuration-summary {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.configuration-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 18px;
}

.configuration-summary-head h4 {
    margin: 7px 0 0;
}

.configuration-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.configuration-summary-grid > div {
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
}

.configuration-summary-grid span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    opacity: 0.58;
}

.configuration-summary-grid strong {
    display: block;
    line-height: 1.4;
}

@media (max-width: 820px) {
    .leep-modal {
        padding: 12px;
    }

    .leep-modal-dialog {
        max-height: calc(100vh - 24px);
        border-radius: 18px;
    }

    .leep-modal-header,
    .leep-modal-body {
        padding-left: 20px;
        padding-right: 20px;
    }

    .leep-modal-progress {
        grid-template-columns: 1fr 1fr;
        padding-left: 20px;
        padding-right: 20px;
    }

    .modal-choice-bar,
    .modal-review-grid,
    .configuration-summary-grid {
        grid-template-columns: 1fr;
    }

    .configuration-summary-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .modal-actions-split {
        flex-direction: column;
        align-items: stretch;
    }

    .modal-actions-split .ghost,
    .modal-actions-split .pill {
        width: 100%;
    }
}
/* LEEP configuration choice warning */
.leep-modal .form-message:not(.hidden) {
    margin: 18px 0;
    padding: 14px 16px;
    border: 1px solid rgba(255, 110, 110, .75);
    border-radius: 12px;
    background: rgba(255, 110, 110, .16);
    color: #ffdede;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}
/* Close / Cancel confirmation inside LEEP Configuration Modal */

.modal-close-warning {
    position: absolute;
    inset: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background: rgba(0, 0, 0, 0.78);
    backdrop-filter: blur(8px);
}

.modal-close-warning.hidden {
    display: none;
}

.modal-close-warning-card {
    width: min(560px, 100%);
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    background: #171c23;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.55);
}

.modal-close-warning-card h3 {
    margin: 0 0 12px;
    font-size: 28px;
}

.modal-close-warning-card p {
    margin: 0;
    color: #c8ccd2;
    font-size: 15px;
    line-height: 1.6;
}
/* Payment and Discount Option savings */

.payment-saving {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: var(--acid);
}

.payment-saving-regular {
    color: var(--muted);
}
/* ==========================================================
   CAST / CREW THREE CONTROL SELECTION ROW
   ========================================================== */

.crew-selection-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: end;
    margin-top: 18px;
}

.crew-selection-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.crew-selection-field > span {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
}

.crew-selection-field select,
.crew-selection-field input {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
}

.crew-selection-field select:disabled,
.crew-selection-field input:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.crew-selected-price {
    margin-top: 16px;
}


/* TABLET */

@media (max-width: 900px) {

    .crew-selection-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crew-selection-field:last-child {
        grid-column: 1 / -1;
    }
}


/* SMARTPHONE */

@media (max-width: 600px) {

    .crew-selection-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .crew-selection-field:last-child {
        grid-column: auto;
    }

    .crew-selection-field select,
    .crew-selection-field input {
        min-height: 50px;
    }
}

/* Cast / Crew selector field headings */

.crew-selection-field > span {
    color: #90D5FF;
}

/* ==========================================================
   CAST / CREW CONTROL VALUE COLORS
   ========================================================== */

.crew-selection-field select,
.crew-selection-field input {
    color: var(--acid);
    font-weight: 700;
}

.crew-selection-field select option {
    color: #0a0c0f;
}

/* ==========================================================
   CAST / CREW SELECTOR COLOR CORRECTIONS
   ========================================================== */

/* Field headings */
.crew-selection-field > span {
    color: #90D5FF;
}

/* Selected values inside controls */
.crew-selection-field select,
.crew-selection-field input {
    color: var(--acid);
    font-weight: 700;
}

/* Dropdown choices */
.crew-selection-field select option {
    color: var(--acid);
    background: #11151a;
}

/* Price labels */
.crew-selected-price span {
    color: #90D5FF;
}

/* Price and instructional values */
.crew-selected-price strong {
    color: #90D5FF;
    font-style: italic;
}

/* ==========================================================
   CAST / CREW PRICE AND SUBTOTAL
   ========================================================== */

.crew-selected-price {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.crew-price-line {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: baseline;
}

.crew-subtotal-line {
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.crew-subtotal-line strong {
    color: var(--acid);
    font-style: normal;
    font-weight: 800;
}

@media (max-width: 600px) {
    .crew-price-line {
        flex-direction: column;
        gap: 3px;
    }
}

/* ==========================================================
   CAST / CREW PRICE ALIGNMENT
   ========================================================== */

.crew-selected-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    margin-top: 16px;
    text-align: right;
}

.crew-price-line {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 8px;
    width: auto;
}

.crew-price-line span::after {
    content: " =";
}

.crew-price-line span {
    color: #90D5FF;
}

.crew-price-line strong {
    color: #90D5FF;
    font-style: italic;
}

.crew-subtotal-line {
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.crew-subtotal-line strong {
    color: var(--acid);
    font-style: normal;
    font-weight: 800;
}

@media (max-width: 600px) {

    .crew-selected-price {
        align-items: stretch;
        text-align: left;
    }

    .crew-price-line {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* ==========================================================
   PERSONNEL GROUP ACTION BUTTON
   ========================================================== */

.add-personnel-group {
    background: var(--acid);
    color: #0a0c0f;
    border-color: var(--acid);
    font-weight: 800;
}

.add-personnel-group:hover,
.add-personnel-group:focus {
    background: var(--acid);
    color: #0a0c0f;
}

/* ==========================================================
   CAST / CREW SERVICE TOTAL
   ========================================================== */

.crew-service-total {
    margin-top: 18px;
    text-align: right;
    color: var(--acid);
    font-weight: 800;
    text-decoration: underline;
}

.crew-service-total span,
.crew-service-total strong {
    color: var(--acid);
    font-weight: 800;
}

.crew-service-total strong {
    margin-left: 6px;
}

/* ==========================================================
   ADVANCED PRODUCTION CREW CHECKBOX SELECTOR
   ========================================================== */

.crew-service-selector {
    margin-top: 18px;
}

.crew-service-selector-header {
    margin-bottom: 18px;
}

.crew-selected-count {
    display: block;
    color: var(--acid);
    font-weight: 800;
    margin-bottom: 6px;
}

.crew-selector-help {
    display: block;
    color: #90D5FF;
    line-height: 1.5;
}

.crew-service-selector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
}

.crew-service-checkbox {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 10px;
    cursor: pointer;
    text-align: left;
}

.crew-service-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0 0;
    accent-color: var(--acid);
}

.crew-service-checkbox-name {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.crew-service-checkbox.selected {
    border-color: var(--acid);
}

.crew-service-checkbox.selected .crew-service-checkbox-name {
    color: var(--acid);
    font-weight: 700;
}

@media (max-width: 700px) {
    .crew-service-selector-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   STICKY ADVANCED PRODUCTION CREW GUIDANCE
   ========================================================== */

.crew-service-selector-header {
    position: sticky;
    top: 0;
    z-index: 20;

    padding: 12px 14px;
    margin-bottom: 18px;

    background: rgba(10, 12, 15, 0.96);
    backdrop-filter: blur(8px);

    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 10px;
}

.crew-selected-count {
    display: block;
    color: var(--acid);
    font-weight: 800;
    margin-bottom: 6px;
}

.crew-selector-help {
    display: block;
    color: #90D5FF;
    line-height: 1.45;
}


/* TABLET */

@media (max-width: 900px) {

    .crew-service-selector-header {
        top: 0;
        padding: 11px 12px;
    }

    .crew-selector-help {
        font-size: 0.92rem;
    }
}


/* SMARTPHONE */

@media (max-width: 600px) {

    .crew-service-selector-header {
        top: 0;
        padding: 10px 11px;
        border-radius: 8px;
    }

    .crew-selected-count {
        font-size: 0.95rem;
        margin-bottom: 4px;
    }

    .crew-selector-help {
        font-size: 0.84rem;
        line-height: 1.4;
    }
}