/* Cavemen Talent Portal — form.css (all ct- prefixed, matches template + JS) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

.ct-wrap{--cm-bg:#0a0a0a;--cm-bg-card:#161616;--cm-border:rgba(255,255,255,0.07);--cm-border-gold:rgba(201,168,76,0.3);--cm-text:#f0f0f0;--cm-text-2:#9a9a9a;--cm-text-3:#5a5a5a;--cm-gold:#c9a84c;--cm-gold-light:#e2c77a;--cm-gold-dim:rgba(201,168,76,0.12);font-family:'DM Sans',sans-serif;background:var(--cm-bg);color:var(--cm-text);max-width:900px;margin:0 auto;padding:0 0 60px;box-sizing:border-box}
.ct-wrap *,.ct-wrap *::before,.ct-wrap *::after{box-sizing:border-box;margin:0;padding:0}
.ct-hero{padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,2.5rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--cm-border);position:relative;overflow:hidden}
.ct-hero::before{content:'TALENT';position:absolute;right:-4%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(80px,15vw,180px);font-weight:300;color:rgba(201,168,76,.04);pointer-events:none;white-space:nowrap;letter-spacing:-.02em;line-height:1}
.ct-eyebrow{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cm-gold);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}
.ct-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--cm-gold)}
.ct-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1;letter-spacing:-.02em;color:var(--cm-text);margin:0 0 1rem;max-width:600px}
.ct-title em{font-style:italic;color:var(--cm-gold)}
.ct-sub{font-size:.95rem;font-weight:300;color:var(--cm-text-2);max-width:480px;line-height:1.65;margin-bottom:1.75rem}
.ct-form{padding:0 clamp(1.5rem,4vw,2.5rem)}
.ct-section{border-bottom:1px solid var(--cm-border);padding:2.25rem 0}
.ct-section:last-of-type{border-bottom:none}
.ct-section-alt{background:#111;margin:0 -2.5rem;padding:2.25rem 2.5rem}
.ct-eyebrow-sm{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cm-gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}
.ct-eyebrow-sm::after{content:'';flex:1;max-width:40px;height:1px;background:var(--cm-gold);opacity:.45}
.ct-grid{display:grid;gap:1.1rem 1.25rem}
.ct-grid-2{grid-template-columns:1fr 1fr}
.ct-grid-3{grid-template-columns:1fr 1fr 1fr}
.ct-full{grid-column:1/-1}
@media(max-width:600px){.ct-grid-2,.ct-grid-3{grid-template-columns:1fr}}
.ct-field label,.ct-label-sm{display:block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--cm-text-3);margin-bottom:.45rem}
.ct-req{color:var(--cm-gold)}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;background:var(--cm-bg-card);border:1px solid var(--cm-border);border-radius:0;color:var(--cm-text);font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:300;padding:.7rem .9rem;outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;appearance:none}
.ct-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235a5a5a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.25rem;cursor:pointer}
.ct-field textarea{resize:vertical;min-height:85px;line-height:1.6}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:var(--cm-border-gold);background:#1f1f1f;box-shadow:0 0 0 3px var(--cm-gold-dim)}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:var(--cm-text-3)}
.ct-hint{font-size:.7rem;color:var(--cm-text-3);margin-top:.35rem;font-style:italic;display:block}
.ct-checks{display:flex;flex-wrap:wrap;gap:.45rem}
.ct-check{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;cursor:pointer;border:1px solid var(--cm-border);background:var(--cm-bg-card);font-size:.78rem;color:var(--cm-text-2);transition:all .15s;user-select:none}
.ct-check input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.ct-check-box{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;border:1px solid var(--cm-text-3);transition:all .15s;flex-shrink:0}
.ct-check.checked{border-color:var(--cm-border-gold);background:var(--cm-gold-dim);color:var(--cm-gold)}
.ct-check.checked .ct-check-box{background:var(--cm-gold);border-color:var(--cm-gold)}
.ct-check.checked .ct-check-box::after{content:'';display:block;width:4px;height:7px;border:1.5px solid #0a0a0a;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}
.ct-terms-check{align-items:flex-start;padding:1rem;width:100%;font-size:.82rem;line-height:1.5;gap:.85rem}
.ct-terms-check .ct-check-box{margin-top:2px}
.ct-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:1px;background:var(--cm-border);margin-bottom:0}
.ct-skill{cursor:pointer;user-select:none}
.ct-skill input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.ct-skill-box{display:block;background:var(--cm-bg);padding:.75rem .9rem;font-size:.78rem;color:var(--cm-text-2);transition:all .15s;text-align:center}
.ct-skill:hover .ct-skill-box{background:var(--cm-bg-card)}
.ct-skill.checked .ct-skill-box{background:var(--cm-gold-dim);color:var(--cm-text);border:1px solid var(--cm-border-gold)}
.ct-upload{border:1px dashed var(--cm-border-gold);background:var(--cm-bg-card);padding:2rem;text-align:center;cursor:pointer;transition:all .2s;position:relative}
.ct-upload:hover,.ct-upload.drag{border-color:var(--cm-gold);background:var(--cm-gold-dim)}
.ct-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.ct-upload-icon{font-size:1.75rem;color:var(--cm-gold);opacity:.7;margin-bottom:.6rem}
.ct-upload p{font-size:.82rem;color:var(--cm-text-2);line-height:1.5}
.ct-upload p strong{color:var(--cm-text);font-weight:500}
.ct-upload small{font-size:.68rem;color:var(--cm-text-3);display:block;margin-top:.3rem}
.ct-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}
.ct-thumb-wrap{position:relative;display:inline-block}
.ct-thumb{width:72px;height:72px;object-fit:cover;border:1px solid var(--cm-border);display:block}
.ct-thumb-remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;background:var(--cm-gold);color:#0a0a0a;font-size:10px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;border:none;line-height:1}
.ct-terms{background:var(--cm-bg-card);border:1px solid var(--cm-border);border-left:2px solid var(--cm-gold);padding:1.5rem;max-height:300px;overflow-y:auto;margin-bottom:1.25rem;font-size:.78rem;color:var(--cm-text-2);line-height:1.7;scrollbar-width:thin;scrollbar-color:var(--cm-border-gold) var(--cm-bg-card)}
.ct-terms h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.05rem;color:var(--cm-text);margin-bottom:.85rem}
.ct-terms h4{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--cm-text);margin:1.1rem 0 .35rem}
.ct-terms p{margin-bottom:.55rem}
.ct-submit-wrap{padding:2rem 0;text-align:center}
.ct-error{background:rgba(201,168,76,.06);border:1px solid var(--cm-border-gold);color:var(--cm-gold-light);padding:.8rem 1.1rem;font-size:.8rem;margin-bottom:1.25rem;display:none}
.ct-btn{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2.5rem;border:none;border-radius:0;background:var(--cm-gold);color:#0a0a0a;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}
.ct-btn:hover{background:var(--cm-gold-light);transform:translateY(-1px)}
.ct-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ct-success{text-align:center;padding:5rem 2rem;display:none}
.ct-success-icon{width:68px;height:68px;border:1px solid var(--cm-border-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1.25rem;background:var(--cm-gold-dim)}
.ct-success h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2.5rem;letter-spacing:-.02em;margin-bottom:.75rem}
.ct-success h3 em{font-style:italic;color:var(--cm-gold)}
.ct-success p{color:var(--cm-text-2);font-size:.9rem;font-weight:300;max-width:420px;margin:0 auto 2rem;line-height:1.65}
@media(max-width:560px){.ct-hero,.ct-form{padding-left:1.25rem;padding-right:1.25rem}.ct-section-alt{margin:0 -1.25rem;padding:2rem 1.25rem}.ct-skills-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.ct-field input,.ct-field select,.ct-field textarea{font-size:16px !important}}
