/* Load last, after the existing dedicated hero CSS.
   Current pricing HTML uses prezzi-photo-hero; pricing-photo-hero is an alias.
   Root adds prezzi-guida-foto to the first pricing section and updates img sizes. */
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) {
  --fgs-paper-rgb:247,243,235;
  position:relative; isolation:isolate;
  display:flex; flex-direction:column; justify-content:center; align-items:stretch;
  height:auto; min-height:clamp(620px,52vw,820px); max-height:none;
  padding:88px 0 76px; overflow:hidden;
  background:rgb(var(--fgs-paper-rgb)) !important;
}
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) > .container:is(.pricing-hero-layout,.prezzi-hero-layout,.software-hero-layout) {
  position:static; display:block; width:100%; max-width:1200px;
  margin-inline:auto; padding:0 clamp(22px,5vw,64px);
}
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-copy,.prezzi-hero-copy,.software-hero-copy) { position:relative; z-index:2; width:48%; max-width:540px; min-width:0; }
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-copy,.prezzi-hero-copy,.software-hero-copy) :is(h1,.lead,.badge,.cta-row) { max-width:100%; }
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo) {
  position:absolute; z-index:0; inset:0 0 0 auto;
  width:80%; max-width:1536px; height:100%; max-height:none;
  margin:0; padding:0; overflow:hidden; pointer-events:none;
  border:0; background:transparent;
}
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo) img {
  display:block; width:100%; max-width:none; height:100%; aspect-ratio:auto;
  object-fit:cover; object-position:62% center;
  opacity:1; filter:none; mix-blend-mode:normal; border:0; border-radius:0;
}
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo)::before { content:none; display:none; }
header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo)::after {
  content:''; display:block; position:absolute; z-index:1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(var(--fgs-paper-rgb),1) 0%,
    rgba(var(--fgs-paper-rgb),.99) 30%,
    rgba(var(--fgs-paper-rgb),.95) 35%,
    rgba(var(--fgs-paper-rgb),.86) 39%,
    rgba(var(--fgs-paper-rgb),.42) 44%,
    rgba(var(--fgs-paper-rgb),0) 50%);
}
section.prezzi-guida-foto {
  --fgs-guide-paper-rgb:253,250,243;
  position:relative; isolation:isolate;
  min-height:clamp(640px,48vw,790px);
  padding:80px 0; overflow:hidden;
  background:rgb(var(--fgs-guide-paper-rgb));
}
section.prezzi-guida-foto > .container { position:static; }
section.prezzi-guida-foto .about-grid { position:static; display:block; }
section.prezzi-guida-foto .about-grid > .reveal:not(.solution-photo) { position:relative; z-index:2; width:48%; max-width:540px; min-width:0; }
section.prezzi-guida-foto .solution-photo {
  position:absolute; z-index:0; inset:0 0 0 auto;
  width:78%; max-width:1536px; height:100%; min-height:0; max-height:none;
  margin:0; padding:0; overflow:hidden; pointer-events:none;
  opacity:1; transform:none; border:0; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important;
}
section.prezzi-guida-foto .solution-photo img {
  display:block; width:100%; max-width:none; height:100%; aspect-ratio:auto;
  object-fit:cover; object-position:62% center;
  opacity:1; filter:none; mix-blend-mode:normal; border:0; border-radius:0;
}
section.prezzi-guida-foto .solution-photo::before { content:none; display:none; }
section.prezzi-guida-foto .solution-photo::after {
  content:''; display:block; position:absolute; z-index:1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(var(--fgs-guide-paper-rgb),1) 0%,
    rgba(var(--fgs-guide-paper-rgb),.98) 25%,
    rgba(var(--fgs-guide-paper-rgb),.96) 31%,
    rgba(var(--fgs-guide-paper-rgb),.93) 35%,
    rgba(var(--fgs-guide-paper-rgb),.86) 38%,
    rgba(var(--fgs-guide-paper-rgb),.3) 42%,
    rgba(var(--fgs-guide-paper-rgb),0) 46%);
}
@media (max-width:980px) {
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) { display:block; min-height:0; max-height:none; padding:48px 0 40px; overflow:visible; }
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) > .container:is(.pricing-hero-layout,.prezzi-hero-layout,.software-hero-layout) { position:relative; display:block; padding-inline:22px; }
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-copy,.prezzi-hero-copy,.software-hero-copy) { width:100%; max-width:720px; }
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo) { position:relative; z-index:1; inset:auto; width:100%; max-width:none; height:auto; margin:32px 0 0; overflow:visible; }
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo) img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; }
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo)::after { content:none; display:none; background:none; }
  section.prezzi-guida-foto { min-height:0; padding:56px 0; overflow:visible; }
  section.prezzi-guida-foto > .container { position:relative; }
  section.prezzi-guida-foto .about-grid { position:relative; display:block; }
  section.prezzi-guida-foto .about-grid > .reveal:not(.solution-photo) { width:100%; max-width:720px; }
  section.prezzi-guida-foto .solution-photo { position:relative; z-index:1; inset:auto; width:100%; max-width:none; height:auto; aspect-ratio:auto; margin:32px 0 0; overflow:visible; }
  section.prezzi-guida-foto .solution-photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; }
  section.prezzi-guida-foto .solution-photo::after { content:none; display:none; background:none; }
}
@media (max-width:540px) {
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) { padding-top:38px; padding-bottom:32px; }
  header.hero.agency-visual-hero:is(.pricing-photo-hero,.prezzi-photo-hero,.software-photo-hero) :is(.pricing-hero-photo,.prezzi-hero-photo,.software-hero-photo) { margin-top:28px; }
  section.prezzi-guida-foto { padding-block:46px; }
}
