*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--white:#ffffff;--off:#f9fafb;--off2:#f3f4f6;--ink:#111827;--ink2:#374151;--ink3:#4b5563;--muted:#9ca3af;--line:#e5e7eb;--line2:#f3f4f6;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#eef2ff;--accent-mid:#c7d2fe;--green:#059669;--green-light:#ecfdf5}html{scroll-behavior:smooth}body{font-family:Figtree,sans-serif;background:var(--off);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-inner{padding:0 2rem;height:60px;display:flex;align-items:center;gap:2rem}.logo{font-family:Cormorant Garamond,serif;font-size:1.55rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;flex-shrink:0;text-decoration:none}.logo em{font-style:italic;color:var(--accent)}.search-wrap{flex:1 1;max-width:480px;position:relative}.search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-wrap input{width:100%;height:40px;padding:0 14px 0 40px;border:1px solid var(--line);border-radius:10px;font-family:Figtree,sans-serif;font-size:.9rem;color:var(--ink);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.search-wrap input::placeholder{color:var(--muted)}.nav-right{margin-left:auto;display:flex;align-items:center;gap:1rem}.nav-count{font-size:.82rem;color:var(--ink3);background:var(--off2);padding:.35rem .85rem;border-radius:100px}.nav-count strong{color:var(--accent);font-weight:700}.layout{margin:0 auto;padding:1.5rem 2rem 3rem;display:grid;grid-template-columns:230px 1fr;grid-gap:2rem;gap:2rem}.sidebar{align-self:start}.filter-group{position:relative;margin-bottom:1.5rem;background:var(--white);border-radius:12px;border:1px solid var(--line);padding:1rem}.filter-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:.6rem;display:block}.filter-list{display:flex;flex-direction:column;gap:2px}.location-search{position:relative;display:flex;align-items:center}.location-search svg{position:absolute;left:10px;color:var(--muted);pointer-events:none;flex-shrink:0}.location-search input{width:100%;height:36px;padding:0 30px 0 34px;border:1px solid var(--line);border-radius:8px;font-family:Figtree,sans-serif;font-size:.82rem;color:var(--ink);background:var(--off);outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.location-search input:focus{border-color:var(--accent);background:var(--white);box-shadow:0 0 0 3px rgba(79,70,229,.08)}.location-search input::placeholder{color:var(--muted)}.location-clear{position:absolute;right:6px;width:22px;height:22px;border:none;background:var(--line);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink3);transition:background .12s}.location-clear:hover{background:var(--muted);color:var(--white)}.loc-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:50;max-height:260px;overflow-y:auto;padding:4px}.loc-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .65rem;border:none;background:none;font-family:Figtree,sans-serif;font-size:.82rem;color:var(--ink2);border-radius:7px;cursor:pointer;transition:background .1s;text-align:left}.loc-option:hover{background:var(--off)}.loc-option.active{background:var(--accent-light);color:var(--accent);font-weight:600}.loc-count{font-size:.7rem;color:var(--muted);font-weight:500;background:var(--off);padding:.1rem .45rem;border-radius:4px}.f-item{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:8px;cursor:pointer;font-size:.84rem;color:var(--ink2);transition:background .1s,color .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.f-item:hover{background:var(--off)}.f-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.f-item input{display:none}.f-check{width:16px;height:16px;border:1.5px solid var(--line);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.f-item.active .f-check{background:var(--accent);border-color:var(--accent)}.f-check svg{display:none}.f-item.active .f-check svg{display:block}.f-count{margin-left:auto;font-size:.72rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.f-item.active .f-count{color:var(--accent)}.jobs-panel{min-width:0}.jobs-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.toolbar-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;color:var(--ink);letter-spacing:-.02em}.toolbar-sub{font-size:.8rem;color:var(--muted);margin-top:.15rem}.sort-select{font-family:Figtree,sans-serif;font-size:.82rem;color:var(--ink2);background:var(--white);border:1px solid var(--line);border-radius:8px;padding:.45rem .8rem;outline:none;cursor:pointer;transition:border-color .15s}.sort-select:focus{border-color:var(--accent)}.jobs-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem}.job-card{display:flex;flex-direction:column;padding:1.15rem 1.25rem;background:var(--white);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;animation:fadeIn .25s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.job-card:hover{border-color:var(--accent-mid);box-shadow:0 4px 16px rgba(79,70,229,.08);transform:translateY(-1px)}.job-left{min-width:0;flex:1 1}.job-row1{gap:.75rem;margin-bottom:.35rem}.job-logo,.job-row1{display:flex;align-items:center}.job-logo{width:38px;height:38px;border-radius:10px;justify-content:center;font-size:.72rem;font-weight:800;color:var(--ink);flex-shrink:0;letter-spacing:.02em}.job-title{font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.35;min-width:0}.job-company{font-size:.8rem;color:var(--muted);margin-bottom:.6rem;display:flex;align-items:center;gap:.35rem}.job-chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{font-size:.72rem;font-weight:500;padding:.22rem .6rem;border-radius:6px;background:var(--off);border:1px solid var(--line);color:var(--ink3);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.chip svg{width:10px;height:10px;flex-shrink:0}.chip.tag{background:var(--accent-light);color:var(--accent);border-color:var(--accent-mid);font-weight:600}.job-right{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--line2);margin-top:.75rem}.source-tag{font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:6px;white-space:nowrap;letter-spacing:.01em}.job-date{font-size:.72rem;color:var(--muted);white-space:nowrap;margin-left:auto}.apply-btn{font-size:.78rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:8px;transition:background .12s;white-space:nowrap}.apply-btn:hover{background:var(--accent-light)}.state-box{text-align:center;padding:5rem 2rem;color:var(--muted);background:var(--white);border-radius:12px;border:1px solid var(--line)}.state-box h3{font-size:1.1rem;color:var(--ink);margin-bottom:.4rem}.state-box p{font-size:.88rem}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer{background:linear-gradient(90deg,var(--off2) 25%,var(--line2) 37%,var(--off2) 63%);background-size:800px 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}.shimmer-card{pointer-events:none;border-color:var(--line2)}.shimmer-row1{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.shimmer-logo{width:38px;height:38px;border-radius:10px;flex-shrink:0}.shimmer-title{height:14px;width:70%}.shimmer-company{height:11px;width:45%;margin-bottom:.7rem}.shimmer-chips{display:flex;gap:.35rem;margin-bottom:.75rem}.shimmer-chip{height:24px;width:72px;border-radius:6px}.shimmer-chip.short{width:52px}.shimmer-bottom{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--line2);margin-top:auto}.shimmer-tag{height:20px;width:64px;border-radius:6px}.shimmer-date{height:11px;width:48px;margin-left:auto}.modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;padding:2rem}.modal{width:740px;max-width:100%;max-height:calc(100vh - 4rem);background:var(--white);border-radius:20px;border:1px solid var(--line);box-shadow:0 24px 48px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:1.75rem 2rem 1.25rem;display:flex;align-items:flex-start;gap:1rem}.modal-logo{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;flex-shrink:0;letter-spacing:.02em}.modal-title-block{flex:1 1;min-width:0}.modal-title{font-family:Cormorant Garamond,serif;font-size:1.55rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.2;margin-bottom:.3rem}.modal-company{font-size:.88rem;color:var(--muted)}.modal-close{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:all .12s}.modal-close:hover{background:var(--off);color:var(--ink);border-color:var(--ink2)}.modal-meta{padding:.85rem 2rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;background:var(--off);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.modal-body{flex:1 1;overflow-y:auto;padding:1.75rem 2rem}.modal-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:0;gap:0;margin-bottom:1.75rem;border:1px solid var(--line);border-radius:12px;overflow:hidden}.detail-row{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--ink2);padding:.75rem 1rem;background:var(--off);border-bottom:1px solid var(--line)}.detail-row:last-child{border-bottom:none}.detail-row svg{color:var(--accent);flex-shrink:0}.detail-row span{font-size:.7rem;letter-spacing:.06em;color:var(--muted);min-width:60px}.detail-row span,.modal-section-title{font-weight:700;text-transform:uppercase}.modal-section-title{font-size:.72rem;letter-spacing:.08em;color:var(--ink3);margin-bottom:.75rem;margin-top:1.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line2)}.modal-section-title:first-child{margin-top:0}.modal-description{font-size:.9rem;color:var(--ink2);line-height:1.75}.modal-description p{margin-bottom:.75rem}.modal-description p:last-child{margin-bottom:0}.modal-description h1,.modal-description h2,.modal-description h3,.modal-description h4,.modal-description h5,.modal-description h6{font-size:.95rem;font-weight:600;color:var(--ink);margin:1rem 0 .5rem}.modal-description ol,.modal-description ul{margin:.5rem 0;padding-left:1.5rem}.modal-description li{margin-bottom:.3rem;line-height:1.6}.modal-tags{display:flex;flex-wrap:wrap;gap:.4rem}.modal-tag{font-size:.76rem;font-weight:600;padding:.3rem .7rem;border-radius:8px;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-mid)}.modal-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem}.modal-list li{font-size:.85rem;color:var(--ink2);line-height:1.55;padding-left:1.4rem;position:relative}.modal-list li:before{content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;border-radius:50%;background:var(--accent-mid)}.modal-benefits{display:flex;flex-wrap:wrap;gap:.4rem}.modal-benefit{font-size:.76rem;font-weight:500;padding:.3rem .7rem;border-radius:8px;background:var(--green-light);color:var(--green);border:1px solid #a7f3d0}.modal-footer{padding:1rem 2rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--off)}.modal-source-info{font-size:.8rem;color:var(--muted)}.modal-source-info strong{color:var(--ink2);font-weight:600}.modal-apply{display:inline-flex;align-items:center;gap:.45rem;font-family:Figtree,sans-serif;font-size:.88rem;font-weight:700;color:white;background:var(--accent);border:none;border-radius:10px;padding:.7rem 1.5rem;text-decoration:none;cursor:pointer;transition:all .15s;white-space:nowrap;box-shadow:0 2px 8px rgba(79,70,229,.25)}.modal-apply:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(79,70,229,.35);transform:translateY(-1px)}.modal-copy{display:inline-flex;align-items:center;gap:.4rem;font-family:Figtree,sans-serif;font-size:.82rem;font-weight:600;color:var(--ink2);background:var(--white);border:1px solid var(--line);border-radius:10px;padding:.7rem 1.1rem;cursor:pointer;transition:all .13s;white-space:nowrap}.modal-copy:hover{background:var(--off2);border-color:var(--ink3)}.modal-copy.copied{color:var(--green);border-color:#a7f3d0;background:var(--green-light)}.job-detail-layout{max-width:1100px;margin:0 auto;padding:1.5rem 2rem 3rem;display:grid;grid-template-columns:1fr 320px;grid-gap:2rem;gap:2rem}.job-detail{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden}.job-detail-back{display:inline-flex;align-items:center;gap:.4rem;padding:1.25rem 1.75rem 0;font-size:.82rem;font-weight:500;color:var(--accent);text-decoration:none;transition:color .12s}.job-detail-back:hover{color:var(--accent-hover)}.job-detail-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.75rem}.job-detail-logo{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:var(--ink);flex-shrink:0}.job-detail-title{font-size:1.35rem;font-weight:700;color:var(--ink);line-height:1.3;margin:0}.job-detail-company{font-size:.88rem;color:var(--muted);margin-top:.2rem}.job-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.85rem 1.75rem;background:var(--off);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.job-detail-info{padding:1.25rem 1.75rem;display:flex;flex-direction:column;gap:.75rem}.job-detail-section{padding:0 1.75rem 1.5rem}.job-detail-section-title{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.job-detail-description{font-size:.9rem;line-height:1.7;color:var(--ink2)}.job-detail-description p{margin-bottom:.75rem}.job-detail-description ol,.job-detail-description ul{padding-left:1.25rem;margin-bottom:.75rem}.job-detail-description li{margin-bottom:.3rem}.job-detail-list{list-style:none;padding:0}.job-detail-list li{position:relative;padding-left:1.25rem;margin-bottom:.5rem;font-size:.88rem;color:var(--ink2);line-height:1.5}.job-detail-list li:before{content:"";position:absolute;left:0;top:.55rem;width:6px;height:6px;border-radius:50%;background:var(--accent)}.job-detail-benefits,.job-detail-tags{display:flex;flex-wrap:wrap;gap:.4rem}.job-detail-footer{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;background:var(--off);border-top:1px solid var(--line)}.job-detail-source{font-size:.82rem;color:var(--muted)}.related-jobs{align-self:start}.related-jobs-title{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.75rem}.related-jobs-list{display:flex;flex-direction:column;gap:.6rem}.related-job-card{display:flex;gap:.75rem;padding:1rem;background:var(--white);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.related-job-card:hover{border-color:var(--accent-mid);box-shadow:0 4px 12px rgba(79,70,229,.08)}.related-job-logo{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--ink);flex-shrink:0}.related-job-info{min-width:0}.related-job-title{font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:.15rem}.related-job-company{font-size:.75rem;color:var(--muted);margin-bottom:.4rem}.related-job-chips{display:flex;flex-wrap:wrap;gap:.3rem}.remote-badge{font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:6px;background:var(--green-light);color:var(--green);letter-spacing:.02em}.job-overview{display:flex;flex-wrap:wrap;gap:0;margin:1rem 1.75rem 1.5rem;background:var(--off);border:1px solid var(--line);border-radius:12px;overflow:hidden}.job-overview-item{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex:1 1 auto;min-width:160px}.job-overview-item>svg{color:var(--accent);flex-shrink:0}.job-overview-item>div{display:flex;flex-direction:column;gap:.1rem}.job-overview-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);line-height:1}.job-overview-value{font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.3}.tech-tag{display:inline-flex;align-items:center;padding:.3rem .7rem;font-size:.78rem;font-weight:600;border-radius:6px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.job-sidebar{display:flex;flex-direction:column;gap:1rem;align-self:start}.company-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.company-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.company-card-name{font-size:.95rem;font-weight:700;color:var(--ink)}.company-card-industry{font-size:.78rem;color:var(--muted);margin-top:.1rem}.company-card-details{display:flex;flex-direction:column;gap:.5rem}.company-card-row{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--ink2)}.company-card-row svg{color:var(--muted);flex-shrink:0}.company-card-link{color:var(--accent);text-decoration:none;font-weight:500}.company-card-link:hover{text-decoration:underline}.company-card-desc{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink3);line-height:1.6}.apply-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1.25rem;text-align:center}.apply-card-title{font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:.75rem}.apply-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.7rem 1.25rem;background:var(--accent);color:var(--white);font-size:.9rem;font-weight:700;border-radius:10px;text-decoration:none;transition:background .12s}.apply-card-btn:hover{background:var(--accent-hover)}.apply-card-source{font-size:.75rem;color:var(--muted);margin-top:.6rem}@media (max-width:1100px){.jobs-list{grid-template-columns:repeat(2,1fr)}.job-detail-layout{grid-template-columns:1fr}.job-sidebar{order:2}}@media (max-width:768px){.layout{grid-template-columns:1fr;gap:1.5rem;padding:1rem}.sidebar{display:none}.jobs-list{grid-template-columns:1fr}.job-card,.job-detail-header,.job-detail-layout{padding:1rem}.job-detail-meta{padding:.75rem 1rem}.job-detail-info{padding:1rem}.job-detail-section{padding:0 1rem 1.25rem}.job-detail-footer{padding:1rem;flex-direction:column;gap:.75rem}.job-overview{margin:0 1rem 1.25rem}.job-overview-item{min-width:140px}}