/* ==========================================================================
   typography.css
   Autorita' unica della scala tipografica: titoli, occhielli, sottotitoli, prosa, misura della colonna, ritmo verticale, ancoraggio dei titoli nelle testate.
   Caricato da 118 pagine.
   ========================================================================== */

.hero h1,
.bio-hero h1,
.post-hero h1,
.archive-hero h1,
.hero-text h1,
.hero-inner h1,
main>h1,
main>section>h1,
.store-hub-intro h1,
.cv-hero-inner h1 {
  letter-spacing: -.005em;
}

main p,
section p,
article p,
main li,
section li,
article li {
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.kicker,
.bio-kicker,
.archive-kicker,
.tl-year,
.meta,
figcaption,
.footer-heading,
footer a,
.card-text,
.book-card-text,
.comp-card p,
.tl-item p,
.pub-item p,
.contact-card p,
.doc-item p,
.store-channels-lead,
.store-hub-lead,
.hero p,
.hero-inner p,
.bio-hero p,
.post-hero p,
.archive-hero p,
.cta-box p,
.cta-band p,
.faq-a,
.faq-q {
  font-size: revert !important;
  line-height: revert !important;
}

main h1,
main h2,
main h3,
main h4,
section h1,
section h2,
section h3,
section h4,
article h1,
article h2,
article h3,
article h4 {
  text-align-last: auto;
  hyphens: manual;
  -webkit-hyphens: manual;
}

.hero-inner p,
.bio-hero p,
.post-hero p,
.archive-hero p,
.store-hub-intro p,
.cv-hero-inner p,
.glb-hero-shell p,
.article-page .article-eyebrow,
.article-page .article-sub,
.hero>.container>p,
.error-wrap p,
.grazie-wrap p,
.box p {
  text-align: center;
  text-align-last: center;
  hyphens: manual;
}

main p,
section p,
article p {
  -webkit-hyphens: auto;
}

.hero-text p,
.hero-left p,
.cta-box p,
.cta-band p,
.cta-section p,
.contact-card p,
.home-contact-card p,
.faq-a p,
.article-toc p,
[class*="card"] p,
[class*="item"] p,
[class*="info"] p,
.svc p,
.paper p,
.panel-card p,
.article-teaser p,
.rel-card p,
.meta,
.kicker,
.bio-kicker,
.archive-kicker,
figcaption,
.date,
.role {
  text-align: left;
  text-align-last: left;
  hyphens: manual;
}

body.root-special-page main#chi-siamo-main [class*="card"] p {
  -webkit-hyphens: manual;
}

body.root-special-page main#chi-siamo-main section[aria-label="Curriculum vitae"] .comp-card p {
  text-align: center;
  text-align-last: center;
}

body.store-hub-page .store-hub-intro p {
  text-align: center;
  text-align-last: center;
  hyphens: manual;
  -webkit-hyphens: manual;
}

:root {
  --ts-card: 1.125rem;
  --ts-sub: 1.375rem;
  --ts-prose: 1.3rem;
  --ts-section: 1.75rem;
}

main h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
section h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  font-size: var(--ts-section) !important;
  line-height: 1.26 !important;
}

main .article-body h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article .article-body h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  font-size: var(--ts-prose) !important;
  line-height: 1.3 !important;
}

main h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main h4:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
section h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
section h4:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article h4:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  font-size: var(--ts-card) !important;
  line-height: 1.34 !important;
}

main .gal-event-title:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .event-title:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .book-card-title:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .paper>h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .doc-item>h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .book-info>h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .profilo-info>h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main .manuale-edition-card>h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  font-size: var(--ts-sub) !important;
  line-height: 1.28 !important;
}

.hero-inner>h1 {
  margin-top: 0;
  margin-bottom: 16px;
}

.rel-card h3 {
  margin-top: 0;
  margin-bottom: 4px !important;
}

.faq-item h3 {
  margin-top: 0;
  margin-bottom: 0;
}

main h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
section h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  margin-top: 0 !important;
  margin-bottom: .75em !important;
}

main [class*="cta"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main [class*="card"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main [class*="box"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main [class*="band"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main [class*="panel"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main [class*="strip"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  margin-top: 0 !important;
  margin-bottom: .4em !important;
}

main .article-body h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article .article-body h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  margin-top: 1.6em !important;
  margin-bottom: .5em !important;
}

.autore-titolo.autore-titolo:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
.cta-band>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
.cta-box>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  font-size: 2rem !important;
}

.event-title.event-title:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
.gal-event-title.gal-event-title:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  font-size: 1.75rem !important;
}

.editore-badge.editore-badge {
  color: #6f5316;
  font-weight: 600;
  border-color: rgba(111,83,22,.34);
}

main:has(> nav.breadcrumb:first-child) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

header+section.hero,
header+div.hero,
header+section.bio-hero,
header+section.cv-hero,
header+section.archive-hero,
main>nav.breadcrumb+section.hero,
main>nav.breadcrumb+section.post-hero,
main>nav.breadcrumb+section.store-hub-hero,
main>section.hero:first-child,
main>section#home:first-child {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-bottom: 3px solid #d4b46d !important;
  box-sizing: border-box !important;
}

[class*="hero"]+main>nav.breadcrumb:first-child,
main:has(>nav.breadcrumb+[class*="hero"])>nav.breadcrumb:first-child {
  border-top: 0 !important;
}

main>nav.breadcrumb+section>div>.glb-accent-card--topline:first-child,
main>nav.breadcrumb+section>.glb-accent-card--topline:first-child,
main>nav.breadcrumb+section.cv-section {
  border-top: 0 !important;
}

nav.breadcrumb {
  border-bottom-color: #dde2ea;
}

.autore-strip {
  padding: 28px 0 8px;
}

.autore-strip .autore-nome {
  margin: 0 0 2px;
}

.autore-strip .autore-desc {
  margin: .4rem 0 .8rem;
}

header+section.hero,
header+div.hero,
header+section.bio-hero,
header+section.cv-hero,
header+section.archive-hero,
main>nav.breadcrumb+section.hero,
main>nav.breadcrumb+section.post-hero,
main>nav.breadcrumb+section.store-hub-hero,
main>section.hero:first-child,
main>section#home:first-child {
  border-bottom-color: transparent !important;
  border-image: linear-gradient(90deg,#2c5080 0%,#5f84b8 45%,#d4b46d 100%) 1 !important;
  border-image-slice: 0 0 1 0 !important;
  border-image-width: 0 0 3px 0 !important;
}

.glb-accent-card,
.glb-row-card {
  position: relative;
}

.glb-accent-card::before,
.glb-row-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg,#2c5080 0%,#5f84b8 45%,#d4b46d 100%) !important;
  border-top-left-radius: inherit !important;
  border-top-right-radius: inherit !important;
  z-index: 1 !important;
}

main h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
section h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
article h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after {
  content: "" !important;
  display: block !important;
  width: 72px !important;
  height: 3px !important;
  margin-top: 12px !important;
  margin-inline: 0 auto !important;
  background: linear-gradient(90deg,#2c5080 0%,#5f84b8 45%,#d4b46d 100%) !important;
  border-radius: 2px !important;
  border: 0 !important;
}

main .wrap>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.bio-main section>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after {
  margin-inline: auto !important;
}

[class*="cta"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
[class*="card"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
[class*="box"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
[class*="band"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
[class*="panel"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
[class*="strip"] h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
h2[class*="-title"]:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after {
  display: none !important;
}

main h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
section h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
article h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main h3:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]),
main h4:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"]) {
  border-bottom: 0 !important;
}

.autore-strip>.wrap {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.book-catalog>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.gallery-section>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.error-wrap>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.sezione-titolo>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.social-section>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.hero .container>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after {
  margin-inline: auto !important;
}

.section.section>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after,
.form-section.form-section>h2:not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="eyebrow"])::after {
  margin-inline: 0 auto !important;
}

.autore-strip .autore-nome {
  color: #8b6914;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-size: .82rem !important;
  opacity: 1;
}

.autore-strip .autore-titolo {
  color: #0a1628;
}

.autore-strip .autore-desc {
  color: #333333;
}

.rec-kicker,
.rec-norma-id,
.article-related-kicker,
.rf-inline-028,
.article-toc-title {
  color: #6f5316 !important;
  font-weight: 700 !important;
}

.skip-link,
.skip-link:link,
.skip-link:visited,
.skip-link:focus,
.skip-link:hover {
  color: #ffffff !important;
  background: #0a1628 !important;
}

.form-note {
  color: #5b6472 !important;
}

.book-store-note {
  color: #55606e !important;
}

.btn-store.store-amazon,
a.store-amazon,
.store-amazon {
  color: #1b1b1b !important;
}

body:has([class*="hero"]) nav.breadcrumb,
body:has([class*="hero"]) .breadcrumb {
  border-top: 0 !important;
}

nav.breadcrumb,
.breadcrumb {
  font-size: .82rem !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.map-facade {
  position: relative;
  width: 100%;
  min-height: 260px;
  display: block;
  background: linear-gradient(135deg,#eef2f7,#e3eaf3);
  border: 1px solid #dbe4ef;
  border-radius: 8px;
  overflow: hidden;
}

.map-facade-btn {
  display: flex;
  align-items: center;
  gap: .9rem;
  width: 100%;
  min-height: 220px;
  padding: 1.4rem 1.5rem;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: #0a1628;
}

.map-facade-btn:hover {
  background: rgba(44,80,128,.06);
}

.map-facade-btn:focus-visible {
  outline: 3px solid #2c5080;
  outline-offset: -3px;
}

.map-facade-pin {
  font-size: 1.6rem;
  color: #8b6914;
  line-height: 1;
}

.map-facade-txt {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.map-facade-txt strong {
  font-size: 1.02rem;
  color: #0a1628;
}

.map-facade-txt span {
  font-size: .88rem;
  color: #55606e;
}

.map-facade-note {
  margin: 0;
  padding: .55rem 1.5rem .8rem;
  background: rgba(255,255,255,.6);
}

.map-facade--attiva {
  background: none;
  border: 0;
  padding: 0;
}

.map-facade--attiva .map-facade-note {
  display: none;
}

body.page-grazie main::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg,#2c5080,#5f84b8 45%,#d4b46d);
}

footer .foot-grid a,
footer .foot-grid a:link,
footer .foot-grid a:visited {
  color: rgba(255,255,255,.85) !important;
}

footer .foot-grid a:hover,
footer .foot-grid a:focus-visible {
  text-decoration: underline;
}

.comp-card p,
.panel-card p,
.glb-accent-card p,
.glb-row-card p,
.faq-item p,
p.faq-a,
.store-channels-lead {
  line-height: 1.7 !important;
}

.tl-item p,
.tl-body p,
.timeline p {
  line-height: 1.5 !important;
}

.book-catalog-card p,
article.book-catalog-card p {
  line-height: 1.7 !important;
}

.contact-card p {
  line-height: 1.5 !important;
}

[class*="hero"] p,
.cta-band p,
.cta-box p {
  line-height: 1.5 !important;
}

.cv-hero .cv-hero-inner p.lead,
.store-hub-hero .store-hub-intro p.store-hub-lead,
.store-hub-hero .store-hub-intro p.store-hub-subtitle,
.hero-inner-page .glb-hero-shell p.hero-sub,
.hero-inner-page .glb-hero-shell p.glb-hero-note,
main.container .cta-band p {
  line-height: 1.5 !important;
}

main > section:not([class*="hero"]):not([class*="cta"]):not([class*="related"]),
main > div.sezione-sfondo,
main > div.paper {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

main > section[class*="cta"],
main > div[class*="cta"],
main > .cta-band,
main > .cta-box-section {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

main p,
section p,
article p,
main :is(h1,h2,h3),
section :is(h1,h2,h3),
article :is(h1,h2,h3) {
  max-width: 38rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

main [class*="hero"] :is(h1,h2,h3,p),
[class*="hero"] :is(h1,h2,h3,p),
main [class*="cta"] :is(h1,h2,h3,p) {
  max-width: none !important;
}

main h1,
section h1 {
  font-weight: 700 !important;
}

main h2:not([class]),
section h2:not([class]) {
  font-weight: 700 !important;
}

:where(a, button, input, select, textarea, summary, [tabindex], .table-scroll):focus-visible {
  outline: 2px solid #0a1628 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #ffffff !important;
  border-radius: var(--r-xs,6px);
}

.skip-link:focus-visible {
  outline: 2px solid #ffffff !important;
  box-shadow: 0 0 0 2px #0a1628 !important;
}

summary:focus-visible,
details > summary:focus-visible {
  outline: 2px solid #0a1628 !important;
  outline-offset: -4px !important;
  box-shadow: inset 0 0 0 2px #ffffff !important;
  border-radius: var(--r-xs,6px);
}

html body [class*="hero"] :is(a,button):focus-visible:focus-visible,
html body .btn-form-submit:focus-visible:focus-visible {
  outline: none !important;
  box-shadow: inset 0 0 0 2px #ffffff, inset 0 0 0 5px #0a1628 !important;
  border-radius: var(--r-pill,999px);
}

html body footer :is(a,button):focus-visible:focus-visible {
  background: #ffffff !important;
  color: #0a1628 !important;
  outline: 2px solid #0a1628 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  border-radius: var(--r-xs,6px);
}

:root {
  --ts-page-title: clamp(2.05rem,4.3vw,2.75rem);
}

.hero h1,
.bio-hero h1,
.post-hero h1,
.archive-hero h1,
.hero-text h1,
.hero-inner h1,
main>h1,
main>section>h1,
.store-hub-intro h1,
.cv-hero-inner h1,
.error-wrap h1,
.grazie-wrap h1,
main .wrap>h1 {
  font-size: var(--ts-page-title) !important;
  line-height: 1.16 !important;
  text-wrap: balance;
}

.page-index #hero-title {
  text-wrap: balance;
}

html body:not(.page-index):not(.page-403):not(.page-404):not(.page-500):not(.page-offline):not(.page-grazie) :is(#_ts_h1_normalization,h1) {
  font-size: var(--ts-page-title) !important;
  line-height: 1.16 !important;
  text-wrap: balance;
}

#cookie-pref-link {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 4px;
}

.cookie-toggle__input:focus-visible + .cookie-toggle__track {
  outline: 2px solid #0a1628 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #ffffff !important;
}

.foot-bottom :is(a,button),
.related-strip-inner a,
.frm-condividi-box a,
.ifx-manuale-pedagogia-forense-ef94bc a,
.ifx-presentazioni-8f24d9 a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

.ts-title-break-mobile {
  display: none;
}

.ts-title-separator {
  white-space: nowrap;
}

.ts-keep {
  white-space: nowrap;
}

.ts-title-break-always .ts-title-separator {
  display: none;
}

.ts-title-break-always .ts-title-break-mobile {
  display: block;
  width: 100%;
  height: 0;
}

@media (max-width: 720px) {
  main p,
  section p,
  article p {
    -webkit-hyphens: manual;
  }
  .hero-inner p,
  .bio-hero p,
  .post-hero p,
  .archive-hero p,
  .store-hub-intro p,
  .cv-hero-inner p,
  .glb-hero-shell p,
  .article-page .article-eyebrow,
  .article-page .article-sub,
  .hero>.container>p,
  .error-wrap p,
  .grazie-wrap p,
  .box p {
    text-align: center;
    text-align-last: center;
  }
}

@media (min-width: 701px) {
  header+section.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+div.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.bio-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.cv-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.archive-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  main>nav.breadcrumb+section.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  main>section.hero:first-child:not(:has(img)):not(:has(figure)):not(:has(picture)) {
    display: grid !important;
    align-content: center !important;
  }
  header+section.hero,
  header+div.hero,
  header+section.bio-hero,
  header+section.cv-hero,
  header+section.archive-hero,
  main>nav.breadcrumb+section.hero,
  main>nav.breadcrumb+section.post-hero,
  main>nav.breadcrumb+section.store-hub-hero,
  main>section.hero:first-child,
  main>section#home:first-child {
    display: grid !important;
    align-content: center !important;
  }
  header+section.hero :is(img,picture,figure),
  header+section.bio-hero :is(img,picture,figure),
  main>nav.breadcrumb+section.hero :is(img,picture,figure),
  main>nav.breadcrumb+section.post-hero :is(img,picture,figure),
  main>nav.breadcrumb+section.store-hub-hero :is(img,picture,figure),
  main>section.hero:first-child :is(img,picture,figure),
  main>section#home:first-child :is(img,picture,figure) {
    max-height: var(--hero-media-max-height,340px) !important;
    height: auto !important;
    width: var(--hero-media-width,auto) !important;
    object-fit: var(--hero-media-fit,cover) !important;
  }
  body.page-biografia-completa .bio-hero :is(img,picture,figure) {
    max-height: 240px !important;
  }
  body.page-presentazioni .hero :is(img,picture,figure) {
    max-height: 260px !important;
  }
  header+section.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+div.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.bio-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.cv-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.archive-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  main>nav.breadcrumb+section.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  main>section.hero:first-child:not(:has(img)):not(:has(figure)):not(:has(picture)) {
    height: auto !important;
    min-height: 340px !important;
    max-height: none !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    overflow: hidden !important;
  }
  header+section.hero:is(:has(img),:has(figure),:has(picture)),
  header+section.bio-hero:is(:has(img),:has(figure),:has(picture)),
  main>nav.breadcrumb+section.hero:is(:has(img),:has(figure),:has(picture)),
  main>nav.breadcrumb+section.post-hero:is(:has(img),:has(figure),:has(picture)),
  main>nav.breadcrumb+section.store-hub-hero:is(:has(img),:has(figure),:has(picture)),
  main>section.hero:first-child:is(:has(img),:has(figure),:has(picture)) {
    height: var(--hero-media-section-height,auto) !important;
    min-height: var(--hero-media-section-min-height,500px) !important;
    max-height: var(--hero-media-section-max-height,none) !important;
    padding-top: var(--hero-media-section-padding-top,48px) !important;
    padding-bottom: var(--hero-media-section-padding-bottom,48px) !important;
    overflow: var(--hero-media-section-overflow,hidden) !important;
  }
  main>section#home:first-child {
    height: auto !important;
    min-height: 560px !important;
    max-height: none !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    overflow: hidden !important;
  }
}

@media (max-width: 700px) {
  .glb-hero-button-grid,
  .hero-cta,
  .cta-row,
  .hero-btns,
  .cv-badges,
  .glb-hero-actions,
  .glb-pillset,
  .store-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .glb-hero-button-grid>a,
  .hero-cta>a,
  .cta-row>a,
  .hero-btns>a,
  .cv-badges>a,
  .glb-hero-actions>a,
  .store-grid>a {
    width: auto !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }
  header+section.hero,
  header+div.hero,
  header+section.bio-hero,
  header+section.cv-hero,
  header+section.archive-hero,
  main>nav.breadcrumb+section.hero,
  main>nav.breadcrumb+section.post-hero,
  main>nav.breadcrumb+section.store-hub-hero,
  main>section.hero:first-child,
  main>section#home:first-child {
    display: grid !important;
    align-content: center !important;
  }
  header+section.hero :is(img,picture,figure),
  header+section.bio-hero :is(img,picture,figure),
  main>nav.breadcrumb+section.hero :is(img,picture,figure),
  main>nav.breadcrumb+section.post-hero :is(img,picture,figure),
  main>nav.breadcrumb+section.store-hub-hero :is(img,picture,figure),
  main>section.hero:first-child :is(img,picture,figure),
  main>section#home:first-child :is(img,picture,figure) {
    max-height: var(--hero-media-max-height-mobile,200px) !important;
    height: auto !important;
    width: var(--hero-media-width-mobile,var(--hero-media-width,auto)) !important;
  }
  header+section.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+div.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.bio-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.cv-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  header+section.archive-hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  main>nav.breadcrumb+section.hero:not(:has(img)):not(:has(figure)):not(:has(picture)),
  main>section.hero:first-child:not(:has(img)):not(:has(figure)):not(:has(picture)) {
    height: auto;
    min-height: 280px !important;
    max-height: none;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    overflow: hidden !important;
  }
  header+section.hero:is(:has(img),:has(figure),:has(picture)),
  header+section.bio-hero:is(:has(img),:has(figure),:has(picture)),
  main>nav.breadcrumb+section.hero:is(:has(img),:has(figure),:has(picture)),
  main>nav.breadcrumb+section.post-hero:is(:has(img),:has(figure),:has(picture)),
  main>nav.breadcrumb+section.store-hub-hero:is(:has(img),:has(figure),:has(picture)),
  main>section.hero:first-child:is(:has(img),:has(figure),:has(picture)) {
    height: auto;
    min-height: 0 !important;
    max-height: none;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    overflow: hidden !important;
  }
  main>section#home:first-child {
    min-height: 560px !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    overflow: hidden !important;
  }
  .ts-keep-mobile {
    white-space: nowrap;
  }
  .ts-title-separator {
    display: none;
  }
  .ts-title-break-mobile {
    display: block;
    width: 100%;
    height: 0;
  }
  .ts-title-part:not(.ts-keep) {
    text-wrap: balance;
  }
  html body h1:is(#_d40a,.ts-title-vincenzo-mobile):is(#_d40b,.ts-title-vincenzo-mobile) {
    font-size: clamp(1.52rem,7.6vw,2.05rem) !important;
  }
}

@media (max-width: 820px) {
  main > section:not([class*="hero"]):not([class*="cta"]):not([class*="related"]),
  main > div.sezione-sfondo,
  main > div.paper {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  main > section[class*="cta"],
  main > div[class*="cta"],
  main > .cta-band,
  main > .cta-box-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

@media (min-width: 701px) and (max-width: 767px) {
  body:not(.page-media-archivio) .glb-hero-title-anchor {
    position: relative !important;
    top: var(--glb-ha-701,0px);
  }
}

@media (width: 768px) {
  body:not(.page-media-archivio) .glb-hero-title-anchor {
    position: relative !important;
    top: var(--glb-ha-768,0px);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body:not(.page-media-archivio) .glb-hero-title-anchor {
    position: relative !important;
    top: var(--glb-ha-1024,0px);
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  body:not(.page-media-archivio) .glb-hero-title-anchor {
    position: relative !important;
    top: var(--glb-ha-1025,0px);
  }
}

@media (min-width: 1280px) {
  body:not(.page-media-archivio) .glb-hero-title-anchor {
    position: relative !important;
    top: var(--glb-ha-1280,0px);
  }
}

@media (max-width: 340px) {
  html body h1:is(#_d39a,.ts-title-fit-xs):is(#_d39b,.ts-title-fit-xs) {
    font-size: 1.70rem !important;
  }
  html body h1:is(#_d39a,.ts-title-fit-phrase-xs):is(#_d39b,.ts-title-fit-phrase-xs) {
    font-size: 1.30rem !important;
  }
  html body h1:is(#_d39a,.ts-title-fit-review-xs):is(#_d39b,.ts-title-fit-review-xs) {
    font-size: 1.44rem !important;
  }
  html body h2:is(#_d39a,.ts-title-fit-region-xs):is(#_d39b,.ts-title-fit-region-xs) {
    font-size: 1.42rem !important;
  }
  html body #hero-title#hero-title.ts-title-fit-faq-xs {
    font-size: 1.50rem !important;
  }
}
