/* Shared presentation only: data, editorial controls and integrations stay unchanged. */
:root { --ink: #0f3f6d; --blue: #0f3f6d; --gold: #9a7437; --gold-light: #ccbb9b; --gold-pale: #f3f3f1; --paper: #fff; --line: #dededb; --muted: #526675; --radius: 6px; --max: 1320px; --pearl: #f3f3f1; --card-shadow: 0 2px 4px rgba(25,30,35,.035), 0 12px 28px -12px rgba(25,30,35,.18); }
body { background: #fff; letter-spacing: 0; }
/* Darker ink for small gold labels; decorative brand accents stay unchanged. */
:root { --gold-text: #765528; }
body .section .eyebrow, body .story-body h3, body .story-index span,
body .service-tag, body .access-tag { color: var(--gold-text); }
main > *, .section > *, .content-grid > *, .contact-grid > *, .digital-service-layout > * { min-width: 0; }
main [id] { scroll-margin-top: calc(var(--header) + 24px); }
h1, h2, h3, p, a { overflow-wrap: break-word; }
h2 { font-size: 42px; font-weight: 650; line-height: 1.12; }
h3 { line-height: 1.2; }
.site-header { grid-template-columns: auto 1fr; gap: 24px; padding-inline: 3%; background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); }
.brand { min-width: 200px; color: var(--ink); }
.brand-mark { width: 39px; height: 39px; border: 0; background: transparent; }
.brand-mark img { width: 39px; height: 39px; }
.brand-text em { font-family: inherit; font-style: normal; font-size: 10px; color: var(--muted); }
.site-nav { gap: 19px; }
.site-nav a { color: var(--ink); font-size: 12px; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: #765528; }
.header-contact { background: #fff; border-color: var(--gold); }
.header-contact:hover { background: #f5f1e9; }
.site-nav a[href="area-clienti.html"] { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--gold-light); border-radius: 3px; background: var(--gold-light); color: var(--ink); font-weight: 750; }
.site-nav a[href="area-clienti.html"]:hover, .site-nav a[href="area-clienti.html"][aria-current="page"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.site-nav a[href="area-clienti.html"]:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.home-digital-list { margin: 28px 0 32px; }
.home-digital-list > div { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.home-digital-list dt { color: var(--ink); font-size: 17px; font-weight: 700; }
.home-digital-list dd { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
@media (max-width: 600px) { .home-digital-list > div { grid-template-columns: 1fr; gap: 6px; } }
.menu-toggle { color: var(--ink); font-size: 11px; font-weight: 700; }
.page-hero { min-height: 350px; padding: 70px 6%; align-items: center; text-align: center; background: linear-gradient(105deg,rgba(15,63,109,.95),rgba(15,63,109,.83)),url('assets/studio-ingresso-hd.jpg') center 45% / cover; border-bottom: 3px solid var(--gold-light); }
.page-hero::before { top: 50%; right: auto; left: 50%; width: 640px; height: 640px; background: none; border: 1px solid rgba(204,187,155,.25); border-radius: 50%; opacity: 1; filter: none; transform: translate(-50%,-50%); }
.page-hero::after { background: rgba(204,187,155,.14); }
.page-hero-inner::after { display: none; }
.page-hero h1 { max-width: 1000px; margin-inline: auto; font-size: 54px; line-height: 1.1; font-weight: 650; }
.page-hero p:last-child { margin-inline: auto; font-size: 17px; }
.page-hero .eyebrow { color: #e5d4af; font-size: 11px; }
.section, .section.compact { position: relative; padding: 85px max(6%,calc((100% - 1320px)/2)); border-top: 1px solid var(--line); background: #fff; }
main > .section:nth-of-type(odd), .section.gold-pale, .section.digital-service { background: var(--pearl); }
.section::before, .section.dark::before { content: ''; position: absolute; z-index: 1; top: -1px; left: max(6%,calc((100% - 1320px)/2)); right: auto; bottom: auto; width: 88px; height: 4px; background: var(--gold); opacity: 1; filter: none; transform: none; pointer-events: none; }
.section.dark { color: var(--ink); isolation: auto; background: var(--pearl); }
.section-heading { grid-template-columns: 1.15fr 1fr; gap: 60px; margin-bottom: 45px; }
.section-heading > div { padding-top: 0; }
.section-heading > div::before { display: none; }
.section-heading > div > .eyebrow { display: flex; align-items: center; gap: 14px; }
.section-heading > div > .eyebrow::after { content: ''; flex: 0 0 42px; height: 1px; background: var(--gold); }
.section-heading p:last-child, .dark .section-heading p:last-child { color: var(--muted); font-size: 16px; }
.section-heading .eyebrow, .dark .eyebrow { color: var(--gold); font-size: 11px; }
.content-grid { grid-template-columns: .6fr 1.4fr; gap: 65px; }
.content-grid > aside { border-left: 2px solid var(--gold); padding-left: 24px; }
.content-grid > aside h3 { color: var(--ink); max-width: 300px; font-size: 25px; }
.prose h2 { font-size: 30px; line-height: 1.2; margin-top: 48px; }
.prose p, .prose li { color: #354b5c; }
.feature-icon { border: 0; background: transparent; width: 32px; height: 32px; }
.feature-icon svg { width: 28px; height: 28px; }
.service-grid, .service-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); border: 0; gap: 0 60px; }
.service-card { min-height: 0; display: grid; grid-template-columns: 32px 1fr; gap: 18px 22px; padding: 32px 0; background: transparent; border: 0; border-top: 1px solid var(--line); }
.service-card h3 { font-size: 23px; margin: 0; }
.service-card p, .service-card a { grid-column: 2; margin: 0; }
.detail-grid { gap: 0 60px; }
.detail-card { background: transparent; border: 0; border-top: 1px solid var(--line); padding: 32px 0; }
.detail-card::after { display: none; }
.detail-card h3 { font-size: 25px; }
.detail-card li { margin-bottom: 8px; color: var(--muted); }
.detail-card li::marker { color: var(--gold); }
.digital-service-layout { grid-template-columns: .65fr 1.35fr; gap: 50px; align-items: start; }
.digital-service-visual { position: sticky; top: 105px; min-height: 0; height: 550px; }
.digital-service-copy h2 { font-size: 38px; }
.digital-service-points article { grid-template-columns: minmax(150px,.65fr) minmax(0,1fr); gap: 24px; }
.service-tag { width: auto; line-height: 1.5; }
.profile { padding: 28px 0; background: transparent; border: 0; border-top: 1px solid var(--line); grid-template-columns: 130px 1fr; }
.profile img { width: 130px; border-radius: 3px; }
.profile h3 { font-size: 26px; margin-bottom: 12px; }
.timeline-item strong { font-family: inherit; font-size: 24px; }
.timeline-item p { color: var(--muted); }
.story-card, .news-card { border: 0; border-radius: 3px; background: transparent; }
.story-card > img, .news-card > img { border: 0; border-radius: 3px; aspect-ratio: 4/3; }
.story-card > div, .news-card-body { padding: 24px 0; border-bottom: 1px solid var(--line); }
.story-card h3, .news-card h3 { font-size: 24px; font-weight: 650; }
.story-card-grid, .news-grid { gap: 30px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.news-meta { flex-wrap: wrap; font-size: 11px; gap: 8px 16px; color: #765528; }
.news-card h3 { margin-top: 18px; }
.story-index { border: 0; gap: 20px; }
.story-index a { border: 0; border-top: 2px solid var(--gold); padding: 20px 0; }
.story-index a:hover { color: #765528; background: transparent; }
.story-row { background: #fff; }
.story-row.reverse { background: var(--pearl); }
.story-visual::before { display: none; }
.story-body { padding: 65px 10%; }
.story-body h2 { font-size: 38px; }
.story-visual img { border: 0; }
.evidence-panel { padding: 0; border: 0; background: transparent; }
.evidence-image { min-height: 0; }
.partner { padding: 0; border: 0; background: transparent; }
.partner img { filter: none; opacity: 1; mix-blend-mode: multiply; }
.tool-card { color: var(--ink); padding: 28px; border-color: var(--line); border-top: 3px solid var(--gold); background: #fff; }
.tool-card h3 { margin-top: 30px; }
.tool-card p { color: var(--muted); margin-top: 16px; }
.tool-card a { color: var(--ink); }
.access-card { border-radius: 3px; border-top: 3px solid var(--gold); }
.access-card:hover { box-shadow: 0 8px 24px rgba(15,63,109,.08); }
.article-aside { background: var(--pearl); }
.article-content :is(h2, h3, h4, h5, h6) { font-size: 1em; line-height: 1.5; font-weight: 700; }
.article-content { min-width: 0; }
.article-content img { max-width: 100%; height: auto; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; }
.article-content a, .contact-list a { overflow-wrap: anywhere; }
.contact-panel { color: var(--ink); background: var(--pearl); border-top: 3px solid var(--gold); }
.contact-panel h2 { font-size: 32px; }
.contact-panel p { color: var(--muted); margin-top: 18px; }
.contact-list { margin-top: 30px; }
.cta-band { color: #fff; background: var(--ink); border-top: 3px solid var(--gold-light); padding: 70px 6%; }
.cta-band::after { display: none; }
.cta-band h2 { font-size: 42px; font-weight: 650; }
.cta-band p { color: #e0e9ef; }
.cta-band .button { background: var(--gold-light); border-color: var(--gold-light); color: var(--ink); }
.button { font-size: 13px; border-radius: 3px; }
.site-footer, .gold-home .site-footer { color: var(--ink); background: #fff; padding: 55px 6% 25px; border-top: 1px solid var(--line); }
.site-footer a, .site-footer h3 { color: var(--ink); }
.footer-logo { width: 270px; filter: none; }
.footer-legal, .footer-bottom { color: var(--muted); font-size: 11px; }
.footer-bottom { margin-top: 24px; border-color: var(--line); }
.footer-grid { font-size: 13px; }
.editor-page { background: var(--pearl); }
.editor-header { background: #fff; color: var(--ink); border-color: var(--line); }
.editor-site-link { color: var(--ink); }
.editor-header .icon-button { color: var(--ink); border-color: var(--gold); }
.editor-sidebar { background: var(--pearl); }
.login-panel { box-shadow: 0 15px 45px rgba(15,63,109,.08); }
.login-panel h1 { font-size: 36px; }
.editor-titlebar h2 { font-size: 28px; }
.editor-main-fields, .settings-section { border-radius: 3px; }
.editor-form input, .editor-form select, .editor-form textarea { border-color: var(--line); }
.v6-home .ls-hero { line-height: normal; }
.v6-home .ls-core h1 { margin: 15px 0 24px; }
.v6-home .section-heading > div { padding: 0; }
.v6-home .section-heading > div::before { display: none; }
.v6-home .service-card { min-height: 0; border-right: 0; border-left: 0; }
.v6-home .service-card h3, .v6-home .service-card p { margin: 0; }
.v6-home .story-card { border: 0; }
.v6-home .story-card > img { border: 0; }
.v6-home .story-card > div { display: block; }
.v6-home .evidence-panel { padding: 0; background: transparent; border: 0; }
.v6-home .partner { padding: 0; border: 0; background: transparent; }
.v6-home .footer-logo { filter: none; }
.v6-home .home-digital .aside-title { margin-top: 0; }
:root { --card-padding: 28px; --card-gap: 26px; --card-border: #e4e4e0; --card-radius: 6px; }
/* Raised repeated items; narrative sections remain unframed. */
body.v6-home .home-digital, body.v6-home .home-evidence { background: var(--pearl); }
.service-grid, .service-grid.four, .v6-home .service-grid, .detail-grid { gap: 26px; }
.service-card, .v6-home .service-card, .detail-card, .story-card, .v6-home .story-card,
.news-card, .tool-card, .access-card, .profile, .article-aside, .contact-panel {
  background: #fff;
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.service-card, .v6-home .service-card { grid-template-columns: 46px minmax(0,1fr); padding: 30px; gap: 18px 22px; }
.detail-card { padding: 30px; }
.feature-icon, .v6-home .feature-icon { width: 46px; height: 46px; border: 1px solid #e5e2db; border-radius: 6px; background: #fafaf8; box-shadow: 0 2px 3px rgba(25,30,35,.06); }
.service-card h3, .v6-home .service-card h3 { align-self: center; }
.story-card, .v6-home .story-card, .news-card { overflow: hidden; }
.story-card > img, .v6-home .story-card > img, .news-card > img, .v6-home .news-card > img { border-radius: 0; aspect-ratio: 16/10; }
.story-card > div, .v6-home .story-card > div, .news-card-body, .v6-home .news-card-body { padding: 26px; border: 0; }
.v6-home .story-card > div { display: flex; }
.story-card .text-link { margin-top: auto; }
.news-card h3, .v6-home .news-card h3 { font-size: 23px; }
.access-card, .tool-card { border-top: 1px solid var(--card-border); }
.tool-card .tool-icon { border-radius: 6px; box-shadow: 0 2px 3px rgba(25,30,35,.08); }
.v6-home .evidence-image, .profile img { border-radius: 6px; box-shadow: var(--card-shadow); }
@media (hover: hover) and (pointer: fine) {
  .service-card:hover, .v6-home .service-card:hover, .detail-card:hover,
  .story-card:hover, .news-card:hover, .tool-card:hover, .access-card:hover {
    transform: translateY(-4px);
    border-color: var(--gold-light);
    box-shadow: 0 4px 7px rgba(25,30,35,.04), 0 20px 36px -16px rgba(25,30,35,.24);
  }
}
/* One card system across public pages, including the home-specific styles. */
:is(body, .v6-home) :is(.service-grid, .detail-grid, .story-card-grid, .news-grid, .tool-grid, .access-grid, .profile-grid) { gap: var(--card-gap); }
:is(body, .v6-home) :is(.service-card, .detail-card, .tool-card, .access-card, .profile, .article-aside, .contact-panel) { padding: var(--card-padding); }
:is(body, .v6-home) :is(.story-card > div, .news-card-body) { padding: var(--card-padding); border: 0; }
:is(body, .v6-home) :is(.service-card, .detail-card, .tool-card, .access-card, .story-card, .news-card, .profile) h3 { font-size: 23px; font-weight: 650; line-height: 1.2; }
:is(body, .v6-home) :is(.service-card, .detail-card, .tool-card, .access-card, .story-card, .news-card, .profile) p:not(.eyebrow):not(.access-tag) { color: var(--muted); font-size: 14px; line-height: 1.7; }
:is(body, .v6-home) :is(.feature-icon, .tool-icon) { width: 46px; height: 46px; display: grid; place-items: center; color: var(--gold); background: #fafaf8; border: 1px solid #e5e2db; border-radius: var(--card-radius); box-shadow: 0 2px 3px rgba(25,30,35,.06); }
:is(body, .v6-home) :is(.feature-icon, .tool-icon) svg { width: 28px; height: 28px; }
:is(body, .v6-home) :is(.service-card, .detail-card, .tool-card, .story-card, .news-card) .text-link { font-size: 13px; font-weight: 750; text-underline-offset: 5px; }
:is(body, .v6-home) :is(.story-card, .news-card) { display: flex; flex-direction: column; }
:is(body, .v6-home) :is(.story-card > div, .news-card-body) { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
:is(body, .v6-home) :is(.story-card, .news-card) .text-link { margin-top: auto; }
.detail-card h3, .tool-card h3 { margin-top: 22px; }
.profile img { box-shadow: none; }
@media (max-width: 780px) { :root { --card-padding: 24px; --card-gap: 24px; } }
@media (prefers-reduced-motion: reduce) {
  .service-card, .v6-home .service-card, .detail-card, .story-card, .news-card, .tool-card, .access-card { transition: none; transform: none !important; }
}
@media (max-width: 1200px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-nav { background: #fff; }
  .site-nav a { border-color: var(--line); }
  .site-nav.open { border-color: var(--line); }
  .header-contact { background: var(--gold-light); }
  .digital-service-layout { grid-template-columns: 1fr; }
  .digital-service-visual { position: static; height: 320px; }
  .contact-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
}
@media (max-width: 900px) {
  .section-heading, .content-grid { grid-template-columns: 1fr; gap: 30px; }
  .page-hero h1 { font-size: 44px; }
  .profile { grid-template-columns: 1fr; }
  .tool-grid { grid-template-columns: 1fr; }
  .story-body h2 { font-size: 32px; }
  .article-layout { grid-template-columns: 240px minmax(0,1fr); gap: 32px; }
}
@media (max-width: 780px) {
  .section, .section.compact { padding: 60px 22px; }
  .section::before, .section.dark::before { left: 22px; width: 64px; }
  .page-hero { min-height: 300px; padding: 55px 22px; }
  .page-hero h1 { font-size: 36px; }
  .page-hero p:last-child { font-size: 16px; }
  h2, .cta-band h2, .digital-service-copy h2 { font-size: 32px; }
  .prose h2 { font-size: 27px; }
  .service-grid, .service-grid.four, .story-card-grid, .news-grid, .contact-grid, .article-layout { grid-template-columns: 1fr; }
  .v6-home .story-card-grid, .v6-home .news-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 0; }
  .service-card, .v6-home .service-card { padding: 24px; gap: 16px; }
  .service-card p, .service-card a, .v6-home .service-card p, .v6-home .service-card .text-link { grid-column: 1 / -1; }
  .detail-card { padding: 24px; }
  .story-card > div, .v6-home .story-card > div, .news-card-body, .v6-home .news-card-body { padding: 24px; }
  .service-card h3 { margin: 0; }
  .digital-service-points article { grid-template-columns: 1fr; gap: 12px; }
  .article-aside { position: static; }
  .story-body { padding: 55px 22px; }
  .story-body h2 { font-size: 32px; }
  .contact-panel { padding: 28px 22px; }
  .cta-band { padding: 55px 22px; }
  .footer-logo { max-width: 100%; }
  .footer-grid { gap: 28px; }
  .footer-links a { overflow-wrap: anywhere; }
  .editor-header .brand { min-width: 0; }
  .editor-titlebar { flex-wrap: wrap; }
  .editor-title-actions { flex-direction: row; flex-wrap: wrap; }
}
