:root{
  --hads-purple:#7c4aa3;
  --hads-purple-2:#b96bd7;
  --hads-purple-3:#e8d7f0;
  --hads-ink:#1f1d25;
  --hads-soft:#f7f3f9;
  --hads-radius:34px;
  --hads-shadow:0 22px 55px rgba(79,48,94,.15),0 8px 0 rgba(117,74,151,.10);
}
html{scroll-padding-top:78px}
body{background:linear-gradient(180deg,#fff 0,#fbf9fc 100%)}
/* public-site visual language: rounded, soft, relief */
.hero,.page-hero,.banner,.visual,.workshop-visual,.image-wrap,.hero-media,.product-visual,
.value-card,.option-card,.contact-person-card,.form-box,.reference-item,.ref-card,.stat-card,
.why-card,.workwear-card,.expertise-step,.process-card,.capability-card,.nearshore-card,
.responsibility-card,.quality-card,.cert-card,.card{
  border-radius:var(--hads-radius)!important;
}
.value-card,.option-card,.contact-person-card,.form-box,.reference-item,.ref-card,.stat-card,
.why-card,.workwear-card,.expertise-step,.process-card,.capability-card,.nearshore-card,
.responsibility-card,.quality-card,.cert-card,.card{
  box-shadow:var(--hads-shadow)!important;
  border:1px solid rgba(124,74,163,.14)!important;
}
.value-card:hover,.option-card:hover,.contact-person-card:hover,.reference-item:hover,.ref-card:hover,
.why-card:hover,.workwear-card:hover,.expertise-step:hover,.process-card:hover,.capability-card:hover,
.nearshore-card:hover,.responsibility-card:hover,.quality-card:hover,.cert-card:hover,.card:hover{
  transform:translateY(-6px) scale(1.012);
  box-shadow:0 30px 65px rgba(77,46,95,.23),0 9px 0 rgba(124,74,163,.22)!important;
  transition:.28s ease;
}
img{border-radius:inherit}
/* page images get European-style softened corners without forcing thumbnails */
section img:not(.logo img):not(.brand-final-logo){
  box-shadow:0 18px 42px rgba(35,28,40,.10);
}
/* floating back button on all public pages */
.hads-page-back{
  position:fixed;left:18px;top:76px;z-index:1200;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(124,74,163,.22);
  background:rgba(255,255,255,.88);backdrop-filter:blur(14px);color:var(--hads-purple);
  box-shadow:0 10px 28px rgba(82,51,99,.16),0 4px 0 rgba(124,74,163,.12);font-size:22px;
  cursor:pointer;transition:.25s;text-decoration:none
}
.hads-page-back:hover{transform:translateY(-3px) scale(1.05);background:#fff;box-shadow:0 16px 34px rgba(82,51,99,.22),0 5px 0 rgba(124,74,163,.20)}
/* common 3D button language */
.btn-primary,.btn-secondary,.submit-btn,.workshop-btn,.enter,.cta-button,.button-primary,.button-secondary{
  border-radius:18px!important;box-shadow:0 10px 0 rgba(77,43,99,.22),0 20px 34px rgba(78,46,95,.18)!important;
  transition:.25s ease!important
}
.btn-primary:hover,.btn-secondary:hover,.submit-btn:hover,.workshop-btn:hover,.cta-button:hover,.button-primary:hover,.button-secondary:hover{
  transform:translateY(-4px)!important;box-shadow:0 13px 0 rgba(77,43,99,.25),0 28px 42px rgba(78,46,95,.24)!important
}
/* home hero is deliberately shorter and split: copy left, visual right */
#homeHero{
  height:min(820px,calc(100vh - 58px))!important;min-height:690px!important;max-height:820px!important;
  margin:0 14px 18px;border-radius:0 0 46px 46px!important;background:linear-gradient(115deg,#fff 0,#fbf8fd 52%,#eee6f4 100%)!important;color:var(--hads-ink)!important;
  overflow:hidden!important;box-shadow:0 24px 60px rgba(69,45,83,.10)
}
#homeHero .hero-content-wrap{padding-bottom:136px!important;align-items:center!important}
#homeHero .hero-copy{width:min(610px,43vw)!important;color:var(--hads-ink)!important}
#homeHero .hero-experience strong{color:var(--hads-purple)!important;text-shadow:0 10px 24px rgba(124,74,163,.14)}
#homeHero .hero-experience span,#homeHero .hero-description,#homeHero .hero-process-line{color:#625c67!important}
#homeHero .hero-title{color:#211e25!important;font-size:clamp(42px,4.2vw,66px)!important;line-height:.99!important}
#homeHero .hero-title span{color:var(--hads-purple)!important}
#homeHero .hero-slides{
  left:46%!important;right:2.3%!important;top:4%!important;bottom:19%!important;border-radius:44px!important;overflow:hidden!important;
  box-shadow:0 26px 55px rgba(40,29,49,.20),0 0 0 1px rgba(255,255,255,.78) inset!important;background:#d9d5dd
}
#homeHero .hero-slide{inset:-9px!important;filter:blur(1.25px) saturate(.96) contrast(.98)!important;background-position:center!important}
#homeHero .hero-slide::after{
  background:radial-gradient(ellipse at center,rgba(10,12,18,0) 48%,rgba(22,18,28,.22) 76%,rgba(245,242,249,.72) 100%)!important;
  box-shadow:inset 0 0 58px rgba(248,246,250,.55)!important
}
#homeHero .hero-nav{right:4.8%!important;bottom:23%!important}
#homeHero .hero-progress{right:4.8%!important;left:auto!important;width:122px!important;bottom:21.4%!important}
#homeHero .home-path{bottom:0!important;background:rgba(255,255,255,.90)!important;backdrop-filter:blur(18px);border-top:1px solid rgba(124,74,163,.11)!important}
#homeHero .home-path-inner>a{border-radius:18px!important;box-shadow:0 8px 0 rgba(124,74,163,.10),0 16px 28px rgba(88,55,104,.09)!important;background:linear-gradient(145deg,#fff,#f5eef9)!important}
#homeHero .home-path-inner>a:hover{box-shadow:0 12px 0 rgba(124,74,163,.22),0 22px 35px rgba(88,55,104,.18)!important;transform:translateY(-5px)!important}
/* preserve six original values while bringing their presentation into V12 */
.value-stories{gap:26px!important}
.value-card{overflow:hidden!important;background:linear-gradient(145deg,#fff,#faf7fc)!important}
.value-card-image{overflow:hidden!important;border-radius:30px 30px 0 0!important}
.value-card-image img{transition:transform .6s ease,filter .6s ease}
.value-card:hover .value-card-image img{transform:scale(1.035);filter:saturate(1.04)}
/* contact form qualification */
.hads-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.hads-choice{position:relative}
.hads-choice input{position:absolute;opacity:0;pointer-events:none}
.hads-choice label{display:flex;min-height:54px;align-items:center;justify-content:center;text-align:center;padding:10px 12px;border-radius:18px;background:linear-gradient(145deg,#fff,#f2e9f7);border:1px solid rgba(124,74,163,.16);box-shadow:0 7px 0 rgba(124,74,163,.10),0 14px 24px rgba(80,47,97,.10);cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.04em;color:#43364d;transition:.22s}
.hads-choice input:checked+label,.hads-choice label:hover{background:linear-gradient(135deg,#8b55ad,#714190);color:#fff;transform:translateY(-3px);box-shadow:0 9px 0 #54306b,0 18px 28px rgba(86,48,105,.24)}
.hads-qty-grid{grid-template-columns:repeat(4,1fr)}
/* responsive */
@media(max-width:1100px){
  #homeHero{height:auto!important;max-height:none!important;min-height:820px!important}
  #homeHero .hero-slides{left:48%!important;bottom:24%!important}
  .hads-choice-grid{grid-template-columns:repeat(2,1fr)}
  .hads-qty-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .hads-page-back{top:68px;left:10px;width:40px;height:40px}
  #homeHero{margin:0 8px 12px!important;border-radius:0 0 30px 30px!important;min-height:890px!important}
  #homeHero .hero-content-wrap{align-items:flex-start!important;padding-top:34px!important;padding-bottom:310px!important}
  #homeHero .hero-copy{width:100%!important}
  #homeHero .hero-slides{left:4%!important;right:4%!important;top:auto!important;bottom:125px!important;height:280px!important;border-radius:30px!important}
  #homeHero .hero-nav{right:7%!important;bottom:146px!important}
  #homeHero .hero-progress{right:7%!important;bottom:136px!important}
  .hads-choice-grid,.hads-qty-grid{grid-template-columns:1fr}
}
/* Header / logo consistency requested by Andrea */
.main-header .logo img{width:112px!important;height:auto!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important}
.main-header .logo{margin-right:34px!important}
/* Hero edges: softer and more rounded across public pages */
body:not(.intro) .hero{border-radius:0 0 38px 38px!important;overflow:hidden!important;box-shadow:inset 0 0 58px rgba(255,255,255,.18),0 20px 48px rgba(48,36,56,.08)}
body:not(.intro) .hero::after{border-radius:inherit}
@media(max-width:800px){.main-header .logo img{width:96px!important}body:not(.intro) .hero{border-radius:0 0 28px 28px!important}}
