
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/manrope-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/manrope-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/manrope-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/manrope-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../assets/manrope-4.ttf) format('truetype');
}

    /* BRAND TOKENS — change these to adjust the entire homepage. */
    :root {
      --green: var(--wp--preset--color--enosis-green, #005132);
      --green-dark: var(--wp--preset--color--green-dark, #003d29);
      --ink: var(--wp--preset--color--ink, #14392c);
      --lime: var(--wp--preset--color--lime, #d3ee93);
      --mint: var(--wp--preset--color--mint, #edf5ef);
      --paper: var(--wp--preset--color--paper, #ffffff);
      --muted: var(--wp--preset--color--muted, #58695f);
      --line: var(--wp--preset--color--line, #dce5de);
      --font: var(--wp--preset--font-family--manrope, 'Manrope', sans-serif);
      --radius: 22px;
      --container: 1280px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 112px; }
    body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
    body.menu-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { cursor: pointer; }
    img { max-width: 100%; display: block; }
    svg { flex: none; }
    h1, h2, h3, p { margin: 0; }
    h1, h2, h3 { font-weight: 650; }
    a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #538323; outline-offset: 5px; border-radius: 4px; }
    .on-dark a:focus-visible, .on-dark button:focus-visible, .on-dark summary:focus-visible { outline-color: var(--lime); }
    .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; left: 16px; top: -100px; padding: 12px 20px; background: var(--lime); z-index: 100; color: var(--green); border-radius: 8px; }
    .skip-link:focus { top: 16px; }
    .container { width: min(var(--container), calc(100% - 112px)); margin-inline: auto; }
    .eyebrow { font-size: .8125rem; font-weight: 750; letter-spacing: .135em; text-transform: uppercase; line-height: 1.5; }
    .section-heading { font-size: clamp(2.3rem, 3.7vw, 3.5rem); line-height: 1.12; letter-spacing: -.047em; }
    .section-heading .soft { color: #6b8c78; }
    .arrow { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
    .link-arrow { display: inline-flex; align-items: center; gap: 12px; font-size: .9375rem; font-weight: 700; }
    .link-arrow .arrow { transition: transform .22s ease; }
    .link-arrow:hover .arrow { transform: translateX(4px); }
    .link-arrow .label { border-bottom: 1px solid transparent; }
    .link-arrow:hover .label { border-bottom-color: currentColor; }
    .button { min-height: 54px; max-width: 100%; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 14px 24px; border-radius: 100px; border: 1px solid transparent; font-weight: 750; font-size: .9375rem; transition: background .2s ease, color .2s ease, transform .2s ease; }
    .button:hover { transform: translateY(-2px); }
    .button-lime { background: var(--lime); color: var(--green-dark); }
    .button-lime:hover { background: #e0f5b1; }
    .button-green { background: var(--green); color: white; }
    .button-green:hover { background: var(--green-dark); }
    .button-outline { border-color: #a8beb0; }
    .button-outline:hover { background: var(--mint); }
    .round-arrow { width: 47px; height: 47px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; transition: color .22s, background .22s, transform .22s; }
    .round-arrow .arrow { width: 20px; height: 20px; }
    .utility { height: 35px; background: var(--green); color: white; font-size: .75rem; }
    .utility-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
    .utility-message { letter-spacing: .05em; }
    .utility-links { display: flex; align-items: center; gap: 24px; }
    .utility-links a { min-height: 32px; display: inline-flex; align-items: center; gap: 7px; }
    .utility-links a:hover { color: var(--lime); }
    .utility-links .arrow { height: 13px; width: 13px; }
    .site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.97); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
    .site-header.scrolled { border-bottom-color: var(--line); box-shadow: 0 4px 28px #003d2907; }
    .header-inner { height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
    .brand-home { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
    .brand-home img { width: 58px; height: 58px; object-fit: contain; }
    .brand-wordmark { font-size: 1.35rem; letter-spacing: .045em; line-height: 1.1; font-weight: 800; }
    .brand-wordmark small { display: block; font-size: .625rem; letter-spacing: .39em; font-weight: 650; margin-top: 7px; }
    .desktop-nav { display: flex; gap: clamp(22px, 2.5vw, 38px); margin-left: auto; align-items: center; }
    .desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; font-weight: 650; position: relative; }
    .desktop-nav a::after { content: ''; position: absolute; bottom: 3px; left: 0; right: 0; height: 2px; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform .22s; }
    .desktop-nav a:hover::after, .desktop-nav a[aria-current="location"]::after { transform: scaleX(1); }
    .header-contact { min-height: 45px; font-size: .8125rem; padding: 10px 18px; margin-left: 18px; gap: 17px; }
    .menu-button { display: none; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: white; }
    .menu-button svg { width: 22px; height: 22px; stroke: var(--green); stroke-width: 1.5; fill: none; }
    .hero { margin: 0 24px; position: relative; isolation: isolate; background: var(--green); border-radius: var(--radius); overflow: hidden; color: white; display: grid; grid-template-columns: 47% 53%; min-height: 610px; }
    .hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; padding: 66px max(34px, calc((100vw - 1280px) / 2 - 24px)); padding-right: 24px; }
    .hero .eyebrow { display: flex; align-items: center; gap: 12px; color: #d5e5d9; }
    .hero .eyebrow::before { content: ''; width: 30px; height: 1px; background: var(--lime); }
    h1 { font-size: clamp(3.9rem, 5.65vw, 5.6rem); line-height: 1.03; font-weight: 600; letter-spacing: -.065em; margin-top: 27px; }
    h1 span { display: block; }
    h1 .accent { color: var(--lime); }
    .hero-copy { font-size: 1rem; line-height: 1.75; max-width: 350px; margin-top: 26px; color: #e0e9e0; }
    .hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 30px; }
    .hero-actions .link-arrow { font-size: .875rem; }
    .hero-footer { display: flex; gap: 12px; align-items: center; margin-top: auto; padding-top: 44px; font-size: .75rem; letter-spacing: .01em; color: #d1e1d4; }
    .hero-footer .mini-line { width: 25px; height: 1px; background: #71947d; }
    .hero-media { min-width: 0; min-height: 610px; position: relative; }
    .hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; position: absolute; inset: 0; }
    .hero-media::before { content: ''; position: absolute; z-index: 1; width: 60px; height: 100%; top: 0; left: -1px; background: var(--green); clip-path: ellipse(100% 64% at 0 50%); }
    .hero-caption { position: absolute; bottom: 30px; right: 30px; z-index: 2; width: 231px; padding: 19px 21px; border-radius: 15px; color: var(--green-dark); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); box-shadow: 0 5px 30px #153d2520; }
    .hero-caption small { font-size: .6875rem; letter-spacing: .09em; text-transform: uppercase; display: block; font-weight: 750; margin-bottom: 4px; }
    .hero-caption p { font-size: 1rem; line-height: 1.4; font-weight: 650; letter-spacing: -.015em; }
    .hero-caption-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
    .hero-caption .arrow { width: 18px; height: 18px; }
    .hero-caption:hover .arrow { transform: translate(2px,-2px); }
    .brand-strip { display: flex; align-items: center; gap: 46px; padding-block: 24px; border-bottom: 1px solid var(--line); }
    .brand-strip > p { flex: 0 0 173px; font-size: .8125rem; line-height: 1.6; color: var(--muted); }
    .brand-strip > p strong { color: var(--ink); font-weight: 700; }
    .brand-logos { display: flex; justify-content: space-around; gap: 32px; flex: 1; align-items: center; }
    .brand-logos a { width: 115px; height: 85px; display: grid; place-items: center; transition: transform .25s; }
    .brand-logos a:hover { transform: translateY(-4px); }
    .brand-logos img { width: 110px; height: 85px; object-fit: contain; }
    .section-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 42px; }
    .section-top .eyebrow { margin-bottom: 17px; }
    .section-top > .link-arrow { margin-bottom: 7px; flex-shrink: 0; }
    .brands-section { padding-block: 90px 96px; }
    .brand-grid { display: grid; grid-template-columns: 1.18fr 1fr 1fr; gap: 20px; margin-top: 38px; }
    .universe-card { min-width: 0; border-radius: 18px; overflow: hidden; position: relative; display: flex; flex-direction: column; min-height: 405px; padding: 26px; isolation: isolate; }
    .universe-card.home { background: #eaf1de; }
    .universe-card.body { background: #eaf2f4; }
    .universe-card.family { background: #f5efe9; }
    .card-topline { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 2; }
    .card-number { font-size: .75rem; color: #466252; }
    .category-tag { padding: 5px 11px; font-size: .6875rem; letter-spacing: .06em; font-weight: 700; border: 1px solid #14392c28; border-radius: 30px; text-transform: uppercase; }
    .product-stage { height: 240px; display: flex; justify-content: center; align-items: center; position: relative; margin-inline: -8px; }
    .product-stage::before { content: ''; position: absolute; width: 218px; height: 218px; border-radius: 50%; background: #ffffff65; z-index: -1; }
    .product-stage img { width: 90%; height: 228px; object-fit: contain; mix-blend-mode: multiply; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
    .product-stage.duo img { width: 57%; height: 222px; }
    .product-stage.duo img:first-child { margin-right: -24%; transform: translate(-25px,7px) rotate(-7deg); z-index: 1; }
    .product-stage.duo img:last-child { transform: translate(28px,-5px) rotate(6deg); }
    .universe-card:hover .product-stage > img { transform: translateY(-9px) rotate(-2deg); }
    .universe-card:hover .product-stage.duo img:first-child { transform: translate(-29px,0) rotate(-10deg); }
    .universe-card:hover .product-stage.duo img:last-child { transform: translate(31px,-14px) rotate(8deg); }
    .card-bottom { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
    .card-bottom h3 { font-size: 1.35rem; line-height: 1.28; letter-spacing: -.035em; }
    .card-bottom p { font-size: .8125rem; color: #526158; margin-top: 8px; }
    .card-bottom .round-arrow { width: 42px; height: 42px; flex-shrink: 0; }
    .universe-card:hover .round-arrow { background: var(--green); color: white; transform: rotate(-35deg); }
    .group-section { padding: 14px 0 100px; }
    .group-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 88px; align-items: center; }
    .group-art { background: var(--mint); border-radius: 20px; min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; padding: 32px; overflow: hidden; }
    .group-art > img { width: 262px; height: 262px; object-fit: contain; position: relative; z-index: 1; }
    .group-art::before { content: ''; width: 335px; height: 335px; border: 1px solid #c9ddcf; border-radius: 50%; position: absolute; }
    .group-art::after { content: ''; width: 430px; height: 430px; border: 1px solid #dce8df; border-radius: 50%; position: absolute; }
    .group-art p { font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase; position: absolute; bottom: 26px; z-index: 1; }
    .group-content .eyebrow { margin-bottom: 21px; }
    .group-content > p { max-width: 560px; margin-top: 24px; color: var(--muted); line-height: 1.85; }
    .group-facts { display: grid; grid-template-columns: .9fr 1.1fr; gap: 25px; padding-block: 28px; margin-block: 26px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .fact-number { display: block; font-size: 2.55rem; letter-spacing: -.06em; line-height: 1.1; color: var(--green); }
    .fact-label { display: block; color: var(--muted); font-size: .8125rem; line-height: 1.6; margin-top: 8px; }
    .group-facts > div + div { border-left: 1px solid var(--line); padding-left: 30px; }
    .commitment-section { color: white; background: var(--green-dark); margin: 0 24px; border-radius: var(--radius); padding: 78px 0 76px; position: relative; overflow: hidden; }
    .commitment-inner { width: min(var(--container), calc(100% - 64px)); margin: auto; }
    .commitment-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
    .commitment-intro .eyebrow { color: #c0d5c6; margin-bottom: 25px; }
    .commitment-intro h2 { font-size: clamp(2.5rem, 3.9vw, 3.65rem); line-height: 1.14; letter-spacing: -.045em; }
    .commitment-intro h2 span { color: var(--lime); }
    .commitment-intro > p { color: #c7dace; max-width: 375px; margin-top: 25px; line-height: 1.8; }
    .commitment-intro > .link-arrow { color: var(--lime); margin-top: 31px; }
    .commitment-list { border-top: 1px solid #77968169; }
    .commitment-list details { border-bottom: 1px solid #77968169; padding-block: 23px; }
    .commitment-list summary { list-style: none; display: flex; align-items: center; gap: 22px; cursor: pointer; }
    .commitment-list summary::-webkit-details-marker { display: none; }
    .commitment-list .item-index { font-size: .75rem; color: #b5cdbb; padding-top: 2px; }
    .commitment-list .item-title { font-size: 1.24rem; letter-spacing: -.025em; font-weight: 650; line-height: 1.35; flex: 1; }
    .expand-icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #77968188; border-radius: 50%; }
    .expand-icon svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 1.5; fill: none; transition: transform .25s; }
    details[open] .expand-icon { background: var(--lime); color: var(--green-dark); border-color: var(--lime); }
    details[open] .expand-icon svg { transform: rotate(45deg); }
    .commitment-detail { padding: 14px 45px 3px 37px; color: #c7dace; font-size: .9375rem; line-height: 1.8; }
    .commitment-detail a { display: inline-block; color: var(--lime); border-bottom: 1px solid #d3ee9355; font-size: .875rem; margin-top: 13px; padding-block: 3px; }
    .commitment-detail a:hover { border-color: var(--lime); }
    .commitment-baseline { display: flex; align-items: center; gap: 15px; border-top: 1px solid #77968155; padding-top: 23px; margin-top: 44px; color: #bfd3c5; font-size: .8125rem; }
    .commitment-baseline svg { width: 22px; height: 22px; stroke: var(--lime); stroke-width: 1.4; fill: none; }
    .stories-section { padding-block: 96px; }
    .stories-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 24px; margin-top: 36px; }
    .story-main { position: relative; min-height: 420px; overflow: hidden; border-radius: 18px; background: #e8efe9; display: flex; flex-direction: column; }
    .story-main img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
    .story-main::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #002b20ef 0%, #002b2078 42%, #002b2000 72%); }
    .story-main:hover img { transform: scale(1.035); }
    .story-content { color: white; position: relative; z-index: 1; margin-top: auto; padding: 32px; }
    .story-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: .75rem; margin-bottom: 15px; }
    .story-tag { font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; padding: 5px 10px; border: 1px solid #c0dac88c; border-radius: 30px; }
    .story-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
    .story-title-row h3 { font-size: 1.75rem; line-height: 1.25; letter-spacing: -.035em; max-width: 430px; }
    .story-title-row .round-arrow { flex-shrink: 0; }
    .story-side { background: var(--mint); border-radius: 18px; padding: 29px; display: flex; flex-direction: column; min-width: 0; }
    .story-side .story-meta { color: var(--muted); }
    .story-side .story-tag { border-color: #a3b6a5; }
    .story-side h3 { font-size: 1.7rem; line-height: 1.3; letter-spacing: -.04em; margin-top: 3px; }
    .story-side p { color: var(--muted); font-size: .9375rem; margin-top: 16px; max-width: 300px; }
    .story-side-bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 15px; margin-top: auto; padding-top: 20px; }
    .story-side-visual { width: 126px; height: 126px; object-fit: cover; border-radius: 50%; }
    .story-side:hover .round-arrow { background: var(--green); color: white; }
    .talents-section { padding: 0 0 94px; }
    .talents-panel { border-top: 1px solid var(--line); padding-top: 56px; display: grid; grid-template-columns: 1.07fr .93fr; align-items: center; gap: 70px; }
    .talents-copy .eyebrow { margin-bottom: 17px; }
    .talents-copy h2 { font-size: clamp(2rem, 3.1vw, 3rem); line-height: 1.15; letter-spacing: -.045em; }
    .talents-copy p { color: var(--muted); margin-block: 21px 27px; max-width: 440px; }
    .talents-art { background: #e8f0df; height: 315px; border-radius: 18px; overflow: hidden; position: relative; }
    .talents-art img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.22); }
    .talents-note { position: absolute; bottom: 22px; left: 22px; padding: 11px 17px; background: white; color: var(--green); border-radius: 8px; font-size: .8125rem; font-weight: 750; }
    .partners { padding-block: 26px 34px; background: #f6f8f5; }
    .partners-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
    .partners p { font-size: .8125rem; color: var(--muted); max-width: 150px; }
    .partner-logos { display: flex; justify-content: space-around; flex: 1; gap: 36px; align-items: center; }
    .partner-logos img { width: 125px; height: 68px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .75; }
    .site-footer { background: var(--green); color: white; padding: 57px 0 22px; }
    .footer-top { display: grid; grid-template-columns: 1.45fr .75fr 1fr 1.1fr; gap: 50px; }
    .footer-brand .brand-home img { filter: brightness(0) invert(1); }
    .footer-brand .brand-wordmark { font-size: 1.45rem; }
    .footer-brand > p { color: #cbded0; font-size: .9375rem; margin-top: 24px; max-width: 200px; }
    .footer-title { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 750; margin-bottom: 19px; color: var(--lime); }
    .footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
    .footer-links a { font-size: .8125rem; padding-block: 3px; color: #e1ebe1; }
    .footer-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
    .footer-contact { color: #e1ebe1; font-size: .8125rem; line-height: 1.8; }
    .footer-contact address { font-style: normal; margin-bottom: 15px; }
    .footer-contact > a { display: block; padding-block: 3px; }
    .footer-contact > a:hover { text-decoration: underline; text-underline-offset: 4px; }
    .footer-social { margin-top: 16px; display: inline-flex; font-size: .8125rem; align-items: center; gap: 12px; }
    .footer-social .social-mark { border: 1px solid #85a28e; border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; font-weight: 800; font-family: Arial, sans-serif; }
    .footer-bottom { display: flex; justify-content: space-between; gap: 24px; align-items: center; border-top: 1px solid #749c8166; margin-top: 49px; padding-top: 23px; font-size: .75rem; color: #c3d8c9; }
    .back-to-top { display: inline-flex; align-items: center; gap: 12px; min-height: 35px; }
    .back-to-top svg { width: 16px; height: 16px; transform: rotate(-90deg); }
    .back-to-top:hover { color: white; }
    .mobile-dialog { width: 100%; max-width: none; max-height: 100dvh; height: 100dvh; margin: 0; border: 0; padding: 27px; background: var(--green-dark); color: white; }
    .mobile-dialog::backdrop { background: #003d2977; }
    .mobile-dialog-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; }
    .mobile-dialog .brand-home img { filter: brightness(0) invert(1); }
    .close-menu { width: 46px; height: 46px; border: 1px solid #719d84; border-radius: 50%; background: transparent; color: white; display: grid; place-items: center; }
    .close-menu svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.5; }
    .mobile-links { display: flex; flex-direction: column; }
    .mobile-links a { padding-block: 15px; border-bottom: 1px solid #73978366; font-size: clamp(1.4rem, 5.7vw, 2rem); letter-spacing: -.035em; display: flex; justify-content: space-between; align-items: center; }
    .mobile-links a:hover { color: var(--lime); }
    .mobile-dialog .button { margin-top: 34px; }
    .mobile-dialog-note { font-size: .8125rem; color: #c4d7c9; margin-top: 30px; }
    @keyframes enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
    .hero-content > .eyebrow { animation: enter .6s .08s both; }
    .hero-content > h1 { animation: enter .8s .13s both; }
    .hero-copy, .hero-actions { animation: enter .8s .22s both; }
    .hero-caption { animation: enter .8s .35s both; }
    /* Progressive enhancement: all content remains visible without JavaScript. */
    .reveal.is-visible { animation: enter .65s both; }
    @media (min-width: 1600px) {
      .hero { max-width: 1552px; margin-inline: auto; }
      .hero-content { padding-left: 110px; }
      .commitment-section { max-width: 1552px; margin-inline: auto; }
    }
    @media (max-width: 1150px) {
      .container { width: calc(100% - 72px); }
      .header-inner { gap: 15px; }
      .desktop-nav { gap: 21px; }
      .header-contact { margin-left: 6px; }
      .brand-home { gap: 7px; }
      .brand-wordmark { font-size: 1.18rem; }
      .hero-content { padding-left: 36px; }
      h1 { font-size: 4.05rem; }
      .hero-media, .hero { min-height: 590px; }
      .hero-content { padding-top: 58px; padding-bottom: 43px; }
      .hero-media::before { width: 34px; }
      .brand-strip { gap: 20px; }
      .brand-logos { gap: 15px; }
      .brand-logos a, .brand-logos img { width: 95px; }
      .group-layout { gap: 55px; }
      .commitment-layout { gap: 58px; }
      .universe-card { padding: 22px; }
      .card-bottom h3 { font-size: 1.2rem; }
      .footer-top { gap: 30px; }
    }
    @media (max-width: 940px) {
      .desktop-nav, .header-contact { display: none; }
      .menu-button { display: flex; }
      .header-inner { height: 82px; }
      .hero { grid-template-columns: 48% 52%; }
      h1 { font-size: 3.45rem; }
      .hero-content { padding-left: 29px; padding-top: 44px; padding-right: 17px; }
      .hero-copy { font-size: .9375rem; }
      .hero .eyebrow { font-size: .6875rem; }
      .hero-media, .hero { min-height: 560px; }
      .hero-caption { width: 204px; padding: 15px 17px; right: 20px; bottom: 20px; }
      .hero-caption p { font-size: .9375rem; }
      .brand-strip { flex-direction: column; gap: 10px; padding-block: 25px; }
      .brand-strip > p { flex: auto; }
      .brand-strip br { display: none; }
      .brand-logos { width: 100%; }
      .brand-logos a, .brand-logos img { height: 71px; }
      .brands-section { padding-block: 70px; }
      .section-top { align-items: flex-start; flex-direction: column; gap: 22px; }
      .brand-grid { gap: 14px; grid-template-columns: repeat(3, 1fr); margin-top: 25px; }
      .universe-card { padding: 19px; min-height: 380px; }
      .category-tag { font-size: .625rem; padding: 4px 8px; }
      .product-stage { height: 213px; }
      .product-stage::before { height: 175px; width: 175px; }
      .product-stage img { height: 190px; }
      .product-stage.duo img { height: 177px; width: 61%; }
      .card-bottom { align-items: flex-start; }
      .card-bottom h3 { font-size: 1.1rem; }
      .card-bottom p { font-size: .75rem; }
      .card-bottom .round-arrow { width: 33px; height: 33px; }
      .group-layout { gap: 36px; grid-template-columns: .82fr 1.18fr; }
      .group-art { min-height: 350px; }
      .group-art > img { width: 220px; height: 220px; }
      .group-content > p { font-size: .9375rem; }
      .group-facts { margin-block: 19px; }
      .fact-number { font-size: 2rem; }
      .commitment-section { padding-block: 58px; }
      .commitment-layout { gap: 42px; }
      .commitment-list .item-title { font-size: 1.05rem; }
      .commitment-list summary { gap: 13px; }
      .commitment-detail { padding-left: 28px; padding-right: 0; }
      .stories-section { padding-block: 70px; }
      .stories-grid { grid-template-columns: 1.1fr 1fr; gap: 18px; }
      .story-main { min-height: 390px; }
      .story-content, .story-side { padding: 24px; }
      .story-title-row h3 { font-size: 1.5rem; }
      .story-title-row { gap: 15px; }
      .story-title-row .round-arrow { width: 38px; height: 38px; }
      .story-side h3 { font-size: 1.45rem; }
      .talents-panel { gap: 35px; }
      .talents-art { height: 285px; }
      .partners-inner { flex-direction: column; gap: 16px; }
      .partners p { max-width: none; }
      .partner-logos { width: 100%; }
      .footer-top { grid-template-columns: 1.1fr .85fr .9fr; gap: 30px; }
      .footer-contact-column { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 35px; border-top: 1px solid #749c8166; padding-top: 25px; }
      .footer-contact-column .footer-title { margin-top: 5px; }
      .footer-contact { display: flex; flex-wrap: wrap; gap: 24px; flex: 1; align-items: flex-start; }
      .footer-contact address { margin-bottom: 0; }
    }
    @media (max-width: 680px) {
      html { scroll-padding-top: 86px; }
      .container { width: calc(100% - 40px); }
      .utility { height: 31px; }
      .utility-message { font-size: .625rem; letter-spacing: .015em; }
      .utility-links { gap: 13px; font-size: .6875rem; }
      .utility-links .utility-contact { display: none; }
      .header-inner { height: 73px; }
      .brand-home img { width: 48px; height: 48px; }
      .brand-wordmark { font-size: 1.15rem; }
      .brand-wordmark small { font-size: .55rem; }
      .menu-button { height: 43px; width: 43px; }
      .hero { margin-inline: 12px; grid-template-columns: 1fr; border-radius: 17px; min-height: 0; }
      .hero-content { padding: 34px 26px 31px; }
      .hero .eyebrow { font-size: .6875rem; }
      h1 { font-size: clamp(3.1rem, 11vw, 4.35rem); margin-top: 20px; line-height: 1.03; }
      .hero-copy { font-size: .9375rem; max-width: 380px; margin-top: 22px; }
      .hero-actions { margin-top: 24px; gap: 18px; }
      .hero-actions .button { font-size: .875rem; padding-inline: 21px; min-height: 51px; }
      .hero-footer { display: none; }
      .hero-media { height: 320px; min-height: 0; }
      .hero-photo { object-position: 53% 36%; }
      .hero-media::before { width: 100%; height: 26px; top: -1px; left: 0; clip-path: ellipse(60% 100% at 25% 0); }
      .hero-caption { width: 191px; right: 16px; bottom: 16px; padding: 13px 15px; }
      .hero-caption p { font-size: .875rem; }
      .hero-caption small { font-size: .625rem; }
      .brand-strip { padding-block: 23px 20px; gap: 11px; }
      .brand-strip > p { font-size: .75rem; text-align: center; }
      .brand-logos { flex-wrap: wrap; justify-content: center; gap: 0 13px; }
      .brand-logos a, .brand-logos img { width: 76px; height: 60px; }
      .section-heading { font-size: 2.25rem; }
      .eyebrow { font-size: .6875rem; }
      .brands-section { padding-block: 55px 59px; }
      .section-top { gap: 20px; }
      .section-top .eyebrow { margin-bottom: 14px; }
      .section-top > .link-arrow { margin: 0; font-size: .8125rem; }
      .brand-grid { grid-template-columns: 1fr; gap: 15px; margin-top: 26px; }
      .universe-card { min-height: 362px; padding: 23px; }
      .product-stage { height: 235px; margin-top: -5px; }
      .product-stage::before { height: 220px; width: 220px; }
      .product-stage img { height: 220px; }
      .product-stage.duo img { height: 215px; width: 48%; max-width: 220px; }
      .product-stage.duo img:first-child { margin-right: -23%; }
      .card-bottom h3 { font-size: 1.35rem; }
      .card-bottom p { font-size: .8125rem; }
      .card-bottom .round-arrow { width: 42px; height: 42px; }
      .card-number { font-size: .75rem; }
      .category-tag { font-size: .625rem; padding: 5px 10px; }
      .group-section { padding: 0 0 58px; }
      .group-layout { grid-template-columns: 1fr; gap: 30px; }
      .group-art { min-height: 286px; order: 2; }
      .group-art > img { width: 210px; height: 210px; }
      .group-art::before { width: 270px; height: 270px; }
      .group-art::after { width: 345px; height: 345px; }
      .group-art p { bottom: 18px; font-size: .625rem; }
      .group-content .eyebrow { margin-bottom: 17px; }
      .group-content > p { font-size: 1rem; margin-top: 20px; line-height: 1.75; }
      .group-facts { margin-block: 24px; padding-block: 24px; }
      .fact-number { font-size: 2.5rem; }
      .fact-label { font-size: .8125rem; }
      .group-facts > div + div { padding-left: 25px; }
      .group-content > .link-arrow { font-size: .875rem; }
      .commitment-section { margin-inline: 12px; padding: 43px 0 35px; border-radius: 17px; }
      .commitment-inner { width: calc(100% - 48px); }
      .commitment-layout { grid-template-columns: 1fr; gap: 35px; }
      .commitment-intro .eyebrow { margin-bottom: 18px; }
      .commitment-intro h2 { font-size: 2.4rem; }
      .commitment-intro > p { font-size: .9375rem; margin-top: 20px; }
      .commitment-intro > .link-arrow { font-size: .875rem; margin-top: 21px; }
      .commitment-list .item-title { font-size: 1.125rem; }
      .commitment-list details { padding-block: 21px; }
      .commitment-detail { font-size: .9375rem; }
      .commitment-baseline { font-size: .75rem; margin-top: 28px; align-items: flex-start; gap: 12px; }
      .stories-section { padding-block: 58px; }
      .stories-grid { grid-template-columns: 1fr; margin-top: 27px; gap: 18px; }
      .story-main { min-height: 372px; }
      .story-content { padding: 24px; }
      .story-title-row h3 { font-size: 1.5rem; }
      .story-side { min-height: 345px; }
      .story-side h3 { font-size: 1.65rem; }
      .story-side p { max-width: none; font-size: 1rem; }
      .story-side-visual { width: 107px; height: 107px; }
      .talents-section { padding-bottom: 57px; }
      .talents-panel { grid-template-columns: 1fr; padding-top: 40px; gap: 30px; }
      .talents-copy h2 { font-size: 2.25rem; }
      .talents-copy p { margin-block: 19px 23px; font-size: 1rem; }
      .talents-art { height: 268px; }
      .talents-note { bottom: 18px; left: 18px; }
      .partners { padding-block: 24px; }
      .partner-logos { gap: 12px; flex-wrap: wrap; justify-content: center; }
      .partner-logos img { width: 125px; height: 65px; }
      .site-footer { padding-top: 37px; }
      .footer-top { grid-template-columns: 1fr 1fr; gap: 34px 22px; }
      .footer-brand { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
      .footer-brand > p { margin: 0; font-size: .8125rem; max-width: 128px; }
      .footer-brand .brand-wordmark { font-size: 1.2rem; }
      .footer-brand .brand-home img { width: 48px; }
      .footer-contact-column { display: block; padding-top: 23px; }
      .footer-contact { display: block; font-size: .875rem; }
      .footer-contact address { margin-bottom: 13px; }
      .footer-title { font-size: .6875rem; margin-bottom: 13px; }
      .footer-links a { font-size: .875rem; padding-block: 4px; }
      .footer-bottom { margin-top: 30px; align-items: flex-start; font-size: .6875rem; }
      .footer-bottom > p { max-width: 185px; }
      .back-to-top { font-size: .75rem; gap: 8px; white-space: nowrap; }
    }
    @media (max-width: 360px) {
      .hero-content { padding-inline: 22px; }
      h1 { font-size: 2.85rem; }
      .utility-message { font-size: .5625rem; }
      .brand-logos a, .brand-logos img { width: 70px; }
      .footer-brand { flex-direction: column; align-items: flex-start; }
      .footer-brand > p { max-width: none; }
      .section-heading { font-size: 2rem; }
    }
    /* Keep small labels readable, including on narrow screens. */
    .category-tag, .hero-caption small, .story-tag, .group-art p { font-size: .75rem; }
    @media (max-width: 940px) { .hero .eyebrow { font-size: .75rem; } }
    @media (max-width: 680px) {
      .eyebrow, .utility-message, .footer-title, .footer-bottom { font-size: .75rem; }
      .utility-links { display: none; }
      .utility-inner { justify-content: center; }
      .category-tag { font-size: .75rem; }
      .brand-wordmark small { font-size: .625rem; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation: none !important; transition: none !important; }
    }
    @media print {
      .utility, .site-header, .mobile-dialog, .back-to-top { display: none !important; }
      body { font-size: 11pt; }
      .container { width: 100%; }
      .hero, .commitment-section { margin: 0; }
      .brands-section, .stories-section { padding-block: 35px; }
      .universe-card, .story-main, .story-side, .group-layout { break-inside: avoid; }
      details:not([open]) .commitment-detail { display: block; }
      * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    }
  
    /* FOUR-PAGE NAVIGATION */
    .desktop-nav { gap: clamp(18px, 1.8vw, 28px); }
    .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
    @media (max-width: 1023px) {
      .desktop-nav, .header-contact { display: none; }
      .menu-button { display: flex; }
    }
    

/* CAREERS + CONTACT — shared extension of the ENOSIS homepage. */
[hidden] { display: none !important; }
button:disabled { opacity: .55; cursor: not-allowed; }
select, textarea { font: inherit; }
.breadcrumb { display: flex; gap: 11px; align-items: center; font-size: .8125rem; color: var(--muted); padding-block: 23px; }
.breadcrumb a { padding-block: 5px; }
.breadcrumb a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb span[aria-current] { color: var(--green); font-weight: 700; }
.breadcrumb-separator { color: #94aa9b; }
.page-title { font-size: clamp(3.3rem, 5.4vw, 5.1rem); letter-spacing: -.055em; line-height: 1.07; font-weight: 600; margin: 0; }
.page-title span { display: block; }
.page-title .accent { color: var(--lime); }
.page-lead { color: var(--muted); font-size: 1.0625rem; line-height: 1.8; }
.career-hero { margin-inline: 24px; border-radius: 22px; background: var(--green); color: white; overflow: hidden; }
.career-hero-inner { width: min(1280px, calc(100% - 64px)); margin: auto; display: grid; grid-template-columns: 1.12fr .88fr; gap: 46px; align-items: center; min-height: 530px; padding-block: 53px; }
.career-hero .eyebrow { color: #d3e3d7; margin-bottom: 24px; }
.career-hero .page-lead { color: #dce9df; max-width: 480px; margin-top: 25px; }
.career-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.career-hero-actions .link-arrow { color: #e6eee7; font-size: .875rem; }
.career-art { position: relative; padding: 22px; }
.career-art::before { content: ''; position: absolute; width: 84%; aspect-ratio: 1; top: 4%; left: 14%; border-radius: 50%; background: var(--lime); }
.career-art img { width: 100%; height: auto; position: relative; border-radius: 50%; }
.career-art-caption { position: absolute; left: -10px; bottom: 34px; padding: 18px 24px; background: white; color: var(--green); border-radius: 13px; box-shadow: 0 15px 32px #001c1a22; }
.career-art-caption span { display: block; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 5px; }
.career-art-caption strong { font-size: 1.15rem; font-weight: 700; letter-spacing: -.02em; }
.section-space { padding-block: 79px; }
.values-section { border-bottom: 1px solid var(--line); }
.values-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; }
.values-heading .eyebrow { margin-bottom: 17px; }
.values-heading .page-lead { max-width: 475px; }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 34px; margin-top: 42px; }
.value-card { padding-top: 25px; border-top: 1px solid var(--line); }
.value-card-index { display: block; font-size: .75rem; color: #63816e; margin-bottom: 22px; }
.value-card h3 { font-size: 1.375rem; line-height: 1.3; letter-spacing: -.03em; margin-bottom: 13px; }
.value-card p { color: var(--muted); font-size: 1rem; line-height: 1.8; max-width: 340px; }
.career-fields { padding-bottom: 83px; }
.section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; }
.section-heading-row .eyebrow { margin-bottom: 17px; }
.section-heading-row > p { max-width: 355px; color: var(--muted); }
.discipline-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 32px; }
.discipline { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; min-height: 168px; padding: 27px; border-radius: 14px; border: 1px solid var(--line); background: white; text-align: left; transition: background .2s, border-color .2s, transform .2s; }
.discipline:hover, .discipline.is-selected { border-color: #b9d68c; background: #f1f6e9; transform: translateY(-3px); }
.discipline strong { display: block; font-weight: 700; font-size: 1.0625rem; line-height: 1.5; letter-spacing: -.025em; }
.discipline small { display: block; font-size: .875rem; line-height: 1.6; color: var(--muted); margin-top: 9px; }
.discipline .arrow { width: 19px; margin-top: 3px; }
.field-bottom-note { margin-top: 20px; color: var(--muted); font-size: .875rem; }
.application-band { background: var(--mint); padding-block: 70px; }
.application-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 78px; align-items: start; }
.application-intro { padding-top: 16px; }
.application-intro .eyebrow { margin-bottom: 23px; }
.application-intro h2 { font-size: clamp(2.2rem,3.8vw,3.25rem); letter-spacing: -.05em; line-height: 1.16; }
.application-intro > p { color: var(--muted); margin-top: 23px; line-height: 1.8; max-width: 355px; }
.application-note { border-top: 1px solid #cbddce; padding-top: 25px; margin-top: 33px; }
.application-note h3 { font-size: 1rem; margin-bottom: 8px; }
.application-note p { color: var(--muted); font-size: .9375rem; line-height: 1.8; }
.application-note a { display: inline-flex; align-items: center; gap: 13px; font-size: .875rem; font-weight: 700; margin-top: 14px; }
.application-note a:hover { text-decoration: underline; text-underline-offset: 4px; }
.form-card { background: white; border: 1px solid #e3ebe5; box-shadow: 0 12px 36px #14392c06; border-radius: 19px; padding: 37px; }
.form-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 8px; }
.form-heading h2, .form-heading h3 { font-size: 1.65rem; line-height: 1.25; letter-spacing: -.035em; }
.form-card > p { color: var(--muted); font-size: .875rem; margin-bottom: 26px; }
.form-step { color: #5e7b67; font-size: .75rem; white-space: nowrap; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 17px; }
.form-field { min-width: 0; }
.full-width { grid-column: 1 / -1; }
.form-field > label, .form-field > .field-label, .type-field legend { display: block; font-size: .875rem; font-weight: 700; margin-bottom: 8px; }
.optional { font-size: .75rem; color: var(--muted); font-weight: 500; }
.form-field input, .form-field textarea, .form-field select { display: block; width: 100%; min-height: 49px; border: 1px solid #cddbd1; padding: 12px 14px; background: #fff; color: var(--ink); border-radius: 8px; font-size: 1rem; outline: none; transition: border-color .2s, box-shadow .2s; }
.form-field select { padding-right: 28px; }
.form-field textarea { min-height: 126px; resize: vertical; line-height: 1.6; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #6b7b70; opacity: 1; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: #28774c; box-shadow: 0 0 0 3px #00513212; }
.was-validated input:invalid, .was-validated select:invalid, .was-validated textarea:invalid { border-color: #b13a3a; }
.field-hint { font-size: .75rem; color: #607568; margin-top: 7px; line-height: 1.55; }
.field-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.char-count { font-size: .75rem; color: #607568; white-space: nowrap; margin-top: 7px; }
.type-field { margin: 0; padding: 0; border: 0; }
.type-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.type-choice { position: relative; cursor: pointer; }
.type-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.type-choice span { display: flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid #cddbd1; border-radius: 8px; font-size: .875rem; font-weight: 650; transition: background .2s; }
.type-choice input:checked + span { color: var(--green); background: #edf5e4; border-color: #77a778; box-shadow: inset 0 0 0 1px #77a778; }
.type-choice input:focus-visible + span { outline: 3px solid #538323; outline-offset: 3px; }
.form-actions { margin-top: 26px; }
.form-actions .button { width: 100%; }
.form-actions > p { font-size: .75rem; line-height: 1.65; color: #607568; margin-top: 13px; text-align: center; }
.faq-section { padding-block: 75px 85px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.faq-section .eyebrow { margin-bottom: 18px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); padding-block: 21px; }
.faq-list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 15px; cursor: pointer; font-size: 1rem; font-weight: 700; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .plus { font-size: 1.5rem; line-height: 1; font-weight: 400; width: 20px; text-align: center; transition: transform .2s; }
.faq-list details[open] .plus { transform: rotate(45deg); }
.faq-list details p { color: var(--muted); margin-top: 15px; max-width: 550px; font-size: .9375rem; line-height: 1.8; }
.contact-layout { display: grid; grid-template-columns: .94fr 1.06fr; gap: 78px; padding-block: 24px 76px; align-items: start; }
.contact-intro { padding-top: 11px; }
.contact-intro .eyebrow { margin-bottom: 22px; }
.contact-intro h1 .accent { color: #649472; }
.contact-intro .page-title { font-size: clamp(3.3rem,5vw,4.8rem); }
.contact-intro .page-lead { margin-top: 25px; max-width: 390px; }
.contact-points { margin-top: 32px; }
.contact-point { display: flex; gap: 19px; align-items: flex-start; border-top: 1px solid var(--line); padding-block: 21px; }
.contact-point-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; background: var(--mint); border-radius: 50%; color: var(--green); }
.contact-point-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.contact-point .contact-label { display: block; color: var(--muted); font-size: .8125rem; margin-bottom: 2px; }
.contact-point .contact-value { font-size: 1.0625rem; line-height: 1.55; font-weight: 700; }
.contact-point a.contact-value:hover { text-decoration: underline; text-underline-offset: 5px; }
.contact-point address { font-style: normal; font-size: .9375rem; line-height: 1.7; }
.contact-point .link-arrow { font-size: .8125rem; margin-top: 11px; }
.contact-point .copy-inline { margin-left: auto; width: 36px; height: 36px; display: grid; place-items: center; background: transparent; border: 1px solid var(--line); border-radius: 50%; flex: 0 0 36px; }
.copy-inline:hover { background: var(--mint); }
.copy-inline svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.inline-status { font-size: .75rem; color: #44704f; min-height: 1.5em; }
.contact-form-wrap { background: var(--mint); border: none; padding: 35px; }
.contact-form-wrap .form-card { box-shadow: none; padding: 0; border: none; background: transparent; }
.contact-form-wrap .form-field input, .contact-form-wrap .form-field select, .contact-form-wrap .form-field textarea { border-color: #ccdbce; }
.recruitment-callout { color: white; background: var(--green); border-radius: 18px; display: flex; align-items: center; justify-content: space-between; gap: 34px; padding: 42px 47px; margin-bottom: 76px; }
.recruitment-callout .eyebrow { color: var(--lime); margin-bottom: 10px; }
.recruitment-callout h2 { font-size: clamp(1.7rem,2.5vw,2.2rem); line-height: 1.2; letter-spacing: -.035em; }
.recruitment-callout p:last-child { color: #d2e2d6; margin-top: 12px; font-size: .9375rem; }
.recruitment-callout .button { flex-shrink: 0; }
.contact-social { margin-top: 22px; display: inline-flex; gap: 11px; align-items: center; font-size: .875rem; font-weight: 700; }
.contact-social:hover { text-decoration: underline; text-underline-offset: 4px; }
.contact-social .social-mark { width: 33px; height: 33px; background: var(--green); border-radius: 50%; color: white; display: grid; place-items: center; font-family: Arial,sans-serif; }
.mail-dialog { width: min(680px,calc(100% - 32px)); max-height: min(90dvh,880px); margin: auto; border: 1px solid #d1ded4; border-radius: 20px; padding: 30px; color: var(--ink); background: white; overflow-y: auto; }
.mail-dialog::backdrop { background: #092d22a6; backdrop-filter: blur(5px); }
.mail-dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mail-dialog .close-menu { border-color: var(--line); color: var(--green); width: 42px; height: 42px; flex-shrink: 0; }
.mail-dialog h2 { font-size: 1.8rem; letter-spacing: -.04em; line-height: 1.25; margin-block: 15px 12px; }
.mail-dialog > p { color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.mail-meta { margin-top: 21px; padding: 15px 19px; background: var(--mint); border-radius: 10px 10px 0 0; font-size: .875rem; line-height: 1.7; }
.mail-meta p { display: flex; gap: 12px; }
.mail-meta strong { width: 48px; flex-shrink: 0; }
#mail-subject { overflow-wrap: anywhere; }
.mail-preview { margin: 0; max-height: 230px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: #f6f8f5; padding: 20px; border-top: 1px solid var(--line); border-radius: 0 0 10px 10px; font: .9375rem/1.75 var(--font); }
.mail-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.mail-actions .button { font-size: .875rem; min-height: 48px; }
.mail-status { font-size: .8125rem !important; margin-top: 16px !important; min-height: 1.6em; }
.mail-note { font-size: .8125rem !important; color: #52715b !important; margin-top: 12px !important; }
.mail-preview:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
@media (min-width: 1600px) { .career-hero { max-width: 1552px; margin-inline: auto; } }
@media (max-width: 1150px) {
  .career-hero-inner { gap: 28px; min-height: 485px; }
  .career-hero .page-title { font-size: 4.1rem; }
  .career-hero .page-lead { font-size: 1rem; }
  .career-art-caption { left: 0; }
  .application-layout, .contact-layout, .faq-section { gap: 45px; }
  .contact-form-wrap, .form-card { padding: 28px; }
  .discipline { padding: 22px; }
  .contact-intro .page-title { font-size: 3.8rem; }
}
@media (max-width: 940px) {
  .career-hero-inner { grid-template-columns: 1.1fr .9fr; gap: 10px; padding-block: 42px; }
  .career-hero .page-title { font-size: 3.35rem; }
  .career-art { padding: 16px; }
  .career-art-caption { padding: 14px 17px; bottom: 18px; }
  .career-art-caption strong { font-size: 1rem; }
  .career-art-caption span { font-size: .75rem; }
  .career-hero-actions { gap: 17px; }
  .career-hero-actions .button { padding: 13px 20px; font-size: .875rem; }
  .section-space { padding-block: 60px; }
  .values-heading { gap: 30px; }
  .value-grid { gap: 23px; }
  .value-card h3 { font-size: 1.2rem; }
  .value-card p { font-size: .9375rem; }
  .discipline-grid { grid-template-columns: repeat(2,1fr); }
  .section-heading-row { align-items: flex-start; flex-direction: column; gap: 20px; }
  .section-heading-row > p { max-width: 560px; }
  .application-layout { grid-template-columns: .75fr 1.25fr; gap: 26px; }
  .application-intro h2 { font-size: 2.35rem; }
  .application-intro > p, .application-note p { font-size: .9375rem; }
  .form-grid { column-gap: 13px; }
  .form-card { padding: 25px; }
  .contact-layout { grid-template-columns: 1fr 1.15fr; gap: 27px; }
  .contact-intro .page-title { font-size: 3.1rem; }
  .contact-intro .page-lead { font-size: 1rem; }
  .contact-form-wrap { padding: 25px; }
  .contact-point { gap: 12px; }
  .contact-point-icon { width: 34px; height: 34px; flex-basis: 34px; }
  .contact-point .contact-value { font-size: .9375rem; }
  .contact-point .copy-inline { display: none; }
  .contact-layout .form-grid { grid-template-columns: 1fr; }
  .contact-layout .form-heading h2 { font-size: 1.5rem; }
  .recruitment-callout { padding: 32px; }
  .recruitment-callout .button { padding: 12px 18px; font-size: .875rem; }
}
@media (max-width: 680px) {
  .breadcrumb { padding-block: 16px; font-size: .75rem; }
  .career-hero { margin-inline: 12px; border-radius: 17px; }
  .career-hero-inner { width: calc(100% - 48px); grid-template-columns: 1fr; padding-block: 33px 24px; gap: 25px; }
  .career-hero .page-title { font-size: clamp(2.65rem,10.6vw,3.8rem); }
  .career-hero .eyebrow { margin-bottom: 18px; font-size: .75rem; }
  .career-hero .page-lead { margin-top: 20px; line-height: 1.75; }
  .career-hero-actions { margin-top: 25px; }
  .career-art { max-width: 350px; width: 100%; margin: auto; padding: 16px; }
  .career-art-caption { left: 0; bottom: 24px; }
  .career-art-caption strong { font-size: 1.05rem; }
  .section-space { padding-block: 50px; }
  .values-heading { grid-template-columns: 1fr; gap: 20px; }
  .values-heading .page-lead { font-size: 1rem; }
  .value-grid { grid-template-columns: 1fr; gap: 24px; margin-top: 30px; }
  .value-card { padding-top: 21px; }
  .value-card-index { margin-bottom: 12px; }
  .value-card h3 { font-size: 1.375rem; }
  .value-card p { max-width: none; font-size: 1rem; }
  .career-fields { padding-bottom: 53px; }
  .discipline-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 25px; }
  .discipline { min-height: 126px; padding: 22px; }
  .discipline strong { font-size: 1.1rem; }
  .discipline small { font-size: .9375rem; }
  .application-band { padding-block: 43px; }
  .application-layout { grid-template-columns: 1fr; gap: 30px; }
  .application-intro { padding-top: 0; }
  .application-intro .eyebrow { margin-bottom: 17px; }
  .application-intro h2 { font-size: 2.3rem; }
  .application-intro > p { font-size: 1rem; max-width: none; margin-top: 18px; }
  .application-note { margin-top: 23px; padding-top: 20px; }
  .application-note p { font-size: .9375rem; }
  .form-card { padding: 25px 21px; border-radius: 15px; }
  .form-heading h2, .form-heading h3 { font-size: 1.45rem; }
  .form-heading { gap: 12px; }
  .form-step { font-size: .75rem; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 1rem; }
  .field-bottom { gap: 9px; }
  .field-hint { font-size: .75rem; }
  .form-actions .button { font-size: .875rem; gap: 14px; padding-inline: 15px; }
  .faq-section { grid-template-columns: 1fr; padding-block: 50px 60px; gap: 28px; }
  .faq-section h2 { font-size: 2.2rem; }
  .contact-layout { grid-template-columns: 1fr; gap: 33px; padding-block: 14px 45px; }
  .contact-intro { padding-top: 0; }
  .contact-intro .eyebrow { margin-bottom: 17px; }
  .contact-intro .page-title { font-size: clamp(3.1rem,11.5vw,4rem); }
  .contact-intro .page-lead { margin-top: 20px; max-width: none; }
  .contact-points { margin-top: 25px; }
  .contact-point { gap: 17px; padding-block: 18px; }
  .contact-point-icon { width: 39px; height: 39px; flex-basis: 39px; }
  .contact-point .contact-value { font-size: 1rem; }
  .contact-point .copy-inline { display: grid; }
  .contact-social { margin-top: 10px; }
  .contact-form-wrap { padding: 27px 22px; border-radius: 16px; }
  .contact-form-wrap .form-heading h2 { font-size: 1.6rem; }
  .recruitment-callout { flex-direction: column; align-items: flex-start; padding: 29px 24px; gap: 23px; margin-bottom: 49px; }
  .recruitment-callout h2 { font-size: 1.8rem; }
  .recruitment-callout .button { font-size: .875rem; }
  .mail-dialog { padding: 24px 20px; border-radius: 16px; max-height: 93dvh; }
  .mail-dialog h2 { font-size: 1.55rem; }
  .mail-meta { padding-inline: 14px; }
  .mail-meta p { gap: 9px; }
  .mail-preview { padding: 16px; max-height: 220px; }
  .mail-actions .button { width: 100%; }
}
@media (max-width: 360px) {
  .career-hero-inner { width: calc(100% - 42px); }
  .career-hero .page-title { font-size: 2.55rem; }
  .form-step { display: none; }
  .contact-point .copy-inline { display: none; }
}
@media print {
  .mail-dialog { display: none !important; }
  .career-hero { margin: 0; }
  .form-actions, .copy-inline { display: none; }
  .application-band, .section-space { padding-block: 30px; }
}
/* Three entry points into the Enosis candidate journey. */
.career-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.career-link-card{display:flex;flex-direction:column;align-items:flex-start;padding:36px;border-radius:24px;background:#edf5ef;border:1px solid #dbe7dd;transition:transform .2s,box-shadow .2s}.career-link-card:nth-child(2){background:#f7f8f3}.career-link-card:nth-child(3){background:#005132;color:white;border-color:#005132}.career-link-card h3{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}.career-link-card p{color:#536b5d;line-height:1.8;margin:0 0 32px}.career-link-card .career-link-cta{margin-top:auto;font-weight:700;font-size:.9rem}.career-link-card:nth-child(3) p{color:#e0ece4}.career-link-card:nth-child(3) .value-card-index,.career-link-card:nth-child(3) .career-link-cta{color:#d3ee93}.career-link-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #003d2910}.career-link-card:focus-visible{outline:3px solid #7d9e3b;outline-offset:5px}@media(max-width:800px){.career-links-grid{grid-template-columns:1fr}.career-link-card{padding:28px}.career-link-card h3{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){.career-link-card{transition:none}.career-link-card:hover{transform:none}}
