:root{font-family:Inter,system-ui,sans-serif;color:#0b2858;background:#f3f8ff}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-head{height:82px;background:white;border-bottom:1px solid #dbe5f0;display:flex;align-items:center;gap:4vw;padding:0 clamp(18px,4vw,64px)}.brand{display:flex;flex-direction:column;line-height:.85;color:#00245e;width:max-content;white-space:nowrap}.brand strong{font-size:42px;letter-spacing:-4px;font-style:italic;font-weight:800}.brand small{font-size:10px;letter-spacing:4px;font-weight:800;margin-top:8px}.site-head nav{display:flex;align-items:center;gap:clamp(15px,3vw,45px);margin-left:8vw}.site-head nav a{padding:30px 0}.site-head nav .current{border-bottom:2px solid #0873ef}.head-actions{display:flex;align-items:center;gap:30px;margin-left:auto;white-space:nowrap}.primary{border:0;border-radius:12px;background:#076bf2;color:white;padding:14px 25px;font-weight:700;box-shadow:0 3px 10px #086af222}.primary.small{padding:12px 27px}main{max-width:1560px;margin:0 auto;padding:30px clamp(18px,3vw,50px) 70px}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center}.intro h1{font-size:clamp(26px,2.7vw,39px);letter-spacing:-1.5px;margin:0 0 12px}.intro p{margin:0;font-size:16px}.search-wrap{width:min(355px,35%);height:51px;display:flex;align-items:center;gap:12px;background:white;border:1px solid #d3deeb;border-radius:15px;padding:0 18px;box-shadow:0 2px 10px #162c490a}.search-wrap span{font-size:25px}.search-wrap input{border:0;outline:0;min-width:0;width:100%;font-size:14px}.controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:28px 0 0}.controls button,.controls label{display:flex;align-items:center;gap:8px;border:1px solid #d4dfeb;background:white;border-radius:14px;padding:11px 15px;font-size:14px;color:#0b2858}.controls select{border:0;background:transparent;color:#0b2858;max-width:235px;cursor:pointer;outline:0}.controls .sort{margin-left:auto}.preference-note{font-size:12px;color:#50627e;margin:10px 0 17px}#status{font-size:14px;color:#52647c;min-height:18px}.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.job-card{background:#fff;border:1px solid #dce6f2;border-radius:16px;box-shadow:0 4px 15px #203d6010;padding:20px 22px;min-height:244px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.badge{color:white;background:#008e65;border-radius:7px;font-size:12px;font-weight:700;padding:7px 12px;white-space:nowrap}.badge.good{background:#0588dc}.posted{font-size:12px;color:#62718a;white-space:nowrap}.company{font-size:17px;font-weight:800;margin:19px 0 7px;min-height:22px}.job-card h2{font-size:18px;line-height:1.3;margin:0 0 10px;overflow-wrap:anywhere}.card-meta{display:flex;flex-direction:column;gap:7px;color:#455876;font-size:13px;margin-top:auto}.card-meta span{overflow-wrap:anywhere}.category{display:inline-block;border-radius:8px;background:#e4f0fc;color:#1764a0;padding:5px 9px;font-size:12px}.card-link{margin-top:14px;color:#066aec;font-weight:700;font-size:13px}.job-card.masked .company,.job-card.masked h2,.job-card.masked .card-meta{filter:blur(3px);user-select:none;pointer-events:none}.job-card.masked h2{filter:blur(1.7px)}.job-card.masked .company{filter:blur(3px)}.job-card.masked .card-meta{filter:blur(2.6px)}.job-card.masked{cursor:pointer}.unlock-message{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;background:#e9f2ff;padding:18px 24px;border-radius:16px}.unlock-message button{margin-left:auto}.overlay{position:fixed;inset:0;background:#16283f88;backdrop-filter:blur(4px);display:grid;place-items:center;z-index:10;padding:16px;overflow:auto}.overlay[hidden]{display:none}.modal{position:relative;background:white;width:min(770px,100%);border-radius:27px;padding:25px clamp(22px,5vw,75px) 28px;text-align:center;box-shadow:0 18px 60px #0b244344}.modal-brand{margin:0 auto}.modal-brand strong{font-size:54px}.modal-brand small{font-size:11px}.modal h2{font:600 clamp(37px,4vw,61px)/.96 Caveat,cursive;letter-spacing:-.8px;margin:27px 0 17px;color:#00245e}.modal-intro{font-size:19px;line-height:1.5;margin:0 auto 20px;max-width:530px}.field{text-align:left;max-width:490px;margin:8px auto;position:relative}.field label{font-size:12px;font-weight:700;color:#4e6078}.field-input{height:62px;display:flex;align-items:center;gap:14px;border:1px solid #cad5e3;border-radius:14px;padding:0 18px}.field-input span{font-size:23px;color:#056be9}.field-input input,.field-input select{border:0;outline:0;width:100%;min-width:0;background:white;font-size:18px;color:#1a2f51}.field-input select{font-size:15px}#locationList{list-style:none;position:absolute;top:100%;left:0;right:0;z-index:2;background:white;border:1px solid #d0deeb;border-radius:10px;padding:5px;box-shadow:0 10px 25px #18325126;max-height:210px;overflow:auto}#locationList[hidden]{display:none}#locationList li{padding:9px;cursor:pointer}#locationList li:hover,#locationList .rlw-active{background:#eaf3ff}#locationStatus{font-size:12px}.privacy{max-width:490px;margin:17px auto 10px;display:flex;gap:18px;text-align:left;background:#e5f6f1;border:1px solid #b6e1d8;border-radius:15px;padding:18px 23px;color:#075b41;line-height:1.4}.privacy strong{font-size:18px}.lock{font-size:30px;color:#068859}.submit{width:min(605px,100%);border-radius:45px;font-size:24px;padding:19px}.reassure{color:#62758e;margin:14px 0 0;font-size:14px}#formError{color:#b32828;min-height:16px;font-size:13px;margin:0 0 4px}
@media(max-width:1100px){.job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-head nav{margin-left:2vw}.head-actions{gap:12px}}@media(max-width:700px){.site-head{height:65px;gap:10px}.brand strong{font-size:29px;letter-spacing:-2px}.brand small{font-size:7px;letter-spacing:2.5px;margin-top:5px}.site-head nav{display:none}.head-actions a{font-size:13px}.head-actions .primary{font-size:12px;padding:10px}.intro{display:block}.intro h1{font-size:27px}.search-wrap{width:100%;margin-top:20px}.controls{gap:8px;margin-top:18px}.controls label{font-size:12px;padding:10px}.controls .sort{margin-left:0}.controls select{max-width:185px}.job-grid{grid-template-columns:minmax(0,1fr)}.job-card{min-height:215px}.modal{padding:18px 20px;max-height:calc(100dvh - 24px);overflow:auto;border-radius:20px}.modal-brand strong{font-size:35px}.modal-brand small{font-size:7px}.modal h2{font-size:39px;margin:17px 0 10px}.modal-intro{font-size:14px;line-height:1.35;margin-bottom:12px}.desktop-only{display:none}.field{margin:5px auto}.field-input{height:48px;padding:0 12px}.field-input input,.field-input select{font-size:14px}.field-input span{font-size:18px}.privacy{padding:10px 12px;gap:9px;font-size:12px;margin:10px auto}.privacy strong{font-size:14px}.lock{font-size:22px}.submit{font-size:17px;padding:12px}.reassure{font-size:11px;margin-top:7px}.unlock-message button{margin-left:0}}@media(max-width:380px){.head-actions .primary{display:none}.modal h2{font-size:34px}.field-input select{font-size:12px}}
.employer-line{display:flex;align-items:center;gap:10px;min-height:51px;margin-top:9px}.employer-line .company{margin:0;min-width:0;overflow-wrap:anywhere}.employer-logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;background:white;border:1px solid #d7e0eb;border-radius:8px;color:#244e82;font-size:23px;font-weight:800}.job-card.masked .employer-line{min-height:51px}.job-card.masked .company{font-size:13px;color:#657b92}.job-card.masked .card-link{font-size:12px}@media(max-width:700px){.employer-logo{width:44px;height:44px;flex-basis:44px}.employer-line{min-height:44px}.job-card.masked .employer-line{min-height:44px}}
.hand-note{font:600 25px/1.05 Caveat,cursive;color:#0668df;transform:rotate(-4deg);margin:0 auto;padding:0 12px}.close-overlay{position:absolute;top:20px;right:23px;border:0;background:#e9edf2;border-radius:50%;height:43px;width:43px;font-size:29px;font-weight:300;color:#254471}.modal h2 span{text-decoration:underline;text-decoration-color:#0877ef;text-decoration-thickness:3px;text-underline-offset:9px}.modal-note{position:absolute;color:#0769dc;font:600 23px/1 Caveat,cursive;transform:rotate(-8deg);pointer-events:none}.left-note{left:8px;top:385px;text-align:left}.right-note{right:-75px;top:435px;width:190px;text-align:left;transform:rotate(-5deg)}@media(max-width:1150px){.modal-note{display:none}.hand-note{font-size:21px}}@media(max-width:900px){.site-head nav{display:none}}@media(max-width:700px){.hand-note{display:none}.close-overlay{top:12px;right:12px;width:32px;height:32px;font-size:23px}}
.employer-logo img{max-width:36px;max-height:36px;width:auto;height:auto;object-fit:contain}@media(max-width:700px){.employer-logo img{max-width:33px;max-height:33px}}
/* Production wordmark, shared as a read-only asset with the main site. */
.brand img{display:block;width:180px;height:60px;object-fit:contain}.modal-brand img{width:195px;height:65px;margin:auto}.site-head .brand{flex:0 0 auto}
/* The preview annotation sits beside the result heading and aims at both samples. */
.preview-callout{height:125px;position:relative}.preview-callout .hand-note{position:absolute;left:39%;top:0;width:390px;margin:0;font-size:29px;line-height:1.03;transform:rotate(-4deg);z-index:1}.preview-callout .hand-note::after{content:'↙';position:absolute;left:45px;top:95%;font-size:46px;transform:rotate(10deg)}
.modal .left-note{left:18px;top:399px;font-size:21px}.modal .right-note{right:10px;top:445px;width:125px;font-size:21px;line-height:1.02;transform:rotate(-5deg);overflow-wrap:normal}.modal .right-note::first-line{color:#0769dc}
.search-progress{max-width:490px;margin:10px auto 0;color:#245585;font-size:13px;font-weight:600}.search-progress[hidden]{display:none}.progress-track{display:block;height:7px;margin-top:8px;border-radius:99px;background:#e5edf7;overflow:hidden}.progress-fill{display:block;width:35%;height:100%;border-radius:99px;background:#0877ef;animation:v8-progress 1.4s ease-in-out infinite alternate}@keyframes v8-progress{from{transform:translateX(-90%)}to{transform:translateX(290%)}}.submit:disabled{cursor:wait;opacity:.83}
@media(max-width:1150px){.preview-callout{height:105px}.preview-callout .hand-note{left:29%;font-size:25px}.preview-callout .hand-note::after{font-size:35px}.modal .modal-note{display:none}}
@media(max-width:700px){.brand img{width:122px;height:42px}.modal-brand img{width:150px;height:50px}.preview-callout{height:auto;padding:8px 0 14px}.preview-callout .hand-note{position:static;width:auto;text-align:left;font-size:23px;transform:none}.preview-callout .hand-note br,.preview-callout .hand-note::after{display:none}}
/* V8 desktop proportions. Keep the small-screen form and single-card layout independent. */
@media(min-width:701px){
  .site-head{height:68px;padding-inline:clamp(24px,3vw,48px);gap:24px}
  .site-head .brand img{width:147px;height:49px}
  .site-head nav{margin-left:clamp(20px,5vw,84px);gap:clamp(16px,2.5vw,34px)}
  .site-head nav a{padding:23px 0}
  .head-actions{gap:18px}
  .primary.small{padding:10px 21px}
  main{max-width:1536px;padding:23px clamp(22px,2.8vw,44px) 60px}
  .intro h1{font-size:clamp(27px,2.45vw,36px);margin-bottom:6px}
  .intro p{font-size:14px}
  .search-wrap{height:44px}
  .controls{margin-top:17px;gap:9px}
  .controls button,.controls label{padding:9px 12px;border-radius:11px}
  .preference-note{margin:8px 0 5px}
  #status{min-height:0;margin:0 0 5px}
  #status:empty{display:none}
  .job-grid{gap:12px}
  .job-card{min-height:211px;padding:15px 17px;border-radius:14px}
  .job-card h2{font-size:16px;margin-bottom:7px}
  .company{font-size:15px;margin:10px 0 5px}
  .employer-line{margin-top:6px}
  .card-meta{gap:5px;font-size:12px}
  .badge{font-size:11px;padding:6px 10px}
  .modal{width:min(690px,100%);padding:15px 35px 20px;border-radius:23px}
  .modal-brand img{width:161px;height:53px}
  .modal h2{font-size:clamp(38px,3.4vw,49px);margin:12px 0 8px;line-height:.98}
  .modal-intro{font-size:16px;line-height:1.35;margin-bottom:11px}
  .field{max-width:440px;margin:5px auto}
  .field-input{height:51px;padding-inline:15px}
  .field-input input{font-size:16px}
  .field-input select{font-size:14px}
  .privacy{max-width:440px;margin:10px auto 8px;padding:11px 15px;gap:12px;font-size:13px}
  .privacy strong{font-size:15px}
  .lock{font-size:24px}
  .submit{width:min(500px,100%);font-size:19px;padding:13px}
  .reassure{margin-top:8px;font-size:12px}
  .close-overlay{top:14px;right:15px;width:34px;height:34px;font-size:24px}
  .modal .left-note{left:13px;top:255px;font-size:18px}
  .modal .right-note{display:block;right:9px;top:315px;width:190px;font-size:19px;line-height:1.06;text-align:left;transform:rotate(-4deg)}
  .modal .right-note::before{content:'↙';position:absolute;left:-44px;top:19px;font-size:35px;transform:rotate(-12deg)}
  .preview-callout{height:78px}
  .preview-callout .hand-note{left:32%;top:0;width:360px;font-size:23px;line-height:1.02;transform:rotate(-3deg)}
  .preview-callout .hand-note::after{content:'↙';left:8px;top:83%;font-size:37px;transform:rotate(5deg)}
}
@media(min-width:701px) and (max-width:1150px){.modal .left-note,.modal .right-note{display:none}.preview-callout{height:72px}.preview-callout .hand-note{left:28%;font-size:21px}}
@media(min-width:1151px){.modal .field,.modal .privacy{transform:translateX(-55px)}}
@media(min-width:701px) and (max-width:900px){.modal .right-note{display:none}}
@media(max-width:700px){.modal .right-note{display:none}}
/* Phone-only sizing. iOS Safari enlarges the visual viewport when a focused
   form control is smaller than 16px, leaving the overlay and preview zoomed. */
@media(max-width:700px){
  .site-head{height:58px;padding:0 14px}
  .site-head .brand img{width:110px;height:38px}
  .head-actions{gap:10px}
  main{padding:19px 14px 46px;min-width:0}
  .intro h1{font-size:24px;letter-spacing:-.6px;margin-bottom:5px}
  .intro p{font-size:13px}
  .search-wrap{height:46px;margin-top:14px;padding:0 12px}
  .search-wrap input,.field-input input,.field-input select,
  .controls select{font-size:16px}
  .controls{margin-top:14px;gap:7px;align-items:stretch}
  .controls button,.controls label{max-width:100%;min-width:0;padding:9px 10px;font-size:12px;border-radius:10px}
  .controls label{flex-wrap:wrap}
  .controls select{max-width:100%;min-width:0}
  .preference-note{margin:9px 0 10px;font-size:11px;line-height:1.4}
  .job-grid{gap:11px}
  .job-card{min-height:190px;padding:14px 16px;border-radius:13px}
  .job-card h2{font-size:16px;line-height:1.25;margin-bottom:7px}
  .job-card .company{font-size:14px}
  .card-meta{gap:5px;font-size:12px}
  .badge{font-size:10px;padding:6px 8px}
  .posted{font-size:10px}
  .overlay{padding:12px}
  .modal{width:100%;max-width:100%;padding:16px 16px 18px}
  .modal h2{font-size:34px;line-height:1;margin:13px 0 8px}
  .modal-intro{font-size:14px;line-height:1.35;margin-bottom:10px}
  .field-input{height:48px}
  .privacy{padding:9px 11px;margin:9px auto;line-height:1.35}
  .submit{font-size:16px;padding:12px}
  .reassure{line-height:1.4}
}
@media(max-width:380px){.modal h2{font-size:31px}}

/* Keep the complete first V8 question card visible at normal laptop heights.
   These desktop-only proportions preserve the existing artwork and mobile UI. */
@media(min-width:701px){
  .overlay{padding:12px}
  .modal{width:min(650px,100%);padding:10px 30px 14px;border-radius:21px}
  .modal-brand img{width:140px;height:46px}
  .modal h2{font-size:42px;line-height:.96;margin:7px 0 5px}
  .modal-intro{font-size:14.5px;line-height:1.3;margin-bottom:7px}
  .field{max-width:420px;margin:4px auto}
  .field-input{height:46px;padding-inline:14px}
  .field-input input{font-size:15px}
  .field-input select{font-size:13.5px}
  .privacy{max-width:420px;margin:7px auto 6px;padding:8px 12px;gap:10px;font-size:12px;line-height:1.3}
  .privacy strong{font-size:14px}
  .lock{font-size:21px}
  #formError{min-height:14px;font-size:12px;margin:0 0 2px}
  .submit{width:min(480px,100%);font-size:17px;padding:11px}
  .reassure{font-size:11px;line-height:1.35;margin-top:6px}
  .modal .left-note{top:218px;font-size:17px}
  .modal .right-note{top:270px;font-size:17px;width:165px}
}

/* V8 overlay: keep the interactive location suggestions over later fields. */
.modal .location-field{z-index:3}
.modal .location-field #locationList{z-index:4}

/* Preview preference refresh uses the same visible working cue as the member page. */
.industry-progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%;margin:0 0 8px;padding:8px 11px;border:1px solid #bad7f4;border-radius:10px;background:#edf6ff;color:#075b9e;font-size:12px;font-weight:700}
.industry-progress[hidden]{display:none}
.industry-spinner{width:15px;height:15px;flex:0 0 15px;border:2px solid #b5d9fa;border-top-color:#0877ef;border-radius:50%;animation:v8-industry-spin .7s linear infinite}
.industry-progress .progress-track{flex:0 0 100%;height:5px;margin-top:0}
@keyframes v8-industry-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.industry-spinner,.industry-progress .progress-fill{animation:none}}
