/* Careers page: California's red, yellow and warm cream palette. */
.application-page {
    background: radial-gradient(ellipse at 0% 35%, #ffd92324, transparent 45%),
                radial-gradient(ellipse at 100% 80%, #ff02020a, transparent 45%), var(--color-cream);
}
.apply-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 5%; background:#fff; box-shadow:0 3px 20px #2c1a1a0c; border-bottom:3px solid var(--color-yellow); }
.apply-header img { display:block; max-height:96px; object-fit:contain; }
.apply-header nav,.apply-controls { display:flex; align-items:center; gap:24px; }
.apply-header a { color:var(--color-dark); text-decoration:none; font-weight:600; transition:color .2s; }
.apply-header a:hover,.apply-header [aria-current=page] { color:#d00000; }
.apply-controls { gap:8px; }
.apply-controls a { padding:7px 10px; border-radius:9px; font-size:13px; }
.apply-controls a.active { background:var(--color-yellow); color:#2c1a1a; }
.apply-controls button { font-size:25px; background:none; border:0; color:inherit; cursor:pointer; padding:4px 8px; }
.apply-main { max-width:1280px; margin:auto; padding:36px 24px 72px; }
.apply-heading { position:relative; isolation:isolate; overflow:hidden; padding:44px 48px 46px; border-radius:24px; background:linear-gradient(90deg,#a50000f5 0%,#b50000eb 36%,#b5000060 62%,#b5000000 82%),url('fondo1.jpg') center 56%/cover; color:#fff; }
.apply-eyebrow { display:inline-block; padding:7px 13px; border:1px solid #ffffff60; border-radius:6px; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; background:#80000030; }
.apply-heading h1 { max-width:62%; margin:18px 0 14px; font-size:clamp(34px,4.5vw,58px); line-height:1.08; letter-spacing:-1.8px; text-transform:uppercase; font-weight:800; color:#fff; text-wrap:balance; }
.apply-heading p { max-width:min(520px,58%); font-size:16px; line-height:1.7; color:#fff8eb; }
.apply-roles { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.apply-roles a { display:flex; align-items:center; gap:8px; padding:7px 14px; background:var(--color-yellow); color:#2c1a1a; border:1px solid #ffe981; border-radius:100px; text-decoration:none; font-size:12px; font-weight:700; transition:transform .2s,background .2s; }
.apply-roles a:hover { transform:translateY(-3px); background:#fff; }
.apply-roles a>span:first-child { color:#c00000; }
.apply-card { position:relative; display:grid; grid-template-columns:3fr 2fr; margin:24px 0 0; background:#fff; border:1px solid #eedfcd; border-radius:20px; overflow:hidden; box-shadow:0 12px 40px #63270010,0 3px 10px #63270006; scroll-margin-top:24px; }
.application-form { padding:38px; min-width:0; border-top:5px solid var(--color-yellow); }
.apply-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.apply-field { min-width:0; }
.apply-field.wide { grid-column:1/-1; }
.apply-field label { display:block; font-size:13px; font-weight:600; margin-bottom:9px; }
.required { color:#cf0000; }
.apply-field input,.apply-field select,.apply-field textarea { width:100%; min-height:52px; border:1px solid #e5dfd7; border-radius:10px; padding:13px 15px; background:#fcfaf7; color:#2c1a1a; font:inherit; font-size:14px; transition:border-color .2s,background .2s,box-shadow .2s; scroll-margin-top:30px; }
.apply-field textarea { resize:vertical; }
.apply-field :is(input,select,textarea):hover { border-color:#bcab93; }
.apply-field :is(input,select,textarea):focus { background:#fff; border-color:#b28b00; outline:3px solid #ffd92365; outline-offset:2px; box-shadow:0 4px 14px #ffd92315; }
.apply-note { font-size:12px; color:#74695e; margin:0 0 24px; line-height:1.7; }
.apply-fields+.apply-note { margin:24px 0 16px; }
.apply-captcha { position:relative; padding:20px 22px; background:linear-gradient(120deg,#fff9e4,#fffdf4); border:1px dashed #d9b943; border-radius:12px; }
.apply-captcha strong { display:block; width:fit-content; padding:3px 14px; background:#ffe890; border-radius:7px; color:#38200d; font-size:24px; letter-spacing:3px; margin-top:12px; }
.apply-captcha input { max-width:140px; background:#fff; }
.apply-captcha small { display:block; margin-top:8px; font-size:12px; }
.apply-submit { width:100%; min-height:56px; cursor:pointer; border:0; border-radius:12px; background:var(--color-yellow); color:#2c1a1a; font:inherit; font-weight:700; box-shadow:0 5px 0 #d5ad05,0 8px 20px #ffd92330; transition:transform .2s,box-shadow .2s,background .2s; }
.apply-submit:hover { background:#ffe35a; color:#2c1a1a; transform:translateY(-2px); box-shadow:0 7px 0 #d5ad05,0 12px 24px #ffd92340; }
.apply-submit:active { transform:translateY(3px); box-shadow:0 2px 0 #d5ad05; }
.apply-aside { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(circle at 100% 0%,#ff3420,transparent 42%),linear-gradient(155deg,#e50808,#aa0000); color:#fff; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:42px 32px; gap:24px; }
.apply-aside::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.14; background-image:radial-gradient(#ffd923 1px,transparent 1px); background-size:16px 16px; mask-image:linear-gradient(#000,transparent 55%,#000); }
.apply-aside::after { content:''; position:absolute; z-index:-1; width:380px; height:380px; border:1px solid #ffffff26; border-radius:50%; right:-210px; bottom:12%; box-shadow:0 0 0 35px #ffffff08,0 0 0 70px #ffffff05; }
.apply-mascot { width:190px; height:190px; flex-shrink:0; display:grid; place-items:center; background:var(--color-yellow); border:8px solid #fff5; border-radius:50%; box-shadow:0 14px 30px #67000030; transform:rotate(-7deg); margin-bottom:8px; }
.apply-mascot img { width:200px; max-width:110%; height:auto; transform:rotate(7deg); filter:drop-shadow(0 6px 2px #6a27001a); }
.apply-aside h2 { font-size:clamp(28px,3vw,39px); font-weight:800; line-height:1.13; letter-spacing:-1px; text-wrap:balance; }
.apply-aside>p { font-size:15px; line-height:1.85; max-width:320px; color:#fff8ee; }
.apply-stores { border:1px solid #ffffff45; border-radius:16px; padding:22px; width:100%; font-size:12px; text-align:left; background:#80000028; }
.apply-stores h3 { color:#ffe454; font-size:11px; letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
.apply-stores p { display:flex; align-items:center; gap:12px; line-height:1.75; }
.apply-stores strong { font-size:16px; }
.apply-stores p+p { border-top:1px solid #ffffff30; margin-top:18px; padding-top:18px; }
.apply-location-dot { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; background:#ffd923; color:#8d0000; font-size:20px; }
.apply-footer { text-align:center; padding:24px; border-top:4px solid var(--color-yellow); font-size:12px; }
.apply-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.apply-notice { padding:16px; border-radius:10px; margin-bottom:24px; }
.apply-notice.error { background:#fff0ee; color:#9c1616; }
.apply-notice.success { background:#e9f8ea; color:#1a6526; }
.application-page :is(a,button):focus-visible { outline:3px solid #c18d00; outline-offset:4px; }
.dark-mode .apply-header,.dark-mode .apply-card { background:var(--color-surface-1); border-color:var(--color-border); }
.dark-mode .apply-field :is(input,select,textarea) { background:var(--color-surface-2); color:var(--color-dark); border-color:var(--color-border); }
.dark-mode .apply-captcha { background:#38301b; border-color:#89702e; }
.dark-mode .apply-note { color:#ccc; }
.dark-mode .required { color:#ff7777; }
.dark-mode .apply-header [aria-current=page] { color:#ff7777; }
@media(max-width:900px) {
    .apply-card { grid-template-columns:1fr; }
    .apply-aside { padding:36px 28px; gap:20px; }
    .apply-mascot { width:170px; height:170px; }
    .apply-mascot img { width:180px; }
    .apply-stores { max-width:450px; }
    .apply-header { flex-wrap:wrap; gap:12px; }
    .apply-header nav { order:3; width:100%; justify-content:center; gap:20px; font-size:14px; }
    .apply-heading { padding:36px 32px; }
}
@media(max-width:540px) {
    .apply-main { padding:20px 12px 40px; }
    .apply-heading { padding:28px 22px 32px; border-radius:20px; background-position:60% center; background-image:linear-gradient(90deg,#a50000f2,#b50000c9),url('fondo1.jpg'); }
    .apply-heading h1 { max-width:100%; letter-spacing:-1px; }
    .apply-heading p { max-width:100%; font-size:14px; }
    .apply-eyebrow { font-size:9px; letter-spacing:1.4px; }
    .apply-roles { gap:7px; }
    .apply-roles a { padding:6px 10px; font-size:11px; }
    .application-form { padding:26px 18px; }
    .apply-fields { grid-template-columns:1fr; gap:18px; }
    .apply-header img { width:82px; }
    .apply-card { border-radius:16px; margin:18px 0 0; }
    .apply-field :is(input,select,textarea) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
    .application-page * { scroll-behavior:auto !important; transition:none !important; }
}
