/**
 * Shared ambient background (organic blobs + grain) — legacy / apply-style intensità.
 * Markup: partials ambient-svg.html, ambient-blobs-inset.html, ambient-blobs-fixed.html.
 *
 * Pagine interne “Canvas Interno IE” (variante più tenue): ambient-internal.css +
 * partial ambient-internal-blobs-fixed.html.
 */

.ie-ambient-layer--inset{
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  overflow:hidden;
}

.ie-ambient-layer--fixed{
  position:fixed;
  inset:0;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  overflow:hidden;
}

.ie-ambient-blob{
  position:absolute;
  border-radius:60% 40% 30% 70% / 60% 30% 70% 40%;
  will-change:transform, border-radius;
}

.ie-ambient-blob--1{
  top:0;
  left:-10%;
  width:45vw;
  height:45vw;
  background:var(--brand-gold);
  filter:blur(120px);
  opacity:0.15;
  animation:ie-ambient-roam-1 35s var(--ease-keyword-ease-in-out) infinite;
}

.ie-ambient-blob--2{
  bottom:-5%;
  right:-10%;
  width:55vw;
  height:55vw;
  background:var(--brand-surface-strong);
  filter:blur(130px);
  opacity:0.4;
  animation:ie-ambient-roam-2 42s var(--ease-keyword-ease-in-out) -10s infinite;
}

.ie-ambient-blob--3{
  top:20%;
  left:25%;
  width:40vw;
  height:40vw;
  background:var(--brand-gold);
  filter:blur(100px);
  opacity:0.1;
  animation:ie-ambient-roam-3 38s var(--ease-keyword-ease-in-out) -5s infinite;
}

.ie-ambient-blob--4{
  top:40%;
  left:40%;
  width:20vw;
  height:20vw;
  background:var(--brand-gold);
  filter:blur(70px);
  opacity:0.2;
  animation:ie-ambient-roam-5 25s var(--ease-keyword-ease-in-out) -2s infinite;
}

.ie-ambient-blob--5{
  bottom:30%;
  right:30%;
  width:15vw;
  height:15vw;
  background:var(--brand-surface-strong);
  filter:blur(60px);
  opacity:0.4;
  animation:ie-ambient-roam-5 32s var(--ease-keyword-ease-in-out) infinite reverse;
}

.ie-ambient-blob--6{
  top:-20%;
  right:10%;
  width:30vw;
  height:30vw;
  background:var(--it-green);
  filter:blur(150px);
  opacity:0.03;
  animation:ie-ambient-roam-4 45s var(--ease-keyword-ease-in-out) -20s infinite;
}

.ie-ambient-blob--7{
  bottom:-20%;
  left:10%;
  width:30vw;
  height:30vw;
  background:var(--it-red);
  filter:blur(150px);
  opacity:0.03;
  animation:ie-ambient-roam-4 45s var(--ease-keyword-ease-in-out) infinite alternate-reverse;
}

.ie-ambient-grain--inset{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:0.06;
  mix-blend-mode:overlay;
  filter:url(#ieAmbientNoiseFilter);
}

.ie-ambient-grain--fixed{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:0.06;
  mix-blend-mode:overlay;
  filter:url(#ieAmbientNoiseFilter);
}

.editorial-section .editorial-grid,
.editorial-section .editorial-cta-wrap{
  position:relative;
  z-index:2;
}

@keyframes ie-ambient-roam-1{
  0%,100%{
    border-radius:60% 40% 30% 70% / 60% 30% 70% 40%;
    transform:scale(1) translate(0, 0);
  }
  25%{
    border-radius:30% 70% 70% 30% / 30% 30% 70% 70%;
    transform:scale(1.1) translate(25vw, 15vh);
  }
  50%{
    border-radius:70% 30% 50% 50% / 70% 50% 50% 30%;
    transform:scale(0.9) translate(40vw, -10vh);
  }
  75%{
    border-radius:40% 60% 30% 70% / 40% 60% 70% 30%;
    transform:scale(1.05) translate(15vw, -25vh);
  }
}

@keyframes ie-ambient-roam-2{
  0%,100%{
    border-radius:50% 50% 30% 70% / 60% 40% 60% 40%;
    transform:scale(1) translate(0, 0);
  }
  33%{
    border-radius:70% 30% 50% 50% / 30% 70% 50% 50%;
    transform:scale(1.05) translate(-30vw, -20vh);
  }
  66%{
    border-radius:30% 70% 70% 30% / 70% 30% 30% 70%;
    transform:scale(0.95) translate(-45vw, 15vh);
  }
}

@keyframes ie-ambient-roam-3{
  0%,100%{
    border-radius:40% 60% 70% 30% / 40% 50% 60% 50%;
    transform:scale(1) translate(0, 0);
  }
  33%{
    border-radius:60% 40% 30% 70% / 50% 60% 30% 60%;
    transform:scale(0.95) translate(-20vw, 30vh);
  }
  66%{
    border-radius:50% 50% 60% 40% / 60% 40% 70% 30%;
    transform:scale(1.05) translate(25vw, 20vh);
  }
}

@keyframes ie-ambient-roam-4{
  0%,100%{transform:translate(0, 0);}
  50%{transform:translate(15vw, -15vh);}
}

@keyframes ie-ambient-roam-5{
  0%,100%{transform:scale(1) translate(0, 0);}
  33%{transform:scale(1.2) translate(30vw, -30vh);}
  66%{transform:scale(0.8) translate(-20vw, 20vh);}
}

@media (prefers-reduced-motion:reduce){
  .ie-ambient-blob{animation:none !important;}
  .ie-ambient-blob--1,.ie-ambient-blob--2,.ie-ambient-blob--3,
  .ie-ambient-blob--4,.ie-ambient-blob--5,.ie-ambient-blob--6,
  .ie-ambient-blob--7{border-radius:50%;transform:none;}
}

/* Bespoke journey: fixed layer stacking (travel/bespoke) */
.bespoke-journey-page header.hero-full-viewport{
  position:relative;
  z-index:5;
}

.bespoke-journey-page .hero-split-container.ie-hero-shell{
  position:relative;
  z-index:5;
}

.bespoke-journey-page #site-footer{
  position:relative;
  z-index:6;
  background:var(--brand-obsidian, #080808);
}

.bespoke-journey-main{
  position:relative;
}

.bespoke-journey-foreground{
  position:relative;
  z-index:2;
}

/* travel/bespoke: padding must live here — arbitrary Tailwind classes like pt-[150px] are not in the prebuilt tailwind.css bundle */
.bespoke-journey-page #advisory{
  padding-top:200px;
  padding-bottom:100px;
}

.bespoke-journey-page #bespoke-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #culinary-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #gapyear-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #employer-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #candidate-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #business-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #aziende-contact.ie-form-section{
  background:transparent;
}

.bespoke-journey-page #estates-contact.ie-form-section{
  background:transparent;
}
