@charset "UTF-8";
:root {
  --red:#dc2626;
  --red-dark:#b91c1c;
  --red-pale:#fff1f2;
  --ink:#0f172a;
  --muted:#526176;
  --line:#dce3eb;
  --cream:#f8fafc;
  --white:#fff;
  --radius:12px;
  --shadow:0 12px 38px #252a2d0b;
  --header:76px;
  font-family:"Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;
  color:var(--ink);
  font-synthesis:none;
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--white);
  overflow-wrap:anywhere
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit;
  letter-spacing:inherit
}
button,a,input,select,summary {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  cursor:wait;
  opacity:.6
}
button {
  color:inherit
}
a,button {
  -webkit-tap-highlight-color:transparent
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #127eae;
  outline-offset:4px
}
img {
  display:block;
  max-width:100%;
  object-fit:cover
}
p,h1,h2,h3,ul,ol,dl {
  margin:0
}
p+p {
  margin-top:1em
}
h1,h2,h3 {
  line-height:1.5;
  letter-spacing:.035em;
  text-wrap:pretty
}
h1 {
  font-weight:900
}
h2 {
  font-size:clamp(25px,2.8vw,38px);
  font-weight:800
}
h3 {
  font-size:21px
}
small {
  font-size:12px
}
strong {
  font-weight:800
}
[hidden] {
  display:none!important
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  z-index:1000;
  background:white;
  padding:10px;
  transform:translateY(-200%)
}
.skip-link:focus {
  transform:none
}
.container {
  margin-inline:auto
}
.narrow {
  max-width:850px
}
.section-tint {
  background:var(--cream)
}
.eyebrow {
  font-size:11px;
  font-weight:800;
  color:var(--red);
  line-height:1.5
}
.section-heading h2+p {
  color:var(--muted);
  font-size:14px
}
.section-heading.compact {
  margin-bottom:0
}
.heading-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}
.heading-row>.text-link {
  white-space:nowrap;
  font-size:13px
}
.muted,.section-footnote {
  font-size:12px;
  color:var(--muted)
}
.section-footnote {
  margin-top:22px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:13px 24px;
  border:1px solid var(--red);
  background:var(--red);
  color:white;
  font-size:14px;
  line-height:1.6;
  font-weight:750;
  text-align:center;
  transition:background .2s,transform .2s,box-shadow .2s
}
.button:hover {
  background:var(--red-dark);
  border-color:var(--red-dark);
  box-shadow:0 6px 16px #b82b1525;
  transform:translateY(-1px)
}
.button>span[aria-hidden] {
  font-size:23px;
  line-height:1
}
.button-white {
  background:white;
  border-color:white;
  color:var(--red)
}
.button-white:hover {
  color:var(--red-dark)
}
.button-light,.button-secondary {
  background:var(--cream);
  border-color:var(--line);
  color:var(--ink)
}
.button-light:hover,.button-secondary:hover {
  background:#e2e8f0;
  color:var(--ink)
}
.button-outline {
  background:white;
  color:var(--red);
  border-color:var(--red)
}
.button-outline:hover {
  background:var(--red-pale);
  color:var(--red-dark)
}
.button[aria-pressed=true],.keep-button[aria-pressed=true] {
  background:var(--red-pale);
  color:var(--red-dark);
  border-color:var(--red)
}
.button-row {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap
}
.text-link,.text-button,.subtle-link {
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
  line-height:1.7;
  display:inline-block
}
.text-link {
  border-bottom:1px solid var(--ink);
  padding-block:6px
}
.text-button:hover,.text-link:hover,.subtle-link:hover {
  color:var(--red)
}
.subtle-link {
  text-decoration:underline;
  text-underline-offset:5px
}
.pill,.card-tags span,.skill-tags span {
  display:inline-flex;
  align-items:center;
  background:var(--cream);
  padding:5px 12px;
  font-size:11px;
  font-weight:650;
  border-radius:4px;
  line-height:1.5
}
.pill.red {
  color:var(--red);
  background:var(--red-pale)
}
.pill-row,.skill-tags {
  display:flex;
  gap:7px;
  flex-wrap:wrap
}
.demo-strip {
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  padding:5px 24px;
  display:flex;
  justify-content:center;
  gap:12px;
  line-height:1.5
}
.demo-strip span {
  font-weight:500;
  letter-spacing:.03em
}
.site-header {
  height:var(--header);
  background:#fffffffa;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid #eeeeea;
  backdrop-filter:blur(12px)
}
.brand {
  display:inline-flex;
  gap:9px;
  align-items:center;
  flex-shrink:0
}
.brand-icon {
  width:39px;
  height:42px;
  background:var(--red);
  color:white;
  font-size:37px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  border-radius:10px 10px 0 10px;
  transform:skew(-7deg)
}
.brand-name {
  font-size:28px;
  font-weight:950;
  letter-spacing:-.05em;
  line-height:1.2
}
.brand-name>span {
  display:block;
  font-size:9px;
  margin-top:5px;
  font-weight:650
}
.desktop-nav {
  display:flex;
  gap:28px;
  margin-left:auto;
  font-size:12px;
  font-weight:750
}
.desktop-nav a {
  padding-block:20px
}
.desktop-nav a:hover {
  color:var(--red)
}
.header-actions {
  display:flex;
  align-items:center;
  gap:12px
}
.keep-header {
  border:1px solid var(--line);
  background:white;
  border-radius:99px;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:7px 15px;
  font-size:13px;
  font-weight:700
}
.count-badge {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--red);
  color:white;
  width:20px;
  height:20px;
  border-radius:100%;
  font-size:10px
}
.menu-toggle {
  display:none
}
.mobile-nav {
  position:sticky;
  top:var(--header);
  background:white;
  padding:16px 24px;
  z-index:29;
  border-bottom:1px solid var(--line);
  box-shadow:var(--shadow)
}
.mobile-nav a {
  display:block;
  padding:12px
}
.home-hero {
  position:relative;
  overflow:hidden;
  color:white
}
.hero-inner {
  margin:auto;
  display:grid;
  position:relative;
  z-index:2
}
.hero-kicker {
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
  display:flex;
  gap:10px;
  align-items:center
}
.hero-kicker>span {
  height:7px;
  width:7px;
  background:#ffbc9c;
  border-radius:100%
}
.hero-last {
  display:inline-block!important;
  position:relative;
  z-index:1
}
.hero-last:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  z-index:-1
}
.hero-buttons {
  display:flex;
  flex-wrap:wrap;
  align-items:center
}
.hero-text-link {
  font-size:11px;
  font-weight:750;
  border-bottom:1px solid #ffffff8a;
  padding-bottom:5px
}
.hero-visual {
  position:relative
}
.hero-visual img {
  width:100%
}
.photo-label {
  position:absolute;
  bottom:34px;
  left:-15px;
  background:white;
  color:var(--ink);
  padding:20px 26px;
  transform:rotate(-5deg);
  box-shadow:var(--shadow);
  border-radius:2px
}
.photo-label>span {
  font-size:11px;
  font-weight:750
}
.photo-label>strong {
  display:block;
  font-size:27px;
  line-height:1.45;
  letter-spacing:.08em;
  margin-top:5px
}
.hero-seal {
  position:absolute;
  right:-21px;
  top:0;
  border:1px solid white;
  border-radius:100%;
  height:95px;
  width:95px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:8px;
  line-height:1.1;
  letter-spacing:.08em;
  transform:rotate(10deg);
  background:var(--red)
}
.hero-seal b {
  font-size:28px;
  line-height:1;
  margin:0
}
.image-caption {
  position:absolute;
  right:10px;
  bottom:10px;
  border-radius:3px;
  background:#242727b3;
  color:white;
  font-size:9px;
  padding:3px 7px;
  line-height:1.5
}
.hero-path {
  position:absolute;
  right:0;
  font-weight:900;
  line-height:1;
  transform:rotate(-12deg);
  pointer-events:none
}
.hero-bottom {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  border-top:1px solid #ffffff25;
  font-weight:650;
  letter-spacing:.08em
}
.hero-bottom>span:before {
  content:'✓';
  padding-right:9px
}
.area-discovery {
  display:grid
}
.area-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.area-link {
  background:white;
  border:1px solid var(--line);
  position:relative;
  transition:transform .2s,border-color .2s
}
.area-link:hover {
  border-color:var(--red);
  transform:translateY(-3px)
}
.area-link>span:first-child {
  color:var(--red);
  font-size:9px;
  font-weight:750;
  letter-spacing:.13em;
  display:block
}
.area-link strong {
  display:block
}
.area-link>span:last-child {
  position:absolute;
  right:15px;
  top:13px;
  color:var(--red);
  font-size:24px
}
.job-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:23px
}
.job-card {
  background:white;
  border:1px solid var(--line);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition:border-color .2s,box-shadow .2s
}
.card-media {
  height:195px;
  position:relative;
  background:#eee
}
.card-media>a {
  display:block;
  height:100%
}
.card-media img {
  width:100%;
  height:100%;
  object-fit:cover
}
.media-caption {
  position:absolute;
  right:9px;
  bottom:9px;
  background:#20202090;
  padding:2px 5px;
  color:white;
  font-size:8px;
  border-radius:3px
}
.stage-badge {
  position:absolute;
  top:12px;
  left:12px;
  background:white;
  font-size:10px;
  font-weight:800;
  color:var(--ink);
  border-radius:4px;
  padding:4px 10px;
  box-shadow:0 2px 8px #2221
}
.stage-3 {
  background:var(--red);
  color:white
}
.stage-2 {
  background:#fff7db;
  color:#73541c
}
.media-placeholder {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:#f1f5f9;
  color:#535c59
}
.media-placeholder>span:not(.placeholder-symbol) {
  font-size:20px;
  font-weight:700
}
.media-placeholder small {
  font-size:10px
}
.placeholder-symbol {
  font-size:65px;
  color:#c8c9c0;
  line-height:1;
  margin-bottom:9px
}
.card-body {
  padding:19px 22px 18px;
  display:flex;
  flex:1;
  flex-direction:column
}
.card-location {
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  align-items:center
}
.card-location span {
  border:1px solid var(--line);
  white-space:nowrap
}
.card-body h3 {
  font-size:18px;
  margin-top:8px;
  line-height:1.65;
  font-weight:800
}
.card-body h3 a:hover,.card-company:hover {
  color:var(--red)
}
.card-company {
  display:block;
  color:var(--muted);
  margin-top:5px;
  margin-bottom:13px
}
.card-tags {
  display:flex;
  flex-wrap:wrap
}
.card-facts {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid
}
.card-facts>div {
  display:grid;
  align-items:center
}
.card-facts dd {
  margin:0;
  font-weight:800
}
.card-skill {
  line-height:1.7
}
.card-skill>span {
  color:var(--red);
  font-weight:750
}
.card-video-note {
  color:var(--muted);
  margin-top:6px!important;
  margin-bottom:15px
}
.card-footer {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.card-footer>a {
  font-weight:750;
  display:flex;
  align-items:center;
  gap:14px
}
.card-footer>a>span {
  font-size:21px;
  color:var(--red)
}
.keep-button {
  border:1px solid var(--line);
  border-radius:5px;
  background:white;
  font-weight:650
}
.keep-button:hover {
  border-color:var(--red);
  color:var(--red)
}
.journey {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  position:relative
}
.journey article {
  border-top:2px solid var(--ink);
  position:relative
}
.journey article:after {
  content:'→';
  position:absolute;
  right:0;
  top:16px;
  color:var(--red);
  font-size:20px
}
.journey article:last-child {
  border-color:var(--red)
}
.journey article:last-child:after {
  content:'↗'
}
.step-number {
  color:var(--red);
  font-size:14px;
  font-weight:800;
  letter-spacing:.05em
}
.journey p {
  color:var(--muted)
}
.learning-section {
  color:#fff
}
.learning-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center
}
.learning-photo {
  position:relative
}
.learning-photo>img {
  width:100%;
  aspect-ratio:1.25;
  height:auto
}
.learning-copy .eyebrow {
  color:#ffa98d
}
.learning-copy>p:not(.eyebrow) {
  color:#d5dfd7;
  margin:22px 0
}
.learning-copy small {
  display:block;
  font-size:10px;
  color:#bac7c0;
  margin-top:18px
}
.business-teaser {
  display:flex;
  align-items:center;
  justify-content:space-between
}
.business-teaser p:last-child {
  font-size:13px;
  margin-top:16px;
  color:var(--muted)
}
.site-footer {
  padding:48px 40px 30px
}
.footer-top {
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:center;
  max-width:1200px;
  margin:auto
}
.footer-top p {
  font-size:13px
}
.footer-links {
  display:flex;
  gap:23px;
  flex-wrap:wrap;
  max-width:1200px;
  margin:35px auto 25px;
  font-size:11px
}
.footer-links button {
  border:0;
  background:transparent;
  font-size:11px;
  padding:0
}
.footer-links a:hover,.footer-links button:hover {
  color:var(--red)
}
.footer-bottom {
  max-width:1200px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  padding-top:20px
}
.footer-bottom small {
  font-size:9px;
  color:var(--muted)
}
.mobile-only {
  display:none
}
.breadcrumbs {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:10px;
  color:var(--muted);
  padding:20px 0
}
.breadcrumbs a:hover {
  color:var(--red)
}
.listing-hero {
  overflow:hidden
}
.listing-hero>.container {
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center
}
.outline-arrow {
  position:absolute;
  right:10px;
  font-size:200px;
  color:#ffddd1;
  font-weight:900;
  line-height:1
}
.listing-hero .container>div {
  position:relative;
  z-index:1
}
.listing-layout {
  display:grid;
  align-items:start
}
.filter-panel {
  border:1px solid var(--line);
  position:sticky;
  overflow:auto;
  scrollbar-width:thin
}
.filter-heading h2 {
  font-size:17px
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:13px;
  font-weight:700
}
.field select,.field input,.field textarea {
  display:block;
  width:100%;
  max-width:100%;
  padding:10px 12px;
  min-height:44px;
  color:var(--ink);
  font-size:12px;
  line-height:1.6;
  background:white;
  border:1px solid #cfd1cb;
  border-radius:6px
}
.field textarea {
  min-height:100px;
  resize:vertical
}
.field select {
  padding-right:22px
}
.field input::placeholder {
  color:#8b9089;
  font-weight:400
}
.check-row {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:600;
  min-height:42px;
  cursor:pointer
}
.check-row input {
  accent-color:var(--red);
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0
}
.filter-divider {
  border-top:1px solid var(--line);
  margin:18px 0
}
.filter-subheading {
  font-weight:750;
  color:var(--red);
  font-size:11px;
  margin-bottom:12px
}
.filter-help {
  font-size:10px;
  color:var(--muted);
  margin-block:8px 17px
}
.filter-panel .text-button {
  font-size:11px;
  text-decoration:underline;
  text-underline-offset:4px
}
#filter-toggle {
  display:none
}
.listing-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px
}
.listing-grid .card-media {
  height:200px
}
.listing-main {
  min-width:0
}
.results-heading {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.results-heading h2 {
  font-size:30px;
  line-height:1.3
}
.results-heading h2 small {
  font-size:12px;
  font-weight:500;
  margin-left:8px
}
.results-heading>span {
  font-size:10px;
  color:var(--muted)
}
#active-filters {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:20px
}
#active-filters:empty {
  margin:0
}
.filter-chip {
  border:1px solid #e9b5a9;
  border-radius:30px;
  font-size:10px;
  padding:6px 12px
}
.filter-chip span {
  margin-left:5px
}
.academy-banner {
  color:white;
  display:flex;
  align-items:center;
  gap:24px;
  justify-content:space-between
}
.academy-banner .eyebrow {
  color:#ffaf96;
  font-size:9px
}
.academy-banner p:not(.eyebrow) {
  color:#d4dbd5;
  margin-top:12px
}
.academy-banner>.button {
  font-size:11px;
  min-width:180px;
  flex-shrink:0;
  padding:12px
}
.area-siblings {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  font-size:11px
}
.area-siblings a {
  border-bottom:1px solid var(--line)
}
.empty-state {
  grid-column:1/-1;
  padding:50px 25px;
  border:1px dashed #c4c6bf;
  border-radius:15px;
  text-align:center;
  background:var(--cream)
}
.empty-state>span {
  display:block;
  font-size:38px;
  color:var(--red);
  margin-bottom:10px
}
.empty-state h3 {
  font-size:20px
}
.empty-state p {
  font-size:13px;
  color:var(--muted);
  margin:15px 0 25px
}
.empty-state a.subtle-link {
  display:block;
  margin:22px 0 0
}
.company-hero {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  align-items:center
}
.company-location {
  font-size:11px;
  color:var(--muted);
  margin:0 0 10px
}
.company-hero h2 {
  font-size:15px
}
.company-hero p:not(.eyebrow):not(.company-location) {
  color:var(--muted);
  margin-top:14px
}
.company-hero .button-row {
  margin-top:25px
}
.company-hero small {
  font-size:9px;
  color:var(--muted);
  display:block;
  margin-top:8px
}
.company-hero-image {
  position:relative;
  align-self:stretch;
  display:flex;
  min-height:360px
}
.company-hero-image>img {
  width:100%;
  height:100%;
  max-height:500px;
  border-radius:10px 75px 10px 10px
}
.company-placeholder {
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:var(--red);
  border-radius:10px 75px 10px 10px;
  padding:40px;
  color:white
}
.company-placeholder>span {
  font-size:10px;
  letter-spacing:.15em
}
.company-placeholder>strong {
  font-size:30px
}
.company-placeholder p {
  color:#fff!important;
  margin-bottom:22px
}
.detail-nav {
  display:flex;
  justify-content:center;
  gap:48px;
  border-block:1px solid var(--line);
  padding:18px 24px;
  font-size:12px;
  font-weight:700;
  background:var(--cream);
  overflow-x:auto;
  white-space:nowrap
}
.detail-nav a:hover {
  color:var(--red)
}
.detail-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:start
}
.detail-main {
  min-width:0
}
.detail-section {
  scroll-margin-top:35px
}
.detail-section>.section-heading h2 {
  font-size:28px
}
.detail-section>p {
  color:var(--muted)
}
.detail-sidebar {
  position:sticky;
  top:115px;
  border-radius:12px;
  margin-top:60px;
  display:flex;
  flex-direction:column;
  gap:15px
}
.detail-sidebar .eyebrow {
  margin-bottom:0;
  font-size:9px
}
.detail-sidebar p:not(.eyebrow) {
  font-size:12px;
  color:var(--muted)
}
.detail-sidebar .button {
  width:100%;
  padding-inline:10px;
  font-size:12px
}
.detail-sidebar a:not(.button) {
  font-size:11px
}
.sidebar-rule {
  border-top:1px solid var(--line);
  margin-block:10px
}
.honest-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:30px
}
.honest-grid article {
  background:var(--cream);
  padding:25px;
  border-radius:10px;
  border-top:3px solid var(--red)
}
.honest-grid .eyebrow {
  font-size:9px
}
.honest-grid h3 {
  font-size:17px;
  margin:10px 0 15px
}
.honest-grid p {
  font-size:12px;
  line-height:2
}
.video-tabs {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin:25px 0 12px
}
.video-tabs button {
  border:1px solid var(--line);
  background:var(--cream);
  border-radius:6px;
  padding:12px 5px;
  font-size:10px;
  font-weight:700;
  min-height:73px;
  line-height:1.7
}
.video-tabs button>span {
  display:block;
  color:var(--red);
  font-size:13px;
  font-weight:800
}
.video-tabs button[aria-selected=true] {
  background:var(--red);
  color:white;
  border-color:var(--red)
}
.video-tabs button[aria-selected=true]>span {
  color:white
}
.video-storyboard {
  background:#283430;
  position:relative;
  color:white;
  min-height:280px;
  border-radius:10px;
  padding:35px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  overflow:hidden
}
.video-storyboard:before {
  content:'↗';
  position:absolute;
  right:-15px;
  bottom:-135px;
  color:#35443e;
  font-size:380px;
  font-weight:900;
  line-height:1;
  pointer-events:none
}
.video-storyboard>* {
  z-index:1
}
.video-sample-tag {
  position:absolute;
  left:18px;
  top:18px;
  font-size:10px;
  border:1px solid #ffffff60;
  border-radius:3px;
  padding:3px 8px
}
.storyboard-clock {
  font-size:45px;
  font-weight:900;
  letter-spacing:.02em
}
.storyboard-clock>span {
  font-size:25px;
  color:#ff9477;
  margin:0 12px
}
.video-storyboard p {
  font-size:13px
}
.video-storyboard small {
  font-size:10px;
  color:#c6d1ca;
  margin-top:10px
}
.video-panel {
  padding:25px;
  background:var(--cream);
  border-radius:0 0 10px 10px
}
.video-panel .eyebrow {
  font-size:10px;
  margin-bottom:8px
}
.video-panel h3 {
  font-size:18px;
  margin-bottom:10px
}
.video-panel p:not(.eyebrow) {
  font-size:12px;
  line-height:2
}
#company-video {
  width:100%;
  background:#222;
  border-radius:10px
}
.support-box {
  border:1px solid #eacfc6;
  border-radius:10px;
  overflow:hidden;
  margin-top:20px
}
.support-label {
  display:flex;
  justify-content:space-between;
  padding:15px 20px;
  font-size:14px;
  font-weight:800
}
.support-label span {
  font-size:9px;
  font-weight:500
}
.spec-list>div {
  display:grid;
  grid-template-columns:150px 1fr;
  gap:20px;
  padding:18px 20px;
  border-bottom:1px solid var(--line)
}
.spec-list>div:last-child {
  border-bottom:0
}
.spec-list dt {
  font-size:12px;
  font-weight:750
}
.spec-list dd {
  margin:0;
  line-height:2
}
.skill-tags {
  margin:18px 0 12px
}
.skill-tags span {
  font-size:10px
}
.trial-box {
  border:1px solid var(--line);
  background:var(--cream);
  border-radius:12px;
  padding:26px
}
.trial-box .pill {
  background:white;
  color:var(--red);
  border:1px solid var(--line)
}
.trial-box h3 {
  font-size:19px;
  margin-top:15px
}
.trial-box p:not(.muted) {
  font-size:12px;
  color:var(--muted);
  margin-top:12px
}
.trial-box .spec-list {
  margin-top:15px
}
.trial-box .spec-list>div {
  padding-inline:0
}
.trial-box .muted {
  margin:15px 0 20px;
  font-size:10px
}
.detail-job-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.detail-job-grid .card-body {
  padding:16px
}
.detail-job-grid .card-body h3 {
  font-size:16px
}
.detail-job-grid .card-media {
  height:170px
}
.detail-layout .academy-banner {
  display:block
}
.detail-layout .academy-banner .button {
  margin-top:22px
}
.sticky-actions {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:35;
  background:#fffffff5;
  box-shadow:0 -6px 28px #232c2812;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:14px max(28px,calc((100% - 1200px)/2));
  backdrop-filter:blur(12px)
}
.sticky-company strong {
  display:block;
  font-size:12px
}
.sticky-company span {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:3px
}
.sticky-buttons {
  display:flex;
  gap:10px;
  align-items:stretch
}
.sticky-buttons .button {
  font-size:12px;
  min-height:47px;
  padding:10px 19px
}
.sticky-buttons .button>span {
  font-size:18px
}
body[data-page=company],body[data-page=job] {
  padding-bottom:88px
}
.keep-bar {
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  width:min(700px,calc(100% - 36px));
  z-index:34;
  background:#fff;
  border:1px solid #efb9aa;
  box-shadow:0 9px 40px #252a2d26;
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:13px 18px
}
.keep-bar>div {
  flex:1;
  min-width:0
}
.keep-bar strong {
  display:block;
  font-size:12px
}
.keep-bar #keep-preview {
  display:block;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
  color:var(--muted);
  font-size:9px;
  margin-top:2px
}
.keep-bar>.button {
  min-height:42px;
  padding:8px 17px;
  font-size:12px
}
.keep-bar>.text-button {
  font-size:10px
}
body[data-page=company] .keep-bar,body[data-page=job] .keep-bar {
  bottom:100px
}
.has-keeps .site-footer {
  padding-bottom:125px
}
.job-hero {
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  padding-top:25px;
  padding-bottom:45px
}
.job-hero h1 {
  margin:17px 0 12px
}
.job-hero .eyebrow {
  margin-bottom:18px
}
.job-hero p:not(.eyebrow) {
  color:var(--muted);
  max-width:740px;
  margin-top:18px
}
.company-text-link {
  font-size:14px;
  font-weight:700;
  border-bottom:1px solid #bbb;
  padding-bottom:3px
}
.company-text-link:hover {
  color:var(--red)
}
.job-hero-action {
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:9px;
  justify-content:center
}
.job-hero-action>span {
  font-size:10px;
  color:var(--muted)
}
.job-numbers {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  grid-column:1/-1;
  padding:27px 20px;
  margin-top:10px
}
.job-numbers>div {
  border-right:1px solid #e7c7bd;
  padding-inline:28px
}
.job-numbers>div:last-child {
  border:0
}
.job-numbers span {
  display:block;
  color:var(--muted);
  font-size:11px
}
.job-numbers strong {
  font-size:29px;
  font-weight:900;
  line-height:1.8
}
.job-numbers>div:first-child strong {
  font-size:27px
}
.job-numbers small {
  font-size:14px;
  margin-left:3px
}
.job-spec {
  border-block:1px solid var(--line)
}
.job-spec>div {
  padding:20px 0
}
.job-spec dd strong {
  font-size:17px
}
.duties {
  list-style:none;
  padding:0;
  margin-top:20px
}
.duties li {
  display:flex;
  gap:22px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:19px 0;
  font-size:13px
}
.duties li>span {
  font-weight:800;
  font-size:20px;
  color:var(--red)
}
.reality-note {
  background:var(--cream);
  border-left:3px solid var(--red);
  padding:22px;
  margin:25px 0
}
.reality-note>strong {
  font-size:13px
}
.reality-note>p {
  font-size:12px;
  color:var(--muted);
  margin-top:9px
}
.school-hero {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center
}
.school-hero h1 em {
  font-style:normal;
  color:var(--red);
  position:relative
}
.school-hero h1 em:after {
  content:"";
  position:absolute;
  height:6px;
  bottom:-6px;
  left:0;
  right:0;
  background:#ffb29b;
  transform:rotate(-2deg)
}
.large-lead {
  font-size:20px;
  font-weight:750;
  margin:25px 0 20px
}
.school-hero p:not(.large-lead):not(.eyebrow) {
  color:var(--muted)
}
.school-hero .button-row {
  margin-top:28px
}
.school-hero .button {
  font-size:12px
}
.school-hero small {
  font-size:9px;
  color:var(--muted);
  margin-top:12px;
  display:block
}
.school-photo {
  position:relative;
  padding-bottom:30px
}
.school-photo>img {
  width:100%
}
.floating-caption {
  position:absolute;
  bottom:10px;
  left:-25px;
  transform:rotate(-3deg);
  background:var(--red);
  color:white;
  line-height:1.8;
  padding:18px 25px;
  font-size:16px
}
.floating-caption strong {
  font-size:22px
}
.school-photo .image-caption {
  bottom:40px
}
.three-reasons {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px
}
.three-reasons article {
  border-top:1px solid #ccc;
  padding-top:22px
}
.three-reasons span {
  font-size:13px;
  color:var(--red);
  font-weight:800
}
.three-reasons h3 {
  margin:18px 0 12px
}
.three-reasons p {
  color:var(--muted)
}
.course-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}
.course-grid article {
  background:var(--cream);
  border:1px solid var(--line)
}
.course-grid article>span {
  font-size:28px;
  font-weight:850;
  color:var(--red);
  line-height:1
}
.course-grid h3 {
  font-size:20px;
  margin:23px 0 12px
}
.course-grid p {
  color:var(--muted)
}
.course-grid small {
  font-size:9px;
  color:#848882;
  display:block;
  margin-top:20px
}
.learning-path {
  padding-top:0
}
.faq {
  border-top:1px solid var(--line)
}
.faq details {
  border-bottom:1px solid var(--line);
  padding-block:21px
}
.faq summary {
  cursor:pointer;
  font-size:14px;
  font-weight:750;
  list-style:none;
  position:relative;
  padding-right:30px
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary:after {
  content:'＋';
  position:absolute;
  right:0;
  color:var(--red);
  font-size:18px;
  top:-3px
}
.faq details[open] summary:after {
  content:'−'
}
.faq details p {
  font-size:12px;
  color:var(--muted);
  margin-top:16px;
  line-height:2.1
}
.final-cta {
  background:var(--red);
  color:white;
  text-align:center;
  position:relative;
  overflow:hidden
}
.final-cta .eyebrow {
  color:#ffd2b9
}
.final-cta h2 {
  font-size:40px;
  line-height:1.6
}
.final-cta p:not(.eyebrow) {
  font-size:13px;
  margin-top:22px
}
.final-cta .button {
  margin-top:28px;
  min-width:300px
}
.final-cta small {
  font-size:9px;
  display:block;
  margin-top:18px;
  color:#ffe0d1
}
.white-link {
  display:block;
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:5px;
  margin-top:25px
}
.business-hero {
  color:white;
  position:relative;
  overflow:hidden
}
.business-hero:after {
  content:'↗';
  position:absolute;
  font-size:750px;
  right:0;
  top:-190px;
  line-height:1;
  color:#cb211a;
  font-weight:900
}
.business-hero>.container {
  position:relative;
  z-index:1
}
.business-hero .eyebrow {
  color:#ffd3c0
}
.business-hero h1 {
  margin-top:20px
}
.business-hero h1 span {
  color:#ffcc94
}
.business-hero p:not(.eyebrow) {
  margin:22px 0 30px;
  line-height:2
}
.business-keywords {
  border-top:1px solid #ffffff40;
  display:flex;
  gap:30px;
  font-size:13px;
  align-items:center
}
.business-keywords b {
  color:#ffbca2;
  font-size:20px
}
.problem-solution {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px
}
.problem-solution>div {
  background:var(--cream)
}
.problem-solution>div:last-child {
  background:var(--red-pale)
}
.problem-solution h3 {
  font-size:24px;
  margin-bottom:22px
}
.problem-solution ul {
  list-style:none;
  padding:0;
  display:grid;
  gap:10px;
  font-size:13px
}
.problem-solution li:before {
  content:'✓';
  color:var(--red);
  padding-right:12px
}
.plan-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:23px
}
.plan {
  background:white;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column
}
.featured-plan {
  border:2px solid var(--red);
  position:relative
}
.plan h3 {
  font-size:22px;
  margin-bottom:15px
}
.plan>strong {
  font-size:13px;
  color:var(--red)
}
.plan>p:not(.eyebrow) {
  font-size:12px;
  color:var(--muted);
  margin:15px 0 22px
}
.plan ul {
  font-size:12px;
  list-style:none;
  padding:0;
  margin-bottom:25px;
  display:grid;
  gap:9px
}
.plan li:before {
  content:'✓';
  color:var(--red);
  padding-right:7px
}
.plan-price {
  font-size:13px;
  font-weight:750;
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:auto
}
.plan-price small {
  display:block;
  font-size:10px;
  font-weight:500
}
.plan .button {
  margin-top:18px;
  font-size:12px;
  padding-inline:8px
}
.legal-page {
  padding-block:15px 80px
}
.legal-page h1 {
  font-size:32px;
  margin-block:30px
}
.legal-page h2 {
  font-size:21px;
  margin:36px 0 15px
}
.legal-page>p {
  font-size:13px;
  color:var(--muted);
  line-height:2
}
.legal-page .button-row {
  margin-top:20px
}
.empty-page {
  padding-block:100px
}
.empty-page h1 {
  font-size:30px
}
.empty-page p:not(.eyebrow) {
  margin:25px 0
}
.dialog-open {
  overflow:hidden
}
.dialog {
  color:var(--ink);
  background:#fff;
  border:0;
  border-radius:18px;
  padding:0;
  width:min(640px,calc(100% - 30px));
  max-height:90dvh;
  box-shadow:0 25px 100px #0004;
  overflow:auto
}
.dialog::backdrop {
  background:#17221cd1;
  backdrop-filter:blur(3px)
}
.dialog-heading {
  position:sticky;
  top:0;
  background:white;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:23px 27px;
  border-bottom:1px solid var(--line)
}
.dialog-heading h2 {
  font-size:21px
}
.close-button {
  min-height:40px;
  padding:7px 12px;
  white-space:nowrap;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:6px;
  font-size:11px;
  font-weight:650
}
#action-content {
  padding:27px
}
#action-content>p {
  font-size:13px;
  margin-bottom:15px
}
.modal-company {
  font-weight:800;
  font-size:15px!important
}
.action-form {
  display:grid;
  gap:18px
}
.action-form fieldset {
  border:1px solid var(--line);
  border-radius:8px;
  padding:14px 20px
}
.action-form legend {
  font-weight:750;
  font-size:13px;
  padding:0 6px
}
.action-form .field textarea {
  font-weight:400
}
.action-form .check-row {
  padding:9px;
  border-radius:6px;
  background:var(--cream);
  margin-top:8px
}
.action-note {
  background:var(--cream);
  border-radius:6px;
  padding:14px;
  font-size:11px;
  line-height:1.9;
  color:var(--muted);
  margin:18px 0
}
.action-form .action-note {
  margin:0
}
.trial-conditions {
  background:var(--cream);
  border-radius:8px;
  padding:8px 16px;
  margin-bottom:18px
}
.trial-conditions>div {
  display:grid;
  grid-template-columns:95px 1fr;
  font-size:11px;
  gap:15px;
  padding:10px 0;
  border-bottom:1px solid var(--line)
}
.trial-conditions>div:last-child {
  border:0
}
.trial-conditions dt {
  font-weight:700
}
.trial-conditions dd {
  margin:0
}
.form-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.form-actions .button {
  font-size:12px;
  padding:10px 15px
}
.action-success {
  text-align:center
}
.success-icon {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 18px;
  background:var(--red-pale);
  color:var(--red);
  font-size:27px;
  width:60px;
  height:60px;
  border-radius:50%
}
.action-success h3 {
  font-size:19px
}
.action-success p {
  font-size:12px;
  margin:14px 0;
  line-height:1.9
}
.academy-followup {
  border-top:1px solid var(--line);
  margin-top:25px;
  padding:25px 0 0
}
.academy-followup h3 {
  font-size:20px;
  margin:9px 0
}
.academy-followup p {
  font-size:12px;
  margin-bottom:18px
}
.academy-followup small {
  font-size:10px;
  color:var(--muted);
  display:block;
  margin-top:17px
}
.compare-dialog {
  width:min(1160px,calc(100% - 40px))
}
#compare-content {
  padding:0 25px 25px
}
.compare-hint {
  font-size:12px;
  margin:19px 0
}
.compare-hint>span {
  display:block;
  color:var(--red);
  font-size:10px
}
.compare-scroll {
  max-height:62dvh;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  position:relative;
  overscroll-behavior:contain;
  scrollbar-width:thin
}
.compare-table {
  border-collapse:separate;
  border-spacing:0;
  width:100%;
  font-size:11px;
  table-layout:fixed
}
.compare-table th,.compare-table td {
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
  padding:16px;
  vertical-align:top;
  background:white;
  line-height:1.9
}
.compare-table th:last-child,.compare-table td:last-child {
  border-right:0
}
.compare-table tr:last-child th,.compare-table tr:last-child td {
  border-bottom:0
}
.compare-table th:first-child {
  width:140px;
  position:sticky;
  left:0;
  background:var(--cream);
  z-index:1;
  font-size:11px;
  text-align:left
}
.compare-table thead th {
  position:sticky;
  top:0;
  z-index:2;
  background:#f8fafc;
  min-width:210px;
  text-align:left
}
.compare-table thead th:first-child {
  z-index:3;
  background:#e2e8f0
}
.compare-job-head {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px
}
.compare-job-head>span {
  font-size:10px;
  font-weight:500
}
.compare-job-head>a {
  font-size:14px;
  line-height:1.6
}
.compare-job-head .text-button {
  font-size:10px;
  color:var(--red)
}
.compare-table td>.button {
  min-height:38px;
  padding:8px 10px;
  font-size:11px
}
#toast {
  position:fixed;
  z-index:100;
  left:50%;
  bottom:105px;
  transform:translate(-50%,20px);
  opacity:0;
  pointer-events:none;
  background:#222e29;
  color:white;
  border-radius:8px;
  font-size:12px;
  line-height:1.8;
  padding:13px 20px;
  width:max-content;
  max-width:calc(100% - 40px);
  box-shadow:0 8px 28px #0003;
  transition:opacity .2s,transform .2s
}
#toast[data-visible=true] {
  opacity:1;
  transform:translate(-50%,0)
}
body[data-page=job] #toast,body[data-page=company] #toast {
  bottom:180px
}
@media(min-width:1500px) {
  .home-hero {
    padding-top:72px
  }
}
@media(max-width:1100px) {
  .site-header {
    gap:18px
  }
  .desktop-nav {
    gap:17px;
    font-size:11px
  }
  .brand-name {
    font-size:25px
  }
  .hero-buttons .button {
    font-size:12px
  }
  .card-body {
    padding:17px
  }
  .job-grid {
    gap:16px
  }
  .card-body h3 {
    font-size:16px
  }
  .detail-layout {
    grid-template-columns:minmax(0,1fr) 230px
  }
  .listing-grid {
    gap:16px
  }
  .academy-banner {
    display:block
  }
  .academy-banner>.button {
    margin-top:20px
  }
  .company-hero .button {
    font-size:12px;
    padding-inline:15px
  }
  .detail-job-grid {
    grid-template-columns:1fr
  }
  .job-numbers strong {
    font-size:25px
  }
  .job-numbers>div:first-child strong {
    font-size:23px
  }
  .plan h3 {
    font-size:19px
  }
  .sticky-company {
    max-width:280px
  }
  .sticky-buttons .button {
    padding-inline:14px
  }
}
@media(max-width:800px) {
  :root {
    --header:73px
  }
  .desktop-nav {
    display:none
  }
  .menu-toggle {
    display:flex;
    gap:7px;
    align-items:center;
    background:white;
    border:0;
    font-size:10px;
    min-height:42px;
    padding:4px
  }
  .menu-toggle span {
    font-size:20px
  }
  .header-actions {
    margin-left:auto
  }
  .hero-kicker {
    font-size:8px
  }
  .hero-seal {
    width:75px;
    height:75px;
    right:-10px;
    font-size:7px
  }
  .photo-label {
    padding:16px;
    bottom:22px;
    left:-10px
  }
  .photo-label>strong {
    font-size:22px
  }
  .area-discovery>.section-heading {
    margin-bottom:25px
  }
  .heading-row {
    display:block
  }
  .heading-row>.text-link {
    margin-bottom:25px
  }
  .job-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .job-grid:not(.listing-grid):not(.detail-job-grid)>.job-card:last-child:nth-child(3) {
    display:none
  }
  .learning-photo>img {
    aspect-ratio:.9
  }
  .business-teaser .button {
    font-size:12px
  }
  .footer-top p {
    font-size:11px
  }
  .footer-bottom {
    display:block
  }
  .footer-bottom small {
    display:block;
    margin-top:8px
  }
  .filter-panel {
    margin-bottom:25px
  }
  .filter-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0
  }
  .filter-heading h2 {
    font-size:15px
  }
  #filter-toggle {
    display:block;
    text-decoration:none;
    font-size:12px
  }
  #filter-fields {
    display:none;
    padding-top:20px
  }
  #filter-fields.is-open,#filter-fields[data-expanded=true] {
    display:block
  }
  .filter-pair {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
  }
  .filter-subheading {
    font-size:12px
  }
  .filter-help {
    font-size:11px
  }
  .listing-grid {
    gap:20px
  }
  .academy-banner {
    display:flex
  }
  .academy-banner>.button {
    margin-top:0
  }
  .company-hero h2 {
    font-size:13px
  }
  .company-hero-image {
    min-height:330px
  }
  .company-hero .button-row {
    gap:8px
  }
  .company-hero .button-row>.button {
    font-size:11px;
    padding:10px 12px
  }
  .detail-nav {
    justify-content:flex-start;
    gap:30px;
    padding-inline:25px
  }
  .detail-layout {
    grid-template-columns:1fr;
    max-width:740px
  }
  .detail-sidebar {
    display:none
  }
  .detail-job-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .detail-job-grid .card-media {
    height:190px
  }
  .sticky-company {
    display:none
  }
  .sticky-actions {
    justify-content:center;
    padding:12px 25px
  }
  .sticky-buttons {
    width:100%;
    max-width:680px
  }
  .sticky-buttons .button {
    flex:1
  }
  .job-hero-action {
    min-width:120px
  }
  .job-numbers {
    padding:20px 0
  }
  .job-numbers>div {
    padding-inline:20px
  }
  .job-numbers strong {
    font-size:24px
  }
  .job-numbers>div:first-child strong {
    font-size:20px
  }
  .large-lead {
    font-size:17px
  }
  .floating-caption {
    padding:14px 18px;
    font-size:13px
  }
  .floating-caption strong {
    font-size:17px
  }
  .three-reasons {
    gap:22px
  }
  .course-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .learning-path {
    padding-top:0
  }
  .problem-solution {
    gap:22px
  }
  .problem-solution h3 {
    font-size:21px
  }
  .problem-solution ul {
    font-size:12px
  }
  .plan-grid {
    gap:13px
  }
  .plan h3 {
    font-size:17px
  }
  .plan>strong {
    font-size:11px
  }
  .plan>p:not(.eyebrow) {
    font-size:11px
  }
  .plan ul {
    font-size:10px
  }
  .plan-price {
    font-size:12px
  }
  .plan .button {
    font-size:10px
  }
  .compare-table th:first-child {
    width:125px
  }
  .compare-table td {
    padding:13px
  }
  .compare-dialog {
    width:calc(100% - 24px)
  }
  .site-footer {
    padding-inline:25px
  }
  .legal-page h1 {
    font-size:28px
  }
}
@media(max-width:560px) {
  .demo-strip {
    font-size:7px;
    padding:5px 12px;
    gap:7px;
    letter-spacing:.04em
  }
  .demo-strip span {
    font-size:7px;
    letter-spacing:0
  }
  .site-header {
    gap:10px
  }
  .brand-icon {
    width:29px;
    height:33px;
    font-size:29px;
    border-radius:7px 7px 0 7px
  }
  .brand {
    gap:7px
  }
  .brand-name {
    font-size:24px
  }
  .brand-name>span {
    margin-top:4px
  }
  .header-actions {
    gap:9px
  }
  .keep-header {
    min-height:39px;
    padding:5px 9px;
    gap:4px;
    font-size:13px
  }
  .keep-label {
    display:none
  }
  .count-badge {
    width:18px;
    height:18px;
    font-size:9px
  }
  .menu-toggle {
    font-size:0;
    gap:0;
    padding:4px
  }
  .menu-toggle span {
    font-size:23px
  }
  .hero-kicker {
    font-size:8px;
    letter-spacing:.13em
  }
  .hero-buttons .button {
    min-height:46px;
    font-size:12px;
    padding:11px 19px
  }
  .hero-text-link {
    font-size:10px
  }
  .hero-visual {
    margin-top:6px
  }
  .photo-label {
    left:2px;
    bottom:5px;
    padding:12px 17px
  }
  .photo-label>span {
    font-size:8px
  }
  .photo-label>strong {
    font-size:20px;
    margin-top:2px
  }
  .hero-seal {
    top:4px;
    right:0;
    width:64px;
    height:64px;
    font-size:6px
  }
  .hero-seal b {
    font-size:23px
  }
  .hero-bottom {
    letter-spacing:0
  }
  .eyebrow {
    font-size:9px
  }
  .area-discovery>.section-heading {
    margin-bottom:21px
  }
  .area-discovery h2 {
    font-size:24px
  }
  .area-discovery h2 .mobile-only {
    display:none
  }
  .area-link>span:first-child {
    font-size:7px;
    letter-spacing:.06em
  }
  .area-link>small {
    line-height:1.5;
    display:block
  }
  .area-link>span:last-child {
    font-size:19px;
    top:auto;
    bottom:12px;
    right:10px
  }
  .job-grid,.listing-grid,.detail-job-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .job-grid:not(.listing-grid):not(.detail-job-grid)>.job-card:last-child:nth-child(3) {
    display:flex
  }
  .card-media,.listing-grid .card-media,.detail-job-grid .card-media {
    height:210px
  }
  .card-body,.detail-job-grid .card-body {
    padding:20px
  }
  .card-body h3,.detail-job-grid .card-body h3 {
    font-size:19px
  }
  .card-company {
    margin-top:6px
  }
  .journey {
    grid-template-columns:1fr 1fr
  }
  .step-number {
    font-size:12px
  }
  .journey article:after {
    top:10px
  }
  .learning-grid {
    grid-template-columns:1fr
  }
  .learning-photo>img {
    aspect-ratio:1.55
  }
  .learning-copy .eyebrow {
    font-size:9px
  }
  .learning-copy .button {
    font-size:12px
  }
  .business-teaser {
    display:block
  }
  .footer-top {
    display:block
  }
  .footer-top>p {
    margin-top:20px
  }
  .footer-links {
    font-size:10px;
    margin-top:26px
  }
  .footer-links button {
    font-size:10px
  }
  .footer-bottom small {
    font-size:8px;
    line-height:1.9
  }
  .breadcrumbs {
    font-size:9px;
    padding:16px 0;
    gap:7px
  }
  .outline-arrow {
    right:-15px;
    font-size:170px
  }
  .mobile-only {
    display:block
  }
  .filter-pair {
    gap:13px
  }
  .academy-banner {
    display:block
  }
  .academy-banner .eyebrow {
    font-size:8px
  }
  .academy-banner>.button {
    margin-top:20px
  }
  .area-siblings {
    gap:14px;
    font-size:10px
  }
  .area-siblings strong {
    width:100%
  }
  .company-hero {
    grid-template-columns:1fr
  }
  .company-hero h2 {
    font-size:14px
  }
  .company-hero .button-row>.button {
    font-size:12px;
    padding:11px 17px
  }
  .company-hero small {
    font-size:9px
  }
  .company-hero-image {
    min-height:0;
    height:230px
  }
  .company-hero-image>img {
    border-radius:8px 50px 8px 8px
  }
  .company-hero-image .image-caption {
    font-size:8px
  }
  .company-placeholder {
    padding:24px;
    border-radius:8px 50px 8px 8px
  }
  .company-placeholder>strong {
    font-size:26px
  }
  .company-placeholder p {
    font-size:11px!important;
    margin-top:7px!important;
    margin-bottom:15px
  }
  .company-placeholder .button {
    font-size:11px;
    min-height:39px;
    padding:9px 15px
  }
  .detail-nav {
    gap:25px;
    padding:14px 18px;
    font-size:11px;
    scrollbar-width:none
  }
  .honest-grid {
    grid-template-columns:1fr;
    gap:15px;
    margin-top:22px
  }
  .honest-grid article {
    padding:22px
  }
  .honest-grid h3 {
    font-size:17px
  }
  .honest-grid p {
    font-size:12px
  }
  .video-tabs {
    gap:5px;
    margin:22px 0 8px
  }
  .video-tabs button {
    font-size:9px;
    padding:9px 4px;
    line-height:1.6;
    min-height:75px
  }
  .video-tabs button>span {
    font-size:12px;
    margin-bottom:4px
  }
  .video-storyboard {
    min-height:220px;
    padding:25px 15px
  }
  .video-sample-tag {
    font-size:8px;
    left:12px;
    top:12px
  }
  .storyboard-clock {
    font-size:32px
  }
  .storyboard-clock>span {
    font-size:20px;
    margin:0 8px
  }
  .video-storyboard p {
    font-size:11px
  }
  .video-storyboard small {
    font-size:8px
  }
  .video-panel {
    padding:20px
  }
  .video-panel h3 {
    font-size:17px
  }
  .video-panel p:not(.eyebrow) {
    font-size:12px
  }
  .support-label {
    padding:14px;
    font-size:13px
  }
  .spec-list dt {
    line-height:1.9
  }
  .skill-tags span {
    font-size:9px
  }
  .trial-box {
    padding:19px
  }
  .trial-box h3 {
    font-size:17px
  }
  .trial-box .spec-list>div {
    grid-template-columns:87px 1fr;
    gap:10px
  }
  .trial-box .button-row {
    gap:8px
  }
  .trial-box .button {
    font-size:10px;
    padding:10px 14px
  }
  .trial-box .muted {
    font-size:10px
  }
  .sticky-actions {
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
    gap:0
  }
  .sticky-buttons {
    gap:6px
  }
  .sticky-buttons .button {
    font-size:10px;
    line-height:1.5;
    padding:6px 7px;
    gap:4px;
    flex-wrap:wrap;
    flex-direction:column
  }
  .sticky-buttons .button>span {
    display:none
  }
  .sticky-buttons .button .mobile-only {
    display:none
  }
  .sticky-buttons .button:first-child:nth-last-child(2) {
    flex:1.4
  }
  .sticky-buttons .button:last-child:nth-child(2) {
    flex:1
  }
  body[data-page=company],body[data-page=job] {
    padding-bottom:74px
  }
  .keep-bar {
    padding:9px 10px;
    gap:10px;
    bottom:12px;
    width:calc(100% - 24px);
    border-radius:9px
  }
  .keep-bar strong {
    font-size:10px
  }
  .keep-bar #keep-preview {
    font-size:8px;
    max-width:160px
  }
  .keep-bar>.button {
    font-size:11px;
    padding:8px 12px;
    gap:8px
  }
  .keep-bar>.text-button {
    font-size:9px
  }
  .job-hero {
    grid-template-columns:1fr;
    padding-top:12px;
    padding-bottom:28px
  }
  .job-hero h1 {
    margin:15px 0 13px
  }
  .job-hero p:not(.eyebrow) {
    margin-top:17px
  }
  .company-text-link {
    font-size:12px
  }
  .job-hero-action {
    align-items:center;
    flex-direction:row;
    justify-content:flex-start;
    gap:12px
  }
  .job-hero-action>.button {
    font-size:12px;
    padding:10px 21px;
    min-height:44px
  }
  .job-hero-action>span {
    font-size:9px
  }
  .job-numbers {
    gap:0;
    padding:14px 0;
    margin-top:5px
  }
  .job-numbers>div {
    padding:8px 16px
  }
  .job-numbers>div:nth-child(2) {
    border:0
  }
  .job-numbers>div:last-child {
    grid-column:1/-1;
    border-top:1px solid #e7c7bd;
    display:flex;
    align-items:center;
    gap:20px;
    margin:9px 16px 0;
    padding:11px 0 0
  }
  .job-numbers>div:first-child strong {
    letter-spacing:0
  }
  .job-numbers strong {
    font-size:25px
  }
  .job-numbers span {
    font-size:10px
  }
  .job-numbers small {
    font-size:12px
  }
  .job-numbers>div:last-child strong {
    font-size:17px
  }
  .job-spec dd strong {
    font-size:14px
  }
  .duties li {
    font-size:12px;
    gap:16px
  }
  .duties li>span {
    font-size:18px
  }
  .reality-note {
    padding:18px
  }
  .reality-note>p {
    font-size:11px
  }
  .school-hero {
    grid-template-columns:1fr
  }
  .school-hero h1 {
    letter-spacing:.01em
  }
  .large-lead {
    font-size:18px;
    margin:22px 0 18px
  }
  .school-hero .button-row {
    gap:15px;
    margin-top:24px
  }
  .floating-caption {
    left:-5px;
    padding:14px 20px
  }
  .floating-caption strong {
    font-size:20px
  }
  .three-reasons {
    grid-template-columns:1fr
  }
  .three-reasons h3 {
    margin:12px 0 9px
  }
  .three-reasons article {
    padding-top:17px
  }
  .course-grid {
    gap:12px
  }
  .course-grid article>span {
    font-size:24px
  }
  .course-grid h3 {
    font-size:16px;
    margin:17px 0 10px
  }
  .course-grid p {
    line-height:1.9
  }
  .course-grid small {
    font-size:8px;
    margin-top:15px
  }
  .learning-path {
    padding-top:0
  }
  .faq summary {
    font-size:13px;
    line-height:1.9
  }
  .faq details p {
    font-size:11px
  }
  .faq details {
    padding-block:19px
  }
  .final-cta p:not(.eyebrow) {
    font-size:12px;
    margin-top:18px
  }
  .final-cta .button {
    min-width:0;
    width:100%;
    max-width:350px;
    font-size:12px
  }
  .final-cta small {
    font-size:8px
  }
  .white-link {
    font-size:11px
  }
  .business-hero .eyebrow {
    font-size:8px
  }
  .business-hero p:not(.eyebrow) {
    margin:20px 0 24px
  }
  .business-hero .button {
    font-size:11px;
    min-height:48px;
    padding:12px 18px
  }
  .business-hero:after {
    font-size:550px;
    right:-200px;
    top:-30px
  }
  .business-keywords {
    gap:10px;
    font-size:9px;
    line-height:1.7
  }
  .business-keywords b {
    font-size:14px
  }
  .problem-solution {
    grid-template-columns:1fr;
    gap:18px
  }
  .problem-solution h3 {
    font-size:23px
  }
  .plan-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .plan h3 {
    font-size:24px
  }
  .plan>strong {
    font-size:14px
  }
  .plan>p:not(.eyebrow) {
    font-size:12px
  }
  .plan ul {
    font-size:12px
  }
  .plan-price {
    font-size:14px
  }
  .plan .button {
    font-size:12px;
    min-height:47px
  }
  .legal-page {
    padding-top:0
  }
  .legal-page h1 {
    font-size:25px;
    margin:25px 0
  }
  .legal-page h2 {
    font-size:20px
  }
  .legal-page p {
    font-size:12px
  }
  .legal-page .button {
    font-size:11px
  }
  .dialog {
    width:calc(100% - 20px);
    max-height:92dvh;
    border-radius:12px
  }
  .dialog-heading {
    padding:17px;
    gap:12px
  }
  .dialog-heading h2 {
    font-size:17px
  }
  .close-button {
    font-size:10px;
    padding:7px 10px;
    min-height:38px
  }
  #action-content {
    padding:20px
  }
  .action-form legend {
    font-size:12px
  }
  .action-form fieldset {
    padding:10px 12px
  }
  .action-form .check-row {
    font-size:12px;
    padding:9px
  }
  .action-form>.button {
    font-size:12px
  }
  .action-note {
    font-size:10px;
    padding:12px
  }
  .trial-conditions>div {
    grid-template-columns:72px 1fr;
    gap:12px;
    font-size:10px
  }
  .action-success h3 {
    font-size:17px
  }
  .action-success p {
    font-size:11px
  }
  .academy-followup h3 {
    font-size:20px
  }
  .academy-followup .form-actions {
    display:grid;
    grid-template-columns:1fr
  }
  .academy-followup small {
    font-size:9px
  }
  .compare-dialog {
    width:calc(100% - 12px);
    max-height:95dvh
  }
  .compare-dialog .dialog-heading {
    padding:14px
  }
  .compare-dialog .dialog-heading h2 {
    font-size:16px
  }
  #compare-content {
    padding:0 12px 20px
  }
  .compare-hint {
    font-size:10px;
    margin:14px 0
  }
  .compare-hint>span {
    font-size:9px;
    margin-top:4px
  }
  .compare-scroll {
    max-height:65dvh
  }
  .compare-table th:first-child {
    width:100px;
    font-size:10px;
    padding:12px 10px
  }
  .compare-table td {
    font-size:11px;
    padding:13px
  }
  .compare-job-head>a {
    font-size:13px
  }
  .compare-job-head>span {
    font-size:9px
  }
  .compare-table thead th {
    padding:12px
  }
  .compare-table .button {
    font-size:10px
  }
  #toast {
    font-size:11px;
    padding:11px 15px;
    bottom:92px
  }
}
@media(max-width:350px) {
  .brand-icon {
    width:26px;
    height:29px;
    font-size:25px
  }
  .hero-text-link {
    font-size:9px
  }
  .area-link>small {
    max-width:55px
  }
  .card-body {
    padding:17px
  }
  .card-media {
    height:180px
  }
  .keep-bar #keep-preview {
    max-width:110px
  }
  .keep-bar>.text-button {
    display:none
  }
  .job-numbers>div {
    padding-inline:12px
  }
  .sticky-buttons .button {
    font-size:9px;
    padding-inline:5px
  }
  .course-grid h3 {
    font-size:14px
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
.filter-submit {
  width:100%;
  margin-bottom:15px;
  font-size:12px;
  min-height:44px
}
.listing-learning-nudge {
  grid-column:1/-1;
  border:1px solid #f0d1c6;
  border-radius:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px
}
.listing-learning-nudge strong {
  font-size:15px
}
.listing-learning-nudge p {
  margin-top:6px
}
.listing-learning-nudge a {
  font-size:12px;
  color:#be1d18;
  font-weight:750;
  white-space:nowrap;
  border-bottom:1px solid currentColor
}
@media(max-width:560px) {
  .listing-learning-nudge {
    display:block
  }
  .listing-learning-nudge strong {
    font-size:14px
  }
  .listing-learning-nudge a {
    display:inline-block;
    margin-top:15px
  }
}
.results-heading {
  scroll-margin-top:100px
}
.compare-overview {
  display:grid;
  grid-template-columns:repeat(var(--compare-columns,3),minmax(0,1fr));
  gap:10px;
  margin-bottom:20px
}
.compare-overview article {
  background:var(--red-pale);
  border:1px solid #eed2c7;
  border-radius:8px;
  padding:14px;
  min-width:0
}
.compare-overview .compare-overview-company {
  font-size:9px;
  color:var(--muted);
  display:block;
  line-height:1.7
}
.compare-overview h3 {
  font-size:13px;
  margin:6px 0 12px;
  line-height:1.7
}
.compare-overview dl>div {
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #e9d1c8;
  padding:7px 0;
  align-items:center
}
.compare-overview dt {
  font-size:10px;
  color:var(--muted)
}
.compare-overview dd {
  font-size:14px;
  font-weight:800;
  margin:0
}
.compare-table {
  min-width:calc(110px + 210px * var(--compare-columns,3))
}
.compare-overview-label {
  font-size:11px;
  font-weight:700;
  margin-bottom:10px
}
@media(max-width:560px) {
  .compare-overview {
    gap:6px
  }
  .compare-overview article {
    padding:10px 8px
  }
  .compare-overview .compare-overview-company {
    font-size:8px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
  }
  .compare-overview h3 {
    font-size:10px;
    margin:5px 0 9px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
  }
  .compare-overview dl>div {
    display:block;
    padding:5px 0
  }
  .compare-overview dt {
    font-size:8px
  }
  .compare-overview dd {
    font-size:12px;
    letter-spacing:0
  }
  .compare-table {
    min-width:calc(100px + 210px * var(--compare-columns,3))
  }
}
.compare-overview-title {
  display:block;
  font-size:13px;
  font-weight:800;
  line-height:1.7;
  margin:6px 0 12px
}
.compare-overview-title:hover {
  color:var(--red)
}
@media(max-width:560px) {
  .compare-overview-title {
    font-size:10px;
    margin:5px 0 9px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
  }
}
.sticky-buttons .button>span.cta-label {
  display:block;
  font-size:inherit;
  line-height:1.6
}
@media(max-width:560px) {
  .sticky-buttons .cta-label .mobile-only {
    display:block
  }
}

/* v4: searchable recruitment portal, with deliberate listing-plan hierarchy. */
body { line-height:1.75; letter-spacing:.015em; }
.container { width:min(1240px,calc(100% - 64px)); }
.section { padding-block:52px; }
.eyebrow { margin-bottom:10px; letter-spacing:.13em; }
.section-heading { margin-bottom:24px; }
.section-heading h2 { font-size:clamp(24px,2.5vw,34px); line-height:1.5; }
.section-heading h2+p { margin-top:10px; }
.site-header { border-color:var(--line); padding-inline:max(28px,calc((100% - 1280px)/2)); }
.demo-strip { color:#475569; background:#f1f5f9; }
.brand-name>span { letter-spacing:.02em; }
.keep-header,.menu-toggle { min-height:44px; }
.button { border-radius:6px; min-height:46px; }
.button-white:hover { background:#fff1f2; border-color:#fff1f2; }
.button-light:hover,.button-secondary:hover { border-color:#94a3b8; }

/* Search is part of the first view, not a second landing page below it. */
.home-hero { padding:30px 0 0; border-radius:0; background:linear-gradient(115deg,#c91e28 0%,#dc2626 55%,#e11d48 100%); }
.hero-inner { width:min(1240px,calc(100% - 64px)); grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr); gap:34px; align-items:center; }
.hero-copy,.hero-content { min-width:0; padding:0; }
.hero-copy h1 { font-size:clamp(34px,3.8vw,53px); font-weight:950; line-height:1.38; letter-spacing:.01em; white-space:normal; }
.hero-copy h1>span { display:block; }
.hero-last:after { height:6px; bottom:4px; background:#ffabb3; transform:none; }
.hero-kicker { margin-bottom:12px; }
.hero-portal-label { display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; padding:5px 10px; font-size:11px; font-weight:800; line-height:1.6; letter-spacing:.07em; border:1px solid #ffffff65; background:#a60d2340; border-radius:4px; }
.hero-lead { font-size:15px; line-height:1.9; margin-top:16px; max-width:40em; }
.hero-buttons { margin-top:20px; gap:14px; }
.hero-stats { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px 20px; margin-top:17px; padding-top:13px; border-top:1px solid #ffffff40; font-size:12px; }
.hero-stats :is(strong,b) { font-size:24px; margin-right:5px; letter-spacing:0; }
.hero-content>.hero-text-link { display:inline-block; margin-top:12px; }
.hero-stats small { font-size:10px; color:#ffe4e6; }
.hero-visual { align-self:center; height:320px; padding:0; min-width:0; }
.hero-visual img { min-height:0; height:100%; max-height:none; border-radius:12px 12px 48px 12px; transform:none; filter:none; object-position:55% center; box-shadow:0 12px 30px #7f102040; }
.hero-visual>.image-caption { right:10px; bottom:10px; z-index:3; }
.hero-path { color:#aa0d3020; font-size:600px; top:-100px; }
.hero-floating-badges { position:absolute; inset:14px -9px 40px -14px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:12px; pointer-events:none; }
.hero-floating-badge { display:flex; align-items:center; gap:9px; max-width:91%; background:#fff; color:var(--ink); padding:11px 15px; border-radius:7px; border-left:4px solid var(--red); box-shadow:0 8px 22px #60152725; font-size:12px; font-weight:750; line-height:1.55; pointer-events:auto; }
.hero-floating-badge>span[aria-hidden] { font-size:20px; color:var(--red); }
.hero-floating-badge>span:last-child { display:flex; flex-direction:column; }
.hero-floating-badge:hover { background:#fff1f2; }
.hero-floating-badge strong { font-size:14px; }
.hero-floating-badge small { font-size:10px; color:var(--muted); font-weight:500; }
.hero-floating-badge:nth-child(2) { align-self:flex-end; border-left-color:#d18b16; }
.hero-floating-badge:nth-child(3) { margin-left:20px; border-left-color:#136b59; }
.hero-search { position:relative; z-index:3; width:min(1240px,calc(100% - 64px)); margin:24px auto 0; padding:20px 24px; background:#fff; color:var(--ink); border:1px solid #ffffff; border-radius:10px; box-shadow:0 10px 25px #7f102024; }
.hero-search>h2,.hero-search>legend { font-size:16px; font-weight:800; margin:0 0 12px; }
.hero-search-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(210px,1.1fr); align-items:end; gap:12px; }
.hero-search .field { min-width:0; font-size:12px; gap:6px; }
.hero-search select { min-height:48px; font-size:14px; border-color:#cbd5e1; background:#f8fafc; }
.hero-search select:disabled { background:#e2e8f0; color:#64748b; opacity:1; }
.hero-search-tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:13px 0 0; min-width:0; border:0; padding:0; }
.hero-search-tags legend { font-size:11px; color:var(--muted); font-weight:650; padding:0; margin-bottom:6px; }
.hero-search-tags label { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; min-height:44px; border:1px solid #dce3eb; border-radius:5px; background:#f8fafc; color:var(--ink); font-size:12px; font-weight:650; cursor:pointer; line-height:1.5; }
.hero-search-tags label:has(input:checked) { border-color:var(--red); background:#fff1f2; color:#b91c1c; }
.hero-search-tags input { width:17px; height:17px; accent-color:var(--red); flex:0 0 17px; margin:0; }
.hero-search-submit { display:flex; align-items:center; justify-content:center; gap:10px; margin:0; min-height:48px; font-size:14px; padding-inline:14px; }
.hero-search-submit .button { min-width:225px; min-height:48px; font-size:15px; }
.hero-search-submit small,.hero-search>small { color:var(--muted); font-size:11px; }
.hero-search>.button { margin-top:14px; min-width:230px; }
.hero-bottom { margin-top:22px; padding:13px 20px 15px; gap:28px; font-size:11px; }
.hero-bottom>span:before { color:#ffccd5; }
.portal-help-link { display:inline-flex; align-items:center; gap:5px; min-height:44px; font-size:12px; font-weight:750; color:var(--red-dark); text-decoration:underline; text-underline-offset:4px; }

/* Short, useful entry points; regions and wards remain real filters. */
.area-discovery { grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:28px; align-items:start; }
.area-discovery .section-heading { margin-bottom:0; }
.area-discovery .section-heading h2 { font-size:26px; }
.area-link { padding:15px 16px; border-radius:7px; }
.area-link strong { font-size:23px; margin:4px 0 8px; }
.area-link>small { font-size:10px; }
.area-link.featured { background:#fff1f2; border-color:#f5b4ba; }
.ward-links { display:flex; flex-wrap:wrap; gap:7px; grid-column:1/-1; margin-top:15px; }
.ward-links a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:1px solid #dce3eb; border-radius:5px; background:#fff; padding:7px 13px; font-size:12px; font-weight:650; }
.ward-links a:hover { border-color:var(--red); color:var(--red); background:#fff1f2; }
.ward-links strong,.ward-links>span { align-self:center; font-size:12px; margin-right:5px; }
.journey { gap:20px; }
.journey article { padding-top:15px; }
.journey h3 { font-size:21px; line-height:1.5; margin:10px 0 10px; }
.journey p { font-size:13px; line-height:1.85; }
.learning-section { padding:48px 0; background:#122d29; }
.learning-grid { gap:42px; }
.learning-photo>img { border-radius:10px; max-height:340px; }
.learning-copy h2 { font-size:clamp(27px,3vw,38px); line-height:1.5; }
.learning-copy>p:not(.eyebrow) { font-size:14px; line-height:1.9; }
.business-teaser { gap:28px; }
.business-teaser h2 { font-size:28px; line-height:1.6; }

/* Listing hierarchy: premium wide feature, standard support cards, basic rows. */
.listing-hero { background:#f8fafc; border-block:1px solid #e2e8f0; padding:24px 0 26px; margin-bottom:24px; }
.listing-hero h1 { font-size:clamp(27px,3.1vw,38px); max-width:29em; line-height:1.5; }
.listing-hero p:not(.eyebrow) { font-size:14px; margin-top:10px; max-width:75em; }
.listing-hero .outline-arrow { display:none; }
.listing-subtitle { display:block; color:var(--red-dark); font-size:18px; margin-top:4px; font-weight:750; }
.listing-job-total { display:flex; align-items:baseline; flex:0 0 auto; flex-wrap:wrap; justify-content:center; background:#fff; border:1px solid #dce3eb; border-radius:9px; padding:12px 18px; margin-left:20px; font-size:13px; }
.listing-job-total b { font-size:40px; line-height:1.2; color:var(--red-dark); margin-right:4px; }
.listing-job-total small { flex-basis:100%; text-align:center; font-size:10px; color:var(--muted); }
.listing-layout { grid-template-columns:238px minmax(0,1fr); gap:26px; padding-bottom:50px; }
.filter-panel { top:94px; max-height:calc(100dvh - 112px); padding:18px; border-radius:9px; background:#f8fafc; }
.filter-heading { margin-bottom:16px; }
.filter-panel .field { font-size:12px; margin-bottom:12px; }
.filter-panel .field select,.filter-panel .field input { font-size:13px; min-height:44px; background:#fff; }
.filter-panel .check-row { min-height:44px; font-size:12px; }
.filter-panel .filter-help { font-size:11px; line-height:1.7; }
.filter-panel .filter-divider { margin:14px 0; }
.filter-panel .filter-subheading { font-size:12px; margin-bottom:8px; }
.filter-chip { min-height:36px; background:#fff1f2; border-color:#f5b4ba; color:#9f1239; }
.results-heading { margin-bottom:16px; }
.job-groups { display:flex; flex-direction:column; gap:30px; }
.job-stage-group { min-width:0; }
.job-stage-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; border-bottom:2px solid #cbd5e1; padding-bottom:11px; margin-bottom:14px; }
.job-stage-heading :is(h2,h3) { font-size:22px; line-height:1.45; }
.job-stage-heading p { color:var(--muted); font-size:12px; line-height:1.65; margin-top:5px; }
.job-stage-heading .eyebrow { font-size:10px; margin:0 0 5px; }
.job-stage-heading .stage-kicker { font-size:10px; letter-spacing:.11em; color:var(--red-dark); font-weight:800; margin:0 0 4px; }
.stage-group-3 .job-stage-heading { border-color:var(--red); }
.stage-group-2 .job-stage-heading { border-color:#d6a754; }
.stage-count { display:inline-flex; align-items:baseline; justify-content:center; flex:0 0 auto; padding:3px 11px; background:#f1f5f9; border-radius:5px; font-size:12px; font-weight:750; white-space:nowrap; }
.stage-count strong { font-size:21px; margin-right:3px; }
.stage-cards { display:grid; gap:16px; }
.stage-cards-3,.stage-cards-1 { grid-template-columns:minmax(0,1fr); }
.stage-cards-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.job-card { border-radius:9px; box-shadow:none; border-color:#dce3eb; }
.job-card:hover { border-color:#c18d48; box-shadow:0 8px 24px #0f172a0d; }
.job-card--3 { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); border:2px solid #d9a348; box-shadow:0 7px 22px #a65c1020; }
.job-card--3:hover { border-color:var(--red); box-shadow:0 9px 28px #ac1b2320; }
.premium-ribbon { grid-column:1/-1; display:flex; align-items:center; gap:10px; padding:9px 16px; font-size:11px; font-weight:750; line-height:1.5; color:white; background:linear-gradient(105deg,#b91c1c 0%,#d52532 72%,#ad7423 100%); letter-spacing:.035em; }
.premium-ribbon>span:first-child { color:#fff0ba; font-size:13px; font-weight:850; letter-spacing:.12em; white-space:nowrap; }
.premium-ribbon strong { font-size:11px; line-height:1.6; letter-spacing:.02em; }
.premium-ribbon small { margin-left:auto; color:#fff2e3; font-size:9px; white-space:nowrap; }
.job-card--3 .card-media { grid-column:1; grid-row:2; height:auto; min-height:290px; background:#f1f5f9; }
.job-card--3 .card-media>a:first-child { height:100%; }
.job-card--3 .card-body { grid-column:2; grid-row:2; padding:18px 22px; }
.job-card--3 .card-body h3 { font-size:22px; line-height:1.5; margin:5px 0 0; }
.card-media .card-play { position:absolute; left:13px; right:13px; bottom:36px; display:flex; align-items:center; justify-content:center; gap:10px; height:auto; min-height:56px; padding:11px 12px; border:1px solid #ffffffb0; border-radius:6px; background:#0f172ae8; color:#fff; font-size:13px; font-weight:750; line-height:1.5; box-shadow:0 5px 12px #0f172a30; }
.card-media .card-play:hover { background:#b91c1cf5; }
.card-play>span[aria-hidden] { display:grid; place-items:center; width:35px; height:35px; font-size:20px; flex:0 0 35px; border-radius:50%; background:#fff; color:var(--red); }
.card-play small { display:block; color:#dbeafe; font-size:10px; font-weight:500; }
.job-card--no-media { grid-template-columns:minmax(0,1fr); }
.job-card--3.job-card--no-media .card-body { grid-column:1; }
.job-card--2 .card-media { height:175px; }
.support-ribbon { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:10px 14px; border-bottom:1px solid #efd8ac; background:#fff8e8; color:#71511a; font-size:12px; font-weight:800; line-height:1.6; }
.support-ribbon small { font-size:10px; font-weight:500; }
.job-card--2 .card-body { padding:17px 18px; }
.job-card--2 .card-body h3 { font-size:19px; line-height:1.6; margin-top:5px; }
.card-location { font-size:11px; gap:10px; }
.card-location span { font-size:10px; border-radius:3px; background:#f8fafc; padding:1px 6px; }
.card-company { font-size:12px; margin:5px 0 10px; }
.card-tags { gap:5px; margin-bottom:10px; }
.card-tags span { background:#f1f5f9; color:#334155; font-size:10px; border:1px solid #e2e8f0; padding:3px 7px; }
.card-facts { gap:4px; padding:10px 0; border-color:#e2e8f0; }
.card-facts>div { grid-template-columns:52px minmax(0,1fr); gap:6px; }
.card-facts dt { color:#526176; font-size:11px; }
.card-facts dd { font-size:14px; line-height:1.65; }
.card-facts>div:first-child dd { color:var(--red-dark); font-size:22px; font-weight:900; letter-spacing:-.025em; line-height:1.5; }
.job-card--3 .card-facts>div:first-child dd { font-size:27px; }
.card-skill { font-size:11px; margin-top:9px; }
.card-support { margin-top:10px; padding:10px 12px; border-left:3px solid #d49c36; background:#fffaed; font-size:12px; line-height:1.65; }
.card-support-label { display:block; color:#7c5319; font-size:10px; font-weight:750; margin-bottom:3px; }
.card-support strong { display:block; font-size:12px; color:#493717; }
.card-support small { display:block; margin-top:4px; font-size:10px; color:var(--muted); }
.card-trial { display:flex; align-items:center; flex-wrap:wrap; gap:4px 7px; margin:10px 0 0; padding:8px 10px; border-radius:4px; border:1px solid #fecdd3; background:#fff1f2; color:#9f1239; font-size:12px; font-weight:750; line-height:1.6; }
.card-trial>span:last-child:not([aria-hidden]) { display:block; flex-basis:100%; font-size:10px; font-weight:500; padding-left:24px; }
.card-trial small { font-size:10px; font-weight:500; }
.card-video-note { font-size:10px; line-height:1.6; margin:7px 0 10px; }
.card-footer { margin-top:12px; padding-top:10px; border-top:1px solid #e2e8f0; gap:12px; }
.card-footer>a { font-size:13px; min-height:44px; }
.keep-button { min-height:44px; padding:8px 14px; font-size:12px; border-color:#cbd5e1; }
.job-card--1 { border-color:#dce3eb; background:#fff; box-shadow:none; }
.job-card--1 .card-body { padding:18px 20px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr); gap:5px 24px; }
.job-card--1 .stage-badge { position:static; grid-column:1; justify-self:start; background:#f1f5f9; color:#475569; padding:2px 6px; box-shadow:none; font-size:10px; }
.job-card--1 .card-location,.job-card--1 h3,.job-card--1 .card-company,.job-card--1 .card-tags { grid-column:1; margin:0; }
.job-card--1 h3 { font-size:18px; line-height:1.6; }
.job-card--1 .card-company { padding-top:2px; }
.job-card--1 .card-tags { margin-top:5px; }
.job-card--1 .card-facts { grid-column:2; grid-row:1/6; padding:0 0 0 20px; border:0; border-left:1px solid #e2e8f0; align-self:center; }
.job-card--1 .card-facts>div:first-child dd { font-size:20px; }
.job-card--1 .card-skill,.job-card--1 .card-support { grid-column:1/-1; margin:2px 0 0; }
.job-card--1 .card-skill.muted,.job-card--1 .card-video-note { display:none; }
.job-card--1 .card-footer { grid-column:2; grid-row:6/8; padding:0; margin:8px 0 0; border:0; align-self:center; }
.card-request-note { font-size:10px; line-height:1.6; color:var(--muted); margin-top:3px!important; }
.job-card--1 .card-request-note { grid-column:1; }
.card-anonymous-request { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding:10px 13px; border:1px solid #ea580c; border-radius:5px; background:#fff7ed; color:#9a3412; font:inherit; font-size:12px; font-weight:750; line-height:1.6; text-align:left; margin-top:8px; }
.card-anonymous-request:hover { background:#ffedd5; border-color:#c2410c; }
.card-anonymous-request .request-label { display:block; }
.card-anonymous-request .request-local-count { display:block; flex:0 0 auto; font-size:10px; padding:3px 6px; border-radius:3px; background:white; color:#9a3412; white-space:nowrap; }
.job-card--1 .card-anonymous-request { grid-column:1; }
.listing-learning-nudge { background:#f8fafc; border-color:#cbd5e1; padding:20px; }
.listing-learning-nudge p { color:var(--muted); font-size:12px; }
.academy-banner { background:#122d29; border-radius:9px; padding:26px; margin-top:28px; }
.academy-banner h2 { font-size:27px; line-height:1.55; }
.academy-banner p:not(.eyebrow) { font-size:13px; }
.area-siblings { margin-top:24px; }
.detail-job-grid { display:flex; flex-direction:column; }
.detail-job-grid .job-card--3 { grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr); }
.detail-job-grid .job-card--3 .card-media { height:auto; min-height:275px; }
.detail-job-grid .job-card--3 .card-body { padding:16px; }
.detail-job-grid .job-card--3 .card-body h3 { font-size:19px; }
.detail-job-grid .job-card--3 .card-facts>div:first-child dd { font-size:23px; }

/* Detail / school / business pages retain the same editorial density. */
.breadcrumbs { padding-block:14px; }
.company-hero { padding-top:14px; padding-bottom:32px; gap:35px; }
.company-hero h1 { font-size:clamp(28px,3vw,40px); line-height:1.5; text-wrap:balance; }
.company-hero h2 { margin-top:12px; }
.company-hero p:not(.eyebrow):not(.company-location) { font-size:14px; }
.company-hero--basic { grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); align-items:start; }
.company-entry-facts { padding:22px; border:1px solid #dce3eb; border-top:3px solid #64748b; border-radius:8px; background:#f8fafc; }
.company-entry-facts .eyebrow { color:#475569; }
.company-entry-facts h3 { font-size:20px; }
.company-entry-facts dl { margin:12px 0; }
.company-entry-facts dl>div { display:flex; justify-content:space-between; gap:18px; padding:8px 0; border-bottom:1px solid #e2e8f0; font-size:12px; }
.company-entry-facts dd { margin:0; font-weight:750; }
.company-entry-facts p { font-size:12px!important; }
.company-entry-facts .card-anonymous-request,.company-entry-facts .button { width:100%; margin-top:14px; }
.detail-layout { gap:30px; padding-bottom:50px; }
.detail-section { padding-top:40px; }
.detail-section>.section-heading { margin-bottom:18px; }
.detail-section>p { font-size:14px; line-height:1.9; }
.detail-sidebar { padding:22px; background:#f8fafc; }
.detail-sidebar h3 { font-size:22px; }
.detail-sidebar p { font-size:13px; }
.support-box { border-color:#dce3eb; }
.support-label { background:#fff1f2; color:#9f1239; }
.spec-list dt { color:#475569; }
.spec-list dd { font-size:13px; }
.skill-tags span { background:#f1f5f9; }
.job-hero { padding:14px 0 32px; gap:20px; }
.job-hero h1 { font-size:clamp(27px,3vw,39px); line-height:1.5; text-wrap:balance; }
.job-hero p:not(.eyebrow) { font-size:14px; line-height:1.9; }
.job-numbers { background:#fff1f2; border:1px solid #fecdd3; border-radius:8px; }
.job-numbers>div:first-child strong { color:#b91c1c; white-space:normal; }
.school-hero { padding-top:20px; padding-bottom:42px; gap:34px; }
.school-hero h1 { font-size:clamp(31px,3.4vw,45px); line-height:1.5; }
.school-hero p:not(.large-lead):not(.eyebrow) { font-size:14px; }
.school-photo>img { height:360px; border-radius:12px; }
.three-reasons h3 { font-size:23px; }
.three-reasons p { font-size:14px; }
.course-grid article { border-radius:8px; padding:22px; }
.course-grid p { font-size:13px; }
.business-hero { background:#dc2626; padding:42px 0 30px; }
.business-hero h1 { font-size:clamp(33px,4vw,52px); line-height:1.5; }
.business-hero p:not(.eyebrow) { font-size:15px; margin-block:18px 23px; }
.business-keywords { margin-top:28px; padding-top:18px; }
.problem-solution>div { padding:27px; border-radius:9px; }
.plan { border-radius:9px; padding:25px; }
.plan.featured { box-shadow:0 6px 20px #b91c1c15; }
.final-cta { padding:48px 24px; }
.site-footer { background:#f8fafc; border-top:1px solid #e2e8f0; }
.footer-top>p { font-size:13px; }
.compare-overview article { border-color:#fecdd3; }
.compare-overview dl>div { border-color:#fecdd3; }
.keep-bar { border-color:#f5b4ba; }

@media(max-width:1100px) {
  .hero-copy h1 { font-size:40px; }
  .hero-inner { gap:25px; }
  .hero-visual { height:310px; }
  .hero-floating-badge { padding:9px 12px; }
  .hero-floating-badge strong { font-size:13px; }
  .listing-layout { grid-template-columns:215px minmax(0,1fr); gap:22px; }
  .filter-panel { padding:15px; }
  .job-card--3 { grid-template-columns:minmax(170px,.72fr) minmax(0,1.28fr); }
  .job-card--3 .card-body { padding:16px; }
  .job-card--3 .card-body h3 { font-size:21px; }
  .job-card--3 .card-facts>div:first-child dd { font-size:25px; }
  .stage-cards-2 { gap:13px; }
  .job-card--2 .card-body { padding:14px; }
  .job-card--2 .card-facts>div:first-child dd { font-size:20px; }
  .job-card--1 .card-body { grid-template-columns:minmax(0,1fr) minmax(200px,.9fr); gap:5px 14px; padding:16px; }
  .job-card--1 .card-facts { padding-left:14px; }
  .card-anonymous-request { flex-wrap:wrap; gap:5px; }
  .job-card--1 .card-footer { gap:8px; }
  .job-card--1 .keep-button { padding-inline:10px; }
}
@media(max-width:900px) {
  .listing-layout { grid-template-columns:200px minmax(0,1fr); gap:18px; }
  .listing-layout .stage-cards-2 { grid-template-columns:1fr; }
  .listing-layout .job-card--3 { grid-template-columns:minmax(140px,.65fr) minmax(0,1.35fr); }
  .listing-layout .job-card--3 .card-body h3 { font-size:20px; }
  .listing-layout .job-card--1 .card-body { grid-template-columns:1fr; }
  .listing-layout .job-card--1 .card-facts { grid-column:1; grid-row:auto; border-left:0; border-block:1px solid #e2e8f0; padding:9px 0; margin-top:6px; }
  .listing-layout .job-card--1 .card-footer { grid-column:1; grid-row:auto; }
  .listing-layout .job-card--1 .card-anonymous-request { grid-column:1; flex-wrap:nowrap; }
  .premium-ribbon { gap:7px; font-size:10px; padding:8px 12px; }
  .premium-ribbon strong { font-size:12px; }
}
@media(max-width:800px) {
  .container,.hero-inner,.hero-search { width:calc(100% - 40px); }
  .home-hero { padding-top:24px; }
  .hero-inner { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:20px; }
  .hero-copy h1 { font-size:34px; line-height:1.45; }
  .hero-portal-label { font-size:9px; padding:4px 7px; }
  .hero-lead { font-size:13px; line-height:1.8; }
  .hero-visual { height:300px; }
  .hero-visual img { min-height:0; border-radius:9px 9px 35px 9px; }
  .hero-floating-badges { inset:16px -5px 35px -5px; }
  .hero-floating-badge { font-size:11px; padding:8px 10px; }
  .hero-floating-badge strong { font-size:12px; }
  .hero-floating-badge small { font-size:9px; }
  .hero-search { margin-top:20px; padding:17px; }
  .hero-search-fields { gap:9px; }
  .hero-search-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero-search-fields>.hero-search-submit { grid-column:1/-1; margin-top:1px; min-height:44px; }
  .hero-search .field { font-size:11px; }
  .hero-search select { font-size:13px; padding-inline:9px; }
  .hero-search-submit .button { min-width:200px; }
  .hero-search-submit small { font-size:10px; }
  .hero-search-tags { gap:6px; }
  .hero-search-tags label { font-size:11px; padding:8px; }
  .hero-stats { gap:6px 13px; font-size:11px; }
  .hero-stats :is(strong,b) { font-size:21px; }
  .section { padding-block:42px; }
  .area-discovery { display:block; }
  .area-discovery .section-heading { margin-bottom:18px; }
  .listing-layout { display:block; }
  .filter-panel { position:static; max-height:none; padding:17px 19px; }
  .listing-layout .stage-cards-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .listing-layout .job-card--3 { grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr); }
  .listing-layout .job-card--1 .card-body { grid-template-columns:minmax(0,1.1fr) minmax(210px,.9fr); }
  .listing-layout .job-card--1 .card-facts { grid-column:2; grid-row:1/6; padding:0 0 0 16px; border:0; border-left:1px solid #e2e8f0; }
  .listing-layout .job-card--1 .card-footer { grid-column:2; grid-row:6/8; }
  .listing-hero { padding:22px 0; }
  .listing-hero p:not(.eyebrow) { max-width:none; font-size:13px; }
  .job-stage-heading :is(h2,h3) { font-size:21px; }
  .detail-job-grid .job-card--3 { grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr); }
  .company-hero--basic { grid-template-columns:minmax(0,1fr) minmax(240px,.8fr); }
  .company-entry-facts { padding:18px; }
  .learning-copy h2 { font-size:29px; }
  .learning-copy>p:not(.eyebrow) { font-size:13px; }
  .school-photo>img { height:320px; }
  .company-hero h1 { font-size:31px; }
}
@media(max-width:560px) {
  :root { --header:68px; }
  .container,.hero-inner,.hero-search { width:calc(100% - 32px); }
  .site-header { padding-inline:16px; }
  .brand-name>span { font-size:7px; }
  .home-hero { display:flex; flex-direction:column; padding-top:23px; border-radius:0; }
  .hero-inner { display:contents; }
  .hero-copy { order:1; width:calc(100% - 32px); margin-inline:auto; }
  .hero-copy h1 { font-size:clamp(31px,8.1vw,43px); line-height:1.42; letter-spacing:0; white-space:normal; }
  .hero-portal-label { font-size:10px; margin-bottom:12px; }
  .hero-lead { font-size:13px; line-height:1.85; margin-top:13px; }
  .hero-lead br { display:none; }
  .hero-stats { margin-top:13px; padding-top:10px; gap:5px 15px; font-size:11px; }
  .hero-stats :is(strong,b) { font-size:22px; }
  .hero-stats small { font-size:9px; }
  .hero-visual { order:3; height:174px; width:calc(100% - 32px); margin:18px auto 0; padding:0; }
  .hero-visual img { height:174px; min-height:0; width:100%; max-height:none; border-radius:9px; object-position:50% 44%; }
  .hero-floating-badges { inset:9px 8px 24px 8px; justify-content:flex-end; gap:6px; align-items:flex-end; }
  .hero-floating-badge { max-width:78%; font-size:10px; padding:6px 9px; gap:0; border-left-width:3px; background:#ffffffed; border-radius:4px; }
  .hero-floating-badge strong { font-size:11px; }
  .hero-floating-badge small { font-size:9px; }
  .hero-floating-badge:nth-child(2) { align-self:flex-end; }
  .hero-floating-badge:nth-child(3) { margin-left:0; }
  .hero-visual>.image-caption { right:auto; left:7px; bottom:7px; font-size:8px; }
  .hero-search { order:2; margin-top:16px; padding:16px; }
  .hero-search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .hero-search-fields>.field:nth-child(3) { grid-column:1/-1; }
  .hero-search .field { font-size:11px; gap:5px; }
  .hero-search select { min-height:45px; font-size:13px; }
  .hero-search-tags { display:grid; grid-template-columns:1fr; gap:6px; margin-top:11px; }
  .hero-search-tags label { min-height:43px; font-size:12px; padding:8px 10px; }
  .hero-search-submit { display:flex; flex-direction:row; align-items:center; gap:10px; margin:0; width:100%; }
  .hero-search-submit .button,.hero-search>.button { width:100%; min-width:0; min-height:48px; font-size:14px; }
  .hero-search-submit small { font-size:10px; }
  .hero-bottom { order:4; gap:7px 16px; padding:12px 16px 14px; margin-top:18px; flex-wrap:wrap; justify-content:flex-start; font-size:9px; }
  .hero-bottom>span:before { padding-right:5px; }
  .hero-path { font-size:450px; right:-160px; top:-30px; }
  .section { padding-block:34px; }
  .section-heading { margin-bottom:19px; }
  .section-heading h2 { font-size:24px; line-height:1.55; }
  .section-heading h2+p { font-size:13px; }
  .area-discovery { padding-block:29px; }
  .area-discovery .section-heading h2 { font-size:23px; }
  .area-links { gap:7px; }
  .area-link { padding:13px 10px; }
  .area-link strong { font-size:19px; }
  .area-link>small { font-size:9px; max-width:none; }
  .area-link>span:last-child { display:none; }
  .ward-links { gap:6px; margin-top:12px; }
  .ward-links a { min-height:42px; padding:7px 11px; font-size:11px; }
  .ward-links strong,.ward-links>span { width:100%; }
  .heading-row>.text-link { margin-bottom:15px; font-size:12px; min-height:35px; }
  .job-groups { gap:26px; }
  .job-stage-heading { gap:10px; padding-bottom:10px; margin-bottom:12px; }
  .job-stage-heading :is(h2,h3) { font-size:20px; line-height:1.5; }
  .job-stage-heading p { font-size:11px; }
  .stage-count { padding:3px 9px; font-size:11px; }
  .stage-cards-2,.listing-layout .stage-cards-2 { grid-template-columns:1fr; }
  .stage-cards { gap:13px; }
  .job-card--3,.listing-layout .job-card--3,.detail-job-grid .job-card--3 { display:flex; flex-direction:column; }
  .premium-ribbon { gap:6px 8px; padding:9px 12px; flex-wrap:wrap; font-size:10px; }
  .premium-ribbon strong { font-size:12px; }
  .premium-ribbon small { margin-left:0; font-size:9px; }
  .job-card--3 .card-media,.listing-layout .job-card--3 .card-media,.detail-job-grid .job-card--3 .card-media { height:205px; min-height:0; }
  .job-card--2 .card-media { height:166px; }
  .job-card--3 .card-body,.job-card--2 .card-body,.detail-job-grid .job-card--3 .card-body { padding:16px; }
  .job-card--3 .card-body h3,.detail-job-grid .job-card--3 .card-body h3 { font-size:21px; line-height:1.5; }
  .job-card--2 .card-body h3 { font-size:19px; }
  .card-media .card-play { left:12px; right:12px; bottom:31px; min-height:48px; padding:8px 10px; font-size:12px; }
  .card-play>span[aria-hidden] { width:31px; height:31px; flex-basis:31px; font-size:17px; }
  .support-ribbon { padding:10px 13px; font-size:12px; }
  .card-location { font-size:11px; }
  .card-company { font-size:12px; margin-bottom:9px; }
  .card-tags span { font-size:10px; }
  .card-facts dt { font-size:11px; }
  .card-facts dd { font-size:14px; }
  .card-facts>div:first-child dd,.job-card--2 .card-facts>div:first-child dd { font-size:23px; }
  .job-card--3 .card-facts>div:first-child dd,.detail-job-grid .job-card--3 .card-facts>div:first-child dd { font-size:27px; }
  .card-skill { font-size:12px; }
  .card-support { font-size:12px; padding:9px 11px; }
  .card-trial { font-size:12px; }
  .card-footer { margin-top:11px; padding-top:9px; }
  .keep-button { min-height:44px; font-size:12px; }
  .job-card--1 .card-body,.listing-layout .job-card--1 .card-body { grid-template-columns:1fr; gap:5px; padding:15px; }
  .job-card--1 h3 { font-size:17px; }
  .job-card--1 .card-facts,.listing-layout .job-card--1 .card-facts { grid-column:1; grid-row:auto; border:0; border-block:1px solid #e2e8f0; margin-top:6px; padding:8px 0; }
  .job-card--1 .card-facts>div:first-child dd { font-size:21px; }
  .job-card--1 .card-footer,.listing-layout .job-card--1 .card-footer { grid-column:1; grid-row:auto; margin-top:4px; }
  .job-card--1 .card-anonymous-request { grid-column:1; flex-wrap:nowrap; margin-top:6px; min-height:48px; padding:8px 10px; font-size:12px; gap:8px; }
  .card-anonymous-request .request-local-count { font-size:9px; padding:3px 4px; }
  .listing-hero { padding:21px 0; margin-bottom:18px; }
  .listing-hero h1 { font-size:25px; line-height:1.55; }
  .listing-subtitle { font-size:15px; line-height:1.6; margin-top:5px; }
  .listing-job-total { padding:9px 11px; margin-left:12px; font-size:11px; }
  .listing-job-total b { font-size:29px; }
  .listing-hero p:not(.eyebrow) { font-size:13px; line-height:1.85; max-width:none; }
  .listing-layout { padding-bottom:34px; }
  .filter-panel { padding:16px; margin-bottom:20px; }
  .filter-heading { margin-bottom:0; }
  .filter-panel:has(#filter-fields:not([hidden])) .filter-heading { margin-bottom:15px; }
  .filter-heading h2 { font-size:15px; }
  #filter-toggle { min-height:44px; font-size:12px; }
  .filter-panel .field { font-size:12px; }
  .filter-panel .field select,.filter-panel .field input { font-size:14px; min-height:46px; }
  .filter-panel .check-row { font-size:13px; }
  .results-heading h2 { font-size:29px; }
  .results-heading>span { font-size:10px; }
  .journey { gap:22px 16px; }
  .journey h3 { font-size:19px; }
  .journey p { font-size:12px; }
  .learning-section { padding:34px 0; }
  .learning-grid { gap:23px; }
  .learning-copy h2 { font-size:28px; line-height:1.6; }
  .learning-copy>p:not(.eyebrow) { font-size:13px; }
  .business-teaser h2 { font-size:25px; }
  .business-teaser p:last-child { font-size:13px; margin:12px 0 20px; }
  .business-teaser .button { width:100%; font-size:13px; }
  .academy-banner { padding:23px; margin-top:25px; }
  .academy-banner h2 { font-size:24px; }
  .academy-banner p:not(.eyebrow) { font-size:12px; }
  .academy-banner>.button { width:100%; font-size:12px; }
  .company-hero,.company-hero--basic { display:grid; grid-template-columns:1fr; gap:22px; padding-block:10px 26px; }
  .company-hero h1 { font-size:28px; line-height:1.55; }
  .company-hero p:not(.eyebrow):not(.company-location) { font-size:13px; }
  .company-entry-facts { padding:18px; }
  .company-entry-facts .card-anonymous-request { flex-wrap:nowrap; }
  .detail-section { padding-top:31px; }
  .detail-section>.section-heading h2 { font-size:24px; line-height:1.55; }
  .detail-section>p { font-size:13px; line-height:1.9; }
  .spec-list>div { grid-template-columns:91px minmax(0,1fr); gap:13px; padding:14px 13px; }
  .spec-list dt { font-size:11px; }
  .spec-list dd { font-size:12px; line-height:1.85; }
  .honest-grid p,.video-panel p:not(.eyebrow),.trial-box p:not(.muted) { font-size:13px; }
  .detail-section>.muted { font-size:11px; }
  .job-hero { padding-block:10px 27px; }
  .job-hero h1 { font-size:28px; line-height:1.55; }
  .job-hero p:not(.eyebrow) { font-size:13px; }
  .job-numbers { grid-template-columns:1fr 1fr; }
  .job-numbers>div:first-child strong { font-size:19px; line-height:1.6; white-space:normal; overflow-wrap:anywhere; }
  .job-numbers>div:last-child { border-top-color:#fecdd3; }
  .job-spec>div { grid-template-columns:80px minmax(0,1fr); padding:16px 0; }
  .school-hero { padding-block:14px 32px; gap:25px; }
  .school-hero h1 { font-size:31px; line-height:1.55; }
  .school-hero p:not(.large-lead):not(.eyebrow) { font-size:13px; }
  .school-photo>img { height:240px; border-radius:9px; }
  .three-reasons { gap:19px; }
  .three-reasons h3 { font-size:21px; }
  .three-reasons p { font-size:13px; }
  .course-grid article { padding:17px 14px; }
  .course-grid p { font-size:12px; }
  .business-hero { padding:30px 0 24px; }
  .business-hero h1 { font-size:34px; line-height:1.5; }
  .business-hero p:not(.eyebrow) { font-size:13px; }
  .problem-solution>div { padding:22px; }
  .plan { padding:23px; }
  .plan ul,.plan>p:not(.eyebrow) { font-size:13px; }
  .final-cta { padding:36px 19px; }
  .final-cta h2 { font-size:27px; }
  .site-footer { padding:28px 18px; }
  .footer-top>p { font-size:12px; }
  .footer-links { gap:8px 17px; }
  .footer-links a,.footer-links button { min-height:34px; font-size:11px; }
  .sticky-buttons .button { min-height:54px; }
  .keep-bar>.button { min-height:44px; }
  .keep-bar>.text-button { min-height:44px; }
  body[data-page=company] .keep-bar,body[data-page=job] .keep-bar { bottom:calc(85px + env(safe-area-inset-bottom)); }
  body[data-page=company] #toast,body[data-page=job] #toast { bottom:165px; }
}
@media(max-width:350px) {
  .container,.hero-inner,.hero-search { width:calc(100% - 26px); }
  .site-header { padding-inline:13px; gap:6px; }
  .brand-name { font-size:21px; }
  .brand-name>span { font-size:6px; }
  .header-actions { gap:6px; }
  .hero-copy h1 { font-size:31px; line-height:1.43; }
  .hero-copy,.hero-visual { width:calc(100% - 26px); }
  .hero-lead { font-size:12px; }
  .hero-search { padding:13px; }
  .hero-search-tags label { font-size:11px; }
  .job-stage-heading :is(h2,h3) { font-size:18px; }
  .job-card--3 .card-body h3 { font-size:20px; }
  .job-card--3 .card-facts>div:first-child dd { font-size:24px; }
  .job-card--1 .card-body { padding:13px; }
  .job-card--1 .card-anonymous-request { flex-wrap:wrap; }
  .company-entry-facts .card-anonymous-request { flex-wrap:wrap; }
  .job-numbers>div:first-child strong { font-size:17px; }
  .course-grid { grid-template-columns:1fr; }
}

.card-facts dd .condition-missing{color:#94A3B8;font-weight:400;font-size:.78rem;}

/* Missing pay is a neutral explanation, not a highlighted salary. */
.job-card .card-facts > div:first-child dd.salary-missing { color:#334155; font-size:14px; font-weight:400; line-height:1.6; }
.card-facts dd .condition-missing { color:#94A3B8; font-weight:400; }

/* Center the school consultation action inside the final CTA. */
.final-cta > .button-row { justify-content:center; width:100%; margin-inline:auto; }
.final-cta > .button-row > .button { max-width:100%; }

/* Stage 1: make the questions to investigate visible without implying availability. */
.job-card--1 .tasucari-status{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 4px;min-width:0}
.tasucari-status>div{padding:12px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;min-width:0}
.tasucari-status strong{display:block;color:#334155;font-size:12px;line-height:1.6}
.tasucari-status span{display:block;color:#64748b;font-size:12px;margin-top:6px;font-weight:400}
.tasucari-status small{display:block;font-size:10px;color:#64748b;line-height:1.6}
.tasucari-status>p{grid-column:1/-1;font-size:10px;color:#64748b;margin:0}
.job-card--1 .card-anonymous-request{white-space:normal;line-height:1.7;text-align:left;gap:10px}
.job-card--1 .card-anonymous-request .request-label{white-space:normal;overflow-wrap:anywhere}
.verified-preview{border:1px solid #f2b6bb;border-radius:8px;background:#fff7f7;padding:14px 16px;margin-bottom:18px;color:#334155}
.verified-preview summary{cursor:pointer;font-size:14px;font-weight:700;line-height:1.7}
.verified-preview summary>span{display:block;font-size:11px;color:#a31625;margin-top:4px}
.verified-preview-body{padding-top:12px;font-size:13px}
.verified-preview-badges{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.verified-preview-badges span{background:#fff;border:1px solid #f2b6bb;border-radius:5px;padding:8px 12px;color:#9f1239;font-weight:700}
.verified-preview-body small{display:block;line-height:1.8;color:#64748b}
@media(max-width:640px){.job-card--1 .tasucari-status{grid-template-columns:1fr}.tasucari-status>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}.tasucari-status span{margin-top:0}.job-card--1 .card-anonymous-request{flex-direction:column;align-items:flex-start}.verified-preview summary{font-size:13px}}

/* Side-job guide: readable editorial content and two clear choices. */
.home-hero h1{font-size:clamp(32px,3.2vw,48px);line-height:1.4}.hero-copy h1 span{white-space:normal}.hero-investigation-note{font-size:11px;line-height:1.7;color:#ffe3e3;margin-top:12px}.hero-text-link{margin-right:16px}.desktop-nav{gap:18px}
.sidejob-page{padding-top:24px;padding-bottom:60px;max-width:1120px}.sidejob-hero{padding:40px 0 32px;border-bottom:2px solid #edc4c9}.sidejob-hero h1{font-size:clamp(28px,4vw,44px);line-height:1.5}.sidejob-hero>p{max-width:850px;line-height:1.9;margin-top:18px}.sidejob-disclosure{font-size:12px;color:#64748b}.sidejob-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.sidejob-paths>a{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid #e7c4c8;border-radius:10px;background:#fff6f6;color:#334155}.sidejob-paths strong{font-size:18px;color:#a31625}.sidejob-paths span{font-size:13px;line-height:1.8}.sidejob-section{margin:36px 0;padding-top:12px}.sidejob-section h2{font-size:25px;line-height:1.6;margin-bottom:16px}.sidejob-section p,.sidejob-section li{font-size:15px;line-height:1.95;margin-bottom:12px}.sidejob-section ul{padding-left:24px}.sidejob-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.sidejob-topics>a{display:flex;flex-direction:column;gap:12px;border:1px solid #e2e8f0;border-top:3px solid #dc2626;border-radius:8px;padding:20px;background:#fff}.sidejob-topics strong{font-size:18px}.sidejob-topics span{font-size:13px;line-height:1.9}.sidejob-topics b{font-size:12px;color:#a31625;margin-top:auto}.sidejob-steps{padding:0;list-style:none}.sidejob-steps li{display:flex;gap:18px;border-bottom:1px solid #e2e8f0;padding:16px 0}.sidejob-steps span{font-weight:800;color:#dc2626;font-size:24px}.sidejob-section blockquote{padding:20px;border-left:4px solid #dc2626;background:#fff6f6;line-height:1.9;margin:16px 0}.sidejob-table{overflow:auto}.sidejob-table table{width:100%;border-collapse:collapse;min-width:560px}.sidejob-table th,.sidejob-table td{padding:14px;border:1px solid #e2e8f0;text-align:left;font-size:13px;line-height:1.8}.sidejob-table th{background:#f8fafc}.sidejob-sources{border-top:1px solid #e2e8f0}.sidejob-sources p{font-size:12px}.sidejob-section a:not(.button):not(.card-company){text-underline-offset:3px}.sidejob-entry h2{font-size:28px;margin-bottom:12px}.sidejob-entry .button-row{margin-top:20px}
@media(max-width:760px){.sidejob-paths,.sidejob-topics{grid-template-columns:1fr}.sidejob-page{padding-inline:18px}.sidejob-hero{padding-top:24px}.sidejob-section h2{font-size:23px}.sidejob-section p,.sidejob-section li{font-size:14px}.home-hero h1{font-size:clamp(29px,7.7vw,40px)}.hero-investigation-note{font-size:11px}.hero-text-link{display:block}.sidejob-entry h2{font-size:25px}}

.hero-last i{display:inline-block;white-space:nowrap;font-style:normal}

.publication-notice{grid-column:1/-1;padding:12px 14px;margin-top:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:11px;line-height:1.8}.publication-notice p+p{margin-top:8px}.publication-notice a{text-decoration:underline;text-underline-offset:3px;color:#475569;overflow-wrap:anywhere}.publication-notice strong{color:#334155}.business-contact{max-width:850px;padding-top:40px;padding-bottom:40px;scroll-margin-top:100px}.business-contact>p{line-height:1.9;margin:16px 0}.business-contact h2{font-size:28px}.business-contact .action-form{padding:24px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.contact-fallback{font-size:13px}

/* People-free product showcase, backed by published records. */
.product-showcase{display:flex!important;flex-direction:column;gap:14px;align-self:center;min-width:0;padding:12px 10px 16px;overflow:visible!important;height:auto!important;aspect-ratio:auto!important}
.product-panel{display:block;background:#fff;color:#182635;border:1px solid #e5eaf0;border-radius:14px;padding:20px;box-shadow:0 16px 40px #7a071526;position:relative;transition:transform .18s ease,box-shadow .18s ease}
a.product-panel:hover{transform:translateY(-3px);box-shadow:0 20px 40px #7a071540}.index-panel{margin-right:22px;z-index:1}.comparison-panel{margin-left:20px;z-index:2;margin-top:-4px}.request-panel{margin-right:10px;display:flex;gap:12px;align-items:center;background:#fff7ed;z-index:3;margin-top:-3px}.panel-heading{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:700}.panel-heading small{margin-left:auto;font-size:10px;color:#64748b;font-weight:400}.status-dot{width:7px;height:7px;background:#19836d;border-radius:50%}.index-number{display:flex;align-items:baseline;gap:12px;margin:8px 0}.index-number strong{font-size:54px;line-height:1.2;letter-spacing:-2px;color:#c81c29}.index-number span{font-size:14px;font-weight:700}.index-number>b{margin-left:auto;font-size:28px;color:#d62232}.district-chips{display:flex;flex-wrap:wrap;gap:6px}.district-chips span{font-size:10px;background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:4px}.showcase-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.showcase-compare a{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:6px;min-width:0}.showcase-compare strong{font-size:12px}.showcase-compare b{font-size:17px;color:#a31625}.showcase-compare span{font-size:10px;color:#64748b}.showcase-conditions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.showcase-conditions span{font-size:10px;padding:5px 7px;background:#f1f5f9;border-radius:5px;color:#475569}.comparison-panel>p{font-size:10px;color:#64748b;margin:8px 0}.showcase-compare-button{width:100%;padding:9px;border:1px solid #e4aeb6;border-radius:6px;color:#a31625;background:#fff;font-size:12px;font-weight:700;cursor:pointer}.request-panel strong{font-size:12px}.request-panel p,.request-panel small{font-size:10px;line-height:1.8;color:#7c4b26}.request-panel>b{margin-left:auto}.request-symbol{font-size:23px}.skill-showcase{background:#0c211f;border:1px solid #36534d;border-radius:16px;padding:24px;color:#edf9f5;min-width:0}.showcase-eyebrow{font-size:10px;letter-spacing:.12em;color:#8fd8bd;margin-bottom:16px}.skill-showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.skill-showcase-grid a{display:flex;flex-direction:column;gap:8px;padding:17px;background:#18332f;border:1px solid #36564d;border-radius:10px;transition:background .18s}.skill-showcase-grid a:hover{background:#234a40}.skill-showcase-grid a>span{font-size:24px;color:#86e1bb}.skill-showcase-grid strong{font-size:14px;line-height:1.6}.skill-showcase-grid small{font-size:11px;color:#bbd1c9}.skill-showcase-grid b{font-size:10px;color:#a3dfc8;font-weight:400;line-height:1.6}.skill-price{border-top:1px solid #36534d;margin-top:18px;padding-top:16px}.skill-price strong{font-size:13px}.skill-price p,.skill-price a{font-size:12px;line-height:1.8;margin-top:8px}.skill-price a{display:block;color:#a3dfc8}.skill-price small{display:block;color:#a8c2b8;font-size:10px;line-height:1.8;margin-top:8px}.learning-grid{grid-template-columns:1fr 1.15fr;align-items:center}.school-hero>.skill-showcase{align-self:center}
@media(max-width:760px){.product-showcase{display:flex!important;margin-top:16px;padding:0}.product-panel{padding:15px}.index-panel{margin-right:14px}.comparison-panel{margin-left:12px}.panel-heading{flex-wrap:wrap}.panel-heading small{font-size:9px}.index-number strong{font-size:44px}.index-number span{font-size:12px}.showcase-compare b{font-size:14px}.learning-grid{grid-template-columns:1fr}.skill-showcase{padding:16px}.skill-showcase-grid{gap:8px}.skill-showcase-grid a{padding:12px}.skill-showcase-grid strong{font-size:12px}.request-panel{margin-right:0}}
@media(prefers-reduced-motion:reduce){.product-panel,.skill-showcase-grid a{transition:none}}
/* Approved A logo: optical crop of transparent canvas */
.brand .brand-logo{display:block;width:230px;height:52px;max-width:none;object-fit:cover;object-position:center;}
.site-footer .brand .brand-logo{width:260px;height:59px;}
@media(max-width:760px){.site-header .brand .brand-logo{width:154px;height:35px;}.site-header .brand{flex-shrink:0;}}
