/* Shared desktop layout. Existing mobile rules remain the baseline. */
:where(input,select,textarea,button,a):focus-visible{outline:3px solid #087f79;outline-offset:3px}
.wizard-step[hidden],.wizard-actions[hidden],#wizard-status[hidden],.strength[hidden]{display:none!important}
.wizard-progress{margin-bottom:24px;color:#31536b;font-weight:750}
.wizard-progress p{margin:0 0 10px}
.wizard-progress progress{display:block;width:100%;height:6px;border:0;border-radius:3px;accent-color:#087f79}
.wizard-progress progress::-webkit-progress-bar{background:#e5eeee;border-radius:3px}
.wizard-progress progress::-webkit-progress-value{background:#087f79;border-radius:3px}
.wizard-step{animation:aw-step-in .16s ease-out;min-width:0}
.wizard-step h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.3;margin:0 0 12px;color:#0b2b4f;scroll-margin-top:100px}
.wizard-hint{line-height:1.6;color:#536e7e;margin:0 0 24px;max-width:65ch}
.wizard-fields{display:grid;gap:20px;min-width:0}
.wizard-fields .field{margin:0;min-width:0}
.wizard-fields input:not([type=checkbox]):not([type=radio]):not([type=range]),.wizard-fields select{width:100%;min-height:48px;box-sizing:border-box}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dfe9ed;padding-top:24px;margin-top:28px}
.wizard-actions .submit{width:auto;min-width:150px;margin:0}
.wizard-back,.wizard-edit{background:#fff;color:#0b2b4f;border:1px solid #b8cdd3;border-radius:8px;padding:10px 16px;min-height:44px;font:inherit;font-weight:700;cursor:pointer}
.wizard-back:disabled{opacity:.45;cursor:default}
.wizard-review{display:grid;gap:0;margin:20px 0}
.wizard-review>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;border-bottom:1px solid #e0e9ec;padding:15px 0}
.wizard-review dt{color:#536e7e;font-size:.875rem;grid-column:1}
.wizard-review dd{margin:0;font-weight:700;overflow-wrap:anywhere;grid-column:1}
.wizard-review button{grid-column:2;grid-row:1 / span 2;align-self:center}
#wizard-status{padding:50px 15px;text-align:center;font-size:1.3rem;color:#0b2b4f}
#strength-search{margin:8px 0 12px}
.wizard-fields .strength-grid{margin-top:12px}
.wizard-fields .strength{min-height:48px;align-items:center}
.wizard-fields input[type=checkbox]{flex-shrink:0}
@keyframes aw-step-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.wizard-step{animation:none}html{scroll-behavior:auto!important}}
@media(max-width:430px){.wizard-actions{gap:10px}.wizard-actions .submit{min-width:0;flex:1}.wizard-review>div{gap:5px 10px}}
@media(min-width:941px){
 .container{width:min(1280px,calc(100% - 64px))}
 header .nav-links{gap:clamp(12px,1.3vw,22px);font-size:.9rem;flex-wrap:wrap;justify-content:flex-end}
 header .nav-inner{height:auto;min-height:80px;padding-block:14px;gap:28px}
 header .brand{flex-shrink:0}
 header .aw-injected-nav{display:flex;align-items:center}
 header>.wrap:has(.aw-injected-nav){display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1280px}
 .hero{padding-block:64px}
 .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,4vw,64px)}
 .hero h1{font-size:clamp(2.6rem,3.6vw,3.5rem);line-height:1.12;max-width:20ch}
 .hero p,.section-head p,.blog-preview-head p{max-width:65ch}
 .home-route-grid,.about-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .ats-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px}
 .ats-layout>*{min-width:0}
 .ats-input-card,.ats-result-card{padding:32px}
 .cards,.blog-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .cards>article{display:flex;flex-direction:column;min-width:0}
 .cards>article>a:last-child{margin-top:auto}
 .form-card{max-width:1020px;margin-inline:auto;padding:36px}
 .form-grid{gap:20px 24px}
 .form-grid>*{min-width:0}
 .planner-shell{grid-template-columns:minmax(0,1fr) 280px;gap:32px;max-width:1200px}
 .planner-card{padding:36px}
 .planner-head h2{font-size:1.7rem;line-height:1.3}
 .planner-head>p{max-width:65ch}
 .wizard-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .wizard-step[data-step="3"] .wizard-fields,.wizard-step[data-step="4"] .wizard-fields,.wizard-step[data-step="6"] .wizard-fields{grid-template-columns:1fr;max-width:720px}
 .wizard-fields .strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wizard-fields>.field>p,.wizard-fields .hint{font-size:.875rem;line-height:1.55}
 .results .container{max-width:1200px}
 .intelligence-card{padding:36px}
 .intelligence-card>p{max-width:85ch}
 .career-moves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-left:24px}
 .career-moves li{padding-inline:5px}
 .result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .article-wrap{grid-template-columns:minmax(0,780px) minmax(220px,280px);justify-content:center;gap:56px}
 .article{min-width:0}
 .article>p,.article>ul,.article>ol{max-width:75ch}
 .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-inner,.footer-grid{flex-wrap:wrap;gap:24px 40px}
 .footer-inner p,.footer-grid p{max-width:65ch}
}

/* Career Planner polish — 2026-09-23 */
.wizard-progress{background:#f7fbfb;border:1px solid #dfe9ed;border-radius:18px;padding:18px 20px;margin-bottom:28px}
.wizard-progress>p{font-size:.82rem;color:#587487;margin:12px 0 0;text-align:center}
.wizard-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;position:relative}
.wizard-step-dot{position:relative;text-align:center;padding:9px 6px;border-radius:999px;background:#edf3f5;color:#668091;font-size:.72rem;font-weight:850;white-space:nowrap}
.wizard-step-dot.is-current{background:#0b2b4f;color:#fff;box-shadow:0 6px 18px rgba(11,43,79,.16)}
.wizard-step-dot.is-complete{background:#e6f7f5;color:#087f79}
.wizard-progress progress{margin-top:12px}
#strength-search{max-width:520px}
.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
.strength span{min-height:50px;display:flex!important;align-items:center;position:relative;padding:12px 38px 12px 14px!important;border-radius:14px!important;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.strength span:after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.15rem;color:#8196a4}
.strength input:checked+span{background:#e8f8f6!important;border-color:#38aaa3!important;color:#087f79!important;box-shadow:0 0 0 2px rgba(17,167,160,.08)}
.strength input:checked+span:after{content:'✓';font-weight:950;color:#087f79}
.strength span:hover{border-color:#83c9c5;transform:translateY(-1px)}
@media(min-width:941px){
 header .nav-inner{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center!important}
 header .nav-links{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:clamp(14px,1.5vw,24px)!important;flex-wrap:nowrap!important;white-space:nowrap}
 header .nav-links a{line-height:1.2;display:inline-flex;align-items:center}
 .planner-shell{grid-template-columns:minmax(0,820px) 300px!important;justify-content:center}
 .wizard-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wizard-step[data-step="2"] .wizard-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wizard-step[data-step="3"] .wizard-fields{grid-template-columns:1fr;max-width:none}
 .wizard-step[data-step="3"] .strength-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .wizard-step[data-step="4"] .wizard-fields{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
}
@media(max-width:680px){
 .wizard-progress{padding:14px 15px}
 .wizard-stepper{display:none}
 .wizard-progress>p{text-align:left;margin-top:0;font-size:.8rem;font-weight:800}
 .strength-grid{grid-template-columns:1fr!important}
 .strength span{min-height:48px}
}
/* 2026-09-23 shared desktop header polish */
@media (min-width:941px){
 header.nav,header.site-header,header{border-bottom:1px solid #e7eef2}
 header .nav-inner,header nav.container{max-width:1240px;margin-inline:auto;padding-inline:20px}
 header .nav-links{gap:8px!important;padding:6px;border-radius:16px;background:#f7fafb}
 header .nav-links a{padding:10px 12px;border-radius:10px;font-size:.86rem!important;font-weight:800;text-decoration:none;transition:background .15s ease,color .15s ease}
 header .nav-links a:hover,header .nav-links a.active{background:#fff;color:#087f79;box-shadow:0 1px 5px rgba(11,43,79,.08)}
 header .nav-links a.cta,header .nav-links a.btn{background:#0b2b4f!important;color:#fff!important;box-shadow:none}
}

/* ApplyWell UI refinement — centred, calmer, more deliberate */
:root{--aw-content:1180px;--aw-reading:760px;--aw-radius:20px}
main>section>.container,.planner-wrap>.container{margin-inline:auto}
.planner-wrap .planner-shell{margin-inline:auto}
.planner-card{overflow:hidden}
.planner-head{text-align:center;max-width:720px;margin:0 auto 26px}
.planner-head p{margin-inline:auto}
.wizard-step>h3,.wizard-step>.wizard-hint{text-align:center;margin-inline:auto}
.wizard-step>.wizard-hint{max-width:620px}
.wizard-step .wizard-fields{margin-inline:auto;width:100%}
.wizard-actions{max-width:760px;margin-inline:auto}
.wizard-progress{max-width:760px;margin-inline:auto;margin-bottom:30px}
#strength-search{display:block;margin-inline:auto}
.wizard-step[data-step="3"] .field-label{text-align:center}
.wizard-step[data-step="3"] .hint{text-align:center;margin-inline:auto}
.strength-grid{max-width:760px;margin-inline:auto!important}
#wizard-status{max-width:720px;margin-inline:auto;border-radius:22px;background:linear-gradient(180deg,#f7fbfb,#fff);border:1px solid #e2ecef}
.results-page-head{text-align:center;padding:54px 0 34px}
.results-page-head .container{max-width:820px}
.results-page-head p{max-width:680px;margin-inline:auto}
.results-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.results .container{margin-inline:auto}
@media(min-width:941px){
 .planner-shell{grid-template-columns:minmax(0,840px) 280px!important;gap:36px!important;align-items:start}
 .planner-card{padding:42px!important}
 .wizard-step[data-step="1"] .wizard-fields,.wizard-step[data-step="2"] .wizard-fields,.wizard-step[data-step="4"] .wizard-fields{max-width:760px}
 .wizard-step[data-step="3"] .strength-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 header .nav-inner{max-width:1240px!important;margin-inline:auto!important;padding:12px 24px!important;min-height:82px!important}
 header .nav-links{margin-left:auto!important;background:transparent!important;padding:0!important;box-shadow:none!important}
 header .nav-links a{padding:10px 11px!important}
 header .nav-links a:not(.cta):not(.btn):hover,header .nav-links a.active:not(.cta):not(.btn){background:#f2f8f8!important;box-shadow:none!important}
 header .nav-links a.cta,header .nav-links a.btn{padding:11px 16px!important;border-radius:12px!important}
}
@media(max-width:940px){.planner-head{text-align:left}.wizard-step>h3,.wizard-step>.wizard-hint{text-align:left}.wizard-step[data-step="3"] .field-label,.wizard-step[data-step="3"] .hint{text-align:left}.results-page-head{padding-top:36px}}
@media(max-width:680px){.planner-card{border-radius:18px}.wizard-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:14px 0 4px;z-index:5}.results-actions>*{width:100%;text-align:center}}

/* 2026-09-23 final desktop alignment + planner simplification.
   Desktop only: intentionally leaves <=940px/mobile presentation unchanged. */
@media (min-width:941px){
  /* One shared desktop page axis across the site. */
  body{overflow-x:hidden}
  .container,.wrap,.nav-inner,.footer-inner,.footer-grid,
  main>section>.container,main>.container,
  .planner-wrap>.container,.results>.container,
  .career-faq.container,.planner-guides>.container{
    width:min(1180px,calc(100% - 64px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box;
  }
  header .nav-inner,header nav.container,header>.wrap{
    width:min(1180px,calc(100% - 64px))!important;
    max-width:1180px!important;
    margin-inline:auto!important;
  }
  /* Centre page-level presentation, not reading copy. */
  .section-head,.blog-preview-head,.planner-guides> .container > .eyebrow,
  .planner-guides> .container > h2,.planner-guides> .container > p,
  .career-faq.container>h2{text-align:center}
  .section-head p,.blog-preview-head p,.planner-guides> .container > p{
    margin-left:auto;margin-right:auto
  }
  .article-wrap,.guide-grid,.cards,.blog-preview-grid,.home-route-grid,
  .about-home-grid,.ats-layout,.form-card,.planner-guide-grid{
    margin-left:auto!important;margin-right:auto!important
  }

  /* Career Planner: one focused product surface instead of a form + sidebar. */
  .planner-wrap .container{max-width:980px!important}
  .planner-shell{
    display:block!important;
    max-width:900px!important;
    width:100%!important;
    margin-inline:auto!important;
  }
  .planner-shell>aside{display:none!important}
  .planner-card{
    width:100%;max-width:900px;margin-inline:auto;
    padding:44px 52px!important;
    border-radius:24px!important;
    box-shadow:0 18px 50px rgba(11,43,79,.08)!important;
  }
  .planner-head{max-width:680px!important;margin:0 auto 30px!important}
  .planner-head h2{margin-bottom:10px}

  /* Quiet progress treatment: no row of large competing pills. */
  .wizard-progress{
    max-width:720px!important;
    padding:0 0 22px!important;
    margin:0 auto 34px!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid #e5edef!important;
    border-radius:0!important;
  }
  .wizard-stepper{display:none!important}
  .wizard-progress>p{
    margin:0 0 10px!important;
    text-align:center!important;
    color:#536e7e!important;
    font-size:.82rem!important;
    font-weight:800!important;
    letter-spacing:.02em
  }
  .wizard-progress progress{height:5px!important;max-width:360px;margin:0 auto!important}
  .wizard-step>h3{font-size:1.75rem!important;margin-bottom:10px!important}
  .wizard-step>.wizard-hint{max-width:580px!important;margin-bottom:28px!important;color:#617887!important}
  .wizard-fields{max-width:720px!important;gap:22px!important}
  .wizard-fields label,.wizard-fields .field-label{font-weight:800}
  .wizard-fields input:not([type=checkbox]):not([type=radio]):not([type=range]),
  .wizard-fields select,.wizard-fields textarea{
    min-height:52px;border-radius:12px!important
  }
  .wizard-actions{
    max-width:720px!important;
    margin-top:34px!important;
    padding-top:22px!important
  }
  .wizard-actions .submit{min-width:180px!important}

  /* Skills: compact, scannable chips without turning the page into a card wall. */
  #strength-search{max-width:440px!important;margin:8px auto 16px!important}
  .wizard-step[data-step="3"] .strength-grid{
    max-width:720px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important
  }
  .strength span{
    min-height:44px!important;
    padding:10px 34px 10px 12px!important;
    border-radius:12px!important;
    font-size:.9rem!important;
    box-shadow:none!important
  }
  .strength span:hover{transform:none!important;background:#f8fbfb}
  .wizard-step[data-step="3"] .hint{max-width:600px;margin-inline:auto}

  /* Review remains readable while sitting on the same central axis. */
  .wizard-review{max-width:720px;margin:18px auto 0!important}
  #wizard-status{max-width:720px!important;padding:56px 24px!important}

  /* Results: strong centred intro, readable detail below. */
  .results-page-head,.results-head{text-align:center}
  .results-head{max-width:820px;margin-inline:auto}
  .results-head>p{max-width:680px;margin-inline:auto}
  .results .container{max-width:1100px!important}
  .intelligence-card,.result-grid,.roadmaps,#skills-output,#salary-output,.email-plan,.next-actions{
    margin-left:auto;margin-right:auto
  }
}

/* 2026-09-23 simple job matcher */
.job-matcher{grid-column:1/-1;background:#f7fbfb;border:1px solid #dfe9ed;border-radius:18px;padding:20px;margin-top:0}
.job-matcher[hidden]{display:none!important}
.job-matcher-intro{margin-bottom:14px}
.job-matcher-intro .field-label{font-size:1rem;color:#0b2b4f;margin-bottom:4px}
.job-matcher-intro .hint{margin:0;max-width:62ch}
.matcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.matcher-question{min-width:0;margin:0;padding:14px;border:1px solid #dfe9ed;border-radius:14px;background:#fff}
.matcher-question legend{padding:0 5px;font-weight:900;color:#244d69;font-size:.86rem}
.matcher-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}
.matcher-options label{position:relative;margin:0;min-width:0}
.matcher-options input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.matcher-options span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 7px;text-align:center;border:1px solid #d7e3e8;border-radius:10px;color:#526f81;background:#fff;font-size:.75rem;font-weight:800;line-height:1.25;cursor:pointer}
.matcher-options input:checked+span{border-color:#35aaa3;background:#eaf8f7;color:#087f79;box-shadow:0 0 0 2px rgba(17,167,160,.08)}
.matcher-options input:focus-visible+span{outline:3px solid rgba(17,167,160,.22);outline-offset:2px}
.simple-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.simple-match{font-size:.75rem;font-weight:900;color:#31566c;background:#f3f7f8;border-radius:999px;padding:7px 9px}
.first-job-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-inline:auto}
@media(max-width:680px){
 .job-matcher{padding:15px;border-radius:15px}
 .matcher-grid{grid-template-columns:1fr;gap:10px}
 .matcher-question{padding:12px}
 .matcher-options{grid-template-columns:1fr 1fr}
 .matcher-options label:last-child{grid-column:1/-1}
 .matcher-options span{min-height:48px;font-size:.8rem}
 .first-job-grid{grid-template-columns:1fr}
}


/* 2026-09-23 launch-proof planner safeguards */
:where(a,button,input,select,summary):focus-visible{outline:3px solid rgba(17,167,160,.32);outline-offset:3px}
.button,.results-actions a,.results-actions button,.text-link{min-height:44px}
.draft-note{max-width:760px;margin:-18px auto 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid #dfe9ed;border-radius:12px;background:#fbfdfd;color:#637b8e;font-size:.78rem;line-height:1.4}
.draft-clear{border:0;background:transparent;color:#087f79;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer;min-height:44px;padding:4px 6px;white-space:nowrap}
.plain-job{margin:16px 0;padding:14px 15px;background:#f8fbfc;border-radius:13px}.plain-job h4{margin:0 0 8px;color:#244d69}.plain-job ul{margin:0;padding-left:20px}.plain-job li{margin:5px 0;line-height:1.45;color:#536e7e}.experience-check{padding:12px 14px;border-left:4px solid #b9d8d6;background:#fbfdfd;border-radius:0 10px 10px 0;color:#536e7e;line-height:1.5}
.today-action{margin:18px 0 24px;padding:22px;border:2px solid #a9ddd8;border-radius:18px;background:#eef9f7}.today-action>span{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:950;color:#087f79}.today-action>strong{display:block;margin:6px 0 7px;font-size:1.32rem;color:#0b2b4f}.today-action p{margin:0 0 14px;line-height:1.55;color:#49697d}.today-action .button{width:auto}
.results-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.results-actions .primary,.results-actions .secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:11px 15px;text-decoration:none;font-weight:900;font:inherit;cursor:pointer}.results-actions .primary{background:#11a7a0;color:#fff;border:1px solid #11a7a0}.results-actions .secondary{background:#fff;color:#31536b;border:1px solid #c8d9df}.clear-plan{appearance:none}
.loading-plan,.missing{max-width:720px;margin:30px auto;padding:28px;border:1px solid #dfe9ed;border-radius:18px;background:#fff;text-align:center}.missing h2{color:#0b2b4f}.missing p{color:#637b8e;line-height:1.6}.missing-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.missing-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 15px;border-radius:11px;text-decoration:none;font-weight:900}.missing-actions .primary{background:#11a7a0;color:#fff}.missing-actions .secondary{border:1px solid #c8d9df;color:#31536b}
@media(max-width:680px){.draft-note{align-items:flex-start;margin-top:-14px}.today-action{padding:17px}.today-action .button{width:100%}.results-actions>*{width:100%}.missing-actions{flex-direction:column}.missing-actions a{width:100%}}

.planner-load-error{padding:20px;border:1px solid #dfe9ed;border-radius:16px;background:#f8fbfc}.planner-load-error strong{display:block;color:#0b2b4f;font-size:1.08rem}.planner-load-error p{color:#637b8e;line-height:1.55}.planner-load-error>div{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.planner-load-error .text-link{display:inline-flex;align-items:center}


/* 2026-09-23 final launch usability pass */
.planner-expectations{max-width:720px;margin:0 auto 24px;padding:13px 15px;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;border:1px solid #dfe9ed;border-radius:14px;background:#f8fbfc;color:#536e7e;font-size:.78rem}
.planner-expectations strong{color:#0b2b4f;margin-right:3px}.planner-expectations span{display:inline-flex;align-items:center;min-height:32px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #dfe9ed;font-weight:800}
.save-pdf-hint{max-width:650px;margin:10px auto 0;text-align:center;color:#6b8292;font-size:.78rem;line-height:1.45}
.post-plan{padding:0 0 80px}.post-plan>.container{max-width:900px!important}.plan-trust-note,.plan-feedback,.plan-redo{margin:18px auto 0;border:1px solid #dfe9ed;border-radius:18px;background:#fff;padding:20px 22px}.plan-trust-note strong,.plan-redo strong{display:block;color:#0b2b4f;font-size:1.05rem}.plan-trust-note p,.plan-redo p,.plan-feedback>p{margin:6px 0 0;color:#637b8e;line-height:1.55}.plan-trust-note{border-left:4px solid #f0c96a;background:#fffdf7}.plan-feedback h2{margin:0;color:#0b2b4f;font-size:1.25rem}.plan-feedback fieldset{border:0;padding:0;margin:16px 0 0}.plan-feedback legend{font-weight:900;color:#31536b;margin-bottom:8px}.feedback-choices{display:flex;gap:10px;flex-wrap:wrap}.feedback-choices label{position:relative}.feedback-choices input{position:absolute;opacity:0;pointer-events:none}.feedback-choices span{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid #cbdce2;border-radius:12px;background:#fff;color:#31536b;font-weight:900;cursor:pointer}.feedback-choices input:checked+span{border-color:#11a7a0;background:#eaf8f7;color:#087f79;box-shadow:0 0 0 2px rgba(17,167,160,.09)}.feedback-choices input:focus-visible+span{outline:3px solid rgba(17,167,160,.28);outline-offset:3px}.feedback-reason{margin-top:14px;max-width:480px}.feedback-reason label{display:block;font-weight:900;margin-bottom:7px;color:#31536b}.feedback-reason select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #cadbe2;border-radius:11px;background:#fff;color:#173b57;font:inherit}.feedback-submit{margin-top:14px;min-height:44px;border:0;border-radius:11px;padding:10px 16px;background:#0b2b4f;color:#fff;font:inherit;font-weight:900;cursor:pointer}.feedback-submit:disabled{opacity:.6;cursor:wait}.feedback-status{min-height:20px;margin:9px 0 0;color:#536e7e;font-size:.82rem}.feedback-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.plan-redo{text-align:center;background:#f8fbfc}.plan-redo .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:13px;padding:10px 15px;border:1px solid #c8d9df;border-radius:11px;color:#31536b;text-decoration:none;font-weight:900;background:#fff}.print-summary{display:none}
@media(max-width:680px){.planner-expectations{justify-content:flex-start;padding:12px}.planner-expectations strong{flex-basis:100%}.planner-expectations span{font-size:.75rem}.feedback-choices{display:grid;grid-template-columns:1fr 1fr}.feedback-choices span{width:100%}.plan-feedback,.plan-trust-note,.plan-redo{padding:17px}.save-pdf-hint{text-align:left}}
@media print{
 @page{size:A4;margin:12mm}
 body{background:#fff!important;color:#173b57!important;font-family:Arial,sans-serif!important}
 body>*:not(.print-summary){display:none!important}
 .print-summary{display:block!important;max-width:186mm;margin:0 auto;color:#173b57}
 .print-sheet{font-size:10.5pt;line-height:1.38}
 .print-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:8mm;border-bottom:1px solid #dfe9ed}.print-brand img{width:48mm;height:auto}.print-brand span{font-weight:800;color:#536e7e}
 .print-target{padding:7mm 0 4mm}.print-target>span{font-size:8pt;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#087f79}.print-target h1{font-size:23pt;line-height:1.08;color:#0b2b4f;margin:2mm 0}.print-target p{margin:0;color:#536e7e;font-weight:700}
 .print-sheet section{margin:3mm 0;padding:3.2mm 4mm;border:1px solid #dfe9ed;border-radius:3mm;break-inside:avoid}.print-sheet h2{font-size:12pt;color:#0b2b4f;margin:0 0 1.5mm}.print-sheet p{margin:0}.print-sheet ol{margin:1mm 0 0;padding-left:5mm}.print-sheet li{margin:1.5mm 0}.print-today{background:#eef9f7;border-color:#a9ddd8!important}.print-today strong{display:block;color:#0b2b4f;margin-bottom:1mm}.print-warning{margin-top:4mm;padding:3mm 4mm;background:#fff8e7;border:1px solid #f0ddb0;border-radius:3mm}.print-warning p{margin:1mm 0 0}.print-url{text-align:center;color:#6b8292;margin-top:4mm!important;font-size:9pt}
}


/* 2026-09-23 planner simplicity refinement */
/* The hero already explains time/account/CV expectations, so avoid repeating them in another card. */
.planner-expectations{display:none!important}

/* Everyday-language strengths step: calm, scannable and optional. */
.strength-field{margin-top:0!important}
.strength-question{max-width:620px;margin:0 auto 18px;text-align:center}
.strength-question .field-label{font-size:1rem!important;color:#244d69!important;margin-bottom:5px!important}
.strength-question .hint{margin:0!important;font-size:.82rem!important;color:#6d8493!important}
.wizard-step[data-step="3"] .strength-grid{
  max-width:720px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 auto!important
}
.wizard-step[data-step="3"] .strength span{
  min-height:76px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  padding:13px 42px 13px 14px!important;
  border-radius:14px!important;
  background:#fff!important;
  text-align:left!important
}
.wizard-step[data-step="3"] .strength span strong{display:block;color:#244d69;font-size:.91rem;line-height:1.25}
.wizard-step[data-step="3"] .strength span small{display:block;color:#718795;font-size:.75rem;font-weight:650;line-height:1.3}
.wizard-step[data-step="3"] .strength input:checked+span{background:#eef9f7!important;border-color:#61beb8!important}
.wizard-step[data-step="3"] .strength input:checked+span strong{color:#087f79}
.strength-skip{max-width:620px;margin:14px auto 0!important;text-align:center;color:#6d8493;font-size:.8rem;line-height:1.45}
.strength-count{margin:8px auto 0!important;text-align:center;color:#087f79;font-size:.76rem;font-weight:850;min-height:18px}
#strength-search{display:none!important}
@media(max-width:680px){
  .strength-question{text-align:left;margin-bottom:14px}
  .wizard-step[data-step="3"] .strength-grid{grid-template-columns:1fr!important;gap:8px!important}
  .wizard-step[data-step="3"] .strength span{min-height:66px!important;padding:11px 40px 11px 13px!important}
  .strength-skip,.strength-count{text-align:left}
}


/* 2026-09-23 mobile text-fit hardening.
   Prevent iOS text inflation and make every planner/result component wrap safely. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{word-break:normal;overflow-wrap:break-word}
  .container,.planner-wrap>.container,.results>.container,.post-plan>.container{
    width:calc(100% - 24px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .nav-inner{min-width:0;gap:10px!important}
  .brand{min-width:0;max-width:calc(100% - 58px)}
  .brand img{width:min(205px,62vw)!important;max-width:100%!important;height:auto}

  .planner-shell,.planner-card,.wizard-step,.wizard-fields,.field,.results-head,
  .intelligence-card,.result-grid,.result-card,.simple-result-card,.plain-job,
  .simple-result-grid,.today-action,.plan-start,.simple-check,.simple-cv-next,
  .skills-panel,.roadmaps,.roadmap-card,.road-step,.road-main,.road-training,
  .road-course-list,.road-course,.salary-note,.next-actions,.next-action,
  .email-plan,.training-panel,.training-pathway,.training-course,.plan-feedback,
  .plan-trust-note,.plan-redo,.missing,.loading-plan,.planner-load-error{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .planner-card,.result-card,.intelligence-card,.skills-panel,.roadmap-card,
  .path-panel,.email-plan{overflow:hidden}

  .planner-card h1,.planner-card h2,.planner-card h3,.planner-card h4,
  .results h1,.results h2,.results h3,.results h4,.results h5,
  .post-plan h1,.post-plan h2,.post-plan h3,.post-plan h4,
  .planner-card p,.results p,.post-plan p,.planner-card li,.results li,.post-plan li,
  .planner-card strong,.results strong,.post-plan strong,.planner-card small,.results small,
  .post-plan small,.planner-card span,.results span,.post-plan span,
  .planner-card a,.results a,.post-plan a,.planner-card button,.results button,.post-plan button{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .hero{padding:46px 0 34px!important}
  .hero h1{font-size:clamp(2rem,10vw,2.75rem)!important;line-height:1.06!important;letter-spacing:-.045em!important}
  .hero p{font-size:1rem!important;line-height:1.6!important}

  .planner-wrap{padding:26px 0 62px!important}
  .planner-card{padding:18px!important;border-radius:18px!important}
  .planner-head h2{font-size:clamp(1.65rem,7.4vw,2rem)!important;line-height:1.16!important}
  .wizard-step h3{font-size:clamp(1.4rem,6.6vw,1.7rem)!important;line-height:1.18!important}
  .wizard-hint,.hint{line-height:1.5!important}
  .wizard-review>div{grid-template-columns:minmax(0,1fr)!important}
  .wizard-review button{grid-column:1!important;grid-row:auto!important;justify-self:start;margin-top:7px}
  .wizard-actions{position:static!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:9px!important;background:#fff!important;backdrop-filter:none!important;padding:16px 0 0!important}
  .wizard-actions .submit{width:100%!important;min-width:0!important;white-space:normal!important;line-height:1.25!important}
  .wizard-back{white-space:normal!important}

  .results{padding:42px 0 68px!important}
  .results-head{margin-bottom:20px!important;text-align:left!important}
  .results-head h2{font-size:clamp(1.75rem,8.4vw,2.25rem)!important;line-height:1.12!important;letter-spacing:-.035em!important}
  .intelligence-card{padding:17px!important;border-radius:18px!important}
  .intelligence-card>h3,.plan-role-title{font-size:clamp(1.75rem,8vw,2.2rem)!important;line-height:1.1!important;letter-spacing:-.035em!important;margin-bottom:5px!important}
  .plan-role-subtitle{margin:0 0 17px!important;color:#60798c!important;font-size:1rem!important;line-height:1.45!important}
  .today-action{padding:16px!important;border-radius:16px!important;margin:16px 0 20px!important}
  .today-action>span{font-size:.68rem!important;line-height:1.35!important}
  .today-action>strong{font-size:clamp(1.15rem,5.7vw,1.4rem)!important;line-height:1.22!important;margin:7px 0 8px!important}
  .today-action p{font-size:.96rem!important;line-height:1.55!important}
  .today-action .button{width:100%!important;font-size:1rem!important;line-height:1.25!important;padding:13px 12px!important;white-space:normal!important}
  .plan-start,.simple-check,.simple-cv-next{padding:14px!important}
  .plan-start strong{font-size:1.05rem!important;line-height:1.35!important}
  .simple-moves li{grid-template-columns:30px minmax(0,1fr)!important;gap:9px!important;padding:12px!important}
  .simple-moves li>b{width:28px!important;height:28px!important}
  .simple-moves li span{min-width:0!important;line-height:1.5!important}
  .simple-skills{grid-template-columns:1fr!important}

  .result-grid,.first-job-grid{grid-template-columns:1fr!important;gap:14px!important}
  .result-card{padding:16px!important;border-radius:18px!important}
  .simple-card-top,.result-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important}
  .route-tag,.simple-match,.fit{white-space:normal!important;line-height:1.25!important}
  .result-card h3{font-size:clamp(1.55rem,7.4vw,2rem)!important;line-height:1.12!important;letter-spacing:-.025em!important;margin:14px 0 5px!important}
  .simple-pay{font-size:.98rem!important;line-height:1.45!important}
  .plain-job{padding:13px!important;margin:14px 0!important}
  .plain-job h4{font-size:1.05rem!important;line-height:1.3!important}
  .plain-job ul,.simple-result-grid ul{padding-left:20px!important}
  .plain-job li,.simple-result-grid li{line-height:1.48!important}
  .experience-check,.why{font-size:.93rem!important;line-height:1.52!important}
  .simple-result-grid{grid-template-columns:1fr!important;gap:12px!important;margin:15px 0!important}
  .simple-result-grid>div{min-width:0!important}
  .simple-result-grid h4{font-size:1.02rem!important;line-height:1.3!important}
  .result-actions{gap:8px!important}
  .result-actions .button,.result-actions .text-link,
  .simple-cv-next .button,.career-training-reason .button,.training-find-button{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.28!important;
    padding:12px 10px!important;
    font-size:.94rem!important;
  }
  .result-actions .text-link{border:1px solid #dfe9ed;border-radius:10px;background:#f8fbfc}

  .skills-head,.roadmap-head,.paid-learning-head,.road-training-title{display:block!important}
  .skills-count,.road-goal,.paid-badge{display:inline-block!important;white-space:normal!important;margin-top:8px!important}
  .skills-cols,.road-skill-row,.road-course-list,.learning-resources,.skill-detail-grid{grid-template-columns:1fr!important}
  .road-course,.learning-resource{grid-template-columns:minmax(0,1fr)!important}
  .road-course>b,.learning-resource>b{white-space:normal!important;margin-top:5px}
  .learning-resource em{grid-column:1!important}
  .skill-week{grid-template-columns:48px minmax(0,1fr)!important;gap:8px!important}
  .skill-modal-title{padding-right:38px!important}
  .skill-modal-title h2{font-size:clamp(1.55rem,7.6vw,2rem)!important;line-height:1.12!important}

  .email-plan{padding:17px!important;border-radius:18px!important}
  .email-plan h3{font-size:1.35rem!important;line-height:1.2!important}
  .email-plan button{white-space:normal!important;line-height:1.25!important}
  .email-consent{min-width:0!important}
  .email-consent span{min-width:0!important}

  .planner-expectations,.draft-note{max-width:100%!important}
  .draft-note{display:block!important}
  .draft-clear{white-space:normal!important;margin-top:5px!important}
  .feedback-choices{grid-template-columns:1fr 1fr!important}
  .feedback-choices span{white-space:normal!important}

  .button,.text-link,a,button{touch-action:manipulation}
}
@media(max-width:390px){
  .container,.planner-wrap>.container,.results>.container,.post-plan>.container{width:calc(100% - 18px)!important}
  .planner-card,.result-card,.intelligence-card{padding-left:14px!important;padding-right:14px!important}
  .today-action{padding:14px!important}
  .feedback-choices{grid-template-columns:1fr!important}
}

/* 2026-09-23 adaptive layout layer.
   Makes the site respond to available space and content length rather than
   relying on one-off phone fixes. */
:root{
  --aw-page-gutter:clamp(10px,3.4vw,34px);
  --aw-content-max:1200px;
}
html,body{max-inline-size:100%}
body{overflow-x:clip}
img,svg,video,canvas{max-inline-size:100%;height:auto}

/* Fluid containers across the site. */
:where(.container,.planner-wrap>.container,.results>.container,.post-plan>.container){
  inline-size:min(calc(100% - (2 * var(--aw-page-gutter))),var(--aw-content-max));
  max-inline-size:100%;
  margin-inline:auto;
  box-sizing:border-box;
}

/* Grid/flex children are always allowed to shrink instead of forcing overflow. */
:where(.hero-grid,.planner-shell,.planner-card,.wizard-step,.wizard-fields,.field,
       .result-grid,.result-card,.intelligence-card,.simple-plan,.simple-result-grid,
       .simple-result-card,.simple-skills,.skills-cols,.next-actions,.next-action,
       .roadmaps,.roadmap-card,.road-step,.road-main,.road-training,.road-course-list,
       .road-course,.learning-resources,.learning-resource,.training-panel,
       .training-pathway,.training-course,.email-plan,.email-plan-grid,.results-actions,
       .result-actions,.employment-options,.strength-grid,.wizard-review,.today-action,
       .plan-start,.simple-check,.simple-cv-next,.plan-feedback,.plan-trust-note,.plan-redo) > *{
  min-inline-size:0;
  max-inline-size:100%;
  box-sizing:border-box;
}

/* Long generated text should reflow, never widen its card/page. */
:where(main,header,footer) :where(h1,h2,h3,h4,h5,p,li,dt,dd,strong,small,span,a,button,label,summary){
  overflow-wrap:anywhere;
  word-break:normal;
}
:where(h1,h2,h3,.plan-role-title,.result-card h3,.intelligence-card>h3){
  text-wrap:balance;
}
:where(p,li,.wizard-hint,.hint,.why,.plan-role-subtitle){text-wrap:pretty}

/* Let common multi-card areas decide how many columns actually fit. */
.result-grid,.first-job-grid,.next-actions,.simple-skills,.simple-result-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
}
.employment-options{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));
}

/* Controls grow/wrap naturally with translated or generated text. */
:where(.button,.results-actions a,.results-actions button,.result-actions a,
       .result-actions button,.training-link,.training-find-button,.email-plan button,
       .skill-learn,.wizard-actions button){
  max-inline-size:100%;
  min-inline-size:0;
  white-space:normal;
  text-align:center;
  line-height:1.25;
}

/* Use container width, not just viewport width, for generated plan cards. */
:where(.result-card,.intelligence-card,.today-action,.roadmap-card,.training-course,.planner-card){
  container-type:inline-size;
}
@container (max-width:420px){
  .result-top,.simple-card-top,.roadmap-head,.skills-head,.paid-learning-head,.road-training-title{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
  .route-tag,.fit,.simple-match,.skills-count,.road-goal,.paid-badge{max-width:100%;white-space:normal!important}
  .result-actions,.results-actions{display:grid!important;grid-template-columns:1fr!important}
}
@container (max-width:330px){
  .result-card h3,.plan-role-title,.intelligence-card>h3{font-size:1.45rem!important;line-height:1.12!important}
  .today-action>strong{font-size:1.08rem!important}
  .button,.result-actions .button,.result-actions .text-link,.training-find-button{font-size:.88rem!important}
}

/* Classes added automatically by site-navigation.js when content becomes too tall
   for the space available. This is deliberately subtle: wrapping is preferred first. */
.aw-auto-tight{font-size:calc(1em * .9)!important;line-height:1.16!important}
.aw-auto-tighter{font-size:calc(1em * .82)!important;line-height:1.14!important;letter-spacing:-.02em!important}
.aw-auto-control-tight{font-size:.88rem!important;padding-inline:10px!important}
.aw-auto-control-tighter{font-size:.82rem!important;padding-inline:8px!important}

@media(max-width:760px){
  /* Override older hard-coded widths with the fluid gutter system. */
  :where(.container,.planner-wrap>.container,.results>.container,.post-plan>.container){
    width:auto!important;
    inline-size:calc(100% - (2 * var(--aw-page-gutter)))!important;
  }
  .planner-card,.result-card,.intelligence-card,.today-action,.roadmap-card,
  .training-course,.path-panel,.skills-panel,.email-plan{
    padding-inline:clamp(13px,4.2vw,18px)!important;
  }
  .results-head h2{font-size:clamp(1.65rem,7.2vw,2.15rem)!important}
  .plan-role-title,.intelligence-card>h3{font-size:clamp(1.55rem,7vw,2.05rem)!important}
  .result-card h3{font-size:clamp(1.45rem,6.5vw,1.9rem)!important}
  .today-action>strong{font-size:clamp(1.08rem,5vw,1.35rem)!important}
}

@media(max-width:390px){
  :root{--aw-page-gutter:9px}
  :where(.container,.planner-wrap>.container,.results>.container,.post-plan>.container){
    width:auto!important;
    inline-size:calc(100% - (2 * var(--aw-page-gutter)))!important;
  }
}

/* ================================================================
   ApplyWell site-wide auto-adaptive layout system — 2026-09-23
   One responsive safety layer for every public page, not just Planner.
   CSS handles layout first; JS only tightens unusually long generated text.
   ================================================================ */

*,*::before,*::after{box-sizing:border-box}
html{min-width:0;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;max-width:100%;overflow-x:clip}

:root{
  --aw-fluid-gutter:clamp(12px,3.25vw,36px);
  --aw-fluid-max:1200px;
  --aw-readable:72ch;
  --aw-card-gap:clamp(14px,2.2vw,26px);
  --aw-section-y:clamp(42px,7vw,88px);
}

/* Global media and embeds can never widen a page. */
:where(img,picture,svg,video,canvas,iframe){max-inline-size:100%;height:auto}
:where(iframe){inline-size:100%}

/* Shared page axis: automatically scales from small phone to wide desktop. */
:where(.container,.wrap,.nav-inner,.footer-inner,.footer-grid,
       main>.container,main>section>.container,section>.container,
       .planner-wrap>.container,.results>.container,.post-plan>.container,
       .career-faq.container,.planner-guides>.container){
  inline-size:min(calc(100% - (2 * var(--aw-fluid-gutter))),var(--aw-fluid-max));
  max-inline-size:100%;
  margin-inline:auto;
}

/* Prevent any child of a grid/flex/card from dictating page width. */
:where(main,header,footer,section,article,aside,nav,form,fieldset,
       .container,.wrap,.card,.guide-card,.blog-card,.side-card,.cta-box,
       .profile-box,.callout,.note,.example,.home-route-card,.price-card,
       .ats-input-card,.ats-result-card,.form-card,.planner-card,
       .result-card,.intelligence-card,.roadmap-card,.training-course,
       .related-grid,.article-wrap,.page-grid,.hero-grid,.cards,.grid,
       .home-route-grid,.about-home-grid,.blog-preview-grid,.guide-grid,
       .form-grid,.field-grid,.metric-grid,.benefits-grid,.results-actions,
       .hero-actions,.pill-row,.chips,.footer-links,.nav-links)>*{
  min-inline-size:0;
  max-inline-size:100%;
}

/* Copy fits its box before font-size is touched. */
:where(main,header,footer) :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,
       strong,small,span,a,button,summary,blockquote,figcaption){
  max-inline-size:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
:where(h1,h2,h3,h4){text-wrap:balance}
:where(p,li,blockquote,.lede,.hint,.note,.callout){text-wrap:pretty}

/* Fluid type across every template. Existing component-specific sizes may override. */
:where(main) h1{font-size:clamp(2rem,5.3vw,3.55rem);line-height:1.08;letter-spacing:-.035em}
:where(main) h2{font-size:clamp(1.55rem,3.5vw,2.35rem);line-height:1.15;letter-spacing:-.02em}
:where(main) h3{font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.22}
:where(main) h4{line-height:1.28}

/* Long-form reading widths stay comfortable instead of stretching across desktop. */
:where(.article,.content,.legal-copy,.guide-content,.blog-content)>:where(p,ul,ol,blockquote){max-inline-size:var(--aw-readable)}

/* Forms and controls adapt to the space they actually have. */
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
}
:where(button,.button,.btn,a.cta,.btn-primary,.btn-outline){
  max-inline-size:100%;
  min-inline-size:0;
  white-space:normal;
  line-height:1.25;
  overflow-wrap:break-word;
}
:where(.hero-actions,.results-actions,.result-actions,.footer-links,.pill-row,.chips){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}

/* Tags/chips never force one-line overflow. */
:where(.chip,.pill,.tag,.badge,.route-tag,.fit,.simple-match,.skills-count,.road-goal,.paid-badge){
  max-inline-size:100%;
  white-space:normal;
  overflow-wrap:break-word;
}

/* Auto-fit common card collections. */
:where(.cards,.blog-preview-grid,.related-grid,.guide-grid,.home-route-grid,
       .about-home-grid,.metric-grid,.benefits-grid){
  gap:var(--aw-card-gap);
}
@supports (grid-template-columns:subgrid){
  .cards>*,.blog-preview-grid>*,.related-grid>*,.guide-grid>*{min-width:0}
}

/* Tables/code are contained locally instead of breaking the entire page. */
:where(table){max-inline-size:100%}
:where(pre,code){max-inline-size:100%;overflow-wrap:anywhere}
pre{overflow:auto;-webkit-overflow-scrolling:touch}

/* Card-local responsiveness. */
:where(.card,.guide-card,.blog-card,.side-card,.cta-box,.profile-box,
       .home-route-card,.price-card,.ats-input-card,.ats-result-card,
       .form-card,.planner-card,.result-card,.intelligence-card,
       .roadmap-card,.training-course,.callout,.example,.note){container-type:inline-size}

@container (max-width:460px){
  :where(.hero-actions,.results-actions,.result-actions){display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
  :where(.hero-actions,.results-actions,.result-actions)>:where(a,button,.button,.btn){width:100%!important;justify-content:center!important;text-align:center!important}
  :where(.metric-grid,.simple-result-grid,.skills-cols,.field-grid){grid-template-columns:1fr!important}
}

/* Flexible desktop/tablet grids: choose the number of columns from available width. */
@media(min-width:681px){
  :where(.cards,.blog-preview-grid,.related-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important}
  :where(.guide-grid,.home-route-grid,.about-home-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important}
  :where(.metric-grid,.benefits-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important}
}

/* Tablet: two-column desktop layouts collapse before content starts to squeeze. */
@media(max-width:940px){
  :where(.hero-grid,.ats-layout,.article-wrap,.page-grid){grid-template-columns:1fr!important}
  :where(.article-wrap,.page-grid){gap:clamp(22px,5vw,38px)!important}
  :where(.side,.toc,.article-wrap>aside){max-inline-size:100%!important}
  .hero-copy{max-inline-size:760px}
  .hero-dashboard{max-inline-size:min(100%,680px);margin-inline:auto}
  .footer-inner,.footer-grid{align-items:flex-start}
}

/* Phones: content density, controls and cards adapt as a system. */
@media(max-width:680px){
  :root{--aw-fluid-gutter:clamp(9px,3.5vw,16px);--aw-section-y:clamp(30px,9vw,52px)}
  :where(section){scroll-margin-top:88px}
  :where(.hero,.section,.home-routes,.how,.results,.post-plan){padding-block:var(--aw-section-y)}
  :where(.cards,.blog-preview-grid,.related-grid,.guide-grid,.home-route-grid,
         .about-home-grid,.metric-grid,.benefits-grid,.form-grid,.field-grid){
    grid-template-columns:1fr!important;
  }
  :where(.card,.guide-card,.blog-card,.side-card,.cta-box,.profile-box,.callout,
         .home-route-card,.price-card,.ats-input-card,.ats-result-card,.form-card){
    max-inline-size:100%!important;
  }
  :where(.hero-actions,.results-actions,.result-actions){gap:10px!important}
  :where(.hero-actions,.results-actions,.result-actions)>:where(a,button,.button,.btn){
    width:100%;
    justify-content:center;
    text-align:center;
  }
  :where(input:not([type=checkbox]):not([type=radio]),select,textarea,button){font-size:16px}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  td,th{white-space:normal}
  .breadcrumb{display:flex;flex-wrap:wrap;gap:4px 7px}
  .hero h1{max-inline-size:100%!important}
  .footer-inner,.footer-grid{display:grid!important;grid-template-columns:1fr!important}
}

/* Very narrow phones / browser zoom: preserve usability rather than shrinking into illegibility. */
@media(max-width:360px){
  :root{--aw-fluid-gutter:8px}
  :where(.card,.guide-card,.blog-card,.side-card,.cta-box,.profile-box,.callout,
         .home-route-card,.price-card,.ats-input-card,.ats-result-card,.form-card,
         .planner-card,.result-card,.intelligence-card){padding-inline:12px!important}
  :where(main) h1{font-size:clamp(1.8rem,9.5vw,2.35rem)}
  :where(main) h2{font-size:clamp(1.42rem,7.5vw,1.9rem)}
}

/* Site-wide auto-fit classes applied by JS only when text is genuinely too tall. */
.aw-site-title-tight{font-size:calc(1em * .92)!important;line-height:1.12!important}
.aw-site-title-tighter{font-size:calc(1em * .84)!important;line-height:1.1!important;letter-spacing:-.025em!important}
.aw-site-control-tight{font-size:calc(1em * .92)!important;padding-inline:10px!important}
.aw-site-control-tighter{font-size:calc(1em * .85)!important;padding-inline:8px!important}
.aw-site-compact{gap:clamp(8px,2vw,14px)!important}


/* ========================================================================
   ApplyWell responsive foundation v2 — 2026-09-23
   CSS-first, component-responsive layout.
   Principle: reflow -> wrap -> stack. Do not shrink text with JavaScript.
   ======================================================================== */

:root{
  --aw-content-max:1200px;
  --aw-reading-max:70ch;
  --aw-gutter:clamp(14px,3.2vw,36px);
  --aw-space-1:clamp(6px,.7vw,9px);
  --aw-space-2:clamp(10px,1vw,14px);
  --aw-space-3:clamp(14px,1.5vw,20px);
  --aw-space-4:clamp(20px,2.2vw,30px);
  --aw-space-5:clamp(30px,4vw,54px);
  --aw-space-6:clamp(44px,6vw,82px);
  --aw-radius-card:clamp(16px,2vw,24px);
  --aw-control-min:44px;
}

/* One centred page axis. The content remains deliberately desktop-sized while
   the gutter fluidly contracts on smaller screens and browser zoom. */
:where(.container,.wrap,.nav-inner,.footer-inner,.footer-grid,
       main>.container,main>section>.container,section>.container,
       .planner-wrap>.container,.results>.container,.post-plan>.container,
       .career-faq.container,.planner-guides>.container){
  inline-size:min(100%,calc(var(--aw-content-max) + (2 * var(--aw-gutter))));
  margin-inline:auto;
  padding-left:max(var(--aw-gutter),env(safe-area-inset-left));
  padding-right:max(var(--aw-gutter),env(safe-area-inset-right));
}

/* Full-bleed site chrome can extend to the device edge; important content stays
   inside the safe area through its inner container. */
:where(header,footer,.nav,.footer){max-inline-size:100%}

/* Intrinsic sizing: no flex/grid child is allowed to make its parent wider. */
:where(.hero-grid,.page-grid,.article-wrap,.ats-layout,.form-grid,.field-grid,
       .cards,.grid,.guide-grid,.related-grid,.blog-preview-grid,.home-route-grid,
       .about-home-grid,.metric-grid,.benefits-grid,.planner-shell,.planner-card,
       .wizard-step,.employment-options,.strength-grid,.matcher-options,
       .result-grid,.result-card,.simple-result-grid,.simple-result-card,
       .next-actions,.skills-cols,.roadmaps,.roadmap-card,.training-panel,
       .training-pathway,.training-course,.email-plan-grid,.footer-inner,.footer-grid)>*{
  min-inline-size:0;
}

/* Fluid type with hard readability floors and ceilings. */
:where(main) h1{font-size:clamp(2rem,1.45rem + 2.3vw,3.5rem);line-height:1.07;letter-spacing:-.035em}
:where(main) h2{font-size:clamp(1.55rem,1.28rem + 1.25vw,2.35rem);line-height:1.14;letter-spacing:-.022em}
:where(main) h3{font-size:clamp(1.18rem,1.06rem + .55vw,1.6rem);line-height:1.22}
:where(main) :is(p,li,label,summary,button,a,input,select,textarea){font-size:max(.95rem,1em)}
:where(h1,h2,h3,h4,.plan-role-title){text-wrap:balance;overflow-wrap:anywhere}
:where(p,li,.lede,.hint,.why,.note,.callout,.plan-role-subtitle){text-wrap:pretty;overflow-wrap:break-word}
:where(.article,.content,.legal-copy,.guide-content,.blog-content)>:where(p,ul,ol,blockquote){max-inline-size:var(--aw-reading-max)}

/* Controls remain readable and tappable at small widths and 200% zoom. */
:where(button,.button,.btn,.btn-primary,.btn-outline,a.cta,input,select,textarea){
  min-block-size:var(--aw-control-min);
  max-inline-size:100%;
}
:where(button,.button,.btn,.btn-primary,.btn-outline,a.cta){
  white-space:normal;
  text-align:center;
  line-height:1.25;
  overflow-wrap:anywhere;
}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){
  inline-size:100%;
  min-inline-size:0;
}
:where(button,.button,.btn,a,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(17,167,160,.3);
  outline-offset:3px;
}

/* Common grids choose their own column count from the space available. */
:where(.cards,.blog-preview-grid,.related-grid,.result-grid,.simple-result-grid,.next-actions){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:var(--aw-space-3);
}
:where(.guide-grid,.home-route-grid,.about-home-grid){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));
  gap:var(--aw-space-3);
}
:where(.metric-grid,.benefits-grid,.employment-options){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));
  gap:var(--aw-space-2);
}

/* Components respond to their own width, not just the viewport. */
.planner-card{container:aw-planner / inline-size}
.result-card{container:aw-result / inline-size}
.intelligence-card{container:aw-plan / inline-size}
.roadmap-card{container:aw-roadmap / inline-size}
.training-course,.training-panel{container:aw-training / inline-size}
.email-plan{container:aw-email / inline-size}
.card,.guide-card,.blog-card,.side-card,.home-route-card,.price-card,.cta-box{container-type:inline-size}

@container aw-planner (max-width:700px){
  .field-grid,.wizard-review,.strength-grid{grid-template-columns:1fr!important}
  .employment-options{grid-template-columns:1fr!important}
  .wizard-actions{display:grid!important;grid-template-columns:1fr!important}
  .wizard-actions :is(button,.button,a){inline-size:100%;justify-content:center}
}

@container aw-result (max-width:390px){
  .result-top,.simple-card-top{display:flex;flex-wrap:wrap;align-items:flex-start}
  .result-actions{display:grid!important;grid-template-columns:1fr!important}
  .result-actions :is(a,button,.button,.text-link){inline-size:100%;justify-content:center;text-align:center}
  .result-card h3{font-size:clamp(1.35rem,7cqi,1.75rem)!important}
}

@container aw-plan (max-width:620px){
  .skills-cols,.mini-grid,.simple-skills,.next-actions{grid-template-columns:1fr!important}
  .career-score{display:grid!important;grid-template-columns:1fr!important;gap:var(--aw-space-2)!important}
  .results-actions{display:grid!important;grid-template-columns:1fr!important}
  .results-actions :is(a,button,.button){inline-size:100%;justify-content:center}
  .plan-role-title{font-size:clamp(1.55rem,7cqi,2.1rem)!important}
}

@container aw-roadmap (max-width:560px){
  .roadmap-head,.road-main,.road-training,.road-course{display:grid!important;grid-template-columns:1fr!important}
  .roadmap-head{align-items:start!important}
}

@container aw-training (max-width:520px){
  .paid-learning-head,.road-training-title,.training-course-head{display:flex;flex-wrap:wrap;align-items:flex-start!important}
  .training-actions,.training-links{display:grid!important;grid-template-columns:1fr!important}
  .training-actions :is(a,button),.training-links :is(a,button){inline-size:100%;justify-content:center}
}

@container aw-email (max-width:620px){
  .email-plan-grid{grid-template-columns:1fr!important}
  .email-plan-grid :is(button,.button){inline-size:100%}
}

/* Header/navigation has a stable desktop mode and an intentional compact mode. */
header .nav-inner{min-block-size:74px;gap:var(--aw-space-3)}
header .brand{min-inline-size:0;flex:0 1 auto}
header .brand img{max-inline-size:min(215px,48vw);height:auto}
header .nav-links{min-inline-size:0}

/* Wide compositions use room deliberately; they do not merely stretch mobile UI. */
@media (min-width:941px){
  .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:var(--aw-space-5)}
  .article-wrap{grid-template-columns:minmax(0,760px) minmax(230px,280px);justify-content:center;gap:var(--aw-space-5)}
  .page-grid{grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:var(--aw-space-5)}
  .planner-card{max-inline-size:940px;margin-inline:auto}
}

/* Tablet/zoom: collapse layouts before any text becomes cramped. */
@media (max-width:940px){
  :where(.hero-grid,.article-wrap,.page-grid,.ats-layout){grid-template-columns:1fr!important}
  :where(.toc,.side,.article-wrap>aside){position:static!important;max-inline-size:100%!important}
  .hero-copy{max-inline-size:760px}
  .hero-dashboard{max-inline-size:min(100%,680px);margin-inline:auto}
}

/* Phone UX: one clear column and one clear action at a time. */
@media (max-width:680px){
  :root{--aw-gutter:clamp(12px,4vw,18px);--aw-control-min:46px}
  :where(.hero-actions,.results-actions,.result-actions,.wizard-actions){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  :where(.hero-actions,.results-actions,.result-actions,.wizard-actions)>:where(a,button,.button,.btn){
    inline-size:100%!important;
    justify-content:center!important;
  }
  :where(.cards,.blog-preview-grid,.related-grid,.guide-grid,.home-route-grid,.about-home-grid,
         .metric-grid,.benefits-grid,.form-grid,.field-grid){grid-template-columns:1fr!important}
  :where(input:not([type=checkbox]):not([type=radio]),select,textarea,button){font-size:16px}
  .breadcrumb{display:flex;flex-wrap:wrap;gap:4px 7px}
  .footer-inner,.footer-grid{display:grid!important;grid-template-columns:1fr!important}
}

/* Extra-narrow layouts and high browser zoom retain legibility rather than
   using smaller and smaller typography. */
@media (max-width:380px){
  :root{--aw-gutter:10px}
  :where(.planner-card,.result-card,.intelligence-card,.roadmap-card,.training-course,
         .card,.guide-card,.blog-card,.side-card,.cta-box){padding-inline:14px!important}
}

/* Horizontal data belongs in a local scroller, never in the page viewport. */
:where(.table-wrap,.table-scroll){overflow-x:auto;max-inline-size:100%;-webkit-overflow-scrolling:touch}
@media (max-width:680px){
  table{display:block;max-inline-size:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Respect user motion settings and reduce layout movement. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Older JS auto-shrink classes are intentionally neutralised. New builds do
   not add them, but this prevents cached markup/classes from changing text size. */
.aw-auto-tight,.aw-auto-tighter,.aw-auto-control-tight,.aw-auto-control-tighter,
.aw-site-title-tight,.aw-site-title-tighter,.aw-site-control-tight,.aw-site-control-tighter{
  font-size:inherit!important;
  letter-spacing:inherit!important;
}

/* ApplyWell Next Move + career-plan crossover */
.career-proof[hidden],.next-move-shell[hidden],.ats-career-context[hidden]{display:none!important}
.career-proof{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;color:#44647a;font-size:.82rem}
.career-proof strong{color:#0b2b4f;background:#fff;border:1px solid #dce9ed;border-radius:999px;padding:7px 10px}
.career-proof span{color:#718796}
.next-move-shell{padding:18px 0 10px;background:#f7fbfb}
.next-move-card{container:aw-next-move / inline-size;background:#fff;border:1px solid #dfe9ed;border-radius:24px;padding:clamp(20px,3vw,30px);box-shadow:0 14px 36px rgba(12,43,79,.06)}
.next-move-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.next-move-head h2{margin:5px 0 6px;color:#0b2b4f}
.next-move-head p{margin:0;color:#637b8e;line-height:1.55;max-width:640px}
.next-move-meter{flex:0 0 auto;min-width:86px;text-align:center;border:1px solid #dce9ed;border-radius:16px;padding:10px 12px;background:#f8fbfc}
.next-move-meter strong{display:block;color:#0b2b4f;font-size:1.1rem}.next-move-meter span{display:block;color:#768b99;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.next-move-bar{height:8px;border-radius:999px;background:#e7f0f2;overflow:hidden;margin:18px 0 20px}.next-move-bar span{display:block;height:100%;width:0;background:#11a7a0;border-radius:inherit;transition:width .25s ease}
.next-move-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.next-move-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e1eaed;border-radius:16px;padding:14px 16px;min-width:0}
.next-move-step.is-done{background:#f5fbfa;border-color:#cfe8e5}.next-move-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf3f5;color:#587185;font-weight:950}.next-move-step.is-done .next-move-icon{background:#dff5f2;color:#087f79}.next-move-step strong{display:block;color:#0b2b4f;line-height:1.25;overflow-wrap:anywhere}.next-move-step p{margin:4px 0 0;color:#687f90;font-size:.84rem;line-height:1.45}.next-move-action{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-weight:900;color:#087f79;min-height:44px;padding:8px 10px;border-radius:10px}.next-move-action:hover{background:#edf8f7}.next-move-status{font-size:.76rem;font-weight:900;color:#087f79;padding:7px 9px}
.ats-career-context{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:16px 18px;border:1px solid #bfe6e2;border-radius:18px;background:#f1fbfa;color:#365d72}
.ats-career-context>div{min-width:0}.ats-career-context .eyebrow{display:block;margin-bottom:4px}.ats-career-context strong{display:block;color:#0b2b4f;font-size:1.05rem;line-height:1.3}.ats-career-context p{margin:5px 0 0;color:#60798c;line-height:1.5}.ats-career-context a{flex:0 0 auto;color:#087f79;text-decoration:none;font-weight:900}
@container aw-next-move (max-width:640px){.next-move-head{display:grid;grid-template-columns:1fr}.next-move-meter{justify-self:start}.next-move-step{grid-template-columns:40px minmax(0,1fr)}.next-move-action,.next-move-status{grid-column:2;justify-self:start}.next-move-action{padding-left:0}}
@media(max-width:680px){.career-proof{display:grid;grid-template-columns:1fr;gap:5px}.career-proof strong{justify-self:start}.ats-career-context{display:grid;grid-template-columns:1fr}.ats-career-context a{justify-self:start}.next-move-card{border-radius:20px}.next-move-step{padding:13px}}

/* Career skills profile v3 — role-led, editable and content-responsive */
.role-skills-builder{margin-top:14px;container-type:inline-size;min-width:0}
.role-skills-copy{display:grid;gap:4px;margin-bottom:15px}
.role-skills-copy strong{font-size:clamp(1rem,1.6vw,1.12rem);color:#173b57;line-height:1.3}
.role-skills-copy span,.profile-skill-note{color:#6f8797;font-size:.84rem;line-height:1.55}
.role-skills-toolbar{position:relative;display:grid;gap:7px;margin:0 0 16px;max-width:680px}
.role-skills-toolbar label{margin:0;color:#31566c;font-size:.82rem;font-weight:900}
.role-skills-toolbar input{min-height:48px;font-size:16px}
.profile-skill-results{position:absolute;z-index:15;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #d8e6e9;border-radius:14px;box-shadow:0 16px 34px rgba(12,43,79,.13);padding:6px;max-height:280px;overflow:auto}
.profile-skill-result{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;border:0;background:#fff;color:#173b57;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer;font:inherit}
.profile-skill-result:hover,.profile-skill-result:focus-visible{background:#f0f9f8;outline:none}
.profile-skill-result strong{font-size:.88rem}.profile-skill-result small{font-size:.7rem;color:#78909e;text-align:right}
.profile-skill-results>p{margin:8px 9px;color:#78909e;font-size:.82rem}
.profile-skill-selected{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;min-width:0}
.profile-skill{position:relative;min-width:0;margin:0}
.profile-skill input{position:absolute;opacity:0;pointer-events:none}
.profile-skill span{display:block;min-height:54px;border:1px solid #acdcd8;background:#eef9f8;border-radius:13px;padding:10px 34px 10px 11px;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.profile-skill span::after{content:'✓';position:absolute;right:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#0e9f97;color:#fff;font-size:.72rem;font-weight:950}
.profile-skill strong,.profile-skill small{display:block}.profile-skill strong{color:#21556c;font-size:.84rem;line-height:1.3}.profile-skill small{color:#6f8998;font-size:.68rem;margin-top:3px;line-height:1.25}
.profile-skill:focus-within span{outline:3px solid rgba(17,167,160,.16);outline-offset:2px}
.profile-skill-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:13px}
#profile-skill-count{color:#31566c;font-size:.8rem;font-weight:900}
.profile-skill-reset{border:0;background:transparent;color:#087f79;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer;padding:8px 0}
.profile-skill-note{margin:10px 0 0}
@container (max-width:460px){.profile-skill-selected{grid-template-columns:1fr}.profile-skill-result{align-items:flex-start;flex-direction:column;gap:2px}.profile-skill-result small{text-align:left}}
@media(max-width:680px){.role-skills-toolbar{max-width:none}.profile-skill-selected{grid-template-columns:1fr}.profile-skill span{min-height:52px}.profile-skill-foot{align-items:flex-start;flex-direction:column;gap:2px}.profile-skill-reset{min-height:44px;text-align:left}.role-skills-copy span,.profile-skill-note{font-size:.8rem}}

/* Release cleanup: native hidden semantics and bounded accessible controls. */
#planner-form [hidden],#results-content [hidden],#career-intelligence-output [hidden]{display:none!important}
#planner-form :is(.employment-options,.matcher-options,.strength-grid) label{position:relative;min-width:0}
#planner-form :is(.employment-options,.matcher-options,.strength-grid) input:is([type=radio],[type=checkbox]){position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#planner-form :is(.employment-options,.matcher-options,.strength-grid) label:has(input:focus-visible){outline:3px solid #087f79;outline-offset:3px}
#profile-skill-selected{display:block}
.profile-skill-group{border:1px solid #d7e3e8;border-radius:8px;margin:10px 0;padding:0 12px}
.profile-skill-group>summary{padding:14px 0;min-height:44px;box-sizing:border-box;cursor:pointer;font-weight:700;color:#173b57}
.profile-skill-group>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px;padding-bottom:12px}
.profile-skill-review{display:flex!important;align-items:flex-start;gap:10px;min-height:44px;line-height:1.5;margin:16px 0!important;font-size:1rem!important}
#planner-form .profile-skill-review input{position:static;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:3px}
.profile-skill-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.profile-skill-tools button{min-height:44px;border:1px solid #b8cdd3;background:white;color:#173b57;border-radius:6px;padding:8px 12px;font:inherit;cursor:pointer}
#planner-form .profile-skill-note{font-size:.9rem}
.next-move-progress-details>summary{min-height:44px;cursor:pointer;font-weight:700;color:#173b57;padding:12px 0}
.result-detail>summary{min-height:44px;cursor:pointer;font-weight:700;padding:14px 0;color:#173b57}
.result-detail{border-top:1px solid #dfe9ed;margin-top:20px}
.result-detail .career-training-reason{margin:12px 0}
.result-other-options{margin-top:20px}
.result-other-options>summary{padding:16px;min-height:44px;cursor:pointer;font-weight:700}
@media(min-width:941px){body:has(#planner-form) .hero{padding-block:30px}body:has(#planner-form) .hero h1{font-size:2.3rem}body:has(#planner-form) .hero .hero-aside{display:none}#planner-form .wizard-fields{max-width:880px}#planner-form .wizard-hint{margin-bottom:16px}.results-page-head{padding-top:32px!important}}
/* Shared navigation and progressively enhanced order journey. */
.aw-advice{position:relative;min-width:0}
.aw-advice summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px;font-weight:700}
.aw-advice summary::after{content:'⌄'}
.aw-advice-links{position:absolute;right:0;top:100%;z-index:10000;background:#fff;border:1px solid #dfe9ed;border-radius:12px;box-shadow:0 12px 28px #0c2b4f20;min-width:210px;padding:10px;display:grid;gap:4px}
.aw-advice-links a{padding:12px!important;display:block;white-space:normal}
.aw-advice summary:focus-visible,.order-intake>summary:focus-visible,.order-optional>summary:focus-visible{outline:3px solid #087f79;outline-offset:3px}
.order-intake{min-width:0;width:100%}
.order-intake>summary{cursor:pointer;list-style:none;white-space:normal;text-align:center}
.order-intake[open]>summary{margin-bottom:18px}
.order-enhanced #prefill-grid,.order-enhanced #prefilled-note{display:none!important}
.order-enhanced [hidden]{display:none!important}
.order-step-intro{margin:20px 0}.order-step-intro h3{margin:8px 0;font-size:1.5rem}
.order-controls{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}
.order-controls button{min-height:44px}.order-optional>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}
.order-review{grid-column:1/-1;line-height:1.6;margin:0 0 16px}
.order-step input,.order-step textarea,.order-step select{max-width:100%;min-width:0;font-size:16px}
.order-step small{display:block;line-height:1.5;margin-top:8px}
@media(max-width:940px){.aw-advice-links{position:static;min-width:0;box-shadow:none;border:0;padding:0 0 0 12px}.aw-advice summary{padding:12px 13px}}
@media(min-width:1100px){#contact .cta{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:start}#contact .form-card{width:100%;max-width:780px}.home-routes .container{max-width:1240px}}
@media(max-width:480px){.order-step.form-grid{grid-template-columns:minmax(0,1fr)}.order-controls .btn{flex:1;white-space:normal}.order-intake .form-card{padding:20px 16px}}
/* Consumer guidance stays within the existing responsive layout. */
.consumer-note{font-size:1rem;line-height:1.6;padding:14px 16px;border-left:3px solid #087f79;background:#f3faf9;overflow-wrap:anywhere}
.consumer-note a,.consumer-diy>a{text-decoration:underline;color:#086e68}
.consumer-diy{margin:20px 0;padding:18px;border:1px solid #cbdfe0;border-radius:12px;line-height:1.6}
.consumer-diy h4{margin:0 0 8px}.consumer-diy .btn{display:inline-flex;margin-top:12px;min-height:44px;white-space:normal}
.package-fit{font-weight:700;color:#31536b;line-height:1.5}
.order-review-list{display:grid;grid-template-columns:minmax(95px,.4fr) minmax(0,1fr);gap:8px 14px;margin:12px 0;overflow-wrap:anywhere}
.order-review-list dt{font-weight:700}.order-review-list dd{margin:0}
.order-review button{min-height:44px;margin:8px 8px 0 0}
.sample-plan-section{padding-block:20px}.sample-plan,.delivery-guidance{border:1px solid #cbdfe0;border-radius:12px;padding:18px;line-height:1.6}
.sample-plan summary,.delivery-guidance summary,.question-help summary{cursor:pointer;min-height:44px;font-weight:700;display:flex;align-items:center}
.sample-plan summary:focus-visible,.delivery-guidance summary:focus-visible,.question-help summary:focus-visible{outline:3px solid #087f79;outline-offset:3px}
.sample-plan h2{font-size:clamp(1.5rem,3vw,2rem)}.sample-plan ol{padding-left:24px}.sample-plan li{margin-bottom:10px}
.question-help{margin-top:8px}.question-help p{font-size:1rem;line-height:1.55}.delivery-guidance{margin-top:20px;background:#fff;color:#173b57}
.report-site-problem{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;text-decoration:underline!important;overflow-wrap:anywhere}
#planner-sample-link{max-width:880px;margin:14px auto;padding:0 16px;line-height:1.6}


/* 2026-10-09: mobile/app tap-through preference flow. Keep the underlying form values as the source of truth. */
#planner-form.is-tap-flow .tap-flow-nav,
#planner-form.is-tap-flow .tap-sequence-nav{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;
  margin:2px 0 14px;padding:0 1px;
}
#planner-form.is-tap-flow .tap-flow-progress-text{font-size:.75rem;font-weight:900;color:#426579;letter-spacing:.01em}
#planner-form.is-tap-flow .tap-flow-progress-line{
  grid-column:1/-1;position:relative;display:block;height:3px;background:#e5edef;border-radius:2px;overflow:hidden
}
#planner-form.is-tap-flow .tap-flow-progress-line::after{
  content:'';position:absolute;inset:0 auto 0 0;width:var(--tap-progress,12.5%);background:#0f9f98;transition:width .18s ease
}
#planner-form.is-tap-flow .tap-flow-back{
  border:0;background:transparent;color:#087f79;font:inherit;font-size:.75rem;font-weight:850;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px
}
#planner-form.is-tap-flow .tap-flow-back[hidden]{display:none!important}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-grid{display:block!important}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-question{
  border:0!important;padding:0!important;background:transparent!important;border-radius:0!important;min-inline-size:0
}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-question legend{
  width:100%;padding:0 0 10px!important;color:#0b2b4f!important;font-size:1.02rem!important;line-height:1.3!important;font-weight:900!important
}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-options{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:0!important}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-options label:last-child{grid-column:auto!important}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-options span{
  justify-content:flex-start!important;min-height:54px!important;padding:13px 14px!important;text-align:left!important;
  border-radius:13px!important;border:1px solid #d7e3e8!important;background:#fff!important;color:#31566c!important;
  font-size:.86rem!important;font-weight:850!important;box-shadow:none!important
}
#planner-form.is-tap-flow .tap-flow-matcher .matcher-options input:checked+span{
  border-color:#62bbb5!important;background:#f0faf8!important;color:#087f79!important;box-shadow:inset 4px 0 0 #0f9f98!important
}
#planner-form.is-tap-flow .tap-flow-done{
  margin:11px 0 0;padding:10px 12px;border-left:3px solid #0f9f98;background:#f5faf9;color:#416579;
  font-size:.78rem;line-height:1.4;font-weight:750
}
#planner-form.is-tap-flow .tap-choice-native{
  position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important
}
#planner-form.is-tap-flow .tap-choice-options{display:grid;grid-template-columns:1fr;gap:9px;margin-top:7px}
#planner-form.is-tap-flow .tap-choice-button{
  width:100%;min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  border:1px solid #d7e3e8;background:#fff;color:#31566c;border-radius:13px;padding:12px 14px;text-align:left;
  font:inherit;cursor:pointer;box-shadow:none
}
#planner-form.is-tap-flow .tap-choice-button span{font-size:.87rem;font-weight:850;line-height:1.3}
#planner-form.is-tap-flow .tap-choice-button small{font-size:.68rem;font-weight:850;color:#718795;text-transform:uppercase;letter-spacing:.04em}
#planner-form.is-tap-flow .tap-choice-button.is-selected{
  border-color:#62bbb5;background:#f0faf8;color:#087f79;box-shadow:inset 4px 0 0 #0f9f98
}
#planner-form.is-tap-flow .tap-choice-button.is-selected small{color:#087f79}
#planner-form.is-tap-flow .tap-choice-button:focus-visible{outline:3px solid rgba(15,159,152,.18);outline-offset:2px}
#planner-form.is-tap-flow .tap-choice-field .hint{margin-top:10px}
#planner-form.is-tap-flow .employment-field+.field:not([hidden]){animation:awTapFlowIn .18s ease-out both}
#planner-form.is-tap-flow .tap-flow-reveal{animation:awTapFlowIn .18s ease-out both}
@keyframes awTapFlowIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  #planner-form.is-tap-flow .tap-flow-reveal,#planner-form.is-tap-flow .employment-field+.field:not([hidden]){animation:none!important}
  #planner-form.is-tap-flow .tap-flow-progress-line::after{transition:none!important}
}
@media(max-width:420px){
  #planner-form.is-tap-flow .tap-flow-nav,#planner-form.is-tap-flow .tap-sequence-nav{grid-template-columns:1fr auto;gap:6px 9px}
  #planner-form.is-tap-flow .tap-flow-progress-text{font-size:.71rem}
  #planner-form.is-tap-flow .tap-flow-back{font-size:.71rem}
  #planner-form.is-tap-flow .tap-choice-button{min-height:54px;padding:11px 12px}
}
