

:root {
 /* Ebano e neri caldi */
 --ado-ebano-deep: #070605;
 --ado-nero-caldo: #0A0806;

 /* Navy / petrolio / verde ossidato — profondità istituzionale */
 --ado-navy-ink: #08131A;
 --ado-petrolio: #10231F;
 --ado-verde-ossido: #18372F;

 /* Oro signature */
 --ado-oro-antico: #C9A45C;
 --ado-oro-luce: #E0C177;
 --ado-bronzo: #9B7A3E;

 /* Avorio + pergamena — leggibilità */
 --ado-avorio: #F5F3EC; /* R9 uniformato a brand dominant */
 --ado-avorio-soft: #F4EFE6; /* legacy avorio */
 --ado-pergamena: #E8DDC8;
 --ado-grigio-caldo: #B8AEA0;

 /* Bordeaux giuridico — rischio, allerta, responsabilità */
 --ado-bordeaux: #5A1F1A;
 --ado-allerta: #732820;

 /* Heights di riferimento per sticky */
 --ado-header-height-desktop: 84px;
 --ado-header-height-mobile: 64px;
}

.home-hero {
 isolation: isolate;
}

/* Refinement gradient hero — usa custom properties */
.home-hero .home-hero-content {
 position: relative;
 z-index: 5;
}

.home-meta {
 color: var(--ado-oro-luce);
 letter-spacing: 0.34em;
}

.home-title {
 color: var(--ado-avorio);
}

.home-sub {
 color: rgba(244, 239, 230, 0.86);
}

.home-title {
 letter-spacing: -0.028em;
 line-height: 0.94;
}

@media (min-width: 1024px) {
 .home-title {
 font-size: clamp(3.2rem, 6.4vw, 6.8rem);
 }
}

/* Pagine interne — refinement page-title */
.page-title,
.editorial-hero-copy h1 {
 letter-spacing: -0.026em;
}

.page-eyebrow,
.editorial-kicker {
 color: var(--ado-oro-luce);
}

@media (hover: hover) and (pointer: fine) {
 /* Crisi: bordeaux molto discreto */
 .scenari article[data-area="crisi"]:hover,
 .when-card[data-area="crisi"]:hover {
 box-shadow:
 0 24px 70px rgba(10, 8, 6, 0.22),
 inset 3px 0 0 0 rgba(90, 31, 26, 0.58);
 }

 /* Composizione / negoziazione: oro/petrolio */
 .scenari article[data-area="composizione"]:hover,
 .when-card[data-area="composizione"]:hover {
 box-shadow:
 0 24px 70px rgba(10, 8, 6, 0.22),
 inset 3px 0 0 0 rgba(201, 164, 92, 0.58);
 }

 /* Sovraindebitamento: avorio/petrolio */
 .scenari article[data-area="sovraindebitamento"]:hover,
 .when-card[data-area="sovraindebitamento"]:hover {
 box-shadow:
 0 24px 70px rgba(10, 8, 6, 0.22),
 inset 3px 0 0 0 rgba(24, 55, 47, 0.58);
 }

 /* Societario / governance: navy/oro */
 .scenari article[data-area="societario"]:hover,
 .when-card[data-area="societario"]:hover {
 box-shadow:
 0 24px 70px rgba(10, 8, 6, 0.22),
 inset 3px 0 0 0 rgba(8, 19, 26, 0.78);
 }
}

.btn-accent,
.hero-cta,
.home-cta-primary,
.intake-submit {
 position: relative;
 z-index: 5;
}

@media (hover: hover) and (pointer: fine) {
 .btn-accent:hover,
 .hero-cta:hover,
 .home-cta-primary:hover {
 border-color: var(--ado-oro-luce);
 background: linear-gradient(135deg, var(--ado-navy-ink) 0%,
 var(--ado-petrolio) 100%
 );
 color: var(--ado-avorio);
 }
}

ado-nav .nav {
 border-bottom: 1px solid rgba(201, 164, 92, 0.10);
}

ado-nav[data-scrolled="true"] .nav,
ado-nav.scrolled .nav {
 background: linear-gradient(180deg, rgba(7, 6, 5, 0.96) 0%,
 rgba(10, 8, 6, 0.92) 100%
 );
 border-bottom-color: rgba(201, 164, 92, 0.24);
}

/* Lang switch — più boutique */
ado-nav .lang-switch a {
 color: rgba(244, 239, 230, 0.62);
 transition: color 240ms ease;
}

ado-nav .lang-switch a[aria-current="page"],
ado-nav .lang-switch a:hover {
 color: var(--ado-oro-luce);
}

.editorial-hero-copy,
.page-header-shell {
 position: relative;
 z-index: 5;
}

@media (min-width: 1024px) {
 .editorial-hero-copy,
 .page-header-shell {
 max-width: 72ch;
 }
}

.section--paper,
.practice-summary {
 background: linear-gradient(180deg, rgba(244, 239, 230, 0.98) 0%,
 rgba(232, 221, 200, 0.94) 100%
 );
 color: #18130D;
}

.section--paper a,
.practice-summary a {
 color: var(--ado-bordeaux);
}

footer,
.site-footer {
 background: linear-gradient(180deg, var(--ado-nero-caldo) 0%,
 var(--ado-ebano-deep) 100%
 );
}

footer a,
.site-footer a {
 position: relative;
 z-index: 5;
}

.parent-sticky-wrap {
 position: sticky;
 top: calc(var(--ado-header-height-desktop, 84px) + 0.75rem);
 z-index: 20;
 padding: 0.5rem 1.5rem;
 background: transparent;
 pointer-events: none; /* il wrapper non blocca click, solo il link è cliccabile */
}

.parent-sticky-wrap .parent-sticky-link {
 pointer-events: auto; /* override: il link DEVE essere cliccabile */
}

.parent-sticky-link {
 display: inline-flex;
 align-items: center;
 gap: 0.55rem;
 max-width: max-content;
 padding: 0.72rem 1.1rem;
 border: 1px solid rgba(201, 164, 92, 0.38);
 border-radius: 999px;
 background: linear-gradient(135deg, rgba(8, 19, 26, 0.94) 0%,
 rgba(16, 35, 31, 0.88) 100%
 );
 color: var(--ado-avorio);
 text-decoration: none;
 font-family: var(--sans, 'Jost', system-ui, sans-serif);
 font-size: 0.86rem;
 font-weight: 500;
 letter-spacing: 0.04em;
 box-shadow:
 0 12px 36px rgba(0, 0, 0, 0.28),
 inset 0 0 0 1px rgba(244, 239, 230, 0.06);
 transition:
 transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
 border-color 220ms ease,
 box-shadow 220ms ease,
 background 220ms ease,
 color 220ms ease;
 position: relative;
 z-index: 5;
}

.parent-sticky-link__icon {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 1em;
 height: 1em;
 color: var(--ado-oro-antico);
 font-size: 1.1em;
 line-height: 1;
 transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), color 220ms ease;
}

.parent-sticky-link__text {
 white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
 .parent-sticky-link:hover {
 transform: translateY(-2px);
 border-color: var(--ado-oro-luce);
 background: linear-gradient(135deg, rgba(10, 35, 31, 0.96) 0%,
 rgba(24, 55, 47, 0.92) 100%
 );
 color: var(--ado-avorio);
 box-shadow:
 0 18px 46px rgba(0, 0, 0, 0.34),
 0 0 0 1px rgba(224, 193, 119, 0.20);
 }

 .parent-sticky-link:hover .parent-sticky-link__icon {
 transform: translateX(-3px);
 color: var(--ado-oro-luce);
 }
}

.parent-sticky-link:focus-visible {
 outline: 2px solid var(--ado-oro-luce);
 outline-offset: 4px;
}

/* Mobile: barra full-width sotto header */
@media (max-width: 700px) {
 .parent-sticky-wrap {
 top: calc(var(--ado-header-height-mobile, 64px) + 0.5rem);
 padding: 0.5rem 1rem;
 }

 .parent-sticky-link {
 width: 100%;
 max-width: none;
 justify-content: center;
 min-height: 44px;
 padding: 0.68rem 1rem;
 font-size: 0.84rem;
 border-radius: 999px;
 box-shadow:
 0 8px 24px rgba(0, 0, 0, 0.32),
 inset 0 0 0 1px rgba(244, 239, 230, 0.05);
 }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
 .parent-sticky-link,
 .parent-sticky-link__icon {
 transition: none;
 }
}

@media (hover: hover) and (pointer: fine) {
 /* Footer link glow */
 footer a:hover,
 .site-footer a:hover {
 color: var(--ado-oro-luce);
 }

 /* Nav link underline animato (oltre R4 §P8) */
 ado-nav .menu-panel a {
 position: relative;
 transition: color 220ms ease;
 }

 ado-nav .menu-panel a:hover {
 color: var(--ado-oro-luce);
 }
}

@media (max-width: 700px) {
 /* Card aree: differenziazione cromatica spenta su mobile */
 .scenari article[data-area]:hover,
 .when-card[data-area]:hover {
 box-shadow: 0 12px 32px rgba(10, 8, 6, 0.18);
 }

 /* Hero title — clamp ridotto mobile per leggibilità */
 .home-title {
 letter-spacing: -0.02em;
 }
}

@media (prefers-reduced-motion: reduce) {
 .btn-accent,
 .hero-cta,
 .home-cta-primary,
 .intake-submit,
 ado-nav .lang-switch a,
 ado-nav .menu-panel a,
 footer a,
 .site-footer a {
 transition: none;
 }
}

a:focus-visible,
button:focus-visible {
 outline: 2px solid var(--ado-oro-luce);
 outline-offset: 3px;
}

/* Nav: focus ben visibile */
ado-nav a:focus-visible,
ado-nav button:focus-visible {
 outline: 2px solid var(--ado-oro-luce);
 outline-offset: 4px;
}

@media (max-width: 700px) and (pointer: coarse) {
 .parent-sticky-link,
 .btn-accent,
 .hero-cta,
 .home-cta-primary,
 .home-cta-secondary,
 .intake-submit,
 ado-nav a,
 ado-nav button,
 .menu-panel a,
 .lang-switch a {
 min-height: 44px;
 }
}

:root {
 /* OVERRIDE: il vero "accent" del sito ora è oro antico, non marrone scuro */
 --accent: #C9A45C;

 /* OVERRIDE: bordo passa da alpha 0.12 → 0.34 (quasi TRIPLO) — diventa visibile */
 --border: rgba(201, 164, 92, 0.34);
 --border-m: rgba(201, 164, 92, 0.54);
}

.section--ruled {
 border-top: 1px solid rgba(201, 164, 92, 0.42);
}

/* Divider centrato sopra .section--ruled — ampiamente visibile */
.section--ruled::after {
 width: 120px;
 background: linear-gradient(90deg, transparent 0%, rgba(201, 164, 92, 0.82) 50%,
 transparent 100%
 );
}

/* Border tra .lawyer-editorial cards */
.lawyer-editorial {
 border-top-color: rgba(201, 164, 92, 0.42);
}

.lawyer-editorial:last-child {
 border-bottom-color: rgba(201, 164, 92, 0.42);
}

/* Border tra .scenari article */
.scenari article {
 border-top-color: rgba(201, 164, 92, 0.34);
}

.scenari article:last-child {
 border-bottom-color: rgba(201, 164, 92, 0.34);
}

.hero-frame {
 border-color: rgba(201, 164, 92, 0.42);
}

.hero::after {
 background: linear-gradient(to bottom, transparent, rgba(201, 164, 92, 0.62),
 transparent
 );
}

/* Cornice 1px oro alla base di .editorial-hero — visibile */
.editorial-hero::after,
.home-hero::after,
.page-header-outer::after {
 background: linear-gradient(90deg, transparent 0%, rgba(201, 164, 92, 0.62) 50%,
 transparent 100%
 );
 height: 1px;
}

.when-card {
 border: 1px solid rgba(201, 164, 92, 0.24);
 padding: 2.2rem 2rem;
 background: linear-gradient(180deg, rgba(253, 250, 244, 0.96) 0%,
 rgba(245, 240, 232, 0.92) 100%
 );
}

.insight-item {
 /* Era padding base, aggiungo border-bottom più visibile */
 border-bottom-color: rgba(201, 164, 92, 0.32);
}

.insight-item:first-child {
 border-bottom-color: rgba(201, 164, 92, 0.42);
}

.insights-list {
 border-top-color: rgba(201, 164, 92, 0.42);
}

/* Eyebrow su sezioni chiare ereditano nuovo --accent oro antico */
/* (override automatico, niente da specificare) */

/* Su sezioni scure: forza oro luce */
.section--dark .section-eyebrow,
.section--dark .section--ruled-label,
.section--dark .scenari-eyebrow,
.section--monument .monument-eyebrow,
.editorial-hero .editorial-kicker,
.editorial-hero .page-eyebrow,
.page-header-outer .page-eyebrow,
.home-hero .home-meta {
 color: #E0C177;
}

/* Manifesto eyebrow: già su surface chiaro, eredita accent oro antico */
/* hero-cta su dark hero: assicuro contrasto preservato */
.hero-cta {
 border-color: rgba(201, 164, 92, 0.62);
}

@media (hover: hover) and (pointer: fine) {
 .hero-cta:hover {
 border-color: rgba(224, 193, 119, 0.92);
 }
}

footer,
.site-footer {
 background:
 linear-gradient(180deg, #08131A 0%, #0A0806 60%, #070605 100%);
 border-top: 1px solid rgba(201, 164, 92, 0.42);
}

/* Footer corner accents: amplifico R4 §P9 (era rgba 0.42) */
footer::after,
.site-footer::after {
 background: rgba(224, 193, 119, 0.72);
 box-shadow: calc(92vw - 4vw) 0 0 0 rgba(224, 193, 119, 0.72) ;
 width: 24px;
}

ado-nav .nav {
 border-bottom: 1px solid rgba(201, 164, 92, 0.32);
}

ado-nav[data-scrolled="true"] .nav,
ado-nav.scrolled .nav {
 border-bottom-color: rgba(224, 193, 119, 0.56);
}

.btn-accent,
.home-cta-primary,
.intake-submit {
 border: 1px solid rgba(201, 164, 92, 0.42);
}

@media (hover: hover) and (pointer: fine) {
 .btn-accent:hover,
 .home-cta-primary:hover,
 .intake-submit:hover {
 border-color: rgba(224, 193, 119, 0.82);
 }
}

.section--monument::before {
 background:
 radial-gradient(circle at 50% 18%, rgba(224, 193, 119, 0.18), transparent 38%),
 linear-gradient(180deg, rgba(255, 255, 255, 0.022), transparent 60%);
}

.monument-eyebrow {
 color: rgba(224, 193, 119, 0.82);
}

.section--surface {
 background: linear-gradient(180deg, #FDFAF4 0%, #F4EFE6 100%);
 border-top: 1px solid rgba(201, 164, 92, 0.22);
 border-bottom: 1px solid rgba(201, 164, 92, 0.22);
}

/* Manifesto su surface — separator interno più carico */
.manifesto {
 border-top-color: rgba(201, 164, 92, 0.42);
 border-bottom-color: rgba(201, 164, 92, 0.42);
}

.manifesto-line {
 border-top-color: rgba(201, 164, 92, 0.42);
 border-bottom-color: rgba(201, 164, 92, 0.42);
}

.manifesto-line-inner::before,
.manifesto-line-inner::after {
 background: rgba(201, 164, 92, 0.62);
}

.parent-sticky-link {
 border-color: rgba(201, 164, 92, 0.62);
 box-shadow:
 0 12px 36px rgba(0, 0, 0, 0.42),
 0 0 0 1px rgba(244, 239, 230, 0.08),
 inset 0 1px 0 0 rgba(224, 193, 119, 0.18);
}

@media (max-width: 700px) {
 .section--ruled::after {
 width: 80px;
 }

 .when-card {
 padding: 1.6rem 1.4rem;
 }

 footer::after,
 .site-footer::after {
 width: 16px;
 }
}

/* FINE Round 7 — EDITORIAL SURFACES */

:root {
 --bg: #F5F3EC;
 /* Altre custom properties Ultra Wow */
 --ado-paper: #F5F3EC;
 --ado-pergamena: #E8DDC8;
 --ado-avorio-ombra: #DDD2BD;
 --content-max: 1180px;
 --header-height: 84px;
 --mobile-header-height: 70px;
}

.section--paper,
.practice-summary,
.content-band-light,
.paper-section-enhanced {
 background:
 radial-gradient(circle at 12% 10%, rgba(201, 164, 92, 0.10), transparent 34%),
 linear-gradient(180deg, #F5F3EC 0%, #E8DDC8 100%);
 color: #18130D;
 border-block: 1px solid rgba(155, 122, 62, 0.20);
 position: relative;
 isolation: isolate;
}

.section--paper > *,
.editorial-paper > *,
.practice-summary > *,
.content-band-light > *,
.paper-section-enhanced > * {
 position: relative;
 z-index: 5;
}

.section--ink,
.content-band-dark,

.section--ink > *,
.content-band-dark > *,

.signature-card {
  /* R15: puro marker semantico — zero box, zero stile visuale */
  position: relative;
  isolation: isolate;
}

.signature-card::before {
  /* R15: rail laterale rimosso */
  content: none;
}

/* R15: hover lift card-like rimosso */

.signature-card--dark {
  /* R15: marker neutro — zero box */
  color: inherit;
}

/* R15: hover dark-card rimosso */

.signature-spotlight {
 position: relative;
 isolation: isolate;
}

.signature-spotlight::after {
 content: '';
 position: absolute;
 inset: -10%;
 background: radial-gradient(circle at 70% 20%, rgba(224, 193, 119, 0.16) 0%,
 transparent 34%
 );
 opacity: 0.85;
 pointer-events: none;
 z-index: -1;
}

.archive-grid-dark {
 background-image:
 linear-gradient(rgba(245, 243, 236, 0.028) 1px, transparent 1px),
 linear-gradient(90deg, rgba(245, 243, 236, 0.018) 1px, transparent 1px);
 background-size: 56px 56px;
}

.archive-grid-light {
 background-image:
 linear-gradient(rgba(7, 6, 5, 0.035) 1px, transparent 1px),
 linear-gradient(90deg, rgba(7, 6, 5, 0.025) 1px, transparent 1px);
 background-size: 56px 56px;
}

@media (max-width: 700px) {
 .archive-grid-dark,
 .archive-grid-light {
 background-size: 40px 40px;
 }
}

.lawyer-editorial-photo {
 border-radius: clamp(18px, 2vw, 28px);
 overflow: hidden;
 border: 1px solid rgba(155, 122, 62, 0.34);
 box-shadow:
 0 24px 70px rgba(7, 6, 5, 0.20),
 inset 0 0 0 1px rgba(245, 243, 236, 0.08);
 transition:
 transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
 border-color 280ms ease,
 box-shadow 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
 .lawyer-editorial:hover .lawyer-editorial-photo {
 transform: translateY(-3px);
 border-color: rgba(224, 193, 119, 0.62);
 box-shadow:
 0 30px 86px rgba(7, 6, 5, 0.28),
 0 0 0 1px rgba(224, 193, 119, 0.18);
 }
}

@media (hover: hover) and (pointer: fine) {
 .btn-accent:hover::after,
 .hero-cta:hover::after,
 .home-cta-primary:hover::after,
 .intake-submit:hover::after,
 .parent-sticky-link:hover::after {
 background: linear-gradient(120deg, transparent 0%, rgba(224, 193, 119, 0.48) 45%,
 transparent 62%
 );
 }
}

/* Crisi: bordeaux selettivo + oro */
.editorial-hero--crisi .editorial-kicker,
.editorial-hero--crisi .page-eyebrow {
 color: #E0C177;
 text-shadow: 0 0 16px rgba(115, 40, 32, 0.12);
}

/* Sovraindebitamento: avorio + petrolio */
.editorial-hero--sovraindebitamento .editorial-kicker,
.editorial-hero--sovraindebitamento .page-eyebrow {
 color: #E0C177;
}

/* Societario: navy + oro forte */
.editorial-hero--societario .editorial-kicker,
.editorial-hero--societario .page-eyebrow {
 color: #E0C177;
 letter-spacing: 0.36em;
}

/* Professionisti: ebano + bronzo */
.editorial-hero--professionisti .editorial-kicker,
.editorial-hero--professionisti .page-eyebrow {
 color: #C9A45C;
}

/* Studio: ebano + oro */
.editorial-hero--studio .editorial-kicker,
.editorial-hero--studio .page-eyebrow {
 color: #E0C177;
}

/* Journal (approfondimenti): carta editoriale */
.editorial-hero--journal .editorial-kicker,
.editorial-hero--journal .page-eyebrow {
 color: #E0C177;
 font-style: italic;
}

/* Contatti: intake protetto */
.editorial-hero--contatti .editorial-kicker,
.editorial-hero--contatti .page-eyebrow {
 color: #E0C177;
}

/* Famiglia Crisi (sottopagine) */
body:has(.parent-sticky-link[href$="crisi.html"]) .page-eyebrow,
body:has(.parent-sticky-link[href$="crisi.html"]) .editorial-kicker {
 color: #C9A45C;
}

body:has(.parent-sticky-link[href$="crisi.html"]) .scenari article strong,
body:has(.parent-sticky-link[href$="crisi.html"]) .scenari-body strong {
 border-left-color: rgba(90, 31, 26, 0.32);
}

/* Famiglia Sovraindebitamento */
body:has(.parent-sticky-link[href$="sovraindebitamento.html"]) .page-eyebrow,
body:has(.parent-sticky-link[href$="sovraindebitamento.html"]) .editorial-kicker {
 color: #C9A45C;
}

/* Famiglia Societario */
body:has(.parent-sticky-link[href$="societario.html"]) .page-eyebrow,
body:has(.parent-sticky-link[href$="societario.html"]) .editorial-kicker {
 color: #E0C177;
 letter-spacing: 0.32em;
}

/* Famiglia Professionisti */
body:has(.parent-sticky-link[href$="professionisti.html"]) .page-eyebrow,
body:has(.parent-sticky-link[href$="professionisti.html"]) .editorial-kicker {
 color: #C9A45C;
}

.risk-accent,
.crisis-marker {
 color: #5A1F1A;
 border-color: rgba(115, 40, 32, 0.38);
}

.risk-accent--strong {
 color: #732820;
 border-left: 3px solid #5A1F1A;
 padding-left: 1rem;
}

/* Su sezioni scure: bordeaux non funziona, sostituisco con oro luce */
.section--dark .risk-accent,
.section--ink .risk-accent,
.section--monument .risk-accent,
.signature-card--dark .risk-accent {
 color: #E0C177;
}

.section--paper + .section--paper {
 border-top: 1px solid rgba(155, 122, 62, 0.32);
 position: relative;
}

.section--paper + .section--paper::before {
 content: '';
 position: absolute;
 top: -1px;
 left: 50%;
 transform: translateX(-50%);
 width: 64px;
 height: 1px;
 background: linear-gradient(90deg, transparent 0%, rgba(201, 164, 92, 0.72) 50%,
 transparent 100%
 );
 z-index: 1;
 pointer-events: none;
}

@media (max-width: 700px) {
 .signature-card { /* R15: mobile box-shadow rimosso */ }

 .signature-card--dark { /* R15: mobile box-shadow rimosso */ }

 .signature-spotlight::after {
 opacity: 0.45;
 }

 .lawyer-editorial-photo {
 border-radius: clamp(14px, 4vw, 20px);
 box-shadow:
 0 14px 38px rgba(7, 6, 5, 0.14),
 inset 0 0 0 1px rgba(245, 243, 236, 0.05);
 }

 .section--paper + .section--paper::before {
 width: 44px;
 }
}

@media (prefers-reduced-motion: reduce) {
 .signature-card,
 .signature-card--dark,
 .lawyer-editorial-photo {
 transition: none;
 }

 .signature-card:hover,
 .signature-card--dark:hover,
 .lawyer-editorial:hover .lawyer-editorial-photo {
 transform: none;
 }
}

@media (max-width: 700px) and (pointer: coarse) {
 .signature-card a,
 .signature-card button,
 .signature-card--dark a,
 .signature-card--dark button {
 min-height: 44px;
 display: inline-flex;
 align-items: center;
 }
}

.signature-card a:focus-visible,
.signature-card--dark a:focus-visible,
.lawyer-editorial-photo:focus-visible {
 outline: 2px solid #E0C177;
 outline-offset: 4px;
}

/* FINE Round 8 — ULTRA WOW INTEGRATED */

/* ROUND 10 — CLASS ACTIVATION SISTEMICA (?v=20260607l) */

/* §R1 — Varianti cromatiche signature-card per area pillar */

.signature-card.area-crisi { /* R15: variante border-left rimossa */ }
.signature-card.area-crisi::before { /* R15: ::before rimosso */ content: none; }

.signature-card.area-sovra { /* R15: variante border-left rimossa */ }
.signature-card.area-sovra::before { /* R15: ::before rimosso */ content: none; }

.signature-card.area-soc { /* R15: variante border-left rimossa */ }
.signature-card.area-soc::before { /* R15: ::before rimosso */ content: none; }

.signature-card.area-prof { /* R15: variante border-left rimossa */ }
.signature-card.area-prof::before { /* R15: ::before rimosso */ content: none; }

/* §R2 — signature-card--dark refinement per <p class="cta-pre"> */

/* R15: p.cta-pre.signature-card--dark legacy DEMOLITO */

@media (max-width: 700px) {
 /* R15: p.cta-pre.signature-card--dark legacy DEMOLITO */
}

/* §R3 — Hero amplifier (proattivo, no nuovi pseudo) */

.editorial-hero,
.home-hero,
.page-header-outer {
 isolation: isolate;
}

.editorial-hero > *,
.home-hero > *,
.page-header-outer > * {
 position: relative;
 z-index: 5;
}

/* §R4 — .risk-accent--strong + .crisis-marker refinement */

.risk-accent--strong {
 color: #732820;
 border-left: 3px solid #5A1F1A;
 padding-left: 1.4rem;
}

.signature-card.risk-accent { /* R15: border-left rimosso */ }

.signature-card.crisis-marker { /* R15: border-left + bg rimosso */ }

.signature-card.crisis-marker::before { /* R15 */ content: none; }

/* R15 */

/* §R5 — Consolidamento reduced-motion (riduce !important duplicati R6+R8) */

@media (prefers-reduced-motion: reduce) {
 .signature-card,
 .signature-card--dark,
 .lawyer-editorial-photo,
 [class*="reveal"],
 .when-card,
 .diff-item,
 .tool-item,
 .value-item,
 .scenari article {
 transition-duration: 0ms;
 animation-duration: 0ms;
 transform: none;
 }
}

/* FINE ROUND 10 — CLASS ACTIVATION SISTEMICA */

/* ROUND 11 — HYPER ULTRA WOW + LAYOUT REFINEMENT + EDITORIAL INDEX (?v=20260607l) */

:root {
 --ado-header-height-desktop: 84px;
 --ado-header-height-mobile: 70px;
}

/* §Q1 — Scroll padding/margin: niente overlap con nav sticky */
html {
 scroll-padding-top: calc(var(--ado-header-height-desktop) + 40px);
}
@media (max-width: 900px) {
 html {
 scroll-padding-top: calc(var(--ado-header-height-mobile) + 28px);
 }
}
.section--ruled,
.section--paper,
.section--ink,
.signature-spotlight,
.parent-sticky-wrap {
 scroll-margin-top: calc(var(--ado-header-height-desktop) + 52px);
}
@media (max-width: 900px) {
 .section--ruled,
 .section--paper,
 .section--ink,
 .signature-spotlight,
 .parent-sticky-wrap {
 scroll-margin-top: calc(var(--ado-header-height-mobile) + 34px);
 }
}

/* §Q2 — Scenari societario: padding interno generoso + grid bilanciato */

.section--ruled .scenari {
 width: min(100%, 1140px);
 margin-inline: auto;
 padding-inline: clamp(1rem, 2vw, 1.75rem);
}

.scenari article.signature-card {
 display: grid;
 grid-template-columns: minmax(260px, 0.86fr) minmax(380px, 1.14fr);
 column-gap: clamp(3.25rem, 6vw, 7.5rem);
 align-items: start;
 padding:
 clamp(3.4rem, 5vw, 5.75rem)
 clamp(3rem, 5vw, 5.5rem);
 margin-inline: auto;
 margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
 overflow: hidden;
}

.scenari article.signature-card::before {
 left: 0;
 width: 3px;
}

.scenari article.signature-card > div:first-child {
 padding-left: clamp(1rem, 2vw, 1.75rem);
 min-width: 0;
}

.scenari article.signature-card > div:last-child {
 min-width: 0;
}

.scenari-eyebrow {
 display: block;
 margin-bottom: clamp(1.45rem, 2.4vw, 2.25rem);
 letter-spacing: 0.28em;
 font-size: clamp(0.62rem, 0.85vw, 0.74rem);
 font-family: var(--sans, 'Jost', sans-serif);
 font-weight: 500;
 text-transform: uppercase;
 color: rgba(155, 122, 62, 0.72);
}

.scenari h3 {
 max-width: 15ch;
 line-height: 1.04;
 text-wrap: balance;
 margin: 0;
}

.scenari-body {
 max-width: 60ch;
 margin: 0 0 1rem;
 line-height: 1.72;
}

.scenari-body:last-child {
 margin-bottom: 0;
}

@media (max-width: 1024px) {
 .scenari article.signature-card {
 grid-template-columns: minmax(220px, 0.9fr) minmax(300px, 1.1fr);
 column-gap: clamp(2.25rem, 4vw, 4rem);
 }
}

@media (max-width: 900px) {
 .scenari article.signature-card {
 grid-template-columns: 1fr;
 row-gap: 1.85rem;
 padding:
 clamp(2.15rem, 7vw, 3.15rem)
 clamp(1.45rem, 5vw, 2.15rem);
 }
 .scenari article.signature-card > div:first-child {
 padding-left: 0;
 }
 .scenari h3 {
 max-width: 18ch;
 }
}

/* §Q3 — LINK NO-DEFAULT — colori ADO Legal su componenti premium */

.editorial-index a,
.technical-index a,
.related-index a,
.signature-card a,
.scenari a,
.faq a,
.faq-accordion a,
.cta-section a,
.tool-content a,
.related-links a {
 color: #08131A;
 text-decoration: none;
 border-bottom: 1px solid rgba(201, 164, 92, 0.42);
 transition:
 color 180ms ease,
 border-color 180ms ease;
}

.editorial-index a:visited,
.technical-index a:visited,
.related-index a:visited,
.signature-card a:visited,
.scenari a:visited,
.faq a:visited,
.faq-accordion a:visited,
.cta-section a:visited,
.tool-content a:visited,
.related-links a:visited {
 color: #10231F;
}

@media (hover: hover) and (pointer: fine) {
 .editorial-index a:hover,
 .technical-index a:hover,
 .related-index a:hover,
 .signature-card a:hover,
 .scenari a:hover,
 .faq a:hover,
 .faq-accordion a:hover,
 .cta-section a:hover,
 .tool-content a:hover,
 .related-links a:hover {
 color: #5A1F1A;
 border-color: rgba(155, 122, 62, 0.82);
 }
}

.editorial-index a:focus-visible,
.technical-index a:focus-visible,
.related-index a:focus-visible,
.signature-card a:focus-visible,
.scenari a:focus-visible,
.faq a:focus-visible,
.faq-accordion a:focus-visible,
.cta-section a:focus-visible,
.tool-content a:focus-visible,
.related-links a:focus-visible {
 outline: 2px solid #C9A45C;
 outline-offset: 4px;
 border-radius: 4px;
}

/* Link su sezioni scure */
.section--ink a,
.signature-card--dark a,
.cta-section.section--ink a {
 color: #E0C177;
 border-bottom-color: rgba(224, 193, 119, 0.42);
}

@media (hover: hover) and (pointer: fine) {
 .section--ink a:hover,
 .signature-card--dark a:hover,
 .cta-section.section--ink a:hover {
 color: #F5F3EC;
 border-color: rgba(224, 193, 119, 0.86);
 }
}

/* §Q4 — EDITORIAL TECHNICAL INDEX — promozione .section--ruled con tool-list */

.section--ruled.editorial-index,
.section--ruled.technical-index,
.editorial-index,
.technical-index {
 position: relative;
 isolation: isolate;
}

/* Hairline verticale subliminale interna */
.section--ruled.editorial-index::before,
.section--ruled.technical-index::before {
 content: '';
 position: absolute;
 left: clamp(1rem, 3vw, 2rem);
 top: clamp(6.5rem, 9vw, 9rem);
 bottom: clamp(3.5rem, 6vw, 6rem);
 width: 1px;
 background: linear-gradient(180deg, transparent, rgba(155, 122, 62, 0.46),
 rgba(201, 164, 92, 0.28),
 transparent
 );
 pointer-events: none;
 z-index: 0;
}

/* Lista verticale aperta — sostituisce gli effetti "box impilati" */
.section--ruled.editorial-index .tool-list,
.section--ruled.technical-index .tool-list,
.editorial-index__list,
.technical-index__list {
 list-style: none;
 display: block;
 margin: 0;
 padding: 0;
 background: transparent;
}

/* Item editoriale aperto: niente sfondo, niente box-shadow, niente bordo laterale invasivo */
.section--ruled.editorial-index .tool-item,
.section--ruled.technical-index .tool-item,
.editorial-index__item,
.technical-index__item {
 display: grid;
 grid-template-columns: clamp(3rem, 6vw, 5.5rem) minmax(0, 1fr);
 column-gap: clamp(1.5rem, 3.5vw, 4rem);
 align-items: start;
 padding:
 clamp(2.2rem, 4vw, 3.8rem)
 0;
 margin: 0;
 background: transparent; /* override removed R12 — markup pulito */ /* override .signature-card R10 gradient */
 border: 0;
 border-top: 1px solid rgba(155, 122, 62, 0.22);
 box-shadow: none;
 border-radius: 0;
 isolation: auto;
}

.section--ruled.editorial-index .tool-item::before,
.section--ruled.technical-index .tool-item::before,
.editorial-index__item::before,
.technical-index__item::before {
 content: none;
}

.section--ruled.editorial-index .tool-item:last-child,
.section--ruled.technical-index .tool-item:last-child {
 border-bottom: 1px solid rgba(155, 122, 62, 0.18);
}

/* Numerazione editoriale */
.section--ruled.editorial-index .tool-idx,
.section--ruled.technical-index .tool-idx,
.editorial-index__number,
.technical-index__number {
 color: rgba(155, 122, 62, 0.62);
 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
 font-size: clamp(0.95rem, 1.4vw, 1.18rem);
 font-style: italic;
 line-height: 1;
 text-align: center;
 align-self: start;
 padding-top: 0.3rem;
}

/* Content area */
.section--ruled.editorial-index .tool-content,
.section--ruled.technical-index .tool-content,
.editorial-index__content,
.technical-index__content {
 max-width: 74ch;
}

.section--ruled.editorial-index .tool-title,
.section--ruled.technical-index .tool-title,
.editorial-index h3,
.technical-index h3 {
 margin: 0 0 0.9rem;
 color: #08131A;
 font-size: clamp(1.15rem, 1.6vw, 1.55rem);
 line-height: 1.25;
 letter-spacing: -0.012em;
 font-weight: 400;
}

.section--ruled.editorial-index .tool-content p,
.section--ruled.technical-index .tool-content p,
.editorial-index p,
.technical-index p {
 max-width: 68ch;
 margin: 0;
 color: rgba(24, 19, 13, 0.78);
 font-size: clamp(0.98rem, 1.08vw, 1.08rem);
 line-height: 1.75;
}

/* Hover micro-stato sull'item intero (no shift) */
@media (hover: hover) and (pointer: fine) {
 .section--ruled.editorial-index .tool-item:hover .tool-title,
 .section--ruled.technical-index .tool-item:hover .tool-title {
 color: #5A1F1A;
 }
}

/* §Q5 — Editorial Index area-X (varianti cromatiche) */

.editorial-index.area-crisi .tool-item,
.technical-index.area-crisi .tool-item {
 border-top-color: rgba(90, 31, 26, 0.18);
}
.editorial-index.area-crisi .tool-idx,
.technical-index.area-crisi .tool-idx {
 color: rgba(90, 31, 26, 0.62);
}

.editorial-index.area-sovra .tool-item,
.technical-index.area-sovra .tool-item {
 border-top-color: rgba(16, 35, 31, 0.18);
}
.editorial-index.area-sovra .tool-idx,
.technical-index.area-sovra .tool-idx {
 color: rgba(16, 35, 31, 0.62);
}

.editorial-index.area-soc .tool-item,
.technical-index.area-soc .tool-item {
 border-top-color: rgba(8, 19, 26, 0.18);
}
.editorial-index.area-soc .tool-idx,
.technical-index.area-soc .tool-idx {
 color: rgba(8, 19, 26, 0.62);
}

.editorial-index.area-prof .tool-item,
.technical-index.area-prof .tool-item {
 border-top-color: rgba(155, 122, 62, 0.30);
}
.editorial-index.area-prof .tool-idx,
.technical-index.area-prof .tool-idx {
 color: #9B7A3E;
}

/* §Q6 — Editorial Index mobile reduction */

@media (max-width: 900px) {
 .section--ruled.editorial-index::before,
 .section--ruled.technical-index::before {
 left: 1.1rem;
 opacity: 0.42;
 }
 .section--ruled.editorial-index .tool-item,
 .section--ruled.technical-index .tool-item {
 grid-template-columns: 2.25rem minmax(0, 1fr);
 column-gap: 1rem;
 padding:
 clamp(1.8rem, 7vw, 2.6rem)
 0;
 }
 .section--ruled.editorial-index .tool-title,
 .section--ruled.technical-index .tool-title {
 font-size: clamp(1.05rem, 5vw, 1.32rem);
 }
}

/* §Q7 — CTA finale come fascia editoriale (no riquadro) */

.cta-section {
 /* Override R10: rimuovo `signature-spotlight` boxing */
 padding:
 clamp(5rem, 8vw, 8rem)
 clamp(1.25rem, 5vw, 5rem);
 border: 0;
 border-radius: 0;
 overflow: hidden;
 position: relative;
 isolation: isolate;
}

/* Hairline oro superiore + inferiore */
.cta-section.section--ink::after {
 content: '';
 position: absolute;
 left: clamp(1.25rem, 7vw, 8rem);
 right: clamp(1.25rem, 7vw, 8rem);
 top: 0;
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(224, 193, 119, 0.62),
 transparent
 );
 pointer-events: none;
 z-index: 1;
}

.cta-section h2 {
 max-width: 980px;
 margin-inline: auto;
 text-align: center;
 font-size: clamp(2rem, 4vw, 4rem);
 line-height: 1.05;
 letter-spacing: -0.022em;
}

/* §Q8 — Bottone CTA premium (più importante) */

.cta-section .btn,
.cta-section .btn-white,
.cta-section .home-cta-primary,
.btn-accent {
 min-height: 48px;
 padding: 0.95rem 1.55rem;
 border-radius: 999px;
 border: 1px solid rgba(155, 122, 62, 0.48);
 background: linear-gradient(135deg, #08131A 0%, #10231F 100%);
 color: #F5F3EC;
 letter-spacing: 0.12em;
 font-size: 0.72rem;
 text-transform: uppercase;
 text-decoration: none;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 box-shadow:
 0 18px 46px rgba(7, 6, 5, 0.18),
 inset 0 0 0 1px rgba(245, 243, 236, 0.08);
 transition:
 transform 220ms ease,
 border-color 220ms ease,
 box-shadow 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
 .cta-section .btn:hover,
 .cta-section .btn-white:hover,
 .cta-section .home-cta-primary:hover,
 .btn-accent:hover {
 transform: translateY(-2px);
 border-color: rgba(224, 193, 119, 0.72);
 box-shadow:
 0 24px 64px rgba(7, 6, 5, 0.24),
 0 0 0 1px rgba(224, 193, 119, 0.18);
 }
}

/* §Q9 — FAQ editoriale (no box, hairline bronzo, ampio respiro) */

.faq,
.faq-section,
.faq-accordion,
.domande-frequenti {
 position: relative;
 max-width: min(980px, calc(100% - 2rem));
 margin-inline: auto;
 padding:
 clamp(4.5rem, 7vw, 7rem)
 clamp(1rem, 3vw, 2rem);
 background: transparent;
 border: 0;
 box-shadow: none;
}

/* Niente griglia visibile dentro FAQ */
.faq,
.faq-section,
.faq-accordion,
.domande-frequenti {
 background-image: none;
}

.faq h2,
.faq-section h2,
.faq-accordion .faq-accordion-title,
.faq-accordion h2,
.domande-frequenti h2 {
 margin: 0 0 clamp(2.2rem, 4vw, 4rem);
 text-align: left;
 color: #18130D;
 font-size: clamp(1.5rem, 2.4vw, 2.6rem);
 letter-spacing: -0.018em;
 font-weight: 400;
}

/* Accordion details/summary editoriale */
.faq-accordion details {
 padding:
 clamp(1.4rem, 2.6vw, 2rem)
 0;
 border-top: 1px solid rgba(155, 122, 62, 0.28);
 background: transparent;
}

.faq-accordion details:last-of-type {
 border-bottom: 1px solid rgba(155, 122, 62, 0.20);
}

.faq-accordion summary {
 cursor: pointer;
 list-style: none;
 font-size: clamp(1rem, 1.25vw, 1.18rem);
 line-height: 1.45;
 color: #18130D;
 padding-right: 2.5rem;
 position: relative;
 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
 font-weight: 400;
}

.faq-accordion summary::-webkit-details-marker {
 display: none;
}

.faq-accordion summary::after {
 content: '+';
 position: absolute;
 right: 0;
 top: 0;
 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
 font-size: 1.4rem;
 color: rgba(155, 122, 62, 0.62);
 transition: transform 220ms ease;
}

.faq-accordion details[open] summary::after {
 content: '−';
 color: #5A1F1A;
}

.faq-accordion details p {
 max-width: 72ch;
 margin: 1.2rem 0 0;
 color: rgba(24, 19, 13, 0.76);
 font-size: 1rem;
 line-height: 1.75;
}

/* §Q10 — Griglia archivio ulteriormente attenuata */

.archive-grid-light {
 background-image:
 linear-gradient(rgba(7, 6, 5, 0.018) 1px, transparent 1px),
 linear-gradient(90deg, rgba(7, 6, 5, 0.014) 1px, transparent 1px);
 background-size: 64px 64px;
}

.archive-grid-dark {
 background-image:
 linear-gradient(rgba(245, 243, 236, 0.020) 1px, transparent 1px),
 linear-gradient(90deg, rgba(245, 243, 236, 0.012) 1px, transparent 1px);
 background-size: 64px 64px;
}

/* §Q11 — Lang switch IT/EN visibile (scope sicuro nav.js compat) */
/* nav.js inietta `.nav:not(.scrolled) .lang-switch a{color:rgba(255,255,255,.55)!important}` 
 Lo rispettiamo, ma su nav SCROLLED (su fondo chiaro) deve essere ben leggibile */

.nav.scrolled .lang-switch {
 display: inline-flex;
 align-items: center;
 gap: 0.45rem;
 min-height: 40px;
 letter-spacing: 0.16em;
 text-transform: uppercase;
}

.nav.scrolled .lang-switch a {
 color: rgba(24, 19, 13, 0.72);
 font-size: 0.72rem;
 letter-spacing: 0.16em;
 padding: 0.35rem 0.55rem;
 border-radius: 999px;
 text-decoration: none;
 transition:
 color 180ms ease,
 background 180ms ease;
}

.nav.scrolled .lang-switch a.is-active,
.nav.scrolled .lang-switch a[aria-current="page"] {
 color: #070605;
 background: rgba(201, 164, 92, 0.14);
}

@media (hover: hover) and (pointer: fine) {
 .nav.scrolled .lang-switch a:hover {
 color: #5A1F1A;
 }
}

.nav.scrolled .lang-switch a:focus-visible {
 outline: 2px solid #C9A45C;
 outline-offset: 3px;
}

.nav.scrolled .lang-switch span {
 color: rgba(155, 122, 62, 0.42);
}

/* §Q12 — Legal Dossier wrapper opzionale (cornice asimmetrica) */

.legal-dossier {
 position: relative;
 isolation: isolate;
}

.legal-dossier::before {
 content: '';
 position: absolute;
 inset: clamp(1rem, 2vw, 1.8rem);
 border-top: 1px solid rgba(155, 122, 62, 0.28);
 border-left: 1px solid rgba(155, 122, 62, 0.20);
 pointer-events: none;
 z-index: 1;
}

.legal-dossier::after {
 content: '';
 position: absolute;
 right: clamp(1rem, 2vw, 1.8rem);
 bottom: clamp(1rem, 2vw, 1.8rem);
 width: clamp(52px, 7vw, 112px);
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(224, 193, 119, 0.74));
 pointer-events: none;
 z-index: 1;
}

.legal-dossier > * {
 position: relative;
 z-index: 2;
}

/* FINE ROUND 11 — HYPER ULTRA WOW */

/* ROUND 15 — DEMOLIZIONE DEFINITIVA RIQUADRI (?v=20260607m) */

/* §X1 — Lang switch IT/EN su OGNI stato della nav */

.nav .lang-switch,
.nav:not(.scrolled) .lang-switch,
.nav.scrolled .lang-switch {
 opacity: 1;
 min-height: 40px;
 display: inline-flex;
 align-items: center;
 gap: 0.45rem;
}

.nav .lang-switch a,
.nav:not(.scrolled) .lang-switch a,
.nav.scrolled .lang-switch a {
 font-size: 0.72rem;
 letter-spacing: 0.16em;
 padding: 0.35rem 0.55rem;
 border-radius: 999px;
 text-decoration: none;
 text-transform: uppercase;
 transition: color 180ms ease, background 180ms ease;
}

/* Nav scrolled o nav-on-light o body:not(.home) con nav non scrolled → testo scuro */
.nav.scrolled .lang-switch a,
.nav.nav-on-light .lang-switch a,
body:not(.home) .nav:not(.scrolled) .lang-switch a {
 color: rgba(24, 19, 13, 0.78);
}

/* Nav scura (homepage top) → testo chiaro */
.nav:not(.scrolled):not(.nav-on-light) .lang-switch a {
 color: rgba(245, 243, 236, 0.84);
}

/* Active state su fondo chiaro */
.nav.scrolled .lang-switch a.is-active,
.nav.scrolled .lang-switch a[aria-current="page"],
.nav.nav-on-light .lang-switch a.is-active,
body:not(.home) .nav:not(.scrolled) .lang-switch a.is-active {
 color: #070605;
 background: rgba(201, 164, 92, 0.16);
}

/* Active state su fondo scuro */
.nav:not(.scrolled):not(.nav-on-light) .lang-switch a.is-active,
.nav:not(.scrolled):not(.nav-on-light) .lang-switch a[aria-current="page"] {
 color: #F5F3EC;
 background: rgba(224, 193, 119, 0.18);
}

/* Hover */
@media (hover: hover) and (pointer: fine) {
 .nav.scrolled .lang-switch a:hover,
 .nav.nav-on-light .lang-switch a:hover,
 body:not(.home) .nav:not(.scrolled) .lang-switch a:hover {
 color: #5A1F1A;
 }
 .nav:not(.scrolled):not(.nav-on-light) .lang-switch a:hover {
 color: #F5F3EC;
 }
}

/* Focus visibile su ogni stato */
.nav .lang-switch a:focus-visible {
 outline: 2px solid #C9A45C;
 outline-offset: 3px;
}

/* Separator "|" leggibile su ogni stato */
.nav.scrolled .lang-switch span,
.nav.nav-on-light .lang-switch span,
body:not(.home) .nav:not(.scrolled) .lang-switch span {
 color: rgba(155, 122, 62, 0.62);
}
.nav:not(.scrolled):not(.nav-on-light) .lang-switch span {
 color: rgba(224, 193, 119, 0.46);
}

/* §X2 — Link no-default GLOBALI sui contenuti editoriali residui */

.section a:not(.btn):not(.parent-sticky-link):not(.nav-logo):not(.home-cta-primary):not(.home-cta-secondary),
.col-text a:not(.btn):not(.parent-sticky-link),
.authority-inline a:not(.btn):not(.parent-sticky-link),
.seo-content a:not(.btn):not(.parent-sticky-link) {
 color: #08131A;
 text-decoration: none;
 border-bottom: 1px solid rgba(201, 164, 92, 0.42);
 transition: color 180ms ease, border-color 180ms ease;
}

.section a:not(.btn):not(.parent-sticky-link):not(.nav-logo):not(.home-cta-primary):not(.home-cta-secondary):visited,
.col-text a:not(.btn):not(.parent-sticky-link):visited,
.authority-inline a:not(.btn):not(.parent-sticky-link):visited,
.seo-content a:not(.btn):not(.parent-sticky-link):visited {
 color: #10231F;
}

@media (hover: hover) and (pointer: fine) {
 .section a:not(.btn):not(.parent-sticky-link):not(.nav-logo):not(.home-cta-primary):not(.home-cta-secondary):hover,
 .col-text a:not(.btn):not(.parent-sticky-link):hover,
 .authority-inline a:not(.btn):not(.parent-sticky-link):hover,
 .seo-content a:not(.btn):not(.parent-sticky-link):hover {
 color: #5A1F1A;
 border-color: rgba(155, 122, 62, 0.82);
 }
}

.section a:not(.btn):not(.parent-sticky-link):not(.nav-logo):focus-visible,
.col-text a:not(.btn):focus-visible,
.authority-inline a:not(.btn):focus-visible,
.seo-content a:not(.btn):focus-visible {
 outline: 2px solid #C9A45C;
 outline-offset: 4px;
 border-radius: 4px;
}

/* Su sezioni scure */
.section--ink .section a,
.section--ink .col-text a,
.cta-section.section--ink a {
 color: #E0C177;
 border-bottom-color: rgba(224, 193, 119, 0.42);
}

@media (hover: hover) and (pointer: fine) {
 .section--ink .section a:hover,
 .section--ink .col-text a:hover,
 .cta-section.section--ink a:hover {
 color: #F5F3EC;
 border-color: rgba(224, 193, 119, 0.86);
 }
}

/* §X3 — Legal-dossier — refinement: cornice sottile, NON box, NO riduzione padding */

.legal-dossier {
 position: relative;
 isolation: isolate;
}

.legal-dossier::before {
 content: '';
 position: absolute;
 inset: clamp(0.85rem, 1.6vw, 1.4rem);
 border-top: 1px solid rgba(155, 122, 62, 0.22);
 border-left: 1px solid rgba(155, 122, 62, 0.16);
 pointer-events: none;
 z-index: 1;
}

.legal-dossier::after {
 content: '';
 position: absolute;
 right: clamp(1rem, 2vw, 1.8rem);
 bottom: clamp(1rem, 2vw, 1.8rem);
 width: clamp(52px, 7vw, 112px);
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(224, 193, 119, 0.62));
 pointer-events: none;
 z-index: 1;
}

.legal-dossier > * {
 position: relative;
 z-index: 2;
}

/* Su mobile la cornice si riduce per non interferire */
@media (max-width: 700px) {
 .legal-dossier::before {
 inset: 0.6rem;
 opacity: 0.6;
 }
 .legal-dossier::after {
 width: 36px;
 opacity: 0.6;
 }
}

/* FINE ROUND 12 — FINAL BRUTAL POLISH */

/* ROUND 13 — FINALISSIMO (?v=20260607l)
 §Z1 Sezioni body max-width controllate (brief §14)
 §Z2 CTA closing scene refined (brief §13)
 §Z3 related-index su nav.seo-content (style premium aperto)
 §Z4 No outline neri / no tratti irregolari (defensive)
 §Z5 CTA-pre callout più minimal (brief §3 annotazione "rendere più elegante")
*/

/* §Z1 — Sezioni body max-width controllate */

.section .seo-content,
.col-text {
 max-width: 72ch;
}

/* Two-col sections più ariose */
.section .two-col {
 max-width: min(1120px, calc(100% - 3rem));
 margin-inline: auto;
}

/* Tool-list (4 cards "Esperienza/Autorità/Accademia/Advisor" e simili) ora come editorial-index */
.section .tool-list:not(.editorial-index__list) {
 max-width: min(1120px, calc(100% - 3rem));
 margin-inline: auto;
}

/* §Z2 — CTA closing scene editoriale (brief §13) */

.cta-section {
 padding:
 clamp(5.5rem, 9vw, 9rem)
 clamp(1.5rem, 6vw, 6rem);
}

.cta-section .btn,
.cta-section .btn-white {
 padding: 1.05rem 1.85rem;
 font-size: 0.74rem;
 letter-spacing: 0.14em;
}

/* §Z3 — related-index style (no box, hairline editoriale) */

.related-index,
nav.related-index {
 position: relative;
 isolation: isolate;
 max-width: min(980px, calc(100% - 2rem));
 margin-inline: auto;
 padding: clamp(3rem, 5vw, 5rem) 0;
 background: transparent;
 border: 0;
}

.related-index .seo-kicker,
nav.related-index .seo-kicker {
 display: block;
 margin-bottom: clamp(1.5rem, 2.4vw, 2.2rem);
 color: rgba(155, 122, 62, 0.82);
 font-family: var(--sans, 'Jost', sans-serif);
 font-size: 0.68rem;
 font-weight: 500;
 letter-spacing: 0.32em;
 text-transform: uppercase;
}

.related-index ul {
 list-style: none;
 margin: 0;
 padding: 0;
}

.related-index li {
 padding: clamp(1.1rem, 2vw, 1.5rem) 0;
 border-top: 1px solid rgba(155, 122, 62, 0.22);
 font-size: clamp(0.95rem, 1.05vw, 1.05rem);
 line-height: 1.7;
 color: rgba(24, 19, 13, 0.78);
}

.related-index li:last-child {
 border-bottom: 1px solid rgba(155, 122, 62, 0.18);
}

.related-index li a {
 color: #08131A;
 text-decoration: none;
 border-bottom: 1px solid rgba(201, 164, 92, 0.42);
 transition: color 180ms ease, border-color 180ms ease;
}

.related-index li a:visited {
 color: #10231F;
}

@media (hover: hover) and (pointer: fine) {
 .related-index li a:hover {
 color: #5A1F1A;
 border-color: rgba(155, 122, 62, 0.82);
 }
}

.related-index li a:focus-visible {
 outline: 2px solid #C9A45C;
 outline-offset: 4px;
 border-radius: 4px;
}

/* §Z4 — Defensive: no outline nero involontario */

.signature-card,
.editorial-index .tool-item,
.cta-section,
.faq-accordion,
.scenari article,
.related-index {
 outline: none;
}

/* §Z5 — CTA-pre callout più minimal (annotazione brief screenshot) */

/* R15: p.cta-pre.signature-card--dark legacy DEMOLITO */

/* FINE ROUND 13 */

/* ROUND 14 — IPER ULTRA MEGA WOW / NO-BOX EDITORIAL SYSTEM (?v=20260607l) */

/* §AA1 — No-box reset globale per card-like classes */

.signature-card,
.value-item,
.when-card,
.diff-item,
.tool-item,
.editorial-index__item,
.technical-index__item,
.related-index__item {
 background: transparent;
 border: 0;
 box-shadow: none;
 border-radius: 0;
}

.signature-card::before,
.value-item::before,
.when-card::before,
.diff-item::before,
.tool-item::before,
.editorial-index__item::before,
.technical-index__item::before,
.related-index__item::before {
 box-shadow: none;
}

/* R15: eccezione R14 cta-pre--dark RIMOSSA */

/* §AA2 — Editorial wrappers (.values-grid / .when-grid) stack + max-width */

.values-grid,
.when-grid {
 display: block;
 max-width: min(1120px, calc(100% - 2rem));
 margin-inline: auto;
 padding-block: clamp(1rem, 2vw, 2rem);
}

/* §AA3 — Editorial ledger grid 2-col per card-like row items */

.value-item,
.when-card,
.diff-item {
 display: grid;
 grid-template-columns: clamp(3rem, 6vw, 5.5rem) minmax(0, 1fr);
 grid-template-rows: auto auto;
 column-gap: clamp(1.5rem, 3vw, 3.5rem);
 row-gap: clamp(0.4rem, 1vw, 1rem);
 padding-block: clamp(2rem, 4vw, 3.6rem);
 padding-inline: 0;
 border-top: 1px solid rgba(155, 122, 62, 0.22);
 position: relative;
}

.value-item:last-child,
.when-card:last-child,
.diff-item:last-child {
 border-bottom: 1px solid rgba(155, 122, 62, 0.18);
}

/* §AA4 — Posizionamento sub-elementi (num · title · desc) */

.value-num,
.when-card-num,
.diff-num {
 grid-column: 1;
 grid-row: 1 / span 2;
 align-self: start;
 color: rgba(155, 122, 62, 0.72);
 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
 font-style: italic;
 font-weight: 400;
 font-size: clamp(0.95rem, 1.5vw, 1.25rem);
 letter-spacing: 0.04em;
}

.value-title,
.when-card-title,
.diff-title {
 grid-column: 2;
 grid-row: 1;
 margin: 0;
 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
 font-weight: 400;
 font-size: clamp(1.25rem, 1.85vw, 1.7rem);
 line-height: 1.18;
 color: #0A0806;
}

.value-desc,
.when-card-text,
.diff-desc,
.value-item p,
.when-card p,
.diff-item p {
 grid-column: 2;
 grid-row: 2;
 margin: 0;
 color: rgba(24, 19, 13, 0.82);
 font-size: clamp(0.95rem, 1.05vw, 1.05rem);
 line-height: 1.7;
}

/* §AA5 — Mobile fallback stack 1-col (≤540px) */

@media (max-width: 540px) {
 .value-item,
 .when-card,
 .diff-item {
 grid-template-columns: 1fr;
 grid-template-rows: auto auto auto;
 row-gap: 0.6rem;
 padding-block: clamp(1.6rem, 4vw, 2.4rem);
 }
 
 .value-num, .when-card-num, .diff-num,
 .value-title, .when-card-title, .diff-title,
 .value-desc, .when-card-text, .diff-desc,
 .value-item p, .when-card p, .diff-item p {
 grid-column: 1;
 }
 
 .value-num, .when-card-num, .diff-num { grid-row: 1; }
 .value-title, .when-card-title, .diff-title { grid-row: 2; }
 .value-desc, .when-card-text, .diff-desc,
 .value-item p, .when-card p, .diff-item p { grid-row: 3; }
}

/* §AA6 — CTA fascia editoriale rafforzata (no box pergamena) */

.cta-section {
 background:
 radial-gradient(circle at 50% 0%, rgba(224, 193, 119, 0.10), transparent 38%),
 linear-gradient(180deg, #F5F3EC 0%, #EBE1CD 100%);
}

.cta-section::before {
 background: linear-gradient(90deg, transparent, rgba(155, 122, 62, 0.42), rgba(224, 193, 119, 0.60), rgba(155, 122, 62, 0.42), transparent);
}

/* §AA7 — Annulla risk-accent/crisis-marker border + background che ricreavano effetto card */

.value-item.signature-card.risk-accent,
.value-item.signature-card.crisis-marker,
.when-card.signature-card.risk-accent,
.when-card.signature-card.crisis-marker,
.diff-item.signature-card.risk-accent,
.diff-item.signature-card.crisis-marker,
.tool-item.risk-accent,
.tool-item.crisis-marker {
 border-left: 0;
 background: transparent;
 padding-left: 0;
}

.value-item.signature-card.crisis-marker::before,
.value-item.signature-card.risk-accent::before,
.when-card.signature-card.crisis-marker::before,
.when-card.signature-card.risk-accent::before,
.diff-item.signature-card.crisis-marker::before,
.diff-item.signature-card.risk-accent::before {
 content: none;
 background: none;
 display: none;
}

/* Hint cromatico restano: numero in tonalità bordeaux (risk) o accenta (crisis) */
.value-item.risk-accent .value-num,
.when-card.risk-accent .when-card-num,
.diff-item.risk-accent .diff-num {
 color: rgba(115, 40, 32, 0.72);
}

.value-item.crisis-marker .value-num,
.when-card.crisis-marker .when-card-num,
.diff-item.crisis-marker .diff-num {
 color: rgba(90, 31, 26, 0.82);
}

/* FINE ROUND 14 */



/* ROUND 15 — DEMOLIZIONE DEFINITIVA RIQUADRI (?v=20260607m)
   §BB1  .editorial-eyebrow / .cta-eyebrow — sostituisce p.cta-pre.signature-card--dark
   §BB2  .closing-scene refinement (alias .cta-section già R14 §AA6)
   §BB3  .editorial-band--ink / --risk / --slate — fasce per alternanza cromatica (opt-in)
   §BB4  legal-dossier ridotto a subliminale (no cornice percepibile)
   §BB5  Header CSS update + cleanup commenti
*/


/* §BB1 — Editorial eyebrow centrato (sostituisce p.cta-pre.signature-card--dark) */

.cta-eyebrow,
.editorial-eyebrow {
  max-width: 78ch;
  margin: 0 auto clamp(1.6rem, 3vw, 2.6rem);
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #5A1F1A;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-style: italic;
  font-size: clamp(1.05rem, 1.3vw, 1.22rem);
  text-align: center;
  line-height: 1.55;
}

.cta-eyebrow::before,
.editorial-eyebrow::before {
  content: "";
  display: block;
  width: clamp(84px, 12vw, 180px);
  height: 1px;
  margin: 0 auto 1.2rem;
  background: linear-gradient(90deg, transparent, rgba(155, 122, 62, 0.58), transparent);
}


/* §BB2 — Closing scene refinement (.cta-section già R14 §AA6, qui rinforzo) */

.closing-scene,
.cta-section,
.final-cta,
.signature-cta-band {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.closing-scene .btn,
.cta-section .btn,
.final-cta .btn,
.signature-cta-band .btn {
  min-height: 50px;
}


/* §BB3 — Editorial bands per alternanza cromatica (opt-in) */

.editorial-band--ink {
  position: relative;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 6vw, 6rem);
  background:
    radial-gradient(circle at 78% 12%, rgba(224, 193, 119, 0.16), transparent 32%),
    linear-gradient(135deg, #070605 0%, #08131A 48%, #10231F 100%);
  color: #F5F3EC;
  border: 0;
  box-shadow: none;
}

.editorial-band--risk {
  position: relative;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 6vw, 6rem);
  background:
    radial-gradient(circle at 80% 18%, rgba(224, 193, 119, 0.14), transparent 34%),
    linear-gradient(135deg, #070605 0%, #5A1F1A 58%, #10231F 100%);
  color: #F5F3EC;
}

.editorial-band--slate {
  position: relative;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 6vw, 6rem);
  background:
    radial-gradient(circle at 15% 20%, rgba(134, 168, 178, 0.16), transparent 32%),
    linear-gradient(135deg, #08131A 0%, #10231F 52%, #18372F 100%);
  color: #F5F3EC;
}


/* §BB4 — Legal-dossier ridotto a subliminale (no cornice percepibile) */

.legal-dossier::before {
  border-top: 1px solid rgba(155, 122, 62, 0.12);
  border-left: 1px solid rgba(155, 122, 62, 0.08);
  opacity: 0.6;
}

.legal-dossier::after {
  opacity: 0.32;
}

@media (max-width: 700px) {
  .legal-dossier::before,
  .legal-dossier::after {
    opacity: 0.32;
  }
}

/* FINE ROUND 15 */


/* §BB6 — Override specificità per cta-section.section--ink che inietta colori scuri */

.cta-section.section--ink .cta-eyebrow,
.cta-section.section--ink .editorial-eyebrow {
  color: #5A1F1A;
}

.cta-section.section--ink h2 {
  color: #5A1F1A;
}

.cta-section.section--ink p,
.cta-section.section--ink {
  /* Override: cta-section è AVORIO (closing scene), non section--ink scuro */
  background:
    radial-gradient(circle at 50% 0%, rgba(224, 193, 119, 0.16), transparent 34%),
    linear-gradient(180deg, #F5F3EC 0%, #E8DDC8 100%);
}

.cta-section.section--ink {
  color: #0A0806;
}

/* Bottone closing-scene su fondo avorio */
.cta-section.section--ink .btn-white,
.cta-section.section--ink .btn {
  background: linear-gradient(135deg, #08131A 0%, #10231F 100%);
  color: #F5F3EC;
  border: 1px solid rgba(155, 122, 62, 0.50);
}
