
:root{--text:#1b1d22;--muted:#68707b;--red:#d71920;--line:rgba(20,22,27,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(180deg,#fff 0,#f7f8fa 50%,#f1f3f6 100%);min-height:100vh}
a{color:inherit;text-decoration:none}.page{width:min(1080px,calc(100% - 32px));margin:auto;padding:26px 0 54px}
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}
.top img{width:118px;display:block}.back{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted)}
.hero{padding:62px 0 32px}.eyebrow{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
h1{font-size:clamp(44px,7vw,74px);line-height:.96;letter-spacing:-.045em;margin:14px 0 18px}
.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:830px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 24px rgba(35,38,45,.045)}
.card h2{font-size:21px;margin:0 0 9px}.card p{margin:0;color:var(--muted);line-height:1.6}
.notice{margin-top:22px;padding:18px 20px;border-radius:18px;background:#fff7f7;border:1px solid rgba(215,25,32,.14);color:#555}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;padding:12px 16px;border-radius:14px;background:linear-gradient(120deg,#a80d15,#d71920 58%,#f02a31);color:#fff;font-weight:800}
.btn.secondary{background:#fff;color:#222;border:1px solid var(--line)}
footer{margin-top:52px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
@media(max-width:720px){.grid{grid-template-columns:1fr}.top img{width:100px}.hero{padding-top:48px}.lead{font-size:17px}}


.sarcte-footer{
  margin-top:54px;
  padding:24px 0 34px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:var(--muted);
  font-size:13px
}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:74px;height:auto;display:block}
.footer-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.footer-links a:hover{color:var(--red)}
.social-link{display:inline-flex;align-items:center;gap:5px}
.linkedin-dot{
  display:inline-grid;
  place-items:center;
  width:18px;height:18px;border-radius:4px;
  background:#0A66C2;color:#fff;font-size:11px;font-weight:800;line-height:1
}
@media(max-width:720px){
  .sarcte-footer{flex-direction:column;align-items:flex-start}
}


/* SARCTE STATIC SUBPAGES v1.3 — aligned with Service Hub v2.6 */
body{
  background:linear-gradient(180deg,#fff 0,#f7f8fa 50%,#f1f3f6 100%);
}
.page{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 54px;
}
.image-link-header{
  width:100%;
  background:#05070b;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.image-header-anchor{
  display:block;
  width:100%;
}
.image-header-anchor img{
  display:block;
  width:100%;
  height:auto;
}
.subpage-utility{
  width:min(1080px,calc(100% - 32px));
  margin:0 auto;
  padding:14px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
}
.subpage-utility .back,
.subpage-utility .institutional-link{
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--muted);
}
.subpage-utility a:hover{
  color:var(--red);
  border-color:rgba(215,25,32,.18);
}
main{
  width:min(1080px,calc(100% - 32px));
  margin:0 auto;
}
footer.image-link-footer{
  width:min(1080px,calc(100% - 56px));
  margin:56px auto 0;
  padding:0;
  border-top:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  color:var(--muted);
  font-size:12px;
}
.footer-image-wrapper{
  display:block;
  width:100%;
}
.footer-image-wrapper img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
}
.footer-meta-accessibility{
  width:100%;
  margin:0;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  color:#6b7280;
  font-size:12px;
  line-height:1.5;
}
.footer-meta-accessibility a{
  color:#4b5563;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.footer-meta-accessibility a:hover{
  color:#111827;
  text-decoration:underline;
}
.footer-meta-accessibility .social-link img{
  width:16px;
  height:16px;
}
@media(max-width:900px){
  footer.image-link-footer{
    width:min(94%,1080px);
    margin-top:48px;
  }
}
@media(max-width:720px){
  .subpage-utility{
    width:min(100% - 24px,1080px);
  }
  main{
    width:min(100% - 24px,1080px);
  }
  .hero{padding-top:48px}
}
@media(max-width:640px){
  .subpage-utility{
    padding:12px 0;
    gap:8px;
  }
  .subpage-utility .back,
  .subpage-utility .institutional-link{
    padding:9px 11px;
    font-size:12px;
  }
  footer.image-link-footer{
    width:min(96%,1080px);
    margin-top:44px;
    gap:8px;
  }
  .footer-meta-accessibility{
    font-size:11px;
    gap:6px;
    justify-content:flex-start;
  }
}


/* v1.4 aligned with service hub v2.7 */
.image-link-header{
  width:min(1040px,calc(100% - 32px)) !important;
  margin:18px auto 0 !important;
  border-radius:18px;
  overflow:hidden;
  border:0 !important;
  box-shadow:0 12px 32px rgba(31,35,43,.08);
}
.image-header-anchor{
  display:block;
  width:100%;
}
.image-header-anchor img{
  width:100%;
  height:auto;
}
.subpage-utility{
  width:min(1040px,calc(100% - 32px)) !important;
  padding:12px 0 4px !important;
  border-bottom:0 !important;
}
main{
  width:min(1080px,calc(100% - 32px)) !important;
}
footer.image-link-footer,
.image-link-footer{
  width:min(920px,calc(100% - 40px)) !important;
  margin:44px auto 0 !important;
  padding:0 !important;
  gap:0 !important;
  border-top:0 !important;
}
.footer-image-wrapper img{
  width:100% !important;
  height:auto !important;
  border-radius:16px !important;
}
.footer-meta-accessibility{
  display:none !important;
}
@media(max-width:900px){
  .image-link-header{
    width:min(96%,1040px) !important;
    margin-top:14px !important;
  }
  .subpage-utility{
    width:min(96%,1040px) !important;
  }
  footer.image-link-footer,
  .image-link-footer{
    width:min(90%,920px) !important;
    margin-top:38px !important;
  }
}
@media(max-width:640px){
  .image-link-header{
    width:min(97%,1040px) !important;
    border-radius:14px;
  }
  .subpage-utility{
    width:min(97%,1040px) !important;
    padding:10px 0 2px !important;
  }
  main{
    width:min(100% - 24px,1080px) !important;
  }
  footer.image-link-footer,
  .image-link-footer{
    width:min(94%,920px) !important;
    margin-top:34px !important;
  }
  .footer-image-wrapper img{
    border-radius:14px !important;
  }
}


/* v1.5 aligned v2.8 - full width, half-height header/footer */
.image-link-header{
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden;
  box-shadow:none !important;
}
.image-header-anchor{
  display:block;
  width:100%;
}
.image-header-anchor img{
  display:block;
  width:100% !important;
  height:auto !important;
  border-radius:0 !important;
}
.subpage-utility{
  width:min(1100px,calc(100% - 32px)) !important;
  padding:10px 0 2px !important;
  border-bottom:0 !important;
}
main{
  width:min(1080px,calc(100% - 32px)) !important;
}
footer.image-link-footer,
.image-link-footer{
  width:100% !important;
  margin:36px 0 0 !important;
  padding:0 !important;
  border-top:0 !important;
  gap:0 !important;
}
.footer-image-wrapper{
  display:block;
  width:100%;
}
.footer-image-wrapper img{
  display:block;
  width:100% !important;
  height:auto !important;
  border-radius:0 !important;
}
.footer-meta-accessibility{
  display:none !important;
}
@media(max-width:900px){
  footer.image-link-footer,
  .image-link-footer{
    margin-top:30px !important;
  }
}
@media(max-width:640px){
  .subpage-utility{
    width:min(100% - 24px,1100px) !important;
    padding:8px 0 0 !important;
  }
  main{
    width:min(100% - 24px,1080px) !important;
  }
  footer.image-link-footer,
  .image-link-footer{
    margin-top:26px !important;
  }
}


/* v1.6 aligned v2.9 - improved spacing around full-width header/footer */
.image-link-header{
  margin-bottom: 0 !important;
}
.subpage-utility{
  padding: 18px 0 12px !important;
}
.hero,
.page-hero{
  padding-top: 62px !important;
}
footer.image-link-footer,
.image-link-footer{
  margin-top: 60px !important;
  padding-bottom: 8px !important;
}
@media(max-width:900px){
  .subpage-utility{
    padding: 16px 0 10px !important;
  }
  .hero,
  .page-hero{
    padding-top: 54px !important;
  }
  footer.image-link-footer,
  .image-link-footer{
    margin-top: 50px !important;
  }
}
@media(max-width:640px){
  .subpage-utility{
    padding: 14px 0 8px !important;
  }
  .hero,
  .page-hero{
    padding-top: 44px !important;
  }
  footer.image-link-footer,
  .image-link-footer{
    margin-top: 42px !important;
  }
}


/* v1.7 aligned v3.0 - preserve aspect ratio and crop instead of squashing */
.image-link-header{
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  height:220px !important;
}
.image-header-anchor{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.image-header-anchor img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
}
.subpage-utility{padding:18px 0 12px !important}
.hero,.page-hero{padding-top:58px !important}
footer.image-link-footer,
.image-link-footer{
  width:100% !important;
  margin:58px 0 0 !important;
  padding:0 !important;
  height:220px !important;
  overflow:hidden !important;
}
.footer-image-wrapper{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.footer-image-wrapper img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
}
@media(max-width:1100px){
  .image-link-header{height:190px !important}
  footer.image-link-footer,.image-link-footer{height:190px !important}
}
@media(max-width:760px){
  .image-link-header{height:155px !important}
  footer.image-link-footer,.image-link-footer{height:155px !important}
  .hero,.page-hero{padding-top:46px !important}
}
@media(max-width:520px){
  .image-link-header{height:125px !important}
  footer.image-link-footer,.image-link-footer{height:125px !important}
}


/* v1.8 - HEADER FIX ONLY, aligned with Service Hub v3.1 */
.image-link-header{
  height:250px !important;
}
.image-header-anchor img{
  object-position:center top !important;
}
@media(max-width:1100px){
  .image-link-header{height:220px !important}
}
@media(max-width:760px){
  .image-link-header{height:180px !important}
}
@media(max-width:520px){
  .image-link-header{height:145px !important}
  .image-header-anchor img{object-position:center top !important}
}


/* v3.2 / aligned subpages — improved header proportions + clickable footer links */
.image-link-header{
  height:250px !important;
  width:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
}
.image-header-anchor{
  display:block;
  width:100%;
  height:100%;
}
.image-header-anchor img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
}

footer.image-link-footer,
.image-link-footer{
  width:100% !important;
  margin:52px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  display:block !important;
  background:#07090d !important;
}
.footer-interactive{
  position:relative;
  width:100%;
  overflow:hidden;
}
.footer-interactive > img{
  display:block;
  width:100%;
  height:auto;
}
.footer-hotspot{
  position:absolute;
  display:block;
  z-index:3;
  border-radius:8px;
}
.footer-hotspot:focus-visible{
  outline:3px solid rgba(255,255,255,.88);
  outline-offset:2px;
}
.footer-hotspot:hover{
  background:rgba(255,255,255,.035);
}
.footer-logo-link{left:2.8%;top:39%;width:21%;height:18%}
.footer-privacy-link{left:25.2%;top:76.5%;width:6.2%;height:9%}
.footer-cookie-link{left:32.0%;top:76.5%;width:6.2%;height:9%}
.footer-linkedin-link{left:77.0%;top:59%;width:4.5%;height:12%;border-radius:50%}
.footer-corporate-link{left:82.8%;top:58%;width:14%;height:13%}

@media(max-width:1100px){
  .image-link-header{height:220px !important}
}
@media(max-width:760px){
  .image-link-header{height:180px !important}
}
@media(max-width:520px){
  .image-link-header{height:150px !important}
  footer.image-link-footer,
  .image-link-footer{margin-top:40px !important}
}


/* FINAL HEADER/FOOTER FIX — compact without text distortion */
.image-link-header{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#05070b !important;
}
.image-header-anchor{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
.image-header-anchor img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:0 !important;
}

footer.image-link-footer,
.image-link-footer{
  width:100% !important;
  margin:52px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  display:block !important;
  background:#07090d !important;
}
.footer-interactive{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  overflow:visible !important;
}
.footer-interactive > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:0 !important;
}
.footer-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:10 !important;
  border-radius:8px;
}
.footer-hotspot:hover{
  background:rgba(255,255,255,.045);
}
.footer-hotspot:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:2px;
}

/* Coordinates recalibrated for compact footer crop */
.footer-logo-link{left:2.8%;top:13%;width:21%;height:27%}
.footer-privacy-link{left:25.0%;top:79%;width:6.5%;height:11%}
.footer-cookie-link{left:31.8%;top:79%;width:6.8%;height:11%}
.footer-linkedin-link{left:76.8%;top:45%;width:4.8%;height:18%;border-radius:50%}
.footer-corporate-link{left:82.5%;top:43%;width:14.5%;height:22%}

.footer-meta-accessibility{display:none !important;}

@media(max-width:900px){
  footer.image-link-footer,
  .image-link-footer{margin-top:44px !important}
}
@media(max-width:640px){
  footer.image-link-footer,
  .image-link-footer{margin-top:36px !important}
}


/* v2.2 aligned v3.5 polished revert to image-based banner/footer */
.image-link-header{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#05070b !important;
  border:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
  border-radius:0 !important;
  height:auto !important;
}
.image-header-anchor{display:block !important;width:100% !important;line-height:0 !important}
.image-header-anchor img{display:block !important;width:100% !important;height:auto !important;object-fit:contain !important;object-position:center center !important;border-radius:0 !important}
.subpage-utility{width:min(1080px,calc(100% - 32px)) !important; margin:0 auto !important; padding:14px 0 !important; border-bottom:1px solid var(--line) !important}
main{width:min(1080px,calc(100% - 32px)) !important; margin:0 auto !important}
footer.image-link-footer,.image-link-footer{
  width:100% !important;
  margin:52px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:#05070b !important;
  display:block !important;
  height:auto !important;
}
.footer-interactive{position:relative !important;display:block !important;width:100% !important;line-height:0 !important;overflow:hidden !important}
.footer-interactive > img{display:block !important;width:100% !important;height:auto !important;object-fit:contain !important;border-radius:0 !important}
.footer-hotspot{position:absolute !important;display:block !important;z-index:20 !important;border-radius:10px !important}
.footer-hotspot:hover{background:rgba(255,255,255,.04) !important}
.footer-hotspot:focus-visible{outline:2px solid rgba(255,255,255,.85); outline-offset:2px}
.footer-logo-link{left:1.6%;top:14%;width:18.5%;height:25%}
.footer-privacy-link{left:26.3%;top:79.8%;width:5.2%;height:9.8%}
.footer-cookie-link{left:32.8%;top:79.8%;width:5.0%;height:9.8%}
.footer-linkedin-link{left:80.0%;top:45.4%;width:3.2%;height:18.5%;border-radius:50% !important}
.footer-corporate-link{left:85.0%;top:43%;width:12.0%;height:23%}
.footer-meta-accessibility{display:none !important}
@media(max-width:900px){.subpage-utility,main{width:min(96%,1080px) !important}}
@media(max-width:700px){footer.image-link-footer,.image-link-footer{margin-top:40px !important}}
@media(max-width:640px){.subpage-utility,main{width:min(100% - 24px,1080px) !important}}


/* v3.6 — refined footer text size + properly aligned Privacy/Cookie links */
.footer-v36 .footer-interactive{
  position:relative !important;
  display:block !important;
  width:100% !important;
  line-height:normal !important;
  overflow:hidden !important;
}
.footer-v36 .footer-interactive > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}

/* cover original baked text rows so we can re-render them cleanly */
.footer-v36 .footer-data-row,
.footer-v36 .footer-legal-row{
  position:absolute;
  z-index:15;
  display:flex;
  align-items:center;
  gap:9px;
  color:#f0f1f3;
  background:rgba(3,5,9,.94);
  border-radius:4px;
  white-space:nowrap;
}
.footer-v36 .footer-data-row{
  left:5.3%;
  top:52.8%;
  right:23.5%;
  height:14%;
  padding:0 10px;
  justify-content:flex-start;
  font-size:clamp(10px,0.86vw,14px);
  font-weight:400;
}
.footer-v36 .footer-data-row a{
  color:#fff;
}
.footer-v36 .footer-dot{
  color:#e11d24;
  font-weight:800;
}
.footer-v36 .footer-legal-row{
  left:3.2%;
  bottom:5.7%;
  min-height:12.5%;
  padding:0 10px;
  font-size:clamp(10px,0.78vw,13px);
  color:#e8eaed;
}
.footer-v36 .footer-legal-row a{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:#e11d24;
  text-underline-offset:4px;
}
.footer-v36 .footer-legal-row a:hover{
  color:#ffd7d9;
}
.footer-v36 .footer-sep{
  color:#7b8089;
}

/* Keep the existing graphic logo, LinkedIn icon and sarcte.it button clickable */
.footer-v36 .footer-logo-link{
  left:1.6% !important;
  top:14% !important;
  width:18.5% !important;
  height:25% !important;
}
.footer-v36 .footer-linkedin-link{
  left:80.0% !important;
  top:45.4% !important;
  width:3.2% !important;
  height:18.5% !important;
  border-radius:50% !important;
}
.footer-v36 .footer-corporate-link{
  left:85.0% !important;
  top:43% !important;
  width:12.0% !important;
  height:23% !important;
}

/* Old Privacy/Cookie image hotspots are intentionally not used in v3.6 */
.footer-v36 .footer-privacy-link,
.footer-v36 .footer-cookie-link{
  display:none !important;
}

@media(max-width:1100px){
  .footer-v36 .footer-data-row{
    left:4.7%;
    right:22.5%;
    gap:7px;
    font-size:clamp(9px,1.05vw,12px);
  }
  .footer-v36 .footer-legal-row{
    left:2.8%;
    font-size:clamp(9px,1vw,11px);
  }
}
@media(max-width:760px){
  .footer-v36 .footer-data-row{
    gap:5px;
    padding:0 6px;
    font-size:clamp(8px,1.15vw,10px);
  }
  .footer-v36 .footer-legal-row{
    gap:6px;
    padding:0 6px;
    font-size:clamp(8px,1.05vw,9px);
  }
}


/* v3.7 — clean footer: use only the graphic footer image and clickable hotspots */
.footer-v37 .footer-interactive{
  position:relative !important;
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  line-height:normal !important;
}
.footer-v37 .footer-interactive > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
.footer-v37 .footer-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:25 !important;
}
.footer-v37 .footer-logo-link{left:1.6% !important; top:14% !important; width:18.5% !important; height:25% !important;}
.footer-v37 .footer-privacy-link{left:26.3% !important; top:79.8% !important; width:5.2% !important; height:9.8% !important;}
.footer-v37 .footer-cookie-link{left:32.8% !important; top:79.8% !important; width:5.0% !important; height:9.8% !important;}
.footer-v37 .footer-linkedin-link{left:80.0% !important; top:45.4% !important; width:3.2% !important; height:18.5% !important; border-radius:50% !important;}
.footer-v37 .footer-corporate-link{left:85.0% !important; top:43% !important; width:12.0% !important; height:23% !important;}

.footer-v37 .footer-hotspot:hover{background:rgba(255,255,255,.03) !important;}
.footer-v37 .footer-hotspot:focus-visible{outline:2px solid rgba(255,255,255,.85); outline-offset:2px;}

@media(max-width:1100px){
  .footer-v37 .footer-logo-link{width:20% !important;}
  .footer-v37 .footer-privacy-link{left:24.8% !important; width:6.0% !important;}
  .footer-v37 .footer-cookie-link{left:31.8% !important; width:5.8% !important;}
  .footer-v37 .footer-linkedin-link{left:78.8% !important; width:4.1% !important;}
  .footer-v37 .footer-corporate-link{left:84.2% !important; width:12.8% !important;}
}


/* v3.8 — slightly lower header + clean footer hotspots aligned to the actual text */
.image-link-header{
  max-height:220px !important;
  overflow:hidden !important;
}
.image-header-anchor img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:1100px){
  .image-link-header{max-height:190px !important}
  .image-header-anchor img{height:190px !important}
}
@media(max-width:700px){
  .image-link-header{max-height:150px !important}
  .image-header-anchor img{height:150px !important}
}

.footer-v38 .footer-interactive{
  position:relative !important;
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  line-height:0 !important;
}
.footer-v38 .footer-interactive > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
.footer-v38 .footer-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:25 !important;
  border-radius:10px !important;
}
.footer-v38 .footer-logo-link{left:1.2% !important; top:10.5% !important; width:18.5% !important; height:30% !important;}
.footer-v38 .footer-privacy-link{left:20.6% !important; top:81.8% !important; width:4.8% !important; height:10.0% !important;}
.footer-v38 .footer-cookie-link{left:26.5% !important; top:81.8% !important; width:4.3% !important; height:10.0% !important;}
.footer-v38 .footer-linkedin-link{left:79.3% !important; top:52.2% !important; width:3.5% !important; height:18% !important; border-radius:50% !important;}
.footer-v38 .footer-corporate-link{left:84.4% !important; top:49.2% !important; width:14.0% !important; height:22% !important;}
.footer-v38 .footer-hotspot:hover{background:rgba(255,255,255,.03) !important;}
.footer-v38 .footer-hotspot:focus-visible{outline:2px solid rgba(255,255,255,.85); outline-offset:2px;}

@media(max-width:1100px){
  .footer-v38 .footer-logo-link{width:20% !important;}
  .footer-v38 .footer-privacy-link{left:19.4% !important; width:5.6% !important;}
  .footer-v38 .footer-cookie-link{left:26.0% !important; width:5.2% !important;}
  .footer-v38 .footer-linkedin-link{left:78.2% !important; width:4.5% !important;}
  .footer-v38 .footer-corporate-link{left:84.0% !important; width:14.2% !important;}
}


/* v3.9 - footer corrected, using approved clean footer asset and precise legal-link hotspots */
.footer-v38 .footer-privacy-link{
  left:23.4% !important;
  top:79.2% !important;
  width:4.7% !important;
  height:10.8% !important;
}
.footer-v38 .footer-cookie-link{
  left:29.4% !important;
  top:79.2% !important;
  width:4.4% !important;
  height:10.8% !important;
}
@media(max-width:900px){
  .footer-v38 .footer-privacy-link{
    left:21.9% !important;
    width:6.1% !important;
  }
  .footer-v38 .footer-cookie-link{
    left:28.8% !important;
    width:5.8% !important;
  }
}


/* === SARCTE PORTRAIT/MOBILE HEADER — definitive override ===
   Landscape/desktop keeps the approved banner.
   Portrait tablet/smartphone uses a dedicated responsive composition:
   background + real logo + CTA, avoiding any crop of the brand. */
.sarcte-mobile-header{display:none}

@media (orientation:portrait) and (max-width:900px){
  .image-link-header{
    position:relative !important;
    width:100% !important;
    height:150px !important;
    max-height:150px !important;
    overflow:hidden !important;
    background:#05070b !important;
  }

  .image-header-anchor{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:150px !important;
    overflow:hidden !important;
    line-height:normal !important;
    text-decoration:none !important;
  }

  /* Original approved banner becomes only the background source on portrait. */
  .image-header-anchor > img:first-child{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:58% center !important;
    opacity:1 !important;
  }

  .sarcte-mobile-header{
    position:absolute !important;
    inset:0 !important;
    z-index:3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    padding:16px 22px !important;
    background:linear-gradient(90deg,rgba(4,6,10,.94) 0%,rgba(4,6,10,.52) 48%,rgba(4,6,10,.18) 100%) !important;
  }

  .sarcte-mobile-brand{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    max-width:52% !important;
  }

  .sarcte-mobile-brand img{
    display:block !important;
    width:min(230px,100%) !important;
    height:auto !important;
    max-height:98px !important;
    object-fit:contain !important;
    object-position:left center !important;
    filter:none !important;
  }

  .sarcte-mobile-cta{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:11px 16px !important;
    border-radius:10px !important;
    background:#d71920 !important;
    border:1px solid #ef242b !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    box-shadow:0 10px 24px rgba(215,25,32,.25) !important;
  }
}

@media (orientation:portrait) and (max-width:600px){
  .image-link-header,
  .image-header-anchor{
    height:126px !important;
    max-height:126px !important;
  }

  .sarcte-mobile-header{
    padding:12px 14px !important;
    gap:10px !important;
  }

  .sarcte-mobile-brand{
    max-width:57% !important;
  }

  .sarcte-mobile-brand img{
    width:min(180px,100%) !important;
    max-height:82px !important;
  }

  .sarcte-mobile-cta{
    min-height:40px !important;
    padding:9px 11px !important;
    border-radius:9px !important;
    font-size:12px !important;
  }
}

@media (orientation:portrait) and (max-width:390px){
  .image-link-header,
  .image-header-anchor{
    height:112px !important;
    max-height:112px !important;
  }

  .sarcte-mobile-header{padding:10px 11px !important}

  .sarcte-mobile-brand{max-width:58% !important}
  .sarcte-mobile-brand img{
    width:min(160px,100%) !important;
    max-height:72px !important;
  }

  .sarcte-mobile-cta{
    padding:8px 9px !important;
    font-size:11px !important;
  }
}

/* Portrait utility rows must wrap cleanly, without causing horizontal overflow. */
@media (orientation:portrait) and (max-width:900px){
  .utility-strip-inner,
  .subpage-utility{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-inline:auto !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
}

@media (orientation:portrait) and (max-width:520px){
  .utility-strip-inner,
  .subpage-utility{
    align-items:stretch !important;
  }
  .utility-strip-inner > *,
  .subpage-utility > *{
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}



/* ============================================================
   SARCTE UI BASELINE v4.1
   Responsive header shared across sarcte.eu and all subdomains.
   Clean background + real HTML logo + real HTML CTA.
   ============================================================ */

.sarcte-ui-header{
  position:relative;
  width:100%;
  height:170px;
  overflow:hidden;
  background:#05070b;
  isolation:isolate;
}

.sarcte-ui-header-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(3,5,8,.72) 0%,rgba(3,5,8,.32) 42%,rgba(3,5,8,.10) 100%),
    url("assets/sarcte_header_background.png") center center / cover no-repeat;
}

.sarcte-ui-header-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.sarcte-ui-brand{
  display:flex;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  text-decoration:none;
}

.sarcte-ui-brand img{
  display:block;
  width:320px;
  max-width:34vw;
  height:auto;
  max-height:118px;
  object-fit:contain;
  object-position:left center;
}

.sarcte-ui-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.sarcte-ui-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 15px 34px rgba(215,25,32,.32);
  filter:brightness(1.04);
}

.sarcte-ui-cta:focus-visible,
.sarcte-ui-brand:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:4px;
}

/* Tablet landscape / small laptops */
@media (max-width:1100px){
  .sarcte-ui-header{height:150px}
  .sarcte-ui-header-inner{
    width:min(94%,1200px);
    gap:22px;
  }
  .sarcte-ui-brand img{
    width:280px;
    max-width:39vw;
    max-height:102px;
  }
  .sarcte-ui-cta{
    min-height:48px;
    padding:0 24px;
    font-size:16px;
  }
}

/* Tablet portrait */
@media (max-width:820px){
  .sarcte-ui-header{height:138px}
  .sarcte-ui-header-inner{
    width:calc(100% - 36px);
    gap:18px;
  }
  .sarcte-ui-brand img{
    width:235px;
    max-width:50vw;
    max-height:90px;
  }
  .sarcte-ui-cta{
    min-height:44px;
    padding:0 18px;
    border-radius:9px;
    font-size:14px;
  }
}

/* Smartphone */
@media (max-width:600px){
  .sarcte-ui-header{height:118px}
  .sarcte-ui-header-bg{
    background-position:58% center;
  }
  .sarcte-ui-header-inner{
    width:calc(100% - 24px);
    gap:10px;
  }
  .sarcte-ui-brand{
    flex:1 1 auto;
    min-width:0;
  }
  .sarcte-ui-brand img{
    width:185px;
    max-width:56vw;
    max-height:76px;
  }
  .sarcte-ui-cta{
    min-height:40px;
    padding:0 12px;
    font-size:12px;
    border-radius:8px;
  }
}

/* Very narrow smartphones */
@media (max-width:390px){
  .sarcte-ui-header{height:108px}
  .sarcte-ui-header-inner{
    width:calc(100% - 18px);
  }
  .sarcte-ui-brand img{
    width:160px;
    max-width:55vw;
    max-height:68px;
  }
  .sarcte-ui-cta{
    min-height:38px;
    padding:0 10px;
    font-size:11px;
  }
}

/* Utility/navigation rows below the header must never overflow */
@media (max-width:820px){
  .utility-strip-inner,
  .subpage-utility{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-inline:auto !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
}

@media (max-width:520px){
  .utility-strip-inner,
  .subpage-utility{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:stretch !important;
  }
  .utility-strip-inner > *,
  .subpage-utility > *{
    min-width:0 !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
}



/* ============================================================
   SARCTE UI BASELINE v4.2 — HEADER MATCHES FOOTER VISUAL STYLE
   Uses the exact footer artwork as the header visual source,
   cropped to its upper section. Real HTML logo + CTA remain
   responsive and sharp on every device.
   ============================================================ */

.sarcte-ui-header{
  position:relative !important;
  height:178px !important;
  overflow:hidden !important;
  background:#05070b !important;
}

.sarcte-ui-header-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;

  /* same visual language as the approved footer */
  background-image:
    linear-gradient(90deg, rgba(3,5,8,.96) 0%, rgba(3,5,8,.64) 22%, rgba(3,5,8,.16) 52%, rgba(3,5,8,.06) 100%),
    url("assets/footer_tecnologico_sarcte_compact.png") !important;

  background-repeat:no-repeat !important;
  background-size:100% auto !important;
  background-position:center top !important;
}

/* Soft left mask hides the logo baked into the footer artwork.
   The real HTML logo sits above this area. */
.sarcte-ui-header::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:34%;
  background:linear-gradient(90deg,
    rgba(3,5,8,.98) 0%,
    rgba(3,5,8,.92) 52%,
    rgba(3,5,8,.55) 78%,
    rgba(3,5,8,0) 100%);
  pointer-events:none;
}

.sarcte-ui-header-inner{
  position:relative !important;
  z-index:3 !important;
  width:min(92%,1600px) !important;
  height:100% !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
}

/* Larger, sharper brand presence */
.sarcte-ui-brand img{
  width:365px !important;
  max-width:38vw !important;
  max-height:126px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}

/* CTA remains fully HTML and always clickable */
.sarcte-ui-cta{
  min-height:54px !important;
  padding:0 30px !important;
  font-size:18px !important;
}

/* Laptop / tablet landscape */
@media(max-width:1100px){
  .sarcte-ui-header{
    height:158px !important;
  }

  .sarcte-ui-header-bg{
    background-size:auto 285px !important;
    background-position:center top !important;
  }

  .sarcte-ui-header::before{
    width:38% !important;
  }

  .sarcte-ui-brand img{
    width:315px !important;
    max-width:42vw !important;
    max-height:108px !important;
  }

  .sarcte-ui-cta{
    min-height:48px !important;
    padding:0 23px !important;
    font-size:16px !important;
  }
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-ui-header{
    height:142px !important;
  }

  .sarcte-ui-header-bg{
    background-size:auto 255px !important;
    background-position:58% top !important;
  }

  .sarcte-ui-header::before{
    width:46% !important;
  }

  .sarcte-ui-header-inner{
    width:calc(100% - 32px) !important;
    gap:14px !important;
  }

  .sarcte-ui-brand img{
    width:245px !important;
    max-width:52vw !important;
    max-height:92px !important;
  }

  .sarcte-ui-cta{
    min-height:44px !important;
    padding:0 17px !important;
    font-size:14px !important;
  }
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-ui-header{
    height:122px !important;
  }

  .sarcte-ui-header-bg{
    background-size:auto 225px !important;
    background-position:60% top !important;
  }

  .sarcte-ui-header::before{
    width:52% !important;
  }

  .sarcte-ui-header-inner{
    width:calc(100% - 22px) !important;
    gap:8px !important;
  }

  .sarcte-ui-brand{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .sarcte-ui-brand img{
    width:188px !important;
    max-width:55vw !important;
    max-height:76px !important;
  }

  .sarcte-ui-cta{
    min-height:40px !important;
    padding:0 11px !important;
    font-size:12px !important;
    border-radius:8px !important;
  }
}

/* Narrow phones */
@media(max-width:390px){
  .sarcte-ui-header{
    height:112px !important;
  }

  .sarcte-ui-header-bg{
    background-size:auto 205px !important;
    background-position:61% top !important;
  }

  .sarcte-ui-brand img{
    width:158px !important;
    max-width:54vw !important;
    max-height:68px !important;
  }

  .sarcte-ui-cta{
    min-height:38px !important;
    padding:0 9px !important;
    font-size:11px !important;
  }
}



/* ============================================================
   SARCTE UI BASELINE v4.3 FINAL
   One clean header for desktop / tablet / smartphone.
   Visual background derived from the APPROVED footer artwork.
   No baked logo, no ghost text, no duplicate CTA.
   ============================================================ */

.sarcte-final-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#05070b;
  isolation:isolate;
}

.sarcte-final-header-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(2,4,7,.58) 0%,rgba(2,4,7,.18) 44%,rgba(2,4,7,.04) 100%),
    url("assets/sarcte_footer_visual_header_bg.png") center center / cover no-repeat;
}

.sarcte-final-header-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.sarcte-final-brand{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-width:0;
  color:#fff !important;
  text-decoration:none !important;
}

.sarcte-final-mark{
  display:block;
  width:92px;
  height:92px;
  object-fit:contain;
  flex:0 0 auto;
}

.sarcte-final-wordmark{
  display:block;
  color:#fff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:58px;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  text-shadow:0 3px 20px rgba(0,0,0,.35);
}

.sarcte-final-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.sarcte-final-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 15px 34px rgba(215,25,32,.32);
  filter:brightness(1.04);
}

.sarcte-final-brand:focus-visible,
.sarcte-final-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:4px;
}

/* Laptop / tablet landscape */
@media(max-width:1100px){
  .sarcte-final-header{height:156px}
  .sarcte-final-header-inner{width:min(94%,1200px);gap:20px}
  .sarcte-final-mark{width:78px;height:78px}
  .sarcte-final-wordmark{font-size:48px}
  .sarcte-final-cta{min-height:48px;padding:0 23px;font-size:16px}
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-final-header{height:138px}
  .sarcte-final-header-bg{background-position:57% center}
  .sarcte-final-header-inner{width:calc(100% - 34px);gap:14px}
  .sarcte-final-brand{gap:12px}
  .sarcte-final-mark{width:64px;height:64px}
  .sarcte-final-wordmark{font-size:38px}
  .sarcte-final-cta{min-height:44px;padding:0 17px;font-size:14px}
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-final-header{height:116px}
  .sarcte-final-header-bg{background-position:60% center}
  .sarcte-final-header-inner{width:calc(100% - 22px);gap:8px}
  .sarcte-final-brand{gap:8px;flex:1 1 auto}
  .sarcte-final-mark{width:48px;height:48px}
  .sarcte-final-wordmark{font-size:28px}
  .sarcte-final-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-final-header{height:108px}
  .sarcte-final-header-inner{width:calc(100% - 16px)}
  .sarcte-final-mark{width:42px;height:42px}
  .sarcte-final-wordmark{font-size:24px}
  .sarcte-final-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}

/* Keep utility bars orderly below the header */
@media(max-width:820px){
  .utility-strip-inner,
  .subpage-utility{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-inline:auto !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
}

@media(max-width:520px){
  .utility-strip-inner,
  .subpage-utility{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:stretch !important;
  }
  .utility-strip-inner > *,
  .subpage-utility > *{
    min-width:0 !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
}



/* ============================================================
   SARCTE UI BASELINE v4.4 — LOGO MATCH
   Header brand now uses the SAME flat horizontal visual style
   as the approved footer: red flat mark + white SARCTE wordmark.
   ============================================================ */

.sarcte-match-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#05070b;
  isolation:isolate;
}

.sarcte-match-header-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(2,4,7,.60) 0%,rgba(2,4,7,.18) 42%,rgba(2,4,7,.04) 100%),
    url("assets/sarcte_footer_visual_header_bg.png") center center / cover no-repeat;
}

.sarcte-match-header-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.sarcte-match-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}

.sarcte-match-brand img{
  display:block;
  width:390px;
  max-width:40vw;
  height:auto;
  max-height:126px;
  object-fit:contain;
  object-position:left center;
}

.sarcte-match-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

.sarcte-match-brand:focus-visible,
.sarcte-match-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:4px;
}

/* Laptop / tablet landscape */
@media(max-width:1100px){
  .sarcte-match-header{height:156px}
  .sarcte-match-header-inner{width:min(94%,1200px);gap:20px}
  .sarcte-match-brand img{
    width:330px;
    max-width:43vw;
    max-height:108px;
  }
  .sarcte-match-cta{min-height:48px;padding:0 23px;font-size:16px}
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-match-header{height:138px}
  .sarcte-match-header-bg{background-position:57% center}
  .sarcte-match-header-inner{width:calc(100% - 34px);gap:14px}
  .sarcte-match-brand img{
    width:260px;
    max-width:53vw;
    max-height:92px;
  }
  .sarcte-match-cta{min-height:44px;padding:0 17px;font-size:14px}
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-match-header{height:116px}
  .sarcte-match-header-bg{background-position:60% center}
  .sarcte-match-header-inner{width:calc(100% - 22px);gap:8px}
  .sarcte-match-brand{flex:1 1 auto}
  .sarcte-match-brand img{
    width:195px;
    max-width:55vw;
    max-height:76px;
  }
  .sarcte-match-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-match-header{height:108px}
  .sarcte-match-header-inner{width:calc(100% - 16px)}
  .sarcte-match-brand img{
    width:168px;
    max-width:54vw;
    max-height:68px;
  }
  .sarcte-match-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}

/* Utility bars below header */
@media(max-width:820px){
  .utility-strip-inner,
  .subpage-utility{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-inline:auto !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
}
@media(max-width:520px){
  .utility-strip-inner,
  .subpage-utility{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:stretch !important;
  }
  .utility-strip-inner > *,
  .subpage-utility > *{
    min-width:0 !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
}



/* ============================================================
   SARCTE UI BASELINE v4.5 — EXACT FOOTER BRAND
   Header brand is extracted from the approved footer artwork,
   so logo AND SARCTE wordmark are visually identical.
   ============================================================ */

.sarcte-exact-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#05070b;
  isolation:isolate;
}
.sarcte-exact-header-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(2,4,7,.58) 0%,rgba(2,4,7,.16) 44%,rgba(2,4,7,.04) 100%),
    url("assets/sarcte_footer_visual_header_bg.png") center center / cover no-repeat;
}
.sarcte-exact-header-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.sarcte-exact-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}
.sarcte-exact-brand img{
  display:block;
  width:385px;
  max-width:40vw;
  height:auto;
  max-height:126px;
  object-fit:contain;
  object-position:left center;
}
.sarcte-exact-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}
.sarcte-exact-brand:focus-visible,
.sarcte-exact-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:4px;
}
@media(max-width:1100px){
  .sarcte-exact-header{height:156px}
  .sarcte-exact-header-inner{width:min(94%,1200px);gap:20px}
  .sarcte-exact-brand img{width:330px;max-width:43vw;max-height:108px}
  .sarcte-exact-cta{min-height:48px;padding:0 23px;font-size:16px}
}
@media(max-width:820px){
  .sarcte-exact-header{height:138px}
  .sarcte-exact-header-bg{background-position:57% center}
  .sarcte-exact-header-inner{width:calc(100% - 34px);gap:14px}
  .sarcte-exact-brand img{width:260px;max-width:53vw;max-height:92px}
  .sarcte-exact-cta{min-height:44px;padding:0 17px;font-size:14px}
}
@media(max-width:600px){
  .sarcte-exact-header{height:116px}
  .sarcte-exact-header-bg{background-position:60% center}
  .sarcte-exact-header-inner{width:calc(100% - 22px);gap:8px}
  .sarcte-exact-brand{flex:1 1 auto}
  .sarcte-exact-brand img{width:195px;max-width:55vw;max-height:76px}
  .sarcte-exact-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}
@media(max-width:390px){
  .sarcte-exact-header{height:108px}
  .sarcte-exact-header-inner{width:calc(100% - 16px)}
  .sarcte-exact-brand img{width:168px;max-width:54vw;max-height:68px}
  .sarcte-exact-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}



/* ============================================================
   SARCTE HEADER v5.0 FINAL
   Brand is a pixel-exact crop from the approved footer artwork.
   No regenerated font, no rewritten wordmark, no antialias changes.
   ============================================================ */

.sarcte-v5-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#05070b;
  isolation:isolate;
}

.sarcte-v5-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(2,4,7,.58) 0%,rgba(2,4,7,.18) 42%,rgba(2,4,7,.04) 100%),
    url("assets/sarcte_header_bg_exact_footer_v5.jpg") center center / cover no-repeat;
}

.sarcte-v5-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.sarcte-v5-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}

.sarcte-v5-brand img{
  display:block;
  width:380px;
  max-width:40vw;
  height:auto;
  max-height:126px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
}

.sarcte-v5-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

/* Laptop / tablet landscape */
@media(max-width:1100px){
  .sarcte-v5-header{height:156px}
  .sarcte-v5-inner{width:min(94%,1200px);gap:20px}
  .sarcte-v5-brand img{width:325px;max-width:44vw;max-height:108px}
  .sarcte-v5-cta{min-height:48px;padding:0 23px;font-size:16px}
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-v5-header{height:138px}
  .sarcte-v5-bg{background-position:57% center}
  .sarcte-v5-inner{width:calc(100% - 34px);gap:14px}
  .sarcte-v5-brand img{width:255px;max-width:54vw;max-height:92px}
  .sarcte-v5-cta{min-height:44px;padding:0 17px;font-size:14px}
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-v5-header{height:116px}
  .sarcte-v5-bg{background-position:60% center}
  .sarcte-v5-inner{width:calc(100% - 22px);gap:8px}
  .sarcte-v5-brand{flex:1 1 auto}
  .sarcte-v5-brand img{width:190px;max-width:55vw;max-height:76px}
  .sarcte-v5-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-v5-header{height:108px}
  .sarcte-v5-inner{width:calc(100% - 16px)}
  .sarcte-v5-brand img{width:164px;max-width:54vw;max-height:68px}
  .sarcte-v5-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}

/* Utility rows below the header */
@media(max-width:820px){
  .utility-strip-inner,
  .subpage-utility{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-inline:auto !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
}
@media(max-width:520px){
  .utility-strip-inner,
  .subpage-utility{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:stretch !important;
  }
  .utility-strip-inner > *,
  .subpage-utility > *{
    min-width:0 !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
}



/* ============================================================
   SARCTE HEADER v5.1 — FOOTER BRAND MATCH
   Brand is an exact pixel crop from the approved footer.
   The left side of the header fades to the same black backdrop,
   so the crop blends seamlessly without a visible rectangle.
   ============================================================ */

.sarcte-v51-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#020305;
  isolation:isolate;
}

.sarcte-v51-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,
      #020305 0%,
      #020305 24%,
      rgba(2,3,5,.96) 31%,
      rgba(2,3,5,.55) 42%,
      rgba(2,3,5,.12) 60%,
      rgba(2,3,5,.03) 100%),
    url("assets/sarcte_header_bg_exact_footer_v5.jpg") center center / cover no-repeat;
}

.sarcte-v51-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.sarcte-v51-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}

.sarcte-v51-brand img{
  display:block;
  width:430px;
  max-width:43vw;
  height:auto;
  max-height:128px;
  object-fit:contain;
  object-position:left center;
}

.sarcte-v51-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

@media(max-width:1100px){
  .sarcte-v51-header{height:156px}
  .sarcte-v51-inner{width:min(94%,1200px);gap:20px}
  .sarcte-v51-brand img{width:360px;max-width:46vw;max-height:108px}
  .sarcte-v51-cta{min-height:48px;padding:0 23px;font-size:16px}
}

@media(max-width:820px){
  .sarcte-v51-header{height:138px}
  .sarcte-v51-bg{
    background:
      linear-gradient(90deg,#020305 0%,#020305 31%,rgba(2,3,5,.72) 48%,rgba(2,3,5,.08) 100%),
      url("assets/sarcte_header_bg_exact_footer_v5.jpg") 60% center / cover no-repeat;
  }
  .sarcte-v51-inner{width:calc(100% - 34px);gap:14px}
  .sarcte-v51-brand img{width:280px;max-width:55vw;max-height:94px}
  .sarcte-v51-cta{min-height:44px;padding:0 17px;font-size:14px}
}

@media(max-width:600px){
  .sarcte-v51-header{height:116px}
  .sarcte-v51-bg{
    background:
      linear-gradient(90deg,#020305 0%,#020305 37%,rgba(2,3,5,.75) 55%,rgba(2,3,5,.10) 100%),
      url("assets/sarcte_header_bg_exact_footer_v5.jpg") 65% center / cover no-repeat;
  }
  .sarcte-v51-inner{width:calc(100% - 22px);gap:8px}
  .sarcte-v51-brand{flex:1 1 auto}
  .sarcte-v51-brand img{width:205px;max-width:57vw;max-height:78px}
  .sarcte-v51-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}

@media(max-width:390px){
  .sarcte-v51-header{height:108px}
  .sarcte-v51-inner{width:calc(100% - 16px)}
  .sarcte-v51-brand img{width:178px;max-width:56vw;max-height:70px}
  .sarcte-v51-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}



/* ============================================================
   SARCTE HEADER v5.2 — EXACT BRAND FIX
   Complete brand crop from approved footer. No clipped wordmark.
   ============================================================ */
.sarcte-v52-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#020305;
  isolation:isolate;
}
.sarcte-v52-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,#020305 0%,#020305 23%,rgba(2,3,5,.88) 34%,rgba(2,3,5,.28) 50%,rgba(2,3,5,.04) 100%),
    url("assets/sarcte_header_bg_footer_exact_v52.jpg") center center / cover no-repeat;
}
.sarcte-v52-inner{
  position:relative;
  z-index:2;
  width:min(92%,1600px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.sarcte-v52-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}
.sarcte-v52-brand img{
  display:block;
  width:430px;
  max-width:43vw;
  height:auto;
  max-height:126px;
  object-fit:contain;
  object-position:left center;
}
.sarcte-v52-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}
@media(max-width:1100px){
  .sarcte-v52-header{height:156px}
  .sarcte-v52-inner{width:min(94%,1200px);gap:20px}
  .sarcte-v52-brand img{width:360px;max-width:46vw;max-height:108px}
  .sarcte-v52-cta{min-height:48px;padding:0 23px;font-size:16px}
}
@media(max-width:820px){
  .sarcte-v52-header{height:138px}
  .sarcte-v52-bg{
    background:
      linear-gradient(90deg,#020305 0%,#020305 30%,rgba(2,3,5,.72) 48%,rgba(2,3,5,.08) 100%),
      url("assets/sarcte_header_bg_footer_exact_v52.jpg") 60% center / cover no-repeat;
  }
  .sarcte-v52-inner{width:calc(100% - 34px);gap:14px}
  .sarcte-v52-brand img{width:280px;max-width:55vw;max-height:94px}
  .sarcte-v52-cta{min-height:44px;padding:0 17px;font-size:14px}
}
@media(max-width:600px){
  .sarcte-v52-header{height:116px}
  .sarcte-v52-bg{
    background:
      linear-gradient(90deg,#020305 0%,#020305 36%,rgba(2,3,5,.74) 55%,rgba(2,3,5,.10) 100%),
      url("assets/sarcte_header_bg_footer_exact_v52.jpg") 65% center / cover no-repeat;
  }
  .sarcte-v52-inner{width:calc(100% - 22px);gap:8px}
  .sarcte-v52-brand{flex:1 1 auto}
  .sarcte-v52-brand img{width:205px;max-width:57vw;max-height:78px}
  .sarcte-v52-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}
@media(max-width:390px){
  .sarcte-v52-header{height:108px}
  .sarcte-v52-inner{width:calc(100% - 16px)}
  .sarcte-v52-brand img{width:178px;max-width:56vw;max-height:70px}
  .sarcte-v52-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}



/* ============================================================
   SARCTE HEADER v5.3 — FINAL ALIGN
   Fine tuning on top of v5.2 exact-footer-brand:
   - exact footer logo/wordmark preserved
   - brand slightly higher and visually stronger
   - CTA stays aligned
   - responsive behavior preserved
   ============================================================ */

.sarcte-v52-inner{
  width:min(94%,1640px) !important;
}

.sarcte-v52-brand{
  transform:translate(-4px,-8px);
}

.sarcte-v52-brand img{
  width:455px !important;
  max-width:45vw !important;
  max-height:132px !important;
}

.sarcte-v52-cta{
  transform:translateY(-4px);
}

@media(max-width:1100px){
  .sarcte-v52-inner{
    width:min(95%,1240px) !important;
  }
  .sarcte-v52-brand{
    transform:translate(-2px,-6px);
  }
  .sarcte-v52-brand img{
    width:378px !important;
    max-width:47vw !important;
    max-height:112px !important;
  }
  .sarcte-v52-cta{
    transform:translateY(-3px);
  }
}

@media(max-width:820px){
  .sarcte-v52-brand{
    transform:translate(0,-4px);
  }
  .sarcte-v52-brand img{
    width:292px !important;
    max-width:56vw !important;
    max-height:98px !important;
  }
  .sarcte-v52-cta{
    transform:translateY(-2px);
  }
}

@media(max-width:600px){
  .sarcte-v52-brand{
    transform:translate(0,-2px);
  }
  .sarcte-v52-brand img{
    width:214px !important;
    max-width:58vw !important;
    max-height:80px !important;
  }
  .sarcte-v52-cta{
    transform:none;
  }
}

@media(max-width:390px){
  .sarcte-v52-brand img{
    width:184px !important;
    max-width:57vw !important;
    max-height:72px !important;
  }
}



/* ============================================================
   SARCTE HEADER v5.4 — VISUAL MATCH
   Exact footer brand retained; position/scale matched to footer.
   ============================================================ */

.sarcte-v52-inner{
  width:100% !important;
  max-width:none !important;
  padding-left:64px !important;
  padding-right:64px !important;
  box-sizing:border-box !important;
}

.sarcte-v52-brand{
  transform:none !important;
}

.sarcte-v52-brand img{
  width:350px !important;
  max-width:36vw !important;
  max-height:112px !important;
}

.sarcte-v52-cta{
  transform:none !important;
}

/* Tablet landscape */
@media(max-width:1100px){
  .sarcte-v52-inner{
    padding-left:38px !important;
    padding-right:38px !important;
  }

  .sarcte-v52-brand img{
    width:300px !important;
    max-width:43vw !important;
    max-height:102px !important;
  }
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-v52-inner{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .sarcte-v52-brand img{
    width:245px !important;
    max-width:51vw !important;
    max-height:88px !important;
  }
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-v52-inner{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .sarcte-v52-brand img{
    width:185px !important;
    max-width:54vw !important;
    max-height:72px !important;
  }
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-v52-inner{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .sarcte-v52-brand img{
    width:158px !important;
    max-width:53vw !important;
    max-height:64px !important;
  }
}



/* ============================================================
   SARCTE HEADER v5.6 — LOGO UP 0.5 CM
   Final requested adjustment:
   brand/logo raised by approx. 0.5 cm (~19px desktop).
   Footer/content unchanged.
   ============================================================ */

.sarcte-v52-brand{
  transform:translateY(-19px) !important;
}

/* Tablet landscape */
@media(max-width:1100px){
  .sarcte-v52-brand{
    transform:translateY(-16px) !important;
  }
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-v52-brand{
    transform:translateY(-13px) !important;
  }
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-v52-brand{
    transform:translateY(-10px) !important;
  }
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-v52-brand{
    transform:translateY(-8px) !important;
  }
}



/* ============================================================
   SARCTE HEADER v5.7 — LOGO UP MORE
   Further vertical adjustment only.
   index.html unchanged: existing .sarcte-v52-brand markup is reused.
   ============================================================ */

.sarcte-v52-brand{
  transform:translateY(-30px) !important;
}

@media(max-width:1100px){
  .sarcte-v52-brand{
    transform:translateY(-24px) !important;
  }
}

@media(max-width:820px){
  .sarcte-v52-brand{
    transform:translateY(-18px) !important;
  }
}

@media(max-width:600px){
  .sarcte-v52-brand{
    transform:translateY(-13px) !important;
  }
}

@media(max-width:390px){
  .sarcte-v52-brand{
    transform:translateY(-10px) !important;
  }
}



/* ============================================================
   SARCTE HEADER v5.8 — LOGO UP 80PX
   Desktop: -80px
   Tablet landscape: -64px
   Tablet portrait: -48px
   Smartphone: -32px
   Narrow smartphone: -24px
   ============================================================ */

.sarcte-v52-brand{
  transform:translateY(-80px) !important;
}

@media(max-width:1100px){
  .sarcte-v52-brand{ transform:translateY(-64px) !important; }
}

@media(max-width:820px){
  .sarcte-v52-brand{ transform:translateY(-48px) !important; }
}

@media(max-width:600px){
  .sarcte-v52-brand{ transform:translateY(-32px) !important; }
}

@media(max-width:390px){
  .sarcte-v52-brand{ transform:translateY(-24px) !important; }
}



/* ============================================================
   SARCTE HEADER v5.9 — CENTER ALIGN
   Final correction requested:
   logo/brand lowered and aligned vertically with "Visita sarcte.it".
   ============================================================ */

.sarcte-v52-brand{
  transform:translateY(0) !important;
}

.sarcte-v52-cta{
  transform:translateY(0) !important;
}

@media(max-width:1100px){
  .sarcte-v52-brand{ transform:translateY(0) !important; }
  .sarcte-v52-cta{ transform:translateY(0) !important; }
}

@media(max-width:820px){
  .sarcte-v52-brand{ transform:translateY(0) !important; }
  .sarcte-v52-cta{ transform:translateY(0) !important; }
}

@media(max-width:600px){
  .sarcte-v52-brand{ transform:translateY(0) !important; }
  .sarcte-v52-cta{ transform:translateY(0) !important; }
}

@media(max-width:390px){
  .sarcte-v52-brand{ transform:translateY(0) !important; }
  .sarcte-v52-cta{ transform:translateY(0) !important; }
}



/* ============================================================
   SARCTE HEADER v6.0 — DEFINITIVE
   IMPORTANT:
   Logo + wordmark are NOT reconstructed and NOT separate images.
   The header uses the exact upper strip of the approved footer.
   Therefore the SARCTE mark/wordmark is literally identical.
   ============================================================ */

.sarcte-v60-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#020305 url("assets/sarcte_header_exact_footer_strip_v60.jpg")
             left top / auto 100% no-repeat;
  isolation:isolate;
}

/* Invisible clickable area over the baked-in SARCTE brand */
.sarcte-v60-brand-hit{
  position:absolute;
  z-index:2;
  left:3.2%;
  top:18%;
  width:25%;
  height:64%;
  display:block;
  text-decoration:none;
}

.sarcte-v60-cta{
  position:absolute;
  z-index:3;
  right:3.4%;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

.sarcte-v60-cta:hover{
  filter:brightness(1.04);
}

.sarcte-v60-brand-hit:focus-visible,
.sarcte-v60-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:4px;
}

/* Tablet landscape */
@media(max-width:1100px){
  .sarcte-v60-header{
    height:156px;
    background-size:auto 100%;
  }
  .sarcte-v60-brand-hit{
    left:3%;
    top:18%;
    width:31%;
    height:64%;
  }
  .sarcte-v60-cta{
    right:3%;
    min-height:48px;
    padding:0 23px;
    font-size:16px;
  }
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-v60-header{
    height:138px;
    background-size:auto 100%;
  }
  .sarcte-v60-brand-hit{
    left:2.4%;
    top:18%;
    width:39%;
    height:64%;
  }
  .sarcte-v60-cta{
    right:2.4%;
    min-height:44px;
    padding:0 17px;
    font-size:14px;
  }
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-v60-header{
    height:116px;
    background-size:auto 100%;
  }
  .sarcte-v60-brand-hit{
    left:2%;
    top:16%;
    width:48%;
    height:68%;
  }
  .sarcte-v60-cta{
    right:2%;
    min-height:40px;
    padding:0 10px;
    border-radius:8px;
    font-size:11.5px;
  }
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-v60-header{
    height:108px;
  }
  .sarcte-v60-brand-hit{
    width:50%;
  }
  .sarcte-v60-cta{
    right:1.5%;
    min-height:38px;
    padding:0 8px;
    font-size:10.5px;
  }
}



/* ============================================================
   SARCTE HEADER v6.1 — FINAL
   Exact footer brand as a complete IMG, vertically centered.
   No background crop can clip the logo or SARCTE wordmark.
   ============================================================ */

.sarcte-v61-header{
  position:relative;
  width:100%;
  height:176px;
  overflow:hidden;
  background:#020305;
  isolation:isolate;
}

.sarcte-v61-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,#020305 0%,rgba(2,3,5,.92) 24%,rgba(2,3,5,.35) 46%,rgba(2,3,5,.04) 100%),
    url("assets/sarcte_header_bg_footer_v61.jpg") center center / cover no-repeat;
}

.sarcte-v61-inner{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  padding:0 64px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.sarcte-v61-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}

.sarcte-v61-brand img{
  display:block;
  width:410px;
  max-width:40vw;
  height:auto;
  max-height:116px;
  object-fit:contain;
  object-position:left center;
}

.sarcte-v61-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:54px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

.sarcte-v61-brand:focus-visible,
.sarcte-v61-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:4px;
}

/* Tablet landscape */
@media(max-width:1100px){
  .sarcte-v61-header{height:156px}
  .sarcte-v61-inner{padding:0 38px;gap:20px}
  .sarcte-v61-brand img{
    width:340px;
    max-width:44vw;
    max-height:104px;
  }
  .sarcte-v61-cta{
    min-height:48px;
    padding:0 23px;
    font-size:16px;
  }
}

/* Tablet portrait */
@media(max-width:820px){
  .sarcte-v61-header{height:138px}
  .sarcte-v61-bg{background-position:60% center}
  .sarcte-v61-inner{padding:0 24px;gap:14px}
  .sarcte-v61-brand img{
    width:265px;
    max-width:52vw;
    max-height:90px;
  }
  .sarcte-v61-cta{
    min-height:44px;
    padding:0 17px;
    font-size:14px;
  }
}

/* Smartphone */
@media(max-width:600px){
  .sarcte-v61-header{height:116px}
  .sarcte-v61-bg{background-position:65% center}
  .sarcte-v61-inner{padding:0 14px;gap:8px}
  .sarcte-v61-brand{
    flex:1 1 auto;
  }
  .sarcte-v61-brand img{
    width:190px;
    max-width:54vw;
    max-height:74px;
  }
  .sarcte-v61-cta{
    min-height:40px;
    padding:0 10px;
    font-size:11.5px;
    border-radius:8px;
  }
}

/* Narrow smartphone */
@media(max-width:390px){
  .sarcte-v61-header{height:108px}
  .sarcte-v61-inner{padding:0 10px}
  .sarcte-v61-brand img{
    width:162px;
    max-width:53vw;
    max-height:66px;
  }
  .sarcte-v61-cta{
    min-height:38px;
    padding:0 8px;
    font-size:10.5px;
  }
}



/* ============================================================
   SARCTE HEADER v6.2 — TALL HEADER / NO CLIP
   Taller header and generous brand box to avoid any clipping.
   ============================================================ */

.sarcte-v62-header{
  position:relative;
  width:100%;
  height:220px;
  overflow:hidden;
  background:#020305;
  isolation:isolate;
}

.sarcte-v62-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,#020305 0%,rgba(2,3,5,.94) 22%,rgba(2,3,5,.34) 47%,rgba(2,3,5,.04) 100%),
    url("assets/sarcte_header_bg_footer_v62_1788596489.jpg") center center / cover no-repeat;
}

.sarcte-v62-inner{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  padding:0 64px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.sarcte-v62-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}

.sarcte-v62-brand img{
  display:block;
  width:430px;
  max-width:41vw;
  height:auto;
  max-height:150px;
  object-fit:contain;
  object-position:left center;
}

.sarcte-v62-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:56px;
  padding:0 30px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

@media(max-width:1100px){
  .sarcte-v62-header{height:190px}
  .sarcte-v62-inner{padding:0 38px;gap:20px}
  .sarcte-v62-brand img{width:360px;max-width:45vw;max-height:126px}
  .sarcte-v62-cta{min-height:50px;padding:0 23px;font-size:16px}
}

@media(max-width:820px){
  .sarcte-v62-header{height:164px}
  .sarcte-v62-bg{background-position:60% center}
  .sarcte-v62-inner{padding:0 24px;gap:14px}
  .sarcte-v62-brand img{width:280px;max-width:53vw;max-height:108px}
  .sarcte-v62-cta{min-height:46px;padding:0 17px;font-size:14px}
}

@media(max-width:600px){
  .sarcte-v62-header{height:138px}
  .sarcte-v62-bg{background-position:65% center}
  .sarcte-v62-inner{padding:0 14px;gap:8px}
  .sarcte-v62-brand{flex:1 1 auto}
  .sarcte-v62-brand img{width:205px;max-width:55vw;max-height:88px}
  .sarcte-v62-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}

@media(max-width:390px){
  .sarcte-v62-header{height:128px}
  .sarcte-v62-inner{padding:0 10px}
  .sarcte-v62-brand img{width:172px;max-width:54vw;max-height:76px}
  .sarcte-v62-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}



/* ============================================================
   SARCTE HEADER v6.3 — FINAL NO CLIP
   Complete footer-derived brand + taller header.
   ============================================================ */

.sarcte-v63-header{
  position:relative;
  width:100%;
  height:240px;
  overflow:hidden;
  background:#020305;
  isolation:isolate;
}

.sarcte-v63-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,#020305 0%,rgba(2,3,5,.95) 22%,rgba(2,3,5,.34) 47%,rgba(2,3,5,.04) 100%),
    url("assets/sarcte_header_bg_footer_v63_1788597295.jpg") center center / cover no-repeat;
}

.sarcte-v63-inner{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  padding:0 72px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}

.sarcte-v63-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none !important;
}

.sarcte-v63-brand img{
  display:block;
  width:470px;
  max-width:42vw;
  height:auto;
  max-height:168px;
  object-fit:contain;
  object-position:left center;
}

.sarcte-v63-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:58px;
  padding:0 32px;
  border:1px solid #ef242b;
  border-radius:9px;
  background:linear-gradient(180deg,#e31c23,#c9141a);
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,25,32,.25);
}

@media(max-width:1100px){
  .sarcte-v63-header{height:205px}
  .sarcte-v63-inner{padding:0 42px;gap:22px}
  .sarcte-v63-brand img{width:390px;max-width:46vw;max-height:142px}
  .sarcte-v63-cta{min-height:50px;padding:0 24px;font-size:16px}
}

@media(max-width:820px){
  .sarcte-v63-header{height:176px}
  .sarcte-v63-bg{background-position:60% center}
  .sarcte-v63-inner{padding:0 26px;gap:14px}
  .sarcte-v63-brand img{width:300px;max-width:54vw;max-height:116px}
  .sarcte-v63-cta{min-height:46px;padding:0 18px;font-size:14px}
}

@media(max-width:600px){
  .sarcte-v63-header{height:148px}
  .sarcte-v63-bg{background-position:65% center}
  .sarcte-v63-inner{padding:0 14px;gap:8px}
  .sarcte-v63-brand{flex:1 1 auto}
  .sarcte-v63-brand img{width:215px;max-width:56vw;max-height:92px}
  .sarcte-v63-cta{min-height:40px;padding:0 10px;font-size:11.5px;border-radius:8px}
}

@media(max-width:390px){
  .sarcte-v63-header{height:136px}
  .sarcte-v63-inner{padding:0 10px}
  .sarcte-v63-brand img{width:178px;max-width:55vw;max-height:80px}
  .sarcte-v63-cta{min-height:38px;padding:0 8px;font-size:10.5px}
}
