:root{
  --wine:#64174f;
  --wine-deep:#471039;
  --wine-bright:#95173f;
  --magenta:#c12c78;
  --violet:#7159b7;
  --blue-tech:#087fb8;
  --rose:#c12c78;
  --coral:#95173f;
  --ice:#f7f4f7;
  --ink:#292631;
  --paper:#f7f4f7;
  --content-pad:clamp(2rem,3.5vw,3.25rem);
}

.hero{background:linear-gradient(135deg,#471039 0%,#64174f 58%,#81215f 100%)}
.hero-grid{opacity:.1}
.hero:before{inset:auto;width:34vw;aspect-ratio:1;border-radius:50%;left:-17vw;top:-15vw;background:linear-gradient(135deg,#e8e4ff 0%,#c8ccff 52%,#aeb8f2 100%);box-shadow:74vw 64vh 0 3vw #7159b7}
.hero:after{content:"";position:absolute;right:-20vw;bottom:-18vw;width:46vw;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#c12c78,#7159b7 55%,#087fb8);opacity:.34}
@media(max-width:600px){.hero:before{width:70vw;left:-45vw;top:-22vw}.hero:after{width:85vw;right:-52vw;bottom:-25vw}}

body,
button,
input,
textarea{font-family:"Montserrat",Arial,sans-serif}

.brand,
.eyebrow,
.section-kicker,
.hero h1,
.manifesto-copy h2,
.projects-head h2,
.news-head h2,
.expertise h2,
.service-title,
.impact-strip b,
.project-copy h3,
.news-card h3,
.contact h2{font-family:"Montserrat",Arial,sans-serif}

.site-header nav,
.menu-toggle,
.nav-cta{font-family:"Montserrat",Arial,sans-serif;font-weight:700}

.hero h1{font-size:clamp(3.25rem,6vw,4rem);font-weight:800;letter-spacing:-.025em;line-height:.94;max-width:760px}

.manifesto-copy h2,
.projects-head h2,
.news-head h2,
.expertise h2,
.contact h2{font-size:clamp(2.375rem,4.5vw,2.875rem);font-weight:700;letter-spacing:-.025em;line-height:1.02}

.manifesto-copy h2{font-weight:700}

.service-title,
.project-copy h3,
.news-card h3{font-size:clamp(1.375rem,2.5vw,1.75rem);font-weight:600;letter-spacing:-.015em;line-height:1.1}

.hero h1 em,
.expertise h2 em,
.contact h2 em{font-family:"Montserrat",Arial,sans-serif;font-weight:800;font-style:italic}

.hero h1 em{
  color:#f7f4f7;
  background:linear-gradient(90deg,#ffffff 0%,#e8dcff 55%,#ffd4e8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero .eyebrow{gap:0}
.hero .eyebrow>span{display:none}

/* Contatti: gradiente chiaro coerente con la sezione Chi siamo */
.contact{
  background:linear-gradient(110deg,#f7ece7 0%,#eef0f8 52%,#cbd2ff 100%);
  color:#181522;
}
.contact:before{opacity:.2}

.contact .section-kicker.light,
.contact h2{color:#181522}
.contact h2 em{color:#8f234b;-webkit-text-fill-color:#8f234b}
.contact-copy>p{color:#4f4a50}
.contact form label:not(.privacy){color:#351126;border-bottom-color:rgba(53,17,38,.32)}
.contact form label:not(.privacy):focus-within{border-bottom-color:#59132f}
.contact input,
.contact textarea{color:#351126}
.contact input::placeholder,
.contact textarea::placeholder{color:rgba(53,17,38,.62)}
.contact .privacy,
.contact .privacy a{color:#351126}
.contact .button-white{background:linear-gradient(100deg,#59132f,#8f234b);color:#fff}

/* Frecce CTA: segno angolare coerente con il modulo quadrato */
.button>span,
.text-link>span,
.nav-cta>span,
.news-head a>span,
.news-card>a>span{
  display:inline-block;
  width:.62rem;
  height:.62rem;
  margin-left:.35rem;
  overflow:hidden;
  color:transparent;
  font-size:0;
  border-top:2px solid #b8d8f5;
  border-right:2px solid #b8d8f5;
  vertical-align:.08em;
}
.button-primary>span,
.button-white>span{border-color:#351126}
.contact .button-white>span{border-color:#b8d8f5}

footer{background:linear-gradient(120deg,#2d2740 0%,#4b2146 54%,#756bc5 100%)}

.site-header nav,
.menu-toggle,
.nav-cta{font-size:clamp(.875rem,1vw,1rem);font-weight:500}

.site-header nav{margin-left:auto}
.site-header nav a{transition:color .22s ease,opacity .22s ease,background .22s ease}
.site-header nav a.active,
.site-header nav a[aria-current="location"]{color:#b8d8f5;opacity:1}
.site-header nav .nav-cta.active,
.site-header nav .nav-cta[aria-current="location"]{background:rgba(184,216,245,.18);color:#e6ff4f}
.brand-logo{display:block;width:auto;height:46px;max-width:min(330px,38vw);object-fit:contain}
.footer-brand .brand-logo{height:54px;max-width:min(390px,75vw)}
.site-tools{display:flex;align-items:center;gap:1.25rem;margin-left:clamp(1rem,2.2vw,2rem);position:relative;z-index:22}
.language-switch{display:flex;align-items:center;gap:.55rem;font-size:.875rem;color:rgba(255,255,255,.7)}
.language-switch button{border:0;background:none;color:inherit;padding:.25rem 0;cursor:pointer;font-weight:500}
.language-switch button.active{color:#fff;font-weight:700}
.search-toggle,.search-close{border:0;background:none;color:#fff;cursor:pointer;padding:.45rem}
.search-icon{display:block;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;position:relative}
.search-icon:after{content:"";position:absolute;width:9px;height:2px;background:currentColor;right:-7px;bottom:-4px;transform:rotate(45deg)}
.search-panel{position:fixed;z-index:19;top:92px;left:0;right:0;max-height:calc(100vh - 92px);overflow:auto;background:linear-gradient(135deg,#292631,#64174f 58%,#7159b7);color:#fff;padding:clamp(2rem,5vw,4rem) var(--pad);transform:translateY(-110%);opacity:0;visibility:hidden;transition:transform .28s ease,opacity .28s ease,visibility .28s}
.search-panel.open{transform:translateY(0);opacity:1;visibility:visible}
.search-inner{max-width:900px;margin:0 auto}
.search-inner>label{display:block;font-size:clamp(1.75rem,4vw,2.875rem);font-weight:700;margin-bottom:1.5rem}
.search-field{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.45)}
.search-field input{width:100%;border:0;background:transparent;color:#fff;font-size:clamp(1.125rem,2vw,1.375rem);padding:1rem 0;outline:0}
.search-field input::placeholder{color:rgba(255,255,255,.58)}
.search-close{font-size:2rem;line-height:1}
.search-results{display:grid;gap:2px;margin-top:1.5rem}
.search-result{display:block;padding:1.15rem 1.25rem;background:rgba(255,255,255,.1);transition:background .2s ease}
.search-result:hover,.search-result:focus{background:rgba(255,255,255,.18)}
.search-result strong{display:block;font-size:1rem;font-weight:600}
.search-result span{display:block;margin-top:.3rem;color:rgba(255,255,255,.72);font-size:.9rem}
.search-empty{padding:1rem 0;color:rgba(255,255,255,.72)}

.hero-lead,
.manifesto-copy p,
.expertise-head p,
.projects-head p,
.contact-copy>p{font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:500;line-height:1.5}

.service-body p,
.project-copy p,
.news-card p,
.footer-grid p,
.footer-grid a{font-size:clamp(1rem,1.15vw,1.125rem);font-weight:400;line-height:1.6}

.eyebrow,
.section-kicker,
.project-type,
.news-meta,
.image-label,
.card-index,
.service-number,
.footer-grid span{font-size:clamp(.75rem,.85vw,.8125rem);font-weight:500;text-transform:uppercase;letter-spacing:.13em}

.button,
.text-link,
.news-card>a{font-size:clamp(.875rem,1vw,.9375rem);font-weight:600}

.hero-card strong,
.impact-strip b{font-family:"Montserrat",Arial,sans-serif;font-weight:600}

.manifesto{
  background:
    radial-gradient(circle at 92% 12%,rgba(184,50,117,.08),transparent 28%),
    linear-gradient(125deg,#ffffff 0%,#f7f4f7 100%);
}

.impact-strip{
  background:linear-gradient(100deg,rgba(193,44,120,.10),rgba(113,89,183,.16),rgba(8,127,184,.16));
}

.expertise{
  background:
    radial-gradient(circle at 84% 12%,rgba(113,89,183,.30),transparent 30%),
    radial-gradient(circle at 88% 92%,rgba(100,23,79,.48),transparent 34%),
    linear-gradient(125deg,#111523 0%,#181727 48%,#351326 100%);
}
.expertise-head{
  grid-template-columns:minmax(300px,560px) minmax(320px,540px);
  justify-content:start;
  gap:clamp(3rem,8vw,9rem);
  margin:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,4vw,3.5rem);
}

.service.active{
  background:linear-gradient(110deg,rgba(113,89,183,.18),rgba(100,23,79,.28));
}

.projects{
  background:
    radial-gradient(circle at 8% 12%,rgba(8,127,184,.12),transparent 25%),
    linear-gradient(125deg,#087fb8 0%,#b7a2f5 50%,#c996ed 100%);
}

.featured-project{
  background:linear-gradient(135deg,#b7a2f5 0%,#c996ed 55%,#b83275 100%);
  width:100%;
  max-width:1120px;
  min-height:0;
  margin-inline:auto;
  grid-template-columns:1fr 1fr;
}

.project-copy{
  background:linear-gradient(145deg,rgba(100,23,79,.28),rgba(8,127,184,.30));
}

.news{
  background:
    radial-gradient(circle at 85% 14%,rgba(100,23,79,.28),transparent 28%),
    linear-gradient(125deg,#c996ed 0%,#b83275 50%,#64174f 100%);
}

.news-card.featured{
  background:linear-gradient(145deg,#ffffff 0%,#f7f4f7 58%,#e9e5f1 100%);
}

.news-card.text-card{
  background:linear-gradient(145deg,#64174f 0%,#95173f 48%,#c12c78 100%);
}

.news-card.text-card.pale{
  background:linear-gradient(145deg,#f7f4f7 0%,#eadceb 50%,#d9d2eb 100%);
}

.contact{
  background:
    radial-gradient(circle at 86% 18%,rgba(8,127,184,.26),transparent 24%),
    linear-gradient(120deg,#2699c5 0%,#477fc5 34%,#7159b7 68%,#64174f 100%);
}

.hero-card,
.featured-project,
.news-card,
.service.active{border:0;border-radius:0;box-shadow:none}

@media(max-width:600px){
  .hero h1{font-size:clamp(3.25rem,15vw,4rem)}
  .manifesto-copy h2,
  .projects-head h2,
  .news-head h2,
  .expertise h2,
  .contact h2{font-size:clamp(2.375rem,10vw,2.875rem)}
}

/* Bento + tactile depth: visual-only enhancement, content remains unchanged */
:root{
  --surface-line:rgba(255,255,255,.18);
  --surface-shadow:0 16px 42px rgba(20,18,35,.10);
  --surface-shadow-hover:0 22px 54px rgba(20,18,35,.16);
  --surface-radius:clamp(18px,2vw,28px);
  --motion-fast:200ms;
}

.site-header{
  transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,backdrop-filter var(--motion-fast) ease;
}
.site-header.is-scrolled{
  position:fixed;
  background:rgba(53,17,38,.78);
  border-bottom-color:rgba(255,255,255,.14);
  box-shadow:0 10px 34px rgba(16,21,34,.14);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
}
.site-header nav a{position:relative}
.site-header nav a:not(.nav-cta):after{
  content:"";position:absolute;left:0;right:100%;bottom:-.45rem;height:2px;background:#a9e4f7;
  transition:right var(--motion-fast) ease;
}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after,.site-header nav a.active:after{right:0}

.manifesto-copy{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr) auto;
  align-items:stretch;
}
.manifesto-copy h2,.manifesto-copy>p,.manifesto-copy>.circle-link,.impact-strip>div,
.service,.featured-project,.news-card{
  border-radius:var(--surface-radius);
  border:1px solid rgba(53,17,38,.10);
  box-shadow:var(--surface-shadow);
}
.manifesto-copy h2{
  padding:clamp(1.5rem,3vw,2.75rem);
  background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(203,210,255,.14));
}
.manifesto-copy>p{
  padding:clamp(1.5rem,3vw,2.5rem);
  background:rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.manifesto-copy>.circle-link{align-self:end;border-radius:20px}
.impact-strip{gap:clamp(.75rem,1.4vw,1.25rem);background:transparent}
.impact-strip>div:nth-child(2){transform:none}
.impact-strip>div{overflow:hidden;position:relative}
.impact-strip>div:after{
  content:"";position:absolute;inset:auto -20% -65% 38%;aspect-ratio:1;border-radius:50%;
  background:repeating-radial-gradient(circle,transparent 0 11px,rgba(127,142,232,.13) 12px 13px,transparent 14px 22px);
}

.service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.8rem,1.5vw,1.25rem);
}
.service,.service:last-child{
  overflow:hidden;
  border-color:rgba(255,255,255,.12);
  min-height:9rem;
  transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease;
}
.service.active{grid-row:span 2;min-height:19.25rem}
.service button{grid-template-columns:3.5rem 1fr auto;gap:1rem}
.service.active .service-body{padding-left:3.5rem;grid-template-columns:1fr;gap:1.25rem;max-height:24rem}

.featured-project{
  overflow:hidden;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 20px 55px rgba(39,34,74,.14);
  transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease;
}
.project-image img,.news-art img{transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease}

.news{--news-gap:clamp(.85rem,1.6vw,1.35rem)}
.news-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(290px,34%);
  grid-template-columns:none;
  gap:var(--news-gap);
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.38) rgba(255,255,255,.08);
  padding:.5rem .25rem 1.3rem;
}
.news-grid::-webkit-scrollbar{height:8px}
.news-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:99px}
.news-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.34);border-radius:99px}
.news-grid:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.58)}
.news-card,.news-card.featured{
  width:auto;min-height:auto;aspect-ratio:1;scroll-snap-align:start;overflow:hidden;
  transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,filter var(--motion-fast) ease;
}
.news-card.featured{grid-column:auto;grid-row:auto;grid-auto-columns:auto;aspect-ratio:1.08/1}
.news-card.is-filtered-out{display:none}
.news-controls{display:flex;justify-content:flex-end;gap:.65rem;margin:-2.5rem 0 1.25rem;position:relative;z-index:3}
.news-controls button{
  width:46px;height:46px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);color:#fff;cursor:pointer;font-size:1.25rem;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease;
}
.news-controls button:hover,.news-controls button:focus-visible{background:rgba(255,255,255,.19);border-color:rgba(255,255,255,.42);transform:translateX(var(--arrow-shift,0))}
.news-controls button:first-child{--arrow-shift:-3px}.news-controls button:last-child{--arrow-shift:3px}

@media(hover:hover){
  .service:hover,.impact-strip>div:hover,.featured-project:hover,.news-card:hover{
    transform:translateY(-4px);box-shadow:var(--surface-shadow-hover);
  }
  .featured-project:hover .project-image img,.news-card:hover .news-art img{transform:scale(1.03);filter:saturate(.98) contrast(1.04)}
  .impact-strip>div:nth-child(2):hover{transform:translateY(-4px)}
  .button:active,.nav-cta:active,.circle-link:active{transform:translateY(1px) scale(.985)}
}

.button>span,.text-link>span,.news-head a>span,.news-card>a>span,.service-arrow{
  transition:transform var(--motion-fast) ease,color var(--motion-fast) ease;
}
.button:hover>span,.text-link:hover>span,.news-head a:hover>span,.news-card>a:hover>span{transform:translate(3px,-1px)}
.service button:hover .service-arrow,.service button:focus-visible .service-arrow{color:#a9e4f7;transform:translate(3px,-3px)}
.service.active button:hover .service-arrow,.service.active button:focus-visible .service-arrow{transform:rotate(90deg) translateY(-3px)}
.news-controls button:focus-visible,.news-card:focus-within,.featured-project:focus-within,.circle-link:focus-visible{
  outline:3px solid #a9e4f7;outline-offset:3px;
}

@media(max-width:900px){
  .manifesto-copy{grid-template-columns:1fr 1fr}.manifesto-copy h2{grid-column:1/-1}.manifesto-copy>.circle-link{grid-column:2;justify-self:end}
  .service-list{grid-template-columns:1fr}.service.active{grid-row:auto;min-height:auto}
  .news-grid{grid-auto-columns:minmax(290px,70%)}
}
@media(max-width:600px){
  .manifesto-copy{grid-template-columns:1fr}.manifesto-copy h2,.manifesto-copy>p,.manifesto-copy>.circle-link{grid-column:1}
  .manifesto-copy>.circle-link{justify-self:start}
  .impact-strip>div:nth-child(2){transform:none}
  .service button{grid-template-columns:2.6rem 1fr auto}.service.active .service-body{padding-left:2.6rem}
  .news-grid{grid-auto-columns:minmax(270px,88%);padding-inline:0}
  .news-controls{margin:0 0 1rem;justify-content:flex-start}
  .news-card,.news-card.featured{aspect-ratio:auto;min-height:31rem}
}

@media(prefers-reduced-motion:reduce){
  .site-header,.site-header nav a:after,.service,.featured-project,.news-card,.project-image img,.news-art img,
  .news-controls button,.button>span,.text-link>span,.news-head a>span,.news-card>a>span,.service-arrow{
    transition:none!important;transform:none!important;scroll-behavior:auto!important;
  }
  .reveal-ready{opacity:1!important;transform:none!important}
}

.button-primary,
.button-white{
  background:linear-gradient(100deg,#ffffff 0%,#f7f4f7 55%,#e7e3f0 100%);
}

footer{
  background:
    radial-gradient(circle at 88% 0%,rgba(47,183,207,.28),transparent 30%),
    linear-gradient(135deg,#64174f 0%,#7159b7 55%,#087fb8 100%);
}

/* Sistema visivo: pattern, profondità e transizioni continue */
.hero-grid{
  opacity:.22;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.65) 1.2px,transparent 1.5px),
    repeating-radial-gradient(ellipse at 88% 30%,transparent 0 34px,rgba(255,255,255,.18) 35px 36px,transparent 37px 52px),
    linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:24px 24px,100% 100%,64px 64px,64px 64px;
  background-position:right 5% top 22%,center,center,center;
  mask-image:linear-gradient(90deg,transparent 18%,black 62%,black);
}

.hero-video{
  position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  opacity:.34;filter:saturate(.75) contrast(1.08);mix-blend-mode:luminosity;pointer-events:none;
}
.hero:before,.hero:after,.hero-grid{z-index:1;pointer-events:none}

.hero-orbit{border-color:rgba(255,255,255,.22)}
.orbit-two{border-color:rgba(47,183,207,.32)}

.manifesto,
.expertise,
.projects,
.news,
.contact{position:relative;isolation:isolate;overflow:hidden}

.manifesto>* ,
.expertise>* ,
.projects>* ,
.news>* ,
.contact>*{position:relative;z-index:1}

.manifesto:before{
  content:"";position:absolute;z-index:0;right:-9rem;top:8%;width:25rem;aspect-ratio:1;border-radius:50%;opacity:.55;
  background:repeating-radial-gradient(circle,transparent 0 21px,rgba(193,44,120,.15) 22px 23px,transparent 24px 35px);
}

.expertise:before{
  content:"";position:absolute;z-index:0;inset:0 0 auto 55%;height:52%;opacity:.55;
  background-image:radial-gradient(circle,rgba(255,255,255,.34) 1.3px,transparent 1.5px);
  background-size:22px 22px;
  mask-image:linear-gradient(135deg,transparent 4%,black 52%,transparent 94%);
}

.expertise:after{
  content:"";position:absolute;z-index:0;right:-12%;bottom:-26%;width:48vw;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 42px rgba(47,183,207,.06),0 0 0 84px rgba(255,255,255,.05);
}

.projects:before{
  content:"";position:absolute;z-index:0;left:-10rem;bottom:-12rem;width:34rem;aspect-ratio:1;border-radius:50%;opacity:.65;
  background:repeating-radial-gradient(ellipse at center,transparent 0 24px,rgba(255,255,255,.23) 25px 26px,transparent 27px 41px);
}

.news:before{
  content:"";position:absolute;z-index:0;inset:0 0 auto 0;height:34%;opacity:.24;
  background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,black,transparent);
}

.contact:before{
  content:"";position:absolute;z-index:0;right:-10vw;top:-28%;width:46vw;aspect-ratio:1;border-radius:50%;opacity:.8;
  background:repeating-radial-gradient(circle,transparent 0 30px,rgba(255,255,255,.17) 31px 32px,transparent 33px 48px);
}

.section-kicker{border:0;padding-top:0}
.impact-strip{border:0;gap:1px;background:rgba(100,23,79,.08)}
.impact-strip div{border:0;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(183,162,245,.18));padding:var(--content-pad)}
.impact-strip div:first-child{padding-left:var(--content-pad)}
.impact-strip div+div{padding-left:var(--content-pad)}

.service-list{display:grid;gap:2px}
.service,
.service:last-child{border:0;background:linear-gradient(110deg,rgba(255,255,255,.10),rgba(183,162,245,.12));padding:0 var(--content-pad)}
.service.active{background:linear-gradient(110deg,rgba(113,89,183,.18),rgba(100,23,79,.28))}
.tags span{border:0;border-radius:2px;background:rgba(41,38,49,.2)}

.hero-card{
  border:0;
  border-radius:0;
  width:min(100%,420px);
  min-height:480px;
  background:linear-gradient(145deg,rgba(71,16,57,.94),rgba(100,23,79,.88));
  backdrop-filter:blur(12px);
  padding:clamp(2.5rem,4vw,4rem);
  display:flex;
  flex-direction:column;
  justify-content:center
}

/* White geometric studies inspired by the supplied references. */
.impact-strip>div:after{
  inset:0;
  width:auto;
  aspect-ratio:auto;
  opacity:.58;
  filter:none;
  transform:none;
  pointer-events:none;
  background-color:transparent;
  background-repeat:no-repeat;
}

/* Perforated molecular lattice. */
.impact-strip>div:nth-child(1):after{
  inset:-18% -10% -24% 45%;
  background-image:
    radial-gradient(circle at 22% 24%,transparent 0 9px,rgba(255,255,255,.78) 10px 12px,transparent 13px),
    radial-gradient(circle at 66% 34%,transparent 0 13px,rgba(255,255,255,.62) 14px 17px,transparent 18px),
    radial-gradient(circle at 38% 68%,transparent 0 16px,rgba(255,255,255,.72) 17px 20px,transparent 21px),
    radial-gradient(circle at 82% 76%,transparent 0 10px,rgba(255,255,255,.60) 11px 14px,transparent 15px),
    radial-gradient(ellipse at 54% 52%,transparent 0 42%,rgba(255,255,255,.28) 43% 46%,transparent 47%);
}

/* Layered translucent ribbon geometry. */
.impact-strip>div:nth-child(2):after{
  inset:-30% -18% -38% 34%;
  background-image:
    radial-gradient(ellipse at 88% 18%,transparent 0 31%,rgba(255,255,255,.72) 32% 36%,transparent 37%),
    radial-gradient(ellipse at 62% 72%,transparent 0 38%,rgba(255,255,255,.48) 39% 45%,transparent 46%),
    linear-gradient(132deg,transparent 25%,rgba(255,255,255,.14) 26% 42%,rgba(255,255,255,.55) 43% 46%,transparent 47%);
}

/* Fine architectural wire field. */
.impact-strip>div:nth-child(3):after{
  inset:-12% -5% -18% 42%;
  background-image:
    repeating-linear-gradient(76deg,transparent 0 13px,rgba(255,255,255,.64) 14px 15px,transparent 16px 28px),
    repeating-linear-gradient(104deg,transparent 0 19px,rgba(255,255,255,.34) 20px 21px,transparent 22px 37px),
    radial-gradient(ellipse at 62% 108%,transparent 0 42%,rgba(255,255,255,.52) 43% 44%,transparent 45% 49%,rgba(255,255,255,.28) 50% 51%,transparent 52%);
  mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);
}
.hero-card p,.hero-card strong{transition:opacity .22s ease,transform .22s ease}
.hero-card.is-changing p,.hero-card.is-changing strong{opacity:0;transform:translateY(8px)}
.hero-card .mini-track{overflow:hidden}
.hero-card .mini-track i{width:33.333%;transition:transform .55s cubic-bezier(.22,.7,.2,1)}
.news-grid{gap:2px}
.news-card{
  padding:var(--content-pad);
  border-radius:0;
  clip-path:inset(0)
}
.news-art{
  margin:calc(var(--content-pad) * -1) calc(var(--content-pad) * -1) var(--content-pad);
  border-radius:0
}
.project-copy{padding:clamp(2rem,5vw,5rem)}
.project-image{position:relative;aspect-ratio:auto;min-height:100%;align-self:stretch}
.project-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  filter:saturate(.9) contrast(1.03);
  object-fit:cover;
  object-position:center 30%;
}
@media(max-width:900px){
  .project-image{min-height:clamp(20rem,62vw,28rem)}
}
.news-card.featured{background:linear-gradient(145deg,#fff 0%,#f7f4f7 62%,#ece8f2 100%)}
.news-card.text-card{background:linear-gradient(145deg,#471039 0%,#64174f 58%,#81215f 100%)}
.news-card.text-card.pale{background:linear-gradient(145deg,#7159b7 0%,#b7a2f5 55%,#c996ed 100%);color:#292631}
.news-card.text-card .news-art img{filter:saturate(.85) contrast(1.04)}
.news-card.text-card.pale .news-art img{filter:saturate(.78) contrast(1.03)}

.button,
.nav-cta{border:0;border-radius:4px;box-shadow:none;transition:transform .25s ease,filter .25s ease,background .25s ease}
.button:hover,
.nav-cta:hover{transform:translateY(-2px);filter:saturate(1.12) brightness(1.04)}
.button-primary{background:linear-gradient(100deg,#fff,#f7f4f7);color:#64174f}
.button-outline{background:linear-gradient(100deg,#95173f,#c12c78);color:#fff}
.button-white{background:linear-gradient(100deg,#fff,#f7f4f7);color:#64174f}
.circle-link{border:0;border-radius:4px;background:linear-gradient(135deg,#95173f,#c12c78);color:#fff}
.circle-link span{
  position:relative;
  display:block;
  width:2rem;
  height:2rem;
  overflow:visible;
  color:transparent;
  font-size:0;
}
.circle-link span:before{
  content:none;
}
.circle-link span:after{
  content:"";
  position:absolute;
  top:.62rem;
  right:.62rem;
  width:.68rem;
  height:.68rem;
  border-top:3px solid #a9e4f7;
  border-right:3px solid #a9e4f7;
}

.hero-card .card-index{color:#fff;font-size:clamp(.95rem,1.1vw,1.1rem);font-weight:600}
.hero-card strong{font-size:clamp(2rem,3.25vw,2.625rem);line-height:1.08}
.impact-strip b{font-size:calc(clamp(1.375rem,2.2vw,1.75rem) - 2px);line-height:1.15}
.expertise .service-number{
  color:#fff;
  font-size:clamp(1rem,1.35vw,1.25rem);
  font-weight:600;
}
.expertise .section-kicker{
  font-size:clamp(.9rem,1.05vw,1rem);
}
.contact form label:not(.privacy){
  font-size:clamp(.9rem,1.05vw,1rem);
  font-weight:600;
}
.contact h2 em{
  color:#ffd4e8;
  -webkit-text-fill-color:#ffd4e8;
}

@media(max-width:600px){
  .brand-logo{height:38px;max-width:58vw}
  .footer-brand .brand-logo{height:46px;max-width:82vw}
}

@media(max-width:600px){
  .hero h1{font-size:clamp(2.25rem,11vw,2.625rem);line-height:1.02}
  .hero-grid{opacity:.14;mask-image:linear-gradient(90deg,transparent 35%,black)}
  .hero-video{opacity:.2;object-position:58% center}
  .hero:before{opacity:.55}
  .manifesto:before{right:-14rem;opacity:.3}
  .expertise:before{inset:0 0 auto 68%;opacity:.28}
  .expertise:after{right:-45%;bottom:-10%;width:90vw;opacity:.45}
  .projects:before{left:-18rem;opacity:.35}
  .contact:before{right:-55%;top:-8%;width:100vw;opacity:.45}
  .impact-strip{gap:1px}
  .service{padding:0 1rem}
  .button{width:100%;min-width:0}
  :root{--content-pad:1.35rem}
  .site-header{gap:.75rem}
  .site-tools{margin-left:auto;gap:.8rem}
  .language-switch{gap:.35rem;font-size:.75rem}
  .search-icon{width:18px;height:18px}
  .menu-toggle{order:3;font-size:0}
  .site-header nav{z-index:24}
  .search-panel{top:76px;max-height:calc(100vh - 76px)}
}

@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* Identità visiva LUM Enterprise */
:root{
  --plum:#5e214d;
  --soft-wine:#7e2859;
  --berry:#a43a72;
  --accent-magenta:#d9467a;
  --fresh-violet:#756bc5;
  --digital-blue:#178bb8;
  --soft-turquoise:#42b9c7;
  --lavender:#c4b5f2;
  --pale-blue:#eaf7fa;
  --pale-lavender:#f1edfc;
  --neutral:#f8f6f9;
  --gradient-institutional:linear-gradient(120deg,#5e214d 0%,#7e2859 52%,#a43a72 100%);
  --gradient-innovation:linear-gradient(120deg,#756bc5 0%,#178bb8 55%,#42b9c7 100%);
  --gradient-fresh:linear-gradient(120deg,#42b9c7 0%,#9dd8d4 50%,#c4b5f2 100%);
  --gradient-lavender:linear-gradient(120deg,#756bc5 0%,#9c8de0 48%,#c4b5f2 100%);
  --gradient-light:linear-gradient(120deg,#fff 0%,#eaf7fa 52%,#f1edfc 100%);
}

html{font-family:"Montserrat",Arial,sans-serif}
body{font-size:clamp(1rem,.3vw + .94rem,1.125rem);line-height:1.65;background:#f8f6f9;color:#292631}
.site-header nav,.menu-toggle{font-size:clamp(.875rem,.35vw + .8rem,1rem);font-weight:500}
.nav-cta{font-size:clamp(.875rem,.35vw + .8rem,1rem);font-weight:600}
.hero{background:var(--gradient-institutional)}
.hero h1{font-size:clamp(3.25rem,5.2vw,4rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.hero-lead{font-size:clamp(1.125rem,.65vw + 1rem,1.375rem);font-weight:400;line-height:1.6}

.manifesto{background:var(--gradient-light)}
.expertise{background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.12),transparent 24%),var(--gradient-innovation)}
.projects{background:var(--gradient-light);color:#292631}
.featured-project{background:var(--gradient-fresh)}
.news{background:radial-gradient(circle at 88% 14%,rgba(117,107,197,.10),transparent 25%),linear-gradient(120deg,#eaf7fa 0%,#f1edfc 55%,#c4b5f2 100%);color:#292631}
.contact{background:var(--gradient-light);color:#292631}
footer{background:var(--gradient-institutional)}

.manifesto-copy h2,.projects-head h2,.news-head h2,.expertise h2,.contact h2{font-size:clamp(2.375rem,3.7vw,2.875rem);font-weight:700;line-height:1.08;letter-spacing:-.025em}
.service-title,.project-copy h3,.news-card h3{font-size:clamp(1.375rem,1.8vw,1.75rem);font-weight:600;line-height:1.12;letter-spacing:-.015em}
.hero-lead,.manifesto-copy p,.expertise-head p,.projects-head p,.contact-copy>p{font-size:clamp(1.125rem,.7vw + 1rem,1.375rem);font-weight:400;line-height:1.6}
.service-body p,.project-copy p,.news-card p,.footer-grid p,.footer-grid a{font-size:clamp(1rem,.35vw + .94rem,1.125rem);font-weight:400;line-height:1.65}
.eyebrow,.section-kicker,.project-type,.news-meta,.image-label,.card-index,.service-number,.footer-grid span{font-size:clamp(.75rem,.22vw + .71rem,.8125rem);font-weight:500;letter-spacing:.14em}

.hero-card,.featured-project,.news-card,.service,.impact-strip div,.search-result{border:0;border-radius:0;box-shadow:none}
.hero-card{background:linear-gradient(145deg,rgba(94,33,77,.96),rgba(126,40,89,.86))}
.service,.service:last-child{background:linear-gradient(110deg,rgba(41,38,49,.24),rgba(94,33,77,.16))}
.service.active{background:linear-gradient(110deg,rgba(94,33,77,.38),rgba(41,38,49,.26))}
.tags span{border:0;border-radius:2px;background:rgba(255,255,255,.14);color:#fff}
.image-label{border-radius:2px}
.news-card.featured{background:var(--gradient-light)}
.news-card.text-card{background:var(--gradient-institutional)}
.news-card.text-card.pale{background:linear-gradient(120deg,#eaf7fa 0%,#f1edfc 100%);color:#292631}
.project-copy{background:linear-gradient(135deg,#5e214d 0%,#7e2859 100%)}

.button,.nav-cta{min-height:46px;border:0;border-radius:4px;font-size:clamp(.875rem,.18vw + .84rem,.9375rem);font-weight:600;transition:transform .25s ease,filter .25s ease,background .25s ease}
.button-primary{background:#fff;color:#5e214d}
.button-white,.button-outline{background:linear-gradient(100deg,#a43a72,#d9467a);color:#fff}
.nav-cta{background:rgba(255,255,255,.14);color:#fff;padding:.7rem 1rem}
.button:hover,.nav-cta:hover{transform:translateY(-2px);filter:brightness(1.08) saturate(1.05)}
.button:focus-visible,.nav-cta:focus-visible,.service button:focus-visible,.search-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}

.expertise h2 em{color:#eaf7fa}
.contact h2 em{color:#7e2859;-webkit-text-fill-color:#7e2859}
.expertise-head p,.service-body p{color:rgba(255,255,255,.9)}
.news-head a,.contact-copy>p{color:rgba(41,38,49,.82)}
.news .section-kicker.light{color:rgba(41,38,49,.72)}
.news-card.text-card p{color:rgba(255,255,255,.88)}
.news-card.text-card.pale p{color:rgba(41,38,49,.8)}
.contact input,.contact textarea{color:#292631}
.contact input::placeholder,.contact textarea::placeholder{color:rgba(41,38,49,.58)}
.contact label{color:rgba(41,38,49,.88);border-bottom-color:rgba(41,38,49,.24)}

/* Figura–sfondo, prossimità e leggibilità */
.hero-grid{opacity:.12;mask-image:linear-gradient(90deg,transparent 0 44%,rgba(0,0,0,.45) 64%,#000 100%)}
.hero:before{opacity:.46}
.hero:after{opacity:.14}
.manifesto:before{right:-12rem;opacity:.12}
.expertise:before{inset:0 0 auto 66%;width:34%;opacity:.14;mask-image:linear-gradient(120deg,transparent 0,#000 48%,transparent 100%)}
.expertise:after{right:-20%;opacity:.14}
.projects:before{left:-17rem;opacity:.10}
.news:before{left:58%;width:42%;opacity:.08;mask-image:linear-gradient(90deg,transparent,#000);background-image:linear-gradient(rgba(41,38,49,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(41,38,49,.18) 1px,transparent 1px)}
.contact:before{right:-16vw;opacity:.10;background:repeating-radial-gradient(circle,transparent 0 30px,rgba(23,139,184,.18) 31px 32px,transparent 33px 48px)}

.section-kicker{margin:0 0 1rem}
.manifesto-copy,.projects-head,.news-head{margin:1rem 0 clamp(4.5rem,6vw,6rem)}
.expertise-head{margin:1rem 0 clamp(4.5rem,6vw,6rem)}
.manifesto-copy h2,.projects-head h2,.news-head h2,.expertise-head h2,.contact h2{margin-top:0;margin-bottom:0}
.manifesto-copy p,.projects-head p,.expertise-head p{margin:0;max-width:62ch}
.contact h2{margin:1rem 0 1.5rem}
.contact-copy>p{margin:0;max-width:58ch}
.hero-lead,.service-body p,.project-copy p,.news-card p,.footer-grid p,.content-body p{max-width:65ch}
.project-copy h3,.news-card h3{max-width:28ch}
.hero-actions{margin-top:clamp(1.75rem,3vw,2.25rem)}
.project-copy .button{margin-top:clamp(1.75rem,3vw,2.25rem)}

.projects-head,.manifesto-copy,.expertise-head,.contact{position:relative}
.projects-head:before,.manifesto-copy:before,.expertise-head:before,.contact-copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1.25rem -1.5rem;
  background:linear-gradient(90deg,rgba(255,255,255,.10),transparent 78%);
  pointer-events:none
}
.manifesto-copy:before{background:linear-gradient(90deg,rgba(247,244,247,.92),rgba(247,244,247,.42) 72%,transparent)}
.projects-head:before{background:linear-gradient(90deg,rgba(183,162,245,.26),rgba(47,183,207,.12) 72%,transparent)}
.expertise-head:before{background:linear-gradient(90deg,rgba(41,38,49,.22),rgba(41,38,49,.18) 82%,transparent)}


@media(max-width:900px){
  .expertise-head{grid-template-columns:1fr;gap:1.5rem}
  .hero-card{min-height:400px}
}

@media(max-width:600px){
  .hero{min-height:100svh;padding-left:clamp(1.25rem,6vw,2rem);padding-right:clamp(1.25rem,6vw,2rem)}
  .hero h1{font-size:clamp(2.25rem,10.5vw,2.625rem);line-height:1.08}
  .manifesto-copy h2,.projects-head h2,.news-head h2,.expertise h2,.contact h2{font-size:clamp(2.25rem,9.5vw,2.625rem);line-height:1.1}
  .hero-grid{opacity:.12;mask-image:linear-gradient(90deg,transparent 45%,black)}
  .hero:before{width:62vw;left:-38vw;top:-16vw;opacity:.44;box-shadow:none}
  .hero:after{width:72vw;right:-48vw;bottom:-12vw;opacity:.22}
  .expertise:before,.news:before{opacity:.18}
  .projects:before,.contact:before{opacity:.26}
  .featured-project,.news-grid,.contact{grid-template-columns:1fr}
  .project-copy,.news-card,.contact{padding-left:1.35rem;padding-right:1.35rem}
  .button,.nav-cta{font-size:.875rem}
  .section-kicker{margin-bottom:.875rem}
  .manifesto-copy,.projects-head,.news-head,.expertise-head{margin-top:.875rem;margin-bottom:4.5rem}
  .manifesto:before,.projects:before,.expertise:after,.contact:before{opacity:.16}
  .expertise:before,.news:before{left:72%;width:28%;opacity:.12}
  .projects-head:before,.manifesto-copy:before,.expertise-head:before,.contact-copy:before{inset:-.75rem;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent)}
}

/* Palette ricavata dai riferimenti approvati, senza regressione di struttura */
:root{
  --ref-night:#101522;
  --ref-plum:#351126;
  --ref-wine:#59132f;
  --ref-berry:#8f234b;
  --ref-periwinkle:#7f8ee8;
  --ref-sky:#a9e4f7;
  --ref-blush:#f7ece7;
  --ref-mist:#eef0f8;
  --ref-lilac:#cbd2ff;
}

.hero{background:linear-gradient(120deg,#351126 0%,#59132f 54%,#8f315b 100%)}
.hero:before{background:linear-gradient(135deg,#e6e4ff 0%,#c5cbff 52%,#aebaf5 100%);box-shadow:74vw 64vh 0 3vw #7f8ee8}
.hero:after{background:linear-gradient(135deg,#cbd2ff 0%,#91a0ef 58%,#c57b9c 100%)}
.hero-card{background:linear-gradient(145deg,rgba(53,17,38,.96),rgba(105,29,62,.88))}
.hero-card .mini-track{background:rgba(255,255,255,.24)}
.hero-card .mini-track i{background:#a9e4f7}

/* Titoli SEO più descrittivi: scala fluida per preservare ritmo e leggibilità */
.hero h1{font-size:clamp(3.25rem,7.4vw,7.25rem);line-height:.88}
.expertise-head h2{font-size:clamp(3rem,6.5vw,6.5rem);line-height:.86}
.projects-head h2,.news-head h2{font-size:clamp(2.7rem,5.2vw,5.6rem);line-height:.96}
.hero h1 em{background:linear-gradient(90deg,#a9e4f7 0%,#cbd2ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.manifesto{background:linear-gradient(110deg,#f7ece7 0%,#eef0f8 52%,#cbd2ff 100%)}
.manifesto-copy h2 span{color:#8f234b}
.manifesto-copy:before{background:linear-gradient(90deg,rgba(247,236,231,.18),rgba(238,240,248,.10) 72%,transparent)}
.impact-strip{background:rgba(53,17,38,.10)}
.impact-strip div{background:linear-gradient(120deg,rgba(255,255,255,.78),rgba(203,210,255,.42))}
.circle-link{background:linear-gradient(135deg,#59132f,#8f234b);color:#fff}

.expertise{background:radial-gradient(circle at 88% 12%,rgba(127,142,232,.16),transparent 28%),linear-gradient(120deg,#101522 0%,#191526 52%,#351126 100%)}
.expertise h2 em{color:#f07b50}
.expertise-head:before{background:linear-gradient(90deg,rgba(16,21,34,.72),rgba(25,21,38,.48) 82%,transparent)}
.expertise-head p,.service-body p{color:rgba(255,255,255,.74)}
.service,.service:last-child{background:linear-gradient(110deg,rgba(127,142,232,.10),rgba(53,17,38,.22))}
.service.active{background:linear-gradient(110deg,rgba(127,142,232,.17),rgba(89,19,47,.28))}
.expertise .service-number,.service-arrow{color:#a9e4f7}
.tags span{background:rgba(255,255,255,.08);color:#fff}

.projects{background:linear-gradient(120deg,#eef0f8 0%,#e7effb 52%,#cbd2ff 100%);color:#292631}
.projects-head:before{background:linear-gradient(90deg,rgba(238,240,248,.96),rgba(203,210,255,.34) 72%,transparent)}
.featured-project{background:linear-gradient(135deg,#7f8ee8 0%,#8472c0 52%,#8f234b 100%)}
.project-copy{background:linear-gradient(135deg,#351126 0%,#59132f 100%)}
.button-outline{background:linear-gradient(100deg,#7b1f43,#a73767);color:#fff}

.news{background:linear-gradient(120deg,#351126 0%,#4b2146 48%,#30456f 100%);color:#fff}
.news-card.featured{background:linear-gradient(145deg,#fff 0%,#f7f4f7 64%,#e6e9fa 100%)}
.news-card.text-card{background:linear-gradient(135deg,#59132f 0%,#8f234b 100%)}
.news-card.text-card.pale{background:linear-gradient(135deg,#cbd2ff 0%,#aebaf5 100%);color:#292631}
.news .section-kicker.light{color:rgba(255,255,255,.76)}
.news-head a{color:rgba(255,255,255,.9)}

.contact{background:linear-gradient(120deg,#351126 0%,#7b2048 44%,#7f8ee8 100%);color:#fff}
.contact h2 em{color:#a9e4f7;-webkit-text-fill-color:#a9e4f7}
.contact-copy>p{color:rgba(255,255,255,.84)}

.contact form label{color:rgba(24,21,34,.88);border-bottom-color:rgba(24,21,34,.28)}
.contact input,.contact textarea{color:#181522}
.contact input::placeholder,.contact textarea::placeholder{color:rgba(24,21,34,.58)}
.button-white{background:linear-gradient(100deg,#fff,#e8eaff);color:#351126}
footer{background:linear-gradient(120deg,#20253a 0%,#49203f 56%,#6b2147 100%)}

/* Logo ufficiale monocromatico, leggibile sui fondi cromatici */
.brand-logo{
  filter:none;
  height:50px;
  max-width:min(360px,40vw)
}

/* Contenimento tipografico e logo armonizzato con la palette */
.site-header{border-bottom:0}

.hero-copy,
.hero-card,
.manifesto-copy>* ,
.expertise-head>* ,
.service>* ,
.service button>* ,
.service-body>* ,
.projects-head>* ,
.featured-project>* ,
.project-copy,
.news-card,
.contact>* ,
.footer-grid>*{
  min-width:0;
  max-width:100%;
}

.hero-card{
  overflow:hidden;
  box-sizing:border-box;
}

.hero-card strong,
.hero-card p,
.service-title,
.project-copy h3,
.news-card h3,
.manifesto-copy h2,
.projects-head h2,
.news-head h2,
.expertise h2,
.contact h2{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

.hero-card strong{
  display:block;
  width:100%;
  font-size:clamp(1.75rem,2.55vw,2.625rem);
  letter-spacing:-.035em;
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
}

@media (max-width:1100px) and (min-width:901px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:clamp(1.5rem,3vw,3rem)}
  .hero-card{width:100%;padding:clamp(1.25rem,2vw,1.75rem)}
  .hero-card strong{font-size:clamp(1.65rem,2.8vw,2.15rem)}
}

@keyframes lum-orbit-drift-one{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-10px,7px,0) scale(1.015)}
}

@keyframes lum-orbit-drift-two{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(8px,-6px,0) scale(.985)}
}

.hero-orbit.orbit-one{animation:lum-orbit-drift-one 14s ease-in-out infinite}
.hero-orbit.orbit-two{animation:lum-orbit-drift-two 18s ease-in-out infinite}

.expertise-head>p{
  font-size:clamp(1rem,1.2vw,1.125rem);
  line-height:1.6;
  color:rgba(238,240,248,.88);
}

.projects-head>p{
  font-size:clamp(.95rem,1.15vw,1.0625rem);
  line-height:1.62;
  color:#3f3945;
}

.manifesto-copy>p{
  box-sizing:border-box;
  inline-size:min(100%,24rem);
  aspect-ratio:1;
  max-height:24rem;
  overflow-y:auto;
  padding:clamp(1.25rem,2.2vw,2rem);
  background:rgba(255,255,255,.8);
  color:#4f4a50;
  font-size:clamp(.95rem,1.05vw,1.0625rem);
  font-weight:500;
  line-height:1.65;
  text-align:left;
  scrollbar-width:thin;
  scrollbar-gutter:stable;
  scrollbar-color:rgba(89,19,47,.58) rgba(89,19,47,.1);
}

.manifesto-copy>p::-webkit-scrollbar{width:7px}
.manifesto-copy>p::-webkit-scrollbar-track{background:rgba(89,19,47,.1)}
.manifesto-copy>p::-webkit-scrollbar-thumb{
  background:rgba(89,19,47,.58);
  border:2px solid transparent;
  background-clip:padding-box;
}

.manifesto:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  pointer-events:none;
  opacity:.34;
  background:
    radial-gradient(circle,rgba(127,142,232,.34) 1.2px,transparent 1.8px),
    repeating-radial-gradient(circle at 28% 48%,transparent 0 28px,rgba(143,35,75,.14) 29px 30px,transparent 31px 48px),
    radial-gradient(circle at 28% 48%,rgba(184,216,245,.28),transparent 62%);
  background-size:24px 24px,100% 100%,100% 100%;
  -webkit-mask-image:linear-gradient(90deg,#000 0 46%,rgba(0,0,0,.7) 62%,transparent 82%);
  mask-image:linear-gradient(90deg,#000 0 46%,rgba(0,0,0,.7) 62%,transparent 82%);
}

.manifesto>.section-kicker,
.manifesto>.manifesto-copy,
.manifesto>.impact-strip{position:relative;z-index:1}

@media(max-width:600px){
  .manifesto-copy>p{
    inline-size:100%;
    aspect-ratio:auto;
    max-height:19rem;
    padding:1.25rem 1.5rem 2rem 1.25rem;
    scroll-padding-bottom:2rem;
  }
  .manifesto:after{inset:0;width:100%;height:100%;opacity:.25}
}

@media (prefers-reduced-motion:reduce){
  .hero-orbit.orbit-one,
  .hero-orbit.orbit-two{animation:none}
}

/* News: moduli editoriali quadrati, dinamici e cromaticamente coerenti */
.news-grid{
  grid-template-columns:1fr .88fr 1fr;
  align-items:start;
  gap:clamp(.75rem,1.35vw,1.5rem);
}

.news-card,
.news-card.featured{
  grid-column:auto;
  box-sizing:border-box;
  width:100%;
  min-height:clamp(32rem,38vw,39rem);
  aspect-ratio:auto;
  overflow:hidden;
  padding:clamp(1.25rem,2vw,2rem);
}

.news-card>a{
  flex-shrink:0;
  margin-top:auto;
  padding-top:.65rem;
}
.news-head>div{max-width:62rem}
.news-intro{max-width:46rem;margin:1rem 0 0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.55}
.news-filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:-1.5rem 0 3rem}
.news-filters button{border:1px solid rgba(255,255,255,.32);border-radius:999px;background:transparent;color:#fff;padding:.65rem 1rem;font:600 .82rem Manrope,sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.news-filters button:hover,.news-filters button:focus-visible{border-color:#a9e4f7}
.news-filters button.active{background:#a9e4f7;color:#351126;border-color:#a9e4f7}
.news-status{align-self:flex-start;margin-top:.85rem;padding:.35rem .65rem;border-radius:999px;background:rgba(169,228,247,.18);color:currentColor;font:700 .68rem Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.news-status.opportunity{background:#e6ff4f;color:#351126}
.news-card.is-filtered-out{display:none}

.news-card:nth-child(2){margin-top:clamp(2rem,4vw,4.5rem)}
.news-card:nth-child(3){margin-top:0}

.news-art{
  position:relative;
  flex:0 0 38%;
  height:auto;
  min-height:0;
  margin:calc(clamp(1.25rem,2vw,2rem) * -1) calc(clamp(1.25rem,2vw,2rem) * -1) clamp(1.1rem,1.8vw,1.65rem);
  background:#351126;
}

.news-card:nth-child(2) .news-art{flex-basis:34%}
.news-card:nth-child(3) .news-art{flex-basis:41%}

.news-art:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(53,17,38,.24),rgba(127,142,232,.14) 58%,rgba(184,216,245,.08));
  mix-blend-mode:color;
}

.news-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
  filter:saturate(1.2) contrast(1.18) brightness(.9);
  transform:scale(1.01);
}

.news-card h3{
  margin:clamp(.8rem,1.35vw,1.25rem) 0;
  font-size:clamp(1.25rem,1.8vw,2rem);
  line-height:1.08;
}

.news-card--valle-ditria h3{font-size:clamp(1.15rem,1.55vw,1.65rem)}

.news .news-meta{font-size:clamp(.68rem,.18vw + .65rem,.75rem);letter-spacing:.12em}

.news-card--puglia .news-art{background:#2165ad}
.news-card--puglia .news-art img{object-fit:contain}


.news-card p{font-size:clamp(.9rem,1vw,1rem);line-height:1.45;margin:.25rem 0 .75rem}

.contact form label:not(.privacy){
  color:#fff;
  border-bottom-color:rgba(255,255,255,.5);
}
.contact form label:not(.privacy):focus-within{border-bottom-color:#fff}
.contact input,
.contact textarea{color:#fff;font-weight:300}
.contact input::placeholder,
.contact textarea::placeholder{color:rgba(255,255,255,.76);font-weight:300}
.contact form>label:nth-child(2){font-weight:300}
.contact .privacy,
.contact .privacy a{color:rgba(255,255,255,.9)}
.contact .privacy input{accent-color:#e6ff4f}

.footer-grid>div>span{color:#fff}

.hero-lead,
.manifesto-copy>p,
.expertise-head>p,
.service-body p,
.projects-head>p,
.project-copy p,
.news-card p,
.contact-copy>p{
  font-weight:500;
  line-height:1.6;
  text-align:justify;
  text-justify:inter-word;
}

@media(max-width:900px){
  .featured-project{max-width:680px;grid-template-columns:1fr}
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-card:nth-child(2){margin-top:2rem}
  .news-card:nth-child(3){margin-top:-1rem}
}

@media(max-width:600px){
  .news-grid{grid-template-columns:1fr;gap:1.25rem}
  .news-card,
  .news-card.featured{aspect-ratio:auto;min-height:34rem}
  .news-card:nth-child(2),
  .news-card:nth-child(3){margin-top:0}
  .news-art{flex-basis:36%}
  .news-card h3{font-size:clamp(1.2rem,6vw,1.65rem)}
}
.site-header .brand{
  padding:0;
  background:transparent;
  border:0
}
.footer-brand .brand-logo{height:58px;max-width:min(410px,78vw)}
@media(max-width:600px){
  .brand-logo{height:38px;max-width:58vw}
  .site-header .brand{padding:0}
  .footer-brand .brand-logo{height:46px;max-width:82vw}
}

/* Gradiente chiaro e contrasto prioritario della sezione Contatti */
.contact{background:linear-gradient(110deg,#f7ece7 0%,#eef0f8 52%,#cbd2ff 100%);color:#181522}
.contact .section-kicker.light,
.contact h2,
.contact-copy>p,
.contact form label:not(.privacy),
.contact input,
.contact textarea,
.contact .privacy,
.contact .privacy a{color:#351126}
.contact h2 em{color:#8f234b;-webkit-text-fill-color:#8f234b}
.contact input::placeholder,
.contact textarea::placeholder{color:rgba(53,17,38,.66)}
.contact form label:not(.privacy){border-bottom-color:rgba(53,17,38,.34)}
.contact form label:not(.privacy):focus-within{border-bottom-color:#59132f}
.contact .button-white{background:linear-gradient(100deg,#59132f,#8f234b);color:#fff}

/* Manifesto: composizione più compatta e paragrafo coerente con la scala del sito */
.manifesto-copy{
  align-items:start;
  margin:clamp(2.25rem,4vw,3.5rem) 0 clamp(3rem,5vw,4.5rem);
}
.manifesto-copy>p{
  inline-size:min(100%,21.5rem);
  max-height:21.5rem;
  font-size:clamp(1rem,.35vw + .94rem,1.125rem);
}
.manifesto-copy>.circle-link{
  position:relative;
  z-index:3;
  align-self:center;
  cursor:pointer;
  pointer-events:auto;
  transition:transform .22s ease,filter .22s ease;
}
.manifesto-copy>.circle-link:hover,
.manifesto-copy>.circle-link:focus-visible{
  transform:translate(3px,-3px);
  filter:brightness(1.12);
  outline:3px solid rgba(89,19,47,.22);
  outline-offset:4px;
}
@media(max-width:900px){
  .manifesto-copy>p{inline-size:100%}
}
@media(max-width:600px){
  .manifesto-copy{margin:2rem 0 3.5rem}
.manifesto-copy>p{max-height:19rem}
}

/* Bento, profondità tattile leggera e microinterazioni */
html,body{max-width:100%;overflow-x:clip}
.manifesto-copy,
.service-list,
.featured-project,
.news-grid{
  isolation:isolate;
}

.manifesto-copy>p,
.manifesto-copy>.circle-link,
.service,
.featured-project,
.news-card,
.impact-strip>div{
  border:0;
  box-shadow:0 12px 32px rgba(32,24,48,.08),0 2px 7px rgba(32,24,48,.05);
}

/* Immagini senza cornice; icone più leggere e semitrasparenti */
.project-image,
.news-art,
.content-hero-image,
.content-body figure,
.content-body img{
  border:0;
  outline:0;
}
.feature-icon{
  opacity:.7;
}
.feature-icon svg{
  opacity:1;
}
.project-copy p{text-align:left}
.hero-lead{text-align:left;text-justify:auto}

/* Gerarchia H1/H2 più netta e titoli senza spezzature forzate */
.manifesto-copy h2,
.projects-head h2,
.news-head h2,
.expertise h2,
.contact h2,
.content-body>h2{
  font-size:clamp(2rem,3vw,2.5rem);
  line-height:1.08;
  overflow-wrap:normal;
  hyphens:none;
}
@media(max-width:600px){
  .manifesto-copy h2,.projects-head h2,.news-head h2,.expertise h2,.contact h2,.content-body>h2{font-size:clamp(1.85rem,8vw,2.2rem)}
}

.manifesto-copy>p,
.service,
.featured-project,
.news-card{
  position:relative;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.manifesto-copy>p:hover,
.service:hover,
.service:focus-within,
.featured-project:hover,
.news-card:hover,
.news-card:focus-within{
  transform:translateY(-4px);
  box-shadow:0 20px 46px rgba(32,24,48,.13),0 4px 12px rgba(32,24,48,.07);
}

.service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.75rem,1.4vw,1.25rem);
}
.service{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(184,216,245,.035));overflow:hidden}
.service.active{grid-column:span 2;background:linear-gradient(120deg,rgba(149,23,63,.26),rgba(117,107,197,.18),rgba(66,185,199,.12))}
.service button{min-height:7.25rem}

.featured-project{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);overflow:hidden}
.project-image{overflow:hidden}
.project-image img,.news-art img{transition:transform .22s ease,filter .22s ease}
.featured-project:hover .project-image img,.news-card:hover .news-art img{transform:scale(1.03)}

.news-grid{grid-template-columns:1.12fr .88fr 1fr;grid-auto-flow:dense}
.news-card:first-child{transform:translateY(-1rem)}
.news-card:first-child:hover,.news-card:first-child:focus-within{transform:translateY(calc(-1rem - 4px))}

.button:active,.nav-cta:active,.circle-link:active{transform:translateY(1px) scale(.985)}
.feature-icon,.service-arrow{transition:transform .2s ease,color .2s ease,background .2s ease}
.service:hover .service-arrow,.service:focus-within .service-arrow{transform:translate(3px,-3px)}

/* Tutte le frecce adottano il segno angolare del riquadro */
.service-arrow,
.project-copy .button>span,
.news-head a>span,
.news-card>a>span,
.contact .button>span,
.nav-cta>span,
.text-link>span{
  display:inline-block;
  width:.72rem;
  height:.72rem;
  color:transparent!important;
  font-size:0!important;
  border-top:3px solid #a9e4f7;
  border-right:3px solid #a9e4f7;
  transform:none;
}
.service-arrow{justify-self:end;margin-right:.25rem}
.button:hover>span,.news-head a:hover>span,.news-card>a:hover>span,.nav-cta:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}

.site-header{transition:background .2s ease,backdrop-filter .2s ease,border-color .2s ease,box-shadow .2s ease}
.site-header.is-scrolled{background:rgba(53,17,38,.76);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.13);box-shadow:0 8px 24px rgba(25,14,29,.1)}
.site-header nav a:focus-visible,.search-toggle:focus-visible,.language-switch button:focus-visible{outline:2px solid #e6ff4f;outline-offset:5px}

.reveal-ready{opacity:0;transform:translateY(14px)}
.reveal-ready.is-visible{opacity:1;transform:none;transition:opacity .22s ease,transform .22s ease}

@media(max-width:900px){
  .service-list{grid-template-columns:1fr}
  .service.active{grid-column:auto}
  .featured-project{grid-template-columns:1fr}
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-card:first-child{grid-column:span 2;aspect-ratio:2/1;transform:none}
  .news-card:first-child:hover,.news-card:first-child:focus-within{transform:translateY(-4px)}
}

@media(max-width:600px){
  .news-grid{grid-template-columns:1fr}
  .news-card:first-child{grid-column:auto;aspect-ratio:auto}
  .service button{min-height:5.5rem}
}

@media(prefers-reduced-motion:reduce){
  .manifesto-copy>p,.service,.featured-project,.news-card,.project-image img,.news-art img,.button,.nav-cta,.circle-link,.feature-icon,.service-arrow,.site-header,.reveal-ready,.reveal-ready.is-visible{transition:none!important;transform:none!important}
  .reveal-ready{opacity:1!important}
}

/* Carosello: controllo manuale con mouse, trackpad, tastiera e swipe */
.hero-card{cursor:grab;touch-action:pan-y;user-select:none}
.hero-card.is-dragging{cursor:grabbing}
.hero-card:focus-visible{outline:2px solid #a9e4f7;outline-offset:4px}
.hero-card .mini-track{cursor:pointer;min-height:8px;padding-block:3px;background-clip:content-box}

/* Sfera hero: un solo quarto visibile nell'angolo inferiore destro */
.hero:before{
  left:auto;
  top:auto;
  right:-26vw;
  bottom:-26vw;
  width:52vw;
  box-shadow:none;
  opacity:.34;
}
.hero:after{right:-20vw;bottom:-20vw;width:40vw;opacity:.16}
.hero-orbit.orbit-one{left:auto;right:-21vw;top:auto;bottom:-21vw;width:42vw}
.hero-orbit.orbit-two{left:auto;right:-14vw;top:auto;bottom:-14vw;width:28vw}

@media(max-width:600px){
  .hero:before{left:auto;top:auto;right:-43vw;bottom:-43vw;width:86vw;opacity:.3}
  .hero:after{right:-34vw;bottom:-34vw;width:68vw;opacity:.14}
  .hero-orbit.orbit-one{right:-36vw;bottom:-36vw;width:72vw}
  .hero-orbit.orbit-two{right:-24vw;bottom:-24vw;width:48vw}
}

/* Final cascade for the selective Bento treatment */
.manifesto-copy{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr) auto;align-items:stretch}
.manifesto-copy h2,.manifesto-copy>p,.manifesto-copy>.circle-link,.impact-strip>div,.service,.featured-project,.news-card{border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}
.manifesto-copy h2{padding:clamp(1.5rem,3vw,2.75rem);background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(203,210,255,.14))}
.manifesto-copy>p{padding:clamp(1.5rem,3vw,2.5rem);background:rgba(255,255,255,.58);backdrop-filter:blur(8px)}
.manifesto-copy>.circle-link{align-self:end;border-radius:20px}
.impact-strip{gap:clamp(.75rem,1.4vw,1.25rem);background:transparent;border:0}
.impact-strip>div:nth-child(2){transform:none}
.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.5vw,1.25rem)}
.service,.service:last-child{min-height:9rem;border:1px solid rgba(255,255,255,.12)}
.service.active{grid-column:auto;grid-row:span 2;min-height:19.25rem}
.service button{grid-template-columns:3.5rem 1fr auto;gap:1rem}
.service.active .service-body{padding-left:3.5rem;grid-template-columns:1fr;gap:1.25rem;max-height:24rem}
.featured-project{border-radius:var(--surface-radius);box-shadow:0 20px 55px rgba(39,34,74,.14)}
.news-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(290px,34%);gap:var(--news-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.38) rgba(255,255,255,.08);padding:.5rem .25rem 1.3rem}
.news-card,.news-card.featured,.news-card:first-child{grid-column:auto;aspect-ratio:1;min-height:auto;transform:none;scroll-snap-align:start}
.news-card.featured{aspect-ratio:1.08/1}
.news-card:first-child:hover,.news-card:first-child:focus-within{transform:translateY(-4px)}
.news-card.is-filtered-out{display:none}
.news-controls{display:flex}

@media(max-width:900px){
  .manifesto-copy{grid-template-columns:1fr 1fr}.manifesto-copy h2{grid-column:1/-1}.manifesto-copy>.circle-link{grid-column:2;justify-self:end}
  .service-list{grid-template-columns:1fr}.service.active{grid-row:auto;min-height:auto}
  .news-grid{grid-template-columns:none;grid-auto-columns:minmax(290px,70%)}
}
@media(max-width:600px){
  .manifesto-copy{grid-template-columns:1fr}.manifesto-copy h2,.manifesto-copy>p,.manifesto-copy>.circle-link{grid-column:1}.manifesto-copy>.circle-link{justify-self:start}
  .impact-strip>div:nth-child(2){transform:none}
  .service button{grid-template-columns:2.6rem 1fr auto}.service.active .service-body{padding-left:2.6rem}
  .news-grid{grid-template-columns:none;grid-auto-columns:minmax(270px,88%);padding-inline:0}.news-card,.news-card.featured,.news-card:first-child{aspect-ratio:auto;min-height:31rem}
}

/* Editorial italic for the words already highlighted by colour */
.hero h1{
  font-size:clamp(3.1rem,6.7vw,6.55rem);
}
.hero h1 em,
.manifesto-copy h2 span,
.expertise h2 em,
.contact h2 em{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-weight:800;
  font-size:1.12em;
  line-height:.82;
  letter-spacing:-.035em;
  vertical-align:-.025em;
  -webkit-text-stroke:.38px currentColor;
  text-shadow:.38px 0 currentColor,-.38px 0 currentColor;
}
.hero h1 em{
  white-space:nowrap;
  -webkit-text-stroke:.52px rgba(169,228,247,.92);
  text-shadow:none;
}
.expertise h2 em{
  display:block;
  margin-top:.06em;
  font-size:1.2em;
}
.manifesto-copy h2 span{
  font-size:1.2em;
}
.manifesto-copy h2{
  background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(235,238,255,.80));
}

/* Lightweight circular lines moving from the right corner toward the H1 */
.hero-orbit.orbit-one,
.hero-orbit.orbit-two{
  left:auto;
  bottom:auto;
  pointer-events:none;
  border-color:rgba(255,255,255,.22);
  will-change:transform;
}
.hero-orbit.orbit-one{
  width:52vw;
  right:-19vw;
  top:13%;
  animation:hero-circle-drift 12s cubic-bezier(.45,0,.55,1) infinite alternate;
}
.hero-orbit.orbit-two{
  width:39vw;
  right:-11vw;
  top:27%;
  border-color:rgba(169,228,247,.28);
  animation:hero-circle-drift-soft 16s cubic-bezier(.45,0,.55,1) -5s infinite alternate;
}
@keyframes hero-circle-drift{
  from{transform:translate3d(3vw,-1vh,0) scale(.98)}
  to{transform:translate3d(-4vw,1.5vh,0) scale(1.025)}
}
@keyframes hero-circle-drift-soft{
  from{transform:translate3d(2vw,1vh,0) scale(1.01)}
  to{transform:translate3d(-3vw,-1vh,0) scale(.985)}
}
@media(max-width:900px){
  .hero-orbit.orbit-one{width:76vw;right:-35vw;top:19%}
  .hero-orbit.orbit-two{width:56vw;right:-24vw;top:32%}
}
@media(max-width:600px){
  .hero-orbit.orbit-one{width:96vw;right:-50vw;top:25%;opacity:.62}
  .hero-orbit.orbit-two{width:72vw;right:-37vw;top:39%;opacity:.58}
}
@media(prefers-reduced-motion:reduce){
  .hero-orbit.orbit-one,.hero-orbit.orbit-two{animation:none!important;transform:none!important}
}

/* Sharp corners: preserve depth and interactions without rounded geometry */
.hero-card,
.manifesto-copy h2,
.manifesto-copy>p,
.manifesto-copy>.circle-link,
.impact-strip,
.impact-strip>div,
.service,
.featured-project,
.project-image,
.project-copy,
.news-card,
.news-art,
.news-controls button,
.news-filters button,
.image-label,
.tags span,
.button,
.nav-cta,
.search-result{
  border-radius:0!important;
}
.projects .featured-project,
.projects .project-image,
.projects .project-copy,
.projects .image-label{
  border-radius:0!important;
}
.news .news-card,
.news .news-card.featured,
.news .news-card.text-card,
.news .news-art,
.news .news-art img,
.news .news-status,
.news .news-filters button,
.news .news-controls button{
  border-radius:0!important;
}

/* Compact keyword geometry: keep labels distinct without pill-shaped corners. */
.news .news-status,
.archive-keywords span,
.tags span{
  border-radius:4px!important;
}

/* Keep the complete company profile readable inside its Bento tile. */
.manifesto-copy>p{
  min-height:20rem;
  max-height:20rem;
  overflow-y:scroll;
  padding-bottom:clamp(2.75rem,4vw,3.5rem)!important;
  scroll-padding-bottom:clamp(2.75rem,4vw,3.5rem);
  scrollbar-width:thin;
  scrollbar-color:rgba(89,19,47,.30) rgba(89,19,47,.06);
}
.manifesto-copy>p::-webkit-scrollbar{width:6px}
.manifesto-copy>p::-webkit-scrollbar-track{background:rgba(89,19,47,.06)}
.manifesto-copy>p::-webkit-scrollbar-thumb{
  min-height:44px;
  background:rgba(89,19,47,.30);
  border:0;
  background-clip:padding-box;
}

/* Diagonal hero depth: periwinkle reference at top-left, approved wine at bottom-right. */
.hero{
  background:linear-gradient(135deg,#aebaf5 0%,#8392e6 22%,#625f9f 36%,#40365f 54%,#562449 70%,#963b6d 100%);
}
.hero h1,
.hero .eyebrow,
.hero .hero-lead{
  text-shadow:0 2px 14px rgba(25,17,39,.28);
}
.hero .hero-copy,
.hero .hero-copy::before,
.hero .hero-copy::after{
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.hero .hero-copy::before,
.hero .hero-copy::after{
  content:none!important;
}

/* More dimensional right-hand transition for the light manifesto section. */
.manifesto{
  background:
    radial-gradient(circle at 100% 44%,rgba(127,142,232,.76) 0%,rgba(174,186,245,.56) 32%,transparent 66%),
    linear-gradient(120deg,#f7ece7 0%,#eef0f8 42%,#b7c3f5 100%);
}

/* Projects section: cool blue at left, warm ivory-sand at right. */
.projects{
  background:linear-gradient(120deg,#cbd2ff 0%,#e7effb 46%,#f7ece7 100%);
}

/* Hero carousel tile: preserve its existing translucency and geometry. */
.hero-card{
  background:linear-gradient(135deg,rgba(48,69,111,.96) 0%,rgba(82,45,91,.92) 52%,rgba(105,29,62,.88) 100%);
}

/* Match the featured case-study panel to the blue-to-wine diagonal language. */
.projects .project-copy{
  background:linear-gradient(135deg,#30456f 0%,#522d5b 52%,#691d3e 100%);
}
.projects .project-type{
  color:#f08fbd;
}
.news .news-card[data-category="funding"]{
  align-self:start;
  aspect-ratio:auto;
  min-height:0;
  background:
    radial-gradient(circle at 17% 0%,rgba(186,112,71,.76),transparent 25%),
    radial-gradient(circle at 56% 4%,rgba(31,112,128,.72),transparent 31%),
    radial-gradient(circle at 95% 0%,rgba(151,83,62,.58),transparent 25%),
    linear-gradient(115deg,#263645 0%,#222534 54%,#342838 100%);
}

/* Navigation bar: muted plum reference fading softly into the hero. */
.site-header,
.site-header.is-scrolled{
  background:linear-gradient(to bottom,rgba(62,66,113,.96) 0%,rgba(62,66,113,.78) 56%,rgba(62,66,113,0) 100%);
  border-bottom:0;
  box-shadow:none;
}

/* Diffuse water-like ripples replace the crisp concentric outlines. */
.manifesto:after{
  opacity:.42;
  background:
    radial-gradient(circle,rgba(127,142,232,.28) 1.1px,transparent 1.8px),
    repeating-radial-gradient(circle at 28% 48%,
      transparent 0 34px,
      rgba(138,205,226,.03) 42px,
      rgba(116,184,215,.18) 55px,
      rgba(224,196,161,.13) 68px,
      rgba(255,255,255,.04) 79px,
      transparent 92px 126px),
    radial-gradient(circle at 28% 48%,rgba(184,216,245,.30),transparent 66%);
  background-size:24px 24px,100% 100%,100% 100%;
}

/* Light project-title surface at 70% opacity; typography stays fully opaque. */
.projects-head:before{
  background:linear-gradient(90deg,rgba(238,240,248,.20),rgba(220,225,250,.10) 72%,transparent);
}

.manifesto-copy h2 span{
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
  font-size:calc(1.32em + 4px);
  color:#001bff;
}

@media(max-width:600px){
  .manifesto-copy h2 span{font-size:calc(1.18em + 4px)}
}

/* Soft white concentric glow inside the three impact tiles. */
.impact-strip>div:after{
  inset:auto;
  width:clamp(22rem,34vw,36rem);
  aspect-ratio:1;
  opacity:.62;
  filter:blur(1.25px);
  background:repeating-radial-gradient(circle,
    transparent 0 30px,
    rgba(255,255,255,.10) 34px,
    rgba(255,255,255,.46) 38px,
    rgba(255,255,255,.12) 43px,
    transparent 49px 78px);
}
.impact-strip>div:nth-child(1):after{right:-46%;bottom:-92%}
.impact-strip>div:nth-child(2):after{right:-24%;top:-78%;transform:scale(1.12)}
.impact-strip>div:nth-child(3):after{right:-34%;bottom:-104%;transform:scale(1.28)}
.impact-strip>div>b,
.impact-strip>div>span{position:relative;z-index:1}

/* Fixed breathing room: these translucent rails remain visible while text scrolls. */
.manifesto-copy>p{
  box-sizing:border-box;
  border-top:14px solid rgba(255,255,255,.68)!important;
  border-bottom:14px solid rgba(255,255,255,.68)!important;
  padding-top:clamp(2rem,3vw,2.5rem)!important;
  padding-bottom:clamp(2rem,3vw,2.5rem)!important;
  scroll-padding-top:clamp(2rem,3vw,2.5rem);
  scroll-padding-bottom:clamp(2rem,3vw,2.5rem);
  background-clip:padding-box;
}

.hero-card{
  box-sizing:border-box;
  border-top:0!important;
  border-bottom:0!important;
  padding-block:clamp(2rem,3vw,2.6rem);
}

/* White digital mesh in the open area of the manifesto section. */
.manifesto:after{
  inset:4% 0 0 38%;
  width:62%;
  height:88%;
  opacity:.25;
  background:url('./assets/rete-digitale-bianca.webp?v=9c6673e23363') 58% center/cover no-repeat;
  filter:grayscale(1) brightness(2.7) contrast(1.2);
  mix-blend-mode:screen;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 20%,#000 52%,#000 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 20%,#000 52%,#000 100%);
}

@media(max-width:760px){
  .manifesto:after{
    inset:20% 0 0 28%;
    width:72%;
    height:70%;
    opacity:.14;
    background-position:62% center;
  }
}

/* Reference dash pattern beneath the Projects gradient. */
.projects{
  background-image:
    linear-gradient(120deg,rgba(203,210,255,.90) 0%,rgba(231,239,251,.91) 46%,rgba(247,236,231,.93) 100%),
    url('./assets/pattern-segmenti.jpg?v=2494fffc4fd1');
  background-size:cover,140% auto;
  background-position:center,center 82%;
  background-repeat:no-repeat;
}

@media(max-width:760px){
  .projects{
    background-size:cover,auto 72%;
    background-position:center,center bottom;
  }
}

/* Perforated wave appears locally behind the News gradient, then dissolves. */
.news:before{
  inset:0 0 0 auto;
  width:min(68%,72rem);
  height:100%;
  opacity:.23;
  background:url('./assets/trama-onda-perforata.webp?v=245b7766508f') 58% center/cover no-repeat;
  filter:grayscale(1) brightness(1.55) contrast(.82);
  mix-blend-mode:screen;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 16%,#000 46%,#000 82%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 16%,#000 46%,#000 82%,transparent 100%);
}

.news>.section-kicker,
.news>.news-head,
.news>.news-filters,
.news>.news-grid{position:relative;z-index:1}

@media(max-width:760px){
  .news:before{
    width:82%;
    opacity:.15;
    background-position:62% center;
  }
}

/* White digital tiles beneath the Contact gradient. */
.contact:before{
  inset:0 36% 0 0;
  width:64%;
  height:100%;
  aspect-ratio:auto;
  border-radius:0;
  opacity:.58;
  background:url('./assets/tessere-digitali-bianche.webp?v=b9c68a0b87a4') 46% 34%/cover no-repeat;
  mix-blend-mode:normal;
  mask-image:linear-gradient(90deg,#000 0%,#000 64%,rgba(0,0,0,.78) 82%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 64%,rgba(0,0,0,.78) 82%,transparent 100%);
}

@media(max-width:760px){
  .contact:before{
    inset:0 0 48% 0;
    width:100%;
    height:52%;
    opacity:.44;
    background-position:48% 28%;
    mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.62) 72%,transparent 100%);
    -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.62) 72%,transparent 100%);
  }
}

/* Three coordinated crops from the manifesto's digital-mesh image. */
.impact-strip>div:after{
  inset:0;
  width:auto;
  height:auto;
  aspect-ratio:auto;
  opacity:.24;
  border-radius:inherit;
  background-image:url('./assets/rete-digitale-bianca.webp?v=9c6673e23363');
  background-repeat:no-repeat;
  background-size:245% auto;
  filter:grayscale(1) brightness(2.65) contrast(1.05);
  mix-blend-mode:screen;
  transform:none;
}
.impact-strip>div:nth-child(1):after{background-position:8% 48%}
.impact-strip>div:nth-child(2):after{background-position:52% 55%}
.impact-strip>div:nth-child(3):after{background-position:94% 42%}

@media(max-width:760px){
  .impact-strip>div:after{
    opacity:.19;
    background-size:190% auto;
  }
}

/* Keep the featured-project image flush with the full card height. */
@media(min-width:901px){
  .projects .project-image{
    height:100%;
    min-height:0;
    align-self:stretch;
  }
  .projects .project-image img{
    inset:0;
    width:100%;
    height:100%;
    min-height:100%;
    object-fit:cover;
  }
}
/* Supplied digital hand, entering the sand canvas from the upper left. */
.manifesto > .manifesto-hand {
  position:absolute;
  z-index:0;
  pointer-events:none;
  inset:-3rem auto auto -8%;
  width:min(78vw,1100px);
  height:clamp(270px,35vw,490px);
  background:url('./assets/mano-digitale-riferimento.webp?v=9c6673e23363') center/cover no-repeat;
  transform:scaleX(-1) rotate(-12deg);
  filter:grayscale(1) brightness(2.2);
  mix-blend-mode:screen;
  opacity:.8;
  -webkit-mask-image:radial-gradient(ellipse at 46% 38%,#000 18%,rgba(0,0,0,.8) 46%,transparent 73%);
  mask-image:radial-gradient(ellipse at 46% 38%,#000 18%,rgba(0,0,0,.8) 46%,transparent 73%);
}
@media(max-width:760px){
  .manifesto > .manifesto-hand{width:115vw;height:280px;left:-25%;top:-2rem;opacity:.62}
}

/* White flat symbols with a soft raised surface, alongside each keyword. */
.impact-strip>div{
  display:grid;
  grid-template-columns:3.5rem minmax(0,1fr);
  column-gap:1.25rem;
  align-content:center;
}
.impact-strip>div>.impact-icon{
  grid-column:1;
  grid-row:1 / 3;
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-self:center;
  width:3.5rem;
  height:3.5rem;
  border-radius:1rem;
  background:rgba(220,225,246,.80);
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  backdrop-filter:blur(12px) saturate(125%);
  border:1px solid rgba(255,255,255,.55);
  box-sizing:border-box;
  box-shadow:inset 4px 4px 8px rgba(91,102,151,.25),inset -4px -4px 8px rgba(255,255,255,.85);
  color:#fff;
}
.impact-icon svg{
  width:1.9rem;
  height:1.9rem;
  filter:url('./assets/icon-inset.svg#inset');
}
.impact-strip>div>b,.impact-strip>div>span{grid-column:2;min-width:0}
@media(max-width:1100px) and (min-width:601px){
  .impact-strip>div{grid-template-columns:minmax(0,1fr);row-gap:.75rem}
  .impact-strip>div>.impact-icon{grid-column:1;grid-row:auto}
  .impact-strip>div>b,.impact-strip>div>span{grid-column:1}
}
@media(max-width:600px){
  .impact-strip>div{column-gap:1rem}
}

/* Gently drift the dash texture beneath the unchanged Projects gradient. */
.projects{
  animation:project-dash-drift 16s ease-in-out infinite alternate;
}
@keyframes project-dash-drift{
  from{background-position:center,46% 78%}
  to{background-position:center,54% 86%}
}
@media(max-width:760px){
  .projects{animation-name:project-dash-drift-mobile}
  @keyframes project-dash-drift-mobile{
    from{background-position:center,48% 96%}
    to{background-position:center,52% 100%}
  }
}
@media(prefers-reduced-motion:reduce){
  .projects{animation:none!important}
}

/* Recessed dash relief: directional shadow and highlight from the existing texture. */
.projects{background:linear-gradient(120deg,#cbd2ff 0%,#e7effb 46%,#f7ece7 100%);animation:none}
.projects::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url('./assets/pattern-segmenti.jpg?v=2494fffc4fd1') 46% 78%/140% auto no-repeat;
  filter:grayscale(1) url('./assets/texture-relief.svg#recessed');
  mix-blend-mode:soft-light;
  opacity:.72;
  animation:recessed-dash-drift 16s ease-in-out infinite alternate;
}
@keyframes recessed-dash-drift{
  from{background-position:46% 78%}
  to{background-position:54% 86%}
}
@media(max-width:760px){
  .projects::after{background-size:auto 72%;animation-name:recessed-dash-drift-mobile}
  @keyframes recessed-dash-drift-mobile{
    from{background-position:48% 96%}
    to{background-position:52% 100%}
  }
}
@media(prefers-reduced-motion:reduce){.projects::after{animation:none!important}}

/* Feather every edge of the mesh overlay to remove horizontal seams. */
.manifesto::after{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 20%,#000 52%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 20%,#000 52%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}

/* Glass navigation tile with saturated interaction states. */
.manifesto-copy>.circle-link{
  background:rgba(220,225,246,.80);
  color:#691d3e;
  border:1px solid rgba(255,255,255,.60);
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  backdrop-filter:blur(12px) saturate(125%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.65),0 5px 16px rgba(74,73,120,.14);
  transition:background .22s ease,color .22s ease,box-shadow .22s ease;
}
.manifesto-copy>.circle-link:hover,
.manifesto-copy>.circle-link:focus-visible,
.manifesto-copy>.circle-link:active{
  background:rgba(143,35,75,.86);
  color:#fff;
  -webkit-backdrop-filter:blur(12px) saturate(180%);
  backdrop-filter:blur(12px) saturate(180%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.30),0 5px 16px rgba(105,29,62,.22);
}
.manifesto-copy>.circle-link:focus-visible{outline:2px solid #691d3e;outline-offset:4px}

/* White recessed arrow with a soft surrounding shadow. */
.manifesto-copy>.circle-link span::after{
  border-color:#fff;
  filter:url('./assets/icon-inset.svg#inset') drop-shadow(0 0 3px rgba(64,72,115,.52)) drop-shadow(0 1px 6px rgba(64,72,115,.28));
}

.manifesto-copy>.circle-link:hover span::after,
.manifesto-copy>.circle-link:focus-visible span::after,
.manifesto-copy>.circle-link:active span::after{border-color:#fff}

/* Dark neumorphic arrow tiles for the expertise accordion. */
.expertise .service .service-arrow{
  position:relative;
  width:3rem;
  height:3rem;
  border:0;
  border-radius:.9rem;
  background:linear-gradient(145deg,#303043,#262637);
  box-shadow:5px 5px 11px rgba(7,7,17,.55),-4px -4px 10px rgba(103,100,139,.16);
  transform:none!important;
  transition:background .22s ease,box-shadow .22s ease;
}
.expertise .service .service-arrow::after{
  content:"";
  position:absolute;
  width:.65rem;
  height:.65rem;
  top:calc(50% - .4rem);
  left:calc(50% - .4rem);
  border-top:3px solid #e6e9f5;
  border-right:3px solid #e6e9f5;
  transition:transform .22s ease,border-color .22s ease;
}
.expertise .service button:hover .service-arrow,
.expertise .service button:focus-visible .service-arrow{
  background:linear-gradient(145deg,#33364f,#292d43);
}
.expertise .service.active .service-arrow,
.expertise .service button:active .service-arrow{
  background:linear-gradient(135deg,#202232,#303e59);
  box-shadow:inset 4px 4px 9px rgba(6,7,16,.65),inset -3px -3px 8px rgba(108,123,162,.18);
}
.expertise .service.active .service-arrow::after{transform:rotate(90deg);border-color:#a9e4f7}
@media(prefers-reduced-motion:reduce){.expertise .service .service-arrow,.expertise .service .service-arrow::after{transition:none}}

/* Matching soft depth for the two referenced navigation buttons. */
.projects .project-copy .button-outline{
  background:#ed438e;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:6px 6px 14px rgba(32,12,36,.38),-4px -4px 12px rgba(204,122,164,.17);
  color:#fff;
  transition:background .22s ease,box-shadow .22s ease;
}
.projects .project-copy .button-outline:hover,
.projects .project-copy .button-outline:focus-visible{background:#d8327a}
.projects .project-copy .button-outline:active{
  transform:none;
  box-shadow:inset 4px 4px 9px rgba(40,10,33,.48),inset -3px -3px 8px rgba(216,129,173,.20);
}
.projects .project-copy .button-outline>span{border-color:#fff;filter:drop-shadow(0 1px 3px rgba(24,12,34,.35))}
.manifesto-copy>.circle-link{
  box-shadow:5px 5px 12px rgba(78,86,137,.24),-4px -4px 11px rgba(255,255,255,.65),inset 1px 1px 0 rgba(255,255,255,.55);
}
.manifesto-copy>.circle-link:active{
  box-shadow:inset 4px 4px 9px rgba(52,24,57,.40),inset -3px -3px 8px rgba(235,192,220,.25);
  transform:none;
}

/* Match approach symbols to the electric-blue business tagline. */
.impact-strip>div>.impact-icon{color:#001bff}

/* Blue interaction state coordinated with the approach icons. */
.manifesto-copy>.circle-link:hover,
.manifesto-copy>.circle-link:focus-visible,
.manifesto-copy>.circle-link:active{
  background:rgba(0,27,255,.86);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.30),0 5px 16px rgba(0,20,130,.25);
}
.manifesto-copy>.circle-link:focus-visible{outline-color:#001bff}
.manifesto-copy>.circle-link:active{
  box-shadow:inset 4px 4px 9px rgba(0,12,95,.45),inset -3px -3px 8px rgba(184,200,255,.28);
}

/* Lime accents from the supplied contact reference. */
.contact h2 em{color:#cbd342;-webkit-text-fill-color:#cbd342}
.contact .button-white{
  background:#cbd342;
  color:#292631;
}
.contact .button-white>span{border-color:#20236b}
.contact .button-white:hover,.contact .button-white:focus-visible{background:#b8c132;color:#292631}

/* Demo confirmation state; the existing message explains delivery is not connected. */
.contact #contact-form.is-confirmed .button-white{
  background:linear-gradient(115deg,#b4cf43,#d7e963);
  color:#292631;
}
.contact #contact-form.is-confirmed .button-white>span{border-color:#20236b}

/* Slightly larger square expertise arrow tiles. */
.expertise .service .service-arrow{width:3.5rem;height:3.5rem;border-radius:0}
.expertise .service .service-arrow::after{
  width:.8rem;height:.8rem;
  top:calc(50% - .5rem);left:calc(50% - .5rem);
}

/* Pale glass-like outline around the pink projects button. */
.projects .project-copy .button-outline{
  border:2px solid rgba(255,255,255,.72);
  box-shadow:0 0 12px rgba(255,225,243,.12),6px 6px 14px rgba(32,12,36,.38),-4px -4px 12px rgba(204,122,164,.17);
}
.projects .project-copy .button-outline:hover,
.projects .project-copy .button-outline:focus-visible{border-color:rgba(255,255,255,.92)}

/* Tactile pressed feedback for buttons and expanded expertise controls. */
.button:active,
.manifesto-copy>.circle-link:active{
  transform:translateY(2px) scale(.98)!important;
  box-shadow:inset 4px 4px 10px rgba(15,18,42,.42),inset -3px -3px 8px rgba(255,255,255,.20)!important;
}
.expertise .service.active .service-arrow,
.expertise .service button:active .service-arrow{
  transform:translateY(2px) scale(.96)!important;
  box-shadow:inset 5px 5px 11px rgba(5,7,19,.78),inset -3px -3px 8px rgba(119,138,185,.22);
}
@media(prefers-reduced-motion:reduce){
  .button:active,.manifesto-copy>.circle-link:active,
  .expertise .service.active .service-arrow,.expertise .service button:active .service-arrow{transform:none!important}
}

/* Sky-blue news archive button, coordinated with the other tactile controls. */
.news-head>a{
  display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:1rem 1.25rem;min-height:3.5rem;box-sizing:border-box;
  background:#a9e4f7;color:#20233b;font-weight:600;
  border:2px solid rgba(255,255,255,.72);border-radius:0;text-decoration:none;
  box-shadow:5px 5px 13px rgba(25,15,43,.30),-3px -3px 10px rgba(216,246,255,.15);
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.news-head>a>span{border-color:#20236b}
.news-head>a:hover,.news-head>a:focus-visible{background:#bfefff;border-color:#fff}
.news-head>a:active{
  transform:translateY(2px) scale(.98);
  box-shadow:inset 4px 4px 9px rgba(46,94,122,.32),inset -3px -3px 8px rgba(255,255,255,.65);
}
@media(prefers-reduced-motion:reduce){.news-head>a{transition:none}.news-head>a:active{transform:none}}

/* Periwinkle-blue veil for the contact introduction. */


/* Subtle pink outline for the projects button. */
.projects .project-copy .button-outline{border:1px solid rgba(247,145,188,.65)}
.projects .project-copy .button-outline:hover,
.projects .project-copy .button-outline:focus-visible{border-color:rgba(250,160,199,.80)}

/* Borderless sky-blue news button. */
.news-head>a,.news-head>a:hover,.news-head>a:focus-visible{border:0}

/* Borderless projects button in every interaction state. */
.projects .project-copy .button-outline,
.projects .project-copy .button-outline:hover,
.projects .project-copy .button-outline:focus-visible,
.projects .project-copy .button-outline:active{border:0}

/* Explicit fade of the veil only; text remains fully opaque. */
.contact-copy{position:relative}


/* Local dark-blue backing improves the lime tagline's contrast. */
.contact h2 em{
  position:relative;
  isolation:isolate;
}
.contact h2 em::before{
  content:"";
  position:absolute;
  inset:-.10em -.14em;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(36,45,103,.282),rgba(42,52,112,.27));
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 82%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 82%,transparent 100%);
}

/* Lime lettering with a soft, translucent lavender glass halo. */
.contact h2 em{
  color:#d6de43;
  -webkit-text-fill-color:#d6de43;
  text-shadow:none;
  text-decoration:none;
}
.contact h2 em::before{content:none}

/* Contact description: exactly 3px smaller at every viewport. */
.contact-copy>p{font-size:calc(clamp(1.125rem,.7vw + 1rem,1.375rem) - 3px)}

/* Keep every contact field's hint and entered text at the same reduced size. */
.contact input:not([type="checkbox"]),.contact textarea{font-size:calc(1.1rem - 2px)}

/* Consistent recessed feedback on the five homepage calls to action. */
:is(.hero-actions>.button-primary,.projects .project-copy>.button-outline,.news-head>a,.contact .button-white,.manifesto-copy>.circle-link){
  transition:box-shadow .16s ease,transform .16s ease,background .2s ease;
}
:is(.hero-actions>.button-primary,.projects .project-copy>.button-outline,.news-head>a,.contact .button-white,.manifesto-copy>.circle-link):is(:hover,:focus-visible,:active){
  box-shadow:inset 5px 5px 12px rgba(20,18,47,.38),inset -4px -4px 10px rgba(255,255,255,.45)!important;
  transform:translateY(2px)!important;
}
:is(.hero-actions>.button-primary,.projects .project-copy>.button-outline,.news-head>a,.contact .button-white,.manifesto-copy>.circle-link):active{
  box-shadow:inset 7px 7px 14px rgba(20,18,47,.46),inset -3px -3px 8px rgba(255,255,255,.38)!important;
  transform:translateY(3px) scale(.985)!important;
}
@media(prefers-reduced-motion:reduce){
  :is(.hero-actions>.button-primary,.projects .project-copy>.button-outline,.news-head>a,.contact .button-white,.manifesto-copy>.circle-link):is(:hover,:focus-visible,:active){transform:none!important;transition:none}
}

/* Three-stop vertical veil, centered on the lime contact tagline. */


/* Expand the introduction into the space released by the removed text panel. */
.manifesto-copy{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,2vw,2rem)}
.manifesto-copy h2{grid-column:1;min-width:0;max-width:none;width:100%;box-sizing:border-box;height:auto;min-height:0;line-height:1.15;padding:clamp(1.5rem,3vw,2.75rem)}
.manifesto-copy h2 span{display:block;margin-top:.15em}
.manifesto-copy>.circle-link{grid-column:2;justify-self:end}
@media(max-width:600px){.manifesto-copy{grid-template-columns:minmax(0,1fr)}.manifesto-copy h2{grid-column:1}.manifesto-copy>.circle-link{grid-column:1;justify-self:end}}

/* Fade the complete veil at both edges, keeping a visible transparent entrance. */


.manifesto-copy h2 span{color:#0015c4;-webkit-text-fill-color:#0015c4}
.projects-head{grid-template-columns:minmax(0,1fr)}
.projects-head h2{max-width:none;width:100%}

/* Quiet ice-white contact surface with a restrained blue accent. */

.contact .contact-copy h2,.contact .contact-copy>.section-kicker{color:#1d1d1f}
.contact .contact-copy>p{color:#42464c}
.contact .contact-copy h2 em{color:#0015c4;-webkit-text-fill-color:#0015c4}

/* Contact action: blue at rest, lime when engaged. */
.contact #contact-form .button-white{background:#0015c4;color:#fff}
.contact #contact-form .button-white>span{border-color:currentColor;color:inherit}
.contact #contact-form .button-white:is(:hover,:focus-visible,:active),.contact #contact-form.is-confirmed .button-white{background:#cbd342;color:#0015c4}
.contact #contact-form.is-confirmed .button-white>span{border-color:currentColor}

.contact .contact-copy h2 em{font-size:calc(1.12em - 2px)}

.footer-logos{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(1.5rem,3vw,3rem)}
.footer-university-logo{display:block;width:clamp(180px,19vw,270px);height:auto;max-width:100%;object-fit:contain;filter:grayscale(1) invert(1) contrast(5);mix-blend-mode:screen}

.news .news-head>a:is(:hover,:focus-visible,:active){background:linear-gradient(115deg,#dc2889,#b52f94);color:#fff}
.news .news-head>a:is(:hover,:focus-visible,:active)>span{color:#fff;border-color:#fff}

/* Quality certification in the shared footer. */
.footer-certification{display:flex;align-items:center;gap:1.25rem;margin:0 0 2rem;color:#fff}
.quality-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:104px;min-height:90px;padding:.75rem;background:#fff;color:#49203f;border:1px solid #fff;font-family:Montserrat,sans-serif}
.quality-badge span{font-size:1rem;font-weight:600;letter-spacing:.16em;line-height:1.2}
.quality-badge strong{font-size:2rem;font-weight:750;line-height:1.2}
.footer-certification p{margin:0;max-width:29ch;font-size:1rem;line-height:1.5;color:#fff}
@media(max-width:600px){.footer-certification{gap:1rem}.quality-badge{width:90px}.footer-certification p{font-size:.875rem}}

/* Lavender accents matched to the supplied gradient reference. */
.news{background:linear-gradient(to left,#9da8ef 0%,#8385bd 32%,#756d94 62%,#795770 100%)}
.news .section-kicker.light,.news .news-head>div>p{color:#ffffffed}
footer{background:linear-gradient(110deg,#20253a 0%,#492b49 42%,#65547d 72%,#6d6899 100%)}
footer .footer-grid p,footer .footer-grid a,footer .footer-top p,footer .footer-bottom{color:#fffffff0}

footer .footer-brand .brand-logo{filter:brightness(0) invert(1);opacity:1}

/* Expandable geographic locator, using country boundary data. */
footer .footer-top{gap:2.5rem;align-items:flex-start}
.footer-location{flex:0 1 360px;min-width:0;width:100%;margin-left:auto}
.footer-map-open{display:block;width:100%;font:inherit;color:#fff;text-align:left;background:transparent;border:0;padding:0;cursor:pointer}
.footer-map-open>img{display:block;width:100%;height:230px;object-fit:contain;object-position:right center;filter:drop-shadow(0 5px 12px #181f4926);transition:filter .2s ease}
.footer-map-open>span{display:block;font-size:.9375rem;font-weight:600;line-height:1.5}.footer-map-open>span>span{float:right}.footer-map-open small{display:block;font-size:.875rem;font-weight:400;color:#ffffffde}
.footer-location>p{font-size:.875rem;line-height:1.6;margin-top:1rem}
.footer-map-open:focus-visible,.location-dialog button:focus-visible,.location-dialog a:focus-visible{outline:2px solid #fff;outline-offset:5px}
.footer-map-open:hover>img{filter:drop-shadow(0 0 9px #ffffff26)}
.location-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;margin:auto;padding:clamp(1.25rem,3vw,2rem);color:#fff;background:linear-gradient(140deg,#343149,#655b87);border:1px solid #ffffff40;box-shadow:0 30px 100px #10132966;font-family:Montserrat,Arial,sans-serif}
.location-dialog::backdrop{background:#131629b3;backdrop-filter:blur(8px)}
.location-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.location-dialog h2{font:600 1.5rem/1.3 Montserrat,Arial,sans-serif;margin:0}.location-dialog p{font-size:.9375rem;line-height:1.6;margin:.5rem 0 1rem}
.location-close{flex:none;width:44px;height:44px;border:1px solid #ffffff40;background:#ffffff14;color:white;font-size:1.75rem;cursor:pointer}
.location-dialog>img{display:block;width:100%;height:min(48dvh,430px);object-fit:contain}
.location-directions{display:inline-block;padding:.85rem 1rem;background:#fff;color:#423450;font:600 .9375rem/1.4 Montserrat,Arial,sans-serif;text-decoration:none}
@media(max-width:850px){footer .footer-top{flex-wrap:wrap}.footer-location{flex-basis:320px}.footer-map-open>img{height:200px}}
@media(max-width:600px){.footer-location{margin-left:0;flex-basis:100%}.footer-map-open>img{height:220px;object-position:left center}.location-dialog>img{height:40dvh}}
@media(prefers-reduced-motion:reduce){.footer-map-open>img{transition:none}}

/* Compact footer: the locator sits in its own information column. */
footer .footer-top{align-items:center;padding-bottom:2rem}
footer .footer-grid{grid-template-columns:1.15fr 1.1fr .8fr .9fr 1.2fr;gap:clamp(1rem,2vw,2rem);align-items:start;padding:2rem 0}
footer .footer-grid>div{min-width:0}
footer .footer-grid .footer-location{width:100%;margin:0;max-width:290px}
footer .footer-grid .footer-location .footer-map-open>img{height:150px;object-position:center}
footer .footer-location .footer-map-open>span{display:block;font-size:.875rem;font-weight:600;line-height:1.5;color:#fff;text-transform:none;letter-spacing:0;margin:.35rem 0 0}
footer .footer-location .footer-map-open>span>span{display:inline;float:right;font-size:1rem;color:#fff;letter-spacing:0;margin:0}
footer .footer-location .footer-map-open small{font-size:.8125rem;font-weight:400;letter-spacing:0;text-transform:none}
footer .footer-grid a{overflow-wrap:anywhere}
@media(max-width:1100px){footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}footer .footer-top{align-items:flex-start;gap:1.25rem}footer .footer-top>p{font-size:.875rem}}
@media(max-width:420px){footer .footer-grid{grid-template-columns:1fr}.footer-location{max-width:260px}}

/* Smaller secondary footer copy, retaining the column headings. */
footer .footer-top>p,footer .footer-grid p,footer .footer-grid a,footer .footer-certification>p{font-size:.875rem;line-height:1.6}

.news-controls[hidden],.news-controls button[hidden]{display:none!important}

footer .footer-grid .footer-map-open{text-decoration:none;color:#fff}

.location-dialog{width:min(960px,calc(100vw - 2rem))}.location-dialog iframe{display:block;width:100%;height:min(65dvh,580px);border:0;background:#fff}

footer .footer-brand .brand-logo{-webkit-mask-image:url("assets/footer-logo-separators.svg?v=891d23b4b05d");mask-image:url("assets/footer-logo-separators.svg?v=891d23b4b05d");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

.manifesto-copy>.circle-link,.manifesto-copy>.circle-link:hover,.manifesto-copy>.circle-link:active{border:0;outline:0}.manifesto-copy>.circle-link:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.manifesto-copy>.circle-link span::after{border-color:#0015c4}
.manifesto-copy>.circle-link:is(:hover,:focus-visible,:active) span::after{border-color:#fff}

.manifesto-copy h2{border:0;outline:0}

.projects .project-copy{background:linear-gradient(135deg,#aebaf5 0%,#8392e6 22%,#625f9f 36%,#40365f 54%,#562449 70%,#963b6d 100%)}.projects .project-copy .project-type{color:#25233e;font-weight:600}.projects .project-copy h3,.projects .project-copy p{color:#fff;text-shadow:0 2px 14px rgba(25,17,39,.28)}

.news .news-head>a{background:radial-gradient(ellipse at 95% 90%,#a6ade9a6,transparent 65%),radial-gradient(ellipse at 4% 5%,#d2caf080,transparent 55%),linear-gradient(115deg,#b7e8f5,#a9e4f7 52%,#bdd3f0);color:#203047}

.contact #contact-form .button-white{background:radial-gradient(ellipse at 12% 0%,#a8bcff55,transparent 65%),linear-gradient(125deg,#243bdbeF,#0015c4f2 65%,#2632cdeF);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #ffffff20,0 8px 22px #172ea126;color:#fff}
.contact #contact-form .button-white:hover{background:radial-gradient(ellipse at 12% 0%,#d2ddff66,transparent 65%),linear-gradient(125deg,#344de6,#1229cef2);color:#fff}

/* Shared white recessed arrow treatment. */
.site-arrow{display:inline-block;flex:none;width:.65rem;height:.65rem;margin:0 .15rem 0 .5rem;border-top:2px solid #fff;border-right:2px solid #fff;vertical-align:middle;filter:drop-shadow(-1px -1px 2px #48516b80) drop-shadow(1px 1px 1px #ffffffb3)}
.site-arrow.arrow-left{transform:rotate(-135deg)}.site-arrow.arrow-right{transform:rotate(45deg)}
.service-arrow,.journey-arrow,.project-copy .button>span,.news-head a>span,.news-card>a>span,.contact .button>span,.nav-cta>span,.text-link>span{border-top:2px solid #fff!important;border-right:2px solid #fff!important;color:transparent!important;font-size:0!important;filter:drop-shadow(-1px -1px 2px #48516b80) drop-shadow(1px 1px 1px #ffffffb3)}
.journey-arrow{display:inline-block;width:.65rem;height:.65rem}
.manifesto-copy>.circle-link span:after{border-color:#fff!important;border-width:2px!important}

.projects .project-copy{background:linear-gradient(135deg,#aebaf5e6 0%,#8392e6e6 22%,#625f9fe6 36%,#40365fe6 54%,#562449e6 70%,#963b6de6 100%)}

/* Keep social arrows beside their link labels, including translated careers text. */
footer .footer-grid>div:nth-child(4)>a{display:flex;align-items:center;gap:.65rem;width:fit-content;max-width:100%}
footer .footer-grid>div:nth-child(4)>a>.site-arrow{display:inline-block;flex-shrink:0;margin:0 .2rem 0 0;letter-spacing:0}

/* Amber news action, coordinated with the lavender section. */
.news .news-head>a{background:radial-gradient(ellipse at 12% 0%,#fff0cf80,transparent 65%),linear-gradient(115deg,#f8b45d,#f5a044 55%,#ed9140);color:#35233f}
.news .news-head>a:is(:hover,:focus-visible,:active){background:linear-gradient(115deg,#efa04a,#e88c38);color:#35233f}
.news .news-head>a>span,.news .news-head>a:is(:hover,:focus-visible,:active)>span{border-color:#35233f!important;color:#35233f}

/* Remove the outer white frame while retaining the inner arrow. */
.expertise .service .service-arrow{border:0!important;filter:none}

/* White header brand matched to the approved footer treatment. */
.site-header .brand-logo{filter:brightness(0) invert(1);opacity:1;-webkit-mask-image:url("assets/footer-logo-separators.svg?v=891d23b4b05d");mask-image:url("assets/footer-logo-separators.svg?v=891d23b4b05d");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

/* Project exploration link hover and keyboard feedback. */
.hero .text-link{transition:color .18s ease,border-color .18s ease}
.hero .text-link:is(:hover,:focus-visible){color:#a9e4f7;border-color:#a9e4f7}
.hero .text-link:is(:hover,:focus-visible)>span{border-color:#a9e4f7!important}
@media(prefers-reduced-motion:reduce){.hero .text-link{transition:none}}

/* Matching solid orange archive actions. */
.projects .project-copy .button-outline,.news .news-head>a{background:#f28b2d;color:#35233f;font:600 1rem/1.4 Montserrat,Arial,sans-serif;padding:1rem 1.2rem;border:0}
.projects .project-copy .button-outline:is(:hover,:focus-visible,:active),.news .news-head>a:is(:hover,:focus-visible,:active){background:#e97c20;color:#35233f}
.projects .project-copy .button-outline>span,.news .news-head>a>span{border-color:#35233f!important}

/* Restore pink only for the homepage all-projects action. */
.projects .project-copy .button-outline{background:#ed438e;color:#fff}
.projects .project-copy .button-outline:is(:hover,:focus-visible,:active){background:#d8327a;color:#fff}
.projects .project-copy .button-outline>span{border-color:#fff!important}

footer .footer-grid .footer-careers[aria-disabled="true"]{cursor:default;pointer-events:none;text-decoration:none}

/* Keep home news actions within the card with consistent breathing room. */
.news .news-card,.news .news-card.featured,.news .news-card:first-child{aspect-ratio:auto;height:auto;min-height:0;padding-bottom:clamp(1.5rem,2vw,2rem)}
.news .news-card .news-art{flex:0 0 auto;height:clamp(10rem,16vw,15rem)}
.news .news-card>a:last-child{display:inline-flex;align-items:center;justify-content:flex-start;align-self:flex-start;gap:.65rem;max-width:100%;box-sizing:border-box;margin-top:1rem;padding:.65rem 0 .55rem;line-height:1.4;flex-shrink:0}
.news .news-card>a:last-child>span{flex-shrink:0;margin:0}

/* Uniform home-news cards: retain the action and collapse only excess copy. */
@media(min-width:601px){
  .news .news-card,
  .news .news-card.featured,
  .news .news-card:first-child{
    height:clamp(30rem,33vw,34rem);
    min-height:0;
    overflow:hidden;
  }
  .news .news-card h3{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
    overflow:hidden;
  }
  .news .news-card>a:last-child{margin-top:auto}
}

/* Keep every card aligned on the same baseline in the home-news carousel. */
.news .news-grid{align-items:start}
.news .news-card,
.news .news-card.featured,
.news .news-card:first-child{margin-top:0!important;transform:none!important}


/* Direct expertise navigation without a long scroll or delayed reveal. */
html:has(#competenze:target){scroll-behavior:auto}
#competenze{scroll-margin-top:110px}
#competenze:target .reveal-ready{opacity:1;transform:none;transition:none;transition-delay:0s}

.expertise-nav{position:relative;display:flex;align-items:center;gap:.2rem}
.expertise-toggle{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:.4rem}
.site-header .expertise-submenu{position:absolute;top:100%;left:0;min-width:300px;max-width:calc(100vw - 2rem);padding:.6rem;background:rgba(245,247,252,.98);color:#292631;box-shadow:0 12px 30px #24203f33;z-index:60}
.site-header .expertise-submenu[hidden]{display:none}
.site-header .expertise-submenu a{display:block;padding:.8rem 1rem;font-size:.9375rem;line-height:1.4;white-space:normal}
.site-header .expertise-submenu a:hover,.site-header .expertise-submenu a[aria-current="page"]{background:#e6eafa;color:#0015c4;opacity:1}
.expertise-toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:900px){.expertise-nav{flex-wrap:wrap}.site-header .expertise-submenu{position:static;width:100%;min-width:0;box-shadow:none}}

html:has(#contatti:target){scroll-behavior:auto}
#contatti{scroll-margin-top:100px}
#contatti:target>.reveal-ready{opacity:1;transform:none;transition:none}

.news .news-head>a,.news .news-head>a:is(:hover,:focus-visible,:active){color:#fff;-webkit-text-fill-color:#fff}

.home-maturity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:clamp(2rem,4vw,4rem) max(4vw,1.5rem);background:linear-gradient(120deg,rgba(183,162,242,.2),rgba(234,247,250,.85));color:#292631}
.home-maturity h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2;margin:.5rem 0 1rem}
.home-maturity p{max-width:760px;line-height:1.6}
.home-maturity .button{white-space:normal;text-align:left;max-width:100%}
@media(max-width:800px){.home-maturity{grid-template-columns:1fr}.home-maturity .button{justify-self:start}}

.home-maturity{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);column-gap:clamp(2rem,5vw,5rem);row-gap:1.5rem}
.home-maturity h2{color:#0000d4}
.home-maturity h2>span{color:#000}
.home-maturity h2>em{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:700;font-size:1.16em;line-height:.9;letter-spacing:-.025em}
.home-maturity>div{grid-column:1;grid-row:1;align-self:end}
.home-maturity>.button{grid-column:1;grid-row:2;justify-self:start;align-self:start;background:#0000d4;color:#fff;padding:1.1rem 1.5rem;box-shadow:0 8px 20px #27236d26}
.home-maturity-chart{grid-column:2;grid-row:1 / 3;margin:0;padding:1rem;background:linear-gradient(135deg,#ffffffd9,#eaf7fa99);box-shadow:0 10px 30px #4936590a}
.home-maturity-chart svg{display:block;width:100%;max-width:390px;margin:auto;overflow:visible}
.home-maturity-chart text{font-family:Montserrat,sans-serif;font-size:10px;font-weight:600;fill:#173e70}
.home-maturity-chart text:nth-of-type(5){text-anchor:middle}
.home-maturity-chart figcaption{text-align:center;color:#514b59;font-size:.75rem;line-height:1.5}
@media(max-width:800px){.home-maturity{grid-template-columns:1fr}.home-maturity>div,.home-maturity-chart,.home-maturity>.button{grid-column:1;grid-row:auto}.home-maturity-chart{max-width:440px;width:100%;box-sizing:border-box;justify-self:center}}
.home-maturity>.button,.home-maturity>.button:is(:hover,:focus-visible,:active){background:#d8e94f;color:#102b59;-webkit-text-fill-color:#102b59}
.home-maturity>.button span{color:#102b59;-webkit-text-fill-color:#102b59}
.home-maturity{background:radial-gradient(ellipse at 12% 24%,#dfd8f580,transparent 55%),radial-gradient(ellipse at 88% 55%,#cfedf780,transparent 55%),linear-gradient(125deg,#f4f2fb,#f0f7fc 60%,#f7f1f7)}
.news .news-head>a>span,.news .news-head>a:is(:hover,:focus-visible,:active)>span{border-color:#fff!important}
.hero-proof{max-width:680px;margin:1rem 0 0;font-size:clamp(.82rem,.8vw,1rem);line-height:1.55;color:rgba(255,255,255,.82)}
.hero-proof strong{color:#fff}.identity-line{max-width:920px;margin:1.25rem 0 2.5rem;padding-left:1rem;border-left:3px solid currentColor;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55}.identity-line--light{opacity:.82}.identity-panel{margin:0 0 clamp(2.5rem,5vw,4.5rem);padding:clamp(1.4rem,3vw,2.25rem);background:rgba(35,64,121,.06)}.identity-panel span{display:block;margin-bottom:.65rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#234079}.identity-panel strong{display:block;max-width:1100px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,4.2vw,4rem);font-style:italic;font-weight:700;line-height:1.02;letter-spacing:-.025em;color:#e85f83}.identity-panel p{margin:1rem 0 0;max-width:850px}.project-evidence{grid-template-columns:repeat(2,minmax(0,1fr))!important}.project-evidence .project-case-study-label{grid-column:1/-1}.project-evidence div{padding:1rem;border-top:1px solid rgba(35,64,121,.16)}@media(max-width:720px){.project-evidence{grid-template-columns:1fr!important}}
.editorial-authority{margin-bottom:clamp(4rem,8vw,7rem)}.editorial-authority>p:not(.section-kicker){max-width:850px}.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.editorial-grid article{padding:1.4rem;border:1px solid rgba(35,64,121,.14);background:#fff}.editorial-grid span,.editorial-grid small{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5a6780}.editorial-grid h3{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.35}.editorial-standard{padding:1.25rem;border-left:4px solid #ed6b2d;background:rgba(237,107,45,.07)}.editorial-standard p{margin:.5rem 0 0}@media(max-width:720px){.editorial-grid{grid-template-columns:1fr}}
.identity-line{padding-left:0;border-left:0}
.identity-panel strong{color:#ed438e}
.identity-panel p{margin-top:calc(1rem + 8px)}

/* Riduzione lieve del claim distintivo nella pagina Chi siamo. */
.identity-panel strong{font-size:clamp(1.9rem,3.9vw,3.75rem)}

/* Compact navigation when the full row has insufficient room. */
@media(max-width:1180px){
  .site-header{height:76px;gap:.75rem}
  .brand{flex-shrink:1;min-width:0}
  .brand-logo{max-width:min(330px,38vw)}
  .site-tools{margin-left:auto}
  .menu-toggle{display:flex;order:3;position:relative;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:44px;min-height:44px;padding:8px;cursor:pointer;font-size:0;flex-shrink:0}
  .menu-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .menu-toggle i{display:block;width:24px;height:2px;flex:none;background:currentColor;border-radius:2px}
  .site-header nav{position:absolute;z-index:24;top:76px;left:0;right:0;margin-left:0;padding:1.5rem var(--pad);max-height:calc(100vh - 76px);overflow-y:auto;display:none;flex-direction:column;align-items:stretch;gap:1rem;background:linear-gradient(135deg,#292631,#64174f 58%,#7159b7)}
  .site-header nav.open{display:flex}
  .site-header .expertise-submenu{position:static;width:100%;min-width:0;box-shadow:none}
  .search-panel{top:76px;max-height:calc(100vh - 76px)}
  .menu-toggle:focus-visible{outline:3px solid #b8d8f5;outline-offset:3px}
}
.home-maturity>.button{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.home-maturity>.button:hover,.home-maturity>.button:focus-visible{transform:translateY(2px) scale(.985);box-shadow:inset 5px 5px 12px rgba(62,78,27,.27),inset -3px -3px 9px rgba(255,255,255,.58);filter:none}
.home-maturity>.button:active{transform:translateY(3px) scale(.98)!important;box-shadow:inset 6px 6px 14px rgba(62,78,27,.35),inset -3px -3px 9px rgba(255,255,255,.5)!important}
@media(prefers-reduced-motion:reduce){.home-maturity>.button{transition:none}.home-maturity>.button:hover,.home-maturity>.button:focus-visible,.home-maturity>.button:active{transform:none!important}}
.news .news-head>a{width:max-content;max-width:100%;min-height:44px;padding:.7rem 1rem;gap:.8rem;font:600 14.5px/1.4 Montserrat,Arial,sans-serif}

/* Requested hero type reduction, preserving its responsive scale. */
.hero h1{font-size:calc(clamp(3.1rem,6.7vw,6.55rem) - 2px)}

/* Readable complete news titles across the carousel and small screens. */
.news .news-grid{align-items:stretch}.news .news-card,.news .news-card.featured,.news .news-card:first-child{height:auto;min-height:0;overflow:visible;align-self:stretch}.news .news-card h3{font-size:clamp(1.125rem,1.35vw,1.375rem);line-height:1.3;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;overflow:visible;max-height:none;height:auto;max-width:100%;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal;white-space:normal;text-overflow:clip;margin:.75rem 0 1rem}.news .news-card p,.news .news-card .news-meta{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}.news .news-card>a:last-child{margin-top:auto}.news .news-meta{gap:.5rem;flex-wrap:wrap}.news .news-meta time{white-space:nowrap}

/* Compact, equal-height news cards with contiguous metadata and title. */
.news .news-grid{align-items:stretch;grid-auto-rows:auto}.news .news-card,.news .news-card.featured,.news .news-card:first-child{height:100%;min-height:0;box-sizing:border-box;aspect-ratio:auto;display:flex;flex-direction:column;align-self:stretch;grid-row:auto;padding-bottom:1.25rem}.news .news-card>a:not(:last-child){margin-top:.6rem;margin-bottom:0;flex-shrink:0}.news .news-card .news-meta{margin:0 0 .25rem;flex-shrink:0}.news .news-card .news-status{margin:.4rem 0 0}.news .news-card h3{margin:.75rem 0 1rem;flex:0 0 auto}.news .news-card>a:last-child{margin-top:auto;padding-top:.75rem;flex-shrink:0}.news .news-card .news-art{height:clamp(9rem,13vw,12rem);margin-bottom:1rem}.news .news-card .news-project-labels{margin:.5rem 0 0}

.news-project-label{padding:3px!important;background:#f7f7f7!important;box-sizing:border-box}

/* Supplied white vector logo */
.site-header .brand-logo,footer .footer-brand .brand-logo{-webkit-mask-image:none!important;mask-image:none!important;filter:none!important;opacity:1;object-fit:contain}

.team-system-inner>g,.team-system-outer>g{cursor:pointer;outline:none}.team-system-inner>g:is(:hover,:focus-visible,.is-active) circle,.team-system-outer>g:is(:hover,:focus-visible,.is-active) rect{stroke:#234b91;stroke-width:3;fill:#e5efff;transition:fill .18s ease,stroke .18s ease}.team-specialist-panel{grid-column:1/-1;padding:1.2rem 1.4rem;border:1px solid #c4d4ed;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:5px 5px 18px #244b9112;min-height:140px}.team-specialist-panel p{margin:.4rem 0;color:#252936;font-size:1rem;line-height:1.6}.team-specialist-panel h4{margin:.35rem 0;color:#234b91;font-size:1.15rem;line-height:1.4}.team-specialist-panel .team-specialist-area{color:#234b91;font-size:.875rem;font-weight:600}

/* More breathing room around the footer brand. */
footer .footer-logos{padding-block:1.25rem}
footer .footer-brand{padding-block:.5rem}
footer .footer-brand .brand-logo{height:68px;max-width:min(470px,82vw)}
@media(max-width:720px){footer .footer-logos{padding-block:1rem}footer .footer-brand .brand-logo{height:54px;max-width:82vw}}

.lum-method .method-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.regia-home-step{display:flex;flex-direction:column;gap:.75rem;padding:1.2rem;color:#143666;background:#ebf4fb;border-radius:12px}.regia-home-step strong{font-size:1.1rem}.regia-home-step .method-verb{font-size:.9rem;line-height:1.6}@media(max-width:1000px){.lum-method .method-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.lum-method .method-steps{grid-template-columns:1fr}}
/* Home: tessere del metodo quadrate e luminose. */
.lum-method .method-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.lum-method .regia-home-step{box-sizing:border-box;aspect-ratio:1/1;border-radius:0;border:0;background:#fff;box-shadow:0 10px 28px rgba(20,40,75,.08);padding:clamp(20px,2.2vw,32px);justify-content:center;gap:18px}.lum-method .regia-home-step strong{font-size:clamp(20px,1.7vw,26px)}.lum-method .regia-home-step .method-verb{font-size:clamp(16px,1.2vw,18px);line-height:1.55}.lum-method .regia-home-step .method-number{align-self:flex-start;color:#5B4BD1}@media(max-width:1000px){.lum-method .method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.lum-method .method-steps{grid-template-columns:1fr}.lum-method .regia-home-step{width:100%;max-width:380px;justify-self:center}}

/* Metodo compatto: cinque tessere sulla stessa riga desktop. */
.lum-method .method-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;width:100%;max-width:1200px;margin-inline:auto}.lum-method .method-steps button.regia-home-step{display:block;position:relative;aspect-ratio:1;min-width:0;width:100%;padding:0;border:0;border-radius:0;background:#fff;color:#143666;box-shadow:0 8px 24px #14284b12;perspective:900px;text-align:left;cursor:pointer;transform:none}.method-flip-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .35s}.is-flipped .method-flip-inner{transform:rotateY(180deg)}.lum-method .method-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:18px;background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto}.lum-method .method-back{transform:rotateY(180deg);gap:8px}.lum-method .method-steps .method-number{font-size:14px;color:#5b4bd1}.lum-method .method-steps .method-face strong{font-size:19px;line-height:1.2}.lum-method .method-steps .method-verb{font-size:14px;line-height:1.45}.method-flip-hint{font-size:12px;color:#143666;margin-top:8px}.lum-method .method-steps button:focus-visible{outline:3px solid #143666;outline-offset:4px}@media(max-width:760px){.lum-method .method-steps{grid-template-columns:repeat(2,minmax(0,1fr));max-width:500px}}@media(max-width:400px){.lum-method .method-face{padding:12px;gap:8px}.lum-method .method-steps .method-face strong{font-size:17px}.lum-method .method-steps .method-verb{font-size:13px}}@media(prefers-reduced-motion:reduce){.method-flip-inner{transition:none}}
/* Selezioni del modulo contatti: vetro e rilievo morbido. */
#contact-form label:has(>select){display:flex;flex-direction:column;gap:12px;padding-bottom:18px}#contact-form select{display:block;appearance:none;-webkit-appearance:none;width:100%;min-height:52px;border:1px solid rgba(255,255,255,.9);border-radius:10px;padding:14px 48px 14px 18px;color:#14284b;font:500 16px/1.4 Montserrat,Arial,sans-serif;letter-spacing:0;background:rgba(255,255,255,.8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2314284b' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 18px center/18px no-repeat;box-shadow:6px 6px 16px rgba(72,70,126,.15),-5px -5px 15px rgba(255,255,255,.7),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);cursor:pointer}#contact-form select:focus-visible{outline:3px solid #143666;outline-offset:3px}#contact-form select option{background:#fff;color:#14284b}@supports not (backdrop-filter:blur(20px)){#contact-form select{background-color:#f9faff}}@media(prefers-reduced-transparency:reduce){#contact-form select{background-color:#fff;backdrop-filter:none}}

/* Home method: the same frosted surfaces as application sectors. */
.lum-method .method-steps button.regia-home-step{background:transparent;border:0;box-shadow:none;perspective:1100px}
.lum-method .method-steps button.regia-home-step:after{display:none}
.lum-method .method-steps .method-face{background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.75);border-radius:0;box-shadow:5px 5px 14px rgba(70,40,75,.13),-4px -4px 13px rgba(255,255,255,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);align-items:center;text-align:center;gap:14px}
.lum-method .method-steps .method-front .method-number{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;background:linear-gradient(140deg,#eef0fb,#e0e3f4);border-radius:8px;box-shadow:4px 4px 10px #524f9729,-4px -4px 10px #ffffffe0;color:#5142b8;font-weight:700}
.lum-method .method-steps .method-flip-hint{color:#4c43bd;font-weight:700}
.lum-method .method-steps .method-flip-inner{transition:transform .55s ease}
@media(hover:hover){.lum-method .method-steps button.regia-home-step:hover .method-face{box-shadow:inset 4px 4px 10px rgba(70,40,75,.14),inset -4px -4px 10px rgba(255,255,255,.9)}}
@media(prefers-reduced-transparency:reduce){.lum-method .method-steps .method-face{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.lum-method .method-steps .method-flip-inner{transition:none}}

/* Contact introduction: no solid panel; the faint right veil dissolves to the left. */
.contact-copy::before{background:linear-gradient(to right,transparent 0%,transparent 45%,rgba(235,244,251,.04) 75%,rgba(235,244,251,.10) 100%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 65%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 65%,transparent);pointer-events:none}

/* White video background for the research projects section. */

/* Single text card after removing the foreground project photograph. */
.projects .featured-project--text-only{grid-template-columns:minmax(0,1fr);max-width:600px;margin-inline:auto}

/* Projects without image or video background. */
.projects-plain-section{background:#fff}.projects-plain-section::before,.projects-plain-section::after{display:none}

/* Borderless homepage method action. */
.lum-method .method-cta,.lum-method .method-cta:is(:hover,:focus-visible,:active){border:0}

/* Projects reuse the publications background, mirrored horizontally. */
.projects.projects-plain-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 0% 44%,rgba(127,142,232,.76) 0%,rgba(174,186,245,.56) 32%,transparent 66%),linear-gradient(240deg,#f7ece7 0%,#eef0f8 42%,#b7c3f5 100%)}
.projects.projects-plain-section::after{content:"";display:block;position:absolute;inset:4% 38% auto 0;width:62%;height:88%;z-index:0;pointer-events:none;opacity:.25;background:url('./assets/rete-digitale-bianca.webp?v=9c6673e23363') 58% center/cover no-repeat;filter:grayscale(1) brightness(2.7) contrast(1.2);mix-blend-mode:screen;transform:scaleX(-1);animation:none;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 20%,#000 52%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 20%,#000 52%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
.projects.projects-plain-section>*{position:relative;z-index:1}
@media(max-width:760px){.projects.projects-plain-section::after{inset:20% 28% auto 0;width:72%;height:70%;opacity:.14;background-position:62% center}}

/* Softer, less saturated contact background. */
.contact{background:linear-gradient(110deg,#f1edeb 0%,#f0f1f4 52%,#d9dceb 100%)}
.contact::before{filter:saturate(.45);opacity:.40}

/* Persistently identify the current page in navigation. */
:is(.content-header .content-nav,.site-header nav) a[aria-current="page"]{color:#e6ff4f!important;-webkit-text-fill-color:#e6ff4f!important;opacity:1;font-weight:700;}
:is(.content-header .content-nav,.site-header nav) .expertise-submenu a[aria-current="page"]{background:#e5eef9!important;color:#143666!important;-webkit-text-fill-color:#143666!important;border-left:3px solid #143666;font-weight:800;}

/* Larger latest logo in the top navigation. */
:is(.site-header,.content-header) .brand-logo{height:85.333px;max-width:min(466.667px,48vw);width:auto;object-fit:contain;}
@media(max-width:900px){:is(.site-header,.content-header) .brand-logo{height:69.333px;max-width:64vw;}}

/* Give the enlarged brand breathing room above and below. */
:is(.site-header,.content-header){min-height:112px;padding-block:12px;}
:is(.site-header,.content-header) .brand-logo{margin-block:4px;}
@media(max-width:900px){:is(.site-header,.content-header){min-height:94px;padding-block:10px;}}

/* Copertine delle ultime sette news, scorrimento circolare. */
.news-cover-carousel{width:100%;min-width:0}.news-cover-toolbar{display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px}.news-cover-toolbar button{width:42px;height:42px;border:0;border-radius:50%;background:#143666;color:#fff;cursor:pointer}.news-cover-track{position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:0 0 16px}.news-cover-tile{position:relative;flex:0 0 clamp(300px,42vw,640px);height:420px;overflow:hidden;border-radius:12px;background:#143666;scroll-snap-align:start;border:1px solid rgba(255,255,255,.3)}.news-cover-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}.news-cover-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071831ee,transparent 85%);pointer-events:none}.news-cover-copy{position:absolute;left:30px;right:30px;bottom:30px;z-index:1}.news-cover-copy time{color:#fff!important;font-size:14px}.news-cover-copy h3{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(1.3rem,2vw,1.8rem)!important;line-height:1.2!important;margin:12px 0 0!important;font-weight:700}.news-cover-read{position:absolute;top:28px;left:28px;z-index:2;display:grid;place-items:center;width:94px;height:94px;border-radius:50%;background:#78aee4;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none;font:700 15px Montserrat,Arial,sans-serif;transition:background .15s,color .15s;box-shadow:0 4px 20px #14366633}.news-cover-read:is(:hover,:focus-visible,:active),.news-cover-read.is-selected{background:#cbd342;color:#143666!important;-webkit-text-fill-color:#143666!important}.news-cover-read:focus-visible,.news-cover-toolbar button:focus-visible{outline:3px solid #fff;outline-offset:-6px}.news-grid:has(.news-cover-carousel){display:block!important}.news-grid:has(.news-cover-carousel)+.news-controls,.news-controls:has(+.news-grid .news-cover-carousel){display:none!important}@media(max-width:600px){.news-cover-tile{flex-basis:85vw;height:380px}.news-cover-copy{left:22px;right:22px;bottom:24px}.news-cover-read{width:80px;height:80px;top:22px;left:22px}}

/* Video decorativo limitato alla fascia delle tessere, fuori dai testi introduttivi. */
.news{position:relative;isolation:isolate}.news:before{display:none}.news>.news-video-backdrop{position:absolute;top:340px;right:0;bottom:0;width:68%;z-index:0;overflow:hidden;pointer-events:none;opacity:.2;mask-image:linear-gradient(90deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%)}.news-video-backdrop video{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent)}.news .news-cover-tile{background:#143666}.news .news-cover-toolbar{position:relative;z-index:1}@media(max-width:760px){.news>.news-video-backdrop{top:440px;width:100%;opacity:.14}}@media(prefers-reduced-motion:reduce){.news-video-backdrop{display:none}}

.news-cover-carousel .news-cover-tile{border-radius:0;}

/* Più spazio tra le tessere News e la barra di scorrimento. */
.news-cover-carousel .news-cover-track{padding-bottom:32px;}

/* Cerchi LEGGI semitrasparenti sulle tessere News. */
.news-cover-carousel .news-cover-read{opacity:.8;}

/* Avvicina il blocco delle tessere News ai filtri. */
.news .news-grid:has(.news-cover-carousel){margin-top:-24px;}

/* Video semitrasparente dietro gli strumenti di maturità digitale. */


/* Keep expanded menus below the enlarged header and contain narrow layouts. */
:is(.site-header,.content-header){box-sizing:border-box;height:auto;}
@media(max-width:1180px){.site-header nav,.site-header .search-panel{top:100%;max-height:calc(100dvh - 112px);box-sizing:border-box;}}
@media(max-width:900px){.content-header .content-nav,.site-header nav,.site-header .search-panel{top:100%;max-height:calc(100dvh - 94px);overflow-y:auto;box-sizing:border-box;}.content-header{flex-wrap:nowrap;}.content-header .content-back{display:none;}}
.news .news-grid:has(.news-cover-carousel){overflow-x:visible;min-width:0;}.news-cover-copy{overflow-wrap:anywhere;}

/* Visual QA: translucent assistance, immediate content and flush cover images. */
.lum-advisor-launch{opacity:.65;transition:opacity .18s ease;}
.lum-advisor-launch:hover,.lum-advisor-launch:focus-visible{opacity:1;}
.news-cover-carousel .news-cover-tile>img{margin:0!important;max-width:none!important;border-radius:0!important;}
.reveal-ready{opacity:1!important;transform:none!important;}
.regia-pending .regia-layer{opacity:1!important;transform:none!important;}

.manifesto-copy h2{background:rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}

footer a:is([href*="linkedin.com"],[href*="instagram.com"],[href*="youtube.com"]){display:flex!important;align-items:center;gap:.65rem;width:max-content;max-width:100%;}
footer a:is([href*="linkedin.com"],[href*="instagram.com"],[href*="youtube.com"]) .site-arrow{display:inline-block!important;flex:none;margin:0!important;float:none;clear:none;}
