/* Site-wide visual layer. Keep product behavior and the opted-in dark theme intact. */
html:not([data-theme=dark]) {
  color-scheme: only light;
  --bg: #fbfbf9;
  --surface: #fff;
  --ink: #172126;
  --muted: #53616a;
  --line: #dce5e8;
  --blue: #00779f;
  --primary: #00779f;
  --sky: #08b4f5;
  --sky-light: #edf8fc;
}
html:not([data-theme=dark]) body { background: var(--bg); color: var(--ink); }
body { -webkit-font-smoothing: antialiased; }
body :is(h1,h2,h3) { text-wrap: balance; }
body :is(p,li) { overflow-wrap: anywhere; }
body :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }

/* Global navigation, including the existing mobile menus. */
.topbar { border-bottom: 1px solid var(--line); }
html:not([data-theme=dark]) .topbar { background: rgba(255,255,255,.94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.topbar-inner { max-width: 1400px; gap: clamp(12px,2vw,28px); }
.topbar .nav-item { border-radius: 9px; transition: background-color .2s, color .2s, transform .2s; }
.topbar .nav-item:hover { transform: translateY(-1px); }
.topbar .nav-item[aria-current=page] { color: var(--blue); background: var(--sky-light); }
.topbar .nav-cta { border-radius: 8px; transition: background-color .2s, transform .2s, box-shadow .2s; }
.topbar .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 9px 18px rgba(23,33,38,.13); }
.topbar :is(.nav-dropdown>summary,.public-nav-menu>summary) { border-radius: 9px; }
html:not([data-theme=dark]) .nav-dropdown-panel,
html:not([data-theme=dark]) .public-nav-menu>div { background: #fff; border-color: var(--line); box-shadow: 0 16px 36px rgba(27,60,73,.12); }

/* Reusable surfaces across community, company, candidate and vacancy pages. */
html:not([data-theme=dark]) :is(
  .identity-card,.rail-menu,.info-card,.feed-card,.profile-record,.profile-type-option,
  .dashboard-stats article,.start-guide,.start-step,.brand-image-editor,.talent-candidate-card,
  .network-card,.network-section,.auth-card,.settings-page>section,.candidate-editor fieldset,
  .profile-editor-section,.job-card,.jobs-search,.jobs-empty,.job-action-panel,.job-overview,
  .curated-editor-card,.curated-editor-preview,.curated-editor-tip,.curated-editor-workflow,
  .company-public-offer,.company-public-profile,.landing-job,.landing-jobs-empty,
  .professional-section,.professional-skill,.professional-record-row,.professional-empty,
  .wr-landing .landing-register,.application-filter,.story-card
) { background: var(--surface); border-color: var(--line); border-radius: 12px !important; box-shadow: 0 4px 16px rgba(22,55,68,.035) !important; }
.identity-card,.rail-menu { overflow: hidden; }
html:not([data-theme=dark]) .professional-section { border-color: var(--line); }
html:not([data-theme=dark]) .professional-section>header { border-color: var(--line); }
html:not([data-theme=dark]) .professional-action { border-radius: 8px; transition: transform .18s,border-color .18s; }
html:not([data-theme=dark]) .professional-action:hover { transform: translateY(-1px); border-color: var(--blue); }
html:not([data-theme=dark]) :is(.job-card,.landing-job,.talent-candidate-card,.network-card,.profile-type-option) { transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
html:not([data-theme=dark]) :is(.job-card,.landing-job,.talent-candidate-card,.network-card,.profile-type-option):hover { transform: translateY(-3px); border-color: #b9dce9 !important; box-shadow: 0 14px 30px rgba(22,55,68,.085) !important; }
html:not([data-theme=dark]) .rail-menu a { border-radius: 7px; transition: background-color .18s,color .18s; }
html:not([data-theme=dark]) .rail-menu a:hover { color: var(--blue); background: var(--sky-light); }

/* Forms and actions use the same rhythm without changing their handlers. */
.wr-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea) { border-radius: 9px; transition: border-color .18s,box-shadow .18s; }
.wr-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea):focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(8,180,245,.12); }
.wr-main :is(.button,button[type=submit],.editor-actions>button),
.jobs-page :is(button,.button) { border-radius: 8px !important; transition: transform .18s,box-shadow .18s,background-color .18s; }
.wr-main :is(.button,button[type=submit],.editor-actions>button):hover,
.jobs-page :is(button,.button):hover { transform: translateY(-1px); }
.wr-main :is(.button,button[type=submit],.editor-actions>button) span[aria-hidden],
.jobs-page :is(button,.button) span[aria-hidden] { display: inline-block; transition: transform .18s; }
.wr-main :is(.button,button[type=submit],.editor-actions>button):hover span[aria-hidden],
.jobs-page :is(button,.button):hover span[aria-hidden] { transform: translate(2px,-2px); }

/* Public landing: preserve search fields, links, copy and job cards. */
.wr-landing .hero { grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr); gap: clamp(26px,4vw,58px); padding-top: 60px; padding-bottom: 70px; }
.wr-landing .hero h1 { font-size: clamp(48px,5.1vw,76px); line-height: 1.04; letter-spacing: -.06em; margin: 22px 0 24px; }
.wr-landing .hero .intro { font-size: clamp(16px,1.35vw,19px); line-height: 1.72; max-width: 540px; }
.wr-landing .hero .searchrow { border-color: #bacbd1; border-radius: 10px; box-shadow: 0 10px 26px rgba(22,55,68,.055); }
.wr-landing .hero .searchrow .btn { border-radius: 7px; }
.wr-landing .hero .photography { padding: 13px 13px 42px 0; isolation: isolate; }
.wr-landing .hero .photography::before { content: ""; position: absolute; inset: 0 0 25px 28px; z-index: -1; border: 1px solid #d1eaf4; border-radius: 18px; background: #edf8fc; }
.wr-landing .hero .hero-slides { aspect-ratio: 1.36; border-radius: 12px; box-shadow: 0 18px 44px rgba(22,55,68,.13); }
.wr-landing .hero .photo-caption { left: -17px; padding: 15px 23px 10px; border: 1px solid var(--line); border-left: 3px solid var(--sky); border-radius: 0 9px 9px 0; box-shadow: 0 12px 26px rgba(22,55,68,.07); }
.wr-landing .hero .photo-caption strong { font-size: clamp(18px,1.7vw,23px); }
.wr-landing .landing-vacancies { padding-top: 65px; }
.wr-landing .landing-vacancies h2 { font-size: clamp(28px,3vw,40px); }
.wr-landing .landing-job { min-height: 290px; padding: 26px; }
.wr-landing .landing-job h3 { font-size: clamp(20px,1.65vw,25px); letter-spacing: -.035em; }
.wr-landing .landing-job-description { line-height: 1.75; }
.wr-landing .entry-badge { background: var(--sky-light); border-radius: 999px; padding: 5px 9px; font-size: 11px; }
.wr-landing .landing-job-bottom a { transition: color .18s; }
.wr-landing .landing-job-bottom a:hover { color: #005c7f; text-decoration: underline; }
.wr-landing .start .step { border-radius: 12px; }
.wr-landing .landing-confidence h2 { font-size: clamp(26px,2.8vw,35px); }

/* Real, server-rendered public statistics. */
.wr-landing .landing-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding: 24px 0; border-block: 1px solid var(--line); }
.wr-landing .landing-stat { padding: 12px 28px; border-left: 1px solid var(--line); }
.wr-landing .landing-stat:first-child { padding-left: 0; border-left: 0; }
.wr-landing .landing-stat strong { display: block; font-size: clamp(30px,3vw,42px); line-height: 1.1; color: var(--blue); font-variant-numeric: tabular-nums; letter-spacing: -.05em; }
.wr-landing .landing-stat span { display: block; margin-top: 8px; font-size: 13px; font-weight: 650; }
@keyframes premium-enter { from { opacity: .62; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.premium-enter { animation: premium-enter .48s ease-out; }
.wr-landing .hero>div:first-child { animation: premium-enter .65s ease-out both; }
.wr-landing .hero .photography { animation: premium-enter .72s .1s ease-out both; }

/* Lists, details and application pages. */
.jobs-page .jobs-heading h1 { font-size: clamp(34px,3.5vw,50px); letter-spacing: -.05em; }
.jobs-page .jobs-search { padding: clamp(20px,2.3vw,28px); }
.jobs-page .job-card h3 { font-size: clamp(21px,1.8vw,26px); letter-spacing: -.04em; }
.jobs-page .job-summary { line-height: 1.75 !important; }
.jobs-page .jobs-entry { border-radius: 999px; background: var(--sky-light); color: var(--blue); }
.job-detail-page .job-section h2 { letter-spacing: -.035em; }
.job-detail-page .job-action-panel { box-shadow: 0 10px 28px rgba(22,55,68,.07) !important; }
.curated-editor .curated-editor-hero { border-radius: 15px; }
.curated-editor .curated-editor-card { padding: clamp(22px,3vw,32px); }
.curated-editor .curated-editor-stepper { scrollbar-width: thin; }
.curated-editor .curated-editor-preview { overflow: hidden; }

/* Footer and readable responsive spacing. */
html:not([data-theme=dark]) .site-footer { background: var(--surface); border-color: var(--line); }
.trust-footer-grid nav a,.footer-main a,.footer-secondary a { transition: color .18s; }
.trust-footer-grid nav a:hover,.footer-main a:hover,.footer-secondary a:hover { color: var(--blue); }
@media(max-width:1000px) { .wr-landing .hero { grid-template-columns: 1fr 1fr; gap: 26px; } }
@media(max-width:680px) {
  .wr-landing .hero { grid-template-columns: 1fr; gap: 38px; padding-top: 34px; padding-bottom: 44px; }
  .wr-landing .hero .hero-slides { aspect-ratio: 1.25; }
  .wr-landing .hero .photo-caption { left: 8px; }
  .wr-landing .landing-stats { grid-template-columns: 1fr; padding: 8px 0; }
  .wr-landing .landing-stat,.wr-landing .landing-stat:first-child { display: flex; align-items: baseline; gap: 15px; padding: 13px 0; border-left: 0; border-top: 1px solid var(--line); }
  .wr-landing .landing-stat:first-child { border-top: 0; }
  .wr-landing .landing-stat strong { min-width: 65px; font-size: 29px; }
  .wr-landing .landing-stat span { margin: 0; }
  .wr-landing .landing-job { min-height: 0; padding: 20px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  .premium-enter,.wr-landing .hero>div:first-child,.wr-landing .hero .photography { animation: none !important; }
  .topbar .nav-item,.topbar .nav-cta,
  html:not([data-theme=dark]) :is(.job-card,.landing-job,.talent-candidate-card,.network-card,.profile-type-option),
  .wr-main :is(.button,button[type=submit],.editor-actions>button) { transition: none !important; transform: none !important; }
}