.oe-site {
  --pink: #ec2f78;
  --ink: #151d2a;
  --muted: #66717e;
  --paper: #fff;
  --soft: #f5f6f8;
  min-height: 100vh;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
}
.oe-site * {
  box-sizing: border-box;
}
.oe-site a {
  text-decoration: none;
  color: inherit;
}
.oe-header {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(24px, 5vw, 72px);
  background: #fff;
  position: relative;
  z-index: 5;
}
.oe-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.oe-brand span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(145deg, #ef3b80, #d91c66);
  color: #fff;
  font-size: 14px;
  letter-spacing: -0.04em;
  box-shadow: 0 8px 20px #ec2f7830;
}
.oe-brand strong {
  font-size: 18px;
}
.oe-header nav,
.oe-footer nav {
  display: flex;
  align-items: center;
  gap: 26px;
  font-size: 14px;
  font-weight: 700;
}
.oe-header nav a:hover,
.oe-footer nav a:hover {
  color: var(--pink);
}
.oe-hero {
  height: min(760px, calc(100vh - 72px));
  min-height: 620px;
  margin: 0 12px;
  position: relative;
  overflow: hidden;
}
.oe-hero > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.oe-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(12, 25, 47, 0.8) 0%,
    rgba(12, 25, 47, 0.48) 47%,
    rgba(12, 25, 47, 0.12) 80%
  );
}
.oe-hero-copy {
  position: absolute;
  left: clamp(36px, 5vw, 70px);
  bottom: clamp(70px, 12vh, 120px);
  max-width: 700px;
  color: #fff;
}
.oe-hero-copy > p,
.oe-section-heading > p,
.oe-about > div > p:first-child,
.oe-contact > div > p:first-child,
.oe-career-hero > p,
.oe-openings header p {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.15em;
}
.oe-hero h1 {
  font-family: Georgia, serif;
  font-size: clamp(52px, 6vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.04em;
  margin: 16px 0;
}
.oe-lead {
  font-size: clamp(17px, 1.5vw, 21px);
  max-width: 680px;
}
.oe-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px 0 34px;
}
.oe-pills a {
  border: 1px solid #ffffff70;
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 14px;
  background: #ffffff0d;
}
.oe-pills a:before {
  content: "✓";
  margin-right: 8px;
}
.oe-primary,
.oe-career-hero > a {
  display: inline-flex;
  background: var(--pink);
  color: #fff;
  font-weight: 800;
  border-radius: 999px;
  padding: 15px 28px;
  transition: 0.2s;
}
.oe-primary:hover,
.oe-career-hero > a:hover {
  transform: translateY(-2px);
  background: #d91c66;
}
.oe-section,
.oe-competence {
  padding: 100px clamp(24px, 6vw, 88px);
}
.oe-section-heading {
  max-width: 760px;
  margin-bottom: 48px;
}
.oe-section-heading h2,
.oe-about h2,
.oe-contact h2,
.oe-openings h2 {
  font-family: Georgia, serif;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  margin: 10px 0 16px;
}
.oe-section-heading > span,
.oe-contact > div > span {
  display: block;
  color: var(--muted);
  font-size: 18px;
}
.oe-offers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.oe-offer {
  border: 1px solid #dfe3e8;
  background: #fff;
  overflow: hidden;
  transition: 0.2s;
}
.oe-offer:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px #1a294016;
}
.oe-offer img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.oe-offer div {
  padding: 28px;
}
.oe-offer h3,
.oe-feature-grid h3 {
  font-family: Georgia, serif;
  font-size: 27px;
  margin: 0 0 12px;
}
.oe-offer p,
.oe-feature-grid p {
  color: var(--muted);
  margin: 0 0 18px;
}
.oe-offer span {
  font-weight: 800;
  color: var(--pink);
}
.oe-competence {
  background: var(--ink);
  color: #fff;
}
.oe-competence .oe-section-heading span,
.oe-competence .oe-feature-grid p {
  color: #bbc3cd;
}
.oe-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #ffffff35;
}
.oe-feature-grid a {
  padding: 34px 30px 18px 0;
  border-right: 1px solid #ffffff20;
}
.oe-feature-grid a + a {
  padding-left: 30px;
}
.oe-feature-grid a:last-child {
  border: 0;
}
.oe-feature-grid b {
  color: var(--pink);
  font-size: 13px;
}
.oe-feature-grid a:hover h3 {
  color: #ff6ca5;
}
.oe-about {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 660px;
}
.oe-about > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.oe-about > div {
  padding: clamp(50px, 8vw, 120px);
  align-self: center;
}
.oe-about > div > p:not(:first-child) {
  font-size: 17px;
  color: var(--muted);
}
.oe-about > div > a {
  display: inline-block;
  margin-top: 14px;
  color: var(--pink);
  font-weight: 800;
}
.oe-contact {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 70px;
  padding: 100px clamp(24px, 6vw, 88px);
  background: var(--soft);
}
.oe-contact > div > a {
  display: block;
  margin-top: 28px;
  color: var(--pink);
  font-weight: 800;
}
.oe-contact form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  background: #fff;
  padding: 34px;
  box-shadow: 0 18px 55px #1d2b3d12;
}
.oe-contact label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
}
.oe-contact .wide {
  grid-column: 1/-1;
}
.oe-contact input,
.oe-contact select,
.oe-contact textarea {
  width: 100%;
  border: 1px solid #cad1d9;
  border-radius: 4px;
  padding: 13px;
  font: inherit;
  background: #fff;
}
.oe-contact button,
.oe-success button {
  border: 0;
  background: var(--pink);
  color: #fff;
  font-weight: 800;
  padding: 14px 24px;
  cursor: pointer;
}
.oe-success {
  background: #fff;
  padding: 42px;
  align-self: start;
  border-top: 4px solid var(--pink);
}
.oe-success strong {
  font-family: Georgia, serif;
  font-size: 30px;
}
.oe-footer {
  padding: 42px clamp(24px, 6vw, 88px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  border-top: 1px solid #e2e5e8;
}
.oe-footer p {
  grid-column: 1/-1;
  color: var(--muted);
  font-size: 13px;
}
.oe-cookie {
  position: fixed;
  z-index: 20;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  box-shadow: 0 -8px 30px #0d182420;
  padding: 18px clamp(24px, 5vw, 70px);
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
}
.oe-cookie p {
  margin: 3px 0;
  color: var(--muted);
  font-size: 13px;
}
.oe-cookie button {
  padding: 11px 22px;
  border: 1px solid var(--ink);
  background: #fff;
  font-weight: 700;
  cursor: pointer;
}
.oe-cookie .accept {
  background: var(--ink);
  color: #fff;
}
.oe-careers {
  min-height: 100vh;
  background: #f7f8fa;
}
.oe-career-nav {
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(24px, 6vw, 90px);
  background: #fff;
}
.oe-career-nav p {
  font-weight: 800;
}
.oe-career-hero {
  padding: clamp(70px, 10vw, 140px) clamp(24px, 8vw, 120px);
  background: var(--ink);
  color: #fff;
}
.oe-career-hero h1 {
  font-family: Georgia, serif;
  font-size: clamp(52px, 7vw, 96px);
  line-height: 0.96;
  max-width: 900px;
  letter-spacing: -0.045em;
  margin: 18px 0 28px;
}
.oe-career-hero > span {
  display: block;
  max-width: 760px;
  font-size: 19px;
  color: #cbd2da;
  margin-bottom: 32px;
}
.oe-openings {
  padding: 90px clamp(24px, 8vw, 120px);
}
.oe-openings > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  border-bottom: 1px solid #cfd5dc;
  padding-bottom: 24px;
}
.oe-openings header span {
  color: var(--muted);
}
.oe-filters {
  display: flex;
  gap: 10px;
  padding: 28px 0;
}
.oe-filters button {
  border: 1px solid #bdc5ce;
  background: #fff;
  border-radius: 999px;
  padding: 10px 17px;
  font-weight: 700;
  cursor: pointer;
}
.oe-filters button.active {
  background: var(--pink);
  border-color: var(--pink);
  color: #fff;
}
.oe-jobs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.oe-jobs article {
  background: #fff;
  border: 1px solid #dce1e6;
  padding: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.oe-jobs small {
  color: var(--pink);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.oe-jobs h3 {
  font-family: Georgia, serif;
  font-size: 26px;
  margin: 8px 0;
}
.oe-jobs p {
  color: var(--muted);
  margin: 0;
}
.oe-jobs a {
  white-space: nowrap;
  font-weight: 800;
  border-bottom: 2px solid var(--pink);
}
.oe-application-note {
  color: var(--muted);
  text-align: center;
  margin-top: 30px;
}
.oe-careers footer {
  padding: 32px clamp(24px, 8vw, 120px);
  background: var(--ink);
  color: #fff;
  display: flex;
  justify-content: space-between;
}
.oe-careers footer a {
  font-weight: 800;
}
@media (max-width: 850px) {
  .oe-header nav {
    display: none;
  }
  .oe-hero {
    margin: 0;
    min-height: 680px;
  }
  .oe-hero-copy {
    left: 24px;
    right: 24px;
  }
  .oe-offers,
  .oe-feature-grid,
  .oe-contact,
  .oe-about {
    grid-template-columns: 1fr;
  }
  .oe-feature-grid a,
  .oe-feature-grid a + a {
    padding: 28px 0;
    border-right: 0;
    border-bottom: 1px solid #ffffff20;
  }
  .oe-about > img {
    height: 460px;
  }
  .oe-contact {
    gap: 34px;
  }
  .oe-jobs {
    grid-template-columns: 1fr;
  }
  .oe-cookie {
    grid-template-columns: 1fr 1fr;
  }
  .oe-cookie div {
    grid-column: 1/-1;
  }
  .oe-footer {
    grid-template-columns: 1fr;
  }
  .oe-footer nav {
    flex-wrap: wrap;
  }
  .oe-openings > header {
    align-items: start;
    flex-direction: column;
  }
  .oe-careers footer {
    flex-direction: column;
    gap: 10px;
  }
}
@media (max-width: 520px) {
  .oe-hero h1 {
    font-size: 48px;
  }
  .oe-pills {
    display: none;
  }
  .oe-section,
  .oe-competence,
  .oe-contact,
  .oe-openings {
    padding: 68px 20px;
  }
  .oe-contact form {
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .oe-contact .wide {
    grid-column: auto;
  }
  .oe-jobs article {
    align-items: flex-start;
    flex-direction: column;
  }
  .oe-cookie button {
    width: 100%;
  }
}
.oe-education {
  --pink: #ec2f78;
  --soft: #fff6ec;
  background: #fffaf4;
}
.oe-education .oe-header,
.oe-education .oe-footer {
  background: #fffaf4;
}
.oe-education .oe-hero-shade {
  background: linear-gradient(
    90deg,
    rgba(48, 31, 29, 0.76) 0%,
    rgba(55, 38, 32, 0.43) 48%,
    rgba(76, 48, 34, 0.08) 82%
  );
}
.oe-education .oe-hero > img,
.oe-education .oe-offer img,
.oe-education .oe-about > img {
  filter: saturate(1.12) contrast(1.02) sepia(0.05);
}
.oe-education .oe-section {
  background: #fffaf4;
}
.oe-education .oe-offer {
  border-color: #ead8c7;
}
.oe-education .oe-competence {
  background: #3a2b2a;
}
.oe-education .oe-contact {
  background: #fff0df;
}
.oe-education .oe-brand span {
  background: linear-gradient(145deg, #ef3b80, #d91c66);
  box-shadow: 0 8px 20px #ec2f7830;
}

/* The care homepage shares the warm Nordic palette of the education pages. */
.oe-site:not(.oe-education) {
  --soft: #fff6ec;
  background: #fffaf4;
}
.oe-site:not(.oe-education) .oe-header,
.oe-site:not(.oe-education) .oe-footer,
.oe-site:not(.oe-education) .oe-section {
  background: #fffaf4;
}
.oe-site:not(.oe-education) .oe-hero-shade {
  background: linear-gradient(
    90deg,
    rgba(42, 30, 30, 0.78) 0%,
    rgba(50, 36, 31, 0.44) 48%,
    rgba(72, 44, 29, 0.06) 82%
  );
}
.oe-site:not(.oe-education) .oe-hero > img,
.oe-site:not(.oe-education) .oe-offer img,
.oe-site:not(.oe-education) .oe-about > img {
  filter: saturate(1.1) contrast(1.02) sepia(0.05);
}
.oe-site:not(.oe-education) .oe-offer {
  border-color: #ead8c7;
}
.oe-site:not(.oe-education) .oe-competence {
  background: #3a2b2a;
}
.oe-site:not(.oe-education) .oe-contact {
  background: #fff0df;
}

html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #ec2f78;outline-offset:5px}.oe-header{position:sticky;top:0;box-shadow:0 1px 0 #19191912}.oe-brand strong{font-size:23px}.oe-brand strong em{color:#ec2f78;font-style:normal}.oe-header nav .nav-contact{background:#ec2f78;color:#fff;padding:11px 18px;border-radius:999px}.oe-hero{height:720px;min-height:590px}.oe-hero-copy{bottom:90px}.oe-site:not(.oe-education) .oe-hero-shade{background:linear-gradient(90deg,rgba(12,25,47,.82),rgba(12,25,47,.45) 60%,rgba(12,25,47,.1))}.oe-site:not(.oe-education) .oe-hero>img{filter:none}.oe-contact aside{padding:36px;background:white;border-top:4px solid #ec2f78}.oe-contact aside h3{font:32px Georgia,serif;margin:0 0 20px}.oe-contact aside p{color:#66717e}.oe-contact aside a{display:inline-block;margin-top:16px}.contact-secondary{display:block;margin-top:20px}.menu-toggle{display:none}.mobile-nav{display:none}.oe-footer small{color:#66717e}.oe-offer img{display:block}.service-context{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin-top:28px;color:#66717e}.service-context span{border-left:2px solid #ec2f78;padding-left:10px}.contact-detail{font-size:18px!important;overflow-wrap:anywhere}.oe-brand{white-space:nowrap}.oe-footer nav{flex-wrap:wrap}.oe-contact>div>a{overflow-wrap:anywhere}
@media(max-width:850px){.menu-toggle{display:block;background:transparent;border:1px solid #d8c9bf;border-radius:6px;padding:9px 13px;font-weight:700}.mobile-nav.open{display:flex;position:fixed;top:72px;left:0;right:0;z-index:10;background:#fffaf4;padding:22px;gap:22px;flex-direction:column;box-shadow:0 10px 20px #0001}.mobile-nav a{font-weight:700}.oe-hero{min-height:650px;height:calc(100svh - 72px);max-height:850px}.oe-hero-copy{bottom:55px}.oe-brand strong{font-size:21px}.oe-about>div{padding:48px 24px}.oe-contact aside{padding:28px}.oe-pills{gap:8px}.oe-pills a{font-size:12px;padding:7px 10px}}
@media(max-width:520px){.oe-hero h1{font-size:clamp(42px,12vw,56px)}.oe-lead{font-size:17px}.oe-hero-copy{bottom:45px}.oe-hero{min-height:620px}.oe-header{padding:0 20px}.oe-contact aside h3{font-size:28px}.oe-footer nav{gap:18px}.oe-brand span{width:36px;height:36px}.oe-section-heading h2,.oe-contact h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.oe-hero-copy > .oe-primary { margin-top: 16px; }

.oe-brand span { display: grid; place-items: center; line-height: 1; letter-spacing: 0; padding: 0; text-align: center; }

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.oe-contact input:focus,.oe-contact select:focus,.oe-contact textarea:focus{outline:2px solid #ec2f78;outline-offset:2px}.oe-contact textarea{resize:vertical;min-height:150px}.oe-contact form{align-self:start}.enquiry-note{font-size:12px;color:#66717e;margin:0;font-weight:400}.enquiry-status{margin:0;font-size:14px;overflow-wrap:anywhere}.enquiry-status:empty{display:none}.enquiry-status.error{color:#a31b3a}.enquiry-status.success{color:#19693c}.oe-contact button:disabled{opacity:.65;cursor:wait}.oe-contact button{border-radius:3px;font-size:15px;min-height:48px}.oe-contact form[aria-busy=true]{opacity:.85}

.oe-hero-copy > p, .oe-hero-copy > h1, .oe-hero-copy > .oe-lead { transform: translateY(-16px); }
