
:root{--jobs-gap:32px;--jobs-panel-radius:24px;--jobs-motion:260ms;--jobs-accent:#7fa982}
.jobs-main{padding-top:clamp(64px,6vw,112px);padding-bottom:clamp(96px,8vw,160px)}
.jobs-main h1{font-size:clamp(48px,6.67vw,128px);line-height:1.1;color:var(--green);margin:0 0 32px;overflow-wrap:normal;word-break:normal}
.job-card{position:relative;border-radius:var(--jobs-panel-radius);isolation:isolate;padding:24px}.job-card + .job-card{margin-top:32px}
.job-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1}.job-outline rect{fill:none;stroke:var(--line,#7a7977);stroke-width:2;stroke-dasharray:29 29;vector-effect:non-scaling-stroke;width:calc(100% - 2px);height:calc(100% - 2px)}
.job-toggle{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:24px;text-align:left;padding:0;color:inherit;cursor:pointer}
.job-heading{display:grid;gap:8px;min-width:0}.job-title{display:block;font-size:clamp(18px,1.25vw,24px);line-height:1.4;font-weight:800;color:var(--jobs-accent)}.job-meta{display:flex;flex-wrap:wrap;gap:8px 32px;font-size:16px;line-height:1.5}.job-meta>span{display:block}
.job-toggle-icon{flex:none;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform var(--jobs-motion) ease-out;pointer-events:none}.job-toggle[aria-expanded=false] .job-toggle-icon{transform:rotate(45deg)}
.job-description{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--jobs-motion) ease-out,opacity var(--jobs-motion) ease-out;opacity:1}.job-description.is-closed{grid-template-rows:0fr;opacity:0}.job-description-inner{min-height:0;overflow:clip}.job-description section{margin:0}.job-about{padding-top:48px}.job-card h2{font-size:clamp(20px,1.25vw,24px);line-height:1.5;color:var(--jobs-accent);margin:0 0 12px}.job-card p,.job-card li{font-size:clamp(16px,1.04vw,20px);line-height:1.5}.job-about p{max-width:72ch;margin:0}.job-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px}.job-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.job-card li{position:relative;padding-left:24px}.job-card li:before{content:'—';position:absolute;left:0;top:0}.job-bonus{margin:56px 0;color:var(--jobs-accent)}.job-reply{margin:80px 0 0;text-align:right}.job-reply a{color:var(--jobs-accent);font-weight:800;text-decoration:none}
.jobs-application{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;margin-top:clamp(96px,8.33vw,160px)}.jobs-intro h2{font-size:clamp(32px,3.33vw,64px);line-height:1.05;max-width:12ch;margin:0 0 32px;word-break:normal;overflow-wrap:normal}.jobs-intro p{font-size:20px;line-height:1.5;margin:0}.jobs-form{display:grid;gap:24px;align-content:start;min-width:0}.jobs-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.jobs-field{display:grid;gap:8px;min-width:0}.jobs-label{display:block;font-size:16px;line-height:1.5}.jobs-wide{grid-column:1/-1}.jobs-field input{display:block;box-sizing:border-box;width:100%;min-width:0;height:62px;padding:16px;border:1px dashed var(--line,#7a7977);border-radius:12px;background:transparent;color:var(--text);font:inherit;font-size:16px;outline:none}.jobs-field input:focus{border-color:var(--jobs-accent);outline:1px dashed var(--jobs-accent);outline-offset:3px}.jobs-field input::placeholder{color:var(--line)}.jobs-error{display:block;color:#ffc1b9;font-size:16px;line-height:1.5}.jobs-error:empty{display:none}.jobs-upload{display:grid;gap:16px;border:1px dashed var(--line);border-radius:12px;padding:16px;font-size:16px;line-height:1.5}.jobs-file-row{display:flex;gap:16px;align-items:center;justify-content:space-between}#file-name{overflow-wrap:anywhere;min-width:0}.jobs-file-button{display:flex;position:relative;align-items:center;justify-content:center;flex:none;min-height:48px;padding:8px 24px;border:1px solid var(--green);border-radius:8px;cursor:pointer;overflow:clip}.jobs-file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.jobs-file-button:focus-within{outline:2px solid var(--jobs-accent);outline-offset:4px}.jobs-consent{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;cursor:pointer}.jobs-consent input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--green)}.jobs-consent span{display:block}.jobs-form>.button{width:calc(50% - 8px);height:auto;min-height:64px;margin-top:16px}.jobs-demo,.jobs-status{font-size:16px;line-height:1.5;margin:0}.jobs-demo{color:var(--text)}.jobs-status:empty{display:none}.jobs-errors{font-size:16px;line-height:1.5;color:#ffc1b9}.jobs-errors a{display:block;color:inherit}.vacancies-page :focus-visible{outline:2px solid var(--jobs-accent);outline-offset:4px}.jobs-form input[aria-invalid=true]{border-color:#ffc1b9}.jobs-form button:disabled{opacity:.65;cursor:wait}.job-toggle{min-height:48px}#jobs-info h2{font-size:28px;line-height:1.3;margin-bottom:24px}#jobs-info p{font-size:16px;line-height:1.5}
@media(hover:hover){.job-toggle:hover .job-title,.job-reply a:hover{color:#b5deb1}.jobs-file-button:hover{border-color:var(--jobs-accent);color:var(--jobs-accent)}}
@media(max-width:1023px){.jobs-application{grid-template-columns:1fr;gap:40px}.jobs-intro h2{max-width:24ch}.job-columns{gap:32px}.jobs-main{padding-top:64px}}
@media(max-width:767px){.jobs-main h1{font-size:clamp(40px,11vw,64px);margin-bottom:24px}.job-card{padding:24px 16px}.job-title{font-size:18px}.job-toggle{gap:16px}.job-toggle-icon{width:24px;height:24px}.job-meta{gap:4px}.job-columns{grid-template-columns:1fr;gap:32px;margin-top:32px}.job-about{padding-top:32px}.job-bonus{margin:32px 0}.job-reply{margin-top:40px;text-align:left}.jobs-fields{grid-template-columns:1fr}.jobs-form>.button{width:100%;min-height:52px}.jobs-file-row{align-items:stretch;flex-direction:column}.jobs-file-button{align-self:flex-start}.jobs-main{padding-top:48px}.jobs-intro h2{font-size:36px}.jobs-intro p{font-size:16px}.jobs-application{margin-top:96px}.job-card p,.job-card li{font-size:16px}}
@media(prefers-reduced-motion:reduce){.job-description,.job-toggle-icon{transition:none}}

/* Vacancy disclosure matches the shared device-window close control. */
.shared-ui .job-toggle .ui-press-icon{display:grid;place-items:center;box-sizing:border-box;width:var(--ui-close-size,44px);height:var(--ui-close-size,44px);flex:none;border:0;border-radius:var(--ui-close-radius,12px);background:#446b4714;color:var(--ui-green,#446b47);transition:background-color var(--ui-control,200ms) ease-out,color var(--ui-control,200ms) ease-out}
.shared-ui .job-toggle-icon{display:block;width:var(--ui-cross-size,28px);height:var(--ui-cross-size,28px);fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.shared-ui .job-toggle.ui-tap .ui-press-icon{color:var(--ui-hover);background:#446b4733}
@media(hover:hover){.shared-ui .job-toggle:hover .ui-press-icon{background:#446b4733}}
/* Consent policy link 20260918 */
.consent a,.consent-row a,.jobs-consent a{color:var(--green,#446b47);text-decoration:none}.consent a:hover,.consent-row a:hover,.jobs-consent a:hover,.consent a:focus-visible,.consent-row a:focus-visible,.jobs-consent a:focus-visible{color:var(--green,#446b47);text-decoration:underline}

/* Unified typography scale across desktop and mobile 20260918 */
:root{
  --type-copy:clamp(16px,1.042vw,20px);
  --type-lead:clamp(18px,1.25vw,24px);
  --type-button:clamp(16px,1.042vw,20px);
  --type-label:16px;
  --type-card-title:clamp(20px,1.25vw,24px);
  --type-section-title:clamp(36px,3.333vw,64px);
  --type-hero-title:clamp(48px,6.667vw,128px);
}
body{font-size:var(--type-copy)!important}
.home-hero h1,.sveta h2,.jobs-main h1{font-size:var(--type-hero-title)!important;line-height:1.06!important}
.audience h2,.teachers h2,.contact h2,.jobs-intro h2{font-size:var(--type-section-title)!important;line-height:1.05!important}
.hero-summary,.audience-copy>p,.sveta-heading>p:last-child,.contact-intro>p,.jobs-intro p,dialog p{font-size:var(--type-lead)!important;line-height:1.3!important}
.eyebrow,.hero-heading .eyebrow{font-size:var(--type-lead)!important;line-height:1.2!important}
.device-card figcaption,.device-card figcaption p,.benefits li,.diagram .detail,.footer-links,.footer-contact,.job-card p,.job-card li,.job-meta,.jobs-label,.jobs-upload,.jobs-consent,.jobs-status,.jobs-errors,.form-status,.form-message{font-size:var(--type-copy)!important;line-height:1.35!important}
.sveta-card h3,.job-title,.job-card h2,#jobs-info h2{font-size:var(--type-card-title)!important;line-height:1.25!important}
.field label,.field input,.jobs-field input,.jobs-error,.field-error,.jobs-demo,#jobs-info p{font-size:var(--type-label)!important;line-height:1.5!important}
.button,.audience .button,dialog .button,.contact-form>.button,.jobs-form>.button,.jobs-file-button,.cta-label{font-size:var(--type-button)!important;line-height:1.2!important}
.consent,.consent-row,.jobs-consent{font-size:var(--type-copy)!important;line-height:1.4!important}
@media(max-width:767px){
  :root{
    --type-copy:16px;
    --type-lead:18px;
    --type-button:16px;
    --type-label:16px;
    --type-card-title:18px;
    --type-section-title:32px;
    --type-hero-title:clamp(40px,11vw,64px);
  }
  .home-hero h1,.sveta h2,.jobs-main h1{font-size:var(--type-hero-title)!important}
  .audience h2,.teachers h2,.contact h2,.jobs-intro h2{font-size:var(--type-section-title)!important;line-height:1.1!important}
  .hero-summary,.audience-copy>p,.sveta-heading>p:last-child,.contact-intro>p,.jobs-intro p,dialog p{font-size:var(--type-lead)!important;line-height:1.45!important}
  .button,.audience .button,dialog .button,.contact-form>.button,.jobs-form>.button,.jobs-file-button,.cta-label{font-size:var(--type-button)!important;line-height:1.2!important}
  .device-card figcaption,.device-card figcaption p,.benefits li,.diagram .detail,.footer-links,.footer-contact,.job-card p,.job-card li,.job-meta{font-size:var(--type-copy)!important;line-height:1.5!important}
}

/* Unified popup outlines on all pages 20260923 */
dialog,
dialog[open],
dialog:focus,
dialog:focus-visible,
dialog:focus-within,
.test-drive-dialog,
.test-drive-dialog[open],
.test-drive-dialog:focus,
.test-drive-dialog:focus-visible,
.test-drive-dialog:focus-within,
.device-spec-dialog,
.device-spec-dialog[open],
.device-spec-dialog:focus,
.device-spec-dialog:focus-visible,
.device-spec-dialog:focus-within{border:1px dashed var(--green,#446b47)!important;outline:0!important;box-shadow:none!important}
.test-drive-dialog{border:0!important}
.test-drive-dialog .test-drive-content{border:0!important;outline:0!important;box-shadow:none!important;border-radius:20px!important}
.test-drive-dialog .test-drive-content>.sparse-block-border,
.test-drive-dialog .test-drive-content>svg.sparse-block-border{display:none!important;visibility:hidden!important;opacity:0!important}
.device-spec-dialog{border:0!important}
.device-spec-dialog>.sparse-block-border,
.device-spec-dialog>svg.sparse-block-border{display:block!important;visibility:visible!important;opacity:1!important;color:var(--green,#446b47)!important;--block-stroke:1px!important;--block-dash:14px!important;--block-dash-gap:12px!important}
.device-spec-dialog>.sparse-block-border rect,
.device-spec-dialog>svg.sparse-block-border rect{display:block!important;visibility:visible!important;opacity:1!important;stroke:currentColor!important}
.dialog-close,
.test-drive-close,
.device-spec-close{position:absolute;outline:0!important;box-shadow:none!important;border:0!important;background:#446b4714!important;overflow:visible!important}
.dialog-close::before,
.test-drive-close::before,
.device-spec-close::before{content:"";position:absolute;inset:-4px;border-radius:14px;padding:2px;background:linear-gradient(135deg,#ffeb70 0%,#9aff16 48%,#446b47 100%);opacity:0;pointer-events:none;transition:opacity 160ms ease-out;z-index:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.dialog-close>*,
.test-drive-close>*,
.device-spec-close>*{position:relative;z-index:1}
.dialog-close:active::before,
.dialog-close:focus-visible::before,
.dialog-close.is-tap-animating::before,
.test-drive-close:active::before,
.test-drive-close:focus-visible::before,
.test-drive-close.is-tap-animating::before,
.device-spec-close:active::before,
.device-spec-close:focus-visible::before,
.device-spec-close.is-tap-animating::before{opacity:1}

/* test-drive-popup-frame-purged-20260924-1: no frame around Kasper test-drive popup */
html.shared-ui body #test-drive-dialog,
html.shared-ui body #test-drive-dialog[open],
html.shared-ui body #test-drive-dialog:focus,
html.shared-ui body #test-drive-dialog:focus-visible,
html.shared-ui body #test-drive-dialog:focus-within,
html.shared-ui body dialog#test-drive-dialog.test-drive-dialog,
html.shared-ui body dialog#test-drive-dialog.test-drive-dialog[open] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

html.shared-ui body #test-drive-dialog::before,
html.shared-ui body #test-drive-dialog::after,
html.shared-ui body #test-drive-dialog[open]::before,
html.shared-ui body #test-drive-dialog[open]::after,
html.shared-ui body dialog#test-drive-dialog.test-drive-dialog::before,
html.shared-ui body dialog#test-drive-dialog.test-drive-dialog::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: none !important;
  background-image: none !important;
}

html.shared-ui body #test-drive-dialog > .sparse-block-border,
html.shared-ui body #test-drive-dialog > svg.sparse-block-border,
html.shared-ui body #test-drive-dialog > .ui-press-ring,
html.shared-ui body #test-drive-dialog[open] > .sparse-block-border,
html.shared-ui body #test-drive-dialog[open] > svg.sparse-block-border,
html.shared-ui body #test-drive-dialog[open] > .ui-press-ring {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

html.shared-ui body #test-drive-dialog > .test-drive-content,
html.shared-ui body #test-drive-dialog[open] > .test-drive-content,
html.shared-ui body #test-drive-dialog > .test-drive-content:is(:hover,:active,:focus,:focus-visible,:focus-within),
html.shared-ui body #test-drive-dialog[open] > .test-drive-content:is(:hover,:active,:focus,:focus-visible,:focus-within) {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

html.shared-ui body #test-drive-dialog > .test-drive-content::before,
html.shared-ui body #test-drive-dialog > .test-drive-content::after,
html.shared-ui body #test-drive-dialog[open] > .test-drive-content::before,
html.shared-ui body #test-drive-dialog[open] > .test-drive-content::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* test-drive-close-gradient-off-20260924-1: no gradient press frame in test-drive popup */
html.shared-ui body #test-drive-dialog .test-drive-close,
html.shared-ui body #test-drive-dialog .device-spec-close.test-drive-close {
  position: relative !important;
  isolation: isolate !important;
}

html.shared-ui body #test-drive-dialog .test-drive-close::before,
html.shared-ui body #test-drive-dialog .test-drive-close::after,
html.shared-ui body #test-drive-dialog .device-spec-close.test-drive-close::before,
html.shared-ui body #test-drive-dialog .device-spec-close.test-drive-close::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: none !important;
  background-image: none !important;
}

html.shared-ui body #test-drive-dialog .test-drive-close > .ui-press-ring,
html.shared-ui body #test-drive-dialog .device-spec-close.test-drive-close > .ui-press-ring {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
}

/* all-popup-close-gradients-off-20260924-1: remove gradient press frames from every popup close button */

html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close)::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close)::after,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close):active::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close):active::after,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close):focus::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close):focus::after,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close):focus-visible::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close):focus-visible::after,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close).ui-tap::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close).ui-tap::after,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close).ui-press-on::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close).ui-press-on::after,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close).is-tap-animating::before,
html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close).is-tap-animating::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: none !important;
  background-image: none !important;
}

html.shared-ui body dialog :is(.dialog-close,.device-spec-close,.test-drive-close) > .ui-press-ring {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: none !important;
  background-image: none !important;
}

/* device-spec-close-position-fix-20260924-1: keep device spec close button in top-right corner */
html.shared-ui body .device-spec-dialog .device-spec-close {
  position: absolute !important;
  top: 32px !important;
  right: 32px !important;
  left: auto !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  html.shared-ui body .device-spec-dialog .device-spec-close {
    top: 16px !important;
    right: 16px !important;
  }
}

/* device-spec-focus-border-off-20260924-1: prevent small focus border flicker on device spec popup */
html.shared-ui body .device-spec-dialog,
html.shared-ui body .device-spec-dialog[open],
html.shared-ui body .device-spec-dialog:focus,
html.shared-ui body .device-spec-dialog:focus-visible,
html.shared-ui body .device-spec-dialog:focus-within,
html.shared-ui body dialog.device-spec-dialog,
html.shared-ui body dialog.device-spec-dialog[open],
html.shared-ui body dialog.device-spec-dialog:focus,
html.shared-ui body dialog.device-spec-dialog:focus-visible,
html.shared-ui body dialog.device-spec-dialog:focus-within {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

