/*
Theme Name: ALCAMI
Theme URI: https://alcamimanpowerltd.com
Author: ALCAMI Manpower Limited
Author URI: https://alcamimanpowerltd.com
Description: Full-site-editing block theme rebuilt from the ALCAMI Next.js website.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Version: 1.4.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alcami
Tags: block-patterns, full-site-editing, custom-logo, custom-menu, featured-images, wide-blocks
*/

:root {
  --alcami-navy: #083867;
  --alcami-navy-deep: #05264a;
  --alcami-teal: #03a092;
  --alcami-orange: #fa9010;
  --header-height: 5.25rem;
}

html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; font-size: 17px; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content { margin: 0; }
.wp-block-html { margin: 0; }
.wp-block-template-part { margin: 0; }

/* The block-template wrapper otherwise limits its sticky child to the height
   of the header itself. Keeping the complete wrapper sticky makes the header
   remain visible for the full page. */
.wp-site-blocks > header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 100;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }

/* Keep reading text comfortably large even where the source design used
   compact utility sizes. Headings retain their original responsive scale. */
.wp-block-post-content main :where(p, li, td, dd) { font-size: max(1rem, 17px); }

.alcami-announcement { position: relative; z-index: 80; background: #05264a; color: #fff; }
.alcami-announcement__inner { max-width: 1320px; margin: 0 auto; padding: 10px 52px 10px 20px; text-align: center; font-size: 13px; }
.alcami-announcement__label { color: #fa9010; font-weight: 700; }
.alcami-announcement__link { color: #e8f7f5; font-weight: 700; text-decoration: none; }
.alcami-announcement__dismiss { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: rgba(255,255,255,.7); font-size: 22px; cursor: pointer; }

.alcami-site-header { position: relative; z-index: 70; border-bottom: 1px solid transparent; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); transition: box-shadow .24s ease, border-color .24s ease; }
.alcami-site-header.is-scrolled { border-color: #e5e8ea; box-shadow: 0 2px 8px rgba(8,56,103,.06); }
.alcami-header-row { display: flex; min-height: 84px; max-width: 1320px; margin: 0 auto; padding: 0 40px; align-items: center; justify-content: space-between; gap: 24px; }
.alcami-logo img { display: block; width: auto; height: 36px; }
.alcami-nav { display: flex; align-items: center; gap: 6px; }
.alcami-nav > a, .alcami-nav summary { display: inline-flex; align-items: center; min-height: 42px; padding: 0 12px; border-radius: 10px; color: #083867; font-size: 14px; font-weight: 650; text-decoration: none; cursor: pointer; list-style: none; }
.alcami-nav summary::-webkit-details-marker { display: none; }
.alcami-nav > a:hover, .alcami-nav summary:hover { background: #edf4f8; }
.alcami-nav details { position: relative; }
.alcami-nav details[open] summary { background: #edf4f8; }
.alcami-nav__panel { position: absolute; top: calc(100% + 12px); left: 50%; width: min(760px, 90vw); transform: translateX(-50%); padding: 24px; border: 1px solid #e5e8ea; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(5,38,74,.2); }
.alcami-nav__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 22px; }
.alcami-nav__grid a { display: block; padding: 10px 12px; border-radius: 10px; color: #083867; font-size: 14px; font-weight: 650; text-decoration: none; }
.alcami-nav__grid a:hover { background: #edf4f8; color: #007e76; }
.alcami-header-actions { display: flex; align-items: center; gap: 8px; }
.alcami-header-phone { color: #083867; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.alcami-header-cta { display: inline-flex; min-height: 44px; padding: 0 20px; align-items: center; border-radius: 16px; background: #083867; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.alcami-header-cta:hover { background: #05264a; }
.alcami-menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: transparent; color: #083867; font-size: 24px; cursor: pointer; }

.alcami-mobile-menu { display: none; padding: 12px 20px 24px; border-top: 1px solid #e5e8ea; background: #fff; }
.alcami-mobile-menu.is-open { display: block; }
.alcami-mobile-menu a { display: block; padding: 12px 4px; border-bottom: 1px solid #edf0f2; color: #083867; font-weight: 650; text-decoration: none; }

.alcami-footer-logo { display: inline-flex; padding: 9px 12px; border-radius: 16px; background: #fff; }
.alcami-footer-logo img { display: block; width: auto; height: 34px; }
.alcami-form-message { margin-top: 12px; font-size: 14px; }
.alcami-form-message.is-success { color: #03a092; }
.alcami-form-message.is-error { color: #dc3c3c; }

/* The Next.js image component begins lazy images at opacity zero. WordPress
   does not run that React transition, so the static equivalent is visible. */
img.opacity-0 { opacity: 1 !important; }

@media (max-width: 1120px) {
  .alcami-nav, .alcami-header-phone { display: none; }
  .alcami-menu-toggle { display: grid; place-items: center; }
}

@media (max-width: 782px) {
  .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
  .alcami-header-row { min-height: 72px; padding: 0 20px; }
  .alcami-logo img { height: 32px; }
}

@media (max-width: 575px) {
  .alcami-header-cta { display: none; }
  .alcami-announcement__text { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* -------------------------------------------------------------------------
   Immersive navigation
   ------------------------------------------------------------------------- */
.alcami-site-header { isolation: isolate; box-shadow: 0 1px 0 rgba(8,56,103,.08); }
.alcami-header-row { position: relative; min-height: 82px; max-width: 1440px; padding-inline: clamp(20px,3vw,48px); }
.alcami-logo { flex: 0 0 auto; padding: 8px 0; }
.alcami-logo img { height: 42px; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.alcami-logo:hover img { transform: translateY(-2px) scale(1.025); }
.alcami-skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 12px 18px; border-radius: 10px; background: #05264a; color: #fff; text-decoration: none; transition: top .2s ease; }
.alcami-skip-link:focus { top: 16px; }
.alcami-nav { display: flex; align-items: center; gap: 3px; }
.alcami-mega { position: static; }
.alcami-nav-trigger, .alcami-nav-link { display: inline-flex; min-height: 44px; padding: 0 13px; align-items: center; gap: 6px; border: 0; border-radius: 12px; background: transparent; color: #083867; font: inherit; font-size: 14px; font-weight: 720; letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.alcami-nav-trigger:hover, .alcami-nav-link:hover, .alcami-mega.is-open .alcami-nav-trigger { background: linear-gradient(135deg,#edf8f7,#edf4f8); color: #007e76; transform: translateY(-1px); }
.alcami-chevron { display: inline-block; color: #03a092; font-size: 17px; line-height: 1; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.alcami-mega.is-open .alcami-chevron { transform: rotate(180deg); }
.alcami-mega-panel { position: absolute; left: clamp(20px,3vw,48px); right: clamp(20px,3vw,48px); top: calc(100% + 14px); z-index: 120; padding: 28px; border: 1px solid rgba(8,56,103,.11); border-radius: 24px; background: rgba(255,255,255,.98); box-shadow: 0 30px 80px rgba(5,38,74,.2), 0 8px 24px rgba(5,38,74,.08); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(18px) scale(.985); transform-origin: top center; transition: opacity .42s ease, transform .52s cubic-bezier(.16,1,.3,1), visibility 0s linear .52s; }
.alcami-mega.is-open .alcami-mega-panel, .alcami-mega:focus-within .alcami-mega-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); transition-delay: 0s; }
.alcami-mega-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: inherit; background: radial-gradient(circle at 90% 0,rgba(3,160,146,.11),transparent 34%),radial-gradient(circle at 4% 100%,rgba(250,144,16,.08),transparent 30%); }
.alcami-mega-topline { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid #e8edf0; }
.alcami-kicker { display: block; color: #03a092; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.alcami-mega-topline h2 { margin: 5px 0 0; color: #05264a; font-size: clamp(20px,2vw,29px); line-height: 1.15; letter-spacing: -.03em; }
.alcami-mega-topline > a { color: #007e76; font-size: 14px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.alcami-mega-layout { display: grid; grid-template-columns: minmax(0,1.9fr) minmax(260px,.72fr); gap: 24px; padding-top: 22px; }
.alcami-mega-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.alcami-mega-card { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; align-items: center; gap: 12px; min-height: 78px; padding: 12px; border: 1px solid transparent; border-radius: 16px; color: #083867; text-decoration: none; opacity: 0; transform: translateY(10px); transition: opacity .35s ease, transform .38s cubic-bezier(.16,1,.3,1), background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.alcami-mega.is-open .alcami-mega-card, .alcami-mega:focus-within .alcami-mega-card { opacity: 1; transform: translateY(0); }
.alcami-mega.is-open .alcami-mega-card:nth-child(2) { transition-delay: .035s; }.alcami-mega.is-open .alcami-mega-card:nth-child(3) { transition-delay: .07s; }.alcami-mega.is-open .alcami-mega-card:nth-child(4) { transition-delay: .105s; }.alcami-mega.is-open .alcami-mega-card:nth-child(5) { transition-delay: .14s; }.alcami-mega.is-open .alcami-mega-card:nth-child(6) { transition-delay: .175s; }.alcami-mega.is-open .alcami-mega-card:nth-child(7) { transition-delay: .21s; }.alcami-mega.is-open .alcami-mega-card:nth-child(8) { transition-delay: .245s; }
.alcami-mega-card:hover { border-color: rgba(3,160,146,.22); background: #f2fbfa; box-shadow: 0 12px 28px rgba(5,38,74,.07); }
.alcami-menu-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: linear-gradient(135deg,#e1f7f4,#eaf1f7); color: #007e76; font-size: 11px; font-weight: 850; transition: color .3s ease, background .3s ease, transform .35s ease; }
.alcami-mega-card:hover .alcami-menu-icon { background: linear-gradient(135deg,#03a092,#087f78); color: #fff; transform: rotate(-4deg) scale(1.06); }
.alcami-mega-card strong, .alcami-mega-card small { display: block; }
.alcami-mega-card strong { font-size: 14px; line-height: 1.25; }
.alcami-mega-card small { margin-top: 4px; color: #65717c; font-size: 12px; line-height: 1.35; }
.alcami-mega-card b { color: #03a092; font-size: 16px; transition: transform .3s ease; }
.alcami-mega-card:hover b { transform: translate(2px,-2px); }
.alcami-mega-feature { position: relative; display: flex; min-height: 100%; overflow: hidden; align-items: end; border-radius: 19px; color: #fff; text-decoration: none; transform: translateZ(0); }
.alcami-mega-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.alcami-mega-feature:hover img { transform: scale(1.075); }
.alcami-mega-feature__shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(5,38,74,.05),rgba(5,38,74,.94)); }
.alcami-mega-feature__content { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px; }
.alcami-mega-feature__content small { color: #7ee0d8; font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.alcami-mega-feature__content strong { font-size: 19px; line-height: 1.2; }
.alcami-mega-feature__content > span { color: rgba(255,255,255,.75); font-size: 12px; line-height: 1.5; }
.alcami-mega-feature__content b { margin-top: 3px; color: #fff; font-size: 13px; }
.alcami-model-row { display: flex; margin: 22px -28px -28px; padding: 16px 28px; align-items: center; gap: 10px; border-radius: 0 0 24px 24px; background: #f6f9fa; }
.alcami-model-row span { margin-right: 4px; color: #65717c; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.alcami-model-row a { padding: 7px 12px; border: 1px solid #dce5e9; border-radius: 999px; color: #083867; font-size: 12px; font-weight: 700; text-decoration: none; transition: .25s ease; }
.alcami-model-row a:hover { border-color: #03a092; background: #fff; color: #007e76; }
.alcami-industry-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.alcami-industry-grid a { display: flex; min-height: 112px; padding: 18px; flex-direction: column; justify-content: end; border: 1px solid #e4eaed; border-radius: 17px; background: linear-gradient(145deg,#fff,#f7fafb); color: #083867; text-decoration: none; transition: transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease; }
.alcami-industry-grid a:first-child { grid-row: span 2; min-height: 234px; background: linear-gradient(155deg,#083867,#075e76); color: #fff; }
.alcami-industry-grid a:hover { transform: translateY(-4px); border-color: rgba(3,160,146,.35); box-shadow: 0 16px 35px rgba(5,38,74,.1); }
.alcami-industry-grid span { color: #03a092; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.alcami-industry-grid a:first-child span { color: #65d7cd; }
.alcami-industry-grid strong { margin-top: 7px; font-size: 16px; }.alcami-industry-grid small { margin-top: 5px; color: #65717c; font-size: 12px; }.alcami-industry-grid a:first-child small { color: rgba(255,255,255,.68); }
.alcami-mega-panel--small { left: auto; right: clamp(260px,20vw,340px); width: min(600px,calc(100vw - 40px)); padding: 24px; }
.alcami-mini-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.alcami-mini-grid a { padding: 16px; border-radius: 14px; color: #083867; text-decoration: none; transition: background .25s ease,transform .3s ease; }.alcami-mini-grid a:hover { background: #edf8f7; transform: translateY(-2px); }.alcami-mini-grid strong,.alcami-mini-grid small { display: block; }.alcami-mini-grid strong { font-size: 14px; }.alcami-mini-grid small { margin-top: 4px; color: #65717c; font-size: 12px; }
.alcami-header-phone { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; font-size: 13px; line-height: 1.1; }.alcami-header-phone span { color: #7a858f; font-size: 9px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.alcami-header-cta { min-height: 48px; padding: 0 19px; border-radius: 14px; background: linear-gradient(135deg,#083867,#05264a); box-shadow: 0 9px 20px rgba(5,38,74,.16); transition: transform .3s ease,box-shadow .3s ease; }.alcami-header-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(5,38,74,.23); }.alcami-header-cta span { transition: transform .3s ease; }.alcami-header-cta:hover span { transform: translateX(3px); }
.alcami-menu-toggle { position: relative; padding: 10px; }.alcami-menu-toggle span { display: block; width: 22px; height: 2px; margin: 3px 0; border-radius: 2px; background: #083867; transition: transform .3s ease,opacity .2s ease; }.alcami-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }.alcami-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }.alcami-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.alcami-mobile-menu { max-height: 0; overflow: hidden; padding: 0 20px; border: 0; opacity: 0; transition: max-height .6s cubic-bezier(.16,1,.3,1),opacity .3s ease,padding .4s ease; }.alcami-mobile-menu.is-open { display: grid; max-height: 900px; padding: 18px 20px 26px; opacity: 1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; border-top: 1px solid #e6ecef; }.alcami-mobile-menu div > span { display: block; margin-bottom: 7px; color: #03a092; font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }.alcami-mobile-menu a { padding: 9px 0; }.alcami-mobile-cta { grid-column: 1/-1; display: flex!important; padding: 14px 17px!important; justify-content: space-between; border: 0!important; border-radius: 12px; background: #083867; color: #fff!important; }

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.alcami-footer { position: relative; overflow: hidden; background: #052b52; color: #fff; }.alcami-footer::before { content:""; position:absolute; right:-180px; bottom:80px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(3,160,146,.17),transparent 68%); pointer-events:none; }
.alcami-footer-cta { position: relative; display: flex; max-width: 1360px; margin: 0 auto; padding: 52px clamp(24px,5vw,72px); align-items: center; justify-content: space-between; gap: 40px; background: linear-gradient(120deg,#063b6e,#075e76); }.alcami-footer-cta::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 55%,rgba(255,255,255,.06)); pointer-events:none; }
.alcami-footer-cta h2 { max-width: 700px; margin: 8px 0 0; color: #fff; font-size: clamp(29px,3.5vw,48px); line-height: 1.06; letter-spacing: -.035em; }.alcami-footer-cta .alcami-kicker { color: #63dbd1; }
.alcami-footer-cta__actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; }.alcami-footer-cta__actions a { display:inline-flex; min-height:50px; padding:0 20px; align-items:center; gap:12px; border-radius:14px; font-size:14px; font-weight:750; text-decoration:none; transition:transform .3s ease,background .3s ease; }.alcami-footer-primary { background:#fff; color:#083867; }.alcami-footer-secondary { border:1px solid rgba(255,255,255,.25); color:#fff; }.alcami-footer-cta__actions a:hover { transform:translateY(-3px); }.alcami-footer-secondary:hover { background:rgba(255,255,255,.1); }
.alcami-footer-main { position:relative; display:grid; max-width:1360px; margin:0 auto; padding:68px clamp(24px,5vw,72px) 52px; grid-template-columns:minmax(240px,.9fr) minmax(500px,1.55fr) minmax(250px,.75fr); gap:clamp(34px,4vw,68px); }
.alcami-footer-brand > p { max-width:360px; margin:22px 0; color:rgba(234,247,255,.7); font-size:15px; line-height:1.75; }.alcami-footer-logo { display:inline-flex; padding:10px 14px; }.alcami-footer-logo img { height:38px; }
.alcami-footer-contact { display:flex; flex-direction:column; gap:13px; }.alcami-footer-contact a,.alcami-footer-contact p { margin:0; color:#fff; font-size:14px; line-height:1.45; text-decoration:none; }.alcami-footer-contact span { display:block; margin-bottom:2px; color:#60d5cc; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.alcami-footer-social { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }.alcami-footer-social a { padding:8px 11px; border:1px solid rgba(255,255,255,.12); border-radius:9px; color:rgba(255,255,255,.72); font-size:11px; font-weight:700; text-decoration:none; transition:.25s ease; }.alcami-footer-social a:hover { border-color:#03a092; background:#03a092; color:#fff; transform:translateY(-2px); }
.alcami-footer-navigation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }.alcami-footer-navigation h3 { margin:0 0 18px; color:#61d9cf; font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }.alcami-footer-navigation a { display:block; margin:0 0 11px; color:rgba(240,248,255,.73); font-size:13px; line-height:1.35; text-decoration:none; transition:color .25s ease,transform .25s ease; }.alcami-footer-navigation a:hover { color:#fff; transform:translateX(3px); }
.alcami-footer-newsletter { align-self:start; padding:25px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(255,255,255,.055); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }.alcami-footer-newsletter h3 { margin:8px 0 9px; color:#fff; font-size:19px; line-height:1.25; }.alcami-footer-newsletter p { margin:0; color:rgba(240,248,255,.68); font-size:13px; line-height:1.6; }.alcami-footer-newsletter form { display:grid; gap:8px; margin-top:18px; }.alcami-footer-newsletter input { width:100%; min-height:46px; box-sizing:border-box; padding:0 13px; border:1px solid rgba(255,255,255,.18); border-radius:11px; outline:none; background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:13px; }.alcami-footer-newsletter input:focus { border-color:#3fd1c5; box-shadow:0 0 0 3px rgba(3,160,146,.18); }.alcami-footer-newsletter input::placeholder { color:rgba(255,255,255,.42); }.alcami-footer-newsletter button { min-height:44px; border:0; border-radius:11px; background:#05aa9c; color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:background .25s ease,transform .25s ease; }.alcami-footer-newsletter button:hover { background:#04baaa; transform:translateY(-2px); }.alcami-footer-newsletter small { display:block; margin-top:10px; color:rgba(255,255,255,.42); font-size:10px; }
.alcami-footer-bottom { position:relative; display:flex; max-width:1360px; margin:0 auto; padding:22px clamp(24px,5vw,72px); align-items:center; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.1); color:rgba(240,248,255,.5); font-size:11px; }.alcami-footer-bottom p { margin:0; }.alcami-footer-bottom a { color:#74dcd4; text-decoration:none; }

/* -------------------------------------------------------------------------
   Functional workforce stepper
   ------------------------------------------------------------------------- */
.alcami-stepper-shell { overflow:hidden; min-height:620px; }
.alcami-workforce-stepper { display:flex; min-height:555px; flex-direction:column; }
.alcami-stepper-head { padding-bottom:24px; }.alcami-stepper-meta { display:flex; align-items:center; justify-content:space-between; color:#697782; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.alcami-stepper-saved { color:#008c82; letter-spacing:0; text-transform:none; }.alcami-stepper-track { height:7px; margin-top:10px; overflow:hidden; border-radius:999px; background:#e7edf0; }.alcami-stepper-progress { height:100%; border-radius:inherit; background:linear-gradient(90deg,#083867,#03a092); box-shadow:0 0 14px rgba(3,160,146,.35); transition:width .7s cubic-bezier(.16,1,.3,1); }
.alcami-stepper-body { flex:1; animation:alcami-step-in .48s cubic-bezier(.16,1,.3,1) both; }@keyframes alcami-step-in { from { opacity:0; transform:translateX(16px); } to { opacity:1; transform:none; } }.alcami-stepper-body h3 { margin:0; color:#083867; font-size:clamp(23px,2.2vw,31px); line-height:1.18; }.alcami-stepper-body > p { margin:7px 0 24px; color:#65717c; font-size:15px; }
.alcami-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.alcami-option-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }.alcami-step-option { position:relative; display:flex; min-height:76px; padding:15px; box-sizing:border-box; align-items:center; gap:12px; border:1px solid #dce4e8; border-radius:15px; background:#fff; color:#083867; cursor:pointer; transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease; }.alcami-step-option:hover { transform:translateY(-2px); border-color:rgba(3,160,146,.45); box-shadow:0 10px 24px rgba(5,38,74,.07); }.alcami-step-option:has(input:checked) { border-color:#03a092; background:#effaf9; box-shadow:0 0 0 3px rgba(3,160,146,.1); }.alcami-step-option input { position:absolute; opacity:0; pointer-events:none; }.alcami-step-option__mark { display:grid; width:22px; height:22px; flex:0 0 22px; place-items:center; border:2px solid #c9d5dc; border-radius:7px; color:transparent; font-size:13px; transition:.25s ease; }.alcami-step-option input[type="radio"] + .alcami-step-option__mark { border-radius:50%; }.alcami-step-option:has(input:checked) .alcami-step-option__mark { border-color:#03a092; background:#03a092; color:#fff; }.alcami-step-option strong,.alcami-step-option small { display:block; }.alcami-step-option strong { font-size:15px; }.alcami-step-option small { margin-top:3px; color:#6c7780; font-size:12px; line-height:1.35; }
.alcami-step-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.alcami-step-field { display:flex; flex-direction:column; gap:7px; }.alcami-step-field--full { grid-column:1/-1; }.alcami-step-field label,.alcami-step-legend { color:#083867; font-size:13px; font-weight:750; }.alcami-step-field input,.alcami-step-field textarea { width:100%; box-sizing:border-box; padding:13px 14px; border:1px solid #d5dfe4; border-radius:12px; outline:none; background:#fff; color:#101820; font:inherit; font-size:15px; transition:border-color .2s ease,box-shadow .2s ease; }.alcami-step-field input { min-height:49px; }.alcami-step-field textarea { resize:vertical; }.alcami-step-field input:focus,.alcami-step-field textarea:focus { border-color:#03a092; box-shadow:0 0 0 4px rgba(3,160,146,.11); }.alcami-step-field small { color:#74808a; font-size:11px; }.alcami-step-error { margin:14px 0 0; padding:10px 12px; border-left:3px solid #dc3c3c; border-radius:7px; background:#fff1f1; color:#9f2929; font-size:13px; }.alcami-step-actions { display:flex; margin-top:30px; align-items:center; justify-content:space-between; gap:12px; }.alcami-step-button { display:inline-flex; min-height:49px; padding:0 22px; align-items:center; justify-content:center; gap:9px; border:0; border-radius:13px; font:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }.alcami-step-button:hover { transform:translateY(-2px); }.alcami-step-button--next { margin-left:auto; background:#083867; color:#fff; box-shadow:0 10px 22px rgba(5,38,74,.18); }.alcami-step-button--next:hover { background:#05264a; box-shadow:0 14px 28px rgba(5,38,74,.23); }.alcami-step-button--back { background:#edf4f8; color:#083867; }.alcami-step-consent { display:flex; align-items:flex-start; gap:10px; color:#4d5a64; font-size:13px; line-height:1.55; }.alcami-step-consent input { width:18px; height:18px; margin-top:2px; accent-color:#03a092; }.alcami-step-success { display:flex; min-height:500px; padding:40px; flex-direction:column; align-items:flex-start; justify-content:center; border:1px solid rgba(3,160,146,.2); border-radius:20px; background:linear-gradient(145deg,#effaf9,#fff); }.alcami-step-success__icon { display:grid; width:62px; height:62px; place-items:center; border-radius:50%; background:#03a092; color:#fff; font-size:30px; }.alcami-step-success h3 { margin:22px 0 8px; color:#083867; font-size:30px; }.alcami-step-success p { max-width:520px; color:#5f6c76; line-height:1.7; }

@media (max-width: 1220px) {
  .alcami-header-phone { display:none; }
  .alcami-mega-panel { left:20px; right:20px; }
  .alcami-footer-main { grid-template-columns:1fr 2fr; }.alcami-footer-newsletter { grid-column:1/-1; }.alcami-footer-newsletter form { grid-template-columns:1fr auto; }
}
@media (max-width: 1040px) {
  .alcami-nav { display:none; }.alcami-menu-toggle { display:block; }.alcami-header-row { min-height:72px; }.alcami-logo img { height:36px; }
  .alcami-footer-main { grid-template-columns:1fr; }.alcami-footer-navigation { order:2; }.alcami-footer-newsletter { order:3; }
}
@media (max-width: 760px) {
  .alcami-announcement__inner { padding-left:14px; text-align:left; }.alcami-announcement__text { display:none; }
  .alcami-footer-cta { align-items:flex-start; flex-direction:column; }.alcami-footer-main { padding-top:48px; }.alcami-footer-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }.alcami-footer-bottom { align-items:flex-start; flex-direction:column; }.alcami-footer-newsletter form { grid-template-columns:1fr; }
  .alcami-option-grid,.alcami-option-grid--three,.alcami-step-fields { grid-template-columns:1fr; }.alcami-step-field--full { grid-column:auto; }.alcami-stepper-shell { min-height:0; }.alcami-workforce-stepper { min-height:600px; }
}
@media (max-width: 520px) {
  .alcami-header-cta { display:none; }.alcami-mobile-menu.is-open { grid-template-columns:1fr; }.alcami-footer-navigation { grid-template-columns:1fr 1fr; gap:32px 18px; }.alcami-footer-cta__actions { width:100%; flex-direction:column; }.alcami-footer-cta__actions a { justify-content:center; }
}

/* -------------------------------------------------------------------------
   Bold corporate header refinement
   ------------------------------------------------------------------------- */
.alcami-icon { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.alcami-announcement { border-top: 3px solid #fa9010; background: #031f3d; }
.alcami-announcement__inner { padding-block: 11px; font-size: 14px; font-weight: 560; }
.alcami-announcement__label { margin-right: 9px; letter-spacing: .08em; text-transform: uppercase; }
.alcami-announcement__link { display: inline-flex; margin-left: 12px; align-items: center; gap: 6px; }
.alcami-announcement__link .alcami-icon { width: 15px; height: 15px; transition: transform .25s ease; }
.alcami-announcement__link:hover .alcami-icon { transform: translateX(4px); }
.alcami-site-header { background: #fff; box-shadow: 0 3px 0 rgba(8,56,103,.08); }
.alcami-site-header::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: linear-gradient(90deg,#083867 0 52%,#03a092 52% 87%,#fa9010 87%); opacity: .96; }
.alcami-header-row { min-height: 94px; gap: 28px; }
.alcami-logo img { height: 48px; }
.alcami-nav { gap: 12px; }
.alcami-nav-trigger, .alcami-nav-link { position: relative; min-height: 90px; padding: 0 5px; border-radius: 0; color: #052f58; font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
.alcami-nav-trigger::after, .alcami-nav-link::after { content: ""; position: absolute; right: 50%; bottom: 14px; left: 50%; height: 3px; background: #03a092; transition: right .3s cubic-bezier(.16,1,.3,1),left .3s cubic-bezier(.16,1,.3,1); }
.alcami-nav-trigger:hover, .alcami-nav-link:hover, .alcami-mega.is-open .alcami-nav-trigger { background: transparent; color: #007e76; transform: none; }
.alcami-nav-trigger:hover::after, .alcami-nav-link:hover::after, .alcami-mega.is-open .alcami-nav-trigger::after, .alcami-mega:focus-within .alcami-nav-trigger::after { right: 5px; left: 5px; }
.alcami-chevron { width: 17px; height: 17px; color: #008f85; stroke-width: 2.4; }
.alcami-mega-panel { top: 100%; left: 0; right: 0; padding: 34px 38px 0; border: 0; border-top: 5px solid #03a092; border-radius: 0 0 18px 18px; background: #fff; box-shadow: 0 32px 65px rgba(3,31,61,.23); transform: translateY(12px); }
.alcami-mega-panel::before { background: linear-gradient(90deg,rgba(3,160,146,.035),transparent 42%); }
.alcami-mega-topline { padding-bottom: 24px; border-color: #dfe7eb; }
.alcami-mega-topline h2 { margin-top: 6px; color: #052f58; font-size: clamp(27px,2.2vw,34px); font-weight: 780; letter-spacing: -.035em; }
.alcami-mega-topline > a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; }
.alcami-mega-topline > a .alcami-icon { transition: transform .25s ease; }
.alcami-mega-topline > a:hover .alcami-icon { transform: translateX(4px); }
.alcami-kicker { color: #008f85; font-size: 12px; letter-spacing: .18em; }
.alcami-mega-layout { grid-template-columns: minmax(0,1.7fr) minmax(300px,.68fr); gap: 34px; padding-top: 16px; }
.alcami-mega-grid { column-gap: 30px; row-gap: 0; }
.alcami-mega-card { grid-template-columns: 38px minmax(0,1fr) 22px; min-height: 86px; padding: 12px 7px; border: 0; border-bottom: 1px solid #dfe7eb; border-radius: 0; }
.alcami-mega-card:hover { border-color: #03a092; background: linear-gradient(90deg,rgba(3,160,146,.07),transparent 88%); box-shadow: none; }
.alcami-menu-icon { width: 32px; height: 32px; border-left: 3px solid #03a092; border-radius: 0; background: transparent; color: #007e76; font-size: 12px; }
.alcami-mega-card:hover .alcami-menu-icon { background: transparent; color: #052f58; transform: none; }
.alcami-mega-card strong { font-size: 16px; font-weight: 800; letter-spacing: -.01em; }
.alcami-mega-card small { margin-top: 5px; color: #667580; font-size: 13px; }
.alcami-link-arrow { color: #008f85; transition: transform .25s ease; }
.alcami-mega-card:hover .alcami-link-arrow { transform: translate(4px,-4px); }
.alcami-mega-feature { min-height: 350px; border-radius: 8px; }
.alcami-mega-feature__content { padding: 28px; gap: 10px; }
.alcami-mega-feature__content strong { font-size: 23px; }
.alcami-mega-feature__content > span { font-size: 14px; }
.alcami-mega-feature__content b { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.alcami-mega-feature__content b .alcami-icon { transition: transform .25s ease; }
.alcami-mega-feature:hover b .alcami-icon { transform: translateX(4px); }
.alcami-model-row { margin: 20px -38px 0; padding: 18px 38px; border-radius: 0 0 18px 18px; background: #052f58; }
.alcami-model-row span { color: #72dcd3; font-size: 11px; }
.alcami-model-row a { border-color: rgba(255,255,255,.24); color: #fff; font-size: 13px; }
.alcami-model-row a:hover { border-color: #55d3c9; background: rgba(255,255,255,.08); color: #fff; }
.alcami-mega-panel--small { right: 25%; width: min(680px,calc(100vw - 40px)); padding: 30px; border-radius: 0 0 14px 14px; }
.alcami-mini-grid { gap: 0 24px; margin-top: 18px; }
.alcami-mini-grid a { padding: 17px 4px; border-bottom: 1px solid #dfe7eb; border-radius: 0; }
.alcami-mini-grid a:hover { background: transparent; color: #007e76; transform: translateX(5px); }
.alcami-mini-grid strong { font-size: 16px; }.alcami-mini-grid small { font-size: 13px; }
.alcami-header-actions { gap: 14px; }
.alcami-header-phone { color: #052f58; font-size: 15px; font-weight: 800; }
.alcami-header-phone span { color: #62717d; font-size: 10px; }
.alcami-header-cta { min-height: 54px; padding-inline: 23px; gap: 9px; border: 1px solid #052f58; border-bottom: 4px solid #fa9010; border-radius: 8px; background: #052f58; font-size: 15px; font-weight: 800; box-shadow: 0 10px 24px rgba(5,47,88,.2); }
.alcami-header-cta:hover { background: #083f74; }
.alcami-header-cta .alcami-icon { transition: transform .25s ease; }
.alcami-header-cta:hover .alcami-icon { transform: translateX(4px); }
.alcami-mobile-menu .alcami-icon, .alcami-mobile-cta .alcami-icon, .alcami-footer .alcami-icon { display: inline-block; vertical-align: middle; }
.alcami-footer-primary .alcami-icon, .alcami-footer-newsletter button .alcami-icon { transition: transform .25s ease; }
.alcami-footer-primary:hover .alcami-icon, .alcami-footer-newsletter button:hover .alcami-icon { transform: translateX(4px); }

@media (max-width: 1280px) {
  .alcami-header-row { gap: 20px; }.alcami-nav { gap: 9px; }.alcami-nav-trigger,.alcami-nav-link { font-size:15px; }
}
@media (max-width: 1120px) {
  .alcami-header-row { min-height: 78px; }.alcami-logo img { height: 41px; }
}
